diff --git a/packages/opencode/test/EFFECT_TEST_MIGRATION.md b/packages/opencode/test/EFFECT_TEST_MIGRATION.md index 2c160b993d..73acea9148 100644 --- a/packages/opencode/test/EFFECT_TEST_MIGRATION.md +++ b/packages/opencode/test/EFFECT_TEST_MIGRATION.md @@ -1,16 +1,21 @@ -# Effect Test Migration Plan +# Effect Test Migration -This document describes how to move opencode tests out of Promise-land and into the shared `testEffect` pattern. +Move tests that exercise Effect services out of Promise-land and into the +shared `testEffect` pattern. + +This file is guidance, not a live inventory. Before claiming a migration, +search current `dev` for the exact anti-pattern and update any PR notes +with what you actually changed. ## Target Pattern -Every test file that exercises Effect services should have one local runner near the top: +Every Effect service test should have one local runner near the top: ```ts const it = testEffect(layer) ``` -Then each test should use one of the runner methods: +Use the runner method that matches the behavior: ```ts it.effect("pure service behavior", () => @@ -23,7 +28,7 @@ it.effect("pure service behavior", () => it.instance("instance-local behavior", () => Effect.gen(function* () { const test = yield* TestInstance - // test.directory is a scoped temp opencode instance + expect(test.directory).toContain("opencode-test-") }), ) @@ -35,40 +40,22 @@ it.live("live filesystem or process behavior", () => ) ``` -Use `it.effect` for pure Effect code that should run with `TestClock` and `TestConsole`. -Use `it.instance` when the test needs one scoped opencode instance. -Use `it.live` when the test depends on real time, filesystem mtimes, git, child processes, servers, file watchers, or OS behavior. +## Choosing The Runner -## Anti-Patterns To Remove +- `it.effect(...)` — pure Effect behavior with `TestClock` and + `TestConsole`. +- `it.instance(...)` — service behavior that needs one scoped opencode + instance. +- `it.live(...)` — real time, filesystem mtimes, child processes, git, + locks, servers, watchers, or OS behavior. -Avoid these in tests that already target Effect services: - -- `test(..., async () => Effect.runPromise(...))` -- local `run(...)`, `load(...)`, `svc(...)`, or `runtime.runPromise(...)` wrappers that only provide a layer -- `tmpdir()` plus `WithInstance.provide(...)` in Promise test bodies -- custom `ManagedRuntime.make(...)` in test files -- Promise `try/catch` around Effect failures -- `Promise.withResolvers`, `Bun.sleep`, or `setTimeout` for synchronization when `Deferred`, `Fiber`, or `Effect.sleep` can express the same behavior - -Promise helpers are acceptable at the boundary for non-Effect APIs, but they should be yielded from an Effect body with `Effect.promise(...)` rather than becoming the test harness. +Most integration-style tests use `it.live(...)` or `it.instance(...)`. ## Layer Rules -Compose tests from open service layers, not closed `defaultLayer` graphs when a dependency needs replacing. - -Good: - -```ts -const layer = Config.layer.pipe( - Layer.provide(AppFileSystem.defaultLayer), - Layer.provide(Env.defaultLayer), - Layer.provide(AuthTest.empty), - Layer.provide(AccountTest.empty), - Layer.provide(NpmTest.noop), -) -``` - -Avoid using a fully closed layer and hoping to override an inner dependency later. Once `Agent.defaultLayer` has already provided `Config.defaultLayer`, tests cannot cleanly swap the `Npm.Service` used by that config layer. +Compose tests from open service layers when a dependency needs replacing. +Do not use a closed `defaultLayer` and then try to override an inner +dependency after it has already been provided. Prefer small reusable fake boundary layers in `test/fake/*`: @@ -80,146 +67,103 @@ SkillTest.empty ProviderTest.fake().layer ``` -Do not add generic test-layer builders until repeated local compositions prove the need. Shared fake boundary services are the first reusable unit. Pre-composed subtrees such as `AgentTest.withPlugins` should come later, only after the same graph appears in multiple files. +Use `Layer.mock` for partial service stubs. Missing methods should fail +loudly if the test accidentally calls them. + +Do not add generic test-layer builders until repeated local compositions +prove the need. ## Fixture Rules Use Effect-aware fixtures from `test/fixture/fixture.ts`: -- `TestInstance` inside `it.instance(...)` for the current temp instance path -- `tmpdirScoped(...)` inside `Effect.gen` for additional temp directories -- `provideInstance(dir)(effect)` when one test needs to switch instance context -- `provideTmpdirInstance((dir) => effect, options)` when a live test needs custom instance setup or multiple instance scopes -- `disposeAllInstances()` in `afterEach` only for integration tests that intentionally touch shared instance registries +- `TestInstance` inside `it.instance(...)` for the current temp instance. +- `tmpdirScoped(...)` inside `Effect.gen` for extra temp directories. +- `provideInstance(dir)(effect)` when one test needs to switch instance + context. +- `provideTmpdirInstance((dir) => effect, options)` when a live test needs + custom instance setup or multiple instance scopes. +- `disposeAllInstances()` in `afterEach` only for integration tests that + intentionally touch shared instance registries. -Use finalizers only as a temporary bridge for existing global mutations: +Avoid mutable global setup. If a global mutation is unavoidable during a +migration, scope it with acquire/release and treat it as temporary. -```ts -yield * - Effect.acquireUseRelease( - Effect.sync(() => { - const previous = process.env.MY_FLAG - process.env.MY_FLAG = "1" - return previous - }), - () => testBody, - (previous) => - Effect.sync(() => { - if (previous === undefined) delete process.env.MY_FLAG - else process.env.MY_FLAG = previous - }), - ) -``` +Long term, tests should not toggle `process.env`, `Global.Path`, or +mutable flags when behavior can be modeled with services. Prefer layers +such as `RuntimeFlags.layer(...)` or focused fake services. -TODO: eliminate this pattern over time. Tests should not toggle process-global flags or env vars when the behavior can be modeled with services. Prefer moving flag/env reads behind injectable services such as `Config.Service`, `Env.Service`, or focused test layers, then provide the desired test value through the layer graph instead of mutating `process.env` or `Global.Path`. +## Anti-Patterns To Remove + +- `test(..., async () => Effect.runPromise(...))` +- local `run(...)`, `load(...)`, `svc(...)`, or `runtime.runPromise(...)` + wrappers that only provide a layer +- `tmpdir()` plus legacy instance provision in Promise test bodies +- custom `ManagedRuntime.make(...)` in test files +- Promise `try/catch` around Effect failures +- `Promise.withResolvers`, `Bun.sleep`, or `setTimeout` for synchronization + when events, `Deferred`, fibers, or deterministic state checks fit +- mutable env/global/flag changes after layers are built + +Promise helpers are acceptable at non-Effect boundaries, but yield them from +inside an Effect body with `Effect.promise(...)` rather than making them the +test harness. ## Conversion Recipe -1. Identify the real service under test and its open `*.layer`. -2. Build one top-level `layer` with real dependencies where they are relevant and `test/fake/*` layers at slow or external boundaries. -3. Replace local Promise wrappers with Effect helpers: - -```ts -const run = Effect.fn("MyTest.run")(function* (input: Input) { - const service = yield* MyService.Service - return yield* service.run(input) -}) -``` - -4. Convert `test(..., async () => { ... })` to `it.effect`, `it.instance`, or `it.live`. +1. Identify the real service under test and whether its open `layer` or + closed `defaultLayer` is appropriate. +2. Build one top-level `layer` with real dependencies where relevant and + fake layers at slow or external boundaries. +3. Replace local Promise wrappers with Effect helpers. +4. Convert `test(..., async () => { ... })` to `it.effect`, `it.instance`, + or `it.live`. 5. Move `await` calls inside `Effect.gen` as `yield*` calls. -6. Replace `await using tmp = await tmpdir(...)` with `yield* tmpdirScoped(...)` when the temp directory is inside an Effect test. -7. Replace `WithInstance.provide({ directory, fn })` with `it.instance(...)`, `provideInstance(directory)(effect)`, or `provideTmpdirInstance(...)`. -8. Replace Promise failure assertions with Effect assertions: - -```ts -const exit = yield * run(input).pipe(Effect.exit) -expect(Exit.isFailure(exit)).toBe(true) -``` - -This is correct but still verbose. Track repeated assertion shapes during migration so we can add small test assertion helpers later instead of copying low-level `Exit` plumbing everywhere. - -9. Keep concurrency concurrent by using `Effect.forkScoped`, `Fiber.join`, `Deferred`, or `Effect.all(..., { concurrency: "unbounded" })` instead of serializing formerly parallel Promise work. -10. Run the focused test file and `bun typecheck` from `packages/opencode`. +6. Replace `await using tmp = await tmpdir(...)` with + `yield* tmpdirScoped(...)` when the temp directory lives inside the + Effect test. +7. Replace Promise failure assertions with `Effect.exit`, `Effect.flip`, or + focused assertion helpers. +8. Preserve concurrency with fibers, `Deferred`, and + `Effect.all(..., { concurrency: "unbounded" })`; do not accidentally + serialize formerly parallel behavior. +9. Run the focused test file and `bun typecheck` from `packages/opencode`. ## Good Examples -Use these files as models: +Use current examples as patterns, but re-check them before copying because +test migrations are active: -- `test/tool/write.test.ts`: strong `it.instance` tests, top-level `testEffect(...)`, and Effect-native test helpers. -- `test/effect/instance-state.test.ts`: good `it.live` use for scoped directories, instance switching, reload/disposal, and concurrency. -- `test/bus/bus-effect.test.ts`: good `Deferred`, streams, and scoped fibers. -- `test/tool/truncation.test.ts`: good configured runners and concise live service tests. -- `test/tool/repo_clone.test.ts`: good live git integration while staying inside Effect fixtures. -- `test/server/httpapi-instance.test.ts`: good scoped integration layer setup and live HTTP assertions. -- `test/account/service.test.ts`: good service-level live tests, `Effect.flip`, typed errors, and fake HTTP clients. -- `test/agent/plugin-agent-regression.test.ts`: good example of open real service layers plus reusable fake boundary layers. +- `test/effect/instance-state.test.ts` — scoped directories, instance + switching, disposal, and concurrency. +- `test/bus/bus-effect.test.ts` — `Deferred`, streams, scoped fibers. +- `test/agent/plugin-agent-regression.test.ts` — real service layers plus + fake boundary layers. +- `test/account/service.test.ts` — service-level live tests, typed errors, + fake HTTP clients. -## Current Promise-Land Hotspots +## Migration Queue Policy -Start with files that already exercise Effect services but still manually run Promises: +Do not maintain a long file checklist here. It goes stale quickly. -- `test/config/config.test.ts`: many `Effect.runPromise`, `tmpdir()`, and `WithInstance.provide(...)` patterns despite already having `const it = testEffect(layer)`. -- `test/tool/shell.test.ts`: custom `ManagedRuntime`, Promise test helpers, and instance setup around shell execution. -- `test/tool/edit.test.ts`: manual runtime helpers and Promise concurrency patterns that should become fibers/deferreds. -- `test/session/messages-pagination.test.ts`: local Promise service facade over `Session.defaultLayer`. -- `test/snapshot/snapshot.test.ts`: Promise helper with `provideInstance` around snapshot operations. -- `test/file/index.test.ts`: Promise wrappers for `File.Service` plus repeated temp instance setup. -- `test/provider/provider.test.ts`: `AppRuntime.runPromise` helpers and mutable env/config setup. -- `test/project/vcs.test.ts`: Promise event waiting and `AppRuntime.runPromise` around VCS service calls. +When looking for the next target, search for current anti-patterns: -## Migration Order +```bash +git grep -n "Effect.runPromise\|ManagedRuntime\|Promise.withResolvers\|Bun.sleep\|WithInstance" -- packages/opencode/test +``` -1. Convert one small file with straightforward service calls and no race behavior. -2. Convert `config.test.ts` incrementally by cluster, not in one PR. -3. Extract additional `test/fake/*` boundary layers only when a second test needs the same fake. -4. Convert files with concurrency or watchers after the simple files, preserving timing semantics with `Deferred` and fibers. -5. Leave pure non-Effect utility tests alone unless converting the underlying code to Effect. +Then choose one file or one small cluster, keep the PR focused, and mention +the focused verification in the PR body. -## Claimable Checklist +## Rough Edges To Watch -Use this as a migration queue. Each checkbox should be safe for one agent or one PR unless the notes say otherwise. Agents should claim one item, convert only that file or cluster, run the focused test file, run `bun typecheck`, and update this checklist in the PR description or follow-up note. - -- [ ] `test/file/index.test.ts`: straightforward service wrapper cleanup. Replace local Promise helpers with Effect helpers and use `it.instance` / `it.live` around existing temp instance cases. -- [ ] `test/session/messages-pagination.test.ts`: convert the local `run(...)` / `svc(...)` facade to `testEffect(Session.defaultLayer...)` and direct service yields. Good early target. -- [ ] `test/snapshot/snapshot.test.ts`: convert snapshot operations to `it.live` with `tmpdirScoped` / `provideInstance`. Keep git/filesystem behavior live. -- [ ] `test/project/vcs.test.ts`: convert `AppRuntime.runPromise` service calls first. Leave event/watcher timing intact until the first Effect version is stable. -- [ ] `test/provider/provider.test.ts` cluster 1: convert provider service tests that only read config/env and do not mutate global state heavily. -- [ ] `test/provider/provider.test.ts` cluster 2: convert tests with env/config mutation after introducing or reusing service-backed test seams. -- [ ] `test/tool/shell.test.ts`: replace custom `ManagedRuntime` with `testEffect`, keep as `it.live`, and preserve process behavior. -- [ ] `test/tool/edit.test.ts` cluster 1: convert straightforward edit/read/write cases and remove manual runtime helpers. -- [ ] `test/tool/edit.test.ts` cluster 2: convert concurrency/race tests using `Deferred`, fibers, and `Effect.all` without serializing behavior. -- [ ] `test/config/config.test.ts` setup pass: replace inline fake layers with shared `test/fake/*` layers where possible and turn Promise helpers into Effect helpers. -- [ ] `test/config/config.test.ts` cluster 1: convert simple config load/merge tests that only need one instance. -- [ ] `test/config/config.test.ts` cluster 2: convert managed/global config tests that mutate `Global.Path` or managed config directories. Prefer service seams; use finalizers only as a bridge. -- [ ] `test/config/config.test.ts` cluster 3: convert plugin/dependency tests after ensuring `NpmTest.noop` or explicit fake NPM layers are used. -- [ ] `test/config/config.test.ts` cluster 4: convert remote/account/provider config tests after isolating auth/account/env dependencies through layers. -- [ ] Audit remaining `Effect.runPromise` in `packages/opencode/test/**/*.ts` and create follow-up checklist entries for any missed files. -- [ ] Audit remaining `WithInstance.provide` in `packages/opencode/test/**/*.ts` and convert cases that can use `it.instance` or `provideInstance` inside Effect. -- [ ] Audit repeated `Exit` / `Cause` assertion shapes and propose `test/lib/effect-assert.ts` helpers if at least three files repeat the same pattern. - -Parallelization notes: - -- The first four items are mostly independent and good for separate worktrees. -- `provider.test.ts`, `tool/edit.test.ts`, and `config.test.ts` should be split by cluster so agents do not edit the same file concurrently. -- Any new fake boundary layer under `test/fake/*` should be small and independently useful. Do not add a fake just for one assertion unless it removes a real external dependency. -- Do not combine assertion-helper design with file migrations. First collect repeated shapes, then add helpers in a separate pass. - -Orchestration rules: - -- Prefer supervised foreground agents for implementation. Background agents are acceptable for research-only surveys, but code migrations need a returned diff, focused test output, and local commit before moving on. -- Create one worktree per claim and verify the branch/worktree path before edits. A status check should include `git status --short --branch` from the claimed worktree. -- After an agent reports completion, the coordinator must independently inspect `git status`, run the focused test, run `bun typecheck`, and review the diff before pushing. -- If an agent edits the wrong worktree, move the patch deliberately with `git diff` / `git apply`, then clean the accidental worktree before opening a PR. -- Keep dependency setup boring. Prefer reusing existing installed dependencies via worktrees or symlinks over running a fresh `bun install` in a temporary path unless the native build path is known to work. -- Do not delete worktrees with unpushed commits or uncommitted changes. Once a migration PR branch is pushed and clean, the local worktree can be removed while leaving the branch on the fork. - -## Effectified Test Rough Edges - -Track patterns that are technically Effect-native but still too noisy. These should become a second cleanup pass after the Promise-land migration is underway. - -- Failure assertions against `Exit` / `Cause` are often verbose. Consider helpers such as `expectEffectFailure(effect)`, `expectTaggedError(effect, Tag)`, or custom Bun matchers if the same shapes repeat. -- Some tests still need `Effect.promise(...)` around Node/Bun filesystem helpers. Prefer Effect platform services when the surrounding code already uses them, but do not block migrations on perfect filesystem abstraction. -- Scoped global mutation with `process.env`, `Global.Path`, or flags should disappear behind injectable services over time. -- Layer composition can be noisy when a test needs a real service subtree plus fake boundaries. Keep extracting small `test/fake/*` boundary layers before inventing larger builders. -- Concurrency tests can become harder to read after replacing Promise resolvers with `Deferred` and fibers. Look for repeated patterns that deserve named helpers. +- Failure assertions against `Exit` / `Cause` can get verbose. Add helpers + only after the same shape repeats across multiple files. +- Some tests still need `Effect.promise(...)` around Node/Bun APIs. Prefer + Effect platform services when the surrounding code already uses them, but + do not block useful migrations on perfect abstraction. +- Layer composition can be noisy when a test needs real service subtrees plus + fake boundaries. Extract small `test/fake/*` layers before inventing + larger builders. +- Concurrency tests can get harder to read after replacing Promise + resolvers. Look for repeated patterns that deserve named helpers. diff --git a/packages/opencode/test/agent/plan-mode-subagent-bypass.test.ts b/packages/opencode/test/agent/plan-mode-subagent-bypass.test.ts index 255aea12ee..641a929aeb 100644 --- a/packages/opencode/test/agent/plan-mode-subagent-bypass.test.ts +++ b/packages/opencode/test/agent/plan-mode-subagent-bypass.test.ts @@ -27,6 +27,19 @@ import { testEffect } from "../lib/effect" const it = testEffect(Agent.defaultLayer) +function testAgent(input: { + name: string + mode: Agent.Info["mode"] + permission: Parameters[0] +}) { + return { + name: input.name, + mode: input.mode, + permission: Permission.fromConfig(input.permission), + options: {}, + } satisfies Agent.Info +} + // `deriveSubagentSessionPermission` is imported from production. The test // exercises the actual helper that task.ts uses to build the subagent's // session permission, so any regression in that helper trips this test. @@ -123,3 +136,77 @@ it.instance( }, }, ) + +it.effect("[#26700] controller self-restrictions do not erase executor permissions", () => + Effect.sync(() => { + const controller = testAgent({ + name: "controller", + mode: "primary", + permission: { + "*": "deny", + read: "deny", + bash: "deny", + task: { + "*": "deny", + executor: "allow", + }, + edit: "deny", + write: "deny", + }, + }) + const executor = testAgent({ + name: "executor", + mode: "subagent", + permission: { + "*": "deny", + read: "allow", + bash: "allow", + task: { + "*": "deny", + worker: "allow", + }, + edit: "deny", + write: "deny", + }, + }) + + const effective = Permission.merge( + executor.permission, + deriveSubagentSessionPermission({ + parentSessionPermission: [], + parentAgent: controller, + subagent: executor, + }), + ) + + expect(Permission.evaluate("read", "README.md", effective).action).toBe("allow") + expect(Permission.evaluate("bash", "git status", effective).action).toBe("allow") + expect(Permission.evaluate("task", "worker", effective).action).toBe("allow") + expect(Permission.evaluate("task", "other", effective).action).toBe("deny") + expect(Permission.disabled(["edit", "write", "apply_patch"], effective)).toEqual( + new Set(["edit", "write", "apply_patch"]), + ) + }), +) + +it.effect("subagent inherits parent session deny rules as hard runtime ceilings", () => + Effect.sync(() => { + const executor = testAgent({ + name: "executor", + mode: "subagent", + permission: { + bash: "allow", + }, + }) + const effective = Permission.merge( + executor.permission, + deriveSubagentSessionPermission({ + parentSessionPermission: Permission.fromConfig({ bash: "deny" }), + parentAgent: undefined, + subagent: executor, + }), + ) + + expect(Permission.evaluate("bash", "git status", effective).action).toBe("deny") + }), +) diff --git a/packages/opencode/test/agent/plugin-agent-regression.test.ts b/packages/opencode/test/agent/plugin-agent-regression.test.ts index e2dd8a5f7c..60d59ee907 100644 --- a/packages/opencode/test/agent/plugin-agent-regression.test.ts +++ b/packages/opencode/test/agent/plugin-agent-regression.test.ts @@ -7,6 +7,7 @@ import { Agent } from "../../src/agent/agent" import { Bus } from "../../src/bus" import { Config } from "../../src/config/config" import { Env } from "../../src/env" +import { RuntimeFlags } from "../../src/effect/runtime-flags" import { Plugin } from "../../src/plugin" import { AccountTest } from "../fake/account" import { AuthTest } from "../fake/auth" @@ -29,7 +30,11 @@ const configLayer = Config.layer.pipe( Layer.provide(AccountTest.empty), Layer.provide(NpmTest.noop), ) -const pluginLayer = Plugin.layer.pipe(Layer.provide(Bus.layer), Layer.provide(configLayer)) +const pluginLayer = Plugin.layer.pipe( + Layer.provide(Bus.layer), + Layer.provide(configLayer), + Layer.provide(RuntimeFlags.layer({ disableDefaultPlugins: true })), +) const agentLayer = Agent.layer.pipe( Layer.provide(configLayer), Layer.provide(AuthTest.empty), diff --git a/packages/opencode/test/cli/cmd/tui/attention.test.ts b/packages/opencode/test/cli/cmd/tui/attention.test.ts new file mode 100644 index 0000000000..071aabdd79 --- /dev/null +++ b/packages/opencode/test/cli/cmd/tui/attention.test.ts @@ -0,0 +1,484 @@ +import { describe, expect, test } from "bun:test" +import type { AudioPlayOptions, AudioSound } from "@opentui/core" +import { createTuiAttention } from "@/cli/cmd/tui/attention" +import type { TuiConfig } from "@/cli/cmd/tui/config/tui" + +type FocusEvent = "focus" | "blur" + +type AttentionConfig = Pick + +class FakeRenderer { + isDestroyed = false + notificationResult = true + notificationThrows = false + notifications: { message: string; title: string | undefined }[] = [] + listeners: Record void>> = { + focus: new Set(), + blur: new Set(), + } + + on(event: FocusEvent, listener: () => void) { + this.listeners[event].add(listener) + return this + } + + off(event: FocusEvent, listener: () => void) { + this.listeners[event].delete(listener) + return this + } + + emit(event: FocusEvent) { + for (const listener of this.listeners[event]) listener() + } + + listenerCount(event: FocusEvent) { + return this.listeners[event].size + } + + triggerNotification(message: string, title?: string) { + if (this.notificationThrows) throw new Error("notification failed") + this.notifications.push({ message, title }) + return this.notificationResult + } +} + +class FakeAudioEngine { + loadResult: AudioSound | null = 1 + playResult: number | null = 1 + loadCalls = 0 + playCalls = 0 + volumes: (number | undefined)[] = [] + loadPaths: string[] = [] + rejectLoad = false + rejectPaths = new Set() + + async loadSoundFile(path: string) { + this.loadCalls += 1 + this.loadPaths.push(path) + if (this.rejectLoad || this.rejectPaths.has(path)) throw new Error("decode failed") + return this.loadResult + } + + play(_sound: AudioSound, options?: AudioPlayOptions) { + this.playCalls += 1 + this.volumes.push(options?.volume) + return this.playResult + } +} + +class FakeKV { + store: Record = {} + + get ready() { + return true + } + + get(key: string, fallback?: Value) { + return (this.store[key] ?? fallback) as Value + } + + set(key: string, value: unknown) { + this.store[key] = value + } +} + +function config(attention: Partial = {}): AttentionConfig { + return { + attention: { + enabled: true, + notifications: true, + sound: true, + volume: 0.4, + sound_pack: "opencode.default", + sounds: {}, + ...attention, + }, + } +} + +describe("createTuiAttention", () => { + test("defaults to sound always and notification blurred", async () => { + const renderer = new FakeRenderer() + const audio = new FakeAudioEngine() + const attention = createTuiAttention({ renderer, config: config(), audio }) + + expect(await attention.notify({ message: "hello" })).toEqual({ + ok: true, + notification: false, + sound: true, + }) + expect(renderer.notifications).toHaveLength(0) + expect(audio.playCalls).toBe(1) + }) + + test("supports blurred-only requests", async () => { + const renderer = new FakeRenderer() + const audio = new FakeAudioEngine() + const attention = createTuiAttention({ renderer, config: config(), audio }) + + expect(await attention.notify({ message: "unknown", sound: { when: "blurred" } })).toEqual({ + ok: false, + notification: false, + sound: false, + skipped: "focus_unknown", + }) + renderer.emit("focus") + expect(await attention.notify({ message: "focused", sound: { when: "blurred" } })).toEqual({ + ok: false, + notification: false, + sound: false, + skipped: "focused", + }) + renderer.emit("blur") + expect(await attention.notify({ message: "blurred", sound: { when: "blurred" } })).toEqual({ + ok: true, + notification: true, + sound: true, + }) + expect(audio.playCalls).toBe(1) + }) + + test("supports focused-only requests", async () => { + const renderer = new FakeRenderer() + const attention = createTuiAttention({ renderer, config: config(), audio: new FakeAudioEngine() }) + + expect(await attention.notify({ message: "unknown", notification: { when: "focused" }, sound: false })).toEqual({ + ok: false, + notification: false, + sound: false, + skipped: "focus_unknown", + }) + renderer.emit("blur") + expect(await attention.notify({ message: "blurred", notification: { when: "focused" }, sound: false })).toEqual({ + ok: false, + notification: false, + sound: false, + skipped: "blurred", + }) + renderer.emit("focus") + expect(await attention.notify({ message: "focused", notification: { when: "focused" }, sound: false })).toEqual({ + ok: true, + notification: true, + sound: false, + }) + expect(renderer.notifications).toEqual([{ title: "opencode", message: "focused" }]) + }) + + test("notification can deliver while focused when requested", async () => { + const renderer = new FakeRenderer() + const audio = new FakeAudioEngine() + const attention = createTuiAttention({ renderer, config: config(), audio }) + renderer.emit("focus") + + expect(await attention.notify({ message: "hello", notification: { when: "always" } })).toEqual({ + ok: true, + notification: true, + sound: true, + }) + expect(audio.playCalls).toBe(1) + expect(renderer.notifications).toEqual([{ title: "opencode", message: "hello" }]) + }) + + test("notifies while blurred", async () => { + const renderer = new FakeRenderer() + const attention = createTuiAttention({ renderer, config: config(), audio: new FakeAudioEngine() }) + renderer.emit("blur") + + expect(await attention.notify({ title: "opencode", message: "hello", sound: false })).toEqual({ + ok: true, + notification: true, + sound: false, + }) + expect(renderer.notifications).toEqual([{ title: "opencode", message: "hello" }]) + }) + + test("when requested, blurred-only calls do not notify or play sound while focused", async () => { + const renderer = new FakeRenderer() + const audio = new FakeAudioEngine() + const attention = createTuiAttention({ renderer, config: config(), audio }) + renderer.emit("focus") + + expect(await attention.notify({ message: "hello", sound: { when: "blurred" } })).toEqual({ + ok: false, + notification: false, + sound: false, + skipped: "focused", + }) + expect(renderer.notifications).toHaveLength(0) + expect(audio.loadCalls).toBe(0) + }) + + test("can play sound always while notification is blurred-only", async () => { + const renderer = new FakeRenderer() + const audio = new FakeAudioEngine() + const attention = createTuiAttention({ renderer, config: config(), audio }) + renderer.emit("focus") + + expect( + await attention.notify({ + message: "hello", + sound: { name: "question" }, + }), + ).toEqual({ + ok: true, + notification: false, + sound: true, + }) + expect(renderer.notifications).toHaveLength(0) + expect(audio.playCalls).toBe(1) + + renderer.emit("blur") + expect( + await attention.notify({ + message: "hello again", + sound: { name: "question" }, + }), + ).toEqual({ + ok: true, + notification: true, + sound: true, + }) + expect(renderer.notifications).toEqual([{ title: "opencode", message: "hello again" }]) + }) + + test("can disable notification per call while still playing sound", async () => { + const renderer = new FakeRenderer() + const audio = new FakeAudioEngine() + const attention = createTuiAttention({ renderer, config: config(), audio }) + + expect(await attention.notify({ message: "hello", notification: false })).toEqual({ + ok: true, + notification: false, + sound: true, + }) + expect(renderer.notifications).toHaveLength(0) + expect(audio.playCalls).toBe(1) + }) + + test("skips empty messages and disabled attention", async () => { + const empty = new FakeRenderer() + empty.emit("blur") + const disabled = new FakeRenderer() + disabled.emit("blur") + + expect(await createTuiAttention({ renderer: empty, config: config() }).notify({ message: " \n " })).toEqual({ + ok: false, + notification: false, + sound: false, + skipped: "empty_message", + }) + expect( + await createTuiAttention({ renderer: disabled, config: config({ enabled: false }) }).notify({ message: "hello" }), + ).toEqual({ + ok: false, + notification: false, + sound: false, + skipped: "attention_disabled", + }) + }) + + test("respects notification and sound config independently", async () => { + const renderer = new FakeRenderer() + const audio = new FakeAudioEngine() + const attention = createTuiAttention({ renderer, config: config({ notifications: false }), audio }) + renderer.emit("blur") + + expect(await attention.notify({ message: "hello", sound: true })).toEqual({ + ok: true, + notification: false, + sound: true, + }) + expect(renderer.notifications).toHaveLength(0) + expect(audio.playCalls).toBe(1) + + const soundDisabledRenderer = new FakeRenderer() + const soundDisabledAudio = new FakeAudioEngine() + const soundDisabled = createTuiAttention({ + renderer: soundDisabledRenderer, + config: config({ sound: false }), + audio: soundDisabledAudio, + }) + soundDisabledRenderer.emit("blur") + + expect(await soundDisabled.notify({ message: "hello", sound: true })).toEqual({ + ok: true, + notification: true, + sound: false, + }) + expect(soundDisabledAudio.loadCalls).toBe(0) + }) + + test("loads audio lazily only for eligible sound requests", async () => { + const renderer = new FakeRenderer() + const audio = new FakeAudioEngine() + const attention = createTuiAttention({ renderer, config: config(), audio }) + + await attention.notify({ message: "unknown", sound: { when: "blurred" } }) + expect(audio.loadCalls).toBe(0) + + renderer.emit("blur") + expect(await attention.notify({ message: "blurred", sound: { volume: 2 } })).toEqual({ + ok: true, + notification: true, + sound: true, + }) + expect(audio.loadCalls).toBe(1) + expect(audio.volumes).toEqual([1]) + }) + + test("handles unavailable playback and delegates sound loading", async () => { + const unavailableRenderer = new FakeRenderer() + const unavailableAudio = new FakeAudioEngine() + unavailableAudio.playResult = null + const unavailable = createTuiAttention({ renderer: unavailableRenderer, config: config(), audio: unavailableAudio }) + unavailableRenderer.emit("blur") + + expect(await unavailable.notify({ message: "hello", sound: true })).toEqual({ + ok: true, + notification: true, + sound: false, + }) + expect(unavailableAudio.loadCalls).toBe(1) + expect(unavailableAudio.playCalls).toBe(1) + + const repeatedRenderer = new FakeRenderer() + const repeatedAudio = new FakeAudioEngine() + const repeated = createTuiAttention({ renderer: repeatedRenderer, config: config(), audio: repeatedAudio }) + repeatedRenderer.emit("blur") + + await repeated.notify({ message: "one", sound: true }) + await repeated.notify({ message: "two", sound: true }) + expect(repeatedAudio.loadCalls).toBe(2) + expect(repeatedAudio.playCalls).toBe(2) + }) + + test("plays named sounds from the active sound pack", async () => { + const renderer = new FakeRenderer() + const audio = new FakeAudioEngine() + const attention = createTuiAttention({ renderer, config: config(), audio }) + renderer.emit("blur") + + const dispose = attention.soundboard.registerPack({ + id: "acme.soft", + name: "Soft Alerts", + sounds: { + question: "/tmp/question.mp3", + }, + }) + + expect(attention.soundboard.activate("acme.soft")).toBe(true) + expect(attention.soundboard.current()).toBe("acme.soft") + expect(attention.soundboard.list()).toContainEqual({ + id: "acme.soft", + name: "Soft Alerts", + active: true, + builtin: false, + }) + + expect(await attention.notify({ message: "question", sound: { name: "question" } })).toEqual({ + ok: true, + notification: true, + sound: true, + }) + expect(audio.loadPaths).toEqual(["/tmp/question.mp3"]) + + dispose() + expect(attention.soundboard.current()).toBe("opencode.default") + }) + + test("uses config sound overrides before active pack sounds and falls back on load failure", async () => { + const renderer = new FakeRenderer() + const audio = new FakeAudioEngine() + audio.rejectPaths.add("/tmp/bad-question.mp3") + const attention = createTuiAttention({ + renderer, + config: config({ sounds: { question: "/tmp/bad-question.mp3" } }), + audio, + }) + renderer.emit("blur") + + attention.soundboard.registerPack({ + id: "acme.soft", + sounds: { + question: "/tmp/good-question.mp3", + }, + }) + attention.soundboard.activate("acme.soft") + + expect(await attention.notify({ message: "question", sound: { name: "question" } })).toEqual({ + ok: true, + notification: true, + sound: true, + }) + expect(audio.loadPaths).toEqual(["/tmp/bad-question.mp3", "/tmp/good-question.mp3"]) + }) + + test("persists activated sound pack in KV", () => { + const kv = new FakeKV() + const renderer = new FakeRenderer() + const attention = createTuiAttention({ renderer, config: config(), kv }) + + attention.soundboard.registerPack({ id: "acme.soft", sounds: { done: "/tmp/done.mp3" } }) + + expect(attention.soundboard.activate("missing", { persist: true })).toBe(false) + expect(kv.store.attention_sound_pack).toBeUndefined() + expect(attention.soundboard.activate("acme.soft", { persist: true })).toBe(true) + expect(kv.store.attention_sound_pack).toBe("acme.soft") + + const next = createTuiAttention({ renderer: new FakeRenderer(), config: config(), kv }) + next.soundboard.registerPack({ id: "acme.soft", sounds: { done: "/tmp/done.mp3" } }) + expect(next.soundboard.current()).toBe("acme.soft") + }) + + test("does not throw for notification or sound failures", async () => { + const renderer = new FakeRenderer() + const audio = new FakeAudioEngine() + renderer.notificationThrows = true + audio.rejectLoad = true + const attention = createTuiAttention({ renderer, config: config(), audio }) + renderer.emit("blur") + + expect(await attention.notify({ message: "hello", sound: true })).toEqual({ + ok: false, + notification: false, + sound: false, + }) + }) + + test("strips unsafe notification text", async () => { + const renderer = new FakeRenderer() + const attention = createTuiAttention({ renderer, config: config(), audio: new FakeAudioEngine() }) + renderer.emit("blur") + + await attention.notify({ + title: "\u001b[31m danger\n title\u0007", + message: "\u001b[32m hello\n world\u0000", + }) + + expect(renderer.notifications).toEqual([{ title: "danger title", message: "hello world" }]) + }) + + test("disposes renderer listeners", async () => { + const renderer = new FakeRenderer() + const audio = new FakeAudioEngine() + const attention = createTuiAttention({ renderer, config: config(), audio }) + renderer.emit("blur") + await attention.notify({ message: "hello", sound: true }) + + expect(renderer.listenerCount("focus")).toBe(1) + expect(renderer.listenerCount("blur")).toBe(1) + + attention.dispose() + renderer.isDestroyed = true + + expect(renderer.listenerCount("focus")).toBe(0) + expect(renderer.listenerCount("blur")).toBe(0) + expect(audio.loadCalls).toBe(1) + expect(await attention.notify({ message: "hello" })).toEqual({ + ok: false, + notification: false, + sound: false, + skipped: "renderer_destroyed", + }) + }) +}) diff --git a/packages/opencode/test/cli/cmd/tui/notifications.test.ts b/packages/opencode/test/cli/cmd/tui/notifications.test.ts new file mode 100644 index 0000000000..17ed54bafd --- /dev/null +++ b/packages/opencode/test/cli/cmd/tui/notifications.test.ts @@ -0,0 +1,267 @@ +import { describe, expect, test } from "bun:test" +import Notifications from "@/cli/cmd/tui/feature-plugins/system/notifications" +import type { Event, PermissionRequest, QuestionRequest, Session } from "@opencode-ai/sdk/v2" +import type { TuiAttentionNotifyInput } from "@opencode-ai/plugin/tui" +import { createTuiPluginApi } from "../../../fixture/tui-plugin" + +async function setup() { + const notifications: TuiAttentionNotifyInput[] = [] + const handlers = new Map void)[]>() + const session = (id: string, title: string, parentID?: string): Session => ({ + id, + title, + slug: id, + projectID: "project", + directory: "/workspace", + ...(parentID && { parentID }), + version: "0.0.0-test", + time: { created: 0, updated: 0 }, + }) + const sessions: Record = { + session: session("session", "Demo session"), + subagent: session("subagent", "Subagent session", "session"), + abort: session("abort", "Abort session"), + timeout: session("timeout", "Timeout session"), + } + + await Notifications.tui( + createTuiPluginApi({ + attention: { + async notify(input) { + notifications.push(input) + return { ok: true, notification: true, sound: true } + }, + }, + event: { + on: (type: Type, handler: (event: Extract) => void) => { + const list = handlers.get(type) ?? [] + const wrapped = handler as (event: Event) => void + list.push(wrapped) + handlers.set(type, list) + return () => { + handlers.set( + type, + (handlers.get(type) ?? []).filter((item) => item !== wrapped), + ) + } + }, + }, + state: { + session: { + get: (sessionID: string) => sessions[sessionID], + }, + }, + }), + undefined, + {} as never, + ) + + return { + notifications, + emit(event: Event) { + for (const handler of handlers.get(event.type) ?? []) handler(event) + }, + } +} + +function question(id: string, sessionID = "session"): QuestionRequest { + return { + id, + sessionID, + questions: [], + } +} + +function permission(id: string, sessionID = "session"): PermissionRequest { + return { + id, + sessionID, + permission: "edit", + patterns: [], + metadata: {}, + always: [], + } +} + +const questionNotification: TuiAttentionNotifyInput = { + title: "Demo session", + message: "Question needs input", + notification: { when: "blurred" }, + sound: { name: "question", when: "always" }, +} + +const permissionNotification: TuiAttentionNotifyInput = { + title: "Demo session", + message: "Permission needs input", + notification: { when: "blurred" }, + sound: { name: "permission", when: "always" }, +} + +describe("internal notifications TUI plugin", () => { + test("notifies for question and permission requests with blurred notifications and always-on sounds", async () => { + const harness = await setup() + + harness.emit({ id: "event-1", type: "question.asked", properties: question("question-1") }) + harness.emit({ id: "event-2", type: "permission.asked", properties: permission("permission-1") }) + + expect(harness.notifications).toEqual([questionNotification, permissionNotification]) + }) + + test("dedupes pending questions and permissions until they are resolved", async () => { + const harness = await setup() + + harness.emit({ id: "event-1", type: "question.asked", properties: question("question-1") }) + harness.emit({ id: "event-2", type: "question.asked", properties: question("question-1") }) + harness.emit({ + id: "event-3", + type: "question.replied", + properties: { sessionID: "session", requestID: "question-1", answers: [] }, + }) + harness.emit({ id: "event-4", type: "question.asked", properties: question("question-1") }) + + harness.emit({ id: "event-5", type: "permission.asked", properties: permission("permission-1") }) + harness.emit({ id: "event-6", type: "permission.asked", properties: permission("permission-1") }) + harness.emit({ + id: "event-7", + type: "permission.replied", + properties: { sessionID: "session", requestID: "permission-1", reply: "once" }, + }) + harness.emit({ id: "event-8", type: "permission.asked", properties: permission("permission-1") }) + + expect(harness.notifications).toEqual([ + questionNotification, + questionNotification, + permissionNotification, + permissionNotification, + ]) + }) + + test("notifies when an active session becomes idle and suppresses no-op idle", async () => { + const harness = await setup() + + harness.emit({ + id: "event-1", + type: "session.status", + properties: { sessionID: "session", status: { type: "idle" } }, + }) + harness.emit({ + id: "event-2", + type: "session.status", + properties: { sessionID: "session", status: { type: "busy" } }, + }) + harness.emit({ + id: "event-3", + type: "session.status", + properties: { sessionID: "session", status: { type: "idle" } }, + }) + + expect(harness.notifications).toEqual([ + { + title: "Demo session", + message: "Session done", + notification: { when: "blurred" }, + sound: { name: "done", when: "always" }, + }, + ]) + }) + + test("uses sound-only notifications and subagent_done sound for subagent sessions", async () => { + const harness = await setup() + + harness.emit({ id: "event-1", type: "question.asked", properties: question("question-1", "subagent") }) + harness.emit({ + id: "event-2", + type: "session.status", + properties: { sessionID: "subagent", status: { type: "busy" } }, + }) + harness.emit({ + id: "event-3", + type: "session.status", + properties: { sessionID: "subagent", status: { type: "idle" } }, + }) + + expect(harness.notifications).toEqual([ + { + title: "Subagent session", + message: "Question needs input", + notification: false, + sound: { name: "question", when: "always" }, + }, + { + title: "Subagent session", + message: "Session done", + notification: false, + sound: { name: "subagent_done", when: "always" }, + }, + ]) + }) + + test("notifies session errors once and suppresses the following idle done notification", async () => { + const harness = await setup() + + harness.emit({ + id: "event-1", + type: "session.status", + properties: { sessionID: "session", status: { type: "busy" } }, + }) + harness.emit({ + id: "event-2", + type: "session.error", + properties: { sessionID: "session", error: { name: "UnknownError", data: { message: "boom" } } }, + }) + harness.emit({ + id: "event-3", + type: "session.status", + properties: { sessionID: "session", status: { type: "idle" } }, + }) + + expect(harness.notifications).toEqual([ + { + title: "Demo session", + message: "Session error", + notification: { when: "blurred" }, + sound: { name: "error", when: "always" }, + }, + ]) + }) + + test("special-cases aborts and model response timeouts", async () => { + const harness = await setup() + + harness.emit({ + id: "event-1", + type: "session.status", + properties: { sessionID: "abort", status: { type: "busy" } }, + }) + harness.emit({ + id: "event-2", + type: "session.error", + properties: { sessionID: "abort", error: { name: "MessageAbortedError", data: { message: "Aborted" } } }, + }) + harness.emit({ + id: "event-3", + type: "session.status", + properties: { sessionID: "timeout", status: { type: "busy" } }, + }) + harness.emit({ + id: "event-4", + type: "session.error", + properties: { sessionID: "timeout", error: { name: "UnknownError", data: { message: "SSE read timed out" } } }, + }) + + expect(harness.notifications).toEqual([ + { + title: "Abort session", + message: "Session aborted", + notification: { when: "blurred" }, + sound: { name: "error", when: "always" }, + }, + { + title: "Timeout session", + message: "Model stopped responding", + notification: { when: "blurred" }, + sound: { name: "error", when: "always" }, + }, + ]) + }) +}) diff --git a/packages/opencode/test/cli/run/runtime.boot.test.ts b/packages/opencode/test/cli/run/runtime.boot.test.ts index e2569b0ac6..8dd9785532 100644 --- a/packages/opencode/test/cli/run/runtime.boot.test.ts +++ b/packages/opencode/test/cli/run/runtime.boot.test.ts @@ -1,14 +1,9 @@ import { afterEach, describe, expect, mock, spyOn, test } from "bun:test" -import type { KeyEvent, Renderable } from "@opentui/core" -import type { Binding } from "@opentui/keymap" -import { createBindingLookup } from "@opentui/keymap/extras" import { OpencodeClient, type Provider } from "@opencode-ai/sdk/v2" import { TuiConfig, type Resolved } from "@/cli/cmd/tui/config/tui" import { formatBindings } from "@/cli/cmd/run/keymap.shared" -import { TuiKeybind } from "@/cli/cmd/tui/config/keybind" import { resolveDiffStyle, resolveFooterKeybinds, resolveModelInfo } from "@/cli/cmd/run/runtime.boot" - -type RunBinding = Binding +import { createTuiResolvedConfig } from "../../fixture/tui-runtime" function model(id: string, providerID: string, context: number, variants?: Record>) { return { @@ -61,45 +56,37 @@ function model(id: string, providerID: string, context: number, variants?: Recor } } -function bindings(...keys: string[]) { - return keys.map((key) => ({ key })) -} - function config(input?: { leader?: string leaderTimeout?: number diff_style?: "auto" | "stacked" bindings?: Partial<{ - commandList: RunBinding[] - variantCycle: RunBinding[] - interrupt: RunBinding[] - historyPrevious: RunBinding[] - historyNext: RunBinding[] - inputClear: RunBinding[] - inputSubmit: RunBinding[] - inputNewline: RunBinding[] + commandList: string[] + variantCycle: string[] + interrupt: string[] + historyPrevious: string[] + historyNext: string[] + inputClear: string[] + inputSubmit: string[] + inputNewline: string[] }> }): Resolved { const bind = input?.bindings - const keybinds = TuiKeybind.Keybinds.parse({ - ...(input?.leader && { leader: input.leader }), - ...(bind?.commandList && { command_list: bind.commandList }), - ...(bind?.variantCycle && { variant_cycle: bind.variantCycle }), - ...(bind?.interrupt && { session_interrupt: bind.interrupt }), - ...(bind?.historyPrevious && { history_previous: bind.historyPrevious }), - ...(bind?.historyNext && { history_next: bind.historyNext }), - ...(bind?.inputClear && { input_clear: bind.inputClear }), - ...(bind?.inputSubmit && { input_submit: bind.inputSubmit }), - ...(bind?.inputNewline && { input_newline: bind.inputNewline }), - }) - return { + return createTuiResolvedConfig({ diff_style: input?.diff_style, - keybinds: createBindingLookup(TuiKeybind.toBindingConfig(keybinds), { - commandMap: TuiKeybind.CommandMap, - bindingDefaults: TuiKeybind.bindingDefaults(), - }), - leader_timeout: input?.leaderTimeout ?? 2000, - } + leader_timeout: input?.leaderTimeout, + keybinds: { + ...(input?.leader && { leader: input.leader }), + ...(bind?.commandList && { command_list: bind.commandList }), + ...(bind?.variantCycle && { variant_cycle: bind.variantCycle }), + ...(bind?.interrupt && { session_interrupt: bind.interrupt }), + ...(bind?.historyPrevious && { history_previous: bind.historyPrevious }), + ...(bind?.historyNext && { history_next: bind.historyNext }), + ...(bind?.inputClear && { input_clear: bind.inputClear }), + ...(bind?.inputSubmit && { input_submit: bind.inputSubmit }), + ...(bind?.inputNewline && { input_newline: bind.inputNewline }), + }, + }) } describe("run runtime boot", () => { @@ -112,14 +99,14 @@ describe("run runtime boot", () => { config({ leader: "ctrl+g", bindings: { - commandList: bindings("ctrl+p"), - variantCycle: bindings("ctrl+t", "alt+t"), - interrupt: bindings("ctrl+c"), - historyPrevious: bindings("k"), - historyNext: bindings("j"), - inputClear: bindings("ctrl+l"), - inputSubmit: bindings("ctrl+s"), - inputNewline: bindings("alt+return"), + commandList: ["ctrl+p"], + variantCycle: ["ctrl+t", "alt+t"], + interrupt: ["ctrl+c"], + historyPrevious: ["k"], + historyNext: ["j"], + inputClear: ["ctrl+l"], + inputSubmit: ["ctrl+s"], + inputNewline: ["alt+return"], }, }), ) diff --git a/packages/opencode/test/cli/tui/plugin-loader.test.ts b/packages/opencode/test/cli/tui/plugin-loader.test.ts index 493520fc00..ce62550e12 100644 --- a/packages/opencode/test/cli/tui/plugin-loader.test.ts +++ b/packages/opencode/test/cli/tui/plugin-loader.test.ts @@ -3,6 +3,7 @@ import fs from "fs/promises" import path from "path" import { pathToFileURL } from "url" import { createTestKeymap } from "@opentui/keymap/testing" +import type { TuiAttentionSoundPack } from "@opencode-ai/plugin/tui" import { tmpdir } from "../../fixture/fixture" import { createTuiPluginApi } from "../../fixture/tui-plugin" import { createTuiResolvedConfig, mockTuiRuntime } from "../../fixture/tui-runtime" @@ -854,6 +855,85 @@ test("plugin keymap proxy preserves real keymap receiver", async () => { } }) +test("auto-disposes plugin attention sound packs and resolves sound paths", async () => { + await using tmp = await tmpdir({ + init: async (dir) => { + const file = path.join(dir, "attention-soundpack-plugin.ts") + const spec = pathToFileURL(file).href + const absolute = path.join(dir, "sounds", "default.mp3") + const url = pathToFileURL(path.join(dir, "sounds", "error.mp3")).href + + await Bun.write( + file, + `export default { + id: "demo.attention.soundpack", + tui: async (api) => { + api.attention.soundboard.registerPack({ + id: "demo.pack", + sounds: { + default: ${JSON.stringify(absolute)}, + question: "sounds/question.mp3", + done: " sounds/done.mp3 ", + subagent_done: "sounds/subagent-done.mp3", + error: ${JSON.stringify(url)}, + nope: "sounds/nope.mp3", + permission: "", + }, + }) + }, +} +`, + ) + + return { spec } + }, + }) + + const packs: TuiAttentionSoundPack[] = [] + let dropped = 0 + const attention = { + soundboard: { + registerPack(pack: TuiAttentionSoundPack) { + packs.push(pack) + return () => { + dropped += 1 + } + }, + }, + } + const wait = spyOn(TuiConfig, "waitForDependencies").mockResolvedValue() + const cwd = spyOn(process, "cwd").mockImplementation(() => tmp.path) + + try { + await TuiPluginRuntime.init({ + api: createTuiPluginApi({ attention }), + config: createTuiResolvedConfig({ + plugin: [tmp.extra.spec], + plugin_origins: [{ spec: tmp.extra.spec, scope: "local", source: path.join(tmp.path, "tui.json") }], + }), + }) + + expect(packs).toEqual([ + { + id: "demo.pack", + sounds: { + default: path.join(tmp.path, "sounds", "default.mp3"), + question: path.join(tmp.path, "sounds", "question.mp3"), + done: path.join(tmp.path, "sounds", "done.mp3"), + subagent_done: path.join(tmp.path, "sounds", "subagent-done.mp3"), + error: path.join(tmp.path, "sounds", "error.mp3"), + }, + }, + ]) + expect(dropped).toBe(0) + } finally { + await TuiPluginRuntime.dispose() + expect(dropped).toBe(1) + cwd.mockRestore() + wait.mockRestore() + } +}) + test("auto-disposes plugin keymap transformers", async () => { await using tmp = await tmpdir({ init: async (dir) => { diff --git a/packages/opencode/test/config/tui.test.ts b/packages/opencode/test/config/tui.test.ts index db04568573..30c5a65fbd 100644 --- a/packages/opencode/test/config/tui.test.ts +++ b/packages/opencode/test/config/tui.test.ts @@ -1,113 +1,100 @@ -import { afterEach, beforeEach, expect, test } from "bun:test" +import { expect } from "bun:test" import path from "path" -import fs from "fs/promises" -import { provideTestInstance, tmpdir } from "../fixture/fixture" -import { InstanceRuntime } from "@/project/instance-runtime" -import { TuiConfig } from "../../src/cli/cmd/tui/config/tui" -import { Config } from "@/config/config" -import { Global } from "@opencode-ai/core/global" -import { Filesystem } from "@/util/filesystem" -import { AppRuntime } from "../../src/effect/app-runtime" +import { pathToFileURL } from "url" import { Effect, Layer } from "effect" -import { CurrentWorkingDirectory } from "@/cli/cmd/tui/config/cwd" +import { AppFileSystem } from "@opencode-ai/core/filesystem" +import { Global } from "@opencode-ai/core/global" +import { Config } from "@/config/config" import { ConfigPlugin } from "@/config/plugin" +import { CurrentWorkingDirectory } from "@/cli/cmd/tui/config/cwd" +import { TuiConfig } from "../../src/cli/cmd/tui/config/tui" +import { TestInstance } from "../fixture/fixture" +import { testEffect } from "../lib/effect" -const wintest = process.platform === "win32" ? test : test.skip -const clear = async (wait = false) => { - await AppRuntime.runPromise(Config.Service.use((svc) => svc.invalidate())) - if (wait) await InstanceRuntime.disposeAllInstances() -} -const load = () => AppRuntime.runPromise(Config.Service.use((svc) => svc.get())) +const it = testEffect(Layer.mergeAll(Config.defaultLayer, AppFileSystem.defaultLayer)) +const winIt = process.platform === "win32" ? it.instance : it.instance.skip -beforeEach(async () => { - await clear(true) -}) +const globalConfigFiles = ["opencode.json", "opencode.jsonc", "tui.json", "tui.jsonc"].map((file) => + path.join(Global.Path.config, file), +) -const getTuiConfig = async (directory: string) => - Effect.runPromise( - TuiConfig.Service.use((svc) => svc.get()).pipe( - Effect.provide(TuiConfig.defaultLayer.pipe(Layer.provide(Layer.succeed(CurrentWorkingDirectory, directory)))), - ), - ) - -async function withPlatform(platform: typeof process.platform, fn: () => Promise) { - const original = Object.getOwnPropertyDescriptor(process, "platform") - Object.defineProperty(process, "platform", { - ...original, - value: platform, - }) - try { - return await fn() - } finally { - if (original) Object.defineProperty(process, "platform", original) - } -} - -afterEach(async () => { +const cleanState = Effect.gen(function* () { + const fs = yield* AppFileSystem.Service delete process.env.OPENCODE_CONFIG delete process.env.OPENCODE_TUI_CONFIG - await fs.rm(path.join(Global.Path.config, "opencode.json"), { force: true }).catch(() => {}) - await fs.rm(path.join(Global.Path.config, "opencode.jsonc"), { force: true }).catch(() => {}) - await fs.rm(path.join(Global.Path.config, "tui.json"), { force: true }).catch(() => {}) - await fs.rm(path.join(Global.Path.config, "tui.jsonc"), { force: true }).catch(() => {}) - await clear(true) + yield* Effect.forEach(globalConfigFiles, (file) => fs.remove(file, { force: true }).pipe(Effect.ignore), { + discard: true, + }) }) -test("keeps server and tui plugin merge semantics aligned", async () => { - await using tmp = await tmpdir({ - init: async (dir) => { - const local = path.join(dir, ".opencode") - await fs.mkdir(local, { recursive: true }) +const withCleanState = (self: Effect.Effect) => + Effect.acquireUseRelease( + cleanState, + () => self, + () => cleanState, + ) - await Bun.write( - path.join(Global.Path.config, "opencode.json"), - JSON.stringify( - { - plugin: [["shared-plugin@1.0.0", { source: "global" }], "global-only@1.0.0"], - }, - null, - 2, - ), - ) - await Bun.write( - path.join(Global.Path.config, "tui.json"), - JSON.stringify( - { - plugin: [["shared-plugin@1.0.0", { source: "global" }], "global-only@1.0.0"], - }, - null, - 2, - ), - ) +const withEnv = (name: string, value: string | undefined, self: Effect.Effect) => + Effect.acquireUseRelease( + Effect.sync(() => { + const previous = process.env[name] + if (value === undefined) delete process.env[name] + else process.env[name] = value + return previous + }), + () => self, + (previous) => + Effect.sync(() => { + if (previous === undefined) delete process.env[name] + else process.env[name] = previous + }), + ) - await Bun.write( - path.join(local, "opencode.json"), - JSON.stringify( - { - plugin: [["shared-plugin@2.0.0", { source: "local" }], "local-only@1.0.0"], - }, - null, - 2, - ), - ) - await Bun.write( - path.join(local, "tui.json"), - JSON.stringify( - { - plugin: [["shared-plugin@2.0.0", { source: "local" }], "local-only@1.0.0"], - }, - null, - 2, - ), - ) - }, - }) +const withPlatform = (platform: typeof process.platform, self: Effect.Effect) => + Effect.acquireUseRelease( + Effect.sync(() => { + const original = Object.getOwnPropertyDescriptor(process, "platform") + Object.defineProperty(process, "platform", { + ...original, + value: platform, + }) + return original + }), + () => self, + (original) => + Effect.sync(() => { + if (original) Object.defineProperty(process, "platform", original) + }), + ) - await provideTestInstance({ - directory: tmp.path, - fn: async () => { - const server = await load() - const tui = await getTuiConfig(tmp.path) +const getTuiConfig = (directory: string) => + TuiConfig.Service.use((svc) => svc.get()).pipe( + Effect.provide(TuiConfig.defaultLayer.pipe(Layer.provide(Layer.succeed(CurrentWorkingDirectory, directory)))), + ) + +it.instance("keeps server and tui plugin merge semantics aligned", () => + withCleanState( + Effect.gen(function* () { + const fs = yield* AppFileSystem.Service + const test = yield* TestInstance + const local = path.join(test.directory, ".opencode") + yield* fs.makeDirectory(local, { recursive: true }) + + yield* fs.writeJson(path.join(Global.Path.config, "opencode.json"), { + plugin: [["shared-plugin@1.0.0", { source: "global" }], "global-only@1.0.0"], + }) + yield* fs.writeJson(path.join(Global.Path.config, "tui.json"), { + plugin: [["shared-plugin@1.0.0", { source: "global" }], "global-only@1.0.0"], + }) + yield* fs.writeJson(path.join(local, "opencode.json"), { + plugin: [["shared-plugin@2.0.0", { source: "local" }], "local-only@1.0.0"], + }) + yield* fs.writeJson(path.join(local, "tui.json"), { + plugin: [["shared-plugin@2.0.0", { source: "local" }], "local-only@1.0.0"], + }) + + const server = yield* Config.Service.use((svc) => svc.get()) + const tui = yield* getTuiConfig(test.directory) const serverPlugins = (server.plugin ?? []).map((item) => ConfigPlugin.pluginSpecifier(item)) const tuiPlugins = (tui.plugin ?? []).map((item) => ConfigPlugin.pluginSpecifier(item)) @@ -120,186 +107,228 @@ test("keeps server and tui plugin merge semantics aligned", async () => { expect(serverOrigins.map((item) => ConfigPlugin.pluginSpecifier(item.spec))).toEqual(serverPlugins) expect(tuiOrigins.map((item) => ConfigPlugin.pluginSpecifier(item.spec))).toEqual(tuiPlugins) expect(serverOrigins.map((item) => item.scope)).toEqual(tuiOrigins.map((item) => item.scope)) - }, - }) -}) + }), + ), +) -test("loads tui config with the same precedence order as server config paths", async () => { - await using tmp = await tmpdir({ - init: async (dir) => { - await Bun.write(path.join(Global.Path.config, "tui.json"), JSON.stringify({ theme: "global" }, null, 2)) - await Bun.write(path.join(dir, "tui.json"), JSON.stringify({ theme: "project" }, null, 2)) - await fs.mkdir(path.join(dir, ".opencode"), { recursive: true }) - await Bun.write( - path.join(dir, ".opencode", "tui.json"), +it.instance("loads tui config with the same precedence order as server config paths", () => + withCleanState( + Effect.gen(function* () { + const fs = yield* AppFileSystem.Service + const test = yield* TestInstance + yield* fs.writeJson(path.join(Global.Path.config, "tui.json"), { theme: "global" }) + yield* fs.writeJson(path.join(test.directory, "tui.json"), { theme: "project" }) + yield* fs.writeWithDirs( + path.join(test.directory, ".opencode", "tui.json"), JSON.stringify({ theme: "local", diff_style: "stacked" }, null, 2), ) - }, - }) - const config = await getTuiConfig(tmp.path) - expect(config.theme).toBe("local") - expect(config.diff_style).toBe("stacked") -}) + const config = yield* getTuiConfig(test.directory) + expect(config.theme).toBe("local") + expect(config.diff_style).toBe("stacked") + }), + ), +) -test("migrates tui-specific keys from opencode.json when tui.json does not exist", async () => { - await using tmp = await tmpdir({ - init: async (dir) => { - await Bun.write( - path.join(dir, "opencode.json"), - JSON.stringify( - { - theme: "migrated-theme", - tui: { scroll_speed: 5 }, - keybinds: { app_exit: "ctrl+q" }, +it.instance("resolves attention config defaults and overrides", () => + withCleanState( + Effect.gen(function* () { + const fs = yield* AppFileSystem.Service + const test = yield* TestInstance + + expect((yield* getTuiConfig(test.directory)).attention).toEqual({ + enabled: false, + notifications: true, + sound: true, + volume: 0.4, + sound_pack: "opencode.default", + sounds: {}, + }) + + yield* fs.writeJson(path.join(test.directory, "tui.json"), { + attention: { + enabled: false, + notifications: false, + sound: false, + volume: 0.7, + sound_pack: "acme.soft", + sounds: { + default: path.join(test.directory, "default.mp3"), + question: pathToFileURL(path.join(test.directory, "question.mp3")).href, + error: "./error.mp3", + subagent_done: "./subagent-done.mp3", }, - null, - 2, - ), - ) - }, - }) + }, + }) - const config = await getTuiConfig(tmp.path) - expect(config.theme).toBe("migrated-theme") - expect(config.scroll_speed).toBe(5) - expect(config.keybinds.get("app.exit")?.[0]?.key).toBe("ctrl+q") - const text = await Filesystem.readText(path.join(tmp.path, "tui.json")) - expect(JSON.parse(text)).toMatchObject({ - theme: "migrated-theme", - scroll_speed: 5, - }) - const server = JSON.parse(await Filesystem.readText(path.join(tmp.path, "opencode.json"))) - expect(server.theme).toBeUndefined() - expect(server.keybinds).toBeUndefined() - expect(server.tui).toBeUndefined() - expect(await Filesystem.exists(path.join(tmp.path, "opencode.json.tui-migration.bak"))).toBe(true) - expect(await Filesystem.exists(path.join(tmp.path, "tui.json"))).toBe(true) -}) + expect((yield* getTuiConfig(test.directory)).attention).toEqual({ + enabled: false, + notifications: false, + sound: false, + volume: 0.7, + sound_pack: "acme.soft", + sounds: { + default: path.join(test.directory, "default.mp3"), + question: path.join(test.directory, "question.mp3"), + error: path.join(test.directory, "error.mp3"), + subagent_done: path.join(test.directory, "subagent-done.mp3"), + }, + }) + }), + ), +) -test("migrates project legacy tui keys even when global tui.json already exists", async () => { - await using tmp = await tmpdir({ - init: async (dir) => { - await Bun.write(path.join(Global.Path.config, "tui.json"), JSON.stringify({ theme: "global" }, null, 2)) - await Bun.write( - path.join(dir, "opencode.json"), - JSON.stringify( - { - theme: "project-migrated", - tui: { scroll_speed: 2 }, - }, - null, - 2, - ), - ) - }, - }) +it.instance("migrates tui-specific keys from opencode.json when tui.json does not exist", () => + withCleanState( + Effect.gen(function* () { + const fs = yield* AppFileSystem.Service + const test = yield* TestInstance + const source = path.join(test.directory, "opencode.json") + yield* fs.writeJson(source, { + theme: "migrated-theme", + tui: { scroll_speed: 5 }, + keybinds: { app_exit: "ctrl+q" }, + }) - const config = await getTuiConfig(tmp.path) - expect(config.theme).toBe("project-migrated") - expect(config.scroll_speed).toBe(2) - expect(await Filesystem.exists(path.join(tmp.path, "tui.json"))).toBe(true) + const config = yield* getTuiConfig(test.directory) + expect(config.theme).toBe("migrated-theme") + expect(config.scroll_speed).toBe(5) + expect(config.keybinds.get("app.exit")?.[0]?.key).toBe("ctrl+q") + expect(JSON.parse(yield* fs.readFileString(path.join(test.directory, "tui.json")))).toMatchObject({ + theme: "migrated-theme", + scroll_speed: 5, + }) + const server = JSON.parse(yield* fs.readFileString(source)) + expect(server.theme).toBeUndefined() + expect(server.keybinds).toBeUndefined() + expect(server.tui).toBeUndefined() + expect(yield* fs.existsSafe(path.join(test.directory, "opencode.json.tui-migration.bak"))).toBe(true) + expect(yield* fs.existsSafe(path.join(test.directory, "tui.json"))).toBe(true) + }), + ), +) - const server = JSON.parse(await Filesystem.readText(path.join(tmp.path, "opencode.json"))) - expect(server.theme).toBeUndefined() - expect(server.tui).toBeUndefined() -}) +it.instance("migrates project legacy tui keys even when global tui.json already exists", () => + withCleanState( + Effect.gen(function* () { + const fs = yield* AppFileSystem.Service + const test = yield* TestInstance + yield* fs.writeJson(path.join(Global.Path.config, "tui.json"), { theme: "global" }) + yield* fs.writeJson(path.join(test.directory, "opencode.json"), { + theme: "project-migrated", + tui: { scroll_speed: 2 }, + }) -test("drops unknown legacy tui keys during migration", async () => { - await using tmp = await tmpdir({ - init: async (dir) => { - await Bun.write( - path.join(dir, "opencode.json"), - JSON.stringify( - { - theme: "migrated-theme", - tui: { scroll_speed: 2, foo: 1 }, - }, - null, - 2, - ), - ) - }, - }) + const config = yield* getTuiConfig(test.directory) + expect(config.theme).toBe("project-migrated") + expect(config.scroll_speed).toBe(2) + expect(yield* fs.existsSafe(path.join(test.directory, "tui.json"))).toBe(true) - const config = await getTuiConfig(tmp.path) - expect(config.theme).toBe("migrated-theme") - expect(config.scroll_speed).toBe(2) + const server = JSON.parse(yield* fs.readFileString(path.join(test.directory, "opencode.json"))) + expect(server.theme).toBeUndefined() + expect(server.tui).toBeUndefined() + }), + ), +) - const text = await Filesystem.readText(path.join(tmp.path, "tui.json")) - const migrated = JSON.parse(text) - expect(migrated.scroll_speed).toBe(2) - expect(migrated.foo).toBeUndefined() -}) +it.instance("drops unknown legacy tui keys during migration", () => + withCleanState( + Effect.gen(function* () { + const fs = yield* AppFileSystem.Service + const test = yield* TestInstance + yield* fs.writeJson(path.join(test.directory, "opencode.json"), { + theme: "migrated-theme", + tui: { scroll_speed: 2, foo: 1 }, + }) -test("skips migration when opencode.jsonc is syntactically invalid", async () => { - await using tmp = await tmpdir({ - init: async (dir) => { - await Bun.write( - path.join(dir, "opencode.jsonc"), + const config = yield* getTuiConfig(test.directory) + expect(config.theme).toBe("migrated-theme") + expect(config.scroll_speed).toBe(2) + + const migrated = JSON.parse(yield* fs.readFileString(path.join(test.directory, "tui.json"))) + expect(migrated.scroll_speed).toBe(2) + expect(migrated.foo).toBeUndefined() + }), + ), +) + +it.instance("skips migration when opencode.jsonc is syntactically invalid", () => + withCleanState( + Effect.gen(function* () { + const fs = yield* AppFileSystem.Service + const test = yield* TestInstance + yield* fs.writeFileString( + path.join(test.directory, "opencode.jsonc"), `{ "theme": "broken-theme", "tui": { "scroll_speed": 2 } "username": "still-broken" }`, ) - }, - }) - const config = await getTuiConfig(tmp.path) - expect(config.theme).toBeUndefined() - expect(config.scroll_speed).toBeUndefined() - expect(await Filesystem.exists(path.join(tmp.path, "tui.json"))).toBe(false) - expect(await Filesystem.exists(path.join(tmp.path, "opencode.jsonc.tui-migration.bak"))).toBe(false) - const source = await Filesystem.readText(path.join(tmp.path, "opencode.jsonc")) - expect(source).toContain('"theme": "broken-theme"') - expect(source).toContain('"tui": { "scroll_speed": 2 }') -}) + const config = yield* getTuiConfig(test.directory) + expect(config.theme).toBeUndefined() + expect(config.scroll_speed).toBeUndefined() + expect(yield* fs.existsSafe(path.join(test.directory, "tui.json"))).toBe(false) + expect(yield* fs.existsSafe(path.join(test.directory, "opencode.jsonc.tui-migration.bak"))).toBe(false) + const source = yield* fs.readFileString(path.join(test.directory, "opencode.jsonc")) + expect(source).toContain('"theme": "broken-theme"') + expect(source).toContain('"tui": { "scroll_speed": 2 }') + }), + ), +) -test("skips migration when tui.json already exists", async () => { - await using tmp = await tmpdir({ - init: async (dir) => { - await Bun.write(path.join(dir, "opencode.json"), JSON.stringify({ theme: "legacy" }, null, 2)) - await Bun.write(path.join(dir, "tui.json"), JSON.stringify({ diff_style: "stacked" }, null, 2)) - }, - }) +it.instance("skips migration when tui.json already exists", () => + withCleanState( + Effect.gen(function* () { + const fs = yield* AppFileSystem.Service + const test = yield* TestInstance + yield* fs.writeJson(path.join(test.directory, "opencode.json"), { theme: "legacy" }) + yield* fs.writeJson(path.join(test.directory, "tui.json"), { diff_style: "stacked" }) - const config = await getTuiConfig(tmp.path) - expect(config.diff_style).toBe("stacked") - expect(config.theme).toBeUndefined() + const config = yield* getTuiConfig(test.directory) + expect(config.diff_style).toBe("stacked") + expect(config.theme).toBeUndefined() - const server = JSON.parse(await Filesystem.readText(path.join(tmp.path, "opencode.json"))) - expect(server.theme).toBe("legacy") - expect(await Filesystem.exists(path.join(tmp.path, "opencode.json.tui-migration.bak"))).toBe(false) -}) + const server = JSON.parse(yield* fs.readFileString(path.join(test.directory, "opencode.json"))) + expect(server.theme).toBe("legacy") + expect(yield* fs.existsSafe(path.join(test.directory, "opencode.json.tui-migration.bak"))).toBe(false) + }), + ), +) -test("continues loading tui config when legacy source cannot be stripped", async () => { - await using tmp = await tmpdir({ - init: async (dir) => { - await Bun.write(path.join(dir, "opencode.json"), JSON.stringify({ theme: "readonly-theme" }, null, 2)) - }, - }) +it.instance("continues loading tui config when legacy source cannot be stripped", () => + withCleanState( + Effect.gen(function* () { + const fs = yield* AppFileSystem.Service + const test = yield* TestInstance + const source = path.join(test.directory, "opencode.json") + yield* fs.writeJson(source, { theme: "readonly-theme" }) - const source = path.join(tmp.path, "opencode.json") - await fs.chmod(source, 0o444) + yield* Effect.acquireUseRelease( + fs.chmod(source, 0o444), + () => + Effect.gen(function* () { + const config = yield* getTuiConfig(test.directory) + expect(config.theme).toBe("readonly-theme") + expect(yield* fs.existsSafe(path.join(test.directory, "tui.json"))).toBe(true) - try { - const config = await getTuiConfig(tmp.path) - expect(config.theme).toBe("readonly-theme") - expect(await Filesystem.exists(path.join(tmp.path, "tui.json"))).toBe(true) + const server = JSON.parse(yield* fs.readFileString(source)) + expect(server.theme).toBe("readonly-theme") + }), + () => fs.chmod(source, 0o644).pipe(Effect.ignore), + ) + }), + ), +) - const server = JSON.parse(await Filesystem.readText(source)) - expect(server.theme).toBe("readonly-theme") - } finally { - await fs.chmod(source, 0o644) - } -}) - -test("migration backup preserves JSONC comments", async () => { - await using tmp = await tmpdir({ - init: async (dir) => { - await Bun.write( - path.join(dir, "opencode.jsonc"), +it.instance("migration backup preserves JSONC comments", () => + withCleanState( + Effect.gen(function* () { + const fs = yield* AppFileSystem.Service + const test = yield* TestInstance + yield* fs.writeFileString( + path.join(test.directory, "opencode.jsonc"), `{ // top-level comment "theme": "jsonc-theme", @@ -309,498 +338,520 @@ test("migration backup preserves JSONC comments", async () => { } }`, ) - }, - }) - await getTuiConfig(tmp.path) - const backup = await Filesystem.readText(path.join(tmp.path, "opencode.jsonc.tui-migration.bak")) - expect(backup).toContain("// top-level comment") - expect(backup).toContain("// nested comment") - expect(backup).toContain('"theme": "jsonc-theme"') - expect(backup).toContain('"scroll_speed": 1.5') -}) + yield* getTuiConfig(test.directory) + const backup = yield* fs.readFileString(path.join(test.directory, "opencode.jsonc.tui-migration.bak")) + expect(backup).toContain("// top-level comment") + expect(backup).toContain("// nested comment") + expect(backup).toContain('"theme": "jsonc-theme"') + expect(backup).toContain('"scroll_speed": 1.5') + }), + ), +) -test("migrates legacy tui keys across multiple opencode.json levels", async () => { - await using tmp = await tmpdir({ - init: async (dir) => { - const nested = path.join(dir, "apps", "client") - await fs.mkdir(nested, { recursive: true }) - await Bun.write(path.join(dir, "opencode.json"), JSON.stringify({ theme: "root-theme" }, null, 2)) - await Bun.write(path.join(nested, "opencode.json"), JSON.stringify({ theme: "nested-theme" }, null, 2)) - }, - }) - const config = await getTuiConfig(path.join(tmp.path, "apps", "client")) - expect(config.theme).toBe("nested-theme") - expect(await Filesystem.exists(path.join(tmp.path, "tui.json"))).toBe(true) - expect(await Filesystem.exists(path.join(tmp.path, "apps", "client", "tui.json"))).toBe(true) -}) +it.instance("migrates legacy tui keys across multiple opencode.json levels", () => + withCleanState( + Effect.gen(function* () { + const fs = yield* AppFileSystem.Service + const test = yield* TestInstance + const nested = path.join(test.directory, "apps", "client") + yield* fs.makeDirectory(nested, { recursive: true }) + yield* fs.writeJson(path.join(test.directory, "opencode.json"), { theme: "root-theme" }) + yield* fs.writeJson(path.join(nested, "opencode.json"), { theme: "nested-theme" }) -test("flattens nested tui key inside tui.json", async () => { - await using tmp = await tmpdir({ - init: async (dir) => { - await Bun.write( - path.join(dir, "tui.json"), - JSON.stringify({ - theme: "outer", - tui: { scroll_speed: 3, diff_style: "stacked" }, + const config = yield* getTuiConfig(nested) + expect(config.theme).toBe("nested-theme") + expect(yield* fs.existsSafe(path.join(test.directory, "tui.json"))).toBe(true) + expect(yield* fs.existsSafe(path.join(nested, "tui.json"))).toBe(true) + }), + ), +) + +it.instance("flattens nested tui key inside tui.json", () => + withCleanState( + Effect.gen(function* () { + const fs = yield* AppFileSystem.Service + const test = yield* TestInstance + yield* fs.writeJson(path.join(test.directory, "tui.json"), { + theme: "outer", + tui: { scroll_speed: 3, diff_style: "stacked" }, + }) + + const config = yield* getTuiConfig(test.directory) + expect(config.scroll_speed).toBe(3) + expect(config.diff_style).toBe("stacked") + expect(config.theme).toBe("outer") + }), + ), +) + +it.instance("top-level keys in tui.json take precedence over nested tui key", () => + withCleanState( + Effect.gen(function* () { + const fs = yield* AppFileSystem.Service + const test = yield* TestInstance + yield* fs.writeJson(path.join(test.directory, "tui.json"), { + diff_style: "auto", + tui: { diff_style: "stacked", scroll_speed: 2 }, + }) + + const config = yield* getTuiConfig(test.directory) + expect(config.diff_style).toBe("auto") + expect(config.scroll_speed).toBe(2) + }), + ), +) + +it.instance("project config takes precedence over OPENCODE_TUI_CONFIG (matches OPENCODE_CONFIG)", () => + withCleanState( + Effect.gen(function* () { + const fs = yield* AppFileSystem.Service + const test = yield* TestInstance + const custom = path.join(test.directory, "custom-tui.json") + yield* fs.writeJson(path.join(test.directory, "tui.json"), { theme: "project", diff_style: "auto" }) + yield* fs.writeJson(custom, { theme: "custom", diff_style: "stacked" }) + + yield* withEnv( + "OPENCODE_TUI_CONFIG", + custom, + Effect.gen(function* () { + const config = yield* getTuiConfig(test.directory) + expect(config.theme).toBe("project") + expect(config.diff_style).toBe("auto") }), ) - }, - }) + }), + ), +) - const config = await getTuiConfig(tmp.path) - expect(config.scroll_speed).toBe(3) - expect(config.diff_style).toBe("stacked") - // top-level keys take precedence over nested tui keys - expect(config.theme).toBe("outer") -}) +it.instance("merges keybind overrides across precedence layers", () => + withCleanState( + Effect.gen(function* () { + const fs = yield* AppFileSystem.Service + const test = yield* TestInstance + yield* fs.writeJson(path.join(Global.Path.config, "tui.json"), { keybinds: { app_exit: "ctrl+q" } }) + yield* fs.writeJson(path.join(test.directory, "tui.json"), { keybinds: { theme_list: "ctrl+k" } }) -test("top-level keys in tui.json take precedence over nested tui key", async () => { - await using tmp = await tmpdir({ - init: async (dir) => { - await Bun.write( - path.join(dir, "tui.json"), - JSON.stringify({ - diff_style: "auto", - tui: { diff_style: "stacked", scroll_speed: 2 }, - }), + const config = yield* getTuiConfig(test.directory) + expect(config.keybinds.get("app.exit")?.[0]?.key).toBe("ctrl+q") + expect(config.keybinds.get("theme.switch")?.[0]?.key).toBe("ctrl+k") + }), + ), +) + +it.instance("resolves keybind lookup from canonical keybinds", () => + withCleanState( + Effect.gen(function* () { + const fs = yield* AppFileSystem.Service + const test = yield* TestInstance + yield* fs.writeJson(path.join(test.directory, "tui.json"), { + keybinds: { + leader: { key: { name: "g", ctrl: true } }, + command_list: "alt+p", + which_key_toggle: "alt+k", + editor_open: "ctrl+e", + "prompt.autocomplete.next": "ctrl+j", + "dialog.mcp.toggle": "ctrl+t", + model_favorite_toggle: "ctrl+f", + "dialog.plugins.install": "shift+i", + }, + leader_timeout: 1234, + }) + + const config = yield* getTuiConfig(test.directory) + expect(config.keybinds.get("leader")?.[0]?.key).toEqual({ name: "g", ctrl: true }) + expect(config.leader_timeout).toBe(1234) + expect(config.keybinds.get("command.palette.show")?.[0]?.key).toBe("alt+p") + expect(config.keybinds.get("session.new")?.[0]?.key).toBe("n") + expect(config.keybinds.get("which-key.toggle")?.[0]?.key).toBe("alt+k") + expect(config.keybinds.get("which-key.layout.toggle")?.[0]?.key).toBe("ctrl+alt+shift+k") + expect(config.keybinds.get("which-key.pending.toggle")?.[0]?.key).toBe("ctrl+alt+shift+p") + expect(config.keybinds.get("which-key.group.next")?.[0]?.key).toBe("ctrl+alt+right,ctrl+alt+]") + expect((config.keybinds.get("which-key.toggle")?.[0] as { desc?: unknown } | undefined)?.desc).toBe( + "Toggle which-key panel", ) - }, - }) + expect(config.keybinds.get("prompt.editor")?.[0]?.key).toBe("ctrl+e") + expect(config.keybinds.get("prompt.autocomplete.next")?.[0]?.key).toBe("ctrl+j") + expect(config.keybinds.get("dialog.mcp.toggle")?.[0]?.key).toBe("ctrl+t") + expect(config.keybinds.get("model.dialog.favorite")?.[0]?.key).toBe("ctrl+f") + expect(config.keybinds.get("dialog.plugins.install")?.[0]?.key).toBe("shift+i") + expect( + config.keybinds.gather("plugins.dialog", ["dialog.plugins.install"]).map((binding) => binding.cmd), + ).toEqual(["dialog.plugins.install"]) + }), + ), +) - const config = await getTuiConfig(tmp.path) - expect(config.diff_style).toBe("auto") - expect(config.scroll_speed).toBe(2) -}) +it.instance("keybinds accept OpenTUI binding specs", () => + withCleanState( + Effect.gen(function* () { + const fs = yield* AppFileSystem.Service + const test = yield* TestInstance + yield* fs.writeJson(path.join(test.directory, "tui.json"), { + keybinds: { + command_list: [{ key: "alt+p", preventDefault: false }], + editor_open: { key: { name: "e", ctrl: true }, group: "Explicit" }, + "prompt.autocomplete.next": false, + plugin_manager: "ctrl+shift+p", + }, + }) -test("project config takes precedence over OPENCODE_TUI_CONFIG (matches OPENCODE_CONFIG)", async () => { - await using tmp = await tmpdir({ - init: async (dir) => { - await Bun.write(path.join(dir, "tui.json"), JSON.stringify({ theme: "project", diff_style: "auto" })) - const custom = path.join(dir, "custom-tui.json") - await Bun.write(custom, JSON.stringify({ theme: "custom", diff_style: "stacked" })) - process.env.OPENCODE_TUI_CONFIG = custom - }, - }) + const config = yield* getTuiConfig(test.directory) + expect(config.keybinds.get("command.palette.show")).toEqual([ + { key: "alt+p", cmd: "command.palette.show", preventDefault: false, desc: "List available commands" }, + ]) + expect(config.keybinds.get("prompt.editor")?.[0]).toMatchObject({ + key: { name: "e", ctrl: true }, + cmd: "prompt.editor", + group: "Explicit", + }) + expect(config.keybinds.get("prompt.autocomplete.next")).toEqual([]) + expect(config.keybinds.get("plugins.list")?.[0]?.key).toBe("ctrl+shift+p") + }), + ), +) - const config = await getTuiConfig(tmp.path) - // project tui.json overrides the custom path, same as server config precedence - expect(config.theme).toBe("project") - // project also set diff_style, so that wins - expect(config.diff_style).toBe("auto") -}) +winIt("defaults Ctrl+Z to input undo on Windows", () => + withCleanState( + Effect.gen(function* () { + const test = yield* TestInstance + const config = yield* getTuiConfig(test.directory) + expect(config.keybinds.get("terminal.suspend")).toEqual([]) + expect(config.keybinds.get("input.undo")?.[0]?.key).toBe("ctrl+z,ctrl+-,super+z") + }), + ), +) -test("merges keybind overrides across precedence layers", async () => { - await using tmp = await tmpdir({ - init: async (dir) => { - await Bun.write(path.join(Global.Path.config, "tui.json"), JSON.stringify({ keybinds: { app_exit: "ctrl+q" } })) - await Bun.write(path.join(dir, "tui.json"), JSON.stringify({ keybinds: { theme_list: "ctrl+k" } })) - }, - }) - const config = await getTuiConfig(tmp.path) - expect(config.keybinds.get("app.exit")?.[0]?.key).toBe("ctrl+q") - expect(config.keybinds.get("theme.switch")?.[0]?.key).toBe("ctrl+k") -}) +winIt("keeps explicit input undo overrides on Windows", () => + withCleanState( + Effect.gen(function* () { + const fs = yield* AppFileSystem.Service + const test = yield* TestInstance + yield* fs.writeJson(path.join(test.directory, "tui.json"), { keybinds: { input_undo: "ctrl+y" } }) -test("resolves keybind lookup from canonical keybinds", async () => { - await using tmp = await tmpdir({ - init: async (dir) => { - await Bun.write( - path.join(dir, "tui.json"), - JSON.stringify({ + const config = yield* getTuiConfig(test.directory) + expect(config.keybinds.get("terminal.suspend")).toEqual([]) + expect(config.keybinds.get("input.undo")?.[0]?.key).toBe("ctrl+y") + }), + ), +) + +winIt("ignores terminal suspend bindings on Windows", () => + withCleanState( + Effect.gen(function* () { + const fs = yield* AppFileSystem.Service + const test = yield* TestInstance + yield* fs.writeJson(path.join(test.directory, "tui.json"), { keybinds: { terminal_suspend: "alt+z" } }) + + const config = yield* getTuiConfig(test.directory) + expect(config.keybinds.get("terminal.suspend")).toEqual([]) + expect(config.keybinds.get("input.undo")?.[0]?.key).toBe("ctrl+z,ctrl+-,super+z") + }), + ), +) + +it.instance("applies Windows keybind defaults", () => + withCleanState( + withPlatform( + "win32", + Effect.gen(function* () { + const test = yield* TestInstance + const config = yield* getTuiConfig(test.directory) + expect(config.keybinds.get("terminal.suspend")).toEqual([]) + expect(config.keybinds.get("input.undo")?.[0]?.key).toBe("ctrl+z,ctrl+-,super+z") + }), + ), + ), +) + +it.instance("ignores explicit keybind terminal suspend binding on Windows", () => + withCleanState( + withPlatform( + "win32", + Effect.gen(function* () { + const fs = yield* AppFileSystem.Service + const test = yield* TestInstance + yield* fs.writeJson(path.join(test.directory, "tui.json"), { keybinds: { - leader: { key: { name: "g", ctrl: true } }, - command_list: "alt+p", - which_key_toggle: "alt+k", - editor_open: "ctrl+e", - "prompt.autocomplete.next": "ctrl+j", - "dialog.mcp.toggle": "ctrl+t", - model_favorite_toggle: "ctrl+f", - "dialog.plugins.install": "shift+i", + terminal_suspend: "alt+z", }, - leader_timeout: 1234, - }), - ) - }, - }) + }) - const config = await getTuiConfig(tmp.path) - expect(config.keybinds.get("leader")?.[0]?.key).toEqual({ name: "g", ctrl: true }) - expect(config.leader_timeout).toBe(1234) - expect(config.keybinds.get("command.palette.show")?.[0]?.key).toBe("alt+p") - expect(config.keybinds.get("session.new")?.[0]?.key).toBe("n") - expect(config.keybinds.get("which-key.toggle")?.[0]?.key).toBe("alt+k") - expect(config.keybinds.get("which-key.layout.toggle")?.[0]?.key).toBe("ctrl+alt+shift+k") - expect(config.keybinds.get("which-key.pending.toggle")?.[0]?.key).toBe("ctrl+alt+shift+p") - expect(config.keybinds.get("which-key.group.next")?.[0]?.key).toBe("ctrl+alt+right,ctrl+alt+]") - expect((config.keybinds.get("which-key.toggle")?.[0] as { desc?: unknown } | undefined)?.desc).toBe( - "Toggle which-key panel", - ) - expect(config.keybinds.get("prompt.editor")?.[0]?.key).toBe("ctrl+e") - expect(config.keybinds.get("prompt.autocomplete.next")?.[0]?.key).toBe("ctrl+j") - expect(config.keybinds.get("dialog.mcp.toggle")?.[0]?.key).toBe("ctrl+t") - expect(config.keybinds.get("model.dialog.favorite")?.[0]?.key).toBe("ctrl+f") - expect(config.keybinds.get("dialog.plugins.install")?.[0]?.key).toBe("shift+i") - expect(config.keybinds.gather("plugins.dialog", ["dialog.plugins.install"]).map((binding) => binding.cmd)).toEqual([ - "dialog.plugins.install", - ]) -}) + const config = yield* getTuiConfig(test.directory) + expect(config.keybinds.get("terminal.suspend")).toEqual([]) + }), + ), + ), +) -test("keybinds accept OpenTUI binding specs", async () => { - await using tmp = await tmpdir({ - init: async (dir) => { - await Bun.write( - path.join(dir, "tui.json"), - JSON.stringify({ +it.instance("keeps explicit configured keybind input undo on Windows", () => + withCleanState( + withPlatform( + "win32", + Effect.gen(function* () { + const fs = yield* AppFileSystem.Service + const test = yield* TestInstance + yield* fs.writeJson(path.join(test.directory, "tui.json"), { keybinds: { - command_list: [{ key: "alt+p", preventDefault: false }], - editor_open: { key: { name: "e", ctrl: true }, group: "Explicit" }, - "prompt.autocomplete.next": false, - plugin_manager: "ctrl+shift+p", + input_undo: "ctrl+y", }, + }) + + const config = yield* getTuiConfig(test.directory) + expect(config.keybinds.get("input.undo")?.[0]?.key).toBe("ctrl+y") + }), + ), + ), +) + +it.instance("OPENCODE_TUI_CONFIG provides settings when no project config exists", () => + withCleanState( + Effect.gen(function* () { + const fs = yield* AppFileSystem.Service + const test = yield* TestInstance + const custom = path.join(test.directory, "custom-tui.json") + yield* fs.writeJson(custom, { theme: "from-env", diff_style: "stacked" }) + + yield* withEnv( + "OPENCODE_TUI_CONFIG", + custom, + Effect.gen(function* () { + const config = yield* getTuiConfig(test.directory) + expect(config.theme).toBe("from-env") + expect(config.diff_style).toBe("stacked") }), ) - }, - }) + }), + ), +) - const config = await getTuiConfig(tmp.path) - expect(config.keybinds.get("command.palette.show")).toEqual([ - { key: "alt+p", cmd: "command.palette.show", preventDefault: false, desc: "List available commands" }, - ]) - expect(config.keybinds.get("prompt.editor")?.[0]).toMatchObject({ - key: { name: "e", ctrl: true }, - cmd: "prompt.editor", - group: "Explicit", - }) - expect(config.keybinds.get("prompt.autocomplete.next")).toEqual([]) - expect(config.keybinds.get("plugins.list")?.[0]?.key).toBe("ctrl+shift+p") -}) +it.instance("does not derive tui path from OPENCODE_CONFIG", () => + withCleanState( + Effect.gen(function* () { + const fs = yield* AppFileSystem.Service + const test = yield* TestInstance + const customDir = path.join(test.directory, "custom") + yield* fs.makeDirectory(customDir, { recursive: true }) + yield* fs.writeJson(path.join(customDir, "opencode.json"), { model: "test/model" }) + yield* fs.writeJson(path.join(customDir, "tui.json"), { theme: "should-not-load" }) -wintest("defaults Ctrl+Z to input undo on Windows", async () => { - await using tmp = await tmpdir() - const config = await getTuiConfig(tmp.path) - expect(config.keybinds.get("terminal.suspend")).toEqual([]) - expect(config.keybinds.get("input.undo")?.[0]?.key).toBe("ctrl+z,ctrl+-,super+z") -}) + yield* withEnv( + "OPENCODE_CONFIG", + path.join(customDir, "opencode.json"), + Effect.gen(function* () { + const config = yield* getTuiConfig(test.directory) + expect(config.theme).toBeUndefined() + }), + ) + }), + ), +) -wintest("keeps explicit input undo overrides on Windows", async () => { - await using tmp = await tmpdir({ - init: async (dir) => { - await Bun.write(path.join(dir, "tui.json"), JSON.stringify({ keybinds: { input_undo: "ctrl+y" } })) - }, - }) - const config = await getTuiConfig(tmp.path) - expect(config.keybinds.get("terminal.suspend")).toEqual([]) - expect(config.keybinds.get("input.undo")?.[0]?.key).toBe("ctrl+y") -}) +it.instance("applies env and file substitutions in tui.json", () => + withCleanState( + withEnv( + "TUI_THEME_TEST", + "env-theme", + Effect.gen(function* () { + const fs = yield* AppFileSystem.Service + const test = yield* TestInstance + yield* fs.writeFileString(path.join(test.directory, "keybind.txt"), "ctrl+q") + yield* fs.writeJson(path.join(test.directory, "tui.json"), { + theme: "{env:TUI_THEME_TEST}", + keybinds: { app_exit: "{file:keybind.txt}" }, + }) -wintest("ignores terminal suspend bindings on Windows", async () => { - await using tmp = await tmpdir({ - init: async (dir) => { - await Bun.write(path.join(dir, "tui.json"), JSON.stringify({ keybinds: { terminal_suspend: "alt+z" } })) - }, - }) + const config = yield* getTuiConfig(test.directory) + expect(config.theme).toBe("env-theme") + expect(config.keybinds.get("app.exit")?.[0]?.key).toBe("ctrl+q") + }), + ), + ), +) - const config = await getTuiConfig(tmp.path) - expect(config.keybinds.get("terminal.suspend")).toEqual([]) - expect(config.keybinds.get("input.undo")?.[0]?.key).toBe("ctrl+z,ctrl+-,super+z") -}) - -test("applies Windows keybind defaults", async () => { - await withPlatform("win32", async () => { - await using tmp = await tmpdir() - - const config = await getTuiConfig(tmp.path) - expect(config.keybinds.get("terminal.suspend")).toEqual([]) - expect(config.keybinds.get("input.undo")?.[0]?.key).toBe("ctrl+z,ctrl+-,super+z") - }) -}) - -test("ignores explicit keybind terminal suspend binding on Windows", async () => { - await withPlatform("win32", async () => { - await using tmp = await tmpdir({ - init: async (dir) => { - await Bun.write( - path.join(dir, "tui.json"), - JSON.stringify({ - keybinds: { - terminal_suspend: "alt+z", - }, - }), - ) - }, - }) - - const config = await getTuiConfig(tmp.path) - expect(config.keybinds.get("terminal.suspend")).toEqual([]) - }) -}) - -test("keeps explicit configured keybind input undo on Windows", async () => { - await withPlatform("win32", async () => { - await using tmp = await tmpdir({ - init: async (dir) => { - await Bun.write( - path.join(dir, "tui.json"), - JSON.stringify({ - keybinds: { - input_undo: "ctrl+y", - }, - }), - ) - }, - }) - - const config = await getTuiConfig(tmp.path) - expect(config.keybinds.get("input.undo")?.[0]?.key).toBe("ctrl+y") - }) -}) - -test("OPENCODE_TUI_CONFIG provides settings when no project config exists", async () => { - await using tmp = await tmpdir({ - init: async (dir) => { - const custom = path.join(dir, "custom-tui.json") - await Bun.write(custom, JSON.stringify({ theme: "from-env", diff_style: "stacked" })) - process.env.OPENCODE_TUI_CONFIG = custom - }, - }) - const config = await getTuiConfig(tmp.path) - expect(config.theme).toBe("from-env") - expect(config.diff_style).toBe("stacked") -}) - -test("does not derive tui path from OPENCODE_CONFIG", async () => { - await using tmp = await tmpdir({ - init: async (dir) => { - const customDir = path.join(dir, "custom") - await fs.mkdir(customDir, { recursive: true }) - await Bun.write(path.join(customDir, "opencode.json"), JSON.stringify({ model: "test/model" })) - await Bun.write(path.join(customDir, "tui.json"), JSON.stringify({ theme: "should-not-load" })) - process.env.OPENCODE_CONFIG = path.join(customDir, "opencode.json") - }, - }) - const config = await getTuiConfig(tmp.path) - expect(config.theme).toBeUndefined() -}) - -test("applies env and file substitutions in tui.json", async () => { - const original = process.env.TUI_THEME_TEST - process.env.TUI_THEME_TEST = "env-theme" - try { - await using tmp = await tmpdir({ - init: async (dir) => { - await Bun.write(path.join(dir, "keybind.txt"), "ctrl+q") - await Bun.write( - path.join(dir, "tui.json"), - JSON.stringify({ - theme: "{env:TUI_THEME_TEST}", - keybinds: { app_exit: "{file:keybind.txt}" }, - }), - ) - }, - }) - const config = await getTuiConfig(tmp.path) - expect(config.theme).toBe("env-theme") - expect(config.keybinds.get("app.exit")?.[0]?.key).toBe("ctrl+q") - } finally { - if (original === undefined) delete process.env.TUI_THEME_TEST - else process.env.TUI_THEME_TEST = original - } -}) - -test("applies file substitutions when first identical token is in a commented line", async () => { - await using tmp = await tmpdir({ - init: async (dir) => { - await Bun.write(path.join(dir, "theme.txt"), "resolved-theme") - await Bun.write( - path.join(dir, "tui.jsonc"), +it.instance("applies file substitutions when first identical token is in a commented line", () => + withCleanState( + Effect.gen(function* () { + const fs = yield* AppFileSystem.Service + const test = yield* TestInstance + yield* fs.writeFileString(path.join(test.directory, "theme.txt"), "resolved-theme") + yield* fs.writeFileString( + path.join(test.directory, "tui.jsonc"), `{ // "theme": "{file:theme.txt}", "theme": "{file:theme.txt}" }`, ) - }, - }) - const config = await getTuiConfig(tmp.path) - expect(config.theme).toBe("resolved-theme") -}) -test("loads .opencode/tui.json", async () => { - await using tmp = await tmpdir({ - init: async (dir) => { - await fs.mkdir(path.join(dir, ".opencode"), { recursive: true }) - await Bun.write(path.join(dir, ".opencode", "tui.json"), JSON.stringify({ diff_style: "stacked" }, null, 2)) - }, - }) - const config = await getTuiConfig(tmp.path) - expect(config.diff_style).toBe("stacked") -}) + const config = yield* getTuiConfig(test.directory) + expect(config.theme).toBe("resolved-theme") + }), + ), +) -test("supports tuple plugin specs with options in tui.json", async () => { - await using tmp = await tmpdir({ - init: async (dir) => { - await Bun.write( - path.join(dir, "tui.json"), - JSON.stringify({ - plugin: [["acme-plugin@1.2.3", { enabled: true, label: "demo" }]], - }), +it.instance("loads .opencode/tui.json", () => + withCleanState( + Effect.gen(function* () { + const fs = yield* AppFileSystem.Service + const test = yield* TestInstance + yield* fs.writeWithDirs( + path.join(test.directory, ".opencode", "tui.json"), + JSON.stringify({ diff_style: "stacked" }, null, 2), ) - }, - }) - const config = await getTuiConfig(tmp.path) - expect(config.plugin).toEqual([["acme-plugin@1.2.3", { enabled: true, label: "demo" }]]) - expect(config.plugin_origins).toEqual([ - { - spec: ["acme-plugin@1.2.3", { enabled: true, label: "demo" }], - scope: "local", - source: path.join(tmp.path, "tui.json"), - }, - ]) -}) + const config = yield* getTuiConfig(test.directory) + expect(config.diff_style).toBe("stacked") + }), + ), +) -test("deduplicates tuple plugin specs by name with higher precedence winning", async () => { - await using tmp = await tmpdir({ - init: async (dir) => { - await Bun.write( - path.join(Global.Path.config, "tui.json"), - JSON.stringify({ - plugin: [["acme-plugin@1.0.0", { source: "global" }]], - }), - ) - await Bun.write( - path.join(dir, "tui.json"), - JSON.stringify({ - plugin: [ - ["acme-plugin@2.0.0", { source: "project" }], - ["second-plugin@3.0.0", { source: "project" }], - ], - }), - ) - }, - }) +it.instance("supports tuple plugin specs with options in tui.json", () => + withCleanState( + Effect.gen(function* () { + const fs = yield* AppFileSystem.Service + const test = yield* TestInstance + yield* fs.writeJson(path.join(test.directory, "tui.json"), { + plugin: [["acme-plugin@1.2.3", { enabled: true, label: "demo" }]], + }) - const config = await getTuiConfig(tmp.path) - expect(config.plugin).toEqual([ - ["acme-plugin@2.0.0", { source: "project" }], - ["second-plugin@3.0.0", { source: "project" }], - ]) - expect(config.plugin_origins).toEqual([ - { - spec: ["acme-plugin@2.0.0", { source: "project" }], - scope: "local", - source: path.join(tmp.path, "tui.json"), - }, - { - spec: ["second-plugin@3.0.0", { source: "project" }], - scope: "local", - source: path.join(tmp.path, "tui.json"), - }, - ]) -}) + const config = yield* getTuiConfig(test.directory) + expect(config.plugin).toEqual([["acme-plugin@1.2.3", { enabled: true, label: "demo" }]]) + expect(config.plugin_origins).toEqual([ + { + spec: ["acme-plugin@1.2.3", { enabled: true, label: "demo" }], + scope: "local", + source: path.join(test.directory, "tui.json"), + }, + ]) + }), + ), +) -test("tracks global and local plugin metadata in merged tui config", async () => { - await using tmp = await tmpdir({ - init: async (dir) => { - await Bun.write( - path.join(Global.Path.config, "tui.json"), - JSON.stringify({ - plugin: ["global-plugin@1.0.0"], - }), - ) - await Bun.write( - path.join(dir, "tui.json"), - JSON.stringify({ - plugin: ["local-plugin@2.0.0"], - }), - ) - }, - }) +it.instance("deduplicates tuple plugin specs by name with higher precedence winning", () => + withCleanState( + Effect.gen(function* () { + const fs = yield* AppFileSystem.Service + const test = yield* TestInstance + yield* fs.writeJson(path.join(Global.Path.config, "tui.json"), { + plugin: [["acme-plugin@1.0.0", { source: "global" }]], + }) + yield* fs.writeJson(path.join(test.directory, "tui.json"), { + plugin: [ + ["acme-plugin@2.0.0", { source: "project" }], + ["second-plugin@3.0.0", { source: "project" }], + ], + }) - const config = await getTuiConfig(tmp.path) - expect(config.plugin).toEqual(["global-plugin@1.0.0", "local-plugin@2.0.0"]) - expect(config.plugin_origins).toEqual([ - { - spec: "global-plugin@1.0.0", - scope: "global", - source: path.join(Global.Path.config, "tui.json"), - }, - { - spec: "local-plugin@2.0.0", - scope: "local", - source: path.join(tmp.path, "tui.json"), - }, - ]) -}) + const config = yield* getTuiConfig(test.directory) + expect(config.plugin).toEqual([ + ["acme-plugin@2.0.0", { source: "project" }], + ["second-plugin@3.0.0", { source: "project" }], + ]) + expect(config.plugin_origins).toEqual([ + { + spec: ["acme-plugin@2.0.0", { source: "project" }], + scope: "local", + source: path.join(test.directory, "tui.json"), + }, + { + spec: ["second-plugin@3.0.0", { source: "project" }], + scope: "local", + source: path.join(test.directory, "tui.json"), + }, + ]) + }), + ), +) -test("merges plugin_enabled flags across config layers", async () => { - await using tmp = await tmpdir({ - init: async (dir) => { - await Bun.write( - path.join(Global.Path.config, "tui.json"), - JSON.stringify({ - plugin_enabled: { - "internal:sidebar-context": false, - "demo.plugin": true, - }, - }), - ) - await Bun.write( - path.join(dir, "tui.json"), - JSON.stringify({ - plugin_enabled: { - "demo.plugin": false, - "local.plugin": true, - }, - }), - ) - }, - }) +it.instance("tracks global and local plugin metadata in merged tui config", () => + withCleanState( + Effect.gen(function* () { + const fs = yield* AppFileSystem.Service + const test = yield* TestInstance + yield* fs.writeJson(path.join(Global.Path.config, "tui.json"), { plugin: ["global-plugin@1.0.0"] }) + yield* fs.writeJson(path.join(test.directory, "tui.json"), { plugin: ["local-plugin@2.0.0"] }) - const config = await getTuiConfig(tmp.path) - expect(config.plugin_enabled).toEqual({ - "internal:sidebar-context": false, - "demo.plugin": false, - "local.plugin": true, - }) -}) + const config = yield* getTuiConfig(test.directory) + expect(config.plugin).toEqual(["global-plugin@1.0.0", "local-plugin@2.0.0"]) + expect(config.plugin_origins).toEqual([ + { + spec: "global-plugin@1.0.0", + scope: "global", + source: path.join(Global.Path.config, "tui.json"), + }, + { + spec: "local-plugin@2.0.0", + scope: "local", + source: path.join(test.directory, "tui.json"), + }, + ]) + }), + ), +) -test("silently skips malformed tui.json — load failures degrade to {}", async () => { - await using tmp = await tmpdir({ - init: async (dir) => { - await Bun.write(path.join(dir, "tui.json"), '{ "theme": "broken",') - await Bun.write(path.join(dir, ".opencode", "tui.json"), JSON.stringify({ theme: "fallback" })) - }, - }) +it.instance("merges plugin_enabled flags across config layers", () => + withCleanState( + Effect.gen(function* () { + const fs = yield* AppFileSystem.Service + const test = yield* TestInstance + yield* fs.writeJson(path.join(Global.Path.config, "tui.json"), { + plugin_enabled: { + "internal:sidebar-context": false, + "demo.plugin": true, + }, + }) + yield* fs.writeJson(path.join(test.directory, "tui.json"), { + plugin_enabled: { + "demo.plugin": false, + "local.plugin": true, + }, + }) - const config = await getTuiConfig(tmp.path) - // Project tui.json is malformed → silently skipped (logs a warning) - // .opencode/tui.json (lower precedence in this path) still loads - expect(config.theme).toBe("fallback") -}) + const config = yield* getTuiConfig(test.directory) + expect(config.plugin_enabled).toEqual({ + "internal:sidebar-context": false, + "demo.plugin": false, + "local.plugin": true, + }) + }), + ), +) -test("silently skips non-ENOENT read failures (e.g. tui.json is a directory) — fallback layer still loads", async () => { - await using tmp = await tmpdir({ - init: async (dir) => { - // tui.json exists as a DIRECTORY rather than a file → readFileString fails - // with EISDIR (PlatformError reason ≠ NotFound). The fix in this PR routes - // that through catchCause → log + skip, so a fallback layer should still load. - await fs.mkdir(path.join(dir, "tui.json"), { recursive: true }) - await Bun.write(path.join(dir, ".opencode", "tui.json"), JSON.stringify({ theme: "fallback" })) - }, - }) +it.instance("silently skips malformed tui.json - load failures degrade to {}", () => + withCleanState( + Effect.gen(function* () { + const fs = yield* AppFileSystem.Service + const test = yield* TestInstance + yield* fs.writeFileString(path.join(test.directory, "tui.json"), '{ "theme": "broken",') + yield* fs.writeWithDirs(path.join(test.directory, ".opencode", "tui.json"), JSON.stringify({ theme: "fallback" })) - const config = await getTuiConfig(tmp.path) - // Did NOT crash; .opencode/tui.json (lower precedence) still loads. - expect(config.theme).toBe("fallback") -}) + const config = yield* getTuiConfig(test.directory) + expect(config.theme).toBe("fallback") + }), + ), +) -test("missing tui.json — silently treated as empty (ENOENT path)", async () => { - await using tmp = await tmpdir({}) +it.instance("silently skips non-ENOENT read failures (e.g. tui.json is a directory) - fallback layer still loads", () => + withCleanState( + Effect.gen(function* () { + const fs = yield* AppFileSystem.Service + const test = yield* TestInstance + yield* fs.makeDirectory(path.join(test.directory, "tui.json"), { recursive: true }) + yield* fs.writeWithDirs(path.join(test.directory, ".opencode", "tui.json"), JSON.stringify({ theme: "fallback" })) - // No tui.json anywhere. Should not throw. - const config = await getTuiConfig(tmp.path) - expect(config).toBeDefined() - // No theme set anywhere. - expect(config.theme).toBeUndefined() -}) + const config = yield* getTuiConfig(test.directory) + expect(config.theme).toBe("fallback") + }), + ), +) + +it.instance("missing tui.json - silently treated as empty (ENOENT path)", () => + withCleanState( + Effect.gen(function* () { + const test = yield* TestInstance + const config = yield* getTuiConfig(test.directory) + expect(config).toBeDefined() + expect(config.theme).toBeUndefined() + }), + ), +) diff --git a/packages/opencode/test/effect/runtime-flags.test.ts b/packages/opencode/test/effect/runtime-flags.test.ts new file mode 100644 index 0000000000..058fa7559a --- /dev/null +++ b/packages/opencode/test/effect/runtime-flags.test.ts @@ -0,0 +1,74 @@ +import { describe, expect } from "bun:test" +import { ConfigProvider, Effect, Layer } from "effect" +import { RuntimeFlags } from "../../src/effect/runtime-flags" +import { it } from "../lib/effect" + +const fromConfig = (input: Record) => + RuntimeFlags.defaultLayer.pipe(Layer.provide(ConfigProvider.layer(ConfigProvider.fromUnknown(input)))) + +const readFlags = RuntimeFlags.Service.useSync((flags) => flags) + +describe("RuntimeFlags", () => { + it.effect("defaultLayer parses plugin flags from the active ConfigProvider", () => + Effect.gen(function* () { + const flags = yield* readFlags.pipe( + Effect.provide( + fromConfig({ + OPENCODE_PURE: "true", + OPENCODE_DISABLE_DEFAULT_PLUGINS: "true", + OPENCODE_EXPERIMENTAL: "true", + OPENCODE_ENABLE_EXA: "true", + OPENCODE_ENABLE_PARALLEL: "true", + OPENCODE_ENABLE_QUESTION_TOOL: "true", + OPENCODE_CLIENT: "desktop", + }), + ), + ) + + expect(flags.pure).toBe(true) + expect(flags.disableDefaultPlugins).toBe(true) + expect(flags.enableExa).toBe(true) + expect(flags.enableParallel).toBe(true) + expect(flags.enableQuestionTool).toBe(true) + expect(flags.experimentalScout).toBe(true) + expect(flags.experimentalLspTool).toBe(true) + expect(flags.experimentalPlanMode).toBe(true) + expect(flags.client).toBe("desktop") + }), + ) + + it.effect("layer accepts partial test overrides and fills defaults from Config definitions", () => + Effect.gen(function* () { + const flags = yield* readFlags.pipe(Effect.provide(RuntimeFlags.layer({ disableDefaultPlugins: true }))) + + expect(flags.pure).toBe(false) + expect(flags.disableDefaultPlugins).toBe(true) + expect(flags.enableExa).toBe(false) + expect(flags.client).toBe("cli") + }), + ) + + it.effect("layer ignores the active ConfigProvider for omitted test overrides", () => + Effect.gen(function* () { + const flags = yield* readFlags.pipe( + Effect.provide(RuntimeFlags.layer()), + Effect.provide( + ConfigProvider.layer( + ConfigProvider.fromUnknown({ + OPENCODE_PURE: "true", + OPENCODE_DISABLE_DEFAULT_PLUGINS: "true", + OPENCODE_EXPERIMENTAL: "true", + OPENCODE_ENABLE_EXA: "true", + OPENCODE_CLIENT: "desktop", + }), + ), + ), + ) + + expect(flags.pure).toBe(false) + expect(flags.disableDefaultPlugins).toBe(false) + expect(flags.enableExa).toBe(false) + expect(flags.client).toBe("cli") + }), + ) +}) diff --git a/packages/opencode/test/fixture/tui-plugin.ts b/packages/opencode/test/fixture/tui-plugin.ts index 3d894bd0ae..f950254945 100644 --- a/packages/opencode/test/fixture/tui-plugin.ts +++ b/packages/opencode/test/fixture/tui-plugin.ts @@ -12,6 +12,10 @@ type Count = { command_drop: number } +type AttentionOpts = Partial> & { + soundboard?: Partial +} + function themeCurrent(): HostPluginApi["theme"]["current"] { const a = RGBA.fromInts(0, 120, 240) const b = RGBA.fromInts(120, 120, 120) @@ -83,6 +87,8 @@ function themeCurrent(): HostPluginApi["theme"]["current"] { type Opts = { client?: HostPluginApi["client"] | (() => HostPluginApi["client"]) renderer?: HostPluginApi["renderer"] + attention?: AttentionOpts + event?: HostPluginApi["event"] count?: Count keymap?: HostPluginApi["keymap"] tuiConfig?: Partial @@ -183,6 +189,17 @@ export function createTuiPluginApi(opts: Opts = {}): HostPluginApi { return opts.app?.version ?? "0.0.0-test" }, }, + attention: { + async notify(input) { + return opts.attention?.notify?.(input) ?? { ok: false, notification: false, sound: false } + }, + soundboard: { + registerPack: (pack) => opts.attention?.soundboard?.registerPack?.(pack) ?? (() => {}), + activate: (id, options) => opts.attention?.soundboard?.activate?.(id, options) ?? false, + current: () => opts.attention?.soundboard?.current?.() ?? "opencode.default", + list: () => opts.attention?.soundboard?.list?.() ?? [], + }, + }, keys: { formatSequence: () => "", formatBindings: () => undefined, @@ -190,7 +207,7 @@ export function createTuiPluginApi(opts: Opts = {}): HostPluginApi { get client() { return client() }, - event: { + event: opts.event ?? { on: () => { if (count) count.event_add += 1 return () => { diff --git a/packages/opencode/test/fixture/tui-runtime.ts b/packages/opencode/test/fixture/tui-runtime.ts index 64537b6c50..75fc2fdc44 100644 --- a/packages/opencode/test/fixture/tui-runtime.ts +++ b/packages/opencode/test/fixture/tui-runtime.ts @@ -5,7 +5,8 @@ import { TuiConfig } from "../../src/cli/cmd/tui/config/tui" import { TuiKeybind } from "../../src/cli/cmd/tui/config/keybind" type PluginSpec = string | [string, Record] -type ResolvedInput = Omit & { +type ResolvedInput = Omit & { + attention?: Partial keybinds?: Partial leader_timeout?: number } @@ -22,6 +23,15 @@ export function createTuiResolvedConfig(input: ResolvedInput = {}): TuiConfig.Re const keybinds = TuiKeybind.Keybinds.parse(input.keybinds ?? {}) return { ...input, + attention: { + enabled: false, + notifications: true, + sound: true, + volume: 0.4, + sound_pack: "opencode.default", + sounds: {}, + ...input.attention, + }, keybinds: createTuiResolvedKeybinds(keybinds), leader_timeout: input.leader_timeout ?? 2000, } diff --git a/packages/opencode/test/mcp/headers.test.ts b/packages/opencode/test/mcp/headers.test.ts index 5bc8f803d2..c51ed00d32 100644 --- a/packages/opencode/test/mcp/headers.test.ts +++ b/packages/opencode/test/mcp/headers.test.ts @@ -1,6 +1,6 @@ -import { test, expect, mock, beforeEach } from "bun:test" +import { describe, expect, mock, beforeEach } from "bun:test" import { Effect } from "effect" -import type { MCP as MCPNS } from "../../src/mcp/index" +import { testEffect } from "../lib/effect" // Track what options were passed to each transport constructor const transportCalls: Array<{ @@ -46,53 +46,22 @@ beforeEach(() => { // Import MCP after mocking const { MCP } = await import("../../src/mcp/index") -const { AppRuntime } = await import("../../src/effect/app-runtime") -const { Instance } = await import("../../src/project/instance") -const { WithInstance } = await import("../../src/project/with-instance") -const { tmpdir } = await import("../fixture/fixture") -const service = MCP.Service as unknown as Effect.Effect +const it = testEffect(MCP.defaultLayer) -test("headers are passed to transports when oauth is enabled (default)", async () => { - await using tmp = await tmpdir({ - init: async (dir) => { - await Bun.write( - `${dir}/opencode.json`, - JSON.stringify({ - $schema: "https://opencode.ai/config.json", - mcp: { - "test-server": { - type: "remote", - url: "https://example.com/mcp", - headers: { - Authorization: "Bearer test-token", - "X-Custom-Header": "custom-value", - }, - }, +describe("mcp.headers", () => { + it.instance("headers are passed to transports when oauth is enabled (default)", () => + Effect.gen(function* () { + const mcp = yield* MCP.Service + yield* mcp + .add("test-server", { + type: "remote", + url: "https://example.com/mcp", + headers: { + Authorization: "Bearer test-token", + "X-Custom-Header": "custom-value", }, - }), - ) - }, - }) - - await WithInstance.provide({ - directory: tmp.path, - fn: async () => { - // Trigger MCP initialization - it will fail to connect but we can check the transport options - await AppRuntime.runPromise( - Effect.gen(function* () { - const mcp = yield* service - yield* mcp - .add("test-server", { - type: "remote", - url: "https://example.com/mcp", - headers: { - Authorization: "Bearer test-token", - "X-Custom-Header": "custom-value", - }, - }) - .pipe(Effect.catch(() => Effect.void)) - }), - ) + }) + .pipe(Effect.catch(() => Effect.void)) // Both transports should have been created with headers expect(transportCalls.length).toBeGreaterThanOrEqual(1) @@ -106,33 +75,22 @@ test("headers are passed to transports when oauth is enabled (default)", async ( // OAuth should be enabled by default, so authProvider should exist expect(call.options.authProvider).toBeDefined() } - }, - }) -}) + }), + ) -test("headers are passed to transports when oauth is explicitly disabled", async () => { - await using tmp = await tmpdir() - - await WithInstance.provide({ - directory: tmp.path, - fn: async () => { - transportCalls.length = 0 - - await AppRuntime.runPromise( - Effect.gen(function* () { - const mcp = yield* service - yield* mcp - .add("test-server-no-oauth", { - type: "remote", - url: "https://example.com/mcp", - oauth: false, - headers: { - Authorization: "Bearer test-token", - }, - }) - .pipe(Effect.catch(() => Effect.void)) - }), - ) + it.instance("headers are passed to transports when oauth is explicitly disabled", () => + Effect.gen(function* () { + const mcp = yield* MCP.Service + yield* mcp + .add("test-server-no-oauth", { + type: "remote", + url: "https://example.com/mcp", + oauth: false, + headers: { + Authorization: "Bearer test-token", + }, + }) + .pipe(Effect.catch(() => Effect.void)) expect(transportCalls.length).toBeGreaterThanOrEqual(1) @@ -144,29 +102,18 @@ test("headers are passed to transports when oauth is explicitly disabled", async // OAuth is disabled, so no authProvider expect(call.options.authProvider).toBeUndefined() } - }, - }) -}) + }), + ) -test("no requestInit when headers are not provided", async () => { - await using tmp = await tmpdir() - - await WithInstance.provide({ - directory: tmp.path, - fn: async () => { - transportCalls.length = 0 - - await AppRuntime.runPromise( - Effect.gen(function* () { - const mcp = yield* service - yield* mcp - .add("test-server-no-headers", { - type: "remote", - url: "https://example.com/mcp", - }) - .pipe(Effect.catch(() => Effect.void)) - }), - ) + it.instance("no requestInit when headers are not provided", () => + Effect.gen(function* () { + const mcp = yield* MCP.Service + yield* mcp + .add("test-server-no-headers", { + type: "remote", + url: "https://example.com/mcp", + }) + .pipe(Effect.catch(() => Effect.void)) expect(transportCalls.length).toBeGreaterThanOrEqual(1) @@ -174,6 +121,6 @@ test("no requestInit when headers are not provided", async () => { // No headers means requestInit should be undefined expect(call.options.requestInit).toBeUndefined() } - }, - }) + }), + ) }) diff --git a/packages/opencode/test/mcp/lifecycle.test.ts b/packages/opencode/test/mcp/lifecycle.test.ts index 5afc85e3b5..185086fe60 100644 --- a/packages/opencode/test/mcp/lifecycle.test.ts +++ b/packages/opencode/test/mcp/lifecycle.test.ts @@ -1,7 +1,7 @@ -import { test, expect, mock, beforeEach } from "bun:test" -import { InstanceRuntime } from "../../src/project/instance-runtime" -import { Effect } from "effect" +import { expect, mock, beforeEach } from "bun:test" +import { Effect, Exit } from "effect" import type { MCP as MCPNS } from "../../src/mcp/index" +import { testEffect } from "../lib/effect" // --- Mock infrastructure --- @@ -179,39 +179,9 @@ beforeEach(() => { // Import after mocks const { MCP } = await import("../../src/mcp/index") -const { Instance } = await import("../../src/project/instance") -const { WithInstance } = await import("../../src/project/with-instance") -const { tmpdir } = await import("../fixture/fixture") +const { McpOAuthCallback } = await import("../../src/mcp/oauth-callback") -// --- Helper --- - -function withInstance( - config: Record, - fn: (mcp: MCPNS.Interface) => Effect.Effect, -) { - return async () => { - await using tmp = await tmpdir({ - init: async (dir) => { - await Bun.write( - `${dir}/opencode.json`, - JSON.stringify({ - $schema: "https://opencode.ai/config.json", - mcp: config, - }), - ) - }, - }) - - await WithInstance.provide({ - directory: tmp.path, - fn: async () => { - await Effect.runPromise(MCP.Service.use(fn).pipe(Effect.provide(MCP.defaultLayer))) - // dispose instance to clean up state between tests - await InstanceRuntime.disposeInstance(Instance.current) - }, - }) - } -} +const it = testEffect(MCP.defaultLayer) function statusName(status: Record | MCPNS.Status, server: string) { if ("status" in status) return status.status @@ -222,82 +192,82 @@ function statusName(status: Record | MCPNS.Status, server: // Test: tools() are cached after connect // ======================================================================== -test( +it.instance( "tools() reuses cached tool definitions after connect", - withInstance({}, (mcp) => - Effect.gen(function* () { - lastCreatedClientName = "my-server" - const serverState = getOrCreateClientState("my-server") - serverState.tools = [ - { name: "do_thing", description: "does a thing", inputSchema: { type: "object", properties: {} } }, - ] + () => + MCP.Service.use((mcp: MCPNS.Interface) => + Effect.gen(function* () { + lastCreatedClientName = "my-server" + const serverState = getOrCreateClientState("my-server") + serverState.tools = [ + { name: "do_thing", description: "does a thing", inputSchema: { type: "object", properties: {} } }, + ] - // First: add the server successfully - const addResult = yield* mcp.add("my-server", { - type: "local", - command: ["echo", "test"], - }) - expect((addResult.status as any)["my-server"]?.status ?? (addResult.status as any).status).toBe("connected") + // First: add the server successfully + const addResult = yield* mcp.add("my-server", { + type: "local", + command: ["echo", "test"], + }) + expect((addResult.status as any)["my-server"]?.status ?? (addResult.status as any).status).toBe("connected") - expect(serverState.listToolsCalls).toBe(1) + expect(serverState.listToolsCalls).toBe(1) - const toolsA = yield* mcp.tools() - const toolsB = yield* mcp.tools() - expect(Object.keys(toolsA).length).toBeGreaterThan(0) - expect(Object.keys(toolsB).length).toBeGreaterThan(0) - expect(serverState.listToolsCalls).toBe(1) - }), - ), + const toolsA = yield* mcp.tools() + const toolsB = yield* mcp.tools() + expect(Object.keys(toolsA).length).toBeGreaterThan(0) + expect(Object.keys(toolsB).length).toBeGreaterThan(0) + expect(serverState.listToolsCalls).toBe(1) + }), + ), + { config: { mcp: {} } }, ) // ======================================================================== // Test: tool change notifications refresh the cache // ======================================================================== -test( +it.instance( "tool change notifications refresh cached tool definitions", - withInstance({}, (mcp) => - Effect.gen(function* () { - lastCreatedClientName = "status-server" - const serverState = getOrCreateClientState("status-server") + () => + MCP.Service.use((mcp: MCPNS.Interface) => + Effect.gen(function* () { + lastCreatedClientName = "status-server" + const serverState = getOrCreateClientState("status-server") - yield* mcp.add("status-server", { - type: "local", - command: ["echo", "test"], - }) + yield* mcp.add("status-server", { + type: "local", + command: ["echo", "test"], + }) - const before = yield* mcp.tools() - expect(Object.keys(before).some((key) => key.includes("test_tool"))).toBe(true) - expect(serverState.listToolsCalls).toBe(1) + const before = yield* mcp.tools() + expect(Object.keys(before).some((key) => key.includes("test_tool"))).toBe(true) + expect(serverState.listToolsCalls).toBe(1) - serverState.tools = [{ name: "next_tool", description: "next", inputSchema: { type: "object", properties: {} } }] + serverState.tools = [ + { name: "next_tool", description: "next", inputSchema: { type: "object", properties: {} } }, + ] - const handler = Array.from(serverState.notificationHandlers.values())[0] - expect(handler).toBeDefined() - yield* Effect.promise(() => handler?.()) + const handler = Array.from(serverState.notificationHandlers.values())[0] + expect(handler).toBeDefined() + yield* Effect.promise(() => handler?.()) - const after = yield* mcp.tools() - expect(Object.keys(after).some((key) => key.includes("next_tool"))).toBe(true) - expect(Object.keys(after).some((key) => key.includes("test_tool"))).toBe(false) - expect(serverState.listToolsCalls).toBe(2) - }), - ), + const after = yield* mcp.tools() + expect(Object.keys(after).some((key) => key.includes("next_tool"))).toBe(true) + expect(Object.keys(after).some((key) => key.includes("test_tool"))).toBe(false) + expect(serverState.listToolsCalls).toBe(2) + }), + ), + { config: { mcp: {} } }, ) // ======================================================================== // Test: connect() / disconnect() lifecycle // ======================================================================== -test( +it.instance( "disconnect sets status to disabled and removes client", - withInstance( - { - "disc-server": { - type: "local", - command: ["echo", "test"], - }, - }, - (mcp) => + () => + MCP.Service.use((mcp: MCPNS.Interface) => Effect.gen(function* () { lastCreatedClientName = "disc-server" getOrCreateClientState("disc-server") @@ -315,24 +285,27 @@ test( const statusAfter = yield* mcp.status() expect(statusAfter["disc-server"]?.status).toBe("disabled") - // Tools should be empty after disconnect const tools = yield* mcp.tools() const serverTools = Object.keys(tools).filter((k) => k.startsWith("disc-server")) expect(serverTools.length).toBe(0) }), - ), -) - -test( - "connect() after disconnect() re-establishes the server", - withInstance( - { - "reconn-server": { - type: "local", - command: ["echo", "test"], + ), + { + config: { + mcp: { + "disc-server": { + type: "local", + command: ["echo", "test"], + }, }, }, - (mcp) => + }, +) + +it.instance( + "connect() after disconnect() re-establishes the server", + () => + MCP.Service.use((mcp: MCPNS.Interface) => Effect.gen(function* () { lastCreatedClientName = "reconn-server" const serverState = getOrCreateClientState("reconn-server") @@ -348,70 +321,71 @@ test( yield* mcp.disconnect("reconn-server") expect((yield* mcp.status())["reconn-server"]?.status).toBe("disabled") - // Reconnect yield* mcp.connect("reconn-server") expect((yield* mcp.status())["reconn-server"]?.status).toBe("connected") const tools = yield* mcp.tools() expect(Object.keys(tools).some((k) => k.includes("my_tool"))).toBe(true) }), - ), + ), + { + config: { + mcp: { + "reconn-server": { + type: "local", + command: ["echo", "test"], + }, + }, + }, + }, ) // ======================================================================== // Test: add() closes existing client before replacing // ======================================================================== -test( +it.instance( "add() closes the old client when replacing a server", // Don't put the server in config — add it dynamically so we control // exactly which client instance is "first" vs "second". - withInstance({}, (mcp) => - Effect.gen(function* () { - lastCreatedClientName = "replace-server" - const firstState = getOrCreateClientState("replace-server") + () => + MCP.Service.use((mcp: MCPNS.Interface) => + Effect.gen(function* () { + lastCreatedClientName = "replace-server" + const firstState = getOrCreateClientState("replace-server") - yield* mcp.add("replace-server", { - type: "local", - command: ["echo", "test"], - }) + yield* mcp.add("replace-server", { + type: "local", + command: ["echo", "test"], + }) - expect(firstState.closed).toBe(false) + expect(firstState.closed).toBe(false) - // Create new state for second client - clientStates.delete("replace-server") - const secondState = getOrCreateClientState("replace-server") + // Create new state for second client + clientStates.delete("replace-server") + const secondState = getOrCreateClientState("replace-server") - // Re-add should close the first client - yield* mcp.add("replace-server", { - type: "local", - command: ["echo", "test"], - }) + // Re-add should close the first client + yield* mcp.add("replace-server", { + type: "local", + command: ["echo", "test"], + }) - expect(firstState.closed).toBe(true) - expect(secondState.closed).toBe(false) - }), - ), + expect(firstState.closed).toBe(true) + expect(secondState.closed).toBe(false) + }), + ), + { config: { mcp: {} } }, ) // ======================================================================== // Test: state init with mixed success/failure // ======================================================================== -test( +it.instance( "init connects available servers even when one fails", - withInstance( - { - "good-server": { - type: "local", - command: ["echo", "good"], - }, - "bad-server": { - type: "local", - command: ["echo", "bad"], - }, - }, - (mcp) => + () => + MCP.Service.use((mcp: MCPNS.Interface) => Effect.gen(function* () { // Set up good server const goodState = getOrCreateClientState("good-server") @@ -443,77 +417,88 @@ test( const tools = yield* mcp.tools() expect(Object.keys(tools).some((k) => k.includes("good_tool"))).toBe(true) }), - ), -) - -test( - "falls back when MCP output schema refs fail SDK tool discovery", - withInstance({}, (mcp) => - Effect.gen(function* () { - lastCreatedClientName = "stitch-like-server" - const serverState = getOrCreateClientState("stitch-like-server") - serverState.listToolsShouldFail = true - serverState.listToolsError = "can't resolve reference #/$defs/ScreenInstance from id #" - serverState.tools = [ - { - name: "render_screen", - description: "renders a screen", - inputSchema: { type: "object", properties: { prompt: { type: "string" } }, required: ["prompt"] }, - outputSchema: { type: "object", properties: { screen: { $ref: "#/$defs/ScreenInstance" } } }, + ), + { + config: { + mcp: { + "good-server": { + type: "local", + command: ["echo", "good"], }, - ] - - const addResult = yield* mcp.add("stitch-like-server", { - type: "local", - command: ["echo", "test"], - }) - - expect(statusName(addResult.status, "stitch-like-server")).toBe("connected") - - const tools = yield* mcp.tools() - expect(Object.keys(tools).some((key) => key.includes("render_screen"))).toBe(true) - expect(serverState.listToolsCalls).toBe(1) - expect(serverState.requestCalls).toBe(1) - }), - ), + "bad-server": { + type: "local", + command: ["echo", "bad"], + }, + }, + }, + }, ) -test( +it.instance( + "falls back when MCP output schema refs fail SDK tool discovery", + () => + MCP.Service.use((mcp: MCPNS.Interface) => + Effect.gen(function* () { + lastCreatedClientName = "stitch-like-server" + const serverState = getOrCreateClientState("stitch-like-server") + serverState.listToolsShouldFail = true + serverState.listToolsError = "can't resolve reference #/$defs/ScreenInstance from id #" + serverState.tools = [ + { + name: "render_screen", + description: "renders a screen", + inputSchema: { type: "object", properties: { prompt: { type: "string" } }, required: ["prompt"] }, + outputSchema: { type: "object", properties: { screen: { $ref: "#/$defs/ScreenInstance" } } }, + }, + ] + + const addResult = yield* mcp.add("stitch-like-server", { + type: "local", + command: ["echo", "test"], + }) + + expect(statusName(addResult.status, "stitch-like-server")).toBe("connected") + + const tools = yield* mcp.tools() + expect(Object.keys(tools).some((key) => key.includes("render_screen"))).toBe(true) + expect(serverState.listToolsCalls).toBe(1) + expect(serverState.requestCalls).toBe(1) + }), + ), + { config: { mcp: {} } }, +) + +it.instance( "does not fall back for non-schema MCP tool discovery errors", - withInstance({}, (mcp) => - Effect.gen(function* () { - lastCreatedClientName = "broken-server" - const serverState = getOrCreateClientState("broken-server") - serverState.listToolsShouldFail = true - serverState.listToolsError = "transport closed" + () => + MCP.Service.use((mcp: MCPNS.Interface) => + Effect.gen(function* () { + lastCreatedClientName = "broken-server" + const serverState = getOrCreateClientState("broken-server") + serverState.listToolsShouldFail = true + serverState.listToolsError = "transport closed" - const addResult = yield* mcp.add("broken-server", { - type: "local", - command: ["echo", "test"], - }) + const addResult = yield* mcp.add("broken-server", { + type: "local", + command: ["echo", "test"], + }) - expect(statusName(addResult.status, "broken-server")).toBe("failed") - expect(serverState.listToolsCalls).toBe(1) - expect(serverState.requestCalls).toBe(0) - }), - ), + expect(statusName(addResult.status, "broken-server")).toBe("failed") + expect(serverState.listToolsCalls).toBe(1) + expect(serverState.requestCalls).toBe(0) + }), + ), + { config: { mcp: {} } }, ) // ======================================================================== // Test: disabled server via config // ======================================================================== -test( +it.instance( "disabled server is marked as disabled without attempting connection", - withInstance( - { - "disabled-server": { - type: "local", - command: ["echo", "test"], - enabled: false, - }, - }, - (mcp) => + () => + MCP.Service.use((mcp: MCPNS.Interface) => Effect.gen(function* () { const countBefore = clientCreateCount @@ -529,23 +514,28 @@ test( const status = yield* mcp.status() expect(status["disabled-server"]?.status).toBe("disabled") }), - ), + ), + { + config: { + mcp: { + "disabled-server": { + type: "local", + command: ["echo", "test"], + enabled: false, + }, + }, + }, + }, ) // ======================================================================== // Test: prompts() and resources() // ======================================================================== -test( +it.instance( "prompts() returns prompts from connected servers", - withInstance( - { - "prompt-server": { - type: "local", - command: ["echo", "test"], - }, - }, - (mcp) => + () => + MCP.Service.use((mcp: MCPNS.Interface) => Effect.gen(function* () { lastCreatedClientName = "prompt-server" const serverState = getOrCreateClientState("prompt-server") @@ -562,19 +552,23 @@ test( expect(key).toContain("prompt-server") expect(key).toContain("my-prompt") }), - ), -) - -test( - "resources() returns resources from connected servers", - withInstance( - { - "resource-server": { - type: "local", - command: ["echo", "test"], + ), + { + config: { + mcp: { + "prompt-server": { + type: "local", + command: ["echo", "test"], + }, }, }, - (mcp) => + }, +) + +it.instance( + "resources() returns resources from connected servers", + () => + MCP.Service.use((mcp: MCPNS.Interface) => Effect.gen(function* () { lastCreatedClientName = "resource-server" const serverState = getOrCreateClientState("resource-server") @@ -591,19 +585,23 @@ test( expect(key).toContain("resource-server") expect(key).toContain("my-resource") }), - ), -) - -test( - "prompts() skips disconnected servers", - withInstance( - { - "prompt-disc-server": { - type: "local", - command: ["echo", "test"], + ), + { + config: { + mcp: { + "resource-server": { + type: "local", + command: ["echo", "test"], + }, }, }, - (mcp) => + }, +) + +it.instance( + "prompts() skips disconnected servers", + () => + MCP.Service.use((mcp: MCPNS.Interface) => Effect.gen(function* () { lastCreatedClientName = "prompt-disc-server" const serverState = getOrCreateClientState("prompt-disc-server") @@ -619,67 +617,77 @@ test( const prompts = yield* mcp.prompts() expect(Object.keys(prompts).length).toBe(0) }), - ), + ), + { + config: { + mcp: { + "prompt-disc-server": { + type: "local", + command: ["echo", "test"], + }, + }, + }, + }, ) // ======================================================================== // Test: connect() on nonexistent server // ======================================================================== -test( +it.instance( "connect() on nonexistent server does not throw", - withInstance({}, (mcp) => - Effect.gen(function* () { - // Should not throw - yield* mcp.connect("nonexistent") - const status = yield* mcp.status() - expect(status["nonexistent"]).toBeUndefined() - }), - ), + () => + MCP.Service.use((mcp: MCPNS.Interface) => + Effect.gen(function* () { + // Should not throw + yield* mcp.connect("nonexistent") + const status = yield* mcp.status() + expect(status["nonexistent"]).toBeUndefined() + }), + ), + { config: { mcp: {} } }, ) // ======================================================================== // Test: disconnect() on nonexistent server // ======================================================================== -test( +it.instance( "disconnect() on nonexistent server does not throw", - withInstance({}, (mcp) => - Effect.gen(function* () { - yield* mcp.disconnect("nonexistent") - // Should complete without error - }), - ), + () => + MCP.Service.use((mcp: MCPNS.Interface) => + Effect.gen(function* () { + yield* mcp.disconnect("nonexistent") + // Should complete without error + }), + ), + { config: { mcp: {} } }, ) // ======================================================================== // Test: tools() with no MCP servers configured // ======================================================================== -test( +it.instance( "tools() returns empty when no MCP servers are configured", - withInstance({}, (mcp) => - Effect.gen(function* () { - const tools = yield* mcp.tools() - expect(Object.keys(tools).length).toBe(0) - }), - ), + () => + MCP.Service.use((mcp: MCPNS.Interface) => + Effect.gen(function* () { + const tools = yield* mcp.tools() + expect(Object.keys(tools).length).toBe(0) + }), + ), + { config: { mcp: {} } }, ) // ======================================================================== // Test: connect failure during create() // ======================================================================== -test( +it.instance( "server that fails to connect is marked as failed", - withInstance( - { - "fail-connect": { - type: "local", - command: ["echo", "test"], - }, - }, - (mcp) => + () => + MCP.Service.use((mcp: MCPNS.Interface) => Effect.gen(function* () { lastCreatedClientName = "fail-connect" getOrCreateClientState("fail-connect") @@ -701,51 +709,55 @@ test( const tools = yield* mcp.tools() expect(Object.keys(tools).length).toBe(0) }), - ), + ), + { + config: { + mcp: { + "fail-connect": { + type: "local", + command: ["echo", "test"], + }, + }, + }, + }, ) // ======================================================================== // Bug #5: McpOAuthCallback.cancelPending uses wrong key // ======================================================================== -test("McpOAuthCallback.cancelPending is keyed by mcpName but pendingAuths uses oauthState", async () => { - const { McpOAuthCallback } = await import("../../src/mcp/oauth-callback") +it.live("McpOAuthCallback.cancelPending is keyed by mcpName but pendingAuths uses oauthState", () => + Effect.acquireUseRelease( + Effect.sync(() => McpOAuthCallback.waitForCallback("abc123hexstate", "my-mcp-server")), + (callback) => + Effect.gen(function* () { + McpOAuthCallback.cancelPending("my-mcp-server") - // Register a pending auth with an oauthState key, associated to an mcpName - const oauthState = "abc123hexstate" - const callbackPromise = McpOAuthCallback.waitForCallback(oauthState, "my-mcp-server") + const exit = yield* Effect.tryPromise({ + try: () => callback, + catch: (error) => (error instanceof Error ? error : new Error(String(error))), + }).pipe( + Effect.timeoutOrElse({ + duration: "1 second", + orElse: () => Effect.fail(new Error("timed out waiting for OAuth cancellation")), + }), + Effect.exit, + ) - // cancelPending is called with mcpName — should find the entry via reverse index - McpOAuthCallback.cancelPending("my-mcp-server") - - // The callback should still be pending because cancelPending looked up - // "my-mcp-server" in a map keyed by "abc123hexstate" - let rejected = false - callbackPromise.then(() => {}).catch(() => (rejected = true)) - - // Give it a tick - await new Promise((r) => setTimeout(r, 50)) - - // cancelPending("my-mcp-server") should have rejected the pending callback - expect(rejected).toBe(true) - - await McpOAuthCallback.stop() -}) + expect(Exit.isFailure(exit)).toBe(true) + }), + () => Effect.promise(() => McpOAuthCallback.stop()).pipe(Effect.ignore), + ), +) // ======================================================================== // Test: multiple tools from same server get correct name prefixes // ======================================================================== -test( +it.instance( "tools() prefixes tool names with sanitized server name", - withInstance( - { - "my.special-server": { - type: "local", - command: ["echo", "test"], - }, - }, - (mcp) => + () => + MCP.Service.use((mcp: MCPNS.Interface) => Effect.gen(function* () { lastCreatedClientName = "my.special-server" const serverState = getOrCreateClientState("my.special-server") @@ -768,87 +780,103 @@ test( expect(keys.some((k) => k.endsWith("tool_b"))).toBe(true) expect(keys.length).toBe(2) }), - ), + ), + { + config: { + mcp: { + "my.special-server": { + type: "local", + command: ["echo", "test"], + }, + }, + }, + }, ) // ======================================================================== // Test: transport leak — local stdio timeout (#19168) // ======================================================================== -test( +it.instance( "local stdio transport is closed when connect times out (no process leak)", - withInstance({}, (mcp) => - Effect.gen(function* () { - lastCreatedClientName = "hanging-server" - getOrCreateClientState("hanging-server") - connectShouldHang = true + () => + MCP.Service.use((mcp: MCPNS.Interface) => + Effect.gen(function* () { + lastCreatedClientName = "hanging-server" + getOrCreateClientState("hanging-server") + connectShouldHang = true - const addResult = yield* mcp.add("hanging-server", { - type: "local", - command: ["node", "fake.js"], - timeout: 100, - }) + const addResult = yield* mcp.add("hanging-server", { + type: "local", + command: ["node", "fake.js"], + timeout: 100, + }) - const serverStatus = (addResult.status as any)["hanging-server"] ?? addResult.status - expect(serverStatus.status).toBe("failed") - expect(serverStatus.error).toContain("timed out") - // Transport must be closed to avoid orphaned child process - expect(transportCloseCount).toBeGreaterThanOrEqual(1) - }), - ), + const serverStatus = (addResult.status as any)["hanging-server"] ?? addResult.status + expect(serverStatus.status).toBe("failed") + expect(serverStatus.error).toContain("timed out") + // Transport must be closed to avoid orphaned child process + expect(transportCloseCount).toBeGreaterThanOrEqual(1) + }), + ), + { config: { mcp: {} } }, ) // ======================================================================== // Test: transport leak — remote timeout (#19168) // ======================================================================== -test( +it.instance( "remote transport is closed when connect times out", - withInstance({}, (mcp) => - Effect.gen(function* () { - lastCreatedClientName = "hanging-remote" - getOrCreateClientState("hanging-remote") - connectShouldHang = true + () => + MCP.Service.use((mcp: MCPNS.Interface) => + Effect.gen(function* () { + lastCreatedClientName = "hanging-remote" + getOrCreateClientState("hanging-remote") + connectShouldHang = true - const addResult = yield* mcp.add("hanging-remote", { - type: "remote", - url: "http://localhost:9999/mcp", - timeout: 100, - oauth: false, - }) + const addResult = yield* mcp.add("hanging-remote", { + type: "remote", + url: "http://localhost:9999/mcp", + timeout: 100, + oauth: false, + }) - const serverStatus = (addResult.status as any)["hanging-remote"] ?? addResult.status - expect(serverStatus.status).toBe("failed") - // Transport must be closed to avoid leaked HTTP connections - expect(transportCloseCount).toBeGreaterThanOrEqual(1) - }), - ), + const serverStatus = (addResult.status as any)["hanging-remote"] ?? addResult.status + expect(serverStatus.status).toBe("failed") + // Transport must be closed to avoid leaked HTTP connections + expect(transportCloseCount).toBeGreaterThanOrEqual(1) + }), + ), + { config: { mcp: {} } }, ) // ======================================================================== // Test: transport leak — failed remote transports not closed (#19168) // ======================================================================== -test( +it.instance( "failed remote transport is closed before trying next transport", - withInstance({}, (mcp) => - Effect.gen(function* () { - lastCreatedClientName = "fail-remote" - getOrCreateClientState("fail-remote") - connectShouldFail = true - connectError = "Connection refused" + () => + MCP.Service.use((mcp: MCPNS.Interface) => + Effect.gen(function* () { + lastCreatedClientName = "fail-remote" + getOrCreateClientState("fail-remote") + connectShouldFail = true + connectError = "Connection refused" - const addResult = yield* mcp.add("fail-remote", { - type: "remote", - url: "http://localhost:9999/mcp", - timeout: 5000, - oauth: false, - }) + const addResult = yield* mcp.add("fail-remote", { + type: "remote", + url: "http://localhost:9999/mcp", + timeout: 5000, + oauth: false, + }) - const serverStatus = (addResult.status as any)["fail-remote"] ?? addResult.status - expect(serverStatus.status).toBe("failed") - // Both StreamableHTTP and SSE transports should be closed - expect(transportCloseCount).toBeGreaterThanOrEqual(2) - }), - ), + const serverStatus = (addResult.status as any)["fail-remote"] ?? addResult.status + expect(serverStatus.status).toBe("failed") + // Both StreamableHTTP and SSE transports should be closed + expect(transportCloseCount).toBeGreaterThanOrEqual(2) + }), + ), + { config: { mcp: {} } }, ) diff --git a/packages/opencode/test/memory/abort-leak-webfetch.ts b/packages/opencode/test/memory/abort-leak-webfetch.ts deleted file mode 100644 index c3197f8dd5..0000000000 --- a/packages/opencode/test/memory/abort-leak-webfetch.ts +++ /dev/null @@ -1,49 +0,0 @@ -import { abortAfterAny } from "../../src/util/abort" - -const MB = 1024 * 1024 -const ITERATIONS = 50 - -const heap = () => { - Bun.gc(true) - return process.memoryUsage().heapUsed / MB -} - -const server = Bun.serve({ - port: 0, - fetch() { - return new Response("hello from local", { - headers: { - "content-type": "text/plain", - }, - }) - }, -}) - -const url = `http://127.0.0.1:${server.port}` - -async function run() { - const { signal, clearTimeout } = abortAfterAny(30000, new AbortController().signal) - try { - const response = await fetch(url, { signal }) - await response.text() - } finally { - clearTimeout() - } -} - -try { - await run() - Bun.sleepSync(100) - const baseline = heap() - - for (let i = 0; i < ITERATIONS; i++) { - await run() - } - - Bun.sleepSync(100) - const after = heap() - process.stdout.write(JSON.stringify({ baseline, after, growth: after - baseline })) -} finally { - void server.stop(true) - process.exit(0) -} diff --git a/packages/opencode/test/memory/abort-leak.test.ts b/packages/opencode/test/memory/abort-leak.test.ts deleted file mode 100644 index d30ad45e46..0000000000 --- a/packages/opencode/test/memory/abort-leak.test.ts +++ /dev/null @@ -1,127 +0,0 @@ -import { describe, test, expect } from "bun:test" -import path from "path" - -const projectRoot = path.join(import.meta.dir, "../..") -const worker = path.join(import.meta.dir, "abort-leak-webfetch.ts") - -const MB = 1024 * 1024 -const ITERATIONS = 50 - -const getHeapMB = () => { - Bun.gc(true) - return process.memoryUsage().heapUsed / MB -} - -describe("memory: abort controller leak", () => { - test("webfetch does not leak memory over many invocations", async () => { - // Measure the abort-timed fetch path in a fresh process so shared tool - // runtime state does not dominate the heap signal. - const proc = Bun.spawn({ - cmd: [process.execPath, worker], - cwd: projectRoot, - stdout: "pipe", - stderr: "pipe", - env: process.env, - }) - - const [code, stdout, stderr] = await Promise.all([ - proc.exited, - new Response(proc.stdout).text(), - new Response(proc.stderr).text(), - ]) - - if (code !== 0) { - throw new Error(stderr.trim() || stdout.trim() || `worker exited with code ${code}`) - } - - const result = JSON.parse(stdout.trim()) as { - baseline: number - after: number - growth: number - } - - console.log(`Baseline: ${result.baseline.toFixed(2)} MB`) - console.log(`After ${ITERATIONS} fetches: ${result.after.toFixed(2)} MB`) - console.log(`Growth: ${result.growth.toFixed(2)} MB`) - - // Memory growth should be minimal - less than 1MB per 10 requests. - expect(result.growth).toBeLessThan(ITERATIONS / 10) - }, 60000) - - test("compare closure vs bind pattern directly", async () => { - const ITERATIONS = 500 - - // Test OLD pattern: arrow function closure - // Store closures in a map keyed by content to force retention - const closureMap = new Map void>() - const timers: Timer[] = [] - const controllers: AbortController[] = [] - - Bun.gc(true) - Bun.sleepSync(100) - const baseline = getHeapMB() - - for (let i = 0; i < ITERATIONS; i++) { - // Simulate large response body like webfetch would have - const content = `${i}:${"x".repeat(50 * 1024)}` // 50KB unique per iteration - const controller = new AbortController() - controllers.push(controller) - - // OLD pattern - closure captures `content` - const handler = () => { - // Actually use content so it can't be optimized away - if (content.length > 1000000000) controller.abort() - } - closureMap.set(content, handler) - const timeoutId = setTimeout(handler, 30000) - timers.push(timeoutId) - } - - Bun.gc(true) - Bun.sleepSync(100) - const after = getHeapMB() - const oldGrowth = after - baseline - - console.log(`OLD pattern (closure): ${oldGrowth.toFixed(2)} MB growth (${closureMap.size} closures)`) - - // Cleanup after measuring - timers.forEach(clearTimeout) - controllers.forEach((c) => c.abort()) - closureMap.clear() - - // Test NEW pattern: bind - Bun.gc(true) - Bun.sleepSync(100) - const baseline2 = getHeapMB() - const handlers2: (() => void)[] = [] - const timers2: Timer[] = [] - const controllers2: AbortController[] = [] - - for (let i = 0; i < ITERATIONS; i++) { - const _content = `${i}:${"x".repeat(50 * 1024)}` // 50KB - won't be captured - const controller = new AbortController() - controllers2.push(controller) - - // NEW pattern - bind doesn't capture surrounding scope - const handler = controller.abort.bind(controller) - handlers2.push(handler) - const timeoutId = setTimeout(handler, 30000) - timers2.push(timeoutId) - } - - Bun.gc(true) - Bun.sleepSync(100) - const after2 = getHeapMB() - const newGrowth = after2 - baseline2 - - // Cleanup after measuring - timers2.forEach(clearTimeout) - controllers2.forEach((c) => c.abort()) - handlers2.length = 0 - - console.log(`NEW pattern (bind): ${newGrowth.toFixed(2)} MB growth`) - console.log(`Improvement: ${(oldGrowth - newGrowth).toFixed(2)} MB saved`) - - expect(newGrowth).toBeLessThanOrEqual(oldGrowth) - }) -}) diff --git a/packages/opencode/test/permission/next.test.ts b/packages/opencode/test/permission/next.test.ts index 1c3d6fc563..1b09c36afd 100644 --- a/packages/opencode/test/permission/next.test.ts +++ b/packages/opencode/test/permission/next.test.ts @@ -1,31 +1,26 @@ -import { afterEach, test, expect } from "bun:test" +import { test, expect } from "bun:test" import os from "os" -import { Cause, Effect, Exit, Fiber, Layer } from "effect" +import { Cause, Deferred, Effect, Exit, Fiber, Layer } from "effect" import { Bus } from "../../src/bus" import { CrossSpawnSpawner } from "@opencode-ai/core/cross-spawn-spawner" import { Permission } from "../../src/permission" import { PermissionID } from "../../src/permission/schema" -import { Instance } from "../../src/project/instance" -import { WithInstance } from "../../src/project/with-instance" -import { InstanceRuntime } from "../../src/project/instance-runtime" -import { - disposeAllInstances, - provideInstance, - provideTmpdirInstance, - reloadTestInstance, - tmpdirScoped, -} from "../fixture/fixture" +import { InstanceBootstrap } from "../../src/project/bootstrap-service" +import { InstanceStore } from "../../src/project/instance-store" +import { TestInstance, tmpdirScoped } from "../fixture/fixture" import { testEffect } from "../lib/effect" import { MessageID, SessionID } from "../../src/session/schema" const bus = Bus.layer -const env = Layer.mergeAll(Permission.layer.pipe(Layer.provide(bus)), bus, CrossSpawnSpawner.defaultLayer) +const noopBootstrap = Layer.succeed(InstanceBootstrap.Service, InstanceBootstrap.Service.of({ run: Effect.void })) +const env = Layer.mergeAll( + Permission.layer.pipe(Layer.provide(bus)), + bus, + CrossSpawnSpawner.defaultLayer, + InstanceStore.defaultLayer.pipe(Layer.provide(noopBootstrap)), +) const it = testEffect(env) -afterEach(async () => { - await disposeAllInstances() -}) - const rejectAll = (message?: string) => Effect.gen(function* () { const permission = yield* Permission.Service @@ -41,12 +36,18 @@ const rejectAll = (message?: string) => const waitForPending = (count: number) => Effect.gen(function* () { const permission = yield* Permission.Service - for (let i = 0; i < 100; i++) { - const list = yield* permission.list() - if (list.length === count) return list - yield* Effect.sleep("10 millis") - } - return yield* Effect.fail(new Error(`timed out waiting for ${count} pending permission request(s)`)) + return yield* Effect.gen(function* () { + while (true) { + const list = yield* permission.list() + if (list.length === count) return list + yield* Effect.sleep("10 millis") + } + }).pipe( + Effect.timeoutOrElse({ + duration: "1 second", + orElse: () => Effect.fail(new Error(`timed out waiting for ${count} pending permission request(s)`)), + }), + ) }) const fail = (self: Effect.Effect) => @@ -74,14 +75,6 @@ const list = () => return yield* permission.list() }) -function withDir(options: { git?: boolean } | undefined, self: (dir: string) => Effect.Effect) { - return provideTmpdirInstance(self, options) -} - -function withProvided(dir: string) { - return (self: Effect.Effect) => self.pipe(provideInstance(dir)) -} - // fromConfig tests test("fromConfig - string value becomes wildcard rule", () => { @@ -563,8 +556,9 @@ test("disabled - specific allow overrides wildcard deny", () => { // ask tests -it.live("ask - resolves immediately when action is allow", () => - withDir({ git: true }, () => +it.instance( + "ask - resolves immediately when action is allow", + () => Effect.gen(function* () { const result = yield* ask({ sessionID: SessionID.make("session_test"), @@ -576,11 +570,12 @@ it.live("ask - resolves immediately when action is allow", () => }) expect(result).toBeUndefined() }), - ), + { git: true }, ) -it.live("ask - throws DeniedError when action is deny", () => - withDir({ git: true }, () => +it.instance( + "ask - throws DeniedError when action is deny", + () => Effect.gen(function* () { const err = yield* fail( ask({ @@ -594,11 +589,12 @@ it.live("ask - throws DeniedError when action is deny", () => ) expect(err).toBeInstanceOf(Permission.DeniedError) }), - ), + { git: true }, ) -it.live("ask - stays pending when action is ask", () => - withDir({ git: true }, () => +it.instance( + "ask - stays pending when action is ask", + () => Effect.gen(function* () { const fiber = yield* ask({ sessionID: SessionID.make("session_test"), @@ -613,11 +609,12 @@ it.live("ask - stays pending when action is ask", () => yield* rejectAll() yield* Fiber.await(fiber) }), - ), + { git: true }, ) -it.live("ask - adds request to pending list", () => - withDir({ git: true }, () => +it.instance( + "ask - adds request to pending list", + () => Effect.gen(function* () { const fiber = yield* ask({ sessionID: SessionID.make("session_test"), @@ -649,53 +646,58 @@ it.live("ask - adds request to pending list", () => yield* rejectAll() yield* Fiber.await(fiber) }), - ), + { git: true }, ) -it.live("ask - publishes asked event", () => - withDir({ git: true }, () => +it.instance( + "ask - publishes asked event", + () => Effect.gen(function* () { const bus = yield* Bus.Service - let seen: Permission.Request | undefined + const seen = yield* Deferred.make() const unsub = yield* bus.subscribeCallback(Permission.Event.Asked, (event) => { - seen = event.properties + Deferred.doneUnsafe(seen, Effect.succeed(event.properties)) + }) + yield* Effect.addFinalizer(() => Effect.sync(unsub)) + + const fiber = yield* ask({ + sessionID: SessionID.make("session_test"), + permission: "bash", + patterns: ["ls"], + metadata: { cmd: "ls" }, + always: ["ls"], + tool: { + messageID: MessageID.make("msg_test"), + callID: "call_test", + }, + ruleset: [], + }).pipe(Effect.forkScoped) + + expect(yield* waitForPending(1)).toHaveLength(1) + expect( + yield* Deferred.await(seen).pipe( + Effect.timeoutOrElse({ + duration: "1 second", + orElse: () => Effect.fail(new Error("timed out waiting for permission asked event")), + }), + ), + ).toMatchObject({ + sessionID: SessionID.make("session_test"), + permission: "bash", + patterns: ["ls"], }) - try { - const fiber = yield* ask({ - sessionID: SessionID.make("session_test"), - permission: "bash", - patterns: ["ls"], - metadata: { cmd: "ls" }, - always: ["ls"], - tool: { - messageID: MessageID.make("msg_test"), - callID: "call_test", - }, - ruleset: [], - }).pipe(Effect.forkScoped) - - expect(yield* waitForPending(1)).toHaveLength(1) - expect(seen).toBeDefined() - expect(seen).toMatchObject({ - sessionID: SessionID.make("session_test"), - permission: "bash", - patterns: ["ls"], - }) - - yield* rejectAll() - yield* Fiber.await(fiber) - } finally { - unsub() - } + yield* rejectAll() + yield* Fiber.await(fiber) }), - ), + { git: true }, ) // reply tests -it.live("reply - once resolves the pending ask", () => - withDir({ git: true }, () => +it.instance( + "reply - once resolves the pending ask", + () => Effect.gen(function* () { const fiber = yield* ask({ id: PermissionID.make("per_test1"), @@ -711,11 +713,12 @@ it.live("reply - once resolves the pending ask", () => yield* reply({ requestID: PermissionID.make("per_test1"), reply: "once" }) yield* Fiber.join(fiber) }), - ), + { git: true }, ) -it.live("reply - reject throws RejectedError", () => - withDir({ git: true }, () => +it.instance( + "reply - reject throws RejectedError", + () => Effect.gen(function* () { const fiber = yield* ask({ id: PermissionID.make("per_test2"), @@ -734,11 +737,12 @@ it.live("reply - reject throws RejectedError", () => expect(Exit.isFailure(exit)).toBe(true) if (Exit.isFailure(exit)) expect(Cause.squash(exit.cause)).toBeInstanceOf(Permission.RejectedError) }), - ), + { git: true }, ) -it.live("reply - reject with message throws CorrectedError", () => - withDir({ git: true }, () => +it.instance( + "reply - reject with message throws CorrectedError", + () => Effect.gen(function* () { const fiber = yield* ask({ id: PermissionID.make("per_test2b"), @@ -765,41 +769,43 @@ it.live("reply - reject with message throws CorrectedError", () => expect(String(err)).toContain("Use a safer command") } }), - ), + { git: true }, ) -it.live("reply - always persists approval and resolves", () => - Effect.gen(function* () { - const dir = yield* tmpdirScoped({ git: true }) - const run = withProvided(dir) - const fiber = yield* ask({ - id: PermissionID.make("per_test3"), - sessionID: SessionID.make("session_test"), - permission: "bash", - patterns: ["ls"], - metadata: {}, - always: ["ls"], - ruleset: [], - }).pipe(run, Effect.forkScoped) +it.instance( + "reply - always persists approval and resolves", + () => + Effect.gen(function* () { + const fiber = yield* ask({ + id: PermissionID.make("per_test3"), + sessionID: SessionID.make("session_test"), + permission: "bash", + patterns: ["ls"], + metadata: {}, + always: ["ls"], + ruleset: [], + }).pipe(Effect.forkScoped) - yield* waitForPending(1).pipe(run) - yield* reply({ requestID: PermissionID.make("per_test3"), reply: "always" }).pipe(run) - yield* Fiber.join(fiber) + yield* waitForPending(1) + yield* reply({ requestID: PermissionID.make("per_test3"), reply: "always" }) + yield* Fiber.join(fiber) - const result = yield* ask({ - sessionID: SessionID.make("session_test2"), - permission: "bash", - patterns: ["ls"], - metadata: {}, - always: [], - ruleset: [], - }).pipe(run) - expect(result).toBeUndefined() - }), + const result = yield* ask({ + sessionID: SessionID.make("session_test2"), + permission: "bash", + patterns: ["ls"], + metadata: {}, + always: [], + ruleset: [], + }) + expect(result).toBeUndefined() + }), + { git: true }, ) -it.live("reply - reject cancels all pending for same session", () => - withDir({ git: true }, () => +it.instance( + "reply - reject cancels all pending for same session", + () => Effect.gen(function* () { const a = yield* ask({ id: PermissionID.make("per_test4a"), @@ -830,11 +836,12 @@ it.live("reply - reject cancels all pending for same session", () => if (Exit.isFailure(ea)) expect(Cause.squash(ea.cause)).toBeInstanceOf(Permission.RejectedError) if (Exit.isFailure(eb)) expect(Cause.squash(eb.cause)).toBeInstanceOf(Permission.RejectedError) }), - ), + { git: true }, ) -it.live("reply - always resolves matching pending requests in same session", () => - withDir({ git: true }, () => +it.instance( + "reply - always resolves matching pending requests in same session", + () => Effect.gen(function* () { const a = yield* ask({ id: PermissionID.make("per_test5a"), @@ -863,11 +870,12 @@ it.live("reply - always resolves matching pending requests in same session", () yield* Fiber.join(b) expect(yield* list()).toHaveLength(0) }), - ), + { git: true }, ) -it.live("reply - always keeps other session pending", () => - withDir({ git: true }, () => +it.instance( + "reply - always keeps other session pending", + () => Effect.gen(function* () { const a = yield* ask({ id: PermissionID.make("per_test6a"), @@ -898,24 +906,15 @@ it.live("reply - always keeps other session pending", () => yield* rejectAll() yield* Fiber.await(b) }), - ), + { git: true }, ) -it.live("reply - publishes replied event", () => - withDir({ git: true }, () => +it.instance( + "reply - publishes replied event", + () => Effect.gen(function* () { const bus = yield* Bus.Service - let resolve!: (value: { sessionID: SessionID; requestID: PermissionID; reply: Permission.Reply }) => void - const seen = Effect.promise<{ - sessionID: SessionID - requestID: PermissionID - reply: Permission.Reply - }>( - () => - new Promise((res) => { - resolve = res - }), - ) + const seen = yield* Deferred.make<{ sessionID: SessionID; requestID: PermissionID; reply: Permission.Reply }>() const fiber = yield* ask({ id: PermissionID.make("per_test7"), @@ -930,126 +929,146 @@ it.live("reply - publishes replied event", () => yield* waitForPending(1) const unsub = yield* bus.subscribeCallback(Permission.Event.Replied, (event) => { - resolve(event.properties) + Deferred.doneUnsafe(seen, Effect.succeed(event.properties)) }) + yield* Effect.addFinalizer(() => Effect.sync(unsub)) - try { - yield* reply({ requestID: PermissionID.make("per_test7"), reply: "once" }) - yield* Fiber.join(fiber) - expect(yield* seen).toEqual({ - sessionID: SessionID.make("session_test"), - requestID: PermissionID.make("per_test7"), - reply: "once", - }) - } finally { - unsub() - } + yield* reply({ requestID: PermissionID.make("per_test7"), reply: "once" }) + yield* Fiber.join(fiber) + expect( + yield* Deferred.await(seen).pipe( + Effect.timeoutOrElse({ + duration: "1 second", + orElse: () => Effect.fail(new Error("timed out waiting for permission replied event")), + }), + ), + ).toEqual({ + sessionID: SessionID.make("session_test"), + requestID: PermissionID.make("per_test7"), + reply: "once", + }) }), - ), + { git: true }, ) it.live("permission requests stay isolated by directory", () => Effect.gen(function* () { const one = yield* tmpdirScoped({ git: true }) const two = yield* tmpdirScoped({ git: true }) - const runOne = withProvided(one) - const runTwo = withProvided(two) + const store = yield* InstanceStore.Service - const a = yield* ask({ - id: PermissionID.make("per_dir_a"), - sessionID: SessionID.make("session_dir_a"), - permission: "bash", - patterns: ["ls"], - metadata: {}, - always: [], - ruleset: [], - }).pipe(runOne, Effect.forkScoped) + const a = yield* store + .provide( + { directory: one }, + ask({ + id: PermissionID.make("per_dir_a"), + sessionID: SessionID.make("session_dir_a"), + permission: "bash", + patterns: ["ls"], + metadata: {}, + always: [], + ruleset: [], + }), + ) + .pipe(Effect.forkScoped) - const b = yield* ask({ - id: PermissionID.make("per_dir_b"), - sessionID: SessionID.make("session_dir_b"), - permission: "bash", - patterns: ["pwd"], - metadata: {}, - always: [], - ruleset: [], - }).pipe(runTwo, Effect.forkScoped) + const b = yield* store + .provide( + { directory: two }, + ask({ + id: PermissionID.make("per_dir_b"), + sessionID: SessionID.make("session_dir_b"), + permission: "bash", + patterns: ["pwd"], + metadata: {}, + always: [], + ruleset: [], + }), + ) + .pipe(Effect.forkScoped) - const onePending = yield* waitForPending(1).pipe(runOne) - const twoPending = yield* waitForPending(1).pipe(runTwo) + const onePending = yield* store.provide({ directory: one }, waitForPending(1)) + const twoPending = yield* store.provide({ directory: two }, waitForPending(1)) expect(onePending).toHaveLength(1) expect(twoPending).toHaveLength(1) expect(onePending[0].id).toBe(PermissionID.make("per_dir_a")) expect(twoPending[0].id).toBe(PermissionID.make("per_dir_b")) - yield* reply({ requestID: onePending[0].id, reply: "reject" }).pipe(runOne) - yield* reply({ requestID: twoPending[0].id, reply: "reject" }).pipe(runTwo) + yield* store.provide({ directory: one }, reply({ requestID: onePending[0].id, reply: "reject" })) + yield* store.provide({ directory: two }, reply({ requestID: twoPending[0].id, reply: "reject" })) yield* Fiber.await(a) yield* Fiber.await(b) }), ) -it.live("pending permission rejects on instance dispose", () => - Effect.gen(function* () { - const dir = yield* tmpdirScoped({ git: true }) - const run = withProvided(dir) - const fiber = yield* ask({ - id: PermissionID.make("per_dispose"), - sessionID: SessionID.make("session_dispose"), - permission: "bash", - patterns: ["ls"], - metadata: {}, - always: [], - ruleset: [], - }).pipe(run, Effect.forkScoped) +it.instance( + "pending permission rejects on instance dispose", + () => + Effect.gen(function* () { + const test = yield* TestInstance + const store = yield* InstanceStore.Service + const fiber = yield* ask({ + id: PermissionID.make("per_dispose"), + sessionID: SessionID.make("session_dispose"), + permission: "bash", + patterns: ["ls"], + metadata: {}, + always: [], + ruleset: [], + }).pipe(Effect.forkScoped) - expect(yield* waitForPending(1).pipe(run)).toHaveLength(1) - yield* Effect.promise(() => - WithInstance.provide({ directory: dir, fn: () => void InstanceRuntime.disposeInstance(Instance.current) }), - ) + expect(yield* waitForPending(1)).toHaveLength(1) + const ctx = yield* store.load({ directory: test.directory }) + yield* store.dispose(ctx) - const exit = yield* Fiber.await(fiber) - expect(Exit.isFailure(exit)).toBe(true) - if (Exit.isFailure(exit)) expect(Cause.squash(exit.cause)).toBeInstanceOf(Permission.RejectedError) - }), + const exit = yield* Fiber.await(fiber) + expect(Exit.isFailure(exit)).toBe(true) + if (Exit.isFailure(exit)) expect(Cause.squash(exit.cause)).toBeInstanceOf(Permission.RejectedError) + }), + { git: true }, ) -it.live("pending permission rejects on instance reload", () => - Effect.gen(function* () { - const dir = yield* tmpdirScoped({ git: true }) - const run = withProvided(dir) - const fiber = yield* ask({ - id: PermissionID.make("per_reload"), - sessionID: SessionID.make("session_reload"), - permission: "bash", - patterns: ["ls"], - metadata: {}, - always: [], - ruleset: [], - }).pipe(run, Effect.forkScoped) +it.instance( + "pending permission rejects on instance reload", + () => + Effect.gen(function* () { + const test = yield* TestInstance + const store = yield* InstanceStore.Service + const fiber = yield* ask({ + id: PermissionID.make("per_reload"), + sessionID: SessionID.make("session_reload"), + permission: "bash", + patterns: ["ls"], + metadata: {}, + always: [], + ruleset: [], + }).pipe(Effect.forkScoped) - expect(yield* waitForPending(1).pipe(run)).toHaveLength(1) - yield* Effect.promise(() => reloadTestInstance({ directory: dir })) + expect(yield* waitForPending(1)).toHaveLength(1) + yield* store.reload({ directory: test.directory }) - const exit = yield* Fiber.await(fiber) - expect(Exit.isFailure(exit)).toBe(true) - if (Exit.isFailure(exit)) expect(Cause.squash(exit.cause)).toBeInstanceOf(Permission.RejectedError) - }), + const exit = yield* Fiber.await(fiber) + expect(Exit.isFailure(exit)).toBe(true) + if (Exit.isFailure(exit)) expect(Cause.squash(exit.cause)).toBeInstanceOf(Permission.RejectedError) + }), + { git: true }, ) -it.live("reply - does nothing for unknown requestID", () => - withDir({ git: true }, () => +it.instance( + "reply - does nothing for unknown requestID", + () => Effect.gen(function* () { yield* reply({ requestID: PermissionID.make("per_unknown"), reply: "once" }) expect(yield* list()).toHaveLength(0) }), - ), + { git: true }, ) -it.live("ask - checks all patterns and stops on first deny", () => - withDir({ git: true }, () => +it.instance( + "ask - checks all patterns and stops on first deny", + () => Effect.gen(function* () { const err = yield* fail( ask({ @@ -1066,11 +1085,12 @@ it.live("ask - checks all patterns and stops on first deny", () => ) expect(err).toBeInstanceOf(Permission.DeniedError) }), - ), + { git: true }, ) -it.live("ask - allows all patterns when all match allow rules", () => - withDir({ git: true }, () => +it.instance( + "ask - allows all patterns when all match allow rules", + () => Effect.gen(function* () { const result = yield* ask({ sessionID: SessionID.make("session_test"), @@ -1082,11 +1102,12 @@ it.live("ask - allows all patterns when all match allow rules", () => }) expect(result).toBeUndefined() }), - ), + { git: true }, ) -it.live("ask - should deny even when an earlier pattern is ask", () => - withDir({ git: true }, () => +it.instance( + "ask - should deny even when an earlier pattern is ask", + () => Effect.gen(function* () { const err = yield* fail( ask({ @@ -1105,30 +1126,33 @@ it.live("ask - should deny even when an earlier pattern is ask", () => expect(err).toBeInstanceOf(Permission.DeniedError) expect(yield* list()).toHaveLength(0) }), - ), + { git: true }, ) -it.live("ask - abort should clear pending request", () => - Effect.gen(function* () { - const dir = yield* tmpdirScoped({ git: true }) - const run = withProvided(dir) +it.instance( + "ask - abort should clear pending request", + () => + Effect.gen(function* () { + const test = yield* TestInstance + const store = yield* InstanceStore.Service - const fiber = yield* ask({ - id: PermissionID.make("per_reload"), - sessionID: SessionID.make("session_reload"), - permission: "bash", - patterns: ["ls"], - metadata: {}, - always: [], - ruleset: [{ permission: "bash", pattern: "*", action: "ask" }], - }).pipe(run, Effect.forkScoped) + const fiber = yield* ask({ + id: PermissionID.make("per_reload"), + sessionID: SessionID.make("session_reload"), + permission: "bash", + patterns: ["ls"], + metadata: {}, + always: [], + ruleset: [{ permission: "bash", pattern: "*", action: "ask" }], + }).pipe(Effect.forkScoped) - const pending = yield* waitForPending(1).pipe(run) - expect(pending).toHaveLength(1) - yield* Effect.promise(() => reloadTestInstance({ directory: dir })) + const pending = yield* waitForPending(1) + expect(pending).toHaveLength(1) + yield* store.reload({ directory: test.directory }) - const exit = yield* Fiber.await(fiber) - expect(Exit.isFailure(exit)).toBe(true) - if (Exit.isFailure(exit)) expect(Cause.squash(exit.cause)).toBeInstanceOf(Permission.RejectedError) - }), + const exit = yield* Fiber.await(fiber) + expect(Exit.isFailure(exit)).toBe(true) + if (Exit.isFailure(exit)) expect(Cause.squash(exit.cause)).toBeInstanceOf(Permission.RejectedError) + }), + { git: true }, ) diff --git a/packages/opencode/test/plugin/auth-override.test.ts b/packages/opencode/test/plugin/auth-override.test.ts index 402d755da7..adc66e48c5 100644 --- a/packages/opencode/test/plugin/auth-override.test.ts +++ b/packages/opencode/test/plugin/auth-override.test.ts @@ -7,6 +7,7 @@ import { provideInstance, TestInstance, tmpdirScoped } from "../fixture/fixture" import { ProviderAuth } from "@/provider/auth" import { ProviderID } from "../../src/provider/schema" import { Plugin } from "@/plugin" +import { RuntimeFlags } from "@/effect/runtime-flags" import { Auth } from "@/auth" import { Bus } from "@/bus" import { TestConfig } from "../fixture/config" @@ -21,6 +22,7 @@ function layer(directory: string, plugins: string[]) { Layer.provide( Plugin.layer.pipe( Layer.provide(Bus.layer), + Layer.provide(RuntimeFlags.layer()), Layer.provide( TestConfig.layer({ get: () => diff --git a/packages/opencode/test/plugin/loader-shared.test.ts b/packages/opencode/test/plugin/loader-shared.test.ts index 1b6372390e..6b1dd306dc 100644 --- a/packages/opencode/test/plugin/loader-shared.test.ts +++ b/packages/opencode/test/plugin/loader-shared.test.ts @@ -1,4 +1,4 @@ -import { afterAll, afterEach, describe, expect, spyOn } from "bun:test" +import { afterEach, describe, expect, spyOn } from "bun:test" import { Effect, Layer } from "effect" import fs from "fs/promises" import path from "path" @@ -8,23 +8,13 @@ import { disposeAllInstances, provideInstance, tmpdirScoped } from "../fixture/f import { testEffect } from "../lib/effect" import { Filesystem } from "@/util/filesystem" -const disableDefault = process.env.OPENCODE_DISABLE_DEFAULT_PLUGINS -process.env.OPENCODE_DISABLE_DEFAULT_PLUGINS = "1" - const { Plugin } = await import("../../src/plugin/index") const { PluginLoader } = await import("../../src/plugin/loader") const { readPackageThemes } = await import("../../src/plugin/shared") const { Bus } = await import("../../src/bus") const { Npm } = await import("@opencode-ai/core/npm") const { TestConfig } = await import("../fixture/config") - -afterAll(() => { - if (disableDefault === undefined) { - delete process.env.OPENCODE_DISABLE_DEFAULT_PLUGINS - return - } - process.env.OPENCODE_DISABLE_DEFAULT_PLUGINS = disableDefault -}) +const { RuntimeFlags } = await import("../../src/effect/runtime-flags") afterEach(async () => { await disposeAllInstances() @@ -43,7 +33,7 @@ function withTmp( }) } -function load(dir: string) { +function load(dir: string, flags?: Parameters[0]) { const source = path.join(dir, "opencode.json") return Effect.gen(function* () { const config = yield* Effect.promise( @@ -57,6 +47,7 @@ function load(dir: string) { Effect.provide( Plugin.layer.pipe( Layer.provide(Bus.layer), + Layer.provide(RuntimeFlags.layer({ disableDefaultPlugins: true, ...flags })), Layer.provide( TestConfig.layer({ get: () => @@ -934,25 +925,14 @@ export default { }, (tmp) => Effect.gen(function* () { - const pure = process.env.OPENCODE_PURE - process.env.OPENCODE_PURE = "1" - - try { - yield* load(tmp.path) - const called = yield* Effect.promise(() => - fs - .readFile(tmp.extra.mark, "utf8") - .then(() => true) - .catch(() => false), - ) - expect(called).toBe(false) - } finally { - if (pure === undefined) { - delete process.env.OPENCODE_PURE - } else { - process.env.OPENCODE_PURE = pure - } - } + yield* load(tmp.path, { pure: true }) + const called = yield* Effect.promise(() => + fs + .readFile(tmp.extra.mark, "utf8") + .then(() => true) + .catch(() => false), + ) + expect(called).toBe(false) }), ), ) diff --git a/packages/opencode/test/plugin/trigger.test.ts b/packages/opencode/test/plugin/trigger.test.ts index 18fe0e82ef..94642fba62 100644 --- a/packages/opencode/test/plugin/trigger.test.ts +++ b/packages/opencode/test/plugin/trigger.test.ts @@ -10,6 +10,7 @@ import { Auth } from "../../src/auth" import { Bus } from "../../src/bus" import { Config } from "../../src/config/config" import { Env } from "../../src/env" +import { RuntimeFlags } from "../../src/effect/runtime-flags" import { Plugin } from "../../src/plugin/index" import { ModelID, ProviderID } from "../../src/provider/schema" import { provideTmpdirInstance } from "../fixture/fixture" @@ -33,7 +34,11 @@ const configLayer = Config.layer.pipe( ) const it = testEffect( Layer.mergeAll( - Plugin.layer.pipe(Layer.provide(Bus.layer), Layer.provide(configLayer)), + Plugin.layer.pipe( + Layer.provide(Bus.layer), + Layer.provide(configLayer), + Layer.provide(RuntimeFlags.layer({ disableDefaultPlugins: true })), + ), CrossSpawnSpawner.defaultLayer, ), ) diff --git a/packages/opencode/test/plugin/workspace-adapter.test.ts b/packages/opencode/test/plugin/workspace-adapter.test.ts index d4aaae4a9d..bef8604324 100644 --- a/packages/opencode/test/plugin/workspace-adapter.test.ts +++ b/packages/opencode/test/plugin/workspace-adapter.test.ts @@ -11,6 +11,7 @@ import { Auth } from "../../src/auth" import { Bus } from "../../src/bus" import { Config } from "../../src/config/config" import { Env } from "../../src/env" +import { RuntimeFlags } from "../../src/effect/runtime-flags" import { Workspace } from "../../src/control-plane/workspace" import { Plugin } from "../../src/plugin/index" import { InstanceBootstrap } from "../../src/project/bootstrap-service" @@ -35,7 +36,11 @@ const configLayer = Config.layer.pipe( Layer.provide(emptyAccount), Layer.provide(NpmTest.noop), ) -const pluginLayer = Plugin.layer.pipe(Layer.provide(Bus.layer), Layer.provide(configLayer)) +const pluginLayer = Plugin.layer.pipe( + Layer.provide(Bus.layer), + Layer.provide(configLayer), + Layer.provide(RuntimeFlags.layer({ disableDefaultPlugins: true })), +) const noopBootstrapLayer = Layer.succeed(InstanceBootstrap.Service, InstanceBootstrap.Service.of({ run: Effect.void })) const workspaceLayer = Workspace.defaultLayer.pipe( Layer.provide(InstanceStore.defaultLayer.pipe(Layer.provide(noopBootstrapLayer))), diff --git a/packages/opencode/test/preload.ts b/packages/opencode/test/preload.ts index b408f7ef11..6447c2fe93 100644 --- a/packages/opencode/test/preload.ts +++ b/packages/opencode/test/preload.ts @@ -45,7 +45,6 @@ process.env["OPENCODE_TEST_HOME"] = testHome // Set test managed config directory to isolate tests from system managed settings const testManagedConfigDir = path.join(dir, "managed") process.env["OPENCODE_TEST_MANAGED_CONFIG_DIR"] = testManagedConfigDir -process.env["OPENCODE_DISABLE_DEFAULT_PLUGINS"] = "true" // Write the cache version file to prevent global/index.ts from clearing the cache const cacheDir = path.join(dir, "cache", "opencode") diff --git a/packages/opencode/test/project/instance.test.ts b/packages/opencode/test/project/instance.test.ts index dc87fde45e..9c0f9150e1 100644 --- a/packages/opencode/test/project/instance.test.ts +++ b/packages/opencode/test/project/instance.test.ts @@ -1,4 +1,4 @@ -import { afterEach, describe, expect } from "bun:test" +import { describe, expect } from "bun:test" import { CrossSpawnSpawner } from "@opencode-ai/core/cross-spawn-spawner" import { Deferred, Effect, Fiber, Layer } from "effect" import { InstanceRef } from "../../src/effect/instance-ref" @@ -6,7 +6,7 @@ import { registerDisposer } from "../../src/effect/instance-registry" import { InstanceBootstrap } from "../../src/project/bootstrap-service" import { Instance } from "../../src/project/instance" import { InstanceStore } from "../../src/project/instance-store" -import { disposeAllInstances, TestInstance, tmpdirScoped } from "../fixture/fixture" +import { TestInstance, tmpdirScoped } from "../fixture/fixture" import { testEffect } from "../lib/effect" let bootstrapRun: Effect.Effect = Effect.void @@ -19,10 +19,22 @@ const it = testEffect( Layer.mergeAll(InstanceStore.defaultLayer, CrossSpawnSpawner.defaultLayer).pipe(Layer.provide(noopBootstrap)), ) -afterEach(async () => { - bootstrapRun = Effect.void - await disposeAllInstances() -}) +const setBootstrap = (run: Effect.Effect) => + Effect.acquireRelease( + Effect.sync(() => { + bootstrapRun = run + }), + () => + Effect.sync(() => { + bootstrapRun = Effect.void + }), + ) + +const registerDisposerScoped = (disposer: (directory: string) => Promise) => + Effect.acquireRelease( + Effect.sync(() => registerDisposer(disposer)), + (off) => Effect.sync(off), + ) describe("InstanceStore", () => { it.live("loads instance context without installing ALS for the caller", () => @@ -43,9 +55,11 @@ describe("InstanceStore", () => { const store = yield* InstanceStore.Service let initializedDirectory: string | undefined - bootstrapRun = Effect.gen(function* () { - initializedDirectory = (yield* InstanceRef)?.directory - }) + yield* setBootstrap( + Effect.gen(function* () { + initializedDirectory = (yield* InstanceRef)?.directory + }), + ) yield* store.load({ directory: dir }) expect(initializedDirectory).toBe(dir) @@ -59,9 +73,11 @@ describe("InstanceStore", () => { const store = yield* InstanceStore.Service let initialized = 0 - bootstrapRun = Effect.sync(() => { - initialized++ - }) + yield* setBootstrap( + Effect.sync(() => { + initialized++ + }), + ) const first = yield* store.load({ directory: dir }) const second = yield* store.load({ directory: dir }) @@ -78,18 +94,22 @@ describe("InstanceStore", () => { const release = yield* Deferred.make() let initialized = 0 - bootstrapRun = Effect.gen(function* () { - initialized++ - yield* Deferred.succeed(started, undefined) - yield* Deferred.await(release) - }) + yield* setBootstrap( + Effect.gen(function* () { + initialized++ + yield* Deferred.succeed(started, undefined) + yield* Deferred.await(release) + }), + ) const first = yield* store.load({ directory: dir }).pipe(Effect.forkScoped) yield* Deferred.await(started) - bootstrapRun = Effect.sync(() => { - initialized++ - }) + yield* setBootstrap( + Effect.sync(() => { + initialized++ + }), + ) const second = yield* store.load({ directory: dir }).pipe(Effect.forkScoped) expect(initialized).toBe(1) @@ -107,10 +127,12 @@ describe("InstanceStore", () => { const store = yield* InstanceStore.Service let attempts = 0 - bootstrapRun = Effect.sync(() => { - attempts++ - throw new Error("init failed") - }) + yield* setBootstrap( + Effect.sync(() => { + attempts++ + throw new Error("init failed") + }), + ) const failed = yield* store.load({ directory: dir }).pipe( Effect.as(false), Effect.catchCause(() => Effect.succeed(true)), @@ -118,9 +140,11 @@ describe("InstanceStore", () => { expect(failed).toBe(true) - bootstrapRun = Effect.sync(() => { - attempts++ - }) + yield* setBootstrap( + Effect.sync(() => { + attempts++ + }), + ) const ctx = yield* store.load({ directory: dir }) expect(ctx.directory).toBe(dir) @@ -149,16 +173,17 @@ describe("InstanceStore", () => { const reloading = yield* Deferred.make() const releaseReload = yield* Deferred.make() const disposed: Array = [] - const off = registerDisposer(async (directory) => { + yield* registerDisposerScoped(async (directory) => { disposed.push(directory) }) - yield* Effect.addFinalizer(() => Effect.sync(off)) const first = yield* store.load({ directory: dir }) - bootstrapRun = Effect.gen(function* () { - yield* Deferred.succeed(reloading, undefined) - yield* Deferred.await(releaseReload) - }) + yield* setBootstrap( + Effect.gen(function* () { + yield* Deferred.succeed(reloading, undefined) + yield* Deferred.await(releaseReload) + }), + ) const reload = yield* store.reload({ directory: dir }).pipe(Effect.forkScoped) yield* Deferred.await(reloading) @@ -178,22 +203,24 @@ describe("InstanceStore", () => { const dir = yield* tmpdirScoped({ git: true }) const store = yield* InstanceStore.Service const disposing = yield* Deferred.make() - const releaseDispose = yield* Deferred.make() + const releaseDispose = yield* Deferred.make<() => void>() const disposed: Array = [] - const off = registerDisposer(async (directory) => { + yield* registerDisposerScoped((directory) => { disposed.push(directory) Deferred.doneUnsafe(disposing, Effect.void) - await Effect.runPromise(Deferred.await(releaseDispose)) + return new Promise((resolve) => { + Deferred.doneUnsafe(releaseDispose, Effect.succeed(resolve)) + }) }) - yield* Effect.addFinalizer(() => Effect.sync(off)) yield* store.load({ directory: dir }) const first = yield* store.disposeAll().pipe(Effect.forkScoped) yield* Deferred.await(disposing) + const release = yield* Deferred.await(releaseDispose) const second = yield* store.disposeAll().pipe(Effect.forkScoped) expect(disposed).toEqual([dir]) - yield* Deferred.succeed(releaseDispose, undefined) + yield* Effect.sync(release) yield* Effect.all([Fiber.join(first), Fiber.join(second)]) expect(disposed).toEqual([dir]) }), @@ -205,10 +232,9 @@ describe("InstanceStore", () => { const dir2 = yield* tmpdirScoped({ git: true }) const store = yield* InstanceStore.Service const disposed: Array = [] - const off = registerDisposer(async (directory) => { + yield* registerDisposerScoped(async (directory) => { disposed.push(directory) }) - yield* Effect.addFinalizer(() => Effect.sync(off)) yield* store.load({ directory: dir1 }) yield* store.disposeAll() diff --git a/packages/opencode/test/project/worktree.test.ts b/packages/opencode/test/project/worktree.test.ts index bc8a2337b1..1de7600145 100644 --- a/packages/opencode/test/project/worktree.test.ts +++ b/packages/opencode/test/project/worktree.test.ts @@ -2,11 +2,13 @@ import { afterEach, describe, expect } from "bun:test" import path from "path" import { AppFileSystem } from "@opencode-ai/core/filesystem" import { CrossSpawnSpawner } from "@opencode-ai/core/cross-spawn-spawner" -import { Cause, Deferred, Effect, Exit, Layer } from "effect" +import { Cause, Deferred, Effect, Exit, Fiber, Layer } from "effect" import { GlobalBus, type GlobalEvent } from "../../src/bus/global" import { Git } from "../../src/git" +import { Instance } from "../../src/project/instance" +import { InstanceRuntime } from "../../src/project/instance-runtime" import { Worktree } from "../../src/worktree" -import { disposeAllInstances, TestInstance } from "../fixture/fixture" +import { disposeAllInstances, provideInstance, TestInstance } from "../fixture/fixture" import { testEffect } from "../lib/effect" const it = testEffect( @@ -28,7 +30,7 @@ const waitReady = Effect.fn("WorktreeTest.waitReady")(function* () { GlobalBus.on("event", on) yield* Effect.addFinalizer(() => Effect.sync(() => GlobalBus.off("event", on))) - return Deferred.await(ready).pipe( + return yield* Deferred.await(ready).pipe( Effect.timeoutOrElse({ duration: "10 seconds", orElse: () => Effect.fail(new Error("timed out waiting for worktree.ready")), @@ -36,6 +38,31 @@ const waitReady = Effect.fn("WorktreeTest.waitReady")(function* () { ) }) +const removeCreatedWorktree = (directory: string) => + Effect.gen(function* () { + const svc = yield* Worktree.Service + const ctx = yield* Effect.sync(() => Instance.current).pipe(provideInstance(directory)) + yield* Effect.promise(() => InstanceRuntime.disposeInstance(ctx)) + const ok = yield* svc.remove({ directory }) + if (!ok) return yield* Effect.fail(new Error(`failed to remove worktree ${directory}`)) + }) + +const withCreatedWorktree = ( + input: Parameters[0], + use: (created: { info: Worktree.Info; ready: { name: string; branch?: string } }) => Effect.Effect, +) => + Effect.acquireUseRelease( + Effect.gen(function* () { + const svc = yield* Worktree.Service + const ready = yield* waitReady().pipe(Effect.forkScoped) + const info = yield* svc.create(input) + const props = yield* Fiber.join(ready) + return { info, ready: props } + }), + use, + ({ info }) => removeCreatedWorktree(info.directory), + ) + const git = Effect.fn("WorktreeTest.git")(function* (cwd: string, args: string[]) { const service = yield* Git.Service const result = yield* service.run(args, { cwd }) @@ -125,7 +152,7 @@ describe("Worktree", () => { const test = yield* TestInstance const svc = yield* Worktree.Service const info = yield* svc.makeWorktreeInfo({ name: "detached-test", detached: true }) - const ready = yield* waitReady() + const ready = yield* waitReady().pipe(Effect.forkScoped) yield* svc.createFromInfo(info) const list = yield* git(test.directory, ["worktree", "list", "--porcelain"]) @@ -136,7 +163,7 @@ describe("Worktree", () => { const branch = yield* gitResult(info.directory, ["symbolic-ref", "-q", "--short", "HEAD"]) expect(branch.exitCode).not.toBe(0) - const props = yield* ready + const props = yield* Fiber.join(ready) expect(props.name).toBe(info.name) expect(props.branch).toBeUndefined() @@ -150,63 +177,45 @@ describe("Worktree", () => { it.instance( "create returns worktree info and remove cleans up", () => - Effect.gen(function* () { - const svc = yield* Worktree.Service - const ready = yield* waitReady() - const info = yield* svc.create() - - expect(info.name).toBeDefined() - expect(info.branch ?? "").toStartWith("opencode/") - expect(info.directory).toBeDefined() - - yield* ready - - const ok = yield* svc.remove({ directory: info.directory }) - expect(ok).toBe(true) - }), + withCreatedWorktree(undefined, ({ info }) => + Effect.gen(function* () { + expect(info.name).toBeDefined() + expect(info.branch ?? "").toStartWith("opencode/") + expect(info.directory).toBeDefined() + }), + ), { git: true }, ) it.instance( "create returns after setup and fires Event.Ready after bootstrap", () => - Effect.gen(function* () { - const test = yield* TestInstance - const fs = yield* AppFileSystem.Service - const svc = yield* Worktree.Service - const ready = yield* waitReady() - const info = yield* svc.create() + withCreatedWorktree(undefined, ({ info, ready }) => + Effect.gen(function* () { + const svc = yield* Worktree.Service - expect(info.name).toBeDefined() - expect(info.branch ?? "").toStartWith("opencode/") + expect(info.name).toBeDefined() + expect(info.branch ?? "").toStartWith("opencode/") - const text = yield* git(test.directory, ["worktree", "list", "--porcelain"]) - const next = yield* fs.realPath(info.directory).pipe(Effect.catch(() => Effect.succeed(info.directory))) - expect(normalize(text)).toContain(normalize(next)) + expect(ready.name).toBe(info.name) + expect(ready.branch).toBe(info.branch) - const props = yield* ready - expect(props.name).toBe(info.name) - expect(props.branch).toBe(info.branch) - - yield* svc.remove({ directory: info.directory }) - }), + const list = yield* svc.list() + expect(list).toContainEqual(expect.objectContaining({ name: info.name, branch: info.branch })) + }), + ), { git: true }, ) it.instance( "create with custom name", () => - Effect.gen(function* () { - const svc = yield* Worktree.Service - const ready = yield* waitReady() - const info = yield* svc.create({ name: "test-workspace" }) - - expect(info.name).toBe("test-workspace") - expect(info.branch).toBe("opencode/test-workspace") - - yield* ready - yield* svc.remove({ directory: info.directory }) - }), + withCreatedWorktree({ name: "test-workspace" }, ({ info }) => + Effect.gen(function* () { + expect(info.name).toBe("test-workspace") + expect(info.branch).toBe("opencode/test-workspace") + }), + ), { git: true }, ) }) @@ -219,7 +228,7 @@ describe("Worktree", () => { const test = yield* TestInstance const svc = yield* Worktree.Service const info = yield* svc.makeWorktreeInfo({ name: "from-info-test" }) - const ready = yield* waitReady() + const ready = yield* waitReady().pipe(Effect.forkScoped) yield* svc.createFromInfo(info) const list = yield* git(test.directory, ["worktree", "list", "--porcelain"]) @@ -227,8 +236,8 @@ describe("Worktree", () => { const normalizedDir = info.directory.replace(/\\/g, "/") expect(normalizedList).toContain(normalizedDir) - yield* ready - yield* svc.remove({ directory: info.directory }) + yield* Fiber.join(ready) + yield* removeCreatedWorktree(info.directory) }), { git: true }, ) diff --git a/packages/opencode/test/provider/copilot/convert-to-copilot-messages.test.ts b/packages/opencode/test/provider/copilot/convert-to-copilot-messages.test.ts new file mode 100644 index 0000000000..6f874db6d2 --- /dev/null +++ b/packages/opencode/test/provider/copilot/convert-to-copilot-messages.test.ts @@ -0,0 +1,523 @@ +import { convertToOpenAICompatibleChatMessages as convertToCopilotMessages } from "@/provider/sdk/copilot/chat/convert-to-openai-compatible-chat-messages" +import { describe, test, expect } from "bun:test" + +describe("system messages", () => { + test("should convert system message content to string", () => { + const result = convertToCopilotMessages([ + { + role: "system", + content: "You are a helpful assistant with AGENTS.md instructions.", + }, + ]) + + expect(result).toEqual([ + { + role: "system", + content: "You are a helpful assistant with AGENTS.md instructions.", + }, + ]) + }) +}) + +describe("user messages", () => { + test("should convert messages with only a text part to a string content", () => { + const result = convertToCopilotMessages([ + { + role: "user", + content: [{ type: "text", text: "Hello" }], + }, + ]) + + expect(result).toEqual([{ role: "user", content: "Hello" }]) + }) + + test("should convert messages with image parts", () => { + const result = convertToCopilotMessages([ + { + role: "user", + content: [ + { type: "text", text: "Hello" }, + { + type: "file", + data: Buffer.from([0, 1, 2, 3]).toString("base64"), + mediaType: "image/png", + }, + ], + }, + ]) + + expect(result).toEqual([ + { + role: "user", + content: [ + { type: "text", text: "Hello" }, + { + type: "image_url", + image_url: { url: "data:image/png;base64,AAECAw==" }, + }, + ], + }, + ]) + }) + + test("should convert messages with image parts from Uint8Array", () => { + const result = convertToCopilotMessages([ + { + role: "user", + content: [ + { type: "text", text: "Hi" }, + { + type: "file", + data: new Uint8Array([0, 1, 2, 3]), + mediaType: "image/png", + }, + ], + }, + ]) + + expect(result).toEqual([ + { + role: "user", + content: [ + { type: "text", text: "Hi" }, + { + type: "image_url", + image_url: { url: "data:image/png;base64,AAECAw==" }, + }, + ], + }, + ]) + }) + + test("should handle URL-based images", () => { + const result = convertToCopilotMessages([ + { + role: "user", + content: [ + { + type: "file", + data: new URL("https://example.com/image.jpg"), + mediaType: "image/*", + }, + ], + }, + ]) + + expect(result).toEqual([ + { + role: "user", + content: [ + { + type: "image_url", + image_url: { url: "https://example.com/image.jpg" }, + }, + ], + }, + ]) + }) + + test("should handle multiple text parts without flattening", () => { + const result = convertToCopilotMessages([ + { + role: "user", + content: [ + { type: "text", text: "Part 1" }, + { type: "text", text: "Part 2" }, + ], + }, + ]) + + expect(result).toEqual([ + { + role: "user", + content: [ + { type: "text", text: "Part 1" }, + { type: "text", text: "Part 2" }, + ], + }, + ]) + }) +}) + +describe("assistant messages", () => { + test("should convert assistant text messages", () => { + const result = convertToCopilotMessages([ + { + role: "assistant", + content: [{ type: "text", text: "Hello back!" }], + }, + ]) + + expect(result).toEqual([ + { + role: "assistant", + content: "Hello back!", + tool_calls: undefined, + reasoning_text: undefined, + reasoning_opaque: undefined, + }, + ]) + }) + + test("should handle assistant message with null content when only tool calls", () => { + const result = convertToCopilotMessages([ + { + role: "assistant", + content: [ + { + type: "tool-call", + toolCallId: "call1", + toolName: "calculator", + input: { a: 1, b: 2 }, + }, + ], + }, + ]) + + expect(result).toEqual([ + { + role: "assistant", + content: null, + tool_calls: [ + { + id: "call1", + type: "function", + function: { + name: "calculator", + arguments: JSON.stringify({ a: 1, b: 2 }), + }, + }, + ], + reasoning_text: undefined, + reasoning_opaque: undefined, + }, + ]) + }) + + test("should concatenate multiple text parts", () => { + const result = convertToCopilotMessages([ + { + role: "assistant", + content: [ + { type: "text", text: "First part. " }, + { type: "text", text: "Second part." }, + ], + }, + ]) + + expect(result[0].content).toBe("First part. Second part.") + }) +}) + +describe("tool calls", () => { + test("should stringify arguments to tool calls", () => { + const result = convertToCopilotMessages([ + { + role: "assistant", + content: [ + { + type: "tool-call", + input: { foo: "bar123" }, + toolCallId: "quux", + toolName: "thwomp", + }, + ], + }, + { + role: "tool", + content: [ + { + type: "tool-result", + toolCallId: "quux", + toolName: "thwomp", + output: { type: "json", value: { oof: "321rab" } }, + }, + ], + }, + ]) + + expect(result).toEqual([ + { + role: "assistant", + content: null, + tool_calls: [ + { + id: "quux", + type: "function", + function: { + name: "thwomp", + arguments: JSON.stringify({ foo: "bar123" }), + }, + }, + ], + reasoning_text: undefined, + reasoning_opaque: undefined, + }, + { + role: "tool", + tool_call_id: "quux", + content: JSON.stringify({ oof: "321rab" }), + }, + ]) + }) + + test("should handle text output type in tool results", () => { + const result = convertToCopilotMessages([ + { + role: "tool", + content: [ + { + type: "tool-result", + toolCallId: "call-1", + toolName: "getWeather", + output: { type: "text", value: "It is sunny today" }, + }, + ], + }, + ]) + + expect(result).toEqual([ + { + role: "tool", + tool_call_id: "call-1", + content: "It is sunny today", + }, + ]) + }) + + test("should handle multiple tool results as separate messages", () => { + const result = convertToCopilotMessages([ + { + role: "tool", + content: [ + { + type: "tool-result", + toolCallId: "call1", + toolName: "api1", + output: { type: "text", value: "Result 1" }, + }, + { + type: "tool-result", + toolCallId: "call2", + toolName: "api2", + output: { type: "text", value: "Result 2" }, + }, + ], + }, + ]) + + expect(result).toHaveLength(2) + expect(result[0]).toEqual({ + role: "tool", + tool_call_id: "call1", + content: "Result 1", + }) + expect(result[1]).toEqual({ + role: "tool", + tool_call_id: "call2", + content: "Result 2", + }) + }) + + test("should handle text plus multiple tool calls", () => { + const result = convertToCopilotMessages([ + { + role: "assistant", + content: [ + { type: "text", text: "Checking... " }, + { + type: "tool-call", + toolCallId: "call1", + toolName: "searchTool", + input: { query: "Weather" }, + }, + { type: "text", text: "Almost there..." }, + { + type: "tool-call", + toolCallId: "call2", + toolName: "mapsTool", + input: { location: "Paris" }, + }, + ], + }, + ]) + + expect(result).toEqual([ + { + role: "assistant", + content: "Checking... Almost there...", + tool_calls: [ + { + id: "call1", + type: "function", + function: { + name: "searchTool", + arguments: JSON.stringify({ query: "Weather" }), + }, + }, + { + id: "call2", + type: "function", + function: { + name: "mapsTool", + arguments: JSON.stringify({ location: "Paris" }), + }, + }, + ], + reasoning_text: undefined, + reasoning_opaque: undefined, + }, + ]) + }) +}) + +describe("reasoning (copilot-specific)", () => { + test("should omit reasoning_text without reasoning_opaque", () => { + const result = convertToCopilotMessages([ + { + role: "assistant", + content: [ + { type: "reasoning", text: "Let me think about this..." }, + { type: "text", text: "The answer is 42." }, + ], + }, + ]) + + expect(result).toEqual([ + { + role: "assistant", + content: "The answer is 42.", + tool_calls: undefined, + reasoning_text: undefined, + reasoning_opaque: undefined, + }, + ]) + }) + + test("should include reasoning_opaque from providerOptions", () => { + const result = convertToCopilotMessages([ + { + role: "assistant", + content: [ + { + type: "reasoning", + text: "Thinking...", + providerOptions: { + copilot: { reasoningOpaque: "opaque-signature-123" }, + }, + }, + { type: "text", text: "Done!" }, + ], + }, + ]) + + expect(result).toEqual([ + { + role: "assistant", + content: "Done!", + tool_calls: undefined, + reasoning_text: "Thinking...", + reasoning_opaque: "opaque-signature-123", + }, + ]) + }) + + test("should include reasoning_opaque from text part providerOptions", () => { + const result = convertToCopilotMessages([ + { + role: "assistant", + content: [ + { + type: "text", + text: "Done!", + providerOptions: { + copilot: { reasoningOpaque: "opaque-text-456" }, + }, + }, + ], + }, + ]) + + expect(result).toEqual([ + { + role: "assistant", + content: "Done!", + tool_calls: undefined, + reasoning_text: undefined, + reasoning_opaque: "opaque-text-456", + }, + ]) + }) + + test("should handle reasoning-only assistant message", () => { + const result = convertToCopilotMessages([ + { + role: "assistant", + content: [ + { + type: "reasoning", + text: "Just thinking, no response yet", + providerOptions: { + copilot: { reasoningOpaque: "sig-abc" }, + }, + }, + ], + }, + ]) + + expect(result).toEqual([ + { + role: "assistant", + content: null, + tool_calls: undefined, + reasoning_text: "Just thinking, no response yet", + reasoning_opaque: "sig-abc", + }, + ]) + }) +}) + +describe("full conversation", () => { + test("should convert a multi-turn conversation with reasoning", () => { + const result = convertToCopilotMessages([ + { + role: "system", + content: "You are a helpful assistant.", + }, + { + role: "user", + content: [{ type: "text", text: "What is 2+2?" }], + }, + { + role: "assistant", + content: [ + { + type: "reasoning", + text: "Let me calculate 2+2...", + providerOptions: { + copilot: { reasoningOpaque: "sig-abc" }, + }, + }, + { type: "text", text: "2+2 equals 4." }, + ], + }, + { + role: "user", + content: [{ type: "text", text: "What about 3+3?" }], + }, + ]) + + expect(result).toHaveLength(4) + + const systemMsg = result[0] + expect(systemMsg.role).toBe("system") + + // Assistant message should have reasoning fields + const assistantMsg = result[2] as { + reasoning_text?: string + reasoning_opaque?: string + } + expect(assistantMsg.reasoning_text).toBe("Let me calculate 2+2...") + expect(assistantMsg.reasoning_opaque).toBe("sig-abc") + }) +}) diff --git a/packages/opencode/test/provider/copilot/copilot-chat-model.test.ts b/packages/opencode/test/provider/copilot/copilot-chat-model.test.ts new file mode 100644 index 0000000000..389a72bb37 --- /dev/null +++ b/packages/opencode/test/provider/copilot/copilot-chat-model.test.ts @@ -0,0 +1,592 @@ +import { OpenAICompatibleChatLanguageModel } from "@/provider/sdk/copilot/chat/openai-compatible-chat-language-model" +import { describe, test, expect, mock } from "bun:test" +import type { LanguageModelV3Prompt } from "@ai-sdk/provider" + +async function convertReadableStreamToArray(stream: ReadableStream): Promise { + const reader = stream.getReader() + const result: T[] = [] + while (true) { + const { done, value } = await reader.read() + if (done) break + result.push(value) + } + return result +} + +const TEST_PROMPT: LanguageModelV3Prompt = [{ role: "user", content: [{ type: "text", text: "Hello" }] }] + +// Fixtures from copilot_test.exs +const FIXTURES = { + basicText: [ + `data: {"id":"chatcmpl-123","object":"chat.completion.chunk","created":1677652288,"model":"gemini-2.0-flash-001","choices":[{"index":0,"delta":{"role":"assistant","content":"Hello"},"finish_reason":null}]}`, + `data: {"id":"chatcmpl-123","object":"chat.completion.chunk","created":1677652288,"model":"gemini-2.0-flash-001","choices":[{"index":0,"delta":{"content":" world"},"finish_reason":null}]}`, + `data: {"id":"chatcmpl-123","object":"chat.completion.chunk","created":1677652288,"model":"gemini-2.0-flash-001","choices":[{"index":0,"delta":{"content":"!"},"finish_reason":"stop"}]}`, + `data: [DONE]`, + ], + + reasoningWithToolCalls: [ + `data: {"choices":[{"index":0,"delta":{"content":null,"role":"assistant","reasoning_text":"**Understanding Dayzee's Purpose**\\n\\nI'm starting to get a better handle on \`dayzee\`.\\n\\n"}}],"created":1764940861,"id":"OdwyabKMI9yel7oPlbzgwQM","usage":{"completion_tokens":0,"prompt_tokens":0,"prompt_tokens_details":{"cached_tokens":0},"total_tokens":0,"reasoning_tokens":0},"model":"gemini-3-pro-preview"}`, + `data: {"choices":[{"index":0,"delta":{"content":null,"role":"assistant","reasoning_text":"**Assessing Dayzee's Functionality**\\n\\nI've reviewed the files.\\n\\n"}}],"created":1764940862,"id":"OdwyabKMI9yel7oPlbzgwQM","usage":{"completion_tokens":0,"prompt_tokens":0,"prompt_tokens_details":{"cached_tokens":0},"total_tokens":0,"reasoning_tokens":0},"model":"gemini-3-pro-preview"}`, + `data: {"choices":[{"index":0,"delta":{"content":null,"role":"assistant","tool_calls":[{"function":{"arguments":"{\\"filePath\\":\\"/README.md\\"}","name":"read_file"},"id":"call_abc123","index":0,"type":"function"}],"reasoning_opaque":"4CUQ6696CwSXOdQ5rtvDimqA91tBzfmga4ieRbmZ5P67T2NLW3"}}],"created":1764940862,"id":"OdwyabKMI9yel7oPlbzgwQM","usage":{"completion_tokens":0,"prompt_tokens":0,"prompt_tokens_details":{"cached_tokens":0},"total_tokens":0,"reasoning_tokens":0},"model":"gemini-3-pro-preview"}`, + `data: {"choices":[{"finish_reason":"tool_calls","index":0,"delta":{"content":null,"role":"assistant","tool_calls":[{"function":{"arguments":"{\\"filePath\\":\\"/mix.exs\\"}","name":"read_file"},"id":"call_def456","index":1,"type":"function"}]}}],"created":1764940862,"id":"OdwyabKMI9yel7oPlbzgwQM","usage":{"completion_tokens":53,"prompt_tokens":19581,"prompt_tokens_details":{"cached_tokens":17068},"total_tokens":19768,"reasoning_tokens":134},"model":"gemini-3-pro-preview"}`, + `data: [DONE]`, + ], + + reasoningWithOpaqueAtEnd: [ + `data: {"choices":[{"index":0,"delta":{"content":null,"role":"assistant","reasoning_text":"**Analyzing the Inquiry's Nature**\\n\\nI'm currently parsing the user's question.\\n\\n"}}],"created":1765201729,"id":"Ptc2afqsCIHqlOoP653UiAI","usage":{"completion_tokens":0,"prompt_tokens":0,"prompt_tokens_details":{"cached_tokens":0},"total_tokens":0,"reasoning_tokens":0},"model":"gemini-3-pro-preview"}`, + `data: {"choices":[{"index":0,"delta":{"content":null,"role":"assistant","reasoning_text":"**Reconciling User's Input**\\n\\nI'm grappling with the context.\\n\\n"}}],"created":1765201730,"id":"Ptc2afqsCIHqlOoP653UiAI","usage":{"completion_tokens":0,"prompt_tokens":0,"prompt_tokens_details":{"cached_tokens":0},"total_tokens":0,"reasoning_tokens":0},"model":"gemini-3-pro-preview"}`, + `data: {"choices":[{"index":0,"delta":{"content":"I am Tidewave, a highly skilled AI coding agent.\\n\\n","role":"assistant"}}],"created":1765201730,"id":"Ptc2afqsCIHqlOoP653UiAI","usage":{"completion_tokens":0,"prompt_tokens":0,"prompt_tokens_details":{"cached_tokens":0},"total_tokens":0,"reasoning_tokens":0},"model":"gemini-3-pro-preview"}`, + `data: {"choices":[{"finish_reason":"stop","index":0,"delta":{"content":"How can I help you?","role":"assistant","reasoning_opaque":"/PMlTqxqSJZnUBDHgnnJKLVI4eZQ"}}],"created":1765201730,"id":"Ptc2afqsCIHqlOoP653UiAI","usage":{"completion_tokens":59,"prompt_tokens":5778,"prompt_tokens_details":{"cached_tokens":0},"total_tokens":5932,"reasoning_tokens":95},"model":"gemini-3-pro-preview"}`, + `data: [DONE]`, + ], + + // Case where reasoning_opaque and content come in the SAME chunk + reasoningWithOpaqueAndContentSameChunk: [ + `data: {"choices":[{"index":0,"delta":{"content":null,"role":"assistant","reasoning_text":"**Understanding the Query's Nature**\\n\\nI'm currently grappling with the user's philosophical query.\\n\\n"}}],"created":1766062103,"id":"FPhDacixL9zrlOoPqLSuyQ4","usage":{"completion_tokens":0,"prompt_tokens":0,"prompt_tokens_details":{"cached_tokens":0},"total_tokens":0,"reasoning_tokens":0},"model":"gemini-2.5-pro"}`, + `data: {"choices":[{"index":0,"delta":{"content":null,"role":"assistant","reasoning_text":"**Framing the Response's Core**\\n\\nNow, I'm structuring my response.\\n\\n"}}],"created":1766062103,"id":"FPhDacixL9zrlOoPqLSuyQ4","usage":{"completion_tokens":0,"prompt_tokens":0,"prompt_tokens_details":{"cached_tokens":0},"total_tokens":0,"reasoning_tokens":0},"model":"gemini-2.5-pro"}`, + `data: {"choices":[{"index":0,"delta":{"content":"Of course. I'm thinking right now.","role":"assistant","reasoning_opaque":"ExXaGwW7jBo39OXRe9EPoFGN1rOtLJBx"}}],"created":1766062103,"id":"FPhDacixL9zrlOoPqLSuyQ4","usage":{"completion_tokens":0,"prompt_tokens":0,"prompt_tokens_details":{"cached_tokens":0},"total_tokens":0,"reasoning_tokens":0},"model":"gemini-2.5-pro"}`, + `data: {"choices":[{"finish_reason":"stop","index":0,"delta":{"content":" What's on your mind?","role":"assistant"}}],"created":1766062103,"id":"FPhDacixL9zrlOoPqLSuyQ4","usage":{"completion_tokens":78,"prompt_tokens":3767,"prompt_tokens_details":{"cached_tokens":0},"total_tokens":3915,"reasoning_tokens":70},"model":"gemini-2.5-pro"}`, + `data: [DONE]`, + ], + + // Case where reasoning_opaque and content come in same chunk, followed by tool calls + reasoningWithOpaqueContentAndToolCalls: [ + `data: {"choices":[{"index":0,"delta":{"content":null,"role":"assistant","reasoning_text":"**Analyzing the Structure**\\n\\nI'm currently trying to get a handle on the project's layout. My initial focus is on the file structure itself, specifically the directory organization. I'm hoping this will illuminate how different components interact. I'll need to identify the key modules and their dependencies.\\n\\n\\n"}}],"created":1766066995,"id":"MQtEafqbFYTZsbwPwuCVoAg","usage":{"completion_tokens":0,"prompt_tokens":0,"prompt_tokens_details":{"cached_tokens":0},"total_tokens":0,"reasoning_tokens":0},"model":"gemini-2.5-pro"}`, + `data: {"choices":[{"index":0,"delta":{"content":"Okay, I need to check out the project's file structure.","role":"assistant","reasoning_opaque":"WHOd3dYFnxEBOsKUXjbX6c2rJa0fS214FHbsj+A3Q+i63SFo7H/92RsownAzyo0h2qEy3cOcrvAatsMx51eCKiMSqt4dYWZhd5YVSgF0CehkpDbWBP/SoRqLU1dhCmUJV/6b5uYFBOzKLBGNadyhI7T1gWFlXntwc6SNjH6DujnFPeVr+L8DdOoUJGJrw2aOfm9NtkXA6wZh9t7dt+831yIIImjD9MHczuXoXj8K7tyLpIJ9KlVXMhnO4IKSYNdKRtoHlGTmudAp5MgH/vLWb6oSsL+ZJl/OdF3WBOeanGhYNoByCRDSvR7anAR/9m5zf9yUax+u/nFg+gzmhFacnzZGtSmcvJ4/4HWKNtUkRASTKeN94DXB8j1ptB/i6ldaMAz2ZyU+sbjPWI8aI4fKJ2MuO01u3uE87xVwpWiM+0rahIzJsllI5edwOaOFtF4tnlCTQafbxHwCZR62uON2E+IjGzW80MzyfYrbLBJKS5zTeHCgPYQSNaKzPfpzkQvdwo3JUnJYcEHgGeKzkq5sbvS5qitCYI7Xue0V98S6/KnUSPnDQBjNnas2i6BqJV2vuCEU/Y3ucrlKVbuRIFCZXCyLzrsGeRLRKlrf5S/HDAQ04IOPQVQhBPvhX0nDjhZB"}}],"created":1766066995,"id":"MQtEafqbFYTZsbwPwuCVoAg","usage":{"completion_tokens":0,"prompt_tokens":0,"prompt_tokens_details":{"cached_tokens":0},"total_tokens":0,"reasoning_tokens":0},"model":"gemini-2.5-pro"}`, + `data: {"choices":[{"finish_reason":"tool_calls","index":0,"delta":{"content":null,"role":"assistant","tool_calls":[{"function":{"arguments":"{}","name":"list_project_files"},"id":"call_MHxqRDd5WVo3NU8wUXRaMmc0MFE","index":0,"type":"function"}]}}],"created":1766066995,"id":"MQtEafqbFYTZsbwPwuCVoAg","usage":{"completion_tokens":19,"prompt_tokens":3767,"prompt_tokens_details":{"cached_tokens":0},"total_tokens":3797,"reasoning_tokens":11},"model":"gemini-2.5-pro"}`, + `data: [DONE]`, + ], + + // Case where reasoning goes directly to tool_calls with NO content + // reasoning_opaque and tool_calls come in the same chunk + reasoningDirectlyToToolCalls: [ + `data: {"choices":[{"index":0,"delta":{"content":null,"role":"assistant","reasoning_text":"**Executing and Analyzing HTML**\\n\\nI've successfully captured the HTML snapshot using the \`browser_eval\` tool, giving me a solid understanding of the page structure. Now, I'm shifting focus to Elixir code execution with \`project_eval\` to assess my ability to work within the project's environment.\\n\\n\\n"}}],"created":1766068643,"id":"oBFEaafzD9DVlOoPkY3l4Qs","usage":{"completion_tokens":0,"prompt_tokens":0,"prompt_tokens_details":{"cached_tokens":0},"total_tokens":0,"reasoning_tokens":0},"model":"gemini-3-pro-preview"}`, + `data: {"choices":[{"index":0,"delta":{"content":null,"role":"assistant","reasoning_text":"**Testing Project Contexts**\\n\\nI've got the HTML body snapshot from \`browser_eval\`, which is a helpful reference. Next, I'm testing my ability to run Elixir code in the project with \`project_eval\`. I'm starting with a simple sum: \`1 + 1\`. This will confirm I'm set up to interact with the project's codebase.\\n\\n\\n"}}],"created":1766068644,"id":"oBFEaafzD9DVlOoPkY3l4Qs","usage":{"completion_tokens":0,"prompt_tokens":0,"prompt_tokens_details":{"cached_tokens":0},"total_tokens":0,"reasoning_tokens":0},"model":"gemini-3-pro-preview"}`, + `data: {"choices":[{"finish_reason":"tool_calls","index":0,"delta":{"content":null,"role":"assistant","tool_calls":[{"function":{"arguments":"{\\"code\\":\\"1 + 1\\"}","name":"project_eval"},"id":"call_MHw3RDhmT1J5Z3B6WlhpVjlveTc","index":0,"type":"function"}],"reasoning_opaque":"ytGNWFf2doK38peANDvm7whkLPKrd+Fv6/k34zEPBF6Qwitj4bTZT0FBXleydLb6"}}],"created":1766068644,"id":"oBFEaafzD9DVlOoPkY3l4Qs","usage":{"completion_tokens":12,"prompt_tokens":8677,"prompt_tokens_details":{"cached_tokens":3692},"total_tokens":8768,"reasoning_tokens":79},"model":"gemini-3-pro-preview"}`, + `data: [DONE]`, + ], + + reasoningOpaqueWithToolCallsNoReasoningText: [ + `data: {"choices":[{"index":0,"delta":{"content":null,"role":"assistant","tool_calls":[{"function":{"arguments":"{}","name":"read_file"},"id":"call_reasoning_only","index":0,"type":"function"}],"reasoning_opaque":"opaque-xyz"}}],"created":1769917420,"id":"opaque-only","usage":{"completion_tokens":0,"prompt_tokens":0,"prompt_tokens_details":{"cached_tokens":0},"total_tokens":0,"reasoning_tokens":0},"model":"gemini-3-flash-preview"}`, + `data: {"choices":[{"finish_reason":"tool_calls","index":0,"delta":{"content":null,"role":"assistant","tool_calls":[{"function":{"arguments":"{}","name":"read_file"},"id":"call_reasoning_only_2","index":1,"type":"function"}]}}],"created":1769917420,"id":"opaque-only","usage":{"completion_tokens":12,"prompt_tokens":123,"prompt_tokens_details":{"cached_tokens":0},"total_tokens":135,"reasoning_tokens":0},"model":"gemini-3-flash-preview"}`, + `data: [DONE]`, + ], +} + +function createMockFetch(chunks: string[]) { + return mock(async () => { + const body = new ReadableStream({ + start(controller) { + for (const chunk of chunks) { + controller.enqueue(new TextEncoder().encode(chunk + "\n\n")) + } + controller.close() + }, + }) + + return new Response(body, { + status: 200, + headers: { "Content-Type": "text/event-stream" }, + }) + }) +} + +function createModel(fetchFn: ReturnType) { + return new OpenAICompatibleChatLanguageModel("test-model", { + provider: "copilot.chat", + url: () => "https://api.test.com/chat/completions", + headers: () => ({ Authorization: "Bearer test-token" }), + fetch: fetchFn as any, + }) +} + +describe("doStream", () => { + test("should stream text deltas", async () => { + const mockFetch = createMockFetch(FIXTURES.basicText) + const model = createModel(mockFetch) + + const { stream } = await model.doStream({ + prompt: TEST_PROMPT, + includeRawChunks: false, + }) + + const parts = await convertReadableStreamToArray(stream) + + // Filter to just the key events + const textParts = parts.filter( + (p) => p.type === "text-start" || p.type === "text-delta" || p.type === "text-end" || p.type === "finish", + ) + + expect(textParts).toMatchObject([ + { type: "text-start", id: "txt-0" }, + { type: "text-delta", id: "txt-0", delta: "Hello" }, + { type: "text-delta", id: "txt-0", delta: " world" }, + { type: "text-delta", id: "txt-0", delta: "!" }, + { type: "text-end", id: "txt-0" }, + { type: "finish", finishReason: { unified: "stop" } }, + ]) + }) + + test("should stream reasoning with tool calls and capture reasoning_opaque", async () => { + const mockFetch = createMockFetch(FIXTURES.reasoningWithToolCalls) + const model = createModel(mockFetch) + + const { stream } = await model.doStream({ + prompt: TEST_PROMPT, + includeRawChunks: false, + }) + + const parts = await convertReadableStreamToArray(stream) + + // Check reasoning parts + const reasoningParts = parts.filter( + (p) => p.type === "reasoning-start" || p.type === "reasoning-delta" || p.type === "reasoning-end", + ) + + expect(reasoningParts[0]).toEqual({ + type: "reasoning-start", + id: "reasoning-0", + }) + + expect(reasoningParts[1]).toMatchObject({ + type: "reasoning-delta", + id: "reasoning-0", + }) + expect((reasoningParts[1] as { delta: string }).delta).toContain("**Understanding Dayzee's Purpose**") + + expect(reasoningParts[2]).toMatchObject({ + type: "reasoning-delta", + id: "reasoning-0", + }) + expect((reasoningParts[2] as { delta: string }).delta).toContain("**Assessing Dayzee's Functionality**") + + // reasoning_opaque should be in reasoning-end providerMetadata + const reasoningEnd = reasoningParts.find((p) => p.type === "reasoning-end") + expect(reasoningEnd).toMatchObject({ + type: "reasoning-end", + id: "reasoning-0", + providerMetadata: { + copilot: { + reasoningOpaque: "4CUQ6696CwSXOdQ5rtvDimqA91tBzfmga4ieRbmZ5P67T2NLW3", + }, + }, + }) + + // Check tool calls + const toolParts = parts.filter( + (p) => p.type === "tool-input-start" || p.type === "tool-call" || p.type === "tool-input-end", + ) + + expect(toolParts).toContainEqual({ + type: "tool-input-start", + id: "call_abc123", + toolName: "read_file", + }) + + expect(toolParts).toContainEqual( + expect.objectContaining({ + type: "tool-call", + toolCallId: "call_abc123", + toolName: "read_file", + }), + ) + + expect(toolParts).toContainEqual({ + type: "tool-input-start", + id: "call_def456", + toolName: "read_file", + }) + + // Check finish + const finish = parts.find((p) => p.type === "finish") + expect(finish).toMatchObject({ + type: "finish", + finishReason: { unified: "tool-calls" }, + usage: { + inputTokens: { total: 19581 }, + outputTokens: { total: 53 }, + }, + }) + }) + + test("should handle reasoning_opaque that comes at end with text in between", async () => { + const mockFetch = createMockFetch(FIXTURES.reasoningWithOpaqueAtEnd) + const model = createModel(mockFetch) + + const { stream } = await model.doStream({ + prompt: TEST_PROMPT, + includeRawChunks: false, + }) + + const parts = await convertReadableStreamToArray(stream) + + // Check that reasoning comes first + const reasoningStart = parts.findIndex((p) => p.type === "reasoning-start") + const textStart = parts.findIndex((p) => p.type === "text-start") + expect(reasoningStart).toBeLessThan(textStart) + + // Check reasoning deltas + const reasoningDeltas = parts.filter((p) => p.type === "reasoning-delta") + expect(reasoningDeltas).toHaveLength(2) + expect((reasoningDeltas[0] as { delta: string }).delta).toContain("**Analyzing the Inquiry's Nature**") + expect((reasoningDeltas[1] as { delta: string }).delta).toContain("**Reconciling User's Input**") + + // Check text deltas + const textDeltas = parts.filter((p) => p.type === "text-delta") + expect(textDeltas).toHaveLength(2) + expect((textDeltas[0] as { delta: string }).delta).toContain("I am Tidewave") + expect((textDeltas[1] as { delta: string }).delta).toContain("How can I help you?") + + // reasoning-end should be emitted before text-start + const reasoningEndIndex = parts.findIndex((p) => p.type === "reasoning-end") + const textStartIndex = parts.findIndex((p) => p.type === "text-start") + expect(reasoningEndIndex).toBeGreaterThan(-1) + expect(reasoningEndIndex).toBeLessThan(textStartIndex) + + // In this fixture, reasoning_opaque comes AFTER content has started (in chunk 4) + // So it arrives too late to be attached to reasoning-end. But it should still + // be captured and included in the finish event's providerMetadata. + const reasoningEnd = parts.find((p) => p.type === "reasoning-end") + expect(reasoningEnd).toMatchObject({ + type: "reasoning-end", + id: "reasoning-0", + }) + + // reasoning_opaque should be in the finish event's providerMetadata + const finish = parts.find((p) => p.type === "finish") + expect(finish).toMatchObject({ + type: "finish", + finishReason: { unified: "stop" }, + usage: { + inputTokens: { total: 5778 }, + outputTokens: { total: 59 }, + }, + providerMetadata: { + copilot: { + reasoningOpaque: "/PMlTqxqSJZnUBDHgnnJKLVI4eZQ", + }, + }, + }) + }) + + test("should handle reasoning_opaque and content in the same chunk", async () => { + const mockFetch = createMockFetch(FIXTURES.reasoningWithOpaqueAndContentSameChunk) + const model = createModel(mockFetch) + + const { stream } = await model.doStream({ + prompt: TEST_PROMPT, + includeRawChunks: false, + }) + + const parts = await convertReadableStreamToArray(stream) + + // The critical test: reasoning-end should come BEFORE text-start + const reasoningEndIndex = parts.findIndex((p) => p.type === "reasoning-end") + const textStartIndex = parts.findIndex((p) => p.type === "text-start") + expect(reasoningEndIndex).toBeGreaterThan(-1) + expect(textStartIndex).toBeGreaterThan(-1) + expect(reasoningEndIndex).toBeLessThan(textStartIndex) + + // Check reasoning deltas + const reasoningDeltas = parts.filter((p) => p.type === "reasoning-delta") + expect(reasoningDeltas).toHaveLength(2) + expect((reasoningDeltas[0] as { delta: string }).delta).toContain("**Understanding the Query's Nature**") + expect((reasoningDeltas[1] as { delta: string }).delta).toContain("**Framing the Response's Core**") + + // reasoning_opaque should be in reasoning-end even though it came with content + const reasoningEnd = parts.find((p) => p.type === "reasoning-end") + expect(reasoningEnd).toMatchObject({ + type: "reasoning-end", + id: "reasoning-0", + providerMetadata: { + copilot: { + reasoningOpaque: "ExXaGwW7jBo39OXRe9EPoFGN1rOtLJBx", + }, + }, + }) + + // Check text deltas + const textDeltas = parts.filter((p) => p.type === "text-delta") + expect(textDeltas).toHaveLength(2) + expect((textDeltas[0] as { delta: string }).delta).toContain("Of course. I'm thinking right now.") + expect((textDeltas[1] as { delta: string }).delta).toContain("What's on your mind?") + + // Check finish + const finish = parts.find((p) => p.type === "finish") + expect(finish).toMatchObject({ + type: "finish", + finishReason: { unified: "stop" }, + }) + }) + + test("should handle reasoning_opaque and content followed by tool calls", async () => { + const mockFetch = createMockFetch(FIXTURES.reasoningWithOpaqueContentAndToolCalls) + const model = createModel(mockFetch) + + const { stream } = await model.doStream({ + prompt: TEST_PROMPT, + includeRawChunks: false, + }) + + const parts = await convertReadableStreamToArray(stream) + + // Check that reasoning comes first, then text, then tool calls + const reasoningEndIndex = parts.findIndex((p) => p.type === "reasoning-end") + const textStartIndex = parts.findIndex((p) => p.type === "text-start") + const toolStartIndex = parts.findIndex((p) => p.type === "tool-input-start") + + expect(reasoningEndIndex).toBeGreaterThan(-1) + expect(textStartIndex).toBeGreaterThan(-1) + expect(toolStartIndex).toBeGreaterThan(-1) + expect(reasoningEndIndex).toBeLessThan(textStartIndex) + expect(textStartIndex).toBeLessThan(toolStartIndex) + + // Check reasoning content + const reasoningDeltas = parts.filter((p) => p.type === "reasoning-delta") + expect(reasoningDeltas).toHaveLength(1) + expect((reasoningDeltas[0] as { delta: string }).delta).toContain("**Analyzing the Structure**") + + // reasoning_opaque should be in reasoning-end (comes with content in same chunk) + const reasoningEnd = parts.find((p) => p.type === "reasoning-end") + expect(reasoningEnd).toMatchObject({ + type: "reasoning-end", + id: "reasoning-0", + providerMetadata: { + copilot: { + reasoningOpaque: expect.stringContaining("WHOd3dYFnxEBOsKUXjbX6c2rJa0fS214"), + }, + }, + }) + + // Check text content + const textDeltas = parts.filter((p) => p.type === "text-delta") + expect(textDeltas).toHaveLength(1) + expect((textDeltas[0] as { delta: string }).delta).toContain( + "Okay, I need to check out the project's file structure.", + ) + + // Check tool call + const toolParts = parts.filter( + (p) => p.type === "tool-input-start" || p.type === "tool-call" || p.type === "tool-input-end", + ) + + expect(toolParts).toContainEqual({ + type: "tool-input-start", + id: "call_MHxqRDd5WVo3NU8wUXRaMmc0MFE", + toolName: "list_project_files", + }) + + expect(toolParts).toContainEqual( + expect.objectContaining({ + type: "tool-call", + toolCallId: "call_MHxqRDd5WVo3NU8wUXRaMmc0MFE", + toolName: "list_project_files", + }), + ) + + // Check finish + const finish = parts.find((p) => p.type === "finish") + expect(finish).toMatchObject({ + type: "finish", + finishReason: { unified: "tool-calls" }, + usage: { + inputTokens: { total: 3767 }, + outputTokens: { total: 19 }, + }, + }) + }) + + test("should emit reasoning-end before tool-input-start when reasoning goes directly to tool calls", async () => { + const mockFetch = createMockFetch(FIXTURES.reasoningDirectlyToToolCalls) + const model = createModel(mockFetch) + + const { stream } = await model.doStream({ + prompt: TEST_PROMPT, + includeRawChunks: false, + }) + + const parts = await convertReadableStreamToArray(stream) + + // Critical check: reasoning-end MUST come before tool-input-start + const reasoningEndIndex = parts.findIndex((p) => p.type === "reasoning-end") + const toolStartIndex = parts.findIndex((p) => p.type === "tool-input-start") + + expect(reasoningEndIndex).toBeGreaterThan(-1) + expect(toolStartIndex).toBeGreaterThan(-1) + expect(reasoningEndIndex).toBeLessThan(toolStartIndex) + + // Check reasoning parts + const reasoningDeltas = parts.filter((p) => p.type === "reasoning-delta") + expect(reasoningDeltas).toHaveLength(2) + expect((reasoningDeltas[0] as { delta: string }).delta).toContain("**Executing and Analyzing HTML**") + expect((reasoningDeltas[1] as { delta: string }).delta).toContain("**Testing Project Contexts**") + + // reasoning_opaque should be in reasoning-end providerMetadata + const reasoningEnd = parts.find((p) => p.type === "reasoning-end") + expect(reasoningEnd).toMatchObject({ + type: "reasoning-end", + id: "reasoning-0", + providerMetadata: { + copilot: { + reasoningOpaque: "ytGNWFf2doK38peANDvm7whkLPKrd+Fv6/k34zEPBF6Qwitj4bTZT0FBXleydLb6", + }, + }, + }) + + // No text parts should exist + const textParts = parts.filter((p) => p.type === "text-start" || p.type === "text-delta" || p.type === "text-end") + expect(textParts).toHaveLength(0) + + // Check tool call + const toolCall = parts.find((p) => p.type === "tool-call") + expect(toolCall).toMatchObject({ + type: "tool-call", + toolCallId: "call_MHw3RDhmT1J5Z3B6WlhpVjlveTc", + toolName: "project_eval", + }) + + // Check finish + const finish = parts.find((p) => p.type === "finish") + expect(finish).toMatchObject({ + type: "finish", + finishReason: { unified: "tool-calls" }, + }) + }) + + test("should attach reasoning_opaque to tool calls without reasoning_text", async () => { + const mockFetch = createMockFetch(FIXTURES.reasoningOpaqueWithToolCallsNoReasoningText) + const model = createModel(mockFetch) + + const { stream } = await model.doStream({ + prompt: TEST_PROMPT, + includeRawChunks: false, + }) + + const parts = await convertReadableStreamToArray(stream) + const reasoningParts = parts.filter( + (p) => p.type === "reasoning-start" || p.type === "reasoning-delta" || p.type === "reasoning-end", + ) + + expect(reasoningParts).toHaveLength(0) + + const toolCall = parts.find((p) => p.type === "tool-call" && p.toolCallId === "call_reasoning_only") + expect(toolCall).toMatchObject({ + type: "tool-call", + toolCallId: "call_reasoning_only", + toolName: "read_file", + providerMetadata: { + copilot: { + reasoningOpaque: "opaque-xyz", + }, + }, + }) + }) + + test("should include response metadata from first chunk", async () => { + const mockFetch = createMockFetch(FIXTURES.basicText) + const model = createModel(mockFetch) + + const { stream } = await model.doStream({ + prompt: TEST_PROMPT, + includeRawChunks: false, + }) + + const parts = await convertReadableStreamToArray(stream) + + const metadata = parts.find((p) => p.type === "response-metadata") + expect(metadata).toMatchObject({ + type: "response-metadata", + id: "chatcmpl-123", + modelId: "gemini-2.0-flash-001", + }) + }) + + test("should emit stream-start with warnings", async () => { + const mockFetch = createMockFetch(FIXTURES.basicText) + const model = createModel(mockFetch) + + const { stream } = await model.doStream({ + prompt: TEST_PROMPT, + includeRawChunks: false, + }) + + const parts = await convertReadableStreamToArray(stream) + + const streamStart = parts.find((p) => p.type === "stream-start") + expect(streamStart).toEqual({ + type: "stream-start", + warnings: [], + }) + }) + + test("should include raw chunks when requested", async () => { + const mockFetch = createMockFetch(FIXTURES.basicText) + const model = createModel(mockFetch) + + const { stream } = await model.doStream({ + prompt: TEST_PROMPT, + includeRawChunks: true, + }) + + const parts = await convertReadableStreamToArray(stream) + + const rawChunks = parts.filter((p) => p.type === "raw") + expect(rawChunks.length).toBeGreaterThan(0) + }) +}) + +describe("request body", () => { + test("should send tools in OpenAI format", async () => { + let capturedBody: unknown + const mockFetch = mock(async (_url: string, init?: RequestInit) => { + capturedBody = JSON.parse(init?.body as string) + return new Response( + new ReadableStream({ + start(controller) { + controller.enqueue(new TextEncoder().encode(`data: [DONE]\n\n`)) + controller.close() + }, + }), + { status: 200, headers: { "Content-Type": "text/event-stream" } }, + ) + }) + + const model = createModel(mockFetch) + + await model.doStream({ + prompt: TEST_PROMPT, + tools: [ + { + type: "function", + name: "get_weather", + description: "Get the weather for a location", + inputSchema: { + type: "object", + properties: { + location: { type: "string" }, + }, + required: ["location"], + }, + }, + ], + includeRawChunks: false, + }) + + expect((capturedBody as { tools: unknown[] }).tools).toEqual([ + { + type: "function", + function: { + name: "get_weather", + description: "Get the weather for a location", + parameters: { + type: "object", + properties: { + location: { type: "string" }, + }, + required: ["location"], + }, + }, + }, + ]) + }) +}) diff --git a/packages/opencode/test/provider/digitalocean.test.ts b/packages/opencode/test/provider/digitalocean.test.ts index 6fc49a6eff..665c792deb 100644 --- a/packages/opencode/test/provider/digitalocean.test.ts +++ b/packages/opencode/test/provider/digitalocean.test.ts @@ -1,132 +1,122 @@ -import { test, expect, afterEach } from "bun:test" -import path from "path" - -import { tmpdir } from "../fixture/fixture" -import { WithInstance } from "../../src/project/with-instance" +import { expect } from "bun:test" import { Provider } from "../../src/provider/provider" import { ProviderID } from "../../src/provider/schema" -import { Env } from "../../src/env" import { Effect } from "effect" -import { AppRuntime } from "../../src/effect/app-runtime" -import { makeRuntime } from "../../src/effect/run-service" - -const envRuntime = makeRuntime(Env.Service, Env.defaultLayer) -const set = (k: string, v: string) => envRuntime.runSync((svc) => svc.set(k, v)) - -async function list() { - return AppRuntime.runPromise( - Effect.gen(function* () { - const provider = yield* Provider.Service - return yield* provider.list() - }), - ) -} +import { testEffect } from "../lib/effect" const DIGITALOCEAN = ProviderID.make("digitalocean") +const it = testEffect(Provider.defaultLayer) -const originalAuthContent = process.env.OPENCODE_AUTH_CONTENT -afterEach(() => { - if (originalAuthContent === undefined) delete process.env.OPENCODE_AUTH_CONTENT - else process.env.OPENCODE_AUTH_CONTENT = originalAuthContent -}) +const withEnv = (values: Record, effect: Effect.Effect) => + Effect.acquireUseRelease( + Effect.sync(() => { + const previous = Object.fromEntries(Object.keys(values).map((key) => [key, process.env[key]] as const)) + Object.assign(process.env, values) + return previous + }), + () => effect, + (previous) => + Effect.sync(() => { + for (const [key, value] of Object.entries(previous)) { + if (value === undefined) delete process.env[key] + else process.env[key] = value + } + }), + ) -function injectAuth(metadata: Record | undefined) { - process.env.OPENCODE_AUTH_CONTENT = JSON.stringify({ - digitalocean: { - type: "api", - key: "sk_do_test", - ...(metadata ? { metadata } : {}), +const withAuth = (metadata: Record | undefined, effect: Effect.Effect) => + withEnv( + { + OPENCODE_AUTH_CONTENT: JSON.stringify({ + digitalocean: { + type: "api", + key: "sk_do_test", + ...(metadata ? { metadata } : {}), + }, + }), }, - }) -} + effect, + ) -test("digitalocean provider autoloads from DIGITALOCEAN_ACCESS_TOKEN", async () => { - await using tmp = await tmpdir({ - init: async (dir) => { - await Bun.write(path.join(dir, "opencode.json"), JSON.stringify({ $schema: "https://opencode.ai/config.json" })) - }, - }) - await WithInstance.provide({ - directory: tmp.path, - fn: async () => { - set("DIGITALOCEAN_ACCESS_TOKEN", "test-token") - const providers = await list() - expect(providers[DIGITALOCEAN]).toBeDefined() - expect(providers[DIGITALOCEAN].source).toBe("env") - const baseModel = Object.values(providers[DIGITALOCEAN].models)[0] - expect(baseModel.api.url).toBe("https://inference.do-ai.run/v1") - expect(baseModel.api.npm).toBe("@ai-sdk/openai-compatible") - const routerEntries = Object.keys(providers[DIGITALOCEAN].models).filter((id) => id.startsWith("router:")) - expect(routerEntries.length).toBe(0) - }, - }) -}) +it.instance( + "digitalocean provider autoloads from DIGITALOCEAN_ACCESS_TOKEN", + () => + withEnv( + { DIGITALOCEAN_ACCESS_TOKEN: "test-token" }, + Effect.gen(function* () { + const provider = yield* Provider.Service + const providers = yield* provider.list() + expect(providers[DIGITALOCEAN]).toBeDefined() + expect(providers[DIGITALOCEAN].source).toBe("env") + const baseModel = Object.values(providers[DIGITALOCEAN].models)[0] + expect(baseModel.api.url).toBe("https://inference.do-ai.run/v1") + expect(baseModel.api.npm).toBe("@ai-sdk/openai-compatible") + const routerEntries = Object.keys(providers[DIGITALOCEAN].models).filter((id) => id.startsWith("router:")) + expect(routerEntries.length).toBe(0) + }), + ), + { config: {} }, +) -test("digitalocean provider.models surfaces cached routers from auth metadata", async () => { - await using tmp = await tmpdir({ - init: async (dir) => { - await Bun.write(path.join(dir, "opencode.json"), JSON.stringify({ $schema: "https://opencode.ai/config.json" })) - }, - }) - injectAuth({ - routers: JSON.stringify([ - { name: "my-router", uuid: "11f1499a-aaaa-bbbb-cccc-4e013e2ddde4" }, - { name: "other-router", uuid: "22f1499a-aaaa-bbbb-cccc-4e013e2ddde4" }, - ]), - routers_fetched_at: String(Date.now()), - oauth_access: "doo_v1_test", - oauth_expires: String(Date.now() + 60 * 60 * 1000), - }) - await WithInstance.provide({ - directory: tmp.path, - fn: async () => { - const providers = await list() - const models = providers[DIGITALOCEAN].models - expect(models["router:my-router"]).toBeDefined() - expect(models["router:my-router"].api.id).toBe("router:my-router") - expect(models["router:my-router"].api.url).toBe("https://inference.do-ai.run/v1") - expect(models["router:my-router"].api.npm).toBe("@ai-sdk/openai-compatible") - expect(models["router:other-router"]).toBeDefined() - }, - }) -}) +it.instance( + "digitalocean provider.models surfaces cached routers from auth metadata", + () => + withAuth( + { + routers: JSON.stringify([ + { name: "my-router", uuid: "11f1499a-aaaa-bbbb-cccc-4e013e2ddde4" }, + { name: "other-router", uuid: "22f1499a-aaaa-bbbb-cccc-4e013e2ddde4" }, + ]), + routers_fetched_at: String(Date.now()), + oauth_access: "doo_v1_test", + oauth_expires: String(Date.now() + 60 * 60 * 1000), + }, + Effect.gen(function* () { + const provider = yield* Provider.Service + const providers = yield* provider.list() + const models = providers[DIGITALOCEAN].models + expect(models["router:my-router"]).toBeDefined() + expect(models["router:my-router"].api.id).toBe("router:my-router") + expect(models["router:my-router"].api.url).toBe("https://inference.do-ai.run/v1") + expect(models["router:my-router"].api.npm).toBe("@ai-sdk/openai-compatible") + expect(models["router:other-router"]).toBeDefined() + }), + ), + { config: {} }, +) -test("digitalocean provider.models skips refresh when oauth bearer is expired", async () => { - await using tmp = await tmpdir({ - init: async (dir) => { - await Bun.write(path.join(dir, "opencode.json"), JSON.stringify({ $schema: "https://opencode.ai/config.json" })) - }, - }) - injectAuth({ - routers: JSON.stringify([{ name: "stale-router", uuid: "stale" }]), - routers_fetched_at: "0", - oauth_access: "doo_v1_expired", - oauth_expires: "1", - }) - await WithInstance.provide({ - directory: tmp.path, - fn: async () => { - const providers = await list() - const models = providers[DIGITALOCEAN].models - expect(models["router:stale-router"]).toBeDefined() - }, - }) -}) +it.instance( + "digitalocean provider.models skips refresh when oauth bearer is expired", + () => + withAuth( + { + routers: JSON.stringify([{ name: "stale-router", uuid: "stale" }]), + routers_fetched_at: "0", + oauth_access: "doo_v1_expired", + oauth_expires: "1", + }, + Effect.gen(function* () { + const provider = yield* Provider.Service + const providers = yield* provider.list() + const models = providers[DIGITALOCEAN].models + expect(models["router:stale-router"]).toBeDefined() + }), + ), + { config: {} }, +) -test("digitalocean provider.models passes through base models when no auth metadata", async () => { - await using tmp = await tmpdir({ - init: async (dir) => { - await Bun.write(path.join(dir, "opencode.json"), JSON.stringify({ $schema: "https://opencode.ai/config.json" })) - }, - }) - await WithInstance.provide({ - directory: tmp.path, - fn: async () => { - set("DIGITALOCEAN_ACCESS_TOKEN", "test-token") - const providers = await list() - const models = providers[DIGITALOCEAN].models - expect(Object.keys(models).length).toBeGreaterThan(0) - expect(Object.keys(models).filter((id) => id.startsWith("router:")).length).toBe(0) - }, - }) -}) +it.instance( + "digitalocean provider.models passes through base models when no auth metadata", + () => + withEnv( + { DIGITALOCEAN_ACCESS_TOKEN: "test-token" }, + Effect.gen(function* () { + const provider = yield* Provider.Service + const providers = yield* provider.list() + const models = providers[DIGITALOCEAN].models + expect(Object.keys(models).length).toBeGreaterThan(0) + expect(Object.keys(models).filter((id) => id.startsWith("router:")).length).toBe(0) + }), + ), + { config: {} }, +) diff --git a/packages/opencode/test/provider/provider.test.ts b/packages/opencode/test/provider/provider.test.ts index d3225c997d..2270418beb 100644 --- a/packages/opencode/test/provider/provider.test.ts +++ b/packages/opencode/test/provider/provider.test.ts @@ -19,7 +19,6 @@ import { testEffect } from "../lib/effect" const env = makeRuntime(Env.Service, Env.defaultLayer) const set = (k: string, v: string) => env.runSync((svc) => svc.set(k, v)) -const remove = (k: string) => env.runSync((svc) => svc.remove(k)) async function run(fn: (provider: Provider.Interface) => Effect.Effect) { return AppRuntime.runPromise( @@ -229,43 +228,6 @@ test("model blacklist excludes specific models", async () => { }) }) -test("custom provider keeps gpt-5-chat-latest model IDs", async () => { - await using tmp = await tmpdir({ - init: async (dir) => { - await Bun.write( - path.join(dir, "opencode.json"), - JSON.stringify({ - $schema: "https://opencode.ai/config.json", - provider: { - "custom-chat": { - name: "Custom Chat", - npm: "@ai-sdk/openai-compatible", - api: "https://example.com/v1", - options: { apiKey: "test-key" }, - models: { - "gpt-5-chat-latest": { - name: "GPT-5 Chat Latest", - tool_call: true, - limit: { context: 128000, output: 16000 }, - }, - }, - }, - }, - }), - ) - }, - }) - await WithInstance.provide({ - directory: tmp.path, - fn: async () => { - const providers = await list() - const provider = providers[ProviderID.make("custom-chat")] - expect(provider).toBeDefined() - expect(provider.models["gpt-5-chat-latest"]).toBeDefined() - }, - }) -}) - test("custom model alias via config", async () => { await using tmp = await tmpdir({ init: async (dir) => { @@ -2366,49 +2328,6 @@ test("Google Vertex: supports OpenAI compatible models", async () => { }) }) -test("Google Vertex: resolves GOOGLE_VERTEX_PROJECT env into provider options", async () => { - await using tmp = await tmpdir({ - init: async (dir) => { - await Bun.write( - path.join(dir, "opencode.json"), - JSON.stringify({ - $schema: "https://opencode.ai/config.json", - provider: { - "google-vertex": { - name: "Vertex", - npm: "@ai-sdk/google-vertex", - env: ["GOOGLE_VERTEX_PROJECT", "GOOGLE_VERTEX_LOCATION"], - models: { - "gemini-pro": { - name: "Gemini Pro", - tool_call: true, - limit: { context: 128000, output: 16000 }, - }, - }, - }, - }, - }), - ) - }, - }) - - await WithInstance.provide({ - directory: tmp.path, - fn: async () => { - remove("GOOGLE_CLOUD_PROJECT") - remove("GCP_PROJECT") - remove("GCLOUD_PROJECT") - set("GOOGLE_VERTEX_PROJECT", "vertex-project") - set("GOOGLE_VERTEX_LOCATION", "europe-west4") - const providers = await list() - const provider = providers[ProviderID.googleVertex] - expect(provider).toBeDefined() - expect(provider.options.project).toBe("vertex-project") - expect(provider.options.location).toBe("europe-west4") - }, - }) -}) - test("cloudflare-ai-gateway loads with env variables", async () => { await using tmp = await tmpdir({ init: async (dir) => { diff --git a/packages/opencode/test/pty/pty-session.test.ts b/packages/opencode/test/pty/pty-session.test.ts index 8c5d804b73..12784baf31 100644 --- a/packages/opencode/test/pty/pty-session.test.ts +++ b/packages/opencode/test/pty/pty-session.test.ts @@ -1,103 +1,100 @@ -import { describe, expect, test } from "bun:test" -import { AppRuntime } from "../../src/effect/app-runtime" +import { describe, expect } from "bun:test" import { Bus } from "../../src/bus" -import { Effect } from "effect" -import { Instance } from "../../src/project/instance" -import { WithInstance } from "../../src/project/with-instance" +import { Config } from "../../src/config/config" +import { Plugin } from "../../src/plugin" import { Pty } from "../../src/pty" import type { PtyID } from "../../src/pty/schema" -import { tmpdir } from "../fixture/fixture" -import { setTimeout as sleep } from "node:timers/promises" +import { Effect, Layer, Queue } from "effect" +import { testEffect } from "../lib/effect" -const wait = async (fn: () => boolean, ms = 5000) => { - const end = Date.now() + ms - while (Date.now() < end) { - if (fn()) return - await sleep(25) - } - throw new Error("timeout waiting for pty events") -} +type PtyEvent = { type: "created" | "exited" | "deleted"; id: PtyID } -const pick = (log: Array<{ type: "created" | "exited" | "deleted"; id: PtyID }>, id: PtyID) => { - return log.filter((evt) => evt.id === id).map((evt) => evt.type) +const it = testEffect( + Pty.layer.pipe( + Layer.provideMerge(Bus.layer), + Layer.provideMerge(Config.defaultLayer), + Layer.provideMerge(Plugin.defaultLayer), + ), +) +const ptyTest = process.platform === "win32" ? it.instance.skip : it.instance + +const subscribePtyEvents = Effect.fn("PtySessionTest.subscribePtyEvents")(function* () { + const bus = yield* Bus.Service + const events = yield* Queue.unbounded() + + const subscribe = (effect: Effect.Effect<() => void, never, A>) => + Effect.acquireRelease(effect, (off) => Effect.sync(off)) + + yield* subscribe( + bus.subscribeCallback(Pty.Event.Created, (evt) => { + Queue.offerUnsafe(events, { type: "created", id: evt.properties.info.id }) + }), + ) + yield* subscribe( + bus.subscribeCallback(Pty.Event.Exited, (evt) => { + Queue.offerUnsafe(events, { type: "exited", id: evt.properties.id }) + }), + ) + yield* subscribe( + bus.subscribeCallback(Pty.Event.Deleted, (evt) => { + Queue.offerUnsafe(events, { type: "deleted", id: evt.properties.id }) + }), + ) + + return events +}) + +const createPty = Effect.fn("PtySessionTest.createPty")(function* (input: Pty.CreateInput) { + const pty = yield* Pty.Service + return yield* Effect.acquireRelease(pty.create(input), (info) => pty.remove(info.id).pipe(Effect.ignore)) +}) + +const waitForEvents = (events: Queue.Queue, id: PtyID, count: number) => { + return Effect.gen(function* () { + const picked: Array = [] + while (picked.length < count) { + const evt = yield* Queue.take(events) + if (evt.id === id) picked.push(evt.type) + } + return picked + }).pipe( + Effect.timeoutOrElse({ + duration: "5 seconds", + orElse: () => Effect.fail(new Error("timeout waiting for pty events")), + }), + ) } describe("pty", () => { - test("publishes created, exited, deleted in order for a short-lived process", async () => { - if (process.platform === "win32") return + ptyTest( + "publishes created, exited, deleted in order for a short-lived process", + () => + Effect.gen(function* () { + const events = yield* subscribePtyEvents() + const info = yield* createPty({ + command: "/usr/bin/env", + args: ["sh", "-c", "sleep 0.1"], + title: "sleep", + }) - await using dir = await tmpdir({ git: true }) + expect(yield* waitForEvents(events, info.id, 3)).toEqual(["created", "exited", "deleted"]) + }), + { git: true }, + ) - await WithInstance.provide({ - directory: dir.path, - fn: () => - AppRuntime.runPromise( - Effect.gen(function* () { - const pty = yield* Pty.Service - const log: Array<{ type: "created" | "exited" | "deleted"; id: PtyID }> = [] - const off = [ - Bus.subscribe(Pty.Event.Created, (evt) => log.push({ type: "created", id: evt.properties.info.id })), - Bus.subscribe(Pty.Event.Exited, (evt) => log.push({ type: "exited", id: evt.properties.id })), - Bus.subscribe(Pty.Event.Deleted, (evt) => log.push({ type: "deleted", id: evt.properties.id })), - ] + ptyTest( + "publishes created, exited, deleted in order for /bin/sh + remove", + () => + Effect.gen(function* () { + const pty = yield* Pty.Service + const events = yield* subscribePtyEvents() + const info = yield* createPty({ command: "/bin/sh", title: "sh" }) - let id: PtyID | undefined - try { - const info = yield* pty.create({ - command: "/usr/bin/env", - args: ["sh", "-c", "sleep 0.1"], - title: "sleep", - }) - id = info.id - - yield* Effect.promise(() => wait(() => pick(log, id!).includes("exited"))) - - yield* pty.remove(id) - yield* Effect.promise(() => wait(() => pick(log, id!).length >= 3)) - expect(pick(log, id!)).toEqual(["created", "exited", "deleted"]) - } finally { - off.forEach((x) => x()) - if (id) yield* pty.remove(id) - } - }), - ), - }) - }) - - test("publishes created, exited, deleted in order for /bin/sh + remove", async () => { - if (process.platform === "win32") return - - await using dir = await tmpdir({ git: true }) - - await WithInstance.provide({ - directory: dir.path, - fn: () => - AppRuntime.runPromise( - Effect.gen(function* () { - const pty = yield* Pty.Service - const log: Array<{ type: "created" | "exited" | "deleted"; id: PtyID }> = [] - const off = [ - Bus.subscribe(Pty.Event.Created, (evt) => log.push({ type: "created", id: evt.properties.info.id })), - Bus.subscribe(Pty.Event.Exited, (evt) => log.push({ type: "exited", id: evt.properties.id })), - Bus.subscribe(Pty.Event.Deleted, (evt) => log.push({ type: "deleted", id: evt.properties.id })), - ] - - let id: PtyID | undefined - try { - const info = yield* pty.create({ command: "/bin/sh", title: "sh" }) - id = info.id - - yield* Effect.promise(() => sleep(100)) - - yield* pty.remove(id) - yield* Effect.promise(() => wait(() => pick(log, id!).length >= 3)) - expect(pick(log, id!)).toEqual(["created", "exited", "deleted"]) - } finally { - off.forEach((x) => x()) - if (id) yield* pty.remove(id) - } - }), - ), - }) - }) + expect(yield* waitForEvents(events, info.id, 1)).toEqual(["created"]) + yield* pty.write(info.id, "exit\n") + expect(yield* waitForEvents(events, info.id, 2)).toEqual(["exited", "deleted"]) + yield* pty.remove(info.id) + }), + { git: true }, + ) }) diff --git a/packages/opencode/test/server/global-bus.ts b/packages/opencode/test/server/global-bus.ts index c8d0f92191..24e5cf77b5 100644 --- a/packages/opencode/test/server/global-bus.ts +++ b/packages/opencode/test/server/global-bus.ts @@ -29,6 +29,3 @@ export function waitGlobalBusEvent(input: { ), ) } - -export const waitGlobalBusEventPromise = (input: Parameters[0]) => - Effect.runPromise(waitGlobalBusEvent(input)) diff --git a/packages/opencode/test/server/global-session-list.test.ts b/packages/opencode/test/server/global-session-list.test.ts index 04348e5c0d..0fdba1f663 100644 --- a/packages/opencode/test/server/global-session-list.test.ts +++ b/packages/opencode/test/server/global-session-list.test.ts @@ -1,104 +1,104 @@ -import { describe, expect, test } from "bun:test" -import { Effect } from "effect" -import { WithInstance } from "../../src/project/with-instance" +import { describe, expect } from "bun:test" +import { Deferred, Effect, Layer } from "effect" import { Project } from "@/project/project" import { Session as SessionNs } from "@/session/session" +import { CrossSpawnSpawner } from "@opencode-ai/core/cross-spawn-spawner" import * as Log from "@opencode-ai/core/util/log" -import { tmpdir } from "../fixture/fixture" +import { provideInstance, TestInstance, tmpdirScoped } from "../fixture/fixture" +import { testEffect } from "../lib/effect" void Log.init({ print: false }) -function run(fx: Effect.Effect) { - return Effect.runPromise(fx.pipe(Effect.provide(SessionNs.defaultLayer))) -} +const it = testEffect(Layer.mergeAll(SessionNs.defaultLayer, Project.defaultLayer, CrossSpawnSpawner.defaultLayer)) -const svc = { - ...SessionNs, - create(input?: SessionNs.CreateInput) { - return run(SessionNs.Service.use((svc) => svc.create(input))) - }, - setArchived(input: typeof SessionNs.SetArchivedInput.Type) { - return run(SessionNs.Service.use((svc) => svc.setArchived(input))) - }, -} +const withSession = (input?: Parameters[0]) => + Effect.acquireRelease( + SessionNs.Service.use((session) => session.create(input)), + (created) => SessionNs.Service.use((session) => session.remove(created.id).pipe(Effect.ignore)), + ) describe("session.listGlobal", () => { - test("lists sessions across projects with project metadata", async () => { - await using first = await tmpdir({ git: true }) - await using second = await tmpdir({ git: true }) + it.instance( + "lists sessions across projects with project metadata", + () => + Effect.gen(function* () { + const first = yield* TestInstance + const second = yield* tmpdirScoped({ git: true }) - const firstSession = await WithInstance.provide({ - directory: first.path, - fn: async () => svc.create({ title: "first-session" }), - }) - const secondSession = await WithInstance.provide({ - directory: second.path, - fn: async () => svc.create({ title: "second-session" }), - }) + const firstSession = yield* withSession({ title: "first-session" }) + const secondSession = yield* withSession({ title: "second-session" }).pipe(provideInstance(second)) - const sessions = [...svc.listGlobal({ limit: 200 })] - const ids = sessions.map((session) => session.id) + const sessions = yield* Effect.sync(() => [...SessionNs.listGlobal({ limit: 200 })]) + const ids = sessions.map((session) => session.id) - expect(ids).toContain(firstSession.id) - expect(ids).toContain(secondSession.id) + expect(ids).toContain(firstSession.id) + expect(ids).toContain(secondSession.id) - const firstProject = Project.get(firstSession.projectID) - const secondProject = Project.get(secondSession.projectID) + const firstProject = yield* Project.Service.use((project) => project.get(firstSession.projectID)) + const secondProject = yield* Project.Service.use((project) => project.get(secondSession.projectID)) - const firstItem = sessions.find((session) => session.id === firstSession.id) - const secondItem = sessions.find((session) => session.id === secondSession.id) + const firstItem = sessions.find((session) => session.id === firstSession.id) + const secondItem = sessions.find((session) => session.id === secondSession.id) - expect(firstItem?.project?.id).toBe(firstProject?.id) - expect(firstItem?.project?.worktree).toBe(firstProject?.worktree) - expect(secondItem?.project?.id).toBe(secondProject?.id) - expect(secondItem?.project?.worktree).toBe(secondProject?.worktree) - }) + expect(firstItem?.project?.id).toBe(firstProject?.id) + expect(firstItem?.project?.worktree).toBe(firstProject?.worktree) + expect(secondItem?.project?.id).toBe(secondProject?.id) + expect(secondItem?.project?.worktree).toBe(secondProject?.worktree) + expect(first.directory).not.toBe(second) + }), + { git: true }, + ) - test("excludes archived sessions by default", async () => { - await using tmp = await tmpdir({ git: true }) + it.instance( + "excludes archived sessions by default", + () => + Effect.gen(function* () { + const archived = yield* withSession({ title: "archived-session" }) - const archived = await WithInstance.provide({ - directory: tmp.path, - fn: async () => svc.create({ title: "archived-session" }), - }) + yield* SessionNs.Service.use((session) => session.setArchived({ sessionID: archived.id, time: Date.now() })) - await WithInstance.provide({ - directory: tmp.path, - fn: async () => svc.setArchived({ sessionID: archived.id, time: Date.now() }), - }) + const sessions = yield* Effect.sync(() => [...SessionNs.listGlobal({ limit: 200 })]) + const ids = sessions.map((session) => session.id) - const sessions = [...svc.listGlobal({ limit: 200 })] - const ids = sessions.map((session) => session.id) + expect(ids).not.toContain(archived.id) - expect(ids).not.toContain(archived.id) + const allSessions = yield* Effect.sync(() => [...SessionNs.listGlobal({ limit: 200, archived: true })]) + const allIds = allSessions.map((session) => session.id) - const allSessions = [...svc.listGlobal({ limit: 200, archived: true })] - const allIds = allSessions.map((session) => session.id) + expect(allIds).toContain(archived.id) + }), + { git: true }, + ) - expect(allIds).toContain(archived.id) - }) + it.instance( + "supports cursor pagination", + () => + Effect.gen(function* () { + const test = yield* TestInstance - test("supports cursor pagination", async () => { - await using tmp = await tmpdir({ git: true }) + const first = yield* withSession({ title: "page-one" }) + const ready = yield* Deferred.make() + yield* Deferred.succeed(ready, undefined).pipe(Effect.delay("5 millis"), Effect.forkScoped) + yield* Deferred.await(ready).pipe( + Effect.timeoutOrElse({ + duration: "1 second", + orElse: () => Effect.fail(new Error("timed out waiting between session creates")), + }), + ) + const second = yield* withSession({ title: "page-two" }) - const first = await WithInstance.provide({ - directory: tmp.path, - fn: async () => svc.create({ title: "page-one" }), - }) - await new Promise((resolve) => setTimeout(resolve, 5)) - const second = await WithInstance.provide({ - directory: tmp.path, - fn: async () => svc.create({ title: "page-two" }), - }) + const page = yield* Effect.sync(() => [...SessionNs.listGlobal({ directory: test.directory, limit: 1 })]) + expect(page.length).toBe(1) + expect(page[0].id).toBe(second.id) - const page = [...svc.listGlobal({ directory: tmp.path, limit: 1 })] - expect(page.length).toBe(1) - expect(page[0].id).toBe(second.id) + const next = yield* Effect.sync(() => [ + ...SessionNs.listGlobal({ directory: test.directory, limit: 10, cursor: page[0].time.updated }), + ]) + const ids = next.map((session) => session.id) - const next = [...svc.listGlobal({ directory: tmp.path, limit: 10, cursor: page[0].time.updated })] - const ids = next.map((session) => session.id) - - expect(ids).toContain(first.id) - expect(ids).not.toContain(second.id) - }) + expect(ids).toContain(first.id) + expect(ids).not.toContain(second.id) + }), + { git: true }, + ) }) diff --git a/packages/opencode/test/server/httpapi-config.test.ts b/packages/opencode/test/server/httpapi-config.test.ts index 26c0fe03e6..7619a0c881 100644 --- a/packages/opencode/test/server/httpapi-config.test.ts +++ b/packages/opencode/test/server/httpapi-config.test.ts @@ -1,10 +1,12 @@ -import { afterEach, describe, expect, test } from "bun:test" +import { afterEach, describe, expect } from "bun:test" import path from "path" import { Server } from "../../src/server/server" import * as Log from "@opencode-ai/core/util/log" +import { Effect, Fiber } from "effect" import { resetDatabase } from "../fixture/db" import { disposeAllInstances, tmpdir } from "../fixture/fixture" -import { waitGlobalBusEventPromise } from "./global-bus" +import { it } from "../lib/effect" +import { waitGlobalBusEvent } from "./global-bus" void Log.init({ print: false }) @@ -12,47 +14,90 @@ function app() { return Server.Default().app } -async function waitDisposed(directory: string) { - await waitGlobalBusEventPromise({ +function waitDisposed(directory: string) { + return waitGlobalBusEvent({ message: "timed out waiting for instance disposal", predicate: (event) => event.payload.type === "server.instance.disposed" && event.directory === directory, }) } +const tmpdirEffect = (options: Parameters[0]) => + Effect.acquireRelease( + Effect.promise(() => tmpdir(options)), + (tmp) => Effect.promise(() => tmp[Symbol.asyncDispose]()), + ) + afterEach(async () => { await disposeAllInstances() await resetDatabase() }) describe("config HttpApi", () => { - test("serves config update through the default server app", async () => { - await using tmp = await tmpdir({ config: { formatter: false, lsp: false } }) - const disposed = waitDisposed(tmp.path) + it.live( + "serves config update through the default server app", + Effect.gen(function* () { + const tmp = yield* tmpdirEffect({ config: { formatter: false, lsp: false } }) + const disposed = yield* waitDisposed(tmp.path).pipe(Effect.forkScoped) - const response = await app().request("/config", { - method: "PATCH", - headers: { - "content-type": "application/json", - "x-opencode-directory": tmp.path, - }, - body: JSON.stringify({ username: "patched-user", formatter: false, lsp: false }), - }) + const response = yield* Effect.promise(() => + Promise.resolve( + app().request("/config", { + method: "PATCH", + headers: { + "content-type": "application/json", + "x-opencode-directory": tmp.path, + }, + body: JSON.stringify({ username: "patched-user", formatter: false, lsp: false }), + }), + ), + ) - expect(response.status).toBe(200) - expect(await response.json()).toMatchObject({ username: "patched-user", formatter: false, lsp: false }) - await disposed - expect(await Bun.file(path.join(tmp.path, "config.json")).json()).toMatchObject({ - username: "patched-user", - formatter: false, - lsp: false, - }) - }) - - test("serves config with active provider model status", async () => { - await using tmp = await tmpdir({ - config: { + expect(response.status).toBe(200) + expect(yield* Effect.promise(() => response.json())).toMatchObject({ + username: "patched-user", formatter: false, lsp: false, + }) + yield* Fiber.join(disposed) + expect(yield* Effect.promise(() => Bun.file(path.join(tmp.path, "config.json")).json())).toMatchObject({ + username: "patched-user", + formatter: false, + lsp: false, + }) + }), + ) + + it.live( + "serves config with active provider model status", + Effect.gen(function* () { + const tmp = yield* tmpdirEffect({ + config: { + formatter: false, + lsp: false, + provider: { + omniroute: { + models: { + "gpt-4o": { + status: "active", + }, + }, + }, + }, + }, + }) + + const response = yield* Effect.promise(() => + Promise.resolve( + app().request("/config", { + headers: { + "x-opencode-directory": tmp.path, + }, + }), + ), + ) + + expect(response.status).toBe(200) + expect(yield* Effect.promise(() => response.json())).toMatchObject({ provider: { omniroute: { models: { @@ -62,26 +107,7 @@ describe("config HttpApi", () => { }, }, }, - }, - }) - - const response = await app().request("/config", { - headers: { - "x-opencode-directory": tmp.path, - }, - }) - - expect(response.status).toBe(200) - expect(await response.json()).toMatchObject({ - provider: { - omniroute: { - models: { - "gpt-4o": { - status: "active", - }, - }, - }, - }, - }) - }) + }) + }), + ) }) diff --git a/packages/opencode/test/server/httpapi-exercise/index.ts b/packages/opencode/test/server/httpapi-exercise/index.ts index 896aad32f5..0d6bec2dfe 100644 --- a/packages/opencode/test/server/httpapi-exercise/index.ts +++ b/packages/opencode/test/server/httpapi-exercise/index.ts @@ -593,12 +593,6 @@ const scenarios: Scenario[] = [ check(auth.test === undefined, "auth remove should delete provider from isolated auth file") }), ), - http.protected.get("/api/model", "v2.model.list").json(200, array, "none"), - http.protected.get("/api/provider", "v2.provider.list").json(200, array, "none"), - http.protected - .get("/api/provider/{providerID}", "v2.provider.get") - .at((ctx) => ({ path: route("/api/provider/{providerID}", { providerID: "opencode" }), headers: ctx.headers() })) - .json(200, object, "none"), http.protected .get("/api/session", "v2.session.list") .at((ctx) => ({ path: "/api/session?roots=true", headers: ctx.headers() })) diff --git a/packages/opencode/test/server/httpapi-experimental.test.ts b/packages/opencode/test/server/httpapi-experimental.test.ts index 383442e00e..11aed69cb4 100644 --- a/packages/opencode/test/server/httpapi-experimental.test.ts +++ b/packages/opencode/test/server/httpapi-experimental.test.ts @@ -1,47 +1,183 @@ -import { afterEach, describe, expect, test } from "bun:test" -import { Effect } from "effect" -import { WithInstance } from "../../src/project/with-instance" +import { afterEach, describe, expect } from "bun:test" +import { Deferred, Effect, Fiber, Layer } from "effect" +import { eq } from "drizzle-orm" +import { GlobalBus, type GlobalEvent } from "@/bus/global" import { Server } from "../../src/server/server" import { ExperimentalPaths } from "../../src/server/routes/instance/httpapi/groups/experimental" import { Session } from "@/session/session" +import { SessionTable } from "@/session/session.sql" import { Database } from "@/storage/db" import * as Log from "@opencode-ai/core/util/log" import { Worktree } from "../../src/worktree" import { resetDatabase } from "../fixture/db" -import { disposeAllInstances, tmpdir } from "../fixture/fixture" -import { waitGlobalBusEventPromise } from "./global-bus" +import { disposeAllInstances, TestInstance } from "../fixture/fixture" +import { testEffect } from "../lib/effect" void Log.init({ print: false }) -const testWorktreeMutations = process.platform === "win32" ? test.skip : test +const it = testEffect(Layer.mergeAll(Session.defaultLayer)) +const testWorktreeMutations = process.platform === "win32" ? it.instance.skip : it.instance function app() { return Server.Default().app } -function runSession(fx: Effect.Effect) { - return Effect.runPromise(fx.pipe(Effect.provide(Session.defaultLayer))) +function request(path: string, directory: string, init: RequestInit = {}) { + return Effect.promise(() => { + const headers = new Headers(init.headers) + headers.set("x-opencode-directory", directory) + return Promise.resolve(app().request(path, { ...init, headers })) + }) } function createSession(input?: Session.CreateInput) { - return runSession(Session.Service.use((svc) => svc.create(input))) + return Session.Service.use((svc) => svc.create(input)) } -async function waitReady(directory: string) { - await waitGlobalBusEventPromise({ - message: "timed out waiting for worktree.ready", - predicate: (event) => event.payload.type === Worktree.Event.Ready.type && event.directory === directory, +function json(response: Response) { + return Effect.promise(() => response.json() as Promise) +} + +function waitReady(input: { directory?: string; name?: string }) { + return Effect.gen(function* () { + const ready = yield* Deferred.make() + const on = (event: GlobalEvent) => { + if (event.payload.type !== Worktree.Event.Ready.type) return + if (input.directory && event.directory !== input.directory) return + if (input.name && event.payload.properties.name !== input.name) return + Deferred.doneUnsafe(ready, Effect.void) + } + + GlobalBus.on("event", on) + yield* Effect.addFinalizer(() => Effect.sync(() => GlobalBus.off("event", on))) + + return yield* Deferred.await(ready).pipe( + Effect.timeoutOrElse({ + duration: "10 seconds", + orElse: () => Effect.fail(new Error("timed out waiting for worktree.ready")), + }), + ) }) } +function insertAccount() { + return Effect.acquireRelease( + Effect.sync(() => { + Database.Client() + .$client.prepare( + "INSERT INTO account (id, email, url, access_token, refresh_token, time_created, time_updated) VALUES (?, ?, ?, ?, ?, ?, ?)", + ) + .run( + "account-test", + "test@example.com", + "https://console.example.com", + "access", + "refresh", + Date.now(), + Date.now(), + ) + return "account-test" + }), + (id) => + Effect.sync(() => { + Database.Client().$client.prepare("DELETE FROM account WHERE id = ?").run(id) + }), + ) +} + +function setSessionUpdated(session: Session.Info, updated: number) { + return Effect.sync(() => { + Database.use((db) => + db.update(SessionTable).set({ time_updated: updated }).where(eq(SessionTable.id, session.id)).run(), + ) + }) +} + +function withCreatedWorktree(directory: string, use: (info: Worktree.Info) => Effect.Effect) { + const name = "api-test" + const headers = { "content-type": "application/json" } + return Effect.acquireUseRelease( + Effect.gen(function* () { + const ready = yield* waitReady({ name }).pipe(Effect.forkScoped) + const created = yield* request(ExperimentalPaths.worktree, directory, { + method: "POST", + headers, + body: JSON.stringify({ name }), + }) + + expect(created.status).toBe(200) + const info = yield* json(created) + expect(info).toMatchObject({ name, branch: "opencode/api-test" }) + yield* Fiber.join(ready) + return info + }), + use, + (info) => + Effect.gen(function* () { + const removed = yield* request(ExperimentalPaths.worktree, directory, { + method: "DELETE", + headers, + body: JSON.stringify({ directory: info.directory }), + }) + if (removed.status !== 200) return yield* Effect.fail(new Error(`failed to remove worktree: ${removed.status}`)) + const ok = yield* json(removed) + if (!ok) return yield* Effect.fail(new Error(`failed to remove worktree ${info.directory}`)) + }), + ) +} + afterEach(async () => { await disposeAllInstances() await resetDatabase() }) describe("experimental HttpApi", () => { - test("serves read-only experimental endpoints through the default server app", async () => { - await using tmp = await tmpdir({ + it.instance( + "serves read-only experimental endpoints through the default server app", + () => + Effect.gen(function* () { + const tmp = yield* TestInstance + const directory = tmp.directory + const [consoleState, consoleOrgs, toolList, toolIDs, worktrees, resources] = yield* Effect.all( + [ + request(ExperimentalPaths.console, directory), + request(ExperimentalPaths.consoleOrgs, directory), + request(`${ExperimentalPaths.tool}?provider=opencode&model=gpt-5`, directory), + request(ExperimentalPaths.toolIDs, directory), + request(ExperimentalPaths.worktree, directory), + request(ExperimentalPaths.resource, directory), + ], + { concurrency: "unbounded" }, + ) + + expect(consoleState.status).toBe(200) + expect(yield* json(consoleState)).toEqual({ + consoleManagedProviders: [], + switchableOrgCount: 0, + }) + + expect(consoleOrgs.status).toBe(200) + expect(yield* json(consoleOrgs)).toEqual({ orgs: [] }) + + expect(toolList.status).toBe(200) + expect(yield* json(toolList)).toContainEqual( + expect.objectContaining({ + id: "bash", + description: expect.any(String), + parameters: expect.any(Object), + }), + ) + + expect(toolIDs.status).toBe(200) + expect(yield* json(toolIDs)).toContain("bash") + + expect(worktrees.status).toBe(200) + expect(yield* json(worktrees)).toEqual([]) + + expect(resources.status).toBe(200) + expect(yield* json(resources)).toEqual({}) + }), + { config: { formatter: false, lsp: false, @@ -53,150 +189,88 @@ describe("experimental HttpApi", () => { }, }, }, - }) + }, + ) - const headers = { "x-opencode-directory": tmp.path } - const [consoleState, consoleOrgs, toolList, toolIDs, worktrees, resources] = await Promise.all([ - app().request(ExperimentalPaths.console, { headers }), - app().request(ExperimentalPaths.consoleOrgs, { headers }), - app().request(`${ExperimentalPaths.tool}?provider=opencode&model=gpt-5`, { headers }), - app().request(ExperimentalPaths.toolIDs, { headers }), - app().request(ExperimentalPaths.worktree, { headers }), - app().request(ExperimentalPaths.resource, { headers }), - ]) + it.instance( + "serves Console org switch through the default server app", + () => + Effect.gen(function* () { + const tmp = yield* TestInstance + const accountID = yield* insertAccount() + const switched = yield* request(ExperimentalPaths.consoleSwitch, tmp.directory, { + method: "POST", + headers: { "content-type": "application/json" }, + body: JSON.stringify({ accountID, orgID: "org-test" }), + }) - expect(consoleState.status).toBe(200) - expect(await consoleState.json()).toEqual({ - consoleManagedProviders: [], - switchableOrgCount: 0, - }) - - expect(consoleOrgs.status).toBe(200) - expect(await consoleOrgs.json()).toEqual({ orgs: [] }) - - expect(toolList.status).toBe(200) - expect(await toolList.json()).toContainEqual( - expect.objectContaining({ - id: "bash", - description: expect.any(String), - parameters: expect.any(Object), + expect(switched.status).toBe(200) + expect(yield* json(switched)).toBe(true) }), - ) + { config: { formatter: false, lsp: false } }, + ) - expect(toolIDs.status).toBe(200) - expect(await toolIDs.json()).toContain("bash") + it.instance( + "serves global session list through the default server app", + () => + Effect.gen(function* () { + const tmp = yield* TestInstance + const first = yield* createSession({ title: "page-one" }) + const second = yield* createSession({ title: "page-two" }) + yield* setSessionUpdated(first, 1) + yield* setSessionUpdated(second, 2) - expect(worktrees.status).toBe(200) - expect(await worktrees.json()).toEqual([]) + const page = yield* request( + `${ExperimentalPaths.session}?${new URLSearchParams({ directory: tmp.directory, limit: "1" })}`, + tmp.directory, + ) + expect(page.status).toBe(200) + expect(page.headers.get("x-next-cursor")).toBeTruthy() - expect(resources.status).toBe(200) - expect(await resources.json()).toEqual({}) - }) + const body = yield* json(page) + expect(body.map((session) => session.id)).toEqual([second.id]) + expect(body[0].project?.id).toBe(second.projectID) - test("serves Console org switch through the default server app", async () => { - await using tmp = await tmpdir({ config: { formatter: false, lsp: false } }) - Database.Client() - .$client.prepare( - "INSERT INTO account (id, email, url, access_token, refresh_token, time_created, time_updated) VALUES (?, ?, ?, ?, ?, ?, ?)", - ) - .run( - "account-test", - "test@example.com", - "https://console.example.com", - "access", - "refresh", - Date.now(), - Date.now(), - ) + const next = yield* request( + `${ExperimentalPaths.session}?${new URLSearchParams({ + directory: tmp.directory, + limit: "10", + cursor: body[0].time.updated.toString(), + })}`, + tmp.directory, + ) + expect(next.status).toBe(200) + expect((yield* json(next)).map((session) => session.id)).toContain(first.id) + }), + { git: true, config: { formatter: false, lsp: false } }, + ) - const switched = await app().request(ExperimentalPaths.consoleSwitch, { - method: "POST", - headers: { "x-opencode-directory": tmp.path, "content-type": "application/json" }, - body: JSON.stringify({ accountID: "account-test", orgID: "org-test" }), - }) + testWorktreeMutations( + "serves worktree mutations through the default server app", + () => + Effect.gen(function* () { + const tmp = yield* TestInstance + yield* withCreatedWorktree(tmp.directory, (info) => + Effect.gen(function* () { + const listed = yield* request(ExperimentalPaths.worktree, tmp.directory) + expect(listed.status).toBe(200) + expect(yield* json(listed)).toContain(info.directory) - expect(switched.status).toBe(200) - expect(await switched.json()).toBe(true) - }) + const reset = yield* request(ExperimentalPaths.worktreeReset, tmp.directory, { + method: "POST", + headers: { "content-type": "application/json" }, + body: JSON.stringify({ directory: info.directory }), + }) - test("serves global session list through the default server app", async () => { - await using tmp = await tmpdir({ git: true, config: { formatter: false, lsp: false } }) + expect(reset.status).toBe(200) + expect(yield* json(reset)).toBe(true) + }), + ) - const first = await WithInstance.provide({ - directory: tmp.path, - fn: async () => createSession({ title: "page-one" }), - }) - await new Promise((resolve) => setTimeout(resolve, 5)) - const second = await WithInstance.provide({ - directory: tmp.path, - fn: async () => createSession({ title: "page-two" }), - }) - - const headers = { "x-opencode-directory": tmp.path } - const page = await app().request( - `${ExperimentalPaths.session}?${new URLSearchParams({ directory: tmp.path, limit: "1" })}`, - { headers }, - ) - expect(page.status).toBe(200) - expect(page.headers.get("x-next-cursor")).toBeTruthy() - - const body = (await page.json()) as Session.GlobalInfo[] - expect(body.map((session) => session.id)).toEqual([second.id]) - expect(body[0].project?.id).toBe(second.projectID) - - const next = await app().request( - `${ExperimentalPaths.session}?${new URLSearchParams({ - directory: tmp.path, - limit: "10", - cursor: body[0].time.updated.toString(), - })}`, - { headers }, - ) - expect(next.status).toBe(200) - expect(((await next.json()) as Session.GlobalInfo[]).map((session) => session.id)).toContain(first.id) - }) - - testWorktreeMutations("serves worktree mutations through the default server app", async () => { - await using tmp = await tmpdir({ git: true, config: { formatter: false, lsp: false } }) - - const headers = { "x-opencode-directory": tmp.path, "content-type": "application/json" } - const created = await app().request(ExperimentalPaths.worktree, { - method: "POST", - headers, - body: JSON.stringify({ name: "api-test" }), - }) - - expect(created.status).toBe(200) - const info = (await created.json()) as Worktree.Info - expect(info).toMatchObject({ name: "api-test", branch: "opencode/api-test" }) - await waitReady(info.directory) - - const listed = await app().request(ExperimentalPaths.worktree, { headers }) - expect(listed.status).toBe(200) - expect(await listed.json()).toContain(info.directory) - - if (process.platform !== "win32") { - const reset = await app().request(ExperimentalPaths.worktreeReset, { - method: "POST", - headers, - body: JSON.stringify({ directory: info.directory }), - }) - - expect(reset.status).toBe(200) - expect(await reset.json()).toBe(true) - } - - const removed = await app().request(ExperimentalPaths.worktree, { - method: "DELETE", - headers, - body: JSON.stringify({ directory: info.directory }), - }) - - expect(removed.status).toBe(200) - expect(await removed.json()).toBe(true) - - const afterRemove = await app().request(ExperimentalPaths.worktree, { headers }) - expect(afterRemove.status).toBe(200) - expect(await afterRemove.json()).toEqual([]) - }) + const afterRemove = yield* request(ExperimentalPaths.worktree, tmp.directory) + expect(afterRemove.status).toBe(200) + expect(yield* json(afterRemove)).toEqual([]) + }), + { git: true, config: { formatter: false, lsp: false } }, + ) }) diff --git a/packages/opencode/test/server/httpapi-mcp.test.ts b/packages/opencode/test/server/httpapi-mcp.test.ts index b6c7aebcd2..21cb0cfd24 100644 --- a/packages/opencode/test/server/httpapi-mcp.test.ts +++ b/packages/opencode/test/server/httpapi-mcp.test.ts @@ -1,69 +1,57 @@ -import { afterEach, describe, expect, test } from "bun:test" -import { Context, Effect, FileSystem, Layer, Path } from "effect" -import { NodeFileSystem, NodePath } from "@effect/platform-node" +import { describe, expect } from "bun:test" +import { Context, Effect, Layer } from "effect" import { ExperimentalHttpApiServer } from "../../src/server/routes/instance/httpapi/server" import { McpPaths } from "../../src/server/routes/instance/httpapi/groups/mcp" -import { Instance } from "../../src/project/instance" -import { WithInstance } from "../../src/project/with-instance" -import { InstanceRuntime } from "../../src/project/instance-runtime" import { Server } from "../../src/server/server" import * as Log from "@opencode-ai/core/util/log" import { resetDatabase } from "../fixture/db" -import { disposeAllInstances, provideInstance, tmpdir } from "../fixture/fixture" +import { TestInstance } from "../fixture/fixture" import { testEffect } from "../lib/effect" void Log.init({ print: false }) const context = Context.empty() as Context.Context -const it = testEffect(Layer.mergeAll(NodeFileSystem.layer, NodePath.layer)) +const testStateLayer = Layer.effectDiscard( + Effect.gen(function* () { + yield* Effect.promise(() => resetDatabase()) + yield* Effect.addFinalizer(() => Effect.promise(() => resetDatabase()).pipe(Effect.ignore)) + }), +) +const it = testEffect(testStateLayer) function app() { return Server.Default().app } type TestApp = ReturnType +type TestHandler = ReturnType -function request(route: string, directory: string, init?: RequestInit) { +const handlerScoped = Effect.acquireRelease( + Effect.sync(() => ExperimentalHttpApiServer.webHandler()), + (handler) => Effect.promise(() => handler.dispose()).pipe(Effect.ignore), +) + +const request = Effect.fnUntraced(function* ( + handler: TestHandler, + route: string, + directory: string, + init?: RequestInit, +) { const headers = new Headers(init?.headers) headers.set("x-opencode-directory", directory) - return ExperimentalHttpApiServer.webHandler().handler( - new Request(`http://localhost${route}`, { - ...init, - headers, - }), - context, + return yield* Effect.promise(() => + Promise.resolve( + handler.handler( + new Request(`http://localhost${route}`, { + ...init, + headers, + }), + context, + ), + ), ) -} +}) -function withMcpProject(self: (dir: string) => Effect.Effect) { - return Effect.gen(function* () { - const fs = yield* FileSystem.FileSystem - const path = yield* Path.Path - const dir = yield* fs.makeTempDirectoryScoped({ prefix: "opencode-test-" }) - - yield* fs.writeFileString( - path.join(dir, "opencode.json"), - JSON.stringify({ - $schema: "https://opencode.ai/config.json", - formatter: false, - lsp: false, - mcp: { - demo: { - type: "local", - command: ["echo", "demo"], - enabled: false, - }, - }, - }), - ) - yield* Effect.addFinalizer(() => - Effect.promise(() => - WithInstance.provide({ directory: dir, fn: () => InstanceRuntime.disposeInstance(Instance.current) }), - ).pipe(Effect.ignore), - ) - - return yield* self(dir).pipe(provideInstance(dir)) - }) -} +const json = (response: Response) => Effect.promise(() => response.json() as Promise) const readResponse = Effect.fnUntraced(function* (input: { app: TestApp; path: string; headers: HeadersInit }) { const response = yield* Effect.promise(() => @@ -75,95 +63,108 @@ const readResponse = Effect.fnUntraced(function* (input: { app: TestApp; path: s } }) -afterEach(async () => { - await disposeAllInstances() - await resetDatabase() -}) - describe("mcp HttpApi", () => { - test("serves status endpoint", async () => { - await using tmp = await tmpdir({ - config: { - mcp: { - demo: { - type: "local", - command: ["echo", "demo"], - enabled: false, - }, - }, - }, - }) - - const response = await request(McpPaths.status, tmp.path) - expect(response.status).toBe(200) - expect(await response.json()).toEqual({ demo: { status: "disabled" } }) - }) - - test("serves add, connect, and disconnect endpoints", async () => { - await using tmp = await tmpdir({ - config: { - mcp: { - demo: { - type: "local", - command: ["echo", "demo"], - enabled: false, - }, - }, - }, - }) - - const added = await request(McpPaths.status, tmp.path, { - method: "POST", - headers: { "content-type": "application/json" }, - body: JSON.stringify({ - name: "added", - config: { - type: "local", - command: ["echo", "added"], - enabled: false, - }, - }), - }) - expect(added.status).toBe(200) - expect(await added.json()).toMatchObject({ added: { status: "disabled" } }) - - const connected = await request("/mcp/demo/connect", tmp.path, { method: "POST" }) - expect(connected.status).toBe(200) - expect(await connected.json()).toBe(true) - - const disconnected = await request("/mcp/demo/disconnect", tmp.path, { method: "POST" }) - expect(disconnected.status).toBe(200) - expect(await disconnected.json()).toBe(true) - }) - - test("serves deterministic OAuth endpoints", async () => { - await using tmp = await tmpdir({ - config: { - mcp: { - demo: { - type: "local", - command: ["echo", "demo"], - enabled: false, - }, - }, - }, - }) - - const start = await request("/mcp/demo/auth", tmp.path, { method: "POST" }) - expect(start.status).toBe(400) - - const authenticate = await request("/mcp/demo/auth/authenticate", tmp.path, { method: "POST" }) - expect(authenticate.status).toBe(400) - - const removed = await request("/mcp/demo/auth", tmp.path, { method: "DELETE" }) - expect(removed.status).toBe(200) - expect(await removed.json()).toEqual({ success: true }) - }) - - it.live( - "returns unsupported OAuth error responses", - withMcpProject((dir) => + it.instance( + "serves status endpoint", + () => Effect.gen(function* () { + const tmp = yield* TestInstance + const handler = yield* handlerScoped + const response = yield* request(handler, McpPaths.status, tmp.directory) + + expect(response.status).toBe(200) + expect(yield* json(response)).toEqual({ demo: { status: "disabled" } }) + }), + { + config: { + mcp: { + demo: { + type: "local", + command: ["echo", "demo"], + enabled: false, + }, + }, + }, + }, + ) + + it.instance( + "serves add, connect, and disconnect endpoints", + () => + Effect.gen(function* () { + const tmp = yield* TestInstance + const handler = yield* handlerScoped + const added = yield* request(handler, McpPaths.status, tmp.directory, { + method: "POST", + headers: { "content-type": "application/json" }, + body: JSON.stringify({ + name: "added", + config: { + type: "local", + command: ["echo", "added"], + enabled: false, + }, + }), + }) + expect(added.status).toBe(200) + expect(yield* json(added)).toMatchObject({ added: { status: "disabled" } }) + + const connected = yield* request(handler, "/mcp/demo/connect", tmp.directory, { method: "POST" }) + expect(connected.status).toBe(200) + expect(yield* json(connected)).toBe(true) + + const disconnected = yield* request(handler, "/mcp/demo/disconnect", tmp.directory, { method: "POST" }) + expect(disconnected.status).toBe(200) + expect(yield* json(disconnected)).toBe(true) + }), + { + config: { + mcp: { + demo: { + type: "local", + command: ["echo", "demo"], + enabled: false, + }, + }, + }, + }, + ) + + it.instance( + "serves deterministic OAuth endpoints", + () => + Effect.gen(function* () { + const tmp = yield* TestInstance + const handler = yield* handlerScoped + const start = yield* request(handler, "/mcp/demo/auth", tmp.directory, { method: "POST" }) + expect(start.status).toBe(400) + + const authenticate = yield* request(handler, "/mcp/demo/auth/authenticate", tmp.directory, { method: "POST" }) + expect(authenticate.status).toBe(400) + + const removed = yield* request(handler, "/mcp/demo/auth", tmp.directory, { method: "DELETE" }) + expect(removed.status).toBe(200) + expect(yield* json(removed)).toEqual({ success: true }) + }), + { + config: { + mcp: { + demo: { + type: "local", + command: ["echo", "demo"], + enabled: false, + }, + }, + }, + }, + ) + + it.instance( + "returns unsupported OAuth error responses", + () => + Effect.gen(function* () { + const tmp = yield* TestInstance + const dir = tmp.directory const headers = { "x-opencode-directory": dir } yield* Effect.forEach(["/mcp/demo/auth", "/mcp/demo/auth/authenticate"], (path) => @@ -177,6 +178,18 @@ describe("mcp HttpApi", () => { }), ) }), - ), + { + config: { + formatter: false, + lsp: false, + mcp: { + demo: { + type: "local", + command: ["echo", "demo"], + enabled: false, + }, + }, + }, + }, ) }) diff --git a/packages/opencode/test/server/httpapi-provider.test.ts b/packages/opencode/test/server/httpapi-provider.test.ts index 68db6663d2..cb47e5bbd5 100644 --- a/packages/opencode/test/server/httpapi-provider.test.ts +++ b/packages/opencode/test/server/httpapi-provider.test.ts @@ -1,18 +1,24 @@ -import { afterEach, describe, expect } from "bun:test" -import { Effect, FileSystem, Layer, Path } from "effect" -import { NodeFileSystem, NodePath } from "@effect/platform-node" -import { Instance } from "../../src/project/instance" -import { WithInstance } from "../../src/project/with-instance" -import { InstanceRuntime } from "../../src/project/instance-runtime" +import { describe, expect } from "bun:test" +import { AppFileSystem } from "@opencode-ai/core/filesystem" +import { Effect, Layer } from "effect" +import path from "path" import { Server } from "../../src/server/server" import * as Log from "@opencode-ai/core/util/log" import { resetDatabase } from "../fixture/db" -import { disposeAllInstances, provideInstance } from "../fixture/fixture" +import { TestInstance } from "../fixture/fixture" import { testEffect } from "../lib/effect" void Log.init({ print: false }) -const it = testEffect(Layer.mergeAll(NodeFileSystem.layer, NodePath.layer)) +const testStateLayer = Layer.effectDiscard( + Effect.acquireRelease( + Effect.promise(() => resetDatabase()), + () => Effect.promise(() => resetDatabase()), + ), +) + +const it = testEffect(Layer.mergeAll(testStateLayer, AppFileSystem.defaultLayer)) +const projectOptions = { config: { formatter: false, lsp: false } } const providerID = "test-oauth-parity" const oauthURL = "https://example.com/oauth" const oauthInstructions = "Finish OAuth" @@ -90,11 +96,9 @@ function requestAuthorize(input: { function writeProviderAuthPlugin(dir: string) { return Effect.gen(function* () { - const fs = yield* FileSystem.FileSystem - const path = yield* Path.Path + const fs = yield* AppFileSystem.Service - yield* fs.makeDirectory(path.join(dir, ".opencode", "plugin"), { recursive: true }) - yield* fs.writeFileString( + yield* fs.writeWithDirs( path.join(dir, ".opencode", "plugin", "provider-oauth-parity.ts"), [ "export default {", @@ -126,11 +130,9 @@ function writeProviderAuthPlugin(dir: string) { function writeFunctionOptionsPlugin(dir: string) { return Effect.gen(function* () { - const fs = yield* FileSystem.FileSystem - const path = yield* Path.Path + const fs = yield* AppFileSystem.Service - yield* fs.makeDirectory(path.join(dir, ".opencode", "plugin"), { recursive: true }) - yield* fs.writeFileString( + yield* fs.writeWithDirs( path.join(dir, ".opencode", "plugin", "provider-function-options.ts"), [ "export default {", @@ -159,11 +161,9 @@ function writeFunctionOptionsPlugin(dir: string) { function writeProviderModelsMutationPlugin(dir: string) { return Effect.gen(function* () { - const fs = yield* FileSystem.FileSystem - const path = yield* Path.Path + const fs = yield* AppFileSystem.Service - yield* fs.makeDirectory(path.join(dir, ".opencode", "plugin"), { recursive: true }) - yield* fs.writeFileString( + yield* fs.writeWithDirs( path.join(dir, ".opencode", "plugin", "provider-models-mutation.ts"), [ "export default {", @@ -191,91 +191,69 @@ function writeProviderModelsMutationPlugin(dir: string) { }) } -function withProviderProject(self: (dir: string) => Effect.Effect) { - return Effect.gen(function* () { - const fs = yield* FileSystem.FileSystem - const path = yield* Path.Path - const dir = yield* fs.makeTempDirectoryScoped({ prefix: "opencode-test-" }) - - yield* fs.writeFileString( - path.join(dir, "opencode.json"), - JSON.stringify({ $schema: "https://opencode.ai/config.json", formatter: false, lsp: false }), - ) - yield* writeProviderAuthPlugin(dir) - yield* Effect.addFinalizer(() => - Effect.promise(() => - WithInstance.provide({ directory: dir, fn: () => InstanceRuntime.disposeInstance(Instance.current) }), - ).pipe(Effect.ignore), - ) - - return yield* self(dir).pipe(provideInstance(dir)) - }) +function setEnvScoped(key: string, value: string) { + return Effect.acquireRelease( + Effect.sync(() => { + const previous = process.env[key] + process.env[key] = value + return previous + }), + (previous) => + Effect.sync(() => { + if (previous === undefined) delete process.env[key] + else process.env[key] = previous + }), + ) } -afterEach(async () => { - await disposeAllInstances() - await resetDatabase() -}) - describe("provider HttpApi", () => { - it.live( + it.instance( "serves OAuth authorize response shapes", - withProviderProject((dir) => - Effect.gen(function* () { - const headers = { "x-opencode-directory": dir, "content-type": "application/json" } - const server = app() + Effect.gen(function* () { + const instance = yield* TestInstance + yield* writeProviderAuthPlugin(instance.directory) + const headers = { "x-opencode-directory": instance.directory, "content-type": "application/json" } + const server = app() - const api = yield* requestAuthorize({ - app: server, - providerID, - method: 0, - headers, - }) - // method 0 (api-key style) — authorize() resolves with no further - // redirect; #26474 changed the wire format to JSON `null` so clients - // can `.json()` parse uniformly instead of getting an empty body - // that throws. - expect(api).toEqual({ status: 200, body: "null" }) + const api = yield* requestAuthorize({ + app: server, + providerID, + method: 0, + headers, + }) + // method 0 (api-key style) — authorize() resolves with no further + // redirect; #26474 changed the wire format to JSON `null` so clients + // can `.json()` parse uniformly instead of getting an empty body + // that throws. + expect(api).toEqual({ status: 200, body: "null" }) - const oauth = yield* requestAuthorize({ - app: server, - providerID, - method: 1, - headers, - }) - expect(JSON.parse(oauth.body)).toEqual({ - url: oauthURL, - method: "code", - instructions: oauthInstructions, - }) - }), - ), + const oauth = yield* requestAuthorize({ + app: server, + providerID, + method: 1, + headers, + }) + expect(JSON.parse(oauth.body)).toEqual({ + url: oauthURL, + method: "code", + instructions: oauthInstructions, + }) + }), + projectOptions, ) - it.live("serves provider lists when auth loaders add runtime fetch options", () => + it.instance( + "serves provider lists when auth loaders add runtime fetch options", Effect.gen(function* () { - const fs = yield* FileSystem.FileSystem - const path = yield* Path.Path - const dir = yield* fs.makeTempDirectoryScoped({ prefix: "opencode-test-" }) - const previous = process.env.OPENCODE_AUTH_CONTENT - - yield* fs.writeFileString( - path.join(dir, "opencode.json"), - JSON.stringify({ $schema: "https://opencode.ai/config.json", formatter: false, lsp: false }), - ) - yield* writeFunctionOptionsPlugin(dir) - yield* Effect.sync(() => { - process.env.OPENCODE_AUTH_CONTENT = JSON.stringify({ + const instance = yield* TestInstance + yield* writeFunctionOptionsPlugin(instance.directory) + yield* setEnvScoped( + "OPENCODE_AUTH_CONTENT", + JSON.stringify({ google: { type: "oauth", refresh: "dummy", access: "dummy", expires: 9999999999999 }, - }) - }) - yield* Effect.addFinalizer(() => - Effect.sync(() => { - if (previous === undefined) delete process.env.OPENCODE_AUTH_CONTENT - if (previous !== undefined) process.env.OPENCODE_AUTH_CONTENT = previous }), ) - const headers = { "x-opencode-directory": dir } + const headers = { "x-opencode-directory": instance.directory } const providerResponse = yield* Effect.promise(() => Promise.resolve(app().request("/provider", { headers }))) const configResponse = yield* Effect.promise(() => Promise.resolve(app().request("/config/providers", { headers })), @@ -291,21 +269,16 @@ describe("provider HttpApi", () => { expect(hasNonZeroModelCost(providerBody, "all", "google")).toBe(true) expect(hasNonZeroModelCost(configBody, "providers", "google")).toBe(true) }), + projectOptions, ) - it.live("keeps provider.models hook input mutations out of provider state", () => + it.instance( + "keeps provider.models hook input mutations out of provider state", Effect.gen(function* () { - const fs = yield* FileSystem.FileSystem - const path = yield* Path.Path - const dir = yield* fs.makeTempDirectoryScoped({ prefix: "opencode-test-" }) + const instance = yield* TestInstance + yield* writeProviderModelsMutationPlugin(instance.directory) - yield* fs.writeFileString( - path.join(dir, "opencode.json"), - JSON.stringify({ $schema: "https://opencode.ai/config.json", formatter: false, lsp: false }), - ) - yield* writeProviderModelsMutationPlugin(dir) - - const headers = { "x-opencode-directory": dir } + const headers = { "x-opencode-directory": instance.directory } const providerResponse = yield* Effect.promise(() => Promise.resolve(app().request("/provider", { headers }))) const configResponse = yield* Effect.promise(() => Promise.resolve(app().request("/config/providers", { headers })), @@ -320,5 +293,6 @@ describe("provider HttpApi", () => { expect(hasProviderMutationMarker(configBody, "providers", "google")).toBe(false) expect(hasNonZeroModelCost(providerBody, "all", "google")).toBe(true) }), + projectOptions, ) }) diff --git a/packages/opencode/test/server/httpapi-sdk.test.ts b/packages/opencode/test/server/httpapi-sdk.test.ts index 0201f98c25..a76877a0bf 100644 --- a/packages/opencode/test/server/httpapi-sdk.test.ts +++ b/packages/opencode/test/server/httpapi-sdk.test.ts @@ -2,11 +2,14 @@ import { afterEach, describe, expect } from "bun:test" import { ConfigProvider, Effect, Layer } from "effect" import type * as Scope from "effect/Scope" import { HttpRouter } from "effect/unstable/http" +import { ChildProcessSpawner } from "effect/unstable/process" +import { AppFileSystem } from "@opencode-ai/core/filesystem" +import { CrossSpawnSpawner } from "@opencode-ai/core/cross-spawn-spawner" import { Flag } from "@opencode-ai/core/flag/flag" import { createOpencodeClient } from "@opencode-ai/sdk/v2" import { validateSession } from "../../src/cli/cmd/tui/validate-session" -import { Instance } from "../../src/project/instance" -import { WithInstance } from "../../src/project/with-instance" +import { InstanceBootstrap } from "../../src/project/bootstrap-service" +import { InstanceStore } from "../../src/project/instance-store" import { ExperimentalHttpApiServer } from "../../src/server/routes/instance/httpapi/server" import { Server } from "../../src/server/server" import { MessageID, PartID, SessionID } from "../../src/session/schema" @@ -18,8 +21,17 @@ import { errorMessage } from "../../src/util/error" import { TestLLMServer } from "../lib/llm-server" import path from "path" import { resetDatabase } from "../fixture/db" -import { disposeAllInstances, tmpdir } from "../fixture/fixture" -import { it } from "../lib/effect" +import { disposeAllInstances, TestInstance, tmpdirScoped } from "../fixture/fixture" +import { testEffect } from "../lib/effect" + +const noopBootstrap = Layer.succeed(InstanceBootstrap.Service, InstanceBootstrap.Service.of({ run: Effect.void })) +const it = testEffect( + Layer.mergeAll( + AppFileSystem.defaultLayer, + CrossSpawnSpawner.defaultLayer, + InstanceStore.defaultLayer.pipe(Layer.provide(noopBootstrap)), + ), +) const original = { OPENCODE_SERVER_PASSWORD: Flag.OPENCODE_SERVER_PASSWORD, @@ -32,6 +44,8 @@ type SdkResult = { response: Response; data?: unknown; error?: unknown } type Captured = { status: number; data?: unknown; error?: unknown } type ProjectFixture = { sdk: Sdk; directory: string } type LlmProjectFixture = ProjectFixture & { llm: TestLLMServer["Service"] } +type TestServices = AppFileSystem.Service | ChildProcessSpawner.ChildProcessSpawner | InstanceStore.Service +type TestScope = Scope.Scope | TestServices function app(serverPath: ServerPath, input?: { password?: string; username?: string }) { Flag.OPENCODE_SERVER_PASSWORD = input?.password @@ -149,12 +163,27 @@ function expectStatus(request: () => Promise<{ response: Response }>, status: nu ) } -function firstEvent(open: () => Promise<{ stream: AsyncIterator }>) { - return Effect.acquireRelease(call(open), (events) => - call(async () => void (await events.stream.return?.(undefined))).pipe(Effect.ignore), +function firstEvent(open: (signal: AbortSignal) => Promise<{ stream: AsyncIterator }>) { + return Effect.acquireRelease( + Effect.sync(() => new AbortController()), + (controller) => Effect.sync(() => controller.abort()), ).pipe( - Effect.flatMap((events) => call(() => events.stream.next())), - Effect.map((result) => result.value), + Effect.flatMap((controller) => + Effect.acquireRelease( + call(() => open(controller.signal)), + (events) => call(async () => void (await events.stream.return?.(undefined))).pipe(Effect.ignore), + ).pipe( + Effect.flatMap((events) => + call(() => events.stream.next()).pipe( + Effect.timeoutOrElse({ + duration: "1 second", + orElse: () => Effect.fail(new Error("timed out waiting for SDK event")), + }), + ), + ), + Effect.map((result) => result.value), + ), + ), ) } @@ -188,11 +217,32 @@ function resetState() { }) } -function httpapi(name: string, effect: Effect.Effect) { +function httpapi(name: string, effect: Effect.Effect) { it.live(name, effect) } -function serverPathParity(name: string, scenario: (serverPath: ServerPath) => Effect.Effect) { +function httpapiInstance( + name: string, + options: { + serverPath: ServerPath + git?: boolean + config?: Partial + setup?: (dir: string) => Effect.Effect + }, + run: (input: ProjectFixture) => Effect.Effect, +) { + it.instance( + name, + Effect.gen(function* () { + const instance = yield* TestInstance + yield* options.setup?.(instance.directory) ?? Effect.void + return yield* run({ sdk: client(options.serverPath, instance.directory), directory: instance.directory }) + }), + { git: options.git ?? true, config: { formatter: false, lsp: false, ...options.config } }, + ) +} + +function serverPathParity(name: string, scenario: (serverPath: ServerPath) => Effect.Effect) { it.live( name, Effect.gen(function* () { @@ -204,35 +254,43 @@ function serverPathParity(name: string, scenario: (serverPath: ServerPath) ) } -function withProject( +function withProject( serverPath: ServerPath, - options: { git?: boolean; config?: Partial; setup?: (dir: string) => Effect.Effect }, - run: (input: ProjectFixture) => Effect.Effect, + options: { + git?: boolean + config?: Partial + setup?: (dir: string) => Effect.Effect + }, + run: (input: ProjectFixture) => Effect.Effect, ) { - return Effect.acquireRelease( - call(() => tmpdir({ git: options.git ?? true, config: { formatter: false, lsp: false, ...options.config } })), - (tmp) => call(() => tmp[Symbol.asyncDispose]()).pipe(Effect.ignore), - ).pipe( - Effect.tap((tmp) => options.setup?.(tmp.path) ?? Effect.void), - Effect.flatMap((tmp) => run({ sdk: client(serverPath, tmp.path), directory: tmp.path })), - ) + return Effect.gen(function* () { + const directory = yield* tmpdirScoped({ + git: options.git ?? true, + config: { formatter: false, lsp: false, ...options.config }, + }) + yield* options.setup?.(directory) ?? Effect.void + return yield* run({ sdk: client(serverPath, directory), directory }) + }) } -function withStandardProject(serverPath: ServerPath, run: (input: ProjectFixture) => Effect.Effect) { +function withStandardProject( + serverPath: ServerPath, + run: (input: ProjectFixture) => Effect.Effect, +) { return withProject(serverPath, { setup: writeStandardFiles }, run) } -function withFakeLlm(serverPath: ServerPath, run: (input: LlmProjectFixture) => Effect.Effect) { +function withFakeLlm(serverPath: ServerPath, run: (input: LlmProjectFixture) => Effect.Effect) { return Effect.gen(function* () { const llm = yield* TestLLMServer return yield* withProject(serverPath, { config: providerConfig(llm.url) }, (input) => run({ ...input, llm })) }).pipe(Effect.provide(TestLLMServer.layer)) } -function withFakeLlmProject( +function withFakeLlmProject( serverPath: ServerPath, - options: { setup?: (dir: string) => Effect.Effect }, - run: (input: LlmProjectFixture) => Effect.Effect, + options: { setup?: (dir: string) => Effect.Effect }, + run: (input: LlmProjectFixture) => Effect.Effect, ) { return Effect.gen(function* () { const llm = yield* TestLLMServer @@ -248,15 +306,17 @@ function withFakeLlmProject( } function writeStandardFiles(dir: string) { - return Effect.all([ - call(() => Bun.write(path.join(dir, "hello.txt"), "hello")), - call(() => Bun.write(path.join(dir, "needle.ts"), "export const needle = 'sdk-parity'\n")), - ]).pipe(Effect.asVoid) + return AppFileSystem.Service.use((fs) => + Effect.all([ + fs.writeWithDirs(path.join(dir, "hello.txt"), "hello"), + fs.writeWithDirs(path.join(dir, "needle.ts"), "export const needle = 'sdk-parity'\n"), + ]).pipe(Effect.asVoid), + ) } function writeProjectSkill(dir: string) { - return call(() => - Bun.write( + return AppFileSystem.Service.use((fs) => + fs.writeWithDirs( path.join(dir, ".opencode", "skills", "project-rest-skill", "SKILL.md"), `--- name: project-rest-skill @@ -266,40 +326,36 @@ description: A project skill visible to REST API prompts. # Project REST Skill `, ), - ).pipe(Effect.asVoid) + ) } function seedMessage(directory: string, sessionID: string) { const id = SessionID.make(sessionID) - return call( - async () => - await WithInstance.provide({ - directory, - fn: () => - Effect.runPromise( - SessionNs.Service.use((svc) => - Effect.gen(function* () { - const message = yield* svc.updateMessage({ - id: MessageID.ascending(), - sessionID: id, - role: "user", - time: { created: Date.now() }, - agent: "test", - model: { providerID: ProviderID.make("test"), modelID: ModelID.make("test") }, - tools: {}, - } satisfies MessageV2.User) - const part = yield* svc.updatePart({ - id: PartID.ascending(), - sessionID: id, - messageID: message.id, - type: "text", - text: "seeded message", - }) - return { message, part } - }), - ).pipe(Effect.provide(SessionNs.defaultLayer)), - ), - }), + return InstanceStore.Service.use((store) => + store.provide( + { directory }, + SessionNs.Service.use((svc) => + Effect.gen(function* () { + const message = yield* svc.updateMessage({ + id: MessageID.ascending(), + sessionID: id, + role: "user", + time: { created: Date.now() }, + agent: "test", + model: { providerID: ProviderID.make("test"), modelID: ModelID.make("test") }, + tools: {}, + } satisfies MessageV2.User) + const part = yield* svc.updatePart({ + id: PartID.ascending(), + sessionID: id, + messageID: message.id, + type: "text", + text: "seeded message", + }) + return { message, part } + }), + ).pipe(Effect.provide(SessionNs.defaultLayer)), + ), ) } @@ -320,7 +376,7 @@ describe("HttpApi SDK", () => { expect(health.response.status).toBe(200) expect(health.data).toMatchObject({ healthy: true }) - expect(yield* firstEvent(() => sdk.global.event({ signal: AbortSignal.timeout(1_000) }))).toMatchObject({ + expect(yield* firstEvent((signal) => sdk.global.event({ signal }))).toMatchObject({ payload: { type: "server.connected" }, }) expect(log.response.status).toBe(200) @@ -329,9 +385,10 @@ describe("HttpApi SDK", () => { }), ) - httpapi( + httpapiInstance( "uses the generated SDK for safe instance routes", - withProject("raw", { git: false, setup: writeStandardFiles }, ({ sdk }) => + { serverPath: "raw", git: false, setup: writeStandardFiles }, + ({ sdk }) => Effect.gen(function* () { const file = yield* call(() => sdk.file.read({ path: "hello.txt" })) const session = yield* call(() => sdk.session.create({ title: "sdk" })) @@ -351,7 +408,6 @@ describe("HttpApi SDK", () => { expectStatus(() => sdk.find.files({ query: "hello", limit: 10 }), 200), ]) }), - ), ) serverPathParity("matches generated SDK global and control behavior", (serverPath) => @@ -370,14 +426,14 @@ describe("HttpApi SDK", () => { ) serverPathParity("matches generated SDK global event stream", (serverPath) => - firstEvent(() => client(serverPath).global.event({ signal: AbortSignal.timeout(1_000) })).pipe( + firstEvent((signal) => client(serverPath).global.event({ signal })).pipe( Effect.map((event) => ({ type: record(record(event).payload).type })), ), ) serverPathParity("matches generated SDK instance event stream", (serverPath) => withStandardProject(serverPath, ({ sdk }) => - firstEvent(() => sdk.event.subscribe(undefined, { signal: AbortSignal.timeout(1_000) })).pipe( + firstEvent((signal) => sdk.event.subscribe(undefined, { signal })).pipe( Effect.map((event) => ({ type: record(record(event).payload).type })), ), ), @@ -431,9 +487,10 @@ describe("HttpApi SDK", () => { ), ) - httpapi( + httpapiInstance( "uses generated SDK basic auth behavior", - withStandardProject("raw", ({ directory }) => + { serverPath: "raw", setup: writeStandardFiles }, + ({ directory }) => Effect.gen(function* () { const missing = yield* capture(() => client("raw", directory, { password: "secret" }).file.read({ path: "hello.txt" }), @@ -456,7 +513,6 @@ describe("HttpApi SDK", () => { content: record(good.data).content, } }), - ), ) serverPathParity("matches generated SDK instance read routes", (serverPath) => @@ -687,7 +743,7 @@ describe("HttpApi SDK", () => { ) httpapi( - "includes project skills in REST API async prompt context", + "includes project skills in REST API prompt context", withFakeLlmProject("default", { setup: writeProjectSkill }, ({ sdk, llm }) => Effect.gen(function* () { yield* llm.text("skill context ok", { usage: { input: 11, output: 7 } }) @@ -699,18 +755,17 @@ describe("HttpApi SDK", () => { ) const sessionID = String(record(session.data).id) const prompt = yield* capture(() => - sdk.session.promptAsync({ + sdk.session.prompt({ sessionID, agent: "build", model: { providerID: "test", modelID: "test-model" }, parts: [{ type: "text", text: "hello skill context" }], }), ) - yield* llm.wait(1) const inputs = yield* llm.inputs expect(session.status).toBe(200) - expect(prompt.status).toBe(204) + expect(prompt.status).toBe(200) expect(JSON.stringify(inputs[0])).toContain("project-rest-skill") }), ), diff --git a/packages/opencode/test/server/httpapi-session.test.ts b/packages/opencode/test/server/httpapi-session.test.ts index 6204329d0e..8cffb6e825 100644 --- a/packages/opencode/test/server/httpapi-session.test.ts +++ b/packages/opencode/test/server/httpapi-session.test.ts @@ -8,8 +8,8 @@ import type { WorkspaceAdapter } from "../../src/control-plane/types" import { Workspace } from "../../src/control-plane/workspace" import { PermissionID } from "../../src/permission/schema" import { ModelID, ProviderID } from "../../src/provider/schema" -import { WithInstance } from "../../src/project/with-instance" import { InstanceBootstrap } from "../../src/project/bootstrap" +import { InstanceBootstrap as InstanceBootstrapService } from "../../src/project/bootstrap-service" import { InstanceStore } from "../../src/project/instance-store" import { Project } from "../../src/project/project" import { Server } from "../../src/server/server" @@ -20,14 +20,13 @@ import { MessageV2 } from "../../src/session/message-v2" import { Database } from "@/storage/db" import { SessionMessageTable, SessionTable } from "@/session/session.sql" import { SessionMessage } from "../../src/v2/session-message" -import { ModelV2 } from "@opencode-ai/core/model" -import { ProviderV2 } from "@opencode-ai/core/provider" +import { Modelv2 } from "../../src/v2/model" import * as DateTime from "effect/DateTime" import * as Log from "@opencode-ai/core/util/log" import { eq } from "drizzle-orm" import { resetDatabase } from "../fixture/db" -import { disposeAllInstances, tmpdir } from "../fixture/fixture" -import { it } from "../lib/effect" +import { disposeAllInstances, TestInstance } from "../fixture/fixture" +import { testEffect } from "../lib/effect" void Log.init({ print: false }) @@ -36,58 +35,45 @@ const workspaceLayer = Workspace.defaultLayer.pipe( Layer.provide(InstanceStore.defaultLayer), Layer.provide(InstanceBootstrap.defaultLayer), ) +const instanceStoreLayer = InstanceStore.defaultLayer.pipe( + Layer.provide( + Layer.succeed(InstanceBootstrapService.Service, InstanceBootstrapService.Service.of({ run: Effect.void })), + ), +) +const it = testEffect(Layer.mergeAll(instanceStoreLayer, Project.defaultLayer, Session.defaultLayer, workspaceLayer)) function app() { return Server.Default().app } -function runSession(fx: Effect.Effect) { - return Effect.runPromise(fx.pipe(Effect.provide(Session.defaultLayer))) -} - function pathFor(path: string, params: Record) { return Object.entries(params).reduce((result, [key, value]) => result.replace(`:${key}`, value), path) } -function createSession(directory: string, input?: Session.CreateInput) { - return Effect.promise( - async () => - await WithInstance.provide({ - directory, - fn: () => runSession(Session.Service.use((svc) => svc.create(input))), - }), - ) +function createSession(input?: Session.CreateInput) { + return Session.Service.use((svc) => svc.create(input)) } -function createTextMessage(directory: string, sessionID: SessionIDType, text: string) { - return Effect.promise( - async () => - await WithInstance.provide({ - directory, - fn: () => - runSession( - Effect.gen(function* () { - const svc = yield* Session.Service - const info = yield* svc.updateMessage({ - id: MessageID.ascending(), - role: "user", - sessionID, - agent: "build", - model: { providerID: ProviderID.make("test"), modelID: ModelID.make("test") }, - time: { created: Date.now() }, - }) - const part = yield* svc.updatePart({ - id: PartID.ascending(), - sessionID, - messageID: info.id, - type: "text", - text, - }) - return { info, part } - }), - ), - }), - ) +function createTextMessage(sessionID: SessionIDType, text: string) { + return Effect.gen(function* () { + const svc = yield* Session.Service + const info = yield* svc.updateMessage({ + id: MessageID.ascending(), + role: "user", + sessionID, + agent: "build", + model: { providerID: ProviderID.make("test"), modelID: ModelID.make("test") }, + time: { created: Date.now() }, + }) + const part = yield* svc.updatePart({ + id: PartID.ascending(), + sessionID, + messageID: info.id, + type: "text", + text, + }) + return { info, part } + }) } const localAdapter = (directory: string): WorkspaceAdapter => ({ @@ -102,18 +88,88 @@ const localAdapter = (directory: string): WorkspaceAdapter => ({ }) const createLocalWorkspace = (input: { projectID: Project.Info["id"]; type: string; directory: string }) => - Effect.gen(function* () { - registerAdapter(input.projectID, input.type, localAdapter(input.directory)) - return yield* Workspace.Service.use((svc) => - svc.create({ - type: input.type, - branch: null, - extra: null, - projectID: input.projectID, - }), - ).pipe(Effect.provide(workspaceLayer)) + Effect.acquireRelease( + Effect.gen(function* () { + registerAdapter(input.projectID, input.type, localAdapter(input.directory)) + return yield* Workspace.Service.use((svc) => + svc.create({ + type: input.type, + branch: null, + extra: null, + projectID: input.projectID, + }), + ) + }), + (info) => Workspace.Service.use((svc) => svc.remove(info.id)).pipe(Effect.ignore), + ) + +const insertLegacyAssistantMessage = (sessionID: SessionIDType) => + Effect.sync(() => { + const message = new SessionMessage.Assistant({ + id: SessionMessage.ID.create(), + type: "assistant", + agent: "build", + model: { + id: Modelv2.ID.make("model"), + providerID: Modelv2.ProviderID.make("provider"), + variant: Modelv2.VariantID.make("default"), + }, + time: { created: DateTime.makeUnsafe(1) }, + content: [], + }) + Database.use((db) => + db + .insert(SessionMessageTable) + .values([ + { + id: message.id, + session_id: sessionID, + type: message.type, + time_created: 1, + data: { + time: { created: 1 }, + agent: message.agent, + model: message.model, + content: message.content, + } as NonNullable<(typeof SessionMessageTable.$inferInsert)["data"]>, + }, + ]) + .run(), + ) }) +const setLegacySummaryDiff = (sessionID: SessionIDType) => + Effect.sync(() => + Database.use((db) => + db + .update(SessionTable) + .set({ + summary_additions: 1, + summary_deletions: 0, + summary_files: 1, + summary_diffs: [{ additions: 1, deletions: 0 }], + }) + .where(eq(SessionTable.id, sessionID)) + .run(), + ), + ) + +const getWorkspaceID = (sessionID: SessionIDType) => + Effect.sync(() => + Database.use((db) => + db + .select({ workspaceID: SessionTable.workspace_id }) + .from(SessionTable) + .where(eq(SessionTable.id, sessionID)) + .get(), + ), + ) + +const clearSessionPath = (sessionID: SessionIDType) => + Effect.sync(() => + Database.use((db) => db.update(SessionTable).set({ path: null }).where(eq(SessionTable.id, sessionID)).run()), + ) + function request(path: string, init?: RequestInit) { return Effect.promise(async () => app().request(path, init)) } @@ -133,16 +189,6 @@ function requestJson(path: string, init?: RequestInit) { return request(path, init).pipe(Effect.flatMap(json)) } -function withTmp( - options: Parameters[0], - fn: (tmp: Awaited>) => Effect.Effect, -) { - return Effect.acquireRelease( - Effect.promise(() => tmpdir(options)), - (tmp) => Effect.promise(() => tmp[Symbol.asyncDispose]()), - ).pipe(Effect.flatMap(fn)) -} - afterEach(async () => { Flag.OPENCODE_EXPERIMENTAL_WORKSPACES = originalWorkspaces await disposeAllInstances() @@ -150,11 +196,12 @@ afterEach(async () => { }) describe("session HttpApi", () => { - it.live( + it.instance( "returns declared not found errors for read routes", - withTmp({ git: true, config: { formatter: false, lsp: false } }, (tmp) => + () => Effect.gen(function* () { - const headers = { "x-opencode-directory": tmp.path } + const test = yield* TestInstance + const headers = { "x-opencode-directory": test.directory } const missingSession = SessionID.descending() const missingSessionBody = { name: "NotFoundError", @@ -176,7 +223,7 @@ describe("session HttpApi", () => { expect(remove.status).toBe(404) expect(yield* responseJson(remove)).toEqual(missingSessionBody) - const session = yield* createSession(tmp.path, { title: "missing message" }) + const session = yield* createSession({ title: "missing message" }) const missingMessage = MessageID.ascending() const message = yield* request( pathFor(SessionPaths.message, { sessionID: session.id, messageID: missingMessage }), @@ -188,18 +235,19 @@ describe("session HttpApi", () => { data: { message: `Message not found: ${missingMessage}` }, }) }), - ), + { git: true, config: { formatter: false, lsp: false } }, ) - it.live( + it.instance( "serves read routes", - withTmp({ git: true, config: { formatter: false, lsp: false } }, (tmp) => + () => Effect.gen(function* () { - const headers = { "x-opencode-directory": tmp.path } - const parent = yield* createSession(tmp.path, { title: "parent" }) - const child = yield* createSession(tmp.path, { title: "child", parentID: parent.id }) - const message = yield* createTextMessage(tmp.path, parent.id, "hello") - yield* createTextMessage(tmp.path, parent.id, "world") + const test = yield* TestInstance + const headers = { "x-opencode-directory": test.directory } + const parent = yield* createSession({ title: "parent" }) + const child = yield* createSession({ title: "child", parentID: parent.id }) + const message = yield* createTextMessage(parent.id, "hello") + yield* createTextMessage(parent.id, "world") const listed = yield* requestJson(`${SessionPaths.list}?roots=true`, { headers }) expect(listed.map((item) => item.id)).toContain(parent.id) @@ -251,88 +299,40 @@ describe("session HttpApi", () => { ), ).toMatchObject({ info: { id: message.info.id } }) - yield* Effect.promise(() => - WithInstance.provide({ - directory: tmp.path, - fn: async () => { - const message = new SessionMessage.Assistant({ - id: SessionMessage.ID.create(), - type: "assistant", - agent: "build", - model: { - id: ModelV2.ID.make("model"), - providerID: ProviderV2.ID.make("provider"), - variant: ModelV2.VariantID.make("default"), - }, - time: { created: DateTime.makeUnsafe(1) }, - content: [], - }) - Database.use((db) => - db - .insert(SessionMessageTable) - .values([ - { - id: message.id, - session_id: parent.id, - type: message.type, - time_created: 1, - data: { - time: { created: 1 }, - agent: message.agent, - model: message.model, - content: message.content, - } as NonNullable<(typeof SessionMessageTable.$inferInsert)["data"]>, - }, - ]) - .run(), - ) - }, - }), - ) + yield* insertLegacyAssistantMessage(parent.id) expect( (yield* requestJson<{ items: SessionMessage.Message[] }>(`/api/session/${parent.id}/message`, { headers })) .items, ).toMatchObject([{ type: "assistant" }]) }), - ), + { git: true, config: { formatter: false, lsp: false } }, ) - it.live( + it.instance( "serves sessions with migrated summary diffs missing file details", - withTmp({ git: true, config: { formatter: false, lsp: false } }, (tmp) => + () => Effect.gen(function* () { - const session = yield* createSession(tmp.path, { title: "legacy diff" }) - yield* Effect.sync(() => - Database.use((db) => - db - .update(SessionTable) - .set({ - summary_additions: 1, - summary_deletions: 0, - summary_files: 1, - summary_diffs: [{ additions: 1, deletions: 0 }], - }) - .where(eq(SessionTable.id, session.id)) - .run(), - ), - ) + const test = yield* TestInstance + const session = yield* createSession({ title: "legacy diff" }) + yield* setLegacySummaryDiff(session.id) const response = yield* request(pathFor(SessionPaths.get, { sessionID: session.id }), { - headers: { "x-opencode-directory": tmp.path }, + headers: { "x-opencode-directory": test.directory }, }) expect(response.status).toBe(200) expect((yield* json(response)).summary?.diffs).toEqual([{ additions: 1, deletions: 0 }]) }), - ), + { git: true, config: { formatter: false, lsp: false } }, ) - it.live( + it.instance( "serves lifecycle mutation routes", - withTmp({ git: true, config: { formatter: false, lsp: false, share: "disabled" } }, (tmp) => + () => Effect.gen(function* () { - const headers = { "x-opencode-directory": tmp.path, "content-type": "application/json" } + const test = yield* TestInstance + const headers = { "x-opencode-directory": test.directory, "content-type": "application/json" } const createdEmpty = yield* requestJson(SessionPaths.create, { method: "POST", @@ -374,56 +374,48 @@ describe("session HttpApi", () => { }), ).toBe(true) }), - ), + { git: true, config: { formatter: false, lsp: false, share: "disabled" } }, ) - it.live( + it.instance( "persists selected workspace id when creating a session", - withTmp({ git: true, config: { formatter: false, lsp: false, share: "disabled" } }, (tmp) => + () => Effect.gen(function* () { + const test = yield* TestInstance Flag.OPENCODE_EXPERIMENTAL_WORKSPACES = true - const project = yield* Project.use.fromDirectory(tmp.path).pipe(Effect.provide(Project.defaultLayer)) + const project = yield* Project.use.fromDirectory(test.directory) const workspace = yield* createLocalWorkspace({ projectID: project.project.id, type: "session-create-workspace", - directory: path.join(tmp.path, ".workspace-local"), + directory: path.join(test.directory, ".workspace-local"), }) const created = yield* requestJson(`${SessionPaths.create}?workspace=${workspace.id}`, { method: "POST", - headers: { "x-opencode-directory": tmp.path, "content-type": "application/json" }, + headers: { "x-opencode-directory": test.directory, "content-type": "application/json" }, body: JSON.stringify({ title: "workspace session" }), }) const messages = yield* request( `${pathFor(SessionPaths.messages, { sessionID: created.id })}?workspace=${workspace.id}`, { - headers: { "x-opencode-directory": tmp.path }, + headers: { "x-opencode-directory": test.directory }, }, ) expect(created).toMatchObject({ id: created.id, workspaceID: workspace.id }) expect(messages.status).toBe(200) - expect( - yield* Effect.sync(() => - Database.use((db) => - db - .select({ workspaceID: SessionTable.workspace_id }) - .from(SessionTable) - .where(eq(SessionTable.id, created.id)) - .get(), - ), - ), - ).toEqual({ workspaceID: workspace.id }) + expect(yield* getWorkspaceID(created.id)).toEqual({ workspaceID: workspace.id }) }), - ), + { git: true, config: { formatter: false, lsp: false, share: "disabled" } }, ) - it.live( + it.instance( "validates archived timestamp values", - withTmp({ git: true, config: { formatter: false, lsp: false } }, (tmp) => + () => Effect.gen(function* () { - const headers = { "x-opencode-directory": tmp.path, "content-type": "application/json" } - const session = yield* createSession(tmp.path, { title: "archived" }) + const test = yield* TestInstance + const headers = { "x-opencode-directory": test.directory, "content-type": "application/json" } + const session = yield* createSession({ title: "archived" }) const body = JSON.stringify({ time: { archived: -1 } }) const response = yield* request(pathFor(SessionPaths.update, { sessionID: session.id }), { @@ -434,30 +426,35 @@ describe("session HttpApi", () => { expect(response.status).toBe(200) expect((yield* json(response)).time.archived).toBe(-1) }), - ), + { git: true, config: { formatter: false, lsp: false } }, ) - it.live( + it.instance( "uses project-scoped path and directory precedence", - withTmp({ git: true, config: { formatter: false, lsp: false } }, (tmp) => + () => Effect.gen(function* () { - const currentDir = path.join(tmp.path, "packages", "opencode", "src") + const test = yield* TestInstance + const currentDir = path.join(test.directory, "packages", "opencode", "src") yield* Effect.promise(() => mkdir(currentDir, { recursive: true })) - const pathSession = yield* createSession(currentDir) - const pathlessSession = yield* createSession(currentDir) - yield* Effect.sync(() => - Database.use((db) => - db.update(SessionTable).set({ path: null }).where(eq(SessionTable.id, pathlessSession.id)).run(), - ), + const store = yield* InstanceStore.Service + const { pathSession, pathlessSession } = yield* store.provide( + { directory: currentDir }, + Effect.gen(function* () { + return { + pathSession: yield* createSession(), + pathlessSession: yield* createSession(), + } + }).pipe(Effect.provideService(TestInstance, { directory: currentDir }), Effect.provide(Session.defaultLayer)), ) + yield* clearSessionPath(pathlessSession.id) const query = new URLSearchParams({ scope: "project", path: "packages/opencode/src", directory: currentDir, }) - const headers = { "x-opencode-directory": tmp.path } + const headers = { "x-opencode-directory": test.directory } const sessions = (yield* json( yield* request(`${SessionPaths.list}?${query}`, { headers }), )).map((item) => item.id) @@ -465,17 +462,18 @@ describe("session HttpApi", () => { expect(sessions).toContain(pathSession.id) expect(sessions).not.toContain(pathlessSession.id) }), - ), + { git: true, config: { formatter: false, lsp: false } }, ) - it.live( + it.instance( "serves paginated message link headers", - withTmp({ git: true, config: { formatter: false, lsp: false } }, (tmp) => + () => Effect.gen(function* () { - const headers = { "x-opencode-directory": tmp.path } - const session = yield* createSession(tmp.path, { title: "messages" }) - yield* createTextMessage(tmp.path, session.id, "first") - yield* createTextMessage(tmp.path, session.id, "second") + const test = yield* TestInstance + const headers = { "x-opencode-directory": test.directory } + const session = yield* createSession({ title: "messages" }) + yield* createTextMessage(session.id, "first") + yield* createTextMessage(session.id, "second") const route = `${pathFor(SessionPaths.messages, { sessionID: session.id })}?limit=1` const response = yield* request(route, { headers }) @@ -484,17 +482,18 @@ describe("session HttpApi", () => { expect(response.headers.get("link")).toContain("limit=1") expect(response.headers.get("access-control-expose-headers")?.toLowerCase()).toContain("x-next-cursor") }), - ), + { git: true, config: { formatter: false, lsp: false } }, ) - it.live( + it.instance( "serves message mutation routes", - withTmp({ git: true, config: { formatter: false, lsp: false } }, (tmp) => + () => Effect.gen(function* () { - const headers = { "x-opencode-directory": tmp.path, "content-type": "application/json" } - const session = yield* createSession(tmp.path, { title: "messages" }) - const first = yield* createTextMessage(tmp.path, session.id, "first") - const second = yield* createTextMessage(tmp.path, session.id, "second") + const test = yield* TestInstance + const headers = { "x-opencode-directory": test.directory, "content-type": "application/json" } + const session = yield* createSession({ title: "messages" }) + const first = yield* createTextMessage(session.id, "first") + const second = yield* createTextMessage(session.id, "second") const updated = yield* requestJson( pathFor(SessionPaths.updatePart, { @@ -528,15 +527,16 @@ describe("session HttpApi", () => { ), ).toBe(true) }), - ), + { git: true, config: { formatter: false, lsp: false } }, ) - it.live( + it.instance( "serves remaining non-LLM session mutation routes", - withTmp({ git: true, config: { formatter: false, lsp: false } }, (tmp) => + () => Effect.gen(function* () { - const headers = { "x-opencode-directory": tmp.path, "content-type": "application/json" } - const session = yield* createSession(tmp.path, { title: "remaining" }) + const test = yield* TestInstance + const headers = { "x-opencode-directory": test.directory, "content-type": "application/json" } + const session = yield* createSession({ title: "remaining" }) expect( yield* requestJson(pathFor(SessionPaths.revert, { sessionID: session.id }), { @@ -567,6 +567,6 @@ describe("session HttpApi", () => { ), ).toBe(true) }), - ), + { git: true, config: { formatter: false, lsp: false } }, ) }) diff --git a/packages/opencode/test/server/httpapi-ui.test.ts b/packages/opencode/test/server/httpapi-ui.test.ts index 256c450193..74fc230042 100644 --- a/packages/opencode/test/server/httpapi-ui.test.ts +++ b/packages/opencode/test/server/httpapi-ui.test.ts @@ -1,5 +1,5 @@ import { createHash } from "node:crypto" -import { afterEach, describe, expect, test } from "bun:test" +import { describe, expect } from "bun:test" import { Flag } from "@opencode-ai/core/flag/flag" import * as Log from "@opencode-ai/core/util/log" import { ConfigProvider, Effect, Layer } from "effect" @@ -18,24 +18,33 @@ import { authorizationRouterMiddleware } from "../../src/server/routes/instance/ import { ExperimentalHttpApiServer } from "../../src/server/routes/instance/httpapi/server" import { serveEmbeddedUIEffect, serveUIEffect } from "../../src/server/shared/ui" import { Server } from "../../src/server/server" +import { testEffect } from "../lib/effect" void Log.init({ print: false }) -const original = { - OPENCODE_DISABLE_EMBEDDED_WEB_UI: Flag.OPENCODE_DISABLE_EMBEDDED_WEB_UI, - OPENCODE_SERVER_PASSWORD: Flag.OPENCODE_SERVER_PASSWORD, - OPENCODE_SERVER_USERNAME: Flag.OPENCODE_SERVER_USERNAME, - envPassword: process.env.OPENCODE_SERVER_PASSWORD, - envUsername: process.env.OPENCODE_SERVER_USERNAME, -} +const testStateLayer = Layer.effectDiscard( + Effect.gen(function* () { + const original = { + OPENCODE_DISABLE_EMBEDDED_WEB_UI: Flag.OPENCODE_DISABLE_EMBEDDED_WEB_UI, + OPENCODE_SERVER_PASSWORD: Flag.OPENCODE_SERVER_PASSWORD, + OPENCODE_SERVER_USERNAME: Flag.OPENCODE_SERVER_USERNAME, + envPassword: process.env.OPENCODE_SERVER_PASSWORD, + envUsername: process.env.OPENCODE_SERVER_USERNAME, + } -afterEach(() => { - Flag.OPENCODE_DISABLE_EMBEDDED_WEB_UI = original.OPENCODE_DISABLE_EMBEDDED_WEB_UI - Flag.OPENCODE_SERVER_PASSWORD = original.OPENCODE_SERVER_PASSWORD - Flag.OPENCODE_SERVER_USERNAME = original.OPENCODE_SERVER_USERNAME - restoreEnv("OPENCODE_SERVER_PASSWORD", original.envPassword) - restoreEnv("OPENCODE_SERVER_USERNAME", original.envUsername) -}) + yield* Effect.addFinalizer(() => + Effect.sync(() => { + Flag.OPENCODE_DISABLE_EMBEDDED_WEB_UI = original.OPENCODE_DISABLE_EMBEDDED_WEB_UI + Flag.OPENCODE_SERVER_PASSWORD = original.OPENCODE_SERVER_PASSWORD + Flag.OPENCODE_SERVER_USERNAME = original.OPENCODE_SERVER_USERNAME + restoreEnv("OPENCODE_SERVER_PASSWORD", original.envPassword) + restoreEnv("OPENCODE_SERVER_USERNAME", original.envUsername) + }), + ) + }), +) + +const it = testEffect(Layer.mergeAll(testStateLayer, AppFileSystem.defaultLayer)) function restoreEnv(key: string, value: string | undefined) { if (value === undefined) { @@ -61,9 +70,13 @@ function app(input?: { password?: string; username?: string }) { ).handler return { request(input: string | URL | Request, init?: RequestInit) { - return handler( - input instanceof Request ? input : new Request(new URL(input, "http://localhost"), init), - ExperimentalHttpApiServer.context, + return Effect.promise(() => + Promise.resolve( + handler( + input instanceof Request ? input : new Request(new URL(input, "http://localhost"), init), + ExperimentalHttpApiServer.context, + ), + ), ) }, } @@ -95,9 +108,13 @@ function uiApp(input?: { password?: string; username?: string; client?: Layer.La ).handler return { request(input: string | URL | Request, init?: RequestInit) { - return handler( - input instanceof Request ? input : new Request(new URL(input, "http://localhost"), init), - ExperimentalHttpApiServer.context, + return Effect.promise(() => + Promise.resolve( + handler( + input instanceof Request ? input : new Request(new URL(input, "http://localhost"), init), + ExperimentalHttpApiServer.context, + ), + ), ) }, } @@ -113,32 +130,38 @@ function httpClient(response: Response, onRequest?: (request: HttpClientRequest. ) } +function responseText(response: Response) { + return Effect.promise(() => response.text()) +} + describe("HttpApi UI fallback", () => { - test("serves the web UI through the experimental backend", async () => { - Flag.OPENCODE_DISABLE_EMBEDDED_WEB_UI = true - let proxiedUrl: string | undefined + it.live("serves the web UI through the experimental backend", () => + Effect.gen(function* () { + Flag.OPENCODE_DISABLE_EMBEDDED_WEB_UI = true + let proxiedUrl: string | undefined - const response = await uiApp({ - client: httpClient( - new Response("opencode", { headers: { "content-type": "text/html" } }), - (request) => { - proxiedUrl = request.url - }, - ), - }).request("/") + const response = yield* uiApp({ + client: httpClient( + new Response("opencode", { headers: { "content-type": "text/html" } }), + (request) => { + proxiedUrl = request.url + }, + ), + }).request("/") - expect(response.status).toBe(200) - expect(response.headers.get("content-type")).toContain("text/html") - expect(await response.text()).toBe("opencode") - expect(proxiedUrl).toBe("https://app.opencode.ai/") - }) + expect(response.status).toBe(200) + expect(response.headers.get("content-type")).toContain("text/html") + expect(yield* responseText(response)).toBe("opencode") + expect(proxiedUrl).toBe("https://app.opencode.ai/") + }), + ) - test("strips upstream transfer encoding headers from proxied assets", async () => { - Flag.OPENCODE_DISABLE_EMBEDDED_WEB_UI = true - let proxiedUrl: string | undefined + it.live("strips upstream transfer encoding headers from proxied assets", () => + Effect.gen(function* () { + Flag.OPENCODE_DISABLE_EMBEDDED_WEB_UI = true + let proxiedUrl: string | undefined - const response = await Effect.runPromise( - Effect.gen(function* () { + const response = yield* Effect.gen(function* () { const fs = yield* AppFileSystem.Service const client = yield* HttpClient.HttpClient return yield* serveUIEffect(HttpServerRequest.fromWeb(new Request("http://localhost/assets/app.js")), { @@ -147,48 +170,45 @@ describe("HttpApi UI fallback", () => { }) }).pipe( Effect.provide( - Layer.mergeAll( - AppFileSystem.defaultLayer, - Layer.succeed( - HttpClient.HttpClient, - HttpClient.make((request) => { - proxiedUrl = request.url - return Effect.succeed( - HttpClientResponse.fromWeb( - request, - new Response("console.log('ok')", { - headers: { - "content-encoding": "br", - "content-length": "999", - "content-type": "text/javascript", - }, - }), - ), - ) - }), - ), + Layer.succeed( + HttpClient.HttpClient, + HttpClient.make((request) => { + proxiedUrl = request.url + return Effect.succeed( + HttpClientResponse.fromWeb( + request, + new Response("console.log('ok')", { + headers: { + "content-encoding": "br", + "content-length": "999", + "content-type": "text/javascript", + }, + }), + ), + ) + }), ), ), Effect.map(HttpServerResponse.toWeb), - ), - ) + ) - expect(response.status).toBe(200) - expect(proxiedUrl).toBe("https://app.opencode.ai/assets/app.js") - expect(response.headers.get("content-encoding")).toBeNull() - expect(response.headers.get("content-length")).not.toBe("999") - expect(response.headers.get("content-type")).toContain("text/javascript") - expect(await response.text()).toBe("console.log('ok')") - }) + expect(response.status).toBe(200) + expect(proxiedUrl).toBe("https://app.opencode.ai/assets/app.js") + expect(response.headers.get("content-encoding")).toBeNull() + expect(response.headers.get("content-length")).not.toBe("999") + expect(response.headers.get("content-type")).toContain("text/javascript") + expect(yield* responseText(response)).toBe("console.log('ok')") + }), + ) // Regression for #25698 (Ope): upstream `transfer-encoding: chunked` was // forwarded through the proxy while the proxy itself re-frames the body, // causing browsers to fail with `ERR_INVALID_CHUNKED_ENCODING`. - test("strips upstream transfer-encoding header from proxied assets", async () => { - Flag.OPENCODE_DISABLE_EMBEDDED_WEB_UI = true + it.live("strips upstream transfer-encoding header from proxied assets", () => + Effect.gen(function* () { + Flag.OPENCODE_DISABLE_EMBEDDED_WEB_UI = true - const response = await Effect.runPromise( - Effect.gen(function* () { + const response = yield* Effect.gen(function* () { const fs = yield* AppFileSystem.Service const client = yield* HttpClient.HttpClient return yield* serveUIEffect(HttpServerRequest.fromWeb(new Request("http://localhost/")), { @@ -197,161 +217,166 @@ describe("HttpApi UI fallback", () => { }) }).pipe( Effect.provide( - Layer.mergeAll( - AppFileSystem.defaultLayer, - Layer.succeed( - HttpClient.HttpClient, - HttpClient.make((request) => - Effect.succeed( - HttpClientResponse.fromWeb( - request, - new Response("opencode", { - headers: { - "transfer-encoding": "chunked", - "content-type": "text/html", - }, - }), - ), + Layer.succeed( + HttpClient.HttpClient, + HttpClient.make((request) => + Effect.succeed( + HttpClientResponse.fromWeb( + request, + new Response("opencode", { + headers: { + "transfer-encoding": "chunked", + "content-type": "text/html", + }, + }), ), ), ), ), ), Effect.map(HttpServerResponse.toWeb), - ), - ) + ) - expect(response.status).toBe(200) - expect(response.headers.get("transfer-encoding")).toBeNull() - expect(await response.text()).toBe("opencode") - }) + expect(response.status).toBe(200) + expect(response.headers.get("transfer-encoding")).toBeNull() + expect(yield* responseText(response)).toBe("opencode") + }), + ) - test("serves embedded UI assets when Bun can read them but access reports missing", async () => { - let readPath: string | undefined + it.live("serves embedded UI assets when Bun can read them but access reports missing", () => + Effect.gen(function* () { + let readPath: string | undefined - const response = await Effect.runPromise( - Effect.gen(function* () { - const fs = yield* AppFileSystem.Service - return yield* serveEmbeddedUIEffect( - "/assets/app.js", - { - ...fs, - existsSafe: () => Effect.die("embedded UI should not rely on filesystem access checks"), - readFile: (path) => { - readPath = path - return path === "/$bunfs/root/assets/app.js" - ? Effect.succeed(new TextEncoder().encode("console.log('embedded')")) - : Effect.die(`unexpected embedded UI path: ${path}`) - }, + const fs = yield* AppFileSystem.Service + const response = yield* serveEmbeddedUIEffect( + "/assets/app.js", + { + ...fs, + existsSafe: () => Effect.die("embedded UI should not rely on filesystem access checks"), + readFile: (path) => { + readPath = path + return path === "/$bunfs/root/assets/app.js" + ? Effect.succeed(new TextEncoder().encode("console.log('embedded')")) + : Effect.die(`unexpected embedded UI path: ${path}`) }, - { "assets/app.js": "/$bunfs/root/assets/app.js" }, - ) - }).pipe(Effect.provide(AppFileSystem.defaultLayer), Effect.map(HttpServerResponse.toWeb)), - ) + }, + { "assets/app.js": "/$bunfs/root/assets/app.js" }, + ).pipe(Effect.map(HttpServerResponse.toWeb)) - expect(response.status).toBe(200) - expect(readPath).toBe("/$bunfs/root/assets/app.js") - expect(response.headers.get("content-type")).toContain("text/javascript") - expect(await response.text()).toBe("console.log('embedded')") - }) + expect(response.status).toBe(200) + expect(readPath).toBe("/$bunfs/root/assets/app.js") + expect(response.headers.get("content-type")).toContain("text/javascript") + expect(yield* responseText(response)).toBe("console.log('embedded')") + }), + ) - test("allows embedded UI terminal wasm and theme preload CSP", async () => { - const script = 'document.documentElement.dataset.theme = "dark"' + it.live("allows embedded UI terminal wasm and theme preload CSP", () => + Effect.gen(function* () { + const script = 'document.documentElement.dataset.theme = "dark"' - const response = await Effect.runPromise( - Effect.gen(function* () { - const fs = yield* AppFileSystem.Service - return yield* serveEmbeddedUIEffect( - "/", - { - ...fs, - readFile: (path) => { - return path === "/$bunfs/root/index.html" - ? Effect.succeed( - new TextEncoder().encode( - ``, - ), - ) - : Effect.die(`unexpected embedded UI path: ${path}`) - }, + const fs = yield* AppFileSystem.Service + const response = yield* serveEmbeddedUIEffect( + "/", + { + ...fs, + readFile: (path) => { + return path === "/$bunfs/root/index.html" + ? Effect.succeed( + new TextEncoder().encode( + ``, + ), + ) + : Effect.die(`unexpected embedded UI path: ${path}`) }, - { "index.html": "/$bunfs/root/index.html" }, - ) - }).pipe(Effect.provide(AppFileSystem.defaultLayer), Effect.map(HttpServerResponse.toWeb)), - ) + }, + { "index.html": "/$bunfs/root/index.html" }, + ).pipe(Effect.map(HttpServerResponse.toWeb)) - const csp = response.headers.get("content-security-policy") ?? "" - expect(csp).toContain("script-src 'self' 'wasm-unsafe-eval'") - expect(csp).toContain(`'sha256-${createHash("sha256").update(script).digest("base64")}'`) - expect(csp).toContain("connect-src * data:") - }) + const csp = response.headers.get("content-security-policy") ?? "" + expect(csp).toContain("script-src 'self' 'wasm-unsafe-eval'") + expect(csp).toContain(`'sha256-${createHash("sha256").update(script).digest("base64")}'`) + expect(csp).toContain("connect-src * data:") + }), + ) - test("keeps matched API routes ahead of the UI fallback", async () => { - const response = await Server.Default().app.request("/session/ses_nope") + it.live("keeps matched API routes ahead of the UI fallback", () => + Effect.gen(function* () { + const response = yield* Effect.promise(() => Promise.resolve(Server.Default().app.request("/session/ses_nope"))) - expect(response.status).toBe(404) - }) + expect(response.status).toBe(404) + }), + ) - test("requires server password for the web UI", async () => { - Flag.OPENCODE_DISABLE_EMBEDDED_WEB_UI = true + it.live("requires server password for the web UI", () => + Effect.gen(function* () { + Flag.OPENCODE_DISABLE_EMBEDDED_WEB_UI = true - const response = await uiApp({ password: "secret", username: "opencode" }).request("/") + const response = yield* uiApp({ password: "secret", username: "opencode" }).request("/") - expect(response.status).toBe(401) - expect(response.headers.get("www-authenticate")).toBe('Basic realm="Secure Area"') - }) + expect(response.status).toBe(401) + expect(response.headers.get("www-authenticate")).toBe('Basic realm="Secure Area"') + }), + ) - test("accepts auth token for the web UI", async () => { - Flag.OPENCODE_DISABLE_EMBEDDED_WEB_UI = true + it.live("accepts auth token for the web UI", () => + Effect.gen(function* () { + Flag.OPENCODE_DISABLE_EMBEDDED_WEB_UI = true - const response = await uiApp({ - password: "secret", - username: "opencode", - client: httpClient(new Response("opencode", { headers: { "content-type": "text/html" } })), - }).request(`/?auth_token=${btoa("opencode:secret")}`) + const response = yield* uiApp({ + password: "secret", + username: "opencode", + client: httpClient(new Response("opencode", { headers: { "content-type": "text/html" } })), + }).request(`/?auth_token=${btoa("opencode:secret")}`) - expect(response.status).toBe(200) - expect(await response.text()).toBe("opencode") - }) + expect(response.status).toBe(200) + expect(yield* responseText(response)).toBe("opencode") + }), + ) - test("accepts basic auth for the web UI", async () => { - Flag.OPENCODE_DISABLE_EMBEDDED_WEB_UI = true + it.live("accepts basic auth for the web UI", () => + Effect.gen(function* () { + Flag.OPENCODE_DISABLE_EMBEDDED_WEB_UI = true - const response = await uiApp({ password: "secret", username: "opencode" }).request("/", { - headers: { authorization: `Basic ${btoa("opencode:secret")}` }, - }) + const response = yield* uiApp({ password: "secret", username: "opencode" }).request("/", { + headers: { authorization: `Basic ${btoa("opencode:secret")}` }, + }) - expect(response.status).toBe(200) - }) + expect(response.status).toBe(200) + }), + ) // Regression for #25698 (Ope): the browser fetches the PWA manifest and // its icons via flows that don't carry app-managed credentials (the // `` request is not under page-auth control), so the // server returning 401 breaks PWA install. These specific public assets // should bypass auth. - test("serves the PWA manifest without auth even when a server password is set", async () => { - Flag.OPENCODE_DISABLE_EMBEDDED_WEB_UI = true + it.live("serves the PWA manifest without auth even when a server password is set", () => + Effect.gen(function* () { + Flag.OPENCODE_DISABLE_EMBEDDED_WEB_UI = true - for (const path of ["/site.webmanifest", "/web-app-manifest-192x192.png", "/web-app-manifest-512x512.png"]) { - const response = await uiApp({ - password: "secret", - username: "opencode", - client: httpClient(new Response("ok")), - }).request(path) - expect(response.status).not.toBe(401) - } - }) + for (const path of ["/site.webmanifest", "/web-app-manifest-192x192.png", "/web-app-manifest-512x512.png"]) { + const response = yield* uiApp({ + password: "secret", + username: "opencode", + client: httpClient(new Response("ok")), + }).request(path) + expect(response.status).not.toBe(401) + } + }), + ) - test("allows web UI preflight without auth", async () => { - const response = await app({ password: "secret", username: "opencode" }).request("/", { - method: "OPTIONS", - headers: { - origin: "http://localhost:3000", - "access-control-request-method": "GET", - }, - }) + it.live("allows web UI preflight without auth", () => + Effect.gen(function* () { + const response = yield* app({ password: "secret", username: "opencode" }).request("/", { + method: "OPTIONS", + headers: { + origin: "http://localhost:3000", + "access-control-request-method": "GET", + }, + }) - expect(response.status).toBe(204) - expect(response.headers.get("access-control-allow-origin")).toBe("http://localhost:3000") - }) + expect(response.status).toBe(204) + expect(response.headers.get("access-control-allow-origin")).toBe("http://localhost:3000") + }), + ) }) diff --git a/packages/opencode/test/server/project-init-git.test.ts b/packages/opencode/test/server/project-init-git.test.ts index 48e28aa5ac..c3e77fb2dd 100644 --- a/packages/opencode/test/server/project-init-git.test.ts +++ b/packages/opencode/test/server/project-init-git.test.ts @@ -1,113 +1,120 @@ -import { afterEach, describe, expect, test } from "bun:test" -import { Effect } from "effect" +import { afterEach, describe, expect } from "bun:test" +import { AppFileSystem } from "@opencode-ai/core/filesystem" +import { Effect, Layer } from "effect" import path from "path" -import { GlobalBus } from "../../src/bus/global" +import { InstanceRef } from "../../src/effect/instance-ref" +import { InstanceBootstrap } from "../../src/project/bootstrap-service" +import { InstanceStore } from "../../src/project/instance-store" +import { GlobalBus, type GlobalEvent } from "../../src/bus/global" import { Snapshot } from "../../src/snapshot" import { Server } from "../../src/server/server" -import { Filesystem } from "@/util/filesystem" import * as Log from "@opencode-ai/core/util/log" import { resetDatabase } from "../fixture/db" -import { disposeAllInstances, provideInstance, tmpdir } from "../fixture/fixture" +import { disposeAllInstances, TestInstance } from "../fixture/fixture" +import { testEffect } from "../lib/effect" void Log.init({ print: false }) afterEach(async () => { + await disposeAllInstances() await resetDatabase() }) -const disposedEvents = (seen: { directory?: string; payload: { type: string } }[], dir: string) => +const noopBootstrap = Layer.succeed(InstanceBootstrap.Service, InstanceBootstrap.Service.of({ run: Effect.void })) +const testInstanceStore = InstanceStore.defaultLayer.pipe(Layer.provide(noopBootstrap)) + +const it = testEffect(Layer.mergeAll(AppFileSystem.defaultLayer, Snapshot.defaultLayer, testInstanceStore)) + +function request(directory: string, url: string, init: RequestInit = {}) { + return Effect.promise(() => { + const headers = new Headers(init.headers) + headers.set("x-opencode-directory", directory) + return Promise.resolve(Server.Default().app.request(url, { ...init, headers })) + }) +} + +function json(response: Response) { + return Effect.promise(() => response.json() as Promise) +} + +function collectGlobalEvents() { + return Effect.acquireRelease( + Effect.sync(() => { + const seen: GlobalEvent[] = [] + const on = (event: GlobalEvent) => { + seen.push(event) + } + GlobalBus.on("event", on) + return { seen, on } + }), + ({ on }) => Effect.sync(() => GlobalBus.off("event", on)), + ) +} + +const disposedEvents = (seen: GlobalEvent[], dir: string) => seen.filter((evt) => evt.directory === dir && evt.payload.type === "server.instance.disposed").length describe("project.initGit endpoint", () => { - test("initializes git and reloads immediately", async () => { - await using tmp = await tmpdir() - const app = Server.Default().app - const seen: { directory?: string; payload: { type: string } }[] = [] - const fn = (evt: { directory?: string; payload: { type: string } }) => { - seen.push(evt) - } - GlobalBus.on("event", fn) + it.instance("initializes git and reloads immediately", () => + Effect.gen(function* () { + const tmp = yield* TestInstance + const fs = yield* AppFileSystem.Service + const events = yield* collectGlobalEvents() - try { - const init = await app.request("/project/git/init", { + const init = yield* request(tmp.directory, "/project/git/init", { method: "POST", - headers: { - "x-opencode-directory": tmp.path, - }, }) - const body = await init.json() + const body = yield* json(init) expect(init.status).toBe(200) expect(body).toMatchObject({ id: "global", vcs: "git", - worktree: tmp.path, + worktree: tmp.directory, }) // Reload behavior: bus emits exactly one server.instance.disposed for the directory. - expect(disposedEvents(seen, tmp.path)).toBe(1) - expect(await Filesystem.exists(path.join(tmp.path, ".git", "opencode"))).toBe(false) + expect(disposedEvents(events.seen, tmp.directory)).toBe(1) + expect(yield* fs.exists(path.join(tmp.directory, ".git", "opencode"))).toBe(false) - const current = await app.request("/project/current", { - headers: { - "x-opencode-directory": tmp.path, - }, - }) + const current = yield* request(tmp.directory, "/project/current") expect(current.status).toBe(200) - expect(await current.json()).toMatchObject({ + expect(yield* json(current)).toMatchObject({ id: "global", vcs: "git", - worktree: tmp.path, + worktree: tmp.directory, }) - expect( - await Effect.runPromise( - Snapshot.Service.use((svc) => svc.track()).pipe( - provideInstance(tmp.path), - Effect.provide(Snapshot.defaultLayer), - ), - ), - ).toBeTruthy() - } finally { - await disposeAllInstances() - GlobalBus.off("event", fn) - } - }) + const ctx = yield* InstanceStore.Service.use((store) => store.reload({ directory: tmp.directory })) + const tracked = yield* Snapshot.Service.use((snapshot) => snapshot.track()).pipe( + Effect.provideService(InstanceRef, ctx), + ) + expect(tracked).toBeTruthy() + }), + ) - test("does not reload when the project is already git", async () => { - await using tmp = await tmpdir({ git: true }) - const app = Server.Default().app - const seen: { directory?: string; payload: { type: string } }[] = [] - const fn = (evt: { directory?: string; payload: { type: string } }) => { - seen.push(evt) - } - GlobalBus.on("event", fn) + it.instance( + "does not reload when the project is already git", + () => + Effect.gen(function* () { + const tmp = yield* TestInstance + const events = yield* collectGlobalEvents() - try { - const init = await app.request("/project/git/init", { - method: "POST", - headers: { - "x-opencode-directory": tmp.path, - }, - }) - expect(init.status).toBe(200) - expect(await init.json()).toMatchObject({ - vcs: "git", - worktree: tmp.path, - }) - expect(disposedEvents(seen, tmp.path)).toBe(0) + const init = yield* request(tmp.directory, "/project/git/init", { + method: "POST", + }) + expect(init.status).toBe(200) + expect(yield* json(init)).toMatchObject({ + vcs: "git", + worktree: tmp.directory, + }) + expect(disposedEvents(events.seen, tmp.directory)).toBe(0) - const current = await app.request("/project/current", { - headers: { - "x-opencode-directory": tmp.path, - }, - }) - expect(current.status).toBe(200) - expect(await current.json()).toMatchObject({ - vcs: "git", - worktree: tmp.path, - }) - } finally { - await disposeAllInstances() - GlobalBus.off("event", fn) - } - }) + const current = yield* request(tmp.directory, "/project/current") + expect(current.status).toBe(200) + expect(yield* json(current)).toMatchObject({ + vcs: "git", + worktree: tmp.directory, + }) + }), + { git: true }, + ) }) diff --git a/packages/opencode/test/server/session-diff-missing-patch.test.ts b/packages/opencode/test/server/session-diff-missing-patch.test.ts index 5f27a4e2fd..875c031d57 100644 --- a/packages/opencode/test/server/session-diff-missing-patch.test.ts +++ b/packages/opencode/test/server/session-diff-missing-patch.test.ts @@ -10,19 +10,20 @@ * asserts that GET /session//diff returns 200 with the row intact. */ import { afterEach, describe, expect } from "bun:test" -import { Effect } from "effect" +import { Effect, Layer } from "effect" import { Server } from "@/server/server" import { SessionPaths } from "@/server/routes/instance/httpapi/groups/session" import { Session } from "@/session/session" import { Storage } from "@/storage/storage" -import { WithInstance } from "@/project/with-instance" import { resetDatabase } from "../fixture/db" -import { disposeAllInstances, tmpdir } from "../fixture/fixture" -import { it } from "../lib/effect" +import { disposeAllInstances, TestInstance } from "../fixture/fixture" +import { testEffect } from "../lib/effect" import * as Log from "@opencode-ai/core/util/log" void Log.init({ print: false }) +const it = testEffect(Layer.mergeAll(Session.defaultLayer, Storage.defaultLayer)) + afterEach(async () => { await disposeAllInstances() await resetDatabase() @@ -32,50 +33,46 @@ function pathFor(template: string, params: Record) { return Object.entries(params).reduce((result, [key, value]) => result.replace(`:${key}`, value), template) } +const withSession = (input?: Parameters[0]) => + Effect.acquireRelease( + Session.Service.use((session) => session.create(input)), + (created) => Session.Service.use((session) => session.remove(created.id)).pipe(Effect.ignore), + ) + describe("session diff with missing patch (#26574)", () => { - it.live("GET /session//diff returns 200 when summary_diffs row has no patch", () => - Effect.gen(function* () { - const tmp = yield* Effect.acquireRelease( - Effect.promise(() => tmpdir({ git: true, config: { formatter: false, lsp: false } })), - (t) => Effect.promise(() => t[Symbol.asyncDispose]()), - ) + it.instance( + "GET /session//diff returns 200 when summary_diffs row has no patch", + () => + Effect.gen(function* () { + const test = yield* TestInstance + const session = yield* withSession({ title: "missing-patch" }) - yield* Effect.promise(() => - WithInstance.provide({ - directory: tmp.path, - fn: async () => { - const session = await Effect.runPromise( - Effect.provide( - Session.Service.use((s) => s.create({ title: "missing-patch" })), - Session.defaultLayer, - ), - ) + // Mimic legacy/imported on-disk shape: a diff entry with no + // `patch` text. Pre-fix the typed response encoder rejects + // this and returns 400. + yield* Storage.Service.use((storage) => + storage.write(["session_diff", session.id], [{ file: "legacy.txt", additions: 1, deletions: 0 }]), + ) - // Mimic legacy/imported on-disk shape: a diff entry with no - // `patch` text. Pre-fix the typed response encoder rejects - // this and returns 400. - await Effect.runPromise( - Effect.provide( - Storage.Service.use((s) => - s.write(["session_diff", session.id], [{ file: "legacy.txt", additions: 1, deletions: 0 }]), - ), - Storage.defaultLayer, - ), - ) + const response = yield* Effect.promise(() => + Promise.resolve( + Server.Default().app.request(pathFor(SessionPaths.diff, { sessionID: session.id }), { + headers: { "x-opencode-directory": test.directory }, + }), + ), + ) - const headers = { "x-opencode-directory": tmp.path } - const response = await Server.Default().app.request(pathFor(SessionPaths.diff, { sessionID: session.id }), { - headers, - }) - expect(response.status).toBe(200) - const body = (await response.json()) as Array<{ file: string; patch?: string; additions: number }> - expect(body).toHaveLength(1) - expect(body[0]?.file).toBe("legacy.txt") - expect(body[0]?.additions).toBe(1) - expect(body[0]?.patch).toBeUndefined() - }, - }), - ) - }), + expect(response.status).toBe(200) + const body = (yield* Effect.promise(() => response.json())) as Array<{ + file: string + patch?: string + additions: number + }> + expect(body).toHaveLength(1) + expect(body[0]?.file).toBe("legacy.txt") + expect(body[0]?.additions).toBe(1) + expect(body[0]?.patch).toBeUndefined() + }), + { git: true, config: { formatter: false, lsp: false } }, ) }) diff --git a/packages/opencode/test/server/session-messages.test.ts b/packages/opencode/test/server/session-messages.test.ts index f5ee5bdcb0..e603accbbe 100644 --- a/packages/opencode/test/server/session-messages.test.ts +++ b/packages/opencode/test/server/session-messages.test.ts @@ -1,191 +1,179 @@ -import { afterEach, describe, expect, test } from "bun:test" +import { afterEach, describe, expect } from "bun:test" import { Effect } from "effect" -import { WithInstance } from "../../src/project/with-instance" import { Server } from "../../src/server/server" import { Session as SessionNs } from "@/session/session" import { MessageV2 } from "../../src/session/message-v2" +import { ModelID, ProviderID } from "../../src/provider/schema" import { MessageID, PartID, type SessionID } from "../../src/session/schema" import * as Log from "@opencode-ai/core/util/log" -import { disposeAllInstances, tmpdir } from "../fixture/fixture" +import { disposeAllInstances, TestInstance } from "../fixture/fixture" +import { testEffect } from "../lib/effect" void Log.init({ print: false }) -function run(fx: Effect.Effect) { - return Effect.runPromise(fx.pipe(Effect.provide(SessionNs.defaultLayer))) -} +const it = testEffect(SessionNs.defaultLayer) -const svc = { - ...SessionNs, - create(input?: SessionNs.CreateInput) { - return run(SessionNs.Service.use((svc) => svc.create(input))) - }, - remove(id: SessionID) { - return run(SessionNs.Service.use((svc) => svc.remove(id))) - }, - updateMessage(msg: T) { - return run(SessionNs.Service.use((svc) => svc.updateMessage(msg))) - }, - updatePart(part: T) { - return run(SessionNs.Service.use((svc) => svc.updatePart(part))) - }, +const model = { + providerID: ProviderID.make("test"), + modelID: ModelID.make("test"), } afterEach(async () => { await disposeAllInstances() }) -async function withoutWatcher(fn: () => Promise) { - if (process.platform !== "win32") return fn() - const prev = process.env.OPENCODE_EXPERIMENTAL_DISABLE_FILEWATCHER - process.env.OPENCODE_EXPERIMENTAL_DISABLE_FILEWATCHER = "true" - try { - return await fn() - } finally { - if (prev === undefined) delete process.env.OPENCODE_EXPERIMENTAL_DISABLE_FILEWATCHER - else process.env.OPENCODE_EXPERIMENTAL_DISABLE_FILEWATCHER = prev - } +const withoutWatcher = (effect: Effect.Effect) => { + if (process.platform !== "win32") return effect + return Effect.acquireUseRelease( + Effect.sync(() => { + const previous = process.env.OPENCODE_EXPERIMENTAL_DISABLE_FILEWATCHER + process.env.OPENCODE_EXPERIMENTAL_DISABLE_FILEWATCHER = "true" + return previous + }), + () => effect, + (previous) => + Effect.sync(() => { + if (previous === undefined) delete process.env.OPENCODE_EXPERIMENTAL_DISABLE_FILEWATCHER + else process.env.OPENCODE_EXPERIMENTAL_DISABLE_FILEWATCHER = previous + }), + ) } -async function fill(sessionID: SessionID, count: number, time = (i: number) => Date.now() + i) { - const ids = [] as MessageID[] - for (let i = 0; i < count; i++) { - const id = MessageID.ascending() - ids.push(id) - await svc.updateMessage({ - id, - sessionID, - role: "user", - time: { created: time(i) }, - agent: "test", - model: { providerID: "test", modelID: "test" }, - tools: {}, - mode: "", - } as unknown as MessageV2.Info) - await svc.updatePart({ - id: PartID.ascending(), - sessionID, - messageID: id, - type: "text", - text: `m${i}`, - }) - } - return ids +const sessionScoped = Effect.acquireRelease( + SessionNs.Service.use((svc) => svc.create({})), + (session) => SessionNs.Service.use((svc) => svc.remove(session.id)).pipe(Effect.ignore), +) + +const fill = Effect.fn("SessionMessagesTest.fill")(function* ( + sessionID: SessionID, + count: number, + time = (i: number) => Date.now() + i, +) { + const session = yield* SessionNs.Service + return yield* Effect.forEach( + Array.from({ length: count }, (_, i) => i), + (i) => + Effect.gen(function* () { + const id = MessageID.ascending() + yield* session.updateMessage({ + id, + sessionID, + role: "user", + time: { created: time(i) }, + agent: "test", + model, + tools: {}, + } satisfies MessageV2.User) + yield* session.updatePart({ + id: PartID.ascending(), + sessionID, + messageID: id, + type: "text", + text: `m${i}`, + } satisfies MessageV2.TextPart) + return id + }), + ) +}) + +function request(path: string) { + return Effect.promise(() => Promise.resolve(Server.Default().app.request(path))) +} + +function json(response: Response) { + return Effect.promise(() => response.json() as Promise) } describe("session messages endpoint", () => { - test("returns cursor headers for older pages", async () => { - await using tmp = await tmpdir({ git: true }) - await withoutWatcher(() => - WithInstance.provide({ - directory: tmp.path, - fn: async () => { - const session = await svc.create({}) - const ids = await fill(session.id, 5) - const app = Server.Default().app + it.instance( + "returns cursor headers for older pages", + withoutWatcher( + Effect.gen(function* () { + const session = yield* sessionScoped + const ids = yield* fill(session.id, 5) - const a = await app.request(`/session/${session.id}/message?limit=2`) - expect(a.status).toBe(200) - const aBody = (await a.json()) as MessageV2.WithParts[] - expect(aBody.map((item) => item.info.id)).toEqual(ids.slice(-2)) - const cursor = a.headers.get("x-next-cursor") - expect(cursor).toBeTruthy() - expect(a.headers.get("link")).toContain('rel="next"') + const a = yield* request(`/session/${session.id}/message?limit=2`) + expect(a.status).toBe(200) + const aBody = yield* json(a) + expect(aBody.map((item) => item.info.id)).toEqual(ids.slice(-2)) + const cursor = a.headers.get("x-next-cursor") + expect(cursor).toBeTruthy() + expect(a.headers.get("link")).toContain('rel="next"') - const b = await app.request(`/session/${session.id}/message?limit=2&before=${encodeURIComponent(cursor!)}`) - expect(b.status).toBe(200) - const bBody = (await b.json()) as MessageV2.WithParts[] - expect(bBody.map((item) => item.info.id)).toEqual(ids.slice(-4, -2)) - - await svc.remove(session.id) - }, + const b = yield* request(`/session/${session.id}/message?limit=2&before=${encodeURIComponent(cursor!)}`) + expect(b.status).toBe(200) + const bBody = yield* json(b) + expect(bBody.map((item) => item.info.id)).toEqual(ids.slice(-4, -2)) }), - ) - }) + ), + { git: true }, + ) - test("keeps full-history responses when limit is omitted", async () => { - await using tmp = await tmpdir({ git: true }) - await withoutWatcher(() => - WithInstance.provide({ - directory: tmp.path, - fn: async () => { - const session = await svc.create({}) - const ids = await fill(session.id, 3) - const app = Server.Default().app + it.instance( + "keeps full-history responses when limit is omitted", + withoutWatcher( + Effect.gen(function* () { + const session = yield* sessionScoped + const ids = yield* fill(session.id, 3) - const res = await app.request(`/session/${session.id}/message`) - expect(res.status).toBe(200) - const body = (await res.json()) as MessageV2.WithParts[] - expect(body.map((item) => item.info.id)).toEqual(ids) - - await svc.remove(session.id) - }, + const res = yield* request(`/session/${session.id}/message`) + expect(res.status).toBe(200) + const body = yield* json(res) + expect(body.map((item) => item.info.id)).toEqual(ids) }), - ) - }) + ), + { git: true }, + ) - test("rejects invalid cursors and missing sessions", async () => { - await using tmp = await tmpdir({ git: true }) - await withoutWatcher(() => - WithInstance.provide({ - directory: tmp.path, - fn: async () => { - const session = await svc.create({}) - const app = Server.Default().app + it.instance( + "rejects invalid cursors and missing sessions", + withoutWatcher( + Effect.gen(function* () { + const session = yield* sessionScoped - const bad = await app.request(`/session/${session.id}/message?limit=2&before=bad`) - expect(bad.status).toBe(400) + const bad = yield* request(`/session/${session.id}/message?limit=2&before=bad`) + expect(bad.status).toBe(400) - const miss = await app.request(`/session/ses_missing/message?limit=2`) - expect(miss.status).toBe(404) - - await svc.remove(session.id) - }, + const miss = yield* request(`/session/ses_missing/message?limit=2`) + expect(miss.status).toBe(404) }), - ) - }) + ), + { git: true }, + ) - test("does not truncate large legacy limit requests", async () => { - await using tmp = await tmpdir({ git: true }) - await withoutWatcher(() => - WithInstance.provide({ - directory: tmp.path, - fn: async () => { - const session = await svc.create({}) - await fill(session.id, 520) - const app = Server.Default().app + it.instance( + "does not truncate large legacy limit requests", + withoutWatcher( + Effect.gen(function* () { + const session = yield* sessionScoped + yield* fill(session.id, 520) - const res = await app.request(`/session/${session.id}/message?limit=510`) - expect(res.status).toBe(200) - const body = (await res.json()) as MessageV2.WithParts[] - expect(body).toHaveLength(510) - - await svc.remove(session.id) - }, + const res = yield* request(`/session/${session.id}/message?limit=510`) + expect(res.status).toBe(200) + const body = yield* json(res) + expect(body).toHaveLength(510) }), - ) - }) + ), + { git: true }, + ) - test("accepts directory query used by workspace routing", async () => { - await using tmp = await tmpdir({ git: true }) - await withoutWatcher(() => - WithInstance.provide({ - directory: tmp.path, - fn: async () => { - const session = await svc.create({}) - await fill(session.id, 1) - const app = Server.Default().app + it.instance( + "accepts directory query used by workspace routing", + withoutWatcher( + Effect.gen(function* () { + const tmp = yield* TestInstance + const session = yield* sessionScoped + yield* fill(session.id, 1) - const res = await app.request( - `/session/${session.id}/message?limit=80&directory=${encodeURIComponent(tmp.path)}`, - ) - expect(res.status).toBe(200) - const body = await res.json() - expect(Array.isArray(body)).toBe(true) - expect(body).toHaveLength(1) - - await svc.remove(session.id) - }, + const res = yield* request( + `/session/${session.id}/message?limit=80&directory=${encodeURIComponent(tmp.directory)}`, + ) + expect(res.status).toBe(200) + const body = yield* json(res) + expect(Array.isArray(body)).toBe(true) + expect(body).toHaveLength(1) }), - ) - }) + ), + { git: true }, + ) }) diff --git a/packages/opencode/test/server/session-select.test.ts b/packages/opencode/test/server/session-select.test.ts index 13edca1458..9e24ed0ecc 100644 --- a/packages/opencode/test/server/session-select.test.ts +++ b/packages/opencode/test/server/session-select.test.ts @@ -1,101 +1,93 @@ -import { afterEach, describe, expect, test } from "bun:test" +import { describe, expect } from "bun:test" import { Effect } from "effect" -import { Session as SessionNs } from "@/session/session" -import type { SessionID } from "../../src/session/schema" +import { Session } from "@/session/session" import * as Log from "@opencode-ai/core/util/log" -import { Instance } from "../../src/project/instance" -import { WithInstance } from "../../src/project/with-instance" import { Server } from "../../src/server/server" -import { disposeAllInstances, tmpdir } from "../fixture/fixture" +import { TestInstance } from "../fixture/fixture" +import { testEffect } from "../lib/effect" void Log.init({ print: false }) -function run(fx: Effect.Effect) { - return Effect.runPromise(fx.pipe(Effect.provide(SessionNs.defaultLayer))) -} - -const svc = { - ...SessionNs, - create(input?: SessionNs.CreateInput) { - return run(SessionNs.Service.use((svc) => svc.create(input))) - }, - remove(id: SessionID) { - return run(SessionNs.Service.use((svc) => svc.remove(id))) - }, -} - -afterEach(async () => { - await disposeAllInstances() -}) +const it = testEffect(Session.defaultLayer) describe("tui.selectSession endpoint", () => { - test("should return 200 when called with valid session", async () => { - await using tmp = await tmpdir({ git: true }) - await WithInstance.provide({ - directory: tmp.path, - fn: async () => { - // #given - const session = await svc.create({}) + it.instance( + "should return 200 when called with valid session", + () => + Effect.gen(function* () { + const tmp = yield* TestInstance + const session = yield* Session.Service.use((svc) => svc.create({})) - // #when const app = Server.Default().app - const response = await app.request("/tui/select-session", { - method: "POST", - headers: { "Content-Type": "application/json" }, - body: JSON.stringify({ sessionID: session.id }), - }) + const response = yield* Effect.promise(() => + Promise.resolve( + app.request("/tui/select-session", { + method: "POST", + headers: { + "Content-Type": "application/json", + "x-opencode-directory": tmp.directory, + }, + body: JSON.stringify({ sessionID: session.id }), + }), + ), + ) - // #then expect(response.status).toBe(200) - const body = await response.json() + const body = yield* Effect.promise(() => response.json()) expect(body).toBe(true) + }), + { git: true }, + ) - await svc.remove(session.id) - }, - }) - }) - - test("should return 404 when session does not exist", async () => { - await using tmp = await tmpdir({ git: true }) - await WithInstance.provide({ - directory: tmp.path, - fn: async () => { - // #given + it.instance( + "should return 404 when session does not exist", + () => + Effect.gen(function* () { + const tmp = yield* TestInstance const nonExistentSessionID = "ses_nonexistent123" - // #when const app = Server.Default().app - const response = await app.request("/tui/select-session", { - method: "POST", - headers: { "Content-Type": "application/json" }, - body: JSON.stringify({ sessionID: nonExistentSessionID }), - }) + const response = yield* Effect.promise(() => + Promise.resolve( + app.request("/tui/select-session", { + method: "POST", + headers: { + "Content-Type": "application/json", + "x-opencode-directory": tmp.directory, + }, + body: JSON.stringify({ sessionID: nonExistentSessionID }), + }), + ), + ) - // #then expect(response.status).toBe(404) - }, - }) - }) + }), + { git: true }, + ) - test("should return 400 when session ID format is invalid", async () => { - await using tmp = await tmpdir({ git: true }) - await WithInstance.provide({ - directory: tmp.path, - fn: async () => { - // #given + it.instance( + "should return 400 when session ID format is invalid", + () => + Effect.gen(function* () { + const tmp = yield* TestInstance const invalidSessionID = "invalid_session_id" - // #when const app = Server.Default().app - const response = await app.request("/tui/select-session", { - method: "POST", - headers: { "Content-Type": "application/json" }, - body: JSON.stringify({ sessionID: invalidSessionID }), - }) + const response = yield* Effect.promise(() => + Promise.resolve( + app.request("/tui/select-session", { + method: "POST", + headers: { + "Content-Type": "application/json", + "x-opencode-directory": tmp.directory, + }, + body: JSON.stringify({ sessionID: invalidSessionID }), + }), + ), + ) - // #then expect(response.status).toBe(400) - }, - }) - }) + }), + { git: true }, + ) }) diff --git a/packages/opencode/test/server/worktree-endpoint-repro.test.ts b/packages/opencode/test/server/worktree-endpoint-repro.test.ts index e95d706d54..a1f6bf45a8 100644 --- a/packages/opencode/test/server/worktree-endpoint-repro.test.ts +++ b/packages/opencode/test/server/worktree-endpoint-repro.test.ts @@ -1,13 +1,14 @@ import { describe, expect } from "bun:test" -import { Effect, Layer } from "effect" +import { Effect, Layer, Queue } from "effect" import { HttpRouter } from "effect/unstable/http" import { Flag } from "@opencode-ai/core/flag/flag" +import { GlobalBus, type GlobalEvent } from "@/bus/global" +import { Worktree } from "@/worktree" import { ExperimentalHttpApiServer } from "../../src/server/routes/instance/httpapi/server" import { ExperimentalPaths } from "../../src/server/routes/instance/httpapi/groups/experimental" import { WorkspacePaths } from "../../src/server/routes/instance/httpapi/groups/workspace" -import { withTimeout } from "../../src/util/timeout" import { resetDatabase } from "../fixture/db" -import { TestInstance } from "../fixture/fixture" +import { disposeAllInstances, TestInstance } from "../fixture/fixture" import { testEffect } from "../lib/effect" const stateLayer = Layer.effectDiscard( @@ -28,7 +29,10 @@ const stateLayer = Layer.effectDiscard( ) const it = testEffect(stateLayer) +const worktreeTest = process.platform === "win32" ? it.instance.skip : it.instance type TestServer = ReturnType +type CreatedWorktree = { directory: string } +type ScopedWorktree = { directory: string; body: CreatedWorktree; ready: Effect.Effect } function serverScoped() { return Effect.acquireRelease( @@ -44,14 +48,106 @@ function request(server: TestServer, input: string, init?: RequestInit) { } function withRequestTimeout(effect: Effect.Effect, label: string, ms = 5_000) { - return Effect.promise(() => withTimeout(Effect.runPromise(effect), ms, label)) + return effect.pipe( + Effect.timeoutOrElse({ + duration: `${ms} millis`, + orElse: () => Effect.fail(new Error(`${label} timed out after ${ms}ms`)), + }), + ) +} + +function json(response: Response) { + return Effect.promise(() => response.json() as Promise) +} + +function readyWatcher() { + return Effect.gen(function* () { + const events = yield* Queue.bounded(1) + const on = (event: GlobalEvent) => { + if (event.payload.type === Worktree.Event.Ready.type) Queue.offerUnsafe(events, event) + } + + GlobalBus.on("event", on) + yield* Effect.addFinalizer(() => Effect.sync(() => GlobalBus.off("event", on))) + + return (directory: string) => + Effect.gen(function* () { + while (true) { + const event = yield* Queue.take(events) + if (event.directory === directory) return + } + }).pipe( + Effect.timeoutOrElse({ + duration: "10 seconds", + orElse: () => Effect.fail(new Error(`timed out waiting for worktree.ready: ${directory}`)), + }), + ) + }) +} + +function removeCreatedWorktree(input: { + server: TestServer + rootDirectory: string + worktreeDirectory: string + ready: Effect.Effect +}) { + return Effect.gen(function* () { + yield* input.ready.pipe(Effect.timeout("1 second"), Effect.ignore) + yield* Effect.promise(() => disposeAllInstances()).pipe(Effect.ignore) + + const removed = yield* request( + input.server, + `${ExperimentalPaths.worktree}?directory=${encodeURIComponent(input.rootDirectory)}`, + { + method: "DELETE", + headers: { "content-type": "application/json" }, + body: JSON.stringify({ directory: input.worktreeDirectory }), + }, + ) + if (removed.status !== 200) { + const message = yield* Effect.promise(() => removed.text()) + throw new Error(`failed to remove worktree: ${removed.status} ${message}`) + } + const ok = yield* json(removed) + if (!ok) throw new Error(`failed to remove worktree ${input.worktreeDirectory}`) + }) +} + +function createWorktreeScoped(input: { + server: TestServer + directory: string + path: string + init: RequestInit + timeoutLabel: string + timeoutMs?: number +}) { + return Effect.acquireRelease( + Effect.gen(function* () { + const waitReady = yield* readyWatcher() + const response = yield* withRequestTimeout( + request(input.server, input.path, input.init), + input.timeoutLabel, + input.timeoutMs, + ) + expect(response.status).toBe(200) + const body = yield* json(response) + return { directory: body.directory, body, ready: waitReady(body.directory) } satisfies ScopedWorktree + }), + (created) => + removeCreatedWorktree({ + server: input.server, + rootDirectory: input.directory, + worktreeDirectory: created.directory, + ready: created.ready, + }).pipe(Effect.orDie), + ).pipe(Effect.map((created) => created.body)) } function setProjectStartCommand(input: { server: TestServer; directory: string; command: string }) { return Effect.gen(function* () { const current = yield* request(input.server, `/project/current?directory=${encodeURIComponent(input.directory)}`) expect(current.status).toBe(200) - const project = (yield* Effect.promise(() => current.json())) as { id: string } + const project = yield* json<{ id: string }>(current) const updated = yield* request( input.server, `/project/${project.id}?directory=${encodeURIComponent(input.directory)}`, @@ -66,47 +162,51 @@ function setProjectStartCommand(input: { server: TestServer; directory: string; } describe("worktree endpoint reproduction", () => { - it.instance( + worktreeTest( "direct HttpApi worktree create returns without waiting for boot", () => Effect.gen(function* () { const test = yield* TestInstance const server = yield* serverScoped() - const response = yield* withRequestTimeout( - request(server, `${ExperimentalPaths.worktree}?directory=${encodeURIComponent(test.directory)}`, { + const response = yield* createWorktreeScoped({ + server, + directory: test.directory, + path: `${ExperimentalPaths.worktree}?directory=${encodeURIComponent(test.directory)}`, + init: { method: "POST", headers: { "content-type": "application/json" }, body: JSON.stringify({}), - }), - "direct worktree create", - ) + }, + timeoutLabel: "direct worktree create", + }) - expect(response.status).toBe(200) - expect(yield* Effect.promise(() => response.json())).toMatchObject({ directory: expect.any(String) }) + expect(response).toMatchObject({ directory: expect.any(String) }) }), { git: true }, ) - it.instance( + worktreeTest( "workspace worktree create does not hang", () => Effect.gen(function* () { const test = yield* TestInstance const server = yield* serverScoped() - const response = yield* withRequestTimeout( - request(server, `${WorkspacePaths.list}?directory=${encodeURIComponent(test.directory)}`, { + const response = yield* createWorktreeScoped({ + server, + directory: test.directory, + path: `${WorkspacePaths.list}?directory=${encodeURIComponent(test.directory)}`, + init: { method: "POST", headers: { "content-type": "application/json" }, body: JSON.stringify({ type: "worktree", branch: null }), - }), - "workspace worktree create", - 8_000, - ) + }, + timeoutLabel: "workspace worktree create", + timeoutMs: 8_000, + }) - expect(response.status).toBe(200) - expect(yield* Effect.promise(() => response.json())).toMatchObject({ + expect(response).toMatchObject({ type: "worktree", directory: expect.any(String), }) @@ -114,7 +214,7 @@ describe("worktree endpoint reproduction", () => { { git: true }, ) - it.instance( + worktreeTest( "workspace worktree create returns without waiting for project start command", () => Effect.gen(function* () { @@ -127,17 +227,19 @@ describe("worktree endpoint reproduction", () => { }) const started = Date.now() - const response = yield* withRequestTimeout( - request(server, `${WorkspacePaths.list}?directory=${encodeURIComponent(test.directory)}`, { + yield* createWorktreeScoped({ + server, + directory: test.directory, + path: `${WorkspacePaths.list}?directory=${encodeURIComponent(test.directory)}`, + init: { method: "POST", headers: { "content-type": "application/json" }, body: JSON.stringify({ type: "worktree", branch: null }), - }), - "workspace worktree create with project start command", - 6_000, - ) + }, + timeoutLabel: "workspace worktree create with project start command", + timeoutMs: 6_000, + }) - expect(response.status).toBe(200) expect(Date.now() - started).toBeLessThan(1_500) }), { git: true }, diff --git a/packages/opencode/test/session/compaction.test.ts b/packages/opencode/test/session/compaction.test.ts index 1d329699f6..2b623511b7 100644 --- a/packages/opencode/test/session/compaction.test.ts +++ b/packages/opencode/test/session/compaction.test.ts @@ -1758,6 +1758,101 @@ describe("SessionNs.getUsage", () => { expect(result.cost).toBe(3 + 1.5) }) + test("uses matching context cost tier before over-200k fallback", () => { + const model = createModel({ + context: 1_000_000, + output: 32_000, + cost: { + input: 1, + output: 2, + cache: { read: 0.1, write: 0.5 }, + tiers: [ + { + input: 3, + output: 4, + cache: { read: 0.3, write: 1.5 }, + tier: { type: "context", size: 200_000 }, + }, + { + input: 5, + output: 6, + cache: { read: 0.5, write: 2.5 }, + tier: { type: "context", size: 500_000 }, + }, + ], + experimentalOver200K: { + input: 100, + output: 100, + cache: { read: 100, write: 100 }, + }, + }, + }) + const result = SessionNs.getUsage({ + model, + usage: { + inputTokens: 650_000, + outputTokens: 100_000, + totalTokens: 750_000, + inputTokenDetails: { + noCacheTokens: undefined, + cacheReadTokens: 100_000, + cacheWriteTokens: undefined, + }, + outputTokenDetails: { + textTokens: undefined, + reasoningTokens: undefined, + }, + }, + }) + + expect(result.tokens.input).toBe(550_000) + expect(result.cost).toBe(2.75 + 0.6 + 0.05) + }) + + test("falls back to over-200k pricing when no cost tier matches", () => { + const model = createModel({ + context: 1_000_000, + output: 32_000, + cost: { + input: 1, + output: 2, + cache: { read: 0.1, write: 0.5 }, + tiers: [ + { + input: 5, + output: 6, + cache: { read: 0.5, write: 2.5 }, + tier: { type: "context", size: 500_000 }, + }, + ], + experimentalOver200K: { + input: 3, + output: 4, + cache: { read: 0.3, write: 1.5 }, + }, + }, + }) + const result = SessionNs.getUsage({ + model, + usage: { + inputTokens: 300_000, + outputTokens: 100_000, + totalTokens: 400_000, + inputTokenDetails: { + noCacheTokens: undefined, + cacheReadTokens: undefined, + cacheWriteTokens: undefined, + }, + outputTokenDetails: { + textTokens: undefined, + reasoningTokens: undefined, + }, + }, + }) + + expect(result.cost).toBe(0.9 + 0.4) + }) + test.each(["@ai-sdk/anthropic", "@ai-sdk/amazon-bedrock", "@ai-sdk/google-vertex/anthropic"])( "computes total from components for %s models", (npm) => { diff --git a/packages/opencode/test/session/llm.test.ts b/packages/opencode/test/session/llm.test.ts index 2879d04812..4a6b1e8b7f 100644 --- a/packages/opencode/test/session/llm.test.ts +++ b/packages/opencode/test/session/llm.test.ts @@ -277,6 +277,25 @@ async function loadFixture(providerID: string, modelID: string) { return { provider, model } } +function configModel(model: ModelsDev.Model) { + return { + id: model.id, + name: model.name, + family: model.family, + release_date: model.release_date, + attachment: model.attachment, + reasoning: model.reasoning, + temperature: model.temperature, + tool_call: model.tool_call, + interleaved: model.interleaved, + cost: model.cost ? { ...model.cost, tiers: undefined } : undefined, + limit: model.limit, + modalities: model.modalities, + status: model.status, + provider: model.provider, + } +} + function createEventStream(chunks: unknown[], includeDone = false) { const lines = chunks.map((chunk) => `data: ${typeof chunk === "string" ? chunk : JSON.stringify(chunk)}`) if (includeDone) { @@ -617,7 +636,7 @@ describe("session.llm.stream", () => { npm: "@ai-sdk/openai", api: "https://api.openai.com/v1", models: { - [model.id]: model, + [model.id]: configModel(model), }, options: { apiKey: "test-openai-key", @@ -733,7 +752,7 @@ describe("session.llm.stream", () => { npm: "@ai-sdk/openai", api: "https://api.openai.com/v1", models: { - [model.id]: model, + [model.id]: configModel(model), }, options: { apiKey: "test-openai-key", @@ -970,7 +989,7 @@ describe("session.llm.stream", () => { npm: "@ai-sdk/anthropic", api: "https://api.anthropic.com/v1", models: { - [model.id]: model, + [model.id]: configModel(model), }, options: { apiKey: "test-anthropic-key", diff --git a/packages/opencode/test/session/prompt.test.ts b/packages/opencode/test/session/prompt.test.ts index 3821954945..e7791db308 100644 --- a/packages/opencode/test/session/prompt.test.ts +++ b/packages/opencode/test/session/prompt.test.ts @@ -1,8 +1,7 @@ import { NodeFileSystem } from "@effect/platform-node" import { FetchHttpClient } from "effect/unstable/http" import { expect } from "bun:test" -import { Cause, Effect, Exit, Fiber, Layer } from "effect" -import fs from "fs/promises" +import { Cause, Deferred, Duration, Effect, Exit, Fiber, Layer } from "effect" import path from "path" import { fileURLToPath, pathToFileURL } from "url" import { NamedError } from "@opencode-ai/core/util/error" @@ -48,10 +47,11 @@ import * as Database from "../../src/storage/db" import { Ripgrep } from "../../src/file/ripgrep" import { Format } from "../../src/format" import { Reference } from "../../src/reference/reference" -import { provideTmpdirInstance, provideTmpdirServer } from "../fixture/fixture" +import { TestInstance } from "../fixture/fixture" import { testEffect } from "../lib/effect" import { reply, TestLLMServer } from "../lib/llm-server" import { SyncEvent } from "@/sync" +import { RuntimeFlags } from "@/effect/runtime-flags" void Log.init({ print: false }) @@ -69,14 +69,6 @@ const ref = { modelID: ModelID.make("test-model"), } -function defer() { - let resolve!: (value: T | PromiseLike) => void - const promise = new Promise((done) => { - resolve = done - }) - return { promise, resolve } -} - function withSh(fx: () => Effect.Effect) { return Effect.acquireUseRelease( Effect.sync(() => { @@ -188,6 +180,7 @@ function makeHttp() { Layer.provide(Reference.defaultLayer), Layer.provide(Ripgrep.defaultLayer), Layer.provide(Format.defaultLayer), + Layer.provide(RuntimeFlags.layer()), Layer.provideMerge(todo), Layer.provideMerge(question), Layer.provideMerge(deps), @@ -219,7 +212,7 @@ function makeHttp() { } const it = testEffect(makeHttp()) -const unix = process.platform !== "win32" ? it.live : it.live.skip +const unix = process.platform !== "win32" ? it.instance : it.instance.skip // Config that registers a custom "test" provider with a "test-model" model // so provider model lookup succeeds inside the loop. @@ -268,6 +261,84 @@ function providerCfg(url: string) { } } +const writeText = Effect.fn("test.writeText")(function* (file: string, text: string) { + const fs = yield* AppFileSystem.Service + yield* fs.writeWithDirs(file, text) +}) + +const ensureDir = Effect.fn("test.ensureDir")(function* (dir: string) { + const fs = yield* AppFileSystem.Service + yield* fs.ensureDir(dir) +}) + +const writeConfig = Effect.fn("test.writeConfig")(function* (dir: string, config: Partial) { + yield* writeText( + path.join(dir, "opencode.json"), + JSON.stringify({ $schema: "https://opencode.ai/config.json", ...config }), + ) +}) + +const useServerConfig = Effect.fn("test.useServerConfig")(function* (config: (url: string) => Partial) { + const { directory: dir } = yield* TestInstance + const llm = yield* TestLLMServer + yield* writeConfig(dir, config(llm.url)) + return { dir, llm } +}) + +const awaitWithTimeout = ( + self: Effect.Effect, + message: string, + duration: Duration.Input = "2 seconds", +) => + self.pipe( + Effect.timeoutOrElse({ + duration, + orElse: () => Effect.fail(new Error(message)), + }), + ) + +const pollWithTimeout = ( + self: Effect.Effect, + message: string, + duration: Duration.Input = "5 seconds", +) => + Effect.gen(function* () { + while (true) { + const result = yield* self + if (result !== undefined) return result + yield* Effect.sleep("20 millis") + } + }).pipe( + Effect.timeoutOrElse({ + duration, + orElse: () => Effect.fail(new Error(message)), + }), + ) + +const hasBash = Effect.sync(() => Bun.which("bash") !== null) + +const deferredAsPromise = (deferred: Deferred.Deferred): PromiseLike => ({ + then: (onfulfilled, onrejected) => { + Effect.runFork( + Deferred.await(deferred).pipe( + Effect.match({ + onFailure: (error) => { + onrejected?.(error) + }, + onSuccess: (value) => { + onfulfilled?.(value) + }, + }), + ), + ) + return deferredAsPromise(deferred) as PromiseLike + }, +}) + +const succeedVoid = (deferred: Deferred.Deferred) => { + Effect.runSync(Deferred.succeed(deferred, void 0).pipe(Effect.ignore)) +} + const user = Effect.fn("test.user")(function* (sessionID: SessionID, text: string) { const session = yield* Session.Service const msg = yield* session.updateMessage({ @@ -344,9 +415,11 @@ const boot = Effect.fn("test.boot")(function* (input?: { title?: string }) { // Loop semantics -it.live("loop exits immediately when last assistant has stop finish", () => - provideTmpdirServer( - Effect.fnUntraced(function* ({ llm }) { +it.instance( + "loop exits immediately when last assistant has stop finish", + () => + Effect.gen(function* () { + const { llm } = yield* useServerConfig(providerCfg) const prompt = yield* SessionPrompt.Service const sessions = yield* Session.Service const chat = yield* sessions.create({ title: "Pinned" }) @@ -357,13 +430,14 @@ it.live("loop exits immediately when last assistant has stop finish", () => if (result.info.role === "assistant") expect(result.info.finish).toBe("stop") expect(yield* llm.calls).toBe(0) }), - { git: true, config: providerCfg }, - ), + { git: true }, ) -it.live("loop calls LLM and returns assistant message", () => - provideTmpdirServer( - Effect.fnUntraced(function* ({ llm }) { +it.instance( + "loop calls LLM and returns assistant message", + () => + Effect.gen(function* () { + const { llm } = yield* useServerConfig(providerCfg) const prompt = yield* SessionPrompt.Service const sessions = yield* Session.Service const chat = yield* sessions.create({ @@ -384,13 +458,14 @@ it.live("loop calls LLM and returns assistant message", () => expect(parts.some((p) => p.type === "text" && p.text === "world")).toBe(true) expect(yield* llm.hits).toHaveLength(1) }), - { git: true, config: providerCfg }, - ), + { git: true }, ) -it.live("prompt emits v2 prompted and synthetic events", () => - provideTmpdirServer( - Effect.fnUntraced(function* () { +it.instance( + "prompt emits v2 prompted and synthetic events", + () => + Effect.gen(function* () { + yield* useServerConfig(providerCfg) const prompt = yield* SessionPrompt.Service const sessions = yield* Session.Service const chat = yield* sessions.create({ title: "Pinned" }) @@ -425,13 +500,14 @@ it.live("prompt emits v2 prompted and synthetic events", () => ]), ) }), - { git: true, config: providerCfg }, - ), + { git: true }, ) -it.live("static loop returns assistant text through local provider", () => - provideTmpdirServer( - Effect.fnUntraced(function* ({ llm }) { +it.instance( + "static loop returns assistant text through local provider", + () => + Effect.gen(function* () { + const { llm } = yield* useServerConfig(providerCfg) const prompt = yield* SessionPrompt.Service const sessions = yield* Session.Service const session = yield* sessions.create({ @@ -454,13 +530,14 @@ it.live("static loop returns assistant text through local provider", () => expect(yield* llm.hits).toHaveLength(1) expect(yield* llm.pending).toBe(0) }), - { git: true, config: providerCfg }, - ), + { git: true }, ) -it.live("static loop consumes queued replies across turns", () => - provideTmpdirServer( - Effect.fnUntraced(function* ({ llm }) { +it.instance( + "static loop consumes queued replies across turns", + () => + Effect.gen(function* () { + const { llm } = yield* useServerConfig(providerCfg) const prompt = yield* SessionPrompt.Service const sessions = yield* Session.Service const session = yield* sessions.create({ @@ -497,13 +574,14 @@ it.live("static loop consumes queued replies across turns", () => expect(yield* llm.hits).toHaveLength(2) expect(yield* llm.pending).toBe(0) }), - { git: true, config: providerCfg }, - ), + { git: true }, ) -it.live("loop continues when finish is tool-calls", () => - provideTmpdirServer( - Effect.fnUntraced(function* ({ llm }) { +it.instance( + "loop continues when finish is tool-calls", + () => + Effect.gen(function* () { + const { llm } = yield* useServerConfig(providerCfg) const prompt = yield* SessionPrompt.Service const sessions = yield* Session.Service const session = yield* sessions.create({ @@ -527,55 +605,56 @@ it.live("loop continues when finish is tool-calls", () => expect(result.info.finish).toBe("stop") } }), - { git: true, config: providerCfg }, - ), + { git: true }, ) -it.live("glob tool keeps instance context during prompt runs", () => - provideTmpdirServer( - ({ dir, llm }) => - Effect.gen(function* () { - const prompt = yield* SessionPrompt.Service - const sessions = yield* Session.Service - const session = yield* sessions.create({ - title: "Glob context", - permission: [{ permission: "*", pattern: "*", action: "allow" }], - }) - const file = path.join(dir, "probe.txt") - yield* Effect.promise(() => Bun.write(file, "probe")) +it.instance( + "glob tool keeps instance context during prompt runs", + () => + Effect.gen(function* () { + const { dir, llm } = yield* useServerConfig(providerCfg) + const prompt = yield* SessionPrompt.Service + const sessions = yield* Session.Service + const session = yield* sessions.create({ + title: "Glob context", + permission: [{ permission: "*", pattern: "*", action: "allow" }], + }) + const file = path.join(dir, "probe.txt") + yield* writeText(file, "probe") - yield* prompt.prompt({ - sessionID: session.id, - agent: "build", - noReply: true, - parts: [{ type: "text", text: "find text files" }], - }) - yield* llm.tool("glob", { pattern: "**/*.txt" }) - yield* llm.text("done") + yield* prompt.prompt({ + sessionID: session.id, + agent: "build", + noReply: true, + parts: [{ type: "text", text: "find text files" }], + }) + yield* llm.tool("glob", { pattern: "**/*.txt" }) + yield* llm.text("done") - const result = yield* prompt.loop({ sessionID: session.id }) - expect(result.info.role).toBe("assistant") + const result = yield* prompt.loop({ sessionID: session.id }) + expect(result.info.role).toBe("assistant") - const msgs = yield* MessageV2.filterCompactedEffect(session.id) - const tool = msgs - .flatMap((msg) => msg.parts) - .find( - (part): part is CompletedToolPart => - part.type === "tool" && part.tool === "glob" && part.state.status === "completed", - ) - if (!tool) return + const msgs = yield* MessageV2.filterCompactedEffect(session.id) + const tool = msgs + .flatMap((msg) => msg.parts) + .find( + (part): part is CompletedToolPart => + part.type === "tool" && part.tool === "glob" && part.state.status === "completed", + ) + if (!tool) return - expect(tool.state.output).toContain(file) - expect(tool.state.output).not.toContain("No context found for instance") - expect(result.parts.some((part) => part.type === "text" && part.text === "done")).toBe(true) - }), - { git: true, config: providerCfg }, - ), + expect(tool.state.output).toContain(file) + expect(tool.state.output).not.toContain("No context found for instance") + expect(result.parts.some((part) => part.type === "text" && part.text === "done")).toBe(true) + }), + { git: true }, ) -it.live("loop continues when finish is stop but assistant has tool parts", () => - provideTmpdirServer( - Effect.fnUntraced(function* ({ llm }) { +it.instance( + "loop continues when finish is stop but assistant has tool parts", + () => + Effect.gen(function* () { + const { llm } = yield* useServerConfig(providerCfg) const prompt = yield* SessionPrompt.Service const sessions = yield* Session.Service const session = yield* sessions.create({ @@ -599,13 +678,21 @@ it.live("loop continues when finish is stop but assistant has tool parts", () => expect(result.info.finish).toBe("stop") } }), - { git: true, config: providerCfg }, - ), + { git: true }, ) -it.live("failed subtask preserves metadata on error tool state", () => - provideTmpdirServer( - Effect.fnUntraced(function* ({ llm }) { +it.instance( + "failed subtask preserves metadata on error tool state", + () => + Effect.gen(function* () { + const { llm } = yield* useServerConfig((url) => ({ + ...providerCfg(url), + agent: { + general: { + model: "test/missing-model", + }, + }, + })) const prompt = yield* SessionPrompt.Service const sessions = yield* Session.Service const chat = yield* sessions.create({ title: "Pinned" }) @@ -638,479 +725,897 @@ it.live("failed subtask preserves metadata on error tool state", () => modelID: ModelID.make("missing-model"), }) }), - { - git: true, - config: (url) => ({ - ...providerCfg(url), - agent: { - general: { - model: "test/missing-model", - }, - }, - }), - }, - ), + { git: true }, ) -it.live( +it.instance( "running subtask preserves metadata after tool-call transition", () => - provideTmpdirServer( - Effect.fnUntraced(function* ({ llm }) { - const prompt = yield* SessionPrompt.Service - const sessions = yield* Session.Service - const chat = yield* sessions.create({ title: "Pinned" }) - yield* llm.hang - const msg = yield* user(chat.id, "hello") - yield* addSubtask(chat.id, msg.id) + Effect.gen(function* () { + const { llm } = yield* useServerConfig(providerCfg) + const prompt = yield* SessionPrompt.Service + const sessions = yield* Session.Service + const chat = yield* sessions.create({ title: "Pinned" }) + yield* llm.hang + const msg = yield* user(chat.id, "hello") + yield* addSubtask(chat.id, msg.id) - const fiber = yield* prompt.loop({ sessionID: chat.id }).pipe(Effect.forkChild) + const fiber = yield* prompt.loop({ sessionID: chat.id }).pipe(Effect.forkChild) - const tool = yield* Effect.promise(async () => { - const end = Date.now() + 5_000 - while (Date.now() < end) { - const msgs = await Effect.runPromise(MessageV2.filterCompactedEffect(chat.id)) - const taskMsg = msgs.find((item) => item.info.role === "assistant" && item.info.agent === "general") - const tool = taskMsg?.parts.find((part): part is MessageV2.ToolPart => part.type === "tool") - if (tool?.state.status === "running" && tool.state.metadata?.sessionId) return tool - await new Promise((done) => setTimeout(done, 20)) - } - throw new Error("timed out waiting for running subtask metadata") - }) + const tool = yield* pollWithTimeout( + Effect.gen(function* () { + const msgs = yield* MessageV2.filterCompactedEffect(chat.id) + const taskMsg = msgs.find((item) => item.info.role === "assistant" && item.info.agent === "general") + const tool = taskMsg?.parts.find((part): part is MessageV2.ToolPart => part.type === "tool") + if (tool?.state.status === "running" && tool.state.metadata?.sessionId) return tool + }), + "timed out waiting for running subtask metadata", + ) - if (tool.state.status !== "running") return - expect(typeof tool.state.metadata?.sessionId).toBe("string") - expect(tool.state.title).toBeDefined() - expect(tool.state.metadata?.model).toBeDefined() + if (tool.state.status !== "running") return + expect(typeof tool.state.metadata?.sessionId).toBe("string") + expect(tool.state.title).toBeDefined() + expect(tool.state.metadata?.model).toBeDefined() - yield* prompt.cancel(chat.id) - yield* Fiber.await(fiber) - }), - { git: true, config: providerCfg }, - ), + yield* prompt.cancel(chat.id) + yield* Fiber.await(fiber) + }), + { git: true }, 5_000, ) -it.live( +it.instance( "running task tool preserves metadata after tool-call transition", () => - provideTmpdirServer( - Effect.fnUntraced(function* ({ llm }) { - const prompt = yield* SessionPrompt.Service - const sessions = yield* Session.Service - const chat = yield* sessions.create({ - title: "Pinned", - permission: [{ permission: "*", pattern: "*", action: "allow" }], - }) - yield* llm.tool("task", { - description: "inspect bug", - prompt: "look into the cache key path", - subagent_type: "general", - }) - yield* llm.hang - yield* user(chat.id, "hello") + Effect.gen(function* () { + const { llm } = yield* useServerConfig(providerCfg) + const prompt = yield* SessionPrompt.Service + const sessions = yield* Session.Service + const chat = yield* sessions.create({ + title: "Pinned", + permission: [{ permission: "*", pattern: "*", action: "allow" }], + }) + yield* llm.tool("task", { + description: "inspect bug", + prompt: "look into the cache key path", + subagent_type: "general", + }) + yield* llm.hang + yield* user(chat.id, "hello") - const fiber = yield* prompt.loop({ sessionID: chat.id }).pipe(Effect.forkChild) + const fiber = yield* prompt.loop({ sessionID: chat.id }).pipe(Effect.forkChild) - const tool = yield* Effect.promise(async () => { - const end = Date.now() + 5_000 - while (Date.now() < end) { - const msgs = await Effect.runPromise(MessageV2.filterCompactedEffect(chat.id)) - const assistant = msgs.findLast((item) => item.info.role === "assistant" && item.info.agent === "build") - const tool = assistant?.parts.find( - (part): part is MessageV2.ToolPart => part.type === "tool" && part.tool === "task", - ) - if (tool?.state.status === "running" && tool.state.metadata?.sessionId) return tool - await new Promise((done) => setTimeout(done, 20)) - } - throw new Error("timed out waiting for running task metadata") - }) + const tool = yield* pollWithTimeout( + Effect.gen(function* () { + const msgs = yield* MessageV2.filterCompactedEffect(chat.id) + const assistant = msgs.findLast((item) => item.info.role === "assistant" && item.info.agent === "build") + const tool = assistant?.parts.find( + (part): part is MessageV2.ToolPart => part.type === "tool" && part.tool === "task", + ) + if (tool?.state.status === "running" && tool.state.metadata?.sessionId) return tool + }), + "timed out waiting for running task metadata", + ) - if (tool.state.status !== "running") return - expect(typeof tool.state.metadata?.sessionId).toBe("string") - expect(tool.state.title).toBe("inspect bug") - expect(tool.state.metadata?.model).toBeDefined() + if (tool.state.status !== "running") return + expect(typeof tool.state.metadata?.sessionId).toBe("string") + expect(tool.state.title).toBe("inspect bug") + expect(tool.state.metadata?.model).toBeDefined() - yield* prompt.cancel(chat.id) - yield* Fiber.await(fiber) - }), - { git: true, config: providerCfg }, - ), + yield* prompt.cancel(chat.id) + yield* Fiber.await(fiber) + }), + { git: true }, 10_000, ) -it.live( +it.instance( "loop sets status to busy then idle", () => - provideTmpdirServer( - Effect.fnUntraced(function* ({ llm }) { - const prompt = yield* SessionPrompt.Service - const sessions = yield* Session.Service - const status = yield* SessionStatus.Service + Effect.gen(function* () { + const { llm } = yield* useServerConfig(providerCfg) + const prompt = yield* SessionPrompt.Service + const sessions = yield* Session.Service + const status = yield* SessionStatus.Service - yield* llm.hang + yield* llm.hang - const chat = yield* sessions.create({}) - yield* user(chat.id, "hi") + const chat = yield* sessions.create({}) + yield* user(chat.id, "hi") - const fiber = yield* prompt.loop({ sessionID: chat.id }).pipe(Effect.forkChild) - yield* llm.wait(1) - expect((yield* status.get(chat.id)).type).toBe("busy") - yield* prompt.cancel(chat.id) - yield* Fiber.await(fiber) - expect((yield* status.get(chat.id)).type).toBe("idle") - }), - { git: true, config: providerCfg }, - ), + const fiber = yield* prompt.loop({ sessionID: chat.id }).pipe(Effect.forkChild) + yield* llm.wait(1) + expect((yield* status.get(chat.id)).type).toBe("busy") + yield* prompt.cancel(chat.id) + yield* Fiber.await(fiber) + expect((yield* status.get(chat.id)).type).toBe("idle") + }), + { git: true }, 3_000, ) // Cancel semantics -it.live( +it.instance( "cancel interrupts loop and resolves with an assistant message", () => - provideTmpdirServer( - Effect.fnUntraced(function* ({ llm }) { - const prompt = yield* SessionPrompt.Service - const sessions = yield* Session.Service - const chat = yield* sessions.create({ title: "Pinned" }) - yield* seed(chat.id) + Effect.gen(function* () { + const { llm } = yield* useServerConfig(providerCfg) + const prompt = yield* SessionPrompt.Service + const sessions = yield* Session.Service + const chat = yield* sessions.create({ title: "Pinned" }) + yield* seed(chat.id) - yield* llm.hang + yield* llm.hang - yield* user(chat.id, "more") + yield* user(chat.id, "more") - const fiber = yield* prompt.loop({ sessionID: chat.id }).pipe(Effect.forkChild) - yield* llm.wait(1) - yield* prompt.cancel(chat.id) - const exit = yield* Fiber.await(fiber) - expect(Exit.isSuccess(exit)).toBe(true) - if (Exit.isSuccess(exit)) { - expect(exit.value.info.role).toBe("assistant") - } - }), - { git: true, config: providerCfg }, - ), + const fiber = yield* prompt.loop({ sessionID: chat.id }).pipe(Effect.forkChild) + yield* llm.wait(1) + yield* prompt.cancel(chat.id) + const exit = yield* Fiber.await(fiber) + expect(Exit.isSuccess(exit)).toBe(true) + if (Exit.isSuccess(exit)) { + expect(exit.value.info.role).toBe("assistant") + } + }), + { git: true }, 3_000, ) -it.live( +it.instance( "cancel records MessageAbortedError on interrupted process", () => - provideTmpdirServer( - Effect.fnUntraced(function* ({ llm }) { - const prompt = yield* SessionPrompt.Service - const sessions = yield* Session.Service - const chat = yield* sessions.create({ title: "Pinned" }) - yield* llm.hang - yield* user(chat.id, "hello") + Effect.gen(function* () { + const { llm } = yield* useServerConfig(providerCfg) + const prompt = yield* SessionPrompt.Service + const sessions = yield* Session.Service + const chat = yield* sessions.create({ title: "Pinned" }) + yield* llm.hang + yield* user(chat.id, "hello") - const fiber = yield* prompt.loop({ sessionID: chat.id }).pipe(Effect.forkChild) - yield* llm.wait(1) - yield* prompt.cancel(chat.id) - const exit = yield* Fiber.await(fiber) - expect(Exit.isSuccess(exit)).toBe(true) - if (Exit.isSuccess(exit)) { - const info = exit.value.info - if (info.role === "assistant") { - expect(info.error?.name).toBe("MessageAbortedError") - } + const fiber = yield* prompt.loop({ sessionID: chat.id }).pipe(Effect.forkChild) + yield* llm.wait(1) + yield* prompt.cancel(chat.id) + const exit = yield* Fiber.await(fiber) + expect(Exit.isSuccess(exit)).toBe(true) + if (Exit.isSuccess(exit)) { + const info = exit.value.info + if (info.role === "assistant") { + expect(info.error?.name).toBe("MessageAbortedError") } - }), - { git: true, config: providerCfg }, - ), + } + }), + { git: true }, 3_000, ) -it.live( +it.instance( "cancel finalizes subtask tool state", () => - provideTmpdirInstance( - () => - Effect.gen(function* () { - const ready = defer() - const aborted = defer() - const registry = yield* ToolRegistry.Service - const { task } = yield* registry.named() - const original = task.execute - task.execute = (_args, ctx) => - Effect.callback((_resume) => { - ready.resolve() - ctx.abort.addEventListener("abort", () => aborted.resolve(), { once: true }) - return Effect.sync(() => aborted.resolve()) - }) - yield* Effect.addFinalizer(() => Effect.sync(() => void (task.execute = original))) + Effect.gen(function* () { + const ready = yield* Deferred.make() + const aborted = yield* Deferred.make() + const registry = yield* ToolRegistry.Service + const { task } = yield* registry.named() + const original = task.execute + task.execute = (_args, ctx) => + Effect.callback((_resume) => { + ctx.abort.addEventListener("abort", () => succeedVoid(aborted), { once: true }) + if (ctx.abort.aborted) succeedVoid(aborted) + succeedVoid(ready) + return Effect.sync(() => succeedVoid(aborted)) + }) + yield* Effect.addFinalizer(() => Effect.sync(() => void (task.execute = original))) - const { prompt, chat } = yield* boot() - const msg = yield* user(chat.id, "hello") - yield* addSubtask(chat.id, msg.id) + const { prompt, chat } = yield* boot() + const msg = yield* user(chat.id, "hello") + yield* addSubtask(chat.id, msg.id) - const fiber = yield* prompt.loop({ sessionID: chat.id }).pipe(Effect.forkChild) - yield* Effect.promise(() => ready.promise) - yield* prompt.cancel(chat.id) - yield* Effect.promise(() => aborted.promise) + const fiber = yield* prompt.loop({ sessionID: chat.id }).pipe(Effect.forkChild) + yield* awaitWithTimeout(Deferred.await(ready), "timed out waiting for task tool to start", "10 seconds") + yield* prompt.cancel(chat.id) - const exit = yield* Fiber.await(fiber) - expect(Exit.isSuccess(exit)).toBe(true) + const exit = yield* Fiber.await(fiber) + expect(Exit.isSuccess(exit)).toBe(true) + yield* awaitWithTimeout(Deferred.await(aborted), "timed out waiting for task tool abort", "10 seconds") - const msgs = yield* MessageV2.filterCompactedEffect(chat.id) - const taskMsg = msgs.find((item) => item.info.role === "assistant" && item.info.agent === "general") - expect(taskMsg?.info.role).toBe("assistant") - if (!taskMsg || taskMsg.info.role !== "assistant") return + const msgs = yield* MessageV2.filterCompactedEffect(chat.id) + const taskMsg = msgs.find((item) => item.info.role === "assistant" && item.info.agent === "general") + expect(taskMsg?.info.role).toBe("assistant") + if (!taskMsg || taskMsg.info.role !== "assistant") return - const tool = toolPart(taskMsg.parts) - expect(tool?.type).toBe("tool") - if (!tool) return + const tool = toolPart(taskMsg.parts) + expect(tool?.type).toBe("tool") + if (!tool) return - expect(tool.state.status).not.toBe("running") - expect(taskMsg.info.time.completed).toBeDefined() - expect(taskMsg.info.finish).toBeDefined() - }), - { git: true, config: cfg }, - ), + expect(tool.state.status).not.toBe("running") + expect(taskMsg.info.time.completed).toBeDefined() + expect(taskMsg.info.finish).toBeDefined() + }), + { git: true, config: cfg }, 30_000, ) -it.live( +it.instance( "cancel propagates from slash command subtask to child session", () => - provideTmpdirServer( - Effect.fnUntraced(function* ({ llm }) { - const prompt = yield* SessionPrompt.Service - const sessions = yield* Session.Service - const status = yield* SessionStatus.Service - const chat = yield* sessions.create({ title: "Pinned" }) - yield* llm.hang - const msg = yield* user(chat.id, "hello") - yield* addSubtask(chat.id, msg.id) + Effect.gen(function* () { + const { llm } = yield* useServerConfig(providerCfg) + const prompt = yield* SessionPrompt.Service + const sessions = yield* Session.Service + const status = yield* SessionStatus.Service + const chat = yield* sessions.create({ title: "Pinned" }) + yield* llm.hang + const msg = yield* user(chat.id, "hello") + yield* addSubtask(chat.id, msg.id) - const fiber = yield* prompt.loop({ sessionID: chat.id }).pipe(Effect.forkChild) - yield* llm.wait(1) + const fiber = yield* prompt.loop({ sessionID: chat.id }).pipe(Effect.forkChild) + yield* llm.wait(1) - const msgs = yield* MessageV2.filterCompactedEffect(chat.id) - const taskMsg = msgs.find((item) => item.info.role === "assistant" && item.info.agent === "general") - const tool = taskMsg ? toolPart(taskMsg.parts) : undefined - const sessionID = tool?.state.status === "running" ? tool.state.metadata?.sessionId : undefined - expect(typeof sessionID).toBe("string") - if (typeof sessionID !== "string") throw new Error("missing child session id") - const childID = SessionID.make(sessionID) - expect((yield* status.get(childID)).type).toBe("busy") + const msgs = yield* MessageV2.filterCompactedEffect(chat.id) + const taskMsg = msgs.find((item) => item.info.role === "assistant" && item.info.agent === "general") + const tool = taskMsg ? toolPart(taskMsg.parts) : undefined + const sessionID = tool?.state.status === "running" ? tool.state.metadata?.sessionId : undefined + expect(typeof sessionID).toBe("string") + if (typeof sessionID !== "string") throw new Error("missing child session id") + const childID = SessionID.make(sessionID) + expect((yield* status.get(childID)).type).toBe("busy") - yield* prompt.cancel(chat.id) - const exit = yield* Fiber.await(fiber) - expect(Exit.isSuccess(exit)).toBe(true) + yield* prompt.cancel(chat.id) + const exit = yield* Fiber.await(fiber) + expect(Exit.isSuccess(exit)).toBe(true) - expect((yield* status.get(chat.id)).type).toBe("idle") - expect((yield* status.get(childID)).type).toBe("idle") - }), - { git: true, config: providerCfg }, - ), + expect((yield* status.get(chat.id)).type).toBe("idle") + expect((yield* status.get(childID)).type).toBe("idle") + }), + { git: true }, 10_000, ) -it.live( +it.instance( "cancel with queued callers resolves all cleanly", () => - provideTmpdirServer( - Effect.fnUntraced(function* ({ llm }) { - const prompt = yield* SessionPrompt.Service - const sessions = yield* Session.Service - const chat = yield* sessions.create({ title: "Pinned" }) - yield* llm.hang - yield* user(chat.id, "hello") + Effect.gen(function* () { + const { llm } = yield* useServerConfig(providerCfg) + const prompt = yield* SessionPrompt.Service + const sessions = yield* Session.Service + const chat = yield* sessions.create({ title: "Pinned" }) + yield* llm.hang + yield* user(chat.id, "hello") - const a = yield* prompt.loop({ sessionID: chat.id }).pipe(Effect.forkChild) - yield* llm.wait(1) - const b = yield* prompt.loop({ sessionID: chat.id }).pipe(Effect.forkChild) - yield* Effect.sleep(50) + const a = yield* prompt.loop({ sessionID: chat.id }).pipe(Effect.forkChild) + yield* llm.wait(1) + const b = yield* prompt.loop({ sessionID: chat.id }).pipe(Effect.forkChild) + yield* Effect.sleep(50) - yield* prompt.cancel(chat.id) - const [exitA, exitB] = yield* Effect.all([Fiber.await(a), Fiber.await(b)]) - expect(Exit.isSuccess(exitA)).toBe(true) - expect(Exit.isSuccess(exitB)).toBe(true) - if (Exit.isSuccess(exitA) && Exit.isSuccess(exitB)) { - expect(exitA.value.info.id).toBe(exitB.value.info.id) - } - }), - { git: true, config: providerCfg }, - ), + yield* prompt.cancel(chat.id) + const [exitA, exitB] = yield* Effect.all([Fiber.await(a), Fiber.await(b)]) + expect(Exit.isSuccess(exitA)).toBe(true) + expect(Exit.isSuccess(exitB)).toBe(true) + if (Exit.isSuccess(exitA) && Exit.isSuccess(exitB)) { + expect(exitA.value.info.id).toBe(exitB.value.info.id) + } + }), + { git: true }, 3_000, ) // Queue semantics -it.live("concurrent loop callers get same result", () => - provideTmpdirInstance( - (_dir) => - Effect.gen(function* () { - const { prompt, run, chat } = yield* boot() - yield* seed(chat.id, { finish: "stop" }) +it.instance( + "concurrent loop callers get same result", + () => + Effect.gen(function* () { + const { prompt, run, chat } = yield* boot() + yield* seed(chat.id, { finish: "stop" }) - const [a, b] = yield* Effect.all([prompt.loop({ sessionID: chat.id }), prompt.loop({ sessionID: chat.id })], { - concurrency: "unbounded", - }) + const [a, b] = yield* Effect.all([prompt.loop({ sessionID: chat.id }), prompt.loop({ sessionID: chat.id })], { + concurrency: "unbounded", + }) - expect(a.info.id).toBe(b.info.id) - expect(a.info.role).toBe("assistant") - yield* run.assertNotBusy(chat.id) - }), - { git: true }, - ), + expect(a.info.id).toBe(b.info.id) + expect(a.info.role).toBe("assistant") + yield* run.assertNotBusy(chat.id) + }), + { git: true }, ) -it.live( +it.instance( "concurrent loop callers all receive same error result", () => - provideTmpdirServer( - Effect.fnUntraced(function* ({ llm }) { - const prompt = yield* SessionPrompt.Service - const sessions = yield* Session.Service - const chat = yield* sessions.create({ title: "Pinned" }) + Effect.gen(function* () { + const { llm } = yield* useServerConfig(providerCfg) + const prompt = yield* SessionPrompt.Service + const sessions = yield* Session.Service + const chat = yield* sessions.create({ title: "Pinned" }) - yield* llm.fail("boom") - yield* user(chat.id, "hello") + yield* llm.fail("boom") + yield* user(chat.id, "hello") - const [a, b] = yield* Effect.all([prompt.loop({ sessionID: chat.id }), prompt.loop({ sessionID: chat.id })], { - concurrency: "unbounded", - }) - expect(a.info.id).toBe(b.info.id) - expect(a.info.role).toBe("assistant") - }), - { git: true, config: providerCfg }, - ), + const [a, b] = yield* Effect.all([prompt.loop({ sessionID: chat.id }), prompt.loop({ sessionID: chat.id })], { + concurrency: "unbounded", + }) + expect(a.info.id).toBe(b.info.id) + expect(a.info.role).toBe("assistant") + }), + { git: true }, 3_000, ) -it.live( +it.instance( "prompt submitted during an active run is included in the next LLM input", () => - provideTmpdirServer( - Effect.fnUntraced(function* ({ llm }) { - const gate = defer() - const prompt = yield* SessionPrompt.Service - const sessions = yield* Session.Service - const chat = yield* sessions.create({ title: "Pinned" }) + Effect.gen(function* () { + const { llm } = yield* useServerConfig(providerCfg) + const gate = yield* Deferred.make() + const prompt = yield* SessionPrompt.Service + const sessions = yield* Session.Service + const chat = yield* sessions.create({ title: "Pinned" }) - yield* llm.hold("first", gate.promise) - yield* llm.text("second") + yield* llm.hold("first", deferredAsPromise(gate)) + yield* llm.text("second") - const a = yield* prompt - .prompt({ - sessionID: chat.id, - agent: "build", - model: ref, - parts: [{ type: "text", text: "first" }], - }) - .pipe(Effect.forkChild) - - yield* llm.wait(1) - - const id = MessageID.ascending() - const b = yield* prompt - .prompt({ - sessionID: chat.id, - messageID: id, - agent: "build", - model: ref, - parts: [{ type: "text", text: "second" }], - }) - .pipe(Effect.forkChild) - - yield* Effect.promise(async () => { - const end = Date.now() + 5000 - while (Date.now() < end) { - const msgs = await Effect.runPromise(sessions.messages({ sessionID: chat.id })) - if (msgs.some((msg) => msg.info.role === "user" && msg.info.id === id)) return - await new Promise((done) => setTimeout(done, 20)) - } - throw new Error("timed out waiting for second prompt to save") + const a = yield* prompt + .prompt({ + sessionID: chat.id, + agent: "build", + model: ref, + parts: [{ type: "text", text: "first" }], }) + .pipe(Effect.forkChild) - gate.resolve() + yield* llm.wait(1) - const [ea, eb] = yield* Effect.all([Fiber.await(a), Fiber.await(b)]) - expect(Exit.isSuccess(ea)).toBe(true) - expect(Exit.isSuccess(eb)).toBe(true) - expect(yield* llm.calls).toBe(2) + const id = MessageID.ascending() + const b = yield* prompt + .prompt({ + sessionID: chat.id, + messageID: id, + agent: "build", + model: ref, + parts: [{ type: "text", text: "second" }], + }) + .pipe(Effect.forkChild) - const msgs = yield* sessions.messages({ sessionID: chat.id }) - const assistants = msgs.filter((msg) => msg.info.role === "assistant") - expect(assistants).toHaveLength(2) - const last = assistants.at(-1) - if (!last || last.info.role !== "assistant") throw new Error("expected second assistant") - expect(last.info.parentID).toBe(id) - expect(last.parts.some((part) => part.type === "text" && part.text === "second")).toBe(true) + yield* pollWithTimeout( + sessions + .messages({ sessionID: chat.id }) + .pipe( + Effect.map((msgs) => + msgs.some((msg) => msg.info.role === "user" && msg.info.id === id) ? true : undefined, + ), + ), + "timed out waiting for second prompt to save", + ) - const inputs = yield* llm.inputs - expect(inputs).toHaveLength(2) - expect(JSON.stringify(inputs.at(-1)?.messages)).toContain("second") - }), - { git: true, config: providerCfg }, - ), + yield* Deferred.succeed(gate, void 0) + + const [ea, eb] = yield* Effect.all([Fiber.await(a), Fiber.await(b)]) + expect(Exit.isSuccess(ea)).toBe(true) + expect(Exit.isSuccess(eb)).toBe(true) + expect(yield* llm.calls).toBe(2) + + const msgs = yield* sessions.messages({ sessionID: chat.id }) + const assistants = msgs.filter((msg) => msg.info.role === "assistant") + expect(assistants).toHaveLength(2) + const last = assistants.at(-1) + if (!last || last.info.role !== "assistant") throw new Error("expected second assistant") + expect(last.info.parentID).toBe(id) + expect(last.parts.some((part) => part.type === "text" && part.text === "second")).toBe(true) + + const inputs = yield* llm.inputs + expect(inputs).toHaveLength(2) + expect(JSON.stringify(inputs.at(-1)?.messages)).toContain("second") + }), + { git: true }, 3_000, ) -it.live( +it.instance( "assertNotBusy throws BusyError when loop running", () => - provideTmpdirServer( - Effect.fnUntraced(function* ({ llm }) { - const prompt = yield* SessionPrompt.Service - const run = yield* SessionRunState.Service - const sessions = yield* Session.Service - yield* llm.hang + Effect.gen(function* () { + const { llm } = yield* useServerConfig(providerCfg) + const prompt = yield* SessionPrompt.Service + const run = yield* SessionRunState.Service + const sessions = yield* Session.Service + yield* llm.hang - const chat = yield* sessions.create({}) - yield* user(chat.id, "hi") + const chat = yield* sessions.create({}) + yield* user(chat.id, "hi") - const fiber = yield* prompt.loop({ sessionID: chat.id }).pipe(Effect.forkChild) - yield* llm.wait(1) + const fiber = yield* prompt.loop({ sessionID: chat.id }).pipe(Effect.forkChild) + yield* llm.wait(1) - const exit = yield* run.assertNotBusy(chat.id).pipe(Effect.exit) - expect(Exit.isFailure(exit)).toBe(true) - if (Exit.isFailure(exit)) { - expect(Cause.squash(exit.cause)).toBeInstanceOf(Session.BusyError) - } + const exit = yield* run.assertNotBusy(chat.id).pipe(Effect.exit) + expect(Exit.isFailure(exit)).toBe(true) + if (Exit.isFailure(exit)) { + expect(Cause.squash(exit.cause)).toBeInstanceOf(Session.BusyError) + } - yield* prompt.cancel(chat.id) - yield* Fiber.await(fiber) - }), - { git: true, config: providerCfg }, - ), + yield* prompt.cancel(chat.id) + yield* Fiber.await(fiber) + }), + { git: true }, 3_000, ) -it.live("assertNotBusy succeeds when idle", () => - provideTmpdirInstance( - (_dir) => - Effect.gen(function* () { - const run = yield* SessionRunState.Service - const sessions = yield* Session.Service +it.instance( + "assertNotBusy succeeds when idle", + () => + Effect.gen(function* () { + const run = yield* SessionRunState.Service + const sessions = yield* Session.Service - const chat = yield* sessions.create({}) - const exit = yield* run.assertNotBusy(chat.id).pipe(Effect.exit) - expect(Exit.isSuccess(exit)).toBe(true) - }), - { git: true }, - ), + const chat = yield* sessions.create({}) + const exit = yield* run.assertNotBusy(chat.id).pipe(Effect.exit) + expect(Exit.isSuccess(exit)).toBe(true) + }), + { git: true }, ) // Shell semantics -it.live( +it.instance( "shell rejects with BusyError when loop running", () => - provideTmpdirServer( - Effect.fnUntraced(function* ({ llm }) { - const prompt = yield* SessionPrompt.Service - const sessions = yield* Session.Service - const chat = yield* sessions.create({ title: "Pinned" }) - yield* llm.hang - yield* user(chat.id, "hi") + Effect.gen(function* () { + const { llm } = yield* useServerConfig(providerCfg) + const prompt = yield* SessionPrompt.Service + const sessions = yield* Session.Service + const chat = yield* sessions.create({ title: "Pinned" }) + yield* llm.hang + yield* user(chat.id, "hi") - const fiber = yield* prompt.loop({ sessionID: chat.id }).pipe(Effect.forkChild) - yield* llm.wait(1) + const fiber = yield* prompt.loop({ sessionID: chat.id }).pipe(Effect.forkChild) + yield* llm.wait(1) + + const exit = yield* prompt.shell({ sessionID: chat.id, agent: "build", command: "echo hi" }).pipe(Effect.exit) + expect(Exit.isFailure(exit)).toBe(true) + if (Exit.isFailure(exit)) { + expect(Cause.squash(exit.cause)).toBeInstanceOf(Session.BusyError) + } + + yield* prompt.cancel(chat.id) + yield* Fiber.await(fiber) + }), + { git: true }, + 3_000, +) + +unix( + "shell captures stdout and stderr in completed tool output", + () => + Effect.gen(function* () { + const { prompt, run, chat } = yield* boot() + const result = yield* prompt.shell({ + sessionID: chat.id, + agent: "build", + command: "printf out && printf err >&2", + }) + + expect(result.info.role).toBe("assistant") + const tool = completedTool(result.parts) + if (!tool) return + + expect(tool.state.output).toContain("out") + expect(tool.state.output).toContain("err") + expect(tool.state.metadata.output).toContain("out") + expect(tool.state.metadata.output).toContain("err") + yield* run.assertNotBusy(chat.id) + }), + { git: true, config: cfg }, +) + +unix( + "shell completes a fast command on the preferred shell", + () => + Effect.gen(function* () { + const { directory: dir } = yield* TestInstance + const { prompt, run, chat } = yield* boot() + const result = yield* prompt.shell({ + sessionID: chat.id, + agent: "build", + command: "pwd", + }) + + expect(result.info.role).toBe("assistant") + const tool = completedTool(result.parts) + if (!tool) return + + expect(tool.state.input.command).toBe("pwd") + expect(tool.state.output).toContain(dir) + expect(tool.state.metadata.output).toContain(dir) + yield* run.assertNotBusy(chat.id) + }), + { git: true, config: cfg }, +) + +unix( + "shell uses configured shell over env shell", + () => + withSh(() => + Effect.gen(function* () { + if (!(yield* hasBash)) return + + const { prompt, chat } = yield* boot() + const result = yield* prompt.shell({ + sessionID: chat.id, + agent: "build", + command: "[[ 1 -eq 1 ]] && printf configured", + }) + + const tool = completedTool(result.parts) + if (!tool) return + expect(tool.state.output).toContain("configured") + }), + ), + { git: true, config: { ...cfg, shell: "bash" } }, + 30_000, +) + +unix( + "shell commands can change directory after startup", + () => + Effect.gen(function* () { + const { directory: dir } = yield* TestInstance + const { prompt, run, chat } = yield* boot() + const parent = path.dirname(dir) + const result = yield* prompt.shell({ + sessionID: chat.id, + agent: "build", + command: "cd .. && pwd", + }) + + expect(result.info.role).toBe("assistant") + const tool = completedTool(result.parts) + if (!tool) return + + expect(tool.state.output).toContain(parent) + expect(tool.state.metadata.output).toContain(parent) + yield* run.assertNotBusy(chat.id) + }), + { git: true, config: cfg }, +) + +unix( + "shell lists files from the project directory", + () => + Effect.gen(function* () { + const { directory: dir } = yield* TestInstance + const { prompt, run, chat } = yield* boot() + yield* writeText(path.join(dir, "README.md"), "# e2e\n") + + const result = yield* prompt.shell({ + sessionID: chat.id, + agent: "build", + command: "command ls", + }) + + expect(result.info.role).toBe("assistant") + const tool = completedTool(result.parts) + if (!tool) return + + expect(tool.state.input.command).toBe("command ls") + expect(tool.state.output).toContain("README.md") + expect(tool.state.metadata.output).toContain("README.md") + yield* run.assertNotBusy(chat.id) + }), + { git: true, config: cfg }, +) + +unix( + "shell captures stderr from a failing command", + () => + Effect.gen(function* () { + const { prompt, run, chat } = yield* boot() + const result = yield* prompt.shell({ + sessionID: chat.id, + agent: "build", + command: "command -v __nonexistent_cmd_e2e__ || echo 'not found' >&2; exit 1", + }) + + expect(result.info.role).toBe("assistant") + const tool = completedTool(result.parts) + if (!tool) return + + expect(tool.state.output).toContain("not found") + expect(tool.state.metadata.output).toContain("not found") + yield* run.assertNotBusy(chat.id) + }), + { git: true, config: cfg }, +) + +unix( + "shell updates running metadata before process exit", + () => + withSh(() => + Effect.gen(function* () { + const { prompt, chat } = yield* boot() + + const fiber = yield* prompt + .shell({ sessionID: chat.id, agent: "build", command: "printf first && sleep 0.2 && printf second" }) + .pipe(Effect.forkChild) + + yield* pollWithTimeout( + Effect.gen(function* () { + const msgs = yield* MessageV2.filterCompactedEffect(chat.id) + const taskMsg = msgs.find((item) => item.info.role === "assistant") + const tool = taskMsg ? toolPart(taskMsg.parts) : undefined + if (tool?.state.status === "running" && tool.state.metadata?.output.includes("first")) return true + }), + "timed out waiting for running shell metadata", + ) + + const exit = yield* Fiber.await(fiber) + expect(Exit.isSuccess(exit)).toBe(true) + }), + ), + { git: true, config: cfg }, + 30_000, +) + +it.instance( + "loop waits while shell runs and starts after shell exits", + () => + Effect.gen(function* () { + const { llm } = yield* useServerConfig(providerCfg) + const prompt = yield* SessionPrompt.Service + const sessions = yield* Session.Service + const chat = yield* sessions.create({ + title: "Pinned", + permission: [{ permission: "*", pattern: "*", action: "allow" }], + }) + yield* llm.text("after-shell") + + const sh = yield* prompt + .shell({ sessionID: chat.id, agent: "build", command: "sleep 0.2" }) + .pipe(Effect.forkChild) + yield* Effect.sleep(50) + + const loop = yield* prompt.loop({ sessionID: chat.id }).pipe(Effect.forkChild) + yield* Effect.sleep(50) + + expect(yield* llm.calls).toBe(0) + + yield* Fiber.await(sh) + const exit = yield* Fiber.await(loop) + + expect(Exit.isSuccess(exit)).toBe(true) + if (Exit.isSuccess(exit)) { + expect(exit.value.info.role).toBe("assistant") + expect(exit.value.parts.some((part) => part.type === "text" && part.text === "after-shell")).toBe(true) + } + expect(yield* llm.calls).toBe(1) + }), + { git: true }, + 3_000, +) + +it.instance( + "shell completion resumes queued loop callers", + () => + Effect.gen(function* () { + const { llm } = yield* useServerConfig(providerCfg) + const prompt = yield* SessionPrompt.Service + const sessions = yield* Session.Service + const chat = yield* sessions.create({ + title: "Pinned", + permission: [{ permission: "*", pattern: "*", action: "allow" }], + }) + yield* llm.text("done") + + const sh = yield* prompt + .shell({ sessionID: chat.id, agent: "build", command: "sleep 0.2" }) + .pipe(Effect.forkChild) + yield* Effect.sleep(50) + + const a = yield* prompt.loop({ sessionID: chat.id }).pipe(Effect.forkChild) + const b = yield* prompt.loop({ sessionID: chat.id }).pipe(Effect.forkChild) + yield* Effect.sleep(50) + + expect(yield* llm.calls).toBe(0) + + yield* Fiber.await(sh) + const [ea, eb] = yield* Effect.all([Fiber.await(a), Fiber.await(b)]) + + expect(Exit.isSuccess(ea)).toBe(true) + expect(Exit.isSuccess(eb)).toBe(true) + if (Exit.isSuccess(ea) && Exit.isSuccess(eb)) { + expect(ea.value.info.id).toBe(eb.value.info.id) + expect(ea.value.info.role).toBe("assistant") + } + expect(yield* llm.calls).toBe(1) + }), + { git: true }, + 3_000, +) + +unix( + "command ! expansion uses configured shell over env shell", + () => + withSh(() => + Effect.gen(function* () { + if (!(yield* hasBash)) return + const { llm } = yield* useServerConfig((url) => ({ + ...providerCfg(url), + shell: "bash", + command: { + probe: { + template: "Probe: !`[[ 1 -eq 1 ]] && printf configured`", + }, + }, + })) + + const { prompt, chat } = yield* boot() + yield* llm.text("done") + + const result = yield* prompt.command({ + sessionID: chat.id, + command: "probe", + arguments: "", + }) + + expect(result.info.role).toBe("assistant") + const inputs = yield* llm.inputs + expect(JSON.stringify(inputs.at(-1)?.messages)).toContain("configured") + }), + ), + { git: true }, + 30_000, +) + +unix( + "cancel interrupts shell and resolves cleanly", + () => + withSh(() => + Effect.gen(function* () { + const { prompt, run, chat } = yield* boot() + + const sh = yield* prompt + .shell({ sessionID: chat.id, agent: "build", command: "sleep 30" }) + .pipe(Effect.forkChild) + yield* Effect.sleep(50) + + yield* prompt.cancel(chat.id) + + const status = yield* SessionStatus.Service + expect((yield* status.get(chat.id)).type).toBe("idle") + const busy = yield* run.assertNotBusy(chat.id).pipe(Effect.exit) + expect(Exit.isSuccess(busy)).toBe(true) + + const exit = yield* Fiber.await(sh) + expect(Exit.isSuccess(exit)).toBe(true) + if (Exit.isSuccess(exit)) { + expect(exit.value.info.role).toBe("assistant") + const tool = completedTool(exit.value.parts) + if (tool) { + expect(tool.state.output).toContain("User aborted the command") + } + } + }), + ), + { git: true, config: cfg }, + 30_000, +) + +unix( + "cancel persists aborted shell result when shell ignores TERM", + () => + withSh(() => + Effect.gen(function* () { + const { prompt, chat } = yield* boot() + + const sh = yield* prompt + .shell({ sessionID: chat.id, agent: "build", command: "trap '' TERM; sleep 30" }) + .pipe(Effect.forkChild) + yield* Effect.sleep(50) + + yield* prompt.cancel(chat.id) + + const exit = yield* Fiber.await(sh) + expect(Exit.isSuccess(exit)).toBe(true) + if (Exit.isSuccess(exit)) { + expect(exit.value.info.role).toBe("assistant") + const tool = completedTool(exit.value.parts) + if (tool) { + expect(tool.state.output).toContain("User aborted the command") + } + } + }), + ), + { git: true, config: cfg }, + 30_000, +) + +unix( + "cancel finalizes interrupted bash tool output through normal truncation", + () => + Effect.gen(function* () { + const { dir, llm } = yield* useServerConfig(providerCfg) + const prompt = yield* SessionPrompt.Service + const sessions = yield* Session.Service + const chat = yield* sessions.create({ + title: "Interrupted bash truncation", + permission: [{ permission: "*", pattern: "*", action: "allow" }], + }) + + yield* prompt.prompt({ + sessionID: chat.id, + agent: "build", + noReply: true, + parts: [{ type: "text", text: "run bash" }], + }) + + yield* llm.tool("bash", { + command: + 'i=0; while [ "$i" -lt 4000 ]; do printf "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx %05d\\n" "$i"; i=$((i + 1)); done; sleep 30', + description: "Print many lines", + timeout: 30_000, + workdir: path.resolve(dir), + }) + + const run = yield* prompt.loop({ sessionID: chat.id }).pipe(Effect.forkChild) + yield* llm.wait(1) + yield* Effect.sleep(150) + yield* prompt.cancel(chat.id) + + const exit = yield* Fiber.await(run) + expect(Exit.isSuccess(exit)).toBe(true) + if (Exit.isFailure(exit)) return + + const tool = completedTool(exit.value.parts) + if (!tool) return + + expect(tool.state.metadata.truncated).toBe(true) + expect(typeof tool.state.metadata.outputPath).toBe("string") + expect(tool.state.output).toMatch(/\.\.\.output truncated\.\.\./) + expect(tool.state.output).toMatch(/Full output saved to:\s+\S+/) + expect(tool.state.output).not.toContain("Tool execution aborted") + }), + { git: true }, + 30_000, +) + +unix( + "cancel interrupts loop queued behind shell", + () => + Effect.gen(function* () { + const { prompt, chat } = yield* boot() + + const sh = yield* prompt.shell({ sessionID: chat.id, agent: "build", command: "sleep 30" }).pipe(Effect.forkChild) + yield* Effect.sleep(50) + + const loop = yield* prompt.loop({ sessionID: chat.id }).pipe(Effect.forkChild) + yield* Effect.sleep(50) + + yield* prompt.cancel(chat.id) + + const exit = yield* Fiber.await(loop) + expect(Exit.isSuccess(exit)).toBe(true) + if (Exit.isSuccess(exit)) { + const tool = completedTool(exit.value.parts) + expect(tool?.state.output).toContain("User aborted the command") + } + + yield* Fiber.await(sh) + }), + { git: true, config: cfg }, + 30_000, +) + +unix( + "shell rejects when another shell is already running", + () => + withSh(() => + Effect.gen(function* () { + const { prompt, chat } = yield* boot() + + const a = yield* prompt + .shell({ sessionID: chat.id, agent: "build", command: "sleep 30" }) + .pipe(Effect.forkChild) + yield* Effect.sleep(50) const exit = yield* prompt.shell({ sessionID: chat.id, agent: "build", command: "echo hi" }).pipe(Effect.exit) expect(Exit.isFailure(exit)).toBe(true) @@ -1119,884 +1624,390 @@ it.live( } yield* prompt.cancel(chat.id) - yield* Fiber.await(fiber) + yield* Fiber.await(a) }), - { git: true, config: providerCfg }, - ), - 3_000, -) - -unix("shell captures stdout and stderr in completed tool output", () => - provideTmpdirInstance( - (_dir) => - Effect.gen(function* () { - const { prompt, run, chat } = yield* boot() - const result = yield* prompt.shell({ - sessionID: chat.id, - agent: "build", - command: "printf out && printf err >&2", - }) - - expect(result.info.role).toBe("assistant") - const tool = completedTool(result.parts) - if (!tool) return - - expect(tool.state.output).toContain("out") - expect(tool.state.output).toContain("err") - expect(tool.state.metadata.output).toContain("out") - expect(tool.state.metadata.output).toContain("err") - yield* run.assertNotBusy(chat.id) - }), - { git: true, config: cfg }, - ), -) - -unix("shell completes a fast command on the preferred shell", () => - provideTmpdirInstance( - (dir) => - Effect.gen(function* () { - const { prompt, run, chat } = yield* boot() - const result = yield* prompt.shell({ - sessionID: chat.id, - agent: "build", - command: "pwd", - }) - - expect(result.info.role).toBe("assistant") - const tool = completedTool(result.parts) - if (!tool) return - - expect(tool.state.input.command).toBe("pwd") - expect(tool.state.output).toContain(dir) - expect(tool.state.metadata.output).toContain(dir) - yield* run.assertNotBusy(chat.id) - }), - { git: true, config: cfg }, - ), -) - -unix( - "shell uses configured shell over env shell", - () => - withSh(() => - provideTmpdirInstance( - (_dir) => - Effect.gen(function* () { - if (!Bun.which("bash")) return - - const { prompt, chat } = yield* boot() - const result = yield* prompt.shell({ - sessionID: chat.id, - agent: "build", - command: "[[ 1 -eq 1 ]] && printf configured", - }) - - const tool = completedTool(result.parts) - if (!tool) return - expect(tool.state.output).toContain("configured") - }), - { git: true, config: { ...cfg, shell: "bash" } }, - ), - ), - 30_000, -) - -unix("shell commands can change directory after startup", () => - provideTmpdirInstance( - (dir) => - Effect.gen(function* () { - const { prompt, run, chat } = yield* boot() - const parent = path.dirname(dir) - const result = yield* prompt.shell({ - sessionID: chat.id, - agent: "build", - command: "cd .. && pwd", - }) - - expect(result.info.role).toBe("assistant") - const tool = completedTool(result.parts) - if (!tool) return - - expect(tool.state.output).toContain(parent) - expect(tool.state.metadata.output).toContain(parent) - yield* run.assertNotBusy(chat.id) - }), - { git: true, config: cfg }, - ), -) - -unix("shell lists files from the project directory", () => - provideTmpdirInstance( - (dir) => - Effect.gen(function* () { - const { prompt, run, chat } = yield* boot() - yield* Effect.promise(() => Bun.write(path.join(dir, "README.md"), "# e2e\n")) - - const result = yield* prompt.shell({ - sessionID: chat.id, - agent: "build", - command: "command ls", - }) - - expect(result.info.role).toBe("assistant") - const tool = completedTool(result.parts) - if (!tool) return - - expect(tool.state.input.command).toBe("command ls") - expect(tool.state.output).toContain("README.md") - expect(tool.state.metadata.output).toContain("README.md") - yield* run.assertNotBusy(chat.id) - }), - { git: true, config: cfg }, - ), -) - -unix("shell captures stderr from a failing command", () => - provideTmpdirInstance( - (_dir) => - Effect.gen(function* () { - const { prompt, run, chat } = yield* boot() - const result = yield* prompt.shell({ - sessionID: chat.id, - agent: "build", - command: "command -v __nonexistent_cmd_e2e__ || echo 'not found' >&2; exit 1", - }) - - expect(result.info.role).toBe("assistant") - const tool = completedTool(result.parts) - if (!tool) return - - expect(tool.state.output).toContain("not found") - expect(tool.state.metadata.output).toContain("not found") - yield* run.assertNotBusy(chat.id) - }), - { git: true, config: cfg }, - ), -) - -unix( - "shell updates running metadata before process exit", - () => - withSh(() => - provideTmpdirInstance( - (_dir) => - Effect.gen(function* () { - const { prompt, chat } = yield* boot() - - const fiber = yield* prompt - .shell({ sessionID: chat.id, agent: "build", command: "printf first && sleep 0.2 && printf second" }) - .pipe(Effect.forkChild) - - yield* Effect.promise(async () => { - const start = Date.now() - while (Date.now() - start < 5000) { - const msgs = await MessageV2.filterCompacted(MessageV2.stream(chat.id)) - const taskMsg = msgs.find((item) => item.info.role === "assistant") - const tool = taskMsg ? toolPart(taskMsg.parts) : undefined - if (tool?.state.status === "running" && tool.state.metadata?.output.includes("first")) return - await new Promise((done) => setTimeout(done, 20)) - } - throw new Error("timed out waiting for running shell metadata") - }) - - const exit = yield* Fiber.await(fiber) - expect(Exit.isSuccess(exit)).toBe(true) - }), - { git: true, config: cfg }, - ), - ), - 30_000, -) - -it.live( - "loop waits while shell runs and starts after shell exits", - () => - provideTmpdirServer( - Effect.fnUntraced(function* ({ llm }) { - const prompt = yield* SessionPrompt.Service - const sessions = yield* Session.Service - const chat = yield* sessions.create({ - title: "Pinned", - permission: [{ permission: "*", pattern: "*", action: "allow" }], - }) - yield* llm.text("after-shell") - - const sh = yield* prompt - .shell({ sessionID: chat.id, agent: "build", command: "sleep 0.2" }) - .pipe(Effect.forkChild) - yield* Effect.sleep(50) - - const loop = yield* prompt.loop({ sessionID: chat.id }).pipe(Effect.forkChild) - yield* Effect.sleep(50) - - expect(yield* llm.calls).toBe(0) - - yield* Fiber.await(sh) - const exit = yield* Fiber.await(loop) - - expect(Exit.isSuccess(exit)).toBe(true) - if (Exit.isSuccess(exit)) { - expect(exit.value.info.role).toBe("assistant") - expect(exit.value.parts.some((part) => part.type === "text" && part.text === "after-shell")).toBe(true) - } - expect(yield* llm.calls).toBe(1) - }), - { git: true, config: providerCfg }, - ), - 3_000, -) - -it.live( - "shell completion resumes queued loop callers", - () => - provideTmpdirServer( - Effect.fnUntraced(function* ({ llm }) { - const prompt = yield* SessionPrompt.Service - const sessions = yield* Session.Service - const chat = yield* sessions.create({ - title: "Pinned", - permission: [{ permission: "*", pattern: "*", action: "allow" }], - }) - yield* llm.text("done") - - const sh = yield* prompt - .shell({ sessionID: chat.id, agent: "build", command: "sleep 0.2" }) - .pipe(Effect.forkChild) - yield* Effect.sleep(50) - - const a = yield* prompt.loop({ sessionID: chat.id }).pipe(Effect.forkChild) - const b = yield* prompt.loop({ sessionID: chat.id }).pipe(Effect.forkChild) - yield* Effect.sleep(50) - - expect(yield* llm.calls).toBe(0) - - yield* Fiber.await(sh) - const [ea, eb] = yield* Effect.all([Fiber.await(a), Fiber.await(b)]) - - expect(Exit.isSuccess(ea)).toBe(true) - expect(Exit.isSuccess(eb)).toBe(true) - if (Exit.isSuccess(ea) && Exit.isSuccess(eb)) { - expect(ea.value.info.id).toBe(eb.value.info.id) - expect(ea.value.info.role).toBe("assistant") - } - expect(yield* llm.calls).toBe(1) - }), - { git: true, config: providerCfg }, - ), - 3_000, -) - -unix( - "command ! expansion uses configured shell over env shell", - () => - withSh(() => - provideTmpdirServer( - ({ llm }) => - Effect.gen(function* () { - if (!Bun.which("bash")) return - - const { prompt, chat } = yield* boot() - yield* llm.text("done") - - const result = yield* prompt.command({ - sessionID: chat.id, - command: "probe", - arguments: "", - }) - - expect(result.info.role).toBe("assistant") - const inputs = yield* llm.inputs - expect(JSON.stringify(inputs.at(-1)?.messages)).toContain("configured") - }), - { - git: true, - config: (url) => ({ - ...providerCfg(url), - shell: "bash", - command: { - probe: { - template: "Probe: !`[[ 1 -eq 1 ]] && printf configured`", - }, - }, - }), - }, - ), - ), - 30_000, -) - -unix( - "cancel interrupts shell and resolves cleanly", - () => - withSh(() => - provideTmpdirInstance( - (_dir) => - Effect.gen(function* () { - const { prompt, run, chat } = yield* boot() - - const sh = yield* prompt - .shell({ sessionID: chat.id, agent: "build", command: "sleep 30" }) - .pipe(Effect.forkChild) - yield* Effect.sleep(50) - - yield* prompt.cancel(chat.id) - - const status = yield* SessionStatus.Service - expect((yield* status.get(chat.id)).type).toBe("idle") - const busy = yield* run.assertNotBusy(chat.id).pipe(Effect.exit) - expect(Exit.isSuccess(busy)).toBe(true) - - const exit = yield* Fiber.await(sh) - expect(Exit.isSuccess(exit)).toBe(true) - if (Exit.isSuccess(exit)) { - expect(exit.value.info.role).toBe("assistant") - const tool = completedTool(exit.value.parts) - if (tool) { - expect(tool.state.output).toContain("User aborted the command") - } - } - }), - { git: true, config: cfg }, - ), - ), - 30_000, -) - -unix( - "cancel persists aborted shell result when shell ignores TERM", - () => - withSh(() => - provideTmpdirInstance( - (_dir) => - Effect.gen(function* () { - const { prompt, chat } = yield* boot() - - const sh = yield* prompt - .shell({ sessionID: chat.id, agent: "build", command: "trap '' TERM; sleep 30" }) - .pipe(Effect.forkChild) - yield* Effect.sleep(50) - - yield* prompt.cancel(chat.id) - - const exit = yield* Fiber.await(sh) - expect(Exit.isSuccess(exit)).toBe(true) - if (Exit.isSuccess(exit)) { - expect(exit.value.info.role).toBe("assistant") - const tool = completedTool(exit.value.parts) - if (tool) { - expect(tool.state.output).toContain("User aborted the command") - } - } - }), - { git: true, config: cfg }, - ), - ), - 30_000, -) - -unix( - "cancel finalizes interrupted bash tool output through normal truncation", - () => - provideTmpdirServer( - ({ dir, llm }) => - Effect.gen(function* () { - const prompt = yield* SessionPrompt.Service - const sessions = yield* Session.Service - const chat = yield* sessions.create({ - title: "Interrupted bash truncation", - permission: [{ permission: "*", pattern: "*", action: "allow" }], - }) - - yield* prompt.prompt({ - sessionID: chat.id, - agent: "build", - noReply: true, - parts: [{ type: "text", text: "run bash" }], - }) - - yield* llm.tool("bash", { - command: - 'i=0; while [ "$i" -lt 4000 ]; do printf "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx %05d\\n" "$i"; i=$((i + 1)); done; sleep 30', - description: "Print many lines", - timeout: 30_000, - workdir: path.resolve(dir), - }) - - const run = yield* prompt.loop({ sessionID: chat.id }).pipe(Effect.forkChild) - yield* llm.wait(1) - yield* Effect.sleep(150) - yield* prompt.cancel(chat.id) - - const exit = yield* Fiber.await(run) - expect(Exit.isSuccess(exit)).toBe(true) - if (Exit.isFailure(exit)) return - - const tool = completedTool(exit.value.parts) - if (!tool) return - - expect(tool.state.metadata.truncated).toBe(true) - expect(typeof tool.state.metadata.outputPath).toBe("string") - expect(tool.state.output).toMatch(/\.\.\.output truncated\.\.\./) - expect(tool.state.output).toMatch(/Full output saved to:\s+\S+/) - expect(tool.state.output).not.toContain("Tool execution aborted") - }), - { git: true, config: providerCfg }, - ), - 30_000, -) - -unix( - "cancel interrupts loop queued behind shell", - () => - provideTmpdirInstance( - (_dir) => - Effect.gen(function* () { - const { prompt, chat } = yield* boot() - - const sh = yield* prompt - .shell({ sessionID: chat.id, agent: "build", command: "sleep 30" }) - .pipe(Effect.forkChild) - yield* Effect.sleep(50) - - const loop = yield* prompt.loop({ sessionID: chat.id }).pipe(Effect.forkChild) - yield* Effect.sleep(50) - - yield* prompt.cancel(chat.id) - - const exit = yield* Fiber.await(loop) - expect(Exit.isSuccess(exit)).toBe(true) - if (Exit.isSuccess(exit)) { - const tool = completedTool(exit.value.parts) - expect(tool?.state.output).toContain("User aborted the command") - } - - yield* Fiber.await(sh) - }), - { git: true, config: cfg }, - ), - 30_000, -) - -unix( - "shell rejects when another shell is already running", - () => - withSh(() => - provideTmpdirInstance( - (_dir) => - Effect.gen(function* () { - const { prompt, chat } = yield* boot() - - const a = yield* prompt - .shell({ sessionID: chat.id, agent: "build", command: "sleep 30" }) - .pipe(Effect.forkChild) - yield* Effect.sleep(50) - - const exit = yield* prompt - .shell({ sessionID: chat.id, agent: "build", command: "echo hi" }) - .pipe(Effect.exit) - expect(Exit.isFailure(exit)).toBe(true) - if (Exit.isFailure(exit)) { - expect(Cause.squash(exit.cause)).toBeInstanceOf(Session.BusyError) - } - - yield* prompt.cancel(chat.id) - yield* Fiber.await(a) - }), - { git: true, config: cfg }, - ), ), + { git: true, config: cfg }, 30_000, ) // Abort signal propagation tests for inline tool execution -/** Override a tool's execute to hang until aborted. Returns ready/aborted defers and a finalizer. */ function hangUntilAborted(tool: { execute: (...args: any[]) => any }) { - const ready = defer() - const aborted = defer() - const original = tool.execute - tool.execute = (_args: any, ctx: any) => { - ready.resolve() - ctx.abort.addEventListener("abort", () => aborted.resolve(), { once: true }) - return Effect.callback(() => {}) - } - const restore = Effect.addFinalizer(() => Effect.sync(() => void (tool.execute = original))) - return { ready, aborted, restore } + return Effect.gen(function* () { + const ready = yield* Deferred.make() + const aborted = yield* Deferred.make() + const original = tool.execute + tool.execute = (_args: any, ctx: any) => { + ctx.abort.addEventListener("abort", () => succeedVoid(aborted), { once: true }) + if (ctx.abort.aborted) succeedVoid(aborted) + succeedVoid(ready) + return Effect.callback(() => Effect.sync(() => succeedVoid(aborted))) + } + const restore = Effect.addFinalizer(() => Effect.sync(() => void (tool.execute = original))) + return { ready, aborted, restore } + }) } -it.live( +it.instance( "interrupt propagates abort signal to read tool via file part (text/plain)", () => - provideTmpdirInstance( - (dir) => - Effect.gen(function* () { - const registry = yield* ToolRegistry.Service - const { read } = yield* registry.named() - const { ready, aborted, restore } = hangUntilAborted(read) - yield* restore + Effect.gen(function* () { + const { directory: dir } = yield* TestInstance + const registry = yield* ToolRegistry.Service + const { read } = yield* registry.named() + const { ready, restore } = yield* hangUntilAborted(read) + yield* restore - const prompt = yield* SessionPrompt.Service - const sessions = yield* Session.Service - const chat = yield* sessions.create({ title: "Abort Test" }) + const prompt = yield* SessionPrompt.Service + const sessions = yield* Session.Service + const chat = yield* sessions.create({ title: "Abort Test" }) - const testFile = path.join(dir, "test.txt") - yield* Effect.promise(() => Bun.write(testFile, "hello world")) + const testFile = path.join(dir, "test.txt") + yield* writeText(testFile, "hello world") - const fiber = yield* prompt - .prompt({ - sessionID: chat.id, - agent: "build", - parts: [ - { type: "text", text: "read this" }, - { type: "file", url: `file://${testFile}`, filename: "test.txt", mime: "text/plain" }, - ], - }) - .pipe(Effect.forkChild) + const fiber = yield* prompt + .prompt({ + sessionID: chat.id, + agent: "build", + parts: [ + { type: "text", text: "read this" }, + { type: "file", url: `file://${testFile}`, filename: "test.txt", mime: "text/plain" }, + ], + }) + .pipe(Effect.forkChild) - yield* Effect.promise(() => ready.promise) - yield* Fiber.interrupt(fiber) - - yield* Effect.promise(() => - Promise.race([ - aborted.promise, - new Promise((_, reject) => - setTimeout(() => reject(new Error("abort signal not propagated within 2s")), 2_000), - ), - ]), - ) - }), - { git: true, config: cfg }, - ), + yield* awaitWithTimeout(Deferred.await(ready), "timed out waiting for read tool to start", "10 seconds") + yield* prompt.cancel(chat.id) + yield* Fiber.interrupt(fiber) + const exit = yield* Fiber.await(fiber) + expect(Exit.isFailure(exit)).toBe(true) + }), + { git: true, config: cfg }, 30_000, ) -it.live( +it.instance( "interrupt propagates abort signal to read tool via file part (directory)", () => - provideTmpdirInstance( - (dir) => - Effect.gen(function* () { - const registry = yield* ToolRegistry.Service - const { read } = yield* registry.named() - const { ready, aborted, restore } = hangUntilAborted(read) - yield* restore + Effect.gen(function* () { + const { directory: dir } = yield* TestInstance + const registry = yield* ToolRegistry.Service + const { read } = yield* registry.named() + const { ready, restore } = yield* hangUntilAborted(read) + yield* restore - const prompt = yield* SessionPrompt.Service - const sessions = yield* Session.Service - const chat = yield* sessions.create({ title: "Abort Test" }) + const prompt = yield* SessionPrompt.Service + const sessions = yield* Session.Service + const chat = yield* sessions.create({ title: "Abort Test" }) - const fiber = yield* prompt - .prompt({ - sessionID: chat.id, - agent: "build", - parts: [ - { type: "text", text: "read this" }, - { type: "file", url: `file://${dir}`, filename: "dir", mime: "application/x-directory" }, - ], - }) - .pipe(Effect.forkChild) + const fiber = yield* prompt + .prompt({ + sessionID: chat.id, + agent: "build", + parts: [ + { type: "text", text: "read this" }, + { type: "file", url: `file://${dir}`, filename: "dir", mime: "application/x-directory" }, + ], + }) + .pipe(Effect.forkChild) - yield* Effect.promise(() => ready.promise) - yield* Fiber.interrupt(fiber) - - yield* Effect.promise(() => - Promise.race([ - aborted.promise, - new Promise((_, reject) => - setTimeout(() => reject(new Error("abort signal not propagated within 2s")), 2_000), - ), - ]), - ) - }), - { git: true, config: cfg }, - ), + yield* awaitWithTimeout(Deferred.await(ready), "timed out waiting for read tool to start", "10 seconds") + yield* prompt.cancel(chat.id) + yield* Fiber.interrupt(fiber) + const exit = yield* Fiber.await(fiber) + expect(Exit.isFailure(exit)).toBe(true) + }), + { git: true, config: cfg }, 30_000, ) // Missing file handling -it.live("does not fail the prompt when a file part is missing", () => - provideTmpdirInstance( - (dir) => - Effect.gen(function* () { - const prompt = yield* SessionPrompt.Service - const sessions = yield* Session.Service - const session = yield* sessions.create({}) +it.instance( + "does not fail the prompt when a file part is missing", + () => + Effect.gen(function* () { + const { directory: dir } = yield* TestInstance + const prompt = yield* SessionPrompt.Service + const sessions = yield* Session.Service + const session = yield* sessions.create({}) - const missing = path.join(dir, "does-not-exist.ts") - const msg = yield* prompt.prompt({ - sessionID: session.id, - agent: "build", - noReply: true, - parts: [ - { type: "text", text: "please review @does-not-exist.ts" }, - { - type: "file", - mime: "text/plain", - url: `file://${missing}`, - filename: "does-not-exist.ts", - }, - ], - }) + const missing = path.join(dir, "does-not-exist.ts") + const msg = yield* prompt.prompt({ + sessionID: session.id, + agent: "build", + noReply: true, + parts: [ + { type: "text", text: "please review @does-not-exist.ts" }, + { + type: "file", + mime: "text/plain", + url: `file://${missing}`, + filename: "does-not-exist.ts", + }, + ], + }) - if (msg.info.role !== "user") throw new Error("expected user message") - const hasFailure = msg.parts.some( - (part) => part.type === "text" && part.synthetic && part.text.includes("Read tool failed to read"), - ) - expect(hasFailure).toBe(true) + if (msg.info.role !== "user") throw new Error("expected user message") + const hasFailure = msg.parts.some( + (part) => part.type === "text" && part.synthetic && part.text.includes("Read tool failed to read"), + ) + expect(hasFailure).toBe(true) - yield* sessions.remove(session.id) - }), - { git: true, config: cfg }, - ), + yield* sessions.remove(session.id) + }), + { git: true, config: cfg }, ) -it.live("keeps stored part order stable when file resolution is async", () => - provideTmpdirInstance( - (dir) => - Effect.gen(function* () { - const prompt = yield* SessionPrompt.Service - const sessions = yield* Session.Service - const session = yield* sessions.create({}) +it.instance( + "keeps stored part order stable when file resolution is async", + () => + Effect.gen(function* () { + const { directory: dir } = yield* TestInstance + const prompt = yield* SessionPrompt.Service + const sessions = yield* Session.Service + const session = yield* sessions.create({}) - const missing = path.join(dir, "still-missing.ts") - const msg = yield* prompt.prompt({ - sessionID: session.id, - agent: "build", - noReply: true, - parts: [ - { - type: "file", - mime: "text/plain", - url: `file://${missing}`, - filename: "still-missing.ts", - }, - { type: "text", text: "after-file" }, - ], - }) + const missing = path.join(dir, "still-missing.ts") + const msg = yield* prompt.prompt({ + sessionID: session.id, + agent: "build", + noReply: true, + parts: [ + { + type: "file", + mime: "text/plain", + url: `file://${missing}`, + filename: "still-missing.ts", + }, + { type: "text", text: "after-file" }, + ], + }) - if (msg.info.role !== "user") throw new Error("expected user message") + if (msg.info.role !== "user") throw new Error("expected user message") - const stored = MessageV2.get({ - sessionID: session.id, - messageID: msg.info.id, - }) - const text = stored.parts.filter((part) => part.type === "text").map((part) => part.text) + const stored = MessageV2.get({ + sessionID: session.id, + messageID: msg.info.id, + }) + const text = stored.parts.filter((part) => part.type === "text").map((part) => part.text) - expect(text[0]?.startsWith("Called the Read tool with the following input:")).toBe(true) - expect(text[1]?.includes("Read tool failed to read")).toBe(true) - expect(text[2]).toBe("after-file") + expect(text[0]?.startsWith("Called the Read tool with the following input:")).toBe(true) + expect(text[1]?.includes("Read tool failed to read")).toBe(true) + expect(text[2]).toBe("after-file") - yield* sessions.remove(session.id) - }), - { git: true, config: cfg }, - ), + yield* sessions.remove(session.id) + }), + { git: true, config: cfg }, ) -it.live("resolves configured reference mentions before workspace paths and agents", () => - provideTmpdirInstance( - (dir) => - Effect.gen(function* () { - const docs = path.join(dir, "external-docs") - yield* Effect.promise(() => fs.mkdir(path.join(docs, "guide"), { recursive: true })) - yield* Effect.promise(() => fs.mkdir(path.join(dir, "docs"), { recursive: true })) - yield* Effect.promise(() => Bun.write(path.join(docs, "README.md"), "reference readme")) - yield* Effect.promise(() => Bun.write(path.join(docs, "guide", "intro.md"), "reference intro")) - yield* Effect.promise(() => Bun.write(path.join(dir, "docs", "README.md"), "workspace readme")) +it.instance( + "resolves configured reference mentions before workspace paths and agents", + () => + Effect.gen(function* () { + const { directory: dir } = yield* TestInstance + const docs = path.join(dir, "external-docs") + yield* ensureDir(path.join(docs, "guide")) + yield* ensureDir(path.join(dir, "docs")) + yield* writeText(path.join(docs, "README.md"), "reference readme") + yield* writeText(path.join(docs, "guide", "intro.md"), "reference intro") + yield* writeText(path.join(dir, "docs", "README.md"), "workspace readme") - const prompt = yield* SessionPrompt.Service - const parts = yield* prompt.resolvePromptParts( - "Use @docs and @docs/README.md and @docs/guide and @docs/missing.md and @docs/README.md and @build", - ) - const references = parts.filter( - (part): part is MessageV2.TextPartInput => - part.type === "text" && part.synthetic === true && part.text.startsWith("Referenced configured reference "), - ) - const files = parts.filter((part): part is MessageV2.FilePartInput => part.type === "file") - const agents = parts.filter((part): part is MessageV2.AgentPartInput => part.type === "agent") - const bare = references.find((part) => part.text.includes("@docs.")) - const missing = references.find((part) => part.text.includes("@docs/missing.md")) - const guide = files.find((part) => part.filename === "docs/guide") + const prompt = yield* SessionPrompt.Service + const parts = yield* prompt.resolvePromptParts( + "Use @docs and @docs/README.md and @docs/guide and @docs/missing.md and @docs/README.md and @build", + ) + const references = parts.filter( + (part): part is MessageV2.TextPartInput => + part.type === "text" && part.synthetic === true && part.text.startsWith("Referenced configured reference "), + ) + const files = parts.filter((part): part is MessageV2.FilePartInput => part.type === "file") + const agents = parts.filter((part): part is MessageV2.AgentPartInput => part.type === "agent") + const bare = references.find((part) => part.text.includes("@docs.")) + const missing = references.find((part) => part.text.includes("@docs/missing.md")) + const guide = files.find((part) => part.filename === "docs/guide") - expect(references.length).toBe(2) - expect(bare?.metadata?.reference).toMatchObject({ - name: "docs", - kind: "local", - path: docs, - }) - expect(missing?.text).toContain("Path does not exist inside configured reference @docs") - expect(missing?.metadata?.reference).toMatchObject({ - target: "missing.md", - targetPath: path.join(docs, "missing.md"), - }) + expect(references.length).toBe(2) + expect(bare?.metadata?.reference).toMatchObject({ + name: "docs", + kind: "local", + path: docs, + }) + expect(missing?.text).toContain("Path does not exist inside configured reference @docs") + expect(missing?.metadata?.reference).toMatchObject({ + target: "missing.md", + targetPath: path.join(docs, "missing.md"), + }) - expect(files.length).toBe(2) - expect(files.map((file) => fileURLToPath(file.url)).sort()).toEqual( - [path.join(docs, "README.md"), path.join(docs, "guide")].sort(), - ) - expect(guide?.mime).toBe("application/x-directory") - expect(agents.map((agent) => agent.name)).toEqual(["build"]) - }), - { - git: true, - config: { - ...cfg, - reference: { - docs: "./external-docs", - }, + expect(files.length).toBe(2) + expect(files.map((file) => fileURLToPath(file.url)).sort()).toEqual( + [path.join(docs, "README.md"), path.join(docs, "guide")].sort(), + ) + expect(guide?.mime).toBe("application/x-directory") + expect(agents.map((agent) => agent.name)).toEqual(["build"]) + }), + { + git: true, + config: { + ...cfg, + reference: { + docs: "./external-docs", }, }, - ), + }, ) -it.live("injects metadata for bare configured reference mentions", () => - provideTmpdirInstance( - (dir) => - Effect.gen(function* () { - const docs = path.join(dir, "external-docs") - yield* Effect.promise(() => fs.mkdir(docs, { recursive: true })) +it.instance( + "injects metadata for bare configured reference mentions", + () => + Effect.gen(function* () { + const { directory: dir } = yield* TestInstance + const docs = path.join(dir, "external-docs") + yield* ensureDir(docs) - const prompt = yield* SessionPrompt.Service - const sessions = yield* Session.Service - const session = yield* sessions.create({}) - const message = yield* prompt.prompt({ - sessionID: session.id, - noReply: true, - parts: yield* prompt.resolvePromptParts("Use @docs for context"), - }) + const prompt = yield* SessionPrompt.Service + const sessions = yield* Session.Service + const session = yield* sessions.create({}) + const message = yield* prompt.prompt({ + sessionID: session.id, + noReply: true, + parts: yield* prompt.resolvePromptParts("Use @docs for context"), + }) - const stored = MessageV2.get({ sessionID: session.id, messageID: message.info.id }) - const synthetic = stored.parts.filter( - (part): part is MessageV2.TextPart => part.type === "text" && part.synthetic === true, - ) - const reference = synthetic.find((part) => part.text.startsWith("Referenced configured reference @docs.")) + const stored = MessageV2.get({ sessionID: session.id, messageID: message.info.id }) + const synthetic = stored.parts.filter( + (part): part is MessageV2.TextPart => part.type === "text" && part.synthetic === true, + ) + const reference = synthetic.find((part) => part.text.startsWith("Referenced configured reference @docs.")) - expect(reference?.metadata?.reference).toMatchObject({ name: "docs", kind: "local", path: docs }) - expect(synthetic.some((part) => part.text.includes(`Reference root: ${docs}`))).toBe(true) - expect(synthetic.some((part) => part.text.includes("subagent scout"))).toBe(true) + expect(reference?.metadata?.reference).toMatchObject({ name: "docs", kind: "local", path: docs }) + expect(synthetic.some((part) => part.text.includes(`Reference root: ${docs}`))).toBe(true) + expect(synthetic.some((part) => part.text.includes("subagent scout"))).toBe(true) - yield* sessions.remove(session.id) - }), - { - git: true, - config: { - ...cfg, - reference: { - docs: "./external-docs", - }, + yield* sessions.remove(session.id) + }), + { + git: true, + config: { + ...cfg, + reference: { + docs: "./external-docs", }, }, - ), + }, ) -it.live("injects metadata for configured reference file attachments", () => - provideTmpdirInstance( - (dir) => - Effect.gen(function* () { - const docs = path.join(dir, "external-docs") - const readme = path.join(docs, "README.md") - yield* Effect.promise(() => fs.mkdir(docs, { recursive: true })) - yield* Effect.promise(() => Bun.write(readme, "reference readme")) +it.instance( + "injects metadata for configured reference file attachments", + () => + Effect.gen(function* () { + const { directory: dir } = yield* TestInstance + const docs = path.join(dir, "external-docs") + const readme = path.join(docs, "README.md") + yield* ensureDir(docs) + yield* writeText(readme, "reference readme") - const prompt = yield* SessionPrompt.Service - const sessions = yield* Session.Service - const session = yield* sessions.create({}) - const message = yield* prompt.prompt({ - sessionID: session.id, - agent: "build", - noReply: true, - parts: [ - { type: "text", text: "Read @docs/README.md" }, - { + const prompt = yield* SessionPrompt.Service + const sessions = yield* Session.Service + const session = yield* sessions.create({}) + const message = yield* prompt.prompt({ + sessionID: session.id, + agent: "build", + noReply: true, + parts: [ + { type: "text", text: "Read @docs/README.md" }, + { + type: "file", + mime: "text/plain", + filename: "docs/README.md", + url: pathToFileURL(readme).href, + source: { type: "file", - mime: "text/plain", - filename: "docs/README.md", - url: pathToFileURL(readme).href, - source: { - type: "file", - path: "docs/README.md", - text: { value: "@docs/README.md", start: 5, end: 20 }, - }, + path: "docs/README.md", + text: { value: "@docs/README.md", start: 5, end: 20 }, }, - ], - }) + }, + ], + }) - const stored = MessageV2.get({ sessionID: session.id, messageID: message.info.id }) - const synthetic = stored.parts.filter( - (part): part is MessageV2.TextPart => part.type === "text" && part.synthetic === true, - ) - const reference = synthetic.find((part) => - part.text.startsWith("Referenced configured reference @docs/README.md."), - ) + const stored = MessageV2.get({ sessionID: session.id, messageID: message.info.id }) + const synthetic = stored.parts.filter( + (part): part is MessageV2.TextPart => part.type === "text" && part.synthetic === true, + ) + const reference = synthetic.find((part) => + part.text.startsWith("Referenced configured reference @docs/README.md."), + ) - expect(reference?.metadata?.reference).toMatchObject({ - name: "docs", - kind: "local", - path: docs, - target: "README.md", - targetPath: readme, - source: { value: "@docs/README.md", start: 5, end: 20 }, - }) - expect(synthetic.findIndex((part) => part === reference)).toBeLessThan( - synthetic.findIndex((part) => part.text.startsWith("Called the Read tool with the following input:")), - ) + expect(reference?.metadata?.reference).toMatchObject({ + name: "docs", + kind: "local", + path: docs, + target: "README.md", + targetPath: readme, + source: { value: "@docs/README.md", start: 5, end: 20 }, + }) + expect(synthetic.findIndex((part) => part === reference)).toBeLessThan( + synthetic.findIndex((part) => part.text.startsWith("Called the Read tool with the following input:")), + ) - yield* sessions.remove(session.id) - }), - { - git: true, - config: { - ...cfg, - reference: { - docs: "./external-docs", - }, + yield* sessions.remove(session.id) + }), + { + git: true, + config: { + ...cfg, + reference: { + docs: "./external-docs", }, }, - ), + }, ) // Special characters in filenames -it.live("handles filenames with # character", () => - provideTmpdirInstance( - (dir) => - Effect.gen(function* () { - yield* Effect.promise(() => Bun.write(path.join(dir, "file#name.txt"), "special content\n")) +it.instance( + "handles filenames with # character", + () => + Effect.gen(function* () { + const { directory: dir } = yield* TestInstance + yield* writeText(path.join(dir, "file#name.txt"), "special content\n") - const prompt = yield* SessionPrompt.Service - const sessions = yield* Session.Service - const session = yield* sessions.create({}) - const parts = yield* prompt.resolvePromptParts("Read @file#name.txt") - const fileParts = parts.filter((part) => part.type === "file") + const prompt = yield* SessionPrompt.Service + const sessions = yield* Session.Service + const session = yield* sessions.create({}) + const parts = yield* prompt.resolvePromptParts("Read @file#name.txt") + const fileParts = parts.filter((part) => part.type === "file") - expect(fileParts.length).toBe(1) - expect(fileParts[0].filename).toBe("file#name.txt") - expect(fileParts[0].url).toContain("%23") + expect(fileParts.length).toBe(1) + expect(fileParts[0].filename).toBe("file#name.txt") + expect(fileParts[0].url).toContain("%23") - const decodedPath = fileURLToPath(fileParts[0].url) - expect(decodedPath).toBe(path.join(dir, "file#name.txt")) + const decodedPath = fileURLToPath(fileParts[0].url) + expect(decodedPath).toBe(path.join(dir, "file#name.txt")) - const message = yield* prompt.prompt({ - sessionID: session.id, - parts, - noReply: true, - }) - const stored = MessageV2.get({ sessionID: session.id, messageID: message.info.id }) - const textParts = stored.parts.filter((part) => part.type === "text") - const hasContent = textParts.some((part) => part.text.includes("special content")) - expect(hasContent).toBe(true) + const message = yield* prompt.prompt({ + sessionID: session.id, + parts, + noReply: true, + }) + const stored = MessageV2.get({ sessionID: session.id, messageID: message.info.id }) + const textParts = stored.parts.filter((part) => part.type === "text") + const hasContent = textParts.some((part) => part.text.includes("special content")) + expect(hasContent).toBe(true) - yield* sessions.remove(session.id) - }), - { git: true, config: cfg }, - ), + yield* sessions.remove(session.id) + }), + { git: true, config: cfg }, ) // Regression: empty assistant turn loop -it.live("does not loop empty assistant turns for a simple reply", () => - provideTmpdirServer( - Effect.fnUntraced(function* ({ llm }) { +it.instance( + "does not loop empty assistant turns for a simple reply", + () => + Effect.gen(function* () { + const { llm } = yield* useServerConfig(providerCfg) const prompt = yield* SessionPrompt.Service const sessions = yield* Session.Service const session = yield* sessions.create({ title: "Prompt regression" }) @@ -2016,222 +2027,210 @@ it.live("does not loop empty assistant turns for a simple reply", () => expect(msgs.filter((msg) => msg.info.role === "assistant")).toHaveLength(1) expect(yield* llm.calls).toBe(1) }), - { git: true, config: providerCfg }, - ), + { git: true }, ) -it.live( +it.instance( "records aborted errors when prompt is cancelled mid-stream", () => - provideTmpdirServer( - Effect.fnUntraced(function* ({ llm }) { - const prompt = yield* SessionPrompt.Service - const sessions = yield* Session.Service - const session = yield* sessions.create({ title: "Prompt cancel regression" }) + Effect.gen(function* () { + const { llm } = yield* useServerConfig(providerCfg) + const prompt = yield* SessionPrompt.Service + const sessions = yield* Session.Service + const session = yield* sessions.create({ title: "Prompt cancel regression" }) - yield* llm.hang + yield* llm.hang - const fiber = yield* prompt - .prompt({ - sessionID: session.id, - agent: "build", - parts: [{ type: "text", text: "Cancel me" }], - }) - .pipe(Effect.forkChild) + const fiber = yield* prompt + .prompt({ + sessionID: session.id, + agent: "build", + parts: [{ type: "text", text: "Cancel me" }], + }) + .pipe(Effect.forkChild) - yield* llm.wait(1) - yield* prompt.cancel(session.id) + yield* llm.wait(1) + yield* prompt.cancel(session.id) - const exit = yield* Fiber.await(fiber) - expect(Exit.isSuccess(exit)).toBe(true) - if (Exit.isSuccess(exit)) { - expect(exit.value.info.role).toBe("assistant") - if (exit.value.info.role === "assistant") { - expect(exit.value.info.error?.name).toBe("MessageAbortedError") - } + const exit = yield* Fiber.await(fiber) + expect(Exit.isSuccess(exit)).toBe(true) + if (Exit.isSuccess(exit)) { + expect(exit.value.info.role).toBe("assistant") + if (exit.value.info.role === "assistant") { + expect(exit.value.info.error?.name).toBe("MessageAbortedError") } + } - const msgs = yield* sessions.messages({ sessionID: session.id }) - const last = msgs.findLast((msg) => msg.info.role === "assistant") - expect(last?.info.role).toBe("assistant") - if (last?.info.role === "assistant") { - expect(last.info.error?.name).toBe("MessageAbortedError") - } - }), - { git: true, config: providerCfg }, - ), + const msgs = yield* sessions.messages({ sessionID: session.id }) + const last = msgs.findLast((msg) => msg.info.role === "assistant") + expect(last?.info.role).toBe("assistant") + if (last?.info.role === "assistant") { + expect(last.info.error?.name).toBe("MessageAbortedError") + } + }), + { git: true }, 3_000, ) // Agent variant -it.live("applies agent variant only when using agent model", () => - provideTmpdirInstance( - (_dir) => - Effect.gen(function* () { - const prompt = yield* SessionPrompt.Service - const sessions = yield* Session.Service - const session = yield* sessions.create({}) +it.instance( + "applies agent variant only when using agent model", + () => + Effect.gen(function* () { + const prompt = yield* SessionPrompt.Service + const sessions = yield* Session.Service + const session = yield* sessions.create({}) - const other = yield* prompt.prompt({ - sessionID: session.id, - agent: "build", - model: { providerID: ProviderID.make("opencode"), modelID: ModelID.make("kimi-k2.5-free") }, - noReply: true, - parts: [{ type: "text", text: "hello" }], - }) - if (other.info.role !== "user") throw new Error("expected user message") - expect(other.info.model.variant).toBeUndefined() + const other = yield* prompt.prompt({ + sessionID: session.id, + agent: "build", + model: { providerID: ProviderID.make("opencode"), modelID: ModelID.make("kimi-k2.5-free") }, + noReply: true, + parts: [{ type: "text", text: "hello" }], + }) + if (other.info.role !== "user") throw new Error("expected user message") + expect(other.info.model.variant).toBeUndefined() - const match = yield* prompt.prompt({ - sessionID: session.id, - agent: "build", - noReply: true, - parts: [{ type: "text", text: "hello again" }], - }) - if (match.info.role !== "user") throw new Error("expected user message") - expect(match.info.model).toEqual({ - providerID: ProviderID.make("test"), - modelID: ModelID.make("test-model"), - variant: "xhigh", - }) - expect(match.info.model.variant).toBe("xhigh") + const match = yield* prompt.prompt({ + sessionID: session.id, + agent: "build", + noReply: true, + parts: [{ type: "text", text: "hello again" }], + }) + if (match.info.role !== "user") throw new Error("expected user message") + expect(match.info.model).toEqual({ + providerID: ProviderID.make("test"), + modelID: ModelID.make("test-model"), + variant: "xhigh", + }) + expect(match.info.model.variant).toBe("xhigh") - const override = yield* prompt.prompt({ - sessionID: session.id, - agent: "build", - noReply: true, - variant: "high", - parts: [{ type: "text", text: "hello third" }], - }) - if (override.info.role !== "user") throw new Error("expected user message") - expect(override.info.model.variant).toBe("high") + const override = yield* prompt.prompt({ + sessionID: session.id, + agent: "build", + noReply: true, + variant: "high", + parts: [{ type: "text", text: "hello third" }], + }) + if (override.info.role !== "user") throw new Error("expected user message") + expect(override.info.model.variant).toBe("high") - yield* sessions.remove(session.id) - }), - { - git: true, - config: { - ...cfg, - provider: { - ...cfg.provider, - test: { - ...cfg.provider.test, - models: { - "test-model": { - ...cfg.provider.test.models["test-model"], - variants: { xhigh: {}, high: {} }, - }, + yield* sessions.remove(session.id) + }), + { + git: true, + config: { + ...cfg, + provider: { + ...cfg.provider, + test: { + ...cfg.provider.test, + models: { + "test-model": { + ...cfg.provider.test.models["test-model"], + variants: { xhigh: {}, high: {} }, }, }, }, - agent: { - build: { - model: "test/test-model", - variant: "xhigh", - }, + }, + agent: { + build: { + model: "test/test-model", + variant: "xhigh", }, }, }, - ), + }, ) // Agent / command resolution errors -it.live( +it.instance( "unknown agent throws typed error", () => - provideTmpdirInstance( - (_dir) => - Effect.gen(function* () { - const prompt = yield* SessionPrompt.Service - const sessions = yield* Session.Service - const session = yield* sessions.create({}) - const exit = yield* prompt - .prompt({ - sessionID: session.id, - agent: "nonexistent-agent-xyz", - noReply: true, - parts: [{ type: "text", text: "hello" }], - }) - .pipe(Effect.exit) + Effect.gen(function* () { + const prompt = yield* SessionPrompt.Service + const sessions = yield* Session.Service + const session = yield* sessions.create({}) + const exit = yield* prompt + .prompt({ + sessionID: session.id, + agent: "nonexistent-agent-xyz", + noReply: true, + parts: [{ type: "text", text: "hello" }], + }) + .pipe(Effect.exit) - expect(Exit.isFailure(exit)).toBe(true) - if (Exit.isFailure(exit)) { - const err = Cause.squash(exit.cause) - expect(err).not.toBeInstanceOf(TypeError) - expect(NamedError.Unknown.isInstance(err)).toBe(true) - if (NamedError.Unknown.isInstance(err)) { - expect(err.data.message).toContain('Agent not found: "nonexistent-agent-xyz"') - } - } - }), - { git: true }, - ), + expect(Exit.isFailure(exit)).toBe(true) + if (Exit.isFailure(exit)) { + const err = Cause.squash(exit.cause) + expect(err).not.toBeInstanceOf(TypeError) + expect(NamedError.Unknown.isInstance(err)).toBe(true) + if (NamedError.Unknown.isInstance(err)) { + expect(err.data.message).toContain('Agent not found: "nonexistent-agent-xyz"') + } + } + }), + { git: true }, 30_000, ) -it.live( +it.instance( "unknown agent error includes available agent names", () => - provideTmpdirInstance( - (_dir) => - Effect.gen(function* () { - const prompt = yield* SessionPrompt.Service - const sessions = yield* Session.Service - const session = yield* sessions.create({}) - const exit = yield* prompt - .prompt({ - sessionID: session.id, - agent: "nonexistent-agent-xyz", - noReply: true, - parts: [{ type: "text", text: "hello" }], - }) - .pipe(Effect.exit) + Effect.gen(function* () { + const prompt = yield* SessionPrompt.Service + const sessions = yield* Session.Service + const session = yield* sessions.create({}) + const exit = yield* prompt + .prompt({ + sessionID: session.id, + agent: "nonexistent-agent-xyz", + noReply: true, + parts: [{ type: "text", text: "hello" }], + }) + .pipe(Effect.exit) - expect(Exit.isFailure(exit)).toBe(true) - if (Exit.isFailure(exit)) { - const err = Cause.squash(exit.cause) - expect(NamedError.Unknown.isInstance(err)).toBe(true) - if (NamedError.Unknown.isInstance(err)) { - expect(err.data.message).toContain("build") - } - } - }), - { git: true }, - ), + expect(Exit.isFailure(exit)).toBe(true) + if (Exit.isFailure(exit)) { + const err = Cause.squash(exit.cause) + expect(NamedError.Unknown.isInstance(err)).toBe(true) + if (NamedError.Unknown.isInstance(err)) { + expect(err.data.message).toContain("build") + } + } + }), + { git: true }, 30_000, ) -it.live( +it.instance( "unknown command throws typed error with available names", () => - provideTmpdirInstance( - (_dir) => - Effect.gen(function* () { - const prompt = yield* SessionPrompt.Service - const sessions = yield* Session.Service - const session = yield* sessions.create({}) - const exit = yield* prompt - .command({ - sessionID: session.id, - command: "nonexistent-command-xyz", - arguments: "", - }) - .pipe(Effect.exit) + Effect.gen(function* () { + const prompt = yield* SessionPrompt.Service + const sessions = yield* Session.Service + const session = yield* sessions.create({}) + const exit = yield* prompt + .command({ + sessionID: session.id, + command: "nonexistent-command-xyz", + arguments: "", + }) + .pipe(Effect.exit) - expect(Exit.isFailure(exit)).toBe(true) - if (Exit.isFailure(exit)) { - const err = Cause.squash(exit.cause) - expect(err).not.toBeInstanceOf(TypeError) - expect(NamedError.Unknown.isInstance(err)).toBe(true) - if (NamedError.Unknown.isInstance(err)) { - expect(err.data.message).toContain('Command not found: "nonexistent-command-xyz"') - expect(err.data.message).toContain("init") - } - } - }), - { git: true }, - ), + expect(Exit.isFailure(exit)).toBe(true) + if (Exit.isFailure(exit)) { + const err = Cause.squash(exit.cause) + expect(err).not.toBeInstanceOf(TypeError) + expect(NamedError.Unknown.isInstance(err)).toBe(true) + if (NamedError.Unknown.isInstance(err)) { + expect(err.data.message).toContain('Command not found: "nonexistent-command-xyz"') + expect(err.data.message).toContain("init") + } + } + }), + { git: true }, 30_000, ) diff --git a/packages/opencode/test/session/snapshot-tool-race.test.ts b/packages/opencode/test/session/snapshot-tool-race.test.ts index 8640612e98..adf8926870 100644 --- a/packages/opencode/test/session/snapshot-tool-race.test.ts +++ b/packages/opencode/test/session/snapshot-tool-race.test.ts @@ -59,6 +59,7 @@ import { Ripgrep } from "../../src/file/ripgrep" import { Format } from "../../src/format" import { Reference } from "../../src/reference/reference" import { SyncEvent } from "@/sync" +import { RuntimeFlags } from "@/effect/runtime-flags" void Log.init({ print: false }) @@ -137,6 +138,7 @@ function makeHttp() { Layer.provide(Reference.defaultLayer), Layer.provide(Ripgrep.defaultLayer), Layer.provide(Format.defaultLayer), + Layer.provide(RuntimeFlags.layer()), Layer.provideMerge(todo), Layer.provideMerge(question), Layer.provideMerge(deps), diff --git a/packages/opencode/test/tool/fixtures/models-api.json b/packages/opencode/test/tool/fixtures/models-api.json index 7ced5ca5d3..6302a951dd 100644 --- a/packages/opencode/test/tool/fixtures/models-api.json +++ b/packages/opencode/test/tool/fixtures/models-api.json @@ -1,390 +1,328 @@ { - "digitalocean": { - "id": "digitalocean", - "env": ["DIGITALOCEAN_ACCESS_TOKEN"], + "302ai": { + "id": "302ai", + "env": ["302AI_API_KEY"], "npm": "@ai-sdk/openai-compatible", - "api": "https://inference.do-ai.run/v1", - "name": "DigitalOcean", - "doc": "https://docs.digitalocean.com/products/genai-platform/", + "api": "https://api.302.ai/v1", + "name": "302.AI", + "doc": "https://doc.302.ai", "models": { - "openai-gpt-oss-120b": { - "id": "openai-gpt-oss-120b", - "name": "GPT OSS 120B", + "qwen3-235b-a22b": { + "id": "qwen3-235b-a22b", + "name": "Qwen3-235B-A22B", + "family": "qwen", "attachment": false, "reasoning": false, "tool_call": true, "temperature": true, - "release_date": "2025-08-05", - "last_updated": "2025-08-05", - "modalities": { "input": ["text"], "output": ["text"] }, + "knowledge": "2025-04", + "release_date": "2025-04-29", + "last_updated": "2025-04-29", + "modalities": { + "input": ["text"], + "output": ["text"] + }, "open_weights": false, - "cost": { "input": 0.35, "output": 0.75 }, - "limit": { "context": 128000, "output": 16384 } - } - } - }, - "ollama-cloud": { - "id": "ollama-cloud", - "env": ["OLLAMA_API_KEY"], - "npm": "@ai-sdk/openai-compatible", - "api": "https://ollama.com/v1", - "name": "Ollama Cloud", - "doc": "https://docs.ollama.com/cloud", - "models": { - "mistral-large-3:675b": { - "id": "mistral-large-3:675b", - "name": "mistral-large-3:675b", - "family": "mistral-large", + "limit": { + "context": 128000, + "output": 16384 + }, + "cost": { + "input": 0.29, + "output": 2.86 + } + }, + "grok-4.1": { + "id": "grok-4.1", + "name": "grok-4.1", "attachment": true, "reasoning": false, "tool_call": true, - "release_date": "2025-12-02", - "last_updated": "2026-01-19", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "limit": { "context": 262144, "output": 262144 } + "temperature": true, + "knowledge": "2025-06", + "release_date": "2025-11-18", + "last_updated": "2025-11-18", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 64000 + }, + "cost": { + "input": 2, + "output": 10 + } }, - "kimi-k2-thinking": { - "id": "kimi-k2-thinking", - "name": "kimi-k2-thinking", - "family": "kimi-thinking", - "attachment": false, - "reasoning": true, - "tool_call": true, - "knowledge": "2024-08", - "release_date": "2025-11-06", - "last_updated": "2026-01-19", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "limit": { "context": 262144, "output": 262144 } - }, - "qwen3-coder-next": { - "id": "qwen3-coder-next", - "name": "qwen3-coder-next", - "family": "qwen", + "MiniMax-M2": { + "id": "MiniMax-M2", + "name": "MiniMax-M2", "attachment": false, "reasoning": false, "tool_call": true, - "release_date": "2026-02-02", - "last_updated": "2026-02-08", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "limit": { "context": 262144, "output": 65536 } + "temperature": true, + "release_date": "2025-10-26", + "last_updated": "2025-10-26", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000000, + "output": 128000 + }, + "cost": { + "input": 0.33, + "output": 1.32 + } }, - "qwen3-vl:235b-instruct": { - "id": "qwen3-vl:235b-instruct", - "name": "qwen3-vl:235b-instruct", - "family": "qwen", - "attachment": true, - "reasoning": false, - "tool_call": true, - "release_date": "2025-09-22", - "last_updated": "2026-01-19", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "limit": { "context": 262144, "output": 131072 } - }, - "gpt-oss:120b": { - "id": "gpt-oss:120b", - "name": "gpt-oss:120b", - "family": "gpt-oss", - "attachment": false, - "reasoning": true, - "tool_call": true, - "release_date": "2025-08-05", - "last_updated": "2026-01-19", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "limit": { "context": 131072, "output": 32768 } - }, - "kimi-k2.5": { - "id": "kimi-k2.5", - "name": "kimi-k2.5", - "family": "kimi", + "grok-4-1-fast-reasoning": { + "id": "grok-4-1-fast-reasoning", + "name": "grok-4-1-fast-reasoning", "attachment": true, "reasoning": true, "tool_call": true, - "release_date": "2026-01-27", - "last_updated": "2026-01-27", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "limit": { "context": 262144, "output": 262144 } + "temperature": true, + "knowledge": "2025-06", + "release_date": "2025-11-20", + "last_updated": "2025-11-20", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 2000000, + "output": 30000 + }, + "cost": { + "input": 0.2, + "output": 0.5 + } }, - "cogito-2.1:671b": { - "id": "cogito-2.1:671b", - "name": "cogito-2.1:671b", - "family": "cogito", - "attachment": false, - "reasoning": true, - "tool_call": true, - "release_date": "2025-11-19", - "last_updated": "2026-01-19", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "limit": { "context": 163840, "output": 32000 } - }, - "nemotron-3-nano:30b": { - "id": "nemotron-3-nano:30b", - "name": "nemotron-3-nano:30b", - "family": "nemotron", - "attachment": false, - "reasoning": true, - "tool_call": true, - "release_date": "2025-12-15", - "last_updated": "2026-01-19", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "limit": { "context": 1048576, "output": 131072 } - }, - "ministral-3:14b": { - "id": "ministral-3:14b", - "name": "ministral-3:14b", - "family": "ministral", - "attachment": true, - "reasoning": false, - "tool_call": true, - "release_date": "2024-12-01", - "last_updated": "2026-01-19", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "limit": { "context": 262144, "output": 128000 } - }, - "devstral-small-2:24b": { - "id": "devstral-small-2:24b", - "name": "devstral-small-2:24b", - "family": "devstral", - "attachment": true, - "reasoning": false, - "tool_call": true, - "release_date": "2025-12-09", - "last_updated": "2026-01-19", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "limit": { "context": 262144, "output": 262144 } - }, - "minimax-m2": { - "id": "minimax-m2", - "name": "minimax-m2", - "family": "minimax", - "attachment": false, - "reasoning": false, - "tool_call": true, - "release_date": "2025-10-23", - "last_updated": "2026-01-19", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "limit": { "context": 204800, "output": 128000 } - }, - "qwen3-next:80b": { - "id": "qwen3-next:80b", - "name": "qwen3-next:80b", - "family": "qwen", - "attachment": false, - "reasoning": true, - "tool_call": true, - "release_date": "2025-09-15", - "last_updated": "2026-01-19", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "limit": { "context": 262144, "output": 32768 } - }, - "qwen3-vl:235b": { - "id": "qwen3-vl:235b", - "name": "qwen3-vl:235b", - "family": "qwen", - "attachment": true, - "reasoning": true, - "tool_call": true, - "release_date": "2025-09-22", - "last_updated": "2026-01-19", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "limit": { "context": 262144, "output": 32768 } - }, - "minimax-m2.1": { - "id": "minimax-m2.1", - "name": "minimax-m2.1", - "family": "minimax", - "attachment": false, - "reasoning": true, - "tool_call": true, - "release_date": "2025-12-23", - "last_updated": "2026-01-19", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "limit": { "context": 204800, "output": 131072 } - }, - "gemma3:12b": { - "id": "gemma3:12b", - "name": "gemma3:12b", - "family": "gemma", - "attachment": true, - "reasoning": false, - "tool_call": false, - "release_date": "2024-12-01", - "last_updated": "2026-01-19", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "limit": { "context": 131072, "output": 131072 } - }, - "gemma3:27b": { - "id": "gemma3:27b", - "name": "gemma3:27b", - "family": "gemma", - "attachment": true, - "reasoning": false, - "tool_call": false, - "release_date": "2025-07-27", - "last_updated": "2026-01-19", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "limit": { "context": 131072, "output": 131072 } - }, - "qwen3-coder:480b": { - "id": "qwen3-coder:480b", - "name": "qwen3-coder:480b", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": true, - "release_date": "2025-07-22", - "last_updated": "2026-01-19", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "limit": { "context": 262144, "output": 65536 } - }, - "glm-4.6": { - "id": "glm-4.6", - "name": "glm-4.6", - "family": "glm", - "attachment": false, - "reasoning": true, - "tool_call": true, - "release_date": "2025-09-29", - "last_updated": "2026-01-19", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "limit": { "context": 202752, "output": 131072 } - }, - "gemini-3-flash-preview": { - "id": "gemini-3-flash-preview", - "name": "gemini-3-flash-preview", + "gemini-2.5-flash-nothink": { + "id": "gemini-2.5-flash-nothink", + "name": "gemini-2.5-flash-nothink", "family": "gemini-flash", - "attachment": false, - "reasoning": true, + "attachment": true, + "reasoning": false, "tool_call": true, + "temperature": true, "knowledge": "2025-01", - "release_date": "2025-12-17", - "last_updated": "2026-01-19", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "limit": { "context": 1048576, "output": 65536 } + "release_date": "2025-06-24", + "last_updated": "2025-06-24", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000000, + "output": 65536 + }, + "cost": { + "input": 0.3, + "output": 2.5 + } }, - "minimax-m2.7": { - "id": "minimax-m2.7", - "name": "minimax-m2.7", - "family": "minimax", - "attachment": false, + "grok-4.20-multi-agent-beta-0309": { + "id": "grok-4.20-multi-agent-beta-0309", + "name": "grok-4.20-multi-agent-beta-0309", + "attachment": true, "reasoning": true, "tool_call": true, - "release_date": "2026-03-18", - "last_updated": "2026-03-18", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "limit": { "context": 204800, "output": 131072 } + "temperature": true, + "release_date": "2026-03-16", + "last_updated": "2026-03-16", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 2000000, + "output": 30000 + }, + "cost": { + "input": 2, + "output": 6 + } }, - "gpt-oss:20b": { - "id": "gpt-oss:20b", - "name": "gpt-oss:20b", - "family": "gpt-oss", + "kimi-k2-0905-preview": { + "id": "kimi-k2-0905-preview", + "name": "kimi-k2-0905-preview", "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-06", + "release_date": "2025-09-05", + "last_updated": "2025-09-05", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 262144, + "output": 262144 + }, + "cost": { + "input": 0.632, + "output": 2.53 + } + }, + "claude-haiku-4-5": { + "id": "claude-haiku-4-5", + "name": "claude-haiku-4-5", + "family": "claude-haiku", + "attachment": true, "reasoning": true, "tool_call": true, - "release_date": "2025-08-05", - "last_updated": "2026-01-19", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "limit": { "context": 131072, "output": 32768 } + "temperature": true, + "knowledge": "2025-02-28", + "release_date": "2025-10-16", + "last_updated": "2025-10-16", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 64000 + }, + "cost": { + "input": 1, + "output": 5 + } }, - "ministral-3:8b": { - "id": "ministral-3:8b", - "name": "ministral-3:8b", - "family": "ministral", + "claude-opus-4-5-20251101": { + "id": "claude-opus-4-5-20251101", + "name": "claude-opus-4-5-20251101", + "family": "claude-opus", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-03-31", + "release_date": "2025-11-25", + "last_updated": "2025-11-25", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 64000 + }, + "cost": { + "input": 5, + "output": 25 + } + }, + "gemini-2.5-flash-lite-preview-09-2025": { + "id": "gemini-2.5-flash-lite-preview-09-2025", + "name": "gemini-2.5-flash-lite-preview-09-2025", "attachment": true, "reasoning": false, "tool_call": true, - "release_date": "2024-12-01", - "last_updated": "2026-01-19", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "limit": { "context": 262144, "output": 128000 } + "temperature": true, + "knowledge": "2025-01", + "release_date": "2025-09-26", + "last_updated": "2025-09-26", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000000, + "output": 65536 + }, + "cost": { + "input": 0.1, + "output": 0.4 + } }, - "gemma3:4b": { - "id": "gemma3:4b", - "name": "gemma3:4b", - "family": "gemma", - "attachment": true, - "reasoning": false, - "tool_call": false, - "release_date": "2024-12-01", - "last_updated": "2026-01-19", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "limit": { "context": 131072, "output": 131072 } - }, - "qwen3.5:397b": { - "id": "qwen3.5:397b", - "name": "qwen3.5:397b", - "family": "qwen", - "attachment": true, - "reasoning": true, - "tool_call": true, - "interleaved": { "field": "reasoning_details" }, - "release_date": "2026-02-15", - "last_updated": "2026-02-17", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "limit": { "context": 262144, "output": 81920 } - }, - "nemotron-3-super": { - "id": "nemotron-3-super", - "name": "nemotron-3-super", - "family": "nemotron", + "qwen3-235b-a22b-instruct-2507": { + "id": "qwen3-235b-a22b-instruct-2507", + "name": "qwen3-235b-a22b-instruct-2507", "attachment": false, - "reasoning": true, + "reasoning": false, "tool_call": true, - "release_date": "2026-03-11", - "last_updated": "2026-03-12", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "limit": { "context": 262144, "output": 65536 } + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-07-30", + "last_updated": "2025-07-30", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 65536 + }, + "cost": { + "input": 0.29, + "output": 1.143 + } }, - "glm-5": { - "id": "glm-5", - "name": "glm-5", + "glm-5v-turbo": { + "id": "glm-5v-turbo", + "name": "GLM-5V-Turbo", "family": "glm", - "attachment": false, + "attachment": true, "reasoning": true, "tool_call": true, - "interleaved": { "field": "reasoning_content" }, - "release_date": "2026-02-11", - "last_updated": "2026-02-11", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "limit": { "context": 202752, "output": 131072 } + "interleaved": { + "field": "reasoning_content" + }, + "temperature": true, + "release_date": "2026-04-02", + "last_updated": "2026-04-02", + "modalities": { + "input": ["text", "image", "video", "audio", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 131072 + }, + "cost": { + "input": 0.72, + "output": 3.2 + } }, - "devstral-2:123b": { - "id": "devstral-2:123b", - "name": "devstral-2:123b", - "family": "devstral", - "attachment": false, + "mistral-large-2512": { + "id": "mistral-large-2512", + "name": "mistral-large-2512", + "attachment": true, "reasoning": false, "tool_call": true, - "release_date": "2025-12-09", - "last_updated": "2026-01-19", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "limit": { "context": 262144, "output": 262144 } + "temperature": true, + "knowledge": "2024-12", + "release_date": "2025-12-16", + "last_updated": "2025-12-16", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 262144 + }, + "cost": { + "input": 1.1, + "output": 3.3 + } }, "glm-4.7": { "id": "glm-4.7", @@ -393,401 +331,873 @@ "attachment": false, "reasoning": true, "tool_call": true, - "release_date": "2025-12-22", - "last_updated": "2026-01-19", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "limit": { "context": 202752, "output": 131072 } - }, - "rnj-1:8b": { - "id": "rnj-1:8b", - "name": "rnj-1:8b", - "family": "rnj", - "attachment": false, - "reasoning": false, - "tool_call": true, - "release_date": "2025-12-06", - "last_updated": "2026-01-19", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "limit": { "context": 32768, "output": 4096 } - }, - "deepseek-v3.2": { - "id": "deepseek-v3.2", - "name": "deepseek-v3.2", - "family": "deepseek", - "attachment": false, - "reasoning": true, - "tool_call": true, - "release_date": "2025-06-15", - "last_updated": "2026-01-19", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "limit": { "context": 163840, "output": 65536 } - }, - "deepseek-v3.1:671b": { - "id": "deepseek-v3.1:671b", - "name": "deepseek-v3.1:671b", - "family": "deepseek", - "attachment": false, - "reasoning": true, - "tool_call": true, - "release_date": "2025-08-21", - "last_updated": "2026-01-19", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "limit": { "context": 163840, "output": 163840 } - }, - "ministral-3:3b": { - "id": "ministral-3:3b", - "name": "ministral-3:3b", - "family": "ministral", - "attachment": true, - "reasoning": false, - "tool_call": true, - "release_date": "2024-10-22", - "last_updated": "2026-01-19", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "limit": { "context": 262144, "output": 128000 } - }, - "kimi-k2:1t": { - "id": "kimi-k2:1t", - "name": "kimi-k2:1t", - "family": "kimi", - "attachment": false, - "reasoning": false, - "tool_call": true, - "knowledge": "2024-10", - "release_date": "2025-07-11", - "last_updated": "2026-01-19", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "limit": { "context": 262144, "output": 262144 } - }, - "minimax-m2.5": { - "id": "minimax-m2.5", - "name": "minimax-m2.5", - "family": "minimax", - "attachment": false, - "reasoning": true, - "tool_call": true, - "knowledge": "2025-01", - "release_date": "2026-02-12", - "last_updated": "2026-02-12", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "limit": { "context": 204800, "output": 131072 } - } - } - }, - "moark": { - "id": "moark", - "env": ["MOARK_API_KEY"], - "npm": "@ai-sdk/openai-compatible", - "api": "https://moark.com/v1", - "name": "Moark", - "doc": "https://moark.com/docs/openapi/v1#tag/%E6%96%87%E6%9C%AC%E7%94%9F%E6%88%90", - "models": { - "GLM-4.7": { - "id": "GLM-4.7", - "name": "GLM-4.7", - "family": "glm", - "attachment": false, - "reasoning": true, - "tool_call": true, - "interleaved": { "field": "reasoning_content" }, + "interleaved": { + "field": "reasoning_content" + }, "temperature": true, "knowledge": "2025-04", "release_date": "2025-12-22", "last_updated": "2025-12-22", - "modalities": { "input": ["text"], "output": ["text"] }, + "modalities": { + "input": ["text"], + "output": ["text"] + }, "open_weights": true, - "cost": { "input": 3.5, "output": 14 }, - "limit": { "context": 204800, "output": 131072 } + "limit": { + "context": 204800, + "output": 131072 + }, + "cost": { + "input": 0.286, + "output": 1.142 + } }, - "MiniMax-M2.1": { - "id": "MiniMax-M2.1", - "name": "MiniMax-M2.1", - "family": "minimax", + "claude-3-5-haiku-20241022": { + "id": "claude-3-5-haiku-20241022", + "name": "claude-3-5-haiku-20241022", + "family": "claude-haiku", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-07-31", + "release_date": "2024-10-22", + "last_updated": "2024-10-22", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 8192 + }, + "cost": { + "input": 0.8, + "output": 4 + } + }, + "doubao-seed-1-8-251215": { + "id": "doubao-seed-1-8-251215", + "name": "doubao-seed-1-8-251215", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "release_date": "2025-12-18", + "last_updated": "2025-12-18", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 224000, + "output": 64000 + }, + "cost": { + "input": 0.114, + "output": 0.286 + } + }, + "chatgpt-4o-latest": { + "id": "chatgpt-4o-latest", + "name": "chatgpt-4o-latest", + "family": "gpt", + "attachment": true, + "reasoning": false, + "tool_call": false, + "temperature": true, + "knowledge": "2023-09", + "release_date": "2024-08-08", + "last_updated": "2024-08-08", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 16384 + }, + "cost": { + "input": 5, + "output": 15 + } + }, + "glm-5": { + "id": "glm-5", + "name": "glm-5", + "family": "glm", "attachment": false, "reasoning": true, "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, "temperature": true, - "release_date": "2025-12-23", - "last_updated": "2025-12-23", - "modalities": { "input": ["text"], "output": ["text"] }, + "release_date": "2026-02-12", + "last_updated": "2026-02-12", + "modalities": { + "input": ["text"], + "output": ["text"] + }, "open_weights": true, - "cost": { "input": 2.1, "output": 8.4 }, - "limit": { "context": 204800, "output": 131072 } - } - } - }, - "drun": { - "id": "drun", - "env": ["DRUN_API_KEY"], - "npm": "@ai-sdk/openai-compatible", - "api": "https://chat.d.run/v1", - "name": "D.Run (China)", - "doc": "https://www.d.run", - "models": { - "public/deepseek-r1": { - "id": "public/deepseek-r1", - "name": "DeepSeek R1", - "family": "deepseek-thinking", - "attachment": false, - "reasoning": true, - "tool_call": true, - "interleaved": { "field": "reasoning_content" }, - "temperature": true, - "knowledge": "2024-12", - "release_date": "2025-01-20", - "last_updated": "2025-01-20", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.55, "output": 2.2 }, - "limit": { "context": 131072, "output": 32000 } + "limit": { + "context": 204800, + "output": 131072 + }, + "cost": { + "input": 0.6, + "output": 2.6 + } }, - "public/deepseek-v3": { - "id": "public/deepseek-v3", - "name": "DeepSeek V3", + "deepseek-chat": { + "id": "deepseek-chat", + "name": "Deepseek-Chat", "family": "deepseek", "attachment": false, "reasoning": false, "tool_call": true, "temperature": true, "knowledge": "2024-07", - "release_date": "2024-12-26", - "last_updated": "2024-12-26", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.28, "output": 1.1 }, - "limit": { "context": 131072, "output": 8192 } - }, - "public/minimax-m25": { - "id": "public/minimax-m25", - "name": "MiniMax M2.5", - "family": "minimax", - "attachment": false, - "reasoning": true, - "tool_call": true, - "interleaved": { "field": "reasoning_details" }, - "temperature": true, - "release_date": "2025-03-01", - "last_updated": "2025-03-01", - "modalities": { "input": ["text"], "output": ["text"] }, + "release_date": "2024-11-29", + "last_updated": "2024-11-29", + "modalities": { + "input": ["text"], + "output": ["text"] + }, "open_weights": false, - "cost": { "input": 0.29, "output": 1.16 }, - "limit": { "context": 204800, "output": 131072 } - } - } - }, - "inference": { - "id": "inference", - "env": ["INFERENCE_API_KEY"], - "npm": "@ai-sdk/openai-compatible", - "api": "https://inference.net/v1", - "name": "Inference", - "doc": "https://inference.net/models", - "models": { - "google/gemma-3": { - "id": "google/gemma-3", - "name": "Google Gemma 3", - "family": "gemma", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-12", - "release_date": "2025-01-01", - "last_updated": "2025-01-01", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.15, "output": 0.3 }, - "limit": { "context": 125000, "output": 4096 } + "limit": { + "context": 128000, + "output": 8192 + }, + "cost": { + "input": 0.29, + "output": 0.43 + } }, - "qwen/qwen3-embedding-4b": { - "id": "qwen/qwen3-embedding-4b", - "name": "Qwen 3 Embedding 4B", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": false, - "knowledge": "2024-12", - "release_date": "2025-01-01", - "last_updated": "2025-01-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.01, "output": 0 }, - "limit": { "context": 32000, "output": 2048 } - }, - "qwen/qwen-2.5-7b-vision-instruct": { - "id": "qwen/qwen-2.5-7b-vision-instruct", - "name": "Qwen 2.5 7B Vision Instruct", - "family": "qwen", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-12", - "release_date": "2025-01-01", - "last_updated": "2025-01-01", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.2, "output": 0.2 }, - "limit": { "context": 125000, "output": 4096 } - }, - "mistral/mistral-nemo-12b-instruct": { - "id": "mistral/mistral-nemo-12b-instruct", - "name": "Mistral Nemo 12B Instruct", - "family": "mistral-nemo", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-12", - "release_date": "2025-01-01", - "last_updated": "2025-01-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.038, "output": 0.1 }, - "limit": { "context": 16000, "output": 4096 } - }, - "meta/llama-3.2-1b-instruct": { - "id": "meta/llama-3.2-1b-instruct", - "name": "Llama 3.2 1B Instruct", - "family": "llama", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2023-12", - "release_date": "2025-01-01", - "last_updated": "2025-01-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.01, "output": 0.01 }, - "limit": { "context": 16000, "output": 4096 } - }, - "meta/llama-3.1-8b-instruct": { - "id": "meta/llama-3.1-8b-instruct", - "name": "Llama 3.1 8B Instruct", - "family": "llama", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2023-12", - "release_date": "2025-01-01", - "last_updated": "2025-01-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.025, "output": 0.025 }, - "limit": { "context": 16000, "output": 4096 } - }, - "meta/llama-3.2-11b-vision-instruct": { - "id": "meta/llama-3.2-11b-vision-instruct", - "name": "Llama 3.2 11B Vision Instruct", - "family": "llama", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2023-12", - "release_date": "2025-01-01", - "last_updated": "2025-01-01", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.055, "output": 0.055 }, - "limit": { "context": 16000, "output": 4096 } - }, - "meta/llama-3.2-3b-instruct": { - "id": "meta/llama-3.2-3b-instruct", - "name": "Llama 3.2 3B Instruct", - "family": "llama", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2023-12", - "release_date": "2025-01-01", - "last_updated": "2025-01-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.02, "output": 0.02 }, - "limit": { "context": 16000, "output": 4096 } - }, - "osmosis/osmosis-structure-0.6b": { - "id": "osmosis/osmosis-structure-0.6b", - "name": "Osmosis Structure 0.6B", - "family": "osmosis", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-12", - "release_date": "2025-01-01", - "last_updated": "2025-01-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.1, "output": 0.5 }, - "limit": { "context": 4000, "output": 2048 } - } - } - }, - "bailing": { - "id": "bailing", - "env": ["BAILING_API_TOKEN"], - "npm": "@ai-sdk/openai-compatible", - "api": "https://api.tbox.cn/api/llm/v1/chat/completions", - "name": "Bailing", - "doc": "https://alipaytbox.yuque.com/sxs0ba/ling/intro", - "models": { - "Ling-1T": { - "id": "Ling-1T", - "name": "Ling-1T", - "family": "ling", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-06", - "release_date": "2025-10", - "last_updated": "2025-10", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.57, "output": 2.29 }, - "limit": { "context": 128000, "output": 32000 } - }, - "Ring-1T": { - "id": "Ring-1T", - "name": "Ring-1T", - "family": "ring", + "deepseek-v3.2-thinking": { + "id": "deepseek-v3.2-thinking", + "name": "DeepSeek-V3.2-Thinking", "attachment": false, "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-12", + "release_date": "2025-12-01", + "last_updated": "2025-12-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 128000 + }, + "cost": { + "input": 0.29, + "output": 0.43 + } + }, + "claude-sonnet-4-6": { + "id": "claude-sonnet-4-6", + "name": "claude-sonnet-4-6", + "family": "claude-sonnet", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-08-31", + "release_date": "2026-02-18", + "last_updated": "2026-03-13", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000000, + "output": 64000 + }, + "cost": { + "input": 3, + "output": 15 + } + }, + "gpt-5-thinking": { + "id": "gpt-5-thinking", + "name": "gpt-5-thinking", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2025-08-08", + "last_updated": "2025-08-08", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "output": 128000 + }, + "cost": { + "input": 1.25, + "output": 10 + } + }, + "glm-4.7-flashx": { + "id": "glm-4.7-flashx", + "name": "glm-4.7-flashx", + "family": "glm-flash", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2026-01-20", + "last_updated": "2026-01-20", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 200000, + "output": 131072 + }, + "cost": { + "input": 0.0715, + "output": 0.429 + } + }, + "gemini-3-flash-preview": { + "id": "gemini-3-flash-preview", + "name": "gemini-3-flash-preview", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-06", + "release_date": "2025-12-18", + "last_updated": "2025-12-18", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000000, + "output": 65536 + }, + "cost": { + "input": 0.5, + "output": 3 + } + }, + "qwen-plus": { + "id": "qwen-plus", + "name": "Qwen-Plus", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2024-07-23", + "last_updated": "2024-07-23", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000000, + "output": 32768 + }, + "cost": { + "input": 0.12, + "output": 1.2 + } + }, + "grok-4.20-beta-0309-non-reasoning": { + "id": "grok-4.20-beta-0309-non-reasoning", + "name": "grok-4.20-beta-0309-non-reasoning", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "release_date": "2026-03-16", + "last_updated": "2026-03-16", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 2000000, + "output": 30000 + }, + "cost": { + "input": 2, + "output": 6 + } + }, + "claude-opus-4-7": { + "id": "claude-opus-4-7", + "name": "claude-opus-4-7", + "family": "claude-opus", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2026-01-31", + "release_date": "2026-04-17", + "last_updated": "2026-04-17", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000000, + "output": 128000 + }, + "cost": { + "input": 5, + "output": 25, + "cache_read": 0.5, + "cache_write": 6.25, + "tiers": [ + { + "input": 10, + "output": 37.5, + "cache_read": 1, + "cache_write": 12.5, + "tier": { + "type": "context", + "size": 200000 + } + } + ], + "context_over_200k": { + "input": 10, + "output": 37.5, + "cache_read": 1, + "cache_write": 12.5 + } + } + }, + "gpt-5-mini": { + "id": "gpt-5-mini", + "name": "gpt-5-mini", + "family": "gpt-mini", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": false, + "knowledge": "2024-05-30", + "release_date": "2025-08-08", + "last_updated": "2025-08-08", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "input": 272000, + "output": 128000 + }, + "cost": { + "input": 0.25, + "output": 2 + } + }, + "gemini-3-pro-preview": { + "id": "gemini-3-pro-preview", + "name": "gemini-3-pro-preview", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-06", + "release_date": "2025-11-19", + "last_updated": "2025-11-19", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000000, + "output": 64000 + }, + "cost": { + "input": 2, + "output": 12 + } + }, + "MiniMax-M2.7": { + "id": "MiniMax-M2.7", + "name": "MiniMax-M2.7", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "release_date": "2026-03-19", + "last_updated": "2026-03-19", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 204800, + "output": 131072 + }, + "cost": { + "input": 0.3, + "output": 1.2 + } + }, + "qwen3-max-2025-09-23": { + "id": "qwen3-max-2025-09-23", + "name": "qwen3-max-2025-09-23", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-09-24", + "last_updated": "2025-09-24", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 258048, + "output": 65536 + }, + "cost": { + "input": 0.86, + "output": 3.43 + } + }, + "claude-sonnet-4-5-20250929": { + "id": "claude-sonnet-4-5-20250929", + "name": "claude-sonnet-4-5-20250929", + "family": "claude-sonnet", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-07-31", + "release_date": "2025-09-30", + "last_updated": "2025-09-30", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 64000 + }, + "cost": { + "input": 3, + "output": 15 + } + }, + "qwen-flash": { + "id": "qwen-flash", + "name": "Qwen-Flash", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "release_date": "2025-07-28", + "last_updated": "2025-07-28", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000000, + "output": 32768 + }, + "cost": { + "input": 0.022, + "output": 0.22 + } + }, + "gemini-2.5-pro": { + "id": "gemini-2.5-pro", + "name": "gemini-2.5-pro", + "family": "gemini-pro", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2025-06-17", + "last_updated": "2025-06-17", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000000, + "output": 65536 + }, + "cost": { + "input": 1.25, + "output": 10 + } + }, + "grok-4-1-fast-non-reasoning": { + "id": "grok-4-1-fast-non-reasoning", + "name": "grok-4-1-fast-non-reasoning", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-06", + "release_date": "2025-11-20", + "last_updated": "2025-11-20", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 2000000, + "output": 30000 + }, + "cost": { + "input": 0.2, + "output": 0.5 + } + }, + "claude-3-5-haiku-latest": { + "id": "claude-3-5-haiku-latest", + "name": "claude-3-5-haiku-latest", + "family": "claude-haiku", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-07-31", + "release_date": "2024-10-22", + "last_updated": "2024-10-22", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 8192 + }, + "cost": { + "input": 0.8, + "output": 4 + } + }, + "claude-opus-4-5-20251101-thinking": { + "id": "claude-opus-4-5-20251101-thinking", + "name": "claude-opus-4-5-20251101-thinking", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-03", + "release_date": "2025-11-25", + "last_updated": "2025-11-25", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 64000 + }, + "cost": { + "input": 5, + "output": 25 + } + }, + "gpt-5.2": { + "id": "gpt-5.2", + "name": "gpt-5.2", + "family": "gpt", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": false, + "knowledge": "2025-08-31", + "release_date": "2025-12-12", + "last_updated": "2025-12-12", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "input": 272000, + "output": 128000 + }, + "cost": { + "input": 1.75, + "output": 14 + } + }, + "gpt-5.4-mini": { + "id": "gpt-5.4-mini", + "name": "gpt-5.4-mini", + "family": "gpt-mini", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": false, + "knowledge": "2025-08-31", + "release_date": "2026-03-19", + "last_updated": "2026-03-19", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "input": 272000, + "output": 128000 + }, + "cost": { + "input": 0.75, + "output": 4.5 + } + }, + "gemini-3-pro-image-preview": { + "id": "gemini-3-pro-image-preview", + "name": "gemini-3-pro-image-preview", + "attachment": true, + "reasoning": false, "tool_call": false, "temperature": true, - "knowledge": "2024-06", - "release_date": "2025-10", - "last_updated": "2025-10", - "modalities": { "input": ["text"], "output": ["text"] }, + "knowledge": "2025-06", + "release_date": "2025-11-20", + "last_updated": "2025-11-20", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 32768, + "output": 64000 + }, + "cost": { + "input": 2, + "output": 120 + } + }, + "glm-5.1": { + "id": "glm-5.1", + "name": "glm-5.1", + "family": "glm", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "structured_output": true, + "temperature": true, + "release_date": "2026-04-10", + "last_updated": "2026-04-10", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 131072 + }, + "cost": { + "input": 0.86, + "output": 3.5 + } + }, + "qwen-max-latest": { + "id": "qwen-max-latest", + "name": "Qwen-Max-Latest", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-11", + "release_date": "2024-04-03", + "last_updated": "2025-01-25", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 131072, + "output": 8192 + }, + "cost": { + "input": 0.343, + "output": 1.372 + } + }, + "gpt-5.4-nano": { + "id": "gpt-5.4-nano", + "name": "gpt-5.4-nano", + "family": "gpt-nano", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": false, + "knowledge": "2025-08-31", + "release_date": "2026-03-19", + "last_updated": "2026-03-19", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "input": 272000, + "output": 128000 + }, + "cost": { + "input": 0.2, + "output": 1.25 + } + }, + "gemini-2.5-flash-image": { + "id": "gemini-2.5-flash-image", + "name": "gemini-2.5-flash-image", + "attachment": true, + "reasoning": false, + "tool_call": false, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2025-10-08", + "last_updated": "2025-10-08", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 32768, + "output": 32768 + }, + "cost": { + "input": 0.3, + "output": 30 + } + }, + "glm-4.5": { + "id": "glm-4.5", + "name": "GLM-4.5", + "family": "glm", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-07-29", + "last_updated": "2025-07-29", + "modalities": { + "input": ["text"], + "output": ["text"] + }, "open_weights": true, - "cost": { "input": 0.57, "output": 2.29 }, - "limit": { "context": 128000, "output": 32000 } - } - } - }, - "openai": { - "id": "openai", - "env": ["OPENAI_API_KEY"], - "npm": "@ai-sdk/openai", - "name": "OpenAI", - "doc": "https://platform.openai.com/docs/models", - "models": { - "gpt-5.2-codex": { - "id": "gpt-5.2-codex", - "name": "GPT-5.2 Codex", + "limit": { + "context": 131072, + "output": 98304 + }, + "cost": { + "input": 0.286, + "output": 1.142 + } + }, + "gpt-5.4-mini-2026-03-17": { + "id": "gpt-5.4-mini-2026-03-17", + "name": "gpt-5.4-mini-2026-03-17", + "family": "gpt-mini", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": false, + "knowledge": "2025-08-31", + "release_date": "2026-03-19", + "last_updated": "2026-03-19", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "input": 272000, + "output": 128000 + }, + "cost": { + "input": 0.75, + "output": 4.5 + } + }, + "gemini-2.5-flash": { + "id": "gemini-2.5-flash", + "name": "gemini-2.5-flash", + "family": "gemini-flash", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2025-06-17", + "last_updated": "2025-06-17", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000000, + "output": 65536 + }, + "cost": { + "input": 0.3, + "output": 2.5 + } + }, + "gpt-5.2-chat-latest": { + "id": "gpt-5.2-chat-latest", + "name": "gpt-5.2-chat-latest", "family": "gpt-codex", "attachment": true, "reasoning": true, @@ -795,66 +1205,292 @@ "structured_output": true, "temperature": false, "knowledge": "2025-08-31", - "release_date": "2025-12-11", - "last_updated": "2025-12-11", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, + "release_date": "2025-12-12", + "last_updated": "2025-12-12", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, "open_weights": false, - "cost": { "input": 1.75, "output": 14, "cache_read": 0.175 }, - "limit": { "context": 400000, "input": 272000, "output": 128000 } + "limit": { + "context": 128000, + "output": 16384 + }, + "cost": { + "input": 1.75, + "output": 14 + } }, - "o1-pro": { - "id": "o1-pro", - "name": "o1-pro", - "family": "o-pro", + "doubao-seed-1-6-vision-250815": { + "id": "doubao-seed-1-6-vision-250815", + "name": "doubao-seed-1-6-vision-250815", "attachment": true, - "reasoning": true, + "reasoning": false, "tool_call": true, - "structured_output": true, - "temperature": false, - "knowledge": "2023-09", - "release_date": "2025-03-19", - "last_updated": "2025-03-19", - "modalities": { "input": ["text", "image"], "output": ["text"] }, + "temperature": true, + "release_date": "2025-09-30", + "last_updated": "2025-09-30", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, "open_weights": false, - "cost": { "input": 150, "output": 600 }, - "limit": { "context": 200000, "output": 100000 } + "limit": { + "context": 256000, + "output": 32000 + }, + "cost": { + "input": 0.114, + "output": 1.143 + } }, - "text-embedding-3-large": { - "id": "text-embedding-3-large", - "name": "text-embedding-3-large", - "family": "text-embedding", - "attachment": false, + "gemini-3.1-flash-image-preview": { + "id": "gemini-3.1-flash-image-preview", + "name": "gemini-3.1-flash-image-preview", + "attachment": true, "reasoning": false, "tool_call": false, - "temperature": false, - "knowledge": "2024-01", - "release_date": "2024-01-25", - "last_updated": "2024-01-25", - "modalities": { "input": ["text"], "output": ["text"] }, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2026-02-27", + "last_updated": "2026-02-27", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text", "image"] + }, "open_weights": false, - "cost": { "input": 0.13, "output": 0 }, - "limit": { "context": 8191, "output": 3072 } + "limit": { + "context": 131072, + "output": 32768 + }, + "cost": { + "input": 0.5, + "output": 60 + } }, - "gpt-5.1-codex-mini": { - "id": "gpt-5.1-codex-mini", - "name": "GPT-5.1 Codex mini", - "family": "gpt-codex", + "MiniMax-M2.7-highspeed": { + "id": "MiniMax-M2.7-highspeed", + "name": "MiniMax-M2.7-highspeed", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "release_date": "2026-03-19", + "last_updated": "2026-03-19", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 204800, + "output": 131072 + }, + "cost": { + "input": 0.6, + "output": 4.8 + } + }, + "glm-4.5-x": { + "id": "glm-4.5-x", + "name": "glm-4.5-x", + "family": "glm", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-07-29", + "last_updated": "2025-07-29", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 16384 + }, + "cost": { + "input": 1.143, + "output": 2.29 + } + }, + "MiniMax-M2.1": { + "id": "MiniMax-M2.1", + "name": "MiniMax-M2.1", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "release_date": "2025-12-19", + "last_updated": "2025-12-19", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000000, + "output": 131072 + }, + "cost": { + "input": 0.3, + "output": 1.2 + } + }, + "gpt-5.1": { + "id": "gpt-5.1", + "name": "gpt-5.1", + "family": "gpt", "attachment": true, "reasoning": true, "tool_call": true, "structured_output": true, "temperature": false, "knowledge": "2024-09-30", - "release_date": "2025-11-13", - "last_updated": "2025-11-13", - "modalities": { "input": ["text", "image"], "output": ["text"] }, + "release_date": "2025-11-14", + "last_updated": "2025-11-14", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, "open_weights": false, - "cost": { "input": 0.25, "output": 2, "cache_read": 0.025 }, - "limit": { "context": 400000, "input": 272000, "output": 128000 } + "limit": { + "context": 400000, + "input": 272000, + "output": 128000 + }, + "cost": { + "input": 1.25, + "output": 10 + } + }, + "kimi-k2-thinking-turbo": { + "id": "kimi-k2-thinking-turbo", + "name": "kimi-k2-thinking-turbo", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-06", + "release_date": "2025-09-05", + "last_updated": "2025-09-05", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 262144, + "output": 262144 + }, + "cost": { + "input": 1.265, + "output": 9.119 + } + }, + "deepseek-reasoner": { + "id": "deepseek-reasoner", + "name": "Deepseek-Reasoner", + "family": "deepseek-thinking", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-07", + "release_date": "2025-01-20", + "last_updated": "2025-01-20", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 128000 + }, + "cost": { + "input": 0.29, + "output": 0.43 + } + }, + "grok-4-fast-reasoning": { + "id": "grok-4-fast-reasoning", + "name": "grok-4-fast-reasoning", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-06", + "release_date": "2025-09-23", + "last_updated": "2025-09-23", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 2000000, + "output": 30000 + }, + "cost": { + "input": 0.2, + "output": 0.5 + } + }, + "claude-opus-4-1-20250805-thinking": { + "id": "claude-opus-4-1-20250805-thinking", + "name": "claude-opus-4-1-20250805-thinking", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-03", + "release_date": "2025-05-27", + "last_updated": "2025-05-27", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 32000 + }, + "cost": { + "input": 15, + "output": 75 + } + }, + "glm-4.5-air": { + "id": "glm-4.5-air", + "name": "glm-4.5-air", + "family": "glm-air", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-07-29", + "last_updated": "2025-07-29", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 98304 + }, + "cost": { + "input": 0.1143, + "output": 0.286 + } }, "gpt-5.4-pro": { "id": "gpt-5.4-pro", - "name": "GPT-5.4 Pro", + "name": "gpt-5.4-pro", "family": "gpt-pro", "attachment": true, "reasoning": true, @@ -864,48 +1500,582 @@ "knowledge": "2025-08-31", "release_date": "2026-03-05", "last_updated": "2026-03-05", - "modalities": { "input": ["text", "image"], "output": ["text"] }, + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, "open_weights": false, - "cost": { "input": 30, "output": 180, "context_over_200k": { "input": 60, "output": 270 } }, - "limit": { "context": 1050000, "input": 922000, "output": 128000 } + "limit": { + "context": 1050000, + "input": 922000, + "output": 128000 + }, + "cost": { + "input": 30, + "output": 180, + "cache_read": 0, + "cache_write": 0, + "tiers": [ + { + "input": 60, + "output": 270, + "tier": { + "type": "context", + "size": 272000 + } + } + ], + "context_over_200k": { + "input": 60, + "output": 270 + } + } }, - "o3-mini": { - "id": "o3-mini", - "name": "o3-mini", - "family": "o-mini", + "glm-5-turbo": { + "id": "glm-5-turbo", + "name": "glm-5-turbo", + "family": "glm", "attachment": false, "reasoning": true, "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, "structured_output": true, - "temperature": false, - "knowledge": "2024-05", - "release_date": "2024-12-20", - "last_updated": "2025-01-29", - "modalities": { "input": ["text"], "output": ["text"] }, + "temperature": true, + "release_date": "2026-03-16", + "last_updated": "2026-03-16", + "modalities": { + "input": ["text"], + "output": ["text"] + }, "open_weights": false, - "cost": { "input": 1.1, "output": 4.4, "cache_read": 0.55 }, - "limit": { "context": 200000, "output": 100000 } + "limit": { + "context": 200000, + "output": 131072 + }, + "cost": { + "input": 0.72, + "output": 3.2 + } }, - "gpt-5.4-mini": { - "id": "gpt-5.4-mini", - "name": "GPT-5.4 mini", - "family": "gpt-mini", + "qwen3-30b-a3b": { + "id": "qwen3-30b-a3b", + "name": "Qwen3-30B-A3B", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-04-29", + "last_updated": "2025-04-29", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 8192 + }, + "cost": { + "input": 0.11, + "output": 1.08 + } + }, + "claude-opus-4-5": { + "id": "claude-opus-4-5", + "name": "claude-opus-4-5", + "family": "claude-opus", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-03-31", + "release_date": "2025-11-25", + "last_updated": "2025-11-25", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 64000 + }, + "cost": { + "input": 5, + "output": 25 + } + }, + "glm-4.5v": { + "id": "glm-4.5v", + "name": "GLM-4.5V", + "family": "glm", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-08-12", + "last_updated": "2025-08-12", + "modalities": { + "input": ["text", "image", "video"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 64000, + "output": 16384 + }, + "cost": { + "input": 0.29, + "output": 0.86 + } + }, + "glm-4.6": { + "id": "glm-4.6", + "name": "glm-4.6", + "family": "glm", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-09-30", + "last_updated": "2025-09-30", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 204800, + "output": 131072 + }, + "cost": { + "input": 0.286, + "output": 1.142 + } + }, + "claude-opus-4-6-thinking": { + "id": "claude-opus-4-6-thinking", + "name": "claude-opus-4-6-thinking", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-05", + "release_date": "2026-02-06", + "last_updated": "2026-03-13", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000000, + "output": 128000 + }, + "cost": { + "input": 5, + "output": 25 + } + }, + "gemini-2.5-flash-preview-09-2025": { + "id": "gemini-2.5-flash-preview-09-2025", + "name": "gemini-2.5-flash-preview-09-2025", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2025-09-26", + "last_updated": "2025-09-26", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000000, + "output": 65536 + }, + "cost": { + "input": 0.3, + "output": 2.5 + } + }, + "claude-sonnet-4-6-thinking": { + "id": "claude-sonnet-4-6-thinking", + "name": "claude-sonnet-4-6-thinking", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-08", + "release_date": "2026-02-18", + "last_updated": "2026-03-13", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000000, + "output": 64000 + }, + "cost": { + "input": 3, + "output": 15 + } + }, + "glm-4.6v": { + "id": "glm-4.6v", + "name": "GLM-4.6V", + "family": "glm", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-12-08", + "last_updated": "2025-12-08", + "modalities": { + "input": ["text", "image", "video"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 32768 + }, + "cost": { + "input": 0.145, + "output": 0.43 + } + }, + "claude-opus-4-1-20250805": { + "id": "claude-opus-4-1-20250805", + "name": "claude-opus-4-1-20250805", + "family": "claude-opus", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-03-31", + "release_date": "2025-08-05", + "last_updated": "2025-08-05", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 32000 + }, + "cost": { + "input": 15, + "output": 75 + } + }, + "gpt-5.4": { + "id": "gpt-5.4", + "name": "gpt-5.4", + "family": "gpt", "attachment": true, "reasoning": true, "tool_call": true, "structured_output": true, "temperature": false, "knowledge": "2025-08-31", - "release_date": "2026-03-17", - "last_updated": "2026-03-17", - "modalities": { "input": ["text", "image"], "output": ["text"] }, + "release_date": "2026-03-05", + "last_updated": "2026-03-05", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, "open_weights": false, - "cost": { "input": 0.75, "output": 4.5, "cache_read": 0.075 }, - "limit": { "context": 400000, "input": 272000, "output": 128000 } + "limit": { + "context": 1050000, + "input": 922000, + "output": 128000 + }, + "cost": { + "input": 2.5, + "output": 15, + "cache_read": 0.25, + "cache_write": 0, + "tiers": [ + { + "input": 5, + "output": 22.5, + "tier": { + "type": "context", + "size": 272000 + } + } + ], + "context_over_200k": { + "input": 5, + "output": 22.5 + } + } + }, + "gpt-5.1-chat-latest": { + "id": "gpt-5.1-chat-latest", + "name": "gpt-5.1-chat-latest", + "family": "gpt-codex", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": false, + "knowledge": "2024-09-30", + "release_date": "2025-11-14", + "last_updated": "2025-11-14", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 16384 + }, + "cost": { + "input": 1.25, + "output": 10 + } + }, + "claude-haiku-4-5-20251001": { + "id": "claude-haiku-4-5-20251001", + "name": "claude-haiku-4-5-20251001", + "family": "claude-haiku", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-02-28", + "release_date": "2025-10-16", + "last_updated": "2025-10-16", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 64000 + }, + "cost": { + "input": 1, + "output": 5 + } + }, + "MiniMax-M1": { + "id": "MiniMax-M1", + "name": "MiniMax-M1", + "family": "minimax", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "release_date": "2025-06-16", + "last_updated": "2025-06-16", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000000, + "output": 128000 + }, + "cost": { + "input": 0.132, + "output": 1.254 + } + }, + "gpt-5.4-nano-2026-03-17": { + "id": "gpt-5.4-nano-2026-03-17", + "name": "gpt-5.4-nano-2026-03-17", + "family": "gpt-nano", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": false, + "knowledge": "2025-08-31", + "release_date": "2026-03-19", + "last_updated": "2026-03-19", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "input": 272000, + "output": 128000 + }, + "cost": { + "input": 0.2, + "output": 1.25 + } + }, + "claude-sonnet-4-20250514": { + "id": "claude-sonnet-4-20250514", + "name": "claude-sonnet-4-20250514", + "family": "claude-sonnet", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-03-31", + "release_date": "2025-05-22", + "last_updated": "2025-05-22", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 64000 + }, + "cost": { + "input": 3, + "output": 15 + } + }, + "qwen3-coder-480b-a35b-instruct": { + "id": "qwen3-coder-480b-a35b-instruct", + "name": "qwen3-coder-480b-a35b-instruct", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-07-23", + "last_updated": "2025-07-23", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 262144, + "output": 65536 + }, + "cost": { + "input": 0.86, + "output": 3.43 + } + }, + "claude-opus-4-6": { + "id": "claude-opus-4-6", + "name": "claude-opus-4-6", + "family": "claude-opus", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-05-31", + "release_date": "2026-02-06", + "last_updated": "2026-03-13", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000000, + "output": 128000 + }, + "cost": { + "input": 5, + "output": 25 + } + }, + "doubao-seed-code-preview-251028": { + "id": "doubao-seed-code-preview-251028", + "name": "doubao-seed-code-preview-251028", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "release_date": "2025-11-11", + "last_updated": "2025-11-11", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 256000, + "output": 32000 + }, + "cost": { + "input": 0.17, + "output": 1.14 + } + }, + "gpt-4.1-nano": { + "id": "gpt-4.1-nano", + "name": "gpt-4.1-nano", + "family": "gpt-nano", + "attachment": true, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2024-04", + "release_date": "2025-04-14", + "last_updated": "2025-04-14", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1047576, + "output": 32768 + }, + "cost": { + "input": 0.1, + "output": 0.4 + } + }, + "deepseek-v3.2": { + "id": "deepseek-v3.2", + "name": "deepseek-v3.2", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-12", + "release_date": "2025-12-01", + "last_updated": "2025-12-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 8192 + }, + "cost": { + "input": 0.29, + "output": 0.43 + } }, "gpt-5-pro": { "id": "gpt-5-pro", - "name": "GPT-5 Pro", + "name": "gpt-5-pro", "family": "gpt-pro", "attachment": true, "reasoning": true, @@ -913,67 +2083,26 @@ "structured_output": true, "temperature": false, "knowledge": "2024-09-30", - "release_date": "2025-10-06", - "last_updated": "2025-10-06", - "modalities": { "input": ["text", "image"], "output": ["text"] }, + "release_date": "2025-10-08", + "last_updated": "2025-10-08", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, "open_weights": false, - "cost": { "input": 15, "output": 120 }, - "limit": { "context": 400000, "input": 272000, "output": 272000 } - }, - "gpt-5.2-chat-latest": { - "id": "gpt-5.2-chat-latest", - "name": "GPT-5.2 Chat", - "family": "gpt-codex", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": false, - "knowledge": "2025-08-31", - "release_date": "2025-12-11", - "last_updated": "2025-12-11", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.75, "output": 14, "cache_read": 0.175 }, - "limit": { "context": 128000, "output": 16384 } - }, - "gpt-5": { - "id": "gpt-5", - "name": "GPT-5", - "family": "gpt", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": false, - "knowledge": "2024-09-30", - "release_date": "2025-08-07", - "last_updated": "2025-08-07", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.25, "output": 10, "cache_read": 0.125 }, - "limit": { "context": 400000, "input": 272000, "output": 128000 } - }, - "gpt-4-turbo": { - "id": "gpt-4-turbo", - "name": "GPT-4 Turbo", - "family": "gpt", - "attachment": true, - "reasoning": false, - "tool_call": true, - "structured_output": false, - "temperature": true, - "knowledge": "2023-12", - "release_date": "2023-11-06", - "last_updated": "2024-04-09", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 10, "output": 30 }, - "limit": { "context": 128000, "output": 4096 } + "limit": { + "context": 400000, + "input": 272000, + "output": 272000 + }, + "cost": { + "input": 15, + "output": 120 + } }, "gpt-4o": { "id": "gpt-4o", - "name": "GPT-4o", + "name": "gpt-4o", "family": "gpt", "attachment": true, "reasoning": false, @@ -982,100 +2111,197 @@ "temperature": true, "knowledge": "2023-09", "release_date": "2024-05-13", - "last_updated": "2024-08-06", - "modalities": { "input": ["text", "image"], "output": ["text"] }, + "last_updated": "2024-05-13", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, "open_weights": false, - "cost": { "input": 2.5, "output": 10, "cache_read": 1.25 }, - "limit": { "context": 128000, "output": 16384 } + "limit": { + "context": 128000, + "output": 16384 + }, + "cost": { + "input": 2.5, + "output": 10 + } }, - "gpt-5.3-codex": { - "id": "gpt-5.3-codex", - "name": "GPT-5.3 Codex", - "family": "gpt-codex", + "claude-sonnet-4-5": { + "id": "claude-sonnet-4-5", + "name": "claude-sonnet-4-5", + "family": "claude-sonnet", "attachment": true, "reasoning": true, "tool_call": true, - "structured_output": true, - "temperature": false, - "knowledge": "2025-08-31", - "release_date": "2026-02-05", - "last_updated": "2026-02-05", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.75, "output": 14, "cache_read": 0.175 }, - "limit": { "context": 400000, "input": 272000, "output": 128000 } - }, - "gpt-5-mini": { - "id": "gpt-5-mini", - "name": "GPT-5 Mini", - "family": "gpt-mini", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": false, - "knowledge": "2024-05-30", - "release_date": "2025-08-07", - "last_updated": "2025-08-07", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.25, "output": 2, "cache_read": 0.025 }, - "limit": { "context": 400000, "input": 272000, "output": 128000 } - }, - "gpt-5.3-codex-spark": { - "id": "gpt-5.3-codex-spark", - "name": "GPT-5.3 Codex Spark", - "family": "gpt-codex-spark", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": false, - "knowledge": "2025-08-31", - "release_date": "2026-02-05", - "last_updated": "2026-02-05", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.75, "output": 14, "cache_read": 0.175 }, - "limit": { "context": 128000, "input": 100000, "output": 32000 } - }, - "gpt-4o-mini": { - "id": "gpt-4o-mini", - "name": "GPT-4o mini", - "family": "gpt-mini", - "attachment": true, - "reasoning": false, - "tool_call": true, - "structured_output": true, "temperature": true, - "knowledge": "2023-09", - "release_date": "2024-07-18", - "last_updated": "2024-07-18", - "modalities": { "input": ["text", "image"], "output": ["text"] }, + "knowledge": "2025-07-31", + "release_date": "2025-09-30", + "last_updated": "2025-09-30", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, "open_weights": false, - "cost": { "input": 0.15, "output": 0.6, "cache_read": 0.08 }, - "limit": { "context": 128000, "output": 16384 } + "limit": { + "context": 200000, + "output": 64000 + }, + "cost": { + "input": 3, + "output": 15 + } }, - "gpt-5.1-codex-max": { - "id": "gpt-5.1-codex-max", - "name": "GPT-5.1 Codex Max", - "family": "gpt-codex", + "gpt-5": { + "id": "gpt-5", + "name": "gpt-5", + "family": "gpt", "attachment": true, "reasoning": true, "tool_call": true, "structured_output": true, "temperature": false, "knowledge": "2024-09-30", - "release_date": "2025-11-13", - "last_updated": "2025-11-13", - "modalities": { "input": ["text", "image"], "output": ["text"] }, + "release_date": "2025-08-08", + "last_updated": "2025-08-08", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, "open_weights": false, - "cost": { "input": 1.25, "output": 10, "cache_read": 0.125 }, - "limit": { "context": 400000, "input": 272000, "output": 128000 } + "limit": { + "context": 400000, + "input": 272000, + "output": 128000 + }, + "cost": { + "input": 1.25, + "output": 10 + } + }, + "grok-4.20-beta-0309-reasoning": { + "id": "grok-4.20-beta-0309-reasoning", + "name": "grok-4.20-beta-0309-reasoning", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2026-03-16", + "last_updated": "2026-03-16", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 2000000, + "output": 30000 + }, + "cost": { + "input": 2, + "output": 6 + } + }, + "claude-opus-4-20250514": { + "id": "claude-opus-4-20250514", + "name": "claude-opus-4-20250514", + "family": "claude-opus", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-03-31", + "release_date": "2025-05-22", + "last_updated": "2025-05-22", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 32000 + }, + "cost": { + "input": 15, + "output": 75 + } + }, + "glm-for-coding": { + "id": "glm-for-coding", + "name": "glm-for-coding", + "family": "glm", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2025-09-30", + "last_updated": "2025-09-30", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 131072 + }, + "cost": { + "input": 0.086, + "output": 0.343 + } + }, + "claude-sonnet-4-5-20250929-thinking": { + "id": "claude-sonnet-4-5-20250929-thinking", + "name": "claude-sonnet-4-5-20250929-thinking", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-03", + "release_date": "2025-09-30", + "last_updated": "2025-09-30", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 64000 + }, + "cost": { + "input": 3, + "output": 15 + } + }, + "glm-4.5-airx": { + "id": "glm-4.5-airx", + "name": "glm-4.5-airx", + "family": "glm", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-07-29", + "last_updated": "2025-07-29", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 16384 + }, + "cost": { + "input": 0.572, + "output": 1.714 + } }, "gpt-4.1": { "id": "gpt-4.1", - "name": "GPT-4.1", + "name": "gpt-4.1", "family": "gpt", "attachment": true, "reasoning": false, @@ -1085,44 +2311,15500 @@ "knowledge": "2024-04", "release_date": "2025-04-14", "last_updated": "2025-04-14", - "modalities": { "input": ["text", "image"], "output": ["text"] }, + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, "open_weights": false, - "cost": { "input": 2, "output": 8, "cache_read": 0.5 }, - "limit": { "context": 1047576, "output": 32768 } + "limit": { + "context": 1047576, + "output": 32768 + }, + "cost": { + "input": 2, + "output": 8 + } }, - "gpt-5.1-chat-latest": { - "id": "gpt-5.1-chat-latest", - "name": "GPT-5.1 Chat", + "kimi-k2-thinking": { + "id": "kimi-k2-thinking", + "name": "kimi-k2-thinking", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-06", + "release_date": "2025-09-05", + "last_updated": "2025-09-05", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 262144, + "output": 262144 + }, + "cost": { + "input": 0.575, + "output": 2.3 + } + }, + "gemini-2.0-flash-lite": { + "id": "gemini-2.0-flash-lite", + "name": "gemini-2.0-flash-lite", + "family": "gemini-flash-lite", + "attachment": true, + "reasoning": false, + "tool_call": false, + "temperature": true, + "knowledge": "2024-11", + "release_date": "2025-06-16", + "last_updated": "2025-06-16", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 2000000, + "output": 8192 + }, + "cost": { + "input": 0.075, + "output": 0.3 + } + }, + "gpt-4.1-mini": { + "id": "gpt-4.1-mini", + "name": "gpt-4.1-mini", + "family": "gpt-mini", + "attachment": true, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2024-04", + "release_date": "2025-04-14", + "last_updated": "2025-04-14", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1047576, + "output": 32768 + }, + "cost": { + "input": 0.4, + "output": 1.6 + } + }, + "grok-4-fast-non-reasoning": { + "id": "grok-4-fast-non-reasoning", + "name": "grok-4-fast-non-reasoning", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-06", + "release_date": "2025-09-23", + "last_updated": "2025-09-23", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 2000000, + "output": 30000 + }, + "cost": { + "input": 0.2, + "output": 0.5 + } + }, + "doubao-seed-1-6-thinking-250715": { + "id": "doubao-seed-1-6-thinking-250715", + "name": "doubao-seed-1-6-thinking-250715", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2025-07-15", + "last_updated": "2025-07-15", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 256000, + "output": 16000 + }, + "cost": { + "input": 0.121, + "output": 1.21 + } + }, + "ministral-14b-2512": { + "id": "ministral-14b-2512", + "name": "ministral-14b-2512", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-12", + "release_date": "2025-12-16", + "last_updated": "2025-12-16", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 128000 + }, + "cost": { + "input": 0.33, + "output": 0.33 + } + } + } + }, + "alibaba": { + "id": "alibaba", + "env": ["DASHSCOPE_API_KEY"], + "npm": "@ai-sdk/openai-compatible", + "api": "https://dashscope-intl.aliyuncs.com/compatible-mode/v1", + "name": "Alibaba", + "doc": "https://www.alibabacloud.com/help/en/model-studio/models", + "models": { + "qwen3-235b-a22b": { + "id": "qwen3-235b-a22b", + "name": "Qwen3 235B-A22B", + "family": "qwen", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-04", + "last_updated": "2025-04", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 16384 + }, + "cost": { + "input": 0.7, + "output": 2.8, + "reasoning": 8.4 + } + }, + "qwen3.5-122b-a10b": { + "id": "qwen3.5-122b-a10b", + "name": "Qwen3.5 122B-A10B", + "family": "qwen", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2026-02-23", + "last_updated": "2026-02-23", + "modalities": { + "input": ["text", "image", "video", "audio"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 65536 + }, + "cost": { + "input": 0.4, + "output": 3.2 + } + }, + "qwen3-coder-plus": { + "id": "qwen3-coder-plus", + "name": "Qwen3 Coder Plus", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-07-23", + "last_updated": "2025-07-23", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 1048576, + "output": 65536 + }, + "cost": { + "input": 1, + "output": 5 + } + }, + "qwen3.6-27b": { + "id": "qwen3.6-27b", + "name": "Qwen3.6 27B", + "family": "qwen", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2026-04-22", + "last_updated": "2026-04-22", + "modalities": { + "input": ["text", "image", "video", "audio"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 65536 + }, + "cost": { + "input": 0.6, + "output": 3.6 + } + }, + "qwen3.5-27b": { + "id": "qwen3.5-27b", + "name": "Qwen3.5 27B", + "family": "qwen", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2026-02-23", + "last_updated": "2026-02-23", + "modalities": { + "input": ["text", "image", "video", "audio"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 65536 + }, + "cost": { + "input": 0.3, + "output": 2.4 + } + }, + "qwen-vl-ocr": { + "id": "qwen-vl-ocr", + "name": "Qwen-VL OCR", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "knowledge": "2024-04", + "release_date": "2024-10-28", + "last_updated": "2025-04-13", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 34096, + "output": 4096 + }, + "cost": { + "input": 0.72, + "output": 0.72 + } + }, + "qwen-omni-turbo-realtime": { + "id": "qwen-omni-turbo-realtime", + "name": "Qwen-Omni Turbo Realtime", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-04", + "release_date": "2025-05-08", + "last_updated": "2025-05-08", + "modalities": { + "input": ["text", "image", "audio"], + "output": ["text", "audio"] + }, + "open_weights": false, + "limit": { + "context": 32768, + "output": 2048 + }, + "cost": { + "input": 0.27, + "output": 1.07, + "input_audio": 4.44, + "output_audio": 8.89 + } + }, + "qwen3-8b": { + "id": "qwen3-8b", + "name": "Qwen3 8B", + "family": "qwen", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-04", + "last_updated": "2025-04", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 8192 + }, + "cost": { + "input": 0.18, + "output": 0.7, + "reasoning": 2.1 + } + }, + "qwen3.5-397b-a17b": { + "id": "qwen3.5-397b-a17b", + "name": "Qwen3.5 397B-A17B", + "family": "qwen", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2026-02-15", + "last_updated": "2026-02-15", + "modalities": { + "input": ["text", "image", "video", "audio"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 65536 + }, + "cost": { + "input": 0.6, + "output": 3.6 + } + }, + "qwq-plus": { + "id": "qwq-plus", + "name": "QwQ Plus", + "family": "qwen", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-04", + "release_date": "2025-03-05", + "last_updated": "2025-03-05", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 131072, + "output": 8192 + }, + "cost": { + "input": 0.8, + "output": 2.4 + } + }, + "qwen-vl-plus": { + "id": "qwen-vl-plus", + "name": "Qwen-VL Plus", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-04", + "release_date": "2024-01-25", + "last_updated": "2025-08-15", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 131072, + "output": 8192 + }, + "cost": { + "input": 0.21, + "output": 0.63 + } + }, + "qwen3-livetranslate-flash-realtime": { + "id": "qwen3-livetranslate-flash-realtime", + "name": "Qwen3-LiveTranslate Flash Realtime", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "knowledge": "2024-04", + "release_date": "2025-09-22", + "last_updated": "2025-09-22", + "modalities": { + "input": ["text", "image", "audio", "video"], + "output": ["text", "audio"] + }, + "open_weights": false, + "limit": { + "context": 53248, + "output": 4096 + }, + "cost": { + "input": 10, + "output": 10, + "input_audio": 10, + "output_audio": 38 + } + }, + "qwen3-32b": { + "id": "qwen3-32b", + "name": "Qwen3 32B", + "family": "qwen", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-04", + "last_updated": "2025-04", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 16384 + }, + "cost": { + "input": 0.7, + "output": 2.8, + "reasoning": 8.4 + } + }, + "qwen-max": { + "id": "qwen-max", + "name": "Qwen Max", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-04", + "release_date": "2024-04-03", + "last_updated": "2025-01-25", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 32768, + "output": 8192 + }, + "cost": { + "input": 1.6, + "output": 6.4 + } + }, + "qwen-plus": { + "id": "qwen-plus", + "name": "Qwen Plus", + "family": "qwen", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-04", + "release_date": "2024-01-25", + "last_updated": "2025-09-11", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000000, + "output": 32768 + }, + "cost": { + "input": 0.4, + "output": 1.2, + "reasoning": 4 + } + }, + "qwen3.6-35b-a3b": { + "id": "qwen3.6-35b-a3b", + "name": "Qwen3.6 35B-A3B", + "family": "qwen", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2026-04-17", + "last_updated": "2026-04-17", + "modalities": { + "input": ["text", "image", "video", "audio"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 65536 + }, + "cost": { + "input": 0.248, + "output": 1.485 + } + }, + "qwen-omni-turbo": { + "id": "qwen-omni-turbo", + "name": "Qwen-Omni Turbo", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-04", + "release_date": "2025-01-19", + "last_updated": "2025-03-26", + "modalities": { + "input": ["text", "image", "audio", "video"], + "output": ["text", "audio"] + }, + "open_weights": false, + "limit": { + "context": 32768, + "output": 2048 + }, + "cost": { + "input": 0.07, + "output": 0.27, + "input_audio": 4.44, + "output_audio": 8.89 + } + }, + "qwen-flash": { + "id": "qwen-flash", + "name": "Qwen Flash", + "family": "qwen", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-04", + "release_date": "2025-07-28", + "last_updated": "2025-07-28", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000000, + "output": 32768 + }, + "cost": { + "input": 0.05, + "output": 0.4 + } + }, + "qwen2-5-vl-7b-instruct": { + "id": "qwen2-5-vl-7b-instruct", + "name": "Qwen2.5-VL 7B Instruct", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-04", + "release_date": "2024-09", + "last_updated": "2024-09", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 8192 + }, + "cost": { + "input": 0.35, + "output": 1.05 + } + }, + "qwen3.6-plus": { + "id": "qwen3.6-plus", + "name": "Qwen3.6 Plus", + "family": "qwen", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2026-04-02", + "last_updated": "2026-04-02", + "modalities": { + "input": ["text", "image", "video"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000000, + "output": 65536 + }, + "cost": { + "input": 0.5, + "output": 3, + "cache_read": 0.05, + "cache_write": 0.625, + "tiers": [ + { + "input": 2, + "output": 6, + "cache_read": 0.2, + "cache_write": 2.5, + "tier": { + "type": "context", + "size": 256000 + } + } + ], + "context_over_200k": { + "input": 2, + "output": 6, + "cache_read": 0.2, + "cache_write": 2.5 + } + } + }, + "qwen3-max": { + "id": "qwen3-max", + "name": "Qwen3 Max", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-09-23", + "last_updated": "2025-09-23", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 262144, + "output": 65536 + }, + "cost": { + "input": 1.2, + "output": 6 + } + }, + "qwen3-omni-flash": { + "id": "qwen3-omni-flash", + "name": "Qwen3-Omni Flash", + "family": "qwen", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-04", + "release_date": "2025-09-15", + "last_updated": "2025-09-15", + "modalities": { + "input": ["text", "image", "audio", "video"], + "output": ["text", "audio"] + }, + "open_weights": false, + "limit": { + "context": 65536, + "output": 16384 + }, + "cost": { + "input": 0.43, + "output": 1.66, + "input_audio": 3.81, + "output_audio": 15.11 + } + }, + "qwen2-5-72b-instruct": { + "id": "qwen2-5-72b-instruct", + "name": "Qwen2.5 72B Instruct", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-04", + "release_date": "2024-09", + "last_updated": "2024-09", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 8192 + }, + "cost": { + "input": 1.4, + "output": 5.6 + } + }, + "qwen3-vl-235b-a22b": { + "id": "qwen3-vl-235b-a22b", + "name": "Qwen3-VL 235B-A22B", + "family": "qwen", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-04", + "last_updated": "2025-04", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 32768 + }, + "cost": { + "input": 0.7, + "output": 2.8, + "reasoning": 8.4 + } + }, + "qwen3-asr-flash": { + "id": "qwen3-asr-flash", + "name": "Qwen3-ASR Flash", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": false, + "knowledge": "2024-04", + "release_date": "2025-09-08", + "last_updated": "2025-09-08", + "modalities": { + "input": ["audio"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 53248, + "output": 4096 + }, + "cost": { + "input": 0.035, + "output": 0.035 + } + }, + "qwen3-next-80b-a3b-thinking": { + "id": "qwen3-next-80b-a3b-thinking", + "name": "Qwen3-Next 80B-A3B (Thinking)", + "family": "qwen", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-09", + "last_updated": "2025-09", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 32768 + }, + "cost": { + "input": 0.5, + "output": 6 + } + }, + "qwen-mt-plus": { + "id": "qwen-mt-plus", + "name": "Qwen-MT Plus", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "knowledge": "2024-04", + "release_date": "2025-01", + "last_updated": "2025-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 16384, + "output": 8192 + }, + "cost": { + "input": 2.46, + "output": 7.37 + } + }, + "qwen-vl-max": { + "id": "qwen-vl-max", + "name": "Qwen-VL Max", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-04", + "release_date": "2024-04-08", + "last_updated": "2025-08-13", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 131072, + "output": 8192 + }, + "cost": { + "input": 0.8, + "output": 3.2 + } + }, + "qwen3-coder-flash": { + "id": "qwen3-coder-flash", + "name": "Qwen3 Coder Flash", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-07-28", + "last_updated": "2025-07-28", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000000, + "output": 65536 + }, + "cost": { + "input": 0.3, + "output": 1.5 + } + }, + "qwen2-5-7b-instruct": { + "id": "qwen2-5-7b-instruct", + "name": "Qwen2.5 7B Instruct", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-04", + "release_date": "2024-09", + "last_updated": "2024-09", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 8192 + }, + "cost": { + "input": 0.175, + "output": 0.7 + } + }, + "qwen2-5-14b-instruct": { + "id": "qwen2-5-14b-instruct", + "name": "Qwen2.5 14B Instruct", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-04", + "release_date": "2024-09", + "last_updated": "2024-09", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 8192 + }, + "cost": { + "input": 0.35, + "output": 1.4 + } + }, + "qwen2-5-32b-instruct": { + "id": "qwen2-5-32b-instruct", + "name": "Qwen2.5 32B Instruct", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-04", + "release_date": "2024-09", + "last_updated": "2024-09", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 8192 + }, + "cost": { + "input": 0.7, + "output": 2.8 + } + }, + "qwen3-next-80b-a3b-instruct": { + "id": "qwen3-next-80b-a3b-instruct", + "name": "Qwen3-Next 80B-A3B Instruct", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-09", + "last_updated": "2025-09", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 32768 + }, + "cost": { + "input": 0.5, + "output": 2 + } + }, + "qwen-plus-character-ja": { + "id": "qwen-plus-character-ja", + "name": "Qwen Plus Character (Japanese)", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-04", + "release_date": "2024-01", + "last_updated": "2024-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 8192, + "output": 512 + }, + "cost": { + "input": 0.5, + "output": 1.4 + } + }, + "qwen3-omni-flash-realtime": { + "id": "qwen3-omni-flash-realtime", + "name": "Qwen3-Omni Flash Realtime", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-04", + "release_date": "2025-09-15", + "last_updated": "2025-09-15", + "modalities": { + "input": ["text", "image", "audio", "video"], + "output": ["text", "audio"] + }, + "open_weights": false, + "limit": { + "context": 65536, + "output": 16384 + }, + "cost": { + "input": 0.52, + "output": 1.99, + "input_audio": 4.57, + "output_audio": 18.13 + } + }, + "qwen3-vl-30b-a3b": { + "id": "qwen3-vl-30b-a3b", + "name": "Qwen3-VL 30B-A3B", + "family": "qwen", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-04", + "last_updated": "2025-04", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 32768 + }, + "cost": { + "input": 0.2, + "output": 0.8, + "reasoning": 2.4 + } + }, + "qwen3-vl-plus": { + "id": "qwen3-vl-plus", + "name": "Qwen3-VL Plus", + "family": "qwen", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-09-23", + "last_updated": "2025-09-23", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 262144, + "output": 32768 + }, + "cost": { + "input": 0.2, + "output": 1.6, + "reasoning": 4.8 + } + }, + "qwen3-coder-480b-a35b-instruct": { + "id": "qwen3-coder-480b-a35b-instruct", + "name": "Qwen3-Coder 480B-A35B Instruct", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-04", + "last_updated": "2025-04", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 65536 + }, + "cost": { + "input": 1.5, + "output": 7.5 + } + }, + "qwen3-coder-30b-a3b-instruct": { + "id": "qwen3-coder-30b-a3b-instruct", + "name": "Qwen3-Coder 30B-A3B Instruct", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-04", + "last_updated": "2025-04", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 65536 + }, + "cost": { + "input": 0.45, + "output": 2.25 + } + }, + "qwen-turbo": { + "id": "qwen-turbo", + "name": "Qwen Turbo", + "family": "qwen", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-04", + "release_date": "2024-11-01", + "last_updated": "2025-04-28", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000000, + "output": 16384 + }, + "cost": { + "input": 0.05, + "output": 0.2, + "reasoning": 0.5 + } + }, + "qwen-mt-turbo": { + "id": "qwen-mt-turbo", + "name": "Qwen-MT Turbo", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "knowledge": "2024-04", + "release_date": "2025-01", + "last_updated": "2025-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 16384, + "output": 8192 + }, + "cost": { + "input": 0.16, + "output": 0.49 + } + }, + "qwen3.6-max-preview": { + "id": "qwen3.6-max-preview", + "name": "Qwen3.6 Max Preview", + "family": "qwen", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2026-04-20", + "last_updated": "2026-04-20", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 262144, + "output": 65536 + }, + "cost": { + "input": 1.3, + "output": 7.8, + "cache_read": 0.13, + "cache_write": 1.625 + } + }, + "qwen2-5-omni-7b": { + "id": "qwen2-5-omni-7b", + "name": "Qwen2.5-Omni 7B", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-04", + "release_date": "2024-12", + "last_updated": "2024-12", + "modalities": { + "input": ["text", "image", "audio", "video"], + "output": ["text", "audio"] + }, + "open_weights": true, + "limit": { + "context": 32768, + "output": 2048 + }, + "cost": { + "input": 0.1, + "output": 0.4, + "input_audio": 6.76 + } + }, + "qwen3.5-plus": { + "id": "qwen3.5-plus", + "name": "Qwen3.5 Plus", + "family": "qwen", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2026-02-16", + "last_updated": "2026-02-16", + "modalities": { + "input": ["text", "image", "video"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000000, + "output": 65536 + }, + "cost": { + "input": 0.4, + "output": 2.4, + "reasoning": 2.4 + } + }, + "qwen2-5-vl-72b-instruct": { + "id": "qwen2-5-vl-72b-instruct", + "name": "Qwen2.5-VL 72B Instruct", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-04", + "release_date": "2024-09", + "last_updated": "2024-09", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 8192 + }, + "cost": { + "input": 2.8, + "output": 8.4 + } + }, + "qvq-max": { + "id": "qvq-max", + "name": "QVQ Max", + "family": "qvq", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-04", + "release_date": "2025-03-25", + "last_updated": "2025-03-25", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 131072, + "output": 8192 + }, + "cost": { + "input": 1.2, + "output": 4.8 + } + }, + "qwen3-14b": { + "id": "qwen3-14b", + "name": "Qwen3 14B", + "family": "qwen", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-04", + "last_updated": "2025-04", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 8192 + }, + "cost": { + "input": 0.35, + "output": 1.4, + "reasoning": 4.2 + } + }, + "qwen3.5-35b-a3b": { + "id": "qwen3.5-35b-a3b", + "name": "Qwen3.5 35B-A3B", + "family": "qwen", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2026-02-23", + "last_updated": "2026-02-23", + "modalities": { + "input": ["text", "image", "video", "audio"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 65536 + }, + "cost": { + "input": 0.25, + "output": 2 + } + } + } + }, + "scaleway": { + "id": "scaleway", + "env": ["SCALEWAY_API_KEY"], + "npm": "@ai-sdk/openai-compatible", + "api": "https://api.scaleway.ai/v1", + "name": "Scaleway", + "doc": "https://www.scaleway.com/en/docs/generative-apis/", + "models": { + "qwen3-embedding-8b": { + "id": "qwen3-embedding-8b", + "name": "Qwen3 Embedding 8B", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": false, + "release_date": "2025-25-11", + "last_updated": "2026-03-17", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 32768, + "output": 4096 + }, + "cost": { + "input": 0.1, + "output": 0 + } + }, + "qwen3-235b-a22b-instruct-2507": { + "id": "qwen3-235b-a22b-instruct-2507", + "name": "Qwen3 235B A22B Instruct 2507", + "family": "qwen", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "release_date": "2025-07-01", + "last_updated": "2026-03-17", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 260000, + "output": 16384 + }, + "cost": { + "input": 0.75, + "output": 2.25 + } + }, + "llama-3.3-70b-instruct": { + "id": "llama-3.3-70b-instruct", + "name": "Llama-3.3-70B-Instruct", + "family": "llama", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2023-12", + "release_date": "2024-12-06", + "last_updated": "2026-03-17", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 100000, + "output": 16384 + }, + "cost": { + "input": 0.9, + "output": 0.9 + } + }, + "qwen3.5-397b-a17b": { + "id": "qwen3.5-397b-a17b", + "name": "Qwen3.5 397B A17B", + "family": "qwen", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2026-03-17", + "last_updated": "2026-03-17", + "modalities": { + "input": ["text", "image", "video"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 256000, + "output": 16384 + }, + "cost": { + "input": 0.6, + "output": 3.6 + } + }, + "devstral-2-123b-instruct-2512": { + "id": "devstral-2-123b-instruct-2512", + "name": "Devstral 2 123B Instruct (2512)", + "family": "devstral", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "release_date": "2026-01-07", + "last_updated": "2026-03-17", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 256000, + "output": 16384 + }, + "cost": { + "input": 0.4, + "output": 2 + } + }, + "deepseek-r1-distill-llama-70b": { + "id": "deepseek-r1-distill-llama-70b", + "name": "DeepSeek R1 Distill Llama 70B", + "family": "deepseek-thinking", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-07", + "release_date": "2025-01-20", + "last_updated": "2026-03-17", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 32000, + "output": 8196 + }, + "cost": { + "input": 0.9, + "output": 0.9 + } + }, + "pixtral-12b-2409": { + "id": "pixtral-12b-2409", + "name": "Pixtral 12B 2409", + "family": "pixtral", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "release_date": "2024-09-25", + "last_updated": "2026-03-17", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 4096 + }, + "cost": { + "input": 0.2, + "output": 0.2 + } + }, + "whisper-large-v3": { + "id": "whisper-large-v3", + "name": "Whisper Large v3", + "family": "whisper", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": false, + "knowledge": "2023-09", + "release_date": "2023-09-01", + "last_updated": "2026-03-17", + "modalities": { + "input": ["audio"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 0, + "output": 8192 + }, + "cost": { + "input": 0.003, + "output": 0 + } + }, + "voxtral-small-24b-2507": { + "id": "voxtral-small-24b-2507", + "name": "Voxtral Small 24B 2507", + "family": "voxtral", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "release_date": "2025-07-01", + "last_updated": "2026-03-17", + "modalities": { + "input": ["text", "audio"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 32000, + "output": 16384 + }, + "cost": { + "input": 0.15, + "output": 0.35 + } + }, + "gemma-3-27b-it": { + "id": "gemma-3-27b-it", + "name": "Gemma-3-27B-IT", + "family": "gemma", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-12", + "release_date": "2024-12-01", + "last_updated": "2026-03-17", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 40000, + "output": 8192 + }, + "cost": { + "input": 0.25, + "output": 0.5 + } + }, + "bge-multilingual-gemma2": { + "id": "bge-multilingual-gemma2", + "name": "BGE Multilingual Gemma2", + "family": "gemma", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": false, + "release_date": "2024-07-26", + "last_updated": "2025-06-15", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 8191, + "output": 3072 + }, + "cost": { + "input": 0.1, + "output": 0 + } + }, + "qwen3-coder-30b-a3b-instruct": { + "id": "qwen3-coder-30b-a3b-instruct", + "name": "Qwen3-Coder 30B-A3B Instruct", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-04", + "last_updated": "2026-03-17", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 32768 + }, + "cost": { + "input": 0.2, + "output": 0.8 + } + }, + "mistral-small-3.2-24b-instruct-2506": { + "id": "mistral-small-3.2-24b-instruct-2506", + "name": "Mistral Small 3.2 24B Instruct (2506)", + "family": "mistral-small", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "release_date": "2025-06-20", + "last_updated": "2026-03-17", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 32768 + }, + "cost": { + "input": 0.15, + "output": 0.35 + } + }, + "gpt-oss-120b": { + "id": "gpt-oss-120b", + "name": "GPT-OSS 120B", + "family": "gpt-oss", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "release_date": "2024-01-01", + "last_updated": "2026-03-17", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 32768 + }, + "cost": { + "input": 0.15, + "output": 0.6 + } + }, + "mistral-nemo-instruct-2407": { + "id": "mistral-nemo-instruct-2407", + "name": "Mistral Nemo Instruct 2407", + "family": "mistral-nemo", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "release_date": "2024-07-25", + "last_updated": "2026-03-17", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 8192 + }, + "cost": { + "input": 0.2, + "output": 0.2 + } + }, + "llama-3.1-8b-instruct": { + "id": "llama-3.1-8b-instruct", + "name": "Llama 3.1 8B Instruct", + "family": "llama", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2023-12", + "release_date": "2025-01-01", + "last_updated": "2026-03-17", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 16384 + }, + "cost": { + "input": 0.2, + "output": 0.2 + } + } + } + }, + "nano-gpt": { + "id": "nano-gpt", + "env": ["NANO_GPT_API_KEY"], + "npm": "@ai-sdk/openai-compatible", + "api": "https://nano-gpt.com/api/v1", + "name": "NanoGPT", + "doc": "https://docs.nano-gpt.com", + "models": { + "glm-4-flash": { + "id": "glm-4-flash", + "name": "GLM-4 Flash", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2024-08-01", + "last_updated": "2024-08-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "input": 128000, + "output": 4096 + }, + "cost": { + "input": 0.1003, + "output": 0.1003 + } + }, + "Meta-Llama-3-1-8B-Instruct-FP8": { + "id": "Meta-Llama-3-1-8B-Instruct-FP8", + "name": "Llama 3.1 8B (decentralized)", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2024-07-23", + "last_updated": "2024-07-23", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "input": 128000, + "output": 16384 + }, + "cost": { + "input": 0.02, + "output": 0.03 + } + }, + "claude-opus-4-thinking:32000": { + "id": "claude-opus-4-thinking:32000", + "name": "Claude 4 Opus Thinking (32K)", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "release_date": "2025-05-22", + "last_updated": "2025-05-22", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "input": 200000, + "output": 32000 + }, + "cost": { + "input": 14.994, + "output": 75.004 + } + }, + "gemini-2.5-pro-preview-05-06": { + "id": "gemini-2.5-pro-preview-05-06", + "name": "Gemini 2.5 Pro Preview 0506", + "attachment": true, + "reasoning": true, + "tool_call": false, + "structured_output": false, + "release_date": "2025-05-06", + "last_updated": "2025-05-06", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1048756, + "input": 1048756, + "output": 65536 + }, + "cost": { + "input": 2.5, + "output": 10 + } + }, + "grok-3-mini-fast-beta": { + "id": "grok-3-mini-fast-beta", + "name": "Grok 3 Mini Fast Beta", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-02-17", + "last_updated": "2025-02-17", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 131072, + "input": 131072, + "output": 131072 + }, + "cost": { + "input": 0.6, + "output": 4 + } + }, + "MiniMax-M2": { + "id": "MiniMax-M2", + "name": "MiniMax M2", + "attachment": false, + "reasoning": true, + "tool_call": false, + "structured_output": false, + "release_date": "2025-10-25", + "last_updated": "2025-10-25", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "input": 200000, + "output": 131072 + }, + "cost": { + "input": 0.17, + "output": 1.53 + } + }, + "command-a-reasoning-08-2025": { + "id": "command-a-reasoning-08-2025", + "name": "Cohere Command A (08/2025)", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-08-22", + "last_updated": "2025-08-22", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 256000, + "input": 256000, + "output": 8192 + }, + "cost": { + "input": 2.5, + "output": 10 + } + }, + "brave": { + "id": "brave", + "name": "Brave (Answers)", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2023-03-02", + "last_updated": "2024-01-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 8192, + "input": 8192, + "output": 8192 + }, + "cost": { + "input": 5, + "output": 5 + } + }, + "exa-research": { + "id": "exa-research", + "name": "Exa (Research)", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-06-04", + "last_updated": "2025-06-04", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 8192, + "input": 8192, + "output": 8192 + }, + "cost": { + "input": 2.5, + "output": 2.5 + } + }, + "Llama-3.3-70B-Nova": { + "id": "Llama-3.3-70B-Nova", + "name": "Llama 3.3 70B Nova", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2024-12-06", + "last_updated": "2024-12-06", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 32768, + "input": 32768, + "output": 16384 + }, + "cost": { + "input": 0.306, + "output": 0.306 + } + }, + "gemini-exp-1206": { + "id": "gemini-exp-1206", + "name": "Gemini 2.0 Pro 1206", + "attachment": true, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2024-12-06", + "last_updated": "2024-12-06", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 2097152, + "input": 2097152, + "output": 8192 + }, + "cost": { + "input": 1.258, + "output": 4.998 + } + }, + "claude-opus-4-5-20251101": { + "id": "claude-opus-4-5-20251101", + "name": "Claude 4.5 Opus", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "release_date": "2025-11-01", + "last_updated": "2025-11-01", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "input": 200000, + "output": 32000 + }, + "cost": { + "input": 4.998, + "output": 25.007 + } + }, + "auto-model-basic": { + "id": "auto-model-basic", + "name": "Auto model (Basic)", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2024-06-01", + "last_updated": "2024-06-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000000, + "input": 1000000, + "output": 1000000 + }, + "cost": { + "input": 9.996, + "output": 19.992 + } + }, + "jamba-mini": { + "id": "jamba-mini", + "name": "Jamba Mini", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-07-09", + "last_updated": "2025-07-09", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 256000, + "input": 256000, + "output": 4096 + }, + "cost": { + "input": 0.1989, + "output": 0.408 + } + }, + "gemini-2.5-flash-lite-preview-09-2025": { + "id": "gemini-2.5-flash-lite-preview-09-2025", + "name": "Gemini 2.5 Flash Lite Preview (09/2025)", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "release_date": "2025-09-25", + "last_updated": "2025-09-25", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1048756, + "input": 1048756, + "output": 65536 + }, + "cost": { + "input": 0.1, + "output": 0.4 + } + }, + "yi-large": { + "id": "yi-large", + "name": "Yi Large", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2024-05-13", + "last_updated": "2024-05-13", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 32000, + "input": 32000, + "output": 4096 + }, + "cost": { + "input": 3.196, + "output": 3.196 + } + }, + "auto-model-premium": { + "id": "auto-model-premium", + "name": "Auto model (Premium)", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2024-06-01", + "last_updated": "2024-06-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000000, + "input": 1000000, + "output": 1000000 + }, + "cost": { + "input": 9.996, + "output": 19.992 + } + }, + "azure-gpt-4o": { + "id": "azure-gpt-4o", + "name": "Azure gpt-4o", + "attachment": true, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "release_date": "2024-05-13", + "last_updated": "2024-05-13", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "input": 128000, + "output": 16384 + }, + "cost": { + "input": 2.499, + "output": 9.996 + } + }, + "deepseek-v3-0324": { + "id": "deepseek-v3-0324", + "name": "DeepSeek Chat 0324", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "release_date": "2025-03-24", + "last_updated": "2025-03-24", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "input": 128000, + "output": 8192 + }, + "cost": { + "input": 0.25, + "output": 0.7 + } + }, + "claude-3-5-haiku-20241022": { + "id": "claude-3-5-haiku-20241022", + "name": "Claude 3.5 Haiku", + "attachment": true, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "release_date": "2024-10-22", + "last_updated": "2024-10-22", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "input": 200000, + "output": 8192 + }, + "cost": { + "input": 0.8, + "output": 4 + } + }, + "doubao-seed-1-8-251215": { + "id": "doubao-seed-1-8-251215", + "name": "Doubao Seed 1.8", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-12-15", + "last_updated": "2025-12-15", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "input": 128000, + "output": 8192 + }, + "cost": { + "input": 0.612, + "output": 6.12 + } + }, + "doubao-seed-1-6-250615": { + "id": "doubao-seed-1-6-250615", + "name": "Doubao Seed 1.6", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-06-15", + "last_updated": "2025-06-15", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 256000, + "input": 256000, + "output": 16384 + }, + "cost": { + "input": 0.204, + "output": 0.51 + } + }, + "ernie-x1.1-preview": { + "id": "ernie-x1.1-preview", + "name": "ERNIE X1.1", + "attachment": true, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-09-10", + "last_updated": "2025-09-10", + "modalities": { + "input": ["text", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 64000, + "input": 64000, + "output": 8192 + }, + "cost": { + "input": 0.15, + "output": 0.6 + } + }, + "ernie-5.0-thinking-preview": { + "id": "ernie-5.0-thinking-preview", + "name": "Ernie 5.0 Thinking Preview", + "attachment": true, + "reasoning": true, + "tool_call": false, + "structured_output": false, + "release_date": "2025-11-18", + "last_updated": "2025-11-18", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "input": 128000, + "output": 16384 + }, + "cost": { + "input": 1.1, + "output": 2 + } + }, + "glm-4-air-0111": { + "id": "glm-4-air-0111", + "name": "GLM 4 Air 0111", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-01-11", + "last_updated": "2025-01-11", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "input": 128000, + "output": 4096 + }, + "cost": { + "input": 0.1394, + "output": 0.1394 + } + }, + "fastgpt": { + "id": "fastgpt", + "name": "Web Answer", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2023-08-01", + "last_updated": "2024-01-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 32768, + "input": 32768, + "output": 32768 + }, + "cost": { + "input": 7.5, + "output": 7.5 + } + }, + "doubao-seed-1-6-thinking-250615": { + "id": "doubao-seed-1-6-thinking-250615", + "name": "Doubao Seed 1.6 Thinking", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-06-15", + "last_updated": "2025-06-15", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 256000, + "input": 256000, + "output": 16384 + }, + "cost": { + "input": 0.204, + "output": 2.04 + } + }, + "gemini-2.0-flash-001": { + "id": "gemini-2.0-flash-001", + "name": "Gemini 2.0 Flash", + "attachment": true, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "release_date": "2024-12-11", + "last_updated": "2024-12-11", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000000, + "input": 1000000, + "output": 8192 + }, + "cost": { + "input": 0.1003, + "output": 0.408 + } + }, + "claude-opus-4-1-thinking:32000": { + "id": "claude-opus-4-1-thinking:32000", + "name": "Claude 4.1 Opus Thinking (32K)", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "release_date": "2025-05-22", + "last_updated": "2025-05-22", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "input": 200000, + "output": 32000 + }, + "cost": { + "input": 14.994, + "output": 75.004 + } + }, + "Llama-3.3-70B-RAWMAW": { + "id": "Llama-3.3-70B-RAWMAW", + "name": "Llama 3.3 70B RAWMAW", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2024-12-06", + "last_updated": "2024-12-06", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 32768, + "input": 32768, + "output": 16384 + }, + "cost": { + "input": 0.306, + "output": 0.306 + } + }, + "GLM-4.5-Air-Derestricted-Steam": { + "id": "GLM-4.5-Air-Derestricted-Steam", + "name": "GLM 4.5 Air Derestricted Steam", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-07-28", + "last_updated": "2025-07-28", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 220600, + "input": 220600, + "output": 65536 + }, + "cost": { + "input": 0.306, + "output": 0.306 + } + }, + "claude-3-5-sonnet-20241022": { + "id": "claude-3-5-sonnet-20241022", + "name": "Claude 3.5 Sonnet", + "attachment": true, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "release_date": "2025-08-26", + "last_updated": "2025-08-26", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "input": 200000, + "output": 8192 + }, + "cost": { + "input": 2.992, + "output": 14.994 + } + }, + "yi-medium-200k": { + "id": "yi-medium-200k", + "name": "Yi Medium 200k", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2024-03-01", + "last_updated": "2024-03-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "input": 200000, + "output": 4096 + }, + "cost": { + "input": 2.499, + "output": 2.499 + } + }, + "Gemma-3-27B-ArliAI-RPMax-v3": { + "id": "Gemma-3-27B-ArliAI-RPMax-v3", + "name": "Gemma 3 27B RPMax v3", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-07-03", + "last_updated": "2025-07-03", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 32768, + "input": 32768, + "output": 16384 + }, + "cost": { + "input": 0.306, + "output": 0.306 + } + }, + "phi-4-mini-instruct": { + "id": "phi-4-mini-instruct", + "name": "Phi 4 Mini", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-07-26", + "last_updated": "2025-07-26", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "input": 128000, + "output": 16384 + }, + "cost": { + "input": 0.17, + "output": 0.68 + } + }, + "Llama-3.3+(3v3.3)-70B-TenyxChat-DaybreakStorywriter": { + "id": "Llama-3.3+(3v3.3)-70B-TenyxChat-DaybreakStorywriter", + "name": "Llama 3.3+ 70B TenyxChat DaybreakStorywriter", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2024-12-06", + "last_updated": "2024-12-06", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 32768, + "input": 32768, + "output": 16384 + }, + "cost": { + "input": 0.306, + "output": 0.306 + } + }, + "ernie-x1-32k": { + "id": "ernie-x1-32k", + "name": "Ernie X1 32k", + "attachment": true, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-05-08", + "last_updated": "2025-05-08", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 32000, + "input": 32000, + "output": 16384 + }, + "cost": { + "input": 0.33, + "output": 1.32 + } + }, + "deepseek-chat": { + "id": "deepseek-chat", + "name": "DeepSeek V3/Deepseek Chat", + "attachment": true, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "release_date": "2025-02-27", + "last_updated": "2025-02-27", + "modalities": { + "input": ["text", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "input": 128000, + "output": 8192 + }, + "cost": { + "input": 0.25, + "output": 0.7 + } + }, + "glm-z1-air": { + "id": "glm-z1-air", + "name": "GLM Z1 Air", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "release_date": "2025-04-15", + "last_updated": "2025-04-15", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 32000, + "input": 32000, + "output": 16384 + }, + "cost": { + "input": 0.07, + "output": 0.07 + } + }, + "claude-3-7-sonnet-thinking:128000": { + "id": "claude-3-7-sonnet-thinking:128000", + "name": "Claude 3.7 Sonnet Thinking (128K)", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "release_date": "2025-02-24", + "last_updated": "2025-02-24", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "input": 200000, + "output": 64000 + }, + "cost": { + "input": 2.992, + "output": 14.994 + } + }, + "glm-4-air": { + "id": "glm-4-air", + "name": "GLM-4 Air", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2024-06-05", + "last_updated": "2024-06-05", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "input": 128000, + "output": 4096 + }, + "cost": { + "input": 0.2006, + "output": 0.2006 + } + }, + "Llama-3.3-70B-MiraiFanfare": { + "id": "Llama-3.3-70B-MiraiFanfare", + "name": "Llama 3.3 70b Mirai Fanfare", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-07-26", + "last_updated": "2025-07-26", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 32768, + "input": 32768, + "output": 16384 + }, + "cost": { + "input": 0.493, + "output": 0.493 + } + }, + "gemini-2.0-flash-thinking-exp-01-21": { + "id": "gemini-2.0-flash-thinking-exp-01-21", + "name": "Gemini 2.0 Flash Thinking 0121", + "attachment": true, + "reasoning": true, + "tool_call": false, + "structured_output": false, + "release_date": "2025-01-21", + "last_updated": "2025-01-21", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000000, + "input": 1000000, + "output": 8192 + }, + "cost": { + "input": 0.306, + "output": 1.003 + } + }, + "Magistral-Small-2506": { + "id": "Magistral-Small-2506", + "name": "Magistral Small 2506", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-09-25", + "last_updated": "2025-09-25", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 32768, + "input": 32768, + "output": 32768 + }, + "cost": { + "input": 0.4, + "output": 1.4 + } + }, + "doubao-1.5-pro-32k": { + "id": "doubao-1.5-pro-32k", + "name": "Doubao 1.5 Pro 32k", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-01-22", + "last_updated": "2025-01-22", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 32000, + "input": 32000, + "output": 8192 + }, + "cost": { + "input": 0.1343, + "output": 0.3349 + } + }, + "venice-uncensored:web": { + "id": "venice-uncensored:web", + "name": "Venice Uncensored Web", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2024-05-01", + "last_updated": "2024-05-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 80000, + "input": 80000, + "output": 16384 + }, + "cost": { + "input": 0.4, + "output": 0.4 + } + }, + "glm-4": { + "id": "glm-4", + "name": "GLM-4", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2024-01-16", + "last_updated": "2024-01-16", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "input": 128000, + "output": 4096 + }, + "cost": { + "input": 14.994, + "output": 14.994 + } + }, + "qwen-max": { + "id": "qwen-max", + "name": "Qwen 2.5 Max", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2024-04-03", + "last_updated": "2024-04-03", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 32000, + "input": 32000, + "output": 8192 + }, + "cost": { + "input": 1.5997, + "output": 6.392 + } + }, + "qwen3-vl-235b-a22b-instruct-original": { + "id": "qwen3-vl-235b-a22b-instruct-original", + "name": "Qwen3 VL 235B A22B Instruct Original", + "attachment": true, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-09-25", + "last_updated": "2025-09-25", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 32768, + "input": 32768, + "output": 32768 + }, + "cost": { + "input": 0.5, + "output": 1.2 + } + }, + "jamba-large-1.6": { + "id": "jamba-large-1.6", + "name": "Jamba Large 1.6", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-03-12", + "last_updated": "2025-03-12", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 256000, + "input": 256000, + "output": 4096 + }, + "cost": { + "input": 1.989, + "output": 7.99 + } + }, + "qwen-plus": { + "id": "qwen-plus", + "name": "Qwen Plus", + "attachment": false, + "reasoning": true, + "tool_call": false, + "structured_output": false, + "release_date": "2024-01-25", + "last_updated": "2024-01-25", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 995904, + "input": 995904, + "output": 32768 + }, + "cost": { + "input": 0.3995, + "output": 1.2002 + } + }, + "qwen25-vl-72b-instruct": { + "id": "qwen25-vl-72b-instruct", + "name": "Qwen25 VL 72b", + "attachment": true, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-05-10", + "last_updated": "2025-05-10", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 32000, + "input": 32000, + "output": 32768 + }, + "cost": { + "input": 0.69989, + "output": 0.69989 + } + }, + "claude-sonnet-4-thinking:64000": { + "id": "claude-sonnet-4-thinking:64000", + "name": "Claude 4 Sonnet Thinking (64K)", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "release_date": "2025-05-22", + "last_updated": "2025-05-22", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000000, + "input": 1000000, + "output": 64000 + }, + "cost": { + "input": 2.992, + "output": 14.994 + } + }, + "gemini-3-pro-preview": { + "id": "gemini-3-pro-preview", + "name": "Gemini 3 Pro", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "release_date": "2025-11-18", + "last_updated": "2025-11-18", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1048756, + "input": 1048756, + "output": 65536 + }, + "cost": { + "input": 2, + "output": 12 + } + }, + "Llama-3.3+(3.1v3.3)-70B-New-Dawn-v1.1": { + "id": "Llama-3.3+(3.1v3.3)-70B-New-Dawn-v1.1", + "name": "Llama 3.3+ 70B New Dawn v1.1", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2024-12-06", + "last_updated": "2024-12-06", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 32768, + "input": 32768, + "output": 16384 + }, + "cost": { + "input": 0.306, + "output": 0.306 + } + }, + "GLM-4.5-Air-Derestricted-Iceblink-ReExtract": { + "id": "GLM-4.5-Air-Derestricted-Iceblink-ReExtract", + "name": "GLM 4.5 Air Derestricted Iceblink ReExtract", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-12-12", + "last_updated": "2025-12-12", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 131072, + "input": 131072, + "output": 98304 + }, + "cost": { + "input": 0.306, + "output": 0.306 + } + }, + "universal-summarizer": { + "id": "universal-summarizer", + "name": "Universal Summarizer", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2023-05-01", + "last_updated": "2024-01-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 32768, + "input": 32768, + "output": 32768 + }, + "cost": { + "input": 30, + "output": 30 + } + }, + "claude-sonnet-4-thinking:32768": { + "id": "claude-sonnet-4-thinking:32768", + "name": "Claude 4 Sonnet Thinking (32K)", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "release_date": "2025-05-22", + "last_updated": "2025-05-22", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000000, + "input": 1000000, + "output": 64000 + }, + "cost": { + "input": 2.992, + "output": 14.994 + } + }, + "sarvan-medium": { + "id": "sarvan-medium", + "name": "Sarvam Medium", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-01-01", + "last_updated": "2025-01-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "input": 128000, + "output": 16384 + }, + "cost": { + "input": 0.25, + "output": 0.75 + } + }, + "claude-3-7-sonnet-thinking:8192": { + "id": "claude-3-7-sonnet-thinking:8192", + "name": "Claude 3.7 Sonnet Thinking (8K)", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "release_date": "2025-02-24", + "last_updated": "2025-02-24", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "input": 200000, + "output": 64000 + }, + "cost": { + "input": 2.992, + "output": 14.994 + } + }, + "gemini-2.5-flash-preview-05-20": { + "id": "gemini-2.5-flash-preview-05-20", + "name": "Gemini 2.5 Flash 0520", + "attachment": true, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-05-20", + "last_updated": "2025-05-20", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1048000, + "input": 1048000, + "output": 65536 + }, + "cost": { + "input": 0.15, + "output": 0.6 + } + }, + "GLM-4.5-Air-Derestricted-Iceblink-v2-ReExtract": { + "id": "GLM-4.5-Air-Derestricted-Iceblink-v2-ReExtract", + "name": "GLM 4.5 Air Derestricted Iceblink v2 ReExtract", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-12-12", + "last_updated": "2025-12-12", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 131072, + "input": 131072, + "output": 65536 + }, + "cost": { + "input": 0.306, + "output": 0.306 + } + }, + "Llama-3.3-70B-Fallen-v1": { + "id": "Llama-3.3-70B-Fallen-v1", + "name": "Llama 3.3 70B Fallen v1", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2024-12-06", + "last_updated": "2024-12-06", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 32768, + "input": 32768, + "output": 16384 + }, + "cost": { + "input": 0.306, + "output": 0.306 + } + }, + "qwen3-vl-235b-a22b-thinking": { + "id": "qwen3-vl-235b-a22b-thinking", + "name": "Qwen3 VL 235B A22B Thinking", + "attachment": true, + "reasoning": true, + "tool_call": false, + "structured_output": false, + "release_date": "2025-08-26", + "last_updated": "2025-08-26", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 32768, + "input": 32768, + "output": 32768 + }, + "cost": { + "input": 0.5, + "output": 6 + } + }, + "claude-3-7-sonnet-thinking:32768": { + "id": "claude-3-7-sonnet-thinking:32768", + "name": "Claude 3.7 Sonnet Thinking (32K)", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "release_date": "2025-07-15", + "last_updated": "2025-07-15", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "input": 200000, + "output": 64000 + }, + "cost": { + "input": 2.992, + "output": 14.994 + } + }, + "claude-3-7-sonnet-thinking:1024": { + "id": "claude-3-7-sonnet-thinking:1024", + "name": "Claude 3.7 Sonnet Thinking (1K)", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "release_date": "2025-02-24", + "last_updated": "2025-02-24", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "input": 200000, + "output": 64000 + }, + "cost": { + "input": 2.992, + "output": 14.994 + } + }, + "claude-sonnet-4-5-20250929": { + "id": "claude-sonnet-4-5-20250929", + "name": "Claude Sonnet 4.5", + "attachment": true, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "release_date": "2025-09-29", + "last_updated": "2025-09-29", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000000, + "input": 1000000, + "output": 64000 + }, + "cost": { + "input": 2.992, + "output": 14.994 + } + }, + "Llama-3.3-70B-Vulpecula-R1": { + "id": "Llama-3.3-70B-Vulpecula-R1", + "name": "Llama 3.3 70B Vulpecula R1", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2024-12-06", + "last_updated": "2024-12-06", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 32768, + "input": 32768, + "output": 16384 + }, + "cost": { + "input": 0.306, + "output": 0.306 + } + }, + "claude-sonnet-4-thinking:8192": { + "id": "claude-sonnet-4-thinking:8192", + "name": "Claude 4 Sonnet Thinking (8K)", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "release_date": "2025-05-22", + "last_updated": "2025-05-22", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000000, + "input": 1000000, + "output": 64000 + }, + "cost": { + "input": 2.992, + "output": 14.994 + } + }, + "gemini-2.5-pro": { + "id": "gemini-2.5-pro", + "name": "Gemini 2.5 Pro", + "attachment": true, + "reasoning": true, + "tool_call": false, + "structured_output": false, + "release_date": "2025-06-05", + "last_updated": "2025-06-05", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1048756, + "input": 1048756, + "output": 65536 + }, + "cost": { + "input": 2.5, + "output": 10 + } + }, + "Llama-3.3-70B-Ignition-v0.1": { + "id": "Llama-3.3-70B-Ignition-v0.1", + "name": "Llama 3.3 70B Ignition v0.1", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2024-12-06", + "last_updated": "2024-12-06", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 32768, + "input": 32768, + "output": 16384 + }, + "cost": { + "input": 0.306, + "output": 0.306 + } + }, + "glm-4-plus-0111": { + "id": "glm-4-plus-0111", + "name": "GLM 4 Plus 0111", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-02-19", + "last_updated": "2025-02-19", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "input": 128000, + "output": 4096 + }, + "cost": { + "input": 9.996, + "output": 9.996 + } + }, + "KAT-Coder-Air-V1": { + "id": "KAT-Coder-Air-V1", + "name": "KAT Coder Air V1", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-10-28", + "last_updated": "2025-10-28", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "input": 128000, + "output": 32768 + }, + "cost": { + "input": 0.1, + "output": 0.2 + } + }, + "deepseek-r1-sambanova": { + "id": "deepseek-r1-sambanova", + "name": "DeepSeek R1 Fast", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-02-20", + "last_updated": "2025-02-20", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "input": 128000, + "output": 4096 + }, + "cost": { + "input": 4.998, + "output": 6.987 + } + }, + "deepseek-r1": { + "id": "deepseek-r1", + "name": "DeepSeek R1", + "attachment": false, + "reasoning": true, + "tool_call": false, + "structured_output": false, + "release_date": "2025-01-20", + "last_updated": "2025-01-20", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "input": 128000, + "output": 8192 + }, + "cost": { + "input": 0.4, + "output": 1.7 + } + }, + "doubao-1-5-thinking-pro-250415": { + "id": "doubao-1-5-thinking-pro-250415", + "name": "Doubao 1.5 Thinking Pro", + "attachment": true, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-04-17", + "last_updated": "2025-04-17", + "modalities": { + "input": ["text", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "input": 128000, + "output": 16384 + }, + "cost": { + "input": 0.6, + "output": 2.4 + } + }, + "sonar-pro": { + "id": "sonar-pro", + "name": "Perplexity Pro", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-02-19", + "last_updated": "2025-02-19", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "input": 200000, + "output": 128000 + }, + "cost": { + "input": 2.992, + "output": 14.994 + } + }, + "Gemma-3-27B-it-Abliterated": { + "id": "Gemma-3-27B-it-Abliterated", + "name": "Gemma 3 27B IT Abliterated", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-07-03", + "last_updated": "2025-07-03", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 32768, + "input": 32768, + "output": 96000 + }, + "cost": { + "input": 0.42, + "output": 0.42 + } + }, + "deepseek-chat-cheaper": { + "id": "deepseek-chat-cheaper", + "name": "DeepSeek V3/Chat Cheaper", + "attachment": true, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "release_date": "2025-04-15", + "last_updated": "2025-04-15", + "modalities": { + "input": ["text", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "input": 128000, + "output": 8192 + }, + "cost": { + "input": 0.25, + "output": 0.7 + } + }, + "gemini-2.0-pro-exp-02-05": { + "id": "gemini-2.0-pro-exp-02-05", + "name": "Gemini 2.0 Pro 0205", + "attachment": true, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-02-05", + "last_updated": "2025-02-05", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 2097152, + "input": 2097152, + "output": 8192 + }, + "cost": { + "input": 1.989, + "output": 7.956 + } + }, + "azure-gpt-4o-mini": { + "id": "azure-gpt-4o-mini", + "name": "Azure gpt-4o-mini", + "attachment": true, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "release_date": "2024-07-18", + "last_updated": "2024-07-18", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "input": 128000, + "output": 16384 + }, + "cost": { + "input": 0.1496, + "output": 0.595 + } + }, + "Llama-3.3-70B-MS-Nevoria": { + "id": "Llama-3.3-70B-MS-Nevoria", + "name": "Llama 3.3 70B MS Nevoria", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2024-12-06", + "last_updated": "2024-12-06", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 32768, + "input": 32768, + "output": 16384 + }, + "cost": { + "input": 0.306, + "output": 0.306 + } + }, + "claude-opus-4-thinking": { + "id": "claude-opus-4-thinking", + "name": "Claude 4 Opus Thinking", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "release_date": "2025-07-15", + "last_updated": "2025-07-15", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "input": 200000, + "output": 32000 + }, + "cost": { + "input": 14.994, + "output": 75.004 + } + }, + "Llama-3.3-70B-Sapphira-0.1": { + "id": "Llama-3.3-70B-Sapphira-0.1", + "name": "Llama 3.3 70B Sapphira 0.1", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2024-12-06", + "last_updated": "2024-12-06", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 32768, + "input": 32768, + "output": 16384 + }, + "cost": { + "input": 0.306, + "output": 0.306 + } + }, + "doubao-seed-code-preview-latest": { + "id": "doubao-seed-code-preview-latest", + "name": "Doubao Seed Code Preview", + "attachment": false, + "reasoning": true, + "tool_call": false, + "structured_output": false, + "release_date": "2025-11-13", + "last_updated": "2025-11-13", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 256000, + "input": 256000, + "output": 16384 + }, + "cost": { + "input": 0.1, + "output": 0.4 + } + }, + "qwen-3.6-plus": { + "id": "qwen-3.6-plus", + "name": "Qwen 3.6 Plus", + "family": "qwen3.6", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2026-04-02", + "last_updated": "2026-04-02", + "modalities": { + "input": ["text", "image", "video"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 991800, + "output": 65536 + }, + "cost": { + "input": 0.45, + "output": 2.7 + } + }, + "Llama-3.3-70B-ArliAI-RPMax-v1.4": { + "id": "Llama-3.3-70B-ArliAI-RPMax-v1.4", + "name": "Llama 3.3 70B RPMax v1.4", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2024-12-06", + "last_updated": "2024-12-06", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 32768, + "input": 32768, + "output": 16384 + }, + "cost": { + "input": 0.306, + "output": 0.306 + } + }, + "mistral-small-31-24b-instruct": { + "id": "mistral-small-31-24b-instruct", + "name": "Mistral Small 31 24b Instruct", + "attachment": true, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-04-15", + "last_updated": "2025-04-15", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "input": 128000, + "output": 131072 + }, + "cost": { + "input": 0.1, + "output": 0.3 + } + }, + "glm-4.1v-thinking-flashx": { + "id": "glm-4.1v-thinking-flashx", + "name": "GLM 4.1V Thinking FlashX", + "attachment": true, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-07-09", + "last_updated": "2025-07-09", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 64000, + "input": 64000, + "output": 8192 + }, + "cost": { + "input": 0.3, + "output": 0.3 + } + }, + "hunyuan-t1-latest": { + "id": "hunyuan-t1-latest", + "name": "Hunyuan T1", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-03-22", + "last_updated": "2025-03-22", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 256000, + "input": 256000, + "output": 16384 + }, + "cost": { + "input": 0.17, + "output": 0.66 + } + }, + "doubao-1-5-thinking-vision-pro-250428": { + "id": "doubao-1-5-thinking-vision-pro-250428", + "name": "Doubao 1.5 Thinking Vision Pro", + "attachment": true, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-05-15", + "last_updated": "2025-05-15", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "input": 128000, + "output": 16384 + }, + "cost": { + "input": 0.55, + "output": 1.43 + } + }, + "asi1-mini": { + "id": "asi1-mini", + "name": "ASI1 Mini", + "attachment": true, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-03-25", + "last_updated": "2025-03-25", + "modalities": { + "input": ["text", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "input": 128000, + "output": 16384 + }, + "cost": { + "input": 1, + "output": 1 + } + }, + "ernie-5.0-thinking-latest": { + "id": "ernie-5.0-thinking-latest", + "name": "Ernie 5.0 Thinking", + "attachment": true, + "reasoning": true, + "tool_call": false, + "structured_output": false, + "release_date": "2025-11-18", + "last_updated": "2025-11-18", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "input": 128000, + "output": 16384 + }, + "cost": { + "input": 1.1, + "output": 2 + } + }, + "Llama-3.3-70B-Incandescent-Malevolence": { + "id": "Llama-3.3-70B-Incandescent-Malevolence", + "name": "Llama 3.3 70B Incandescent Malevolence", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2024-12-06", + "last_updated": "2024-12-06", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 32768, + "input": 32768, + "output": 16384 + }, + "cost": { + "input": 0.306, + "output": 0.306 + } + }, + "Llama-3.3-70B-Damascus-R1": { + "id": "Llama-3.3-70B-Damascus-R1", + "name": "Damascus R1", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2024-12-06", + "last_updated": "2024-12-06", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 32768, + "input": 32768, + "output": 16384 + }, + "cost": { + "input": 0.306, + "output": 0.306 + } + }, + "Gemma-3-27B-Nidum-Uncensored": { + "id": "Gemma-3-27B-Nidum-Uncensored", + "name": "Gemma 3 27B Nidum Uncensored", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-08-08", + "last_updated": "2025-08-08", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 32768, + "input": 32768, + "output": 96000 + }, + "cost": { + "input": 0.306, + "output": 0.306 + } + }, + "gemini-2.5-flash-lite-preview-09-2025-thinking": { + "id": "gemini-2.5-flash-lite-preview-09-2025-thinking", + "name": "Gemini 2.5 Flash Lite Preview (09/2025) – Thinking", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "release_date": "2025-09-25", + "last_updated": "2025-09-25", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1048756, + "input": 1048756, + "output": 65536 + }, + "cost": { + "input": 0.1, + "output": 0.4 + } + }, + "doubao-seed-2-0-pro-260215": { + "id": "doubao-seed-2-0-pro-260215", + "name": "Doubao Seed 2.0 Pro", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2026-02-14", + "last_updated": "2026-02-14", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 256000, + "input": 256000, + "output": 128000 + }, + "cost": { + "input": 0.782, + "output": 3.876 + } + }, + "gemini-3-pro-image-preview": { + "id": "gemini-3-pro-image-preview", + "name": "Gemini 3 Pro Image", + "attachment": true, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-11-18", + "last_updated": "2025-11-18", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1048756, + "input": 1048756, + "output": 65536 + }, + "cost": { + "input": 2, + "output": 12 + } + }, + "Gemma-3-27B-CardProjector-v4": { + "id": "Gemma-3-27B-CardProjector-v4", + "name": "Gemma 3 27B CardProjector v4", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-03-10", + "last_updated": "2025-03-10", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 32768, + "input": 32768, + "output": 16384 + }, + "cost": { + "input": 0.306, + "output": 0.306 + } + }, + "jamba-mini-1.7": { + "id": "jamba-mini-1.7", + "name": "Jamba Mini 1.7", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-07-09", + "last_updated": "2025-07-09", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 256000, + "input": 256000, + "output": 4096 + }, + "cost": { + "input": 0.1989, + "output": 0.408 + } + }, + "Llama-3.3-70B-Forgotten-Safeword-3.6": { + "id": "Llama-3.3-70B-Forgotten-Safeword-3.6", + "name": "Llama 3.3 70B Forgotten Safeword 3.6", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2024-12-06", + "last_updated": "2024-12-06", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 32768, + "input": 32768, + "output": 16384 + }, + "cost": { + "input": 0.306, + "output": 0.306 + } + }, + "doubao-1-5-thinking-pro-vision-250415": { + "id": "doubao-1-5-thinking-pro-vision-250415", + "name": "Doubao 1.5 Thinking Pro Vision", + "attachment": true, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-04-15", + "last_updated": "2025-04-15", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "input": 128000, + "output": 16384 + }, + "cost": { + "input": 0.6, + "output": 2.4 + } + }, + "gemini-2.5-pro-preview-06-05": { + "id": "gemini-2.5-pro-preview-06-05", + "name": "Gemini 2.5 Pro Preview 0605", + "attachment": true, + "reasoning": true, + "tool_call": false, + "structured_output": false, + "release_date": "2025-06-05", + "last_updated": "2025-06-05", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1048756, + "input": 1048756, + "output": 65536 + }, + "cost": { + "input": 2.5, + "output": 10 + } + }, + "gemini-2.0-pro-reasoner": { + "id": "gemini-2.0-pro-reasoner", + "name": "Gemini 2.0 Pro Reasoner", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-02-05", + "last_updated": "2025-02-05", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "input": 128000, + "output": 65536 + }, + "cost": { + "input": 1.292, + "output": 4.998 + } + }, + "doubao-seed-2-0-lite-260215": { + "id": "doubao-seed-2-0-lite-260215", + "name": "Doubao Seed 2.0 Lite", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2026-02-14", + "last_updated": "2026-02-14", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 256000, + "input": 256000, + "output": 32000 + }, + "cost": { + "input": 0.1462, + "output": 0.8738 + } + }, + "gemini-2.5-flash-lite-preview-06-17": { + "id": "gemini-2.5-flash-lite-preview-06-17", + "name": "Gemini 2.5 Flash Lite Preview", + "attachment": true, + "reasoning": true, + "tool_call": false, + "structured_output": false, + "release_date": "2025-06-17", + "last_updated": "2025-06-17", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1048756, + "input": 1048756, + "output": 65536 + }, + "cost": { + "input": 0.15, + "output": 0.6 + } + }, + "sonar-deep-research": { + "id": "sonar-deep-research", + "name": "Perplexity Deep Research", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-02-25", + "last_updated": "2025-02-25", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 60000, + "input": 60000, + "output": 128000 + }, + "cost": { + "input": 3.4, + "output": 13.6 + } + }, + "Gemma-3-27B-it": { + "id": "Gemma-3-27B-it", + "name": "Gemma 3 27B IT", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-03-10", + "last_updated": "2025-03-10", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 32768, + "input": 32768, + "output": 16384 + }, + "cost": { + "input": 0.306, + "output": 0.306 + } + }, + "Llama-3.3-70B-GeneticLemonade-Unleashed-v3": { + "id": "Llama-3.3-70B-GeneticLemonade-Unleashed-v3", + "name": "Llama 3.3 70B GeneticLemonade Unleashed v3", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2024-12-06", + "last_updated": "2024-12-06", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 32768, + "input": 32768, + "output": 16384 + }, + "cost": { + "input": 0.306, + "output": 0.306 + } + }, + "Gemma-3-27B-Glitter": { + "id": "Gemma-3-27B-Glitter", + "name": "Gemma 3 27B Glitter", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-03-10", + "last_updated": "2025-03-10", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 32768, + "input": 32768, + "output": 16384 + }, + "cost": { + "input": 0.306, + "output": 0.306 + } + }, + "Llama-3.3-70B-The-Omega-Directive-Unslop-v2.1": { + "id": "Llama-3.3-70B-The-Omega-Directive-Unslop-v2.1", + "name": "Llama 3.3 70B Omega Directive Unslop v2.1", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2024-12-06", + "last_updated": "2024-12-06", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 32768, + "input": 32768, + "output": 16384 + }, + "cost": { + "input": 0.306, + "output": 0.306 + } + }, + "qwen3-30b-a3b-instruct-2507": { + "id": "qwen3-30b-a3b-instruct-2507", + "name": "Qwen3 30B A3B Instruct 2507", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-02-20", + "last_updated": "2025-02-20", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 256000, + "input": 256000, + "output": 32768 + }, + "cost": { + "input": 0.2, + "output": 0.5 + } + }, + "gemini-2.5-flash-preview-09-2025-thinking": { + "id": "gemini-2.5-flash-preview-09-2025-thinking", + "name": "Gemini 2.5 Flash Preview (09/2025) – Thinking", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "release_date": "2025-09-25", + "last_updated": "2025-09-25", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1048756, + "input": 1048756, + "output": 65536 + }, + "cost": { + "input": 0.3, + "output": 2.5 + } + }, + "gemini-2.5-flash": { + "id": "gemini-2.5-flash", + "name": "Gemini 2.5 Flash", + "attachment": true, + "reasoning": true, + "tool_call": false, + "structured_output": false, + "release_date": "2025-06-05", + "last_updated": "2025-06-05", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1048756, + "input": 1048756, + "output": 65536 + }, + "cost": { + "input": 0.3, + "output": 2.5 + } + }, + "deepclaude": { + "id": "deepclaude", + "name": "DeepClaude", + "attachment": true, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-02-01", + "last_updated": "2025-02-01", + "modalities": { + "input": ["text", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "input": 128000, + "output": 8192 + }, + "cost": { + "input": 3, + "output": 15 + } + }, + "ernie-4.5-8k-preview": { + "id": "ernie-4.5-8k-preview", + "name": "Ernie 4.5 8k Preview", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-03-25", + "last_updated": "2025-03-25", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 8000, + "input": 8000, + "output": 16384 + }, + "cost": { + "input": 0.66, + "output": 2.6 + } + }, + "doubao-seed-2-0-mini-260215": { + "id": "doubao-seed-2-0-mini-260215", + "name": "Doubao Seed 2.0 Mini", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2026-02-14", + "last_updated": "2026-02-14", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 256000, + "input": 256000, + "output": 32000 + }, + "cost": { + "input": 0.0493, + "output": 0.4845 + } + }, + "gemini-3-pro-preview-thinking": { + "id": "gemini-3-pro-preview-thinking", + "name": "Gemini 3 Pro Thinking", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "release_date": "2025-11-18", + "last_updated": "2025-11-18", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1048756, + "input": 1048756, + "output": 65536 + }, + "cost": { + "input": 2, + "output": 12 + } + }, + "Llama-3.3-70B-GeneticLemonade-Opus": { + "id": "Llama-3.3-70B-GeneticLemonade-Opus", + "name": "Llama 3.3 70B GeneticLemonade Opus", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2024-12-06", + "last_updated": "2024-12-06", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 32768, + "input": 32768, + "output": 16384 + }, + "cost": { + "input": 0.306, + "output": 0.306 + } + }, + "v0-1.5-lg": { + "id": "v0-1.5-lg", + "name": "v0 1.5 LG", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-07-04", + "last_updated": "2025-07-04", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000000, + "input": 1000000, + "output": 64000 + }, + "cost": { + "input": 15, + "output": 75 + } + }, + "ernie-4.5-turbo-128k": { + "id": "ernie-4.5-turbo-128k", + "name": "Ernie 4.5 Turbo 128k", + "attachment": true, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-05-08", + "last_updated": "2025-05-08", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "input": 128000, + "output": 16384 + }, + "cost": { + "input": 0.132, + "output": 0.55 + } + }, + "KAT-Coder-Pro-V1": { + "id": "KAT-Coder-Pro-V1", + "name": "KAT Coder Pro V1", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-10-28", + "last_updated": "2025-10-28", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 256000, + "input": 256000, + "output": 32768 + }, + "cost": { + "input": 1.5, + "output": 6 + } + }, + "claude-3-5-sonnet-20240620": { + "id": "claude-3-5-sonnet-20240620", + "name": "Claude 3.5 Sonnet Old", + "attachment": true, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "release_date": "2024-06-20", + "last_updated": "2024-06-20", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "input": 200000, + "output": 8192 + }, + "cost": { + "input": 2.992, + "output": 14.994 + } + }, + "claude-opus-4-1-thinking:8192": { + "id": "claude-opus-4-1-thinking:8192", + "name": "Claude 4.1 Opus Thinking (8K)", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "release_date": "2025-05-22", + "last_updated": "2025-05-22", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "input": 200000, + "output": 32000 + }, + "cost": { + "input": 14.994, + "output": 75.004 + } + }, + "gemini-2.0-flash-exp-image-generation": { + "id": "gemini-2.0-flash-exp-image-generation", + "name": "Gemini Text + Image", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-02-19", + "last_updated": "2025-02-19", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 32767, + "input": 32767, + "output": 8192 + }, + "cost": { + "input": 0.2, + "output": 0.8 + } + }, + "Llama-3.3-70B-Magnum-v4-SE": { + "id": "Llama-3.3-70B-Magnum-v4-SE", + "name": "Llama 3.3 70B Magnum v4 SE", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2024-12-06", + "last_updated": "2024-12-06", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 32768, + "input": 32768, + "output": 16384 + }, + "cost": { + "input": 0.306, + "output": 0.306 + } + }, + "glm-zero-preview": { + "id": "glm-zero-preview", + "name": "GLM Zero Preview", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2024-12-01", + "last_updated": "2024-12-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 8000, + "input": 8000, + "output": 4096 + }, + "cost": { + "input": 1.802, + "output": 1.802 + } + }, + "study_gpt-chatgpt-4o-latest": { + "id": "study_gpt-chatgpt-4o-latest", + "name": "Study Mode", + "attachment": true, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2024-05-13", + "last_updated": "2024-05-13", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "input": 200000, + "output": 16384 + }, + "cost": { + "input": 4.998, + "output": 14.994 + } + }, + "glm-4-airx": { + "id": "glm-4-airx", + "name": "GLM-4 AirX", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2024-06-05", + "last_updated": "2024-06-05", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 8000, + "input": 8000, + "output": 4096 + }, + "cost": { + "input": 2.006, + "output": 2.006 + } + }, + "step-2-mini": { + "id": "step-2-mini", + "name": "Step-2 Mini", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2024-07-05", + "last_updated": "2024-07-05", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 8000, + "input": 8000, + "output": 4096 + }, + "cost": { + "input": 0.2006, + "output": 0.408 + } + }, + "gemini-2.5-flash-preview-04-17:thinking": { + "id": "gemini-2.5-flash-preview-04-17:thinking", + "name": "Gemini 2.5 Flash Preview Thinking", + "attachment": true, + "reasoning": true, + "tool_call": false, + "structured_output": false, + "release_date": "2025-04-17", + "last_updated": "2025-04-17", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1048756, + "input": 1048756, + "output": 65536 + }, + "cost": { + "input": 0.15, + "output": 3.5 + } + }, + "Llama-3.3-70B-Mokume-Gane-R1": { + "id": "Llama-3.3-70B-Mokume-Gane-R1", + "name": "Llama 3.3 70B Mokume Gane R1", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2024-12-06", + "last_updated": "2024-12-06", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 32768, + "input": 32768, + "output": 16384 + }, + "cost": { + "input": 0.306, + "output": 0.306 + } + }, + "deepseek-reasoner": { + "id": "deepseek-reasoner", + "name": "DeepSeek Reasoner", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-01-20", + "last_updated": "2025-01-20", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 64000, + "input": 64000, + "output": 65536 + }, + "cost": { + "input": 0.4, + "output": 1.7 + } + }, + "glm-z1-airx": { + "id": "glm-z1-airx", + "name": "GLM Z1 AirX", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "release_date": "2025-04-15", + "last_updated": "2025-04-15", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 32000, + "input": 32000, + "output": 16384 + }, + "cost": { + "input": 0.7, + "output": 0.7 + } + }, + "jamba-mini-1.6": { + "id": "jamba-mini-1.6", + "name": "Jamba Mini 1.6", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-03-01", + "last_updated": "2025-03-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 256000, + "input": 256000, + "output": 4096 + }, + "cost": { + "input": 0.1989, + "output": 0.408 + } + }, + "claude-opus-4-1-thinking": { + "id": "claude-opus-4-1-thinking", + "name": "Claude 4.1 Opus Thinking", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "release_date": "2025-05-22", + "last_updated": "2025-05-22", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "input": 200000, + "output": 32000 + }, + "cost": { + "input": 14.994, + "output": 75.004 + } + }, + "grok-3-beta": { + "id": "grok-3-beta", + "name": "Grok 3 Beta", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-09-29", + "last_updated": "2025-09-29", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 131072, + "input": 131072, + "output": 131072 + }, + "cost": { + "input": 3, + "output": 15 + } + }, + "Llama-3.3-70B-Legion-V2.1": { + "id": "Llama-3.3-70B-Legion-V2.1", + "name": "Llama 3.3 70B Legion V2.1", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2024-12-06", + "last_updated": "2024-12-06", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 32768, + "input": 32768, + "output": 16384 + }, + "cost": { + "input": 0.306, + "output": 0.306 + } + }, + "sonar": { + "id": "sonar", + "name": "Perplexity Simple", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-02-19", + "last_updated": "2025-02-19", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 127000, + "input": 127000, + "output": 128000 + }, + "cost": { + "input": 1.003, + "output": 1.003 + } + }, + "z-image-turbo": { + "id": "z-image-turbo", + "name": "Z Image Turbo", + "attachment": true, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "temperature": true, + "release_date": "2025-11-27", + "last_updated": "2025-11-27", + "modalities": { + "input": ["text"], + "output": ["image"] + }, + "open_weights": false, + "limit": { + "context": 0, + "output": 0 + } + }, + "GLM-4.5-Air-Derestricted-Iceblink-v2": { + "id": "GLM-4.5-Air-Derestricted-Iceblink-v2", + "name": "GLM 4.5 Air Derestricted Iceblink v2", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-07-28", + "last_updated": "2025-07-28", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 158600, + "input": 158600, + "output": 65536 + }, + "cost": { + "input": 0.306, + "output": 0.306 + } + }, + "jamba-large": { + "id": "jamba-large", + "name": "Jamba Large", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-07-09", + "last_updated": "2025-07-09", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 256000, + "input": 256000, + "output": 4096 + }, + "cost": { + "input": 1.989, + "output": 7.99 + } + }, + "claude-3-7-sonnet-reasoner": { + "id": "claude-3-7-sonnet-reasoner", + "name": "Claude 3.7 Sonnet Reasoner", + "attachment": true, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-03-29", + "last_updated": "2025-03-29", + "modalities": { + "input": ["text", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "input": 128000, + "output": 8192 + }, + "cost": { + "input": 3, + "output": 15 + } + }, + "ernie-4.5-turbo-vl-32k": { + "id": "ernie-4.5-turbo-vl-32k", + "name": "Ernie 4.5 Turbo VL 32k", + "attachment": true, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-05-08", + "last_updated": "2025-05-08", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 32000, + "input": 32000, + "output": 16384 + }, + "cost": { + "input": 0.495, + "output": 1.43 + } + }, + "Mistral-Nemo-12B-Instruct-2407": { + "id": "Mistral-Nemo-12B-Instruct-2407", + "name": "Mistral Nemo 12B Instruct 2407", + "attachment": true, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2024-07-18", + "last_updated": "2024-07-18", + "modalities": { + "input": ["text", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 16384, + "input": 16384, + "output": 16384 + }, + "cost": { + "input": 0.01, + "output": 0.01 + } + }, + "doubao-seed-1-6-flash-250615": { + "id": "doubao-seed-1-6-flash-250615", + "name": "Doubao Seed 1.6 Flash", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-06-15", + "last_updated": "2025-06-15", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 256000, + "input": 256000, + "output": 16384 + }, + "cost": { + "input": 0.0374, + "output": 0.374 + } + }, + "qwq-32b": { + "id": "qwq-32b", + "name": "Qwen: QwQ 32B", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-04-15", + "last_updated": "2025-04-15", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "input": 128000, + "output": 32768 + }, + "cost": { + "input": 0.25599999, + "output": 0.30499999 + } + }, + "Llama-3.3-70B-Strawberrylemonade-v1.2": { + "id": "Llama-3.3-70B-Strawberrylemonade-v1.2", + "name": "Llama 3.3 70B StrawberryLemonade v1.2", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2024-12-06", + "last_updated": "2024-12-06", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 32768, + "input": 32768, + "output": 16384 + }, + "cost": { + "input": 0.306, + "output": 0.306 + } + }, + "gemini-2.5-flash-preview-04-17": { + "id": "gemini-2.5-flash-preview-04-17", + "name": "Gemini 2.5 Flash Preview", + "attachment": true, + "reasoning": true, + "tool_call": false, + "structured_output": false, + "release_date": "2025-04-17", + "last_updated": "2025-04-17", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1048756, + "input": 1048756, + "output": 65536 + }, + "cost": { + "input": 0.15, + "output": 0.6 + } + }, + "ernie-x1-turbo-32k": { + "id": "ernie-x1-turbo-32k", + "name": "Ernie X1 Turbo 32k", + "attachment": true, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-05-08", + "last_updated": "2025-05-08", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 32000, + "input": 32000, + "output": 16384 + }, + "cost": { + "input": 0.165, + "output": 0.66 + } + }, + "deepseek-math-v2": { + "id": "deepseek-math-v2", + "name": "DeepSeek Math V2", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-12-03", + "last_updated": "2025-12-03", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "input": 128000, + "output": 65536 + }, + "cost": { + "input": 0.6, + "output": 2.2 + } + }, + "Llama-3.3-70B-Electranova-v1.0": { + "id": "Llama-3.3-70B-Electranova-v1.0", + "name": "Llama 3.3 70B Electranova v1.0", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2024-12-06", + "last_updated": "2024-12-06", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 32768, + "input": 32768, + "output": 16384 + }, + "cost": { + "input": 0.306, + "output": 0.306 + } + }, + "Llama-3.3-70B-ArliAI-RPMax-v2": { + "id": "Llama-3.3-70B-ArliAI-RPMax-v2", + "name": "Llama 3.3 70B ArliAI RPMax v2", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-08-08", + "last_updated": "2025-08-08", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 32768, + "input": 32768, + "output": 16384 + }, + "cost": { + "input": 0.306, + "output": 0.306 + } + }, + "qwen-image": { + "id": "qwen-image", + "name": "Qwen Image", + "attachment": true, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "temperature": true, + "release_date": "2025-08-07", + "last_updated": "2025-08-07", + "modalities": { + "input": ["text", "image"], + "output": ["image"] + }, + "open_weights": false, + "limit": { + "context": 0, + "output": 0 + } + }, + "Llama-3.3-70B-Cu-Mai-R1": { + "id": "Llama-3.3-70B-Cu-Mai-R1", + "name": "Llama 3.3 70B Cu Mai R1", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2024-12-06", + "last_updated": "2024-12-06", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 32768, + "input": 32768, + "output": 16384 + }, + "cost": { + "input": 0.306, + "output": 0.306 + } + }, + "GLM-4.5-Air-Derestricted-Iceblink": { + "id": "GLM-4.5-Air-Derestricted-Iceblink", + "name": "GLM 4.5 Air Derestricted Iceblink", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-07-28", + "last_updated": "2025-07-28", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 131072, + "input": 131072, + "output": 98304 + }, + "cost": { + "input": 0.306, + "output": 0.306 + } + }, + "Llama-3.3-70B-Bigger-Body": { + "id": "Llama-3.3-70B-Bigger-Body", + "name": "Llama 3.3 70B Bigger Body", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2024-12-06", + "last_updated": "2024-12-06", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 32768, + "input": 32768, + "output": 16384 + }, + "cost": { + "input": 0.306, + "output": 0.306 + } + }, + "Llama-3.3+(3.1v3.3)-70B-Hanami-x1": { + "id": "Llama-3.3+(3.1v3.3)-70B-Hanami-x1", + "name": "Llama 3.3+ 70B Hanami x1", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2024-12-06", + "last_updated": "2024-12-06", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 32768, + "input": 32768, + "output": 16384 + }, + "cost": { + "input": 0.306, + "output": 0.306 + } + }, + "hunyuan-turbos-20250226": { + "id": "hunyuan-turbos-20250226", + "name": "Hunyuan Turbo S", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-02-27", + "last_updated": "2025-02-27", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 24000, + "input": 24000, + "output": 8192 + }, + "cost": { + "input": 0.187, + "output": 0.374 + } + }, + "gemini-2.5-flash-preview-09-2025": { + "id": "gemini-2.5-flash-preview-09-2025", + "name": "Gemini 2.5 Flash Preview (09/2025)", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "release_date": "2025-09-25", + "last_updated": "2025-09-25", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1048756, + "input": 1048756, + "output": 65536 + }, + "cost": { + "input": 0.3, + "output": 2.5 + } + }, + "GLM-4.6-Derestricted-v5": { + "id": "GLM-4.6-Derestricted-v5", + "name": "GLM 4.6 Derestricted v5", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-12-23", + "last_updated": "2025-12-23", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 131072, + "input": 131072, + "output": 8192 + }, + "cost": { + "input": 0.4, + "output": 1.5 + } + }, + "glm-4-plus": { + "id": "glm-4-plus", + "name": "GLM-4 Plus", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2024-08-01", + "last_updated": "2024-08-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "input": 128000, + "output": 4096 + }, + "cost": { + "input": 7.497, + "output": 7.497 + } + }, + "Gemma-3-27B-Big-Tiger-v3": { + "id": "Gemma-3-27B-Big-Tiger-v3", + "name": "Gemma 3 27B Big Tiger v3", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-08-08", + "last_updated": "2025-08-08", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 32768, + "input": 32768, + "output": 16384 + }, + "cost": { + "input": 0.306, + "output": 0.306 + } + }, + "brave-research": { + "id": "brave-research", + "name": "Brave (Research)", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2023-03-02", + "last_updated": "2024-01-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 16384, + "input": 16384, + "output": 16384 + }, + "cost": { + "input": 5, + "output": 5 + } + }, + "hidream": { + "id": "hidream", + "name": "Hidream", + "attachment": true, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "temperature": true, + "release_date": "2024-01-01", + "last_updated": "2024-01-01", + "modalities": { + "input": ["text"], + "output": ["image"] + }, + "open_weights": false, + "limit": { + "context": 0, + "output": 0 + } + }, + "qwen3-max-2026-01-23": { + "id": "qwen3-max-2026-01-23", + "name": "Qwen3 Max 2026-01-23", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2026-01-26", + "last_updated": "2026-01-26", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 256000, + "input": 256000, + "output": 32768 + }, + "cost": { + "input": 1.2002, + "output": 6.001 + } + }, + "claude-opus-4-1-20250805": { + "id": "claude-opus-4-1-20250805", + "name": "Claude 4.1 Opus", + "attachment": true, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "release_date": "2025-08-05", + "last_updated": "2025-08-05", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "input": 200000, + "output": 32000 + }, + "cost": { + "input": 14.994, + "output": 75.004 + } + }, + "claude-haiku-4-5-20251001": { + "id": "claude-haiku-4-5-20251001", + "name": "Claude Haiku 4.5", + "attachment": true, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "release_date": "2025-10-15", + "last_updated": "2025-10-15", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "input": 200000, + "output": 64000 + }, + "cost": { + "input": 1, + "output": 5 + } + }, + "MiniMax-M1": { + "id": "MiniMax-M1", + "name": "MiniMax M1", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-06-16", + "last_updated": "2025-06-16", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000000, + "input": 1000000, + "output": 131072 + }, + "cost": { + "input": 0.1394, + "output": 1.3328 + } + }, + "gemini-2.5-flash-nothinking": { + "id": "gemini-2.5-flash-nothinking", + "name": "Gemini 2.5 Flash (No Thinking)", + "attachment": true, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-06-05", + "last_updated": "2025-06-05", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1048756, + "input": 1048756, + "output": 65536 + }, + "cost": { + "input": 0.3, + "output": 2.5 + } + }, + "exa-research-pro": { + "id": "exa-research-pro", + "name": "Exa (Research Pro)", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-06-04", + "last_updated": "2025-06-04", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 16384, + "input": 16384, + "output": 16384 + }, + "cost": { + "input": 2.5, + "output": 2.5 + } + }, + "grok-3-fast-beta": { + "id": "grok-3-fast-beta", + "name": "Grok 3 Fast Beta", + "attachment": true, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-02-17", + "last_updated": "2025-02-17", + "modalities": { + "input": ["text", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 131072, + "input": 131072, + "output": 131072 + }, + "cost": { + "input": 5, + "output": 25 + } + }, + "claude-opus-4-5-20251101:thinking": { + "id": "claude-opus-4-5-20251101:thinking", + "name": "Claude 4.5 Opus Thinking", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "release_date": "2025-11-01", + "last_updated": "2025-11-01", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "input": 200000, + "output": 32000 + }, + "cost": { + "input": 4.998, + "output": 25.007 + } + }, + "gemini-2.5-pro-exp-03-25": { + "id": "gemini-2.5-pro-exp-03-25", + "name": "Gemini 2.5 Pro Experimental 0325", + "attachment": true, + "reasoning": true, + "tool_call": false, + "structured_output": false, + "release_date": "2025-03-25", + "last_updated": "2025-03-25", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1048756, + "input": 1048756, + "output": 65536 + }, + "cost": { + "input": 2.5, + "output": 10 + } + }, + "claude-3-7-sonnet-thinking": { + "id": "claude-3-7-sonnet-thinking", + "name": "Claude 3.7 Sonnet Thinking", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "release_date": "2025-02-24", + "last_updated": "2025-02-24", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "input": 200000, + "output": 16000 + }, + "cost": { + "input": 2.992, + "output": 14.994 + } + }, + "claude-opus-4-thinking:8192": { + "id": "claude-opus-4-thinking:8192", + "name": "Claude 4 Opus Thinking (8K)", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "release_date": "2025-05-22", + "last_updated": "2025-05-22", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "input": 200000, + "output": 32000 + }, + "cost": { + "input": 14.994, + "output": 75.004 + } + }, + "claude-sonnet-4-thinking:1024": { + "id": "claude-sonnet-4-thinking:1024", + "name": "Claude 4 Sonnet Thinking (1K)", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "release_date": "2025-05-22", + "last_updated": "2025-05-22", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000000, + "input": 1000000, + "output": 64000 + }, + "cost": { + "input": 2.992, + "output": 14.994 + } + }, + "Llama-3.3-70B-Magnum-v4-SE-Cirrus-x1-SLERP": { + "id": "Llama-3.3-70B-Magnum-v4-SE-Cirrus-x1-SLERP", + "name": "Llama 3.3 70B Magnum v4 SE Cirrus x1 SLERP", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-07-26", + "last_updated": "2025-07-26", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 32768, + "input": 32768, + "output": 16384 + }, + "cost": { + "input": 0.306, + "output": 0.306 + } + }, + "step-r1-v-mini": { + "id": "step-r1-v-mini", + "name": "Step R1 V Mini", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-04-08", + "last_updated": "2025-04-08", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "input": 128000, + "output": 65536 + }, + "cost": { + "input": 2.5, + "output": 11 + } + }, + "ernie-x1-32k-preview": { + "id": "ernie-x1-32k-preview", + "name": "Ernie X1 32k", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-04-03", + "last_updated": "2025-04-03", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 32000, + "input": 32000, + "output": 16384 + }, + "cost": { + "input": 0.33, + "output": 1.32 + } + }, + "Llama-3.3-70B-StrawberryLemonade-v1.0": { + "id": "Llama-3.3-70B-StrawberryLemonade-v1.0", + "name": "Llama 3.3 70B StrawberryLemonade v1.0", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2024-12-06", + "last_updated": "2024-12-06", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 32768, + "input": 32768, + "output": 16384 + }, + "cost": { + "input": 0.306, + "output": 0.306 + } + }, + "KAT-Coder-Exp-72B-1010": { + "id": "KAT-Coder-Exp-72B-1010", + "name": "KAT Coder Exp 72B 1010", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-10-28", + "last_updated": "2025-10-28", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "input": 128000, + "output": 32768 + }, + "cost": { + "input": 0.1, + "output": 0.2 + } + }, + "gemini-2.5-pro-preview-03-25": { + "id": "gemini-2.5-pro-preview-03-25", + "name": "Gemini 2.5 Pro Preview 0325", + "attachment": true, + "reasoning": true, + "tool_call": false, + "structured_output": false, + "release_date": "2025-03-25", + "last_updated": "2025-03-25", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1048756, + "input": 1048756, + "output": 65536 + }, + "cost": { + "input": 2.5, + "output": 10 + } + }, + "claude-opus-4-thinking:1024": { + "id": "claude-opus-4-thinking:1024", + "name": "Claude 4 Opus Thinking (1K)", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "release_date": "2025-05-22", + "last_updated": "2025-05-22", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "input": 200000, + "output": 32000 + }, + "cost": { + "input": 14.994, + "output": 75.004 + } + }, + "claude-sonnet-4-20250514": { + "id": "claude-sonnet-4-20250514", + "name": "Claude 4 Sonnet", + "attachment": true, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "release_date": "2025-09-29", + "last_updated": "2025-09-29", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "input": 200000, + "output": 64000 + }, + "cost": { + "input": 2.992, + "output": 14.994 + } + }, + "Llama-3.3-70B-Progenitor-V3.3": { + "id": "Llama-3.3-70B-Progenitor-V3.3", + "name": "Llama 3.3 70B Progenitor V3.3", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-07-26", + "last_updated": "2025-07-26", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 32768, + "input": 32768, + "output": 16384 + }, + "cost": { + "input": 0.306, + "output": 0.306 + } + }, + "Qwen2.5-32B-EVA-v0.2": { + "id": "Qwen2.5-32B-EVA-v0.2", + "name": "Qwen 2.5 32b EVA", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2024-09-01", + "last_updated": "2024-09-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 24576, + "input": 24576, + "output": 8192 + }, + "cost": { + "input": 0.493, + "output": 0.493 + } + }, + "brave-pro": { + "id": "brave-pro", + "name": "Brave (Pro)", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2023-03-02", + "last_updated": "2024-01-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 8192, + "input": 8192, + "output": 8192 + }, + "cost": { + "input": 5, + "output": 5 + } + }, + "step-2-16k-exp": { + "id": "step-2-16k-exp", + "name": "Step-2 16k Exp", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2024-07-05", + "last_updated": "2024-07-05", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 16000, + "input": 16000, + "output": 8192 + }, + "cost": { + "input": 7.004, + "output": 19.992 + } + }, + "Llama-3.3-70B-Fallen-R1-v1": { + "id": "Llama-3.3-70B-Fallen-R1-v1", + "name": "Llama 3.3 70B Fallen R1 v1", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2024-12-06", + "last_updated": "2024-12-06", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 32768, + "input": 32768, + "output": 16384 + }, + "cost": { + "input": 0.306, + "output": 0.306 + } + }, + "claude-sonnet-4-thinking": { + "id": "claude-sonnet-4-thinking", + "name": "Claude 4 Sonnet Thinking", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "release_date": "2025-02-24", + "last_updated": "2025-02-24", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000000, + "input": 1000000, + "output": 64000 + }, + "cost": { + "input": 2.992, + "output": 14.994 + } + }, + "doubao-1.5-pro-256k": { + "id": "doubao-1.5-pro-256k", + "name": "Doubao 1.5 Pro 256k", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-03-12", + "last_updated": "2025-03-12", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 256000, + "input": 256000, + "output": 16384 + }, + "cost": { + "input": 0.799, + "output": 1.445 + } + }, + "claude-3-7-sonnet-20250219": { + "id": "claude-3-7-sonnet-20250219", + "name": "Claude 3.7 Sonnet", + "attachment": true, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "release_date": "2025-02-19", + "last_updated": "2025-02-19", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "input": 200000, + "output": 16000 + }, + "cost": { + "input": 2.992, + "output": 14.994 + } + }, + "learnlm-1.5-pro-experimental": { + "id": "learnlm-1.5-pro-experimental", + "name": "Gemini LearnLM Experimental", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2024-05-14", + "last_updated": "2024-05-14", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 32767, + "input": 32767, + "output": 8192 + }, + "cost": { + "input": 3.502, + "output": 10.506 + } + }, + "qwen3-coder-30b-a3b-instruct": { + "id": "qwen3-coder-30b-a3b-instruct", + "name": "Qwen3 Coder 30B A3B Instruct", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "release_date": "2025-08-05", + "last_updated": "2025-08-05", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "input": 128000, + "output": 65536 + }, + "cost": { + "input": 0.1, + "output": 0.4 + } + }, + "chroma": { + "id": "chroma", + "name": "Chroma", + "attachment": true, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "temperature": true, + "release_date": "2025-08-12", + "last_updated": "2025-08-12", + "modalities": { + "input": ["text"], + "output": ["image"] + }, + "open_weights": false, + "limit": { + "context": 0, + "output": 0 + } + }, + "Llama-3.3-70B-Predatorial-Extasy": { + "id": "Llama-3.3-70B-Predatorial-Extasy", + "name": "Llama 3.3 70B Predatorial Extasy", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2024-12-06", + "last_updated": "2024-12-06", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 32768, + "input": 32768, + "output": 16384 + }, + "cost": { + "input": 0.306, + "output": 0.306 + } + }, + "Llama-3.3-70B-Aurora-Borealis": { + "id": "Llama-3.3-70B-Aurora-Borealis", + "name": "Llama 3.3 70B Aurora Borealis", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2024-12-06", + "last_updated": "2024-12-06", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 32768, + "input": 32768, + "output": 16384 + }, + "cost": { + "input": 0.306, + "output": 0.306 + } + }, + "Llama-3.3-70B-ArliAI-RPMax-v3": { + "id": "Llama-3.3-70B-ArliAI-RPMax-v3", + "name": "Llama 3.3 70B ArliAI RPMax v3", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2024-12-06", + "last_updated": "2024-12-06", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 32768, + "input": 32768, + "output": 16384 + }, + "cost": { + "input": 0.306, + "output": 0.306 + } + }, + "venice-uncensored": { + "id": "venice-uncensored", + "name": "Venice Uncensored", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-02-24", + "last_updated": "2025-02-24", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "input": 128000, + "output": 16384 + }, + "cost": { + "input": 0.4, + "output": 0.4 + } + }, + "step-3": { + "id": "step-3", + "name": "Step-3", + "attachment": true, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-07-31", + "last_updated": "2025-07-31", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 65536, + "input": 65536, + "output": 8192 + }, + "cost": { + "input": 0.2499, + "output": 0.6494 + } + }, + "Llama-3.3-70B-The-Omega-Directive-Unslop-v2.0": { + "id": "Llama-3.3-70B-The-Omega-Directive-Unslop-v2.0", + "name": "Llama 3.3 70B Omega Directive Unslop v2.0", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2024-12-06", + "last_updated": "2024-12-06", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 32768, + "input": 32768, + "output": 16384 + }, + "cost": { + "input": 0.306, + "output": 0.306 + } + }, + "auto-model": { + "id": "auto-model", + "name": "Auto model", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2024-06-01", + "last_updated": "2024-06-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000000, + "input": 1000000, + "output": 1000000 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "claude-opus-4-1-thinking:32768": { + "id": "claude-opus-4-1-thinking:32768", + "name": "Claude 4.1 Opus Thinking (32K)", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "release_date": "2025-05-22", + "last_updated": "2025-05-22", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "input": 200000, + "output": 32000 + }, + "cost": { + "input": 14.994, + "output": 75.004 + } + }, + "Llama-3.3-70B-Shakudo": { + "id": "Llama-3.3-70B-Shakudo", + "name": "Llama 3.3 70B Shakudo", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2024-12-06", + "last_updated": "2024-12-06", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 32768, + "input": 32768, + "output": 16384 + }, + "cost": { + "input": 0.306, + "output": 0.306 + } + }, + "Baichuan4-Air": { + "id": "Baichuan4-Air", + "name": "Baichuan 4 Air", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-08-19", + "last_updated": "2025-08-19", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 32768, + "input": 32768, + "output": 32768 + }, + "cost": { + "input": 0.157, + "output": 0.157 + } + }, + "kimi-thinking-preview": { + "id": "kimi-thinking-preview", + "name": "Kimi Thinking Preview", + "attachment": true, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-05-07", + "last_updated": "2025-05-07", + "modalities": { + "input": ["text", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "input": 128000, + "output": 16384 + }, + "cost": { + "input": 31.46, + "output": 31.46 + } + }, + "qwen-turbo": { + "id": "qwen-turbo", + "name": "Qwen Turbo", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2024-11-01", + "last_updated": "2024-11-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000000, + "input": 1000000, + "output": 8192 + }, + "cost": { + "input": 0.04998, + "output": 0.2006 + } + }, + "Llama-3.3-70B-Mhnnn-x1": { + "id": "Llama-3.3-70B-Mhnnn-x1", + "name": "Llama 3.3 70B Mhnnn x1", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2024-12-06", + "last_updated": "2024-12-06", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 32768, + "input": 32768, + "output": 16384 + }, + "cost": { + "input": 0.306, + "output": 0.306 + } + }, + "claude-opus-4-thinking:32768": { + "id": "claude-opus-4-thinking:32768", + "name": "Claude 4 Opus Thinking (32K)", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "release_date": "2025-05-22", + "last_updated": "2025-05-22", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "input": 200000, + "output": 32000 + }, + "cost": { + "input": 14.994, + "output": 75.004 + } + }, + "Llama-3.3-70B-Argunaut-1-SFT": { + "id": "Llama-3.3-70B-Argunaut-1-SFT", + "name": "Llama 3.3 70B Argunaut 1 SFT", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2024-12-06", + "last_updated": "2024-12-06", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 32768, + "input": 32768, + "output": 16384 + }, + "cost": { + "input": 0.306, + "output": 0.306 + } + }, + "claude-opus-4-1-thinking:1024": { + "id": "claude-opus-4-1-thinking:1024", + "name": "Claude 4.1 Opus Thinking (1K)", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "release_date": "2025-05-22", + "last_updated": "2025-05-22", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "input": 200000, + "output": 32000 + }, + "cost": { + "input": 14.994, + "output": 75.004 + } + }, + "gemini-2.5-flash-lite": { + "id": "gemini-2.5-flash-lite", + "name": "Gemini 2.5 Flash Lite", + "attachment": true, + "reasoning": true, + "tool_call": false, + "structured_output": false, + "release_date": "2025-06-17", + "last_updated": "2025-06-17", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1048756, + "input": 1048756, + "output": 65536 + }, + "cost": { + "input": 0.1, + "output": 0.4 + } + }, + "phi-4-multimodal-instruct": { + "id": "phi-4-multimodal-instruct", + "name": "Phi 4 Multimodal", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-07-26", + "last_updated": "2025-07-26", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "input": 128000, + "output": 16384 + }, + "cost": { + "input": 0.07, + "output": 0.11 + } + }, + "doubao-seed-2-0-code-preview-260215": { + "id": "doubao-seed-2-0-code-preview-260215", + "name": "Doubao Seed 2.0 Code Preview", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2026-02-14", + "last_updated": "2026-02-14", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 256000, + "input": 256000, + "output": 128000 + }, + "cost": { + "input": 0.782, + "output": 3.893 + } + }, + "deepseek-reasoner-cheaper": { + "id": "deepseek-reasoner-cheaper", + "name": "Deepseek R1 Cheaper", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-01-20", + "last_updated": "2025-01-20", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "input": 128000, + "output": 65536 + }, + "cost": { + "input": 0.4, + "output": 1.7 + } + }, + "exa-answer": { + "id": "exa-answer", + "name": "Exa (Answer)", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-06-04", + "last_updated": "2025-06-04", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 4096, + "input": 4096, + "output": 4096 + }, + "cost": { + "input": 2.5, + "output": 2.5 + } + }, + "v0-1.0-md": { + "id": "v0-1.0-md", + "name": "v0 1.0 MD", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-07-04", + "last_updated": "2025-07-04", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "input": 200000, + "output": 64000 + }, + "cost": { + "input": 3, + "output": 15 + } + }, + "glm-4.1v-thinking-flash": { + "id": "glm-4.1v-thinking-flash", + "name": "GLM 4.1V Thinking Flash", + "attachment": true, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-07-09", + "last_updated": "2025-07-09", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 64000, + "input": 64000, + "output": 8192 + }, + "cost": { + "input": 0.3, + "output": 0.3 + } + }, + "azure-o1": { + "id": "azure-o1", + "name": "Azure o1", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2024-12-17", + "last_updated": "2024-12-17", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "input": 200000, + "output": 100000 + }, + "cost": { + "input": 14.994, + "output": 59.993 + } + }, + "GLM-4.5-Air-Derestricted": { + "id": "GLM-4.5-Air-Derestricted", + "name": "GLM 4.5 Air Derestricted", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-07-28", + "last_updated": "2025-07-28", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 202600, + "input": 202600, + "output": 98304 + }, + "cost": { + "input": 0.306, + "output": 0.306 + } + }, + "azure-o3-mini": { + "id": "azure-o3-mini", + "name": "Azure o3-mini", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-01-31", + "last_updated": "2025-01-31", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "input": 200000, + "output": 65536 + }, + "cost": { + "input": 1.088, + "output": 4.3996 + } + }, + "qwen3.6-max-preview": { + "id": "qwen3.6-max-preview", + "name": "Qwen3.6 Max Preview", + "family": "qwen3.6", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2026-04-20", + "last_updated": "2026-04-21", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 245800, + "output": 65536 + }, + "cost": { + "input": 1.3, + "output": 7.8 + } + }, + "Llama-3.3-70B-Sapphira-0.2": { + "id": "Llama-3.3-70B-Sapphira-0.2", + "name": "Llama 3.3 70B Sapphira 0.2", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2024-12-06", + "last_updated": "2024-12-06", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 32768, + "input": 32768, + "output": 16384 + }, + "cost": { + "input": 0.306, + "output": 0.306 + } + }, + "Llama-3.3-70B-Anthrobomination": { + "id": "Llama-3.3-70B-Anthrobomination", + "name": "Llama 3.3 70B Anthrobomination", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2024-12-06", + "last_updated": "2024-12-06", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 32768, + "input": 32768, + "output": 16384 + }, + "cost": { + "input": 0.306, + "output": 0.306 + } + }, + "QwQ-32B-ArliAI-RpR-v1": { + "id": "QwQ-32B-ArliAI-RpR-v1", + "name": "QwQ 32b Arli V1", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-02-17", + "last_updated": "2025-02-17", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 32768, + "input": 32768, + "output": 32768 + }, + "cost": { + "input": 0.2, + "output": 0.2 + } + }, + "claude-opus-4-20250514": { + "id": "claude-opus-4-20250514", + "name": "Claude 4 Opus", + "attachment": true, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "release_date": "2025-05-14", + "last_updated": "2025-05-14", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "input": 200000, + "output": 32000 + }, + "cost": { + "input": 14.994, + "output": 75.004 + } + }, + "yi-lightning": { + "id": "yi-lightning", + "name": "Yi Lightning", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2024-10-16", + "last_updated": "2024-10-16", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 12000, + "input": 12000, + "output": 4096 + }, + "cost": { + "input": 0.2006, + "output": 0.2006 + } + }, + "Llama-3.3-70B-Electra-R1": { + "id": "Llama-3.3-70B-Electra-R1", + "name": "Llama 3.3 70B Electra R1", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2024-12-06", + "last_updated": "2024-12-06", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 32768, + "input": 32768, + "output": 16384 + }, + "cost": { + "input": 0.306, + "output": 0.306 + } + }, + "Llama-3.3-70B-Forgotten-Abomination-v5.0": { + "id": "Llama-3.3-70B-Forgotten-Abomination-v5.0", + "name": "Llama 3.3 70B Forgotten Abomination v5.0", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2024-12-06", + "last_updated": "2024-12-06", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 32768, + "input": 32768, + "output": 16384 + }, + "cost": { + "input": 0.306, + "output": 0.306 + } + }, + "Llama-3.3-70B-Cirrus-x1": { + "id": "Llama-3.3-70B-Cirrus-x1", + "name": "Llama 3.3 70B Cirrus x1", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2024-12-06", + "last_updated": "2024-12-06", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 32768, + "input": 32768, + "output": 16384 + }, + "cost": { + "input": 0.306, + "output": 0.306 + } + }, + "grok-3-mini-beta": { + "id": "grok-3-mini-beta", + "name": "Grok 3 Mini Beta", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-02-17", + "last_updated": "2025-02-17", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 131072, + "input": 131072, + "output": 131072 + }, + "cost": { + "input": 0.3, + "output": 0.5 + } + }, + "auto-model-standard": { + "id": "auto-model-standard", + "name": "Auto model (Standard)", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2024-06-01", + "last_updated": "2024-06-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000000, + "input": 1000000, + "output": 1000000 + }, + "cost": { + "input": 9.996, + "output": 19.992 + } + }, + "claude-sonnet-4-5-20250929-thinking": { + "id": "claude-sonnet-4-5-20250929-thinking", + "name": "Claude Sonnet 4.5 Thinking", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "release_date": "2025-09-29", + "last_updated": "2025-09-29", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000000, + "input": 1000000, + "output": 64000 + }, + "cost": { + "input": 2.992, + "output": 14.994 + } + }, + "v0-1.5-md": { + "id": "v0-1.5-md", + "name": "v0 1.5 MD", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-07-04", + "last_updated": "2025-07-04", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "input": 200000, + "output": 64000 + }, + "cost": { + "input": 3, + "output": 15 + } + }, + "kimi-k2-instruct-fast": { + "id": "kimi-k2-instruct-fast", + "name": "Kimi K2 0711 Fast", + "attachment": true, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-07-15", + "last_updated": "2025-07-15", + "modalities": { + "input": ["text", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 131072, + "input": 131072, + "output": 16384 + }, + "cost": { + "input": 0.1, + "output": 2 + } + }, + "glm-4-long": { + "id": "glm-4-long", + "name": "GLM-4 Long", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2024-08-01", + "last_updated": "2024-08-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000000, + "input": 1000000, + "output": 4096 + }, + "cost": { + "input": 0.2006, + "output": 0.2006 + } + }, + "jamba-large-1.7": { + "id": "jamba-large-1.7", + "name": "Jamba Large 1.7", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-07-09", + "last_updated": "2025-07-09", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 256000, + "input": 256000, + "output": 4096 + }, + "cost": { + "input": 1.989, + "output": 7.99 + } + }, + "qvq-max": { + "id": "qvq-max", + "name": "Qwen: QvQ Max", + "attachment": true, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-03-28", + "last_updated": "2025-03-28", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "input": 128000, + "output": 8192 + }, + "cost": { + "input": 1.4, + "output": 5.3 + } + }, + "gemini-2.0-flash-thinking-exp-1219": { + "id": "gemini-2.0-flash-thinking-exp-1219", + "name": "Gemini 2.0 Flash Thinking 1219", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2024-12-19", + "last_updated": "2024-12-19", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 32767, + "input": 32767, + "output": 8192 + }, + "cost": { + "input": 0.1003, + "output": 0.408 + } + }, + "gemini-2.0-flash-lite": { + "id": "gemini-2.0-flash-lite", + "name": "Gemini 2.0 Flash Lite", + "attachment": true, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2024-12-11", + "last_updated": "2024-12-11", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000000, + "input": 1000000, + "output": 8192 + }, + "cost": { + "input": 0.0748, + "output": 0.306 + } + }, + "azure-gpt-4-turbo": { + "id": "azure-gpt-4-turbo", + "name": "Azure gpt-4-turbo", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2023-11-06", + "last_updated": "2024-01-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "input": 128000, + "output": 4096 + }, + "cost": { + "input": 9.996, + "output": 30.005 + } + }, + "Baichuan-M2": { + "id": "Baichuan-M2", + "name": "Baichuan M2 32B Medical", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-08-19", + "last_updated": "2025-08-19", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 32768, + "input": 32768, + "output": 32768 + }, + "cost": { + "input": 15.73, + "output": 15.73 + } + }, + "qwen-long": { + "id": "qwen-long", + "name": "Qwen Long 10M", + "attachment": true, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-01-25", + "last_updated": "2025-01-25", + "modalities": { + "input": ["text", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 10000000, + "input": 10000000, + "output": 8192 + }, + "cost": { + "input": 0.1003, + "output": 0.408 + } + }, + "sonar-reasoning-pro": { + "id": "sonar-reasoning-pro", + "name": "Perplexity Reasoning Pro", + "attachment": false, + "reasoning": true, + "tool_call": false, + "structured_output": false, + "release_date": "2025-02-19", + "last_updated": "2025-02-19", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 127000, + "input": 127000, + "output": 128000 + }, + "cost": { + "input": 2.006, + "output": 7.9985 + } + }, + "gemini-2.5-flash-preview-05-20:thinking": { + "id": "gemini-2.5-flash-preview-05-20:thinking", + "name": "Gemini 2.5 Flash 0520 Thinking", + "attachment": true, + "reasoning": true, + "tool_call": false, + "structured_output": false, + "release_date": "2025-05-20", + "last_updated": "2025-05-20", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1048000, + "input": 1048000, + "output": 65536 + }, + "cost": { + "input": 0.15, + "output": 3.5 + } + }, + "GLM-4.5-Air-Derestricted-Steam-ReExtract": { + "id": "GLM-4.5-Air-Derestricted-Steam-ReExtract", + "name": "GLM 4.5 Air Derestricted Steam ReExtract", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-12-12", + "last_updated": "2025-12-12", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 131072, + "input": 131072, + "output": 65536 + }, + "cost": { + "input": 0.306, + "output": 0.306 + } + }, + "Llama-3.3-70B-Dark-Ages-v0.1": { + "id": "Llama-3.3-70B-Dark-Ages-v0.1", + "name": "Llama 3.3 70B Dark Ages v0.1", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2024-12-06", + "last_updated": "2024-12-06", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 32768, + "input": 32768, + "output": 16384 + }, + "cost": { + "input": 0.306, + "output": 0.306 + } + }, + "Baichuan4-Turbo": { + "id": "Baichuan4-Turbo", + "name": "Baichuan 4 Turbo", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-08-19", + "last_updated": "2025-08-19", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "input": 128000, + "output": 32768 + }, + "cost": { + "input": 2.42, + "output": 2.42 + } + }, + "doubao-1.5-vision-pro-32k": { + "id": "doubao-1.5-vision-pro-32k", + "name": "Doubao 1.5 Vision Pro 32k", + "attachment": true, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-01-22", + "last_updated": "2025-01-22", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 32000, + "input": 32000, + "output": 8192 + }, + "cost": { + "input": 0.459, + "output": 1.377 + } + }, + "alibaba/qwen3.6-flash": { + "id": "alibaba/qwen3.6-flash", + "name": "Qwen3.6 Flash", + "family": "qwen3.6", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2026-04-17", + "last_updated": "2026-04-17", + "modalities": { + "input": ["text", "image", "video"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 991800, + "output": 65536 + }, + "cost": { + "input": 0.19, + "output": 1.16 + } + }, + "inflection/inflection-3-pi": { + "id": "inflection/inflection-3-pi", + "name": "Inflection 3 Pi", + "family": "gpt", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2024-10-11", + "last_updated": "2024-10-11", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 8000, + "input": 8000, + "output": 4096 + }, + "cost": { + "input": 2.499, + "output": 9.996 + } + }, + "inflection/inflection-3-productivity": { + "id": "inflection/inflection-3-productivity", + "name": "Inflection 3 Productivity", + "family": "gpt", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2024-10-11", + "last_updated": "2024-10-11", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 8000, + "input": 8000, + "output": 4096 + }, + "cost": { + "input": 2.499, + "output": 9.996 + } + }, + "essentialai/rnj-1-instruct": { + "id": "essentialai/rnj-1-instruct", + "name": "RNJ-1 Instruct 8B", + "family": "rnj", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-12-13", + "last_updated": "2025-12-13", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "input": 128000, + "output": 8192 + }, + "cost": { + "input": 0.15, + "output": 0.15 + } + }, + "LLM360/K2-Think": { + "id": "LLM360/K2-Think", + "name": "K2-Think", + "family": "kimi-thinking", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-07-26", + "last_updated": "2025-07-26", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "input": 128000, + "output": 32768 + }, + "cost": { + "input": 0.17, + "output": 0.68 + } + }, + "TEE/kimi-k2.5": { + "id": "TEE/kimi-k2.5", + "name": "Kimi K2.5 TEE", + "family": "kimi", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2026-01-29", + "last_updated": "2026-01-29", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "input": 128000, + "output": 65535 + }, + "cost": { + "input": 0.3, + "output": 1.9 + } + }, + "TEE/glm-4.7": { + "id": "TEE/glm-4.7", + "name": "GLM 4.7 TEE", + "family": "glm", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2026-01-29", + "last_updated": "2026-01-29", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 131000, + "input": 131000, + "output": 65535 + }, + "cost": { + "input": 0.85, + "output": 3.3 + } + }, + "TEE/qwen3.5-397b-a17b": { + "id": "TEE/qwen3.5-397b-a17b", + "name": "Qwen3.5 397B A17B TEE", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2026-02-28", + "last_updated": "2026-02-28", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 258048, + "input": 258048, + "output": 65536 + }, + "cost": { + "input": 0.6, + "output": 3.6 + } + }, + "TEE/glm-5": { + "id": "TEE/glm-5", + "name": "GLM 5 TEE", + "family": "glm", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2026-02-11", + "last_updated": "2026-02-11", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 203000, + "input": 203000, + "output": 65535 + }, + "cost": { + "input": 1.2, + "output": 3.5 + } + }, + "TEE/qwen2.5-vl-72b-instruct": { + "id": "TEE/qwen2.5-vl-72b-instruct", + "name": "Qwen2.5 VL 72B TEE", + "family": "qwen", + "attachment": true, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-02-01", + "last_updated": "2025-02-01", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 65536, + "input": 65536, + "output": 8192 + }, + "cost": { + "input": 0.7, + "output": 0.7 + } + }, + "TEE/minimax-m2.1": { + "id": "TEE/minimax-m2.1", + "name": "MiniMax M2.1 TEE", + "family": "minimax", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "release_date": "2025-12-23", + "last_updated": "2025-12-23", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "input": 200000, + "output": 131072 + }, + "cost": { + "input": 0.3, + "output": 1.2 + } + }, + "TEE/qwen3-30b-a3b-instruct-2507": { + "id": "TEE/qwen3-30b-a3b-instruct-2507", + "name": "Qwen3 30B A3B Instruct 2507 TEE", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-07-29", + "last_updated": "2025-07-29", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 262000, + "input": 262000, + "output": 32768 + }, + "cost": { + "input": 0.15, + "output": 0.44999999999999996 + } + }, + "TEE/deepseek-v3.1": { + "id": "TEE/deepseek-v3.1", + "name": "DeepSeek V3.1 TEE", + "family": "deepseek", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-08-21", + "last_updated": "2025-08-21", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 164000, + "input": 164000, + "output": 8192 + }, + "cost": { + "input": 1, + "output": 2.5 + } + }, + "TEE/llama3-3-70b": { + "id": "TEE/llama3-3-70b", + "name": "Llama 3.3 70B", + "family": "llama", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-07-03", + "last_updated": "2025-07-03", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "input": 128000, + "output": 16384 + }, + "cost": { + "input": 2, + "output": 2 + } + }, + "TEE/glm-4.6": { + "id": "TEE/glm-4.6", + "name": "GLM 4.6 TEE", + "family": "glm", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-09-30", + "last_updated": "2025-09-30", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 203000, + "input": 203000, + "output": 65535 + }, + "cost": { + "input": 0.75, + "output": 2 + } + }, + "TEE/kimi-k2.5-thinking": { + "id": "TEE/kimi-k2.5-thinking", + "name": "Kimi K2.5 Thinking TEE", + "family": "kimi-thinking", + "attachment": false, + "reasoning": true, + "tool_call": false, + "structured_output": false, + "release_date": "2026-01-29", + "last_updated": "2026-01-29", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "input": 128000, + "output": 65535 + }, + "cost": { + "input": 0.3, + "output": 1.9 + } + }, + "TEE/gemma-3-27b-it": { + "id": "TEE/gemma-3-27b-it", + "name": "Gemma 3 27B TEE", + "family": "gemma", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-03-10", + "last_updated": "2025-03-10", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 131072, + "input": 131072, + "output": 8192 + }, + "cost": { + "input": 0.2, + "output": 0.8 + } + }, + "TEE/deepseek-v3.2": { + "id": "TEE/deepseek-v3.2", + "name": "DeepSeek V3.2 TEE", + "family": "deepseek", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-12-01", + "last_updated": "2025-12-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 164000, + "input": 164000, + "output": 65536 + }, + "cost": { + "input": 0.5, + "output": 1 + } + }, + "TEE/gpt-oss-20b": { + "id": "TEE/gpt-oss-20b", + "name": "GPT-OSS 20B TEE", + "family": "gpt-oss", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-08-05", + "last_updated": "2025-08-05", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 131072, + "input": 131072, + "output": 8192 + }, + "cost": { + "input": 0.2, + "output": 0.8 + } + }, + "TEE/qwen3-coder": { + "id": "TEE/qwen3-coder", + "name": "Qwen3 Coder 480B TEE", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-07-23", + "last_updated": "2025-07-23", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "input": 128000, + "output": 32768 + }, + "cost": { + "input": 1.5, + "output": 2 + } + }, + "TEE/glm-4.7-flash": { + "id": "TEE/glm-4.7-flash", + "name": "GLM 4.7 Flash TEE", + "family": "glm-flash", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2026-01-19", + "last_updated": "2026-01-19", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 203000, + "input": 203000, + "output": 65535 + }, + "cost": { + "input": 0.15, + "output": 0.5 + } + }, + "TEE/gpt-oss-120b": { + "id": "TEE/gpt-oss-120b", + "name": "GPT-OSS 120B TEE", + "family": "gpt-oss", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-08-05", + "last_updated": "2025-08-05", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 131072, + "input": 131072, + "output": 16384 + }, + "cost": { + "input": 2, + "output": 2 + } + }, + "TEE/deepseek-r1-0528": { + "id": "TEE/deepseek-r1-0528", + "name": "DeepSeek R1 0528 TEE", + "family": "deepseek", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-05-28", + "last_updated": "2025-05-28", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "input": 128000, + "output": 65536 + }, + "cost": { + "input": 2, + "output": 2 + } + }, + "TEE/kimi-k2-thinking": { + "id": "TEE/kimi-k2-thinking", + "name": "Kimi K2 Thinking TEE", + "family": "kimi-thinking", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-11-06", + "last_updated": "2025-11-06", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "input": 128000, + "output": 65535 + }, + "cost": { + "input": 2, + "output": 2 + } + }, + "CrucibleLab/L3.3-70B-Loki-V2.0": { + "id": "CrucibleLab/L3.3-70B-Loki-V2.0", + "name": "L3.3 70B Loki v2.0", + "family": "llama", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2026-01-22", + "last_updated": "2026-01-22", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 16384, + "input": 16384, + "output": 16384 + }, + "cost": { + "input": 0.49299999999999994, + "output": 0.49299999999999994 + } + }, + "deepseek/deepseek-v3.2:thinking": { + "id": "deepseek/deepseek-v3.2:thinking", + "name": "DeepSeek V3.2 Thinking", + "family": "deepseek", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "release_date": "2025-12-01", + "last_updated": "2025-12-01", + "modalities": { + "input": ["text", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 163000, + "input": 163000, + "output": 65536 + }, + "cost": { + "input": 0.27999999999999997, + "output": 0.42000000000000004 + } + }, + "deepseek/deepseek-prover-v2-671b": { + "id": "deepseek/deepseek-prover-v2-671b", + "name": "DeepSeek Prover v2 671B", + "family": "deepseek", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-04-30", + "last_updated": "2025-04-30", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 160000, + "input": 160000, + "output": 16384 + }, + "cost": { + "input": 1, + "output": 2.5 + } + }, + "deepseek/deepseek-v3.2-speciale": { + "id": "deepseek/deepseek-v3.2-speciale", + "name": "DeepSeek V3.2 Speciale", + "family": "deepseek", + "attachment": true, + "reasoning": true, + "tool_call": false, + "structured_output": false, + "release_date": "2025-12-02", + "last_updated": "2025-12-02", + "modalities": { + "input": ["text", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 163000, + "input": 163000, + "output": 65536 + }, + "cost": { + "input": 0.27999999999999997, + "output": 0.42000000000000004 + } + }, + "deepseek/deepseek-v3.2": { + "id": "deepseek/deepseek-v3.2", + "name": "DeepSeek V3.2", + "family": "deepseek", + "attachment": true, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "release_date": "2025-12-01", + "last_updated": "2025-12-01", + "modalities": { + "input": ["text", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 163000, + "input": 163000, + "output": 65536 + }, + "cost": { + "input": 0.27999999999999997, + "output": 0.42000000000000004 + } + }, + "Doctor-Shotgun/MS3.2-24B-Magnum-Diamond": { + "id": "Doctor-Shotgun/MS3.2-24B-Magnum-Diamond", + "name": "MS3.2 24B Magnum Diamond", + "family": "mistral", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-11-24", + "last_updated": "2025-11-24", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 16384, + "input": 16384, + "output": 32768 + }, + "cost": { + "input": 0.49299999999999994, + "output": 0.49299999999999994 + } + }, + "NeverSleep/Llama-3-Lumimaid-70B-v0.1": { + "id": "NeverSleep/Llama-3-Lumimaid-70B-v0.1", + "name": "Lumimaid 70b", + "family": "llama", + "attachment": true, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2024-07-01", + "last_updated": "2024-07-01", + "modalities": { + "input": ["text", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 16384, + "input": 16384, + "output": 8192 + }, + "cost": { + "input": 2.006, + "output": 2.006 + } + }, + "NeverSleep/Lumimaid-v0.2-70B": { + "id": "NeverSleep/Lumimaid-v0.2-70B", + "name": "Lumimaid v0.2", + "family": "llama", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2024-07-01", + "last_updated": "2024-07-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 16384, + "input": 16384, + "output": 8192 + }, + "cost": { + "input": 1, + "output": 1.5 + } + }, + "Steelskull/L3.3-Cu-Mai-R1-70b": { + "id": "Steelskull/L3.3-Cu-Mai-R1-70b", + "name": "Llama 3.3 70B Cu Mai", + "family": "llama", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2024-12-06", + "last_updated": "2024-12-06", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 16384, + "input": 16384, + "output": 16384 + }, + "cost": { + "input": 0.49299999999999994, + "output": 0.49299999999999994 + } + }, + "Steelskull/L3.3-Nevoria-R1-70b": { + "id": "Steelskull/L3.3-Nevoria-R1-70b", + "name": "Steelskull Nevoria R1 70b", + "family": "llama", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2024-12-06", + "last_updated": "2024-12-06", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 16384, + "input": 16384, + "output": 16384 + }, + "cost": { + "input": 0.49299999999999994, + "output": 0.49299999999999994 + } + }, + "Steelskull/L3.3-MS-Evayale-70B": { + "id": "Steelskull/L3.3-MS-Evayale-70B", + "name": "Evayale 70b ", + "family": "llama", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2024-12-06", + "last_updated": "2024-12-06", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 16384, + "input": 16384, + "output": 16384 + }, + "cost": { + "input": 0.49299999999999994, + "output": 0.49299999999999994 + } + }, + "Steelskull/L3.3-Electra-R1-70b": { + "id": "Steelskull/L3.3-Electra-R1-70b", + "name": "Steelskull Electra R1 70b", + "family": "llama", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2024-12-06", + "last_updated": "2024-12-06", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 16384, + "input": 16384, + "output": 16384 + }, + "cost": { + "input": 0.69989, + "output": 0.69989 + } + }, + "Steelskull/L3.3-MS-Nevoria-70b": { + "id": "Steelskull/L3.3-MS-Nevoria-70b", + "name": "Steelskull Nevoria 70b", + "family": "llama", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2024-12-06", + "last_updated": "2024-12-06", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 16384, + "input": 16384, + "output": 16384 + }, + "cost": { + "input": 0.49299999999999994, + "output": 0.49299999999999994 + } + }, + "Steelskull/L3.3-MS-Evalebis-70b": { + "id": "Steelskull/L3.3-MS-Evalebis-70b", + "name": "MS Evalebis 70b", + "family": "llama", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2024-12-06", + "last_updated": "2024-12-06", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 16384, + "input": 16384, + "output": 16384 + }, + "cost": { + "input": 0.49299999999999994, + "output": 0.49299999999999994 + } + }, + "miromind-ai/mirothinker-v1.5-235b": { + "id": "miromind-ai/mirothinker-v1.5-235b", + "name": "MiroThinker v1.5 235B", + "family": "gpt", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2026-01-07", + "last_updated": "2026-01-07", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 32768, + "input": 32768, + "output": 4000 + }, + "cost": { + "input": 0.3, + "output": 1.2 + } + }, + "pamanseau/OpenReasoning-Nemotron-32B": { + "id": "pamanseau/OpenReasoning-Nemotron-32B", + "name": "OpenReasoning Nemotron 32B", + "family": "nemotron", + "attachment": false, + "reasoning": true, + "tool_call": false, + "structured_output": false, + "release_date": "2025-08-21", + "last_updated": "2025-08-21", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 32768, + "input": 32768, + "output": 65536 + }, + "cost": { + "input": 0.1, + "output": 0.4 + } + }, + "arcee-ai/trinity-mini": { + "id": "arcee-ai/trinity-mini", + "name": "Trinity Mini", + "family": "trinity-mini", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-12-01", + "last_updated": "2025-12-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 131072, + "input": 131072, + "output": 8192 + }, + "cost": { + "input": 0.045000000000000005, + "output": 0.15 + } + }, + "arcee-ai/trinity-large": { + "id": "arcee-ai/trinity-large", + "name": "Trinity Large", + "family": "trinity", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-12-01", + "last_updated": "2025-12-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 131072, + "input": 131072, + "output": 8192 + }, + "cost": { + "input": 0.25, + "output": 1 + } + }, + "cognitivecomputations/dolphin-2.9.2-qwen2-72b": { + "id": "cognitivecomputations/dolphin-2.9.2-qwen2-72b", + "name": "Dolphin 72b", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-02-27", + "last_updated": "2025-02-27", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 8192, + "input": 8192, + "output": 4096 + }, + "cost": { + "input": 0.306, + "output": 0.306 + } + }, + "deepcogito/cogito-v1-preview-qwen-32B": { + "id": "deepcogito/cogito-v1-preview-qwen-32B", + "name": "Cogito v1 Preview Qwen 32B", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-05-10", + "last_updated": "2025-05-10", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "input": 128000, + "output": 32768 + }, + "cost": { + "input": 1.7999999999999998, + "output": 1.7999999999999998 + } + }, + "deepcogito/cogito-v2.1-671b": { + "id": "deepcogito/cogito-v2.1-671b", + "name": "Cogito v2.1 671B MoE", + "family": "cogito", + "attachment": false, + "reasoning": true, + "tool_call": false, + "structured_output": false, + "release_date": "2025-11-19", + "last_updated": "2025-11-19", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "input": 128000, + "output": 16384 + }, + "cost": { + "input": 1.25, + "output": 1.25 + } + }, + "Salesforce/Llama-xLAM-2-70b-fc-r": { + "id": "Salesforce/Llama-xLAM-2-70b-fc-r", + "name": "Llama-xLAM-2 70B fc-r", + "family": "llama", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-04-13", + "last_updated": "2025-04-13", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "input": 128000, + "output": 16384 + }, + "cost": { + "input": 2.5, + "output": 2.5 + } + }, + "NousResearch 2/hermes-4-405b:thinking": { + "id": "NousResearch 2/hermes-4-405b:thinking", + "name": "Hermes 4 Large (Thinking)", + "family": "nousresearch", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "release_date": "2025-01-01", + "last_updated": "2025-01-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "input": 128000, + "output": 8192 + }, + "cost": { + "input": 0.3, + "output": 1.2 + } + }, + "NousResearch 2/DeepHermes-3-Mistral-24B-Preview": { + "id": "NousResearch 2/DeepHermes-3-Mistral-24B-Preview", + "name": "DeepHermes-3 Mistral 24B (Preview)", + "family": "nousresearch", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-05-10", + "last_updated": "2025-05-10", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "input": 128000, + "output": 32768 + }, + "cost": { + "input": 0.3, + "output": 0.3 + } + }, + "NousResearch 2/Hermes-4-70B:thinking": { + "id": "NousResearch 2/Hermes-4-70B:thinking", + "name": "Hermes 4 (Thinking)", + "family": "nousresearch", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-09-17", + "last_updated": "2025-09-17", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "input": 128000, + "output": 8192 + }, + "cost": { + "input": 0.2006, + "output": 0.39949999999999997 + } + }, + "NousResearch 2/hermes-4-405b": { + "id": "NousResearch 2/hermes-4-405b", + "name": "Hermes 4 Large", + "family": "nousresearch", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "release_date": "2025-08-26", + "last_updated": "2025-08-26", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "input": 128000, + "output": 8192 + }, + "cost": { + "input": 0.3, + "output": 1.2 + } + }, + "NousResearch 2/hermes-3-llama-3.1-70b": { + "id": "NousResearch 2/hermes-3-llama-3.1-70b", + "name": "Hermes 3 70B", + "family": "nousresearch", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2026-01-07", + "last_updated": "2026-01-07", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 65536, + "input": 65536, + "output": 8192 + }, + "cost": { + "input": 0.408, + "output": 0.408 + } + }, + "NousResearch 2/hermes-4-70b": { + "id": "NousResearch 2/hermes-4-70b", + "name": "Hermes 4 Medium", + "family": "nousresearch", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-07-03", + "last_updated": "2025-07-03", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "input": 128000, + "output": 8192 + }, + "cost": { + "input": 0.2006, + "output": 0.39949999999999997 + } + }, + "soob3123/Veiled-Calla-12B": { + "id": "soob3123/Veiled-Calla-12B", + "name": "Veiled Calla 12B", + "family": "llama", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-04-13", + "last_updated": "2025-04-13", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 32768, + "input": 32768, + "output": 8192 + }, + "cost": { + "input": 0.3, + "output": 0.3 + } + }, + "soob3123/GrayLine-Qwen3-8B": { + "id": "soob3123/GrayLine-Qwen3-8B", + "name": "Grayline Qwen3 8B", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-09-25", + "last_updated": "2025-09-25", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 16384, + "input": 16384, + "output": 32768 + }, + "cost": { + "input": 0.3, + "output": 0.3 + } + }, + "soob3123/amoral-gemma3-27B-v2": { + "id": "soob3123/amoral-gemma3-27B-v2", + "name": "Amoral Gemma3 27B v2", + "family": "gemma", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-05-23", + "last_updated": "2025-05-23", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 32768, + "input": 32768, + "output": 8192 + }, + "cost": { + "input": 0.3, + "output": 0.3 + } + }, + "nex-agi/deepseek-v3.1-nex-n1": { + "id": "nex-agi/deepseek-v3.1-nex-n1", + "name": "DeepSeek V3.1 Nex N1", + "family": "deepseek", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-12-10", + "last_updated": "2025-12-10", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "input": 128000, + "output": 8192 + }, + "cost": { + "input": 0.27999999999999997, + "output": 0.42000000000000004 + } + }, + "Envoid/Llama-3.05-NT-Storybreaker-Ministral-70B": { + "id": "Envoid/Llama-3.05-NT-Storybreaker-Ministral-70B", + "name": "Llama 3.05 Storybreaker Ministral 70b", + "family": "llama", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2024-12-01", + "last_updated": "2024-12-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 16384, + "input": 16384, + "output": 8192 + }, + "cost": { + "input": 0.49299999999999994, + "output": 0.49299999999999994 + } + }, + "Envoid/Llama-3.05-Nemotron-Tenyxchat-Storybreaker-70B": { + "id": "Envoid/Llama-3.05-Nemotron-Tenyxchat-Storybreaker-70B", + "name": "Nemotron Tenyxchat Storybreaker 70b", + "family": "nemotron", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2024-12-01", + "last_updated": "2024-12-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 16384, + "input": 16384, + "output": 8192 + }, + "cost": { + "input": 0.49299999999999994, + "output": 0.49299999999999994 + } + }, + "anthracite-org/magnum-v4-72b": { + "id": "anthracite-org/magnum-v4-72b", + "name": "Magnum v4 72B", + "family": "llama", + "attachment": true, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-01-01", + "last_updated": "2025-01-01", + "modalities": { + "input": ["text", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 16384, + "input": 16384, + "output": 8192 + }, + "cost": { + "input": 2.006, + "output": 2.992 + } + }, + "anthracite-org/magnum-v2-72b": { + "id": "anthracite-org/magnum-v2-72b", + "name": "Magnum V2 72B", + "family": "llama", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2024-07-01", + "last_updated": "2024-07-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 16384, + "input": 16384, + "output": 8192 + }, + "cost": { + "input": 2.006, + "output": 2.992 + } + }, + "ReadyArt/MS3.2-The-Omega-Directive-24B-Unslop-v2.0": { + "id": "ReadyArt/MS3.2-The-Omega-Directive-24B-Unslop-v2.0", + "name": "Omega Directive 24B Unslop v2.0", + "family": "llama", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-12-08", + "last_updated": "2025-12-08", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 16384, + "input": 16384, + "output": 32768 + }, + "cost": { + "input": 0.5, + "output": 0.5 + } + }, + "ReadyArt/The-Omega-Abomination-L-70B-v1.0": { + "id": "ReadyArt/The-Omega-Abomination-L-70B-v1.0", + "name": "The Omega Abomination V1", + "family": "llama", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2024-12-01", + "last_updated": "2024-12-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 16384, + "input": 16384, + "output": 16384 + }, + "cost": { + "input": 0.7, + "output": 0.95 + } + }, + "undi95/remm-slerp-l2-13b": { + "id": "undi95/remm-slerp-l2-13b", + "name": "ReMM SLERP 13B", + "family": "llama", + "attachment": true, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-01-01", + "last_updated": "2025-01-01", + "modalities": { + "input": ["text", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 6144, + "input": 6144, + "output": 4096 + }, + "cost": { + "input": 0.7989999999999999, + "output": 1.2069999999999999 + } + }, + "MarinaraSpaghetti/NemoMix-Unleashed-12B": { + "id": "MarinaraSpaghetti/NemoMix-Unleashed-12B", + "name": "NemoMix 12B Unleashed", + "family": "mistral-nemo", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2024-07-01", + "last_updated": "2024-07-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 32768, + "input": 32768, + "output": 8192 + }, + "cost": { + "input": 0.49299999999999994, + "output": 0.49299999999999994 + } + }, + "allenai/molmo-2-8b": { + "id": "allenai/molmo-2-8b", + "name": "Molmo 2 8B", + "family": "allenai", + "attachment": true, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2026-02-14", + "last_updated": "2026-02-14", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 36864, + "input": 36864, + "output": 36864 + }, + "cost": { + "input": 0.2, + "output": 0.2 + } + }, + "allenai/olmo-3.1-32b-instruct": { + "id": "allenai/olmo-3.1-32b-instruct", + "name": "Olmo 3.1 32B Instruct", + "family": "allenai", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2026-01-25", + "last_updated": "2026-01-25", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 65536, + "input": 65536, + "output": 8192 + }, + "cost": { + "input": 0.2, + "output": 0.6 + } + }, + "allenai/olmo-3.1-32b-think": { + "id": "allenai/olmo-3.1-32b-think", + "name": "Olmo 3.1 32B Think", + "family": "allenai", + "attachment": false, + "reasoning": true, + "tool_call": false, + "structured_output": false, + "release_date": "2026-01-25", + "last_updated": "2026-01-25", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 65536, + "input": 65536, + "output": 8192 + }, + "cost": { + "input": 0.15, + "output": 0.5 + } + }, + "allenai/olmo-3-32b-think": { + "id": "allenai/olmo-3-32b-think", + "name": "Olmo 3 32B Think", + "family": "allenai", + "attachment": false, + "reasoning": true, + "tool_call": false, + "structured_output": false, + "release_date": "2025-11-01", + "last_updated": "2025-11-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "input": 128000, + "output": 8192 + }, + "cost": { + "input": 0.3, + "output": 0.44999999999999996 + } + }, + "stepfun-ai/step-3.5-flash:thinking": { + "id": "stepfun-ai/step-3.5-flash:thinking", + "name": "Step 3.5 Flash Thinking", + "family": "step", + "attachment": false, + "reasoning": true, + "tool_call": false, + "structured_output": false, + "release_date": "2026-02-02", + "last_updated": "2026-02-02", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 256000, + "input": 256000, + "output": 256000 + }, + "cost": { + "input": 0.2, + "output": 0.5 + } + }, + "stepfun-ai/step-3.5-flash": { + "id": "stepfun-ai/step-3.5-flash", + "name": "Step 3.5 Flash", + "family": "step", + "attachment": false, + "reasoning": true, + "tool_call": false, + "structured_output": false, + "release_date": "2026-02-02", + "last_updated": "2026-02-02", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 256000, + "input": 256000, + "output": 256000 + }, + "cost": { + "input": 0.2, + "output": 0.5 + } + }, + "zai-org/glm-4.7": { + "id": "zai-org/glm-4.7", + "name": "GLM 4.7", + "family": "glm", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "release_date": "2026-01-29", + "last_updated": "2026-01-29", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 200000, + "input": 200000, + "output": 128000 + }, + "cost": { + "input": 0.15, + "output": 0.8 + } + }, + "zai-org/glm-5": { + "id": "zai-org/glm-5", + "name": "GLM 5", + "family": "glm", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "release_date": "2026-02-11", + "last_updated": "2026-02-11", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 200000, + "input": 200000, + "output": 128000 + }, + "cost": { + "input": 0.3, + "output": 2.55 + } + }, + "zai-org/glm-5.1": { + "id": "zai-org/glm-5.1", + "name": "GLM 5.1", + "family": "glm", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "release_date": "2026-03-27", + "last_updated": "2026-03-27", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 200000, + "input": 200000, + "output": 131072 + }, + "cost": { + "input": 0.3, + "output": 2.55 + } + }, + "zai-org/glm-5.1:thinking": { + "id": "zai-org/glm-5.1:thinking", + "name": "GLM 5.1 Thinking", + "family": "glm", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "release_date": "2026-03-27", + "last_updated": "2026-03-27", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 200000, + "input": 200000, + "output": 131072 + }, + "cost": { + "input": 0.3, + "output": 2.55 + } + }, + "zai-org/glm-5:thinking": { + "id": "zai-org/glm-5:thinking", + "name": "GLM 5 Thinking", + "family": "glm", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "release_date": "2026-02-11", + "last_updated": "2026-02-11", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 200000, + "input": 200000, + "output": 128000 + }, + "cost": { + "input": 0.3, + "output": 2.55 + } + }, + "zai-org/glm-4.7-flash": { + "id": "zai-org/glm-4.7-flash", + "name": "GLM 4.7 Flash", + "family": "glm-flash", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "release_date": "2026-01-19", + "last_updated": "2026-01-19", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 200000, + "input": 200000, + "output": 128000 + }, + "cost": { + "input": 0.07, + "output": 0.4 + } + }, + "featherless-ai/Qwerky-72B": { + "id": "featherless-ai/Qwerky-72B", + "name": "Qwerky 72B", + "family": "qwerky", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-03-20", + "last_updated": "2025-03-20", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 32000, + "input": 32000, + "output": 8192 + }, + "cost": { + "input": 0.5, + "output": 0.5 + } + }, + "mlabonne/NeuralDaredevil-8B-abliterated": { + "id": "mlabonne/NeuralDaredevil-8B-abliterated", + "name": "Neural Daredevil 8B abliterated", + "family": "llama", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2024-12-01", + "last_updated": "2024-12-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 8192, + "input": 8192, + "output": 8192 + }, + "cost": { + "input": 0.44, + "output": 0.44 + } + }, + "raifle/sorcererlm-8x22b": { + "id": "raifle/sorcererlm-8x22b", + "name": "SorcererLM 8x22B", + "family": "mixtral", + "attachment": true, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-01-01", + "last_updated": "2025-01-01", + "modalities": { + "input": ["text", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 16000, + "input": 16000, + "output": 8192 + }, + "cost": { + "input": 4.505, + "output": 4.505 + } + }, + "mistralai/mixtral-8x7b-instruct-v0.1": { + "id": "mistralai/mixtral-8x7b-instruct-v0.1", + "name": "Mixtral 8x7B", + "family": "mixtral", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-12-11", + "last_updated": "2025-12-11", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 32768, + "input": 32768, + "output": 32768 + }, + "cost": { + "input": 0.27, + "output": 0.27 + } + }, + "mistralai/mistral-saba": { + "id": "mistralai/mistral-saba", + "name": "Mistral Saba", + "family": "mistral", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-02-17", + "last_updated": "2025-02-17", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 32000, + "input": 32000, + "output": 32768 + }, + "cost": { + "input": 0.1989, + "output": 0.595 + } + }, + "mistralai/mistral-large-3-675b-instruct-2512": { + "id": "mistralai/mistral-large-3-675b-instruct-2512", + "name": "Mistral Large 3 675B", + "family": "mistral-large", + "attachment": true, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-12-02", + "last_updated": "2025-12-02", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 262144, + "input": 262144, + "output": 256000 + }, + "cost": { + "input": 1, + "output": 3 + } + }, + "mistralai/devstral-2-123b-instruct-2512": { + "id": "mistralai/devstral-2-123b-instruct-2512", + "name": "Devstral 2 123B", + "family": "devstral", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-12-09", + "last_updated": "2025-12-09", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 262144, + "input": 262144, + "output": 65536 + }, + "cost": { + "input": 0.4, + "output": 1.4 + } + }, + "mistralai/codestral-2508": { + "id": "mistralai/codestral-2508", + "name": "Codestral 2508", + "family": "codestral", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-08-01", + "last_updated": "2025-08-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 256000, + "input": 256000, + "output": 32768 + }, + "cost": { + "input": 0.3, + "output": 0.8999999999999999 + } + }, + "mistralai/ministral-14b-instruct-2512": { + "id": "mistralai/ministral-14b-instruct-2512", + "name": "Ministral 3 14B", + "family": "ministral", + "attachment": true, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-12-02", + "last_updated": "2025-12-02", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 262144, + "input": 262144, + "output": 32768 + }, + "cost": { + "input": 0.1, + "output": 0.4 + } + }, + "mistralai/mistral-tiny": { + "id": "mistralai/mistral-tiny", + "name": "Mistral Tiny", + "family": "mistral", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2023-12-11", + "last_updated": "2024-01-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 32000, + "input": 32000, + "output": 8192 + }, + "cost": { + "input": 0.25499999999999995, + "output": 0.25499999999999995 + } + }, + "mistralai/ministral-8b-2512": { + "id": "mistralai/ministral-8b-2512", + "name": "Ministral 8B", + "family": "ministral", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-12-04", + "last_updated": "2025-12-04", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 262144, + "input": 262144, + "output": 32768 + }, + "cost": { + "input": 0.15, + "output": 0.15 + } + }, + "mistralai/mixtral-8x22b-instruct-v0.1": { + "id": "mistralai/mixtral-8x22b-instruct-v0.1", + "name": "Mixtral 8x22B", + "family": "mixtral", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-12-11", + "last_updated": "2025-12-11", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 65536, + "input": 65536, + "output": 32768 + }, + "cost": { + "input": 0.8999999999999999, + "output": 0.8999999999999999 + } + }, + "mistralai/mistral-medium-3.1": { + "id": "mistralai/mistral-medium-3.1", + "name": "Mistral Medium 3.1", + "family": "mistral-medium", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-09-05", + "last_updated": "2025-09-05", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 131072, + "input": 131072, + "output": 32768 + }, + "cost": { + "input": 0.4, + "output": 2 + } + }, + "mistralai/ministral-3b-2512": { + "id": "mistralai/ministral-3b-2512", + "name": "Ministral 3B", + "family": "ministral", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-12-04", + "last_updated": "2025-12-04", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 131072, + "input": 131072, + "output": 32768 + }, + "cost": { + "input": 0.1, + "output": 0.1 + } + }, + "mistralai/Mistral-Nemo-Instruct-2407": { + "id": "mistralai/Mistral-Nemo-Instruct-2407", + "name": "Mistral Nemo", + "family": "mistral-nemo", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2024-07-18", + "last_updated": "2024-07-18", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 16384, + "input": 16384, + "output": 8192 + }, + "cost": { + "input": 0.1003, + "output": 0.1207 + } + }, + "mistralai/mistral-medium-3": { + "id": "mistralai/mistral-medium-3", + "name": "Mistral Medium 3", + "family": "mistral-medium", + "attachment": true, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-09-25", + "last_updated": "2025-09-25", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 131072, + "input": 131072, + "output": 32768 + }, + "cost": { + "input": 0.4, + "output": 2 + } + }, + "mistralai/mistral-7b-instruct": { + "id": "mistralai/mistral-7b-instruct", + "name": "Mistral 7B Instruct", + "family": "mistral", + "attachment": true, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2024-05-27", + "last_updated": "2024-05-27", + "modalities": { + "input": ["text", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 32768, + "input": 32768, + "output": 8192 + }, + "cost": { + "input": 0.0544, + "output": 0.0544 + } + }, + "mistralai/Devstral-Small-2505": { + "id": "mistralai/Devstral-Small-2505", + "name": "Mistral Devstral Small 2505", + "family": "devstral", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-08-02", + "last_updated": "2025-08-02", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 32768, + "input": 32768, + "output": 8192 + }, + "cost": { + "input": 0.060000000000000005, + "output": 0.060000000000000005 + } + }, + "mistralai/mistral-small-creative": { + "id": "mistralai/mistral-small-creative", + "name": "Mistral Small Creative", + "family": "mistral-small", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "release_date": "2025-12-16", + "last_updated": "2025-12-16", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 32768, + "input": 32768, + "output": 32768 + }, + "cost": { + "input": 0.1, + "output": 0.3 + } + }, + "mistralai/mistral-large": { + "id": "mistralai/mistral-large", + "name": "Mistral Large 2411", + "family": "mistral-large", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2024-02-26", + "last_updated": "2024-02-26", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "input": 128000, + "output": 256000 + }, + "cost": { + "input": 2.006, + "output": 6.001 + } + }, + "mistralai/ministral-14b-2512": { + "id": "mistralai/ministral-14b-2512", + "name": "Ministral 14B", + "family": "ministral", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-12-04", + "last_updated": "2025-12-04", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 262144, + "input": 262144, + "output": 32768 + }, + "cost": { + "input": 0.2, + "output": 0.2 + } + }, + "shisa-ai/shisa-v2.1-llama3.3-70b": { + "id": "shisa-ai/shisa-v2.1-llama3.3-70b", + "name": "Shisa V2.1 Llama 3.3 70B", + "family": "llama", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2024-12-06", + "last_updated": "2024-12-06", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 32768, + "input": 32768, + "output": 4096 + }, + "cost": { + "input": 0.5, + "output": 0.5 + } + }, + "shisa-ai/shisa-v2-llama3.3-70b": { + "id": "shisa-ai/shisa-v2-llama3.3-70b", + "name": "Shisa V2 Llama 3.3 70B", + "family": "llama", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-07-26", + "last_updated": "2025-07-26", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "input": 128000, + "output": 16384 + }, + "cost": { + "input": 0.5, + "output": 0.5 + } + }, + "meta-llama/llama-3.3-70b-instruct": { + "id": "meta-llama/llama-3.3-70b-instruct", + "name": "Llama 3.3 70b Instruct", + "family": "llama", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "release_date": "2025-02-27", + "last_updated": "2025-02-27", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 131072, + "input": 131072, + "output": 16384 + }, + "cost": { + "input": 0.05, + "output": 0.23 + } + }, + "meta-llama/llama-4-scout": { + "id": "meta-llama/llama-4-scout", + "name": "Llama 4 Scout", + "family": "llama", + "attachment": true, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "release_date": "2025-09-05", + "last_updated": "2025-09-05", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 328000, + "input": 328000, + "output": 65536 + }, + "cost": { + "input": 0.085, + "output": 0.46 + } + }, + "meta-llama/llama-4-maverick": { + "id": "meta-llama/llama-4-maverick", + "name": "Llama 4 Maverick", + "family": "llama", + "attachment": true, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "release_date": "2025-09-05", + "last_updated": "2025-09-05", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1048576, + "input": 1048576, + "output": 65536 + }, + "cost": { + "input": 0.18000000000000002, + "output": 0.8 + } + }, + "meta-llama/llama-3.2-90b-vision-instruct": { + "id": "meta-llama/llama-3.2-90b-vision-instruct", + "name": "Llama 3.2 Medium", + "family": "llama", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-09-25", + "last_updated": "2025-09-25", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 131072, + "input": 131072, + "output": 16384 + }, + "cost": { + "input": 0.9009999999999999, + "output": 0.9009999999999999 + } + }, + "meta-llama/llama-3.2-3b-instruct": { + "id": "meta-llama/llama-3.2-3b-instruct", + "name": "Llama 3.2 3b Instruct", + "family": "llama", + "attachment": true, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2024-09-25", + "last_updated": "2024-09-25", + "modalities": { + "input": ["text", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 131072, + "input": 131072, + "output": 8192 + }, + "cost": { + "input": 0.0306, + "output": 0.0493 + } + }, + "meta-llama/llama-3.1-8b-instruct": { + "id": "meta-llama/llama-3.1-8b-instruct", + "name": "Llama 3.1 8b Instruct", + "family": "llama", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2024-07-23", + "last_updated": "2024-07-23", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 131072, + "input": 131072, + "output": 16384 + }, + "cost": { + "input": 0.0544, + "output": 0.0544 + } + }, + "GalrionSoftworks/MN-LooseCannon-12B-v1": { + "id": "GalrionSoftworks/MN-LooseCannon-12B-v1", + "name": "MN-LooseCannon-12B-v1", + "family": "mistral-nemo", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2024-07-01", + "last_updated": "2024-07-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 16384, + "input": 16384, + "output": 8192 + }, + "cost": { + "input": 0.49299999999999994, + "output": 0.49299999999999994 + } + }, + "baseten/Kimi-K2-Instruct-FP4": { + "id": "baseten/Kimi-K2-Instruct-FP4", + "name": "Kimi K2 0711 Instruct FP4", + "family": "kimi", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-07-11", + "last_updated": "2025-07-11", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "input": 128000, + "output": 131072 + }, + "cost": { + "input": 0.1, + "output": 2 + } + }, + "Gryphe/MythoMax-L2-13b": { + "id": "Gryphe/MythoMax-L2-13b", + "name": "MythoMax 13B", + "family": "llama", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-08-08", + "last_updated": "2025-08-08", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 4000, + "input": 4000, + "output": 4096 + }, + "cost": { + "input": 0.1003, + "output": 0.1003 + } + }, + "x-ai/grok-4-fast:thinking": { + "id": "x-ai/grok-4-fast:thinking", + "name": "Grok 4 Fast Thinking", + "family": "grok", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "release_date": "2025-07-09", + "last_updated": "2025-07-09", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 2000000, + "input": 2000000, + "output": 131072 + }, + "cost": { + "input": 0.2, + "output": 0.5 + } + }, + "x-ai/grok-4-07-09": { + "id": "x-ai/grok-4-07-09", + "name": "Grok 4", + "family": "grok", + "attachment": true, + "reasoning": true, + "tool_call": false, + "structured_output": false, + "release_date": "2025-07-09", + "last_updated": "2025-07-09", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 256000, + "input": 256000, + "output": 131072 + }, + "cost": { + "input": 3, + "output": 15 + } + }, + "x-ai/grok-4-fast": { + "id": "x-ai/grok-4-fast", + "name": "Grok 4 Fast", + "family": "grok", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "release_date": "2025-09-20", + "last_updated": "2025-09-20", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 2000000, + "input": 2000000, + "output": 131072 + }, + "cost": { + "input": 0.2, + "output": 0.5 + } + }, + "x-ai/grok-code-fast-1": { + "id": "x-ai/grok-code-fast-1", + "name": "Grok Code Fast 1", + "family": "grok", + "attachment": false, + "reasoning": true, + "tool_call": false, + "structured_output": false, + "release_date": "2025-08-28", + "last_updated": "2025-08-28", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 256000, + "input": 256000, + "output": 131072 + }, + "cost": { + "input": 0.2, + "output": 1.5 + } + }, + "x-ai/grok-4.1-fast": { + "id": "x-ai/grok-4.1-fast", + "name": "Grok 4.1 Fast", + "family": "grok", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "release_date": "2025-11-20", + "last_updated": "2025-11-20", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 2000000, + "input": 2000000, + "output": 131072 + }, + "cost": { + "input": 0.2, + "output": 0.5 + } + }, + "x-ai/grok-4.1-fast-reasoning": { + "id": "x-ai/grok-4.1-fast-reasoning", + "name": "Grok 4.1 Fast Reasoning", + "family": "grok", + "attachment": true, + "reasoning": true, + "tool_call": false, + "structured_output": false, + "release_date": "2025-11-20", + "last_updated": "2025-11-20", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 2000000, + "input": 2000000, + "output": 131072 + }, + "cost": { + "input": 0.2, + "output": 0.5 + } + }, + "tencent/Hunyuan-MT-7B": { + "id": "tencent/Hunyuan-MT-7B", + "name": "Hunyuan MT 7B", + "family": "hunyuan", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-09-18", + "last_updated": "2025-09-18", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 8192, + "input": 8192, + "output": 8192 + }, + "cost": { + "input": 10, + "output": 20 + } + }, + "microsoft/wizardlm-2-8x22b": { + "id": "microsoft/wizardlm-2-8x22b", + "name": "WizardLM-2 8x22B", + "family": "gpt", + "attachment": true, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-04-15", + "last_updated": "2025-04-15", + "modalities": { + "input": ["text", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 65536, + "input": 65536, + "output": 8192 + }, + "cost": { + "input": 0.49299999999999994, + "output": 0.49299999999999994 + } + }, + "microsoft/MAI-DS-R1-FP8": { + "id": "microsoft/MAI-DS-R1-FP8", + "name": "Microsoft DeepSeek R1", + "family": "deepseek", + "attachment": true, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-09-25", + "last_updated": "2025-09-25", + "modalities": { + "input": ["text", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "input": 128000, + "output": 8192 + }, + "cost": { + "input": 0.3, + "output": 0.3 + } + }, + "cohere/command-r": { + "id": "cohere/command-r", + "name": "Cohere: Command R", + "family": "command-r", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2024-03-11", + "last_updated": "2024-03-11", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "input": 128000, + "output": 4096 + }, + "cost": { + "input": 0.476, + "output": 1.428 + } + }, + "cohere/command-r-plus-08-2024": { + "id": "cohere/command-r-plus-08-2024", + "name": "Cohere: Command R+", + "family": "command-r", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": false, + "release_date": "2024-08-30", + "last_updated": "2024-08-30", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "input": 128000, + "output": 4096 + }, + "cost": { + "input": 2.856, + "output": 14.246 + } + }, + "chutesai/Mistral-Small-3.2-24B-Instruct-2506": { + "id": "chutesai/Mistral-Small-3.2-24B-Instruct-2506", + "name": "Mistral Small 3.2 24b Instruct", + "family": "chutesai", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-04-15", + "last_updated": "2025-04-15", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "input": 128000, + "output": 131072 + }, + "cost": { + "input": 0.2, + "output": 0.4 + } + }, + "nvidia/Llama-3.1-Nemotron-Ultra-253B-v1": { + "id": "nvidia/Llama-3.1-Nemotron-Ultra-253B-v1", + "name": "Nvidia Nemotron Ultra 253B", + "family": "nemotron", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-07-03", + "last_updated": "2025-07-03", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "input": 128000, + "output": 16384 + }, + "cost": { + "input": 0.4, + "output": 0.8 + } + }, + "nvidia/nemotron-3-nano-30b-a3b": { + "id": "nvidia/nemotron-3-nano-30b-a3b", + "name": "Nvidia Nemotron 3 Nano 30B", + "family": "nemotron", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-12-15", + "last_updated": "2025-12-15", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 256000, + "input": 256000, + "output": 262144 + }, + "cost": { + "input": 0.17, + "output": 0.68 + } + }, + "nvidia/nvidia-nemotron-nano-9b-v2": { + "id": "nvidia/nvidia-nemotron-nano-9b-v2", + "name": "Nvidia Nemotron Nano 9B v2", + "family": "nemotron", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-08-18", + "last_updated": "2025-08-18", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "input": 128000, + "output": 16384 + }, + "cost": { + "input": 0.17, + "output": 0.68 + } + }, + "nvidia/Llama-3.1-Nemotron-70B-Instruct-HF": { + "id": "nvidia/Llama-3.1-Nemotron-70B-Instruct-HF", + "name": "Nvidia Nemotron 70b", + "family": "nemotron", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-04-15", + "last_updated": "2025-04-15", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 16384, + "input": 16384, + "output": 8192 + }, + "cost": { + "input": 0.357, + "output": 0.408 + } + }, + "nvidia/Llama-3.3-Nemotron-Super-49B-v1": { + "id": "nvidia/Llama-3.3-Nemotron-Super-49B-v1", + "name": "Nvidia Nemotron Super 49B", + "family": "nemotron", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-08-08", + "last_updated": "2025-08-08", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "input": 128000, + "output": 16384 + }, + "cost": { + "input": 0.15, + "output": 0.15 + } + }, + "nvidia/Llama-3_3-Nemotron-Super-49B-v1_5": { + "id": "nvidia/Llama-3_3-Nemotron-Super-49B-v1_5", + "name": "Nvidia Nemotron Super 49B v1.5", + "family": "nemotron", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-08-08", + "last_updated": "2025-08-08", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "input": 128000, + "output": 16384 + }, + "cost": { + "input": 0.05, + "output": 0.25 + } + }, + "TheDrummer 2/Anubis-70B-v1": { + "id": "TheDrummer 2/Anubis-70B-v1", + "name": "Anubis 70B v1", + "family": "llama", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2024-07-01", + "last_updated": "2024-07-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 65536, + "input": 65536, + "output": 16384 + }, + "cost": { + "input": 0.31, + "output": 0.31 + } + }, + "TheDrummer 2/Cydonia-24B-v4.3": { + "id": "TheDrummer 2/Cydonia-24B-v4.3", + "name": "The Drummer Cydonia 24B v4.3", + "family": "llama", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-12-25", + "last_updated": "2025-12-25", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 32768, + "input": 32768, + "output": 32768 + }, + "cost": { + "input": 0.1003, + "output": 0.1207 + } + }, + "TheDrummer 2/Magidonia-24B-v4.3": { + "id": "TheDrummer 2/Magidonia-24B-v4.3", + "name": "The Drummer Magidonia 24B v4.3", + "family": "llama", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-12-25", + "last_updated": "2025-12-25", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 32768, + "input": 32768, + "output": 32768 + }, + "cost": { + "input": 0.1003, + "output": 0.1207 + } + }, + "TheDrummer 2/Cydonia-24B-v4": { + "id": "TheDrummer 2/Cydonia-24B-v4", + "name": "The Drummer Cydonia 24B v4", + "family": "llama", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-07-22", + "last_updated": "2025-07-22", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 16384, + "input": 16384, + "output": 32768 + }, + "cost": { + "input": 0.2006, + "output": 0.2414 + } + }, + "TheDrummer 2/Anubis-70B-v1.1": { + "id": "TheDrummer 2/Anubis-70B-v1.1", + "name": "Anubis 70B v1.1", + "family": "llama", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2024-07-01", + "last_updated": "2024-07-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 131072, + "input": 131072, + "output": 16384 + }, + "cost": { + "input": 0.31, + "output": 0.31 + } + }, + "TheDrummer 2/Rocinante-12B-v1.1": { + "id": "TheDrummer 2/Rocinante-12B-v1.1", + "name": "Rocinante 12b", + "family": "llama", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2024-07-01", + "last_updated": "2024-07-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 16384, + "input": 16384, + "output": 8192 + }, + "cost": { + "input": 0.408, + "output": 0.595 + } + }, + "TheDrummer 2/Cydonia-24B-v4.1": { + "id": "TheDrummer 2/Cydonia-24B-v4.1", + "name": "The Drummer Cydonia 24B v4.1", + "family": "llama", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-08-19", + "last_updated": "2025-08-19", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 16384, + "input": 16384, + "output": 32768 + }, + "cost": { + "input": 0.1003, + "output": 0.1207 + } + }, + "TheDrummer 2/UnslopNemo-12B-v4.1": { + "id": "TheDrummer 2/UnslopNemo-12B-v4.1", + "name": "UnslopNemo 12b v4", + "family": "llama", + "attachment": true, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2024-07-01", + "last_updated": "2024-07-01", + "modalities": { + "input": ["text", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 32768, + "input": 32768, + "output": 8192 + }, + "cost": { + "input": 0.49299999999999994, + "output": 0.49299999999999994 + } + }, + "TheDrummer 2/Cydonia-24B-v2": { + "id": "TheDrummer 2/Cydonia-24B-v2", + "name": "The Drummer Cydonia 24B v2", + "family": "llama", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-02-17", + "last_updated": "2025-02-17", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 16384, + "input": 16384, + "output": 32768 + }, + "cost": { + "input": 0.1003, + "output": 0.1207 + } + }, + "TheDrummer 2/skyfall-36b-v2": { + "id": "TheDrummer 2/skyfall-36b-v2", + "name": "TheDrummer Skyfall 36B V2", + "family": "llama", + "attachment": true, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-03-10", + "last_updated": "2025-03-10", + "modalities": { + "input": ["text", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 64000, + "input": 64000, + "output": 32768 + }, + "cost": { + "input": 0.49299999999999994, + "output": 0.49299999999999994 + } + }, + "deepseek-ai/DeepSeek-V3.1:thinking": { + "id": "deepseek-ai/DeepSeek-V3.1:thinking", + "name": "DeepSeek V3.1 Thinking", + "family": "deepseek-thinking", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-08-21", + "last_updated": "2025-08-21", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "input": 128000, + "output": 65536 + }, + "cost": { + "input": 0.2, + "output": 0.7 + } + }, + "deepseek-ai/DeepSeek-V3.1": { + "id": "deepseek-ai/DeepSeek-V3.1", + "name": "DeepSeek V3.1", + "family": "deepseek", + "attachment": true, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-07-26", + "last_updated": "2025-07-26", + "modalities": { + "input": ["text", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "input": 128000, + "output": 65536 + }, + "cost": { + "input": 0.2, + "output": 0.7 + } + }, + "deepseek-ai/DeepSeek-V3.1-Terminus:thinking": { + "id": "deepseek-ai/DeepSeek-V3.1-Terminus:thinking", + "name": "DeepSeek V3.1 Terminus (Thinking)", + "family": "deepseek-thinking", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "release_date": "2025-09-22", + "last_updated": "2025-09-22", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "input": 128000, + "output": 65536 + }, + "cost": { + "input": 0.25, + "output": 0.7 + } + }, + "deepseek-ai/deepseek-v3.2-exp-thinking": { + "id": "deepseek-ai/deepseek-v3.2-exp-thinking", + "name": "DeepSeek V3.2 Exp Thinking", + "family": "deepseek-thinking", + "attachment": false, + "reasoning": true, + "tool_call": false, + "structured_output": false, + "release_date": "2025-09-29", + "last_updated": "2025-09-29", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 163840, + "input": 163840, + "output": 65536 + }, + "cost": { + "input": 0.27999999999999997, + "output": 0.42000000000000004 + } + }, + "deepseek-ai/deepseek-v3.2-exp": { + "id": "deepseek-ai/deepseek-v3.2-exp", + "name": "DeepSeek V3.2 Exp", + "family": "deepseek", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-09-29", + "last_updated": "2025-09-29", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 163840, + "input": 163840, + "output": 65536 + }, + "cost": { + "input": 0.27999999999999997, + "output": 0.42000000000000004 + } + }, + "deepseek-ai/DeepSeek-R1-0528": { + "id": "deepseek-ai/DeepSeek-R1-0528", + "name": "DeepSeek R1 0528", + "family": "deepseek", + "attachment": false, + "reasoning": true, + "tool_call": false, + "structured_output": false, + "release_date": "2025-05-28", + "last_updated": "2025-05-28", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "input": 128000, + "output": 163840 + }, + "cost": { + "input": 0.4, + "output": 1.7 + } + }, + "deepseek-ai/DeepSeek-V3.1-Terminus": { + "id": "deepseek-ai/DeepSeek-V3.1-Terminus", + "name": "DeepSeek V3.1 Terminus", + "family": "deepseek", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "release_date": "2025-08-02", + "last_updated": "2025-08-02", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "input": 128000, + "output": 65536 + }, + "cost": { + "input": 0.25, + "output": 0.7 + } + }, + "openai/gpt-5.1-codex-max": { + "id": "openai/gpt-5.1-codex-max", + "name": "GPT 5.1 Codex Max", "family": "gpt-codex", "attachment": true, "reasoning": true, "tool_call": true, "structured_output": true, + "release_date": "2025-11-13", + "last_updated": "2025-11-13", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "input": 400000, + "output": 128000 + }, + "cost": { + "input": 2.5, + "output": 20 + } + }, + "openai/gpt-5.2-chat": { + "id": "openai/gpt-5.2-chat", + "name": "GPT 5.2 Chat", + "family": "gpt", + "attachment": true, + "reasoning": true, + "tool_call": false, + "structured_output": false, + "release_date": "2026-01-01", + "last_updated": "2026-01-01", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "input": 400000, + "output": 16384 + }, + "cost": { + "input": 1.75, + "output": 14 + } + }, + "openai/gpt-4o-mini-search-preview": { + "id": "openai/gpt-4o-mini-search-preview", + "name": "GPT-4o mini Search Preview", + "family": "gpt-mini", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2024-07-18", + "last_updated": "2024-07-18", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "input": 128000, + "output": 16384 + }, + "cost": { + "input": 0.088, + "output": 0.35 + } + }, + "openai/chatgpt-4o-latest": { + "id": "openai/chatgpt-4o-latest", + "name": "ChatGPT 4o", + "family": "gpt", + "attachment": true, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "release_date": "2024-05-13", + "last_updated": "2024-05-13", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "input": 128000, + "output": 16384 + }, + "cost": { + "input": 4.998, + "output": 14.993999999999998 + } + }, + "openai/gpt-5.2-pro": { + "id": "openai/gpt-5.2-pro", + "name": "GPT 5.2 Pro", + "family": "gpt-pro", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "release_date": "2026-01-01", + "last_updated": "2026-01-01", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "input": 400000, + "output": 128000 + }, + "cost": { + "input": 21, + "output": 168 + } + }, + "openai/gpt-5-mini": { + "id": "openai/gpt-5-mini", + "name": "GPT 5 Mini", + "family": "gpt-mini", + "attachment": true, + "reasoning": true, + "tool_call": false, + "structured_output": false, + "release_date": "2025-08-07", + "last_updated": "2025-08-07", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "input": 400000, + "output": 128000 + }, + "cost": { + "input": 0.25, + "output": 2 + } + }, + "openai/gpt-5-nano": { + "id": "openai/gpt-5-nano", + "name": "GPT 5 Nano", + "family": "gpt-nano", + "attachment": true, + "reasoning": true, + "tool_call": false, + "structured_output": false, + "release_date": "2025-08-07", + "last_updated": "2025-08-07", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "input": 400000, + "output": 128000 + }, + "cost": { + "input": 0.05, + "output": 0.4 + } + }, + "openai/gpt-4-turbo": { + "id": "openai/gpt-4-turbo", + "name": "GPT-4 Turbo", + "family": "gpt", + "attachment": true, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2023-11-06", + "last_updated": "2024-01-01", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "input": 128000, + "output": 4096 + }, + "cost": { + "input": 10, + "output": 30 + } + }, + "openai/gpt-5.2": { + "id": "openai/gpt-5.2", + "name": "GPT 5.2", + "family": "gpt", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "release_date": "2026-01-01", + "last_updated": "2026-01-01", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "input": 400000, + "output": 128000 + }, + "cost": { + "input": 1.75, + "output": 14 + } + }, + "openai/o3-mini-high": { + "id": "openai/o3-mini-high", + "name": "OpenAI o3-mini (High)", + "family": "o-mini", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "release_date": "2025-01-31", + "last_updated": "2025-01-31", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "input": 200000, + "output": 100000 + }, + "cost": { + "input": 0.64, + "output": 2.588 + } + }, + "openai/gpt-4o-mini": { + "id": "openai/gpt-4o-mini", + "name": "GPT-4o mini", + "family": "gpt-mini", + "attachment": true, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2024-07-18", + "last_updated": "2024-07-18", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "input": 128000, + "output": 16384 + }, + "cost": { + "input": 0.1496, + "output": 0.595 + } + }, + "openai/o4-mini-deep-research": { + "id": "openai/o4-mini-deep-research", + "name": "OpenAI o4-mini Deep Research", + "family": "o-mini", + "attachment": false, + "reasoning": true, + "tool_call": false, + "structured_output": false, + "release_date": "2025-04-16", + "last_updated": "2025-04-16", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "input": 200000, + "output": 100000 + }, + "cost": { + "input": 9.996, + "output": 19.992 + } + }, + "openai/gpt-5.1-chat": { + "id": "openai/gpt-5.1-chat", + "name": "GPT 5.1 Chat", + "family": "gpt", + "attachment": true, + "reasoning": true, + "tool_call": false, + "structured_output": false, + "release_date": "2025-11-13", + "last_updated": "2025-11-13", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "input": 400000, + "output": 128000 + }, + "cost": { + "input": 1.25, + "output": 10 + } + }, + "openai/o4-mini": { + "id": "openai/o4-mini", + "name": "OpenAI o4-mini", + "family": "o-mini", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "release_date": "2025-04-16", + "last_updated": "2025-04-16", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "input": 200000, + "output": 100000 + }, + "cost": { + "input": 1.1, + "output": 4.4 + } + }, + "openai/gpt-5.2-codex": { + "id": "openai/gpt-5.2-codex", + "name": "GPT 5.2 Codex", + "family": "gpt-codex", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "release_date": "2026-01-14", + "last_updated": "2026-01-14", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "input": 400000, + "output": 128000 + }, + "cost": { + "input": 1.75, + "output": 14 + } + }, + "openai/gpt-5.1-codex-mini": { + "id": "openai/gpt-5.1-codex-mini", + "name": "GPT 5.1 Codex Mini", + "family": "gpt-codex-mini", + "attachment": true, + "reasoning": true, + "tool_call": false, + "structured_output": false, + "release_date": "2025-11-13", + "last_updated": "2025-11-13", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "input": 400000, + "output": 128000 + }, + "cost": { + "input": 0.25, + "output": 2 + } + }, + "openai/o1-preview": { + "id": "openai/o1-preview", + "name": "OpenAI o1-preview", + "family": "o", + "attachment": false, + "reasoning": true, + "tool_call": false, + "structured_output": false, + "release_date": "2024-09-12", + "last_updated": "2024-09-12", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "input": 128000, + "output": 32768 + }, + "cost": { + "input": 14.993999999999998, + "output": 59.993 + } + }, + "openai/gpt-4o-2024-08-06": { + "id": "openai/gpt-4o-2024-08-06", + "name": "GPT-4o (2024-08-06)", + "family": "gpt", + "attachment": true, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2024-08-06", + "last_updated": "2024-08-06", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "input": 128000, + "output": 16384 + }, + "cost": { + "input": 2.499, + "output": 9.996 + } + }, + "openai/gpt-5.1": { + "id": "openai/gpt-5.1", + "name": "GPT 5.1", + "family": "gpt", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "release_date": "2025-11-13", + "last_updated": "2025-11-13", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "input": 400000, + "output": 128000 + }, + "cost": { + "input": 1.25, + "output": 10 + } + }, + "openai/o1": { + "id": "openai/o1", + "name": "OpenAI o1", + "family": "o", + "attachment": false, + "reasoning": true, + "tool_call": false, + "structured_output": false, + "release_date": "2024-12-17", + "last_updated": "2024-12-17", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "input": 200000, + "output": 100000 + }, + "cost": { + "input": 14.993999999999998, + "output": 59.993 + } + }, + "openai/gpt-3.5-turbo": { + "id": "openai/gpt-3.5-turbo", + "name": "GPT-3.5 Turbo", + "family": "gpt", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2022-11-30", + "last_updated": "2024-01-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 16385, + "input": 16385, + "output": 4096 + }, + "cost": { + "input": 0.5, + "output": 1.5 + } + }, + "openai/o3-deep-research": { + "id": "openai/o3-deep-research", + "name": "OpenAI o3 Deep Research", + "family": "o", + "attachment": false, + "reasoning": true, + "tool_call": false, + "structured_output": false, + "release_date": "2025-04-16", + "last_updated": "2025-04-16", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "input": 200000, + "output": 100000 + }, + "cost": { + "input": 9.996, + "output": 19.992 + } + }, + "openai/o3-mini": { + "id": "openai/o3-mini", + "name": "OpenAI o3-mini", + "family": "o-mini", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "release_date": "2025-01-31", + "last_updated": "2025-01-31", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "input": 200000, + "output": 100000 + }, + "cost": { + "input": 1.1, + "output": 4.4 + } + }, + "openai/gpt-4-turbo-preview": { + "id": "openai/gpt-4-turbo-preview", + "name": "GPT-4 Turbo Preview", + "family": "gpt", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2023-11-06", + "last_updated": "2024-01-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "input": 128000, + "output": 4096 + }, + "cost": { + "input": 9.996, + "output": 30.004999999999995 + } + }, + "openai/o1-pro": { + "id": "openai/o1-pro", + "name": "OpenAI o1 Pro", + "family": "o-pro", + "attachment": true, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-01-25", + "last_updated": "2025-01-25", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "input": 200000, + "output": 100000 + }, + "cost": { + "input": 150, + "output": 600 + } + }, + "openai/gpt-5-codex": { + "id": "openai/gpt-5-codex", + "name": "GPT-5 Codex", + "family": "gpt-codex", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-09-15", + "last_updated": "2025-09-15", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 256000, + "input": 256000, + "output": 32768 + }, + "cost": { + "input": 9.996, + "output": 19.992 + } + }, + "openai/gpt-5.1-chat-latest": { + "id": "openai/gpt-5.1-chat-latest", + "name": "GPT 5.1 Chat (Latest)", + "family": "gpt", + "attachment": true, + "reasoning": true, + "tool_call": false, + "structured_output": false, + "release_date": "2025-11-13", + "last_updated": "2025-11-13", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "input": 400000, + "output": 16384 + }, + "cost": { + "input": 1.25, + "output": 10 + } + }, + "openai/gpt-4o-search-preview": { + "id": "openai/gpt-4o-search-preview", + "name": "GPT-4o Search Preview", + "family": "gpt", + "attachment": true, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2024-05-13", + "last_updated": "2024-05-13", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "input": 128000, + "output": 16384 + }, + "cost": { + "input": 1.47, + "output": 5.88 + } + }, + "openai/gpt-4.1-nano": { + "id": "openai/gpt-4.1-nano", + "name": "GPT 4.1 Nano", + "family": "gpt-nano", + "attachment": true, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-04-14", + "last_updated": "2025-04-14", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1047576, + "input": 1047576, + "output": 32768 + }, + "cost": { + "input": 0.1, + "output": 0.4 + } + }, + "openai/o4-mini-high": { + "id": "openai/o4-mini-high", + "name": "OpenAI o4-mini high", + "family": "o-mini", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "release_date": "2025-04-16", + "last_updated": "2025-04-16", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "input": 200000, + "output": 100000 + }, + "cost": { + "input": 1.1, + "output": 4.4 + } + }, + "openai/o3": { + "id": "openai/o3", + "name": "OpenAI o3", + "family": "o", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-04-16", + "last_updated": "2025-04-16", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "input": 200000, + "output": 100000 + }, + "cost": { + "input": 2, + "output": 8 + } + }, + "openai/gpt-oss-20b": { + "id": "openai/gpt-oss-20b", + "name": "GPT OSS 20B", + "family": "gpt-oss", + "attachment": false, + "reasoning": true, + "tool_call": false, + "structured_output": false, + "release_date": "2025-08-05", + "last_updated": "2025-08-05", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "input": 128000, + "output": 16384 + }, + "cost": { + "input": 0.04, + "output": 0.15 + } + }, + "openai/gpt-5-pro": { + "id": "openai/gpt-5-pro", + "name": "GPT 5 Pro", + "family": "gpt-pro", + "attachment": true, + "reasoning": true, + "tool_call": false, + "structured_output": false, + "release_date": "2025-08-07", + "last_updated": "2025-08-07", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "input": 400000, + "output": 128000 + }, + "cost": { + "input": 15, + "output": 120 + } + }, + "openai/gpt-5.1-2025-11-13": { + "id": "openai/gpt-5.1-2025-11-13", + "name": "GPT-5.1 (2025-11-13)", + "family": "gpt", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-11-13", + "last_updated": "2025-11-13", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000000, + "input": 1000000, + "output": 32768 + }, + "cost": { + "input": 1.25, + "output": 10 + } + }, + "openai/gpt-4o": { + "id": "openai/gpt-4o", + "name": "GPT-4o", + "family": "gpt", + "attachment": true, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2024-05-13", + "last_updated": "2024-05-13", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "input": 128000, + "output": 16384 + }, + "cost": { + "input": 2.499, + "output": 9.996 + } + }, + "openai/o3-mini-low": { + "id": "openai/o3-mini-low", + "name": "OpenAI o3-mini (Low)", + "family": "o-mini", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "release_date": "2025-01-31", + "last_updated": "2025-01-31", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "input": 200000, + "output": 100000 + }, + "cost": { + "input": 9.996, + "output": 19.992 + } + }, + "openai/gpt-5": { + "id": "openai/gpt-5", + "name": "GPT 5", + "family": "gpt", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "release_date": "2025-08-07", + "last_updated": "2025-08-07", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "input": 400000, + "output": 128000 + }, + "cost": { + "input": 1.25, + "output": 10 + } + }, + "openai/gpt-oss-safeguard-20b": { + "id": "openai/gpt-oss-safeguard-20b", + "name": "GPT OSS Safeguard 20B", + "family": "gpt-oss", + "attachment": false, + "reasoning": true, + "tool_call": false, + "structured_output": false, + "release_date": "2025-10-29", + "last_updated": "2025-10-29", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "input": 128000, + "output": 16384 + }, + "cost": { + "input": 0.075, + "output": 0.3 + } + }, + "openai/o3-pro-2025-06-10": { + "id": "openai/o3-pro-2025-06-10", + "name": "OpenAI o3-pro (2025-06-10)", + "family": "o-pro", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "release_date": "2025-06-10", + "last_updated": "2025-06-10", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "input": 200000, + "output": 100000 + }, + "cost": { + "input": 9.996, + "output": 19.992 + } + }, + "openai/gpt-oss-120b": { + "id": "openai/gpt-oss-120b", + "name": "GPT OSS 120B", + "family": "gpt-oss", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "release_date": "2025-08-05", + "last_updated": "2025-08-05", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "input": 128000, + "output": 16384 + }, + "cost": { + "input": 0.05, + "output": 0.25 + } + }, + "openai/gpt-5-chat-latest": { + "id": "openai/gpt-5-chat-latest", + "name": "GPT 5 Chat", + "family": "gpt", + "attachment": true, + "reasoning": true, + "tool_call": false, + "structured_output": false, + "release_date": "2025-08-07", + "last_updated": "2025-08-07", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "input": 400000, + "output": 128000 + }, + "cost": { + "input": 1.25, + "output": 10 + } + }, + "openai/gpt-4.1": { + "id": "openai/gpt-4.1", + "name": "GPT 4.1", + "family": "gpt", + "attachment": true, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "release_date": "2025-09-10", + "last_updated": "2025-09-10", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1047576, + "input": 1047576, + "output": 32768 + }, + "cost": { + "input": 2, + "output": 8 + } + }, + "openai/gpt-4.1-mini": { + "id": "openai/gpt-4.1-mini", + "name": "GPT 4.1 Mini", + "family": "gpt-mini", + "attachment": true, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-04-14", + "last_updated": "2025-04-14", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1047576, + "input": 1047576, + "output": 32768 + }, + "cost": { + "input": 0.4, + "output": 1.6 + } + }, + "openai/gpt-5.1-codex": { + "id": "openai/gpt-5.1-codex", + "name": "GPT 5.1 Codex", + "family": "gpt-codex", + "attachment": true, + "reasoning": true, + "tool_call": false, + "structured_output": false, + "release_date": "2025-11-13", + "last_updated": "2025-11-13", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "input": 400000, + "output": 128000 + }, + "cost": { + "input": 1.25, + "output": 10 + } + }, + "openai/gpt-4o-2024-11-20": { + "id": "openai/gpt-4o-2024-11-20", + "name": "GPT-4o (2024-11-20)", + "family": "gpt", + "attachment": true, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2024-11-20", + "last_updated": "2024-11-20", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "input": 128000, + "output": 16384 + }, + "cost": { + "input": 2.5, + "output": 10 + } + }, + "VongolaChouko/Starcannon-Unleashed-12B-v1.0": { + "id": "VongolaChouko/Starcannon-Unleashed-12B-v1.0", + "name": "Mistral Nemo Starcannon 12b v1", + "family": "mistral-nemo", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2024-07-01", + "last_updated": "2024-07-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 16384, + "input": 16384, + "output": 8192 + }, + "cost": { + "input": 0.49299999999999994, + "output": 0.49299999999999994 + } + }, + "amazon/nova-lite-v1": { + "id": "amazon/nova-lite-v1", + "name": "Amazon Nova Lite 1.0", + "family": "nova-lite", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2024-12-03", + "last_updated": "2024-12-03", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 300000, + "input": 300000, + "output": 5120 + }, + "cost": { + "input": 0.0595, + "output": 0.238 + } + }, + "amazon/nova-pro-v1": { + "id": "amazon/nova-pro-v1", + "name": "Amazon Nova Pro 1.0", + "family": "nova-pro", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2024-12-03", + "last_updated": "2024-12-03", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 300000, + "input": 300000, + "output": 32000 + }, + "cost": { + "input": 0.7989999999999999, + "output": 3.1959999999999997 + } + }, + "amazon/nova-2-lite-v1": { + "id": "amazon/nova-2-lite-v1", + "name": "Amazon Nova 2 Lite", + "family": "nova", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2024-12-03", + "last_updated": "2024-12-03", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000000, + "input": 1000000, + "output": 65535 + }, + "cost": { + "input": 0.5099999999999999, + "output": 4.25 + } + }, + "amazon/nova-micro-v1": { + "id": "amazon/nova-micro-v1", + "name": "Amazon Nova Micro 1.0", + "family": "nova-micro", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2024-12-03", + "last_updated": "2024-12-03", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "input": 128000, + "output": 5120 + }, + "cost": { + "input": 0.0357, + "output": 0.1394 + } + }, + "Sao10K/L3.3-70B-Euryale-v2.3": { + "id": "Sao10K/L3.3-70B-Euryale-v2.3", + "name": "Llama 3.3 70B Euryale", + "family": "llama", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2024-12-06", + "last_updated": "2024-12-06", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 20480, + "input": 20480, + "output": 16384 + }, + "cost": { + "input": 0.49299999999999994, + "output": 0.49299999999999994 + } + }, + "Sao10K/L3.1-70B-Euryale-v2.2": { + "id": "Sao10K/L3.1-70B-Euryale-v2.2", + "name": "Llama 3.1 70B Euryale", + "family": "llama", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2024-07-23", + "last_updated": "2024-07-23", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 20480, + "input": 20480, + "output": 16384 + }, + "cost": { + "input": 0.306, + "output": 0.357 + } + }, + "Sao10K/L3.1-70B-Hanami-x1": { + "id": "Sao10K/L3.1-70B-Hanami-x1", + "name": "Llama 3.1 70B Hanami", + "family": "llama", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2024-07-23", + "last_updated": "2024-07-23", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 16384, + "input": 16384, + "output": 16384 + }, + "cost": { + "input": 0.49299999999999994, + "output": 0.49299999999999994 + } + }, + "Sao10K/L3-8B-Stheno-v3.2": { + "id": "Sao10K/L3-8B-Stheno-v3.2", + "name": "Sao10K Stheno 8b", + "family": "llama", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2024-11-29", + "last_updated": "2024-11-29", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 16384, + "input": 16384, + "output": 8192 + }, + "cost": { + "input": 0.2006, + "output": 0.2006 + } + }, + "LatitudeGames/Wayfarer-Large-70B-Llama-3.3": { + "id": "LatitudeGames/Wayfarer-Large-70B-Llama-3.3", + "name": "Llama 3.3 70B Wayfarer", + "family": "llama", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-02-20", + "last_updated": "2025-02-20", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 16384, + "input": 16384, + "output": 16384 + }, + "cost": { + "input": 0.700000007, + "output": 0.700000007 + } + }, + "z-ai/glm-4.6:thinking": { + "id": "z-ai/glm-4.6:thinking", + "name": "GLM 4.6 Thinking", + "family": "glm", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "release_date": "2025-09-29", + "last_updated": "2025-09-29", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "input": 200000, + "output": 65535 + }, + "cost": { + "input": 0.4, + "output": 1.5 + } + }, + "z-ai/glm-4.5v": { + "id": "z-ai/glm-4.5v", + "name": "GLM 4.5V", + "family": "glmv", + "attachment": true, + "reasoning": true, + "tool_call": false, + "structured_output": false, + "release_date": "2025-11-22", + "last_updated": "2025-11-22", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 64000, + "input": 64000, + "output": 96000 + }, + "cost": { + "input": 0.6, + "output": 1.7999999999999998 + } + }, + "z-ai/glm-4.6": { + "id": "z-ai/glm-4.6", + "name": "GLM 4.6", + "family": "glm", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "release_date": "2025-09-30", + "last_updated": "2025-09-30", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "input": 200000, + "output": 65535 + }, + "cost": { + "input": 0.4, + "output": 1.5 + } + }, + "z-ai/glm-4.5v:thinking": { + "id": "z-ai/glm-4.5v:thinking", + "name": "GLM 4.5V Thinking", + "family": "glmv", + "attachment": true, + "reasoning": true, + "tool_call": false, + "structured_output": false, + "release_date": "2025-11-22", + "last_updated": "2025-11-22", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 64000, + "input": 64000, + "output": 96000 + }, + "cost": { + "input": 0.6, + "output": 1.7999999999999998 + } + }, + "baidu/ernie-4.5-vl-28b-a3b": { + "id": "baidu/ernie-4.5-vl-28b-a3b", + "name": "ERNIE 4.5 VL 28B", + "family": "ernie", + "attachment": true, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-06-30", + "last_updated": "2025-06-30", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 32768, + "input": 32768, + "output": 16384 + }, + "cost": { + "input": 0.13999999999999999, + "output": 0.5599999999999999 + } + }, + "baidu/ernie-4.5-300b-a47b": { + "id": "baidu/ernie-4.5-300b-a47b", + "name": "ERNIE 4.5 300B", + "family": "ernie", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-06-30", + "last_updated": "2025-06-30", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 131072, + "input": 131072, + "output": 16384 + }, + "cost": { + "input": 0.35, + "output": 1.15 + } + }, + "dmind/dmind-1": { + "id": "dmind/dmind-1", + "name": "DMind-1", + "family": "gpt", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-06-01", + "last_updated": "2025-06-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 32768, + "input": 32768, + "output": 8192 + }, + "cost": { + "input": 0.3, + "output": 0.6 + } + }, + "dmind/dmind-1-mini": { + "id": "dmind/dmind-1-mini", + "name": "DMind-1-Mini", + "family": "gpt", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-06-01", + "last_updated": "2025-06-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 32768, + "input": 32768, + "output": 8192 + }, + "cost": { + "input": 0.2, + "output": 0.4 + } + }, + "Infermatic/MN-12B-Inferor-v0.0": { + "id": "Infermatic/MN-12B-Inferor-v0.0", + "name": "Mistral Nemo Inferor 12B", + "family": "mistral-nemo", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2024-07-01", + "last_updated": "2024-07-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 16384, + "input": 16384, + "output": 8192 + }, + "cost": { + "input": 0.25499999999999995, + "output": 0.49299999999999994 + } + }, + "meituan-longcat/LongCat-Flash-Chat-FP8": { + "id": "meituan-longcat/LongCat-Flash-Chat-FP8", + "name": "LongCat Flash", + "family": "longcat", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "release_date": "2025-08-31", + "last_updated": "2025-08-31", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "input": 128000, + "output": 32768 + }, + "cost": { + "input": 0.15, + "output": 0.7 + } + }, + "meganova-ai/manta-mini-1.0": { + "id": "meganova-ai/manta-mini-1.0", + "name": "Manta Mini 1.0", + "family": "nova", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-12-20", + "last_updated": "2025-12-20", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 8192, + "input": 8192, + "output": 8192 + }, + "cost": { + "input": 0.02, + "output": 0.16 + } + }, + "meganova-ai/manta-pro-1.0": { + "id": "meganova-ai/manta-pro-1.0", + "name": "Manta Pro 1.0", + "family": "nova", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-12-20", + "last_updated": "2025-12-20", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 32768, + "input": 32768, + "output": 32768 + }, + "cost": { + "input": 0.060000000000000005, + "output": 0.5 + } + }, + "meganova-ai/manta-flash-1.0": { + "id": "meganova-ai/manta-flash-1.0", + "name": "Manta Flash 1.0", + "family": "nova", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-12-20", + "last_updated": "2025-12-20", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 16384, + "input": 16384, + "output": 16384 + }, + "cost": { + "input": 0.02, + "output": 0.16 + } + }, + "minimax/minimax-m2.7": { + "id": "minimax/minimax-m2.7", + "name": "MiniMax M2.7", + "family": "minimax", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "release_date": "2026-03-18", + "last_updated": "2026-03-18", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 204800, + "input": 204800, + "output": 131072 + }, + "cost": { + "input": 0.3, + "output": 1.2 + } + }, + "minimax/minimax-01": { + "id": "minimax/minimax-01", + "name": "MiniMax 01", + "family": "minimax", + "attachment": true, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-01-15", + "last_updated": "2025-01-15", + "modalities": { + "input": ["text", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000192, + "input": 1000192, + "output": 16384 + }, + "cost": { + "input": 0.1394, + "output": 1.1219999999999999 + } + }, + "minimax/minimax-m2.1": { + "id": "minimax/minimax-m2.1", + "name": "MiniMax M2.1", + "family": "minimax", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "release_date": "2025-12-19", + "last_updated": "2025-12-19", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "input": 200000, + "output": 131072 + }, + "cost": { + "input": 0.33, + "output": 1.32 + } + }, + "minimax/minimax-m2-her": { + "id": "minimax/minimax-m2-her", + "name": "MiniMax M2-her", + "family": "minimax", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2026-01-24", + "last_updated": "2026-01-24", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 65532, + "input": 65532, + "output": 2048 + }, + "cost": { + "input": 0.30200000000000005, + "output": 1.2069999999999999 + } + }, + "minimax/minimax-m2.5": { + "id": "minimax/minimax-m2.5", + "name": "MiniMax M2.5", + "family": "minimax", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "release_date": "2026-02-12", + "last_updated": "2026-02-12", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 204800, + "input": 204800, + "output": 131072 + }, + "cost": { + "input": 0.3, + "output": 1.2 + } + }, + "qwen/Qwen3.6-35B-A3B:thinking": { + "id": "qwen/Qwen3.6-35B-A3B:thinking", + "name": "Qwen3.6 35B A3B Thinking", + "family": "qwen3.6", + "attachment": false, + "reasoning": true, + "tool_call": false, + "structured_output": false, + "release_date": "2026-04-19", + "last_updated": "2026-04-21", + "modalities": { + "input": ["text", "image", "video"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 16384 + }, + "cost": { + "input": 0.29, + "output": 1.74 + } + }, + "qwen/qwen3.5-397b-a17b": { + "id": "qwen/qwen3.5-397b-a17b", + "name": "Qwen3.5 397B A17B", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2026-02-16", + "last_updated": "2026-02-16", + "modalities": { + "input": ["text", "image", "video"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 258048, + "input": 258048, + "output": 65536 + }, + "cost": { + "input": 0.6, + "output": 3.6 + } + }, + "qwen/Qwen3.6-35B-A3B": { + "id": "qwen/Qwen3.6-35B-A3B", + "name": "Qwen3.6 35B A3B", + "family": "qwen3.6", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2026-04-17", + "last_updated": "2026-04-21", + "modalities": { + "input": ["text", "image", "video"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 16384 + }, + "cost": { + "input": 0.29, + "output": 1.74 + } + }, + "unsloth/gemma-3-1b-it": { + "id": "unsloth/gemma-3-1b-it", + "name": "Gemma 3 1B IT", + "family": "unsloth", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-03-10", + "last_updated": "2025-03-10", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "input": 128000, + "output": 8192 + }, + "cost": { + "input": 0.1003, + "output": 0.1003 + } + }, + "unsloth/gemma-3-12b-it": { + "id": "unsloth/gemma-3-12b-it", + "name": "Gemma 3 12B IT", + "family": "unsloth", + "attachment": true, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-03-10", + "last_updated": "2025-03-10", + "modalities": { + "input": ["text", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "input": 128000, + "output": 131072 + }, + "cost": { + "input": 0.272, + "output": 0.272 + } + }, + "unsloth/gemma-3-4b-it": { + "id": "unsloth/gemma-3-4b-it", + "name": "Gemma 3 4B IT", + "family": "unsloth", + "attachment": true, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-03-10", + "last_updated": "2025-03-10", + "modalities": { + "input": ["text", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "input": 128000, + "output": 8192 + }, + "cost": { + "input": 0.2006, + "output": 0.2006 + } + }, + "unsloth/gemma-3-27b-it": { + "id": "unsloth/gemma-3-27b-it", + "name": "Gemma 3 27B IT", + "family": "unsloth", + "attachment": true, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-03-10", + "last_updated": "2025-03-10", + "modalities": { + "input": ["text", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "input": 128000, + "output": 96000 + }, + "cost": { + "input": 0.2992, + "output": 0.2992 + } + }, + "THUDM/GLM-Z1-9B-0414": { + "id": "THUDM/GLM-Z1-9B-0414", + "name": "GLM Z1 9B 0414", + "family": "glm-z", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-04-14", + "last_updated": "2025-04-14", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 32000, + "input": 32000, + "output": 8000 + }, + "cost": { + "input": 0.2, + "output": 0.2 + } + }, + "THUDM/GLM-4-9B-0414": { + "id": "THUDM/GLM-4-9B-0414", + "name": "GLM 4 9B 0414", + "family": "glm", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-04-14", + "last_updated": "2025-04-14", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 32000, + "input": 32000, + "output": 8000 + }, + "cost": { + "input": 0.2, + "output": 0.2 + } + }, + "THUDM/GLM-Z1-Rumination-32B-0414": { + "id": "THUDM/GLM-Z1-Rumination-32B-0414", + "name": "GLM Z1 Rumination 32B 0414", + "family": "glm-z", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-04-15", + "last_updated": "2025-04-15", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 32000, + "input": 32000, + "output": 65536 + }, + "cost": { + "input": 0.2, + "output": 0.2 + } + }, + "THUDM/GLM-4-32B-0414": { + "id": "THUDM/GLM-4-32B-0414", + "name": "GLM 4 32B 0414", + "family": "glm", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-04-14", + "last_updated": "2025-04-14", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "input": 128000, + "output": 65536 + }, + "cost": { + "input": 0.2, + "output": 0.2 + } + }, + "THUDM/GLM-Z1-32B-0414": { + "id": "THUDM/GLM-Z1-32B-0414", + "name": "GLM Z1 32B 0414", + "family": "glm-z", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-04-15", + "last_updated": "2025-04-15", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "input": 128000, + "output": 65536 + }, + "cost": { + "input": 0.2, + "output": 0.2 + } + }, + "google/gemini-3-flash-preview": { + "id": "google/gemini-3-flash-preview", + "name": "Gemini 3 Flash (Preview)", + "family": "gemini-flash", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "release_date": "2025-12-17", + "last_updated": "2025-12-17", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1048756, + "input": 1048756, + "output": 65536 + }, + "cost": { + "input": 0.5, + "output": 3 + } + }, + "google/gemini-flash-1.5": { + "id": "google/gemini-flash-1.5", + "name": "Gemini 1.5 Flash", + "family": "gemini-flash", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2024-05-14", + "last_updated": "2024-05-14", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 2000000, + "input": 2000000, + "output": 8192 + }, + "cost": { + "input": 0.0748, + "output": 0.306 + } + }, + "google/gemini-3-flash-preview-thinking": { + "id": "google/gemini-3-flash-preview-thinking", + "name": "Gemini 3 Flash Thinking", + "family": "gemini-flash", + "attachment": true, + "reasoning": true, + "tool_call": false, + "structured_output": false, + "release_date": "2025-12-17", + "last_updated": "2025-12-17", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1048756, + "input": 1048756, + "output": 65536 + }, + "cost": { + "input": 0.5, + "output": 3 + } + }, + "moonshotai/kimi-k2.5": { + "id": "moonshotai/kimi-k2.5", + "name": "Kimi K2.5", + "family": "kimi", + "attachment": true, + "reasoning": false, + "tool_call": true, + "structured_output": false, + "release_date": "2026-01-26", + "last_updated": "2026-01-26", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 256000, + "input": 256000, + "output": 65536 + }, + "cost": { + "input": 0.3, + "output": 1.9 + } + }, + "moonshotai/kimi-k2-instruct": { + "id": "moonshotai/kimi-k2-instruct", + "name": "Kimi K2 Instruct", + "family": "kimi", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "release_date": "2025-07-01", + "last_updated": "2025-07-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 256000, + "input": 256000, + "output": 8192 + }, + "cost": { + "input": 0.1, + "output": 2 + } + }, + "moonshotai/kimi-k2-thinking-original": { + "id": "moonshotai/kimi-k2-thinking-original", + "name": "Kimi K2 Thinking Original", + "family": "kimi-thinking", + "attachment": false, + "reasoning": true, + "tool_call": false, + "structured_output": false, + "release_date": "2025-11-06", + "last_updated": "2025-11-06", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 256000, + "input": 256000, + "output": 16384 + }, + "cost": { + "input": 0.6, + "output": 2.5 + } + }, + "moonshotai/kimi-k2-instruct-0711": { + "id": "moonshotai/kimi-k2-instruct-0711", + "name": "Kimi K2 0711", + "family": "kimi", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "release_date": "2025-07-11", + "last_updated": "2025-07-11", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "input": 128000, + "output": 8192 + }, + "cost": { + "input": 0.1, + "output": 2 + } + }, + "moonshotai/Kimi-Dev-72B": { + "id": "moonshotai/Kimi-Dev-72B", + "name": "Kimi Dev 72B", + "family": "kimi", + "attachment": true, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-04-15", + "last_updated": "2025-04-15", + "modalities": { + "input": ["text", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "input": 128000, + "output": 131072 + }, + "cost": { + "input": 0.4, + "output": 0.4 + } + }, + "moonshotai/kimi-k2-thinking-turbo-original": { + "id": "moonshotai/kimi-k2-thinking-turbo-original", + "name": "Kimi K2 Thinking Turbo Original", + "family": "kimi-thinking", + "attachment": false, + "reasoning": true, + "tool_call": false, + "structured_output": false, + "release_date": "2025-11-06", + "last_updated": "2025-11-06", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 256000, + "input": 256000, + "output": 16384 + }, + "cost": { + "input": 1.15, + "output": 8 + } + }, + "moonshotai/kimi-k2.6": { + "id": "moonshotai/kimi-k2.6", + "name": "Kimi K2.6", + "family": "kimi-k2.6", + "attachment": true, + "reasoning": false, + "tool_call": true, + "structured_output": false, + "release_date": "2026-04-16", + "last_updated": "2026-04-21", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 256000, + "output": 65536 + }, + "cost": { + "input": 0.53, + "output": 2.73 + } + }, + "moonshotai/kimi-k2.6:thinking": { + "id": "moonshotai/kimi-k2.6:thinking", + "name": "Kimi K2.6 Thinking", + "family": "kimi-thinking", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": false, + "release_date": "2026-04-16", + "last_updated": "2026-04-21", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 256000, + "output": 65536 + }, + "cost": { + "input": 0.53, + "output": 2.73 + } + }, + "moonshotai/Kimi-K2-Instruct-0905": { + "id": "moonshotai/Kimi-K2-Instruct-0905", + "name": "Kimi K2 0905", + "family": "kimi", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "release_date": "2025-09-25", + "last_updated": "2025-09-25", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 256000, + "input": 256000, + "output": 262144 + }, + "cost": { + "input": 0.4, + "output": 2 + } + }, + "moonshotai/kimi-k2-thinking": { + "id": "moonshotai/kimi-k2-thinking", + "name": "Kimi K2 Thinking", + "family": "kimi-thinking", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "release_date": "2025-11-06", + "last_updated": "2025-11-06", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 256000, + "input": 256000, + "output": 262144 + }, + "cost": { + "input": 0.3, + "output": 1.2 + } + }, + "moonshotai/kimi-k2.5:thinking": { + "id": "moonshotai/kimi-k2.5:thinking", + "name": "Kimi K2.5 Thinking", + "family": "kimi-thinking", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": false, + "release_date": "2026-01-26", + "last_updated": "2026-01-26", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 256000, + "input": 256000, + "output": 65536 + }, + "cost": { + "input": 0.3, + "output": 1.9 + } + }, + "Tongyi-Zhiwen/QwenLong-L1-32B": { + "id": "Tongyi-Zhiwen/QwenLong-L1-32B", + "name": "QwenLong L1 32B", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-01-25", + "last_updated": "2025-01-25", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "input": 128000, + "output": 40960 + }, + "cost": { + "input": 0.13999999999999999, + "output": 0.6 + } + }, + "nothingiisreal/L3.1-70B-Celeste-V0.1-BF16": { + "id": "nothingiisreal/L3.1-70B-Celeste-V0.1-BF16", + "name": "Llama 3.1 70B Celeste v0.1", + "family": "llama", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2024-07-23", + "last_updated": "2024-07-23", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 16384, + "input": 16384, + "output": 16384 + }, + "cost": { + "input": 0.49299999999999994, + "output": 0.49299999999999994 + } + }, + "aion-labs/aion-1.0": { + "id": "aion-labs/aion-1.0", + "name": "Aion 1.0", + "family": "llama", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-02-01", + "last_updated": "2025-02-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 65536, + "input": 65536, + "output": 8192 + }, + "cost": { + "input": 3.995, + "output": 7.99 + } + }, + "aion-labs/aion-rp-llama-3.1-8b": { + "id": "aion-labs/aion-rp-llama-3.1-8b", + "name": "Llama 3.1 8b (uncensored)", + "family": "llama", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2024-07-23", + "last_updated": "2024-07-23", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 32768, + "input": 32768, + "output": 16384 + }, + "cost": { + "input": 0.2006, + "output": 0.2006 + } + }, + "aion-labs/aion-1.0-mini": { + "id": "aion-labs/aion-1.0-mini", + "name": "Aion 1.0 mini (DeepSeek)", + "family": "deepseek", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-02-20", + "last_updated": "2025-02-20", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 131072, + "input": 131072, + "output": 8192 + }, + "cost": { + "input": 0.7989999999999999, + "output": 1.394 + } + }, + "Alibaba-NLP/Tongyi-DeepResearch-30B-A3B": { + "id": "Alibaba-NLP/Tongyi-DeepResearch-30B-A3B", + "name": "Tongyi DeepResearch 30B A3B", + "family": "yi", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-08-26", + "last_updated": "2025-08-26", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "input": 128000, + "output": 65536 + }, + "cost": { + "input": 0.08, + "output": 0.24000000000000002 + } + }, + "MiniMaxAI/MiniMax-M1-80k": { + "id": "MiniMaxAI/MiniMax-M1-80k", + "name": "MiniMax M1 80K", + "family": "minimax", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-06-16", + "last_updated": "2025-06-16", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000000, + "input": 1000000, + "output": 131072 + }, + "cost": { + "input": 0.6052, + "output": 2.4225000000000003 + } + }, + "anthropic/claude-opus-4.6:thinking:low": { + "id": "anthropic/claude-opus-4.6:thinking:low", + "name": "Claude 4.6 Opus Thinking Low", + "family": "claude-opus", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "release_date": "2026-02-05", + "last_updated": "2026-02-05", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000000, + "input": 1000000, + "output": 128000 + }, + "cost": { + "input": 4.998, + "output": 25.007 + } + }, + "anthropic/claude-opus-4.6": { + "id": "anthropic/claude-opus-4.6", + "name": "Claude 4.6 Opus", + "family": "claude-opus", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "release_date": "2026-02-05", + "last_updated": "2026-02-05", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000000, + "input": 1000000, + "output": 128000 + }, + "cost": { + "input": 4.998, + "output": 25.007 + } + }, + "anthropic/claude-sonnet-4.6:thinking": { + "id": "anthropic/claude-sonnet-4.6:thinking", + "name": "Claude Sonnet 4.6 Thinking", + "family": "claude-sonnet", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "knowledge": "2025-08-31", + "release_date": "2026-02-17", + "last_updated": "2026-02-17", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000000, + "input": 1000000, + "output": 128000 + }, + "cost": { + "input": 2.992, + "output": 14.993999999999998 + } + }, + "anthropic/claude-opus-4.6:thinking:max": { + "id": "anthropic/claude-opus-4.6:thinking:max", + "name": "Claude 4.6 Opus Thinking Max", + "family": "claude-opus", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "release_date": "2026-02-05", + "last_updated": "2026-02-05", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000000, + "input": 1000000, + "output": 128000 + }, + "cost": { + "input": 4.998, + "output": 25.007 + } + }, + "anthropic/claude-opus-4.6:thinking:medium": { + "id": "anthropic/claude-opus-4.6:thinking:medium", + "name": "Claude 4.6 Opus Thinking Medium", + "family": "claude-opus", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "release_date": "2026-02-05", + "last_updated": "2026-02-05", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000000, + "input": 1000000, + "output": 128000 + }, + "cost": { + "input": 4.998, + "output": 25.007 + } + }, + "anthropic/claude-sonnet-4.6": { + "id": "anthropic/claude-sonnet-4.6", + "name": "Claude Sonnet 4.6", + "family": "claude-sonnet", + "attachment": true, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "knowledge": "2025-08-31", + "release_date": "2026-02-17", + "last_updated": "2026-02-17", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000000, + "input": 1000000, + "output": 128000 + }, + "cost": { + "input": 2.992, + "output": 14.993999999999998 + } + }, + "anthropic/claude-opus-4.6:thinking": { + "id": "anthropic/claude-opus-4.6:thinking", + "name": "Claude 4.6 Opus Thinking", + "family": "claude-opus", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "release_date": "2026-02-05", + "last_updated": "2026-02-05", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000000, + "input": 1000000, + "output": 128000 + }, + "cost": { + "input": 4.998, + "output": 25.007 + } + }, + "abacusai/Dracarys-72B-Instruct": { + "id": "abacusai/Dracarys-72B-Instruct", + "name": "Llama 3.1 70B Dracarys 2", + "family": "llama", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-08-02", + "last_updated": "2025-08-02", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 16384, + "input": 16384, + "output": 8192 + }, + "cost": { + "input": 0.49299999999999994, + "output": 0.49299999999999994 + } + }, + "EVA-UNIT-01/EVA-LLaMA-3.33-70B-v0.0": { + "id": "EVA-UNIT-01/EVA-LLaMA-3.33-70B-v0.0", + "name": "EVA Llama 3.33 70B", + "family": "llama", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-07-26", + "last_updated": "2025-07-26", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 16384, + "input": 16384, + "output": 16384 + }, + "cost": { + "input": 2.006, + "output": 2.006 + } + }, + "EVA-UNIT-01/EVA-Qwen2.5-72B-v0.2": { + "id": "EVA-UNIT-01/EVA-Qwen2.5-72B-v0.2", + "name": "EVA-Qwen2.5-72B-v0.2", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-09-25", + "last_updated": "2025-09-25", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 16384, + "input": 16384, + "output": 8192 + }, + "cost": { + "input": 0.7989999999999999, + "output": 0.7989999999999999 + } + }, + "EVA-UNIT-01/EVA-LLaMA-3.33-70B-v0.1": { + "id": "EVA-UNIT-01/EVA-LLaMA-3.33-70B-v0.1", + "name": "EVA-LLaMA-3.33-70B-v0.1", + "family": "llama", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-09-25", + "last_updated": "2025-09-25", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 16384, + "input": 16384, + "output": 16384 + }, + "cost": { + "input": 2.006, + "output": 2.006 + } + }, + "EVA-UNIT-01/EVA-Qwen2.5-32B-v0.2": { + "id": "EVA-UNIT-01/EVA-Qwen2.5-32B-v0.2", + "name": "EVA-Qwen2.5-32B-v0.2", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-07-26", + "last_updated": "2025-07-26", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 16384, + "input": 16384, + "output": 8192 + }, + "cost": { + "input": 0.7989999999999999, + "output": 0.7989999999999999 + } + }, + "huihui-ai/DeepSeek-R1-Distill-Qwen-32B-abliterated": { + "id": "huihui-ai/DeepSeek-R1-Distill-Qwen-32B-abliterated", + "name": "DeepSeek R1 Qwen Abliterated", + "family": "qwen", + "attachment": false, + "reasoning": true, + "tool_call": false, + "structured_output": false, + "release_date": "2025-01-20", + "last_updated": "2025-01-20", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 16384, + "input": 16384, + "output": 8192 + }, + "cost": { + "input": 1.4, + "output": 1.4 + } + }, + "huihui-ai/DeepSeek-R1-Distill-Llama-70B-abliterated": { + "id": "huihui-ai/DeepSeek-R1-Distill-Llama-70B-abliterated", + "name": "DeepSeek R1 Llama 70B Abliterated", + "family": "deepseek", + "attachment": false, + "reasoning": true, + "tool_call": false, + "structured_output": false, + "release_date": "2025-01-20", + "last_updated": "2025-01-20", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 16384, + "input": 16384, + "output": 8192 + }, + "cost": { + "input": 0.7, + "output": 0.7 + } + }, + "huihui-ai/Llama-3.3-70B-Instruct-abliterated": { + "id": "huihui-ai/Llama-3.3-70B-Instruct-abliterated", + "name": "Llama 3.3 70B Instruct abliterated", + "family": "llama", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-08-08", + "last_updated": "2025-08-08", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 16384, + "input": 16384, + "output": 16384 + }, + "cost": { + "input": 0.7, + "output": 0.7 + } + }, + "huihui-ai/Qwen2.5-32B-Instruct-abliterated": { + "id": "huihui-ai/Qwen2.5-32B-Instruct-abliterated", + "name": "Qwen 2.5 32B Abliterated", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-01-06", + "last_updated": "2025-01-06", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 32768, + "input": 32768, + "output": 8192 + }, + "cost": { + "input": 0.7, + "output": 0.7 + } + }, + "huihui-ai/Llama-3.1-Nemotron-70B-Instruct-HF-abliterated": { + "id": "huihui-ai/Llama-3.1-Nemotron-70B-Instruct-HF-abliterated", + "name": "Nemotron 3.1 70B abliterated", + "family": "nemotron", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2024-07-23", + "last_updated": "2024-07-23", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 16384, + "input": 16384, + "output": 16384 + }, + "cost": { + "input": 0.7, + "output": 0.7 + } + }, + "xiaomi/mimo-v2-flash-thinking-original": { + "id": "xiaomi/mimo-v2-flash-thinking-original", + "name": "MiMo V2 Flash (Thinking) Original", + "family": "mimo", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-12-17", + "last_updated": "2025-12-17", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 256000, + "input": 256000, + "output": 32768 + }, + "cost": { + "input": 0.102, + "output": 0.306 + } + }, + "xiaomi/mimo-v2-flash-thinking": { + "id": "xiaomi/mimo-v2-flash-thinking", + "name": "MiMo V2 Flash (Thinking)", + "family": "mimo", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-12-17", + "last_updated": "2025-12-17", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 256000, + "input": 256000, + "output": 32768 + }, + "cost": { + "input": 0.102, + "output": 0.306 + } + }, + "xiaomi/mimo-v2-flash": { + "id": "xiaomi/mimo-v2-flash", + "name": "MiMo V2 Flash", + "family": "mimo", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-12-17", + "last_updated": "2025-12-17", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 256000, + "input": 256000, + "output": 32768 + }, + "cost": { + "input": 0.102, + "output": 0.306 + } + }, + "xiaomi/mimo-v2-flash-original": { + "id": "xiaomi/mimo-v2-flash-original", + "name": "MiMo V2 Flash Original", + "family": "mimo", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-12-17", + "last_updated": "2025-12-17", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 256000, + "input": 256000, + "output": 32768 + }, + "cost": { + "input": 0.102, + "output": 0.306 + } + }, + "tngtech/DeepSeek-TNG-R1T2-Chimera": { + "id": "tngtech/DeepSeek-TNG-R1T2-Chimera", + "name": "DeepSeek TNG R1T2 Chimera", + "family": "tngtech", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-09-05", + "last_updated": "2025-09-05", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "input": 128000, + "output": 8192 + }, + "cost": { + "input": 0.31, + "output": 0.31 + } + }, + "tngtech/tng-r1t-chimera": { + "id": "tngtech/tng-r1t-chimera", + "name": "TNG R1T Chimera", + "family": "tngtech", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-11-26", + "last_updated": "2025-11-26", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "input": 128000, + "output": 65536 + }, + "cost": { + "input": 0.3, + "output": 1.2 + } + }, + "inflatebot/MN-12B-Mag-Mell-R1": { + "id": "inflatebot/MN-12B-Mag-Mell-R1", + "name": "Mag Mell R1", + "family": "mistral-nemo", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2024-07-01", + "last_updated": "2024-07-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 16384, + "input": 16384, + "output": 8192 + }, + "cost": { + "input": 0.49299999999999994, + "output": 0.49299999999999994 + } + }, + "failspy/Meta-Llama-3-70B-Instruct-abliterated-v3.5": { + "id": "failspy/Meta-Llama-3-70B-Instruct-abliterated-v3.5", + "name": "Llama 3 70B abliterated", + "family": "llama", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-07-26", + "last_updated": "2025-07-26", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 8192, + "input": 8192, + "output": 8192 + }, + "cost": { + "input": 0.7, + "output": 0.7 + } + } + } + }, + "abacus": { + "id": "abacus", + "env": ["ABACUS_API_KEY"], + "npm": "@ai-sdk/openai-compatible", + "api": "https://routellm.abacus.ai/v1", + "name": "Abacus", + "doc": "https://abacus.ai/help/api", + "models": { + "gpt-5.1-codex-max": { + "id": "gpt-5.1-codex-max", + "name": "GPT-5.1 Codex Max", + "family": "gpt", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, "temperature": false, "knowledge": "2024-09-30", "release_date": "2025-11-13", "last_updated": "2025-11-13", - "modalities": { "input": ["text", "image"], "output": ["text"] }, + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, "open_weights": false, - "cost": { "input": 1.25, "output": 10, "cache_read": 0.125 }, - "limit": { "context": 128000, "output": 16384 } + "limit": { + "context": 400000, + "input": 272000, + "output": 128000 + }, + "cost": { + "input": 1.25, + "output": 10 + } }, - "gpt-3.5-turbo": { - "id": "gpt-3.5-turbo", - "name": "GPT-3.5-turbo", + "claude-opus-4-5-20251101": { + "id": "claude-opus-4-5-20251101", + "name": "Claude Opus 4.5", + "family": "claude-opus", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-03-31", + "release_date": "2025-11-01", + "last_updated": "2025-11-01", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 64000 + }, + "cost": { + "input": 5, + "output": 25 + } + }, + "kimi-k2.5": { + "id": "kimi-k2.5", + "name": "Kimi K2.5", + "family": "kimi", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2026-01", + "last_updated": "2026-01", + "modalities": { + "input": ["text", "image", "video"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 32768 + }, + "cost": { + "input": 0.6, + "output": 3 + } + }, + "gemini-3.1-flash-lite-preview": { + "id": "gemini-3.1-flash-lite-preview", + "name": "Gemini 3.1 Flash Lite Preview", + "family": "gemini-flash", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2026-03-01", + "last_updated": "2026-03-01", + "modalities": { + "input": ["text", "image", "audio", "video", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1048576, + "output": 65536 + }, + "cost": { + "input": 0.25, + "output": 1.5, + "cache_read": 0.025, + "cache_write": 1 + } + }, + "claude-sonnet-4-6": { + "id": "claude-sonnet-4-6", + "name": "Claude Sonnet 4.6", + "family": "claude-sonnet", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-08-31", + "release_date": "2026-02-17", + "last_updated": "2026-02-17", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 64000 + }, + "cost": { + "input": 3, + "output": 15 + } + }, + "gemini-3.1-pro-preview": { + "id": "gemini-3.1-pro-preview", + "name": "Gemini 3.1 Pro Preview", + "family": "gemini-pro", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2026-02-19", + "last_updated": "2026-02-19", + "modalities": { + "input": ["text", "image", "video", "audio", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1048576, + "output": 65536 + }, + "cost": { + "input": 2, + "output": 12 + } + }, + "gpt-5.3-chat-latest": { + "id": "gpt-5.3-chat-latest", + "name": "GPT-5.3 Chat Latest", "family": "gpt", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2026-03-01", + "last_updated": "2026-03-01", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "output": 128000 + }, + "cost": { + "input": 1.75, + "output": 14 + } + }, + "gemini-3-flash-preview": { + "id": "gemini-3-flash-preview", + "name": "Gemini 3 Flash Preview", + "family": "gemini-flash", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2025-12-17", + "last_updated": "2025-12-17", + "modalities": { + "input": ["text", "image", "audio", "video", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1048576, + "output": 65536 + }, + "cost": { + "input": 0.5, + "output": 3 + } + }, + "llama-3.3-70b-versatile": { + "id": "llama-3.3-70b-versatile", + "name": "Llama 3.3 70B Versatile", + "family": "llama", "attachment": false, "reasoning": false, - "tool_call": false, - "structured_output": false, + "tool_call": true, "temperature": true, - "knowledge": "2021-09-01", - "release_date": "2023-03-01", - "last_updated": "2023-11-06", - "modalities": { "input": ["text"], "output": ["text"] }, + "release_date": "2024-12-06", + "last_updated": "2024-12-06", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 32768 + }, + "cost": { + "input": 0.59, + "output": 0.79 + } + }, + "gpt-5-mini": { + "id": "gpt-5-mini", + "name": "GPT-5 Mini", + "family": "gpt-mini", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": false, + "knowledge": "2024-05-30", + "release_date": "2025-08-07", + "last_updated": "2025-08-07", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, "open_weights": false, - "cost": { "input": 0.5, "output": 1.5, "cache_read": 1.25 }, - "limit": { "context": 16385, "output": 4096 } + "limit": { + "context": 400000, + "output": 128000 + }, + "cost": { + "input": 0.25, + "output": 2 + } + }, + "gpt-5-nano": { + "id": "gpt-5-nano", + "name": "GPT-5 Nano", + "family": "gpt-nano", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": false, + "knowledge": "2024-05-30", + "release_date": "2025-08-07", + "last_updated": "2025-08-07", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "output": 128000 + }, + "cost": { + "input": 0.05, + "output": 0.4 + } + }, + "gpt-5.3-codex": { + "id": "gpt-5.3-codex", + "name": "GPT-5.3 Codex", + "family": "gpt", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": false, + "knowledge": "2025-08-31", + "release_date": "2026-02-05", + "last_updated": "2026-02-05", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "input": 272000, + "output": 128000 + }, + "cost": { + "input": 1.75, + "output": 14 + } + }, + "claude-sonnet-4-5-20250929": { + "id": "claude-sonnet-4-5-20250929", + "name": "Claude Sonnet 4.5", + "family": "claude-sonnet", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-07-31", + "release_date": "2025-09-29", + "last_updated": "2025-09-29", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 64000 + }, + "cost": { + "input": 3, + "output": 15 + } + }, + "gemini-2.5-pro": { + "id": "gemini-2.5-pro", + "name": "Gemini 2.5 Pro", + "family": "gemini-pro", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2025-03-25", + "last_updated": "2025-03-25", + "modalities": { + "input": ["text", "image", "audio", "video", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1048576, + "output": 65536 + }, + "cost": { + "input": 1.25, + "output": 10 + } + }, + "grok-4-1-fast-non-reasoning": { + "id": "grok-4-1-fast-non-reasoning", + "name": "Grok 4.1 Fast (Non-Reasoning)", + "family": "grok", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "release_date": "2025-11-17", + "last_updated": "2025-11-17", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 2000000, + "output": 16384 + }, + "cost": { + "input": 0.2, + "output": 0.5 + } + }, + "gpt-5.2": { + "id": "gpt-5.2", + "name": "GPT-5.2", + "family": "gpt", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": false, + "knowledge": "2025-08-31", + "release_date": "2025-12-11", + "last_updated": "2025-12-11", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "output": 128000 + }, + "cost": { + "input": 1.75, + "output": 14 + } + }, + "o3-pro": { + "id": "o3-pro", + "name": "o3-pro", + "family": "o-pro", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": false, + "knowledge": "2024-05", + "release_date": "2025-06-10", + "last_updated": "2025-06-10", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 100000 + }, + "cost": { + "input": 20, + "output": 40 + } + }, + "gpt-4o-mini": { + "id": "gpt-4o-mini", + "name": "GPT-4o Mini", + "family": "gpt", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-04", + "release_date": "2024-07-18", + "last_updated": "2024-07-18", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 16384 + }, + "cost": { + "input": 0.15, + "output": 0.6 + } + }, + "qwen3-max": { + "id": "qwen3-max", + "name": "Qwen3 Max", + "family": "qwen", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2025-05-28", + "last_updated": "2025-05-28", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 131072, + "output": 16384 + }, + "cost": { + "input": 1.2, + "output": 6 + } + }, + "o4-mini": { + "id": "o4-mini", + "name": "o4-mini", + "family": "o-mini", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": false, + "knowledge": "2024-05", + "release_date": "2025-04-16", + "last_updated": "2025-04-16", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 100000 + }, + "cost": { + "input": 1.1, + "output": 4.4 + } + }, + "gpt-5.2-codex": { + "id": "gpt-5.2-codex", + "name": "GPT-5.2 Codex", + "family": "gpt", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": false, + "knowledge": "2025-08-31", + "release_date": "2025-12-11", + "last_updated": "2025-12-11", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "input": 272000, + "output": 128000 + }, + "cost": { + "input": 1.75, + "output": 14 + } + }, + "gemini-2.5-flash": { + "id": "gemini-2.5-flash", + "name": "Gemini 2.5 Flash", + "family": "gemini-flash", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2025-03-20", + "last_updated": "2025-06-05", + "modalities": { + "input": ["text", "image", "audio", "video", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1048576, + "output": 65536 + }, + "cost": { + "input": 0.3, + "output": 2.5 + } + }, + "gpt-5.2-chat-latest": { + "id": "gpt-5.2-chat-latest", + "name": "GPT-5.2 Chat Latest", + "family": "gpt", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-09-30", + "release_date": "2026-01-01", + "last_updated": "2026-01-01", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "output": 128000 + }, + "cost": { + "input": 1.75, + "output": 14 + } + }, + "gpt-5.3-codex-xhigh": { + "id": "gpt-5.3-codex-xhigh", + "name": "GPT-5.3 Codex XHigh", + "family": "gpt", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": false, + "knowledge": "2025-08-31", + "release_date": "2026-02-05", + "last_updated": "2026-02-05", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "input": 272000, + "output": 128000 + }, + "cost": { + "input": 1.75, + "output": 14 + } + }, + "grok-code-fast-1": { + "id": "grok-code-fast-1", + "name": "Grok Code Fast 1", + "family": "grok", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "release_date": "2025-09-01", + "last_updated": "2025-09-01", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 256000, + "output": 16384 + }, + "cost": { + "input": 0.2, + "output": 1.5 + } + }, + "gpt-5.1": { + "id": "gpt-5.1", + "name": "GPT-5.1", + "family": "gpt", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": false, + "knowledge": "2024-09-30", + "release_date": "2025-11-13", + "last_updated": "2025-11-13", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "output": 128000 + }, + "cost": { + "input": 1.25, + "output": 10 + } + }, + "o3-mini": { + "id": "o3-mini", + "name": "o3-mini", + "family": "o-mini", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": false, + "knowledge": "2024-05", + "release_date": "2024-12-20", + "last_updated": "2025-01-29", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 100000 + }, + "cost": { + "input": 1.1, + "output": 4.4 + } + }, + "grok-4-0709": { + "id": "grok-4-0709", + "name": "Grok 4", + "family": "grok", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2025-07-09", + "last_updated": "2025-07-09", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 256000, + "output": 16384 + }, + "cost": { + "input": 3, + "output": 15 + } + }, + "route-llm": { + "id": "route-llm", + "name": "Route LLM", + "family": "gpt", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2024-01-01", + "last_updated": "2024-01-01", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 16384 + }, + "cost": { + "input": 3, + "output": 15 + } + }, + "qwen-2.5-coder-32b": { + "id": "qwen-2.5-coder-32b", + "name": "Qwen 2.5 Coder 32B", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "release_date": "2024-11-11", + "last_updated": "2024-11-11", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 8192 + }, + "cost": { + "input": 0.79, + "output": 0.79 + } + }, + "gpt-5-codex": { + "id": "gpt-5-codex", + "name": "GPT-5 Codex", + "family": "gpt", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": false, + "knowledge": "2024-09-30", + "release_date": "2025-09-15", + "last_updated": "2025-09-15", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "input": 272000, + "output": 128000 + }, + "cost": { + "input": 1.25, + "output": 10 + } + }, + "claude-opus-4-1-20250805": { + "id": "claude-opus-4-1-20250805", + "name": "Claude Opus 4.1", + "family": "claude-opus", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2025-08-05", + "last_updated": "2025-08-05", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 32000 + }, + "cost": { + "input": 15, + "output": 75 + } }, "gpt-5.4": { "id": "gpt-5.4", @@ -1136,4666 +17818,45 @@ "knowledge": "2025-08-31", "release_date": "2026-03-05", "last_updated": "2026-03-05", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, "open_weights": false, + "limit": { + "context": 1050000, + "input": 922000, + "output": 128000 + }, "cost": { "input": 2.5, - "output": 15, - "cache_read": 0.25, - "context_over_200k": { "input": 5, "output": 22.5, "cache_read": 0.5 } + "output": 15 + } + }, + "gpt-5.1-chat-latest": { + "id": "gpt-5.1-chat-latest", + "name": "GPT-5.1 Chat Latest", + "family": "gpt", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": false, + "knowledge": "2024-09-30", + "release_date": "2025-11-13", + "last_updated": "2025-11-13", + "modalities": { + "input": ["text", "image"], + "output": ["text"] }, - "limit": { "context": 1050000, "input": 922000, "output": 128000 } - }, - "o1": { - "id": "o1", - "name": "o1", - "family": "o", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": false, - "knowledge": "2023-09", - "release_date": "2024-12-05", - "last_updated": "2024-12-05", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 15, "output": 60, "cache_read": 7.5 }, - "limit": { "context": 200000, "output": 100000 } - }, - "codex-mini-latest": { - "id": "codex-mini-latest", - "name": "Codex Mini", - "family": "gpt-codex-mini", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": false, - "knowledge": "2024-04", - "release_date": "2025-05-16", - "last_updated": "2025-05-16", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.5, "output": 6, "cache_read": 0.375 }, - "limit": { "context": 200000, "output": 100000 } - }, - "o3": { - "id": "o3", - "name": "o3", - "family": "o", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": false, - "knowledge": "2024-05", - "release_date": "2025-04-16", - "last_updated": "2025-04-16", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2, "output": 8, "cache_read": 0.5 }, - "limit": { "context": 200000, "output": 100000 } - }, - "gpt-5.3-chat-latest": { - "id": "gpt-5.3-chat-latest", - "name": "GPT-5.3 Chat (latest)", - "family": "gpt", - "attachment": true, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2025-08-31", - "release_date": "2026-03-03", - "last_updated": "2026-03-03", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.75, "output": 14, "cache_read": 0.175 }, - "limit": { "context": 128000, "output": 16384 } - }, - "gpt-5.4-nano": { - "id": "gpt-5.4-nano", - "name": "GPT-5.4 nano", - "family": "gpt-nano", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": false, - "knowledge": "2025-08-31", - "release_date": "2026-03-17", - "last_updated": "2026-03-17", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.2, "output": 1.25, "cache_read": 0.02 }, - "limit": { "context": 400000, "input": 272000, "output": 128000 } - }, - "gpt-4o-2024-05-13": { - "id": "gpt-4o-2024-05-13", - "name": "GPT-4o (2024-05-13)", - "family": "gpt", - "attachment": true, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2023-09", - "release_date": "2024-05-13", - "last_updated": "2024-05-13", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 5, "output": 15 }, - "limit": { "context": 128000, "output": 4096 } - }, - "gpt-4": { - "id": "gpt-4", - "name": "GPT-4", - "family": "gpt", - "attachment": true, - "reasoning": false, - "tool_call": true, - "structured_output": false, - "temperature": true, - "knowledge": "2023-11", - "release_date": "2023-11-06", - "last_updated": "2024-04-09", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 30, "output": 60 }, - "limit": { "context": 8192, "output": 8192 } - }, - "gpt-4o-2024-11-20": { - "id": "gpt-4o-2024-11-20", - "name": "GPT-4o (2024-11-20)", - "family": "gpt", - "attachment": true, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2023-09", - "release_date": "2024-11-20", - "last_updated": "2024-11-20", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2.5, "output": 10, "cache_read": 1.25 }, - "limit": { "context": 128000, "output": 16384 } - }, - "text-embedding-ada-002": { - "id": "text-embedding-ada-002", - "name": "text-embedding-ada-002", - "family": "text-embedding", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": false, - "knowledge": "2022-12", - "release_date": "2022-12-15", - "last_updated": "2022-12-15", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.1, "output": 0 }, - "limit": { "context": 8192, "output": 1536 } - }, - "gpt-5.2": { - "id": "gpt-5.2", - "name": "GPT-5.2", - "family": "gpt", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": false, - "knowledge": "2025-08-31", - "release_date": "2025-12-11", - "last_updated": "2025-12-11", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.75, "output": 14, "cache_read": 0.175 }, - "limit": { "context": 400000, "input": 272000, "output": 128000 } - }, - "o4-mini-deep-research": { - "id": "o4-mini-deep-research", - "name": "o4-mini-deep-research", - "family": "o-mini", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": false, - "knowledge": "2024-05", - "release_date": "2024-06-26", - "last_updated": "2024-06-26", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2, "output": 8, "cache_read": 0.5 }, - "limit": { "context": 200000, "output": 100000 } - }, - "gpt-5.1": { - "id": "gpt-5.1", - "name": "GPT-5.1", - "family": "gpt", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": false, - "knowledge": "2024-09-30", - "release_date": "2025-11-13", - "last_updated": "2025-11-13", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.25, "output": 10, "cache_read": 0.13 }, - "limit": { "context": 400000, "input": 272000, "output": 128000 } - }, - "gpt-4.1-mini": { - "id": "gpt-4.1-mini", - "name": "GPT-4.1 mini", - "family": "gpt-mini", - "attachment": true, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2024-04", - "release_date": "2025-04-14", - "last_updated": "2025-04-14", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.4, "output": 1.6, "cache_read": 0.1 }, - "limit": { "context": 1047576, "output": 32768 } - }, - "gpt-5-chat-latest": { - "id": "gpt-5-chat-latest", - "name": "GPT-5 Chat (latest)", - "family": "gpt-codex", - "attachment": true, - "reasoning": true, - "tool_call": false, - "structured_output": true, - "temperature": true, - "knowledge": "2024-09-30", - "release_date": "2025-08-07", - "last_updated": "2025-08-07", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.25, "output": 10 }, - "limit": { "context": 400000, "input": 272000, "output": 128000 } - }, - "gpt-5-nano": { - "id": "gpt-5-nano", - "name": "GPT-5 Nano", - "family": "gpt-nano", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": false, - "knowledge": "2024-05-30", - "release_date": "2025-08-07", - "last_updated": "2025-08-07", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.05, "output": 0.4, "cache_read": 0.005 }, - "limit": { "context": 400000, "input": 272000, "output": 128000 } - }, - "o3-pro": { - "id": "o3-pro", - "name": "o3-pro", - "family": "o-pro", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": false, - "knowledge": "2024-05", - "release_date": "2025-06-10", - "last_updated": "2025-06-10", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 20, "output": 80 }, - "limit": { "context": 200000, "output": 100000 } - }, - "gpt-4o-2024-08-06": { - "id": "gpt-4o-2024-08-06", - "name": "GPT-4o (2024-08-06)", - "family": "gpt", - "attachment": true, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2023-09", - "release_date": "2024-08-06", - "last_updated": "2024-08-06", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2.5, "output": 10, "cache_read": 1.25 }, - "limit": { "context": 128000, "output": 16384 } - }, - "gpt-4.1-nano": { - "id": "gpt-4.1-nano", - "name": "GPT-4.1 nano", - "family": "gpt-nano", - "attachment": true, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2024-04", - "release_date": "2025-04-14", - "last_updated": "2025-04-14", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.1, "output": 0.4, "cache_read": 0.03 }, - "limit": { "context": 1047576, "output": 32768 } - }, - "o1-preview": { - "id": "o1-preview", - "name": "o1-preview", - "family": "o", - "attachment": false, - "reasoning": true, - "tool_call": false, - "temperature": true, - "knowledge": "2023-09", - "release_date": "2024-09-12", - "last_updated": "2024-09-12", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 15, "output": 60, "cache_read": 7.5 }, - "limit": { "context": 128000, "output": 32768 } - }, - "text-embedding-3-small": { - "id": "text-embedding-3-small", - "name": "text-embedding-3-small", - "family": "text-embedding", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": false, - "knowledge": "2024-01", - "release_date": "2024-01-25", - "last_updated": "2024-01-25", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.02, "output": 0 }, - "limit": { "context": 8191, "output": 1536 } - }, - "gpt-5-codex": { - "id": "gpt-5-codex", - "name": "GPT-5-Codex", - "family": "gpt-codex", - "attachment": false, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": false, - "knowledge": "2024-09-30", - "release_date": "2025-09-15", - "last_updated": "2025-09-15", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.25, "output": 10, "cache_read": 0.125 }, - "limit": { "context": 400000, "input": 272000, "output": 128000 } - }, - "o4-mini": { - "id": "o4-mini", - "name": "o4-mini", - "family": "o-mini", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": false, - "knowledge": "2024-05", - "release_date": "2025-04-16", - "last_updated": "2025-04-16", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.1, "output": 4.4, "cache_read": 0.28 }, - "limit": { "context": 200000, "output": 100000 } - }, - "o3-deep-research": { - "id": "o3-deep-research", - "name": "o3-deep-research", - "family": "o", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": false, - "knowledge": "2024-05", - "release_date": "2024-06-26", - "last_updated": "2024-06-26", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 10, "output": 40, "cache_read": 2.5 }, - "limit": { "context": 200000, "output": 100000 } - }, - "gpt-5.1-codex": { - "id": "gpt-5.1-codex", - "name": "GPT-5.1 Codex", - "family": "gpt-codex", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": false, - "knowledge": "2024-09-30", - "release_date": "2025-11-13", - "last_updated": "2025-11-13", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.25, "output": 10, "cache_read": 0.125 }, - "limit": { "context": 400000, "input": 272000, "output": 128000 } - }, - "o1-mini": { - "id": "o1-mini", - "name": "o1-mini", - "family": "o-mini", - "attachment": false, - "reasoning": true, - "tool_call": false, - "structured_output": true, - "temperature": false, - "knowledge": "2023-09", - "release_date": "2024-09-12", - "last_updated": "2024-09-12", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.1, "output": 4.4, "cache_read": 0.55 }, - "limit": { "context": 128000, "output": 65536 } - }, - "gpt-5.2-pro": { - "id": "gpt-5.2-pro", - "name": "GPT-5.2 Pro", - "family": "gpt-pro", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": false, - "temperature": false, - "knowledge": "2025-08-31", - "release_date": "2025-12-11", - "last_updated": "2025-12-11", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 21, "output": 168 }, - "limit": { "context": 400000, "input": 272000, "output": 128000 } - } - } - }, - "io-net": { - "id": "io-net", - "env": ["IOINTELLIGENCE_API_KEY"], - "npm": "@ai-sdk/openai-compatible", - "api": "https://api.intelligence.io.solutions/api/v1", - "name": "IO.NET", - "doc": "https://io.net/docs/guides/intelligence/io-intelligence", - "models": { - "openai/gpt-oss-120b": { - "id": "openai/gpt-oss-120b", - "name": "GPT-OSS 120B", - "family": "gpt-oss", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-10", - "release_date": "2024-12-01", - "last_updated": "2024-12-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.04, "output": 0.4, "cache_read": 0.02, "cache_write": 0.08 }, - "limit": { "context": 131072, "output": 4096 } - }, - "openai/gpt-oss-20b": { - "id": "openai/gpt-oss-20b", - "name": "GPT-OSS 20B", - "family": "gpt-oss", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-10", - "release_date": "2024-12-01", - "last_updated": "2024-12-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.03, "output": 0.14, "cache_read": 0.015, "cache_write": 0.06 }, - "limit": { "context": 64000, "output": 4096 } - }, - "zai-org/GLM-4.6": { - "id": "zai-org/GLM-4.6", - "name": "GLM 4.6", - "family": "glm", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-10", - "release_date": "2024-11-15", - "last_updated": "2024-11-15", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.4, "output": 1.75, "cache_read": 0.2, "cache_write": 0.8 }, - "limit": { "context": 200000, "output": 4096 } - }, - "Intel/Qwen3-Coder-480B-A35B-Instruct-int4-mixed-ar": { - "id": "Intel/Qwen3-Coder-480B-A35B-Instruct-int4-mixed-ar", - "name": "Qwen 3 Coder 480B", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-12", - "release_date": "2025-01-15", - "last_updated": "2025-01-15", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.22, "output": 0.95, "cache_read": 0.11, "cache_write": 0.44 }, - "limit": { "context": 106000, "output": 4096 } - }, - "meta-llama/Llama-3.3-70B-Instruct": { - "id": "meta-llama/Llama-3.3-70B-Instruct", - "name": "Llama 3.3 70B Instruct", - "family": "llama", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2023-12", - "release_date": "2024-12-06", - "last_updated": "2024-12-06", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.13, "output": 0.38, "cache_read": 0.065, "cache_write": 0.26 }, - "limit": { "context": 128000, "output": 4096 } - }, - "meta-llama/Llama-3.2-90B-Vision-Instruct": { - "id": "meta-llama/Llama-3.2-90B-Vision-Instruct", - "name": "Llama 3.2 90B Vision Instruct", - "family": "llama", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2023-12", - "release_date": "2024-09-25", - "last_updated": "2024-09-25", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.35, "output": 0.4, "cache_read": 0.175, "cache_write": 0.7 }, - "limit": { "context": 16000, "output": 4096 } - }, - "meta-llama/Llama-4-Maverick-17B-128E-Instruct-FP8": { - "id": "meta-llama/Llama-4-Maverick-17B-128E-Instruct-FP8", - "name": "Llama 4 Maverick 17B 128E Instruct", - "family": "llama", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-12", - "release_date": "2025-01-15", - "last_updated": "2025-01-15", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.15, "output": 0.6, "cache_read": 0.075, "cache_write": 0.3 }, - "limit": { "context": 430000, "output": 4096 } - }, - "deepseek-ai/DeepSeek-R1-0528": { - "id": "deepseek-ai/DeepSeek-R1-0528", - "name": "DeepSeek R1", - "family": "deepseek-thinking", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2024-07", - "release_date": "2025-01-20", - "last_updated": "2025-05-28", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 2, "output": 8.75, "cache_read": 1, "cache_write": 4 }, - "limit": { "context": 128000, "output": 4096 } - }, - "Qwen/Qwen3-235B-A22B-Thinking-2507": { - "id": "Qwen/Qwen3-235B-A22B-Thinking-2507", - "name": "Qwen 3 235B Thinking", - "family": "qwen", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2024-12", - "release_date": "2025-07-01", - "last_updated": "2025-07-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.11, "output": 0.6, "cache_read": 0.055, "cache_write": 0.22 }, - "limit": { "context": 262144, "output": 4096 } - }, - "Qwen/Qwen3-Next-80B-A3B-Instruct": { - "id": "Qwen/Qwen3-Next-80B-A3B-Instruct", - "name": "Qwen 3 Next 80B Instruct", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-12", - "release_date": "2025-01-10", - "last_updated": "2025-01-10", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.1, "output": 0.8, "cache_read": 0.05, "cache_write": 0.2 }, - "limit": { "context": 262144, "output": 4096 } - }, - "Qwen/Qwen2.5-VL-32B-Instruct": { - "id": "Qwen/Qwen2.5-VL-32B-Instruct", - "name": "Qwen 2.5 VL 32B Instruct", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-09", - "release_date": "2024-11-01", - "last_updated": "2024-11-01", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.05, "output": 0.22, "cache_read": 0.025, "cache_write": 0.1 }, - "limit": { "context": 32000, "output": 4096 } - }, - "moonshotai/Kimi-K2-Instruct-0905": { - "id": "moonshotai/Kimi-K2-Instruct-0905", - "name": "Kimi K2 Instruct", - "family": "kimi", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-08", - "release_date": "2024-09-05", - "last_updated": "2024-09-05", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.39, "output": 1.9, "cache_read": 0.195, "cache_write": 0.78 }, - "limit": { "context": 32768, "output": 4096 } - }, - "moonshotai/Kimi-K2-Thinking": { - "id": "moonshotai/Kimi-K2-Thinking", - "name": "Kimi K2 Thinking", - "family": "kimi-thinking", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2024-08", - "release_date": "2024-11-01", - "last_updated": "2024-11-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.55, "output": 2.25, "cache_read": 0.275, "cache_write": 1.1 }, - "limit": { "context": 32768, "output": 4096 } - }, - "mistralai/Devstral-Small-2505": { - "id": "mistralai/Devstral-Small-2505", - "name": "Devstral Small 2505", - "family": "devstral", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-12", - "release_date": "2025-05-01", - "last_updated": "2025-05-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.05, "output": 0.22, "cache_read": 0.025, "cache_write": 0.1 }, - "limit": { "context": 128000, "output": 4096 } - }, - "mistralai/Mistral-Large-Instruct-2411": { - "id": "mistralai/Mistral-Large-Instruct-2411", - "name": "Mistral Large Instruct 2411", - "family": "mistral-large", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-10", - "release_date": "2024-11-01", - "last_updated": "2024-11-01", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2, "output": 6, "cache_read": 1, "cache_write": 4 }, - "limit": { "context": 128000, "output": 4096 } - }, - "mistralai/Mistral-Nemo-Instruct-2407": { - "id": "mistralai/Mistral-Nemo-Instruct-2407", - "name": "Mistral Nemo Instruct 2407", - "family": "mistral-nemo", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-05", - "release_date": "2024-07-01", - "last_updated": "2024-07-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.02, "output": 0.04, "cache_read": 0.01, "cache_write": 0.04 }, - "limit": { "context": 128000, "output": 4096 } - }, - "mistralai/Magistral-Small-2506": { - "id": "mistralai/Magistral-Small-2506", - "name": "Magistral Small 2506", - "family": "magistral-small", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2025-01", - "release_date": "2025-06-01", - "last_updated": "2025-06-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.5, "output": 1.5, "cache_read": 0.25, "cache_write": 1 }, - "limit": { "context": 128000, "output": 4096 } - } - } - }, - "cohere": { - "id": "cohere", - "env": ["COHERE_API_KEY"], - "npm": "@ai-sdk/cohere", - "name": "Cohere", - "doc": "https://docs.cohere.com/docs/models", - "models": { - "command-a-reasoning-08-2025": { - "id": "command-a-reasoning-08-2025", - "name": "Command A Reasoning", - "family": "command-a", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2024-06-01", - "release_date": "2025-08-21", - "last_updated": "2025-08-21", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 2.5, "output": 10 }, - "limit": { "context": 256000, "output": 32000 } - }, - "command-r-08-2024": { - "id": "command-r-08-2024", - "name": "Command R", - "family": "command-r", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-06-01", - "release_date": "2024-08-30", - "last_updated": "2024-08-30", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.15, "output": 0.6 }, - "limit": { "context": 128000, "output": 4000 } - }, - "command-a-translate-08-2025": { - "id": "command-a-translate-08-2025", - "name": "Command A Translate", - "family": "command-a", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-06-01", - "release_date": "2025-08-28", - "last_updated": "2025-08-28", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 2.5, "output": 10 }, - "limit": { "context": 8000, "output": 8000 } - }, - "command-a-03-2025": { - "id": "command-a-03-2025", - "name": "Command A", - "family": "command-a", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-06-01", - "release_date": "2025-03-13", - "last_updated": "2025-03-13", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 2.5, "output": 10 }, - "limit": { "context": 256000, "output": 8000 } - }, - "command-r-plus-08-2024": { - "id": "command-r-plus-08-2024", - "name": "Command R+", - "family": "command-r", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-06-01", - "release_date": "2024-08-30", - "last_updated": "2024-08-30", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 2.5, "output": 10 }, - "limit": { "context": 128000, "output": 4000 } - }, - "c4ai-aya-expanse-32b": { - "id": "c4ai-aya-expanse-32b", - "name": "Aya Expanse 32B", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "release_date": "2024-10-24", - "last_updated": "2024-10-24", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "limit": { "context": 128000, "output": 4000 } - }, - "command-a-vision-07-2025": { - "id": "command-a-vision-07-2025", - "name": "Command A Vision", - "family": "command-a", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "knowledge": "2024-06-01", - "release_date": "2025-07-31", - "last_updated": "2025-07-31", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 2.5, "output": 10 }, - "limit": { "context": 128000, "output": 8000 } - }, - "command-r7b-arabic-02-2025": { - "id": "command-r7b-arabic-02-2025", - "name": "Command R7B Arabic", - "family": "command-r", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-06-01", - "release_date": "2025-02-27", - "last_updated": "2025-02-27", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.0375, "output": 0.15 }, - "limit": { "context": 128000, "output": 4000 } - }, - "c4ai-aya-vision-8b": { - "id": "c4ai-aya-vision-8b", - "name": "Aya Vision 8B", - "attachment": true, - "reasoning": false, - "tool_call": false, - "temperature": true, - "release_date": "2025-03-04", - "last_updated": "2025-05-14", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "limit": { "context": 16000, "output": 4000 } - }, - "command-r7b-12-2024": { - "id": "command-r7b-12-2024", - "name": "Command R7B", - "family": "command-r", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-06-01", - "release_date": "2024-02-27", - "last_updated": "2024-02-27", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.0375, "output": 0.15 }, - "limit": { "context": 128000, "output": 4000 } - }, - "c4ai-aya-expanse-8b": { - "id": "c4ai-aya-expanse-8b", - "name": "Aya Expanse 8B", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "release_date": "2024-10-24", - "last_updated": "2024-10-24", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "limit": { "context": 8000, "output": 4000 } - }, - "c4ai-aya-vision-32b": { - "id": "c4ai-aya-vision-32b", - "name": "Aya Vision 32B", - "attachment": true, - "reasoning": false, - "tool_call": false, - "temperature": true, - "release_date": "2025-03-04", - "last_updated": "2025-05-14", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "limit": { "context": 16000, "output": 4000 } - } - } - }, - "minimax-coding-plan": { - "id": "minimax-coding-plan", - "env": ["MINIMAX_API_KEY"], - "npm": "@ai-sdk/anthropic", - "api": "https://api.minimax.io/anthropic/v1", - "name": "MiniMax Coding Plan (minimax.io)", - "doc": "https://platform.minimax.io/docs/coding-plan/intro", - "models": { - "MiniMax-M2.7": { - "id": "MiniMax-M2.7", - "name": "MiniMax-M2.7", - "family": "minimax", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2026-03-18", - "last_updated": "2026-03-18", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0, "cache_read": 0, "cache_write": 0 }, - "limit": { "context": 204800, "output": 131072 } - }, - "MiniMax-M2.1": { - "id": "MiniMax-M2.1", - "name": "MiniMax-M2.1", - "family": "minimax", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2025-12-23", - "last_updated": "2025-12-23", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 204800, "output": 131072 } - }, - "MiniMax-M2.5": { - "id": "MiniMax-M2.5", - "name": "MiniMax-M2.5", - "family": "minimax", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2026-02-12", - "last_updated": "2026-02-12", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0, "cache_read": 0, "cache_write": 0 }, - "limit": { "context": 204800, "output": 131072 } - }, - "MiniMax-M2": { - "id": "MiniMax-M2", - "name": "MiniMax-M2", - "family": "minimax", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2025-10-27", - "last_updated": "2025-10-27", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 196608, "output": 128000 } - }, - "MiniMax-M2.5-highspeed": { - "id": "MiniMax-M2.5-highspeed", - "name": "MiniMax-M2.5-highspeed", - "family": "minimax", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2026-02-13", - "last_updated": "2026-02-13", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0, "cache_read": 0, "cache_write": 0 }, - "limit": { "context": 204800, "output": 131072 } - }, - "MiniMax-M2.7-highspeed": { - "id": "MiniMax-M2.7-highspeed", - "name": "MiniMax-M2.7-highspeed", - "family": "minimax", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2026-03-18", - "last_updated": "2026-03-18", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0, "cache_read": 0, "cache_write": 0 }, - "limit": { "context": 204800, "output": 131072 } - } - } - }, - "cloudflare-ai-gateway": { - "id": "cloudflare-ai-gateway", - "env": ["CLOUDFLARE_API_TOKEN", "CLOUDFLARE_ACCOUNT_ID", "CLOUDFLARE_GATEWAY_ID"], - "npm": "ai-gateway-provider", - "name": "Cloudflare AI Gateway", - "doc": "https://developers.cloudflare.com/ai-gateway/", - "models": { - "openai/gpt-5.2-codex": { - "id": "openai/gpt-5.2-codex", - "name": "GPT-5.2 Codex", - "family": "gpt-codex", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": false, - "knowledge": "2025-08-31", - "release_date": "2025-12-11", - "last_updated": "2025-12-11", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.75, "output": 14, "cache_read": 0.175 }, - "limit": { "context": 400000, "input": 272000, "output": 128000 }, - "provider": { "npm": "ai-gateway-provider" } - }, - "openai/o3-mini": { - "id": "openai/o3-mini", - "name": "o3-mini", - "family": "o-mini", - "attachment": false, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": false, - "knowledge": "2024-05", - "release_date": "2024-12-20", - "last_updated": "2025-01-29", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.1, "output": 4.4, "cache_read": 0.55 }, - "limit": { "context": 200000, "output": 100000 } - }, - "openai/gpt-4-turbo": { - "id": "openai/gpt-4-turbo", - "name": "GPT-4 Turbo", - "family": "gpt", - "attachment": true, - "reasoning": false, - "tool_call": true, - "structured_output": false, - "temperature": true, - "knowledge": "2023-12", - "release_date": "2023-11-06", - "last_updated": "2024-04-09", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 10, "output": 30 }, - "limit": { "context": 128000, "output": 4096 } - }, - "openai/gpt-4o": { - "id": "openai/gpt-4o", - "name": "GPT-4o", - "family": "gpt", - "attachment": true, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2023-09", - "release_date": "2024-05-13", - "last_updated": "2024-08-06", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2.5, "output": 10, "cache_read": 1.25 }, - "limit": { "context": 128000, "output": 16384 } - }, - "openai/gpt-5.3-codex": { - "id": "openai/gpt-5.3-codex", - "name": "GPT-5.3 Codex", - "family": "gpt-codex", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": false, - "knowledge": "2025-08-31", - "release_date": "2026-02-05", - "last_updated": "2026-02-05", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.75, "output": 14, "cache_read": 0.175 }, - "limit": { "context": 400000, "input": 272000, "output": 128000 }, - "provider": { "npm": "ai-gateway-provider" } - }, - "openai/gpt-4o-mini": { - "id": "openai/gpt-4o-mini", - "name": "GPT-4o mini", - "family": "gpt-mini", - "attachment": true, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2023-09", - "release_date": "2024-07-18", - "last_updated": "2024-07-18", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.15, "output": 0.6, "cache_read": 0.08 }, - "limit": { "context": 128000, "output": 16384 } - }, - "openai/gpt-3.5-turbo": { - "id": "openai/gpt-3.5-turbo", - "name": "GPT-3.5-turbo", - "family": "gpt", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "temperature": true, - "knowledge": "2021-09-01", - "release_date": "2023-03-01", - "last_updated": "2023-11-06", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.5, "output": 1.5, "cache_read": 1.25 }, - "limit": { "context": 16385, "output": 4096 } - }, - "openai/gpt-5.4": { - "id": "openai/gpt-5.4", - "name": "GPT-5.4", - "family": "gpt", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": false, - "knowledge": "2025-08-31", - "release_date": "2026-03-05", - "last_updated": "2026-03-05", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2.5, "output": 15, "cache_read": 0.25 }, - "limit": { "context": 1050000, "input": 922000, "output": 128000 }, - "provider": { "npm": "ai-gateway-provider" } - }, - "openai/o1": { - "id": "openai/o1", - "name": "o1", - "family": "o", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": false, - "knowledge": "2023-09", - "release_date": "2024-12-05", - "last_updated": "2024-12-05", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 15, "output": 60, "cache_read": 7.5 }, - "limit": { "context": 200000, "output": 100000 } - }, - "openai/o3": { - "id": "openai/o3", - "name": "o3", - "family": "o", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": false, - "knowledge": "2024-05", - "release_date": "2025-04-16", - "last_updated": "2025-04-16", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2, "output": 8, "cache_read": 0.5 }, - "limit": { "context": 200000, "output": 100000 } - }, - "openai/gpt-4": { - "id": "openai/gpt-4", - "name": "GPT-4", - "family": "gpt", - "attachment": true, - "reasoning": false, - "tool_call": true, - "structured_output": false, - "temperature": true, - "knowledge": "2023-11", - "release_date": "2023-11-06", - "last_updated": "2024-04-09", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 30, "output": 60 }, - "limit": { "context": 8192, "output": 8192 } - }, - "openai/gpt-5.2": { - "id": "openai/gpt-5.2", - "name": "GPT-5.2", - "family": "gpt", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": false, - "knowledge": "2025-08-31", - "release_date": "2025-12-11", - "last_updated": "2025-12-11", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.75, "output": 14, "cache_read": 0.175 }, - "limit": { "context": 400000, "output": 128000 } - }, - "openai/gpt-5.1": { - "id": "openai/gpt-5.1", - "name": "GPT-5.1", - "family": "gpt", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": false, - "knowledge": "2024-09-30", - "release_date": "2025-11-13", - "last_updated": "2025-11-13", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.25, "output": 10, "cache_read": 0.13 }, - "limit": { "context": 400000, "output": 128000 } - }, - "openai/o3-pro": { - "id": "openai/o3-pro", - "name": "o3-pro", - "family": "o-pro", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": false, - "knowledge": "2024-05", - "release_date": "2025-06-10", - "last_updated": "2025-06-10", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 20, "output": 80 }, - "limit": { "context": 200000, "output": 100000 } - }, - "openai/o4-mini": { - "id": "openai/o4-mini", - "name": "o4-mini", - "family": "o-mini", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": false, - "knowledge": "2024-05", - "release_date": "2025-04-16", - "last_updated": "2025-04-16", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.1, "output": 4.4, "cache_read": 0.28 }, - "limit": { "context": 200000, "output": 100000 } - }, - "openai/gpt-5.1-codex": { - "id": "openai/gpt-5.1-codex", - "name": "GPT-5.1 Codex", - "family": "gpt-codex", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": false, - "knowledge": "2024-09-30", - "release_date": "2025-11-13", - "last_updated": "2025-11-13", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.25, "output": 10, "cache_read": 0.125 }, - "limit": { "context": 400000, "output": 128000 } - }, - "anthropic/claude-3-opus": { - "id": "anthropic/claude-3-opus", - "name": "Claude Opus 3", - "family": "claude-opus", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2023-08-31", - "release_date": "2024-02-29", - "last_updated": "2024-02-29", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 15, "output": 75, "cache_read": 1.5, "cache_write": 18.75 }, - "limit": { "context": 200000, "output": 4096 } - }, - "anthropic/claude-3-sonnet": { - "id": "anthropic/claude-3-sonnet", - "name": "Claude Sonnet 3", - "family": "claude-sonnet", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2023-08-31", - "release_date": "2024-03-04", - "last_updated": "2024-03-04", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 3, "output": 15, "cache_read": 0.3, "cache_write": 0.3 }, - "limit": { "context": 200000, "output": 4096 } - }, - "anthropic/claude-opus-4-5": { - "id": "anthropic/claude-opus-4-5", - "name": "Claude Opus 4.5 (latest)", - "family": "claude-opus", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-03-31", - "release_date": "2025-11-24", - "last_updated": "2025-11-24", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 5, "output": 25, "cache_read": 0.5, "cache_write": 6.25 }, - "limit": { "context": 200000, "output": 64000 } - }, - "anthropic/claude-opus-4-6": { - "id": "anthropic/claude-opus-4-6", - "name": "Claude Opus 4.6 (latest)", - "family": "claude-opus", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-08-31", - "release_date": "2026-02-05", - "last_updated": "2026-02-05", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, "open_weights": false, + "limit": { + "context": 400000, + "output": 128000 + }, "cost": { - "input": 5, - "output": 25, - "cache_read": 0.5, - "cache_write": 6.25, - "context_over_200k": { "input": 10, "output": 37.5, "cache_read": 1, "cache_write": 12.5 } - }, - "limit": { "context": 1000000, "output": 128000 } - }, - "anthropic/claude-sonnet-4-6": { - "id": "anthropic/claude-sonnet-4-6", - "name": "Claude Sonnet 4.6", - "family": "claude-sonnet", - "attachment": true, - "reasoning": true, - "tool_call": true, - "interleaved": true, - "temperature": true, - "knowledge": "2025-07-31", - "release_date": "2026-02-17", - "last_updated": "2026-02-17", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { - "input": 3, - "output": 15, - "cache_read": 0.3, - "cache_write": 3.75, - "context_over_200k": { "input": 6, "output": 22.5, "cache_read": 0.6, "cache_write": 7.5 } - }, - "limit": { "context": 1000000, "output": 64000 }, - "provider": { "npm": "ai-gateway-provider" } - }, - "anthropic/claude-opus-4-1": { - "id": "anthropic/claude-opus-4-1", - "name": "Claude Opus 4.1 (latest)", - "family": "claude-opus", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-03-31", - "release_date": "2025-08-05", - "last_updated": "2025-08-05", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 15, "output": 75, "cache_read": 1.5, "cache_write": 18.75 }, - "limit": { "context": 200000, "output": 32000 } - }, - "anthropic/claude-sonnet-4": { - "id": "anthropic/claude-sonnet-4", - "name": "Claude Sonnet 4 (latest)", - "family": "claude-sonnet", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-03-31", - "release_date": "2025-05-22", - "last_updated": "2025-05-22", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 3, "output": 15, "cache_read": 0.3, "cache_write": 3.75 }, - "limit": { "context": 200000, "output": 64000 } - }, - "anthropic/claude-3.5-haiku": { - "id": "anthropic/claude-3.5-haiku", - "name": "Claude Haiku 3.5 (latest)", - "family": "claude-haiku", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-07-31", - "release_date": "2024-10-22", - "last_updated": "2024-10-22", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.8, "output": 4, "cache_read": 0.08, "cache_write": 1 }, - "limit": { "context": 200000, "output": 8192 } - }, - "anthropic/claude-3-5-haiku": { - "id": "anthropic/claude-3-5-haiku", - "name": "Claude Haiku 3.5 (latest)", - "family": "claude-haiku", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-07-31", - "release_date": "2024-10-22", - "last_updated": "2024-10-22", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.8, "output": 4, "cache_read": 0.08, "cache_write": 1 }, - "limit": { "context": 200000, "output": 8192 } - }, - "anthropic/claude-sonnet-4-5": { - "id": "anthropic/claude-sonnet-4-5", - "name": "Claude Sonnet 4.5 (latest)", - "family": "claude-sonnet", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-07-31", - "release_date": "2025-09-29", - "last_updated": "2025-09-29", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 3, "output": 15, "cache_read": 0.3, "cache_write": 3.75 }, - "limit": { "context": 200000, "output": 64000 } - }, - "anthropic/claude-3.5-sonnet": { - "id": "anthropic/claude-3.5-sonnet", - "name": "Claude Sonnet 3.5 v2", - "family": "claude-sonnet", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-04-30", - "release_date": "2024-10-22", - "last_updated": "2024-10-22", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 3, "output": 15, "cache_read": 0.3, "cache_write": 3.75 }, - "limit": { "context": 200000, "output": 8192 } - }, - "anthropic/claude-3-haiku": { - "id": "anthropic/claude-3-haiku", - "name": "Claude Haiku 3", - "family": "claude-haiku", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2023-08-31", - "release_date": "2024-03-13", - "last_updated": "2024-03-13", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.25, "output": 1.25, "cache_read": 0.03, "cache_write": 0.3 }, - "limit": { "context": 200000, "output": 4096 } - }, - "anthropic/claude-haiku-4-5": { - "id": "anthropic/claude-haiku-4-5", - "name": "Claude Haiku 4.5 (latest)", - "family": "claude-haiku", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-02-28", - "release_date": "2025-10-15", - "last_updated": "2025-10-15", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1, "output": 5, "cache_read": 0.1, "cache_write": 1.25 }, - "limit": { "context": 200000, "output": 64000 } - }, - "anthropic/claude-opus-4": { - "id": "anthropic/claude-opus-4", - "name": "Claude Opus 4 (latest)", - "family": "claude-opus", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-03-31", - "release_date": "2025-05-22", - "last_updated": "2025-05-22", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 15, "output": 75, "cache_read": 1.5, "cache_write": 18.75 }, - "limit": { "context": 200000, "output": 32000 } - }, - "workers-ai/@cf/openai/gpt-oss-120b": { - "id": "workers-ai/@cf/openai/gpt-oss-120b", - "name": "GPT OSS 120B", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "release_date": "2025-08-05", - "last_updated": "2025-08-05", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.35, "output": 0.75 }, - "limit": { "context": 128000, "output": 16384 } - }, - "workers-ai/@cf/openai/gpt-oss-20b": { - "id": "workers-ai/@cf/openai/gpt-oss-20b", - "name": "GPT OSS 20B", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "release_date": "2025-08-05", - "last_updated": "2025-08-05", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.2, "output": 0.3 }, - "limit": { "context": 128000, "output": 16384 } - }, - "workers-ai/@cf/zai-org/glm-4.7-flash": { - "id": "workers-ai/@cf/zai-org/glm-4.7-flash", - "name": "GLM-4.7-Flash", - "family": "glm-flash", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-04", - "release_date": "2026-01-19", - "last_updated": "2026-01-19", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.06, "output": 0.4 }, - "limit": { "context": 131072, "output": 131072 } - }, - "workers-ai/@cf/nvidia/nemotron-3-120b-a12b": { - "id": "workers-ai/@cf/nvidia/nemotron-3-120b-a12b", - "name": "Nemotron 3 Super 120B", - "family": "nemotron", - "attachment": false, - "reasoning": true, - "tool_call": true, - "interleaved": { "field": "reasoning_content" }, - "temperature": true, - "release_date": "2026-03-11", - "last_updated": "2026-03-11", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.5, "output": 1.5 }, - "limit": { "context": 256000, "output": 256000 } - }, - "workers-ai/@cf/myshell-ai/melotts": { - "id": "workers-ai/@cf/myshell-ai/melotts", - "name": "MyShell MeloTTS", - "family": "melotts", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "release_date": "2025-11-14", - "last_updated": "2025-11-14", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 128000, "output": 16384 } - }, - "workers-ai/@cf/google/gemma-3-12b-it": { - "id": "workers-ai/@cf/google/gemma-3-12b-it", - "name": "Gemma 3 12B IT", - "family": "gemma", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "release_date": "2025-04-11", - "last_updated": "2025-04-11", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.35, "output": 0.56 }, - "limit": { "context": 128000, "output": 16384 } - }, - "workers-ai/@cf/ibm-granite/granite-4.0-h-micro": { - "id": "workers-ai/@cf/ibm-granite/granite-4.0-h-micro", - "name": "IBM Granite 4.0 H Micro", - "family": "granite", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "release_date": "2025-10-15", - "last_updated": "2025-10-15", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.017, "output": 0.11 }, - "limit": { "context": 128000, "output": 16384 } - }, - "workers-ai/@cf/ai4bharat/indictrans2-en-indic-1B": { - "id": "workers-ai/@cf/ai4bharat/indictrans2-en-indic-1B", - "name": "IndicTrans2 EN-Indic 1B", - "family": "indictrans", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "release_date": "2025-09-25", - "last_updated": "2025-09-25", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.34, "output": 0.34 }, - "limit": { "context": 128000, "output": 16384 } - }, - "workers-ai/@cf/deepseek-ai/deepseek-r1-distill-qwen-32b": { - "id": "workers-ai/@cf/deepseek-ai/deepseek-r1-distill-qwen-32b", - "name": "DeepSeek R1 Distill Qwen 32B", - "family": "deepseek-thinking", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "release_date": "2025-04-03", - "last_updated": "2025-04-03", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.5, "output": 4.88 }, - "limit": { "context": 128000, "output": 16384 } - }, - "workers-ai/@cf/qwen/qwq-32b": { - "id": "workers-ai/@cf/qwen/qwq-32b", - "name": "QwQ 32B", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "release_date": "2025-04-11", - "last_updated": "2025-04-11", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.66, "output": 1 }, - "limit": { "context": 128000, "output": 16384 } - }, - "workers-ai/@cf/qwen/qwen3-30b-a3b-fp8": { - "id": "workers-ai/@cf/qwen/qwen3-30b-a3b-fp8", - "name": "Qwen3 30B A3B FP8", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "release_date": "2025-11-14", - "last_updated": "2025-11-14", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.051, "output": 0.34 }, - "limit": { "context": 128000, "output": 16384 } - }, - "workers-ai/@cf/qwen/qwen3-embedding-0.6b": { - "id": "workers-ai/@cf/qwen/qwen3-embedding-0.6b", - "name": "Qwen3 Embedding 0.6B", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "release_date": "2025-11-14", - "last_updated": "2025-11-14", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.012, "output": 0 }, - "limit": { "context": 128000, "output": 16384 } - }, - "workers-ai/@cf/qwen/qwen2.5-coder-32b-instruct": { - "id": "workers-ai/@cf/qwen/qwen2.5-coder-32b-instruct", - "name": "Qwen 2.5 Coder 32B Instruct", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "release_date": "2025-04-11", - "last_updated": "2025-04-11", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.66, "output": 1 }, - "limit": { "context": 128000, "output": 16384 } - }, - "workers-ai/@cf/huggingface/distilbert-sst-2-int8": { - "id": "workers-ai/@cf/huggingface/distilbert-sst-2-int8", - "name": "DistilBERT SST-2 INT8", - "family": "distilbert", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "release_date": "2025-04-03", - "last_updated": "2025-04-03", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.026, "output": 0 }, - "limit": { "context": 128000, "output": 16384 } - }, - "workers-ai/@cf/facebook/bart-large-cnn": { - "id": "workers-ai/@cf/facebook/bart-large-cnn", - "name": "BART Large CNN", - "family": "bart", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "release_date": "2025-04-09", - "last_updated": "2025-04-09", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 128000, "output": 16384 } - }, - "workers-ai/@cf/baai/bge-base-en-v1.5": { - "id": "workers-ai/@cf/baai/bge-base-en-v1.5", - "name": "BGE Base EN v1.5", - "family": "bge", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "release_date": "2025-04-03", - "last_updated": "2025-04-03", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.067, "output": 0 }, - "limit": { "context": 128000, "output": 16384 } - }, - "workers-ai/@cf/baai/bge-small-en-v1.5": { - "id": "workers-ai/@cf/baai/bge-small-en-v1.5", - "name": "BGE Small EN v1.5", - "family": "bge", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "release_date": "2025-04-03", - "last_updated": "2025-04-03", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.02, "output": 0 }, - "limit": { "context": 128000, "output": 16384 } - }, - "workers-ai/@cf/baai/bge-large-en-v1.5": { - "id": "workers-ai/@cf/baai/bge-large-en-v1.5", - "name": "BGE Large EN v1.5", - "family": "bge", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "release_date": "2025-04-03", - "last_updated": "2025-04-03", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.2, "output": 0 }, - "limit": { "context": 128000, "output": 16384 } - }, - "workers-ai/@cf/baai/bge-reranker-base": { - "id": "workers-ai/@cf/baai/bge-reranker-base", - "name": "BGE Reranker Base", - "family": "bge", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "release_date": "2025-04-09", - "last_updated": "2025-04-09", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.0031, "output": 0 }, - "limit": { "context": 128000, "output": 16384 } - }, - "workers-ai/@cf/baai/bge-m3": { - "id": "workers-ai/@cf/baai/bge-m3", - "name": "BGE M3", - "family": "bge", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "release_date": "2025-04-03", - "last_updated": "2025-04-03", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.012, "output": 0 }, - "limit": { "context": 128000, "output": 16384 } - }, - "workers-ai/@cf/pipecat-ai/smart-turn-v2": { - "id": "workers-ai/@cf/pipecat-ai/smart-turn-v2", - "name": "Pipecat Smart Turn v2", - "family": "smart-turn", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "release_date": "2025-11-14", - "last_updated": "2025-11-14", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 128000, "output": 16384 } - }, - "workers-ai/@cf/moonshotai/kimi-k2.5": { - "id": "workers-ai/@cf/moonshotai/kimi-k2.5", - "name": "Kimi K2.5", - "family": "kimi", - "attachment": true, - "reasoning": true, - "tool_call": true, - "interleaved": { "field": "reasoning_content" }, - "structured_output": true, - "temperature": true, - "knowledge": "2025-01", - "release_date": "2026-01-27", - "last_updated": "2026-01-27", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.6, "output": 3, "cache_read": 0.1 }, - "limit": { "context": 256000, "output": 256000 } - }, - "workers-ai/@cf/deepgram/aura-2-en": { - "id": "workers-ai/@cf/deepgram/aura-2-en", - "name": "Deepgram Aura 2 (EN)", - "family": "aura", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "release_date": "2025-11-14", - "last_updated": "2025-11-14", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 128000, "output": 16384 } - }, - "workers-ai/@cf/deepgram/nova-3": { - "id": "workers-ai/@cf/deepgram/nova-3", - "name": "Deepgram Nova 3", - "family": "nova", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "release_date": "2025-11-14", - "last_updated": "2025-11-14", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 128000, "output": 16384 } - }, - "workers-ai/@cf/deepgram/aura-2-es": { - "id": "workers-ai/@cf/deepgram/aura-2-es", - "name": "Deepgram Aura 2 (ES)", - "family": "aura", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "release_date": "2025-11-14", - "last_updated": "2025-11-14", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 128000, "output": 16384 } - }, - "workers-ai/@cf/mistral/mistral-7b-instruct-v0.1": { - "id": "workers-ai/@cf/mistral/mistral-7b-instruct-v0.1", - "name": "Mistral 7B Instruct v0.1", - "family": "mistral", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "release_date": "2025-04-03", - "last_updated": "2025-04-03", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.11, "output": 0.19 }, - "limit": { "context": 128000, "output": 16384 } - }, - "workers-ai/@cf/aisingapore/gemma-sea-lion-v4-27b-it": { - "id": "workers-ai/@cf/aisingapore/gemma-sea-lion-v4-27b-it", - "name": "Gemma SEA-LION v4 27B IT", - "family": "gemma", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "release_date": "2025-09-25", - "last_updated": "2025-09-25", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.35, "output": 0.56 }, - "limit": { "context": 128000, "output": 16384 } - }, - "workers-ai/@cf/meta/llama-3.3-70b-instruct-fp8-fast": { - "id": "workers-ai/@cf/meta/llama-3.3-70b-instruct-fp8-fast", - "name": "Llama 3.3 70B Instruct FP8 Fast", - "family": "llama", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "release_date": "2025-04-03", - "last_updated": "2025-04-03", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.29, "output": 2.25 }, - "limit": { "context": 128000, "output": 16384 } - }, - "workers-ai/@cf/meta/llama-3-8b-instruct-awq": { - "id": "workers-ai/@cf/meta/llama-3-8b-instruct-awq", - "name": "Llama 3 8B Instruct AWQ", - "family": "llama", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "release_date": "2025-04-03", - "last_updated": "2025-04-03", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.12, "output": 0.27 }, - "limit": { "context": 128000, "output": 16384 } - }, - "workers-ai/@cf/meta/llama-3.2-1b-instruct": { - "id": "workers-ai/@cf/meta/llama-3.2-1b-instruct", - "name": "Llama 3.2 1B Instruct", - "family": "llama", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "release_date": "2025-04-03", - "last_updated": "2025-04-03", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.027, "output": 0.2 }, - "limit": { "context": 128000, "output": 16384 } - }, - "workers-ai/@cf/meta/m2m100-1.2b": { - "id": "workers-ai/@cf/meta/m2m100-1.2b", - "name": "M2M100 1.2B", - "family": "m2m", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "release_date": "2025-04-03", - "last_updated": "2025-04-03", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.34, "output": 0.34 }, - "limit": { "context": 128000, "output": 16384 } - }, - "workers-ai/@cf/meta/llama-3.1-8b-instruct": { - "id": "workers-ai/@cf/meta/llama-3.1-8b-instruct", - "name": "Llama 3.1 8B Instruct", - "family": "llama", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "release_date": "2025-04-03", - "last_updated": "2025-04-03", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.28, "output": 0.8299999999999998 }, - "limit": { "context": 128000, "output": 16384 } - }, - "workers-ai/@cf/meta/llama-4-scout-17b-16e-instruct": { - "id": "workers-ai/@cf/meta/llama-4-scout-17b-16e-instruct", - "name": "Llama 4 Scout 17B 16E Instruct", - "family": "llama", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "release_date": "2025-04-16", - "last_updated": "2025-04-16", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.27, "output": 0.85 }, - "limit": { "context": 128000, "output": 16384 } - }, - "workers-ai/@cf/meta/llama-3.2-11b-vision-instruct": { - "id": "workers-ai/@cf/meta/llama-3.2-11b-vision-instruct", - "name": "Llama 3.2 11B Vision Instruct", - "family": "llama", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "release_date": "2025-04-03", - "last_updated": "2025-04-03", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.049, "output": 0.68 }, - "limit": { "context": 128000, "output": 16384 } - }, - "workers-ai/@cf/meta/llama-3-8b-instruct": { - "id": "workers-ai/@cf/meta/llama-3-8b-instruct", - "name": "Llama 3 8B Instruct", - "family": "llama", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "release_date": "2025-04-03", - "last_updated": "2025-04-03", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.28, "output": 0.83 }, - "limit": { "context": 128000, "output": 16384 } - }, - "workers-ai/@cf/meta/llama-guard-3-8b": { - "id": "workers-ai/@cf/meta/llama-guard-3-8b", - "name": "Llama Guard 3 8B", - "family": "llama", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "release_date": "2025-04-03", - "last_updated": "2025-04-03", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.48, "output": 0.03 }, - "limit": { "context": 128000, "output": 16384 } - }, - "workers-ai/@cf/meta/llama-3.2-3b-instruct": { - "id": "workers-ai/@cf/meta/llama-3.2-3b-instruct", - "name": "Llama 3.2 3B Instruct", - "family": "llama", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "release_date": "2025-04-03", - "last_updated": "2025-04-03", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.051, "output": 0.34 }, - "limit": { "context": 128000, "output": 16384 } - }, - "workers-ai/@cf/meta/llama-3.1-8b-instruct-awq": { - "id": "workers-ai/@cf/meta/llama-3.1-8b-instruct-awq", - "name": "Llama 3.1 8B Instruct AWQ", - "family": "llama", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "release_date": "2025-04-03", - "last_updated": "2025-04-03", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.12, "output": 0.27 }, - "limit": { "context": 128000, "output": 16384 } - }, - "workers-ai/@cf/meta/llama-3.1-8b-instruct-fp8": { - "id": "workers-ai/@cf/meta/llama-3.1-8b-instruct-fp8", - "name": "Llama 3.1 8B Instruct FP8", - "family": "llama", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "release_date": "2025-04-03", - "last_updated": "2025-04-03", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.15, "output": 0.29 }, - "limit": { "context": 128000, "output": 16384 } - }, - "workers-ai/@cf/meta/llama-2-7b-chat-fp16": { - "id": "workers-ai/@cf/meta/llama-2-7b-chat-fp16", - "name": "Llama 2 7B Chat FP16", - "family": "llama", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "release_date": "2025-04-03", - "last_updated": "2025-04-03", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.56, "output": 6.67 }, - "limit": { "context": 128000, "output": 16384 } - }, - "workers-ai/@cf/pfnet/plamo-embedding-1b": { - "id": "workers-ai/@cf/pfnet/plamo-embedding-1b", - "name": "PLaMo Embedding 1B", - "family": "plamo", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "release_date": "2025-09-25", - "last_updated": "2025-09-25", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.019, "output": 0 }, - "limit": { "context": 128000, "output": 16384 } - }, - "workers-ai/@cf/mistralai/mistral-small-3.1-24b-instruct": { - "id": "workers-ai/@cf/mistralai/mistral-small-3.1-24b-instruct", - "name": "Mistral Small 3.1 24B Instruct", - "family": "mistral-small", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "release_date": "2025-04-11", - "last_updated": "2025-04-11", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.35, "output": 0.56 }, - "limit": { "context": 128000, "output": 16384 } - } - } - }, - "wandb": { - "id": "wandb", - "env": ["WANDB_API_KEY"], - "npm": "@ai-sdk/openai-compatible", - "api": "https://api.inference.wandb.ai/v1", - "name": "Weights & Biases", - "doc": "https://docs.wandb.ai/guides/integrations/inference/", - "models": { - "openai/gpt-oss-120b": { - "id": "openai/gpt-oss-120b", - "name": "gpt-oss-120b", - "family": "gpt-oss", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-08-05", - "last_updated": "2026-03-12", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.15, "output": 0.6 }, - "limit": { "context": 131072, "output": 131072 } - }, - "openai/gpt-oss-20b": { - "id": "openai/gpt-oss-20b", - "name": "gpt-oss-20b", - "family": "gpt-oss", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-08-05", - "last_updated": "2026-03-12", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.05, "output": 0.2 }, - "limit": { "context": 131072, "output": 131072 } - }, - "microsoft/Phi-4-mini-instruct": { - "id": "microsoft/Phi-4-mini-instruct", - "name": "Phi-4-mini-instruct", - "family": "phi", - "attachment": false, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2023-10", - "release_date": "2024-12-11", - "last_updated": "2026-03-12", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.08, "output": 0.35 }, - "limit": { "context": 128000, "output": 128000 } - }, - "zai-org/GLM-5-FP8": { - "id": "zai-org/GLM-5-FP8", - "name": "GLM 5", - "family": "glm", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2026-02-11", - "last_updated": "2026-03-12", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 1, "output": 3.2 }, - "limit": { "context": 200000, "output": 200000 } - }, - "nvidia/NVIDIA-Nemotron-3-Super-120B-A12B-FP8": { - "id": "nvidia/NVIDIA-Nemotron-3-Super-120B-A12B-FP8", - "name": "NVIDIA Nemotron 3 Super 120B", - "family": "nemotron", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2026-03-11", - "last_updated": "2026-03-12", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.2, "output": 0.8 }, - "limit": { "context": 262144, "output": 262144 } - }, - "OpenPipe/Qwen3-14B-Instruct": { - "id": "OpenPipe/Qwen3-14B-Instruct", - "name": "OpenPipe Qwen3 14B Instruct", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-04-29", - "last_updated": "2026-03-12", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.05, "output": 0.22 }, - "limit": { "context": 32768, "output": 32768 } - }, - "meta-llama/Llama-4-Scout-17B-16E-Instruct": { - "id": "meta-llama/Llama-4-Scout-17B-16E-Instruct", - "name": "Llama 4 Scout 17B 16E Instruct", - "family": "llama", - "attachment": false, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2024-12", - "release_date": "2025-01-31", - "last_updated": "2026-03-12", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.17, "output": 0.66 }, - "limit": { "context": 64000, "output": 64000 } - }, - "meta-llama/Llama-3.1-8B-Instruct": { - "id": "meta-llama/Llama-3.1-8B-Instruct", - "name": "Meta-Llama-3.1-8B-Instruct", - "family": "llama", - "attachment": false, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2023-12", - "release_date": "2024-07-23", - "last_updated": "2026-03-12", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.22, "output": 0.22 }, - "limit": { "context": 128000, "output": 128000 } - }, - "meta-llama/Llama-3.3-70B-Instruct": { - "id": "meta-llama/Llama-3.3-70B-Instruct", - "name": "Llama-3.3-70B-Instruct", - "family": "llama", - "attachment": false, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2023-12", - "release_date": "2024-12-06", - "last_updated": "2026-03-12", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.71, "output": 0.71 }, - "limit": { "context": 128000, "output": 128000 } - }, - "meta-llama/Llama-3.1-70B-Instruct": { - "id": "meta-llama/Llama-3.1-70B-Instruct", - "name": "Llama 3.1 70B", - "family": "llama", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2024-07-23", - "last_updated": "2026-03-12", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.8, "output": 0.8 }, - "limit": { "context": 128000, "output": 128000 } - }, - "MiniMaxAI/MiniMax-M2.5": { - "id": "MiniMaxAI/MiniMax-M2.5", - "name": "MiniMax M2.5", - "family": "minimax", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2026-02-12", - "last_updated": "2026-03-12", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.3, "output": 1.2 }, - "limit": { "context": 196608, "output": 196608 } - }, - "deepseek-ai/DeepSeek-V3.1": { - "id": "deepseek-ai/DeepSeek-V3.1", - "name": "DeepSeek V3.1", - "family": "deepseek", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-08-21", - "last_updated": "2026-03-12", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.55, "output": 1.65 }, - "limit": { "context": 161000, "output": 161000 } - }, - "Qwen/Qwen3-235B-A22B-Thinking-2507": { - "id": "Qwen/Qwen3-235B-A22B-Thinking-2507", - "name": "Qwen3-235B-A22B-Thinking-2507", - "family": "qwen", - "attachment": false, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2025-04", - "release_date": "2025-07-25", - "last_updated": "2026-03-12", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.1, "output": 0.1 }, - "limit": { "context": 262144, "output": 262144 } - }, - "Qwen/Qwen3-Coder-480B-A35B-Instruct": { - "id": "Qwen/Qwen3-Coder-480B-A35B-Instruct", - "name": "Qwen3-Coder-480B-A35B-Instruct", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2025-04", - "release_date": "2025-07-23", - "last_updated": "2026-03-12", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 1, "output": 1.5 }, - "limit": { "context": 262144, "output": 262144 } - }, - "Qwen/Qwen3-30B-A3B-Instruct-2507": { - "id": "Qwen/Qwen3-30B-A3B-Instruct-2507", - "name": "Qwen3 30B A3B Instruct 2507", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-07-29", - "last_updated": "2026-03-12", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.1, "output": 0.3 }, - "limit": { "context": 262144, "output": 262144 } - }, - "Qwen/Qwen3-235B-A22B-Instruct-2507": { - "id": "Qwen/Qwen3-235B-A22B-Instruct-2507", - "name": "Qwen3 235B A22B Instruct 2507", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2025-04", - "release_date": "2025-04-28", - "last_updated": "2026-03-12", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.1, "output": 0.1 }, - "limit": { "context": 262144, "output": 262144 } - }, - "moonshotai/Kimi-K2.5": { - "id": "moonshotai/Kimi-K2.5", - "name": "Kimi K2.5", - "family": "kimi", - "attachment": true, - "reasoning": true, - "tool_call": true, - "interleaved": { "field": "reasoning_content" }, - "structured_output": true, - "temperature": true, - "release_date": "2026-01-27", - "last_updated": "2026-03-12", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.5, "output": 2.85 }, - "limit": { "context": 262144, "output": 262144 } - } - } - }, - "qiniu-ai": { - "id": "qiniu-ai", - "env": ["QINIU_API_KEY"], - "npm": "@ai-sdk/openai-compatible", - "api": "https://api.qnaigc.com/v1", - "name": "Qiniu", - "doc": "https://developer.qiniu.com/aitokenapi", - "models": { - "gemini-2.5-flash-lite": { - "id": "gemini-2.5-flash-lite", - "name": "Gemini 2.5 Flash Lite", - "attachment": true, - "reasoning": false, - "tool_call": true, - "structured_output": false, - "temperature": true, - "release_date": "2025-08-05", - "last_updated": "2025-08-05", - "modalities": { "input": ["text", "image", "audio", "video"], "output": ["text"] }, - "open_weights": false, - "limit": { "context": 1048576, "output": 64000 } - }, - "qwen3-235b-a22b-instruct-2507": { - "id": "qwen3-235b-a22b-instruct-2507", - "name": "Qwen3 235b A22B Instruct 2507", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": false, - "temperature": true, - "release_date": "2025-08-12", - "last_updated": "2025-08-12", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "limit": { "context": 262144, "output": 64000 } - }, - "claude-4.5-opus": { - "id": "claude-4.5-opus", - "name": "Claude 4.5 Opus", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": false, - "temperature": true, - "release_date": "2025-11-25", - "last_updated": "2025-11-25", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "limit": { "context": 200000, "output": 200000 } - }, - "doubao-1.5-vision-pro": { - "id": "doubao-1.5-vision-pro", - "name": "Doubao 1.5 Vision Pro", - "attachment": true, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "temperature": true, - "release_date": "2025-08-05", - "last_updated": "2025-08-05", - "modalities": { "input": ["text", "image", "video"], "output": ["text"] }, - "open_weights": false, - "limit": { "context": 128000, "output": 16000 } - }, - "qwen-turbo": { - "id": "qwen-turbo", - "name": "Qwen-Turbo", - "attachment": false, - "reasoning": true, - "tool_call": true, - "structured_output": false, - "temperature": true, - "release_date": "2025-08-05", - "last_updated": "2025-08-05", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "limit": { "context": 1000000, "output": 4096 } - }, - "deepseek-v3-0324": { - "id": "deepseek-v3-0324", - "name": "DeepSeek-V3-0324", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": false, - "temperature": true, - "release_date": "2025-08-05", - "last_updated": "2025-08-05", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "limit": { "context": 128000, "output": 16000 } - }, - "deepseek-r1": { - "id": "deepseek-r1", - "name": "DeepSeek-R1", - "attachment": false, - "reasoning": true, - "tool_call": true, - "structured_output": false, - "temperature": true, - "release_date": "2025-08-05", - "last_updated": "2025-08-05", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "limit": { "context": 128000, "output": 32000 } - }, - "qwen3-max-preview": { - "id": "qwen3-max-preview", - "name": "Qwen3 Max Preview", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": false, - "temperature": true, - "release_date": "2025-09-06", - "last_updated": "2025-09-06", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "limit": { "context": 256000, "output": 64000 } - }, - "claude-4.0-sonnet": { - "id": "claude-4.0-sonnet", - "name": "Claude 4.0 Sonnet", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": false, - "temperature": true, - "release_date": "2025-08-05", - "last_updated": "2025-08-05", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "limit": { "context": 200000, "output": 64000 } - }, - "doubao-1.5-pro-32k": { - "id": "doubao-1.5-pro-32k", - "name": "Doubao 1.5 Pro 32k", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": false, - "temperature": true, - "release_date": "2025-08-05", - "last_updated": "2025-08-05", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "limit": { "context": 128000, "output": 12000 } - }, - "gemini-3.0-flash-preview": { - "id": "gemini-3.0-flash-preview", - "name": "Gemini 3.0 Flash Preview", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": false, - "temperature": true, - "release_date": "2025-12-18", - "last_updated": "2025-12-18", - "modalities": { "input": ["text", "image", "audio", "video", "pdf"], "output": ["text"] }, - "open_weights": false, - "limit": { "context": 1000000, "output": 64000 } - }, - "deepseek-v3": { - "id": "deepseek-v3", - "name": "DeepSeek-V3", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "temperature": true, - "release_date": "2025-08-13", - "last_updated": "2025-08-13", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "limit": { "context": 128000, "output": 16000 } - }, - "MiniMax-M1": { - "id": "MiniMax-M1", - "name": "MiniMax M1", - "attachment": false, - "reasoning": true, - "tool_call": true, - "structured_output": false, - "temperature": true, - "release_date": "2025-08-05", - "last_updated": "2025-08-05", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "limit": { "context": 1000000, "output": 80000 } - }, - "gemini-3.0-pro-image-preview": { - "id": "gemini-3.0-pro-image-preview", - "name": "Gemini 3.0 Pro Image Preview", - "attachment": true, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "temperature": true, - "release_date": "2025-11-20", - "last_updated": "2025-11-20", - "modalities": { "input": ["text", "image"], "output": ["text", "image"] }, - "open_weights": false, - "limit": { "context": 32768, "output": 8192 } - }, - "doubao-seed-2.0-lite": { - "id": "doubao-seed-2.0-lite", - "name": "Doubao Seed 2.0 Lite", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": false, - "temperature": true, - "release_date": "2026-02-14", - "last_updated": "2026-02-14", - "modalities": { "input": ["text", "image", "video"], "output": ["text"] }, - "open_weights": false, - "limit": { "context": 256000, "output": 32000 } - }, - "doubao-seed-2.0-mini": { - "id": "doubao-seed-2.0-mini", - "name": "Doubao Seed 2.0 Mini", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": false, - "temperature": true, - "release_date": "2026-02-14", - "last_updated": "2026-02-14", - "modalities": { "input": ["text", "image", "video"], "output": ["text"] }, - "open_weights": false, - "limit": { "context": 256000, "output": 32000 } - }, - "qwen3-30b-a3b-thinking-2507": { - "id": "qwen3-30b-a3b-thinking-2507", - "name": "Qwen3 30b A3b Thinking 2507", - "attachment": false, - "reasoning": true, - "tool_call": true, - "structured_output": false, - "temperature": true, - "release_date": "2026-02-04", - "last_updated": "2026-02-04", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "limit": { "context": 126000, "output": 32000 } - }, - "kimi-k2": { - "id": "kimi-k2", - "name": "Kimi K2", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": false, - "temperature": true, - "release_date": "2025-08-05", - "last_updated": "2025-08-05", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "limit": { "context": 128000, "output": 128000 } - }, - "qwen3-30b-a3b": { - "id": "qwen3-30b-a3b", - "name": "Qwen3 30B A3B", - "attachment": false, - "reasoning": true, - "tool_call": true, - "structured_output": false, - "temperature": true, - "release_date": "2025-08-05", - "last_updated": "2025-08-05", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "limit": { "context": 40000, "output": 4096 } - }, - "doubao-seed-2.0-pro": { - "id": "doubao-seed-2.0-pro", - "name": "Doubao Seed 2.0 Pro", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": false, - "temperature": true, - "release_date": "2026-02-14", - "last_updated": "2026-02-14", - "modalities": { "input": ["text", "image", "video"], "output": ["text"] }, - "open_weights": false, - "limit": { "context": 256000, "output": 128000 } - }, - "gpt-oss-120b": { - "id": "gpt-oss-120b", - "name": "gpt-oss-120b", - "attachment": false, - "reasoning": true, - "tool_call": true, - "structured_output": false, - "temperature": true, - "release_date": "2025-08-06", - "last_updated": "2025-08-06", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "limit": { "context": 128000, "output": 4096 } - }, - "gemini-2.0-flash-lite": { - "id": "gemini-2.0-flash-lite", - "name": "Gemini 2.0 Flash Lite", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": false, - "temperature": true, - "release_date": "2025-08-05", - "last_updated": "2025-08-05", - "modalities": { "input": ["text", "image", "audio", "video"], "output": ["text"] }, - "open_weights": false, - "limit": { "context": 1048576, "output": 8192 } - }, - "doubao-seed-2.0-code": { - "id": "doubao-seed-2.0-code", - "name": "Doubao Seed 2.0 Code", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": false, - "temperature": true, - "release_date": "2026-02-14", - "last_updated": "2026-02-14", - "modalities": { "input": ["text", "image", "video"], "output": ["text"] }, - "open_weights": false, - "limit": { "context": 256000, "output": 128000 } - }, - "doubao-seed-1.6": { - "id": "doubao-seed-1.6", - "name": "Doubao-Seed 1.6", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": false, - "temperature": true, - "release_date": "2025-08-15", - "last_updated": "2025-08-15", - "modalities": { "input": ["text", "image", "video"], "output": ["text"] }, - "open_weights": false, - "limit": { "context": 256000, "output": 32000 } - }, - "glm-4.5": { - "id": "glm-4.5", - "name": "GLM 4.5", - "attachment": false, - "reasoning": true, - "tool_call": true, - "structured_output": false, - "temperature": true, - "release_date": "2025-08-05", - "last_updated": "2025-08-05", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "limit": { "context": 131072, "output": 98304 } - }, - "qwen2.5-vl-72b-instruct": { - "id": "qwen2.5-vl-72b-instruct", - "name": "Qwen 2.5 VL 72B Instruct", - "attachment": true, - "reasoning": false, - "tool_call": true, - "structured_output": false, - "temperature": true, - "release_date": "2025-08-05", - "last_updated": "2025-08-05", - "modalities": { "input": ["text", "image", "audio", "video"], "output": ["text"] }, - "open_weights": false, - "limit": { "context": 128000, "output": 8192 } - }, - "claude-3.7-sonnet": { - "id": "claude-3.7-sonnet", - "name": "Claude 3.7 Sonnet", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": false, - "temperature": true, - "release_date": "2025-08-05", - "last_updated": "2025-08-05", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "limit": { "context": 200000, "output": 128000 } - }, - "doubao-seed-1.6-flash": { - "id": "doubao-seed-1.6-flash", - "name": "Doubao-Seed 1.6 Flash", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": false, - "temperature": true, - "release_date": "2025-08-15", - "last_updated": "2025-08-15", - "modalities": { "input": ["text", "image", "video"], "output": ["text"] }, - "open_weights": false, - "limit": { "context": 256000, "output": 32000 } - }, - "gemini-3.0-pro-preview": { - "id": "gemini-3.0-pro-preview", - "name": "Gemini 3.0 Pro Preview", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": false, - "temperature": true, - "release_date": "2025-11-19", - "last_updated": "2025-11-19", - "modalities": { "input": ["text", "image", "video", "pdf", "audio"], "output": ["text"] }, - "open_weights": false, - "limit": { "context": 1000000, "output": 64000 } - }, - "qwen3-coder-480b-a35b-instruct": { - "id": "qwen3-coder-480b-a35b-instruct", - "name": "Qwen3 Coder 480B A35B Instruct", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": false, - "temperature": true, - "release_date": "2025-08-14", - "last_updated": "2025-08-14", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "limit": { "context": 262000, "output": 4096 } - }, - "qwen3-next-80b-a3b-thinking": { - "id": "qwen3-next-80b-a3b-thinking", - "name": "Qwen3 Next 80B A3B Thinking", - "attachment": false, - "reasoning": true, - "tool_call": true, - "structured_output": false, - "temperature": true, - "release_date": "2025-09-12", - "last_updated": "2025-09-12", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "limit": { "context": 131072, "output": 32768 } - }, - "gemini-2.5-pro": { - "id": "gemini-2.5-pro", - "name": "Gemini 2.5 Pro", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": false, - "temperature": true, - "release_date": "2025-08-05", - "last_updated": "2025-08-05", - "modalities": { "input": ["text", "image", "video", "audio"], "output": ["text"] }, - "open_weights": false, - "limit": { "context": 1048576, "output": 65536 } - }, - "qwen-max-2025-01-25": { - "id": "qwen-max-2025-01-25", - "name": "Qwen2.5-Max-2025-01-25", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": false, - "temperature": true, - "release_date": "2025-08-05", - "last_updated": "2025-08-05", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "limit": { "context": 128000, "output": 4096 } - }, - "claude-4.0-opus": { - "id": "claude-4.0-opus", - "name": "Claude 4.0 Opus", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": false, - "temperature": true, - "release_date": "2025-08-05", - "last_updated": "2025-08-05", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "limit": { "context": 200000, "output": 32000 } - }, - "gemini-2.5-flash": { - "id": "gemini-2.5-flash", - "name": "Gemini 2.5 Flash", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": false, - "temperature": true, - "release_date": "2025-08-05", - "last_updated": "2025-08-05", - "modalities": { "input": ["text", "image", "audio", "video"], "output": ["text"] }, - "open_weights": false, - "limit": { "context": 1048576, "output": 64000 } - }, - "qwen3-235b-a22b-thinking-2507": { - "id": "qwen3-235b-a22b-thinking-2507", - "name": "Qwen3 235B A22B Thinking 2507", - "attachment": false, - "reasoning": true, - "tool_call": true, - "structured_output": false, - "temperature": true, - "release_date": "2025-08-12", - "last_updated": "2025-08-12", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "limit": { "context": 262144, "output": 4096 } - }, - "qwen-vl-max-2025-01-25": { - "id": "qwen-vl-max-2025-01-25", - "name": "Qwen VL-MAX-2025-01-25", - "attachment": true, - "reasoning": false, - "tool_call": true, - "structured_output": false, - "temperature": true, - "release_date": "2025-08-05", - "last_updated": "2025-08-05", - "modalities": { "input": ["text", "image", "audio", "video"], "output": ["text"] }, - "open_weights": false, - "limit": { "context": 128000, "output": 4096 } - }, - "qwen3-next-80b-a3b-instruct": { - "id": "qwen3-next-80b-a3b-instruct", - "name": "Qwen3 Next 80B A3B Instruct", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": false, - "temperature": true, - "release_date": "2025-09-12", - "last_updated": "2025-09-12", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "limit": { "context": 131072, "output": 32768 } - }, - "claude-3.5-haiku": { - "id": "claude-3.5-haiku", - "name": "Claude 3.5 Haiku", - "attachment": true, - "reasoning": false, - "tool_call": true, - "structured_output": false, - "temperature": true, - "release_date": "2025-08-26", - "last_updated": "2025-08-26", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "limit": { "context": 200000, "output": 8192 } - }, - "kling-v2-6": { - "id": "kling-v2-6", - "name": "Kling-V2 6", - "attachment": true, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "temperature": true, - "release_date": "2026-01-13", - "last_updated": "2026-01-13", - "modalities": { "input": ["text", "image", "video"], "output": ["video"] }, - "open_weights": false, - "limit": { "context": 99999999, "output": 99999999 } - }, - "deepseek-v3.1": { - "id": "deepseek-v3.1", - "name": "DeepSeek-V3.1", - "attachment": false, - "reasoning": true, - "tool_call": true, - "structured_output": false, - "temperature": true, - "release_date": "2025-08-19", - "last_updated": "2025-08-19", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "limit": { "context": 128000, "output": 32000 } - }, - "gemini-2.0-flash": { - "id": "gemini-2.0-flash", - "name": "Gemini 2.0 Flash", - "attachment": true, - "reasoning": false, - "tool_call": true, - "structured_output": false, - "temperature": true, - "release_date": "2025-08-05", - "last_updated": "2025-08-05", - "modalities": { "input": ["text", "image", "audio", "video"], "output": ["text"] }, - "open_weights": false, - "limit": { "context": 1048576, "output": 8192 } - }, - "doubao-seed-1.6-thinking": { - "id": "doubao-seed-1.6-thinking", - "name": "Doubao-Seed 1.6 Thinking", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": false, - "temperature": true, - "release_date": "2025-08-15", - "last_updated": "2025-08-15", - "modalities": { "input": ["image", "text", "video"], "output": ["text"] }, - "open_weights": false, - "limit": { "context": 256000, "output": 32000 } - }, - "qwen3-235b-a22b": { - "id": "qwen3-235b-a22b", - "name": "Qwen 3 235B A22B", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": false, - "temperature": true, - "release_date": "2025-08-05", - "last_updated": "2025-08-05", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "limit": { "context": 128000, "output": 32000 } - }, - "qwen3-vl-30b-a3b-thinking": { - "id": "qwen3-vl-30b-a3b-thinking", - "name": "Qwen3-Vl 30b A3b Thinking", - "attachment": true, - "reasoning": false, - "tool_call": true, - "structured_output": false, - "temperature": true, - "release_date": "2026-02-09", - "last_updated": "2026-02-09", - "modalities": { "input": ["text", "image", "video"], "output": ["text"] }, - "open_weights": false, - "limit": { "context": 128000, "output": 32000 } - }, - "doubao-1.5-thinking-pro": { - "id": "doubao-1.5-thinking-pro", - "name": "Doubao 1.5 Thinking Pro", - "attachment": false, - "reasoning": true, - "tool_call": true, - "structured_output": false, - "temperature": true, - "release_date": "2025-08-05", - "last_updated": "2025-08-05", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "limit": { "context": 128000, "output": 16000 } - }, - "claude-4.1-opus": { - "id": "claude-4.1-opus", - "name": "Claude 4.1 Opus", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": false, - "temperature": true, - "release_date": "2025-08-06", - "last_updated": "2025-08-06", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "limit": { "context": 200000, "output": 32000 } - }, - "glm-4.5-air": { - "id": "glm-4.5-air", - "name": "GLM 4.5 Air", - "attachment": false, - "reasoning": true, - "tool_call": true, - "structured_output": false, - "temperature": true, - "release_date": "2025-08-05", - "last_updated": "2025-08-05", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "limit": { "context": 131000, "output": 4096 } - }, - "qwen3.5-397b-a17b": { - "id": "qwen3.5-397b-a17b", - "name": "Qwen3.5 397B A17B", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": false, - "temperature": true, - "release_date": "2026-02-22", - "last_updated": "2026-02-22", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "limit": { "context": 256000, "output": 64000 } - }, - "gemini-2.5-flash-image": { - "id": "gemini-2.5-flash-image", - "name": "Gemini 2.5 Flash Image", - "attachment": true, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "temperature": true, - "release_date": "2025-10-22", - "last_updated": "2025-10-22", - "modalities": { "input": ["text", "image"], "output": ["image"] }, - "open_weights": false, - "limit": { "context": 32768, "output": 8192 } - }, - "claude-4.5-sonnet": { - "id": "claude-4.5-sonnet", - "name": "Claude 4.5 Sonnet", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": false, - "temperature": true, - "release_date": "2025-09-30", - "last_updated": "2025-09-30", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "limit": { "context": 200000, "output": 64000 } - }, - "deepseek-r1-0528": { - "id": "deepseek-r1-0528", - "name": "DeepSeek-R1-0528", - "attachment": false, - "reasoning": true, - "tool_call": true, - "structured_output": false, - "temperature": true, - "release_date": "2025-08-05", - "last_updated": "2025-08-05", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "limit": { "context": 128000, "output": 32000 } - }, - "qwen3-max": { - "id": "qwen3-max", - "name": "Qwen3 Max", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": false, - "temperature": true, - "release_date": "2025-09-24", - "last_updated": "2025-09-24", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "limit": { "context": 262144, "output": 65536 } - }, - "gpt-oss-20b": { - "id": "gpt-oss-20b", - "name": "gpt-oss-20b", - "attachment": false, - "reasoning": true, - "tool_call": true, - "structured_output": false, - "temperature": true, - "release_date": "2025-08-06", - "last_updated": "2025-08-06", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "limit": { "context": 128000, "output": 4096 } - }, - "qwen3-32b": { - "id": "qwen3-32b", - "name": "Qwen3 32B", - "attachment": false, - "reasoning": true, - "tool_call": true, - "structured_output": false, - "temperature": true, - "release_date": "2025-08-05", - "last_updated": "2025-08-05", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "limit": { "context": 40000, "output": 4096 } - }, - "claude-4.5-haiku": { - "id": "claude-4.5-haiku", - "name": "Claude 4.5 Haiku", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": false, - "temperature": true, - "release_date": "2025-10-16", - "last_updated": "2025-10-16", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "limit": { "context": 200000, "output": 64000 } - }, - "qwen2.5-vl-7b-instruct": { - "id": "qwen2.5-vl-7b-instruct", - "name": "Qwen 2.5 VL 7B Instruct", - "attachment": true, - "reasoning": false, - "tool_call": true, - "structured_output": false, - "temperature": true, - "release_date": "2025-08-05", - "last_updated": "2025-08-05", - "modalities": { "input": ["text", "image", "audio", "video"], "output": ["text"] }, - "open_weights": false, - "limit": { "context": 128000, "output": 8192 } - }, - "claude-3.5-sonnet": { - "id": "claude-3.5-sonnet", - "name": "Claude 3.5 Sonnet", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": false, - "temperature": true, - "release_date": "2025-09-09", - "last_updated": "2025-09-09", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "limit": { "context": 200000, "output": 8200 } - }, - "mimo-v2-flash": { - "id": "mimo-v2-flash", - "name": "Mimo-V2-Flash", - "attachment": false, - "reasoning": true, - "tool_call": true, - "structured_output": false, - "temperature": true, - "release_date": "2025-12-17", - "last_updated": "2025-12-17", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "limit": { "context": 256000, "output": 256000 } - }, - "qwen3-30b-a3b-instruct-2507": { - "id": "qwen3-30b-a3b-instruct-2507", - "name": "Qwen3 30b A3b Instruct 2507", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": false, - "temperature": true, - "release_date": "2026-02-04", - "last_updated": "2026-02-04", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "limit": { "context": 128000, "output": 32000 } - }, - "meituan/longcat-flash-lite": { - "id": "meituan/longcat-flash-lite", - "name": "Meituan/Longcat-Flash-Lite", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": false, - "temperature": true, - "release_date": "2026-02-06", - "last_updated": "2026-02-06", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "limit": { "context": 256000, "output": 320000 } - }, - "meituan/longcat-flash-chat": { - "id": "meituan/longcat-flash-chat", - "name": "Meituan/Longcat-Flash-Chat", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "temperature": true, - "release_date": "2025-11-05", - "last_updated": "2025-11-05", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "limit": { "context": 131072, "output": 131072 } - }, - "openai/gpt-5": { - "id": "openai/gpt-5", - "name": "OpenAI/GPT-5", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": false, - "temperature": true, - "release_date": "2025-09-19", - "last_updated": "2025-09-19", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "limit": { "context": 400000, "output": 128000 } - }, - "openai/gpt-5.2": { - "id": "openai/gpt-5.2", - "name": "OpenAI/GPT-5.2", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": false, - "temperature": true, - "release_date": "2025-12-11", - "last_updated": "2025-12-11", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "limit": { "context": 400000, "output": 128000 } - }, - "x-ai/grok-4-fast": { - "id": "x-ai/grok-4-fast", - "name": "x-AI/Grok-4-Fast", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": false, - "temperature": true, - "release_date": "2025-09-20", - "last_updated": "2025-09-20", - "modalities": { "input": ["text", "image", "audio", "video"], "output": ["text"] }, - "open_weights": false, - "limit": { "context": 2000000, "output": 2000000 } - }, - "x-ai/grok-4.1-fast": { - "id": "x-ai/grok-4.1-fast", - "name": "x-AI/Grok-4.1-Fast", - "attachment": false, - "reasoning": true, - "tool_call": true, - "structured_output": false, - "temperature": true, - "release_date": "2025-11-20", - "last_updated": "2025-11-20", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "limit": { "context": 2000000, "output": 2000000 } - }, - "x-ai/grok-4-fast-non-reasoning": { - "id": "x-ai/grok-4-fast-non-reasoning", - "name": "X-Ai/Grok-4-Fast-Non-Reasoning", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": false, - "temperature": true, - "release_date": "2025-12-18", - "last_updated": "2025-12-18", - "modalities": { "input": ["text", "image", "audio", "video"], "output": ["text"] }, - "open_weights": false, - "limit": { "context": 2000000, "output": 2000000 } - }, - "x-ai/grok-code-fast-1": { - "id": "x-ai/grok-code-fast-1", - "name": "x-AI/Grok-Code-Fast 1", - "attachment": false, - "reasoning": true, - "tool_call": true, - "structured_output": false, - "temperature": true, - "release_date": "2025-09-02", - "last_updated": "2025-09-02", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "limit": { "context": 256000, "output": 10000 } - }, - "x-ai/grok-4.1-fast-non-reasoning": { - "id": "x-ai/grok-4.1-fast-non-reasoning", - "name": "X-Ai/Grok 4.1 Fast Non Reasoning", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": false, - "temperature": true, - "release_date": "2025-12-19", - "last_updated": "2025-12-19", - "modalities": { "input": ["text", "image", "audio", "video"], "output": ["text"] }, - "open_weights": false, - "limit": { "context": 2000000, "output": 2000000 } - }, - "x-ai/grok-4.1-fast-reasoning": { - "id": "x-ai/grok-4.1-fast-reasoning", - "name": "X-Ai/Grok 4.1 Fast Reasoning", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": false, - "temperature": true, - "release_date": "2025-12-19", - "last_updated": "2025-12-19", - "modalities": { "input": ["text", "image", "audio", "video"], "output": ["text"] }, - "open_weights": false, - "limit": { "context": 20000000, "output": 2000000 } - }, - "x-ai/grok-4-fast-reasoning": { - "id": "x-ai/grok-4-fast-reasoning", - "name": "X-Ai/Grok-4-Fast-Reasoning", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": false, - "temperature": true, - "release_date": "2025-12-18", - "last_updated": "2025-12-18", - "modalities": { "input": ["text", "image", "audio", "video"], "output": ["text"] }, - "open_weights": false, - "limit": { "context": 2000000, "output": 2000000 } - }, - "deepseek/deepseek-v3.1-terminus-thinking": { - "id": "deepseek/deepseek-v3.1-terminus-thinking", - "name": "DeepSeek/DeepSeek-V3.1-Terminus-Thinking", - "attachment": false, - "reasoning": true, - "tool_call": false, - "structured_output": false, - "temperature": true, - "release_date": "2025-09-22", - "last_updated": "2025-09-22", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "limit": { "context": 128000, "output": 32000 } - }, - "deepseek/deepseek-v3.1-terminus": { - "id": "deepseek/deepseek-v3.1-terminus", - "name": "DeepSeek/DeepSeek-V3.1-Terminus", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": false, - "temperature": true, - "release_date": "2025-09-22", - "last_updated": "2025-09-22", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "limit": { "context": 128000, "output": 32000 } - }, - "deepseek/deepseek-v3.2-exp-thinking": { - "id": "deepseek/deepseek-v3.2-exp-thinking", - "name": "DeepSeek/DeepSeek-V3.2-Exp-Thinking", - "attachment": false, - "reasoning": true, - "tool_call": false, - "structured_output": false, - "temperature": true, - "release_date": "2025-09-29", - "last_updated": "2025-09-29", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "limit": { "context": 128000, "output": 32000 } - }, - "deepseek/deepseek-v3.2-exp": { - "id": "deepseek/deepseek-v3.2-exp", - "name": "DeepSeek/DeepSeek-V3.2-Exp", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": false, - "temperature": true, - "release_date": "2025-09-29", - "last_updated": "2025-09-29", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "limit": { "context": 128000, "output": 32000 } - }, - "deepseek/deepseek-math-v2": { - "id": "deepseek/deepseek-math-v2", - "name": "Deepseek/Deepseek-Math-V2", - "attachment": false, - "reasoning": true, - "tool_call": false, - "structured_output": false, - "temperature": true, - "release_date": "2025-12-04", - "last_updated": "2025-12-04", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "limit": { "context": 160000, "output": 160000 } - }, - "deepseek/deepseek-v3.2-251201": { - "id": "deepseek/deepseek-v3.2-251201", - "name": "Deepseek/DeepSeek-V3.2", - "attachment": false, - "reasoning": true, - "tool_call": true, - "structured_output": false, - "temperature": true, - "release_date": "2025-12-01", - "last_updated": "2025-12-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "limit": { "context": 128000, "output": 32000 } - }, - "z-ai/glm-4.6": { - "id": "z-ai/glm-4.6", - "name": "Z-AI/GLM 4.6", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": false, - "temperature": true, - "release_date": "2025-10-11", - "last_updated": "2025-10-11", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "limit": { "context": 200000, "output": 200000 } - }, - "z-ai/glm-5": { - "id": "z-ai/glm-5", - "name": "Z-Ai/GLM 5", - "attachment": false, - "reasoning": true, - "tool_call": true, - "structured_output": false, - "temperature": true, - "release_date": "2026-02-12", - "last_updated": "2026-02-12", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "limit": { "context": 200000, "output": 128000 } - }, - "z-ai/autoglm-phone-9b": { - "id": "z-ai/autoglm-phone-9b", - "name": "Z-Ai/Autoglm Phone 9b", - "attachment": true, - "reasoning": false, - "tool_call": true, - "structured_output": false, - "temperature": true, - "release_date": "2025-12-23", - "last_updated": "2025-12-23", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "limit": { "context": 12800, "output": 4096 } - }, - "z-ai/glm-4.7": { - "id": "z-ai/glm-4.7", - "name": "Z-Ai/GLM 4.7", - "attachment": false, - "reasoning": true, - "tool_call": true, - "structured_output": false, - "temperature": true, - "release_date": "2025-12-23", - "last_updated": "2025-12-23", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "limit": { "context": 200000, "output": 200000 } - }, - "stepfun-ai/gelab-zero-4b-preview": { - "id": "stepfun-ai/gelab-zero-4b-preview", - "name": "Stepfun-Ai/Gelab Zero 4b Preview", - "attachment": true, - "reasoning": false, - "tool_call": true, - "structured_output": false, - "temperature": true, - "release_date": "2025-12-23", - "last_updated": "2025-12-23", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "limit": { "context": 8192, "output": 4096 } - }, - "minimax/minimax-m2": { - "id": "minimax/minimax-m2", - "name": "Minimax/Minimax-M2", - "attachment": false, - "reasoning": true, - "tool_call": true, - "structured_output": false, - "temperature": true, - "release_date": "2025-10-28", - "last_updated": "2025-10-28", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "limit": { "context": 200000, "output": 128000 } - }, - "minimax/minimax-m2.1": { - "id": "minimax/minimax-m2.1", - "name": "Minimax/Minimax-M2.1", - "attachment": false, - "reasoning": true, - "tool_call": true, - "structured_output": false, - "temperature": true, - "release_date": "2025-12-23", - "last_updated": "2025-12-23", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "limit": { "context": 204800, "output": 128000 } - }, - "minimax/minimax-m2.5": { - "id": "minimax/minimax-m2.5", - "name": "Minimax/Minimax-M2.5", - "attachment": false, - "reasoning": true, - "tool_call": true, - "structured_output": false, - "temperature": true, - "release_date": "2026-02-12", - "last_updated": "2026-02-12", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "limit": { "context": 204800, "output": 128000 } - }, - "minimax/minimax-m2.5-highspeed": { - "id": "minimax/minimax-m2.5-highspeed", - "name": "Minimax/Minimax-M2.5 Highspeed", - "attachment": false, - "reasoning": true, - "tool_call": true, - "structured_output": false, - "temperature": true, - "release_date": "2026-02-14", - "last_updated": "2026-02-14", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "limit": { "context": 204800, "output": 128000 } - }, - "xiaomi/mimo-v2-flash": { - "id": "xiaomi/mimo-v2-flash", - "name": "Xiaomi/Mimo-V2-Flash", - "attachment": false, - "reasoning": true, - "tool_call": false, - "structured_output": false, - "temperature": true, - "release_date": "2025-12-26", - "last_updated": "2025-12-26", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "limit": { "context": 256000, "output": 256000 } - }, - "stepfun/step-3.5-flash": { - "id": "stepfun/step-3.5-flash", - "name": "Stepfun/Step-3.5 Flash", - "attachment": true, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "temperature": true, - "release_date": "2026-02-02", - "last_updated": "2026-02-02", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "limit": { "context": 64000, "output": 4096 } - }, - "moonshotai/kimi-k2-thinking": { - "id": "moonshotai/kimi-k2-thinking", - "name": "Kimi K2 Thinking", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": false, - "temperature": true, - "release_date": "2025-11-07", - "last_updated": "2025-11-07", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "limit": { "context": 256000, "output": 100000 } - }, - "moonshotai/kimi-k2.5": { - "id": "moonshotai/kimi-k2.5", - "name": "Moonshotai/Kimi-K2.5", - "attachment": true, - "reasoning": false, - "tool_call": true, - "structured_output": false, - "temperature": true, - "release_date": "2026-01-28", - "last_updated": "2026-01-28", - "modalities": { "input": ["text", "image", "video"], "output": ["text"] }, - "open_weights": false, - "limit": { "context": 256000, "output": 256000 } - }, - "moonshotai/kimi-k2-0905": { - "id": "moonshotai/kimi-k2-0905", - "name": "Kimi K2 0905", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": false, - "temperature": true, - "release_date": "2025-09-08", - "last_updated": "2025-09-08", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "limit": { "context": 256000, "output": 100000 } - } - } - }, - "morph": { - "id": "morph", - "env": ["MORPH_API_KEY"], - "npm": "@ai-sdk/openai-compatible", - "api": "https://api.morphllm.com/v1", - "name": "Morph", - "doc": "https://docs.morphllm.com/api-reference/introduction", - "models": { - "morph-v3-large": { - "id": "morph-v3-large", - "name": "Morph v3 Large", - "family": "morph", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": false, - "release_date": "2024-08-15", - "last_updated": "2024-08-15", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.9, "output": 1.9 }, - "limit": { "context": 32000, "output": 32000 } - }, - "auto": { - "id": "auto", - "name": "Auto", - "family": "auto", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": false, - "release_date": "2024-06-01", - "last_updated": "2024-06-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.85, "output": 1.55 }, - "limit": { "context": 32000, "output": 32000 } - }, - "morph-v3-fast": { - "id": "morph-v3-fast", - "name": "Morph v3 Fast", - "family": "morph", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": false, - "release_date": "2024-08-15", - "last_updated": "2024-08-15", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.8, "output": 1.2 }, - "limit": { "context": 16000, "output": 16000 } - } - } - }, - "dinference": { - "id": "dinference", - "env": ["DINFERENCE_API_KEY"], - "npm": "@ai-sdk/openai-compatible", - "api": "https://api.dinference.com/v1", - "name": "DInference", - "doc": "https://dinference.com", - "models": { - "gpt-oss-120b": { - "id": "gpt-oss-120b", - "name": "GPT OSS 120B", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "release_date": "2025-08", - "last_updated": "2025-08", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.0675, "output": 0.27 }, - "limit": { "context": 131072, "output": 32768 } - }, - "glm-5": { - "id": "glm-5", - "name": "GLM-5", - "family": "glm", - "attachment": false, - "reasoning": true, - "tool_call": true, - "interleaved": { "field": "reasoning_content" }, - "temperature": true, - "knowledge": "2025-04", - "release_date": "2026-02", - "last_updated": "2026-02", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.75, "output": 2.4 }, - "limit": { "context": 200000, "output": 128000 } - }, - "glm-4.7": { - "id": "glm-4.7", - "name": "GLM-4.7", - "family": "glm", - "attachment": false, - "reasoning": true, - "tool_call": true, - "interleaved": { "field": "reasoning_content" }, - "temperature": true, - "knowledge": "2025-04", - "release_date": "2025-12", - "last_updated": "2025-12", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.45, "output": 1.65 }, - "limit": { "context": 200000, "output": 128000 } - } - } - }, - "meganova": { - "id": "meganova", - "env": ["MEGANOVA_API_KEY"], - "npm": "@ai-sdk/openai-compatible", - "api": "https://api.meganova.ai/v1", - "name": "Meganova", - "doc": "https://docs.meganova.ai", - "models": { - "zai-org/GLM-4.7": { - "id": "zai-org/GLM-4.7", - "name": "GLM-4.7", - "family": "glm", - "attachment": false, - "reasoning": true, - "tool_call": true, - "interleaved": { "field": "reasoning_content" }, - "temperature": true, - "knowledge": "2025-04", - "release_date": "2025-12-22", - "last_updated": "2025-12-22", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.2, "output": 0.8 }, - "limit": { "context": 202752, "output": 131072 } - }, - "zai-org/GLM-5": { - "id": "zai-org/GLM-5", - "name": "GLM-5", - "family": "glm", - "attachment": false, - "reasoning": true, - "tool_call": true, - "interleaved": { "field": "reasoning_content" }, - "temperature": true, - "release_date": "2026-02-11", - "last_updated": "2026-02-11", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.8, "output": 2.56 }, - "limit": { "context": 202752, "output": 131072 } - }, - "zai-org/GLM-4.6": { - "id": "zai-org/GLM-4.6", - "name": "GLM-4.6", - "family": "glm", - "attachment": false, - "reasoning": true, - "tool_call": true, - "interleaved": { "field": "reasoning_content" }, - "temperature": true, - "knowledge": "2025-04", - "release_date": "2025-09-30", - "last_updated": "2025-09-30", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.45, "output": 1.9 }, - "limit": { "context": 202752, "output": 131072 } - }, - "meta-llama/Llama-3.3-70B-Instruct": { - "id": "meta-llama/Llama-3.3-70B-Instruct", - "name": "Llama 3.3 70B Instruct", - "family": "llama", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "release_date": "2024-12-06", - "last_updated": "2024-12-06", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.1, "output": 0.3 }, - "limit": { "context": 131072, "output": 16384 } - }, - "MiniMaxAI/MiniMax-M2.1": { - "id": "MiniMaxAI/MiniMax-M2.1", - "name": "MiniMax M2.1", - "family": "minimax", - "attachment": false, - "reasoning": true, - "tool_call": true, - "interleaved": { "field": "reasoning_content" }, - "temperature": true, - "release_date": "2025-12-23", - "last_updated": "2025-12-23", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.28, "output": 1.2 }, - "limit": { "context": 196608, "output": 131072 } - }, - "MiniMaxAI/MiniMax-M2.5": { - "id": "MiniMaxAI/MiniMax-M2.5", - "name": "MiniMax M2.5", - "family": "minimax", - "attachment": false, - "reasoning": true, - "tool_call": true, - "interleaved": { "field": "reasoning_content" }, - "temperature": true, - "release_date": "2026-02-12", - "last_updated": "2026-02-12", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.3, "output": 1.2 }, - "limit": { "context": 204800, "output": 131072 } - }, - "deepseek-ai/DeepSeek-V3.1": { - "id": "deepseek-ai/DeepSeek-V3.1", - "name": "DeepSeek V3.1", - "family": "deepseek", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-08-25", - "last_updated": "2025-08-25", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.27, "output": 1 }, - "limit": { "context": 164000, "output": 164000 } - }, - "deepseek-ai/DeepSeek-V3.2-Exp": { - "id": "deepseek-ai/DeepSeek-V3.2-Exp", - "name": "DeepSeek V3.2 Exp", - "family": "deepseek", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-10-10", - "last_updated": "2025-10-10", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.27, "output": 0.4 }, - "limit": { "context": 164000, "output": 164000 } - }, - "deepseek-ai/DeepSeek-V3-0324": { - "id": "deepseek-ai/DeepSeek-V3-0324", - "name": "DeepSeek V3 0324", - "family": "deepseek", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "release_date": "2025-03-24", - "last_updated": "2025-03-24", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.25, "output": 0.88 }, - "limit": { "context": 163840, "output": 163840 } - }, - "deepseek-ai/DeepSeek-R1-0528": { - "id": "deepseek-ai/DeepSeek-R1-0528", - "name": "DeepSeek R1 0528", - "family": "deepseek-thinking", - "attachment": false, - "reasoning": true, - "tool_call": false, - "interleaved": { "field": "reasoning_content" }, - "temperature": true, - "knowledge": "2024-07", - "release_date": "2025-05-28", - "last_updated": "2025-05-28", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.5, "output": 2.15 }, - "limit": { "context": 163840, "output": 64000 } - }, - "deepseek-ai/DeepSeek-V3.2": { - "id": "deepseek-ai/DeepSeek-V3.2", - "name": "DeepSeek V3.2", - "family": "deepseek", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-12-03", - "last_updated": "2025-12-03", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.26, "output": 0.38 }, - "limit": { "context": 164000, "output": 164000 } - }, - "Qwen/Qwen3.5-Plus": { - "id": "Qwen/Qwen3.5-Plus", - "name": "Qwen3.5 Plus", - "family": "qwen", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-04", - "release_date": "2026-02", - "last_updated": "2026-02", - "modalities": { "input": ["text", "image", "video"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.4, "output": 2.4, "reasoning": 2.4 }, - "limit": { "context": 1000000, "output": 65536 } - }, - "Qwen/Qwen2.5-VL-32B-Instruct": { - "id": "Qwen/Qwen2.5-VL-32B-Instruct", - "name": "Qwen2.5 VL 32B Instruct", - "family": "qwen", - "attachment": true, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-03-24", - "last_updated": "2025-03-24", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.2, "output": 0.6 }, - "limit": { "context": 16384, "output": 16384 } - }, - "Qwen/Qwen3-235B-A22B-Instruct-2507": { - "id": "Qwen/Qwen3-235B-A22B-Instruct-2507", - "name": "Qwen3 235B A22B Instruct 2507", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-07-23", - "last_updated": "2025-07-23", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.09, "output": 0.6 }, - "limit": { "context": 262000, "output": 262000 } - }, - "moonshotai/Kimi-K2.5": { - "id": "moonshotai/Kimi-K2.5", - "name": "Kimi K2.5", - "family": "kimi", - "attachment": false, - "reasoning": true, - "tool_call": true, - "interleaved": { "field": "reasoning_content" }, - "temperature": true, - "knowledge": "2026-01", - "release_date": "2026-01-27", - "last_updated": "2026-01-27", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.45, "output": 2.8 }, - "limit": { "context": 262144, "output": 262144 } - }, - "moonshotai/Kimi-K2-Thinking": { - "id": "moonshotai/Kimi-K2-Thinking", - "name": "Kimi K2 Thinking", - "family": "kimi-thinking", - "attachment": false, - "reasoning": true, - "tool_call": true, - "interleaved": { "field": "reasoning_content" }, - "temperature": true, - "knowledge": "2024-08", - "release_date": "2025-11-06", - "last_updated": "2025-11-06", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.6, "output": 2.6 }, - "limit": { "context": 262144, "output": 262144 } - }, - "XiaomiMiMo/MiMo-V2-Flash": { - "id": "XiaomiMiMo/MiMo-V2-Flash", - "name": "MiMo V2 Flash", - "family": "mimo", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2024-12-01", - "release_date": "2025-12-17", - "last_updated": "2025-12-17", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.1, "output": 0.3 }, - "limit": { "context": 262144, "output": 32000 } - }, - "mistralai/Mistral-Nemo-Instruct-2407": { - "id": "mistralai/Mistral-Nemo-Instruct-2407", - "name": "Mistral Nemo Instruct 2407", - "family": "mistral", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2024-07-18", - "last_updated": "2024-07-18", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.02, "output": 0.04 }, - "limit": { "context": 131072, "output": 65536 } - }, - "mistralai/Mistral-Small-3.2-24B-Instruct-2506": { - "id": "mistralai/Mistral-Small-3.2-24B-Instruct-2506", - "name": "Mistral Small 3.2 24B Instruct", - "family": "mistral-small", - "attachment": true, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2024-10", - "release_date": "2025-06-20", - "last_updated": "2025-06-20", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 32768, "output": 8192 } - } - } - }, - "zai-coding-plan": { - "id": "zai-coding-plan", - "env": ["ZHIPU_API_KEY"], - "npm": "@ai-sdk/openai-compatible", - "api": "https://api.z.ai/api/coding/paas/v4", - "name": "Z.AI Coding Plan", - "doc": "https://docs.z.ai/devpack/overview", - "models": { - "glm-4.7-flash": { - "id": "glm-4.7-flash", - "name": "GLM-4.7-Flash", - "family": "glm-flash", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-04", - "release_date": "2026-01-19", - "last_updated": "2026-01-19", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0, "cache_read": 0, "cache_write": 0 }, - "limit": { "context": 200000, "output": 131072 } - }, - "glm-5-turbo": { - "id": "glm-5-turbo", - "name": "GLM-5-Turbo", - "family": "glm", - "attachment": false, - "reasoning": true, - "tool_call": true, - "interleaved": { "field": "reasoning_content" }, - "structured_output": true, - "temperature": true, - "release_date": "2026-03-16", - "last_updated": "2026-03-16", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0, "output": 0, "cache_read": 0, "cache_write": 0 }, - "limit": { "context": 200000, "output": 131072 } - }, - "glm-4.5": { - "id": "glm-4.5", - "name": "GLM-4.5", - "family": "glm", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-04", - "release_date": "2025-07-28", - "last_updated": "2025-07-28", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0, "cache_read": 0, "cache_write": 0 }, - "limit": { "context": 131072, "output": 98304 } - }, - "glm-4.7-flashx": { - "id": "glm-4.7-flashx", - "name": "GLM-4.7-FlashX", - "family": "glm-flash", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-04", - "release_date": "2026-01-19", - "last_updated": "2026-01-19", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.07, "output": 0.4, "cache_read": 0.01, "cache_write": 0 }, - "limit": { "context": 200000, "output": 131072 } - }, - "glm-4.6": { - "id": "glm-4.6", - "name": "GLM-4.6", - "family": "glm", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-04", - "release_date": "2025-09-30", - "last_updated": "2025-09-30", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0, "cache_read": 0, "cache_write": 0 }, - "limit": { "context": 204800, "output": 131072 } - }, - "glm-4.6v": { - "id": "glm-4.6v", - "name": "GLM-4.6V", - "family": "glm", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-04", - "release_date": "2025-12-08", - "last_updated": "2025-12-08", - "modalities": { "input": ["text", "image", "video"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 128000, "output": 32768 } - }, - "glm-4.5-flash": { - "id": "glm-4.5-flash", - "name": "GLM-4.5-Flash", - "family": "glm-flash", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-04", - "release_date": "2025-07-28", - "last_updated": "2025-07-28", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0, "cache_read": 0, "cache_write": 0 }, - "limit": { "context": 131072, "output": 98304 } - }, - "glm-5": { - "id": "glm-5", - "name": "GLM-5", - "family": "glm", - "attachment": false, - "reasoning": true, - "tool_call": true, - "interleaved": { "field": "reasoning_content" }, - "temperature": true, - "release_date": "2026-02-11", - "last_updated": "2026-02-11", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0, "cache_read": 0, "cache_write": 0 }, - "limit": { "context": 204800, "output": 131072 } - }, - "glm-4.5-air": { - "id": "glm-4.5-air", - "name": "GLM-4.5-Air", - "family": "glm-air", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-04", - "release_date": "2025-07-28", - "last_updated": "2025-07-28", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0, "cache_read": 0, "cache_write": 0 }, - "limit": { "context": 131072, "output": 98304 } - }, - "glm-4.5v": { - "id": "glm-4.5v", - "name": "GLM-4.5V", - "family": "glm", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-04", - "release_date": "2025-08-11", - "last_updated": "2025-08-11", - "modalities": { "input": ["text", "image", "video"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 64000, "output": 16384 } - }, - "glm-5.1": { - "id": "glm-5.1", - "name": "GLM-5.1", - "family": "glm", - "attachment": false, - "reasoning": true, - "tool_call": true, - "interleaved": { "field": "reasoning_content" }, - "structured_output": true, - "temperature": true, - "release_date": "2026-03-27", - "last_updated": "2026-03-27", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0, "output": 0, "cache_read": 0, "cache_write": 0 }, - "limit": { "context": 200000, "output": 131072 } - }, - "glm-4.7": { - "id": "glm-4.7", - "name": "GLM-4.7", - "family": "glm", - "attachment": false, - "reasoning": true, - "tool_call": true, - "interleaved": { "field": "reasoning_content" }, - "temperature": true, - "knowledge": "2025-04", - "release_date": "2025-12-22", - "last_updated": "2025-12-22", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0, "cache_read": 0, "cache_write": 0 }, - "limit": { "context": 204800, "output": 131072 } - } - } - }, - "anthropic": { - "id": "anthropic", - "env": ["ANTHROPIC_API_KEY"], - "npm": "@ai-sdk/anthropic", - "name": "Anthropic", - "doc": "https://docs.anthropic.com/en/docs/about-claude/models", - "models": { - "claude-opus-4-5-20251101": { - "id": "claude-opus-4-5-20251101", - "name": "Claude Opus 4.5", - "family": "claude-opus", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-03-31", - "release_date": "2025-11-01", - "last_updated": "2025-11-01", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 5, "output": 25, "cache_read": 0.5, "cache_write": 6.25 }, - "limit": { "context": 200000, "output": 64000 } - }, - "claude-opus-4-20250514": { - "id": "claude-opus-4-20250514", - "name": "Claude Opus 4", - "family": "claude-opus", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-03-31", - "release_date": "2025-05-22", - "last_updated": "2025-05-22", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 15, "output": 75, "cache_read": 1.5, "cache_write": 18.75 }, - "limit": { "context": 200000, "output": 32000 } - }, - "claude-opus-4-5": { - "id": "claude-opus-4-5", - "name": "Claude Opus 4.5 (latest)", - "family": "claude-opus", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-03-31", - "release_date": "2025-11-24", - "last_updated": "2025-11-24", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 5, "output": 25, "cache_read": 0.5, "cache_write": 6.25 }, - "limit": { "context": 200000, "output": 64000 } - }, - "claude-3-7-sonnet-20250219": { - "id": "claude-3-7-sonnet-20250219", - "name": "Claude Sonnet 3.7", - "family": "claude-sonnet", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2024-10-31", - "release_date": "2025-02-19", - "last_updated": "2025-02-19", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 3, "output": 15, "cache_read": 0.3, "cache_write": 3.75 }, - "limit": { "context": 200000, "output": 64000 } - }, - "claude-opus-4-6": { - "id": "claude-opus-4-6", - "name": "Claude Opus 4.6", - "family": "claude-opus", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-05", - "release_date": "2026-02-05", - "last_updated": "2026-03-13", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 5, "output": 25, "cache_read": 0.5, "cache_write": 6.25 }, - "limit": { "context": 1000000, "output": 128000 } - }, - "claude-sonnet-4-5-20250929": { - "id": "claude-sonnet-4-5-20250929", - "name": "Claude Sonnet 4.5", - "family": "claude-sonnet", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-07-31", - "release_date": "2025-09-29", - "last_updated": "2025-09-29", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 3, "output": 15, "cache_read": 0.3, "cache_write": 3.75 }, - "limit": { "context": 200000, "output": 64000 } - }, - "claude-sonnet-4-6": { - "id": "claude-sonnet-4-6", - "name": "Claude Sonnet 4.6", - "family": "claude-sonnet", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-08", - "release_date": "2026-02-17", - "last_updated": "2026-03-13", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 3, "output": 15, "cache_read": 0.3, "cache_write": 3.75 }, - "limit": { "context": 1000000, "output": 64000 } - }, - "claude-3-5-haiku-20241022": { - "id": "claude-3-5-haiku-20241022", - "name": "Claude Haiku 3.5", - "family": "claude-haiku", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-07-31", - "release_date": "2024-10-22", - "last_updated": "2024-10-22", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.8, "output": 4, "cache_read": 0.08, "cache_write": 1 }, - "limit": { "context": 200000, "output": 8192 } - }, - "claude-sonnet-4-0": { - "id": "claude-sonnet-4-0", - "name": "Claude Sonnet 4 (latest)", - "family": "claude-sonnet", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-03-31", - "release_date": "2025-05-22", - "last_updated": "2025-05-22", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 3, "output": 15, "cache_read": 0.3, "cache_write": 3.75 }, - "limit": { "context": 200000, "output": 64000 } - }, - "claude-3-haiku-20240307": { - "id": "claude-3-haiku-20240307", - "name": "Claude Haiku 3", - "family": "claude-haiku", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2023-08-31", - "release_date": "2024-03-13", - "last_updated": "2024-03-13", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.25, "output": 1.25, "cache_read": 0.03, "cache_write": 0.3 }, - "limit": { "context": 200000, "output": 4096 } - }, - "claude-sonnet-4-20250514": { - "id": "claude-sonnet-4-20250514", - "name": "Claude Sonnet 4", - "family": "claude-sonnet", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-03-31", - "release_date": "2025-05-22", - "last_updated": "2025-05-22", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 3, "output": 15, "cache_read": 0.3, "cache_write": 3.75 }, - "limit": { "context": 200000, "output": 64000 } - }, - "claude-opus-4-1": { - "id": "claude-opus-4-1", - "name": "Claude Opus 4.1 (latest)", - "family": "claude-opus", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-03-31", - "release_date": "2025-08-05", - "last_updated": "2025-08-05", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 15, "output": 75, "cache_read": 1.5, "cache_write": 18.75 }, - "limit": { "context": 200000, "output": 32000 } - }, - "claude-3-opus-20240229": { - "id": "claude-3-opus-20240229", - "name": "Claude Opus 3", - "family": "claude-opus", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2023-08-31", - "release_date": "2024-02-29", - "last_updated": "2024-02-29", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 15, "output": 75, "cache_read": 1.5, "cache_write": 18.75 }, - "limit": { "context": 200000, "output": 4096 } - }, - "claude-3-5-haiku-latest": { - "id": "claude-3-5-haiku-latest", - "name": "Claude Haiku 3.5 (latest)", - "family": "claude-haiku", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-07-31", - "release_date": "2024-10-22", - "last_updated": "2024-10-22", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.8, "output": 4, "cache_read": 0.08, "cache_write": 1 }, - "limit": { "context": 200000, "output": 8192 } - }, - "claude-3-5-sonnet-20240620": { - "id": "claude-3-5-sonnet-20240620", - "name": "Claude Sonnet 3.5", - "family": "claude-sonnet", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-04-30", - "release_date": "2024-06-20", - "last_updated": "2024-06-20", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 3, "output": 15, "cache_read": 0.3, "cache_write": 3.75 }, - "limit": { "context": 200000, "output": 8192 } - }, - "claude-opus-4-1-20250805": { - "id": "claude-opus-4-1-20250805", - "name": "Claude Opus 4.1", - "family": "claude-opus", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-03-31", - "release_date": "2025-08-05", - "last_updated": "2025-08-05", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 15, "output": 75, "cache_read": 1.5, "cache_write": 18.75 }, - "limit": { "context": 200000, "output": 32000 } - }, - "claude-opus-4-0": { - "id": "claude-opus-4-0", - "name": "Claude Opus 4 (latest)", - "family": "claude-opus", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-03-31", - "release_date": "2025-05-22", - "last_updated": "2025-05-22", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 15, "output": 75, "cache_read": 1.5, "cache_write": 18.75 }, - "limit": { "context": 200000, "output": 32000 } + "input": 1.25, + "output": 10 + } }, "claude-haiku-4-5-20251001": { "id": "claude-haiku-4-5-20251001", @@ -5808,30 +17869,121 @@ "knowledge": "2025-02-28", "release_date": "2025-10-15", "last_updated": "2025-10-15", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, "open_weights": false, - "cost": { "input": 1, "output": 5, "cache_read": 0.1, "cache_write": 1.25 }, - "limit": { "context": 200000, "output": 64000 } + "limit": { + "context": 200000, + "output": 64000 + }, + "cost": { + "input": 1, + "output": 5 + } }, - "claude-sonnet-4-5": { - "id": "claude-sonnet-4-5", - "name": "Claude Sonnet 4.5 (latest)", + "claude-sonnet-4-20250514": { + "id": "claude-sonnet-4-20250514", + "name": "Claude Sonnet 4", "family": "claude-sonnet", "attachment": true, "reasoning": true, "tool_call": true, "temperature": true, - "knowledge": "2025-07-31", - "release_date": "2025-09-29", - "last_updated": "2025-09-29", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, + "release_date": "2025-05-14", + "last_updated": "2025-05-14", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, "open_weights": false, - "cost": { "input": 3, "output": 15, "cache_read": 0.3, "cache_write": 3.75 }, - "limit": { "context": 200000, "output": 64000 } + "limit": { + "context": 200000, + "output": 64000 + }, + "cost": { + "input": 3, + "output": 15 + } }, - "claude-3-7-sonnet-latest": { - "id": "claude-3-7-sonnet-latest", - "name": "Claude Sonnet 3.7 (latest)", + "kimi-k2-turbo-preview": { + "id": "kimi-k2-turbo-preview", + "name": "Kimi K2 Turbo Preview", + "family": "kimi", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "release_date": "2025-07-08", + "last_updated": "2025-07-08", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 256000, + "output": 8192 + }, + "cost": { + "input": 0.15, + "output": 8 + } + }, + "claude-opus-4-6": { + "id": "claude-opus-4-6", + "name": "Claude Opus 4.6", + "family": "claude-opus", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-05-31", + "release_date": "2026-02-05", + "last_updated": "2026-02-05", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 128000 + }, + "cost": { + "input": 5, + "output": 25 + } + }, + "gpt-4.1-nano": { + "id": "gpt-4.1-nano", + "name": "GPT-4.1 Nano", + "family": "gpt", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-04", + "release_date": "2025-04-14", + "last_updated": "2025-04-14", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1047576, + "output": 32768 + }, + "cost": { + "input": 0.1, + "output": 0.4 + } + }, + "claude-3-7-sonnet-20250219": { + "id": "claude-3-7-sonnet-20250219", + "name": "Claude Sonnet 3.7", "family": "claude-sonnet", "attachment": true, "reasoning": true, @@ -5840,909 +17992,219 @@ "knowledge": "2024-10-31", "release_date": "2025-02-19", "last_updated": "2025-02-19", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, "open_weights": false, - "cost": { "input": 3, "output": 15, "cache_read": 0.3, "cache_write": 3.75 }, - "limit": { "context": 200000, "output": 64000 } - }, - "claude-haiku-4-5": { - "id": "claude-haiku-4-5", - "name": "Claude Haiku 4.5 (latest)", - "family": "claude-haiku", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-02-28", - "release_date": "2025-10-15", - "last_updated": "2025-10-15", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1, "output": 5, "cache_read": 0.1, "cache_write": 1.25 }, - "limit": { "context": 200000, "output": 64000 } - }, - "claude-3-sonnet-20240229": { - "id": "claude-3-sonnet-20240229", - "name": "Claude Sonnet 3", - "family": "claude-sonnet", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2023-08-31", - "release_date": "2024-03-04", - "last_updated": "2024-03-04", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 3, "output": 15, "cache_read": 0.3, "cache_write": 0.3 }, - "limit": { "context": 200000, "output": 4096 } - }, - "claude-3-5-sonnet-20241022": { - "id": "claude-3-5-sonnet-20241022", - "name": "Claude Sonnet 3.5 v2", - "family": "claude-sonnet", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-04-30", - "release_date": "2024-10-22", - "last_updated": "2024-10-22", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 3, "output": 15, "cache_read": 0.3, "cache_write": 3.75 }, - "limit": { "context": 200000, "output": 8192 } - } - } - }, - "nova": { - "id": "nova", - "env": ["NOVA_API_KEY"], - "npm": "@ai-sdk/openai-compatible", - "api": "https://api.nova.amazon.com/v1", - "name": "Nova", - "doc": "https://nova.amazon.com/dev/documentation", - "models": { - "nova-2-lite-v1": { - "id": "nova-2-lite-v1", - "name": "Nova 2 Lite", - "family": "nova-lite", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2025-12-01", - "last_updated": "2025-12-01", - "modalities": { "input": ["text", "image", "video", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0, "output": 0, "reasoning": 0 }, - "limit": { "context": 1000000, "output": 64000 } - }, - "nova-2-pro-v1": { - "id": "nova-2-pro-v1", - "name": "Nova 2 Pro", - "family": "nova-pro", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2025-12-03", - "last_updated": "2026-01-03", - "modalities": { "input": ["text", "image", "video", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0, "output": 0, "reasoning": 0 }, - "limit": { "context": 1000000, "output": 64000 } - } - } - }, - "upstage": { - "id": "upstage", - "env": ["UPSTAGE_API_KEY"], - "npm": "@ai-sdk/openai-compatible", - "api": "https://api.upstage.ai/v1/solar", - "name": "Upstage", - "doc": "https://developers.upstage.ai/docs/apis/chat", - "models": { - "solar-pro3": { - "id": "solar-pro3", - "name": "solar-pro3", - "family": "solar-pro", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-03", - "release_date": "2026-01", - "last_updated": "2026-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.25, "output": 0.25 }, - "limit": { "context": 131072, "output": 8192 } - }, - "solar-pro2": { - "id": "solar-pro2", - "name": "solar-pro2", - "family": "solar-pro", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-03", - "release_date": "2025-05-20", - "last_updated": "2025-05-20", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.25, "output": 0.25 }, - "limit": { "context": 65536, "output": 8192 } - }, - "solar-mini": { - "id": "solar-mini", - "name": "solar-mini", - "family": "solar-mini", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-09", - "release_date": "2024-06-12", - "last_updated": "2025-04-22", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.15, "output": 0.15 }, - "limit": { "context": 32768, "output": 4096 } - } - } - }, - "tencent-coding-plan": { - "id": "tencent-coding-plan", - "env": ["TENCENT_CODING_PLAN_API_KEY"], - "npm": "@ai-sdk/openai-compatible", - "api": "https://api.lkeap.cloud.tencent.com/coding/v3", - "name": "Tencent Coding Plan (China)", - "doc": "https://cloud.tencent.com/document/product/1772/128947", - "models": { - "hunyuan-2.0-instruct": { - "id": "hunyuan-2.0-instruct", - "name": "Tencent HY 2.0 Instruct", - "family": "hunyuan", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "release_date": "2026-03-08", - "last_updated": "2026-03-08", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0, "output": 0, "cache_read": 0, "cache_write": 0 }, - "limit": { "context": 131072, "output": 16384 } - }, - "kimi-k2.5": { - "id": "kimi-k2.5", - "name": "Kimi-K2.5", - "family": "kimi", - "attachment": true, - "reasoning": true, - "tool_call": true, - "interleaved": { "field": "reasoning_content" }, - "temperature": true, - "knowledge": "2025-01", - "release_date": "2026-01-27", - "last_updated": "2026-01-27", - "modalities": { "input": ["text", "image", "video"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0, "cache_read": 0, "cache_write": 0 }, - "limit": { "context": 262144, "output": 32768 } - }, - "hunyuan-t1": { - "id": "hunyuan-t1", - "name": "Hunyuan-T1", - "family": "hunyuan", - "attachment": false, - "reasoning": true, - "tool_call": true, - "interleaved": { "field": "reasoning_content" }, - "temperature": true, - "release_date": "2026-03-08", - "last_updated": "2026-03-08", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0, "output": 0, "cache_read": 0, "cache_write": 0 }, - "limit": { "context": 131072, "output": 16384 } - }, - "hunyuan-2.0-thinking": { - "id": "hunyuan-2.0-thinking", - "name": "Tencent HY 2.0 Think", - "family": "hunyuan", - "attachment": false, - "reasoning": true, - "tool_call": true, - "interleaved": { "field": "reasoning_content" }, - "temperature": true, - "release_date": "2026-03-08", - "last_updated": "2026-03-08", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0, "output": 0, "cache_read": 0, "cache_write": 0 }, - "limit": { "context": 131072, "output": 16384 } - }, - "tc-code-latest": { - "id": "tc-code-latest", - "name": "Auto", - "family": "auto", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "release_date": "2026-03-08", - "last_updated": "2026-03-08", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0, "output": 0, "cache_read": 0, "cache_write": 0 }, - "limit": { "context": 131072, "output": 16384 } - }, - "glm-5": { - "id": "glm-5", - "name": "GLM-5", - "family": "glm", - "attachment": false, - "reasoning": true, - "tool_call": true, - "interleaved": { "field": "reasoning_content" }, - "temperature": true, - "release_date": "2026-02-11", - "last_updated": "2026-02-11", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0, "output": 0, "cache_read": 0, "cache_write": 0 }, - "limit": { "context": 202752, "output": 16384 } - }, - "hunyuan-turbos": { - "id": "hunyuan-turbos", - "name": "Hunyuan-TurboS", - "family": "hunyuan", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "release_date": "2026-03-08", - "last_updated": "2026-03-08", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0, "output": 0, "cache_read": 0, "cache_write": 0 }, - "limit": { "context": 131072, "output": 16384 } - }, - "minimax-m2.5": { - "id": "minimax-m2.5", - "name": "MiniMax-M2.5", - "family": "minimax", - "attachment": false, - "reasoning": true, - "tool_call": true, - "interleaved": { "field": "reasoning_content" }, - "temperature": true, - "release_date": "2026-02-12", - "last_updated": "2026-02-12", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0, "cache_read": 0, "cache_write": 0 }, - "limit": { "context": 204800, "output": 32768 } - } - } - }, - "jiekou": { - "id": "jiekou", - "env": ["JIEKOU_API_KEY"], - "npm": "@ai-sdk/openai-compatible", - "api": "https://api.jiekou.ai/openai", - "name": "Jiekou.AI", - "doc": "https://docs.jiekou.ai/docs/support/quickstart?utm_source=github_models.dev", - "models": { - "gpt-5.2-codex": { - "id": "gpt-5.2-codex", - "name": "gpt-5.2-codex", - "family": "gpt-codex", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2026-01", - "last_updated": "2026-01", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.75, "output": 14 }, - "limit": { "context": 400000, "output": 128000 } - }, - "gemini-2.5-flash-lite": { - "id": "gemini-2.5-flash-lite", - "name": "gemini-2.5-flash-lite", - "family": "gemini-flash-lite", - "attachment": true, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2026-01", - "last_updated": "2026-01", - "modalities": { "input": ["text", "image", "video", "audio"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.09, "output": 0.36 }, - "limit": { "context": 1048576, "output": 65535 } - }, - "gpt-5.1-codex-mini": { - "id": "gpt-5.1-codex-mini", - "name": "gpt-5.1-codex-mini", - "family": "gpt-codex", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2026-01", - "last_updated": "2026-01", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.225, "output": 1.8 }, - "limit": { "context": 400000, "output": 128000 } - }, - "claude-opus-4-5-20251101": { - "id": "claude-opus-4-5-20251101", - "name": "claude-opus-4-5-20251101", - "family": "claude-opus", - "attachment": true, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2026-01", - "last_updated": "2026-01", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 4.5, "output": 22.5 }, - "limit": { "context": 200000, "output": 65536 } - }, - "o3-mini": { - "id": "o3-mini", - "name": "o3-mini", - "family": "o", - "attachment": true, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2026-01", - "last_updated": "2026-01", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.1, "output": 4.4 }, - "limit": { "context": 131072, "output": 131072 } - }, - "gpt-5-pro": { - "id": "gpt-5-pro", - "name": "gpt-5-pro", - "family": "gpt-pro", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2026-01", - "last_updated": "2026-01", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 13.5, "output": 108 }, - "limit": { "context": 400000, "output": 272000 } - }, - "gemini-2.5-flash-lite-preview-09-2025": { - "id": "gemini-2.5-flash-lite-preview-09-2025", - "name": "gemini-2.5-flash-lite-preview-09-2025", - "family": "gemini-flash-lite", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2026-01", - "last_updated": "2026-01", - "modalities": { "input": ["text", "image", "video", "audio"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.09, "output": 0.36 }, - "limit": { "context": 1048576, "output": 65536 } - }, - "claude-opus-4-20250514": { - "id": "claude-opus-4-20250514", - "name": "claude-opus-4-20250514", - "family": "claude-opus", - "attachment": true, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2026-01", - "last_updated": "2026-01", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 13.5, "output": 67.5 }, - "limit": { "context": 200000, "output": 32000 } - }, - "gemini-2.5-flash-preview-05-20": { - "id": "gemini-2.5-flash-preview-05-20", - "name": "gemini-2.5-flash-preview-05-20", - "family": "gemini-flash", - "attachment": true, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2026-01", - "last_updated": "2026-01", - "modalities": { "input": ["text", "image", "video", "audio"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.135, "output": 3.15 }, - "limit": { "context": 1048576, "output": 200000 } - }, - "gemini-3-pro-preview": { - "id": "gemini-3-pro-preview", - "name": "gemini-3-pro-preview", - "family": "gemini-pro", - "attachment": true, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2026-01", - "last_updated": "2026-01", - "modalities": { "input": ["text", "image", "video", "audio"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.8, "output": 10.8 }, - "limit": { "context": 1048576, "output": 65536 } - }, - "grok-4-fast-non-reasoning": { - "id": "grok-4-fast-non-reasoning", - "name": "grok-4-fast-non-reasoning", - "family": "grok", - "attachment": true, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2026-01", - "last_updated": "2026-01", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.18, "output": 0.45 }, - "limit": { "context": 2000000, "output": 2000000 } - }, - "grok-code-fast-1": { - "id": "grok-code-fast-1", - "name": "grok-code-fast-1", - "family": "grok", - "attachment": true, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2026-01", - "last_updated": "2026-01", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.18, "output": 1.35 }, - "limit": { "context": 256000, "output": 256000 } - }, - "gpt-5-mini": { - "id": "gpt-5-mini", - "name": "gpt-5-mini", - "family": "gpt-mini", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2026-01", - "last_updated": "2026-01", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.225, "output": 1.8 }, - "limit": { "context": 400000, "output": 128000 } - }, - "claude-opus-4-6": { - "id": "claude-opus-4-6", - "name": "claude-opus-4-6", - "family": "claude-opus", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2026-02", - "last_updated": "2026-02", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 5, "output": 25 }, - "limit": { "context": 1000000, "output": 128000 } - }, - "claude-sonnet-4-5-20250929": { - "id": "claude-sonnet-4-5-20250929", - "name": "claude-sonnet-4-5-20250929", - "family": "claude-sonnet", - "attachment": true, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2026-01", - "last_updated": "2026-01", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2.7, "output": 13.5 }, - "limit": { "context": 200000, "output": 64000 } - }, - "gpt-5.1-codex-max": { - "id": "gpt-5.1-codex-max", - "name": "gpt-5.1-codex-max", - "family": "gpt-codex", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2026-01", - "last_updated": "2026-01", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.125, "output": 9 }, - "limit": { "context": 400000, "output": 128000 } - }, - "gemini-2.5-pro-preview-06-05": { - "id": "gemini-2.5-pro-preview-06-05", - "name": "gemini-2.5-pro-preview-06-05", - "family": "gemini-pro", - "attachment": true, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2026-01", - "last_updated": "2026-01", - "modalities": { "input": ["text", "image", "video", "audio"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.125, "output": 9 }, - "limit": { "context": 1048576, "output": 200000 } + "limit": { + "context": 200000, + "output": 64000 + }, + "cost": { + "input": 3, + "output": 15 + } }, "o3": { "id": "o3", "name": "o3", + "family": "o", "attachment": true, - "reasoning": false, + "reasoning": true, "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2026-01", - "last_updated": "2026-01", - "modalities": { "input": ["text", "image"], "output": ["text"] }, + "temperature": false, + "knowledge": "2024-05", + "release_date": "2025-04-16", + "last_updated": "2025-04-16", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, "open_weights": false, - "cost": { "input": 10, "output": 40 }, - "limit": { "context": 131072, "output": 131072 } + "limit": { + "context": 200000, + "output": 100000 + }, + "cost": { + "input": 2, + "output": 8 + } }, - "grok-4-1-fast-non-reasoning": { - "id": "grok-4-1-fast-non-reasoning", - "name": "grok-4-1-fast-non-reasoning", - "family": "grok", - "attachment": true, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2026-01", - "last_updated": "2026-01", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.18, "output": 0.45 }, - "limit": { "context": 2000000, "output": 2000000 } - }, - "claude-sonnet-4-20250514": { - "id": "claude-sonnet-4-20250514", - "name": "claude-sonnet-4-20250514", - "family": "claude-sonnet", - "attachment": true, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2026-01", - "last_updated": "2026-01", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2.7, "output": 13.5 }, - "limit": { "context": 200000, "output": 64000 } - }, - "grok-4-0709": { - "id": "grok-4-0709", - "name": "grok-4-0709", - "family": "grok", - "attachment": true, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2026-01", - "last_updated": "2026-01", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2.7, "output": 13.5 }, - "limit": { "context": 256000, "output": 8192 } - }, - "gemini-3-flash-preview": { - "id": "gemini-3-flash-preview", - "name": "gemini-3-flash-preview", - "family": "gemini-flash", - "attachment": true, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2026-01", - "last_updated": "2026-01", - "modalities": { "input": ["text", "image", "video", "audio"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.5, "output": 3 }, - "limit": { "context": 1048576, "output": 65536 } - }, - "gemini-2.5-pro": { - "id": "gemini-2.5-pro", - "name": "gemini-2.5-pro", - "family": "gemini-pro", - "attachment": true, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2026-01", - "last_updated": "2026-01", - "modalities": { "input": ["text", "image", "video", "audio"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.125, "output": 9 }, - "limit": { "context": 1048576, "output": 65535 } - }, - "claude-opus-4-1-20250805": { - "id": "claude-opus-4-1-20250805", - "name": "claude-opus-4-1-20250805", - "family": "claude-opus", - "attachment": true, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2026-01", - "last_updated": "2026-01", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 13.5, "output": 67.5 }, - "limit": { "context": 200000, "output": 32000 } - }, - "gemini-2.5-flash": { - "id": "gemini-2.5-flash", - "name": "gemini-2.5-flash", - "family": "gemini-flash", - "attachment": true, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2026-01", - "last_updated": "2026-01", - "modalities": { "input": ["text", "image", "video", "audio"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.27, "output": 2.25 }, - "limit": { "context": 1048576, "output": 65535 } - }, - "gpt-5.2": { - "id": "gpt-5.2", - "name": "gpt-5.2", - "family": "gpt", - "attachment": true, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2026-01", - "last_updated": "2026-01", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.575, "output": 12.6 }, - "limit": { "context": 400000, "output": 128000 } - }, - "grok-4-1-fast-reasoning": { - "id": "grok-4-1-fast-reasoning", - "name": "grok-4-1-fast-reasoning", - "family": "grok", - "attachment": true, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2026-01", - "last_updated": "2026-01", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.18, "output": 0.45 }, - "limit": { "context": 2000000, "output": 2000000 } - }, - "gpt-5.1": { - "id": "gpt-5.1", - "name": "gpt-5.1", + "gpt-5": { + "id": "gpt-5", + "name": "GPT-5", "family": "gpt", "attachment": true, "reasoning": true, "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2026-02", - "last_updated": "2026-02", - "modalities": { "input": ["text", "image"], "output": ["text"] }, + "temperature": false, + "knowledge": "2024-09-30", + "release_date": "2025-08-07", + "last_updated": "2025-08-07", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, "open_weights": false, - "cost": { "input": 1.125, "output": 9 }, - "limit": { "context": 400000, "output": 128000 } + "limit": { + "context": 400000, + "output": 128000 + }, + "cost": { + "input": 1.25, + "output": 10 + } }, - "gpt-5-chat-latest": { - "id": "gpt-5-chat-latest", - "name": "gpt-5-chat-latest", + "claude-opus-4-20250514": { + "id": "claude-opus-4-20250514", + "name": "Claude Opus 4", + "family": "claude-opus", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2025-05-14", + "last_updated": "2025-05-14", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 32000 + }, + "cost": { + "input": 15, + "output": 75 + } + }, + "gpt-4.1": { + "id": "gpt-4.1", + "name": "GPT-4.1", "family": "gpt", "attachment": true, "reasoning": false, "tool_call": true, - "structured_output": true, "temperature": true, - "release_date": "2026-01", - "last_updated": "2026-01", - "modalities": { "input": ["text", "image"], "output": ["text"] }, + "knowledge": "2024-04", + "release_date": "2025-04-14", + "last_updated": "2025-04-14", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, "open_weights": false, - "cost": { "input": 1.125, "output": 9 }, - "limit": { "context": 400000, "output": 128000 } + "limit": { + "context": 1047576, + "output": 32768 + }, + "cost": { + "input": 2, + "output": 8 + } }, - "grok-4-fast-reasoning": { - "id": "grok-4-fast-reasoning", - "name": "grok-4-fast-reasoning", - "family": "grok", + "gpt-4.1-mini": { + "id": "gpt-4.1-mini", + "name": "GPT-4.1 Mini", + "family": "gpt", "attachment": true, "reasoning": false, "tool_call": true, - "structured_output": true, "temperature": true, - "release_date": "2026-01", - "last_updated": "2026-01", - "modalities": { "input": ["text", "image"], "output": ["text"] }, + "knowledge": "2024-04", + "release_date": "2025-04-14", + "last_updated": "2025-04-14", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, "open_weights": false, - "cost": { "input": 0.18, "output": 0.45 }, - "limit": { "context": 2000000, "output": 2000000 } - }, - "gpt-5-nano": { - "id": "gpt-5-nano", - "name": "gpt-5-nano", - "family": "gpt-nano", - "attachment": true, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2026-01", - "last_updated": "2026-01", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.045, "output": 0.36 }, - "limit": { "context": 400000, "output": 128000 } - }, - "gemini-2.5-flash-lite-preview-06-17": { - "id": "gemini-2.5-flash-lite-preview-06-17", - "name": "gemini-2.5-flash-lite-preview-06-17", - "family": "gemini-flash-lite", - "attachment": true, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2026-01", - "last_updated": "2026-01", - "modalities": { "input": ["text", "video", "image", "audio"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.09, "output": 0.36 }, - "limit": { "context": 1048576, "output": 65535 } - }, - "claude-haiku-4-5-20251001": { - "id": "claude-haiku-4-5-20251001", - "name": "claude-haiku-4-5-20251001", - "family": "claude-haiku", - "attachment": true, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2026-01", - "last_updated": "2026-01", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.9, "output": 4.5 }, - "limit": { "context": 20000, "output": 64000 } - }, - "gpt-5-codex": { - "id": "gpt-5-codex", - "name": "gpt-5-codex", - "family": "gpt-codex", - "attachment": true, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2026-01", - "last_updated": "2026-01", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.125, "output": 9 }, - "limit": { "context": 400000, "output": 128000 } - }, - "o4-mini": { - "id": "o4-mini", - "name": "o4-mini", - "family": "o", - "attachment": true, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2026-01", - "last_updated": "2026-01", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.1, "output": 4.4 }, - "limit": { "context": 200000, "output": 100000 } + "limit": { + "context": 1047576, + "output": 32768 + }, + "cost": { + "input": 0.4, + "output": 1.6 + } }, "gpt-5.1-codex": { "id": "gpt-5.1-codex", - "name": "gpt-5.1-codex", - "family": "gpt-codex", + "name": "GPT-5.1 Codex", + "family": "gpt", "attachment": true, "reasoning": true, "tool_call": true, "structured_output": true, - "temperature": true, - "release_date": "2026-01", - "last_updated": "2026-01", - "modalities": { "input": ["text", "image"], "output": ["text"] }, + "temperature": false, + "knowledge": "2024-09-30", + "release_date": "2025-11-13", + "last_updated": "2025-11-13", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, "open_weights": false, - "cost": { "input": 1.125, "output": 9 }, - "limit": { "context": 400000, "output": 128000 } + "limit": { + "context": 400000, + "input": 272000, + "output": 128000 + }, + "cost": { + "input": 1.25, + "output": 10 + } }, - "gpt-5.2-pro": { - "id": "gpt-5.2-pro", - "name": "gpt-5.2-pro", - "family": "gpt-pro", + "gpt-4o-2024-11-20": { + "id": "gpt-4o-2024-11-20", + "name": "GPT-4o (2024-11-20)", + "family": "gpt", "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2026-01", - "last_updated": "2026-01", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 18.9, "output": 151.2 }, - "limit": { "context": 400000, "output": 128000 } - }, - "deepseek/deepseek-v3-0324": { - "id": "deepseek/deepseek-v3-0324", - "name": "DeepSeek V3 0324", - "family": "deepseek", - "attachment": false, "reasoning": false, "tool_call": true, - "structured_output": true, "temperature": true, - "release_date": "2026-01", - "last_updated": "2026-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.28, "output": 1.14 }, - "limit": { "context": 163840, "output": 163840 } + "knowledge": "2024-10", + "release_date": "2024-11-20", + "last_updated": "2024-11-20", + "modalities": { + "input": ["text", "image", "audio"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 16384 + }, + "cost": { + "input": 2.5, + "output": 10 + } + }, + "grok-4-fast-non-reasoning": { + "id": "grok-4-fast-non-reasoning", + "name": "Grok 4 Fast (Non-Reasoning)", + "family": "grok", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "release_date": "2025-07-09", + "last_updated": "2025-07-09", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 2000000, + "output": 16384 + }, + "cost": { + "input": 0.2, + "output": 0.5 + } }, "deepseek/deepseek-v3.1": { "id": "deepseek/deepseek-v3.1", @@ -6751,46 +18213,190 @@ "attachment": false, "reasoning": true, "tool_call": true, - "structured_output": true, "temperature": true, - "release_date": "2026-01", - "last_updated": "2026-01", - "modalities": { "input": ["text"], "output": ["text"] }, + "release_date": "2025-01-20", + "last_updated": "2025-01-20", + "modalities": { + "input": ["text"], + "output": ["text"] + }, "open_weights": true, - "cost": { "input": 0.27, "output": 1 }, - "limit": { "context": 163840, "output": 32768 } + "limit": { + "context": 128000, + "output": 8192 + }, + "cost": { + "input": 0.55, + "output": 1.66 + } }, - "deepseek/deepseek-r1-0528": { - "id": "deepseek/deepseek-r1-0528", - "name": "DeepSeek R1 0528", - "family": "deepseek-thinking", + "Qwen/QwQ-32B": { + "id": "Qwen/QwQ-32B", + "name": "QwQ 32B", + "family": "qwen", "attachment": false, "reasoning": true, "tool_call": true, - "structured_output": true, "temperature": true, - "release_date": "2026-01", - "last_updated": "2026-01", - "modalities": { "input": ["text"], "output": ["text"] }, + "release_date": "2024-11-28", + "last_updated": "2024-11-28", + "modalities": { + "input": ["text"], + "output": ["text"] + }, "open_weights": true, - "cost": { "input": 0.7, "output": 2.5 }, - "limit": { "context": 163840, "output": 32768 } + "limit": { + "context": 32768, + "output": 32768 + }, + "cost": { + "input": 0.4, + "output": 0.4 + } }, - "zai-org/glm-4.7-flash": { - "id": "zai-org/glm-4.7-flash", - "name": "GLM-4.7-Flash", + "Qwen/Qwen3-235B-A22B-Instruct-2507": { + "id": "Qwen/Qwen3-235B-A22B-Instruct-2507", + "name": "Qwen3 235B A22B Instruct", + "family": "qwen", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2025-07-01", + "last_updated": "2025-07-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 8192 + }, + "cost": { + "input": 0.13, + "output": 0.6 + } + }, + "Qwen/Qwen3-32B": { + "id": "Qwen/Qwen3-32B", + "name": "Qwen3 32B", + "family": "qwen", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2025-04-29", + "last_updated": "2025-04-29", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 8192 + }, + "cost": { + "input": 0.09, + "output": 0.29 + } + }, + "Qwen/qwen3-coder-480b-a35b-instruct": { + "id": "Qwen/qwen3-coder-480b-a35b-instruct", + "name": "Qwen3 Coder 480B A35B Instruct", + "family": "qwen", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2025-07-22", + "last_updated": "2025-07-22", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 65536 + }, + "cost": { + "input": 0.29, + "output": 1.2 + } + }, + "Qwen/Qwen2.5-72B-Instruct": { + "id": "Qwen/Qwen2.5-72B-Instruct", + "name": "Qwen 2.5 72B Instruct", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "release_date": "2024-09-19", + "last_updated": "2024-09-19", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 8192 + }, + "cost": { + "input": 0.11, + "output": 0.38 + } + }, + "zai-org/glm-4.7": { + "id": "zai-org/glm-4.7", + "name": "GLM-4.7", + "family": "glm", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "release_date": "2025-06-01", + "last_updated": "2025-06-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 8192 + }, + "cost": { + "input": 0.6, + "output": 2.2 + } + }, + "zai-org/glm-5": { + "id": "zai-org/glm-5", + "name": "GLM-5", "family": "glm", "attachment": false, "reasoning": true, "tool_call": true, - "structured_output": true, "temperature": true, - "release_date": "2026-01", - "last_updated": "2026-01", - "modalities": { "input": ["text"], "output": ["text"] }, + "release_date": "2026-02-11", + "last_updated": "2026-02-11", + "modalities": { + "input": ["text"], + "output": ["text"] + }, "open_weights": true, - "cost": { "input": 0.07, "output": 0.4 }, - "limit": { "context": 200000, "output": 128000 } + "limit": { + "context": 204800, + "output": 131072 + }, + "cost": { + "input": 1, + "output": 3.2 + } }, "zai-org/glm-4.5": { "id": "zai-org/glm-4.5", @@ -6799,318 +18405,3291 @@ "attachment": false, "reasoning": true, "tool_call": true, + "temperature": true, + "release_date": "2025-07-28", + "last_updated": "2025-07-28", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 8192 + }, + "cost": { + "input": 0.6, + "output": 2.2 + } + }, + "zai-org/glm-4.6": { + "id": "zai-org/glm-4.6", + "name": "GLM-4.6", + "family": "glm", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "release_date": "2025-03-01", + "last_updated": "2025-03-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 8192 + }, + "cost": { + "input": 0.6, + "output": 2.2 + } + }, + "meta-llama/Meta-Llama-3.1-405B-Instruct-Turbo": { + "id": "meta-llama/Meta-Llama-3.1-405B-Instruct-Turbo", + "name": "Llama 3.1 405B Instruct Turbo", + "family": "llama", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "release_date": "2024-07-23", + "last_updated": "2024-07-23", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 4096 + }, + "cost": { + "input": 3.5, + "output": 3.5 + } + }, + "meta-llama/Llama-4-Maverick-17B-128E-Instruct-FP8": { + "id": "meta-llama/Llama-4-Maverick-17B-128E-Instruct-FP8", + "name": "Llama 4 Maverick 17B 128E Instruct FP8", + "family": "llama", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-08", + "release_date": "2025-04-05", + "last_updated": "2025-04-05", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 1000000, + "output": 32768 + }, + "cost": { + "input": 0.14, + "output": 0.59 + } + }, + "meta-llama/Meta-Llama-3.1-8B-Instruct": { + "id": "meta-llama/Meta-Llama-3.1-8B-Instruct", + "name": "Llama 3.1 8B Instruct", + "family": "llama", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "release_date": "2024-07-23", + "last_updated": "2024-07-23", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 4096 + }, + "cost": { + "input": 0.02, + "output": 0.05 + } + }, + "deepseek-ai/DeepSeek-R1": { + "id": "deepseek-ai/DeepSeek-R1", + "name": "DeepSeek R1", + "family": "deepseek-thinking", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2025-01-20", + "last_updated": "2025-01-20", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 8192 + }, + "cost": { + "input": 3, + "output": 7 + } + }, + "deepseek-ai/DeepSeek-V3.2": { + "id": "deepseek-ai/DeepSeek-V3.2", + "name": "DeepSeek V3.2", + "family": "deepseek", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2025-06-15", + "last_updated": "2025-06-15", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 8192 + }, + "cost": { + "input": 0.27, + "output": 0.4 + } + }, + "deepseek-ai/DeepSeek-V3.1-Terminus": { + "id": "deepseek-ai/DeepSeek-V3.1-Terminus", + "name": "DeepSeek V3.1 Terminus", + "family": "deepseek", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2025-06-01", + "last_updated": "2025-06-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 8192 + }, + "cost": { + "input": 0.27, + "output": 1 + } + }, + "openai/gpt-oss-120b": { + "id": "openai/gpt-oss-120b", + "name": "GPT-OSS 120B", + "family": "gpt-oss", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2025-08-05", + "last_updated": "2025-08-05", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 32768 + }, + "cost": { + "input": 0.08, + "output": 0.44 + } + } + } + }, + "perplexity-agent": { + "id": "perplexity-agent", + "env": ["PERPLEXITY_API_KEY"], + "npm": "@ai-sdk/openai", + "api": "https://api.perplexity.ai/v1", + "name": "Perplexity Agent", + "doc": "https://docs.perplexity.ai/docs/agent-api/models", + "models": { + "perplexity/sonar": { + "id": "perplexity/sonar", + "name": "Sonar", + "family": "sonar", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-09-01", + "release_date": "2024-01-01", + "last_updated": "2025-09-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 8192 + }, + "cost": { + "input": 0.25, + "output": 2.5, + "cache_read": 0.0625 + } + }, + "xai/grok-4-1-fast-non-reasoning": { + "id": "xai/grok-4-1-fast-non-reasoning", + "name": "Grok 4.1 Fast (Non-Reasoning)", + "family": "grok", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-07", + "release_date": "2025-11-19", + "last_updated": "2025-11-19", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 2000000, + "output": 30000 + }, + "cost": { + "input": 0.2, + "output": 0.5, + "cache_read": 0.05 + } + }, + "nvidia/nemotron-3-super-120b-a12b": { + "id": "nvidia/nemotron-3-super-120b-a12b", + "name": "Nemotron 3 Super 120B", + "family": "nemotron", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2026-02", + "release_date": "2026-03-11", + "last_updated": "2026-03-11", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 1000000, + "output": 32000 + }, + "cost": { + "input": 0.25, + "output": 2.5 + } + }, + "openai/gpt-5.5": { + "id": "openai/gpt-5.5", + "name": "GPT-5.5", + "family": "gpt", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": false, + "knowledge": "2025-12-01", + "release_date": "2026-04-23", + "last_updated": "2026-04-23", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1050000, + "input": 922000, + "output": 128000 + }, + "cost": { + "input": 5, + "output": 30, + "cache_read": 0.5 + } + }, + "openai/gpt-5-mini": { + "id": "openai/gpt-5-mini", + "name": "GPT-5 Mini", + "family": "gpt-mini", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": false, + "knowledge": "2024-05-30", + "release_date": "2025-08-07", + "last_updated": "2025-08-07", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "input": 272000, + "output": 128000 + }, + "cost": { + "input": 0.25, + "output": 2, + "cache_read": 0.025 + } + }, + "openai/gpt-5.2": { + "id": "openai/gpt-5.2", + "name": "GPT-5.2", + "family": "gpt", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": false, + "knowledge": "2025-08-31", + "release_date": "2025-12-11", + "last_updated": "2025-12-11", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "input": 272000, + "output": 128000 + }, + "cost": { + "input": 1.75, + "output": 14, + "cache_read": 0.175 + } + }, + "openai/gpt-5.1": { + "id": "openai/gpt-5.1", + "name": "GPT-5.1", + "family": "gpt", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": false, + "knowledge": "2024-09-30", + "release_date": "2025-11-13", + "last_updated": "2025-11-13", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "input": 272000, + "output": 128000 + }, + "cost": { + "input": 1.25, + "output": 10, + "cache_read": 0.125 + } + }, + "openai/gpt-5.4": { + "id": "openai/gpt-5.4", + "name": "GPT-5.4", + "family": "gpt", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": false, + "knowledge": "2025-08-31", + "release_date": "2026-03-05", + "last_updated": "2026-03-05", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1050000, + "input": 922000, + "output": 128000 + }, + "cost": { + "input": 2.5, + "output": 15, + "cache_read": 0.25 + } + }, + "google/gemini-3.1-pro-preview": { + "id": "google/gemini-3.1-pro-preview", + "name": "Gemini 3.1 Pro Preview", + "family": "gemini-pro", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2026-02-19", + "last_updated": "2026-02-19", + "modalities": { + "input": ["text", "image", "video", "audio", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1048576, + "output": 65536 + }, + "cost": { + "input": 2, + "output": 12, + "cache_read": 0.2, + "tiers": [ + { + "input": 4, + "output": 18, + "cache_read": 0.4, + "tier": { + "type": "context", + "size": 200000 + } + } + ], + "context_over_200k": { + "input": 4, + "output": 18, + "cache_read": 0.4 + } + } + }, + "google/gemini-3-flash-preview": { + "id": "google/gemini-3-flash-preview", + "name": "Gemini 3 Flash Preview", + "family": "gemini-flash", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2025-12-17", + "last_updated": "2025-12-17", + "modalities": { + "input": ["text", "image", "video", "audio", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1048576, + "output": 65536 + }, + "cost": { + "input": 0.5, + "output": 3, + "cache_read": 0.05, + "tiers": [ + { + "input": 0.5, + "output": 3, + "cache_read": 0.05, + "tier": { + "type": "context", + "size": 200000 + } + } + ], + "context_over_200k": { + "input": 0.5, + "output": 3, + "cache_read": 0.05 + } + } + }, + "google/gemini-2.5-pro": { + "id": "google/gemini-2.5-pro", + "name": "Gemini 2.5 Pro", + "family": "gemini-pro", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2025-03-20", + "last_updated": "2025-06-05", + "modalities": { + "input": ["text", "image", "audio", "video", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1048576, + "output": 65536 + }, + "cost": { + "input": 1.25, + "output": 10, + "cache_read": 0.125, + "tiers": [ + { + "input": 2.5, + "output": 15, + "cache_read": 0.25, + "tier": { + "type": "context", + "size": 200000 + } + } + ], + "context_over_200k": { + "input": 2.5, + "output": 15, + "cache_read": 0.25 + } + } + }, + "google/gemini-2.5-flash": { + "id": "google/gemini-2.5-flash", + "name": "Gemini 2.5 Flash", + "family": "gemini-flash", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2025-03-20", + "last_updated": "2025-06-05", + "modalities": { + "input": ["text", "image", "audio", "video", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1048576, + "output": 65536 + }, + "cost": { + "input": 0.3, + "output": 2.5, + "cache_read": 0.03 + } + }, + "anthropic/claude-haiku-4-5": { + "id": "anthropic/claude-haiku-4-5", + "name": "Claude Haiku 4.5", + "family": "claude-haiku", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-02-28", + "release_date": "2025-10-15", + "last_updated": "2025-10-15", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 64000 + }, + "cost": { + "input": 1, + "output": 5, + "cache_read": 0.1 + } + }, + "anthropic/claude-sonnet-4-6": { + "id": "anthropic/claude-sonnet-4-6", + "name": "Claude Sonnet 4.6", + "family": "claude-sonnet", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-08-31", + "release_date": "2026-02-17", + "last_updated": "2026-02-17", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 64000 + }, + "cost": { + "input": 3, + "output": 15, + "cache_read": 0.3 + } + }, + "anthropic/claude-opus-4-7": { + "id": "anthropic/claude-opus-4-7", + "name": "Claude Opus 4.7", + "family": "claude-opus", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": false, + "knowledge": "2026-01-31", + "release_date": "2026-04-16", + "last_updated": "2026-04-16", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000000, + "output": 128000 + }, + "cost": { + "input": 5, + "output": 25, + "cache_read": 0.5 + } + }, + "anthropic/claude-opus-4-5": { + "id": "anthropic/claude-opus-4-5", + "name": "Claude Opus 4.5", + "family": "claude-opus", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-03-31", + "release_date": "2025-11-24", + "last_updated": "2025-11-24", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 64000 + }, + "cost": { + "input": 5, + "output": 25, + "cache_read": 0.5 + } + }, + "anthropic/claude-opus-4-6": { + "id": "anthropic/claude-opus-4-6", + "name": "Claude Opus 4.6", + "family": "claude-opus", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-05-31", + "release_date": "2026-02-05", + "last_updated": "2026-02-05", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 128000 + }, + "cost": { + "input": 5, + "output": 25, + "cache_read": 0.5 + } + }, + "anthropic/claude-sonnet-4-5": { + "id": "anthropic/claude-sonnet-4-5", + "name": "Claude Sonnet 4.5", + "family": "claude-sonnet", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-07-31", + "release_date": "2025-09-29", + "last_updated": "2025-09-29", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 64000 + }, + "cost": { + "input": 3, + "output": 15, + "cache_read": 0.3 + } + } + } + }, + "siliconflow-cn": { + "id": "siliconflow-cn", + "env": ["SILICONFLOW_CN_API_KEY"], + "npm": "@ai-sdk/openai-compatible", + "api": "https://api.siliconflow.cn/v1", + "name": "SiliconFlow (China)", + "doc": "https://cloud.siliconflow.com/models", + "models": { + "Kwaipilot/KAT-Dev": { + "id": "Kwaipilot/KAT-Dev", + "name": "Kwaipilot/KAT-Dev", + "family": "kat-coder", + "attachment": false, + "reasoning": false, + "tool_call": true, "structured_output": true, "temperature": true, - "release_date": "2026-01", - "last_updated": "2026-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.6, "output": 2.2 }, - "limit": { "context": 131072, "output": 98304 } + "release_date": "2025-09-27", + "last_updated": "2026-01-16", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 128000 + }, + "cost": { + "input": 0.2, + "output": 0.6 + } }, - "zai-org/glm-4.5v": { - "id": "zai-org/glm-4.5v", - "name": "GLM 4.5V", - "family": "glmv", + "Qwen/Qwen3.5-397B-A17B": { + "id": "Qwen/Qwen3.5-397B-A17B", + "name": "Qwen/Qwen3.5-397B-A17B", + "family": "qwen", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2026-02-16", + "last_updated": "2026-02-16", + "modalities": { + "input": ["text", "image", "video"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 65536 + }, + "cost": { + "input": 0.29, + "output": 1.74 + } + }, + "Qwen/Qwen3.5-35B-A3B": { + "id": "Qwen/Qwen3.5-35B-A3B", + "name": "Qwen/Qwen3.5-35B-A3B", + "family": "qwen", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2026-02-25", + "last_updated": "2026-02-25", + "modalities": { + "input": ["text", "image", "video"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 65536 + }, + "cost": { + "input": 0.23, + "output": 1.86 + } + }, + "Qwen/Qwen3.5-122B-A10B": { + "id": "Qwen/Qwen3.5-122B-A10B", + "name": "Qwen/Qwen3.5-122B-A10B", + "family": "qwen", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2026-02-26", + "last_updated": "2026-02-26", + "modalities": { + "input": ["text", "image", "video"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 65536 + }, + "cost": { + "input": 0.29, + "output": 2.32 + } + }, + "Qwen/Qwen3.5-9B": { + "id": "Qwen/Qwen3.5-9B", + "name": "Qwen/Qwen3.5-9B", + "family": "qwen", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2026-03-03", + "last_updated": "2026-03-03", + "modalities": { + "input": ["text", "image", "video"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 65536 + }, + "cost": { + "input": 0.22, + "output": 1.74 + } + }, + "Qwen/Qwen3.5-27B": { + "id": "Qwen/Qwen3.5-27B", + "name": "Qwen/Qwen3.5-27B", + "family": "qwen", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2026-02-25", + "last_updated": "2026-02-25", + "modalities": { + "input": ["text", "image", "video"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 65536 + }, + "cost": { + "input": 0.26, + "output": 2.09 + } + }, + "Qwen/Qwen3.5-4B": { + "id": "Qwen/Qwen3.5-4B", + "name": "Qwen/Qwen3.5-4B", + "family": "qwen", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2026-03-03", + "last_updated": "2026-03-03", + "modalities": { + "input": ["text", "image", "video"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 65536 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "Qwen/Qwen3.6-35B-A3B": { + "id": "Qwen/Qwen3.6-35B-A3B", + "name": "Qwen/Qwen3.6-35B-A3B", + "family": "qwen", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2026-04-17", + "last_updated": "2026-04-17", + "modalities": { + "input": ["text", "image", "video"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 65536 + }, + "cost": { + "input": 0.23, + "output": 1.86 + } + }, + "Qwen/Qwen2.5-72B-Instruct": { + "id": "Qwen/Qwen2.5-72B-Instruct", + "name": "Qwen/Qwen2.5-72B-Instruct", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2024-09-18", + "last_updated": "2025-11-25", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 33000, + "output": 4000 + }, + "cost": { + "input": 0.59, + "output": 0.59 + } + }, + "Qwen/Qwen3-Coder-480B-A35B-Instruct": { + "id": "Qwen/Qwen3-Coder-480B-A35B-Instruct", + "name": "Qwen/Qwen3-Coder-480B-A35B-Instruct", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-07-31", + "last_updated": "2025-11-25", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 262000, + "output": 262000 + }, + "cost": { + "input": 0.25, + "output": 1 + } + }, + "Qwen/Qwen3-VL-8B-Instruct": { + "id": "Qwen/Qwen3-VL-8B-Instruct", + "name": "Qwen/Qwen3-VL-8B-Instruct", + "family": "qwen", + "attachment": true, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-10-15", + "last_updated": "2025-11-25", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 262000, + "output": 262000 + }, + "cost": { + "input": 0.18, + "output": 0.68 + } + }, + "Qwen/Qwen3-VL-32B-Instruct": { + "id": "Qwen/Qwen3-VL-32B-Instruct", + "name": "Qwen/Qwen3-VL-32B-Instruct", + "family": "qwen", + "attachment": true, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-10-21", + "last_updated": "2025-11-25", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 262000, + "output": 262000 + }, + "cost": { + "input": 0.2, + "output": 0.6 + } + }, + "Qwen/Qwen3-VL-30B-A3B-Thinking": { + "id": "Qwen/Qwen3-VL-30B-A3B-Thinking", + "name": "Qwen/Qwen3-VL-30B-A3B-Thinking", + "family": "qwen", "attachment": true, "reasoning": true, "tool_call": true, "structured_output": true, "temperature": true, - "release_date": "2026-01", - "last_updated": "2026-01", - "modalities": { "input": ["text", "image", "video"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.6, "output": 1.8 }, - "limit": { "context": 65536, "output": 16384 } + "release_date": "2025-10-11", + "last_updated": "2025-11-25", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 262000, + "output": 262000 + }, + "cost": { + "input": 0.29, + "output": 1 + } }, - "zai-org/glm-4.7": { - "id": "zai-org/glm-4.7", - "name": "GLM-4.7", - "family": "glm", + "Qwen/Qwen2.5-14B-Instruct": { + "id": "Qwen/Qwen2.5-14B-Instruct", + "name": "Qwen/Qwen2.5-14B-Instruct", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2024-09-18", + "last_updated": "2025-11-25", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 33000, + "output": 4000 + }, + "cost": { + "input": 0.1, + "output": 0.1 + } + }, + "Qwen/Qwen3-VL-235B-A22B-Instruct": { + "id": "Qwen/Qwen3-VL-235B-A22B-Instruct", + "name": "Qwen/Qwen3-VL-235B-A22B-Instruct", + "family": "qwen", + "attachment": true, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-10-04", + "last_updated": "2025-11-25", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 262000, + "output": 262000 + }, + "cost": { + "input": 0.3, + "output": 1.5 + } + }, + "Qwen/Qwen3-Next-80B-A3B-Thinking": { + "id": "Qwen/Qwen3-Next-80B-A3B-Thinking", + "name": "Qwen/Qwen3-Next-80B-A3B-Thinking", + "family": "qwen", "attachment": false, "reasoning": true, "tool_call": true, "structured_output": true, "temperature": true, - "release_date": "2026-01", - "last_updated": "2026-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.6, "output": 2.2 }, - "limit": { "context": 204800, "output": 131072 } + "release_date": "2025-09-25", + "last_updated": "2025-11-25", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 262000, + "output": 262000 + }, + "cost": { + "input": 0.14, + "output": 0.57 + } }, - "baidu/ernie-4.5-300b-a47b-paddle": { - "id": "baidu/ernie-4.5-300b-a47b-paddle", - "name": "ERNIE 4.5 300B A47B", + "Qwen/Qwen2.5-VL-32B-Instruct": { + "id": "Qwen/Qwen2.5-VL-32B-Instruct", + "name": "Qwen/Qwen2.5-VL-32B-Instruct", + "family": "qwen", + "attachment": true, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-03-24", + "last_updated": "2025-11-25", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 131000, + "output": 131000 + }, + "cost": { + "input": 0.27, + "output": 0.27 + } + }, + "Qwen/Qwen3-Omni-30B-A3B-Thinking": { + "id": "Qwen/Qwen3-Omni-30B-A3B-Thinking", + "name": "Qwen/Qwen3-Omni-30B-A3B-Thinking", + "family": "qwen", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-10-04", + "last_updated": "2025-11-25", + "modalities": { + "input": ["text", "image", "audio"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 66000, + "output": 66000 + }, + "cost": { + "input": 0.1, + "output": 0.4 + } + }, + "Qwen/Qwen3-235B-A22B-Thinking-2507": { + "id": "Qwen/Qwen3-235B-A22B-Thinking-2507", + "name": "Qwen/Qwen3-235B-A22B-Thinking-2507", + "family": "qwen", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-07-28", + "last_updated": "2025-11-25", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 262000, + "output": 262000 + }, + "cost": { + "input": 0.13, + "output": 0.6 + } + }, + "Qwen/Qwen2.5-32B-Instruct": { + "id": "Qwen/Qwen2.5-32B-Instruct", + "name": "Qwen/Qwen2.5-32B-Instruct", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2024-09-19", + "last_updated": "2025-11-25", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 33000, + "output": 4000 + }, + "cost": { + "input": 0.18, + "output": 0.18 + } + }, + "Qwen/Qwen2.5-72B-Instruct-128K": { + "id": "Qwen/Qwen2.5-72B-Instruct-128K", + "name": "Qwen/Qwen2.5-72B-Instruct-128K", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2024-09-18", + "last_updated": "2025-11-25", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 131000, + "output": 4000 + }, + "cost": { + "input": 0.59, + "output": 0.59 + } + }, + "Qwen/Qwen3-14B": { + "id": "Qwen/Qwen3-14B", + "name": "Qwen/Qwen3-14B", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-04-30", + "last_updated": "2025-11-25", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 131000, + "output": 131000 + }, + "cost": { + "input": 0.07, + "output": 0.28 + } + }, + "Qwen/Qwen3-Omni-30B-A3B-Instruct": { + "id": "Qwen/Qwen3-Omni-30B-A3B-Instruct", + "name": "Qwen/Qwen3-Omni-30B-A3B-Instruct", + "family": "qwen", + "attachment": true, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-10-04", + "last_updated": "2025-11-25", + "modalities": { + "input": ["text", "image", "audio"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 66000, + "output": 66000 + }, + "cost": { + "input": 0.1, + "output": 0.4 + } + }, + "Qwen/Qwen3-Coder-30B-A3B-Instruct": { + "id": "Qwen/Qwen3-Coder-30B-A3B-Instruct", + "name": "Qwen/Qwen3-Coder-30B-A3B-Instruct", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-08-01", + "last_updated": "2025-11-25", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 262000, + "output": 262000 + }, + "cost": { + "input": 0.07, + "output": 0.28 + } + }, + "Qwen/Qwen3-32B": { + "id": "Qwen/Qwen3-32B", + "name": "Qwen/Qwen3-32B", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-04-30", + "last_updated": "2025-11-25", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 131000, + "output": 131000 + }, + "cost": { + "input": 0.14, + "output": 0.57 + } + }, + "Qwen/Qwen3-235B-A22B-Instruct-2507": { + "id": "Qwen/Qwen3-235B-A22B-Instruct-2507", + "name": "Qwen/Qwen3-235B-A22B-Instruct-2507", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-07-23", + "last_updated": "2025-11-25", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 262000, + "output": 262000 + }, + "cost": { + "input": 0.09, + "output": 0.6 + } + }, + "Qwen/Qwen3-30B-A3B-Instruct-2507": { + "id": "Qwen/Qwen3-30B-A3B-Instruct-2507", + "name": "Qwen/Qwen3-30B-A3B-Instruct-2507", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-07-30", + "last_updated": "2025-11-25", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 262000, + "output": 262000 + }, + "cost": { + "input": 0.09, + "output": 0.3 + } + }, + "Qwen/Qwen3-8B": { + "id": "Qwen/Qwen3-8B", + "name": "Qwen/Qwen3-8B", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-04-30", + "last_updated": "2025-11-25", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 131000, + "output": 131000 + }, + "cost": { + "input": 0.06, + "output": 0.06 + } + }, + "Qwen/Qwen3-Next-80B-A3B-Instruct": { + "id": "Qwen/Qwen3-Next-80B-A3B-Instruct", + "name": "Qwen/Qwen3-Next-80B-A3B-Instruct", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-09-18", + "last_updated": "2025-11-25", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 262000, + "output": 262000 + }, + "cost": { + "input": 0.14, + "output": 1.4 + } + }, + "Qwen/Qwen3-VL-8B-Thinking": { + "id": "Qwen/Qwen3-VL-8B-Thinking", + "name": "Qwen/Qwen3-VL-8B-Thinking", + "family": "qwen", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-10-15", + "last_updated": "2025-11-25", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 262000, + "output": 262000 + }, + "cost": { + "input": 0.18, + "output": 2 + } + }, + "Qwen/Qwen3-Omni-30B-A3B-Captioner": { + "id": "Qwen/Qwen3-Omni-30B-A3B-Captioner", + "name": "Qwen/Qwen3-Omni-30B-A3B-Captioner", + "family": "qwen", + "attachment": true, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-10-04", + "last_updated": "2025-11-25", + "modalities": { + "input": ["audio"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 66000, + "output": 66000 + }, + "cost": { + "input": 0.1, + "output": 0.4 + } + }, + "Qwen/QwQ-32B": { + "id": "Qwen/QwQ-32B", + "name": "Qwen/QwQ-32B", + "family": "qwen", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-03-06", + "last_updated": "2025-11-25", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 131000, + "output": 131000 + }, + "cost": { + "input": 0.15, + "output": 0.58 + } + }, + "Qwen/Qwen3-VL-30B-A3B-Instruct": { + "id": "Qwen/Qwen3-VL-30B-A3B-Instruct", + "name": "Qwen/Qwen3-VL-30B-A3B-Instruct", + "family": "qwen", + "attachment": true, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-10-05", + "last_updated": "2025-11-25", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 262000, + "output": 262000 + }, + "cost": { + "input": 0.29, + "output": 1 + } + }, + "Qwen/Qwen2.5-Coder-32B-Instruct": { + "id": "Qwen/Qwen2.5-Coder-32B-Instruct", + "name": "Qwen/Qwen2.5-Coder-32B-Instruct", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2024-11-11", + "last_updated": "2025-11-25", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 33000, + "output": 4000 + }, + "cost": { + "input": 0.18, + "output": 0.18 + } + }, + "Qwen/Qwen2.5-7B-Instruct": { + "id": "Qwen/Qwen2.5-7B-Instruct", + "name": "Qwen/Qwen2.5-7B-Instruct", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2024-09-18", + "last_updated": "2025-11-25", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 33000, + "output": 4000 + }, + "cost": { + "input": 0.05, + "output": 0.05 + } + }, + "Qwen/Qwen3-VL-235B-A22B-Thinking": { + "id": "Qwen/Qwen3-VL-235B-A22B-Thinking", + "name": "Qwen/Qwen3-VL-235B-A22B-Thinking", + "family": "qwen", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-10-04", + "last_updated": "2025-11-25", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 262000, + "output": 262000 + }, + "cost": { + "input": 0.45, + "output": 3.5 + } + }, + "Qwen/Qwen3-30B-A3B-Thinking-2507": { + "id": "Qwen/Qwen3-30B-A3B-Thinking-2507", + "name": "Qwen/Qwen3-30B-A3B-Thinking-2507", + "family": "qwen", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-07-31", + "last_updated": "2025-11-25", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 262000, + "output": 131000 + }, + "cost": { + "input": 0.09, + "output": 0.3 + } + }, + "Qwen/Qwen3-VL-32B-Thinking": { + "id": "Qwen/Qwen3-VL-32B-Thinking", + "name": "Qwen/Qwen3-VL-32B-Thinking", + "family": "qwen", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-10-21", + "last_updated": "2025-11-25", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 262000, + "output": 262000 + }, + "cost": { + "input": 0.2, + "output": 1.5 + } + }, + "Qwen/Qwen2.5-VL-72B-Instruct": { + "id": "Qwen/Qwen2.5-VL-72B-Instruct", + "name": "Qwen/Qwen2.5-VL-72B-Instruct", + "family": "qwen", + "attachment": true, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-01-28", + "last_updated": "2025-11-25", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 131000, + "output": 4000 + }, + "cost": { + "input": 0.59, + "output": 0.59 + } + }, + "stepfun-ai/Step-3.5-Flash": { + "id": "stepfun-ai/Step-3.5-Flash", + "name": "stepfun-ai/Step-3.5-Flash", + "family": "step", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2026-02-11", + "last_updated": "2026-02-11", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 262000, + "output": 262000 + }, + "cost": { + "input": 0.1, + "output": 0.3 + } + }, + "zai-org/GLM-4.5V": { + "id": "zai-org/GLM-4.5V", + "name": "zai-org/GLM-4.5V", + "family": "glm", + "attachment": true, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-08-13", + "last_updated": "2025-11-25", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 66000, + "output": 66000 + }, + "cost": { + "input": 0.14, + "output": 0.86 + } + }, + "zai-org/GLM-4.6": { + "id": "zai-org/GLM-4.6", + "name": "zai-org/GLM-4.6", + "family": "glm", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-10-04", + "last_updated": "2025-11-25", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 205000, + "output": 205000 + }, + "cost": { + "input": 0.5, + "output": 1.9 + } + }, + "zai-org/GLM-4.6V": { + "id": "zai-org/GLM-4.6V", + "name": "zai-org/GLM-4.6V", + "family": "glm", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": false, + "temperature": true, + "release_date": "2025-12-07", + "last_updated": "2025-12-07", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 131000, + "output": 131000 + }, + "cost": { + "input": 0.3, + "output": 0.9 + } + }, + "zai-org/GLM-4.5-Air": { + "id": "zai-org/GLM-4.5-Air", + "name": "zai-org/GLM-4.5-Air", + "family": "glm-air", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-07-28", + "last_updated": "2025-11-25", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 131000, + "output": 131000 + }, + "cost": { + "input": 0.14, + "output": 0.86 + } + }, + "inclusionAI/Ling-flash-2.0": { + "id": "inclusionAI/Ling-flash-2.0", + "name": "inclusionAI/Ling-flash-2.0", + "family": "ling", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-09-18", + "last_updated": "2025-11-25", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 131000, + "output": 131000 + }, + "cost": { + "input": 0.14, + "output": 0.57 + } + }, + "inclusionAI/Ling-mini-2.0": { + "id": "inclusionAI/Ling-mini-2.0", + "name": "inclusionAI/Ling-mini-2.0", + "family": "ling", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-09-10", + "last_updated": "2025-11-25", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 131000, + "output": 131000 + }, + "cost": { + "input": 0.07, + "output": 0.28 + } + }, + "inclusionAI/Ring-flash-2.0": { + "id": "inclusionAI/Ring-flash-2.0", + "name": "inclusionAI/Ring-flash-2.0", + "family": "ring", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-09-29", + "last_updated": "2025-11-25", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 131000, + "output": 131000 + }, + "cost": { + "input": 0.14, + "output": 0.57 + } + }, + "ascend-tribe/pangu-pro-moe": { + "id": "ascend-tribe/pangu-pro-moe", + "name": "ascend-tribe/pangu-pro-moe", + "family": "pangu", + "attachment": false, + "reasoning": true, + "tool_call": false, + "structured_output": true, + "temperature": true, + "release_date": "2025-07-02", + "last_updated": "2026-01-16", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 128000 + }, + "cost": { + "input": 0.2, + "output": 0.6 + } + }, + "tencent/Hunyuan-MT-7B": { + "id": "tencent/Hunyuan-MT-7B", + "name": "tencent/Hunyuan-MT-7B", + "family": "hunyuan", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-09-18", + "last_updated": "2025-11-25", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 33000, + "output": 33000 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "tencent/Hunyuan-A13B-Instruct": { + "id": "tencent/Hunyuan-A13B-Instruct", + "name": "tencent/Hunyuan-A13B-Instruct", + "family": "hunyuan", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-06-30", + "last_updated": "2025-11-25", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 131000, + "output": 131000 + }, + "cost": { + "input": 0.14, + "output": 0.57 + } + }, + "Pro/zai-org/GLM-4.7": { + "id": "Pro/zai-org/GLM-4.7", + "name": "Pro/zai-org/GLM-4.7", + "family": "glm", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "structured_output": true, + "temperature": true, + "release_date": "2025-12-22", + "last_updated": "2025-12-22", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 205000, + "output": 205000 + }, + "cost": { + "input": 0.6, + "output": 2.2 + } + }, + "Pro/zai-org/GLM-5.1": { + "id": "Pro/zai-org/GLM-5.1", + "name": "Pro/zai-org/GLM-5.1", + "family": "glm", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "structured_output": true, + "temperature": true, + "release_date": "2026-04-08", + "last_updated": "2026-04-08", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 205000, + "output": 205000 + }, + "cost": { + "input": 1.4, + "output": 4.4, + "cache_write": 0 + } + }, + "Pro/zai-org/GLM-5": { + "id": "Pro/zai-org/GLM-5", + "name": "Pro/zai-org/GLM-5", + "family": "glm", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "structured_output": true, + "temperature": true, + "release_date": "2026-02-12", + "last_updated": "2026-02-12", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 205000, + "output": 205000 + }, + "cost": { + "input": 1, + "output": 3.2 + } + }, + "Pro/deepseek-ai/DeepSeek-V3": { + "id": "Pro/deepseek-ai/DeepSeek-V3", + "name": "Pro/deepseek-ai/DeepSeek-V3", + "family": "deepseek", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2024-12-26", + "last_updated": "2025-11-25", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 164000, + "output": 164000 + }, + "cost": { + "input": 0.25, + "output": 1 + } + }, + "Pro/deepseek-ai/DeepSeek-R1": { + "id": "Pro/deepseek-ai/DeepSeek-R1", + "name": "Pro/deepseek-ai/DeepSeek-R1", + "family": "deepseek-thinking", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-05-28", + "last_updated": "2025-11-25", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 164000, + "output": 164000 + }, + "cost": { + "input": 0.5, + "output": 2.18 + } + }, + "Pro/deepseek-ai/DeepSeek-V3.2": { + "id": "Pro/deepseek-ai/DeepSeek-V3.2", + "name": "Pro/deepseek-ai/DeepSeek-V3.2", + "family": "deepseek", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-12-03", + "last_updated": "2025-12-03", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 164000, + "output": 164000 + }, + "cost": { + "input": 0.27, + "output": 0.42 + } + }, + "Pro/deepseek-ai/DeepSeek-V3.1-Terminus": { + "id": "Pro/deepseek-ai/DeepSeek-V3.1-Terminus", + "name": "Pro/deepseek-ai/DeepSeek-V3.1-Terminus", + "family": "deepseek", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-09-29", + "last_updated": "2025-11-25", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 164000, + "output": 164000 + }, + "cost": { + "input": 0.27, + "output": 1 + } + }, + "Pro/moonshotai/Kimi-K2-Thinking": { + "id": "Pro/moonshotai/Kimi-K2-Thinking", + "name": "Pro/moonshotai/Kimi-K2-Thinking", + "family": "kimi-thinking", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-11-07", + "last_updated": "2025-11-25", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 262000, + "output": 262000 + }, + "cost": { + "input": 0.55, + "output": 2.5 + } + }, + "Pro/moonshotai/Kimi-K2.6": { + "id": "Pro/moonshotai/Kimi-K2.6", + "name": "Pro/moonshotai/Kimi-K2.6", + "family": "kimi", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "structured_output": true, + "temperature": true, + "release_date": "2026-04-21", + "last_updated": "2026-04-21", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262000, + "output": 262000 + }, + "cost": { + "input": 0.95, + "output": 4, + "cache_read": 0.16 + } + }, + "Pro/moonshotai/Kimi-K2-Instruct-0905": { + "id": "Pro/moonshotai/Kimi-K2-Instruct-0905", + "name": "Pro/moonshotai/Kimi-K2-Instruct-0905", + "family": "kimi", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-09-08", + "last_updated": "2025-11-25", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 262000, + "output": 262000 + }, + "cost": { + "input": 0.4, + "output": 2 + } + }, + "Pro/moonshotai/Kimi-K2.5": { + "id": "Pro/moonshotai/Kimi-K2.5", + "name": "Pro/moonshotai/Kimi-K2.5", + "family": "kimi", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "structured_output": true, + "temperature": true, + "release_date": "2026-01-27", + "last_updated": "2026-01-27", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262000, + "output": 262000 + }, + "cost": { + "input": 0.45, + "output": 2.25 + } + }, + "Pro/MiniMaxAI/MiniMax-M2.5": { + "id": "Pro/MiniMaxAI/MiniMax-M2.5", + "name": "Pro/MiniMaxAI/MiniMax-M2.5", + "family": "minimax", + "attachment": false, + "reasoning": false, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "structured_output": true, + "temperature": true, + "release_date": "2026-02-13", + "last_updated": "2026-02-13", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 192000, + "output": 131000 + }, + "cost": { + "input": 0.3, + "output": 1.22 + } + }, + "Pro/MiniMaxAI/MiniMax-M2.1": { + "id": "Pro/MiniMaxAI/MiniMax-M2.1", + "name": "Pro/MiniMaxAI/MiniMax-M2.1", + "family": "minimax", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-12-23", + "last_updated": "2025-12-23", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 197000, + "output": 131000 + }, + "cost": { + "input": 0.3, + "output": 1.2 + } + }, + "PaddlePaddle/PaddleOCR-VL": { + "id": "PaddlePaddle/PaddleOCR-VL", + "name": "PaddlePaddle/PaddleOCR-VL", + "attachment": true, + "reasoning": false, + "tool_call": false, + "temperature": true, + "release_date": "2025-10-16", + "last_updated": "2025-10-16", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 16384, + "output": 16384 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "PaddlePaddle/PaddleOCR-VL-1.5": { + "id": "PaddlePaddle/PaddleOCR-VL-1.5", + "name": "PaddlePaddle/PaddleOCR-VL-1.5", + "attachment": true, + "reasoning": false, + "tool_call": false, + "temperature": true, + "release_date": "2026-01-29", + "last_updated": "2026-01-29", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 16384, + "output": 16384 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "deepseek-ai/DeepSeek-OCR": { + "id": "deepseek-ai/DeepSeek-OCR", + "name": "deepseek-ai/DeepSeek-OCR", + "attachment": true, + "reasoning": false, + "tool_call": false, + "temperature": true, + "release_date": "2025-10-20", + "last_updated": "2025-10-20", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 8192, + "output": 8192 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "deepseek-ai/DeepSeek-V3.1-Terminus": { + "id": "deepseek-ai/DeepSeek-V3.1-Terminus", + "name": "deepseek-ai/DeepSeek-V3.1-Terminus", + "family": "deepseek", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-09-29", + "last_updated": "2025-11-25", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 164000, + "output": 164000 + }, + "cost": { + "input": 0.27, + "output": 1 + } + }, + "deepseek-ai/DeepSeek-V3.2": { + "id": "deepseek-ai/DeepSeek-V3.2", + "name": "deepseek-ai/DeepSeek-V3.2", + "family": "deepseek", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-12-03", + "last_updated": "2025-12-03", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 164000, + "output": 164000 + }, + "cost": { + "input": 0.27, + "output": 0.42 + } + }, + "deepseek-ai/DeepSeek-R1-Distill-Qwen-14B": { + "id": "deepseek-ai/DeepSeek-R1-Distill-Qwen-14B", + "name": "deepseek-ai/DeepSeek-R1-Distill-Qwen-14B", + "family": "qwen", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-01-20", + "last_updated": "2025-11-25", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 131000, + "output": 131000 + }, + "cost": { + "input": 0.1, + "output": 0.1 + } + }, + "deepseek-ai/DeepSeek-R1": { + "id": "deepseek-ai/DeepSeek-R1", + "name": "deepseek-ai/DeepSeek-R1", + "family": "deepseek-thinking", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-05-28", + "last_updated": "2025-11-25", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 164000, + "output": 164000 + }, + "cost": { + "input": 0.5, + "output": 2.18 + } + }, + "deepseek-ai/DeepSeek-R1-Distill-Qwen-32B": { + "id": "deepseek-ai/DeepSeek-R1-Distill-Qwen-32B", + "name": "deepseek-ai/DeepSeek-R1-Distill-Qwen-32B", + "family": "qwen", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-01-20", + "last_updated": "2025-11-25", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 131000, + "output": 131000 + }, + "cost": { + "input": 0.18, + "output": 0.18 + } + }, + "deepseek-ai/DeepSeek-V3": { + "id": "deepseek-ai/DeepSeek-V3", + "name": "deepseek-ai/DeepSeek-V3", + "family": "deepseek", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2024-12-26", + "last_updated": "2025-11-25", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 164000, + "output": 164000 + }, + "cost": { + "input": 0.25, + "output": 1 + } + }, + "deepseek-ai/deepseek-vl2": { + "id": "deepseek-ai/deepseek-vl2", + "name": "deepseek-ai/deepseek-vl2", + "family": "deepseek", + "attachment": true, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2024-12-13", + "last_updated": "2025-11-25", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 4000, + "output": 4000 + }, + "cost": { + "input": 0.15, + "output": 0.15 + } + }, + "baidu/ERNIE-4.5-300B-A47B": { + "id": "baidu/ERNIE-4.5-300B-A47B", + "name": "baidu/ERNIE-4.5-300B-A47B", "family": "ernie", "attachment": false, "reasoning": false, "tool_call": true, "structured_output": true, "temperature": true, - "release_date": "2026-01", - "last_updated": "2026-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.28, "output": 1.1 }, - "limit": { "context": 123000, "output": 12000 } + "release_date": "2025-07-02", + "last_updated": "2025-11-25", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 131000, + "output": 131000 + }, + "cost": { + "input": 0.28, + "output": 1.1 + } }, - "baidu/ernie-4.5-vl-424b-a47b": { - "id": "baidu/ernie-4.5-vl-424b-a47b", - "name": "ERNIE 4.5 VL 424B A47B", - "family": "ernie", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": false, - "temperature": true, - "release_date": "2026-01", - "last_updated": "2026-01", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.42, "output": 1.25 }, - "limit": { "context": 123000, "output": 16000 } - }, - "minimaxai/minimax-m1-80k": { - "id": "minimaxai/minimax-m1-80k", - "name": "MiniMax M1", - "family": "minimax", - "attachment": false, - "reasoning": true, - "tool_call": true, - "structured_output": false, - "temperature": true, - "release_date": "2026-01", - "last_updated": "2026-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.55, "output": 2.2 }, - "limit": { "context": 1000000, "output": 40000 } - }, - "minimax/minimax-m2.1": { - "id": "minimax/minimax-m2.1", - "name": "Minimax M2.1", - "family": "minimax", + "THUDM/GLM-Z1-32B-0414": { + "id": "THUDM/GLM-Z1-32B-0414", + "name": "THUDM/GLM-Z1-32B-0414", + "family": "glm-z", "attachment": false, "reasoning": true, "tool_call": true, "structured_output": true, "temperature": true, - "release_date": "2026-01", - "last_updated": "2026-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.3, "output": 1.2 }, - "limit": { "context": 204800, "output": 131072 } + "release_date": "2025-04-18", + "last_updated": "2025-11-25", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 131000, + "output": 131000 + }, + "cost": { + "input": 0.14, + "output": 0.57 + } }, - "qwen/qwen3-235b-a22b-instruct-2507": { - "id": "qwen/qwen3-235b-a22b-instruct-2507", + "THUDM/GLM-4-32B-0414": { + "id": "THUDM/GLM-4-32B-0414", + "name": "THUDM/GLM-4-32B-0414", + "family": "glm", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-04-18", + "last_updated": "2025-11-25", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 33000, + "output": 33000 + }, + "cost": { + "input": 0.27, + "output": 0.27 + } + }, + "THUDM/GLM-4-9B-0414": { + "id": "THUDM/GLM-4-9B-0414", + "name": "THUDM/GLM-4-9B-0414", + "family": "glm", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-04-18", + "last_updated": "2025-11-25", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 33000, + "output": 33000 + }, + "cost": { + "input": 0.086, + "output": 0.086 + } + }, + "THUDM/GLM-Z1-9B-0414": { + "id": "THUDM/GLM-Z1-9B-0414", + "name": "THUDM/GLM-Z1-9B-0414", + "family": "glm-z", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-04-18", + "last_updated": "2025-11-25", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 131000, + "output": 131000 + }, + "cost": { + "input": 0.086, + "output": 0.086 + } + }, + "moonshotai/Kimi-K2-Instruct-0905": { + "id": "moonshotai/Kimi-K2-Instruct-0905", + "name": "moonshotai/Kimi-K2-Instruct-0905", + "family": "kimi", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-09-08", + "last_updated": "2025-11-25", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 262000, + "output": 262000 + }, + "cost": { + "input": 0.4, + "output": 2 + } + }, + "moonshotai/Kimi-K2-Thinking": { + "id": "moonshotai/Kimi-K2-Thinking", + "name": "moonshotai/Kimi-K2-Thinking", + "family": "kimi-thinking", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-11-07", + "last_updated": "2025-11-25", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 262000, + "output": 262000 + }, + "cost": { + "input": 0.55, + "output": 2.5 + } + }, + "ByteDance-Seed/Seed-OSS-36B-Instruct": { + "id": "ByteDance-Seed/Seed-OSS-36B-Instruct", + "name": "ByteDance-Seed/Seed-OSS-36B-Instruct", + "family": "seed", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-09-04", + "last_updated": "2025-11-25", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 262000, + "output": 262000 + }, + "cost": { + "input": 0.21, + "output": 0.57 + } + } + } + }, + "submodel": { + "id": "submodel", + "env": ["SUBMODEL_INSTAGEN_ACCESS_KEY"], + "npm": "@ai-sdk/openai-compatible", + "api": "https://llm.submodel.ai/v1", + "name": "submodel", + "doc": "https://submodel.gitbook.io", + "models": { + "Qwen/Qwen3-235B-A22B-Instruct-2507": { + "id": "Qwen/Qwen3-235B-A22B-Instruct-2507", "name": "Qwen3 235B A22B Instruct 2507", "family": "qwen", "attachment": false, "reasoning": false, "tool_call": true, - "structured_output": true, "temperature": true, - "release_date": "2026-01", - "last_updated": "2026-01", - "modalities": { "input": ["text"], "output": ["text"] }, + "release_date": "2025-08-23", + "last_updated": "2025-08-23", + "modalities": { + "input": ["text"], + "output": ["text"] + }, "open_weights": true, - "cost": { "input": 0.15, "output": 0.8 }, - "limit": { "context": 131072, "output": 16384 } + "limit": { + "context": 262144, + "output": 131072 + }, + "cost": { + "input": 0.2, + "output": 0.3 + } }, - "qwen/qwen3-coder-next": { - "id": "qwen/qwen3-coder-next", - "name": "qwen/qwen3-coder-next", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2026-02", - "last_updated": "2026-02", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.2, "output": 1.5 }, - "limit": { "context": 262144, "output": 65536 } - }, - "qwen/qwen3-30b-a3b-fp8": { - "id": "qwen/qwen3-30b-a3b-fp8", - "name": "Qwen3 30B A3B", - "family": "qwen", - "attachment": false, - "reasoning": true, - "tool_call": false, - "structured_output": false, - "temperature": true, - "release_date": "2026-01", - "last_updated": "2026-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.09, "output": 0.45 }, - "limit": { "context": 40960, "output": 20000 } - }, - "qwen/qwen3-235b-a22b-fp8": { - "id": "qwen/qwen3-235b-a22b-fp8", - "name": "Qwen3 235B A22B", - "family": "qwen", - "attachment": false, - "reasoning": true, - "tool_call": false, - "structured_output": false, - "temperature": true, - "release_date": "2026-01", - "last_updated": "2026-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.2, "output": 0.8 }, - "limit": { "context": 40960, "output": 20000 } - }, - "qwen/qwen3-coder-480b-a35b-instruct": { - "id": "qwen/qwen3-coder-480b-a35b-instruct", + "Qwen/Qwen3-Coder-480B-A35B-Instruct-FP8": { + "id": "Qwen/Qwen3-Coder-480B-A35B-Instruct-FP8", "name": "Qwen3 Coder 480B A35B Instruct", "family": "qwen", "attachment": false, "reasoning": false, "tool_call": true, - "structured_output": true, "temperature": true, - "release_date": "2026-01", - "last_updated": "2026-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.29, "output": 1.2 }, - "limit": { "context": 262144, "output": 65536 } + "release_date": "2025-08-23", + "last_updated": "2025-08-23", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 262144, + "output": 262144 + }, + "cost": { + "input": 0.2, + "output": 0.8 + } }, - "qwen/qwen3-next-80b-a3b-thinking": { - "id": "qwen/qwen3-next-80b-a3b-thinking", - "name": "Qwen3 Next 80B A3B Thinking", + "Qwen/Qwen3-235B-A22B-Thinking-2507": { + "id": "Qwen/Qwen3-235B-A22B-Thinking-2507", + "name": "Qwen3 235B A22B Thinking 2507", "family": "qwen", "attachment": false, "reasoning": true, "tool_call": true, - "structured_output": true, "temperature": true, - "release_date": "2026-01", - "last_updated": "2026-01", - "modalities": { "input": ["text"], "output": ["text"] }, + "release_date": "2025-08-23", + "last_updated": "2025-08-23", + "modalities": { + "input": ["text"], + "output": ["text"] + }, "open_weights": true, - "cost": { "input": 0.15, "output": 1.5 }, - "limit": { "context": 65536, "output": 65536 } + "limit": { + "context": 262144, + "output": 131072 + }, + "cost": { + "input": 0.2, + "output": 0.6 + } }, - "qwen/qwen3-235b-a22b-thinking-2507": { - "id": "qwen/qwen3-235b-a22b-thinking-2507", - "name": "Qwen3 235B A22b Thinking 2507", - "family": "qwen", - "attachment": false, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2026-01", - "last_updated": "2026-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.3, "output": 3 }, - "limit": { "context": 131072, "output": 131072 } - }, - "qwen/qwen3-next-80b-a3b-instruct": { - "id": "qwen/qwen3-next-80b-a3b-instruct", - "name": "Qwen3 Next 80B A3B Instruct", - "family": "qwen", + "zai-org/GLM-4.5-Air": { + "id": "zai-org/GLM-4.5-Air", + "name": "GLM 4.5 Air", + "family": "glm-air", "attachment": false, "reasoning": false, "tool_call": true, - "structured_output": true, "temperature": true, - "release_date": "2026-01", - "last_updated": "2026-01", - "modalities": { "input": ["text"], "output": ["text"] }, + "release_date": "2025-07-28", + "last_updated": "2025-07-28", + "modalities": { + "input": ["text"], + "output": ["text"] + }, "open_weights": true, - "cost": { "input": 0.15, "output": 1.5 }, - "limit": { "context": 65536, "output": 65536 } + "limit": { + "context": 131072, + "output": 131072 + }, + "cost": { + "input": 0.1, + "output": 0.5 + } }, - "qwen/qwen3-32b-fp8": { - "id": "qwen/qwen3-32b-fp8", - "name": "Qwen3 32B", - "family": "qwen", + "zai-org/GLM-4.5-FP8": { + "id": "zai-org/GLM-4.5-FP8", + "name": "GLM 4.5 FP8", + "family": "glm", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2025-07-28", + "last_updated": "2025-07-28", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 131072 + }, + "cost": { + "input": 0.2, + "output": 0.8 + } + }, + "deepseek-ai/DeepSeek-V3.1": { + "id": "deepseek-ai/DeepSeek-V3.1", + "name": "DeepSeek V3.1", + "family": "deepseek", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2025-08-23", + "last_updated": "2025-08-23", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 75000, + "output": 163840 + }, + "cost": { + "input": 0.2, + "output": 0.8 + } + }, + "deepseek-ai/DeepSeek-V3-0324": { + "id": "deepseek-ai/DeepSeek-V3-0324", + "name": "DeepSeek V3 0324", + "family": "deepseek", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "release_date": "2025-08-23", + "last_updated": "2025-08-23", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 75000, + "output": 163840 + }, + "cost": { + "input": 0.2, + "output": 0.8 + } + }, + "deepseek-ai/DeepSeek-R1-0528": { + "id": "deepseek-ai/DeepSeek-R1-0528", + "name": "DeepSeek R1 0528", + "family": "deepseek-thinking", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2025-08-23", + "last_updated": "2025-08-23", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 75000, + "output": 163840 + }, + "cost": { + "input": 0.5, + "output": 2.15 + } + }, + "openai/gpt-oss-120b": { + "id": "openai/gpt-oss-120b", + "name": "GPT OSS 120B", + "family": "gpt-oss", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2025-08-23", + "last_updated": "2025-08-23", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 32768 + }, + "cost": { + "input": 0.1, + "output": 0.5 + } + } + } + }, + "minimax-coding-plan": { + "id": "minimax-coding-plan", + "env": ["MINIMAX_API_KEY"], + "npm": "@ai-sdk/anthropic", + "api": "https://api.minimax.io/anthropic/v1", + "name": "MiniMax Coding Plan (minimax.io)", + "doc": "https://platform.minimax.io/docs/coding-plan/intro", + "models": { + "MiniMax-M2": { + "id": "MiniMax-M2", + "name": "MiniMax-M2", + "family": "minimax", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2025-10-27", + "last_updated": "2025-10-27", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 196608, + "output": 128000 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "MiniMax-M2.5": { + "id": "MiniMax-M2.5", + "name": "MiniMax-M2.5", + "family": "minimax", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2026-02-12", + "last_updated": "2026-02-12", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 204800, + "output": 131072 + }, + "cost": { + "input": 0, + "output": 0, + "cache_read": 0, + "cache_write": 0 + } + }, + "MiniMax-M2.7": { + "id": "MiniMax-M2.7", + "name": "MiniMax-M2.7", + "family": "minimax", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2026-03-18", + "last_updated": "2026-03-18", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 204800, + "output": 131072 + }, + "cost": { + "input": 0, + "output": 0, + "cache_read": 0, + "cache_write": 0 + } + }, + "MiniMax-M2.7-highspeed": { + "id": "MiniMax-M2.7-highspeed", + "name": "MiniMax-M2.7-highspeed", + "family": "minimax", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2026-03-18", + "last_updated": "2026-03-18", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 204800, + "output": 131072 + }, + "cost": { + "input": 0, + "output": 0, + "cache_read": 0, + "cache_write": 0 + } + }, + "MiniMax-M2.1": { + "id": "MiniMax-M2.1", + "name": "MiniMax-M2.1", + "family": "minimax", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2025-12-23", + "last_updated": "2025-12-23", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 204800, + "output": 131072 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "MiniMax-M2.5-highspeed": { + "id": "MiniMax-M2.5-highspeed", + "name": "MiniMax-M2.5-highspeed", + "family": "minimax", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2026-02-13", + "last_updated": "2026-02-13", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 204800, + "output": 131072 + }, + "cost": { + "input": 0, + "output": 0, + "cache_read": 0, + "cache_write": 0 + } + } + } + }, + "perplexity": { + "id": "perplexity", + "env": ["PERPLEXITY_API_KEY"], + "npm": "@ai-sdk/perplexity", + "name": "Perplexity", + "doc": "https://docs.perplexity.ai", + "models": { + "sonar-pro": { + "id": "sonar-pro", + "name": "Sonar Pro", + "family": "sonar-pro", + "attachment": true, + "reasoning": false, + "tool_call": false, + "temperature": true, + "knowledge": "2025-09-01", + "release_date": "2024-01-01", + "last_updated": "2025-09-01", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 8192 + }, + "cost": { + "input": 3, + "output": 15 + } + }, + "sonar-deep-research": { + "id": "sonar-deep-research", + "name": "Perplexity Sonar Deep Research", "attachment": false, "reasoning": true, "tool_call": false, - "structured_output": false, - "temperature": true, - "release_date": "2026-01", - "last_updated": "2026-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.1, "output": 0.45 }, - "limit": { "context": 40960, "output": 20000 } + "temperature": false, + "knowledge": "2025-01", + "release_date": "2025-02-01", + "last_updated": "2025-09-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 32768 + }, + "cost": { + "input": 2, + "output": 8, + "reasoning": 3 + } }, - "moonshotai/kimi-k2.5": { - "id": "moonshotai/kimi-k2.5", - "name": "Kimi K2.5", - "family": "kimi", + "sonar": { + "id": "sonar", + "name": "Sonar", + "family": "sonar", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "knowledge": "2025-09-01", + "release_date": "2024-01-01", + "last_updated": "2025-09-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 4096 + }, + "cost": { + "input": 1, + "output": 1 + } + }, + "sonar-reasoning-pro": { + "id": "sonar-reasoning-pro", + "name": "Sonar Reasoning Pro", + "family": "sonar-reasoning", "attachment": true, "reasoning": true, - "tool_call": true, - "structured_output": true, + "tool_call": false, "temperature": true, - "release_date": "2026-01", - "last_updated": "2026-01", - "modalities": { "input": ["text", "image", "video"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.6, "output": 3 }, - "limit": { "context": 262144, "output": 262144 } - }, - "moonshotai/kimi-k2-0905": { - "id": "moonshotai/kimi-k2-0905", - "name": "Kimi K2 0905", - "family": "kimi", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2026-01", - "last_updated": "2026-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.6, "output": 2.5 }, - "limit": { "context": 262144, "output": 262144 } - }, - "moonshotai/kimi-k2-instruct": { - "id": "moonshotai/kimi-k2-instruct", - "name": "Kimi K2 Instruct", - "family": "kimi", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2026-01", - "last_updated": "2026-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.57, "output": 2.3 }, - "limit": { "context": 131072, "output": 131072 } - }, - "xiaomimimo/mimo-v2-flash": { - "id": "xiaomimimo/mimo-v2-flash", - "name": "XiaomiMiMo/MiMo-V2-Flash", - "family": "mimo", - "attachment": false, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2026-01", - "last_updated": "2026-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 262144, "output": 131072 } + "knowledge": "2025-09-01", + "release_date": "2024-01-01", + "last_updated": "2025-09-01", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 4096 + }, + "cost": { + "input": 2, + "output": 8 + } } } }, @@ -7133,10 +21712,20 @@ "knowledge": "2025-09", "release_date": "2025-12-01", "last_updated": "2026-02-28", - "modalities": { "input": ["text"], "output": ["text"] }, + "modalities": { + "input": ["text"], + "output": ["text"] + }, "open_weights": true, - "cost": { "input": 0.28, "output": 0.42, "cache_read": 0.028 }, - "limit": { "context": 128000, "output": 8192 } + "limit": { + "context": 1000000, + "output": 384000 + }, + "cost": { + "input": 0.14, + "output": 0.28, + "cache_read": 0.028 + } }, "deepseek-reasoner": { "id": "deepseek-reasoner", @@ -7145,15 +21734,87 @@ "attachment": true, "reasoning": true, "tool_call": true, - "interleaved": { "field": "reasoning_content" }, + "interleaved": { + "field": "reasoning_content" + }, "temperature": true, "knowledge": "2025-09", "release_date": "2025-12-01", "last_updated": "2026-02-28", - "modalities": { "input": ["text"], "output": ["text"] }, + "modalities": { + "input": ["text"], + "output": ["text"] + }, "open_weights": true, - "cost": { "input": 0.28, "output": 0.42, "cache_read": 0.028 }, - "limit": { "context": 128000, "output": 64000 } + "limit": { + "context": 1000000, + "output": 384000 + }, + "cost": { + "input": 0.14, + "output": 0.28, + "cache_read": 0.028 + } + }, + "deepseek-v4-flash": { + "id": "deepseek-v4-flash", + "name": "DeepSeek V4 Flash", + "family": "deepseek-flash", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "structured_output": true, + "temperature": true, + "knowledge": "2025-05", + "release_date": "2026-04-24", + "last_updated": "2026-04-24", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 1000000, + "output": 384000 + }, + "cost": { + "input": 0.14, + "output": 0.28, + "cache_read": 0.028 + } + }, + "deepseek-v4-pro": { + "id": "deepseek-v4-pro", + "name": "DeepSeek V4 Pro", + "family": "deepseek-thinking", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "structured_output": true, + "temperature": true, + "knowledge": "2025-05", + "release_date": "2026-04-24", + "last_updated": "2026-04-24", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 1000000, + "output": 384000 + }, + "cost": { + "input": 1.74, + "output": 3.48, + "cache_read": 0.145 + } } } }, @@ -7165,22 +21826,6 @@ "name": "Llama", "doc": "https://llama.developer.meta.com/docs/models", "models": { - "cerebras-llama-4-scout-17b-16e-instruct": { - "id": "cerebras-llama-4-scout-17b-16e-instruct", - "name": "Cerebras-Llama-4-Scout-17B-16E-Instruct", - "family": "llama", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2025-01", - "release_date": "2025-04-05", - "last_updated": "2025-04-05", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 128000, "output": 4096 } - }, "llama-3.3-70b-instruct": { "id": "llama-3.3-70b-instruct", "name": "Llama-3.3-70B-Instruct", @@ -7192,10 +21837,19 @@ "knowledge": "2023-12", "release_date": "2024-12-06", "last_updated": "2024-12-06", - "modalities": { "input": ["text"], "output": ["text"] }, + "modalities": { + "input": ["text"], + "output": ["text"] + }, "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 128000, "output": 4096 } + "limit": { + "context": 128000, + "output": 4096 + }, + "cost": { + "input": 0, + "output": 0 + } }, "cerebras-llama-4-maverick-17b-128e-instruct": { "id": "cerebras-llama-4-maverick-17b-128e-instruct", @@ -7208,42 +21862,19 @@ "knowledge": "2025-01", "release_date": "2025-04-05", "last_updated": "2025-04-05", - "modalities": { "input": ["text"], "output": ["text"] }, + "modalities": { + "input": ["text"], + "output": ["text"] + }, "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 128000, "output": 4096 } - }, - "groq-llama-4-maverick-17b-128e-instruct": { - "id": "groq-llama-4-maverick-17b-128e-instruct", - "name": "Groq-Llama-4-Maverick-17B-128E-Instruct", - "family": "llama", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2025-01", - "release_date": "2025-04-05", - "last_updated": "2025-04-05", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 128000, "output": 4096 } - }, - "llama-4-scout-17b-16e-instruct-fp8": { - "id": "llama-4-scout-17b-16e-instruct-fp8", - "name": "Llama-4-Scout-17B-16E-Instruct-FP8", - "family": "llama", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-08", - "release_date": "2025-04-05", - "last_updated": "2025-04-05", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 128000, "output": 4096 } + "limit": { + "context": 128000, + "output": 4096 + }, + "cost": { + "input": 0, + "output": 0 + } }, "llama-3.3-8b-instruct": { "id": "llama-3.3-8b-instruct", @@ -7256,10 +21887,94 @@ "knowledge": "2023-12", "release_date": "2024-12-06", "last_updated": "2024-12-06", - "modalities": { "input": ["text"], "output": ["text"] }, + "modalities": { + "input": ["text"], + "output": ["text"] + }, "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 128000, "output": 4096 } + "limit": { + "context": 128000, + "output": 4096 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "cerebras-llama-4-scout-17b-16e-instruct": { + "id": "cerebras-llama-4-scout-17b-16e-instruct", + "name": "Cerebras-Llama-4-Scout-17B-16E-Instruct", + "family": "llama", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2025-04-05", + "last_updated": "2025-04-05", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 4096 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "groq-llama-4-maverick-17b-128e-instruct": { + "id": "groq-llama-4-maverick-17b-128e-instruct", + "name": "Groq-Llama-4-Maverick-17B-128E-Instruct", + "family": "llama", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2025-04-05", + "last_updated": "2025-04-05", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 4096 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "llama-4-scout-17b-16e-instruct-fp8": { + "id": "llama-4-scout-17b-16e-instruct-fp8", + "name": "Llama-4-Scout-17B-16E-Instruct-FP8", + "family": "llama", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-08", + "release_date": "2025-04-05", + "last_updated": "2025-04-05", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 4096 + }, + "cost": { + "input": 0, + "output": 0 + } }, "llama-4-maverick-17b-128e-instruct-fp8": { "id": "llama-4-maverick-17b-128e-instruct-fp8", @@ -7272,404 +21987,1120 @@ "knowledge": "2024-08", "release_date": "2025-04-05", "last_updated": "2025-04-05", - "modalities": { "input": ["text", "image"], "output": ["text"] }, + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 128000, "output": 4096 } + "limit": { + "context": 128000, + "output": 4096 + }, + "cost": { + "input": 0, + "output": 0 + } } } }, - "azure-cognitive-services": { - "id": "azure-cognitive-services", - "env": ["AZURE_COGNITIVE_SERVICES_RESOURCE_NAME", "AZURE_COGNITIVE_SERVICES_API_KEY"], - "npm": "@ai-sdk/azure", - "name": "Azure Cognitive Services", - "doc": "https://learn.microsoft.com/en-us/azure/ai-services/openai/concepts/models", + "openrouter": { + "id": "openrouter", + "env": ["OPENROUTER_API_KEY"], + "npm": "@openrouter/ai-sdk-provider", + "api": "https://openrouter.ai/api/v1", + "name": "OpenRouter", + "doc": "https://openrouter.ai/models", "models": { - "gpt-5.4-mini": { - "id": "gpt-5.4-mini", - "name": "GPT-5.4 Mini", - "family": "gpt-mini", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": false, - "knowledge": "2025-08-31", - "release_date": "2026-03-17", - "last_updated": "2026-03-17", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.75, "output": 4.5, "cache_read": 0.075 }, - "limit": { "context": 400000, "input": 272000, "output": 128000 } - }, - "claude-opus-4-5": { - "id": "claude-opus-4-5", - "name": "Claude Opus 4.5", - "family": "claude-opus", - "attachment": true, - "reasoning": true, - "tool_call": true, + "liquid/lfm-2.5-1.2b-instruct:free": { + "id": "liquid/lfm-2.5-1.2b-instruct:free", + "name": "LFM2.5-1.2B-Instruct (free)", + "family": "liquid", + "attachment": false, + "reasoning": false, + "tool_call": false, "temperature": true, - "knowledge": "2025-03-31", - "release_date": "2025-11-24", - "last_updated": "2025-08-01", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 5, "output": 25, "cache_read": 0.5, "cache_write": 6.25 }, - "limit": { "context": 200000, "output": 64000 }, - "provider": { - "npm": "@ai-sdk/anthropic", - "api": "https://${AZURE_COGNITIVE_SERVICES_RESOURCE_NAME}.services.ai.azure.com/anthropic/v1" - } - }, - "claude-opus-4-6": { - "id": "claude-opus-4-6", - "name": "Claude Opus 4.6", - "family": "claude-opus", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-05", - "release_date": "2026-02-05", - "last_updated": "2026-02-05", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { - "input": 5, - "output": 25, - "cache_read": 0.5, - "cache_write": 6.25, - "context_over_200k": { "input": 10, "output": 37.5, "cache_read": 1, "cache_write": 12.5 } + "knowledge": "2025-06", + "release_date": "2026-01-20", + "last_updated": "2026-01-28", + "modalities": { + "input": ["text"], + "output": ["text"] }, - "limit": { "context": 200000, "output": 128000 }, - "provider": { - "npm": "@ai-sdk/anthropic", - "api": "https://${AZURE_COGNITIVE_SERVICES_RESOURCE_NAME}.services.ai.azure.com/anthropic/v1" + "open_weights": true, + "limit": { + "context": 131072, + "output": 32768 + }, + "cost": { + "input": 0, + "output": 0 } }, - "claude-opus-4-1": { - "id": "claude-opus-4-1", - "name": "Claude Opus 4.1", - "family": "claude-opus", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2025-03-31", - "release_date": "2025-11-18", - "last_updated": "2025-11-18", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 15, "output": 75, "cache_read": 1.5, "cache_write": 18.75 }, - "limit": { "context": 200000, "output": 32000 }, - "provider": { - "npm": "@ai-sdk/anthropic", - "api": "https://${AZURE_COGNITIVE_SERVICES_RESOURCE_NAME}.services.ai.azure.com/anthropic/v1" - } - }, - "gpt-5.4-nano": { - "id": "gpt-5.4-nano", - "name": "GPT-5.4 Nano", - "family": "gpt-nano", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": false, - "knowledge": "2025-08-31", - "release_date": "2026-03-17", - "last_updated": "2026-03-17", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.2, "output": 1.25, "cache_read": 0.02 }, - "limit": { "context": 400000, "input": 272000, "output": 128000 } - }, - "claude-sonnet-4-5": { - "id": "claude-sonnet-4-5", - "name": "Claude Sonnet 4.5", - "family": "claude-sonnet", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2025-07-31", - "release_date": "2025-11-18", - "last_updated": "2025-11-18", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 3, "output": 15, "cache_read": 0.3, "cache_write": 3.75 }, - "limit": { "context": 200000, "output": 64000 }, - "provider": { - "npm": "@ai-sdk/anthropic", - "api": "https://${AZURE_COGNITIVE_SERVICES_RESOURCE_NAME}.services.ai.azure.com/anthropic/v1" - } - }, - "claude-haiku-4-5": { - "id": "claude-haiku-4-5", - "name": "Claude Haiku 4.5", - "family": "claude-haiku", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2025-02-31", - "release_date": "2025-11-18", - "last_updated": "2025-11-18", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1, "output": 5, "cache_read": 0.1, "cache_write": 1.25 }, - "limit": { "context": 200000, "output": 64000 }, - "provider": { - "npm": "@ai-sdk/anthropic", - "api": "https://${AZURE_COGNITIVE_SERVICES_RESOURCE_NAME}.services.ai.azure.com/anthropic/v1" - } - }, - "o1-mini": { - "id": "o1-mini", - "name": "o1-mini", - "family": "o-mini", + "liquid/lfm-2.5-1.2b-thinking:free": { + "id": "liquid/lfm-2.5-1.2b-thinking:free", + "name": "LFM2.5-1.2B-Thinking (free)", + "family": "liquid", "attachment": false, "reasoning": true, - "tool_call": true, - "temperature": false, - "knowledge": "2023-09", - "release_date": "2024-09-12", - "last_updated": "2024-09-12", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.1, "output": 4.4, "cache_read": 0.55 }, - "limit": { "context": 128000, "output": 65536 } - }, - "gpt-5.1-codex": { - "id": "gpt-5.1-codex", - "name": "GPT-5.1 Codex", - "family": "gpt-codex", - "attachment": false, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": false, - "knowledge": "2024-09-30", - "release_date": "2025-11-14", - "last_updated": "2025-11-14", - "modalities": { "input": ["text", "image", "audio"], "output": ["text", "image", "audio"] }, - "open_weights": false, - "cost": { "input": 1.25, "output": 10, "cache_read": 0.125 }, - "limit": { "context": 400000, "output": 128000 } - }, - "o4-mini": { - "id": "o4-mini", - "name": "o4-mini", - "family": "o-mini", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": false, - "knowledge": "2024-05", - "release_date": "2025-04-16", - "last_updated": "2025-04-16", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.1, "output": 4.4, "cache_read": 0.28 }, - "limit": { "context": 200000, "output": 100000 } - }, - "gpt-5-codex": { - "id": "gpt-5-codex", - "name": "GPT-5-Codex", - "family": "gpt-codex", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": false, - "knowledge": "2024-09-30", - "release_date": "2025-09-15", - "last_updated": "2025-09-15", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.25, "output": 10, "cache_read": 0.13 }, - "limit": { "context": 400000, "output": 128000 } - }, - "text-embedding-3-small": { - "id": "text-embedding-3-small", - "name": "text-embedding-3-small", - "family": "text-embedding", - "attachment": false, - "reasoning": false, - "tool_call": false, - "release_date": "2024-01-25", - "last_updated": "2024-01-25", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.02, "output": 0 }, - "limit": { "context": 8191, "output": 1536 } - }, - "gpt-3.5-turbo-0125": { - "id": "gpt-3.5-turbo-0125", - "name": "GPT-3.5 Turbo 0125", - "family": "gpt", - "attachment": false, - "reasoning": false, "tool_call": false, "temperature": true, - "knowledge": "2021-08", - "release_date": "2024-01-25", - "last_updated": "2024-01-25", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.5, "output": 1.5 }, - "limit": { "context": 16384, "output": 16384 } + "knowledge": "2025-06", + "release_date": "2026-01-20", + "last_updated": "2026-01-28", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 32768 + }, + "cost": { + "input": 0, + "output": 0 + } }, - "deepseek-v3.2": { - "id": "deepseek-v3.2", - "name": "DeepSeek-V3.2", + "deepseek/deepseek-chat-v3.1": { + "id": "deepseek/deepseek-chat-v3.1", + "name": "DeepSeek-V3.1", "family": "deepseek", "attachment": false, "reasoning": true, "tool_call": true, + "structured_output": true, "temperature": true, - "knowledge": "2024-07", - "release_date": "2025-12-01", - "last_updated": "2025-12-01", - "modalities": { "input": ["text"], "output": ["text"] }, + "knowledge": "2025-07", + "release_date": "2025-08-21", + "last_updated": "2025-08-21", + "modalities": { + "input": ["text"], + "output": ["text"] + }, "open_weights": true, - "cost": { "input": 0.58, "output": 1.68 }, - "limit": { "context": 128000, "output": 128000 } + "limit": { + "context": 163840, + "output": 163840 + }, + "cost": { + "input": 0.2, + "output": 0.8 + } }, - "o1-preview": { - "id": "o1-preview", - "name": "o1-preview", - "family": "o", + "deepseek/deepseek-r1-distill-llama-70b": { + "id": "deepseek/deepseek-r1-distill-llama-70b", + "name": "DeepSeek R1 Distill Llama 70B", + "family": "deepseek-thinking", "attachment": false, "reasoning": true, - "tool_call": true, - "temperature": false, - "knowledge": "2023-09", - "release_date": "2024-09-12", - "last_updated": "2024-09-12", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 16.5, "output": 66, "cache_read": 8.25 }, - "limit": { "context": 128000, "output": 32768 } - }, - "gpt-4.1-nano": { - "id": "gpt-4.1-nano", - "name": "GPT-4.1 nano", - "family": "gpt-nano", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-05", - "release_date": "2025-04-14", - "last_updated": "2025-04-14", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.1, "output": 0.4, "cache_read": 0.03 }, - "limit": { "context": 1047576, "output": 32768 } - }, - "meta-llama-3.1-70b-instruct": { - "id": "meta-llama-3.1-70b-instruct", - "name": "Meta-Llama-3.1-70B-Instruct", - "family": "llama", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2023-12", - "release_date": "2024-07-23", - "last_updated": "2024-07-23", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 2.68, "output": 3.54 }, - "limit": { "context": 128000, "output": 32768 } - }, - "phi-3-small-128k-instruct": { - "id": "phi-3-small-128k-instruct", - "name": "Phi-3-small-instruct (128k)", - "family": "phi", - "attachment": false, - "reasoning": false, "tool_call": false, + "structured_output": true, "temperature": true, - "knowledge": "2023-10", - "release_date": "2024-04-23", - "last_updated": "2024-04-23", - "modalities": { "input": ["text"], "output": ["text"] }, + "knowledge": "2024-10", + "release_date": "2025-01-23", + "last_updated": "2025-01-23", + "modalities": { + "input": ["text"], + "output": ["text"] + }, "open_weights": true, - "cost": { "input": 0.15, "output": 0.6 }, - "limit": { "context": 128000, "output": 4096 } + "limit": { + "context": 8192, + "output": 8192 + }, + "cost": { + "input": 0, + "output": 0 + } }, - "deepseek-r1-0528": { - "id": "deepseek-r1-0528", - "name": "DeepSeek-R1-0528", + "deepseek/deepseek-r1": { + "id": "deepseek/deepseek-r1", + "name": "DeepSeek: R1", "family": "deepseek-thinking", "attachment": false, "reasoning": true, "tool_call": true, + "structured_output": false, "temperature": true, "knowledge": "2024-07", - "release_date": "2025-05-28", - "last_updated": "2025-05-28", - "modalities": { "input": ["text"], "output": ["text"] }, + "release_date": "2025-01-20", + "last_updated": "2025-01-20", + "modalities": { + "input": ["text"], + "output": ["text"] + }, "open_weights": true, - "cost": { "input": 1.35, "output": 5.4 }, - "limit": { "context": 163840, "output": 163840 } + "limit": { + "context": 64000, + "output": 16000 + }, + "cost": { + "input": 0.7, + "output": 2.5 + } }, - "llama-4-maverick-17b-128e-instruct-fp8": { - "id": "llama-4-maverick-17b-128e-instruct-fp8", - "name": "Llama 4 Maverick 17B 128E Instruct FP8", - "family": "llama", - "attachment": true, - "reasoning": false, + "deepseek/deepseek-v3.2-speciale": { + "id": "deepseek/deepseek-v3.2-speciale", + "name": "DeepSeek V3.2 Speciale", + "family": "deepseek", + "attachment": false, + "reasoning": true, "tool_call": true, + "structured_output": true, "temperature": true, - "knowledge": "2024-08", - "release_date": "2025-04-05", - "last_updated": "2025-04-05", - "modalities": { "input": ["text", "image"], "output": ["text"] }, + "knowledge": "2024-07", + "release_date": "2025-12-01", + "last_updated": "2025-12-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, "open_weights": true, - "cost": { "input": 0.25, "output": 1 }, - "limit": { "context": 128000, "output": 8192 } + "limit": { + "context": 163840, + "output": 65536 + }, + "cost": { + "input": 0.27, + "output": 0.41 + } }, - "cohere-embed-v-4-0": { - "id": "cohere-embed-v-4-0", - "name": "Embed v4", - "family": "cohere-embed", - "attachment": true, + "deepseek/deepseek-v3.2": { + "id": "deepseek/deepseek-v3.2", + "name": "DeepSeek V3.2", + "family": "deepseek", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2024-07", + "release_date": "2025-12-01", + "last_updated": "2025-12-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 163840, + "output": 65536 + }, + "cost": { + "input": 0.28, + "output": 0.4 + } + }, + "deepseek/deepseek-v3.1-terminus:exacto": { + "id": "deepseek/deepseek-v3.1-terminus:exacto", + "name": "DeepSeek V3.1 Terminus (exacto)", + "family": "deepseek", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2025-07", + "release_date": "2025-09-22", + "last_updated": "2025-09-22", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 65536 + }, + "cost": { + "input": 0.27, + "output": 1 + } + }, + "deepseek/deepseek-chat-v3-0324": { + "id": "deepseek/deepseek-chat-v3-0324", + "name": "DeepSeek V3 0324", + "family": "deepseek", + "attachment": false, "reasoning": false, "tool_call": false, - "temperature": false, - "release_date": "2025-04-15", - "last_updated": "2025-04-15", - "modalities": { "input": ["text", "image"], "output": ["text"] }, + "structured_output": true, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2025-03-24", + "last_updated": "2025-03-24", + "modalities": { + "input": ["text"], + "output": ["text"] + }, "open_weights": true, - "cost": { "input": 0.12, "output": 0 }, - "limit": { "context": 128000, "output": 1536 } + "limit": { + "context": 16384, + "output": 8192 + }, + "cost": { + "input": 0, + "output": 0 + } }, - "phi-4-reasoning-plus": { - "id": "phi-4-reasoning-plus", - "name": "Phi-4-reasoning-plus", - "family": "phi", + "deepseek/deepseek-v3.1-terminus": { + "id": "deepseek/deepseek-v3.1-terminus", + "name": "DeepSeek V3.1 Terminus", + "family": "deepseek", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2025-07", + "release_date": "2025-09-22", + "last_updated": "2025-09-22", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 65536 + }, + "cost": { + "input": 0.27, + "output": 1 + } + }, + "openrouter/owl-alpha": { + "id": "openrouter/owl-alpha", + "name": "Owl Alpha", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2026-04-28", + "last_updated": "2026-04-30", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1048756, + "output": 262144 + }, + "status": "alpha", + "cost": { + "input": 0, + "output": 0 + } + }, + "openrouter/pareto-code": { + "id": "openrouter/pareto-code", + "name": "Pareto Code Router", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2026-04-21", + "last_updated": "2026-04-21", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 200000 + } + }, + "openrouter/elephant-alpha": { + "id": "openrouter/elephant-alpha", + "name": "Elephant (free)", + "family": "elephant", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2026-04-13", + "last_updated": "2026-04-13", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 262144, + "output": 32768 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "openrouter/free": { + "id": "openrouter/free", + "name": "Free Models Router", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2026-02-01", + "last_updated": "2026-02-01", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "input": 200000, + "output": 8000 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "arcee-ai/trinity-large-thinking": { + "id": "arcee-ai/trinity-large-thinking", + "name": "Trinity Large Thinking", + "family": "trinity", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2026-04-01", + "last_updated": "2026-04-03", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 80000 + }, + "cost": { + "input": 0.22, + "output": 0.85 + } + }, + "arcee-ai/trinity-large-preview:free": { + "id": "arcee-ai/trinity-large-preview:free", + "name": "Trinity Large Preview", + "family": "trinity", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2025-06", + "release_date": "2026-01-28", + "last_updated": "2026-01-28", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 131072 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "cognitivecomputations/dolphin-mistral-24b-venice-edition:free": { + "id": "cognitivecomputations/dolphin-mistral-24b-venice-edition:free", + "name": "Uncensored (free)", + "family": "mistral", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": true, + "temperature": true, + "knowledge": "2025-06", + "release_date": "2025-07-09", + "last_updated": "2026-01-31", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 32768, + "output": 32768 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "bytedance-seed/seedream-4.5": { + "id": "bytedance-seed/seedream-4.5", + "name": "Seedream 4.5", + "family": "seed", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "knowledge": "2025-06", + "release_date": "2025-12-23", + "last_updated": "2026-01-31", + "modalities": { + "input": ["image", "text"], + "output": ["image"] + }, + "open_weights": true, + "limit": { + "context": 4096, + "output": 4096 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "black-forest-labs/flux.2-max": { + "id": "black-forest-labs/flux.2-max", + "name": "FLUX.2 Max", + "family": "flux", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "knowledge": "2025-06", + "release_date": "2025-12-16", + "last_updated": "2026-01-31", + "modalities": { + "input": ["image", "text"], + "output": ["image"] + }, + "open_weights": false, + "limit": { + "context": 46864, + "output": 46864 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "black-forest-labs/flux.2-flex": { + "id": "black-forest-labs/flux.2-flex", + "name": "FLUX.2 Flex", + "family": "flux", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "knowledge": "2025-06", + "release_date": "2025-11-25", + "last_updated": "2026-01-31", + "modalities": { + "input": ["image", "text"], + "output": ["image"] + }, + "open_weights": false, + "limit": { + "context": 67344, + "output": 67344 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "black-forest-labs/flux.2-pro": { + "id": "black-forest-labs/flux.2-pro", + "name": "FLUX.2 Pro", + "family": "flux", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "knowledge": "2025-06", + "release_date": "2025-11-25", + "last_updated": "2026-01-31", + "modalities": { + "input": ["image", "text"], + "output": ["image"] + }, + "open_weights": false, + "limit": { + "context": 46864, + "output": 46864 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "black-forest-labs/flux.2-klein-4b": { + "id": "black-forest-labs/flux.2-klein-4b", + "name": "FLUX.2 Klein 4B", + "family": "flux", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "knowledge": "2025-06", + "release_date": "2026-01-14", + "last_updated": "2026-01-31", + "modalities": { + "input": ["image", "text"], + "output": ["image"] + }, + "open_weights": true, + "limit": { + "context": 40960, + "output": 40960 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "nousresearch/hermes-3-llama-3.1-405b:free": { + "id": "nousresearch/hermes-3-llama-3.1-405b:free", + "name": "Hermes 3 405B Instruct (free)", + "family": "hermes", "attachment": false, "reasoning": true, "tool_call": false, "temperature": true, - "knowledge": "2023-10", - "release_date": "2024-12-11", - "last_updated": "2024-12-11", - "modalities": { "input": ["text"], "output": ["text"] }, + "knowledge": "2023-12", + "release_date": "2024-08-16", + "last_updated": "2024-08-16", + "modalities": { + "input": ["text"], + "output": ["text"] + }, "open_weights": true, - "cost": { "input": 0.125, "output": 0.5 }, - "limit": { "context": 32000, "output": 4096 } + "limit": { + "context": 131072, + "output": 131072 + }, + "cost": { + "input": 0, + "output": 0 + } }, - "grok-3": { - "id": "grok-3", - "name": "Grok 3", + "nousresearch/hermes-4-405b": { + "id": "nousresearch/hermes-4-405b", + "name": "Hermes 4 405B", + "family": "hermes", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2023-12", + "release_date": "2025-08-25", + "last_updated": "2025-08-25", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 131072 + }, + "cost": { + "input": 1, + "output": 3 + } + }, + "nousresearch/hermes-4-70b": { + "id": "nousresearch/hermes-4-70b", + "name": "Hermes 4 70B", + "family": "hermes", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2023-12", + "release_date": "2025-08-25", + "last_updated": "2025-08-25", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 131072 + }, + "cost": { + "input": 0.13, + "output": 0.4 + } + }, + "stepfun/step-3.5-flash": { + "id": "stepfun/step-3.5-flash", + "name": "Step 3.5 Flash", + "family": "step", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2026-01-29", + "last_updated": "2026-01-29", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 256000, + "output": 256000 + }, + "cost": { + "input": 0.1, + "output": 0.3, + "cache_read": 0.02 + } + }, + "mistralai/mistral-small-3.1-24b-instruct": { + "id": "mistralai/mistral-small-3.1-24b-instruct", + "name": "Mistral Small 3.1 24B Instruct", + "family": "mistral-small", + "attachment": true, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2025-03-17", + "last_updated": "2025-03-17", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 8192 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "mistralai/devstral-2512": { + "id": "mistralai/devstral-2512", + "name": "Devstral 2 2512", + "family": "devstral", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2025-12", + "release_date": "2025-09-12", + "last_updated": "2025-09-12", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 262144 + }, + "cost": { + "input": 0.15, + "output": 0.6 + } + }, + "mistralai/codestral-2508": { + "id": "mistralai/codestral-2508", + "name": "Codestral 2508", + "family": "codestral", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2025-05", + "release_date": "2025-08-01", + "last_updated": "2025-08-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 256000, + "output": 256000 + }, + "cost": { + "input": 0.3, + "output": 0.9 + } + }, + "mistralai/mistral-medium-3.1": { + "id": "mistralai/mistral-medium-3.1", + "name": "Mistral Medium 3.1", + "family": "mistral-medium", + "attachment": true, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2025-05", + "release_date": "2025-08-12", + "last_updated": "2025-08-12", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 262144, + "output": 262144 + }, + "cost": { + "input": 0.4, + "output": 2 + } + }, + "mistralai/mistral-small-2603": { + "id": "mistralai/mistral-small-2603", + "name": "Mistral Small 4", + "family": "mistral-small", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-06", + "release_date": "2026-03-16", + "last_updated": "2026-03-16", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 262144 + }, + "cost": { + "input": 0.15, + "output": 0.6 + } + }, + "mistralai/mistral-medium-3": { + "id": "mistralai/mistral-medium-3", + "name": "Mistral Medium 3", + "family": "mistral-medium", + "attachment": true, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2025-05", + "release_date": "2025-05-07", + "last_updated": "2025-05-07", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 131072, + "output": 131072 + }, + "cost": { + "input": 0.4, + "output": 2 + } + }, + "mistralai/devstral-small-2505": { + "id": "mistralai/devstral-small-2505", + "name": "Devstral Small", + "family": "devstral", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-05", + "release_date": "2025-05-07", + "last_updated": "2025-05-07", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 128000 + }, + "cost": { + "input": 0.06, + "output": 0.12 + } + }, + "mistralai/mistral-small-3.2-24b-instruct": { + "id": "mistralai/mistral-small-3.2-24b-instruct", + "name": "Mistral Small 3.2 24B Instruct", + "family": "mistral-small", + "attachment": true, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2025-06-20", + "last_updated": "2025-06-20", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 96000, + "output": 8192 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "mistralai/devstral-medium-2507": { + "id": "mistralai/devstral-medium-2507", + "name": "Devstral Medium", + "family": "devstral", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2025-05", + "release_date": "2025-07-10", + "last_updated": "2025-07-10", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 131072 + }, + "cost": { + "input": 0.4, + "output": 2 + } + }, + "mistralai/devstral-small-2507": { + "id": "mistralai/devstral-small-2507", + "name": "Devstral Small 1.1", + "family": "devstral", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2025-05", + "release_date": "2025-07-10", + "last_updated": "2025-07-10", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 131072 + }, + "cost": { + "input": 0.1, + "output": 0.3 + } + }, + "meta-llama/llama-3.2-11b-vision-instruct": { + "id": "meta-llama/llama-3.2-11b-vision-instruct", + "name": "Llama 3.2 11B Vision Instruct", + "family": "llama", + "attachment": true, + "reasoning": false, + "tool_call": false, + "temperature": true, + "knowledge": "2023-12", + "release_date": "2024-09-25", + "last_updated": "2024-09-25", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 8192 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "meta-llama/llama-3.2-3b-instruct:free": { + "id": "meta-llama/llama-3.2-3b-instruct:free", + "name": "Llama 3.2 3B Instruct (free)", + "family": "llama", + "attachment": true, + "reasoning": false, + "tool_call": false, + "temperature": true, + "knowledge": "2023-12", + "release_date": "2024-09-25", + "last_updated": "2024-09-25", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 131072 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "meta-llama/llama-3.3-70b-instruct:free": { + "id": "meta-llama/llama-3.3-70b-instruct:free", + "name": "Llama 3.3 70B Instruct (free)", + "family": "llama", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2024-12", + "release_date": "2024-12-06", + "last_updated": "2024-12-06", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 131072 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "x-ai/grok-4.20-multi-agent-beta": { + "id": "x-ai/grok-4.20-multi-agent-beta", + "name": "Grok 4.20 Multi - Agent Beta", + "family": "grok", + "attachment": true, + "reasoning": true, + "tool_call": false, + "temperature": true, + "release_date": "2026-03-12", + "last_updated": "2026-03-12", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 2000000, + "output": 30000 + }, + "status": "beta", + "cost": { + "input": 2, + "output": 6, + "cache_read": 0.2, + "tiers": [ + { + "input": 4, + "output": 12, + "cache_read": 0.4, + "tier": { + "type": "context", + "size": 200000 + } + } + ], + "context_over_200k": { + "input": 4, + "output": 12, + "cache_read": 0.4 + } + } + }, + "x-ai/grok-4-fast": { + "id": "x-ai/grok-4-fast", + "name": "Grok 4 Fast", + "family": "grok", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2024-11", + "release_date": "2025-08-19", + "last_updated": "2025-08-19", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 2000000, + "output": 30000 + }, + "cost": { + "input": 0.2, + "output": 0.5, + "cache_read": 0.05, + "cache_write": 0.05 + } + }, + "x-ai/grok-code-fast-1": { + "id": "x-ai/grok-code-fast-1", + "name": "Grok Code Fast 1", + "family": "grok", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2025-08", + "release_date": "2025-08-26", + "last_updated": "2025-08-26", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 256000, + "output": 10000 + }, + "cost": { + "input": 0.2, + "output": 1.5, + "cache_read": 0.02 + } + }, + "x-ai/grok-3-beta": { + "id": "x-ai/grok-3-beta", + "name": "Grok 3 Beta", "family": "grok", "attachment": false, "reasoning": false, @@ -7678,223 +23109,577 @@ "knowledge": "2024-11", "release_date": "2025-02-17", "last_updated": "2025-02-17", - "modalities": { "input": ["text"], "output": ["text"] }, + "modalities": { + "input": ["text"], + "output": ["text"] + }, "open_weights": false, - "cost": { "input": 3, "output": 15, "cache_read": 0.75 }, - "limit": { "context": 131072, "output": 8192 } + "limit": { + "context": 131072, + "output": 8192 + }, + "cost": { + "input": 3, + "output": 15, + "cache_read": 0.75, + "cache_write": 15 + } }, - "cohere-command-a": { - "id": "cohere-command-a", - "name": "Command A", - "family": "command-a", + "x-ai/grok-4": { + "id": "x-ai/grok-4", + "name": "Grok 4", + "family": "grok", "attachment": false, "reasoning": true, "tool_call": true, + "structured_output": true, "temperature": true, - "knowledge": "2024-06-01", - "release_date": "2025-03-13", - "last_updated": "2025-03-13", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 2.5, "output": 10 }, - "limit": { "context": 256000, "output": 8000 } + "knowledge": "2025-07", + "release_date": "2025-07-09", + "last_updated": "2025-07-09", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 256000, + "output": 64000 + }, + "cost": { + "input": 3, + "output": 15, + "cache_read": 0.75, + "cache_write": 15, + "tiers": [ + { + "input": 6, + "output": 30, + "tier": { + "type": "context", + "size": 128000 + } + } + ] + } }, - "gpt-5-nano": { - "id": "gpt-5-nano", - "name": "GPT-5 Nano", - "family": "gpt-nano", - "attachment": true, + "x-ai/grok-3-mini": { + "id": "x-ai/grok-3-mini", + "name": "Grok 3 Mini", + "family": "grok", + "attachment": false, "reasoning": true, "tool_call": true, - "temperature": false, - "knowledge": "2024-05-30", - "release_date": "2025-08-07", - "last_updated": "2025-08-07", - "modalities": { "input": ["text", "image"], "output": ["text"] }, + "structured_output": true, + "temperature": true, + "knowledge": "2024-11", + "release_date": "2025-02-17", + "last_updated": "2025-02-17", + "modalities": { + "input": ["text"], + "output": ["text"] + }, "open_weights": false, - "cost": { "input": 0.05, "output": 0.4, "cache_read": 0.01 }, - "limit": { "context": 272000, "output": 128000 } + "limit": { + "context": 131072, + "output": 8192 + }, + "cost": { + "input": 0.3, + "output": 0.5, + "cache_read": 0.075, + "cache_write": 0.5 + } }, - "grok-4-fast-reasoning": { - "id": "grok-4-fast-reasoning", - "name": "Grok 4 Fast (Reasoning)", + "x-ai/grok-4.1-fast": { + "id": "x-ai/grok-4.1-fast", + "name": "Grok 4.1 Fast", + "family": "grok", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2024-11", + "release_date": "2025-11-19", + "last_updated": "2025-11-19", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 2000000, + "output": 30000 + }, + "cost": { + "input": 0.2, + "output": 0.5, + "cache_read": 0.05, + "cache_write": 0.05 + } + }, + "x-ai/grok-4.20-beta": { + "id": "x-ai/grok-4.20-beta", + "name": "Grok 4.20 Beta", "family": "grok", "attachment": true, "reasoning": true, "tool_call": true, "temperature": true, - "knowledge": "2025-07", - "release_date": "2025-09-19", - "last_updated": "2025-09-19", - "modalities": { "input": ["text", "image"], "output": ["text"] }, + "release_date": "2026-03-12", + "last_updated": "2026-03-12", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, "open_weights": false, - "cost": { "input": 0.2, "output": 0.5, "cache_read": 0.05 }, - "limit": { "context": 2000000, "output": 30000 } + "limit": { + "context": 2000000, + "output": 30000 + }, + "status": "beta", + "cost": { + "input": 2, + "output": 6, + "cache_read": 0.2, + "tiers": [ + { + "input": 4, + "output": 12, + "cache_read": 0.4, + "tier": { + "type": "context", + "size": 200000 + } + } + ], + "context_over_200k": { + "input": 4, + "output": 12, + "cache_read": 0.4 + } + } }, - "phi-3.5-moe-instruct": { - "id": "phi-3.5-moe-instruct", - "name": "Phi-3.5-MoE-instruct", - "family": "phi", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "knowledge": "2023-10", - "release_date": "2024-08-20", - "last_updated": "2024-08-20", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.16, "output": 0.64 }, - "limit": { "context": 128000, "output": 4096 } - }, - "meta-llama-3.1-405b-instruct": { - "id": "meta-llama-3.1-405b-instruct", - "name": "Meta-Llama-3.1-405B-Instruct", - "family": "llama", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2023-12", - "release_date": "2024-07-23", - "last_updated": "2024-07-23", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 5.33, "output": 16 }, - "limit": { "context": 128000, "output": 32768 } - }, - "phi-3-medium-128k-instruct": { - "id": "phi-3-medium-128k-instruct", - "name": "Phi-3-medium-instruct (128k)", - "family": "phi", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "knowledge": "2023-10", - "release_date": "2024-04-23", - "last_updated": "2024-04-23", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.17, "output": 0.68 }, - "limit": { "context": 128000, "output": 4096 } - }, - "gpt-4.1-mini": { - "id": "gpt-4.1-mini", - "name": "GPT-4.1 mini", - "family": "gpt-mini", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-05", - "release_date": "2025-04-14", - "last_updated": "2025-04-14", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.4, "output": 1.6, "cache_read": 0.1 }, - "limit": { "context": 1047576, "output": 32768 } - }, - "cohere-command-r-08-2024": { - "id": "cohere-command-r-08-2024", - "name": "Command R", - "family": "command-r", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-06-01", - "release_date": "2024-08-30", - "last_updated": "2024-08-30", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.15, "output": 0.6 }, - "limit": { "context": 128000, "output": 4000 } - }, - "deepseek-v3.1": { - "id": "deepseek-v3.1", - "name": "DeepSeek-V3.1", - "family": "deepseek", + "x-ai/grok-3-mini-beta": { + "id": "x-ai/grok-3-mini-beta", + "name": "Grok 3 Mini Beta", + "family": "grok", "attachment": false, "reasoning": true, "tool_call": true, "temperature": true, - "knowledge": "2024-07", - "release_date": "2025-08-21", - "last_updated": "2025-08-21", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.56, "output": 1.68 }, - "limit": { "context": 131072, "output": 131072 } + "knowledge": "2024-11", + "release_date": "2025-02-17", + "last_updated": "2025-02-17", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 131072, + "output": 8192 + }, + "cost": { + "input": 0.3, + "output": 0.5, + "cache_read": 0.075, + "cache_write": 0.5 + } }, - "gpt-5.1": { - "id": "gpt-5.1", - "name": "GPT-5.1", - "family": "gpt", + "x-ai/grok-3": { + "id": "x-ai/grok-3", + "name": "Grok 3", + "family": "grok", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2024-11", + "release_date": "2025-02-17", + "last_updated": "2025-02-17", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 131072, + "output": 8192 + }, + "cost": { + "input": 3, + "output": 15, + "cache_read": 0.75, + "cache_write": 15 + } + }, + "tencent/hy3-preview": { + "id": "tencent/hy3-preview", + "name": "Hy3 preview", + "family": "Hy", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2026-04-20", + "last_updated": "2026-04-20", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 256000, + "output": 64000 + }, + "cost": { + "input": 0.066, + "output": 0.26, + "cache_read": 0.029, + "cache_write": 0.029 + } + }, + "poolside/laguna-m.1:free": { + "id": "poolside/laguna-m.1:free", + "name": "Laguna M.1", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "temperature": true, + "release_date": "2026-04-28", + "last_updated": "2026-04-28", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 131072, + "output": 8192 + }, + "cost": { + "input": 0, + "output": 0, + "cache_read": 0, + "cache_write": 0 + } + }, + "poolside/laguna-xs.2:free": { + "id": "poolside/laguna-xs.2:free", + "name": "Laguna XS.2", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "temperature": true, + "release_date": "2026-04-28", + "last_updated": "2026-04-28", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 8192 + }, + "cost": { + "input": 0, + "output": 0, + "cache_read": 0, + "cache_write": 0 + } + }, + "prime-intellect/intellect-3": { + "id": "prime-intellect/intellect-3", + "name": "Intellect 3", + "family": "glm", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2025-01-15", + "last_updated": "2025-01-15", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 8192 + }, + "cost": { + "input": 0.2, + "output": 1.1 + } + }, + "nvidia/nemotron-3-super-120b-a12b": { + "id": "nvidia/nemotron-3-super-120b-a12b", + "name": "Nemotron 3 Super", + "family": "nemotron", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-04", + "release_date": "2026-03-11", + "last_updated": "2026-03-11", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 262144 + }, + "cost": { + "input": 0.1, + "output": 0.5 + } + }, + "nvidia/nemotron-3-nano-omni-30b-a3b-reasoning:free": { + "id": "nvidia/nemotron-3-nano-omni-30b-a3b-reasoning:free", + "name": "Nemotron 3 Nano Omni (free)", + "family": "nemotron", "attachment": true, "reasoning": true, "tool_call": true, "structured_output": true, - "temperature": false, + "temperature": true, + "release_date": "2026-04-28", + "last_updated": "2026-04-28", + "modalities": { + "input": ["text", "image", "video", "audio"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 256000, + "output": 65536 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "nvidia/nemotron-3-nano-30b-a3b:free": { + "id": "nvidia/nemotron-3-nano-30b-a3b:free", + "name": "Nemotron 3 Nano 30B A3B (free)", + "family": "nemotron", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2025-11", + "release_date": "2025-12-14", + "last_updated": "2026-01-31", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 256000, + "output": 256000 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "nvidia/nemotron-nano-9b-v2:free": { + "id": "nvidia/nemotron-nano-9b-v2:free", + "name": "Nemotron Nano 9B V2 (free)", + "family": "nemotron", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2024-09", + "release_date": "2025-09-05", + "last_updated": "2025-08-18", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 128000 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "nvidia/nemotron-3-super-120b-a12b:free": { + "id": "nvidia/nemotron-3-super-120b-a12b:free", + "name": "Nemotron 3 Super (free)", + "family": "nemotron", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-04", + "release_date": "2026-03-11", + "last_updated": "2026-03-11", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 262144 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "nvidia/nemotron-nano-9b-v2": { + "id": "nvidia/nemotron-nano-9b-v2", + "name": "nvidia-nemotron-nano-9b-v2", + "family": "nemotron", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-09", + "release_date": "2025-08-18", + "last_updated": "2025-08-18", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 131072 + }, + "cost": { + "input": 0.04, + "output": 0.16 + } + }, + "nvidia/nemotron-nano-12b-v2-vl:free": { + "id": "nvidia/nemotron-nano-12b-v2-vl:free", + "name": "Nemotron Nano 12B 2 VL (free)", + "family": "nemotron", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-11", + "release_date": "2025-10-28", + "last_updated": "2026-01-31", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 128000 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "inception/mercury-edit-2": { + "id": "inception/mercury-edit-2", + "name": "Mercury Edit 2", + "attachment": false, + "reasoning": true, + "tool_call": false, + "temperature": true, + "release_date": "2026-03-30", + "last_updated": "2026-03-30", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 8192 + }, + "cost": { + "input": 0.25, + "output": 0.75, + "cache_read": 0.025 + } + }, + "inception/mercury-2": { + "id": "inception/mercury-2", + "name": "Mercury 2", + "family": "mercury", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2026-03-04", + "last_updated": "2026-03-04", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 50000 + }, + "cost": { + "input": 0.25, + "output": 0.75, + "cache_read": 0.025 + } + }, + "openai/gpt-5.1-codex-max": { + "id": "openai/gpt-5.1-codex-max", + "name": "GPT-5.1-Codex-Max", + "family": "gpt-codex", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, "knowledge": "2024-09-30", - "release_date": "2025-11-14", - "last_updated": "2025-11-14", - "modalities": { "input": ["text", "image", "audio"], "output": ["text", "image", "audio"] }, + "release_date": "2025-11-13", + "last_updated": "2025-11-13", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, "open_weights": false, - "cost": { "input": 1.25, "output": 10, "cache_read": 0.125 }, - "limit": { "context": 272000, "output": 128000 } + "limit": { + "context": 400000, + "output": 128000 + }, + "cost": { + "input": 1.1, + "output": 9, + "cache_read": 0.11 + } }, - "phi-4": { - "id": "phi-4", - "name": "Phi-4", - "family": "phi", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "knowledge": "2023-10", - "release_date": "2024-12-11", - "last_updated": "2024-12-11", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.125, "output": 0.5 }, - "limit": { "context": 128000, "output": 4096 } - }, - "gpt-3.5-turbo-0301": { - "id": "gpt-3.5-turbo-0301", - "name": "GPT-3.5 Turbo 0301", - "family": "gpt", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "knowledge": "2021-08", - "release_date": "2023-03-01", - "last_updated": "2023-03-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.5, "output": 2 }, - "limit": { "context": 4096, "output": 4096 } - }, - "gpt-5.2": { - "id": "gpt-5.2", - "name": "GPT-5.2", - "family": "gpt", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": false, - "knowledge": "2025-08-31", - "release_date": "2025-12-11", - "last_updated": "2025-12-11", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.75, "output": 14, "cache_read": 0.125 }, - "limit": { "context": 400000, "output": 128000 } - }, - "gpt-5.2-chat": { - "id": "gpt-5.2-chat", + "openai/gpt-5.2-chat": { + "id": "openai/gpt-5.2-chat", "name": "GPT-5.2 Chat", "family": "gpt-codex", "attachment": true, @@ -7905,542 +23690,155 @@ "knowledge": "2025-08-31", "release_date": "2025-12-11", "last_updated": "2025-12-11", - "modalities": { "input": ["text", "image"], "output": ["text"] }, + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, "open_weights": false, - "cost": { "input": 1.75, "output": 14, "cache_read": 0.175 }, - "limit": { "context": 128000, "output": 16384 } + "limit": { + "context": 128000, + "output": 16384 + }, + "cost": { + "input": 1.75, + "output": 14, + "cache_read": 0.175 + } }, - "mistral-nemo": { - "id": "mistral-nemo", - "name": "Mistral Nemo", - "family": "mistral-nemo", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-07", - "release_date": "2024-07-18", - "last_updated": "2024-07-18", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.15, "output": 0.15 }, - "limit": { "context": 128000, "output": 128000 } - }, - "ministral-3b": { - "id": "ministral-3b", - "name": "Ministral 3B", - "family": "ministral", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-03", - "release_date": "2024-10-22", - "last_updated": "2024-10-22", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.04, "output": 0.04 }, - "limit": { "context": 128000, "output": 8192 } - }, - "text-embedding-ada-002": { - "id": "text-embedding-ada-002", - "name": "text-embedding-ada-002", - "family": "text-embedding", - "attachment": false, - "reasoning": false, - "tool_call": false, - "release_date": "2022-12-15", - "last_updated": "2022-12-15", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.1, "output": 0 }, - "limit": { "context": 8192, "output": 1536 } - }, - "deepseek-v3.2-speciale": { - "id": "deepseek-v3.2-speciale", - "name": "DeepSeek-V3.2-Speciale", - "family": "deepseek", - "attachment": false, - "reasoning": true, - "tool_call": false, - "temperature": true, - "knowledge": "2024-07", - "release_date": "2025-12-01", - "last_updated": "2025-12-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.58, "output": 1.68 }, - "limit": { "context": 128000, "output": 128000 } - }, - "llama-3.2-90b-vision-instruct": { - "id": "llama-3.2-90b-vision-instruct", - "name": "Llama-3.2-90B-Vision-Instruct", - "family": "llama", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2023-12", - "release_date": "2024-09-25", - "last_updated": "2024-09-25", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 2.04, "output": 2.04 }, - "limit": { "context": 128000, "output": 8192 } - }, - "gpt-4": { - "id": "gpt-4", - "name": "GPT-4", - "family": "gpt", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2023-11", - "release_date": "2023-03-14", - "last_updated": "2023-03-14", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 60, "output": 120 }, - "limit": { "context": 8192, "output": 8192 } - }, - "mistral-medium-2505": { - "id": "mistral-medium-2505", - "name": "Mistral Medium 3", - "family": "mistral-medium", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2025-05", - "release_date": "2025-05-07", - "last_updated": "2025-05-07", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.4, "output": 2 }, - "limit": { "context": 128000, "output": 128000 } - }, - "gpt-4-32k": { - "id": "gpt-4-32k", - "name": "GPT-4 32K", - "family": "gpt", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2023-11", - "release_date": "2023-03-14", - "last_updated": "2023-03-14", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 60, "output": 120 }, - "limit": { "context": 32768, "output": 32768 } - }, - "grok-3-mini": { - "id": "grok-3-mini", - "name": "Grok 3 Mini", - "family": "grok", + "openai/gpt-oss-120b:exacto": { + "id": "openai/gpt-oss-120b:exacto", + "name": "GPT OSS 120B (exacto)", + "family": "gpt-oss", "attachment": false, "reasoning": true, "tool_call": true, + "structured_output": true, "temperature": true, - "knowledge": "2024-11", - "release_date": "2025-02-17", - "last_updated": "2025-02-17", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.3, "output": 0.5, "reasoning": 0.5, "cache_read": 0.075 }, - "limit": { "context": 131072, "output": 8192 } - }, - "meta-llama-3-8b-instruct": { - "id": "meta-llama-3-8b-instruct", - "name": "Meta-Llama-3-8B-Instruct", - "family": "llama", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "knowledge": "2023-12", - "release_date": "2024-04-18", - "last_updated": "2024-04-18", - "modalities": { "input": ["text"], "output": ["text"] }, + "release_date": "2025-08-05", + "last_updated": "2025-08-05", + "modalities": { + "input": ["text"], + "output": ["text"] + }, "open_weights": true, - "cost": { "input": 0.3, "output": 0.61 }, - "limit": { "context": 8192, "output": 2048 } + "limit": { + "context": 131072, + "output": 32768 + }, + "cost": { + "input": 0.05, + "output": 0.24 + } }, - "phi-3.5-mini-instruct": { - "id": "phi-3.5-mini-instruct", - "name": "Phi-3.5-mini-instruct", - "family": "phi", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "knowledge": "2023-10", - "release_date": "2024-08-20", - "last_updated": "2024-08-20", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.13, "output": 0.52 }, - "limit": { "context": 128000, "output": 4096 } - }, - "meta-llama-3-70b-instruct": { - "id": "meta-llama-3-70b-instruct", - "name": "Meta-Llama-3-70B-Instruct", - "family": "llama", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "knowledge": "2023-12", - "release_date": "2024-04-18", - "last_updated": "2024-04-18", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 2.68, "output": 3.54 }, - "limit": { "context": 8192, "output": 2048 } - }, - "cohere-command-r-plus-08-2024": { - "id": "cohere-command-r-plus-08-2024", - "name": "Command R+", - "family": "command-r", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-06-01", - "release_date": "2024-08-30", - "last_updated": "2024-08-30", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 2.5, "output": 10 }, - "limit": { "context": 128000, "output": 4000 } - }, - "gpt-5-chat": { - "id": "gpt-5-chat", - "name": "GPT-5 Chat", + "openai/gpt-5-chat": { + "id": "openai/gpt-5-chat", + "name": "GPT-5 Chat (latest)", "family": "gpt-codex", "attachment": true, "reasoning": true, "tool_call": false, - "temperature": false, - "knowledge": "2024-10-24", + "structured_output": true, + "temperature": true, + "knowledge": "2024-09-30", "release_date": "2025-08-07", "last_updated": "2025-08-07", - "modalities": { "input": ["text", "image"], "output": ["text"] }, + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, "open_weights": false, - "cost": { "input": 1.25, "output": 10, "cache_read": 0.13 }, - "limit": { "context": 128000, "output": 16384 } + "limit": { + "context": 400000, + "output": 128000 + }, + "cost": { + "input": 1.25, + "output": 10 + } }, - "mistral-small-2503": { - "id": "mistral-small-2503", - "name": "Mistral Small 3.1", - "family": "mistral-small", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-09", - "release_date": "2025-03-01", - "last_updated": "2025-03-01", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.1, "output": 0.3 }, - "limit": { "context": 128000, "output": 32768 } - }, - "mai-ds-r1": { - "id": "mai-ds-r1", - "name": "MAI-DS-R1", - "family": "mai", - "attachment": false, - "reasoning": true, - "tool_call": false, - "temperature": true, - "knowledge": "2024-06", - "release_date": "2025-01-20", - "last_updated": "2025-01-20", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.35, "output": 5.4 }, - "limit": { "context": 128000, "output": 8192 } - }, - "o3": { - "id": "o3", - "name": "o3", - "family": "o", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": false, - "knowledge": "2024-05", - "release_date": "2025-04-16", - "last_updated": "2025-04-16", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2, "output": 8, "cache_read": 0.5 }, - "limit": { "context": 200000, "output": 100000 } - }, - "o1": { - "id": "o1", - "name": "o1", - "family": "o", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": false, - "knowledge": "2023-09", - "release_date": "2024-12-05", - "last_updated": "2024-12-05", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 15, "output": 60, "cache_read": 7.5 }, - "limit": { "context": 200000, "output": 100000 } - }, - "gpt-5.4": { - "id": "gpt-5.4", - "name": "GPT-5.4", - "family": "gpt", + "openai/gpt-5.2-pro": { + "id": "openai/gpt-5.2-pro", + "name": "GPT-5.2 Pro", + "family": "gpt-pro", "attachment": true, "reasoning": true, "tool_call": true, "structured_output": true, "temperature": false, "knowledge": "2025-08-31", - "release_date": "2026-03-05", - "last_updated": "2026-03-05", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, + "release_date": "2025-12-11", + "last_updated": "2025-12-11", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, "open_weights": false, - "cost": { "input": 2.5, "output": 15, "cache_read": 0.25 }, - "limit": { "context": 400000, "input": 272000, "output": 128000 } + "limit": { + "context": 400000, + "output": 128000 + }, + "cost": { + "input": 21, + "output": 168 + } }, - "gpt-5.1-chat": { - "id": "gpt-5.1-chat", - "name": "GPT-5.1 Chat", - "family": "gpt-codex", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": false, - "knowledge": "2024-09-30", - "release_date": "2025-11-14", - "last_updated": "2025-11-14", - "modalities": { "input": ["text", "image", "audio"], "output": ["text", "image", "audio"] }, - "open_weights": false, - "cost": { "input": 1.25, "output": 10, "cache_read": 0.125 }, - "limit": { "context": 128000, "output": 16384 } - }, - "gpt-3.5-turbo-instruct": { - "id": "gpt-3.5-turbo-instruct", - "name": "GPT-3.5 Turbo Instruct", - "family": "gpt", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "knowledge": "2021-08", - "release_date": "2023-09-21", - "last_updated": "2023-09-21", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.5, "output": 2 }, - "limit": { "context": 4096, "output": 4096 } - }, - "model-router": { - "id": "model-router", - "name": "Model Router", - "family": "model-router", - "attachment": true, - "reasoning": false, - "tool_call": true, - "release_date": "2025-05-19", - "last_updated": "2025-11-18", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.14, "output": 0 }, - "limit": { "context": 128000, "output": 16384 } - }, - "phi-3-medium-4k-instruct": { - "id": "phi-3-medium-4k-instruct", - "name": "Phi-3-medium-instruct (4k)", - "family": "phi", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "knowledge": "2023-10", - "release_date": "2024-04-23", - "last_updated": "2024-04-23", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.17, "output": 0.68 }, - "limit": { "context": 4096, "output": 1024 } - }, - "phi-3-mini-4k-instruct": { - "id": "phi-3-mini-4k-instruct", - "name": "Phi-3-mini-instruct (4k)", - "family": "phi", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "knowledge": "2023-10", - "release_date": "2024-04-23", - "last_updated": "2024-04-23", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.13, "output": 0.52 }, - "limit": { "context": 4096, "output": 1024 } - }, - "llama-3.2-11b-vision-instruct": { - "id": "llama-3.2-11b-vision-instruct", - "name": "Llama-3.2-11B-Vision-Instruct", - "family": "llama", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2023-12", - "release_date": "2024-09-25", - "last_updated": "2024-09-25", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.37, "output": 0.37 }, - "limit": { "context": 128000, "output": 8192 } - }, - "llama-4-scout-17b-16e-instruct": { - "id": "llama-4-scout-17b-16e-instruct", - "name": "Llama 4 Scout 17B 16E Instruct", - "family": "llama", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-08", - "release_date": "2025-04-05", - "last_updated": "2025-04-05", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.2, "output": 0.78 }, - "limit": { "context": 128000, "output": 8192 } - }, - "phi-4-mini-reasoning": { - "id": "phi-4-mini-reasoning", - "name": "Phi-4-mini-reasoning", - "family": "phi", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2023-10", - "release_date": "2024-12-11", - "last_updated": "2024-12-11", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.075, "output": 0.3 }, - "limit": { "context": 128000, "output": 4096 } - }, - "codex-mini": { - "id": "codex-mini", - "name": "Codex Mini", - "family": "gpt-codex-mini", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": false, - "knowledge": "2024-04", - "release_date": "2025-05-16", - "last_updated": "2025-05-16", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.5, "output": 6, "cache_read": 0.375 }, - "limit": { "context": 200000, "output": 100000 } - }, - "gpt-4.1": { - "id": "gpt-4.1", - "name": "GPT-4.1", - "family": "gpt", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-05", - "release_date": "2025-04-14", - "last_updated": "2025-04-14", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2, "output": 8, "cache_read": 0.5 }, - "limit": { "context": 1047576, "output": 32768 } - }, - "gpt-4o-mini": { - "id": "gpt-4o-mini", - "name": "GPT-4o mini", - "family": "gpt-mini", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2023-09", - "release_date": "2024-07-18", - "last_updated": "2024-07-18", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.15, "output": 0.6, "cache_read": 0.08 }, - "limit": { "context": 128000, "output": 16384 } - }, - "mistral-large-2411": { - "id": "mistral-large-2411", - "name": "Mistral Large 24.11", - "family": "mistral-large", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-09", - "release_date": "2024-11-01", - "last_updated": "2024-11-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2, "output": 6 }, - "limit": { "context": 128000, "output": 32768 } - }, - "gpt-4-turbo-vision": { - "id": "gpt-4-turbo-vision", - "name": "GPT-4 Turbo Vision", - "family": "gpt", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2023-11", - "release_date": "2023-11-06", - "last_updated": "2024-04-09", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 10, "output": 30 }, - "limit": { "context": 128000, "output": 4096 } - }, - "gpt-5-mini": { - "id": "gpt-5-mini", + "openai/gpt-5-mini": { + "id": "openai/gpt-5-mini", "name": "GPT-5 Mini", "family": "gpt-mini", "attachment": true, "reasoning": true, "tool_call": true, - "temperature": false, - "knowledge": "2024-05-30", + "structured_output": true, + "temperature": true, + "knowledge": "2024-10-01", "release_date": "2025-08-07", "last_updated": "2025-08-07", - "modalities": { "input": ["text", "image"], "output": ["text"] }, + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, "open_weights": false, - "cost": { "input": 0.25, "output": 2, "cache_read": 0.03 }, - "limit": { "context": 272000, "output": 128000 } + "limit": { + "context": 400000, + "output": 128000 + }, + "cost": { + "input": 0.25, + "output": 2 + } }, - "gpt-5.3-codex": { - "id": "gpt-5.3-codex", - "name": "GPT-5.3 Codex", + "openai/gpt-5-nano": { + "id": "openai/gpt-5-nano", + "name": "GPT-5 Nano", + "family": "gpt-nano", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2024-10-01", + "release_date": "2025-08-07", + "last_updated": "2025-08-07", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "output": 128000 + }, + "cost": { + "input": 0.05, + "output": 0.4 + } + }, + "openai/gpt-5.3-codex": { + "id": "openai/gpt-5.3-codex", + "name": "GPT-5.3-Codex", "family": "gpt-codex", - "attachment": false, + "attachment": true, "reasoning": true, "tool_call": true, "structured_output": true, @@ -8448,373 +23846,317 @@ "knowledge": "2025-08-31", "release_date": "2026-02-24", "last_updated": "2026-02-24", - "modalities": { "input": ["text", "image"], "output": ["text"] }, + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, "open_weights": false, - "cost": { "input": 1.75, "output": 14, "cache_read": 0.175 }, - "limit": { "context": 400000, "output": 128000 } - }, - "codestral-2501": { - "id": "codestral-2501", - "name": "Codestral 25.01", - "family": "codestral", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-03", - "release_date": "2025-01-01", - "last_updated": "2025-01-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.3, "output": 0.9 }, - "limit": { "context": 256000, "output": 256000 } - }, - "grok-code-fast-1": { - "id": "grok-code-fast-1", - "name": "Grok Code Fast 1", - "family": "grok", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2023-10", - "release_date": "2025-08-28", - "last_updated": "2025-08-28", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.2, "output": 1.5, "cache_read": 0.02 }, - "limit": { "context": 256000, "output": 10000 } - }, - "phi-4-reasoning": { - "id": "phi-4-reasoning", - "name": "Phi-4-reasoning", - "family": "phi", - "attachment": false, - "reasoning": true, - "tool_call": false, - "temperature": true, - "knowledge": "2023-10", - "release_date": "2024-12-11", - "last_updated": "2024-12-11", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.125, "output": 0.5 }, - "limit": { "context": 32000, "output": 4096 } - }, - "phi-4-mini": { - "id": "phi-4-mini", - "name": "Phi-4-mini", - "family": "phi", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2023-10", - "release_date": "2024-12-11", - "last_updated": "2024-12-11", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.075, "output": 0.3 }, - "limit": { "context": 128000, "output": 4096 } - }, - "gpt-3.5-turbo-1106": { - "id": "gpt-3.5-turbo-1106", - "name": "GPT-3.5 Turbo 1106", - "family": "gpt", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "knowledge": "2021-08", - "release_date": "2023-11-06", - "last_updated": "2023-11-06", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1, "output": 2 }, - "limit": { "context": 16384, "output": 16384 } - }, - "grok-4": { - "id": "grok-4", - "name": "Grok 4", - "family": "grok", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-07", - "release_date": "2025-07-09", - "last_updated": "2025-07-09", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 3, "output": 15, "reasoning": 15, "cache_read": 0.75 }, - "limit": { "context": 256000, "output": 64000 } - }, - "grok-4-fast-non-reasoning": { - "id": "grok-4-fast-non-reasoning", - "name": "Grok 4 Fast (Non-Reasoning)", - "family": "grok", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2025-07", - "release_date": "2025-09-19", - "last_updated": "2025-09-19", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.2, "output": 0.5, "cache_read": 0.05 }, - "limit": { "context": 2000000, "output": 30000 } - }, - "gpt-4o": { - "id": "gpt-4o", - "name": "GPT-4o", - "family": "gpt", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2023-09", - "release_date": "2024-05-13", - "last_updated": "2024-05-13", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2.5, "output": 10, "cache_read": 1.25 }, - "limit": { "context": 128000, "output": 16384 } - }, - "gpt-4-turbo": { - "id": "gpt-4-turbo", - "name": "GPT-4 Turbo", - "family": "gpt", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2023-11", - "release_date": "2023-11-06", - "last_updated": "2024-04-09", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 10, "output": 30 }, - "limit": { "context": 128000, "output": 4096 } - }, - "kimi-k2.5": { - "id": "kimi-k2.5", - "name": "Kimi K2.5", - "family": "kimi", - "attachment": false, - "reasoning": true, - "tool_call": true, - "interleaved": true, - "structured_output": true, - "temperature": true, - "knowledge": "2025-01", - "release_date": "2026-02-06", - "last_updated": "2026-02-06", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.6, "output": 3 }, - "limit": { "context": 262144, "output": 262144 }, - "provider": { - "npm": "@ai-sdk/openai-compatible", - "api": "https://${AZURE_RESOURCE_NAME}.services.ai.azure.com/models", - "shape": "completions" + "limit": { + "context": 400000, + "output": 128000 + }, + "cost": { + "input": 1.75, + "output": 14, + "cache_read": 0.175 } }, - "phi-3-small-8k-instruct": { - "id": "phi-3-small-8k-instruct", - "name": "Phi-3-small-instruct (8k)", - "family": "phi", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "knowledge": "2023-10", - "release_date": "2024-04-23", - "last_updated": "2024-04-23", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.15, "output": 0.6 }, - "limit": { "context": 8192, "output": 2048 } - }, - "phi-3-mini-128k-instruct": { - "id": "phi-3-mini-128k-instruct", - "name": "Phi-3-mini-instruct (128k)", - "family": "phi", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "knowledge": "2023-10", - "release_date": "2024-04-23", - "last_updated": "2024-04-23", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.13, "output": 0.52 }, - "limit": { "context": 128000, "output": 4096 } - }, - "llama-3.3-70b-instruct": { - "id": "llama-3.3-70b-instruct", - "name": "Llama-3.3-70B-Instruct", - "family": "llama", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2023-12", - "release_date": "2024-12-06", - "last_updated": "2024-12-06", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.71, "output": 0.71 }, - "limit": { "context": 128000, "output": 32768 } - }, - "gpt-5": { - "id": "gpt-5", - "name": "GPT-5", + "openai/gpt-5.2": { + "id": "openai/gpt-5.2", + "name": "GPT-5.2", "family": "gpt", "attachment": true, "reasoning": true, "tool_call": true, - "temperature": false, - "knowledge": "2024-09-30", - "release_date": "2025-08-07", - "last_updated": "2025-08-07", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.25, "output": 10, "cache_read": 0.13 }, - "limit": { "context": 272000, "output": 128000 } - }, - "deepseek-r1": { - "id": "deepseek-r1", - "name": "DeepSeek-R1", - "family": "deepseek-thinking", - "attachment": false, - "reasoning": true, - "tool_call": false, - "temperature": true, - "knowledge": "2024-07", - "release_date": "2025-01-20", - "last_updated": "2025-01-20", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 1.35, "output": 5.4 }, - "limit": { "context": 163840, "output": 163840 } - }, - "kimi-k2-thinking": { - "id": "kimi-k2-thinking", - "name": "Kimi K2 Thinking", - "family": "kimi-thinking", - "attachment": false, - "reasoning": true, - "tool_call": true, - "interleaved": true, - "temperature": true, - "knowledge": "2024-08", - "release_date": "2025-11-06", - "last_updated": "2025-12-02", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.6, "output": 2.5, "cache_read": 0.15 }, - "limit": { "context": 262144, "output": 262144 } - }, - "meta-llama-3.1-8b-instruct": { - "id": "meta-llama-3.1-8b-instruct", - "name": "Meta-Llama-3.1-8B-Instruct", - "family": "llama", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2023-12", - "release_date": "2024-07-23", - "last_updated": "2024-07-23", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.3, "output": 0.61 }, - "limit": { "context": 128000, "output": 32768 } - }, - "deepseek-v3-0324": { - "id": "deepseek-v3-0324", - "name": "DeepSeek-V3-0324", - "family": "deepseek", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-07", - "release_date": "2025-03-24", - "last_updated": "2025-03-24", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 1.14, "output": 4.56 }, - "limit": { "context": 131072, "output": 131072 } - }, - "gpt-3.5-turbo-0613": { - "id": "gpt-3.5-turbo-0613", - "name": "GPT-3.5 Turbo 0613", - "family": "gpt", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "knowledge": "2021-08", - "release_date": "2023-06-13", - "last_updated": "2023-06-13", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 3, "output": 4 }, - "limit": { "context": 16384, "output": 16384 } - }, - "gpt-5-pro": { - "id": "gpt-5-pro", - "name": "GPT-5 Pro", - "family": "gpt-pro", - "attachment": true, - "reasoning": true, - "tool_call": true, "structured_output": true, "temperature": false, - "knowledge": "2024-09-30", - "release_date": "2025-10-06", - "last_updated": "2025-10-06", - "modalities": { "input": ["text", "image"], "output": ["text"] }, + "knowledge": "2025-08-31", + "release_date": "2025-12-11", + "last_updated": "2025-12-11", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, "open_weights": false, - "cost": { "input": 15, "output": 120 }, - "limit": { "context": 400000, "output": 272000 } + "limit": { + "context": 400000, + "output": 128000 + }, + "cost": { + "input": 1.75, + "output": 14, + "cache_read": 0.175 + } }, - "o3-mini": { - "id": "o3-mini", - "name": "o3-mini", - "family": "o-mini", + "openai/gpt-oss-20b:free": { + "id": "openai/gpt-oss-20b:free", + "name": "gpt-oss-20b (free)", + "family": "gpt-oss", "attachment": false, "reasoning": true, "tool_call": true, - "temperature": false, - "knowledge": "2024-05", - "release_date": "2024-12-20", - "last_updated": "2025-01-29", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.1, "output": 4.4, "cache_read": 0.55 }, - "limit": { "context": 200000, "output": 100000 } - }, - "cohere-embed-v3-english": { - "id": "cohere-embed-v3-english", - "name": "Embed v3 English", - "family": "cohere-embed", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": false, - "release_date": "2023-11-07", - "last_updated": "2023-11-07", - "modalities": { "input": ["text"], "output": ["text"] }, + "temperature": true, + "release_date": "2025-08-05", + "last_updated": "2026-01-31", + "modalities": { + "input": ["text"], + "output": ["text"] + }, "open_weights": true, - "cost": { "input": 0.1, "output": 0 }, - "limit": { "context": 512, "output": 1024 } + "limit": { + "context": 131072, + "output": 32768 + }, + "cost": { + "input": 0, + "output": 0 + } }, - "gpt-5.4-pro": { - "id": "gpt-5.4-pro", + "openai/gpt-4o-mini": { + "id": "openai/gpt-4o-mini", + "name": "GPT-4o-mini", + "family": "gpt-mini", + "attachment": true, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2024-07-18", + "last_updated": "2024-07-18", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 16384 + }, + "cost": { + "input": 0.15, + "output": 0.6, + "cache_read": 0.08 + } + }, + "openai/gpt-5.4-mini": { + "id": "openai/gpt-5.4-mini", + "name": "GPT-5.4 Mini", + "family": "gpt-mini", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2025-08-31", + "release_date": "2026-03-17", + "last_updated": "2026-03-17", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "output": 128000 + }, + "cost": { + "input": 0.75, + "output": 4.5, + "cache_read": 0.075 + } + }, + "openai/gpt-5.1-chat": { + "id": "openai/gpt-5.1-chat", + "name": "GPT-5.1 Chat", + "family": "gpt-codex", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2024-09-30", + "release_date": "2025-11-13", + "last_updated": "2025-11-13", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 16384 + }, + "cost": { + "input": 1.25, + "output": 10, + "cache_read": 0.125 + } + }, + "openai/o4-mini": { + "id": "openai/o4-mini", + "name": "o4 Mini", + "family": "o-mini", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2024-06", + "release_date": "2025-04-16", + "last_updated": "2025-04-16", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 100000 + }, + "cost": { + "input": 1.1, + "output": 4.4, + "cache_read": 0.28 + } + }, + "openai/gpt-5.4-nano": { + "id": "openai/gpt-5.4-nano", + "name": "GPT-5.4 Nano", + "family": "gpt-nano", + "attachment": true, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2025-08-31", + "release_date": "2026-03-17", + "last_updated": "2026-03-17", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "output": 128000 + }, + "cost": { + "input": 0.2, + "output": 1.25, + "cache_read": 0.02 + } + }, + "openai/gpt-5.2-codex": { + "id": "openai/gpt-5.2-codex", + "name": "GPT-5.2-Codex", + "family": "gpt-codex", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2025-08-31", + "release_date": "2026-01-14", + "last_updated": "2026-01-14", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "output": 128000 + }, + "cost": { + "input": 1.75, + "output": 14, + "cache_read": 0.175 + } + }, + "openai/gpt-5.1-codex-mini": { + "id": "openai/gpt-5.1-codex-mini", + "name": "GPT-5.1-Codex-Mini", + "family": "gpt-codex", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2024-09-30", + "release_date": "2025-11-13", + "last_updated": "2025-11-13", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "output": 100000 + }, + "cost": { + "input": 0.25, + "output": 2, + "cache_read": 0.025 + } + }, + "openai/gpt-5-image": { + "id": "openai/gpt-5-image", + "name": "GPT-5 Image", + "family": "gpt", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2024-10-01", + "release_date": "2025-10-14", + "last_updated": "2025-10-14", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text", "image"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "output": 128000 + }, + "cost": { + "input": 5, + "output": 10, + "cache_read": 1.25 + } + }, + "openai/gpt-5.1": { + "id": "openai/gpt-5.1", + "name": "GPT-5.1", + "family": "gpt", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2024-09-30", + "release_date": "2025-11-13", + "last_updated": "2025-11-13", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "output": 128000 + }, + "cost": { + "input": 1.25, + "output": 10, + "cache_read": 0.125 + } + }, + "openai/gpt-5.4-pro": { + "id": "openai/gpt-5.4-pro", "name": "GPT-5.4 Pro", "family": "gpt-pro", "attachment": true, @@ -8825,164 +24167,9693 @@ "knowledge": "2025-08-31", "release_date": "2026-03-05", "last_updated": "2026-03-05", - "modalities": { "input": ["text", "image"], "output": ["text"] }, + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, "open_weights": false, - "cost": { "input": 30, "output": 180 }, - "limit": { "context": 400000, "input": 272000, "output": 128000 } + "limit": { + "context": 1050000, + "input": 922000, + "output": 128000 + }, + "cost": { + "input": 30, + "output": 180, + "cache_read": 30 + } }, - "cohere-embed-v3-multilingual": { - "id": "cohere-embed-v3-multilingual", - "name": "Embed v3 Multilingual", - "family": "cohere-embed", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": false, - "release_date": "2023-11-07", - "last_updated": "2023-11-07", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.1, "output": 0 }, - "limit": { "context": 512, "output": 1024 } - }, - "phi-4-multimodal": { - "id": "phi-4-multimodal", - "name": "Phi-4-multimodal", - "family": "phi", - "attachment": true, - "reasoning": false, - "tool_call": false, - "temperature": true, - "knowledge": "2023-10", - "release_date": "2024-12-11", - "last_updated": "2024-12-11", - "modalities": { "input": ["text", "image", "audio"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.08, "output": 0.32, "input_audio": 4 }, - "limit": { "context": 128000, "output": 4096 } - }, - "gpt-5.1-codex-mini": { - "id": "gpt-5.1-codex-mini", - "name": "GPT-5.1 Codex Mini", + "openai/gpt-5-codex": { + "id": "openai/gpt-5-codex", + "name": "GPT-5 Codex", "family": "gpt-codex", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2024-10-01", + "release_date": "2025-09-15", + "last_updated": "2025-09-15", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "output": 128000 + }, + "cost": { + "input": 1.25, + "output": 10, + "cache_read": 0.125 + } + }, + "openai/gpt-oss-20b": { + "id": "openai/gpt-oss-20b", + "name": "GPT OSS 20B", + "family": "gpt-oss", "attachment": false, "reasoning": true, "tool_call": true, "structured_output": true, + "temperature": true, + "release_date": "2025-08-05", + "last_updated": "2025-08-05", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 32768 + }, + "cost": { + "input": 0.05, + "output": 0.2 + } + }, + "openai/gpt-5-pro": { + "id": "openai/gpt-5-pro", + "name": "GPT-5 Pro", + "family": "gpt-pro", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, "temperature": false, "knowledge": "2024-09-30", - "release_date": "2025-11-14", - "last_updated": "2025-11-14", - "modalities": { "input": ["text", "image"], "output": ["text"] }, + "release_date": "2025-10-06", + "last_updated": "2025-10-06", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, "open_weights": false, - "cost": { "input": 0.25, "output": 2, "cache_read": 0.025 }, - "limit": { "context": 400000, "output": 128000 } + "limit": { + "context": 400000, + "output": 272000 + }, + "cost": { + "input": 15, + "output": 120 + } }, - "text-embedding-3-large": { - "id": "text-embedding-3-large", - "name": "text-embedding-3-large", - "family": "text-embedding", - "attachment": false, - "reasoning": false, - "tool_call": false, - "release_date": "2024-01-25", - "last_updated": "2024-01-25", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.13, "output": 0 }, - "limit": { "context": 8191, "output": 3072 } - }, - "gpt-5.2-codex": { - "id": "gpt-5.2-codex", - "name": "GPT-5.2 Codex", - "family": "gpt-codex", - "attachment": false, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": false, - "knowledge": "2025-08-31", - "release_date": "2026-01-14", - "last_updated": "2026-01-14", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.75, "output": 14, "cache_read": 0.175 }, - "limit": { "context": 400000, "output": 128000 } - } - } - }, - "zai": { - "id": "zai", - "env": ["ZHIPU_API_KEY"], - "npm": "@ai-sdk/openai-compatible", - "api": "https://api.z.ai/api/paas/v4", - "name": "Z.AI", - "doc": "https://docs.z.ai/guides/overview/pricing", - "models": { - "glm-4.7-flash": { - "id": "glm-4.7-flash", - "name": "GLM-4.7-Flash", - "family": "glm-flash", + "openai/gpt-oss-120b:free": { + "id": "openai/gpt-oss-120b:free", + "name": "gpt-oss-120b (free)", + "family": "gpt-oss", "attachment": false, "reasoning": true, "tool_call": true, "temperature": true, - "knowledge": "2025-04", - "release_date": "2026-01-19", - "last_updated": "2026-01-19", - "modalities": { "input": ["text"], "output": ["text"] }, + "release_date": "2025-08-05", + "last_updated": "2025-08-05", + "modalities": { + "input": ["text"], + "output": ["text"] + }, "open_weights": true, - "cost": { "input": 0, "output": 0, "cache_read": 0, "cache_write": 0 }, - "limit": { "context": 200000, "output": 131072 } + "limit": { + "context": 131072, + "output": 32768 + }, + "cost": { + "input": 0, + "output": 0 + } }, - "glm-5-turbo": { - "id": "glm-5-turbo", + "openai/gpt-5": { + "id": "openai/gpt-5", + "name": "GPT-5", + "family": "gpt", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2024-10-01", + "release_date": "2025-08-07", + "last_updated": "2025-08-07", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "output": 128000 + }, + "cost": { + "input": 1.25, + "output": 10 + } + }, + "openai/gpt-oss-safeguard-20b": { + "id": "openai/gpt-oss-safeguard-20b", + "name": "GPT OSS Safeguard 20B", + "family": "gpt-oss", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2025-10-29", + "last_updated": "2025-10-29", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 131072, + "output": 65536 + }, + "cost": { + "input": 0.075, + "output": 0.3 + } + }, + "openai/gpt-oss-120b": { + "id": "openai/gpt-oss-120b", + "name": "GPT OSS 120B", + "family": "gpt-oss", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-08-05", + "last_updated": "2025-08-05", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 32768 + }, + "cost": { + "input": 0.072, + "output": 0.28 + } + }, + "openai/gpt-4.1": { + "id": "openai/gpt-4.1", + "name": "GPT-4.1", + "family": "gpt", + "attachment": true, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2024-04", + "release_date": "2025-04-14", + "last_updated": "2025-04-14", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1047576, + "output": 32768 + }, + "cost": { + "input": 2, + "output": 8, + "cache_read": 0.5 + } + }, + "openai/gpt-4.1-mini": { + "id": "openai/gpt-4.1-mini", + "name": "GPT-4.1 Mini", + "family": "gpt-mini", + "attachment": true, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2024-04", + "release_date": "2025-04-14", + "last_updated": "2025-04-14", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1047576, + "output": 32768 + }, + "cost": { + "input": 0.4, + "output": 1.6, + "cache_read": 0.1 + } + }, + "openai/gpt-5.1-codex": { + "id": "openai/gpt-5.1-codex", + "name": "GPT-5.1-Codex", + "family": "gpt-codex", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2024-09-30", + "release_date": "2025-11-13", + "last_updated": "2025-11-13", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "output": 128000 + }, + "cost": { + "input": 1.25, + "output": 10, + "cache_read": 0.125 + } + }, + "z-ai/glm-4.7": { + "id": "z-ai/glm-4.7", + "name": "GLM-4.7", + "family": "glm", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_details" + }, + "structured_output": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-12-22", + "last_updated": "2025-12-22", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 204800, + "output": 131072 + }, + "cost": { + "input": 0.6, + "output": 2.2, + "cache_read": 0.11 + } + }, + "z-ai/glm-4.5-air:free": { + "id": "z-ai/glm-4.5-air:free", + "name": "GLM 4.5 Air (free)", + "family": "glm-air", + "attachment": false, + "reasoning": true, + "tool_call": false, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-07-28", + "last_updated": "2025-07-28", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 96000 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "z-ai/glm-5": { + "id": "z-ai/glm-5", + "name": "GLM-5", + "family": "glm", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "structured_output": true, + "temperature": true, + "release_date": "2026-02-12", + "last_updated": "2026-02-12", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 202752, + "output": 131000 + }, + "cost": { + "input": 1, + "output": 3.2, + "cache_read": 0.2 + } + }, + "z-ai/glm-5.1": { + "id": "z-ai/glm-5.1", + "name": "GLM-5.1", + "family": "glm", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "structured_output": true, + "temperature": true, + "release_date": "2026-04-07", + "last_updated": "2026-04-07", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 202752, + "output": 131072 + }, + "cost": { + "input": 1.4, + "output": 4.4, + "cache_read": 0.26 + } + }, + "z-ai/glm-4.5": { + "id": "z-ai/glm-4.5", + "name": "GLM 4.5", + "family": "glm", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-07-28", + "last_updated": "2025-07-28", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 96000 + }, + "cost": { + "input": 0.6, + "output": 2.2 + } + }, + "z-ai/glm-4.6:exacto": { + "id": "z-ai/glm-4.6:exacto", + "name": "GLM 4.6 (exacto)", + "family": "glm", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2025-09", + "release_date": "2025-09-30", + "last_updated": "2025-09-30", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 200000, + "output": 128000 + }, + "cost": { + "input": 0.6, + "output": 1.9, + "cache_read": 0.11 + } + }, + "z-ai/glm-4.5-air": { + "id": "z-ai/glm-4.5-air", + "name": "GLM 4.5 Air", + "family": "glm-air", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-07-28", + "last_updated": "2025-07-28", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 96000 + }, + "cost": { + "input": 0.2, + "output": 1.1 + } + }, + "z-ai/glm-5-turbo": { + "id": "z-ai/glm-5-turbo", "name": "GLM-5-Turbo", "family": "glm", "attachment": false, "reasoning": true, "tool_call": true, - "interleaved": { "field": "reasoning_content" }, + "interleaved": { + "field": "reasoning_content" + }, "structured_output": true, "temperature": true, "release_date": "2026-03-16", "last_updated": "2026-03-16", - "modalities": { "input": ["text"], "output": ["text"] }, + "modalities": { + "input": ["text"], + "output": ["text"] + }, "open_weights": false, - "cost": { "input": 1.2, "output": 4, "cache_read": 0.24, "cache_write": 0 }, - "limit": { "context": 200000, "output": 131072 } + "limit": { + "context": 202752, + "output": 131072 + }, + "cost": { + "input": 0.96, + "output": 3.2, + "cache_read": 0.192, + "cache_write": 0 + } }, - "glm-4.5": { - "id": "glm-4.5", - "name": "GLM-4.5", + "z-ai/glm-4.5v": { + "id": "z-ai/glm-4.5v", + "name": "GLM 4.5V", + "family": "glm", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-08-11", + "last_updated": "2025-08-11", + "modalities": { + "input": ["text", "image", "video"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 64000, + "output": 16384 + }, + "cost": { + "input": 0.6, + "output": 1.8 + } + }, + "z-ai/glm-4.6": { + "id": "z-ai/glm-4.6", + "name": "GLM 4.6", "family": "glm", "attachment": false, "reasoning": true, "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2025-09", + "release_date": "2025-09-30", + "last_updated": "2025-09-30", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 200000, + "output": 128000 + }, + "cost": { + "input": 0.6, + "output": 2.2, + "cache_read": 0.11 + } + }, + "z-ai/glm-4.7-flash": { + "id": "z-ai/glm-4.7-flash", + "name": "GLM-4.7-Flash", + "family": "glm", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_details" + }, + "structured_output": true, + "temperature": true, + "release_date": "2026-01-19", + "last_updated": "2026-01-19", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 200000, + "output": 65535 + }, + "cost": { + "input": 0.07, + "output": 0.4 + } + }, + "sourceful/riverflow-v2-standard-preview": { + "id": "sourceful/riverflow-v2-standard-preview", + "name": "Riverflow V2 Standard Preview", + "family": "sourceful", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "knowledge": "2025-06", + "release_date": "2025-12-08", + "last_updated": "2026-01-28", + "modalities": { + "input": ["text", "image"], + "output": ["image"] + }, + "open_weights": true, + "limit": { + "context": 8192, + "output": 8192 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "sourceful/riverflow-v2-fast-preview": { + "id": "sourceful/riverflow-v2-fast-preview", + "name": "Riverflow V2 Fast Preview", + "family": "sourceful", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "knowledge": "2025-06", + "release_date": "2025-12-08", + "last_updated": "2026-01-28", + "modalities": { + "input": ["text", "image"], + "output": ["image"] + }, + "open_weights": true, + "limit": { + "context": 8192, + "output": 8192 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "sourceful/riverflow-v2-max-preview": { + "id": "sourceful/riverflow-v2-max-preview", + "name": "Riverflow V2 Max Preview", + "family": "sourceful", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "knowledge": "2025-06", + "release_date": "2025-12-08", + "last_updated": "2026-01-28", + "modalities": { + "input": ["text", "image"], + "output": ["image"] + }, + "open_weights": true, + "limit": { + "context": 8192, + "output": 8192 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "minimax/minimax-m2.7": { + "id": "minimax/minimax-m2.7", + "name": "MiniMax M2.7", + "family": "minimax", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2026-03-18", + "last_updated": "2026-03-18", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 204800, + "output": 131072 + }, + "cost": { + "input": 0.3, + "output": 1.2, + "cache_read": 0.06, + "cache_write": 0.375 + } + }, + "minimax/minimax-m2": { + "id": "minimax/minimax-m2", + "name": "MiniMax M2", + "family": "minimax", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_details" + }, + "structured_output": true, + "temperature": true, + "release_date": "2025-10-23", + "last_updated": "2025-10-23", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 196600, + "output": 118000 + }, + "cost": { + "input": 0.28, + "output": 1.15, + "cache_read": 0.28, + "cache_write": 1.15 + } + }, + "minimax/minimax-01": { + "id": "minimax/minimax-01", + "name": "MiniMax-01", + "family": "minimax", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2025-01-15", + "last_updated": "2025-01-15", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 1000000, + "output": 1000000 + }, + "cost": { + "input": 0.2, + "output": 1.1 + } + }, + "minimax/minimax-m2.1": { + "id": "minimax/minimax-m2.1", + "name": "MiniMax M2.1", + "family": "minimax", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_details" + }, + "structured_output": true, + "temperature": true, + "release_date": "2025-12-23", + "last_updated": "2025-12-23", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 204800, + "output": 131072 + }, + "cost": { + "input": 0.3, + "output": 1.2 + } + }, + "minimax/minimax-m2.5:free": { + "id": "minimax/minimax-m2.5:free", + "name": "MiniMax M2.5 (free)", + "family": "minimax", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_details" + }, + "structured_output": true, + "temperature": true, + "release_date": "2026-02-12", + "last_updated": "2026-02-12", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 204800, + "output": 131072 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "minimax/minimax-m1": { + "id": "minimax/minimax-m1", + "name": "MiniMax M1", + "family": "minimax", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2025-06-17", + "last_updated": "2025-06-17", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 1000000, + "output": 40000 + }, + "cost": { + "input": 0.4, + "output": 2.2 + } + }, + "minimax/minimax-m2.5": { + "id": "minimax/minimax-m2.5", + "name": "MiniMax M2.5", + "family": "minimax", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_details" + }, + "structured_output": true, + "temperature": true, + "release_date": "2026-02-12", + "last_updated": "2026-02-12", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 204800, + "output": 131072 + }, + "cost": { + "input": 0.3, + "output": 1.2, + "cache_read": 0.03 + } + }, + "qwen/qwen3-coder-plus": { + "id": "qwen/qwen3-coder-plus", + "name": "Qwen3 Coder Plus", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-09-23", + "last_updated": "2025-09-23", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 1000000, + "output": 65536 + }, + "cost": { + "input": 0.65, + "output": 3.25, + "cache_read": 0.13, + "cache_write": 0.8125 + } + }, + "qwen/qwen3.5-397b-a17b": { + "id": "qwen/qwen3.5-397b-a17b", + "name": "Qwen3.5 397B A17B", + "family": "qwen", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2026-02-16", + "last_updated": "2026-02-16", + "modalities": { + "input": ["text", "image", "video"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 65536 + }, + "cost": { + "input": 0.6, + "output": 3.6 + } + }, + "qwen/qwen2.5-vl-72b-instruct": { + "id": "qwen/qwen2.5-vl-72b-instruct", + "name": "Qwen2.5 VL 72B Instruct", + "family": "qwen", + "attachment": true, + "reasoning": false, + "tool_call": false, + "structured_output": true, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2025-02-01", + "last_updated": "2025-02-01", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 32768, + "output": 8192 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "qwen/qwen-plus": { + "id": "qwen/qwen-plus", + "name": "Qwen: Qwen-Plus", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": false, + "temperature": true, + "knowledge": "2024-04", + "release_date": "2025-01-25", + "last_updated": "2025-01-25", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000000, + "output": 32768 + }, + "cost": { + "input": 0.26, + "output": 0.78, + "cache_read": 0.052, + "cache_write": 0.325 + } + }, + "qwen/qwen3.5-flash-02-23": { + "id": "qwen/qwen3.5-flash-02-23", + "name": "Qwen: Qwen3.5-Flash", + "family": "qwen", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2026-02-25", + "last_updated": "2026-02-25", + "modalities": { + "input": ["text", "image", "video"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000000, + "output": 65536 + }, + "cost": { + "input": 0.065, + "output": 0.26 + } + }, + "qwen/qwen3.6-plus": { + "id": "qwen/qwen3.6-plus", + "name": "Qwen3.6 Plus", + "family": "qwen", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2026-04-02", + "last_updated": "2026-04-02", + "modalities": { + "input": ["text", "image", "video"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000000, + "output": 65536 + }, + "cost": { + "input": 0.325, + "output": 1.95, + "cache_read": 0.0325, + "cache_write": 0.40625 + } + }, + "qwen/qwen3-max": { + "id": "qwen/qwen3-max", + "name": "Qwen3 Max", + "family": "qwen", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2025-09-05", + "last_updated": "2025-09-05", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 262144, + "output": 32768 + }, + "cost": { + "input": 1.2, + "output": 6, + "cache_read": 0.156, + "cache_write": 0.975 + } + }, + "qwen/qwen3-coder:exacto": { + "id": "qwen/qwen3-coder:exacto", + "name": "Qwen3 Coder (exacto)", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-07-23", + "last_updated": "2025-07-23", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 32768 + }, + "cost": { + "input": 0.38, + "output": 1.53 + } + }, + "qwen/qwen3-30b-a3b-instruct-2507": { + "id": "qwen/qwen3-30b-a3b-instruct-2507", + "name": "Qwen3 30B A3B Instruct 2507", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-07-29", + "last_updated": "2025-07-29", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262000, + "output": 262000 + }, + "cost": { + "input": 0.2, + "output": 0.8 + } + }, + "qwen/qwen-3.6-27b": { + "id": "qwen/qwen-3.6-27b", + "name": "Qwen3.6 27B", + "family": "qwen", + "attachment": true, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2026-04-22", + "last_updated": "2026-04-22", + "modalities": { + "input": ["text", "image", "video"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 81920 + }, + "cost": { + "input": 0.195, + "output": 1.56 + } + }, + "qwen/qwen3-235b-a22b-thinking-2507": { + "id": "qwen/qwen3-235b-a22b-thinking-2507", + "name": "Qwen3 235B A22B Thinking 2507", + "family": "qwen", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-07-25", + "last_updated": "2025-07-25", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 81920 + }, + "cost": { + "input": 0.078, + "output": 0.312 + } + }, + "qwen/qwen3-next-80b-a3b-thinking": { + "id": "qwen/qwen3-next-80b-a3b-thinking", + "name": "Qwen3 Next 80B A3B Thinking", + "family": "qwen", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-09-11", + "last_updated": "2025-09-11", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 262144 + }, + "cost": { + "input": 0.14, + "output": 1.4 + } + }, + "qwen/qwen3-30b-a3b-thinking-2507": { + "id": "qwen/qwen3-30b-a3b-thinking-2507", + "name": "Qwen3 30B A3B Thinking 2507", + "family": "qwen", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-07-29", + "last_updated": "2025-07-29", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262000, + "output": 262000 + }, + "cost": { + "input": 0.2, + "output": 0.8 + } + }, + "qwen/qwen3-coder-flash": { + "id": "qwen/qwen3-coder-flash", + "name": "Qwen3 Coder Flash", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": false, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-07-23", + "last_updated": "2025-07-23", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 66536 + }, + "cost": { + "input": 0.3, + "output": 1.5, + "cache_read": 0.039, + "cache_write": 0.24375 + } + }, + "qwen/qwen3-next-80b-a3b-instruct": { + "id": "qwen/qwen3-next-80b-a3b-instruct", + "name": "Qwen3 Next 80B A3B Instruct", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-09-11", + "last_updated": "2025-09-11", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 262144 + }, + "cost": { + "input": 0.14, + "output": 1.4 + } + }, + "qwen/qwen-2.5-coder-32b-instruct": { + "id": "qwen/qwen-2.5-coder-32b-instruct", + "name": "Qwen2.5 Coder 32B Instruct", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": true, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2024-11-11", + "last_updated": "2024-11-11", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 32768, + "output": 8192 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "qwen/qwen3-coder-30b-a3b-instruct": { + "id": "qwen/qwen3-coder-30b-a3b-instruct", + "name": "Qwen3 Coder 30B A3B Instruct", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-07-31", + "last_updated": "2025-07-31", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 160000, + "output": 65536 + }, + "cost": { + "input": 0.07, + "output": 0.27 + } + }, + "qwen/qwen3-coder": { + "id": "qwen/qwen3-coder", + "name": "Qwen3 Coder", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-07-23", + "last_updated": "2025-07-23", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 66536 + }, + "cost": { + "input": 0.3, + "output": 1.2 + } + }, + "qwen/qwen3.5-plus-02-15": { + "id": "qwen/qwen3.5-plus-02-15", + "name": "Qwen3.5 Plus 2026-02-15", + "family": "qwen", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2026-02-16", + "last_updated": "2026-02-16", + "modalities": { + "input": ["text", "image", "video"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000000, + "output": 65536 + }, + "cost": { + "input": 0.4, + "output": 2.4 + } + }, + "qwen/qwen3-235b-a22b-07-25": { + "id": "qwen/qwen3-235b-a22b-07-25", + "name": "Qwen3 235B A22B Instruct 2507", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-04-28", + "last_updated": "2025-07-21", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 131072 + }, + "cost": { + "input": 0.15, + "output": 0.85 + } + }, + "google/gemini-2.5-pro-preview-05-06": { + "id": "google/gemini-2.5-pro-preview-05-06", + "name": "Gemini 2.5 Pro Preview 05-06", + "family": "gemini-pro", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2025-05-06", + "last_updated": "2025-05-06", + "modalities": { + "input": ["text", "image", "audio", "video", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1048576, + "output": 65536 + }, + "cost": { + "input": 1.25, + "output": 10, + "cache_read": 0.31 + } + }, + "google/gemini-3.1-pro-preview-customtools": { + "id": "google/gemini-3.1-pro-preview-customtools", + "name": "Gemini 3.1 Pro Preview Custom Tools", + "family": "gemini-pro", + "attachment": true, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_details" + }, + "structured_output": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2026-02-19", + "last_updated": "2026-02-19", + "modalities": { + "input": ["text", "image", "audio", "video", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1048576, + "output": 65536 + }, + "cost": { + "input": 2, + "output": 12, + "reasoning": 12, + "tiers": [ + { + "input": 4, + "output": 18, + "cache_read": 0.4, + "tier": { + "type": "context", + "size": 200000 + } + } + ], + "context_over_200k": { + "input": 4, + "output": 18, + "cache_read": 0.4 + } + } + }, + "google/gemma-3-4b-it:free": { + "id": "google/gemma-3-4b-it:free", + "name": "Gemma 3 4B (free)", + "family": "gemma", + "attachment": true, + "reasoning": false, + "tool_call": false, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2025-03-13", + "last_updated": "2025-03-13", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 32768, + "output": 8192 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "google/gemini-2.5-flash-lite-preview-09-2025": { + "id": "google/gemini-2.5-flash-lite-preview-09-2025", + "name": "Gemini 2.5 Flash Lite Preview 09-25", + "family": "gemini-flash-lite", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2025-09-25", + "last_updated": "2025-09-25", + "modalities": { + "input": ["text", "image", "audio", "video", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1048576, + "output": 65536 + }, + "cost": { + "input": 0.1, + "output": 0.4, + "cache_read": 0.025 + } + }, + "google/gemini-2.0-flash-001": { + "id": "google/gemini-2.0-flash-001", + "name": "Gemini 2.0 Flash", + "family": "gemini-flash", + "attachment": true, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2024-06", + "release_date": "2024-12-11", + "last_updated": "2024-12-11", + "modalities": { + "input": ["text", "image", "audio", "video", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1048576, + "output": 8192 + }, + "cost": { + "input": 0.1, + "output": 0.4, + "cache_read": 0.025 + } + }, + "google/gemma-3n-e4b-it": { + "id": "google/gemma-3n-e4b-it", + "name": "Gemma 3n 4B", + "family": "gemma", + "attachment": true, + "reasoning": false, + "tool_call": false, + "temperature": true, + "knowledge": "2024-06", + "release_date": "2025-05-20", + "last_updated": "2025-05-20", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 32768, + "output": 32768 + }, + "cost": { + "input": 0.02, + "output": 0.04 + } + }, + "google/gemini-3.1-flash-lite-preview": { + "id": "google/gemini-3.1-flash-lite-preview", + "name": "Gemini 3.1 Flash Lite Preview", + "family": "gemini-flash-lite", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2026-03-03", + "last_updated": "2026-03-03", + "modalities": { + "input": ["text", "image", "video", "pdf", "audio"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1048576, + "output": 65536 + }, + "cost": { + "input": 0.25, + "output": 1.5, + "reasoning": 1.5, + "cache_read": 0.025, + "cache_write": 0.083, + "input_audio": 0.5, + "output_audio": 0.5 + } + }, + "google/gemma-3n-e4b-it:free": { + "id": "google/gemma-3n-e4b-it:free", + "name": "Gemma 3n 4B (free)", + "family": "gemma", + "attachment": true, + "reasoning": false, + "tool_call": false, + "temperature": true, + "knowledge": "2024-06", + "release_date": "2025-05-20", + "last_updated": "2025-05-20", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 8192, + "output": 2000 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "google/gemini-3.1-pro-preview": { + "id": "google/gemini-3.1-pro-preview", + "name": "Gemini 3.1 Pro Preview", + "family": "gemini-pro", + "attachment": true, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_details" + }, + "structured_output": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2026-02-19", + "last_updated": "2026-02-19", + "modalities": { + "input": ["text", "image", "audio", "video", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1048576, + "output": 65536 + }, + "cost": { + "input": 2, + "output": 12, + "reasoning": 12, + "tiers": [ + { + "input": 4, + "output": 18, + "cache_read": 0.4, + "tier": { + "type": "context", + "size": 200000 + } + } + ], + "context_over_200k": { + "input": 4, + "output": 18, + "cache_read": 0.4 + } + } + }, + "google/gemini-3-flash-preview": { + "id": "google/gemini-3-flash-preview", + "name": "Gemini 3 Flash Preview", + "family": "gemini-flash", + "attachment": true, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_details" + }, + "structured_output": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2025-12-17", + "last_updated": "2025-12-17", + "modalities": { + "input": ["text", "image", "audio", "video", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1048576, + "output": 65536 + }, + "cost": { + "input": 0.5, + "output": 3, + "cache_read": 0.05 + } + }, + "google/gemini-3-pro-preview": { + "id": "google/gemini-3-pro-preview", + "name": "Gemini 3 Pro Preview", + "family": "gemini-pro", + "attachment": true, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_details" + }, + "structured_output": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2025-11-18", + "last_updated": "2025-11", + "modalities": { + "input": ["text", "image", "audio", "video", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1050000, + "output": 66000 + }, + "cost": { + "input": 2, + "output": 12 + } + }, + "google/gemma-3n-e2b-it:free": { + "id": "google/gemma-3n-e2b-it:free", + "name": "Gemma 3n 2B (free)", + "family": "gemma", + "attachment": true, + "reasoning": false, + "tool_call": false, + "temperature": true, + "knowledge": "2024-06", + "release_date": "2025-07-09", + "last_updated": "2025-07-09", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 8192, + "output": 2000 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "google/gemma-2-9b-it": { + "id": "google/gemma-2-9b-it", + "name": "Gemma 2 9B", + "family": "gemma", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "knowledge": "2024-06", + "release_date": "2024-06-28", + "last_updated": "2024-06-28", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 8192, + "output": 8192 + }, + "cost": { + "input": 0.03, + "output": 0.09 + } + }, + "google/gemma-4-31b-it": { + "id": "google/gemma-4-31b-it", + "name": "Gemma 4 31B", + "family": "gemma", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2026-04-02", + "last_updated": "2026-04-02", + "modalities": { + "input": ["text", "image", "video"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 262144 + }, + "cost": { + "input": 0.14, + "output": 0.4 + } + }, + "google/gemini-2.5-pro-preview-06-05": { + "id": "google/gemini-2.5-pro-preview-06-05", + "name": "Gemini 2.5 Pro Preview 06-05", + "family": "gemini-pro", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2025-06-05", + "last_updated": "2025-06-05", + "modalities": { + "input": ["text", "image", "audio", "video", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1048576, + "output": 65536 + }, + "cost": { + "input": 1.25, + "output": 10, + "cache_read": 0.31 + } + }, + "google/gemma-3-12b-it": { + "id": "google/gemma-3-12b-it", + "name": "Gemma 3 12B", + "family": "gemma", + "attachment": true, + "reasoning": false, + "tool_call": false, + "structured_output": true, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2025-03-13", + "last_updated": "2025-03-13", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 131072 + }, + "cost": { + "input": 0.03, + "output": 0.1 + } + }, + "google/gemma-3-27b-it:free": { + "id": "google/gemma-3-27b-it:free", + "name": "Gemma 3 27B (free)", + "family": "gemma", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2025-03-12", + "last_updated": "2025-03-12", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 8192 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "google/gemini-2.5-flash": { + "id": "google/gemini-2.5-flash", + "name": "Gemini 2.5 Flash", + "family": "gemini-flash", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2025-07-17", + "last_updated": "2025-07-17", + "modalities": { + "input": ["text", "image", "audio", "video", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1048576, + "output": 65536 + }, + "cost": { + "input": 0.3, + "output": 2.5, + "cache_read": 0.0375 + } + }, + "google/gemini-3.1-flash-image-preview": { + "id": "google/gemini-3.1-flash-image-preview", + "name": "Gemini 3.1 Flash Image Preview (Nano Banana 2)", + "family": "gemini-flash", + "attachment": true, + "reasoning": true, + "tool_call": false, + "structured_output": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2026-02-26", + "last_updated": "2026-02-26", + "modalities": { + "input": ["text", "image"], + "output": ["text", "image"] + }, + "open_weights": false, + "limit": { + "context": 65536, + "output": 65536 + }, + "cost": { + "input": 0.5, + "output": 3 + } + }, + "google/gemma-4-31b-it:free": { + "id": "google/gemma-4-31b-it:free", + "name": "Gemma 4 31B (free)", + "family": "gemma", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2026-04-02", + "last_updated": "2026-04-02", + "modalities": { + "input": ["text", "image", "video"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 32768 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "google/gemma-3-12b-it:free": { + "id": "google/gemma-3-12b-it:free", + "name": "Gemma 3 12B (free)", + "family": "gemma", + "attachment": true, + "reasoning": false, + "tool_call": false, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2025-03-13", + "last_updated": "2025-03-13", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 32768, + "output": 8192 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "google/gemma-3-4b-it": { + "id": "google/gemma-3-4b-it", + "name": "Gemma 3 4B", + "family": "gemma", + "attachment": true, + "reasoning": false, + "tool_call": false, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2025-03-13", + "last_updated": "2025-03-13", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 96000, + "output": 96000 + }, + "cost": { + "input": 0.01703, + "output": 0.06815 + } + }, + "google/gemini-2.5-flash-preview-09-2025": { + "id": "google/gemini-2.5-flash-preview-09-2025", + "name": "Gemini 2.5 Flash Preview 09-25", + "family": "gemini-flash", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2025-09-25", + "last_updated": "2025-09-25", + "modalities": { + "input": ["text", "image", "audio", "video", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1048576, + "output": 65536 + }, + "cost": { + "input": 0.3, + "output": 2.5, + "cache_read": 0.031 + } + }, + "google/gemma-3-27b-it": { + "id": "google/gemma-3-27b-it", + "name": "Gemma 3 27B", + "family": "gemma", + "attachment": true, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2025-03-12", + "last_updated": "2025-03-12", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 96000, + "output": 96000 + }, + "cost": { + "input": 0.04, + "output": 0.15 + } + }, + "google/gemma-4-26b-a4b-it": { + "id": "google/gemma-4-26b-a4b-it", + "name": "Gemma 4 26B A4B", + "family": "gemma", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2026-04-03", + "last_updated": "2026-04-03", + "modalities": { + "input": ["text", "image", "video"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 262144 + }, + "cost": { + "input": 0.13, + "output": 0.4 + } + }, + "google/gemma-4-26b-a4b-it:free": { + "id": "google/gemma-4-26b-a4b-it:free", + "name": "Gemma 4 26B A4B (free)", + "family": "gemma", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2026-04-03", + "last_updated": "2026-04-03", + "modalities": { + "input": ["text", "image", "video"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 32768 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "google/gemini-2.5-flash-lite": { + "id": "google/gemini-2.5-flash-lite", + "name": "Gemini 2.5 Flash Lite", + "family": "gemini-flash-lite", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2025-06-17", + "last_updated": "2025-06-17", + "modalities": { + "input": ["text", "image", "audio", "video", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1048576, + "output": 65536 + }, + "cost": { + "input": 0.1, + "output": 0.4, + "cache_read": 0.025 + } + }, + "moonshotai/kimi-k2.5": { + "id": "moonshotai/kimi-k2.5", + "name": "Kimi K2.5", + "family": "kimi", + "attachment": true, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_details" + }, + "structured_output": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2026-01-27", + "last_updated": "2026-01-27", + "modalities": { + "input": ["text", "image", "video"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 262144 + }, + "cost": { + "input": 0.6, + "output": 3, + "cache_read": 0.1 + } + }, + "moonshotai/kimi-k2-0905": { + "id": "moonshotai/kimi-k2-0905", + "name": "Kimi K2 Instruct 0905", + "family": "kimi", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2025-09-05", + "last_updated": "2025-09-05", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 16384 + }, + "cost": { + "input": 0.6, + "output": 2.5 + } + }, + "moonshotai/kimi-k2.6": { + "id": "moonshotai/kimi-k2.6", + "name": "Kimi K2.6", + "family": "kimi", + "attachment": true, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_details" + }, + "structured_output": true, + "temperature": true, + "release_date": "2026-04-20", + "last_updated": "2026-04-20", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 262144 + }, + "cost": { + "input": 0.95, + "output": 4, + "cache_read": 0.16 + } + }, + "moonshotai/kimi-k2-0905:exacto": { + "id": "moonshotai/kimi-k2-0905:exacto", + "name": "Kimi K2 Instruct 0905 (exacto)", + "family": "kimi", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2025-09-05", + "last_updated": "2025-09-05", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 16384 + }, + "cost": { + "input": 0.6, + "output": 2.5 + } + }, + "moonshotai/kimi-k2": { + "id": "moonshotai/kimi-k2", + "name": "Kimi K2", + "family": "kimi", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2025-07-11", + "last_updated": "2025-07-11", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 32768 + }, + "cost": { + "input": 0.55, + "output": 2.2 + } + }, + "moonshotai/kimi-k2-thinking": { + "id": "moonshotai/kimi-k2-thinking", + "name": "Kimi K2 Thinking", + "family": "kimi-thinking", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_details" + }, + "structured_output": true, + "temperature": true, + "knowledge": "2024-08", + "release_date": "2025-11-06", + "last_updated": "2025-11-06", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 262144 + }, + "cost": { + "input": 0.6, + "output": 2.5, + "cache_read": 0.15 + } + }, + "anthropic/claude-opus-4.1": { + "id": "anthropic/claude-opus-4.1", + "name": "Claude Opus 4.1", + "family": "claude-opus", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2025-03-31", + "release_date": "2025-08-05", + "last_updated": "2025-08-05", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 32000 + }, + "cost": { + "input": 15, + "output": 75, + "cache_read": 1.5, + "cache_write": 18.75 + } + }, + "anthropic/claude-3.7-sonnet": { + "id": "anthropic/claude-3.7-sonnet", + "name": "Claude Sonnet 3.7", + "family": "claude-sonnet", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-01", + "release_date": "2025-02-19", + "last_updated": "2025-02-19", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 128000 + }, + "cost": { + "input": 15, + "output": 75, + "cache_read": 1.5, + "cache_write": 18.75 + } + }, + "anthropic/claude-opus-4.6": { + "id": "anthropic/claude-opus-4.6", + "name": "Claude Opus 4.6", + "family": "claude-opus", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2025-05-31", + "release_date": "2026-02-05", + "last_updated": "2026-02-05", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000000, + "output": 128000 + }, + "cost": { + "input": 5, + "output": 25, + "cache_read": 0.5, + "cache_write": 6.25, + "tiers": [ + { + "input": 10, + "output": 37.5, + "cache_read": 1, + "cache_write": 12.5, + "tier": { + "type": "context", + "size": 200000 + } + } + ], + "context_over_200k": { + "input": 10, + "output": 37.5, + "cache_read": 1, + "cache_write": 12.5 + } + } + }, + "anthropic/claude-opus-4.7": { + "id": "anthropic/claude-opus-4.7", + "name": "Claude Opus 4.7", + "family": "claude-opus", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": false, + "knowledge": "2026-01-31", + "release_date": "2026-04-16", + "last_updated": "2026-04-16", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000000, + "output": 128000 + }, + "cost": { + "input": 5, + "output": 25, + "cache_read": 0.5, + "cache_write": 6.25, + "tiers": [ + { + "input": 10, + "output": 37.5, + "cache_read": 1, + "cache_write": 12.5, + "tier": { + "type": "context", + "size": 200000 + } + } + ], + "context_over_200k": { + "input": 10, + "output": 37.5, + "cache_read": 1, + "cache_write": 12.5 + } + } + }, + "anthropic/claude-sonnet-4": { + "id": "anthropic/claude-sonnet-4", + "name": "Claude Sonnet 4", + "family": "claude-sonnet", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-03-31", + "release_date": "2025-05-22", + "last_updated": "2025-05-22", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 64000 + }, + "cost": { + "input": 3, + "output": 15, + "cache_read": 0.3, + "cache_write": 3.75, + "tiers": [ + { + "input": 6, + "output": 22.5, + "cache_read": 0.6, + "cache_write": 7.5, + "tier": { + "type": "context", + "size": 200000 + } + } + ], + "context_over_200k": { + "input": 6, + "output": 22.5, + "cache_read": 0.6, + "cache_write": 7.5 + } + } + }, + "anthropic/claude-sonnet-4.5": { + "id": "anthropic/claude-sonnet-4.5", + "name": "Claude Sonnet 4.5", + "family": "claude-sonnet", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2025-07-31", + "release_date": "2025-09-29", + "last_updated": "2025-09-29", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000000, + "output": 64000 + }, + "cost": { + "input": 3, + "output": 15, + "cache_read": 0.3, + "cache_write": 3.75, + "tiers": [ + { + "input": 6, + "output": 22.5, + "cache_read": 0.6, + "cache_write": 7.5, + "tier": { + "type": "context", + "size": 200000 + } + } + ], + "context_over_200k": { + "input": 6, + "output": 22.5, + "cache_read": 0.6, + "cache_write": 7.5 + } + } + }, + "anthropic/claude-opus-4.5": { + "id": "anthropic/claude-opus-4.5", + "name": "Claude Opus 4.5", + "family": "claude-opus", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2025-05-30", + "release_date": "2025-11-24", + "last_updated": "2025-11-24", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 32000 + }, + "cost": { + "input": 5, + "output": 25, + "cache_read": 0.5, + "cache_write": 6.25 + } + }, + "anthropic/claude-haiku-4.5": { + "id": "anthropic/claude-haiku-4.5", + "name": "Claude Haiku 4.5", + "family": "claude-haiku", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2025-02-28", + "release_date": "2025-10-15", + "last_updated": "2025-10-15", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 64000 + }, + "cost": { + "input": 1, + "output": 5, + "cache_read": 0.1, + "cache_write": 1.25 + } + }, + "anthropic/claude-sonnet-4.6": { + "id": "anthropic/claude-sonnet-4.6", + "name": "Claude Sonnet 4.6", + "family": "claude-sonnet", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2025-08-31", + "release_date": "2026-02-17", + "last_updated": "2026-02-17", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000000, + "output": 128000 + }, + "cost": { + "input": 3, + "output": 15, + "cache_read": 0.3, + "cache_write": 3.75, + "tiers": [ + { + "input": 6, + "output": 22.5, + "cache_read": 0.6, + "cache_write": 7.5, + "tier": { + "type": "context", + "size": 200000 + } + } + ], + "context_over_200k": { + "input": 6, + "output": 22.5, + "cache_read": 0.6, + "cache_write": 7.5 + } + } + }, + "deepseek/deepseek-v4-flash": { + "id": "deepseek/deepseek-v4-flash", + "name": "DeepSeek V4 Flash", + "family": "deepseek-flash", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "structured_output": true, + "temperature": true, + "knowledge": "2025-05", + "release_date": "2026-04-24", + "last_updated": "2026-04-24", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 1048576, + "output": 393216 + }, + "cost": { + "input": 0.14, + "output": 0.28, + "cache_read": 0.028 + } + }, + "deepseek/deepseek-v4-pro": { + "id": "deepseek/deepseek-v4-pro", + "name": "DeepSeek V4 Pro", + "family": "deepseek-thinking", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "structured_output": true, + "temperature": true, + "knowledge": "2025-05", + "release_date": "2026-04-24", + "last_updated": "2026-04-24", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 1048576, + "output": 393216 + }, + "cost": { + "input": 1.74, + "output": 3.48, + "cache_read": 0.145 + } + }, + "x-ai/grok-4.3": { + "id": "x-ai/grok-4.3", + "name": "Grok 4.3", + "family": "grok", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2026-05-01", + "last_updated": "2026-05-01", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000000, + "output": 1000000 + }, + "cost": { + "input": 1.25, + "output": 2.5, + "cache_read": 0.2, + "context_over_200k": { + "input": 2.5, + "output": 5, + "cache_read": 0.4 + }, + "tiers": [ + { + "input": 2.5, + "output": 5, + "cache_read": 0.4, + "tier": { + "type": "context", + "size": 200000 + } + } + ] + } + }, + "openai/gpt-5.5": { + "id": "openai/gpt-5.5", + "name": "GPT-5.5", + "family": "gpt", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": false, + "knowledge": "2025-12-01", + "release_date": "2026-04-23", + "last_updated": "2026-04-23", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1050000, + "input": 922000, + "output": 128000 + }, + "cost": { + "input": 5, + "output": 30, + "cache_read": 0.5, + "context_over_200k": { + "input": 10, + "output": 45, + "cache_read": 1 + }, + "tiers": [ + { + "input": 10, + "output": 45, + "cache_read": 1, + "tier": { + "type": "context", + "size": 272000 + } + } + ] + } + }, + "openai/gpt-5.4": { + "id": "openai/gpt-5.4", + "name": "GPT-5.4", + "family": "gpt", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": false, + "knowledge": "2025-08-31", + "release_date": "2026-03-05", + "last_updated": "2026-03-05", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1050000, + "input": 922000, + "output": 128000 + }, + "cost": { + "input": 2.5, + "output": 15, + "cache_read": 0.25, + "context_over_200k": { + "input": 5, + "output": 22.5, + "cache_read": 0.5 + }, + "tiers": [ + { + "input": 5, + "output": 22.5, + "cache_read": 0.5, + "tier": { + "type": "context", + "size": 272000 + } + } + ] + } + }, + "openai/gpt-5.5-pro": { + "id": "openai/gpt-5.5-pro", + "name": "GPT-5.5 Pro", + "family": "gpt-pro", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": false, + "knowledge": "2025-12-01", + "release_date": "2026-04-23", + "last_updated": "2026-04-23", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1050000, + "input": 922000, + "output": 128000 + }, + "cost": { + "input": 30, + "output": 180, + "context_over_200k": { + "input": 60, + "output": 270 + }, + "tiers": [ + { + "input": 60, + "output": 270, + "tier": { + "type": "context", + "size": 272000 + } + } + ] + } + }, + "google/gemini-2.5-pro": { + "id": "google/gemini-2.5-pro", + "name": "Gemini 2.5 Pro", + "family": "gemini-pro", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2025-03-20", + "last_updated": "2025-06-05", + "modalities": { + "input": ["text", "image", "audio", "video", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1048576, + "output": 65536 + }, + "cost": { + "input": 1.25, + "output": 10, + "cache_read": 0.125, + "context_over_200k": { + "input": 2.5, + "output": 15, + "cache_read": 0.25 + }, + "tiers": [ + { + "input": 2.5, + "output": 15, + "cache_read": 0.25, + "tier": { + "type": "context", + "size": 200000 + } + } + ] + } + }, + "anthropic/claude-opus-4": { + "id": "anthropic/claude-opus-4", + "name": "Claude Opus 4", + "family": "claude-opus", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-03-31", + "release_date": "2025-05-22", + "last_updated": "2025-05-22", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 32000 + }, + "cost": { + "input": 15, + "output": 75, + "cache_read": 1.5, + "cache_write": 18.75 + } + }, + "anthropic/claude-3.5-haiku": { + "id": "anthropic/claude-3.5-haiku", + "name": "Claude Haiku 3.5", + "family": "claude-haiku", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-07-31", + "release_date": "2024-10-22", + "last_updated": "2024-10-22", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 8192 + }, + "cost": { + "input": 0.8, + "output": 4, + "cache_read": 0.08, + "cache_write": 1 + } + }, + "xiaomi/mimo-v2.5-pro": { + "id": "xiaomi/mimo-v2.5-pro", + "name": "Xiaomi: MiMo-V2.5-Pro", + "family": "mimo", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "temperature": true, + "knowledge": "2024-12", + "release_date": "2026-04-22", + "last_updated": "2026-04-22", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 1048576, + "output": 131072 + }, + "cost": { + "input": 1, + "output": 3, + "cache_read": 0.2, + "context_over_200k": { + "input": 2, + "output": 6, + "cache_read": 0.4 + }, + "tiers": [ + { + "input": 2, + "output": 6, + "cache_read": 0.4, + "tier": { + "type": "context", + "size": 256000 + } + } + ] + } + }, + "xiaomi/mimo-v2-omni": { + "id": "xiaomi/mimo-v2-omni", + "name": "Xiaomi: MiMo-V2-Omni", + "family": "mimo", + "attachment": true, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_details" + }, + "temperature": true, + "knowledge": "2024-12", + "release_date": "2026-03-18", + "last_updated": "2026-03-18", + "modalities": { + "input": ["text", "image", "audio", "video", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 262144, + "output": 131072 + }, + "cost": { + "input": 0.4, + "output": 2, + "cache_read": 0.08 + } + }, + "xiaomi/mimo-v2.5": { + "id": "xiaomi/mimo-v2.5", + "name": "Xiaomi: MiMo-V2.5", + "family": "mimo", + "attachment": true, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_details" + }, + "temperature": true, + "knowledge": "2024-12", + "release_date": "2026-04-22", + "last_updated": "2026-04-22", + "modalities": { + "input": ["text", "image", "audio", "video"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 1048576, + "output": 131072 + }, + "cost": { + "input": 0.4, + "output": 2, + "cache_read": 0.08, + "context_over_200k": { + "input": 0.8, + "output": 4, + "cache_read": 0.16 + }, + "tiers": [ + { + "input": 0.8, + "output": 4, + "cache_read": 0.16, + "tier": { + "type": "context", + "size": 256000 + } + } + ] + } + }, + "xiaomi/mimo-v2-pro": { + "id": "xiaomi/mimo-v2-pro", + "name": "Xiaomi: MiMo-V2-Pro", + "family": "mimo", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_details" + }, + "temperature": true, + "knowledge": "2024-12", + "release_date": "2026-03-18", + "last_updated": "2026-03-18", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1048576, + "output": 131072 + }, + "cost": { + "input": 1, + "output": 3, + "cache_read": 0.2, + "context_over_200k": { + "input": 2, + "output": 6, + "cache_read": 0.4 + }, + "tiers": [ + { + "input": 2, + "output": 6, + "cache_read": 0.4, + "tier": { + "type": "context", + "size": 256000 + } + } + ] + } + }, + "xiaomi/mimo-v2-flash": { + "id": "xiaomi/mimo-v2-flash", + "name": "Xiaomi: MiMo-V2-Flash", + "family": "mimo", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_details" + }, + "temperature": true, + "knowledge": "2024-12-01", + "release_date": "2025-12-16", + "last_updated": "2026-02-04", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 65536 + }, + "cost": { + "input": 0.1, + "output": 0.3, + "cache_read": 0.01 + } + } + } + }, + "fireworks-ai": { + "id": "fireworks-ai", + "env": ["FIREWORKS_API_KEY"], + "npm": "@ai-sdk/openai-compatible", + "api": "https://api.fireworks.ai/inference/v1/", + "name": "Fireworks AI", + "doc": "https://fireworks.ai/docs/", + "models": { + "accounts/fireworks/models/glm-5p1": { + "id": "accounts/fireworks/models/glm-5p1", + "name": "GLM 5.1", + "family": "glm", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "temperature": true, + "release_date": "2026-04-01", + "last_updated": "2026-04-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 202800, + "output": 131072 + }, + "cost": { + "input": 1.4, + "output": 4.4, + "cache_read": 0.26 + } + }, + "accounts/fireworks/models/deepseek-v3p2": { + "id": "accounts/fireworks/models/deepseek-v3p2", + "name": "DeepSeek V3.2", + "family": "deepseek", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "temperature": true, + "knowledge": "2025-09", + "release_date": "2025-12-01", + "last_updated": "2025-12-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 160000, + "output": 160000 + }, + "cost": { + "input": 0.56, + "output": 1.68, + "cache_read": 0.28 + } + }, + "accounts/fireworks/models/minimax-m2p5": { + "id": "accounts/fireworks/models/minimax-m2p5", + "name": "MiniMax-M2.5", + "family": "minimax", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "temperature": true, + "release_date": "2026-02-12", + "last_updated": "2026-02-12", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 196608, + "output": 196608 + }, + "cost": { + "input": 0.3, + "output": 1.2, + "cache_read": 0.03 + } + }, + "accounts/fireworks/models/glm-4p5-air": { + "id": "accounts/fireworks/models/glm-4p5-air", + "name": "GLM 4.5 Air", + "family": "glm-air", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-08-01", + "last_updated": "2025-08-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 131072 + }, + "cost": { + "input": 0.22, + "output": 0.88 + } + }, + "accounts/fireworks/models/glm-5": { + "id": "accounts/fireworks/models/glm-5", + "name": "GLM 5", + "family": "glm", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "temperature": true, + "release_date": "2026-02-11", + "last_updated": "2026-02-11", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 202752, + "output": 131072 + }, + "cost": { + "input": 1, + "output": 3.2, + "cache_read": 0.5 + } + }, + "accounts/fireworks/models/deepseek-v3p1": { + "id": "accounts/fireworks/models/deepseek-v3p1", + "name": "DeepSeek V3.1", + "family": "deepseek", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-07", + "release_date": "2025-08-21", + "last_updated": "2025-08-21", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 163840, + "output": 163840 + }, + "cost": { + "input": 0.56, + "output": 1.68 + } + }, + "accounts/fireworks/models/kimi-k2p6": { + "id": "accounts/fireworks/models/kimi-k2p6", + "name": "Kimi K2.6", + "family": "kimi-thinking", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "temperature": true, + "release_date": "2026-04-17", + "last_updated": "2026-04-17", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262000, + "output": 262000 + }, + "cost": { + "input": 0.95, + "output": 4, + "cache_read": 0.16 + } + }, + "accounts/fireworks/models/kimi-k2-instruct": { + "id": "accounts/fireworks/models/kimi-k2-instruct", + "name": "Kimi K2 Instruct", + "family": "kimi", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2025-07-11", + "last_updated": "2025-07-11", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 16384 + }, + "cost": { + "input": 1, + "output": 3 + } + }, + "accounts/fireworks/models/qwen3p6-plus": { + "id": "accounts/fireworks/models/qwen3p6-plus", + "name": "Qwen 3.6 Plus", + "family": "qwen", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2026-04-04", + "last_updated": "2026-04-04", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 8192 + }, + "cost": { + "input": 0.5, + "output": 3, + "cache_read": 0.1 + } + }, + "accounts/fireworks/models/minimax-m2p1": { + "id": "accounts/fireworks/models/minimax-m2p1", + "name": "MiniMax-M2.1", + "family": "minimax", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "temperature": true, + "release_date": "2025-12-23", + "last_updated": "2025-12-23", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 200000, + "output": 200000 + }, + "cost": { + "input": 0.3, + "output": 1.2, + "cache_read": 0.03 + } + }, + "accounts/fireworks/models/minimax-m2p7": { + "id": "accounts/fireworks/models/minimax-m2p7", + "name": "MiniMax-M2.7", + "family": "minimax", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "temperature": true, + "release_date": "2026-04-12", + "last_updated": "2026-04-12", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 196608, + "output": 196608 + }, + "cost": { + "input": 0.3, + "output": 1.2, + "cache_read": 0.03 + } + }, + "accounts/fireworks/models/glm-4p7": { + "id": "accounts/fireworks/models/glm-4p7", + "name": "GLM 4.7", + "family": "glm", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-12-22", + "last_updated": "2025-12-22", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 198000, + "output": 198000 + }, + "cost": { + "input": 0.6, + "output": 2.2, + "cache_read": 0.3 + } + }, + "accounts/fireworks/models/glm-4p5": { + "id": "accounts/fireworks/models/glm-4p5", + "name": "GLM 4.5", + "family": "glm", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-07-29", + "last_updated": "2025-07-29", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 131072 + }, + "cost": { + "input": 0.55, + "output": 2.19 + } + }, + "accounts/fireworks/models/kimi-k2p5": { + "id": "accounts/fireworks/models/kimi-k2p5", + "name": "Kimi K2.5", + "family": "kimi-thinking", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2026-01-27", + "last_updated": "2026-01-27", + "modalities": { + "input": ["text", "image", "video"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 256000, + "output": 256000 + }, + "cost": { + "input": 0.6, + "output": 3, + "cache_read": 0.1 + } + }, + "accounts/fireworks/models/gpt-oss-20b": { + "id": "accounts/fireworks/models/gpt-oss-20b", + "name": "GPT OSS 20B", + "family": "gpt-oss", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2025-08-05", + "last_updated": "2025-08-05", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 32768 + }, + "cost": { + "input": 0.05, + "output": 0.2 + } + }, + "accounts/fireworks/models/gpt-oss-120b": { + "id": "accounts/fireworks/models/gpt-oss-120b", + "name": "GPT OSS 120B", + "family": "gpt-oss", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2025-08-05", + "last_updated": "2025-08-05", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 32768 + }, + "cost": { + "input": 0.15, + "output": 0.6 + } + }, + "accounts/fireworks/models/kimi-k2-thinking": { + "id": "accounts/fireworks/models/kimi-k2-thinking", + "name": "Kimi K2 Thinking", + "family": "kimi-thinking", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "temperature": true, + "release_date": "2025-11-06", + "last_updated": "2025-11-06", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 256000, + "output": 256000 + }, + "cost": { + "input": 0.6, + "output": 2.5, + "cache_read": 0.3 + } + }, + "accounts/fireworks/routers/kimi-k2p5-turbo": { + "id": "accounts/fireworks/routers/kimi-k2p5-turbo", + "name": "Kimi K2.5 Turbo", + "family": "kimi-thinking", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2026-01-27", + "last_updated": "2026-01-27", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 256000, + "output": 256000 + }, + "cost": { + "input": 0, + "output": 0, + "cache_read": 0 + } + }, + "accounts/fireworks/models/deepseek-v4-pro": { + "id": "accounts/fireworks/models/deepseek-v4-pro", + "name": "DeepSeek V4 Pro", + "family": "deepseek-thinking", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "structured_output": true, + "temperature": true, + "knowledge": "2025-05", + "release_date": "2026-04-24", + "last_updated": "2026-04-24", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 1000000, + "output": 384000 + }, + "cost": { + "input": 1.74, + "output": 3.48, + "cache_read": 0.15 + } + } + } + }, + "kimi-for-coding": { + "id": "kimi-for-coding", + "env": ["KIMI_API_KEY"], + "npm": "@ai-sdk/anthropic", + "api": "https://api.kimi.com/coding/v1", + "name": "Kimi For Coding", + "doc": "https://www.kimi.com/coding/docs/en/third-party-agents.html", + "models": { + "k2p6": { + "id": "k2p6", + "name": "Kimi K2.6", + "family": "kimi-thinking", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2026-04", + "last_updated": "2026-04", + "modalities": { + "input": ["text", "image", "video"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 32768 + }, + "cost": { + "input": 0, + "output": 0, + "cache_read": 0, + "cache_write": 0 + } + }, + "k2p5": { + "id": "k2p5", + "name": "Kimi K2.5", + "family": "kimi-thinking", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2026-01", + "last_updated": "2026-01", + "modalities": { + "input": ["text", "image", "video"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 32768 + }, + "cost": { + "input": 0, + "output": 0, + "cache_read": 0, + "cache_write": 0 + } + }, + "kimi-k2-thinking": { + "id": "kimi-k2-thinking", + "name": "Kimi K2 Thinking", + "family": "kimi-thinking", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2025-07", + "release_date": "2025-11", + "last_updated": "2025-12", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 32768 + }, + "cost": { + "input": 0, + "output": 0, + "cache_read": 0, + "cache_write": 0 + } + } + } + }, + "moark": { + "id": "moark", + "env": ["MOARK_API_KEY"], + "npm": "@ai-sdk/openai-compatible", + "api": "https://moark.com/v1", + "name": "Moark", + "doc": "https://moark.com/docs/openapi/v1#tag/%E6%96%87%E6%9C%AC%E7%94%9F%E6%88%90", + "models": { + "GLM-4.7": { + "id": "GLM-4.7", + "name": "GLM-4.7", + "family": "glm", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-12-22", + "last_updated": "2025-12-22", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 204800, + "output": 131072 + }, + "cost": { + "input": 3.5, + "output": 14 + } + }, + "MiniMax-M2.1": { + "id": "MiniMax-M2.1", + "name": "MiniMax-M2.1", + "family": "minimax", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2025-12-23", + "last_updated": "2025-12-23", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 204800, + "output": 131072 + }, + "cost": { + "input": 2.1, + "output": 8.4 + } + } + } + }, + "opencode-go": { + "id": "opencode-go", + "env": ["OPENCODE_API_KEY"], + "npm": "@ai-sdk/openai-compatible", + "api": "https://opencode.ai/zen/go/v1", + "name": "OpenCode Go", + "doc": "https://opencode.ai/docs/zen", + "models": { + "minimax-m2.7": { + "id": "minimax-m2.7", + "name": "MiniMax M2.7", + "family": "minimax-m2.7", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2026-03-18", + "last_updated": "2026-03-18", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 204800, + "output": 131072 + }, + "provider": { + "npm": "@ai-sdk/anthropic" + }, + "cost": { + "input": 0.3, + "output": 1.2, + "cache_read": 0.06 + } + }, + "kimi-k2.5": { + "id": "kimi-k2.5", + "name": "Kimi K2.5", + "family": "kimi-k2.5", + "attachment": true, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2026-01-27", + "last_updated": "2026-01-27", + "modalities": { + "input": ["text", "image", "video"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 65536 + }, + "cost": { + "input": 0.6, + "output": 3, + "cache_read": 0.1 + } + }, + "mimo-v2.5-pro": { + "id": "mimo-v2.5-pro", + "name": "MiMo V2.5 Pro", + "family": "mimo-v2.5-pro", + "attachment": true, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "temperature": true, + "knowledge": "2024-12", + "release_date": "2026-04-22", + "last_updated": "2026-04-22", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 1048576, + "output": 128000 + }, + "cost": { + "input": 1, + "output": 3, + "cache_read": 0.2, + "tiers": [ + { + "input": 2, + "output": 6, + "cache_read": 0.4, + "tier": { + "type": "context", + "size": 256000 + } + } + ], + "context_over_200k": { + "input": 2, + "output": 6, + "cache_read": 0.4 + } + } + }, + "glm-5": { + "id": "glm-5", + "name": "GLM-5", + "family": "glm", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2026-02-11", + "last_updated": "2026-02-11", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 202752, + "output": 32768 + }, + "cost": { + "input": 1, + "output": 3.2, + "cache_read": 0.2 + } + }, + "mimo-v2-omni": { + "id": "mimo-v2-omni", + "name": "MiMo V2 Omni", + "family": "mimo-v2-omni", + "attachment": true, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "temperature": true, + "knowledge": "2024-12", + "release_date": "2026-03-18", + "last_updated": "2026-03-18", + "modalities": { + "input": ["text", "image", "audio", "pdf"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 128000 + }, + "status": "deprecated", + "cost": { + "input": 0.4, + "output": 2, + "cache_read": 0.08 + } + }, + "mimo-v2.5": { + "id": "mimo-v2.5", + "name": "MiMo V2.5", + "family": "mimo-v2.5", + "attachment": true, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "temperature": true, + "knowledge": "2024-12", + "release_date": "2026-04-22", + "last_updated": "2026-04-22", + "modalities": { + "input": ["text", "image", "audio", "video"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 1000000, + "output": 128000 + }, + "cost": { + "input": 0.4, + "output": 2, + "cache_read": 0.08, + "tiers": [ + { + "input": 0.8, + "output": 4, + "cache_read": 0.16, + "tier": { + "type": "context", + "size": 256000 + } + } + ], + "context_over_200k": { + "input": 0.8, + "output": 4, + "cache_read": 0.16 + } + } + }, + "qwen3.6-plus": { + "id": "qwen3.6-plus", + "name": "Qwen3.6 Plus", + "family": "qwen3.6", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2026-04-02", + "last_updated": "2026-04-02", + "modalities": { + "input": ["text", "image", "video"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 262144, + "output": 65536 + }, + "provider": { + "npm": "@ai-sdk/anthropic" + }, + "cost": { + "input": 0.5, + "output": 3, + "cache_read": 0.05, + "cache_write": 0.625 + } + }, + "glm-5.1": { + "id": "glm-5.1", + "name": "GLM-5.1", + "family": "glm", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2026-04-07", + "last_updated": "2026-04-07", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 202752, + "output": 32768 + }, + "cost": { + "input": 1.4, + "output": 4.4, + "cache_read": 0.26 + } + }, + "deepseek-v4-flash": { + "id": "deepseek-v4-flash", + "name": "DeepSeek V4 Flash", + "family": "deepseek-flash", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "structured_output": true, + "temperature": true, + "knowledge": "2025-05", + "release_date": "2026-04-24", + "last_updated": "2026-04-24", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 1000000, + "output": 384000 + }, + "cost": { + "input": 0.14, + "output": 0.28, + "cache_read": 0.0028 + } + }, + "kimi-k2.6": { + "id": "kimi-k2.6", + "name": "Kimi K2.6", + "family": "kimi-k2.6", + "attachment": true, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2026-04-21", + "last_updated": "2026-04-21", + "modalities": { + "input": ["text", "image", "video"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 65536 + }, + "cost": { + "input": 0.95, + "output": 4, + "cache_read": 0.16 + } + }, + "deepseek-v4-pro": { + "id": "deepseek-v4-pro", + "name": "DeepSeek V4 Pro", + "family": "deepseek-thinking", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "structured_output": true, + "temperature": true, + "knowledge": "2025-05", + "release_date": "2026-04-24", + "last_updated": "2026-04-24", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 1000000, + "output": 384000 + }, + "cost": { + "input": 1.74, + "output": 3.48, + "cache_read": 0.0145 + } + }, + "minimax-m2.5": { + "id": "minimax-m2.5", + "name": "MiniMax M2.5", + "family": "minimax-m2.5", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2026-02-12", + "last_updated": "2026-02-12", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 204800, + "output": 65536 + }, + "provider": { + "npm": "@ai-sdk/anthropic" + }, + "cost": { + "input": 0.3, + "output": 1.2, + "cache_read": 0.03 + } + }, + "mimo-v2-pro": { + "id": "mimo-v2-pro", + "name": "MiMo V2 Pro", + "family": "mimo-v2-pro", + "attachment": true, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "temperature": true, + "knowledge": "2024-12", + "release_date": "2026-03-18", + "last_updated": "2026-03-18", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 1048576, + "output": 128000 + }, + "status": "deprecated", + "cost": { + "input": 1, + "output": 3, + "cache_read": 0.2, + "tiers": [ + { + "input": 2, + "output": 6, + "cache_read": 0.4, + "tier": { + "type": "context", + "size": 256000 + } + } + ], + "context_over_200k": { + "input": 2, + "output": 6, + "cache_read": 0.4 + } + } + }, + "qwen3.5-plus": { + "id": "qwen3.5-plus", + "name": "Qwen3.5 Plus", + "family": "qwen3.5", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2026-02-16", + "last_updated": "2026-02-16", + "modalities": { + "input": ["text", "image", "video"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 262144, + "output": 65536 + }, + "provider": { + "npm": "@ai-sdk/anthropic" + }, + "cost": { + "input": 0.2, + "output": 1.2, + "cache_read": 0.02, + "cache_write": 0.25 + } + } + } + }, + "databricks": { + "id": "databricks", + "env": ["DATABRICKS_HOST", "DATABRICKS_TOKEN"], + "npm": "@ai-sdk/openai-compatible", + "api": "https://${DATABRICKS_HOST}/ai-gateway/mlflow/v1", + "name": "Databricks", + "doc": "https://docs.databricks.com/aws/en/machine-learning/foundation-models/", + "models": { + "databricks-gpt-oss-120b": { + "id": "databricks-gpt-oss-120b", + "name": "GPT OSS 120B", + "family": "gpt-oss", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-08-05", + "last_updated": "2025-08-05", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 32768 + }, + "cost": { + "input": 0.072, + "output": 0.28 + } + }, + "databricks-gpt-oss-20b": { + "id": "databricks-gpt-oss-20b", + "name": "GPT OSS 20B", + "family": "gpt-oss", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-08-05", + "last_updated": "2025-08-05", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 32768 + }, + "cost": { + "input": 0.05, + "output": 0.2 + } + }, + "databricks-claude-haiku-4-5": { + "id": "databricks-claude-haiku-4-5", + "name": "Claude Haiku 4.5 (latest)", + "family": "claude-haiku", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-02-28", + "release_date": "2025-10-15", + "last_updated": "2025-10-15", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 64000 + }, + "cost": { + "input": 1, + "output": 5, + "cache_read": 0.1, + "cache_write": 1.25 + } + }, + "databricks-claude-sonnet-4-6": { + "id": "databricks-claude-sonnet-4-6", + "name": "Claude Sonnet 4.6", + "family": "claude-sonnet", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-08-31", + "release_date": "2026-02-17", + "last_updated": "2026-03-13", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000000, + "output": 64000 + }, + "cost": { + "input": 3, + "output": 15, + "cache_read": 0.3, + "cache_write": 3.75 + } + }, + "databricks-gemini-3-pro": { + "id": "databricks-gemini-3-pro", + "name": "Gemini 3 Pro Preview", + "family": "gemini-pro", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2025-11-18", + "last_updated": "2025-11-18", + "modalities": { + "input": ["text", "image", "video", "audio", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000000, + "output": 64000 + }, + "cost": { + "input": 2, + "output": 12, + "cache_read": 0.2, + "context_over_200k": { + "input": 4, + "output": 18, + "cache_read": 0.4 + }, + "tiers": [ + { + "input": 4, + "output": 18, + "cache_read": 0.4, + "tier": { + "type": "context", + "size": 200000 + } + } + ] + } + }, + "databricks-gemini-3-1-pro": { + "id": "databricks-gemini-3-1-pro", + "name": "Gemini 3.1 Pro Preview Custom Tools", + "family": "gemini-pro", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2026-02-19", + "last_updated": "2026-02-19", + "modalities": { + "input": ["text", "image", "video", "audio", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1048576, + "output": 65536 + }, + "cost": { + "input": 2, + "output": 12, + "cache_read": 0.2, + "context_over_200k": { + "input": 4, + "output": 18, + "cache_read": 0.4 + }, + "tiers": [ + { + "input": 4, + "output": 18, + "cache_read": 0.4, + "tier": { + "type": "context", + "size": 200000 + } + } + ] + } + }, + "databricks-gpt-5-4-mini": { + "id": "databricks-gpt-5-4-mini", + "name": "GPT-5.4 mini", + "family": "gpt-mini", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": false, + "knowledge": "2025-08-31", + "release_date": "2026-03-17", + "last_updated": "2026-03-17", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "input": 272000, + "output": 128000 + }, + "experimental": { + "modes": { + "fast": { + "cost": { + "input": 1.5, + "output": 9, + "cache_read": 0.15 + }, + "provider": { + "body": { + "service_tier": "priority" + } + } + } + } + }, + "cost": { + "input": 0.75, + "output": 4.5, + "cache_read": 0.075 + } + }, + "databricks-claude-opus-4-6": { + "id": "databricks-claude-opus-4-6", + "name": "Claude Opus 4.6", + "family": "claude-opus", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-05-31", + "release_date": "2026-02-05", + "last_updated": "2026-03-13", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000000, + "output": 128000 + }, + "experimental": { + "modes": { + "fast": { + "cost": { + "input": 30, + "output": 150, + "cache_read": 3, + "cache_write": 37.5 + }, + "provider": { + "body": { + "speed": "fast" + }, + "headers": { + "anthropic-beta": "fast-mode-2026-02-01" + } + } + } + } + }, + "cost": { + "input": 5, + "output": 25, + "cache_read": 0.5, + "cache_write": 6.25 + } + }, + "databricks-gemini-2-5-pro": { + "id": "databricks-gemini-2-5-pro", + "name": "Gemini 2.5 Pro", + "family": "gemini-pro", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2025-03-20", + "last_updated": "2025-06-05", + "modalities": { + "input": ["text", "image", "audio", "video", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1048576, + "output": 65536 + }, + "cost": { + "input": 1.25, + "output": 10, + "cache_read": 0.125, + "context_over_200k": { + "input": 2.5, + "output": 15, + "cache_read": 0.25 + }, + "tiers": [ + { + "input": 2.5, + "output": 15, + "cache_read": 0.25, + "tier": { + "type": "context", + "size": 200000 + } + } + ] + } + }, + "databricks-gpt-5-nano": { + "id": "databricks-gpt-5-nano", + "name": "GPT-5 Nano", + "family": "gpt-nano", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": false, + "knowledge": "2024-05-30", + "release_date": "2025-08-07", + "last_updated": "2025-08-07", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "input": 272000, + "output": 128000 + }, + "cost": { + "input": 0.05, + "output": 0.4, + "cache_read": 0.005 + } + }, + "databricks-gpt-5-4": { + "id": "databricks-gpt-5-4", + "name": "GPT-5.4", + "family": "gpt", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": false, + "knowledge": "2025-08-31", + "release_date": "2026-03-05", + "last_updated": "2026-03-05", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1050000, + "input": 922000, + "output": 128000 + }, + "experimental": { + "modes": { + "fast": { + "cost": { + "input": 5, + "output": 30, + "cache_read": 0.5 + }, + "provider": { + "body": { + "service_tier": "priority" + } + } + } + } + }, + "cost": { + "input": 2.5, + "output": 15, + "cache_read": 0.25, + "context_over_200k": { + "input": 5, + "output": 22.5, + "cache_read": 0.5 + }, + "tiers": [ + { + "input": 5, + "output": 22.5, + "cache_read": 0.5, + "tier": { + "type": "context", + "size": 272000 + } + } + ] + } + }, + "databricks-gemini-3-1-flash-lite": { + "id": "databricks-gemini-3-1-flash-lite", + "name": "Gemini 3.1 Flash Lite Preview", + "family": "gemini-flash-lite", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2026-03-03", + "last_updated": "2026-03-03", + "modalities": { + "input": ["text", "image", "video", "audio", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1048576, + "output": 65536 + }, + "cost": { + "input": 0.25, + "output": 1.5, + "cache_read": 0.025, + "input_audio": 0.5 + } + }, + "databricks-gpt-5": { + "id": "databricks-gpt-5", + "name": "GPT-5", + "family": "gpt", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": false, + "knowledge": "2024-09-30", + "release_date": "2025-08-07", + "last_updated": "2025-08-07", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "input": 272000, + "output": 128000 + }, + "cost": { + "input": 1.25, + "output": 10, + "cache_read": 0.125 + } + }, + "databricks-claude-opus-4-1": { + "id": "databricks-claude-opus-4-1", + "name": "Claude Opus 4.1 (latest)", + "family": "claude-opus", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-03-31", + "release_date": "2025-08-05", + "last_updated": "2025-08-05", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 32000 + }, + "cost": { + "input": 15, + "output": 75, + "cache_read": 1.5, + "cache_write": 18.75 + } + }, + "databricks-gpt-5-2": { + "id": "databricks-gpt-5-2", + "name": "GPT-5.2", + "family": "gpt", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": false, + "knowledge": "2025-08-31", + "release_date": "2025-12-11", + "last_updated": "2025-12-11", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "input": 272000, + "output": 128000 + }, + "cost": { + "input": 1.75, + "output": 14, + "cache_read": 0.175 + } + }, + "databricks-gpt-5-5": { + "id": "databricks-gpt-5-5", + "name": "GPT-5.5", + "family": "gpt", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": false, + "knowledge": "2025-12-01", + "release_date": "2026-04-23", + "last_updated": "2026-04-23", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1050000, + "input": 922000, + "output": 128000 + }, + "experimental": { + "modes": { + "fast": { + "cost": { + "input": 12.5, + "output": 75, + "cache_read": 1.25 + }, + "provider": { + "body": { + "service_tier": "priority" + } + } + } + } + }, + "cost": { + "input": 5, + "output": 30, + "cache_read": 0.5, + "context_over_200k": { + "input": 10, + "output": 45, + "cache_read": 1 + }, + "tiers": [ + { + "input": 10, + "output": 45, + "cache_read": 1, + "tier": { + "type": "context", + "size": 272000 + } + } + ] + } + }, + "databricks-gemini-3-flash": { + "id": "databricks-gemini-3-flash", + "name": "Gemini 3 Flash Preview", + "family": "gemini-flash", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2025-12-17", + "last_updated": "2025-12-17", + "modalities": { + "input": ["text", "image", "video", "audio", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1048576, + "output": 65536 + }, + "cost": { + "input": 0.5, + "output": 3, + "cache_read": 0.05, + "input_audio": 1 + } + }, + "databricks-claude-opus-4-5": { + "id": "databricks-claude-opus-4-5", + "name": "Claude Opus 4.5 (latest)", + "family": "claude-opus", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-03-31", + "release_date": "2025-11-24", + "last_updated": "2025-11-24", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 64000 + }, + "cost": { + "input": 5, + "output": 25, + "cache_read": 0.5, + "cache_write": 6.25 + } + }, + "databricks-gpt-5-mini": { + "id": "databricks-gpt-5-mini", + "name": "GPT-5 Mini", + "family": "gpt-mini", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": false, + "knowledge": "2024-05-30", + "release_date": "2025-08-07", + "last_updated": "2025-08-07", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "input": 272000, + "output": 128000 + }, + "cost": { + "input": 0.25, + "output": 2, + "cache_read": 0.025 + } + }, + "databricks-claude-sonnet-4": { + "id": "databricks-claude-sonnet-4", + "name": "Claude Sonnet 4.5", + "family": "claude-sonnet", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-07-31", + "release_date": "2025-09-29", + "last_updated": "2025-09-29", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 64000 + }, + "cost": { + "input": 3, + "output": 15, + "cache_read": 0.3, + "cache_write": 3.75 + } + }, + "databricks-gpt-5-1": { + "id": "databricks-gpt-5-1", + "name": "GPT-5.1", + "family": "gpt", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": false, + "knowledge": "2024-09-30", + "release_date": "2025-11-13", + "last_updated": "2025-11-13", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "input": 272000, + "output": 128000 + }, + "cost": { + "input": 1.25, + "output": 10, + "cache_read": 0.13 + } + }, + "databricks-claude-opus-4-7": { + "id": "databricks-claude-opus-4-7", + "name": "Claude Opus 4.7", + "family": "claude-opus", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": false, + "knowledge": "2026-01-31", + "release_date": "2026-04-16", + "last_updated": "2026-04-16", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000000, + "output": 128000 + }, + "experimental": { + "modes": { + "fast": { + "cost": { + "input": 30, + "output": 150, + "cache_read": 3, + "cache_write": 37.5 + }, + "provider": { + "body": { + "speed": "fast" + }, + "headers": { + "anthropic-beta": "fast-mode-2026-02-01" + } + } + } + } + }, + "cost": { + "input": 5, + "output": 25, + "cache_read": 0.5, + "cache_write": 6.25 + } + }, + "databricks-gemini-2-5-flash": { + "id": "databricks-gemini-2-5-flash", + "name": "Gemini 2.5 Flash", + "family": "gemini-flash", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2025-03-20", + "last_updated": "2025-06-05", + "modalities": { + "input": ["text", "image", "audio", "video", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1048576, + "output": 65536 + }, + "cost": { + "input": 0.3, + "output": 2.5, + "cache_read": 0.03, + "input_audio": 1 + } + }, + "databricks-gpt-5-4-nano": { + "id": "databricks-gpt-5-4-nano", + "name": "GPT-5.4 nano", + "family": "gpt-nano", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": false, + "knowledge": "2025-08-31", + "release_date": "2026-03-17", + "last_updated": "2026-03-17", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "input": 272000, + "output": 128000 + }, + "cost": { + "input": 0.2, + "output": 1.25, + "cache_read": 0.02 + } + }, + "databricks-claude-sonnet-4-5": { + "id": "databricks-claude-sonnet-4-5", + "name": "Claude Sonnet 4.5 (latest)", + "family": "claude-sonnet", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-07-31", + "release_date": "2025-09-29", + "last_updated": "2025-09-29", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 64000 + }, + "cost": { + "input": 3, + "output": 15, + "cache_read": 0.3, + "cache_write": 3.75 + } + } + } + }, + "io-net": { + "id": "io-net", + "env": ["IOINTELLIGENCE_API_KEY"], + "npm": "@ai-sdk/openai-compatible", + "api": "https://api.intelligence.io.solutions/api/v1", + "name": "IO.NET", + "doc": "https://io.net/docs/guides/intelligence/io-intelligence", + "models": { + "Intel/Qwen3-Coder-480B-A35B-Instruct-int4-mixed-ar": { + "id": "Intel/Qwen3-Coder-480B-A35B-Instruct-int4-mixed-ar", + "name": "Qwen 3 Coder 480B", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-12", + "release_date": "2025-01-15", + "last_updated": "2025-01-15", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 106000, + "output": 4096 + }, + "cost": { + "input": 0.22, + "output": 0.95, + "cache_read": 0.11, + "cache_write": 0.44 + } + }, + "Qwen/Qwen3-Next-80B-A3B-Instruct": { + "id": "Qwen/Qwen3-Next-80B-A3B-Instruct", + "name": "Qwen 3 Next 80B Instruct", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-12", + "release_date": "2025-01-10", + "last_updated": "2025-01-10", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 4096 + }, + "cost": { + "input": 0.1, + "output": 0.8, + "cache_read": 0.05, + "cache_write": 0.2 + } + }, + "Qwen/Qwen3-235B-A22B-Thinking-2507": { + "id": "Qwen/Qwen3-235B-A22B-Thinking-2507", + "name": "Qwen 3 235B Thinking", + "family": "qwen", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-12", + "release_date": "2025-07-01", + "last_updated": "2025-07-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 4096 + }, + "cost": { + "input": 0.11, + "output": 0.6, + "cache_read": 0.055, + "cache_write": 0.22 + } + }, + "Qwen/Qwen2.5-VL-32B-Instruct": { + "id": "Qwen/Qwen2.5-VL-32B-Instruct", + "name": "Qwen 2.5 VL 32B Instruct", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-09", + "release_date": "2024-11-01", + "last_updated": "2024-11-01", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 32000, + "output": 4096 + }, + "cost": { + "input": 0.05, + "output": 0.22, + "cache_read": 0.025, + "cache_write": 0.1 + } + }, + "zai-org/GLM-4.6": { + "id": "zai-org/GLM-4.6", + "name": "GLM 4.6", + "family": "glm", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2024-11-15", + "last_updated": "2024-11-15", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 4096 + }, + "cost": { + "input": 0.4, + "output": 1.75, + "cache_read": 0.2, + "cache_write": 0.8 + } + }, + "mistralai/Magistral-Small-2506": { + "id": "mistralai/Magistral-Small-2506", + "name": "Magistral Small 2506", + "family": "magistral-small", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2025-06-01", + "last_updated": "2025-06-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 4096 + }, + "cost": { + "input": 0.5, + "output": 1.5, + "cache_read": 0.25, + "cache_write": 1 + } + }, + "mistralai/Mistral-Large-Instruct-2411": { + "id": "mistralai/Mistral-Large-Instruct-2411", + "name": "Mistral Large Instruct 2411", + "family": "mistral-large", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2024-11-01", + "last_updated": "2024-11-01", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 4096 + }, + "cost": { + "input": 2, + "output": 6, + "cache_read": 1, + "cache_write": 4 + } + }, + "mistralai/Mistral-Nemo-Instruct-2407": { + "id": "mistralai/Mistral-Nemo-Instruct-2407", + "name": "Mistral Nemo Instruct 2407", + "family": "mistral-nemo", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-05", + "release_date": "2024-07-01", + "last_updated": "2024-07-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 4096 + }, + "cost": { + "input": 0.02, + "output": 0.04, + "cache_read": 0.01, + "cache_write": 0.04 + } + }, + "mistralai/Devstral-Small-2505": { + "id": "mistralai/Devstral-Small-2505", + "name": "Devstral Small 2505", + "family": "devstral", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-12", + "release_date": "2025-05-01", + "last_updated": "2025-05-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 4096 + }, + "cost": { + "input": 0.05, + "output": 0.22, + "cache_read": 0.025, + "cache_write": 0.1 + } + }, + "meta-llama/Llama-3.3-70B-Instruct": { + "id": "meta-llama/Llama-3.3-70B-Instruct", + "name": "Llama 3.3 70B Instruct", + "family": "llama", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2023-12", + "release_date": "2024-12-06", + "last_updated": "2024-12-06", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 4096 + }, + "cost": { + "input": 0.13, + "output": 0.38, + "cache_read": 0.065, + "cache_write": 0.26 + } + }, + "meta-llama/Llama-4-Maverick-17B-128E-Instruct-FP8": { + "id": "meta-llama/Llama-4-Maverick-17B-128E-Instruct-FP8", + "name": "Llama 4 Maverick 17B 128E Instruct", + "family": "llama", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-12", + "release_date": "2025-01-15", + "last_updated": "2025-01-15", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 430000, + "output": 4096 + }, + "cost": { + "input": 0.15, + "output": 0.6, + "cache_read": 0.075, + "cache_write": 0.3 + } + }, + "meta-llama/Llama-3.2-90B-Vision-Instruct": { + "id": "meta-llama/Llama-3.2-90B-Vision-Instruct", + "name": "Llama 3.2 90B Vision Instruct", + "family": "llama", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2023-12", + "release_date": "2024-09-25", + "last_updated": "2024-09-25", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 16000, + "output": 4096 + }, + "cost": { + "input": 0.35, + "output": 0.4, + "cache_read": 0.175, + "cache_write": 0.7 + } + }, + "deepseek-ai/DeepSeek-R1-0528": { + "id": "deepseek-ai/DeepSeek-R1-0528", + "name": "DeepSeek R1", + "family": "deepseek-thinking", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-07", + "release_date": "2025-01-20", + "last_updated": "2025-05-28", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 4096 + }, + "cost": { + "input": 2, + "output": 8.75, + "cache_read": 1, + "cache_write": 4 + } + }, + "openai/gpt-oss-20b": { + "id": "openai/gpt-oss-20b", + "name": "GPT-OSS 20B", + "family": "gpt-oss", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2024-12-01", + "last_updated": "2024-12-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 64000, + "output": 4096 + }, + "cost": { + "input": 0.03, + "output": 0.14, + "cache_read": 0.015, + "cache_write": 0.06 + } + }, + "openai/gpt-oss-120b": { + "id": "openai/gpt-oss-120b", + "name": "GPT-OSS 120B", + "family": "gpt-oss", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2024-12-01", + "last_updated": "2024-12-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 4096 + }, + "cost": { + "input": 0.04, + "output": 0.4, + "cache_read": 0.02, + "cache_write": 0.08 + } + }, + "moonshotai/Kimi-K2-Thinking": { + "id": "moonshotai/Kimi-K2-Thinking", + "name": "Kimi K2 Thinking", + "family": "kimi-thinking", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-08", + "release_date": "2024-11-01", + "last_updated": "2024-11-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 32768, + "output": 4096 + }, + "cost": { + "input": 0.55, + "output": 2.25, + "cache_read": 0.275, + "cache_write": 1.1 + } + }, + "moonshotai/Kimi-K2-Instruct-0905": { + "id": "moonshotai/Kimi-K2-Instruct-0905", + "name": "Kimi K2 Instruct", + "family": "kimi", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-08", + "release_date": "2024-09-05", + "last_updated": "2024-09-05", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 32768, + "output": 4096 + }, + "cost": { + "input": 0.39, + "output": 1.9, + "cache_read": 0.195, + "cache_write": 0.78 + } + } + } + }, + "alibaba-cn": { + "id": "alibaba-cn", + "env": ["DASHSCOPE_API_KEY"], + "npm": "@ai-sdk/openai-compatible", + "api": "https://dashscope.aliyuncs.com/compatible-mode/v1", + "name": "Alibaba (China)", + "doc": "https://www.alibabacloud.com/help/en/model-studio/models", + "models": { + "qwen3-235b-a22b": { + "id": "qwen3-235b-a22b", + "name": "Qwen3 235B-A22B", + "family": "qwen", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-04", + "last_updated": "2025-04", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 16384 + }, + "cost": { + "input": 0.287, + "output": 1.147, + "reasoning": 2.868 + } + }, + "qwen-plus-character": { + "id": "qwen-plus-character", + "name": "Qwen Plus Character", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-04", + "release_date": "2024-01", + "last_updated": "2024-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 32768, + "output": 4096 + }, + "cost": { + "input": 0.115, + "output": 0.287 + } + }, + "qwen2-5-math-7b-instruct": { + "id": "qwen2-5-math-7b-instruct", + "name": "Qwen2.5-Math 7B Instruct", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-04", + "release_date": "2024-09", + "last_updated": "2024-09", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 4096, + "output": 3072 + }, + "cost": { + "input": 0.144, + "output": 0.287 + } + }, + "kimi-k2.5": { + "id": "kimi-k2.5", + "name": "Moonshot Kimi K2.5", + "family": "kimi", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "structured_output": false, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2026-01-27", + "last_updated": "2026-01-27", + "modalities": { + "input": ["text", "image", "video"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 32768 + }, + "cost": { + "input": 0.574, + "output": 2.411 + } + }, + "qwen-doc-turbo": { + "id": "qwen-doc-turbo", + "name": "Qwen Doc Turbo", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-04", + "release_date": "2024-01", + "last_updated": "2024-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 131072, + "output": 8192 + }, + "cost": { + "input": 0.087, + "output": 0.144 + } + }, + "qwen-vl-ocr": { + "id": "qwen-vl-ocr", + "name": "Qwen-VL OCR", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "knowledge": "2024-04", + "release_date": "2024-10-28", + "last_updated": "2025-04-13", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 34096, + "output": 4096 + }, + "cost": { + "input": 0.717, + "output": 0.717 + } + }, + "qwen-omni-turbo-realtime": { + "id": "qwen-omni-turbo-realtime", + "name": "Qwen-Omni Turbo Realtime", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-04", + "release_date": "2025-05-08", + "last_updated": "2025-05-08", + "modalities": { + "input": ["text", "image", "audio"], + "output": ["text", "audio"] + }, + "open_weights": false, + "limit": { + "context": 32768, + "output": 2048 + }, + "cost": { + "input": 0.23, + "output": 0.918, + "input_audio": 3.584, + "output_audio": 7.168 + } + }, + "qwen3-8b": { + "id": "qwen3-8b", + "name": "Qwen3 8B", + "family": "qwen", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-04", + "last_updated": "2025-04", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 8192 + }, + "cost": { + "input": 0.072, + "output": 0.287, + "reasoning": 0.717 + } + }, + "qwen3.5-397b-a17b": { + "id": "qwen3.5-397b-a17b", + "name": "Qwen3.5 397B-A17B", + "family": "qwen", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2026-02-16", + "last_updated": "2026-02-16", + "modalities": { + "input": ["text", "image", "video"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 65536 + }, + "cost": { + "input": 0.43, + "output": 2.58, + "reasoning": 2.58 + } + }, + "qwen-math-turbo": { + "id": "qwen-math-turbo", + "name": "Qwen Math Turbo", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-04", + "release_date": "2024-09-19", + "last_updated": "2024-09-19", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 4096, + "output": 3072 + }, + "cost": { + "input": 0.287, + "output": 0.861 + } + }, + "qwq-plus": { + "id": "qwq-plus", + "name": "QwQ Plus", + "family": "qwen", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-04", + "release_date": "2025-03-05", + "last_updated": "2025-03-05", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 131072, + "output": 8192 + }, + "cost": { + "input": 0.23, + "output": 0.574 + } + }, + "qwen-vl-plus": { + "id": "qwen-vl-plus", + "name": "Qwen-VL Plus", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-04", + "release_date": "2024-01-25", + "last_updated": "2025-08-15", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 131072, + "output": 8192 + }, + "cost": { + "input": 0.115, + "output": 0.287 + } + }, + "glm-5": { + "id": "glm-5", + "name": "GLM-5", + "family": "glm", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "temperature": true, + "release_date": "2026-02-11", + "last_updated": "2026-02-11", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 202752, + "output": 16384 + }, + "cost": { + "input": 0.86, + "output": 3.15 + } + }, + "deepseek-r1-distill-llama-70b": { + "id": "deepseek-r1-distill-llama-70b", + "name": "DeepSeek R1 Distill Llama 70B", + "family": "deepseek-thinking", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2025-01-01", + "last_updated": "2025-01-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 32768, + "output": 16384 + }, + "cost": { + "input": 0.287, + "output": 0.861 + } + }, + "qwen3-32b": { + "id": "qwen3-32b", + "name": "Qwen3 32B", + "family": "qwen", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-04", + "last_updated": "2025-04", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 16384 + }, + "cost": { + "input": 0.287, + "output": 1.147, + "reasoning": 2.868 + } + }, + "MiniMax-M2.5": { + "id": "MiniMax-M2.5", + "name": "MiniMax-M2.5", + "family": "minimax", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "temperature": true, + "release_date": "2026-02-12", + "last_updated": "2026-02-12", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 204800, + "output": 131072 + }, + "cost": { + "input": 0.3, + "output": 1.2 + } + }, + "qwen-max": { + "id": "qwen-max", + "name": "Qwen Max", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-04", + "release_date": "2024-04-03", + "last_updated": "2025-01-25", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 131072, + "output": 8192 + }, + "cost": { + "input": 0.345, + "output": 1.377 + } + }, + "qwen-plus": { + "id": "qwen-plus", + "name": "Qwen Plus", + "family": "qwen", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-04", + "release_date": "2024-01-25", + "last_updated": "2025-09-11", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000000, + "output": 32768 + }, + "cost": { + "input": 0.115, + "output": 0.287, + "reasoning": 1.147 + } + }, + "qwen-omni-turbo": { + "id": "qwen-omni-turbo", + "name": "Qwen-Omni Turbo", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-04", + "release_date": "2025-01-19", + "last_updated": "2025-03-26", + "modalities": { + "input": ["text", "image", "audio", "video"], + "output": ["text", "audio"] + }, + "open_weights": false, + "limit": { + "context": 32768, + "output": 2048 + }, + "cost": { + "input": 0.058, + "output": 0.23, + "input_audio": 3.584, + "output_audio": 7.168 + } + }, + "qwen-flash": { + "id": "qwen-flash", + "name": "Qwen Flash", + "family": "qwen", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-04", + "release_date": "2025-07-28", + "last_updated": "2025-07-28", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000000, + "output": 32768 + }, + "cost": { + "input": 0.022, + "output": 0.216 + } + }, + "qwen2-5-vl-7b-instruct": { + "id": "qwen2-5-vl-7b-instruct", + "name": "Qwen2.5-VL 7B Instruct", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-04", + "release_date": "2024-09", + "last_updated": "2024-09", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 8192 + }, + "cost": { + "input": 0.287, + "output": 0.717 + } + }, + "deepseek-r1": { + "id": "deepseek-r1", + "name": "DeepSeek R1", + "family": "deepseek-thinking", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2025-01-01", + "last_updated": "2025-01-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 131072, + "output": 16384 + }, + "cost": { + "input": 0.574, + "output": 2.294 + } + }, + "qwen3.5-flash": { + "id": "qwen3.5-flash", + "name": "Qwen3.5 Flash", + "family": "qwen", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2026-02-23", + "last_updated": "2026-02-23", + "modalities": { + "input": ["text", "image", "video"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000000, + "output": 65536 + }, + "cost": { + "input": 0.172, + "output": 1.72, + "reasoning": 1.72 + } + }, + "qwen3.6-plus": { + "id": "qwen3.6-plus", + "name": "Qwen3.6 Plus", + "family": "qwen", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2026-04-02", + "last_updated": "2026-04-02", + "modalities": { + "input": ["text", "image", "video"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000000, + "output": 65536 + }, + "cost": { + "input": 0.5, + "output": 3, + "cache_read": 0.05, + "cache_write": 0.625, + "tiers": [ + { + "input": 2, + "output": 6, + "cache_read": 0.2, + "cache_write": 2.5, + "tier": { + "type": "context", + "size": 256000 + } + } + ], + "context_over_200k": { + "input": 2, + "output": 6, + "cache_read": 0.2, + "cache_write": 2.5 + } + } + }, + "qwen3-max": { + "id": "qwen3-max", + "name": "Qwen3 Max", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-09-23", + "last_updated": "2025-09-23", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 262144, + "output": 65536 + }, + "cost": { + "input": 0.861, + "output": 3.441 + } + }, + "glm-5.1": { + "id": "glm-5.1", + "name": "GLM-5.1", + "family": "glm", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "structured_output": true, + "temperature": true, + "release_date": "2026-04-14", + "last_updated": "2026-04-14", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 202752, + "output": 128000 + }, + "cost": { + "input": 0.87, + "output": 3.48, + "cache_read": 0.17 + } + }, + "qwen3-omni-flash": { + "id": "qwen3-omni-flash", + "name": "Qwen3-Omni Flash", + "family": "qwen", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-04", + "release_date": "2025-09-15", + "last_updated": "2025-09-15", + "modalities": { + "input": ["text", "image", "audio", "video"], + "output": ["text", "audio"] + }, + "open_weights": false, + "limit": { + "context": 65536, + "output": 16384 + }, + "cost": { + "input": 0.058, + "output": 0.23, + "input_audio": 3.584, + "output_audio": 7.168 + } + }, + "deepseek-v3-1": { + "id": "deepseek-v3-1", + "name": "DeepSeek V3.1", + "family": "deepseek", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "release_date": "2025-01-01", + "last_updated": "2025-01-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 131072, + "output": 65536 + }, + "cost": { + "input": 0.574, + "output": 1.721 + } + }, + "qwen2-5-72b-instruct": { + "id": "qwen2-5-72b-instruct", + "name": "Qwen2.5 72B Instruct", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-04", + "release_date": "2024-09", + "last_updated": "2024-09", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 8192 + }, + "cost": { + "input": 0.574, + "output": 1.721 + } + }, + "qwen3-vl-235b-a22b": { + "id": "qwen3-vl-235b-a22b", + "name": "Qwen3-VL 235B-A22B", + "family": "qwen", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-04", + "last_updated": "2025-04", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 32768 + }, + "cost": { + "input": 0.286705, + "output": 1.14682, + "reasoning": 2.867051 + } + }, + "qwen-math-plus": { + "id": "qwen-math-plus", + "name": "Qwen Math Plus", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-04", + "release_date": "2024-08-16", + "last_updated": "2024-09-19", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 4096, + "output": 3072 + }, + "cost": { + "input": 0.574, + "output": 1.721 + } + }, + "qwen2-5-coder-32b-instruct": { + "id": "qwen2-5-coder-32b-instruct", + "name": "Qwen2.5-Coder 32B Instruct", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-04", + "release_date": "2024-11", + "last_updated": "2024-11", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 8192 + }, + "cost": { + "input": 0.287, + "output": 0.861 + } + }, + "qwen3-asr-flash": { + "id": "qwen3-asr-flash", + "name": "Qwen3-ASR Flash", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": false, + "knowledge": "2024-04", + "release_date": "2025-09-08", + "last_updated": "2025-09-08", + "modalities": { + "input": ["audio"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 53248, + "output": 4096 + }, + "cost": { + "input": 0.032, + "output": 0.032 + } + }, + "qwen-deep-research": { + "id": "qwen-deep-research", + "name": "Qwen Deep Research", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-04", + "release_date": "2024-01", + "last_updated": "2024-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000000, + "output": 32768 + }, + "cost": { + "input": 7.742, + "output": 23.367 + } + }, + "qwen3-next-80b-a3b-thinking": { + "id": "qwen3-next-80b-a3b-thinking", + "name": "Qwen3-Next 80B-A3B (Thinking)", + "family": "qwen", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-09", + "last_updated": "2025-09", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 32768 + }, + "cost": { + "input": 0.144, + "output": 1.434 + } + }, + "qwen-mt-plus": { + "id": "qwen-mt-plus", + "name": "Qwen-MT Plus", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "knowledge": "2024-04", + "release_date": "2025-01", + "last_updated": "2025-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 16384, + "output": 8192 + }, + "cost": { + "input": 0.259, + "output": 0.775 + } + }, + "deepseek-r1-distill-qwen-32b": { + "id": "deepseek-r1-distill-qwen-32b", + "name": "DeepSeek R1 Distill Qwen 32B", + "family": "qwen", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2025-01-01", + "last_updated": "2025-01-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 32768, + "output": 16384 + }, + "cost": { + "input": 0.287, + "output": 0.861 + } + }, + "qwen-vl-max": { + "id": "qwen-vl-max", + "name": "Qwen-VL Max", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-04", + "release_date": "2024-04-08", + "last_updated": "2025-08-13", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 131072, + "output": 8192 + }, + "cost": { + "input": 0.23, + "output": 0.574 + } + }, + "qwen3-coder-flash": { + "id": "qwen3-coder-flash", + "name": "Qwen3 Coder Flash", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": true, "temperature": true, "knowledge": "2025-04", "release_date": "2025-07-28", "last_updated": "2025-07-28", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.6, "output": 2.2, "cache_read": 0.11, "cache_write": 0 }, - "limit": { "context": 131072, "output": 98304 } + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000000, + "output": 65536 + }, + "cost": { + "input": 0.144, + "output": 0.574 + } }, - "glm-4.7-flashx": { - "id": "glm-4.7-flashx", - "name": "GLM-4.7-FlashX", - "family": "glm-flash", + "deepseek-r1-distill-qwen-7b": { + "id": "deepseek-r1-distill-qwen-7b", + "name": "DeepSeek R1 Distill Qwen 7B", + "family": "qwen", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2025-01-01", + "last_updated": "2025-01-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 32768, + "output": 16384 + }, + "cost": { + "input": 0.072, + "output": 0.144 + } + }, + "qwen2-5-7b-instruct": { + "id": "qwen2-5-7b-instruct", + "name": "Qwen2.5 7B Instruct", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-04", + "release_date": "2024-09", + "last_updated": "2024-09", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 8192 + }, + "cost": { + "input": 0.072, + "output": 0.144 + } + }, + "qwen2-5-14b-instruct": { + "id": "qwen2-5-14b-instruct", + "name": "Qwen2.5 14B Instruct", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-04", + "release_date": "2024-09", + "last_updated": "2024-09", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 8192 + }, + "cost": { + "input": 0.144, + "output": 0.431 + } + }, + "tongyi-intent-detect-v3": { + "id": "tongyi-intent-detect-v3", + "name": "Tongyi Intent Detect V3", + "family": "yi", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "knowledge": "2024-04", + "release_date": "2024-01", + "last_updated": "2024-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 8192, + "output": 1024 + }, + "cost": { + "input": 0.058, + "output": 0.144 + } + }, + "qwq-32b": { + "id": "qwq-32b", + "name": "QwQ 32B", + "family": "qwen", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-04", + "release_date": "2024-12", + "last_updated": "2024-12", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 8192 + }, + "cost": { + "input": 0.287, + "output": 0.861 + } + }, + "moonshot-kimi-k2-instruct": { + "id": "moonshot-kimi-k2-instruct", + "name": "Moonshot Kimi K2 Instruct", + "family": "kimi", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": false, + "temperature": true, + "release_date": "2025-01-01", + "last_updated": "2025-01-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 8192 + }, + "cost": { + "input": 0.574, + "output": 2.294 + } + }, + "qwen2-5-32b-instruct": { + "id": "qwen2-5-32b-instruct", + "name": "Qwen2.5 32B Instruct", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-04", + "release_date": "2024-09", + "last_updated": "2024-09", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 8192 + }, + "cost": { + "input": 0.287, + "output": 0.861 + } + }, + "qwen3-next-80b-a3b-instruct": { + "id": "qwen3-next-80b-a3b-instruct", + "name": "Qwen3-Next 80B-A3B Instruct", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-09", + "last_updated": "2025-09", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 32768 + }, + "cost": { + "input": 0.144, + "output": 0.574 + } + }, + "qwen3-omni-flash-realtime": { + "id": "qwen3-omni-flash-realtime", + "name": "Qwen3-Omni Flash Realtime", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-04", + "release_date": "2025-09-15", + "last_updated": "2025-09-15", + "modalities": { + "input": ["text", "image", "audio"], + "output": ["text", "audio"] + }, + "open_weights": false, + "limit": { + "context": 65536, + "output": 16384 + }, + "cost": { + "input": 0.23, + "output": 0.918, + "input_audio": 3.584, + "output_audio": 7.168 + } + }, + "kimi-k2.6": { + "id": "kimi-k2.6", + "name": "Moonshot Kimi K2.6", + "family": "kimi", + "attachment": true, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "structured_output": false, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2026-04-21", + "last_updated": "2026-04-21", + "modalities": { + "input": ["text", "image", "video"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 16384 + }, + "cost": { + "input": 0.929, + "output": 3.858 + } + }, + "qwen3-vl-30b-a3b": { + "id": "qwen3-vl-30b-a3b", + "name": "Qwen3-VL 30B-A3B", + "family": "qwen", "attachment": false, "reasoning": true, "tool_call": true, "temperature": true, "knowledge": "2025-04", - "release_date": "2026-01-19", - "last_updated": "2026-01-19", - "modalities": { "input": ["text"], "output": ["text"] }, + "release_date": "2025-04", + "last_updated": "2025-04", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, "open_weights": true, - "cost": { "input": 0.07, "output": 0.4, "cache_read": 0.01, "cache_write": 0 }, - "limit": { "context": 200000, "output": 131072 } + "limit": { + "context": 131072, + "output": 32768 + }, + "cost": { + "input": 0.108, + "output": 0.431, + "reasoning": 1.076 + } + }, + "qwen3-vl-plus": { + "id": "qwen3-vl-plus", + "name": "Qwen3-VL Plus", + "family": "qwen", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-09-23", + "last_updated": "2025-09-23", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 262144, + "output": 32768 + }, + "cost": { + "input": 0.143353, + "output": 1.433525, + "reasoning": 4.300576 + } + }, + "deepseek-v3-2-exp": { + "id": "deepseek-v3-2-exp", + "name": "DeepSeek V3.2 Exp", + "family": "deepseek", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "release_date": "2025-01-01", + "last_updated": "2025-01-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 131072, + "output": 65536 + }, + "cost": { + "input": 0.287, + "output": 0.431 + } + }, + "qwen3-coder-480b-a35b-instruct": { + "id": "qwen3-coder-480b-a35b-instruct", + "name": "Qwen3-Coder 480B-A35B Instruct", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-04", + "last_updated": "2025-04", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 65536 + }, + "cost": { + "input": 0.861, + "output": 3.441 + } + }, + "deepseek-r1-distill-qwen-1-5b": { + "id": "deepseek-r1-distill-qwen-1-5b", + "name": "DeepSeek R1 Distill Qwen 1.5B", + "family": "qwen", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2025-01-01", + "last_updated": "2025-01-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 32768, + "output": 16384 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "qwen3-coder-30b-a3b-instruct": { + "id": "qwen3-coder-30b-a3b-instruct", + "name": "Qwen3-Coder 30B-A3B Instruct", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-04", + "last_updated": "2025-04", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 65536 + }, + "cost": { + "input": 0.216, + "output": 0.861 + } + }, + "qwen2-5-coder-7b-instruct": { + "id": "qwen2-5-coder-7b-instruct", + "name": "Qwen2.5-Coder 7B Instruct", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-04", + "release_date": "2024-11", + "last_updated": "2024-11", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 8192 + }, + "cost": { + "input": 0.144, + "output": 0.287 + } + }, + "qwen-turbo": { + "id": "qwen-turbo", + "name": "Qwen Turbo", + "family": "qwen", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-04", + "release_date": "2024-11-01", + "last_updated": "2025-07-15", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000000, + "output": 16384 + }, + "cost": { + "input": 0.044, + "output": 0.087, + "reasoning": 0.431 + } + }, + "qwen-mt-turbo": { + "id": "qwen-mt-turbo", + "name": "Qwen-MT Turbo", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "knowledge": "2024-04", + "release_date": "2025-01", + "last_updated": "2025-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 16384, + "output": 8192 + }, + "cost": { + "input": 0.101, + "output": 0.28 + } + }, + "qwen2-5-math-72b-instruct": { + "id": "qwen2-5-math-72b-instruct", + "name": "Qwen2.5-Math 72B Instruct", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-04", + "release_date": "2024-09", + "last_updated": "2024-09", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 4096, + "output": 3072 + }, + "cost": { + "input": 0.574, + "output": 1.721 + } + }, + "qwen3.6-max-preview": { + "id": "qwen3.6-max-preview", + "name": "Qwen3.6 Max Preview", + "family": "qwen", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2026-04-20", + "last_updated": "2026-04-21", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 245800, + "output": 65536 + }, + "cost": { + "input": 1.32, + "output": 7.9, + "cache_read": 0.132 + } + }, + "qwen2-5-omni-7b": { + "id": "qwen2-5-omni-7b", + "name": "Qwen2.5-Omni 7B", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-04", + "release_date": "2024-12", + "last_updated": "2024-12", + "modalities": { + "input": ["text", "image", "audio", "video"], + "output": ["text", "audio"] + }, + "open_weights": true, + "limit": { + "context": 32768, + "output": 2048 + }, + "cost": { + "input": 0.087, + "output": 0.345, + "input_audio": 5.448 + } + }, + "qwen3.5-plus": { + "id": "qwen3.5-plus", + "name": "Qwen3.5 Plus", + "family": "qwen", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2026-02-16", + "last_updated": "2026-02-16", + "modalities": { + "input": ["text", "image", "video"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000000, + "output": 65536 + }, + "cost": { + "input": 0.573, + "output": 3.44, + "reasoning": 3.44 + } + }, + "deepseek-r1-distill-qwen-14b": { + "id": "deepseek-r1-distill-qwen-14b", + "name": "DeepSeek R1 Distill Qwen 14B", + "family": "qwen", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2025-01-01", + "last_updated": "2025-01-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 32768, + "output": 16384 + }, + "cost": { + "input": 0.144, + "output": 0.431 + } + }, + "qwen2-5-vl-72b-instruct": { + "id": "qwen2-5-vl-72b-instruct", + "name": "Qwen2.5-VL 72B Instruct", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-04", + "release_date": "2024-09", + "last_updated": "2024-09", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 8192 + }, + "cost": { + "input": 2.294, + "output": 6.881 + } + }, + "deepseek-v3": { + "id": "deepseek-v3", + "name": "DeepSeek V3", + "family": "deepseek", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "release_date": "2024-12-01", + "last_updated": "2024-12-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 65536, + "output": 8192 + }, + "cost": { + "input": 0.287, + "output": 1.147 + } + }, + "deepseek-r1-0528": { + "id": "deepseek-r1-0528", + "name": "DeepSeek R1 0528", + "family": "deepseek-thinking", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2025-05-28", + "last_updated": "2025-05-28", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 131072, + "output": 16384 + }, + "cost": { + "input": 0.574, + "output": 2.294 + } + }, + "qvq-max": { + "id": "qvq-max", + "name": "QVQ Max", + "family": "qvq", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-04", + "release_date": "2025-03-25", + "last_updated": "2025-03-25", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 131072, + "output": 8192 + }, + "cost": { + "input": 1.147, + "output": 4.588 + } + }, + "kimi-k2-thinking": { + "id": "kimi-k2-thinking", + "name": "Moonshot Kimi K2 Thinking", + "family": "kimi", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "structured_output": true, + "temperature": true, + "release_date": "2025-11-06", + "last_updated": "2025-11-06", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 16384 + }, + "cost": { + "input": 0.574, + "output": 2.294 + } + }, + "qwen3-14b": { + "id": "qwen3-14b", + "name": "Qwen3 14B", + "family": "qwen", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-04", + "last_updated": "2025-04", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 8192 + }, + "cost": { + "input": 0.144, + "output": 0.574, + "reasoning": 1.434 + } + }, + "deepseek-r1-distill-llama-8b": { + "id": "deepseek-r1-distill-llama-8b", + "name": "DeepSeek R1 Distill Llama 8B", + "family": "deepseek-thinking", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2025-01-01", + "last_updated": "2025-01-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 32768, + "output": 16384 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "qwen-long": { + "id": "qwen-long", + "name": "Qwen Long", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-04", + "release_date": "2025-01-25", + "last_updated": "2025-01-25", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 10000000, + "output": 8192 + }, + "cost": { + "input": 0.072, + "output": 0.287 + } + }, + "kimi/kimi-k2.5": { + "id": "kimi/kimi-k2.5", + "name": "kimi/kimi-k2.5", + "family": "kimi", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "structured_output": true, + "temperature": false, + "knowledge": "2025-01", + "release_date": "2026-01-27", + "last_updated": "2026-01-27", + "modalities": { + "input": ["text", "image", "video"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 262144 + }, + "cost": { + "input": 0.6, + "output": 3, + "cache_read": 0.1 + } + }, + "MiniMax/MiniMax-M2.7": { + "id": "MiniMax/MiniMax-M2.7", + "name": "MiniMax-M2.7", + "family": "minimax", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2026-03-18", + "last_updated": "2026-03-18", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 204800, + "output": 131072 + }, + "cost": { + "input": 0.3, + "output": 1.2, + "cache_read": 0.06, + "cache_write": 0.375 + } + }, + "siliconflow/deepseek-v3-0324": { + "id": "siliconflow/deepseek-v3-0324", + "name": "siliconflow/deepseek-v3-0324", + "family": "deepseek", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2024-12-26", + "last_updated": "2025-11-25", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 163840, + "output": 163840 + }, + "cost": { + "input": 0.25, + "output": 1 + } + }, + "siliconflow/deepseek-v3.2": { + "id": "siliconflow/deepseek-v3.2", + "name": "siliconflow/deepseek-v3.2", + "family": "deepseek", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-12-03", + "last_updated": "2025-12-03", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 163840, + "output": 65536 + }, + "cost": { + "input": 0.27, + "output": 0.42 + } + }, + "siliconflow/deepseek-r1-0528": { + "id": "siliconflow/deepseek-r1-0528", + "name": "siliconflow/deepseek-r1-0528", + "family": "deepseek-thinking", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-05-28", + "last_updated": "2025-11-25", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 163840, + "output": 32768 + }, + "cost": { + "input": 0.5, + "output": 2.18 + } + }, + "siliconflow/deepseek-v3.1-terminus": { + "id": "siliconflow/deepseek-v3.1-terminus", + "name": "siliconflow/deepseek-v3.1-terminus", + "family": "deepseek", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-09-29", + "last_updated": "2025-11-25", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 163840, + "output": 65536 + }, + "cost": { + "input": 0.27, + "output": 1 + } + }, + "qwen3-coder-plus": { + "id": "qwen3-coder-plus", + "name": "Qwen3 Coder Plus", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-07-23", + "last_updated": "2025-07-23", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 1048576, + "output": 65536 + }, + "cost": { + "input": 1, + "output": 5 + } + }, + "deepseek-v4-flash": { + "id": "deepseek-v4-flash", + "name": "DeepSeek V4 Flash", + "family": "deepseek-flash", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "structured_output": true, + "temperature": true, + "knowledge": "2025-05", + "release_date": "2026-04-24", + "last_updated": "2026-04-24", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 1000000, + "output": 384000 + }, + "cost": { + "input": 0.14, + "output": 0.28, + "cache_read": 0.028 + } + }, + "deepseek-v4-pro": { + "id": "deepseek-v4-pro", + "name": "DeepSeek V4 Pro", + "family": "deepseek-thinking", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "structured_output": true, + "temperature": true, + "knowledge": "2025-05", + "release_date": "2026-04-24", + "last_updated": "2026-04-24", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 1000000, + "output": 384000 + }, + "cost": { + "input": 1.74, + "output": 3.48, + "cache_read": 0.145 + } + } + } + }, + "firepass": { + "id": "firepass", + "env": ["FIREPASS_API_KEY"], + "npm": "@ai-sdk/openai-compatible", + "api": "https://api.fireworks.ai/inference/v1/", + "name": "Fireworks (Firepass)", + "doc": "https://docs.fireworks.ai/firepass", + "models": { + "accounts/fireworks/routers/kimi-k2p6-turbo": { + "id": "accounts/fireworks/routers/kimi-k2p6-turbo", + "name": "Kimi K2.6 Turbo", + "family": "kimi-thinking", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "temperature": true, + "release_date": "2026-04-17", + "last_updated": "2026-04-17", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262000, + "output": 262000 + }, + "cost": { + "input": 0, + "output": 0, + "cache_read": 0 + } + } + } + }, + "minimax-cn-coding-plan": { + "id": "minimax-cn-coding-plan", + "env": ["MINIMAX_API_KEY"], + "npm": "@ai-sdk/anthropic", + "api": "https://api.minimaxi.com/anthropic/v1", + "name": "MiniMax Coding Plan (minimaxi.com)", + "doc": "https://platform.minimaxi.com/docs/coding-plan/intro", + "models": { + "MiniMax-M2": { + "id": "MiniMax-M2", + "name": "MiniMax-M2", + "family": "minimax", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2025-10-27", + "last_updated": "2025-10-27", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 196608, + "output": 128000 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "MiniMax-M2.5": { + "id": "MiniMax-M2.5", + "name": "MiniMax-M2.5", + "family": "minimax", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2026-02-12", + "last_updated": "2026-02-12", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 204800, + "output": 131072 + }, + "cost": { + "input": 0, + "output": 0, + "cache_read": 0, + "cache_write": 0 + } + }, + "MiniMax-M2.7": { + "id": "MiniMax-M2.7", + "name": "MiniMax-M2.7", + "family": "minimax", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2026-03-18", + "last_updated": "2026-03-18", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 204800, + "output": 131072 + }, + "cost": { + "input": 0, + "output": 0, + "cache_read": 0, + "cache_write": 0 + } + }, + "MiniMax-M2.7-highspeed": { + "id": "MiniMax-M2.7-highspeed", + "name": "MiniMax-M2.7-highspeed", + "family": "minimax", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2026-03-18", + "last_updated": "2026-03-18", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 204800, + "output": 131072 + }, + "cost": { + "input": 0, + "output": 0, + "cache_read": 0, + "cache_write": 0 + } + }, + "MiniMax-M2.1": { + "id": "MiniMax-M2.1", + "name": "MiniMax-M2.1", + "family": "minimax", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2025-12-23", + "last_updated": "2025-12-23", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 204800, + "output": 131072 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "MiniMax-M2.5-highspeed": { + "id": "MiniMax-M2.5-highspeed", + "name": "MiniMax-M2.5-highspeed", + "family": "minimax", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2026-02-13", + "last_updated": "2026-02-13", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 204800, + "output": 131072 + }, + "cost": { + "input": 0, + "output": 0, + "cache_read": 0, + "cache_write": 0 + } + } + } + }, + "jiekou": { + "id": "jiekou", + "env": ["JIEKOU_API_KEY"], + "npm": "@ai-sdk/openai-compatible", + "api": "https://api.jiekou.ai/openai", + "name": "Jiekou.AI", + "doc": "https://docs.jiekou.ai/docs/support/quickstart?utm_source=github_models.dev", + "models": { + "gpt-5.1-codex-max": { + "id": "gpt-5.1-codex-max", + "name": "gpt-5.1-codex-max", + "family": "gpt-codex", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2026-01", + "last_updated": "2026-01", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "output": 128000 + }, + "cost": { + "input": 1.125, + "output": 9 + } + }, + "grok-4-1-fast-reasoning": { + "id": "grok-4-1-fast-reasoning", + "name": "grok-4-1-fast-reasoning", + "family": "grok", + "attachment": true, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2026-01", + "last_updated": "2026-01", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 2000000, + "output": 2000000 + }, + "cost": { + "input": 0.18, + "output": 0.45 + } + }, + "claude-opus-4-5-20251101": { + "id": "claude-opus-4-5-20251101", + "name": "claude-opus-4-5-20251101", + "family": "claude-opus", + "attachment": true, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2026-01", + "last_updated": "2026-01", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 65536 + }, + "cost": { + "input": 4.5, + "output": 22.5 + } + }, + "gemini-2.5-flash-lite-preview-09-2025": { + "id": "gemini-2.5-flash-lite-preview-09-2025", + "name": "gemini-2.5-flash-lite-preview-09-2025", + "family": "gemini-flash-lite", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2026-01", + "last_updated": "2026-01", + "modalities": { + "input": ["text", "image", "video", "audio"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1048576, + "output": 65536 + }, + "cost": { + "input": 0.09, + "output": 0.36 + } + }, + "gpt-5.2-pro": { + "id": "gpt-5.2-pro", + "name": "gpt-5.2-pro", + "family": "gpt-pro", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2026-01", + "last_updated": "2026-01", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "output": 128000 + }, + "cost": { + "input": 18.9, + "output": 151.2 + } + }, + "gemini-3-flash-preview": { + "id": "gemini-3-flash-preview", + "name": "gemini-3-flash-preview", + "family": "gemini-flash", + "attachment": true, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2026-01", + "last_updated": "2026-01", + "modalities": { + "input": ["text", "image", "video", "audio"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1048576, + "output": 65536 + }, + "cost": { + "input": 0.5, + "output": 3 + } + }, + "gpt-5-mini": { + "id": "gpt-5-mini", + "name": "gpt-5-mini", + "family": "gpt-mini", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2026-01", + "last_updated": "2026-01", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "output": 128000 + }, + "cost": { + "input": 0.225, + "output": 1.8 + } + }, + "gpt-5-nano": { + "id": "gpt-5-nano", + "name": "gpt-5-nano", + "family": "gpt-nano", + "attachment": true, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2026-01", + "last_updated": "2026-01", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "output": 128000 + }, + "cost": { + "input": 0.045, + "output": 0.36 + } + }, + "gemini-3-pro-preview": { + "id": "gemini-3-pro-preview", + "name": "gemini-3-pro-preview", + "family": "gemini-pro", + "attachment": true, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2026-01", + "last_updated": "2026-01", + "modalities": { + "input": ["text", "image", "video", "audio"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1048576, + "output": 65536 + }, + "cost": { + "input": 1.8, + "output": 10.8 + } + }, + "gemini-2.5-flash-preview-05-20": { + "id": "gemini-2.5-flash-preview-05-20", + "name": "gemini-2.5-flash-preview-05-20", + "family": "gemini-flash", + "attachment": true, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2026-01", + "last_updated": "2026-01", + "modalities": { + "input": ["text", "image", "video", "audio"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1048576, + "output": 200000 + }, + "cost": { + "input": 0.135, + "output": 3.15 + } + }, + "claude-sonnet-4-5-20250929": { + "id": "claude-sonnet-4-5-20250929", + "name": "claude-sonnet-4-5-20250929", + "family": "claude-sonnet", + "attachment": true, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2026-01", + "last_updated": "2026-01", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 64000 + }, + "cost": { + "input": 2.7, + "output": 13.5 + } + }, + "gemini-2.5-pro": { + "id": "gemini-2.5-pro", + "name": "gemini-2.5-pro", + "family": "gemini-pro", + "attachment": true, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2026-01", + "last_updated": "2026-01", + "modalities": { + "input": ["text", "image", "video", "audio"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1048576, + "output": 65535 + }, + "cost": { + "input": 1.125, + "output": 9 + } + }, + "grok-4-1-fast-non-reasoning": { + "id": "grok-4-1-fast-non-reasoning", + "name": "grok-4-1-fast-non-reasoning", + "family": "grok", + "attachment": true, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2026-01", + "last_updated": "2026-01", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 2000000, + "output": 2000000 + }, + "cost": { + "input": 0.18, + "output": 0.45 + } + }, + "gpt-5.2": { + "id": "gpt-5.2", + "name": "gpt-5.2", + "family": "gpt", + "attachment": true, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2026-01", + "last_updated": "2026-01", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "output": 128000 + }, + "cost": { + "input": 1.575, + "output": 12.6 + } + }, + "o4-mini": { + "id": "o4-mini", + "name": "o4-mini", + "family": "o", + "attachment": true, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2026-01", + "last_updated": "2026-01", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 100000 + }, + "cost": { + "input": 1.1, + "output": 4.4 + } + }, + "gemini-2.5-pro-preview-06-05": { + "id": "gemini-2.5-pro-preview-06-05", + "name": "gemini-2.5-pro-preview-06-05", + "family": "gemini-pro", + "attachment": true, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2026-01", + "last_updated": "2026-01", + "modalities": { + "input": ["text", "image", "video", "audio"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1048576, + "output": 200000 + }, + "cost": { + "input": 1.125, + "output": 9 + } + }, + "gemini-2.5-flash-lite-preview-06-17": { + "id": "gemini-2.5-flash-lite-preview-06-17", + "name": "gemini-2.5-flash-lite-preview-06-17", + "family": "gemini-flash-lite", + "attachment": true, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2026-01", + "last_updated": "2026-01", + "modalities": { + "input": ["text", "video", "image", "audio"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1048576, + "output": 65535 + }, + "cost": { + "input": 0.09, + "output": 0.36 + } + }, + "gpt-5.2-codex": { + "id": "gpt-5.2-codex", + "name": "gpt-5.2-codex", + "family": "gpt-codex", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2026-01", + "last_updated": "2026-01", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "output": 128000 + }, + "cost": { + "input": 1.75, + "output": 14 + } + }, + "gemini-2.5-flash": { + "id": "gemini-2.5-flash", + "name": "gemini-2.5-flash", + "family": "gemini-flash", + "attachment": true, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2026-01", + "last_updated": "2026-01", + "modalities": { + "input": ["text", "image", "video", "audio"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1048576, + "output": 65535 + }, + "cost": { + "input": 0.27, + "output": 2.25 + } + }, + "gpt-5.1-codex-mini": { + "id": "gpt-5.1-codex-mini", + "name": "gpt-5.1-codex-mini", + "family": "gpt-codex", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2026-01", + "last_updated": "2026-01", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "output": 128000 + }, + "cost": { + "input": 0.225, + "output": 1.8 + } + }, + "grok-code-fast-1": { + "id": "grok-code-fast-1", + "name": "grok-code-fast-1", + "family": "grok", + "attachment": true, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2026-01", + "last_updated": "2026-01", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 256000, + "output": 256000 + }, + "cost": { + "input": 0.18, + "output": 1.35 + } + }, + "gpt-5.1": { + "id": "gpt-5.1", + "name": "gpt-5.1", + "family": "gpt", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2026-02", + "last_updated": "2026-02", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "output": 128000 + }, + "cost": { + "input": 1.125, + "output": 9 + } + }, + "grok-4-fast-reasoning": { + "id": "grok-4-fast-reasoning", + "name": "grok-4-fast-reasoning", + "family": "grok", + "attachment": true, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2026-01", + "last_updated": "2026-01", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 2000000, + "output": 2000000 + }, + "cost": { + "input": 0.18, + "output": 0.45 + } + }, + "o3-mini": { + "id": "o3-mini", + "name": "o3-mini", + "family": "o", + "attachment": true, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2026-01", + "last_updated": "2026-01", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 131072, + "output": 131072 + }, + "cost": { + "input": 1.1, + "output": 4.4 + } + }, + "grok-4-0709": { + "id": "grok-4-0709", + "name": "grok-4-0709", + "family": "grok", + "attachment": true, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2026-01", + "last_updated": "2026-01", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 256000, + "output": 8192 + }, + "cost": { + "input": 2.7, + "output": 13.5 + } + }, + "gpt-5-codex": { + "id": "gpt-5-codex", + "name": "gpt-5-codex", + "family": "gpt-codex", + "attachment": true, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2026-01", + "last_updated": "2026-01", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "output": 128000 + }, + "cost": { + "input": 1.125, + "output": 9 + } + }, + "claude-opus-4-1-20250805": { + "id": "claude-opus-4-1-20250805", + "name": "claude-opus-4-1-20250805", + "family": "claude-opus", + "attachment": true, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2026-01", + "last_updated": "2026-01", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 32000 + }, + "cost": { + "input": 13.5, + "output": 67.5 + } + }, + "claude-haiku-4-5-20251001": { + "id": "claude-haiku-4-5-20251001", + "name": "claude-haiku-4-5-20251001", + "family": "claude-haiku", + "attachment": true, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2026-01", + "last_updated": "2026-01", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 20000, + "output": 64000 + }, + "cost": { + "input": 0.9, + "output": 4.5 + } + }, + "claude-sonnet-4-20250514": { + "id": "claude-sonnet-4-20250514", + "name": "claude-sonnet-4-20250514", + "family": "claude-sonnet", + "attachment": true, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2026-01", + "last_updated": "2026-01", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 64000 + }, + "cost": { + "input": 2.7, + "output": 13.5 + } + }, + "claude-opus-4-6": { + "id": "claude-opus-4-6", + "name": "claude-opus-4-6", + "family": "claude-opus", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2025-05-31", + "release_date": "2026-02", + "last_updated": "2026-02", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000000, + "output": 128000 + }, + "cost": { + "input": 5, + "output": 25 + } + }, + "o3": { + "id": "o3", + "name": "o3", + "attachment": true, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2026-01", + "last_updated": "2026-01", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 131072, + "output": 131072 + }, + "cost": { + "input": 10, + "output": 40 + } + }, + "gpt-5-pro": { + "id": "gpt-5-pro", + "name": "gpt-5-pro", + "family": "gpt-pro", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2026-01", + "last_updated": "2026-01", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "output": 272000 + }, + "cost": { + "input": 13.5, + "output": 108 + } + }, + "gemini-2.5-flash-lite": { + "id": "gemini-2.5-flash-lite", + "name": "gemini-2.5-flash-lite", + "family": "gemini-flash-lite", + "attachment": true, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2026-01", + "last_updated": "2026-01", + "modalities": { + "input": ["text", "image", "video", "audio"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1048576, + "output": 65535 + }, + "cost": { + "input": 0.09, + "output": 0.36 + } + }, + "gpt-5-chat-latest": { + "id": "gpt-5-chat-latest", + "name": "gpt-5-chat-latest", + "family": "gpt", + "attachment": true, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2026-01", + "last_updated": "2026-01", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "output": 128000 + }, + "cost": { + "input": 1.125, + "output": 9 + } + }, + "claude-opus-4-20250514": { + "id": "claude-opus-4-20250514", + "name": "claude-opus-4-20250514", + "family": "claude-opus", + "attachment": true, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2026-01", + "last_updated": "2026-01", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 32000 + }, + "cost": { + "input": 13.5, + "output": 67.5 + } + }, + "gpt-5.1-codex": { + "id": "gpt-5.1-codex", + "name": "gpt-5.1-codex", + "family": "gpt-codex", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2026-01", + "last_updated": "2026-01", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "output": 128000 + }, + "cost": { + "input": 1.125, + "output": 9 + } + }, + "grok-4-fast-non-reasoning": { + "id": "grok-4-fast-non-reasoning", + "name": "grok-4-fast-non-reasoning", + "family": "grok", + "attachment": true, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2026-01", + "last_updated": "2026-01", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 2000000, + "output": 2000000 + }, + "cost": { + "input": 0.18, + "output": 0.45 + } + }, + "deepseek/deepseek-v3-0324": { + "id": "deepseek/deepseek-v3-0324", + "name": "DeepSeek V3 0324", + "family": "deepseek", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2026-01", + "last_updated": "2026-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 163840, + "output": 163840 + }, + "cost": { + "input": 0.28, + "output": 1.14 + } + }, + "deepseek/deepseek-v3.1": { + "id": "deepseek/deepseek-v3.1", + "name": "DeepSeek V3.1", + "family": "deepseek", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2026-01", + "last_updated": "2026-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 163840, + "output": 32768 + }, + "cost": { + "input": 0.27, + "output": 1 + } + }, + "deepseek/deepseek-r1-0528": { + "id": "deepseek/deepseek-r1-0528", + "name": "DeepSeek R1 0528", + "family": "deepseek-thinking", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2026-01", + "last_updated": "2026-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 163840, + "output": 32768 + }, + "cost": { + "input": 0.7, + "output": 2.5 + } + }, + "zai-org/glm-4.7": { + "id": "zai-org/glm-4.7", + "name": "GLM-4.7", + "family": "glm", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2026-01", + "last_updated": "2026-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 204800, + "output": 131072 + }, + "cost": { + "input": 0.6, + "output": 2.2 + } + }, + "zai-org/glm-4.5": { + "id": "zai-org/glm-4.5", + "name": "GLM-4.5", + "family": "glm", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2026-01", + "last_updated": "2026-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 98304 + }, + "cost": { + "input": 0.6, + "output": 2.2 + } + }, + "zai-org/glm-4.5v": { + "id": "zai-org/glm-4.5v", + "name": "GLM 4.5V", + "family": "glmv", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2026-01", + "last_updated": "2026-01", + "modalities": { + "input": ["text", "image", "video"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 65536, + "output": 16384 + }, + "cost": { + "input": 0.6, + "output": 1.8 + } + }, + "zai-org/glm-4.7-flash": { + "id": "zai-org/glm-4.7-flash", + "name": "GLM-4.7-Flash", + "family": "glm", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2026-01", + "last_updated": "2026-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 200000, + "output": 128000 + }, + "cost": { + "input": 0.07, + "output": 0.4 + } + }, + "minimaxai/minimax-m1-80k": { + "id": "minimaxai/minimax-m1-80k", + "name": "MiniMax M1", + "family": "minimax", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": false, + "temperature": true, + "release_date": "2026-01", + "last_updated": "2026-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 1000000, + "output": 40000 + }, + "cost": { + "input": 0.55, + "output": 2.2 + } + }, + "xiaomimimo/mimo-v2-flash": { + "id": "xiaomimimo/mimo-v2-flash", + "name": "XiaomiMiMo/MiMo-V2-Flash", + "family": "mimo", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2026-01", + "last_updated": "2026-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 131072 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "baidu/ernie-4.5-vl-424b-a47b": { + "id": "baidu/ernie-4.5-vl-424b-a47b", + "name": "ERNIE 4.5 VL 424B A47B", + "family": "ernie", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": false, + "temperature": true, + "release_date": "2026-01", + "last_updated": "2026-01", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 123000, + "output": 16000 + }, + "cost": { + "input": 0.42, + "output": 1.25 + } + }, + "baidu/ernie-4.5-300b-a47b-paddle": { + "id": "baidu/ernie-4.5-300b-a47b-paddle", + "name": "ERNIE 4.5 300B A47B", + "family": "ernie", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2026-01", + "last_updated": "2026-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 123000, + "output": 12000 + }, + "cost": { + "input": 0.28, + "output": 1.1 + } + }, + "minimax/minimax-m2.1": { + "id": "minimax/minimax-m2.1", + "name": "Minimax M2.1", + "family": "minimax", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2026-01", + "last_updated": "2026-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 204800, + "output": 131072 + }, + "cost": { + "input": 0.3, + "output": 1.2 + } + }, + "qwen/qwen3-235b-a22b-instruct-2507": { + "id": "qwen/qwen3-235b-a22b-instruct-2507", + "name": "Qwen3 235B A22B Instruct 2507", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2026-01", + "last_updated": "2026-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 16384 + }, + "cost": { + "input": 0.15, + "output": 0.8 + } + }, + "qwen/qwen3-32b-fp8": { + "id": "qwen/qwen3-32b-fp8", + "name": "Qwen3 32B", + "family": "qwen", + "attachment": false, + "reasoning": true, + "tool_call": false, + "structured_output": false, + "temperature": true, + "release_date": "2026-01", + "last_updated": "2026-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 40960, + "output": 20000 + }, + "cost": { + "input": 0.1, + "output": 0.45 + } + }, + "qwen/qwen3-235b-a22b-thinking-2507": { + "id": "qwen/qwen3-235b-a22b-thinking-2507", + "name": "Qwen3 235B A22b Thinking 2507", + "family": "qwen", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2026-01", + "last_updated": "2026-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 131072 + }, + "cost": { + "input": 0.3, + "output": 3 + } + }, + "qwen/qwen3-next-80b-a3b-thinking": { + "id": "qwen/qwen3-next-80b-a3b-thinking", + "name": "Qwen3 Next 80B A3B Thinking", + "family": "qwen", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2026-01", + "last_updated": "2026-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 65536, + "output": 65536 + }, + "cost": { + "input": 0.15, + "output": 1.5 + } + }, + "qwen/qwen3-next-80b-a3b-instruct": { + "id": "qwen/qwen3-next-80b-a3b-instruct", + "name": "Qwen3 Next 80B A3B Instruct", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2026-01", + "last_updated": "2026-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 65536, + "output": 65536 + }, + "cost": { + "input": 0.15, + "output": 1.5 + } + }, + "qwen/qwen3-30b-a3b-fp8": { + "id": "qwen/qwen3-30b-a3b-fp8", + "name": "Qwen3 30B A3B", + "family": "qwen", + "attachment": false, + "reasoning": true, + "tool_call": false, + "structured_output": false, + "temperature": true, + "release_date": "2026-01", + "last_updated": "2026-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 40960, + "output": 20000 + }, + "cost": { + "input": 0.09, + "output": 0.45 + } + }, + "qwen/qwen3-coder-next": { + "id": "qwen/qwen3-coder-next", + "name": "qwen/qwen3-coder-next", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2026-02", + "last_updated": "2026-02", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 65536 + }, + "cost": { + "input": 0.2, + "output": 1.5 + } + }, + "qwen/qwen3-coder-480b-a35b-instruct": { + "id": "qwen/qwen3-coder-480b-a35b-instruct", + "name": "Qwen3 Coder 480B A35B Instruct", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2026-01", + "last_updated": "2026-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 65536 + }, + "cost": { + "input": 0.29, + "output": 1.2 + } + }, + "qwen/qwen3-235b-a22b-fp8": { + "id": "qwen/qwen3-235b-a22b-fp8", + "name": "Qwen3 235B A22B", + "family": "qwen", + "attachment": false, + "reasoning": true, + "tool_call": false, + "structured_output": false, + "temperature": true, + "release_date": "2026-01", + "last_updated": "2026-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 40960, + "output": 20000 + }, + "cost": { + "input": 0.2, + "output": 0.8 + } + }, + "moonshotai/kimi-k2.5": { + "id": "moonshotai/kimi-k2.5", + "name": "Kimi K2.5", + "family": "kimi", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2026-01", + "last_updated": "2026-01", + "modalities": { + "input": ["text", "image", "video"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 262144 + }, + "cost": { + "input": 0.6, + "output": 3 + } + }, + "moonshotai/kimi-k2-instruct": { + "id": "moonshotai/kimi-k2-instruct", + "name": "Kimi K2 Instruct", + "family": "kimi", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2026-01", + "last_updated": "2026-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 131072 + }, + "cost": { + "input": 0.57, + "output": 2.3 + } + }, + "moonshotai/kimi-k2-0905": { + "id": "moonshotai/kimi-k2-0905", + "name": "Kimi K2 0905", + "family": "kimi", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2026-01", + "last_updated": "2026-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 262144 + }, + "cost": { + "input": 0.6, + "output": 2.5 + } + } + } + }, + "bailing": { + "id": "bailing", + "env": ["BAILING_API_TOKEN"], + "npm": "@ai-sdk/openai-compatible", + "api": "https://api.tbox.cn/api/llm/v1/chat/completions", + "name": "Bailing", + "doc": "https://alipaytbox.yuque.com/sxs0ba/ling/intro", + "models": { + "Ring-1T": { + "id": "Ring-1T", + "name": "Ring-1T", + "family": "ring", + "attachment": false, + "reasoning": true, + "tool_call": false, + "temperature": true, + "knowledge": "2024-06", + "release_date": "2025-10", + "last_updated": "2025-10", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 32000 + }, + "cost": { + "input": 0.57, + "output": 2.29 + } + }, + "Ling-1T": { + "id": "Ling-1T", + "name": "Ling-1T", + "family": "ling", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-06", + "release_date": "2025-10", + "last_updated": "2025-10", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 32000 + }, + "cost": { + "input": 0.57, + "output": 2.29 + } + } + } + }, + "iflowcn": { + "id": "iflowcn", + "env": ["IFLOW_API_KEY"], + "npm": "@ai-sdk/openai-compatible", + "api": "https://apis.iflow.cn/v1", + "name": "iFlow", + "doc": "https://platform.iflow.cn/en/docs", + "models": { + "qwen3-coder-plus": { + "id": "qwen3-coder-plus", + "name": "Qwen3-Coder-Plus", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-07-01", + "last_updated": "2025-07-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 256000, + "output": 64000 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "qwen3-32b": { + "id": "qwen3-32b", + "name": "Qwen3-32B", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2024-12-01", + "last_updated": "2024-12-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 32000 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "deepseek-r1": { + "id": "deepseek-r1", + "name": "DeepSeek-R1", + "family": "deepseek-thinking", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-12", + "release_date": "2025-01-20", + "last_updated": "2025-01-20", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 32000 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "qwen3-max": { + "id": "qwen3-max", + "name": "Qwen3-Max", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-12", + "release_date": "2025-01-01", + "last_updated": "2025-01-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 256000, + "output": 32000 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "qwen3-235b-a22b-instruct": { + "id": "qwen3-235b-a22b-instruct", + "name": "Qwen3-235B-A22B-Instruct", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-07-01", + "last_updated": "2025-07-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 256000, + "output": 64000 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "qwen3-235b-a22b-thinking-2507": { + "id": "qwen3-235b-a22b-thinking-2507", + "name": "Qwen3-235B-A22B-Thinking", + "family": "qwen", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-07-01", + "last_updated": "2025-07-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 256000, + "output": 64000 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "kimi-k2-0905": { + "id": "kimi-k2-0905", + "name": "Kimi-K2-0905", + "family": "kimi", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-12", + "release_date": "2025-09-05", + "last_updated": "2025-09-05", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 256000, + "output": 64000 + }, + "cost": { + "input": 0, + "output": 0 + } }, "glm-4.6": { "id": "glm-4.6", @@ -8992,2322 +33863,172 @@ "reasoning": true, "tool_call": true, "temperature": true, - "knowledge": "2025-04", - "release_date": "2025-09-30", - "last_updated": "2025-09-30", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.6, "output": 2.2, "cache_read": 0.11, "cache_write": 0 }, - "limit": { "context": 204800, "output": 131072 } - }, - "glm-4.6v": { - "id": "glm-4.6v", - "name": "GLM-4.6V", - "family": "glm", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-04", - "release_date": "2025-12-08", - "last_updated": "2025-12-08", - "modalities": { "input": ["text", "image", "video"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.3, "output": 0.9 }, - "limit": { "context": 128000, "output": 32768 } - }, - "glm-4.5-flash": { - "id": "glm-4.5-flash", - "name": "GLM-4.5-Flash", - "family": "glm-flash", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-04", - "release_date": "2025-07-28", - "last_updated": "2025-07-28", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0, "cache_read": 0, "cache_write": 0 }, - "limit": { "context": 131072, "output": 98304 } - }, - "glm-5": { - "id": "glm-5", - "name": "GLM-5", - "family": "glm", - "attachment": false, - "reasoning": true, - "tool_call": true, - "interleaved": { "field": "reasoning_content" }, - "temperature": true, - "release_date": "2026-02-11", - "last_updated": "2026-02-11", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 1, "output": 3.2, "cache_read": 0.2, "cache_write": 0 }, - "limit": { "context": 204800, "output": 131072 } - }, - "glm-4.5-air": { - "id": "glm-4.5-air", - "name": "GLM-4.5-Air", - "family": "glm-air", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-04", - "release_date": "2025-07-28", - "last_updated": "2025-07-28", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.2, "output": 1.1, "cache_read": 0.03, "cache_write": 0 }, - "limit": { "context": 131072, "output": 98304 } - }, - "glm-4.5v": { - "id": "glm-4.5v", - "name": "GLM-4.5V", - "family": "glm", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-04", - "release_date": "2025-08-11", - "last_updated": "2025-08-11", - "modalities": { "input": ["text", "image", "video"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.6, "output": 1.8 }, - "limit": { "context": 64000, "output": 16384 } - }, - "glm-4.7": { - "id": "glm-4.7", - "name": "GLM-4.7", - "family": "glm", - "attachment": false, - "reasoning": true, - "tool_call": true, - "interleaved": { "field": "reasoning_content" }, - "temperature": true, - "knowledge": "2025-04", - "release_date": "2025-12-22", - "last_updated": "2025-12-22", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.6, "output": 2.2, "cache_read": 0.11, "cache_write": 0 }, - "limit": { "context": 204800, "output": 131072 } - } - } - }, - "xai": { - "id": "xai", - "env": ["XAI_API_KEY"], - "npm": "@ai-sdk/xai", - "name": "xAI", - "doc": "https://docs.x.ai/docs/models", - "models": { - "grok-2-vision-1212": { - "id": "grok-2-vision-1212", - "name": "Grok 2 Vision (1212)", - "family": "grok", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-08", - "release_date": "2024-08-20", - "last_updated": "2024-12-12", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2, "output": 10, "cache_read": 2 }, - "limit": { "context": 8192, "output": 4096 } - }, - "grok-4-fast": { - "id": "grok-4-fast", - "name": "Grok 4 Fast", - "family": "grok", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-07", - "release_date": "2025-09-19", - "last_updated": "2025-09-19", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.2, "output": 0.5, "cache_read": 0.05 }, - "limit": { "context": 2000000, "output": 30000 } - }, - "grok-2-latest": { - "id": "grok-2-latest", - "name": "Grok 2 Latest", - "family": "grok", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-08", - "release_date": "2024-08-20", - "last_updated": "2024-12-12", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2, "output": 10, "cache_read": 2 }, - "limit": { "context": 131072, "output": 8192 } - }, - "grok-4-fast-non-reasoning": { - "id": "grok-4-fast-non-reasoning", - "name": "Grok 4 Fast (Non-Reasoning)", - "family": "grok", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2025-07", - "release_date": "2025-09-19", - "last_updated": "2025-09-19", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.2, "output": 0.5, "cache_read": 0.05 }, - "limit": { "context": 2000000, "output": 30000 } - }, - "grok-4": { - "id": "grok-4", - "name": "Grok 4", - "family": "grok", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-07", - "release_date": "2025-07-09", - "last_updated": "2025-07-09", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 3, "output": 15, "reasoning": 15, "cache_read": 0.75 }, - "limit": { "context": 256000, "output": 64000 } - }, - "grok-code-fast-1": { - "id": "grok-code-fast-1", - "name": "Grok Code Fast 1", - "family": "grok", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2023-10", - "release_date": "2025-08-28", - "last_updated": "2025-08-28", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.2, "output": 1.5, "cache_read": 0.02 }, - "limit": { "context": 256000, "output": 10000 } - }, - "grok-3-mini-fast": { - "id": "grok-3-mini-fast", - "name": "Grok 3 Mini Fast", - "family": "grok", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2024-11", - "release_date": "2025-02-17", - "last_updated": "2025-02-17", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.6, "output": 4, "reasoning": 4, "cache_read": 0.15 }, - "limit": { "context": 131072, "output": 8192 } - }, - "grok-beta": { - "id": "grok-beta", - "name": "Grok Beta", - "family": "grok-beta", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-08", - "release_date": "2024-11-01", - "last_updated": "2024-11-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 5, "output": 15, "cache_read": 5 }, - "limit": { "context": 131072, "output": 4096 } - }, - "grok-2-vision-latest": { - "id": "grok-2-vision-latest", - "name": "Grok 2 Vision Latest", - "family": "grok", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-08", - "release_date": "2024-08-20", - "last_updated": "2024-12-12", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2, "output": 10, "cache_read": 2 }, - "limit": { "context": 8192, "output": 4096 } - }, - "grok-4-1-fast-non-reasoning": { - "id": "grok-4-1-fast-non-reasoning", - "name": "Grok 4.1 Fast (Non-Reasoning)", - "family": "grok", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2025-07", - "release_date": "2025-11-19", - "last_updated": "2025-11-19", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.2, "output": 0.5, "cache_read": 0.05 }, - "limit": { "context": 2000000, "output": 30000 } - }, - "grok-2": { - "id": "grok-2", - "name": "Grok 2", - "family": "grok", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-08", - "release_date": "2024-08-20", - "last_updated": "2024-08-20", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2, "output": 10, "cache_read": 2 }, - "limit": { "context": 131072, "output": 8192 } - }, - "grok-3-fast-latest": { - "id": "grok-3-fast-latest", - "name": "Grok 3 Fast Latest", - "family": "grok", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-11", - "release_date": "2025-02-17", - "last_updated": "2025-02-17", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 5, "output": 25, "cache_read": 1.25 }, - "limit": { "context": 131072, "output": 8192 } - }, - "grok-2-1212": { - "id": "grok-2-1212", - "name": "Grok 2 (1212)", - "family": "grok", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-08", - "release_date": "2024-12-12", - "last_updated": "2024-12-12", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2, "output": 10, "cache_read": 2 }, - "limit": { "context": 131072, "output": 8192 } - }, - "grok-3-mini": { - "id": "grok-3-mini", - "name": "Grok 3 Mini", - "family": "grok", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2024-11", - "release_date": "2025-02-17", - "last_updated": "2025-02-17", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.3, "output": 0.5, "reasoning": 0.5, "cache_read": 0.075 }, - "limit": { "context": 131072, "output": 8192 } - }, - "grok-2-vision": { - "id": "grok-2-vision", - "name": "Grok 2 Vision", - "family": "grok", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-08", - "release_date": "2024-08-20", - "last_updated": "2024-08-20", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2, "output": 10, "cache_read": 2 }, - "limit": { "context": 8192, "output": 4096 } - }, - "grok-3-latest": { - "id": "grok-3-latest", - "name": "Grok 3 Latest", - "family": "grok", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-11", - "release_date": "2025-02-17", - "last_updated": "2025-02-17", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 3, "output": 15, "cache_read": 0.75 }, - "limit": { "context": 131072, "output": 8192 } - }, - "grok-4.20-multi-agent-0309": { - "id": "grok-4.20-multi-agent-0309", - "name": "Grok 4.20 Multi-Agent", - "family": "grok", - "attachment": true, - "reasoning": true, - "tool_call": false, - "temperature": true, - "release_date": "2026-03-09", - "last_updated": "2026-03-09", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { - "input": 2, - "output": 6, - "cache_read": 0.2, - "context_over_200k": { "input": 4, "output": 12, "cache_read": 0.4 } + "knowledge": "2024-10", + "release_date": "2024-12-01", + "last_updated": "2025-11-13", + "modalities": { + "input": ["text"], + "output": ["text"] }, - "limit": { "context": 2000000, "output": 30000 } - }, - "grok-3-fast": { - "id": "grok-3-fast", - "name": "Grok 3 Fast", - "family": "grok", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-11", - "release_date": "2025-02-17", - "last_updated": "2025-02-17", - "modalities": { "input": ["text"], "output": ["text"] }, "open_weights": false, - "cost": { "input": 5, "output": 25, "cache_read": 1.25 }, - "limit": { "context": 131072, "output": 8192 } - }, - "grok-3-mini-fast-latest": { - "id": "grok-3-mini-fast-latest", - "name": "Grok 3 Mini Fast Latest", - "family": "grok", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2024-11", - "release_date": "2025-02-17", - "last_updated": "2025-02-17", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.6, "output": 4, "reasoning": 4, "cache_read": 0.15 }, - "limit": { "context": 131072, "output": 8192 } - }, - "grok-3": { - "id": "grok-3", - "name": "Grok 3", - "family": "grok", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-11", - "release_date": "2025-02-17", - "last_updated": "2025-02-17", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 3, "output": 15, "cache_read": 0.75 }, - "limit": { "context": 131072, "output": 8192 } - }, - "grok-3-mini-latest": { - "id": "grok-3-mini-latest", - "name": "Grok 3 Mini Latest", - "family": "grok", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2024-11", - "release_date": "2025-02-17", - "last_updated": "2025-02-17", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.3, "output": 0.5, "reasoning": 0.5, "cache_read": 0.075 }, - "limit": { "context": 131072, "output": 8192 } - }, - "grok-4.20-0309-reasoning": { - "id": "grok-4.20-0309-reasoning", - "name": "Grok 4.20 (Reasoning)", - "family": "grok", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2026-03-09", - "last_updated": "2026-03-09", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { - "input": 2, - "output": 6, - "cache_read": 0.2, - "context_over_200k": { "input": 4, "output": 12, "cache_read": 0.4 } + "limit": { + "context": 200000, + "output": 128000 }, - "limit": { "context": 2000000, "output": 30000 } - }, - "grok-4.20-0309-non-reasoning": { - "id": "grok-4.20-0309-non-reasoning", - "name": "Grok 4.20 (Non-Reasoning)", - "family": "grok", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "release_date": "2026-03-09", - "last_updated": "2026-03-09", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, "cost": { - "input": 2, - "output": 6, - "cache_read": 0.2, - "context_over_200k": { "input": 4, "output": 12, "cache_read": 0.4 } + "input": 0, + "output": 0 + } + }, + "qwen3-vl-plus": { + "id": "qwen3-vl-plus", + "name": "Qwen3-VL-Plus", + "family": "qwen", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-12", + "release_date": "2025-01-01", + "last_updated": "2025-01-01", + "modalities": { + "input": ["text", "image"], + "output": ["text"] }, - "limit": { "context": 2000000, "output": 30000 } + "open_weights": false, + "limit": { + "context": 256000, + "output": 32000 + }, + "cost": { + "input": 0, + "output": 0 + } }, - "grok-vision-beta": { - "id": "grok-vision-beta", - "name": "Grok Vision Beta", - "family": "grok-vision", - "attachment": true, + "deepseek-v3.2": { + "id": "deepseek-v3.2", + "name": "DeepSeek-V3.2-Exp", + "family": "deepseek", + "attachment": false, "reasoning": false, "tool_call": true, "temperature": true, - "knowledge": "2024-08", - "release_date": "2024-11-01", - "last_updated": "2024-11-01", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 5, "output": 15, "cache_read": 5 }, - "limit": { "context": 8192, "output": 4096 } + "knowledge": "2024-12", + "release_date": "2025-01-01", + "last_updated": "2025-01-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 64000 + }, + "cost": { + "input": 0, + "output": 0 + } }, - "grok-4-1-fast": { - "id": "grok-4-1-fast", - "name": "Grok 4.1 Fast", - "family": "grok", - "attachment": true, + "qwen3-235b": { + "id": "qwen3-235b", + "name": "Qwen3-235B-A22B", + "family": "qwen", + "attachment": false, "reasoning": true, "tool_call": true, "temperature": true, - "knowledge": "2025-07", - "release_date": "2025-11-19", - "last_updated": "2025-11-19", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.2, "output": 0.5, "cache_read": 0.05 }, - "limit": { "context": 2000000, "output": 30000 } - } - } - }, - "poe": { - "id": "poe", - "env": ["POE_API_KEY"], - "npm": "@ai-sdk/openai-compatible", - "api": "https://api.poe.com/v1", - "name": "Poe", - "doc": "https://creator.poe.com/docs/external-applications/openai-compatible-api", - "models": { - "runwayml/runway": { - "id": "runwayml/runway", - "name": "Runway", - "family": "runway", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": false, - "release_date": "2024-10-11", - "last_updated": "2024-10-11", - "modalities": { "input": ["text", "image"], "output": ["video"] }, - "open_weights": false, - "limit": { "context": 256, "output": 0 } - }, - "runwayml/runway-gen-4-turbo": { - "id": "runwayml/runway-gen-4-turbo", - "name": "Runway-Gen-4-Turbo", - "family": "runway", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": false, - "release_date": "2025-05-09", - "last_updated": "2025-05-09", - "modalities": { "input": ["text", "image"], "output": ["video"] }, - "open_weights": false, - "limit": { "context": 256, "output": 0 } - }, - "openai/gpt-5.2-codex": { - "id": "openai/gpt-5.2-codex", - "name": "GPT-5.2-Codex", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": false, - "release_date": "2026-01-14", - "last_updated": "2026-01-14", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.6, "output": 13, "cache_read": 0.16 }, - "limit": { "context": 400000, "output": 128000 } - }, - "openai/o1-pro": { - "id": "openai/o1-pro", - "name": "o1-pro", - "family": "o-pro", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": false, - "release_date": "2025-03-19", - "last_updated": "2025-03-19", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 140, "output": 540 }, - "limit": { "context": 200000, "output": 100000 } - }, - "openai/gpt-5.1-codex-mini": { - "id": "openai/gpt-5.1-codex-mini", - "name": "GPT-5.1-Codex-Mini", - "family": "gpt-codex", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": false, - "release_date": "2025-11-12", - "last_updated": "2025-11-12", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.22, "output": 1.8, "cache_read": 0.022 }, - "limit": { "context": 400000, "output": 128000 } - }, - "openai/gpt-5.4-pro": { - "id": "openai/gpt-5.4-pro", - "name": "GPT-5.4-Pro", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": false, - "release_date": "2026-03-05", - "last_updated": "2026-03-05", - "modalities": { "input": ["text", "image"], "output": ["image"] }, - "open_weights": false, - "cost": { "input": 27, "output": 160 }, - "limit": { "context": 1050000, "input": 922000, "output": 128000 } - }, - "openai/sora-2": { - "id": "openai/sora-2", - "name": "Sora-2", - "family": "sora", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": false, - "release_date": "2025-10-06", - "last_updated": "2025-10-06", - "modalities": { "input": ["text", "image"], "output": ["video"] }, - "open_weights": false, - "limit": { "context": 0, "output": 0 } - }, - "openai/o3-mini": { - "id": "openai/o3-mini", - "name": "o3-mini", - "family": "o-mini", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": false, - "release_date": "2025-01-31", - "last_updated": "2025-01-31", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.99, "output": 4 }, - "limit": { "context": 200000, "output": 100000 } - }, - "openai/gpt-5.4-mini": { - "id": "openai/gpt-5.4-mini", - "name": "GPT-5.4-Mini", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": false, - "release_date": "2026-03-12", - "last_updated": "2026-03-12", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.68, "output": 4, "cache_read": 0.068 }, - "limit": { "context": 400000, "input": 272000, "output": 128000 } - }, - "openai/gpt-5-pro": { - "id": "openai/gpt-5-pro", - "name": "GPT-5-Pro", - "family": "gpt-pro", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": false, - "release_date": "2025-10-06", - "last_updated": "2025-10-06", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 14, "output": 110 }, - "limit": { "context": 400000, "output": 128000 } - }, - "openai/gpt-5": { - "id": "openai/gpt-5", - "name": "GPT-5", - "family": "gpt", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": false, - "release_date": "2025-08-05", - "last_updated": "2025-08-05", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.1, "output": 9, "cache_read": 0.11 }, - "limit": { "context": 400000, "output": 128000 } - }, - "openai/chatgpt-4o-latest": { - "id": "openai/chatgpt-4o-latest", - "name": "ChatGPT-4o-Latest", - "family": "gpt", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": false, - "release_date": "2024-08-14", - "last_updated": "2024-08-14", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 4.5, "output": 14 }, - "limit": { "context": 128000, "output": 8192 } - }, - "openai/gpt-4-turbo": { - "id": "openai/gpt-4-turbo", - "name": "GPT-4-Turbo", - "family": "gpt", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": false, - "release_date": "2023-09-13", - "last_updated": "2023-09-13", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 9, "output": 27 }, - "limit": { "context": 128000, "output": 4096 } - }, - "openai/gpt-4o": { - "id": "openai/gpt-4o", - "name": "GPT-4o", - "family": "gpt", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": false, - "release_date": "2024-05-13", - "last_updated": "2024-05-13", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "limit": { "context": 128000, "output": 8192 } - }, - "openai/gpt-5.3-codex": { - "id": "openai/gpt-5.3-codex", - "name": "GPT-5.3-Codex", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": false, - "release_date": "2026-02-10", - "last_updated": "2026-02-10", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.6, "output": 13, "cache_read": 0.16 }, - "limit": { "context": 400000, "output": 128000 } - }, - "openai/o3-mini-high": { - "id": "openai/o3-mini-high", - "name": "o3-mini-high", - "family": "o-mini", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": false, - "release_date": "2025-01-31", - "last_updated": "2025-01-31", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.99, "output": 4 }, - "limit": { "context": 200000, "output": 100000 } - }, - "openai/gpt-5-mini": { - "id": "openai/gpt-5-mini", - "name": "GPT-5-mini", - "family": "gpt-mini", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": false, - "release_date": "2025-06-25", - "last_updated": "2025-06-25", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.22, "output": 1.8, "cache_read": 0.022 }, - "limit": { "context": 400000, "output": 128000 } - }, - "openai/gpt-image-1.5": { - "id": "openai/gpt-image-1.5", - "name": "gpt-image-1.5", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": false, - "release_date": "2025-12-16", - "last_updated": "2025-12-16", - "modalities": { "input": ["text", "image"], "output": ["image"] }, - "open_weights": false, - "limit": { "context": 128000, "output": 0 } - }, - "openai/gpt-4o-mini": { - "id": "openai/gpt-4o-mini", - "name": "GPT-4o-mini", - "family": "gpt-mini", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": false, - "release_date": "2024-07-18", - "last_updated": "2024-07-18", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.14, "output": 0.54, "cache_read": 0.068 }, - "limit": { "context": 124096, "output": 4096 } - }, - "openai/gpt-image-1-mini": { - "id": "openai/gpt-image-1-mini", - "name": "GPT-Image-1-Mini", - "family": "gpt", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": false, - "release_date": "2025-08-26", - "last_updated": "2025-08-26", - "modalities": { "input": ["text", "image"], "output": ["image"] }, - "open_weights": false, - "limit": { "context": 0, "output": 0 } - }, - "openai/gpt-5.1-codex-max": { - "id": "openai/gpt-5.1-codex-max", - "name": "GPT 5.1 Codex Max", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": false, - "release_date": "2025-12-08", - "last_updated": "2025-12-08", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.1, "output": 9, "cache_read": 0.11 }, - "limit": { "context": 400000, "output": 128000 } - }, - "openai/gpt-4.1": { - "id": "openai/gpt-4.1", - "name": "GPT-4.1", - "family": "gpt", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": false, - "release_date": "2025-04-14", - "last_updated": "2025-04-14", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.8, "output": 7.2, "cache_read": 0.45 }, - "limit": { "context": 1047576, "output": 32768 } - }, - "openai/gpt-3.5-turbo": { - "id": "openai/gpt-3.5-turbo", - "name": "GPT-3.5-Turbo", - "family": "gpt", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": false, - "release_date": "2023-09-13", - "last_updated": "2023-09-13", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.45, "output": 1.4 }, - "limit": { "context": 16384, "output": 2048 } - }, - "openai/gpt-3.5-turbo-instruct": { - "id": "openai/gpt-3.5-turbo-instruct", - "name": "GPT-3.5-Turbo-Instruct", - "family": "gpt", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": false, - "release_date": "2023-09-20", - "last_updated": "2023-09-20", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.4, "output": 1.8 }, - "limit": { "context": 3500, "output": 1024 } - }, - "openai/dall-e-3": { - "id": "openai/dall-e-3", - "name": "DALL-E-3", - "family": "dall-e", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": false, - "release_date": "2023-11-06", - "last_updated": "2023-11-06", - "modalities": { "input": ["text"], "output": ["image"] }, - "open_weights": false, - "limit": { "context": 800, "output": 0 } - }, - "openai/gpt-4-classic": { - "id": "openai/gpt-4-classic", - "name": "GPT-4-Classic", - "family": "gpt", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": false, - "release_date": "2024-03-25", - "last_updated": "2024-03-25", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 27, "output": 54 }, - "limit": { "context": 8192, "output": 4096 } - }, - "openai/gpt-5.4": { - "id": "openai/gpt-5.4", - "name": "GPT-5.4", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": false, - "release_date": "2026-02-26", - "last_updated": "2026-02-26", - "modalities": { "input": ["text", "image", "pdf"], "output": ["image"] }, - "open_weights": false, - "cost": { "input": 2.2, "output": 14, "cache_read": 0.22 }, - "limit": { "context": 1050000, "input": 922000, "output": 128000 } - }, - "openai/o1": { - "id": "openai/o1", - "name": "o1", - "family": "o", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": false, - "release_date": "2024-12-18", - "last_updated": "2024-12-18", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 14, "output": 54 }, - "limit": { "context": 200000, "output": 100000 } - }, - "openai/gpt-4o-aug": { - "id": "openai/gpt-4o-aug", - "name": "GPT-4o-Aug", - "family": "gpt", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": false, - "release_date": "2024-11-21", - "last_updated": "2024-11-21", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2.2, "output": 9, "cache_read": 1.1 }, - "limit": { "context": 128000, "output": 8192 } - }, - "openai/o3": { - "id": "openai/o3", - "name": "o3", - "family": "o", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": false, - "release_date": "2025-04-16", - "last_updated": "2025-04-16", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.8, "output": 7.2, "cache_read": 0.45 }, - "limit": { "context": 200000, "output": 100000 } - }, - "openai/gpt-5-chat": { - "id": "openai/gpt-5-chat", - "name": "GPT-5-Chat", - "family": "gpt-codex", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": false, - "release_date": "2025-08-07", - "last_updated": "2025-08-07", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.1, "output": 9, "cache_read": 0.11 }, - "limit": { "context": 128000, "output": 16384 } - }, - "openai/gpt-4o-mini-search": { - "id": "openai/gpt-4o-mini-search", - "name": "GPT-4o-mini-Search", - "family": "gpt-mini", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": false, - "release_date": "2025-03-11", - "last_updated": "2025-03-11", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.14, "output": 0.54 }, - "limit": { "context": 128000, "output": 8192 } - }, - "openai/gpt-3.5-turbo-raw": { - "id": "openai/gpt-3.5-turbo-raw", - "name": "GPT-3.5-Turbo-Raw", - "family": "gpt", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": false, - "release_date": "2023-09-27", - "last_updated": "2023-09-27", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.45, "output": 1.4 }, - "limit": { "context": 4524, "output": 2048 } - }, - "openai/gpt-5.4-nano": { - "id": "openai/gpt-5.4-nano", - "name": "GPT-5.4-Nano", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": false, - "release_date": "2026-03-11", - "last_updated": "2026-03-11", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.18, "output": 1.1, "cache_read": 0.018 }, - "limit": { "context": 400000, "input": 272000, "output": 128000 } - }, - "openai/gpt-5.2": { - "id": "openai/gpt-5.2", - "name": "GPT-5.2", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": false, - "release_date": "2025-12-08", - "last_updated": "2025-12-08", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.6, "output": 13, "cache_read": 0.16 }, - "limit": { "context": 400000, "output": 128000 } - }, - "openai/o4-mini-deep-research": { - "id": "openai/o4-mini-deep-research", - "name": "o4-mini-deep-research", - "family": "o-mini", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": false, - "release_date": "2025-06-27", - "last_updated": "2025-06-27", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.8, "output": 7.2, "cache_read": 0.45 }, - "limit": { "context": 200000, "output": 100000 } - }, - "openai/gpt-5.1": { - "id": "openai/gpt-5.1", - "name": "GPT-5.1", - "family": "gpt", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": false, - "release_date": "2025-11-12", - "last_updated": "2025-11-12", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.1, "output": 9, "cache_read": 0.11 }, - "limit": { "context": 400000, "output": 128000 } - }, - "openai/gpt-4.1-mini": { - "id": "openai/gpt-4.1-mini", - "name": "GPT-4.1-mini", - "family": "gpt-mini", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": false, - "release_date": "2025-04-15", - "last_updated": "2025-04-15", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.36, "output": 1.4, "cache_read": 0.09 }, - "limit": { "context": 1047576, "output": 32768 } - }, - "openai/gpt-5-nano": { - "id": "openai/gpt-5-nano", - "name": "GPT-5-nano", - "family": "gpt-nano", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": false, - "release_date": "2025-08-05", - "last_updated": "2025-08-05", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.045, "output": 0.36, "cache_read": 0.0045 }, - "limit": { "context": 400000, "output": 128000 } - }, - "openai/gpt-5.1-instant": { - "id": "openai/gpt-5.1-instant", - "name": "GPT-5.1-Instant", - "family": "gpt", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": false, - "release_date": "2025-11-12", - "last_updated": "2025-11-12", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.1, "output": 9, "cache_read": 0.11 }, - "limit": { "context": 128000, "output": 16384 } - }, - "openai/gpt-5.2-instant": { - "id": "openai/gpt-5.2-instant", - "name": "GPT-5.2-Instant", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": false, - "release_date": "2025-12-11", - "last_updated": "2025-12-11", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.6, "output": 13, "cache_read": 0.16 }, - "limit": { "context": 128000, "output": 16384 } - }, - "openai/gpt-4-classic-0314": { - "id": "openai/gpt-4-classic-0314", - "name": "GPT-4-Classic-0314", - "family": "gpt", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": false, - "release_date": "2024-08-26", - "last_updated": "2024-08-26", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 27, "output": 54 }, - "limit": { "context": 8192, "output": 4096 } - }, - "openai/gpt-4o-search": { - "id": "openai/gpt-4o-search", - "name": "GPT-4o-Search", - "family": "gpt", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": false, - "release_date": "2025-03-11", - "last_updated": "2025-03-11", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2.2, "output": 9 }, - "limit": { "context": 128000, "output": 8192 } - }, - "openai/gpt-image-1": { - "id": "openai/gpt-image-1", - "name": "GPT-Image-1", - "family": "gpt", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": false, - "release_date": "2025-03-31", - "last_updated": "2025-03-31", - "modalities": { "input": ["text", "image"], "output": ["image"] }, - "open_weights": false, - "limit": { "context": 128000, "output": 0 } - }, - "openai/o3-pro": { - "id": "openai/o3-pro", - "name": "o3-pro", - "family": "o-pro", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": false, - "release_date": "2025-06-10", - "last_updated": "2025-06-10", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 18, "output": 72 }, - "limit": { "context": 200000, "output": 100000 } - }, - "openai/gpt-4.1-nano": { - "id": "openai/gpt-4.1-nano", - "name": "GPT-4.1-nano", - "family": "gpt-nano", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": false, - "release_date": "2025-04-15", - "last_updated": "2025-04-15", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.09, "output": 0.36, "cache_read": 0.022 }, - "limit": { "context": 1047576, "output": 32768 } - }, - "openai/gpt-5.3-instant": { - "id": "openai/gpt-5.3-instant", - "name": "GPT-5.3-Instant", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": false, - "release_date": "2026-03-03", - "last_updated": "2026-03-03", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.6, "output": 13, "cache_read": 0.16 }, - "limit": { "context": 128000, "input": 111616, "output": 16384 } - }, - "openai/gpt-5-codex": { - "id": "openai/gpt-5-codex", - "name": "GPT-5-Codex", - "family": "gpt-codex", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": false, - "release_date": "2025-09-23", - "last_updated": "2025-09-23", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.1, "output": 9 }, - "limit": { "context": 400000, "output": 128000 } - }, - "openai/o4-mini": { - "id": "openai/o4-mini", - "name": "o4-mini", - "family": "o-mini", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": false, - "release_date": "2025-04-16", - "last_updated": "2025-04-16", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.99, "output": 4, "cache_read": 0.25 }, - "limit": { "context": 200000, "output": 100000 } - }, - "openai/o3-deep-research": { - "id": "openai/o3-deep-research", - "name": "o3-deep-research", - "family": "o", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": false, - "release_date": "2025-06-27", - "last_updated": "2025-06-27", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 9, "output": 36, "cache_read": 2.2 }, - "limit": { "context": 200000, "output": 100000 } - }, - "openai/gpt-5.1-codex": { - "id": "openai/gpt-5.1-codex", - "name": "GPT-5.1-Codex", - "family": "gpt-codex", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": false, - "release_date": "2025-11-12", - "last_updated": "2025-11-12", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.1, "output": 9, "cache_read": 0.11 }, - "limit": { "context": 400000, "output": 128000 } - }, - "openai/sora-2-pro": { - "id": "openai/sora-2-pro", - "name": "Sora-2-Pro", - "family": "sora", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": false, - "release_date": "2025-10-06", - "last_updated": "2025-10-06", - "modalities": { "input": ["text", "image"], "output": ["video"] }, - "open_weights": false, - "limit": { "context": 0, "output": 0 } - }, - "openai/gpt-5.2-pro": { - "id": "openai/gpt-5.2-pro", - "name": "GPT-5.2-Pro", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": false, - "release_date": "2025-12-11", - "last_updated": "2025-12-11", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 19, "output": 150 }, - "limit": { "context": 400000, "output": 128000 } - }, - "anthropic/claude-opus-4.6": { - "id": "anthropic/claude-opus-4.6", - "name": "Claude-Opus-4.6", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": false, - "release_date": "2026-02-04", - "last_updated": "2026-02-04", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 4.3, "output": 21, "cache_read": 0.43, "cache_write": 5.3 }, - "limit": { "context": 983040, "output": 128000 } - }, - "anthropic/claude-haiku-4.5": { - "id": "anthropic/claude-haiku-4.5", - "name": "Claude-Haiku-4.5", - "family": "claude-haiku", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": false, - "release_date": "2025-10-15", - "last_updated": "2025-10-15", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.85, "output": 4.3, "cache_read": 0.085, "cache_write": 1.1 }, - "limit": { "context": 192000, "output": 64000 } - }, - "anthropic/claude-haiku-3.5": { - "id": "anthropic/claude-haiku-3.5", - "name": "Claude-Haiku-3.5", - "family": "claude-haiku", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": false, - "release_date": "2024-10-01", - "last_updated": "2024-10-01", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.68, "output": 3.4, "cache_read": 0.068, "cache_write": 0.85 }, - "limit": { "context": 189096, "output": 8192 } - }, - "anthropic/claude-haiku-3": { - "id": "anthropic/claude-haiku-3", - "name": "Claude-Haiku-3", - "family": "claude-haiku", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": false, - "release_date": "2024-03-09", - "last_updated": "2024-03-09", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.21, "output": 1.1, "cache_read": 0.021, "cache_write": 0.26 }, - "limit": { "context": 189096, "output": 8192 } - }, - "anthropic/claude-sonnet-3.7": { - "id": "anthropic/claude-sonnet-3.7", - "name": "Claude-Sonnet-3.7", - "family": "claude-sonnet", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": false, - "release_date": "2025-02-19", - "last_updated": "2025-02-19", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2.6, "output": 13, "cache_read": 0.26, "cache_write": 3.2 }, - "limit": { "context": 196608, "output": 128000 } - }, - "anthropic/claude-opus-4.1": { - "id": "anthropic/claude-opus-4.1", - "name": "Claude-Opus-4.1", - "family": "claude-opus", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": false, - "release_date": "2025-08-05", - "last_updated": "2025-08-05", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 13, "output": 64, "cache_read": 1.3, "cache_write": 16 }, - "limit": { "context": 196608, "output": 32000 } - }, - "anthropic/claude-sonnet-4.6": { - "id": "anthropic/claude-sonnet-4.6", - "name": "Claude-Sonnet-4.6", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": false, - "release_date": "2026-02-05", - "last_updated": "2026-02-05", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2.6, "output": 13, "cache_read": 0.26, "cache_write": 3.2 }, - "limit": { "context": 983040, "output": 128000 } - }, - "anthropic/claude-sonnet-4": { - "id": "anthropic/claude-sonnet-4", - "name": "Claude-Sonnet-4", - "family": "claude-sonnet", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": false, - "release_date": "2025-05-21", - "last_updated": "2025-05-21", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2.6, "output": 13, "cache_read": 0.26, "cache_write": 3.2 }, - "limit": { "context": 983040, "output": 64000 } - }, - "anthropic/claude-sonnet-3.5-june": { - "id": "anthropic/claude-sonnet-3.5-june", - "name": "Claude-Sonnet-3.5-June", - "family": "claude-sonnet", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": false, - "release_date": "2024-11-18", - "last_updated": "2024-11-18", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2.6, "output": 13, "cache_read": 0.26, "cache_write": 3.2 }, - "limit": { "context": 189096, "output": 8192 } - }, - "anthropic/claude-opus-4.5": { - "id": "anthropic/claude-opus-4.5", - "name": "Claude-Opus-4.5", - "family": "claude-opus", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": false, - "release_date": "2025-11-21", - "last_updated": "2025-11-21", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 4.3, "output": 21, "cache_read": 0.43, "cache_write": 5.3 }, - "limit": { "context": 196608, "output": 64000 } - }, - "anthropic/claude-sonnet-3.5": { - "id": "anthropic/claude-sonnet-3.5", - "name": "Claude-Sonnet-3.5", - "family": "claude-sonnet", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": false, - "release_date": "2024-06-05", - "last_updated": "2024-06-05", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2.6, "output": 13, "cache_read": 0.26, "cache_write": 3.2 }, - "limit": { "context": 189096, "output": 8192 } - }, - "anthropic/claude-sonnet-4.5": { - "id": "anthropic/claude-sonnet-4.5", - "name": "Claude-Sonnet-4.5", - "family": "claude-sonnet", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": false, - "release_date": "2025-09-26", - "last_updated": "2025-09-26", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2.6, "output": 13, "cache_read": 0.26, "cache_write": 3.2 }, - "limit": { "context": 983040, "output": 32768 } - }, - "anthropic/claude-opus-4": { - "id": "anthropic/claude-opus-4", - "name": "Claude-Opus-4", - "family": "claude-opus", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": false, - "release_date": "2025-05-21", - "last_updated": "2025-05-21", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 13, "output": 64, "cache_read": 1.3, "cache_write": 16 }, - "limit": { "context": 192512, "output": 28672 } - }, - "xai/grok-4-fast-non-reasoning": { - "id": "xai/grok-4-fast-non-reasoning", - "name": "Grok-4-Fast-Non-Reasoning", - "family": "grok", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": false, - "release_date": "2025-09-16", - "last_updated": "2025-09-16", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.2, "output": 0.5, "cache_read": 0.05 }, - "limit": { "context": 2000000, "output": 128000 } - }, - "xai/grok-4": { - "id": "xai/grok-4", - "name": "Grok-4", - "family": "grok", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": false, - "release_date": "2025-07-10", - "last_updated": "2025-07-10", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 3, "output": 15, "cache_read": 0.75 }, - "limit": { "context": 256000, "output": 128000 } - }, - "xai/grok-code-fast-1": { - "id": "xai/grok-code-fast-1", - "name": "Grok Code Fast 1", - "family": "grok", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": false, - "release_date": "2025-08-22", - "last_updated": "2025-08-22", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.2, "output": 1.5, "cache_read": 0.02 }, - "limit": { "context": 256000, "output": 128000 } - }, - "xai/grok-4.1-fast-non-reasoning": { - "id": "xai/grok-4.1-fast-non-reasoning", - "name": "Grok-4.1-Fast-Non-Reasoning", - "family": "grok", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": false, - "release_date": "2025-11-19", - "last_updated": "2025-11-19", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "limit": { "context": 2000000, "output": 30000 } - }, - "xai/grok-4.1-fast-reasoning": { - "id": "xai/grok-4.1-fast-reasoning", - "name": "Grok-4.1-Fast-Reasoning", - "family": "grok", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": false, - "release_date": "2025-11-19", - "last_updated": "2025-11-19", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "limit": { "context": 2000000, "output": 30000 } - }, - "xai/grok-3-mini": { - "id": "xai/grok-3-mini", - "name": "Grok 3 Mini", - "family": "grok", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": false, - "release_date": "2025-04-11", - "last_updated": "2025-04-11", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.3, "output": 0.5, "cache_read": 0.075 }, - "limit": { "context": 131072, "output": 8192 } - }, - "xai/grok-4.20-multi-agent": { - "id": "xai/grok-4.20-multi-agent", - "name": "Grok-4.20-Multi-Agent", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": false, - "release_date": "2026-03-13", - "last_updated": "2026-03-13", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2, "output": 6, "cache_read": 0.2 }, - "limit": { "context": 128000, "output": 0 } - }, - "xai/grok-4-fast-reasoning": { - "id": "xai/grok-4-fast-reasoning", - "name": "Grok-4-Fast-Reasoning", - "family": "grok", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": false, - "release_date": "2025-09-16", - "last_updated": "2025-09-16", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.2, "output": 0.5, "cache_read": 0.05 }, - "limit": { "context": 2000000, "output": 128000 } - }, - "xai/grok-3": { - "id": "xai/grok-3", - "name": "Grok 3", - "family": "grok", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": false, - "release_date": "2025-04-11", - "last_updated": "2025-04-11", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 3, "output": 15, "cache_read": 0.75 }, - "limit": { "context": 131072, "output": 8192 } - }, - "stabilityai/stablediffusionxl": { - "id": "stabilityai/stablediffusionxl", - "name": "StableDiffusionXL", - "family": "stable-diffusion", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": false, - "release_date": "2023-07-09", - "last_updated": "2023-07-09", - "modalities": { "input": ["text", "image"], "output": ["image"] }, - "open_weights": false, - "limit": { "context": 200, "output": 0 } - }, - "trytako/tako": { - "id": "trytako/tako", - "name": "Tako", - "family": "tako", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": false, - "release_date": "2024-08-15", - "last_updated": "2024-08-15", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "limit": { "context": 2048, "output": 0 } - }, - "google/gemini-2.5-flash-lite": { - "id": "google/gemini-2.5-flash-lite", - "name": "Gemini-2.5-Flash-Lite", - "family": "gemini-flash-lite", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": false, - "release_date": "2025-06-19", - "last_updated": "2025-06-19", - "modalities": { "input": ["text", "image", "video", "audio"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.07, "output": 0.28 }, - "limit": { "context": 1024000, "output": 64000 } - }, - "google/lyria": { - "id": "google/lyria", - "name": "Lyria", - "family": "lyria", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": false, - "release_date": "2025-06-04", - "last_updated": "2025-06-04", - "modalities": { "input": ["text"], "output": ["audio"] }, - "open_weights": false, - "limit": { "context": 0, "output": 0 } - }, - "google/imagen-4-ultra": { - "id": "google/imagen-4-ultra", - "name": "Imagen-4-Ultra", - "family": "imagen", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": false, - "release_date": "2025-05-24", - "last_updated": "2025-05-24", - "modalities": { "input": ["text"], "output": ["image"] }, - "open_weights": false, - "limit": { "context": 480, "output": 0 } - }, - "google/nano-banana-pro": { - "id": "google/nano-banana-pro", - "name": "Nano-Banana-Pro", - "family": "nano-banana", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": false, - "release_date": "2025-11-19", - "last_updated": "2025-11-19", - "modalities": { "input": ["text", "image"], "output": ["image"] }, - "open_weights": false, - "cost": { "input": 2, "output": 12, "cache_read": 0.2 }, - "limit": { "context": 65536, "output": 0 } - }, - "google/imagen-3-fast": { - "id": "google/imagen-3-fast", - "name": "Imagen-3-Fast", - "family": "imagen", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": false, - "release_date": "2024-10-17", - "last_updated": "2024-10-17", - "modalities": { "input": ["text"], "output": ["image"] }, - "open_weights": false, - "limit": { "context": 480, "output": 0 } - }, - "google/imagen-3": { - "id": "google/imagen-3", - "name": "Imagen-3", - "family": "imagen", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": false, - "release_date": "2024-10-15", - "last_updated": "2024-10-15", - "modalities": { "input": ["text"], "output": ["image"] }, - "open_weights": false, - "limit": { "context": 480, "output": 0 } - }, - "google/gemini-2.0-flash-lite": { - "id": "google/gemini-2.0-flash-lite", - "name": "Gemini-2.0-Flash-Lite", - "family": "gemini-flash-lite", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": false, - "release_date": "2025-02-05", - "last_updated": "2025-02-05", - "modalities": { "input": ["text", "image", "video", "audio"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.052, "output": 0.21 }, - "limit": { "context": 990000, "output": 8192 } - }, - "google/veo-3.1-fast": { - "id": "google/veo-3.1-fast", - "name": "Veo-3.1-Fast", - "family": "veo", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": false, - "release_date": "2025-10-15", - "last_updated": "2025-10-15", - "modalities": { "input": ["text", "image"], "output": ["video"] }, - "open_weights": false, - "limit": { "context": 480, "output": 0 } - }, - "google/veo-3-fast": { - "id": "google/veo-3-fast", - "name": "Veo-3-Fast", - "family": "veo", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": false, - "release_date": "2025-10-13", - "last_updated": "2025-10-13", - "modalities": { "input": ["text"], "output": ["video"] }, - "open_weights": false, - "limit": { "context": 480, "output": 0 } - }, - "google/imagen-4-fast": { - "id": "google/imagen-4-fast", - "name": "Imagen-4-Fast", - "family": "imagen", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": false, - "release_date": "2025-06-25", - "last_updated": "2025-06-25", - "modalities": { "input": ["text"], "output": ["image"] }, - "open_weights": false, - "limit": { "context": 480, "output": 0 } - }, - "google/veo-3.1": { - "id": "google/veo-3.1", - "name": "Veo-3.1", - "family": "veo", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": false, - "release_date": "2025-10-15", - "last_updated": "2025-10-15", - "modalities": { "input": ["text"], "output": ["video"] }, - "open_weights": false, - "limit": { "context": 480, "output": 0 } - }, - "google/imagen-4": { - "id": "google/imagen-4", - "name": "Imagen-4", - "family": "imagen", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": false, - "release_date": "2025-05-22", - "last_updated": "2025-05-22", - "modalities": { "input": ["text"], "output": ["image"] }, - "open_weights": false, - "limit": { "context": 480, "output": 0 } - }, - "google/veo-3": { - "id": "google/veo-3", - "name": "Veo-3", - "family": "veo", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": false, - "release_date": "2025-05-21", - "last_updated": "2025-05-21", - "modalities": { "input": ["text"], "output": ["video"] }, - "open_weights": false, - "limit": { "context": 480, "output": 0 } - }, - "google/gemini-2.5-pro": { - "id": "google/gemini-2.5-pro", - "name": "Gemini-2.5-Pro", - "family": "gemini-pro", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": false, - "release_date": "2025-02-05", - "last_updated": "2025-02-05", - "modalities": { "input": ["text", "image", "video", "audio"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.87, "output": 7, "cache_read": 0.087 }, - "limit": { "context": 1065535, "output": 65535 } - }, - "google/gemini-2.5-flash": { - "id": "google/gemini-2.5-flash", - "name": "Gemini-2.5-Flash", - "family": "gemini-flash", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": false, - "release_date": "2025-04-26", - "last_updated": "2025-04-26", - "modalities": { "input": ["text", "image", "video", "audio"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.21, "output": 1.8, "cache_read": 0.021 }, - "limit": { "context": 1065535, "output": 65535 } - }, - "google/gemini-2.0-flash": { - "id": "google/gemini-2.0-flash", - "name": "Gemini-2.0-Flash", - "family": "gemini-flash", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": false, - "release_date": "2024-12-11", - "last_updated": "2024-12-11", - "modalities": { "input": ["text", "image", "video", "audio"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.1, "output": 0.42 }, - "limit": { "context": 990000, "output": 8192 } - }, - "google/gemini-3-pro": { - "id": "google/gemini-3-pro", - "name": "Gemini-3-Pro", - "family": "gemini-pro", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": false, - "release_date": "2025-10-22", - "last_updated": "2025-10-22", - "modalities": { "input": ["text", "image", "video", "audio"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.6, "output": 9.6, "cache_read": 0.16 }, - "limit": { "context": 1048576, "output": 65536 } - }, - "google/gemini-deep-research": { - "id": "google/gemini-deep-research", - "name": "gemini-deep-research", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": false, - "release_date": "2025-12-11", - "last_updated": "2025-12-11", - "modalities": { "input": ["text", "image", "video"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.6, "output": 9.6 }, - "limit": { "context": 1048576, "output": 0 } - }, - "google/veo-2": { - "id": "google/veo-2", - "name": "Veo-2", - "family": "veo", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": false, - "release_date": "2024-12-02", - "last_updated": "2024-12-02", - "modalities": { "input": ["text"], "output": ["video"] }, - "open_weights": false, - "limit": { "context": 480, "output": 0 } - }, - "google/gemini-3.1-pro": { - "id": "google/gemini-3.1-pro", - "name": "Gemini-3.1-Pro", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": false, - "release_date": "2026-02-19", - "last_updated": "2026-02-19", - "modalities": { "input": ["text", "image", "video", "audio"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2, "output": 12, "cache_read": 0.2 }, - "limit": { "context": 1048576, "output": 65536 } - }, - "google/nano-banana": { - "id": "google/nano-banana", - "name": "Nano-Banana", - "family": "nano-banana", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": false, - "release_date": "2025-08-21", - "last_updated": "2025-08-21", - "modalities": { "input": ["text", "image"], "output": ["text", "image"] }, - "open_weights": false, - "cost": { "input": 0.21, "output": 1.8, "cache_read": 0.021 }, - "limit": { "context": 65536, "output": 0 } - }, - "google/gemini-3-flash": { - "id": "google/gemini-3-flash", - "name": "Gemini-3-Flash", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": false, - "release_date": "2025-10-07", - "last_updated": "2025-10-07", - "modalities": { "input": ["text", "image", "video", "audio"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.4, "output": 2.4, "cache_read": 0.04 }, - "limit": { "context": 1048576, "output": 65536 } - }, - "google/gemini-3.1-flash-lite": { - "id": "google/gemini-3.1-flash-lite", - "name": "Gemini-3.1-Flash-Lite", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": false, - "release_date": "2026-02-18", - "last_updated": "2026-02-18", - "modalities": { "input": ["text", "image", "video", "audio"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.25, "output": 1.5 }, - "limit": { "context": 1048576, "output": 65536 } - }, - "poetools/claude-code": { - "id": "poetools/claude-code", - "name": "claude-code", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": false, - "release_date": "2025-11-27", - "last_updated": "2025-11-27", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "limit": { "context": 0, "output": 0 } - }, - "novita/glm-4.7-n": { - "id": "novita/glm-4.7-n", - "name": "glm-4.7-n", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": false, - "release_date": "2025-12-22", - "last_updated": "2025-12-22", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "limit": { "context": 205000, "output": 131072 } - }, - "novita/kimi-k2-thinking": { - "id": "novita/kimi-k2-thinking", - "name": "kimi-k2-thinking", + "knowledge": "2024-10", + "release_date": "2024-12-01", + "last_updated": "2024-12-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 32000 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "kimi-k2": { + "id": "kimi-k2", + "name": "Kimi-K2", "family": "kimi", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": false, - "release_date": "2025-11-07", - "last_updated": "2025-11-07", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "limit": { "context": 256000, "output": 0 } - }, - "novita/kimi-k2.5": { - "id": "novita/kimi-k2.5", - "name": "kimi-k2.5", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": false, - "release_date": "2026-01-27", - "last_updated": "2026-01-27", - "modalities": { "input": ["text", "image", "video"], "output": ["text"] }, - "open_weights": false, - "limit": { "context": 256000, "output": 262144 } - }, - "novita/glm-4.7-flash": { - "id": "novita/glm-4.7-flash", - "name": "glm-4.7-flash", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": false, - "release_date": "2026-01-19", - "last_updated": "2026-01-19", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "limit": { "context": 200000, "output": 65500 } - }, - "novita/minimax-m2.1": { - "id": "novita/minimax-m2.1", - "name": "minimax-m2.1", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": false, - "release_date": "2025-12-26", - "last_updated": "2025-12-26", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "limit": { "context": 205000, "output": 131072 } - }, - "novita/glm-4.6": { - "id": "novita/glm-4.6", - "name": "GLM-4.6", - "family": "glm", - "attachment": true, + "attachment": false, "reasoning": false, "tool_call": true, - "temperature": false, - "release_date": "2025-09-30", - "last_updated": "2025-09-30", - "modalities": { "input": ["text"], "output": ["text"] }, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2024-12-01", + "last_updated": "2024-12-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, "open_weights": false, - "limit": { "context": 0, "output": 0 } + "limit": { + "context": 128000, + "output": 64000 + }, + "cost": { + "input": 0, + "output": 0 + } }, - "novita/glm-4.6v": { - "id": "novita/glm-4.6v", - "name": "glm-4.6v", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": false, - "release_date": "2025-12-09", - "last_updated": "2025-12-09", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "limit": { "context": 131000, "output": 32768 } - }, - "novita/glm-4.7": { - "id": "novita/glm-4.7", - "name": "glm-4.7", - "attachment": true, - "reasoning": true, + "qwen3-max-preview": { + "id": "qwen3-max-preview", + "name": "Qwen3-Max-Preview", + "family": "qwen", + "attachment": false, + "reasoning": false, "tool_call": true, "temperature": true, - "release_date": "2025-12-22", - "last_updated": "2025-12-22", - "modalities": { "input": ["text"], "output": ["text"] }, + "knowledge": "2024-12", + "release_date": "2025-01-01", + "last_updated": "2025-01-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, "open_weights": false, - "limit": { "context": 205000, "output": 131072 } + "limit": { + "context": 256000, + "output": 32000 + }, + "cost": { + "input": 0, + "output": 0 + } }, - "novita/deepseek-v3.2": { - "id": "novita/deepseek-v3.2", - "name": "DeepSeek-V3.2", - "attachment": true, - "reasoning": true, + "deepseek-v3": { + "id": "deepseek-v3", + "name": "DeepSeek-V3", + "family": "deepseek", + "attachment": false, + "reasoning": false, "tool_call": true, "temperature": true, - "release_date": "2025-12-01", - "last_updated": "2025-12-01", - "modalities": { "input": ["text"], "output": ["text"] }, + "knowledge": "2024-10", + "release_date": "2024-12-26", + "last_updated": "2024-12-26", + "modalities": { + "input": ["text"], + "output": ["text"] + }, "open_weights": true, - "cost": { "input": 0.27, "output": 0.4, "cache_read": 0.13 }, - "limit": { "context": 128000, "output": 0 } - }, - "topazlabs-co/topazlabs": { - "id": "topazlabs-co/topazlabs", - "name": "TopazLabs", - "family": "topazlabs", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": false, - "release_date": "2024-12-03", - "last_updated": "2024-12-03", - "modalities": { "input": ["text"], "output": ["image"] }, - "open_weights": false, - "limit": { "context": 204, "output": 0 } - }, - "elevenlabs/elevenlabs-v3": { - "id": "elevenlabs/elevenlabs-v3", - "name": "ElevenLabs-v3", - "family": "elevenlabs", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": false, - "release_date": "2025-06-05", - "last_updated": "2025-06-05", - "modalities": { "input": ["text"], "output": ["audio"] }, - "open_weights": false, - "limit": { "context": 128000, "output": 0 } - }, - "elevenlabs/elevenlabs-music": { - "id": "elevenlabs/elevenlabs-music", - "name": "ElevenLabs-Music", - "family": "elevenlabs", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": false, - "release_date": "2025-08-29", - "last_updated": "2025-08-29", - "modalities": { "input": ["text"], "output": ["audio"] }, - "open_weights": false, - "limit": { "context": 2000, "output": 0 } - }, - "elevenlabs/elevenlabs-v2.5-turbo": { - "id": "elevenlabs/elevenlabs-v2.5-turbo", - "name": "ElevenLabs-v2.5-Turbo", - "family": "elevenlabs", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": false, - "release_date": "2024-10-28", - "last_updated": "2024-10-28", - "modalities": { "input": ["text"], "output": ["audio"] }, - "open_weights": false, - "limit": { "context": 128000, "output": 0 } - }, - "lumalabs/ray2": { - "id": "lumalabs/ray2", - "name": "Ray2", - "family": "ray", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": false, - "release_date": "2025-02-20", - "last_updated": "2025-02-20", - "modalities": { "input": ["text", "image"], "output": ["video"] }, - "open_weights": false, - "limit": { "context": 5000, "output": 0 } - }, - "cerebras/gpt-oss-120b-cs": { - "id": "cerebras/gpt-oss-120b-cs", - "name": "gpt-oss-120b-cs", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": false, - "release_date": "2025-08-06", - "last_updated": "2025-08-06", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "limit": { "context": 0, "output": 0 } - }, - "cerebras/llama-3.3-70b-cs": { - "id": "cerebras/llama-3.3-70b-cs", - "name": "llama-3.3-70b-cs", - "attachment": true, - "reasoning": false, - "tool_call": false, - "temperature": false, - "release_date": "2025-05-13", - "last_updated": "2025-05-13", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "limit": { "context": 0, "output": 0 } - }, - "cerebras/qwen3-235b-2507-cs": { - "id": "cerebras/qwen3-235b-2507-cs", - "name": "qwen3-235b-2507-cs", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": false, - "release_date": "2025-08-06", - "last_updated": "2025-08-06", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "limit": { "context": 0, "output": 0 } - }, - "cerebras/llama-3.1-8b-cs": { - "id": "cerebras/llama-3.1-8b-cs", - "name": "llama-3.1-8b-cs", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": false, - "release_date": "2025-05-13", - "last_updated": "2025-05-13", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "limit": { "context": 0, "output": 0 } - }, - "cerebras/qwen3-32b-cs": { - "id": "cerebras/qwen3-32b-cs", - "name": "qwen3-32b-cs", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": false, - "release_date": "2025-05-15", - "last_updated": "2025-05-15", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "limit": { "context": 0, "output": 0 } - }, - "ideogramai/ideogram-v2": { - "id": "ideogramai/ideogram-v2", - "name": "Ideogram-v2", - "family": "ideogram", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": false, - "release_date": "2024-08-21", - "last_updated": "2024-08-21", - "modalities": { "input": ["text", "image"], "output": ["image"] }, - "open_weights": false, - "limit": { "context": 150, "output": 0 } - }, - "ideogramai/ideogram-v2a": { - "id": "ideogramai/ideogram-v2a", - "name": "Ideogram-v2a", - "family": "ideogram", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": false, - "release_date": "2025-02-27", - "last_updated": "2025-02-27", - "modalities": { "input": ["text"], "output": ["image"] }, - "open_weights": false, - "limit": { "context": 150, "output": 0 } - }, - "ideogramai/ideogram-v2a-turbo": { - "id": "ideogramai/ideogram-v2a-turbo", - "name": "Ideogram-v2a-Turbo", - "family": "ideogram", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": false, - "release_date": "2025-02-27", - "last_updated": "2025-02-27", - "modalities": { "input": ["text"], "output": ["image"] }, - "open_weights": false, - "limit": { "context": 150, "output": 0 } - }, - "ideogramai/ideogram": { - "id": "ideogramai/ideogram", - "name": "Ideogram", - "family": "ideogram", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": false, - "release_date": "2024-04-03", - "last_updated": "2024-04-03", - "modalities": { "input": ["text", "image"], "output": ["image"] }, - "open_weights": false, - "limit": { "context": 150, "output": 0 } + "limit": { + "context": 128000, + "output": 32000 + }, + "cost": { + "input": 0, + "output": 0 + } } } }, @@ -11328,10 +34049,19 @@ "temperature": true, "release_date": "2025-06-09", "last_updated": "2025-06-09", - "modalities": { "input": ["text", "image"], "output": ["text"] }, + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, "open_weights": false, - "cost": { "input": 15, "output": 75 }, - "limit": { "context": 512000, "output": 32000 } + "limit": { + "context": 512000, + "output": 32000 + }, + "cost": { + "input": 15, + "output": 75 + } }, "v0-1.0-md": { "id": "v0-1.0-md", @@ -11343,10 +34073,19 @@ "temperature": true, "release_date": "2025-05-22", "last_updated": "2025-05-22", - "modalities": { "input": ["text", "image"], "output": ["text"] }, + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, "open_weights": false, - "cost": { "input": 3, "output": 15 }, - "limit": { "context": 128000, "output": 32000 } + "limit": { + "context": 128000, + "output": 32000 + }, + "cost": { + "input": 3, + "output": 15 + } }, "v0-1.5-md": { "id": "v0-1.5-md", @@ -11358,393 +34097,211 @@ "temperature": true, "release_date": "2025-06-09", "last_updated": "2025-06-09", - "modalities": { "input": ["text", "image"], "output": ["text"] }, + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, "open_weights": false, - "cost": { "input": 3, "output": 15 }, - "limit": { "context": 128000, "output": 32000 } + "limit": { + "context": 128000, + "output": 32000 + }, + "cost": { + "input": 3, + "output": 15 + } } } }, - "opencode": { - "id": "opencode", - "env": ["OPENCODE_API_KEY"], + "huggingface": { + "id": "huggingface", + "env": ["HF_TOKEN"], "npm": "@ai-sdk/openai-compatible", - "api": "https://opencode.ai/zen/v1", - "name": "OpenCode Zen", - "doc": "https://opencode.ai/docs/zen", + "api": "https://router.huggingface.co/v1", + "name": "Hugging Face", + "doc": "https://huggingface.co/docs/inference-providers", "models": { - "gpt-5.2-codex": { - "id": "gpt-5.2-codex", - "name": "GPT-5.2 Codex", - "family": "gpt-codex", + "Qwen/Qwen3.5-397B-A17B": { + "id": "Qwen/Qwen3.5-397B-A17B", + "name": "Qwen3.5-397B-A17B", + "family": "qwen", "attachment": true, "reasoning": true, "tool_call": true, - "structured_output": true, - "temperature": false, - "knowledge": "2025-08-31", - "release_date": "2026-01-14", - "last_updated": "2026-01-14", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.75, "output": 14, "cache_read": 0.175 }, - "limit": { "context": 400000, "input": 272000, "output": 128000 }, - "provider": { "npm": "@ai-sdk/openai" } - }, - "mimo-v2-flash-free": { - "id": "mimo-v2-flash-free", - "name": "MiMo V2 Flash Free", - "family": "mimo-flash-free", - "attachment": false, - "reasoning": true, - "tool_call": true, - "interleaved": { "field": "reasoning_content" }, + "interleaved": { + "field": "reasoning_content" + }, "temperature": true, - "knowledge": "2024-12", - "release_date": "2025-12-16", - "last_updated": "2025-12-16", - "modalities": { "input": ["text"], "output": ["text"] }, + "knowledge": "2025-04", + "release_date": "2026-02-01", + "last_updated": "2026-02-01", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, "open_weights": true, - "cost": { "input": 0, "output": 0, "cache_read": 0 }, - "limit": { "context": 262144, "output": 65536 }, - "status": "deprecated" + "limit": { + "context": 262144, + "output": 32768 + }, + "cost": { + "input": 0.6, + "output": 3.6 + } }, - "gpt-5.1-codex-mini": { - "id": "gpt-5.1-codex-mini", - "name": "GPT-5.1 Codex Mini", - "family": "gpt-codex", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": false, - "knowledge": "2024-09-30", - "release_date": "2025-11-13", - "last_updated": "2025-11-13", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.25, "output": 2, "cache_read": 0.025 }, - "limit": { "context": 400000, "input": 272000, "output": 128000 }, - "provider": { "npm": "@ai-sdk/openai" } - }, - "gpt-5.4-pro": { - "id": "gpt-5.4-pro", - "name": "GPT-5.4 Pro", - "family": "gpt-pro", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": false, - "temperature": false, - "knowledge": "2025-08-31", - "release_date": "2026-03-05", - "last_updated": "2026-03-05", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 30, "output": 180, "cache_read": 30 }, - "limit": { "context": 1050000, "input": 922000, "output": 128000 }, - "provider": { "npm": "@ai-sdk/openai" } - }, - "big-pickle": { - "id": "big-pickle", - "name": "Big Pickle", - "family": "big-pickle", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-01", - "release_date": "2025-10-17", - "last_updated": "2025-10-17", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0, "output": 0, "cache_read": 0, "cache_write": 0 }, - "limit": { "context": 200000, "output": 128000 }, - "provider": { "npm": "@ai-sdk/anthropic" } - }, - "gpt-5.4-mini": { - "id": "gpt-5.4-mini", - "name": "GPT-5.4 Mini", - "family": "gpt-mini", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": false, - "knowledge": "2025-08-31", - "release_date": "2026-03-17", - "last_updated": "2026-03-17", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.75, "output": 4.5, "cache_read": 0.075 }, - "limit": { "context": 400000, "input": 272000, "output": 128000 }, - "provider": { "npm": "@ai-sdk/openai" } - }, - "kimi-k2-thinking": { - "id": "kimi-k2-thinking", - "name": "Kimi K2 Thinking", - "family": "kimi-thinking", - "attachment": false, - "reasoning": true, - "tool_call": true, - "interleaved": { "field": "reasoning_content" }, - "temperature": true, - "knowledge": "2024-10", - "release_date": "2025-09-05", - "last_updated": "2025-09-05", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.4, "output": 2.5, "cache_read": 0.4 }, - "limit": { "context": 262144, "output": 262144 }, - "status": "deprecated" - }, - "minimax-m2.1-free": { - "id": "minimax-m2.1-free", - "name": "MiniMax M2.1 Free", - "family": "minimax-free", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-01", - "release_date": "2025-12-23", - "last_updated": "2025-12-23", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0, "cache_read": 0 }, - "limit": { "context": 204800, "output": 131072 }, - "status": "deprecated", - "provider": { "npm": "@ai-sdk/anthropic" } - }, - "gpt-5": { - "id": "gpt-5", - "name": "GPT-5", - "family": "gpt", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": false, - "knowledge": "2024-09-30", - "release_date": "2025-08-07", - "last_updated": "2025-08-07", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.07, "output": 8.5, "cache_read": 0.107 }, - "limit": { "context": 400000, "input": 272000, "output": 128000 }, - "provider": { "npm": "@ai-sdk/openai" } - }, - "claude-opus-4-5": { - "id": "claude-opus-4-5", - "name": "Claude Opus 4.5", - "family": "claude-opus", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-03-31", - "release_date": "2025-11-24", - "last_updated": "2025-11-24", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 5, "output": 25, "cache_read": 0.5, "cache_write": 6.25 }, - "limit": { "context": 200000, "output": 64000 }, - "provider": { "npm": "@ai-sdk/anthropic" } - }, - "kimi-k2.5": { - "id": "kimi-k2.5", - "name": "Kimi K2.5", - "family": "kimi", - "attachment": true, - "reasoning": true, - "tool_call": true, - "interleaved": { "field": "reasoning_content" }, - "temperature": true, - "knowledge": "2024-10", - "release_date": "2026-01-27", - "last_updated": "2026-01-27", - "modalities": { "input": ["text", "image", "video"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.6, "output": 3, "cache_read": 0.08 }, - "limit": { "context": 262144, "output": 65536 } - }, - "mimo-v2-omni-free": { - "id": "mimo-v2-omni-free", - "name": "MiMo V2 Omni Free", - "family": "mimo-omni-free", - "attachment": true, - "reasoning": true, - "tool_call": true, - "interleaved": { "field": "reasoning_content" }, - "temperature": true, - "knowledge": "2024-12", - "release_date": "2026-03-18", - "last_updated": "2026-03-18", - "modalities": { "input": ["text", "image", "audio", "pdf"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0, "cache_read": 0 }, - "limit": { "context": 262144, "output": 64000 } - }, - "gpt-5.3-codex": { - "id": "gpt-5.3-codex", - "name": "GPT-5.3 Codex", - "family": "gpt-codex", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": false, - "knowledge": "2025-08-31", - "release_date": "2026-02-24", - "last_updated": "2026-02-24", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.75, "output": 14, "cache_read": 0.175 }, - "limit": { "context": 400000, "input": 272000, "output": 128000 }, - "provider": { "npm": "@ai-sdk/openai" } - }, - "qwen3.6-plus-free": { - "id": "qwen3.6-plus-free", - "name": "Qwen3.6 Plus Free", - "family": "qwen-free", - "attachment": false, - "reasoning": true, - "tool_call": true, - "interleaved": { "field": "reasoning_content" }, - "temperature": true, - "knowledge": "2024-12", - "release_date": "2026-03-30", - "last_updated": "2026-03-30", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0, "output": 0, "cache_read": 0 }, - "limit": { "context": 1048576, "output": 64000 } - }, - "gpt-5.3-codex-spark": { - "id": "gpt-5.3-codex-spark", - "name": "GPT-5.3 Codex Spark", - "family": "gpt-codex-spark", - "attachment": false, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": false, - "knowledge": "2025-08-31", - "release_date": "2026-02-12", - "last_updated": "2026-02-12", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.75, "output": 14, "cache_read": 0.175 }, - "limit": { "context": 128000, "input": 128000, "output": 128000 }, - "provider": { "npm": "@ai-sdk/openai" } - }, - "kimi-k2": { - "id": "kimi-k2", - "name": "Kimi K2", - "family": "kimi", + "Qwen/Qwen3-Coder-Next": { + "id": "Qwen/Qwen3-Coder-Next", + "name": "Qwen3-Coder-Next", + "family": "qwen", "attachment": false, "reasoning": false, "tool_call": true, "temperature": true, - "knowledge": "2024-10", - "release_date": "2025-09-05", - "last_updated": "2025-09-05", - "modalities": { "input": ["text"], "output": ["text"] }, + "knowledge": "2025-04", + "release_date": "2026-02-03", + "last_updated": "2026-02-03", + "modalities": { + "input": ["text"], + "output": ["text"] + }, "open_weights": true, - "cost": { "input": 0.4, "output": 2.5, "cache_read": 0.4 }, - "limit": { "context": 262144, "output": 262144 }, - "status": "deprecated" + "limit": { + "context": 262144, + "output": 65536 + }, + "cost": { + "input": 0.2, + "output": 1.5 + } }, - "claude-opus-4-6": { - "id": "claude-opus-4-6", - "name": "Claude Opus 4.6", - "family": "claude-opus", - "attachment": true, - "reasoning": true, + "Qwen/Qwen3-Next-80B-A3B-Instruct": { + "id": "Qwen/Qwen3-Next-80B-A3B-Instruct", + "name": "Qwen3-Next-80B-A3B-Instruct", + "family": "qwen", + "attachment": false, + "reasoning": false, "tool_call": true, "temperature": true, - "knowledge": "2025-08-31", - "release_date": "2026-02-05", - "last_updated": "2026-02-05", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 5, "output": 25, "cache_read": 0.5, "cache_write": 6.25 }, - "limit": { "context": 1000000, "output": 128000 }, - "provider": { "npm": "@ai-sdk/anthropic" } + "knowledge": "2025-04", + "release_date": "2025-09-11", + "last_updated": "2025-09-11", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 66536 + }, + "cost": { + "input": 0.25, + "output": 1 + } }, - "gpt-5.1-codex-max": { - "id": "gpt-5.1-codex-max", - "name": "GPT-5.1 Codex Max", - "family": "gpt-codex", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, + "Qwen/Qwen3-Embedding-8B": { + "id": "Qwen/Qwen3-Embedding-8B", + "name": "Qwen 3 Embedding 8B", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": false, "temperature": false, - "knowledge": "2024-09-30", - "release_date": "2025-11-13", - "last_updated": "2025-11-13", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.25, "output": 10, "cache_read": 0.125 }, - "limit": { "context": 400000, "input": 272000, "output": 128000 }, - "provider": { "npm": "@ai-sdk/openai" } + "knowledge": "2024-12", + "release_date": "2025-01-01", + "last_updated": "2025-01-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 32000, + "output": 4096 + }, + "cost": { + "input": 0.01, + "output": 0 + } }, - "claude-sonnet-4-6": { - "id": "claude-sonnet-4-6", - "name": "Claude Sonnet 4.6", - "family": "claude-sonnet", - "attachment": true, - "reasoning": true, - "tool_call": true, - "interleaved": true, - "temperature": true, - "knowledge": "2025-07-31", - "release_date": "2026-02-17", - "last_updated": "2026-02-17", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 3, "output": 15, "cache_read": 0.3, "cache_write": 3.75 }, - "limit": { "context": 1000000, "output": 64000 }, - "provider": { "npm": "@ai-sdk/anthropic" } - }, - "grok-code": { - "id": "grok-code", - "name": "Grok Code Fast 1", - "family": "grok", - "attachment": true, + "Qwen/Qwen3-235B-A22B-Thinking-2507": { + "id": "Qwen/Qwen3-235B-A22B-Thinking-2507", + "name": "Qwen3-235B-A22B-Thinking-2507", + "family": "qwen", + "attachment": false, "reasoning": true, "tool_call": true, "temperature": true, - "release_date": "2025-08-20", - "last_updated": "2025-08-20", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0, "output": 0, "cache_read": 0, "cache_write": 0 }, - "limit": { "context": 256000, "output": 256000 }, - "status": "deprecated" + "knowledge": "2025-04", + "release_date": "2025-07-25", + "last_updated": "2025-07-25", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 131072 + }, + "cost": { + "input": 0.3, + "output": 3 + } }, - "gpt-5.4": { - "id": "gpt-5.4", - "name": "GPT-5.4", - "family": "gpt", - "attachment": true, - "reasoning": true, + "Qwen/Qwen3-Next-80B-A3B-Thinking": { + "id": "Qwen/Qwen3-Next-80B-A3B-Thinking", + "name": "Qwen3-Next-80B-A3B-Thinking", + "family": "qwen", + "attachment": false, + "reasoning": false, "tool_call": true, - "structured_output": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-09-11", + "last_updated": "2025-09-11", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 131072 + }, + "cost": { + "input": 0.3, + "output": 2 + } + }, + "Qwen/Qwen3-Embedding-4B": { + "id": "Qwen/Qwen3-Embedding-4B", + "name": "Qwen 3 Embedding 4B", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": false, "temperature": false, - "knowledge": "2025-08-31", - "release_date": "2026-03-05", - "last_updated": "2026-03-05", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2.5, "output": 15, "cache_read": 0.25 }, - "limit": { "context": 1050000, "input": 922000, "output": 128000 }, - "provider": { "npm": "@ai-sdk/openai" } + "knowledge": "2024-12", + "release_date": "2025-01-01", + "last_updated": "2025-01-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 32000, + "output": 2048 + }, + "cost": { + "input": 0.01, + "output": 0 + } }, - "qwen3-coder": { - "id": "qwen3-coder", - "name": "Qwen3 Coder", + "Qwen/Qwen3-Coder-480B-A35B-Instruct": { + "id": "Qwen/Qwen3-Coder-480B-A35B-Instruct", + "name": "Qwen3-Coder-480B-A35B-Instruct", "family": "qwen", "attachment": false, "reasoning": false, @@ -11753,1529 +34310,186 @@ "knowledge": "2025-04", "release_date": "2025-07-23", "last_updated": "2025-07-23", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.45, "output": 1.8 }, - "limit": { "context": 262144, "output": 65536 }, - "status": "deprecated" - }, - "minimax-m2.1": { - "id": "minimax-m2.1", - "name": "MiniMax M2.1", - "family": "minimax", - "attachment": false, - "reasoning": true, - "tool_call": true, - "interleaved": { "field": "reasoning_content" }, - "temperature": true, - "knowledge": "2025-01", - "release_date": "2025-12-23", - "last_updated": "2025-12-23", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.3, "output": 1.2, "cache_read": 0.1 }, - "limit": { "context": 204800, "output": 131072 }, - "status": "deprecated" - }, - "kimi-k2.5-free": { - "id": "kimi-k2.5-free", - "name": "Kimi K2.5 Free", - "family": "kimi-free", - "attachment": true, - "reasoning": true, - "tool_call": true, - "interleaved": { "field": "reasoning_content" }, - "temperature": true, - "knowledge": "2024-10", - "release_date": "2026-01-27", - "last_updated": "2026-01-27", - "modalities": { "input": ["text", "image", "video"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0, "cache_read": 0 }, - "limit": { "context": 262144, "output": 262144 }, - "status": "deprecated" - }, - "glm-5-free": { - "id": "glm-5-free", - "name": "GLM-5 Free", - "family": "glm-free", - "attachment": false, - "reasoning": true, - "tool_call": true, - "interleaved": { "field": "reasoning_content" }, - "temperature": true, - "knowledge": "2025-04", - "release_date": "2026-02-11", - "last_updated": "2026-02-11", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0, "cache_read": 0 }, - "limit": { "context": 204800, "output": 131072 }, - "status": "deprecated" - }, - "claude-opus-4-1": { - "id": "claude-opus-4-1", - "name": "Claude Opus 4.1", - "family": "claude-opus", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-03-31", - "release_date": "2025-08-05", - "last_updated": "2025-08-05", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 15, "output": 75, "cache_read": 1.5, "cache_write": 18.75 }, - "limit": { "context": 200000, "output": 32000 }, - "provider": { "npm": "@ai-sdk/anthropic" } - }, - "glm-4.6": { - "id": "glm-4.6", - "name": "GLM-4.6", - "family": "glm", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-04", - "release_date": "2025-09-30", - "last_updated": "2025-09-30", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.6, "output": 2.2, "cache_read": 0.1 }, - "limit": { "context": 204800, "output": 131072 }, - "status": "deprecated" - }, - "gpt-5.4-nano": { - "id": "gpt-5.4-nano", - "name": "GPT-5.4 Nano", - "family": "gpt-nano", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": false, - "knowledge": "2025-08-31", - "release_date": "2026-03-17", - "last_updated": "2026-03-17", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.2, "output": 1.25, "cache_read": 0.02 }, - "limit": { "context": 400000, "input": 272000, "output": 128000 }, - "provider": { "npm": "@ai-sdk/openai" } - }, - "claude-sonnet-4": { - "id": "claude-sonnet-4", - "name": "Claude Sonnet 4", - "family": "claude-sonnet", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-03-31", - "release_date": "2025-05-22", - "last_updated": "2025-05-22", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { - "input": 3, - "output": 15, - "cache_read": 0.3, - "cache_write": 3.75, - "context_over_200k": { "input": 6, "output": 22.5, "cache_read": 0.6, "cache_write": 7.5 } + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 66536 }, - "limit": { "context": 1000000, "output": 64000 }, - "provider": { "npm": "@ai-sdk/anthropic" } - }, - "gpt-5.2": { - "id": "gpt-5.2", - "name": "GPT-5.2", - "family": "gpt", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": false, - "knowledge": "2025-08-31", - "release_date": "2025-12-11", - "last_updated": "2025-12-11", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.75, "output": 14, "cache_read": 0.175 }, - "limit": { "context": 400000, "input": 272000, "output": 128000 }, - "provider": { "npm": "@ai-sdk/openai" } - }, - "gpt-5.1": { - "id": "gpt-5.1", - "name": "GPT-5.1", - "family": "gpt", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": false, - "knowledge": "2024-09-30", - "release_date": "2025-11-13", - "last_updated": "2025-11-13", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.07, "output": 8.5, "cache_read": 0.107 }, - "limit": { "context": 400000, "input": 272000, "output": 128000 }, - "provider": { "npm": "@ai-sdk/openai" } - }, - "gemini-3-pro": { - "id": "gemini-3-pro", - "name": "Gemini 3 Pro", - "family": "gemini-pro", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2025-01", - "release_date": "2025-11-18", - "last_updated": "2025-11-18", - "modalities": { "input": ["text", "image", "video", "audio", "pdf"], "output": ["text"] }, - "open_weights": false, "cost": { "input": 2, - "output": 12, - "cache_read": 0.2, - "context_over_200k": { "input": 4, "output": 18, "cache_read": 0.4 } - }, - "limit": { "context": 1048576, "output": 65536 }, - "status": "deprecated", - "provider": { "npm": "@ai-sdk/google" } + "output": 2 + } }, - "glm-5": { - "id": "glm-5", - "name": "GLM-5", + "zai-org/GLM-4.7-Flash": { + "id": "zai-org/GLM-4.7-Flash", + "name": "GLM-4.7-Flash", "family": "glm", "attachment": false, "reasoning": true, "tool_call": true, - "interleaved": { "field": "reasoning_content" }, - "temperature": true, - "knowledge": "2025-04", - "release_date": "2026-02-11", - "last_updated": "2026-02-11", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 1, "output": 3.2, "cache_read": 0.2 }, - "limit": { "context": 204800, "output": 131072 } - }, - "gpt-5-nano": { - "id": "gpt-5-nano", - "name": "GPT-5 Nano", - "family": "gpt-nano", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": false, - "knowledge": "2024-05-30", - "release_date": "2025-08-07", - "last_updated": "2025-08-07", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0, "output": 0, "cache_read": 0 }, - "limit": { "context": 400000, "input": 272000, "output": 128000 }, - "provider": { "npm": "@ai-sdk/openai" } - }, - "nemotron-3-super-free": { - "id": "nemotron-3-super-free", - "name": "Nemotron 3 Super Free", - "family": "nemotron-free", - "attachment": false, - "reasoning": true, - "tool_call": true, - "interleaved": { "field": "reasoning_content" }, - "temperature": true, - "knowledge": "2026-02", - "release_date": "2026-03-11", - "last_updated": "2026-03-11", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0, "cache_read": 0 }, - "limit": { "context": 1000000, "output": 128000 } - }, - "claude-3-5-haiku": { - "id": "claude-3-5-haiku", - "name": "Claude Haiku 3.5", - "family": "claude-haiku", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-07-31", - "release_date": "2024-10-22", - "last_updated": "2024-10-22", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.8, "output": 4, "cache_read": 0.08, "cache_write": 1 }, - "limit": { "context": 200000, "output": 8192 }, - "provider": { "npm": "@ai-sdk/anthropic" } - }, - "minimax-m2.5-free": { - "id": "minimax-m2.5-free", - "name": "MiniMax M2.5 Free", - "family": "minimax-free", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-01", - "release_date": "2026-02-12", - "last_updated": "2026-02-12", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0, "cache_read": 0 }, - "limit": { "context": 204800, "output": 131072 }, - "provider": { "npm": "@ai-sdk/anthropic" } - }, - "trinity-large-preview-free": { - "id": "trinity-large-preview-free", - "name": "Trinity Large Preview", - "family": "trinity", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2025-06", - "release_date": "2026-01-28", - "last_updated": "2026-01-28", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 131072, "output": 131072 }, - "status": "deprecated" - }, - "glm-4.7": { - "id": "glm-4.7", - "name": "GLM-4.7", - "family": "glm", - "attachment": false, - "reasoning": true, - "tool_call": true, - "interleaved": { "field": "reasoning_content" }, - "temperature": true, - "knowledge": "2025-04", - "release_date": "2025-12-22", - "last_updated": "2025-12-22", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.6, "output": 2.2, "cache_read": 0.1 }, - "limit": { "context": 204800, "output": 131072 }, - "status": "deprecated" - }, - "gemini-3.1-pro": { - "id": "gemini-3.1-pro", - "name": "Gemini 3.1 Pro Preview", - "family": "gemini-pro", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2025-01", - "release_date": "2026-02-19", - "last_updated": "2026-02-19", - "modalities": { "input": ["text", "image", "video", "audio", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { - "input": 2, - "output": 12, - "cache_read": 0.2, - "context_over_200k": { "input": 4, "output": 18, "cache_read": 0.4 } + "interleaved": { + "field": "reasoning_content" }, - "limit": { "context": 1048576, "output": 65536 }, - "provider": { "npm": "@ai-sdk/google" } - }, - "claude-sonnet-4-5": { - "id": "claude-sonnet-4-5", - "name": "Claude Sonnet 4.5", - "family": "claude-sonnet", - "attachment": true, - "reasoning": true, - "tool_call": true, - "interleaved": true, - "temperature": true, - "knowledge": "2025-07-31", - "release_date": "2025-09-29", - "last_updated": "2025-09-29", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { - "input": 3, - "output": 15, - "cache_read": 0.3, - "cache_write": 3.75, - "context_over_200k": { "input": 6, "output": 22.5, "cache_read": 0.6, "cache_write": 7.5 } - }, - "limit": { "context": 1000000, "output": 64000 }, - "provider": { "npm": "@ai-sdk/anthropic" } - }, - "glm-4.7-free": { - "id": "glm-4.7-free", - "name": "GLM-4.7 Free", - "family": "glm-free", - "attachment": false, - "reasoning": true, - "tool_call": true, - "interleaved": { "field": "reasoning_content" }, "temperature": true, "knowledge": "2025-04", - "release_date": "2025-12-22", - "last_updated": "2025-12-22", - "modalities": { "input": ["text"], "output": ["text"] }, + "release_date": "2025-08-08", + "last_updated": "2025-08-08", + "modalities": { + "input": ["text"], + "output": ["text"] + }, "open_weights": true, - "cost": { "input": 0, "output": 0, "cache_read": 0 }, - "limit": { "context": 204800, "output": 131072 }, - "status": "deprecated" - }, - "gpt-5-codex": { - "id": "gpt-5-codex", - "name": "GPT-5 Codex", - "family": "gpt-codex", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": false, - "knowledge": "2024-09-30", - "release_date": "2025-09-15", - "last_updated": "2025-09-15", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.07, "output": 8.5, "cache_read": 0.107 }, - "limit": { "context": 400000, "input": 272000, "output": 128000 }, - "provider": { "npm": "@ai-sdk/openai" } - }, - "claude-haiku-4-5": { - "id": "claude-haiku-4-5", - "name": "Claude Haiku 4.5", - "family": "claude-haiku", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-02-28", - "release_date": "2025-10-15", - "last_updated": "2025-10-15", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1, "output": 5, "cache_read": 0.1, "cache_write": 1.25 }, - "limit": { "context": 200000, "output": 64000 }, - "provider": { "npm": "@ai-sdk/anthropic" } - }, - "gpt-5.1-codex": { - "id": "gpt-5.1-codex", - "name": "GPT-5.1 Codex", - "family": "gpt-codex", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": false, - "knowledge": "2024-09-30", - "release_date": "2025-11-13", - "last_updated": "2025-11-13", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.07, "output": 8.5, "cache_read": 0.107 }, - "limit": { "context": 400000, "input": 272000, "output": 128000 }, - "provider": { "npm": "@ai-sdk/openai" } - }, - "minimax-m2.5": { - "id": "minimax-m2.5", - "name": "MiniMax M2.5", - "family": "minimax", - "attachment": false, - "reasoning": true, - "tool_call": true, - "interleaved": { "field": "reasoning_content" }, - "temperature": true, - "knowledge": "2025-01", - "release_date": "2026-02-12", - "last_updated": "2026-02-12", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.3, "output": 1.2, "cache_read": 0.06 }, - "limit": { "context": 204800, "output": 131072 } - }, - "gemini-3-flash": { - "id": "gemini-3-flash", - "name": "Gemini 3 Flash", - "family": "gemini-flash", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2025-01", - "release_date": "2025-12-17", - "last_updated": "2025-12-17", - "modalities": { "input": ["text", "image", "video", "audio", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.5, "output": 3, "cache_read": 0.05 }, - "limit": { "context": 1048576, "output": 65536 }, - "provider": { "npm": "@ai-sdk/google" } - }, - "mimo-v2-pro-free": { - "id": "mimo-v2-pro-free", - "name": "MiMo V2 Pro Free", - "family": "mimo-pro-free", - "attachment": true, - "reasoning": true, - "tool_call": true, - "interleaved": { "field": "reasoning_content" }, - "temperature": true, - "knowledge": "2024-12", - "release_date": "2026-03-18", - "last_updated": "2026-03-18", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0, "cache_read": 0 }, - "limit": { "context": 1048576, "output": 64000 } - } - } - }, - "berget": { - "id": "berget", - "env": ["BERGET_API_KEY"], - "npm": "@ai-sdk/openai-compatible", - "api": "https://api.berget.ai/v1", - "name": "Berget.AI", - "doc": "https://api.berget.ai", - "models": { - "openai/gpt-oss-120b": { - "id": "openai/gpt-oss-120b", - "name": "GPT-OSS-120B", - "family": "gpt-oss", - "attachment": false, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2025-08", - "release_date": "2025-08-05", - "last_updated": "2025-08-05", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.3, "output": 0.9 }, - "limit": { "context": 128000, "output": 8192 } + "limit": { + "context": 200000, + "output": 128000 + }, + "cost": { + "input": 0, + "output": 0 + } }, "zai-org/GLM-4.7": { "id": "zai-org/GLM-4.7", - "name": "GLM 4.7", + "name": "GLM-4.7", "family": "glm", "attachment": false, "reasoning": true, "tool_call": true, - "structured_output": true, + "interleaved": { + "field": "reasoning_content" + }, "temperature": true, - "knowledge": "2025-12", - "release_date": "2026-01-19", - "last_updated": "2026-01-19", - "modalities": { "input": ["text"], "output": ["text"] }, + "knowledge": "2025-04", + "release_date": "2025-12-22", + "last_updated": "2025-12-22", + "modalities": { + "input": ["text"], + "output": ["text"] + }, "open_weights": true, - "cost": { "input": 0.7, "output": 2.3 }, - "limit": { "context": 128000, "output": 8192 } + "limit": { + "context": 204800, + "output": 131072 + }, + "cost": { + "input": 0.6, + "output": 2.2, + "cache_read": 0.11 + } }, - "meta-llama/Llama-3.3-70B-Instruct": { - "id": "meta-llama/Llama-3.3-70B-Instruct", - "name": "Llama 3.3 70B Instruct", - "family": "llama", + "zai-org/GLM-5.1": { + "id": "zai-org/GLM-5.1", + "name": "GLM-5.1", + "family": "glm", "attachment": false, "reasoning": true, "tool_call": true, - "structured_output": true, + "interleaved": { + "field": "reasoning_content" + }, "temperature": true, - "knowledge": "2023-12", - "release_date": "2025-04-27", - "last_updated": "2025-04-27", - "modalities": { "input": ["text"], "output": ["text"] }, + "release_date": "2026-04-03", + "last_updated": "2026-04-03", + "modalities": { + "input": ["text"], + "output": ["text"] + }, "open_weights": true, - "cost": { "input": 0.9, "output": 0.9 }, - "limit": { "context": 128000, "output": 8192 } + "limit": { + "context": 202752, + "output": 131072 + }, + "cost": { + "input": 1, + "output": 3.2, + "cache_read": 0.2 + } }, - "intfloat/multilingual-e5-large-instruct": { - "id": "intfloat/multilingual-e5-large-instruct", - "name": "Multilingual-E5-large-instruct", - "family": "text-embedding", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": false, - "knowledge": "2025-04", - "release_date": "2025-04-27", - "last_updated": "2025-04-27", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.02, "output": 0 }, - "limit": { "context": 512, "output": 1024 } - }, - "intfloat/multilingual-e5-large": { - "id": "intfloat/multilingual-e5-large", - "name": "Multilingual-E5-large", - "family": "text-embedding", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": false, - "knowledge": "2025-09", - "release_date": "2025-09-11", - "last_updated": "2025-09-11", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.02, "output": 0 }, - "limit": { "context": 512, "output": 1024 } - }, - "KBLab/kb-whisper-large": { - "id": "KBLab/kb-whisper-large", - "name": "KB-Whisper-Large", - "family": "whisper", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": false, - "knowledge": "2025-04", - "release_date": "2025-04-27", - "last_updated": "2025-04-27", - "modalities": { "input": ["audio"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 3, "output": 3 }, - "limit": { "context": 480000, "output": 4800 } - }, - "BAAI/bge-reranker-v2-m3": { - "id": "BAAI/bge-reranker-v2-m3", - "name": "bge-reranker-v2-m3", - "family": "bge", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": false, - "knowledge": "2025-04", - "release_date": "2025-04-23", - "last_updated": "2025-04-23", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.1, "output": 0.1 }, - "limit": { "context": 512, "output": 512 } - }, - "mistralai/Mistral-Small-3.2-24B-Instruct-2506": { - "id": "mistralai/Mistral-Small-3.2-24B-Instruct-2506", - "name": "Mistral Small 3.2 24B Instruct 2506", - "family": "mistral-small", - "attachment": false, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2025-09", - "release_date": "2025-10-01", - "last_updated": "2025-10-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.3, "output": 0.3 }, - "limit": { "context": 32000, "output": 8192 } - } - } - }, - "lucidquery": { - "id": "lucidquery", - "env": ["LUCIDQUERY_API_KEY"], - "npm": "@ai-sdk/openai-compatible", - "api": "https://lucidquery.com/api/v1", - "name": "LucidQuery AI", - "doc": "https://lucidquery.com/api/docs", - "models": { - "lucidquery-nexus-coder": { - "id": "lucidquery-nexus-coder", - "name": "LucidQuery Nexus Coder", - "family": "lucid", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": false, - "knowledge": "2025-08-01", - "release_date": "2025-09-01", - "last_updated": "2025-09-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2, "output": 5 }, - "limit": { "context": 250000, "output": 60000 } - }, - "lucidnova-rf1-100b": { - "id": "lucidnova-rf1-100b", - "name": "LucidNova RF1 100B", - "family": "nova", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": false, - "knowledge": "2025-09-16", - "release_date": "2024-12-28", - "last_updated": "2025-09-10", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2, "output": 5 }, - "limit": { "context": 120000, "output": 8000 } - } - } - }, - "zhipuai": { - "id": "zhipuai", - "env": ["ZHIPU_API_KEY"], - "npm": "@ai-sdk/openai-compatible", - "api": "https://open.bigmodel.cn/api/paas/v4", - "name": "Zhipu AI", - "doc": "https://docs.z.ai/guides/overview/pricing", - "models": { - "glm-5": { - "id": "glm-5", + "zai-org/GLM-5": { + "id": "zai-org/GLM-5", "name": "GLM-5", "family": "glm", "attachment": false, "reasoning": true, "tool_call": true, - "interleaved": { "field": "reasoning_content" }, + "interleaved": { + "field": "reasoning_content" + }, "temperature": true, "release_date": "2026-02-11", "last_updated": "2026-02-11", - "modalities": { "input": ["text"], "output": ["text"] }, + "modalities": { + "input": ["text"], + "output": ["text"] + }, "open_weights": true, - "cost": { "input": 1, "output": 3.2, "cache_read": 0.2, "cache_write": 0 }, - "limit": { "context": 204800, "output": 131072 } + "limit": { + "context": 202752, + "output": 131072 + }, + "cost": { + "input": 1, + "output": 3.2, + "cache_read": 0.2 + } }, - "glm-4.7": { - "id": "glm-4.7", - "name": "GLM-4.7", - "family": "glm", + "XiaomiMiMo/MiMo-V2-Flash": { + "id": "XiaomiMiMo/MiMo-V2-Flash", + "name": "MiMo-V2-Flash", + "family": "mimo", "attachment": false, "reasoning": true, "tool_call": true, - "interleaved": { "field": "reasoning_content" }, - "temperature": true, - "knowledge": "2025-04", - "release_date": "2025-12-22", - "last_updated": "2025-12-22", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.6, "output": 2.2, "cache_read": 0.11, "cache_write": 0 }, - "limit": { "context": 204800, "output": 131072 } - }, - "glm-4.5v": { - "id": "glm-4.5v", - "name": "GLM-4.5V", - "family": "glm", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-04", - "release_date": "2025-08-11", - "last_updated": "2025-08-11", - "modalities": { "input": ["text", "image", "video"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.6, "output": 1.8 }, - "limit": { "context": 64000, "output": 16384 } - }, - "glm-4.5-air": { - "id": "glm-4.5-air", - "name": "GLM-4.5-Air", - "family": "glm-air", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-04", - "release_date": "2025-07-28", - "last_updated": "2025-07-28", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.2, "output": 1.1, "cache_read": 0.03, "cache_write": 0 }, - "limit": { "context": 131072, "output": 98304 } - }, - "glm-4.5-flash": { - "id": "glm-4.5-flash", - "name": "GLM-4.5-Flash", - "family": "glm-flash", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-04", - "release_date": "2025-07-28", - "last_updated": "2025-07-28", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0, "cache_read": 0, "cache_write": 0 }, - "limit": { "context": 131072, "output": 98304 } - }, - "glm-4.6v": { - "id": "glm-4.6v", - "name": "GLM-4.6V", - "family": "glm", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-04", - "release_date": "2025-12-08", - "last_updated": "2025-12-08", - "modalities": { "input": ["text", "image", "video"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.3, "output": 0.9 }, - "limit": { "context": 128000, "output": 32768 } - }, - "glm-4.6": { - "id": "glm-4.6", - "name": "GLM-4.6", - "family": "glm", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-04", - "release_date": "2025-09-30", - "last_updated": "2025-09-30", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.6, "output": 2.2, "cache_read": 0.11, "cache_write": 0 }, - "limit": { "context": 204800, "output": 131072 } - }, - "glm-4.7-flashx": { - "id": "glm-4.7-flashx", - "name": "GLM-4.7-FlashX", - "family": "glm-flash", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-04", - "release_date": "2026-01-19", - "last_updated": "2026-01-19", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.07, "output": 0.4, "cache_read": 0.01, "cache_write": 0 }, - "limit": { "context": 200000, "output": 131072 } - }, - "glm-4.5": { - "id": "glm-4.5", - "name": "GLM-4.5", - "family": "glm", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-04", - "release_date": "2025-07-28", - "last_updated": "2025-07-28", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.6, "output": 2.2, "cache_read": 0.11, "cache_write": 0 }, - "limit": { "context": 131072, "output": 98304 } - }, - "glm-4.7-flash": { - "id": "glm-4.7-flash", - "name": "GLM-4.7-Flash", - "family": "glm-flash", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-04", - "release_date": "2026-01-19", - "last_updated": "2026-01-19", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0, "cache_read": 0, "cache_write": 0 }, - "limit": { "context": 200000, "output": 131072 } - } - } - }, - "nvidia": { - "id": "nvidia", - "env": ["NVIDIA_API_KEY"], - "npm": "@ai-sdk/openai-compatible", - "api": "https://integrate.api.nvidia.com/v1", - "name": "Nvidia", - "doc": "https://docs.api.nvidia.com/nim/", - "models": { - "openai/gpt-oss-120b": { - "id": "openai/gpt-oss-120b", - "name": "GPT-OSS-120B", - "family": "gpt-oss", - "attachment": true, - "reasoning": true, - "tool_call": false, - "temperature": true, - "knowledge": "2025-08", - "release_date": "2025-08-04", - "last_updated": "2025-08-14", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 128000, "output": 8192 } - }, - "openai/whisper-large-v3": { - "id": "openai/whisper-large-v3", - "name": "Whisper Large v3", - "family": "whisper", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": false, - "knowledge": "2023-09", - "release_date": "2023-09-01", - "last_updated": "2025-09-05", - "modalities": { "input": ["audio"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 0, "output": 4096 } - }, - "microsoft/phi-3-small-8k-instruct": { - "id": "microsoft/phi-3-small-8k-instruct", - "name": "Phi 3 Small 8k Instruct", - "attachment": true, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2023-10", - "release_date": "2024-05-07", - "last_updated": "2024-05-07", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 8000, "output": 4096 } - }, - "microsoft/phi-3-vision-128k-instruct": { - "id": "microsoft/phi-3-vision-128k-instruct", - "name": "Phi 3 Vision 128k Instruct", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2024-05-19", - "last_updated": "2024-05-19", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 128000, "output": 4096 } - }, - "microsoft/phi-3-medium-4k-instruct": { - "id": "microsoft/phi-3-medium-4k-instruct", - "name": "Phi 3 Medium 4k Instruct", - "attachment": true, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2023-10", - "release_date": "2024-05-07", - "last_updated": "2024-05-07", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 4000, "output": 4096 } - }, - "microsoft/phi-3.5-vision-instruct": { - "id": "microsoft/phi-3.5-vision-instruct", - "name": "Phi 3.5 Vision Instruct", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2024-08-16", - "last_updated": "2024-08-16", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 128000, "output": 4096 } - }, - "microsoft/phi-3-medium-128k-instruct": { - "id": "microsoft/phi-3-medium-128k-instruct", - "name": "Phi 3 Medium 128k Instruct", - "attachment": true, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2023-10", - "release_date": "2024-05-07", - "last_updated": "2024-05-07", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 128000, "output": 4096 } - }, - "microsoft/phi-3.5-moe-instruct": { - "id": "microsoft/phi-3.5-moe-instruct", - "name": "Phi 3.5 Moe Instruct", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2024-08-17", - "last_updated": "2024-08-17", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 128000, "output": 4096 } - }, - "microsoft/phi-3-small-128k-instruct": { - "id": "microsoft/phi-3-small-128k-instruct", - "name": "Phi 3 Small 128k Instruct", - "attachment": true, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2023-10", - "release_date": "2024-05-07", - "last_updated": "2024-05-07", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 128000, "output": 4096 } - }, - "microsoft/phi-4-mini-instruct": { - "id": "microsoft/phi-4-mini-instruct", - "name": "Phi-4-Mini", - "family": "phi", - "attachment": true, - "reasoning": true, - "tool_call": true, "temperature": true, "knowledge": "2024-12", - "release_date": "2024-12-01", - "last_updated": "2025-09-05", - "modalities": { "input": ["text", "image", "audio"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 131072, "output": 8192 } + "release_date": "2025-12-16", + "last_updated": "2025-12-16", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 4096 + }, + "cost": { + "input": 0.1, + "output": 0.3 + } }, - "nvidia/llama3-chatqa-1.5-70b": { - "id": "nvidia/llama3-chatqa-1.5-70b", - "name": "Llama3 Chatqa 1.5 70b", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2024-04-28", - "last_updated": "2024-04-28", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 128000, "output": 4096 } - }, - "nvidia/llama-3.1-nemotron-70b-instruct": { - "id": "nvidia/llama-3.1-nemotron-70b-instruct", - "name": "Llama 3.1 Nemotron 70b Instruct", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2024-10-12", - "last_updated": "2024-10-12", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 128000, "output": 4096 } - }, - "nvidia/llama-3.3-nemotron-super-49b-v1.5": { - "id": "nvidia/llama-3.3-nemotron-super-49b-v1.5", - "name": "Llama 3.3 Nemotron Super 49b V1.5", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "temperature": true, - "release_date": "2025-03-16", - "last_updated": "2025-03-16", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 128000, "output": 4096 } - }, - "nvidia/nemotron-4-340b-instruct": { - "id": "nvidia/nemotron-4-340b-instruct", - "name": "Nemotron 4 340b Instruct", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2024-06-13", - "last_updated": "2024-06-13", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 128000, "output": 4096 } - }, - "nvidia/cosmos-nemotron-34b": { - "id": "nvidia/cosmos-nemotron-34b", - "name": "Cosmos Nemotron 34B", - "family": "nemotron", - "attachment": false, - "reasoning": true, - "tool_call": false, - "temperature": true, - "knowledge": "2024-01", - "release_date": "2024-01-01", - "last_updated": "2025-09-05", - "modalities": { "input": ["text", "image", "video"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 131072, "output": 8192 } - }, - "nvidia/nemotron-3-super-120b-a12b": { - "id": "nvidia/nemotron-3-super-120b-a12b", - "name": "Nemotron 3 Super", - "family": "nemotron", + "deepseek-ai/DeepSeek-R1-0528": { + "id": "deepseek-ai/DeepSeek-R1-0528", + "name": "DeepSeek-R1-0528", + "family": "deepseek-thinking", "attachment": false, "reasoning": true, "tool_call": true, "temperature": true, - "knowledge": "2024-04", - "release_date": "2026-03-11", - "last_updated": "2026-03-11", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.2, "output": 0.8 }, - "limit": { "context": 262144, "output": 262144 } - }, - "nvidia/nvidia-nemotron-nano-9b-v2": { - "id": "nvidia/nvidia-nemotron-nano-9b-v2", - "name": "nvidia-nemotron-nano-9b-v2", - "family": "nemotron", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2024-09", - "release_date": "2025-08-18", - "last_updated": "2025-08-18", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 131072, "output": 131072 } - }, - "nvidia/llama-3.1-nemotron-51b-instruct": { - "id": "nvidia/llama-3.1-nemotron-51b-instruct", - "name": "Llama 3.1 Nemotron 51b Instruct", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2024-09-22", - "last_updated": "2024-09-22", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 128000, "output": 4096 } - }, - "nvidia/nemoretriever-ocr-v1": { - "id": "nvidia/nemoretriever-ocr-v1", - "name": "NeMo Retriever OCR v1", - "family": "nemoretriever", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": false, - "knowledge": "2024-01", - "release_date": "2024-01-01", - "last_updated": "2025-09-05", - "modalities": { "input": ["image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 0, "output": 4096 } - }, - "nvidia/llama-embed-nemotron-8b": { - "id": "nvidia/llama-embed-nemotron-8b", - "name": "Llama Embed Nemotron 8B", - "family": "llama", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": false, - "knowledge": "2025-03", - "release_date": "2025-03-18", - "last_updated": "2025-03-18", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 32768, "output": 2048 } - }, - "nvidia/llama-3.3-nemotron-super-49b-v1": { - "id": "nvidia/llama-3.3-nemotron-super-49b-v1", - "name": "Llama 3.3 Nemotron Super 49b V1", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "temperature": true, - "release_date": "2025-03-16", - "last_updated": "2025-03-16", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 128000, "output": 4096 } - }, - "nvidia/parakeet-tdt-0.6b-v2": { - "id": "nvidia/parakeet-tdt-0.6b-v2", - "name": "Parakeet TDT 0.6B v2", - "family": "parakeet", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": false, - "knowledge": "2024-01", - "release_date": "2024-01-01", - "last_updated": "2025-09-05", - "modalities": { "input": ["audio"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 0, "output": 4096 } - }, - "nvidia/nemotron-3-nano-30b-a3b": { - "id": "nvidia/nemotron-3-nano-30b-a3b", - "name": "nemotron-3-nano-30b-a3b", - "family": "nemotron", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2024-09", - "release_date": "2024-12", - "last_updated": "2024-12", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 131072, "output": 131072 } - }, - "nvidia/llama-3.1-nemotron-ultra-253b-v1": { - "id": "nvidia/llama-3.1-nemotron-ultra-253b-v1", - "name": "Llama-3.1-Nemotron-Ultra-253B-v1", - "family": "llama", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2024-07", - "release_date": "2024-07-01", - "last_updated": "2025-09-05", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 131072, "output": 8192 } - }, - "z-ai/glm5": { - "id": "z-ai/glm5", - "name": "GLM5", - "family": "glm", - "attachment": false, - "reasoning": true, - "tool_call": true, - "interleaved": { "field": "reasoning_content" }, - "structured_output": true, - "temperature": true, - "release_date": "2026-02-12", - "last_updated": "2026-02-12", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 202752, "output": 131000 } - }, - "z-ai/glm4.7": { - "id": "z-ai/glm4.7", - "name": "GLM-4.7", - "family": "glm", - "attachment": false, - "reasoning": true, - "tool_call": true, - "interleaved": { "field": "reasoning_content" }, - "temperature": true, - "knowledge": "2025-04", - "release_date": "2025-12-22", - "last_updated": "2025-12-22", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 204800, "output": 131072 } - }, - "stepfun-ai/step-3.5-flash": { - "id": "stepfun-ai/step-3.5-flash", - "name": "Step 3.5 Flash", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2026-02-02", - "last_updated": "2026-02-02", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 256000, "output": 16384 } - }, - "google/gemma-3-1b-it": { - "id": "google/gemma-3-1b-it", - "name": "Gemma 3 1b It", - "attachment": true, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-03-10", - "last_updated": "2025-03-10", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 128000, "output": 4096 } - }, - "google/gemma-3n-e2b-it": { - "id": "google/gemma-3n-e2b-it", - "name": "Gemma 3n E2b It", - "attachment": true, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2024-06", - "release_date": "2025-06-12", - "last_updated": "2025-06-12", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 128000, "output": 4096 } - }, - "google/gemma-3-27b-it": { - "id": "google/gemma-3-27b-it", - "name": "Gemma-3-27B-IT", - "family": "gemma", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2024-12", - "release_date": "2024-12-01", - "last_updated": "2025-09-05", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 131072, "output": 8192 } - }, - "google/gemma-3n-e4b-it": { - "id": "google/gemma-3n-e4b-it", - "name": "Gemma 3n E4b It", - "attachment": true, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2024-06", - "release_date": "2025-06-03", - "last_updated": "2025-06-03", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 128000, "output": 4096 } - }, - "google/codegemma-1.1-7b": { - "id": "google/codegemma-1.1-7b", - "name": "Codegemma 1.1 7b", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "temperature": true, - "release_date": "2024-04-30", - "last_updated": "2024-04-30", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 128000, "output": 4096 } - }, - "google/codegemma-7b": { - "id": "google/codegemma-7b", - "name": "Codegemma 7b", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "temperature": true, - "release_date": "2024-03-21", - "last_updated": "2024-03-21", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 128000, "output": 4096 } - }, - "google/gemma-2-2b-it": { - "id": "google/gemma-2-2b-it", - "name": "Gemma 2 2b It", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2024-07-16", - "last_updated": "2024-07-16", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 128000, "output": 4096 } - }, - "google/gemma-2-27b-it": { - "id": "google/gemma-2-27b-it", - "name": "Gemma 2 27b It", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2024-06-24", - "last_updated": "2024-06-24", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 128000, "output": 4096 } - }, - "google/gemma-3-12b-it": { - "id": "google/gemma-3-12b-it", - "name": "Gemma 3 12b It", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-03-01", - "last_updated": "2025-03-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 128000, "output": 4096 } - }, - "minimaxai/minimax-m2.1": { - "id": "minimaxai/minimax-m2.1", - "name": "MiniMax-M2.1", - "family": "minimax", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2025-12-23", - "last_updated": "2025-12-23", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 204800, "output": 131072 } - }, - "minimaxai/minimax-m2.5": { - "id": "minimaxai/minimax-m2.5", - "name": "MiniMax-M2.5", - "family": "minimax", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-08", - "release_date": "2026-02-12", - "last_updated": "2026-02-12", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 204800, "output": 131072 } - }, - "deepseek-ai/deepseek-v3.1-terminus": { - "id": "deepseek-ai/deepseek-v3.1-terminus", - "name": "DeepSeek V3.1 Terminus", - "family": "deepseek", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-01", - "release_date": "2025-09-22", - "last_updated": "2025-09-22", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 128000, "output": 8192 } - }, - "deepseek-ai/deepseek-r1": { - "id": "deepseek-ai/deepseek-r1", - "name": "Deepseek R1", - "attachment": false, - "reasoning": true, - "tool_call": false, - "structured_output": false, - "temperature": true, - "release_date": "2025-01-20", - "last_updated": "2025-01-20", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 128000, "output": 4096 } - }, - "deepseek-ai/deepseek-coder-6.7b-instruct": { - "id": "deepseek-ai/deepseek-coder-6.7b-instruct", - "name": "Deepseek Coder 6.7b Instruct", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2023-10-29", - "last_updated": "2023-10-29", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 128000, "output": 4096 } - }, - "deepseek-ai/deepseek-v3.1": { - "id": "deepseek-ai/deepseek-v3.1", - "name": "DeepSeek V3.1", - "family": "deepseek", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2024-07", - "release_date": "2025-08-20", - "last_updated": "2025-08-26", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 128000, "output": 8192 } - }, - "deepseek-ai/deepseek-r1-0528": { - "id": "deepseek-ai/deepseek-r1-0528", - "name": "Deepseek R1 0528", - "attachment": false, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, + "knowledge": "2025-05", "release_date": "2025-05-28", "last_updated": "2025-05-28", - "modalities": { "input": ["text"], "output": ["text"] }, + "modalities": { + "input": ["text"], + "output": ["text"] + }, "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 128000, "output": 4096 } + "limit": { + "context": 163840, + "output": 163840 + }, + "cost": { + "input": 3, + "output": 5 + } }, - "deepseek-ai/deepseek-v3.2": { - "id": "deepseek-ai/deepseek-v3.2", - "name": "DeepSeek V3.2", + "deepseek-ai/DeepSeek-V3.2": { + "id": "deepseek-ai/DeepSeek-V3.2", + "name": "DeepSeek-V3.2", "family": "deepseek", "attachment": false, "reasoning": true, @@ -13284,119 +34498,4675 @@ "knowledge": "2024-07", "release_date": "2025-12-01", "last_updated": "2025-12-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 163840, "output": 65536 } + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 163840, + "output": 65536 + }, + "cost": { + "input": 0.28, + "output": 0.4 + } }, - "qwen/qwq-32b": { - "id": "qwen/qwq-32b", - "name": "Qwq 32b", + "moonshotai/Kimi-K2-Thinking": { + "id": "moonshotai/Kimi-K2-Thinking", + "name": "Kimi-K2-Thinking", + "family": "kimi-thinking", "attachment": false, "reasoning": true, - "tool_call": false, - "structured_output": false, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "temperature": true, + "knowledge": "2024-08", + "release_date": "2025-11-06", + "last_updated": "2025-11-06", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 262144 + }, + "cost": { + "input": 0.6, + "output": 2.5, + "cache_read": 0.15 + } + }, + "moonshotai/Kimi-K2.6": { + "id": "moonshotai/Kimi-K2.6", + "name": "Kimi-K2.6", + "family": "kimi", + "attachment": true, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2026-04-20", + "last_updated": "2026-04-20", + "modalities": { + "input": ["text", "image", "video"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 262144 + }, + "cost": { + "input": 0.95, + "output": 4, + "cache_read": 0.16 + } + }, + "moonshotai/Kimi-K2-Instruct": { + "id": "moonshotai/Kimi-K2-Instruct", + "name": "Kimi-K2-Instruct", + "family": "kimi", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2025-07-14", + "last_updated": "2025-07-14", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 16384 + }, + "cost": { + "input": 1, + "output": 3 + } + }, + "moonshotai/Kimi-K2-Instruct-0905": { + "id": "moonshotai/Kimi-K2-Instruct-0905", + "name": "Kimi-K2-Instruct-0905", + "family": "kimi", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2025-09-04", + "last_updated": "2025-09-04", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 16384 + }, + "cost": { + "input": 1, + "output": 3 + } + }, + "moonshotai/Kimi-K2.5": { + "id": "moonshotai/Kimi-K2.5", + "name": "Kimi-K2.5", + "family": "kimi", + "attachment": true, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2026-01-01", + "last_updated": "2026-01-01", + "modalities": { + "input": ["text", "image", "video"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 262144 + }, + "cost": { + "input": 0.6, + "output": 3, + "cache_read": 0.1 + } + }, + "MiniMaxAI/MiniMax-M2.5": { + "id": "MiniMaxAI/MiniMax-M2.5", + "name": "MiniMax-M2.5", + "family": "minimax", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "temperature": true, + "release_date": "2026-02-12", + "last_updated": "2026-02-12", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 204800, + "output": 131072 + }, + "cost": { + "input": 0.3, + "output": 1.2, + "cache_read": 0.03 + } + }, + "MiniMaxAI/MiniMax-M2.7": { + "id": "MiniMaxAI/MiniMax-M2.7", + "name": "MiniMax-M2.7", + "family": "minimax", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "structured_output": true, + "temperature": true, + "release_date": "2026-03-18", + "last_updated": "2026-03-18", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 204800, + "output": 131072 + }, + "cost": { + "input": 0.3, + "output": 1.2, + "cache_read": 0.06 + } + }, + "MiniMaxAI/MiniMax-M2.1": { + "id": "MiniMaxAI/MiniMax-M2.1", + "name": "MiniMax-M2.1", + "family": "minimax", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "temperature": true, + "knowledge": "2025-10", + "release_date": "2025-12-23", + "last_updated": "2025-12-23", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 204800, + "output": 131072 + }, + "cost": { + "input": 0.3, + "output": 1.2 + } + }, + "deepseek-ai/DeepSeek-V4-Pro": { + "id": "deepseek-ai/DeepSeek-V4-Pro", + "name": "DeepSeek V4 Pro", + "family": "deepseek-thinking", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "structured_output": true, + "temperature": true, + "knowledge": "2025-05", + "release_date": "2026-04-24", + "last_updated": "2026-04-24", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 1048576, + "output": 393216 + }, + "cost": { + "input": 1.74, + "output": 3.48, + "cache_read": 0.145 + } + } + } + }, + "zenmux": { + "id": "zenmux", + "env": ["ZENMUX_API_KEY"], + "npm": "@ai-sdk/openai-compatible", + "api": "https://zenmux.ai/api/v1", + "name": "ZenMux", + "doc": "https://docs.zenmux.ai", + "models": { + "deepseek/deepseek-chat": { + "id": "deepseek/deepseek-chat", + "name": "DeepSeek-V3.2 (Non-thinking Mode)", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-01-01", + "release_date": "2025-12-01", + "last_updated": "2025-12-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 64000 + }, + "cost": { + "input": 0.28, + "output": 0.42, + "cache_read": 0.03 + } + }, + "deepseek/deepseek-v3.2-exp": { + "id": "deepseek/deepseek-v3.2-exp", + "name": "DeepSeek-V3.2-Exp", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-01-01", + "release_date": "2025-09-29", + "last_updated": "2025-09-29", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 163000, + "output": 64000 + }, + "cost": { + "input": 0.22, + "output": 0.33 + } + }, + "deepseek/deepseek-v3.2": { + "id": "deepseek/deepseek-v3.2", + "name": "DeepSeek V3.2", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-01-01", + "release_date": "2025-12-05", + "last_updated": "2025-12-05", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 64000 + }, + "cost": { + "input": 0.28, + "output": 0.43 + } + }, + "inclusionai/ring-1t": { + "id": "inclusionai/ring-1t", + "name": "Ring-1T", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-01-01", + "release_date": "2025-10-12", + "last_updated": "2025-10-12", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 64000 + }, + "cost": { + "input": 0.56, + "output": 2.24, + "cache_read": 0.11 + } + }, + "inclusionai/ling-1t": { + "id": "inclusionai/ling-1t", + "name": "Ling-1T", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-01-01", + "release_date": "2025-10-09", + "last_updated": "2025-10-09", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 64000 + }, + "cost": { + "input": 0.56, + "output": 2.24, + "cache_read": 0.11 + } + }, + "stepfun/step-3.5-flash-free": { + "id": "stepfun/step-3.5-flash-free", + "name": "Step 3.5 Flash (Free)", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-01-01", + "release_date": "2026-02-02", + "last_updated": "2026-02-02", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 256000, + "output": 64000 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "stepfun/step-3.5-flash": { + "id": "stepfun/step-3.5-flash", + "name": "Step 3.5 Flash", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-01-01", + "release_date": "2026-02-02", + "last_updated": "2026-02-02", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 256000, + "output": 64000 + }, + "cost": { + "input": 0.1, + "output": 0.3 + } + }, + "stepfun/step-3": { + "id": "stepfun/step-3", + "name": "Step-3", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-01-01", + "release_date": "2025-07-31", + "last_updated": "2025-07-31", + "modalities": { + "input": ["image", "text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 65536, + "output": 64000 + }, + "cost": { + "input": 0.21, + "output": 0.57 + } + }, + "kuaishou/kat-coder-pro-v2": { + "id": "kuaishou/kat-coder-pro-v2", + "name": "KAT-Coder-Pro-V2", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "release_date": "2026-03-30", + "last_updated": "2026-03-30", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 256000, + "output": 80000 + }, + "cost": { + "input": 0.3, + "output": 1.2, + "cache_read": 0.06 + } + }, + "x-ai/grok-4-fast": { + "id": "x-ai/grok-4-fast", + "name": "Grok 4 Fast", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-01-01", + "release_date": "2025-09-19", + "last_updated": "2025-09-19", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 2000000, + "output": 64000 + }, + "cost": { + "input": 0.2, + "output": 0.5, + "cache_read": 0.05 + } + }, + "x-ai/grok-code-fast-1": { + "id": "x-ai/grok-code-fast-1", + "name": "Grok Code Fast 1", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-01-01", + "release_date": "2025-08-26", + "last_updated": "2025-08-26", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 256000, + "output": 64000 + }, + "cost": { + "input": 0.2, + "output": 1.5, + "cache_read": 0.02 + } + }, + "x-ai/grok-4.1-fast-non-reasoning": { + "id": "x-ai/grok-4.1-fast-non-reasoning", + "name": "Grok 4.1 Fast Non Reasoning", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-01-01", + "release_date": "2025-11-20", + "last_updated": "2025-11-20", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 2000000, + "output": 64000 + }, + "cost": { + "input": 0.2, + "output": 0.5, + "cache_read": 0.05 + } + }, + "x-ai/grok-4": { + "id": "x-ai/grok-4", + "name": "Grok 4", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-01-01", + "release_date": "2025-07-09", + "last_updated": "2025-07-09", + "modalities": { + "input": ["image", "text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 256000, + "output": 64000 + }, + "cost": { + "input": 3, + "output": 15, + "cache_read": 0.75 + } + }, + "x-ai/grok-4.1-fast": { + "id": "x-ai/grok-4.1-fast", + "name": "Grok 4.1 Fast", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-01-01", + "release_date": "2025-11-20", + "last_updated": "2025-11-20", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 2000000, + "output": 64000 + }, + "cost": { + "input": 0.2, + "output": 0.5, + "cache_read": 0.05 + } + }, + "x-ai/grok-4.2-fast": { + "id": "x-ai/grok-4.2-fast", + "name": "Grok 4.2 Fast", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-08-31", + "release_date": "2026-03-20", + "last_updated": "2026-03-20", + "modalities": { + "input": ["text", "image", "video"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 2000000, + "output": 30000 + }, + "cost": { + "input": 3, + "output": 9 + } + }, + "x-ai/grok-4.2-fast-non-reasoning": { + "id": "x-ai/grok-4.2-fast-non-reasoning", + "name": "Grok 4.2 Fast Non Reasoning", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-08-31", + "release_date": "2026-03-20", + "last_updated": "2026-03-20", + "modalities": { + "input": ["text", "image", "video"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 2000000, + "output": 30000 + }, + "cost": { + "input": 3, + "output": 9 + } + }, + "openai/gpt-5.3-chat": { + "id": "openai/gpt-5.3-chat", + "name": "GPT-5.3 Chat", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-08-31", + "release_date": "2026-03-20", + "last_updated": "2026-03-20", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 16380 + }, + "provider": { + "npm": "@ai-sdk/openai", + "api": "https://zenmux.ai/api/v1" + }, + "cost": { + "input": 1.75, + "output": 14 + } + }, + "openai/gpt-5.2-pro": { + "id": "openai/gpt-5.2-pro", + "name": "GPT-5.2-Pro", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": false, + "knowledge": "2025-08-31", + "release_date": "2025-12-11", + "last_updated": "2025-12-11", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "output": 128000 + }, + "provider": { + "npm": "@ai-sdk/openai", + "api": "https://zenmux.ai/api/v1" + }, + "cost": { + "input": 21, + "output": 168 + } + }, + "openai/gpt-5.3-codex": { + "id": "openai/gpt-5.3-codex", + "name": "GPT-5.3 Codex", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-08-31", + "release_date": "2026-03-20", + "last_updated": "2026-03-20", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "output": 128000 + }, + "provider": { + "npm": "@ai-sdk/openai", + "api": "https://zenmux.ai/api/v1" + }, + "cost": { + "input": 1.75, + "output": 14 + } + }, + "openai/gpt-5.2": { + "id": "openai/gpt-5.2", + "name": "GPT-5.2", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": false, + "knowledge": "2025-01-01", + "release_date": "2025-12-11", + "last_updated": "2025-12-11", + "modalities": { + "input": ["image", "text", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "output": 64000 + }, + "provider": { + "npm": "@ai-sdk/openai", + "api": "https://zenmux.ai/api/v1" + }, + "cost": { + "input": 1.75, + "output": 14, + "cache_read": 0.17 + } + }, + "openai/gpt-5.4-mini": { + "id": "openai/gpt-5.4-mini", + "name": "GPT-5.4 Mini", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-08-31", + "release_date": "2026-03-20", + "last_updated": "2026-03-20", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "output": 128000 + }, + "provider": { + "npm": "@ai-sdk/openai", + "api": "https://zenmux.ai/api/v1" + }, + "cost": { + "input": 0.75, + "output": 4.5 + } + }, + "openai/gpt-5.1-chat": { + "id": "openai/gpt-5.1-chat", + "name": "GPT-5.1 Chat", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-01-01", + "release_date": "2025-11-13", + "last_updated": "2025-11-13", + "modalities": { + "input": ["pdf", "image", "text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 64000 + }, + "provider": { + "npm": "@ai-sdk/openai", + "api": "https://zenmux.ai/api/v1" + }, + "cost": { + "input": 1.25, + "output": 10, + "cache_read": 0.12 + } + }, + "openai/gpt-5.4-nano": { + "id": "openai/gpt-5.4-nano", + "name": "GPT-5.4 Nano", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-08-31", + "release_date": "2026-03-20", + "last_updated": "2026-03-20", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "output": 128000 + }, + "provider": { + "npm": "@ai-sdk/openai", + "api": "https://zenmux.ai/api/v1" + }, + "cost": { + "input": 0.2, + "output": 1.25 + } + }, + "openai/gpt-5.2-codex": { + "id": "openai/gpt-5.2-codex", + "name": "GPT-5.2-Codex", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": false, + "knowledge": "2025-01-01", + "release_date": "2026-01-15", + "last_updated": "2026-01-15", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "output": 64000 + }, + "provider": { + "npm": "@ai-sdk/openai", + "api": "https://zenmux.ai/api/v1" + }, + "cost": { + "input": 1.75, + "output": 14, + "cache_read": 0.17 + } + }, + "openai/gpt-5.1-codex-mini": { + "id": "openai/gpt-5.1-codex-mini", + "name": "GPT-5.1-Codex-Mini", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-01-01", + "release_date": "2025-11-13", + "last_updated": "2025-11-13", + "modalities": { + "input": ["image", "text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "output": 64000 + }, + "provider": { + "npm": "@ai-sdk/openai", + "api": "https://zenmux.ai/api/v1" + }, + "cost": { + "input": 0.25, + "output": 2, + "cache_read": 0.03 + } + }, + "openai/gpt-5.1": { + "id": "openai/gpt-5.1", + "name": "GPT-5.1", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-01-01", + "release_date": "2025-11-13", + "last_updated": "2025-11-13", + "modalities": { + "input": ["image", "text", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "output": 64000 + }, + "provider": { + "npm": "@ai-sdk/openai", + "api": "https://zenmux.ai/api/v1" + }, + "cost": { + "input": 1.25, + "output": 10, + "cache_read": 0.12 + } + }, + "openai/gpt-5.4-pro": { + "id": "openai/gpt-5.4-pro", + "name": "GPT-5.4 Pro", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-08-31", + "release_date": "2026-03-20", + "last_updated": "2026-03-20", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1050000, + "output": 128000 + }, + "provider": { + "npm": "@ai-sdk/openai", + "api": "https://zenmux.ai/api/v1" + }, + "cost": { + "input": 45, + "output": 225 + } + }, + "openai/gpt-5-codex": { + "id": "openai/gpt-5-codex", + "name": "GPT-5 Codex", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-01-01", + "release_date": "2025-09-23", + "last_updated": "2025-09-23", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "output": 64000 + }, + "provider": { + "npm": "@ai-sdk/openai", + "api": "https://zenmux.ai/api/v1" + }, + "cost": { + "input": 1.25, + "output": 10, + "cache_read": 0.12 + } + }, + "openai/gpt-5.4": { + "id": "openai/gpt-5.4", + "name": "GPT-5.4", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-08-31", + "release_date": "2026-03-20", + "last_updated": "2026-03-20", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1050000, + "output": 128000 + }, + "provider": { + "npm": "@ai-sdk/openai", + "api": "https://zenmux.ai/api/v1" + }, + "cost": { + "input": 3.75, + "output": 18.75 + } + }, + "openai/gpt-5": { + "id": "openai/gpt-5", + "name": "GPT-5", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-01-01", + "release_date": "2025-08-07", + "last_updated": "2025-08-07", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "output": 64000 + }, + "provider": { + "npm": "@ai-sdk/openai", + "api": "https://zenmux.ai/api/v1" + }, + "cost": { + "input": 1.25, + "output": 10, + "cache_read": 0.12 + } + }, + "openai/gpt-5.1-codex": { + "id": "openai/gpt-5.1-codex", + "name": "GPT-5.1-Codex", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-01-01", + "release_date": "2025-11-13", + "last_updated": "2025-11-13", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "output": 64000 + }, + "provider": { + "npm": "@ai-sdk/openai", + "api": "https://zenmux.ai/api/v1" + }, + "cost": { + "input": 1.25, + "output": 10, + "cache_read": 0.12 + } + }, + "z-ai/glm-4.7-flash-free": { + "id": "z-ai/glm-4.7-flash-free", + "name": "GLM 4.7 Flash (Free)", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "temperature": true, + "knowledge": "2025-01-01", + "release_date": "2026-01-19", + "last_updated": "2026-01-19", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 64000 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "z-ai/glm-5v-turbo": { + "id": "z-ai/glm-5v-turbo", + "name": "GLM 5V Turbo", + "attachment": true, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "temperature": true, + "release_date": "2026-04-01", + "last_updated": "2026-04-01", + "modalities": { + "input": ["text", "image", "video", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 128000 + }, + "cost": { + "input": 0.726, + "output": 3.1946, + "cache_read": 0.1743 + } + }, + "z-ai/glm-4.7": { + "id": "z-ai/glm-4.7", + "name": "GLM 4.7", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "temperature": true, + "knowledge": "2025-01-01", + "release_date": "2025-12-23", + "last_updated": "2025-12-23", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 64000 + }, + "cost": { + "input": 0.28, + "output": 1.14, + "cache_read": 0.06 + } + }, + "z-ai/glm-5": { + "id": "z-ai/glm-5", + "name": "GLM 5", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "temperature": true, + "knowledge": "2025-01-01", + "release_date": "2026-02-12", + "last_updated": "2026-02-12", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 200000, + "output": 128000 + }, + "cost": { + "input": 0.58, + "output": 2.6, + "cache_read": 0.14 + } + }, + "z-ai/glm-4.7-flashx": { + "id": "z-ai/glm-4.7-flashx", + "name": "GLM 4.7 FlashX", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "temperature": true, + "knowledge": "2025-01-01", + "release_date": "2026-01-19", + "last_updated": "2026-01-19", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 64000 + }, + "cost": { + "input": 0.07, + "output": 0.42, + "cache_read": 0.01 + } + }, + "z-ai/glm-4.6v-flash-free": { + "id": "z-ai/glm-4.6v-flash-free", + "name": "GLM 4.6V Flash (Free)", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-01-01", + "release_date": "2025-12-08", + "last_updated": "2025-12-08", + "modalities": { + "input": ["text", "image", "video"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 64000 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "z-ai/glm-5.1": { + "id": "z-ai/glm-5.1", + "name": "GLM-5.1", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "structured_output": true, + "temperature": true, + "release_date": "2026-04-03", + "last_updated": "2026-04-03", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 131072 + }, + "cost": { + "input": 0.8781, + "output": 3.5126, + "cache_read": 0.1903 + } + }, + "z-ai/glm-4.6v-flash": { + "id": "z-ai/glm-4.6v-flash", + "name": "GLM 4.6V FlashX", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-01-01", + "release_date": "2025-12-08", + "last_updated": "2025-12-08", + "modalities": { + "input": ["text", "image", "video"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 64000 + }, + "cost": { + "input": 0.02, + "output": 0.21, + "cache_read": 0.0043 + } + }, + "z-ai/glm-4.5": { + "id": "z-ai/glm-4.5", + "name": "GLM 4.5", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-01-01", + "release_date": "2025-07-25", + "last_updated": "2025-07-25", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 64000 + }, + "cost": { + "input": 0.35, + "output": 1.54, + "cache_read": 0.07 + } + }, + "z-ai/glm-4.5-air": { + "id": "z-ai/glm-4.5-air", + "name": "GLM 4.5 Air", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-01-01", + "release_date": "2025-07-25", + "last_updated": "2025-07-25", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 64000 + }, + "cost": { + "input": 0.11, + "output": 0.56, + "cache_read": 0.02 + } + }, + "z-ai/glm-5-turbo": { + "id": "z-ai/glm-5-turbo", + "name": "GLM 5 Turbo", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-01-01", + "release_date": "2026-03-20", + "last_updated": "2026-03-20", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 128000 + }, + "cost": { + "input": 0.88, + "output": 3.48 + } + }, + "z-ai/glm-4.6": { + "id": "z-ai/glm-4.6", + "name": "GLM 4.6", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-01-01", + "release_date": "2025-09-30", + "last_updated": "2025-09-30", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 64000 + }, + "cost": { + "input": 0.35, + "output": 1.54, + "cache_read": 0.07 + } + }, + "z-ai/glm-4.6v": { + "id": "z-ai/glm-4.6v", + "name": "GLM 4.6V", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-01-01", + "release_date": "2025-12-08", + "last_updated": "2025-12-08", + "modalities": { + "input": ["text", "image", "video"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 64000 + }, + "cost": { + "input": 0.14, + "output": 0.42, + "cache_read": 0.03 + } + }, + "volcengine/doubao-seed-2.0-code": { + "id": "volcengine/doubao-seed-2.0-code", + "name": "Doubao Seed 2.0 Code", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-01-01", + "release_date": "2026-03-20", + "last_updated": "2026-03-20", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 256000, + "output": 32000 + }, + "cost": { + "input": 0.9, + "output": 4.48 + } + }, + "volcengine/doubao-seed-code": { + "id": "volcengine/doubao-seed-code", + "name": "Doubao-Seed-Code", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-01-01", + "release_date": "2025-11-11", + "last_updated": "2025-11-11", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 256000, + "output": 64000 + }, + "cost": { + "input": 0.17, + "output": 1.12, + "cache_read": 0.03 + } + }, + "volcengine/doubao-seed-2.0-mini": { + "id": "volcengine/doubao-seed-2.0-mini", + "name": "Doubao-Seed-2.0-mini", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2026-02-14", + "release_date": "2026-02-14", + "last_updated": "2026-02-14", + "modalities": { + "input": ["text", "image", "video"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 256000, + "output": 64000 + }, + "cost": { + "input": 0.03, + "output": 0.28, + "cache_read": 0.01, + "cache_write": 0.0024 + } + }, + "volcengine/doubao-seed-2.0-lite": { + "id": "volcengine/doubao-seed-2.0-lite", + "name": "Doubao-Seed-2.0-lite", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2026-02-14", + "release_date": "2026-02-14", + "last_updated": "2026-02-14", + "modalities": { + "input": ["text", "image", "video"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 256000, + "output": 64000 + }, + "cost": { + "input": 0.09, + "output": 0.51, + "cache_read": 0.02, + "cache_write": 0.0024 + } + }, + "volcengine/doubao-seed-1.8": { + "id": "volcengine/doubao-seed-1.8", + "name": "Doubao-Seed-1.8", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-01-01", + "release_date": "2025-12-18", + "last_updated": "2025-12-18", + "modalities": { + "input": ["text", "image", "video"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 256000, + "output": 64000 + }, + "cost": { + "input": 0.11, + "output": 0.28, + "cache_read": 0.02, + "cache_write": 0.0024 + } + }, + "volcengine/doubao-seed-2.0-pro": { + "id": "volcengine/doubao-seed-2.0-pro", + "name": "Doubao-Seed-2.0-pro", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2026-02-14", + "release_date": "2026-02-14", + "last_updated": "2026-02-14", + "modalities": { + "input": ["text", "image", "video"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 256000, + "output": 64000 + }, + "cost": { + "input": 0.45, + "output": 2.24, + "cache_read": 0.09, + "cache_write": 0.0024 + } + }, + "baidu/ernie-5.0-thinking-preview": { + "id": "baidu/ernie-5.0-thinking-preview", + "name": "ERNIE 5.0", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-01-01", + "release_date": "2026-01-22", + "last_updated": "2026-01-22", + "modalities": { + "input": ["text", "image", "video"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 64000 + }, + "cost": { + "input": 0.84, + "output": 3.37 + } + }, + "minimax/minimax-m2.7": { + "id": "minimax/minimax-m2.7", + "name": "MiniMax M2.7", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-01-01", + "release_date": "2026-03-20", + "last_updated": "2026-03-20", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 204800, + "output": 131070 + }, + "provider": { + "npm": "@ai-sdk/anthropic", + "api": "https://zenmux.ai/api/anthropic/v1" + }, + "cost": { + "input": 0.3055, + "output": 1.2219 + } + }, + "minimax/minimax-m2.7-highspeed": { + "id": "minimax/minimax-m2.7-highspeed", + "name": "MiniMax M2.7 highspeed", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-01-01", + "release_date": "2026-03-20", + "last_updated": "2026-03-20", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 204800, + "output": 131070 + }, + "provider": { + "npm": "@ai-sdk/anthropic", + "api": "https://zenmux.ai/api/anthropic/v1" + }, + "cost": { + "input": 0.611, + "output": 2.4439 + } + }, + "minimax/minimax-m2": { + "id": "minimax/minimax-m2", + "name": "MiniMax M2", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-01-01", + "release_date": "2025-10-27", + "last_updated": "2025-10-27", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 204000, + "output": 64000 + }, + "provider": { + "npm": "@ai-sdk/anthropic", + "api": "https://zenmux.ai/api/anthropic/v1" + }, + "cost": { + "input": 0.3, + "output": 1.2, + "cache_read": 0.03, + "cache_write": 0.38 + } + }, + "minimax/minimax-m2.1": { + "id": "minimax/minimax-m2.1", + "name": "MiniMax M2.1", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-01-01", + "release_date": "2025-12-22", + "last_updated": "2025-12-22", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 204000, + "output": 64000 + }, + "provider": { + "npm": "@ai-sdk/anthropic", + "api": "https://zenmux.ai/api/anthropic/v1" + }, + "cost": { + "input": 0.3, + "output": 1.2, + "cache_read": 0.03, + "cache_write": 0.38 + } + }, + "minimax/minimax-m2.5-lightning": { + "id": "minimax/minimax-m2.5-lightning", + "name": "MiniMax M2.5 highspeed", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-01-01", + "release_date": "2026-02-13", + "last_updated": "2026-02-13", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 204800, + "output": 131072 + }, + "provider": { + "npm": "@ai-sdk/anthropic", + "api": "https://zenmux.ai/api/anthropic/v1" + }, + "cost": { + "input": 0.6, + "output": 4.8, + "cache_read": 0.06, + "cache_write": 0.75 + } + }, + "minimax/minimax-m2.5": { + "id": "minimax/minimax-m2.5", + "name": "MiniMax M2.5", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-01-01", + "release_date": "2026-02-13", + "last_updated": "2026-02-13", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 204800, + "output": 131072 + }, + "provider": { + "npm": "@ai-sdk/anthropic", + "api": "https://zenmux.ai/api/anthropic/v1" + }, + "cost": { + "input": 0.3, + "output": 1.2, + "cache_read": 0.03, + "cache_write": 0.375 + } + }, + "qwen/qwen3-coder-plus": { + "id": "qwen/qwen3-coder-plus", + "name": "Qwen3-Coder-Plus", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-01-01", + "release_date": "2025-07-23", + "last_updated": "2025-07-23", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000000, + "output": 64000 + }, + "cost": { + "input": 1, + "output": 5, + "cache_read": 0.1, + "cache_write": 1.25 + } + }, + "qwen/qwen3.5-flash": { + "id": "qwen/qwen3.5-flash", + "name": "Qwen3.5 Flash", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-01-01", + "release_date": "2026-03-20", + "last_updated": "2026-03-20", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1020000, + "output": 1020000 + }, + "cost": { + "input": 0.1, + "output": 0.4 + } + }, + "qwen/qwen3.6-plus": { + "id": "qwen/qwen3.6-plus", + "name": "Qwen3.6-Plus", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2026-03-30", + "last_updated": "2026-03-30", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000000, + "output": 64000 + }, + "cost": { + "input": 0.5, + "output": 3, + "cache_read": 0.05, + "cache_write": 0.625, + "tiers": [ + { + "input": 2, + "output": 6, + "cache_read": 0.2, + "cache_write": 2.5, + "tier": { + "type": "context", + "size": 256000 + } + } + ], + "context_over_200k": { + "input": 2, + "output": 6, + "cache_read": 0.2, + "cache_write": 2.5 + } + } + }, + "qwen/qwen3-max": { + "id": "qwen/qwen3-max", + "name": "Qwen3-Max-Thinking", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-01-01", + "release_date": "2026-01-23", + "last_updated": "2026-01-23", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 256000, + "output": 64000 + }, + "cost": { + "input": 1.2, + "output": 6 + } + }, + "qwen/qwen3.5-plus": { + "id": "qwen/qwen3.5-plus", + "name": "Qwen3.5 Plus", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-01-01", + "release_date": "2026-03-20", + "last_updated": "2026-03-20", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000000, + "output": 64000 + }, + "cost": { + "input": 0.8, + "output": 4.8 + } + }, + "google/gemini-3.1-flash-lite-preview": { + "id": "google/gemini-3.1-flash-lite-preview", + "name": "Gemini 3.1 Flash Lite Preview", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "release_date": "2025-03-20", + "last_updated": "2025-03-20", + "modalities": { + "input": ["text", "image", "audio", "video"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1050000, + "output": 65530 + }, + "cost": { + "input": 0.25, + "output": 1.5 + } + }, + "google/gemini-3.1-pro-preview": { + "id": "google/gemini-3.1-pro-preview", + "name": "Gemini 3.1 Pro Preview", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2026-02-19", + "release_date": "2026-02-19", + "last_updated": "2026-02-19", + "modalities": { + "input": ["text", "image", "pdf", "audio", "video"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1048000, + "output": 64000 + }, + "cost": { + "input": 2, + "output": 12, + "cache_read": 0.2, + "cache_write": 4.5 + } + }, + "google/gemini-3-flash-preview": { + "id": "google/gemini-3-flash-preview", + "name": "Gemini 3 Flash Preview", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-01-01", + "release_date": "2025-12-17", + "last_updated": "2025-12-17", + "modalities": { + "input": ["text", "image", "pdf", "audio"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1048000, + "output": 64000 + }, + "cost": { + "input": 0.5, + "output": 3, + "cache_read": 0.05, + "cache_write": 1 + } + }, + "google/gemini-2.5-pro": { + "id": "google/gemini-2.5-pro", + "name": "Gemini 2.5 Pro", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-01-01", + "release_date": "2025-06-17", + "last_updated": "2025-06-17", + "modalities": { + "input": ["pdf", "image", "text", "audio", "video"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1048000, + "output": 64000 + }, + "cost": { + "input": 1.25, + "output": 10, + "cache_read": 0.31, + "cache_write": 4.5 + } + }, + "google/gemini-2.5-flash": { + "id": "google/gemini-2.5-flash", + "name": "Gemini 2.5 Flash", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-01-01", + "release_date": "2025-06-17", + "last_updated": "2025-06-17", + "modalities": { + "input": ["pdf", "image", "text", "audio"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1048000, + "output": 64000 + }, + "cost": { + "input": 0.3, + "output": 2.5, + "cache_read": 0.07, + "cache_write": 1 + } + }, + "google/gemini-2.5-flash-lite": { + "id": "google/gemini-2.5-flash-lite", + "name": "Gemini 2.5 Flash Lite", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-01-01", + "release_date": "2025-07-22", + "last_updated": "2025-07-22", + "modalities": { + "input": ["pdf", "image", "text", "audio"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1048000, + "output": 64000 + }, + "cost": { + "input": 0.1, + "output": 0.4, + "cache_read": 0.03, + "cache_write": 1 + } + }, + "sapiens-ai/agnes-1.5-lite": { + "id": "sapiens-ai/agnes-1.5-lite", + "name": "Agnes 1.5 Lite", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "release_date": "2026-03-26", + "last_updated": "2026-03-26", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 256000, + "output": 256000 + }, + "cost": { + "input": 0.12, + "output": 0.6 + } + }, + "sapiens-ai/agnes-1.5-pro": { + "id": "sapiens-ai/agnes-1.5-pro", + "name": "Agnes 1.5 Pro", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2026-03-21", + "last_updated": "2026-03-21", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 256000, + "output": 256000 + }, + "cost": { + "input": 0.16, + "output": 0.8 + } + }, + "moonshotai/kimi-k2.5": { + "id": "moonshotai/kimi-k2.5", + "name": "Kimi K2.5", + "attachment": true, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "temperature": false, + "knowledge": "2025-01-01", + "release_date": "2026-01-27", + "last_updated": "2026-01-27", + "modalities": { + "input": ["text", "image", "video"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 262000, + "output": 64000 + }, + "cost": { + "input": 0.58, + "output": 3.02, + "cache_read": 0.1 + } + }, + "moonshotai/kimi-k2-thinking-turbo": { + "id": "moonshotai/kimi-k2-thinking-turbo", + "name": "Kimi K2 Thinking Turbo", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-01-01", + "release_date": "2025-11-06", + "last_updated": "2025-11-06", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 262000, + "output": 64000 + }, + "cost": { + "input": 1.15, + "output": 8, + "cache_read": 0.15 + } + }, + "moonshotai/kimi-k2-0905": { + "id": "moonshotai/kimi-k2-0905", + "name": "Kimi K2 0905", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-01-01", + "release_date": "2025-09-04", + "last_updated": "2025-09-04", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 262000, + "output": 64000 + }, + "cost": { + "input": 0.6, + "output": 2.5, + "cache_read": 0.15 + } + }, + "moonshotai/kimi-k2.6": { + "id": "moonshotai/kimi-k2.6", + "name": "Kimi K2.6", + "attachment": true, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "temperature": false, + "knowledge": "2025-01-01", + "release_date": "2026-04-20", + "last_updated": "2026-04-20", + "modalities": { + "input": ["text", "image", "video"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262140, + "output": 262140 + }, + "cost": { + "input": 0.95, + "output": 4, + "cache_read": 0.16 + } + }, + "moonshotai/kimi-k2-thinking": { + "id": "moonshotai/kimi-k2-thinking", + "name": "Kimi K2 Thinking", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-01-01", + "release_date": "2025-11-06", + "last_updated": "2025-11-06", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 262000, + "output": 64000 + }, + "cost": { + "input": 0.6, + "output": 2.5, + "cache_read": 0.15 + } + }, + "anthropic/claude-opus-4.1": { + "id": "anthropic/claude-opus-4.1", + "name": "Claude Opus 4.1", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-01-01", + "release_date": "2025-08-05", + "last_updated": "2025-08-05", + "modalities": { + "input": ["image", "text", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 64000 + }, + "provider": { + "npm": "@ai-sdk/anthropic", + "api": "https://zenmux.ai/api/anthropic/v1" + }, + "cost": { + "input": 15, + "output": 75, + "cache_read": 1.5, + "cache_write": 18.75 + } + }, + "anthropic/claude-3.7-sonnet": { + "id": "anthropic/claude-3.7-sonnet", + "name": "Claude 3.7 Sonnet", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-01-01", + "release_date": "2025-02-24", + "last_updated": "2025-02-24", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 64000 + }, + "provider": { + "npm": "@ai-sdk/anthropic", + "api": "https://zenmux.ai/api/anthropic/v1" + }, + "cost": { + "input": 3, + "output": 15, + "cache_read": 0.3, + "cache_write": 3.75 + } + }, + "anthropic/claude-opus-4.6": { + "id": "anthropic/claude-opus-4.6", + "name": "Claude Opus 4.6", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-05-31", + "release_date": "2026-02-06", + "last_updated": "2026-02-06", + "modalities": { + "input": ["image", "text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000000, + "output": 128000 + }, + "provider": { + "npm": "@ai-sdk/anthropic", + "api": "https://zenmux.ai/api/anthropic/v1" + }, + "cost": { + "input": 5, + "output": 25, + "cache_read": 0.5, + "cache_write": 6.25 + } + }, + "anthropic/claude-opus-4.7": { + "id": "anthropic/claude-opus-4.7", + "name": "Claude Opus 4.7", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": false, + "knowledge": "2026-01-31", + "release_date": "2026-04-16", + "last_updated": "2026-04-16", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000000, + "output": 128000 + }, + "provider": { + "npm": "@ai-sdk/anthropic", + "api": "https://zenmux.ai/api/anthropic/v1" + }, + "cost": { + "input": 5, + "output": 25, + "cache_read": 0.5, + "cache_write": 6.25 + } + }, + "anthropic/claude-sonnet-4": { + "id": "anthropic/claude-sonnet-4", + "name": "Claude Sonnet 4", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-01-01", + "release_date": "2025-05-22", + "last_updated": "2025-05-22", + "modalities": { + "input": ["image", "text", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000000, + "output": 64000 + }, + "provider": { + "npm": "@ai-sdk/anthropic", + "api": "https://zenmux.ai/api/anthropic/v1" + }, + "cost": { + "input": 3, + "output": 15, + "cache_read": 0.3, + "cache_write": 3.75 + } + }, + "anthropic/claude-sonnet-4.5": { + "id": "anthropic/claude-sonnet-4.5", + "name": "Claude Sonnet 4.5", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-01-01", + "release_date": "2025-09-29", + "last_updated": "2025-09-29", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000000, + "output": 64000 + }, + "provider": { + "npm": "@ai-sdk/anthropic", + "api": "https://zenmux.ai/api/anthropic/v1" + }, + "cost": { + "input": 3, + "output": 15, + "cache_read": 0.3, + "cache_write": 3.75 + } + }, + "anthropic/claude-opus-4.5": { + "id": "anthropic/claude-opus-4.5", + "name": "Claude Opus 4.5", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-01-01", + "release_date": "2025-11-24", + "last_updated": "2025-11-24", + "modalities": { + "input": ["pdf", "image", "text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 64000 + }, + "provider": { + "npm": "@ai-sdk/anthropic", + "api": "https://zenmux.ai/api/anthropic/v1" + }, + "cost": { + "input": 5, + "output": 25, + "cache_read": 0.5, + "cache_write": 6.25 + } + }, + "anthropic/claude-opus-4": { + "id": "anthropic/claude-opus-4", + "name": "Claude Opus 4", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-01-01", + "release_date": "2025-05-22", + "last_updated": "2025-05-22", + "modalities": { + "input": ["image", "text", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 32000 + }, + "provider": { + "npm": "@ai-sdk/anthropic", + "api": "https://zenmux.ai/api/anthropic/v1" + }, + "cost": { + "input": 15, + "output": 75, + "cache_read": 1.5, + "cache_write": 18.75 + } + }, + "anthropic/claude-3.5-haiku": { + "id": "anthropic/claude-3.5-haiku", + "name": "Claude 3.5 Haiku", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-01-01", + "release_date": "2024-11-04", + "last_updated": "2024-11-04", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 64000 + }, + "provider": { + "npm": "@ai-sdk/anthropic", + "api": "https://zenmux.ai/api/anthropic/v1" + }, + "cost": { + "input": 0.8, + "output": 4, + "cache_read": 0.08, + "cache_write": 1 + } + }, + "anthropic/claude-haiku-4.5": { + "id": "anthropic/claude-haiku-4.5", + "name": "Claude Haiku 4.5", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-01-01", + "release_date": "2025-10-15", + "last_updated": "2025-10-15", + "modalities": { + "input": ["image", "text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 64000 + }, + "provider": { + "npm": "@ai-sdk/anthropic", + "api": "https://zenmux.ai/api/anthropic/v1" + }, + "cost": { + "input": 1, + "output": 5, + "cache_read": 0.1, + "cache_write": 1.25 + } + }, + "anthropic/claude-sonnet-4.6": { + "id": "anthropic/claude-sonnet-4.6", + "name": "Claude Sonnet 4.6", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-08-31", + "release_date": "2026-02-18", + "last_updated": "2026-02-18", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000000, + "output": 64000 + }, + "provider": { + "npm": "@ai-sdk/anthropic", + "api": "https://zenmux.ai/api/anthropic/v1" + }, + "cost": { + "input": 3, + "output": 15, + "cache_read": 0.3, + "cache_write": 3.75 + } + }, + "deepseek/deepseek-v4-flash": { + "id": "deepseek/deepseek-v4-flash", + "name": "DeepSeek V4 Flash", + "family": "deepseek-flash", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "structured_output": true, + "temperature": true, + "knowledge": "2025-05", + "release_date": "2026-04-24", + "last_updated": "2026-04-24", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 1000000, + "output": 384000 + }, + "cost": { + "input": 0.14, + "output": 0.28, + "cache_read": 0.028 + } + }, + "deepseek/deepseek-v4-pro": { + "id": "deepseek/deepseek-v4-pro", + "name": "DeepSeek V4 Pro", + "family": "deepseek-thinking", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "structured_output": true, + "temperature": true, + "knowledge": "2025-05", + "release_date": "2026-04-24", + "last_updated": "2026-04-24", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 1000000, + "output": 384000 + }, + "cost": { + "input": 1.74, + "output": 3.48, + "cache_read": 0.145 + } + }, + "tencent/hy3-preview": { + "id": "tencent/hy3-preview", + "name": "Hy3 preview", + "family": "Hy", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2026-04-20", + "last_updated": "2026-04-20", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 256000, + "output": 64000 + }, + "cost": { + "input": 0.172, + "output": 0.572, + "cache_read": 0.058, + "cache_write": 0 + } + }, + "openai/gpt-5.5": { + "id": "openai/gpt-5.5", + "name": "GPT-5.5", + "family": "gpt", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": false, + "knowledge": "2025-12-01", + "release_date": "2026-04-23", + "last_updated": "2026-04-23", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1050000, + "input": 922000, + "output": 128000 + }, + "experimental": { + "modes": { + "fast": { + "cost": { + "input": 12.5, + "output": 75, + "cache_read": 1.25 + }, + "provider": { + "body": { + "service_tier": "priority" + } + } + } + } + }, + "cost": { + "input": 5, + "output": 30, + "cache_read": 0.5, + "context_over_200k": { + "input": 10, + "output": 45, + "cache_read": 1 + }, + "tiers": [ + { + "input": 10, + "output": 45, + "cache_read": 1, + "tier": { + "type": "context", + "size": 272000 + } + } + ] + } + }, + "openai/gpt-5.5-pro": { + "id": "openai/gpt-5.5-pro", + "name": "GPT-5.5 Pro", + "family": "gpt-pro", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": false, + "knowledge": "2025-12-01", + "release_date": "2026-04-23", + "last_updated": "2026-04-23", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1050000, + "input": 922000, + "output": 128000 + }, + "cost": { + "input": 30, + "output": 180, + "context_over_200k": { + "input": 60, + "output": 270 + }, + "tiers": [ + { + "input": 60, + "output": 270, + "tier": { + "type": "context", + "size": 272000 + } + } + ] + } + }, + "xiaomi/mimo-v2.5-pro": { + "id": "xiaomi/mimo-v2.5-pro", + "name": "MiMo-V2.5-Pro", + "family": "mimo", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "temperature": true, + "knowledge": "2024-12", + "release_date": "2026-04-22", + "last_updated": "2026-04-22", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 1048576, + "output": 131072 + }, + "cost": { + "input": 1, + "output": 3, + "cache_read": 0.2, + "context_over_200k": { + "input": 2, + "output": 6, + "cache_read": 0.4 + }, + "tiers": [ + { + "input": 2, + "output": 6, + "cache_read": 0.4, + "tier": { + "type": "context", + "size": 256000 + } + } + ] + } + }, + "xiaomi/mimo-v2-omni": { + "id": "xiaomi/mimo-v2-omni", + "name": "MiMo V2 Omni", + "family": "mimo", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-12", + "release_date": "2026-03-18", + "last_updated": "2026-03-18", + "modalities": { + "input": ["text", "image", "audio", "video", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 265000, + "output": 265000 + }, + "cost": { + "input": 0.4, + "output": 2, + "cache_read": 0.08 + } + }, + "xiaomi/mimo-v2.5": { + "id": "xiaomi/mimo-v2.5", + "name": "MiMo-V2.5", + "family": "mimo", + "attachment": true, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "temperature": true, + "knowledge": "2024-12", + "release_date": "2026-04-22", + "last_updated": "2026-04-22", + "modalities": { + "input": ["text", "image", "audio", "video"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 1048576, + "output": 131072 + }, + "cost": { + "input": 0.4, + "output": 2, + "cache_read": 0.08, + "context_over_200k": { + "input": 0.8, + "output": 4, + "cache_read": 0.16 + }, + "tiers": [ + { + "input": 0.8, + "output": 4, + "cache_read": 0.16, + "tier": { + "type": "context", + "size": 256000 + } + } + ] + } + }, + "xiaomi/mimo-v2-pro": { + "id": "xiaomi/mimo-v2-pro", + "name": "MiMo V2 Pro", + "family": "mimo", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-12", + "release_date": "2026-03-18", + "last_updated": "2026-03-18", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000000, + "output": 256000 + }, + "cost": { + "input": 1, + "output": 3, + "cache_read": 0.2, + "context_over_200k": { + "input": 2, + "output": 6, + "cache_read": 0.4 + }, + "tiers": [ + { + "input": 2, + "output": 6, + "cache_read": 0.4, + "tier": { + "type": "context", + "size": 256000 + } + } + ] + } + }, + "xiaomi/mimo-v2-flash": { + "id": "xiaomi/mimo-v2-flash", + "name": "MiMo-V2-Flash", + "family": "mimo", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-12-01", + "release_date": "2025-12-16", + "last_updated": "2026-02-04", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 65536 + }, + "cost": { + "input": 0.1, + "output": 0.3, + "cache_read": 0.01 + } + } + } + }, + "upstage": { + "id": "upstage", + "env": ["UPSTAGE_API_KEY"], + "npm": "@ai-sdk/openai-compatible", + "api": "https://api.upstage.ai/v1/solar", + "name": "Upstage", + "doc": "https://developers.upstage.ai/docs/apis/chat", + "models": { + "solar-pro2": { + "id": "solar-pro2", + "name": "solar-pro2", + "family": "solar-pro", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-03", + "release_date": "2025-05-20", + "last_updated": "2025-05-20", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 65536, + "output": 8192 + }, + "cost": { + "input": 0.25, + "output": 0.25 + } + }, + "solar-mini": { + "id": "solar-mini", + "name": "solar-mini", + "family": "solar-mini", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-09", + "release_date": "2024-06-12", + "last_updated": "2025-04-22", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 32768, + "output": 4096 + }, + "cost": { + "input": 0.15, + "output": 0.15 + } + }, + "solar-pro3": { + "id": "solar-pro3", + "name": "solar-pro3", + "family": "solar-pro", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-03", + "release_date": "2026-01", + "last_updated": "2026-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 131072, + "output": 8192 + }, + "cost": { + "input": 0.25, + "output": 0.25 + } + } + } + }, + "novita-ai": { + "id": "novita-ai", + "env": ["NOVITA_API_KEY"], + "npm": "@ai-sdk/openai-compatible", + "api": "https://api.novita.ai/openai", + "name": "NovitaAI", + "doc": "https://novita.ai/docs/guides/introduction", + "models": { + "deepseek/deepseek-r1-turbo": { + "id": "deepseek/deepseek-r1-turbo", + "name": "DeepSeek R1 (Turbo)\t", + "attachment": false, + "reasoning": true, + "tool_call": true, "temperature": true, "release_date": "2025-03-05", "last_updated": "2025-03-05", - "modalities": { "input": ["text"], "output": ["text"] }, + "modalities": { + "input": ["text"], + "output": ["text"] + }, "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 128000, "output": 4096 } + "limit": { + "context": 64000, + "output": 16000 + }, + "cost": { + "input": 0.7, + "output": 2.5 + } }, - "qwen/qwen2.5-coder-7b-instruct": { - "id": "qwen/qwen2.5-coder-7b-instruct", - "name": "Qwen2.5 Coder 7b Instruct", + "deepseek/deepseek-v3-0324": { + "id": "deepseek/deepseek-v3-0324", + "name": "DeepSeek V3 0324", + "family": "deepseek", "attachment": false, "reasoning": false, "tool_call": true, "structured_output": true, "temperature": true, - "release_date": "2024-09-17", - "last_updated": "2024-09-17", - "modalities": { "input": ["text"], "output": ["text"] }, + "knowledge": "2024-07", + "release_date": "2025-03-25", + "last_updated": "2025-03-25", + "modalities": { + "input": ["text"], + "output": ["text"] + }, "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 128000, "output": 4096 } + "limit": { + "context": 163840, + "output": 163840 + }, + "cost": { + "input": 0.27, + "output": 1.12, + "cache_read": 0.135 + } }, - "qwen/qwen2.5-coder-32b-instruct": { - "id": "qwen/qwen2.5-coder-32b-instruct", - "name": "Qwen2.5 Coder 32b Instruct", + "deepseek/deepseek-ocr-2": { + "id": "deepseek/deepseek-ocr-2", + "name": "deepseek/deepseek-ocr-2", + "attachment": true, + "reasoning": false, + "tool_call": false, + "release_date": "2026-01-27", + "last_updated": "2026-01-27", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 8192, + "output": 8192 + }, + "cost": { + "input": 0.03, + "output": 0.03 + } + }, + "deepseek/deepseek-ocr": { + "id": "deepseek/deepseek-ocr", + "name": "DeepSeek-OCR", + "attachment": true, + "reasoning": false, + "tool_call": false, + "structured_output": true, + "temperature": true, + "release_date": "2025-10-24", + "last_updated": "2025-10-24", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 8192, + "output": 8192 + }, + "cost": { + "input": 0.03, + "output": 0.03 + } + }, + "deepseek/deepseek-r1-distill-llama-70b": { + "id": "deepseek/deepseek-r1-distill-llama-70b", + "name": "DeepSeek R1 Distill LLama 70B", + "family": "deepseek-thinking", + "attachment": false, + "reasoning": true, + "tool_call": false, + "structured_output": true, + "temperature": true, + "release_date": "2025-01-27", + "last_updated": "2025-01-27", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 8192, + "output": 8192 + }, + "cost": { + "input": 0.8, + "output": 0.8 + } + }, + "deepseek/deepseek-prover-v2-671b": { + "id": "deepseek/deepseek-prover-v2-671b", + "name": "Deepseek Prover V2 671B", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "release_date": "2025-04-30", + "last_updated": "2025-04-30", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 160000, + "output": 160000 + }, + "cost": { + "input": 0.7, + "output": 2.5 + } + }, + "deepseek/deepseek-r1-0528-qwen3-8b": { + "id": "deepseek/deepseek-r1-0528-qwen3-8b", + "name": "DeepSeek R1 0528 Qwen3 8B", + "attachment": false, + "reasoning": true, + "tool_call": false, + "temperature": true, + "release_date": "2025-05-29", + "last_updated": "2025-05-29", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 32000 + }, + "cost": { + "input": 0.06, + "output": 0.09 + } + }, + "deepseek/deepseek-r1-distill-qwen-32b": { + "id": "deepseek/deepseek-r1-distill-qwen-32b", + "name": "DeepSeek R1 Distill Qwen 32B", + "family": "deepseek-thinking", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "release_date": "2025-01-20", + "last_updated": "2025-01-20", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 64000, + "output": 32000 + }, + "cost": { + "input": 0.3, + "output": 0.3 + } + }, + "deepseek/deepseek-v3.2-exp": { + "id": "deepseek/deepseek-v3.2-exp", + "name": "Deepseek V3.2 Exp", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-09-29", + "last_updated": "2025-09-29", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 163840, + "output": 65536 + }, + "cost": { + "input": 0.27, + "output": 0.41 + } + }, + "deepseek/deepseek-v3.1": { + "id": "deepseek/deepseek-v3.1", + "name": "DeepSeek V3.1", + "family": "deepseek", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-08-21", + "last_updated": "2025-08-21", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 32768 + }, + "cost": { + "input": 0.27, + "output": 1, + "cache_read": 0.135 + } + }, + "deepseek/deepseek-v3.2": { + "id": "deepseek/deepseek-v3.2", + "name": "Deepseek V3.2", + "family": "deepseek", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "structured_output": true, + "temperature": true, + "release_date": "2025-12-01", + "last_updated": "2025-12-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 163840, + "output": 65536 + }, + "cost": { + "input": 0.269, + "output": 0.4, + "cache_read": 0.1345 + } + }, + "deepseek/deepseek-v3-turbo": { + "id": "deepseek/deepseek-v3-turbo", + "name": "DeepSeek V3 (Turbo)\t", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "release_date": "2025-03-05", + "last_updated": "2025-03-05", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 64000, + "output": 16000 + }, + "cost": { + "input": 0.4, + "output": 1.3 + } + }, + "deepseek/deepseek-r1-distill-qwen-14b": { + "id": "deepseek/deepseek-r1-distill-qwen-14b", + "name": "DeepSeek R1 Distill Qwen 14B", + "family": "deepseek-thinking", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "release_date": "2025-01-20", + "last_updated": "2025-01-20", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 32768, + "output": 16384 + }, + "cost": { + "input": 0.15, + "output": 0.15 + } + }, + "deepseek/deepseek-r1-0528": { + "id": "deepseek/deepseek-r1-0528", + "name": "DeepSeek R1 0528", + "family": "deepseek-thinking", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2024-07", + "release_date": "2025-05-28", + "last_updated": "2025-05-28", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 163840, + "output": 32768 + }, + "cost": { + "input": 0.7, + "output": 2.5, + "cache_read": 0.35 + } + }, + "deepseek/deepseek-v3.1-terminus": { + "id": "deepseek/deepseek-v3.1-terminus", + "name": "Deepseek V3.1 Terminus", + "family": "deepseek", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-09-22", + "last_updated": "2025-09-22", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 32768 + }, + "cost": { + "input": 0.27, + "output": 1, + "cache_read": 0.135 + } + }, + "inclusionai/ling-2.6-1t": { + "id": "inclusionai/ling-2.6-1t", + "name": "Ling-2.6-1T", + "family": "ling", "attachment": false, "reasoning": false, "tool_call": true, "structured_output": true, "temperature": true, - "release_date": "2024-11-06", - "last_updated": "2024-11-06", - "modalities": { "input": ["text"], "output": ["text"] }, + "release_date": "2026-04-23", + "last_updated": "2026-04-23", + "modalities": { + "input": ["text"], + "output": ["text"] + }, "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 128000, "output": 4096 } + "limit": { + "context": 262144, + "output": 32768 + }, + "cost": { + "input": 0, + "output": 0 + } }, - "qwen/qwen3-coder-480b-a35b-instruct": { - "id": "qwen/qwen3-coder-480b-a35b-instruct", - "name": "Qwen3 Coder 480B A35B Instruct", - "family": "qwen", + "inclusionai/ling-2.6-flash": { + "id": "inclusionai/ling-2.6-flash", + "name": "Ling-2.6-flash", + "family": "ling", "attachment": false, "reasoning": false, "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2026-04-24", + "last_updated": "2026-04-24", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 32768 + }, + "cost": { + "input": 0.1, + "output": 0.3, + "cache_read": 0.02 + } + }, + "paddlepaddle/paddleocr-vl": { + "id": "paddlepaddle/paddleocr-vl", + "name": "PaddleOCR-VL", + "attachment": true, + "reasoning": false, + "tool_call": false, + "temperature": true, + "release_date": "2025-10-22", + "last_updated": "2025-10-22", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 16384, + "output": 16384 + }, + "cost": { + "input": 0.02, + "output": 0.02 + } + }, + "nousresearch/hermes-2-pro-llama-3-8b": { + "id": "nousresearch/hermes-2-pro-llama-3-8b", + "name": "Hermes 2 Pro Llama 3 8B", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": true, + "temperature": true, + "release_date": "2024-06-27", + "last_updated": "2024-06-27", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 8192, + "output": 8192 + }, + "cost": { + "input": 0.14, + "output": 0.14 + } + }, + "zai-org/glm-4.7": { + "id": "zai-org/glm-4.7", + "name": "GLM-4.7", + "family": "glm", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "structured_output": true, + "temperature": true, + "release_date": "2025-12-22", + "last_updated": "2025-12-22", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 204800, + "output": 131072 + }, + "cost": { + "input": 0.6, + "output": 2.2, + "cache_read": 0.11 + } + }, + "zai-org/glm-5": { + "id": "zai-org/glm-5", + "name": "GLM-5", + "family": "glm", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "structured_output": true, + "temperature": true, + "release_date": "2026-02-11", + "last_updated": "2026-02-12", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 202800, + "output": 131072 + }, + "cost": { + "input": 1, + "output": 3.2, + "cache_read": 0.2 + } + }, + "zai-org/glm-5.1": { + "id": "zai-org/glm-5.1", + "name": "GLM-5.1", + "family": "glm", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "structured_output": true, + "temperature": true, + "release_date": "2026-03-27", + "last_updated": "2026-03-27", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 204800, + "output": 131072 + }, + "cost": { + "input": 1.4, + "output": 4.4, + "cache_read": 0.26 + } + }, + "zai-org/glm-4.5": { + "id": "zai-org/glm-4.5", + "name": "GLM-4.5", + "family": "glm", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "temperature": true, + "release_date": "2025-07-28", + "last_updated": "2025-07-28", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 98304 + }, + "cost": { + "input": 0.6, + "output": 2.2, + "cache_read": 0.11 + } + }, + "zai-org/glm-4.5-air": { + "id": "zai-org/glm-4.5-air", + "name": "GLM 4.5 Air", + "family": "glm-air", + "attachment": false, + "reasoning": true, + "tool_call": true, "temperature": true, "knowledge": "2025-04", - "release_date": "2025-07-23", - "last_updated": "2025-07-23", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 262144, "output": 66536 } + "release_date": "2025-10-13", + "last_updated": "2025-10-13", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 98304 + }, + "cost": { + "input": 0.13, + "output": 0.85 + } }, - "qwen/qwen3-next-80b-a3b-thinking": { - "id": "qwen/qwen3-next-80b-a3b-thinking", - "name": "Qwen3-Next-80B-A3B-Thinking", - "family": "qwen", + "zai-org/glm-4.5v": { + "id": "zai-org/glm-4.5v", + "name": "GLM 4.5V", + "family": "glmv", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-08-11", + "last_updated": "2025-08-11", + "modalities": { + "input": ["text", "video", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 65536, + "output": 16384 + }, + "cost": { + "input": 0.6, + "output": 1.8, + "cache_read": 0.11 + } + }, + "zai-org/glm-4.6": { + "id": "zai-org/glm-4.6", + "name": "GLM 4.6", + "family": "glm", "attachment": false, "reasoning": true, "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "structured_output": true, + "temperature": true, + "release_date": "2025-09-30", + "last_updated": "2025-09-30", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 204800, + "output": 131072 + }, + "cost": { + "input": 0.55, + "output": 2.2, + "cache_read": 0.11 + } + }, + "zai-org/glm-4.6v": { + "id": "zai-org/glm-4.6v", + "name": "GLM 4.6V", + "family": "glmv", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-12-08", + "last_updated": "2025-12-08", + "modalities": { + "input": ["text", "video", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 32768 + }, + "cost": { + "input": 0.3, + "output": 0.9, + "cache_read": 0.055 + } + }, + "zai-org/glm-4.7-flash": { + "id": "zai-org/glm-4.7-flash", + "name": "GLM-4.7-Flash", + "family": "glm", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2026-01-19", + "last_updated": "2026-01-19", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 200000, + "output": 128000 + }, + "cost": { + "input": 0.07, + "output": 0.4, + "cache_read": 0.01 + } + }, + "zai-org/autoglm-phone-9b-multilingual": { + "id": "zai-org/autoglm-phone-9b-multilingual", + "name": "AutoGLM-Phone-9B-Multilingual", + "attachment": true, + "reasoning": false, + "tool_call": false, + "temperature": true, + "release_date": "2025-12-10", + "last_updated": "2025-12-10", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 65536, + "output": 65536 + }, + "cost": { + "input": 0.035, + "output": 0.138 + } + }, + "mistralai/mistral-nemo": { + "id": "mistralai/mistral-nemo", + "name": "Mistral Nemo", + "family": "mistral-nemo", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": true, + "temperature": true, + "release_date": "2024-07-30", + "last_updated": "2024-07-30", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 60288, + "output": 16000 + }, + "cost": { + "input": 0.04, + "output": 0.17 + } + }, + "baichuan/baichuan-m2-32b": { + "id": "baichuan/baichuan-m2-32b", + "name": "baichuan-m2-32b", + "family": "baichuan", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, "temperature": true, "knowledge": "2024-12", - "release_date": "2024-12-01", - "last_updated": "2025-09-05", - "modalities": { "input": ["text"], "output": ["text"] }, + "release_date": "2025-08-13", + "last_updated": "2025-08-13", + "modalities": { + "input": ["text"], + "output": ["text"] + }, "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 262144, "output": 16384 } + "limit": { + "context": 131072, + "output": 131072 + }, + "cost": { + "input": 0.07, + "output": 0.07 + } }, - "qwen/qwen3-next-80b-a3b-instruct": { - "id": "qwen/qwen3-next-80b-a3b-instruct", - "name": "Qwen3-Next-80B-A3B-Instruct", - "family": "qwen", + "meta-llama/llama-4-scout-17b-16e-instruct": { + "id": "meta-llama/llama-4-scout-17b-16e-instruct", + "name": "Llama 4 Scout Instruct", + "attachment": true, + "reasoning": false, + "tool_call": false, + "temperature": true, + "release_date": "2025-04-06", + "last_updated": "2025-04-06", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 131072 + }, + "cost": { + "input": 0.18, + "output": 0.59 + } + }, + "meta-llama/llama-3.3-70b-instruct": { + "id": "meta-llama/llama-3.3-70b-instruct", + "name": "Llama 3.3 70B Instruct", + "family": "llama", "attachment": false, "reasoning": false, "tool_call": true, "temperature": true, - "knowledge": "2024-12", - "release_date": "2024-12-01", - "last_updated": "2025-09-05", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 262144, "output": 16384 } + "knowledge": "2023-12", + "release_date": "2024-12-07", + "last_updated": "2024-12-07", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 120000 + }, + "cost": { + "input": 0.135, + "output": 0.4 + } }, - "qwen/qwen3-235b-a22b": { - "id": "qwen/qwen3-235b-a22b", - "name": "Qwen3-235B-A22B", - "family": "qwen", + "meta-llama/llama-3.2-3b-instruct": { + "id": "meta-llama/llama-3.2-3b-instruct", + "name": "Llama 3.2 3B Instruct", + "family": "llama", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "release_date": "2024-09-18", + "last_updated": "2024-09-18", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 32768, + "output": 32000 + }, + "cost": { + "input": 0.03, + "output": 0.05 + } + }, + "meta-llama/llama-3-8b-instruct": { + "id": "meta-llama/llama-3-8b-instruct", + "name": "Llama 3 8B Instruct", + "family": "llama", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "release_date": "2024-04-25", + "last_updated": "2024-04-25", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 8192, + "output": 8192 + }, + "cost": { + "input": 0.04, + "output": 0.04 + } + }, + "meta-llama/llama-3.1-8b-instruct": { + "id": "meta-llama/llama-3.1-8b-instruct", + "name": "Llama 3.1 8B Instruct", + "family": "llama", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "release_date": "2024-07-24", + "last_updated": "2024-07-24", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 16384, + "output": 16384 + }, + "cost": { + "input": 0.02, + "output": 0.05 + } + }, + "meta-llama/llama-3-70b-instruct": { + "id": "meta-llama/llama-3-70b-instruct", + "name": "Llama3 70B Instruct", + "family": "llama", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": true, + "temperature": true, + "release_date": "2024-04-25", + "last_updated": "2024-04-25", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 8192, + "output": 8000 + }, + "cost": { + "input": 0.51, + "output": 0.74 + } + }, + "meta-llama/llama-4-maverick-17b-128e-instruct-fp8": { + "id": "meta-llama/llama-4-maverick-17b-128e-instruct-fp8", + "name": "Llama 4 Maverick Instruct", + "attachment": true, + "reasoning": false, + "tool_call": false, + "temperature": true, + "release_date": "2025-04-06", + "last_updated": "2025-04-06", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 1048576, + "output": 8192 + }, + "cost": { + "input": 0.27, + "output": 0.85 + } + }, + "gryphe/mythomax-l2-13b": { + "id": "gryphe/mythomax-l2-13b", + "name": "Mythomax L2 13B", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "release_date": "2024-04-25", + "last_updated": "2024-04-25", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 4096, + "output": 3200 + }, + "cost": { + "input": 0.09, + "output": 0.09 + } + }, + "sao10k/l31-70b-euryale-v2.2": { + "id": "sao10k/l31-70b-euryale-v2.2", + "name": "L31 70B Euryale V2.2", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "release_date": "2024-09-19", + "last_updated": "2024-09-19", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 8192, + "output": 8192 + }, + "cost": { + "input": 1.48, + "output": 1.48 + } + }, + "sao10k/l3-70b-euryale-v2.1": { + "id": "sao10k/l3-70b-euryale-v2.1", + "name": "L3 70B Euryale V2.1\t", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "release_date": "2024-06-18", + "last_updated": "2024-06-18", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 8192, + "output": 8192 + }, + "cost": { + "input": 1.48, + "output": 1.48 + } + }, + "sao10k/l3-8b-lunaris": { + "id": "sao10k/l3-8b-lunaris", + "name": "Sao10k L3 8B Lunaris\t", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": true, + "temperature": true, + "release_date": "2024-11-28", + "last_updated": "2024-11-28", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 8192, + "output": 8192 + }, + "cost": { + "input": 0.05, + "output": 0.05 + } + }, + "microsoft/wizardlm-2-8x22b": { + "id": "microsoft/wizardlm-2-8x22b", + "name": "Wizardlm 2 8x22B", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "release_date": "2024-04-24", + "last_updated": "2024-04-24", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 65535, + "output": 8000 + }, + "cost": { + "input": 0.62, + "output": 0.62 + } + }, + "openai/gpt-oss-20b": { + "id": "openai/gpt-oss-20b", + "name": "OpenAI: GPT OSS 20B", + "attachment": true, + "reasoning": true, + "tool_call": false, + "structured_output": true, + "temperature": true, + "release_date": "2025-08-06", + "last_updated": "2025-08-06", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 32768 + }, + "cost": { + "input": 0.04, + "output": 0.15 + } + }, + "openai/gpt-oss-120b": { + "id": "openai/gpt-oss-120b", + "name": "OpenAI GPT OSS 120B", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-08-06", + "last_updated": "2025-08-06", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 32768 + }, + "cost": { + "input": 0.05, + "output": 0.25 + } + }, + "minimaxai/minimax-m1-80k": { + "id": "minimaxai/minimax-m1-80k", + "name": "MiniMax M1", + "family": "minimax", "attachment": false, "reasoning": true, "tool_call": true, "temperature": true, + "release_date": "2025-06-17", + "last_updated": "2025-06-17", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 1000000, + "output": 40000 + }, + "cost": { + "input": 0.55, + "output": 2.2 + } + }, + "Sao10K/L3-8B-Stheno-v3.2": { + "id": "Sao10K/L3-8B-Stheno-v3.2", + "name": "L3 8B Stheno V3.2", + "family": "llama", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "release_date": "2024-11-29", + "last_updated": "2024-11-29", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 8192, + "output": 32000 + }, + "cost": { + "input": 0.05, + "output": 0.05 + } + }, + "xiaomimimo/mimo-v2-flash": { + "id": "xiaomimimo/mimo-v2-flash", + "name": "XiaomiMiMo/MiMo-V2-Flash", + "family": "mimo", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, "knowledge": "2024-12", - "release_date": "2024-12-01", - "last_updated": "2025-09-05", - "modalities": { "input": ["text"], "output": ["text"] }, + "release_date": "2025-12-19", + "last_updated": "2025-12-19", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 32000 + }, + "cost": { + "input": 0.1, + "output": 0.3, + "cache_read": 0.3 + } + }, + "baidu/ernie-4.5-vl-28b-a3b-thinking": { + "id": "baidu/ernie-4.5-vl-28b-a3b-thinking", + "name": "ERNIE-4.5-VL-28B-A3B-Thinking", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-11-26", + "last_updated": "2025-11-26", + "modalities": { + "input": ["text", "image", "video"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 65536 + }, + "cost": { + "input": 0.39, + "output": 0.39 + } + }, + "baidu/ernie-4.5-vl-424b-a47b": { + "id": "baidu/ernie-4.5-vl-424b-a47b", + "name": "ERNIE 4.5 VL 424B A47B", + "attachment": true, + "reasoning": true, + "tool_call": false, + "temperature": true, + "release_date": "2025-06-30", + "last_updated": "2025-06-30", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 123000, + "output": 16000 + }, + "cost": { + "input": 0.42, + "output": 1.25 + } + }, + "baidu/ernie-4.5-21B-a3b": { + "id": "baidu/ernie-4.5-21B-a3b", + "name": "ERNIE 4.5 21B A3B", + "family": "ernie", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-03", + "release_date": "2025-06-30", + "last_updated": "2025-06-30", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 120000, + "output": 8000 + }, + "cost": { + "input": 0.07, + "output": 0.28 + } + }, + "baidu/ernie-4.5-300b-a47b-paddle": { + "id": "baidu/ernie-4.5-300b-a47b-paddle", + "name": "ERNIE 4.5 300B A47B", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": true, + "temperature": true, + "release_date": "2025-06-30", + "last_updated": "2025-06-30", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 123000, + "output": 12000 + }, + "cost": { + "input": 0.28, + "output": 1.1 + } + }, + "baidu/ernie-4.5-21B-a3b-thinking": { + "id": "baidu/ernie-4.5-21B-a3b-thinking", + "name": "ERNIE-4.5-21B-A3B-Thinking", + "family": "ernie", + "attachment": false, + "reasoning": true, + "tool_call": false, + "temperature": true, + "knowledge": "2025-03", + "release_date": "2025-09-19", + "last_updated": "2025-09-19", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 65536 + }, + "cost": { + "input": 0.07, + "output": 0.28 + } + }, + "baidu/ernie-4.5-vl-28b-a3b": { + "id": "baidu/ernie-4.5-vl-28b-a3b", + "name": "ERNIE 4.5 VL 28B A3B", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2025-06-30", + "last_updated": "2025-06-30", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 30000, + "output": 8000 + }, + "cost": { + "input": 1.4, + "output": 5.6 + } + }, + "minimax/minimax-m2.7": { + "id": "minimax/minimax-m2.7", + "name": "MiniMax M2.7", + "family": "minimax-m2.7", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "structured_output": true, + "temperature": true, + "release_date": "2026-03-18", + "last_updated": "2026-03-18", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 204800, + "output": 131072 + }, + "cost": { + "input": 0.3, + "output": 1.2, + "cache_read": 0.06 + } + }, + "minimax/minimax-m2": { + "id": "minimax/minimax-m2", + "name": "MiniMax-M2", + "family": "minimax", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "temperature": true, + "release_date": "2025-10-27", + "last_updated": "2025-10-27", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 204800, + "output": 131072 + }, + "cost": { + "input": 0.3, + "output": 1.2, + "cache_read": 0.03 + } + }, + "minimax/minimax-m2.1": { + "id": "minimax/minimax-m2.1", + "name": "Minimax M2.1", + "family": "minimax", + "attachment": false, + "reasoning": false, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "structured_output": true, + "temperature": true, + "release_date": "2025-12-23", + "last_updated": "2025-12-23", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 204800, + "output": 131072 + }, + "cost": { + "input": 0.3, + "output": 1.2, + "cache_read": 0.03 + } + }, + "minimax/minimax-m2.5": { + "id": "minimax/minimax-m2.5", + "name": "MiniMax M2.5", + "family": "minimax", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "structured_output": true, + "temperature": true, + "release_date": "2026-02-12", + "last_updated": "2026-02-12", + "modalities": { + "input": ["text"], + "output": ["text"] + }, "open_weights": false, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 131072, "output": 8192 } + "limit": { + "context": 204800, + "output": 131100 + }, + "cost": { + "input": 0.3, + "output": 1.2, + "cache_read": 0.03 + } + }, + "minimax/minimax-m2.5-highspeed": { + "id": "minimax/minimax-m2.5-highspeed", + "name": "MiniMax M2.5 Highspeed", + "family": "minimax-m2.5", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "structured_output": true, + "temperature": true, + "release_date": "2026-02-12", + "last_updated": "2026-02-12", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 204800, + "output": 131100 + }, + "cost": { + "input": 0.6, + "output": 2.4, + "cache_read": 0.03 + } + }, + "qwen/qwen2.5-7b-instruct": { + "id": "qwen/qwen2.5-7b-instruct", + "name": "Qwen2.5 7B Instruct", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-04-16", + "last_updated": "2025-04-16", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 32000, + "output": 32000 + }, + "cost": { + "input": 0.07, + "output": 0.07 + } + }, + "qwen/qwen3.5-122b-a10b": { + "id": "qwen/qwen3.5-122b-a10b", + "name": "Qwen3.5-122B-A10B", + "family": "qwen", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2026-02-26", + "last_updated": "2026-02-26", + "modalities": { + "input": ["text", "image", "video"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 65536 + }, + "cost": { + "input": 0.4, + "output": 3.2 + } + }, + "qwen/qwen3.5-27b": { + "id": "qwen/qwen3.5-27b", + "name": "Qwen3.5-27B", + "family": "qwen", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2026-02-26", + "last_updated": "2026-02-26", + "modalities": { + "input": ["text", "image", "video"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 65536 + }, + "cost": { + "input": 0.3, + "output": 2.4 + } + }, + "qwen/qwen3-235b-a22b-instruct-2507": { + "id": "qwen/qwen3-235b-a22b-instruct-2507", + "name": "Qwen3 235B A22B Instruct 2507", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-07-22", + "last_updated": "2025-07-22", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 16384 + }, + "cost": { + "input": 0.09, + "output": 0.58 + } + }, + "qwen/qwen3-omni-30b-a3b-instruct": { + "id": "qwen/qwen3-omni-30b-a3b-instruct", + "name": "Qwen3 Omni 30B A3B Instruct", + "family": "qwen", + "attachment": true, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2024-04", + "release_date": "2025-09-24", + "last_updated": "2025-09-24", + "modalities": { + "input": ["text", "video", "audio", "image"], + "output": ["text", "audio"] + }, + "open_weights": true, + "limit": { + "context": 65536, + "output": 16384 + }, + "cost": { + "input": 0.25, + "output": 0.97, + "input_audio": 2.2, + "output_audio": 1.788 + } }, "qwen/qwen3.5-397b-a17b": { "id": "qwen/qwen3.5-397b-a17b", @@ -13407,47 +39177,676 @@ "tool_call": true, "structured_output": true, "temperature": true, - "knowledge": "2026-01", - "release_date": "2026-02-16", - "last_updated": "2026-02-16", - "modalities": { "input": ["text", "image"], "output": ["text"] }, + "release_date": "2026-02-17", + "last_updated": "2026-02-17", + "modalities": { + "input": ["text", "image", "video"], + "output": ["text"] + }, "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 262144, "output": 8192 } + "limit": { + "context": 262144, + "output": 64000 + }, + "cost": { + "input": 0.6, + "output": 3.6 + } }, - "black-forest-labs/flux.1-dev": { - "id": "black-forest-labs/flux.1-dev", - "name": "FLUX.1-dev", - "family": "flux", + "qwen/qwen2.5-vl-72b-instruct": { + "id": "qwen/qwen2.5-vl-72b-instruct", + "name": "Qwen2.5 VL 72B Instruct", + "family": "qwen", + "attachment": true, + "reasoning": false, + "tool_call": false, + "temperature": true, + "release_date": "2025-03-25", + "last_updated": "2025-03-25", + "modalities": { + "input": ["text", "image", "video"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 32768, + "output": 32768 + }, + "cost": { + "input": 0.8, + "output": 0.8 + } + }, + "qwen/qwen3-vl-235b-a22b-thinking": { + "id": "qwen/qwen3-vl-235b-a22b-thinking", + "name": "Qwen3 VL 235B A22B Thinking", + "attachment": true, + "reasoning": true, + "tool_call": false, + "temperature": true, + "release_date": "2025-09-24", + "last_updated": "2025-09-24", + "modalities": { + "input": ["text", "image", "video"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 32768 + }, + "cost": { + "input": 0.98, + "output": 3.95 + } + }, + "qwen/qwen3-vl-30b-a3b-thinking": { + "id": "qwen/qwen3-vl-30b-a3b-thinking", + "name": "qwen/qwen3-vl-30b-a3b-thinking", + "attachment": true, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-10-11", + "last_updated": "2025-10-11", + "modalities": { + "input": ["text", "image", "video"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 32768 + }, + "cost": { + "input": 0.2, + "output": 1 + } + }, + "qwen/qwen3-omni-30b-a3b-thinking": { + "id": "qwen/qwen3-omni-30b-a3b-thinking", + "name": "Qwen3 Omni 30B A3B Thinking", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-09-24", + "last_updated": "2025-09-24", + "modalities": { + "input": ["text", "audio", "video", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 65536, + "output": 16384 + }, + "cost": { + "input": 0.25, + "output": 0.97, + "input_audio": 2.2, + "output_audio": 1.788 + } + }, + "qwen/qwen3-vl-8b-instruct": { + "id": "qwen/qwen3-vl-8b-instruct", + "name": "qwen/qwen3-vl-8b-instruct", + "attachment": true, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-10-17", + "last_updated": "2025-10-17", + "modalities": { + "input": ["text", "image", "video"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 32768 + }, + "cost": { + "input": 0.08, + "output": 0.5 + } + }, + "qwen/qwen3-max": { + "id": "qwen/qwen3-max", + "name": "Qwen3 Max", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-09-24", + "last_updated": "2025-09-24", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 262144, + "output": 65536 + }, + "cost": { + "input": 2.11, + "output": 8.45 + } + }, + "qwen/qwen3-32b-fp8": { + "id": "qwen/qwen3-32b-fp8", + "name": "Qwen3 32B", + "attachment": false, + "reasoning": true, + "tool_call": false, + "temperature": true, + "release_date": "2025-04-29", + "last_updated": "2025-04-29", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 40960, + "output": 20000 + }, + "cost": { + "input": 0.1, + "output": 0.45 + } + }, + "qwen/qwen3-4b-fp8": { + "id": "qwen/qwen3-4b-fp8", + "name": "Qwen3 4B", + "attachment": false, + "reasoning": true, + "tool_call": false, + "temperature": true, + "release_date": "2025-04-29", + "last_updated": "2025-04-29", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 20000 + }, + "cost": { + "input": 0.03, + "output": 0.03 + } + }, + "qwen/qwen3-235b-a22b-thinking-2507": { + "id": "qwen/qwen3-235b-a22b-thinking-2507", + "name": "Qwen3 235B A22b Thinking 2507", + "family": "qwen", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-07-25", + "last_updated": "2025-07-25", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 32768 + }, + "cost": { + "input": 0.3, + "output": 3 + } + }, + "qwen/qwen3-next-80b-a3b-thinking": { + "id": "qwen/qwen3-next-80b-a3b-thinking", + "name": "Qwen3 Next 80B A3B Thinking", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-09-10", + "last_updated": "2025-09-10", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 32768 + }, + "cost": { + "input": 0.15, + "output": 1.5 + } + }, + "qwen/qwen-mt-plus": { + "id": "qwen/qwen-mt-plus", + "name": "Qwen MT Plus", "attachment": false, "reasoning": false, "tool_call": false, "temperature": true, - "knowledge": "2024-08", - "release_date": "2024-08-01", - "last_updated": "2025-09-05", - "modalities": { "input": ["text"], "output": ["image"] }, - "open_weights": false, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 4096, "output": 0 } + "release_date": "2025-09-03", + "last_updated": "2025-09-03", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 16384, + "output": 8192 + }, + "cost": { + "input": 0.25, + "output": 0.75 + } }, - "moonshotai/kimi-k2-thinking": { - "id": "moonshotai/kimi-k2-thinking", - "name": "Kimi K2 Thinking", - "family": "kimi-thinking", + "qwen/qwen3-next-80b-a3b-instruct": { + "id": "qwen/qwen3-next-80b-a3b-instruct", + "name": "Qwen3 Next 80B A3B Instruct", "attachment": false, - "reasoning": true, + "reasoning": false, "tool_call": true, - "interleaved": true, "structured_output": true, "temperature": true, - "knowledge": "2025-07", - "release_date": "2025-11", - "last_updated": "2025-12", - "modalities": { "input": ["text"], "output": ["text"] }, + "release_date": "2025-09-10", + "last_updated": "2025-09-10", + "modalities": { + "input": ["text"], + "output": ["text"] + }, "open_weights": true, - "cost": { "input": 0, "output": 0, "cache_read": 0, "cache_write": 0 }, - "limit": { "context": 262144, "output": 262144 } + "limit": { + "context": 131072, + "output": 32768 + }, + "cost": { + "input": 0.15, + "output": 1.5 + } + }, + "qwen/qwen3-30b-a3b-fp8": { + "id": "qwen/qwen3-30b-a3b-fp8", + "name": "Qwen3 30B A3B", + "attachment": false, + "reasoning": true, + "tool_call": false, + "temperature": true, + "release_date": "2025-04-29", + "last_updated": "2025-04-29", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 40960, + "output": 20000 + }, + "cost": { + "input": 0.09, + "output": 0.45 + } + }, + "qwen/qwen3-coder-next": { + "id": "qwen/qwen3-coder-next", + "name": "Qwen3 Coder Next", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2026-02-03", + "last_updated": "2026-02-03", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 65536 + }, + "cost": { + "input": 0.2, + "output": 1.5 + } + }, + "qwen/qwen3-coder-480b-a35b-instruct": { + "id": "qwen/qwen3-coder-480b-a35b-instruct", + "name": "Qwen3 Coder 480B A35B Instruct", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-07-23", + "last_updated": "2025-07-23", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 65536 + }, + "cost": { + "input": 0.3, + "output": 1.3 + } + }, + "qwen/qwen3-vl-30b-a3b-instruct": { + "id": "qwen/qwen3-vl-30b-a3b-instruct", + "name": "qwen/qwen3-vl-30b-a3b-instruct", + "attachment": true, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-10-11", + "last_updated": "2025-10-11", + "modalities": { + "input": ["text", "video", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 32768 + }, + "cost": { + "input": 0.2, + "output": 0.7 + } + }, + "qwen/qwen3-coder-30b-a3b-instruct": { + "id": "qwen/qwen3-coder-30b-a3b-instruct", + "name": "Qwen3 Coder 30b A3B Instruct", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-10-09", + "last_updated": "2025-10-09", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 160000, + "output": 32768 + }, + "cost": { + "input": 0.07, + "output": 0.27 + } + }, + "qwen/qwen3-235b-a22b-fp8": { + "id": "qwen/qwen3-235b-a22b-fp8", + "name": "Qwen3 235B A22B", + "attachment": false, + "reasoning": true, + "tool_call": false, + "temperature": true, + "release_date": "2025-04-29", + "last_updated": "2025-04-29", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 40960, + "output": 20000 + }, + "cost": { + "input": 0.2, + "output": 0.8 + } + }, + "qwen/qwen3-8b-fp8": { + "id": "qwen/qwen3-8b-fp8", + "name": "Qwen3 8B", + "attachment": false, + "reasoning": true, + "tool_call": false, + "temperature": true, + "release_date": "2025-04-29", + "last_updated": "2025-04-29", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 20000 + }, + "cost": { + "input": 0.035, + "output": 0.138 + } + }, + "qwen/qwen3-vl-235b-a22b-instruct": { + "id": "qwen/qwen3-vl-235b-a22b-instruct", + "name": "Qwen3 VL 235B A22B Instruct", + "attachment": true, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-09-24", + "last_updated": "2025-09-24", + "modalities": { + "input": ["text", "image", "video"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 32768 + }, + "cost": { + "input": 0.3, + "output": 1.5 + } + }, + "qwen/qwen-2.5-72b-instruct": { + "id": "qwen/qwen-2.5-72b-instruct", + "name": "Qwen 2.5 72B Instruct", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2024-04", + "release_date": "2024-10-15", + "last_updated": "2024-10-15", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 32000, + "output": 8192 + }, + "cost": { + "input": 0.38, + "output": 0.4 + } + }, + "qwen/qwen3.5-35b-a3b": { + "id": "qwen/qwen3.5-35b-a3b", + "name": "Qwen3.5-35B-A3B", + "family": "qwen", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2026-02-26", + "last_updated": "2026-02-26", + "modalities": { + "input": ["text", "image", "video"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 65536 + }, + "cost": { + "input": 0.25, + "output": 2 + } + }, + "kwaipilot/kat-coder-pro": { + "id": "kwaipilot/kat-coder-pro", + "name": "Kat Coder Pro", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2026-01-05", + "last_updated": "2026-01-05", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 256000, + "output": 128000 + }, + "cost": { + "input": 0.3, + "output": 1.2, + "cache_read": 0.06 + } + }, + "google/gemma-4-31b-it": { + "id": "google/gemma-4-31b-it", + "name": "Gemma 4 31B", + "family": "gemma", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2026-04-02", + "last_updated": "2026-04-02", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 131072 + }, + "cost": { + "input": 0.14, + "output": 0.4 + } + }, + "google/gemma-3-12b-it": { + "id": "google/gemma-3-12b-it", + "name": "Gemma 3 12B", + "family": "gemma", + "attachment": true, + "reasoning": false, + "tool_call": false, + "temperature": true, + "release_date": "2025-03-13", + "last_updated": "2025-03-13", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 8192 + }, + "cost": { + "input": 0.05, + "output": 0.1 + } + }, + "google/gemma-3-27b-it": { + "id": "google/gemma-3-27b-it", + "name": "Gemma 3 27B", + "family": "gemma", + "attachment": true, + "reasoning": false, + "tool_call": false, + "temperature": true, + "release_date": "2025-03-25", + "last_updated": "2025-03-25", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 98304, + "output": 16384 + }, + "cost": { + "input": 0.119, + "output": 0.2 + } + }, + "google/gemma-4-26b-a4b-it": { + "id": "google/gemma-4-26b-a4b-it", + "name": "Gemma 4 26B A4B", + "family": "gemma", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2026-04-02", + "last_updated": "2026-04-02", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 131072 + }, + "cost": { + "input": 0.13, + "output": 0.4 + } }, "moonshotai/kimi-k2.5": { "id": "moonshotai/kimi-k2.5", @@ -13456,876 +39855,1124 @@ "attachment": true, "reasoning": true, "tool_call": true, - "interleaved": { "field": "reasoning_content" }, + "interleaved": { + "field": "reasoning_content" + }, + "structured_output": true, "temperature": true, - "knowledge": "2025-07", + "knowledge": "2025-01", "release_date": "2026-01-27", "last_updated": "2026-01-27", - "modalities": { "input": ["text", "image", "video"], "output": ["text"] }, + "modalities": { + "input": ["text", "image", "video"], + "output": ["text"] + }, "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 262144, "output": 262144 } + "limit": { + "context": 262144, + "output": 262144 + }, + "cost": { + "input": 0.6, + "output": 3, + "cache_read": 0.1 + } }, - "moonshotai/kimi-k2-instruct-0905": { - "id": "moonshotai/kimi-k2-instruct-0905", + "moonshotai/kimi-k2-instruct": { + "id": "moonshotai/kimi-k2-instruct", + "name": "Kimi K2 Instruct", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-07-11", + "last_updated": "2025-07-11", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 131072 + }, + "cost": { + "input": 0.57, + "output": 2.3 + } + }, + "moonshotai/kimi-k2-0905": { + "id": "moonshotai/kimi-k2-0905", "name": "Kimi K2 0905", "family": "kimi", "attachment": false, "reasoning": false, "tool_call": true, + "structured_output": true, "temperature": true, "knowledge": "2024-10", "release_date": "2025-09-05", "last_updated": "2025-09-05", - "modalities": { "input": ["text"], "output": ["text"] }, + "modalities": { + "input": ["text"], + "output": ["text"] + }, "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 262144, "output": 262144 } + "limit": { + "context": 262144, + "output": 262144 + }, + "cost": { + "input": 0.6, + "output": 2.5 + } }, - "moonshotai/kimi-k2-instruct": { - "id": "moonshotai/kimi-k2-instruct", - "name": "Kimi K2 Instruct", + "moonshotai/kimi-k2-thinking": { + "id": "moonshotai/kimi-k2-thinking", + "name": "Kimi K2 Thinking", "family": "kimi", "attachment": false, "reasoning": true, "tool_call": true, - "temperature": true, - "knowledge": "2024-01", - "release_date": "2025-01-01", - "last_updated": "2025-09-05", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 128000, "output": 8192 } - }, - "meta/codellama-70b": { - "id": "meta/codellama-70b", - "name": "Codellama 70b", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "temperature": true, - "release_date": "2024-01-29", - "last_updated": "2024-01-29", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 128000, "output": 4096 } - }, - "meta/llama-3.3-70b-instruct": { - "id": "meta/llama-3.3-70b-instruct", - "name": "Llama 3.3 70b Instruct", - "attachment": false, - "reasoning": false, - "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, "structured_output": true, "temperature": true, - "release_date": "2024-11-26", - "last_updated": "2024-11-26", - "modalities": { "input": ["text"], "output": ["text"] }, + "release_date": "2025-11-07", + "last_updated": "2025-11-07", + "modalities": { + "input": ["text"], + "output": ["text"] + }, "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 128000, "output": 4096 } + "limit": { + "context": 262144, + "output": 262144 + }, + "cost": { + "input": 0.6, + "output": 2.5 + } }, - "meta/llama-3.2-1b-instruct": { - "id": "meta/llama-3.2-1b-instruct", - "name": "Llama 3.2 1b Instruct", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2023-12", - "release_date": "2024-09-18", - "last_updated": "2024-09-18", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 128000, "output": 4096 } - }, - "meta/llama-3.1-405b-instruct": { - "id": "meta/llama-3.1-405b-instruct", - "name": "Llama 3.1 405b Instruct", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2024-07-16", - "last_updated": "2024-07-16", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 128000, "output": 4096 } - }, - "meta/llama3-8b-instruct": { - "id": "meta/llama3-8b-instruct", - "name": "Llama3 8b Instruct", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2024-04-17", - "last_updated": "2024-04-17", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 128000, "output": 4096 } - }, - "meta/llama-4-scout-17b-16e-instruct": { - "id": "meta/llama-4-scout-17b-16e-instruct", - "name": "Llama 4 Scout 17b 16e Instruct", - "attachment": true, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2024-02", - "release_date": "2025-04-02", - "last_updated": "2025-04-02", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 128000, "output": 4096 } - }, - "meta/llama-3.2-11b-vision-instruct": { - "id": "meta/llama-3.2-11b-vision-instruct", - "name": "Llama 3.2 11b Vision Instruct", - "attachment": true, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2023-12", - "release_date": "2024-09-18", - "last_updated": "2024-09-18", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 128000, "output": 4096 } - }, - "meta/llama3-70b-instruct": { - "id": "meta/llama3-70b-instruct", - "name": "Llama3 70b Instruct", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2024-04-17", - "last_updated": "2024-04-17", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 128000, "output": 4096 } - }, - "meta/llama-4-maverick-17b-128e-instruct": { - "id": "meta/llama-4-maverick-17b-128e-instruct", - "name": "Llama 4 Maverick 17b 128e Instruct", - "attachment": true, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2024-02", - "release_date": "2025-04-01", - "last_updated": "2025-04-01", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 128000, "output": 4096 } - }, - "meta/llama-3.1-70b-instruct": { - "id": "meta/llama-3.1-70b-instruct", - "name": "Llama 3.1 70b Instruct", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2024-07-16", - "last_updated": "2024-07-16", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 128000, "output": 4096 } - }, - "mistralai/devstral-2-123b-instruct-2512": { - "id": "mistralai/devstral-2-123b-instruct-2512", - "name": "Devstral-2-123B-Instruct-2512", - "family": "devstral", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2025-12", - "release_date": "2025-12-08", - "last_updated": "2025-12-09", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 262144, "output": 262144 } - }, - "mistralai/mistral-large-3-675b-instruct-2512": { - "id": "mistralai/mistral-large-3-675b-instruct-2512", - "name": "Mistral Large 3 675B Instruct 2512", - "family": "mistral-large", - "attachment": true, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2025-01", - "release_date": "2025-12-02", - "last_updated": "2025-12-02", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 262144, "output": 262144 } - }, - "mistralai/mistral-large-2-instruct": { - "id": "mistralai/mistral-large-2-instruct", - "name": "Mistral Large 2 Instruct", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2024-07-24", - "last_updated": "2024-07-24", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 128000, "output": 4096 } - }, - "mistralai/ministral-14b-instruct-2512": { - "id": "mistralai/ministral-14b-instruct-2512", - "name": "Ministral 3 14B Instruct 2512", - "family": "ministral", - "attachment": true, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2025-12", - "release_date": "2025-12-01", - "last_updated": "2025-12-08", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 262144, "output": 262144 } - }, - "mistralai/mamba-codestral-7b-v0.1": { - "id": "mistralai/mamba-codestral-7b-v0.1", - "name": "Mamba Codestral 7b V0.1", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "temperature": true, - "release_date": "2024-07-16", - "last_updated": "2024-07-16", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 128000, "output": 4096 } - }, - "mistralai/codestral-22b-instruct-v0.1": { - "id": "mistralai/codestral-22b-instruct-v0.1", - "name": "Codestral 22b Instruct V0.1", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2024-05-29", - "last_updated": "2024-05-29", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 128000, "output": 4096 } - }, - "mistralai/mistral-small-3.1-24b-instruct-2503": { - "id": "mistralai/mistral-small-3.1-24b-instruct-2503", - "name": "Mistral Small 3.1 24b Instruct 2503", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-03-11", - "last_updated": "2025-03-11", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 128000, "output": 4096 } - } - } - }, - "nebius": { - "id": "nebius", - "env": ["NEBIUS_API_KEY"], - "npm": "@ai-sdk/openai-compatible", - "api": "https://api.tokenfactory.nebius.com/v1", - "name": "Nebius Token Factory", - "doc": "https://docs.tokenfactory.nebius.com/", - "models": { - "openai/gpt-oss-120b": { - "id": "openai/gpt-oss-120b", - "name": "gpt-oss-120b", + "deepseek/deepseek-v4-flash": { + "id": "deepseek/deepseek-v4-flash", + "name": "DeepSeek V4 Flash", + "family": "deepseek-flash", "attachment": false, "reasoning": true, "tool_call": true, - "interleaved": { "field": "reasoning_content" }, - "structured_output": true, - "temperature": true, - "knowledge": "2025-09", - "release_date": "2026-01-10", - "last_updated": "2026-02-04", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.15, "output": 0.6, "reasoning": 0.6, "cache_read": 0.015, "cache_write": 0.18 }, - "limit": { "context": 128000, "input": 124000, "output": 8192 } - }, - "openai/gpt-oss-20b": { - "id": "openai/gpt-oss-20b", - "name": "gpt-oss-20b", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2025-09", - "release_date": "2026-01-10", - "last_updated": "2026-02-04", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.05, "output": 0.2, "cache_read": 0.005, "cache_write": 0.06 }, - "limit": { "context": 128000, "input": 124000, "output": 4096 } - }, - "NousResearch/Hermes-4-405B": { - "id": "NousResearch/Hermes-4-405B", - "name": "Hermes-4-405B", - "attachment": false, - "reasoning": true, - "tool_call": true, - "interleaved": { "field": "reasoning_content" }, - "structured_output": true, - "temperature": true, - "knowledge": "2025-11", - "release_date": "2026-01-30", - "last_updated": "2026-02-04", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 1, "output": 3, "reasoning": 3, "cache_read": 0.1, "cache_write": 1.25 }, - "limit": { "context": 128000, "input": 120000, "output": 8192 } - }, - "NousResearch/Hermes-4-70B": { - "id": "NousResearch/Hermes-4-70B", - "name": "Hermes-4-70B", - "attachment": false, - "reasoning": true, - "tool_call": true, - "interleaved": { "field": "reasoning_content" }, - "structured_output": true, - "temperature": true, - "knowledge": "2025-11", - "release_date": "2026-01-30", - "last_updated": "2026-02-04", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.13, "output": 0.4, "reasoning": 0.4, "cache_read": 0.013, "cache_write": 0.16 }, - "limit": { "context": 128000, "input": 120000, "output": 8192 } - }, - "zai-org/GLM-4.5-Air": { - "id": "zai-org/GLM-4.5-Air", - "name": "GLM-4.5-Air", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2025-06", - "release_date": "2025-11-15", - "last_updated": "2026-02-04", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.2, "output": 1.2, "cache_read": 0.02, "cache_write": 0.25 }, - "limit": { "context": 128000, "input": 124000, "output": 4096 } - }, - "zai-org/GLM-4.5": { - "id": "zai-org/GLM-4.5", - "name": "GLM-4.5", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2025-06", - "release_date": "2025-11-15", - "last_updated": "2026-02-04", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.6, "output": 2.2, "cache_read": 0.06, "cache_write": 0.75 }, - "limit": { "context": 128000, "input": 124000, "output": 4096 } - }, - "zai-org/GLM-5": { - "id": "zai-org/GLM-5", - "name": "GLM-5", - "attachment": false, - "reasoning": true, - "tool_call": true, - "interleaved": { "field": "reasoning_content" }, - "structured_output": true, - "temperature": true, - "knowledge": "2026-01", - "release_date": "2026-03-01", - "last_updated": "2026-03-10", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1, "output": 3.2, "cache_read": 0.1, "cache_write": 1 }, - "limit": { "context": 200000, "input": 200000, "output": 16384 } - }, - "zai-org/GLM-4.7-FP8": { - "id": "zai-org/GLM-4.7-FP8", - "name": "GLM-4.7 (FP8)", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2025-12", - "release_date": "2026-01-15", - "last_updated": "2026-02-04", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.4, "output": 2, "cache_read": 0.04, "cache_write": 0.5 }, - "limit": { "context": 128000, "input": 124000, "output": 4096 } - }, - "nvidia/Nemotron-Nano-V2-12b": { - "id": "nvidia/Nemotron-Nano-V2-12b", - "name": "Nemotron-Nano-V2-12b", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2025-01", - "release_date": "2025-03-15", - "last_updated": "2026-02-04", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.07, "output": 0.2, "cache_read": 0.007, "cache_write": 0.08 }, - "limit": { "context": 32000, "input": 30000, "output": 4096 } - }, - "nvidia/NVIDIA-Nemotron-3-Nano-30B-A3B": { - "id": "nvidia/NVIDIA-Nemotron-3-Nano-30B-A3B", - "name": "Nemotron-3-Nano-30B-A3B", - "attachment": false, - "reasoning": false, - "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, "structured_output": true, "temperature": true, "knowledge": "2025-05", - "release_date": "2025-08-10", - "last_updated": "2026-02-04", - "modalities": { "input": ["text"], "output": ["text"] }, + "release_date": "2026-04-24", + "last_updated": "2026-04-24", + "modalities": { + "input": ["text"], + "output": ["text"] + }, "open_weights": true, - "cost": { "input": 0.06, "output": 0.24, "cache_read": 0.006, "cache_write": 0.075 }, - "limit": { "context": 32000, "input": 30000, "output": 4096 } + "limit": { + "context": 1048576, + "output": 393216 + }, + "cost": { + "input": 0.14, + "output": 0.28, + "cache_read": 0.028 + } }, - "nvidia/nemotron-3-super-120b-a12b": { - "id": "nvidia/nemotron-3-super-120b-a12b", - "name": "Nemotron-3-Super-120B-A12B", + "deepseek/deepseek-v4-pro": { + "id": "deepseek/deepseek-v4-pro", + "name": "DeepSeek V4 Pro", + "family": "deepseek-thinking", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "structured_output": true, + "temperature": true, + "knowledge": "2025-05", + "release_date": "2026-04-24", + "last_updated": "2026-04-24", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 1048576, + "output": 393216 + }, + "cost": { + "input": 1.69, + "output": 3.38, + "cache_read": 0.13 + } + }, + "moonshotai/kimi-k2.6": { + "id": "moonshotai/kimi-k2.6", + "name": "Kimi K2.6", + "family": "kimi-k2.6", + "attachment": true, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "structured_output": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2026-04-21", + "last_updated": "2026-04-21", + "modalities": { + "input": ["text", "image", "video"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 262144 + }, + "cost": { + "input": 0.95, + "output": 4, + "cache_read": 0.16 + } + } + } + }, + "xiaomi-token-plan-cn": { + "id": "xiaomi-token-plan-cn", + "env": ["XIAOMI_API_KEY"], + "npm": "@ai-sdk/openai-compatible", + "api": "https://token-plan-cn.xiaomimimo.com/v1", + "name": "Xiaomi Token Plan (China)", + "doc": "https://platform.xiaomimimo.com/#/docs", + "models": { + "mimo-v2-tts": { + "id": "mimo-v2-tts", + "name": "MiMo-V2-TTS", + "family": "mimo", + "attachment": false, + "reasoning": false, + "tool_call": false, + "release_date": "2026-03-18", + "last_updated": "2026-03-18", + "modalities": { + "input": ["text"], + "output": ["audio"] + }, + "open_weights": true, + "limit": { + "context": 8192, + "output": 16384 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "mimo-v2.5-pro": { + "id": "mimo-v2.5-pro", + "name": "MiMo-V2.5-Pro", + "family": "mimo", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "temperature": true, + "knowledge": "2024-12", + "release_date": "2026-04-22", + "last_updated": "2026-04-22", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 1048576, + "output": 131072 + }, + "cost": { + "input": 0, + "output": 0, + "cache_read": 0 + } + }, + "mimo-v2-omni": { + "id": "mimo-v2-omni", + "name": "MiMo-V2-Omni", + "family": "mimo", + "attachment": true, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "temperature": true, + "knowledge": "2024-12", + "release_date": "2026-03-18", + "last_updated": "2026-03-18", + "modalities": { + "input": ["text", "image", "audio", "video", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 262144, + "output": 131072 + }, + "cost": { + "input": 0, + "output": 0, + "cache_read": 0 + } + }, + "mimo-v2.5": { + "id": "mimo-v2.5", + "name": "MiMo-V2.5", + "family": "mimo", + "attachment": true, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "temperature": true, + "knowledge": "2024-12", + "release_date": "2026-04-22", + "last_updated": "2026-04-22", + "modalities": { + "input": ["text", "image", "audio", "video"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 1048576, + "output": 131072 + }, + "cost": { + "input": 0, + "output": 0, + "cache_read": 0 + } + }, + "mimo-v2-pro": { + "id": "mimo-v2-pro", + "name": "MiMo-V2-Pro", + "family": "mimo", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "temperature": true, + "knowledge": "2024-12", + "release_date": "2026-03-18", + "last_updated": "2026-03-18", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1048576, + "output": 131072 + }, + "cost": { + "input": 0, + "output": 0, + "cache_read": 0 + } + }, + "mimo-v2-flash": { + "id": "mimo-v2-flash", + "name": "MiMo-V2-Flash", + "family": "mimo", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "temperature": true, + "knowledge": "2024-12-01", + "release_date": "2025-12-16", + "last_updated": "2026-02-04", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 65536 + }, + "cost": { + "input": 0, + "output": 0, + "cache_read": 0 + } + } + } + }, + "wandb": { + "id": "wandb", + "env": ["WANDB_API_KEY"], + "npm": "@ai-sdk/openai-compatible", + "api": "https://api.inference.wandb.ai/v1", + "name": "Weights & Biases", + "doc": "https://docs.wandb.ai/guides/integrations/inference/", + "models": { + "Qwen/Qwen3-30B-A3B-Instruct-2507": { + "id": "Qwen/Qwen3-30B-A3B-Instruct-2507", + "name": "Qwen3 30B A3B Instruct 2507", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-07-29", + "last_updated": "2026-03-12", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 262144 + }, + "cost": { + "input": 0.1, + "output": 0.3 + } + }, + "Qwen/Qwen3-235B-A22B-Instruct-2507": { + "id": "Qwen/Qwen3-235B-A22B-Instruct-2507", + "name": "Qwen3 235B A22B Instruct 2507", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-04-28", + "last_updated": "2026-03-12", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 262144 + }, + "cost": { + "input": 0.1, + "output": 0.1 + } + }, + "Qwen/Qwen3-235B-A22B-Thinking-2507": { + "id": "Qwen/Qwen3-235B-A22B-Thinking-2507", + "name": "Qwen3-235B-A22B-Thinking-2507", + "family": "qwen", "attachment": false, "reasoning": true, "tool_call": true, "structured_output": true, "temperature": true, - "knowledge": "2026-02", - "release_date": "2026-03-11", + "knowledge": "2025-04", + "release_date": "2025-07-25", "last_updated": "2026-03-12", - "modalities": { "input": ["text"], "output": ["text"] }, + "modalities": { + "input": ["text"], + "output": ["text"] + }, "open_weights": true, - "cost": { "input": 0.3, "output": 0.9 }, - "limit": { "context": 256000, "input": 256000, "output": 32768 } + "limit": { + "context": 262144, + "output": 262144 + }, + "cost": { + "input": 0.1, + "output": 0.1 + } }, - "nvidia/Llama-3_1-Nemotron-Ultra-253B-v1": { - "id": "nvidia/Llama-3_1-Nemotron-Ultra-253B-v1", - "name": "Llama-3.1-Nemotron-Ultra-253B-v1", + "Qwen/Qwen3-Coder-480B-A35B-Instruct": { + "id": "Qwen/Qwen3-Coder-480B-A35B-Instruct", + "name": "Qwen3-Coder-480B-A35B-Instruct", + "family": "qwen", "attachment": false, "reasoning": false, "tool_call": true, "structured_output": true, "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-07-23", + "last_updated": "2026-03-12", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 262144 + }, + "cost": { + "input": 1, + "output": 1.5 + } + }, + "zai-org/GLM-5-FP8": { + "id": "zai-org/GLM-5-FP8", + "name": "GLM 5", + "family": "glm", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2026-02-11", + "last_updated": "2026-03-12", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 200000, + "output": 200000 + }, + "cost": { + "input": 1, + "output": 3.2 + } + }, + "meta-llama/Llama-4-Scout-17B-16E-Instruct": { + "id": "meta-llama/Llama-4-Scout-17B-16E-Instruct", + "name": "Llama 4 Scout 17B 16E Instruct", + "family": "llama", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, "knowledge": "2024-12", - "release_date": "2025-01-15", - "last_updated": "2026-02-04", - "modalities": { "input": ["text"], "output": ["text"] }, + "release_date": "2025-01-31", + "last_updated": "2026-03-12", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, "open_weights": true, - "cost": { "input": 0.6, "output": 1.8, "cache_read": 0.06, "cache_write": 0.75 }, - "limit": { "context": 128000, "input": 120000, "output": 4096 } - }, - "google/gemma-3-27b-it": { - "id": "google/gemma-3-27b-it", - "name": "Gemma-3-27b-it", - "attachment": true, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2025-10", - "release_date": "2026-01-20", - "last_updated": "2026-02-04", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.1, "output": 0.3, "cache_read": 0.01, "cache_write": 0.125 }, - "limit": { "context": 110000, "input": 100000, "output": 8192 } - }, - "google/gemma-3-27b-it-fast": { - "id": "google/gemma-3-27b-it-fast", - "name": "Gemma-3-27b-it (Fast)", - "attachment": true, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2025-10", - "release_date": "2026-01-20", - "last_updated": "2026-02-04", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.2, "output": 0.6, "cache_read": 0.02, "cache_write": 0.25 }, - "limit": { "context": 110000, "input": 100000, "output": 8192 } - }, - "google/gemma-2-2b-it": { - "id": "google/gemma-2-2b-it", - "name": "Gemma-2-2b-it", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "temperature": true, - "knowledge": "2024-06", - "release_date": "2024-07-31", - "last_updated": "2026-02-04", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.02, "output": 0.06, "cache_read": 0.002, "cache_write": 0.025 }, - "limit": { "context": 8192, "input": 8000, "output": 4096 } - }, - "google/gemma-2-9b-it-fast": { - "id": "google/gemma-2-9b-it-fast", - "name": "Gemma-2-9b-it (Fast)", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "temperature": true, - "knowledge": "2024-06", - "release_date": "2024-06-27", - "last_updated": "2026-02-04", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.03, "output": 0.09, "cache_read": 0.003, "cache_write": 0.0375 }, - "limit": { "context": 8192, "input": 8000, "output": 4096 } - }, - "PrimeIntellect/INTELLECT-3": { - "id": "PrimeIntellect/INTELLECT-3", - "name": "INTELLECT-3", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2025-10", - "release_date": "2026-01-25", - "last_updated": "2026-02-04", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.2, "output": 1.1, "cache_read": 0.02, "cache_write": 0.25 }, - "limit": { "context": 128000, "input": 120000, "output": 8192 } - }, - "meta-llama/Llama-Guard-3-8B": { - "id": "meta-llama/Llama-Guard-3-8B", - "name": "Llama-Guard-3-8B", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": true, - "temperature": false, - "knowledge": "2024-04", - "release_date": "2024-04-18", - "last_updated": "2026-02-04", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.02, "output": 0.06, "cache_read": 0.002, "cache_write": 0.025 }, - "limit": { "context": 8192, "input": 8000, "output": 1024 } + "limit": { + "context": 64000, + "output": 64000 + }, + "cost": { + "input": 0.17, + "output": 0.66 + } }, "meta-llama/Llama-3.3-70B-Instruct": { "id": "meta-llama/Llama-3.3-70B-Instruct", "name": "Llama-3.3-70B-Instruct", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2025-08", - "release_date": "2025-12-05", - "last_updated": "2026-02-04", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.13, "output": 0.4, "cache_read": 0.013, "cache_write": 0.16 }, - "limit": { "context": 128000, "input": 120000, "output": 8192 } - }, - "meta-llama/Meta-Llama-3.1-8B-Instruct": { - "id": "meta-llama/Meta-Llama-3.1-8B-Instruct", - "name": "Meta-Llama-3.1-8B-Instruct", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2024-12", - "release_date": "2024-07-23", - "last_updated": "2026-02-04", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.02, "output": 0.06, "cache_read": 0.002, "cache_write": 0.025 }, - "limit": { "context": 128000, "input": 120000, "output": 4096 } - }, - "meta-llama/Meta-Llama-3.1-8B-Instruct-fast": { - "id": "meta-llama/Meta-Llama-3.1-8B-Instruct-fast", - "name": "Meta-Llama-3.1-8B-Instruct (Fast)", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2024-12", - "release_date": "2024-07-23", - "last_updated": "2026-02-04", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.03, "output": 0.09, "cache_read": 0.003, "cache_write": 0.03 }, - "limit": { "context": 128000, "input": 120000, "output": 4096 } - }, - "meta-llama/Llama-3.3-70B-Instruct-fast": { - "id": "meta-llama/Llama-3.3-70B-Instruct-fast", - "name": "Llama-3.3-70B-Instruct (Fast)", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2025-08", - "release_date": "2025-12-05", - "last_updated": "2026-02-04", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.25, "output": 0.75, "cache_read": 0.025, "cache_write": 0.31 }, - "limit": { "context": 128000, "input": 120000, "output": 8192 } - }, - "MiniMaxAI/MiniMax-M2.1": { - "id": "MiniMaxAI/MiniMax-M2.1", - "name": "MiniMax-M2.1", + "family": "llama", "attachment": false, "reasoning": true, "tool_call": true, - "interleaved": { "field": "reasoning_content" }, "structured_output": true, "temperature": true, - "knowledge": "2025-10", - "release_date": "2026-02-01", - "last_updated": "2026-02-04", - "modalities": { "input": ["text"], "output": ["text"] }, + "knowledge": "2023-12", + "release_date": "2024-12-06", + "last_updated": "2026-03-12", + "modalities": { + "input": ["text"], + "output": ["text"] + }, "open_weights": true, - "cost": { "input": 0.3, "output": 1.2, "reasoning": 1.2, "cache_read": 0.03, "cache_write": 0.375 }, - "limit": { "context": 128000, "input": 120000, "output": 8192 } + "limit": { + "context": 128000, + "output": 128000 + }, + "cost": { + "input": 0.71, + "output": 0.71 + } }, - "deepseek-ai/DeepSeek-V3-0324": { - "id": "deepseek-ai/DeepSeek-V3-0324", - "name": "DeepSeek-V3-0324", + "meta-llama/Llama-3.1-8B-Instruct": { + "id": "meta-llama/Llama-3.1-8B-Instruct", + "name": "Meta-Llama-3.1-8B-Instruct", + "family": "llama", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2023-12", + "release_date": "2024-07-23", + "last_updated": "2026-03-12", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 128000 + }, + "cost": { + "input": 0.22, + "output": 0.22 + } + }, + "meta-llama/Llama-3.1-70B-Instruct": { + "id": "meta-llama/Llama-3.1-70B-Instruct", + "name": "Llama 3.1 70B", + "family": "llama", "attachment": false, "reasoning": false, "tool_call": true, "structured_output": true, "temperature": true, - "knowledge": "2024-12", - "release_date": "2025-03-24", - "last_updated": "2026-02-04", - "modalities": { "input": ["text"], "output": ["text"] }, + "release_date": "2024-07-23", + "last_updated": "2026-03-12", + "modalities": { + "input": ["text"], + "output": ["text"] + }, "open_weights": true, - "cost": { "input": 0.5, "output": 1.5, "cache_read": 0.05, "cache_write": 0.1875 }, - "limit": { "context": 128000, "input": 120000, "output": 8192 } + "limit": { + "context": 128000, + "output": 128000 + }, + "cost": { + "input": 0.8, + "output": 0.8 + } }, - "deepseek-ai/DeepSeek-R1-0528-fast": { - "id": "deepseek-ai/DeepSeek-R1-0528-fast", - "name": "DeepSeek R1 0528 Fast", + "OpenPipe/Qwen3-14B-Instruct": { + "id": "OpenPipe/Qwen3-14B-Instruct", + "name": "OpenPipe Qwen3 14B Instruct", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-04-29", + "last_updated": "2026-03-12", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 32768, + "output": 32768 + }, + "cost": { + "input": 0.05, + "output": 0.22 + } + }, + "microsoft/Phi-4-mini-instruct": { + "id": "microsoft/Phi-4-mini-instruct", + "name": "Phi-4-mini-instruct", + "family": "phi", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2023-10", + "release_date": "2024-12-11", + "last_updated": "2026-03-12", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 128000 + }, + "cost": { + "input": 0.08, + "output": 0.35 + } + }, + "nvidia/NVIDIA-Nemotron-3-Super-120B-A12B-FP8": { + "id": "nvidia/NVIDIA-Nemotron-3-Super-120B-A12B-FP8", + "name": "NVIDIA Nemotron 3 Super 120B", + "family": "nemotron", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2026-03-11", + "last_updated": "2026-03-12", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 262144 + }, + "cost": { + "input": 0.2, + "output": 0.8 + } + }, + "deepseek-ai/DeepSeek-V3.1": { + "id": "deepseek-ai/DeepSeek-V3.1", + "name": "DeepSeek V3.1", "family": "deepseek", "attachment": false, - "reasoning": true, + "reasoning": false, "tool_call": true, + "structured_output": true, "temperature": true, - "knowledge": "2025-01", - "release_date": "2025-01-01", - "last_updated": "2025-02-04", - "modalities": { "input": ["text"], "output": ["text"] }, + "release_date": "2025-08-21", + "last_updated": "2026-03-12", + "modalities": { + "input": ["text"], + "output": ["text"] + }, "open_weights": true, - "cost": { "input": 2, "output": 6 }, - "limit": { "context": 131072, "output": 8192 } + "limit": { + "context": 161000, + "output": 161000 + }, + "cost": { + "input": 0.55, + "output": 1.65 + } }, - "deepseek-ai/DeepSeek-V3-0324-fast": { - "id": "deepseek-ai/DeepSeek-V3-0324-fast", - "name": "DeepSeek-V3-0324 (Fast)", + "openai/gpt-oss-20b": { + "id": "openai/gpt-oss-20b", + "name": "gpt-oss-20b", + "family": "gpt-oss", "attachment": false, "reasoning": false, "tool_call": true, "structured_output": true, "temperature": true, - "knowledge": "2024-12", - "release_date": "2025-03-24", - "last_updated": "2026-02-04", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.75, "output": 2.25, "cache_read": 0.075, "cache_write": 0.28125 }, - "limit": { "context": 128000, "input": 120000, "output": 8192 } + "release_date": "2025-08-05", + "last_updated": "2026-03-12", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 131072, + "output": 131072 + }, + "cost": { + "input": 0.05, + "output": 0.2 + } }, - "deepseek-ai/DeepSeek-R1-0528": { - "id": "deepseek-ai/DeepSeek-R1-0528", - "name": "DeepSeek-R1-0528", + "openai/gpt-oss-120b": { + "id": "openai/gpt-oss-120b", + "name": "gpt-oss-120b", + "family": "gpt-oss", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-08-05", + "last_updated": "2026-03-12", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 131072, + "output": 131072 + }, + "cost": { + "input": 0.15, + "output": 0.6 + } + }, + "moonshotai/Kimi-K2.5": { + "id": "moonshotai/Kimi-K2.5", + "name": "Kimi K2.5", + "family": "kimi", + "attachment": true, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "structured_output": true, + "temperature": true, + "release_date": "2026-01-27", + "last_updated": "2026-03-12", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 262144 + }, + "cost": { + "input": 0.5, + "output": 2.85 + } + }, + "MiniMaxAI/MiniMax-M2.5": { + "id": "MiniMaxAI/MiniMax-M2.5", + "name": "MiniMax M2.5", + "family": "minimax", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2026-02-12", + "last_updated": "2026-03-12", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 196608, + "output": 196608 + }, + "cost": { + "input": 0.3, + "output": 1.2 + } + }, + "zai-org/GLM-5.1": { + "id": "zai-org/GLM-5.1", + "name": "GLM-5.1", + "family": "glm", "attachment": false, "reasoning": true, "tool_call": true, - "interleaved": { "field": "reasoning_content" }, + "interleaved": { + "field": "reasoning_content" + }, "structured_output": true, "temperature": true, - "knowledge": "2025-11", - "release_date": "2026-01-15", - "last_updated": "2026-02-04", - "modalities": { "input": ["text"], "output": ["text"] }, + "release_date": "2026-03-27", + "last_updated": "2026-03-27", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 131072 + }, + "cost": { + "input": 1.4, + "output": 4.4, + "cache_read": 0.26, + "cache_write": 0 + } + } + } + }, + "chutes": { + "id": "chutes", + "env": ["CHUTES_API_KEY"], + "npm": "@ai-sdk/openai-compatible", + "api": "https://llm.chutes.ai/v1", + "name": "Chutes", + "doc": "https://llm.chutes.ai/v1/models", + "models": { + "NousResearch/DeepHermes-3-Mistral-24B-Preview": { + "id": "NousResearch/DeepHermes-3-Mistral-24B-Preview", + "name": "DeepHermes 3 Mistral 24B Preview", + "family": "nousresearch", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-12-29", + "last_updated": "2026-04-25", + "modalities": { + "input": ["text"], + "output": ["text"] + }, "open_weights": true, - "cost": { "input": 0.8, "output": 2.4, "reasoning": 2.4, "cache_read": 0.08, "cache_write": 1 }, - "limit": { "context": 128000, "input": 120000, "output": 32768 } + "limit": { + "context": 32768, + "output": 32768 + }, + "cost": { + "input": 0.0245, + "output": 0.0978, + "cache_read": 0.01225 + } }, - "deepseek-ai/DeepSeek-V3.2": { - "id": "deepseek-ai/DeepSeek-V3.2", - "name": "DeepSeek-V3.2", + "NousResearch/Hermes-4-14B": { + "id": "NousResearch/Hermes-4-14B", + "name": "Hermes 4 14B", + "family": "nousresearch", "attachment": false, "reasoning": true, "tool_call": true, - "interleaved": { "field": "reasoning_content" }, + "interleaved": { + "field": "reasoning_content" + }, "structured_output": true, "temperature": true, - "knowledge": "2025-11", - "release_date": "2026-01-20", - "last_updated": "2026-02-04", - "modalities": { "input": ["text"], "output": ["text"] }, + "release_date": "2025-12-29", + "last_updated": "2026-04-25", + "modalities": { + "input": ["text"], + "output": ["text"] + }, "open_weights": true, - "cost": { "input": 0.3, "output": 0.45, "reasoning": 0.45, "cache_read": 0.03, "cache_write": 0.375 }, - "limit": { "context": 163000, "input": 160000, "output": 16384 } + "limit": { + "context": 40960, + "output": 40960 + }, + "cost": { + "input": 0.0136, + "output": 0.0543, + "cache_read": 0.0068 + } }, - "intfloat/e5-mistral-7b-instruct": { - "id": "intfloat/e5-mistral-7b-instruct", - "name": "e5-mistral-7b-instruct", - "family": "text-embedding", + "Qwen/Qwen3-30B-A3B": { + "id": "Qwen/Qwen3-30B-A3B", + "name": "Qwen3 30B A3B", + "family": "qwen", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "structured_output": true, + "temperature": true, + "release_date": "2025-12-29", + "last_updated": "2026-04-25", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 40960, + "output": 40960 + }, + "cost": { + "input": 0.06, + "output": 0.22, + "cache_read": 0.03 + } + }, + "Qwen/Qwen3-32B-TEE": { + "id": "Qwen/Qwen3-32B-TEE", + "name": "Qwen3 32B TEE", + "family": "qwen", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2026-04-25", + "last_updated": "2026-04-25", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 40960, + "output": 40960 + }, + "cost": { + "input": 0.08, + "output": 0.24, + "cache_read": 0.04 + } + }, + "Qwen/Qwen3.6-27B-TEE": { + "id": "Qwen/Qwen3.6-27B-TEE", + "name": "Qwen3.6 27B TEE", + "family": "qwen", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2026-04-25", + "last_updated": "2026-04-25", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 65536 + }, + "cost": { + "input": 0.195, + "output": 1.56, + "cache_read": 0.0975 + } + }, + "Qwen/Qwen2.5-Coder-32B-Instruct": { + "id": "Qwen/Qwen2.5-Coder-32B-Instruct", + "name": "Qwen2.5 Coder 32B Instruct", + "family": "qwen", "attachment": false, "reasoning": false, "tool_call": false, - "structured_output": false, - "temperature": false, - "knowledge": "2023-12", - "release_date": "2024-01-01", - "last_updated": "2026-02-04", - "modalities": { "input": ["text"], "output": ["text"] }, + "structured_output": true, + "temperature": true, + "release_date": "2025-12-29", + "last_updated": "2026-04-25", + "modalities": { + "input": ["text"], + "output": ["text"] + }, "open_weights": true, - "cost": { "input": 0.01, "output": 0 }, - "limit": { "context": 32768, "input": 32768, "output": 0 } + "limit": { + "context": 32768, + "output": 32768 + }, + "cost": { + "input": 0.0272, + "output": 0.1087, + "cache_read": 0.0136 + } }, - "black-forest-labs/flux-dev": { - "id": "black-forest-labs/flux-dev", - "name": "FLUX.1-dev", + "Qwen/Qwen3Guard-Gen-0.6B": { + "id": "Qwen/Qwen3Guard-Gen-0.6B", + "name": "Qwen3Guard Gen 0.6B", + "family": "qwen", "attachment": false, "reasoning": false, "tool_call": false, - "structured_output": false, - "temperature": false, - "knowledge": "2024-07", - "release_date": "2024-08-01", - "last_updated": "2026-02-04", - "modalities": { "input": ["text"], "output": ["image"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 77, "input": 77, "output": 0 } - }, - "black-forest-labs/flux-schnell": { - "id": "black-forest-labs/flux-schnell", - "name": "FLUX.1-schnell", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "temperature": false, - "knowledge": "2024-07", - "release_date": "2024-08-01", - "last_updated": "2026-02-04", - "modalities": { "input": ["text"], "output": ["image"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 77, "input": 77, "output": 0 } - }, - "Qwen/Qwen3-Next-80B-A3B-Thinking": { - "id": "Qwen/Qwen3-Next-80B-A3B-Thinking", - "name": "Qwen3-Next-80B-A3B-Thinking", - "attachment": false, - "reasoning": true, - "tool_call": true, - "interleaved": { "field": "reasoning_content" }, - "structured_output": true, "temperature": true, - "knowledge": "2025-12", - "release_date": "2026-01-28", - "last_updated": "2026-02-04", - "modalities": { "input": ["text"], "output": ["text"] }, + "release_date": "2025-12-29", + "last_updated": "2026-04-25", + "modalities": { + "input": ["text"], + "output": ["text"] + }, "open_weights": true, - "cost": { "input": 0.15, "output": 1.2, "reasoning": 1.2, "cache_read": 0.015, "cache_write": 0.18 }, - "limit": { "context": 128000, "input": 120000, "output": 16384 } + "limit": { + "context": 32768, + "output": 8192 + }, + "cost": { + "input": 0.01, + "output": 0.0109, + "cache_read": 0.005 + } }, - "Qwen/Qwen3-30B-A3B-Thinking-2507": { - "id": "Qwen/Qwen3-30B-A3B-Thinking-2507", - "name": "Qwen3-30B-A3B-Thinking-2507", - "attachment": false, - "reasoning": true, - "tool_call": true, - "interleaved": { "field": "reasoning_content" }, - "structured_output": true, - "temperature": true, - "knowledge": "2025-12", - "release_date": "2026-01-28", - "last_updated": "2026-02-04", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.1, "output": 0.3, "reasoning": 0.3, "cache_read": 0.01, "cache_write": 0.125 }, - "limit": { "context": 128000, "input": 120000, "output": 16384 } - }, - "Qwen/Qwen3-32B": { - "id": "Qwen/Qwen3-32B", - "name": "Qwen3-32B", + "Qwen/Qwen3-Next-80B-A3B-Instruct": { + "id": "Qwen/Qwen3-Next-80B-A3B-Instruct", + "name": "Qwen3 Next 80B A3B Instruct", + "family": "qwen", "attachment": false, "reasoning": false, "tool_call": true, "structured_output": true, "temperature": true, - "knowledge": "2025-12", - "release_date": "2026-01-28", - "last_updated": "2026-02-04", - "modalities": { "input": ["text"], "output": ["text"] }, + "release_date": "2025-12-29", + "last_updated": "2026-04-25", + "modalities": { + "input": ["text"], + "output": ["text"] + }, "open_weights": true, - "cost": { "input": 0.1, "output": 0.3, "cache_read": 0.01, "cache_write": 0.125 }, - "limit": { "context": 128000, "input": 120000, "output": 8192 } + "limit": { + "context": 262144, + "output": 262144 + }, + "cost": { + "input": 0.1, + "output": 0.8, + "cache_read": 0.05 + } + }, + "Qwen/Qwen3-235B-A22B-Instruct-2507-TEE": { + "id": "Qwen/Qwen3-235B-A22B-Instruct-2507-TEE", + "name": "Qwen3 235B A22B Instruct 2507 TEE", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-12-29", + "last_updated": "2026-04-25", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 65536 + }, + "cost": { + "input": 0.1, + "output": 0.6, + "cache_read": 0.05 + } + }, + "Qwen/Qwen3-Coder-Next-TEE": { + "id": "Qwen/Qwen3-Coder-Next-TEE", + "name": "Qwen3 Coder Next TEE", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2026-04-25", + "last_updated": "2026-04-25", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 65536 + }, + "cost": { + "input": 0.12, + "output": 0.75, + "cache_read": 0.06 + } }, "Qwen/Qwen3-235B-A22B-Thinking-2507": { "id": "Qwen/Qwen3-235B-A22B-Thinking-2507", @@ -14334,339 +40981,915 @@ "attachment": false, "reasoning": true, "tool_call": true, - "temperature": true, - "knowledge": "2025-07", - "release_date": "2025-07-25", - "last_updated": "2025-10-04", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.2, "output": 0.8 }, - "limit": { "context": 262144, "output": 8192 } - }, - "Qwen/Qwen2.5-Coder-7B-fast": { - "id": "Qwen/Qwen2.5-Coder-7B-fast", - "name": "Qwen2.5-Coder-7B (Fast)", - "attachment": false, - "reasoning": false, - "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, "structured_output": true, "temperature": true, - "knowledge": "2024-09", - "release_date": "2024-09-19", - "last_updated": "2026-02-04", - "modalities": { "input": ["text"], "output": ["text"] }, + "release_date": "2025-12-29", + "last_updated": "2026-04-25", + "modalities": { + "input": ["text"], + "output": ["text"] + }, "open_weights": true, - "cost": { "input": 0.03, "output": 0.09, "cache_read": 0.003, "cache_write": 0.03 }, - "limit": { "context": 128000, "input": 120000, "output": 8192 } + "limit": { + "context": 262144, + "output": 262144 + }, + "cost": { + "input": 0.11, + "output": 0.6, + "cache_read": 0.055 + } }, - "Qwen/Qwen2.5-VL-72B-Instruct": { - "id": "Qwen/Qwen2.5-VL-72B-Instruct", - "name": "Qwen2.5-VL-72B-Instruct", + "Qwen/Qwen2.5-VL-32B-Instruct": { + "id": "Qwen/Qwen2.5-VL-32B-Instruct", + "name": "Qwen2.5 VL 32B Instruct", + "family": "qwen", "attachment": true, "reasoning": false, - "tool_call": true, + "tool_call": false, "structured_output": true, "temperature": true, - "knowledge": "2024-12", - "release_date": "2025-01-20", - "last_updated": "2026-02-04", - "modalities": { "input": ["text", "image"], "output": ["text"] }, + "release_date": "2025-12-29", + "last_updated": "2026-04-25", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, "open_weights": true, - "cost": { "input": 0.25, "output": 0.75, "cache_read": 0.025, "cache_write": 0.31 }, - "limit": { "context": 128000, "input": 120000, "output": 8192 } + "limit": { + "context": 16384, + "output": 16384 + }, + "cost": { + "input": 0.0543, + "output": 0.2174, + "cache_read": 0.02715 + } }, - "Qwen/Qwen3-32B-fast": { - "id": "Qwen/Qwen3-32B-fast", - "name": "Qwen3-32B (Fast)", - "attachment": false, - "reasoning": false, + "Qwen/Qwen3.5-397B-A17B-TEE": { + "id": "Qwen/Qwen3.5-397B-A17B-TEE", + "name": "Qwen3.5 397B A17B TEE", + "family": "qwen", + "attachment": true, + "reasoning": true, "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, "structured_output": true, "temperature": true, - "knowledge": "2025-12", - "release_date": "2026-01-28", - "last_updated": "2026-02-04", - "modalities": { "input": ["text"], "output": ["text"] }, + "release_date": "2026-02-18", + "last_updated": "2026-04-25", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, "open_weights": true, - "cost": { "input": 0.2, "output": 0.6, "cache_read": 0.02, "cache_write": 0.25 }, - "limit": { "context": 128000, "input": 120000, "output": 8192 } + "limit": { + "context": 262144, + "output": 65536 + }, + "cost": { + "input": 0.39, + "output": 2.34, + "cache_read": 0.195 + } }, - "Qwen/Qwen3-Coder-30B-A3B-Instruct": { - "id": "Qwen/Qwen3-Coder-30B-A3B-Instruct", - "name": "Qwen3-Coder-30B-A3B-Instruct", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2025-12", - "release_date": "2026-01-28", - "last_updated": "2026-02-04", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.1, "output": 0.3, "cache_read": 0.01, "cache_write": 0.125 }, - "limit": { "context": 128000, "input": 120000, "output": 8192 } - }, - "Qwen/Qwen3-Coder-480B-A35B-Instruct": { - "id": "Qwen/Qwen3-Coder-480B-A35B-Instruct", - "name": "Qwen3 Coder 480B A35B Instruct", + "Qwen/Qwen2.5-72B-Instruct": { + "id": "Qwen/Qwen2.5-72B-Instruct", + "name": "Qwen2.5 72B Instruct", "family": "qwen", "attachment": false, "reasoning": false, "tool_call": true, - "temperature": true, - "knowledge": "2025-04", - "release_date": "2025-07-23", - "last_updated": "2025-10-04", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.4, "output": 1.8 }, - "limit": { "context": 262144, "output": 66536 } - }, - "Qwen/Qwen3-30B-A3B-Instruct-2507": { - "id": "Qwen/Qwen3-30B-A3B-Instruct-2507", - "name": "Qwen3-30B-A3B-Instruct-2507", - "attachment": false, - "reasoning": false, - "tool_call": true, "structured_output": true, "temperature": true, - "knowledge": "2025-12", - "release_date": "2026-01-28", - "last_updated": "2026-02-04", - "modalities": { "input": ["text"], "output": ["text"] }, + "release_date": "2025-12-29", + "last_updated": "2026-04-25", + "modalities": { + "input": ["text"], + "output": ["text"] + }, "open_weights": true, - "cost": { "input": 0.1, "output": 0.3, "cache_read": 0.01, "cache_write": 0.125 }, - "limit": { "context": 128000, "input": 120000, "output": 8192 } + "limit": { + "context": 32768, + "output": 32768 + }, + "cost": { + "input": 0.2989, + "output": 1.1957, + "cache_read": 0.14945 + } }, - "Qwen/Qwen3-235B-A22B-Instruct-2507": { - "id": "Qwen/Qwen3-235B-A22B-Instruct-2507", - "name": "Qwen3 235B A22B Instruct 2507", - "family": "qwen", + "zai-org/GLM-5.1-TEE": { + "id": "zai-org/GLM-5.1-TEE", + "name": "GLM 5.1 TEE", + "family": "glm", "attachment": false, "reasoning": true, "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "structured_output": true, "temperature": true, - "knowledge": "2025-07", - "release_date": "2025-07-25", - "last_updated": "2025-10-04", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.2, "output": 0.6 }, - "limit": { "context": 262144, "output": 8192 } - }, - "Qwen/Qwen3-Embedding-8B": { - "id": "Qwen/Qwen3-Embedding-8B", - "name": "Qwen3-Embedding-8B", - "family": "text-embedding", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "temperature": false, - "knowledge": "2025-10", - "release_date": "2026-01-10", - "last_updated": "2026-02-04", - "modalities": { "input": ["text"], "output": ["text"] }, + "release_date": "2026-04-08", + "last_updated": "2026-04-25", + "modalities": { + "input": ["text"], + "output": ["text"] + }, "open_weights": true, - "cost": { "input": 0.01, "output": 0 }, - "limit": { "context": 32768, "input": 32768, "output": 0 } + "limit": { + "context": 202752, + "output": 65535 + }, + "cost": { + "input": 1.05, + "output": 3.5, + "cache_read": 0.525 + } }, - "BAAI/bge-en-icl": { - "id": "BAAI/bge-en-icl", - "name": "BGE-ICL", - "family": "text-embedding", + "zai-org/GLM-4.7-FP8": { + "id": "zai-org/GLM-4.7-FP8", + "name": "GLM 4.7 FP8", + "family": "glm", "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "temperature": false, - "knowledge": "2024-06", - "release_date": "2024-07-30", - "last_updated": "2026-02-04", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.01, "output": 0 }, - "limit": { "context": 32768, "input": 32768, "output": 0 } - }, - "BAAI/bge-multilingual-gemma2": { - "id": "BAAI/bge-multilingual-gemma2", - "name": "bge-multilingual-gemma2", - "family": "text-embedding", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "temperature": false, - "knowledge": "2024-06", - "release_date": "2024-07-30", - "last_updated": "2026-02-04", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.01, "output": 0 }, - "limit": { "context": 8192, "input": 8192, "output": 0 } - }, - "moonshotai/Kimi-K2-Instruct": { - "id": "moonshotai/Kimi-K2-Instruct", - "name": "Kimi-K2-Instruct", - "attachment": true, - "reasoning": false, + "reasoning": true, "tool_call": true, "structured_output": true, "temperature": true, - "knowledge": "2025-10", - "release_date": "2026-01-05", - "last_updated": "2026-02-04", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.5, "output": 2.4, "cache_read": 0.05, "cache_write": 0.625 }, - "limit": { "context": 200000, "input": 190000, "output": 8192 } + "release_date": "2026-01-27", + "last_updated": "2026-04-25", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 202752, + "output": 65535 + }, + "cost": { + "input": 0.2989, + "output": 1.1957, + "cache_read": 0.14945 + } }, - "moonshotai/Kimi-K2.5": { - "id": "moonshotai/Kimi-K2.5", - "name": "Kimi-K2.5", - "family": "kimi", + "zai-org/GLM-5-TEE": { + "id": "zai-org/GLM-5-TEE", + "name": "GLM 5 TEE", + "family": "glm", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "structured_output": true, + "temperature": true, + "release_date": "2026-02-14", + "last_updated": "2026-04-25", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 202752, + "output": 65535 + }, + "cost": { + "input": 0.95, + "output": 2.55, + "cache_read": 0.475 + } + }, + "zai-org/GLM-4.7-TEE": { + "id": "zai-org/GLM-4.7-TEE", + "name": "GLM 4.7 TEE", + "family": "glm", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "structured_output": true, + "temperature": true, + "release_date": "2025-12-29", + "last_updated": "2026-04-25", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 202752, + "output": 65535 + }, + "cost": { + "input": 0.39, + "output": 1.75, + "cache_read": 0.195 + } + }, + "zai-org/GLM-4.6V": { + "id": "zai-org/GLM-4.6V", + "name": "GLM 4.6V", + "family": "glm", "attachment": true, "reasoning": true, "tool_call": true, - "interleaved": { "field": "reasoning_content" }, + "interleaved": { + "field": "reasoning_content" + }, "structured_output": true, "temperature": true, - "knowledge": "2025-06", - "release_date": "2025-12-15", - "last_updated": "2026-02-04", - "modalities": { "input": ["text", "image"], "output": ["text"] }, + "release_date": "2025-12-29", + "last_updated": "2026-04-25", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, "open_weights": true, - "cost": { "input": 0.5, "output": 2.5, "reasoning": 2.5, "cache_read": 0.05, "cache_write": 0.625 }, - "limit": { "context": 256000, "input": 256000, "output": 8192 } + "limit": { + "context": 131072, + "output": 65536 + }, + "cost": { + "input": 0.3, + "output": 0.9, + "cache_read": 0.15 + } }, - "moonshotai/Kimi-K2.5-fast": { - "id": "moonshotai/Kimi-K2.5-fast", - "name": "Kimi-K2.5-fast", - "family": "kimi", - "attachment": true, + "zai-org/GLM-5-Turbo": { + "id": "zai-org/GLM-5-Turbo", + "name": "GLM 5 Turbo", + "family": "glm", + "attachment": false, "reasoning": true, "tool_call": true, - "interleaved": { "field": "reasoning_content" }, + "interleaved": { + "field": "reasoning_content" + }, "structured_output": true, "temperature": true, - "knowledge": "2025-06", - "release_date": "2025-12-15", - "last_updated": "2026-02-04", - "modalities": { "input": ["text", "image"], "output": ["text"] }, + "release_date": "2026-03-11", + "last_updated": "2026-04-25", + "modalities": { + "input": ["text"], + "output": ["text"] + }, "open_weights": true, - "cost": { "input": 0.5, "output": 2.5, "cache_read": 0.05, "cache_write": 0.625 }, - "limit": { "context": 256000, "input": 256000, "output": 8192 } + "limit": { + "context": 202752, + "output": 65535 + }, + "cost": { + "input": 0.4891, + "output": 1.9565, + "cache_read": 0.24455 + } }, - "moonshotai/Kimi-K2-Thinking": { - "id": "moonshotai/Kimi-K2-Thinking", - "name": "Kimi-K2-Thinking", - "attachment": true, + "XiaomiMiMo/MiMo-V2-Flash-TEE": { + "id": "XiaomiMiMo/MiMo-V2-Flash-TEE", + "name": "MiMo V2 Flash TEE", + "family": "mimo", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2026-04-25", + "last_updated": "2026-04-25", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 65536 + }, + "cost": { + "input": 0.09, + "output": 0.29, + "cache_read": 0.045 + } + }, + "deepseek-ai/DeepSeek-R1-Distill-Llama-70B": { + "id": "deepseek-ai/DeepSeek-R1-Distill-Llama-70B", + "name": "DeepSeek R1 Distill Llama 70B", + "family": "deepseek-thinking", + "attachment": false, "reasoning": true, "tool_call": true, - "interleaved": { "field": "reasoning_content" }, + "interleaved": { + "field": "reasoning_content" + }, "structured_output": true, "temperature": true, - "knowledge": "2025-10", - "release_date": "2026-01-05", - "last_updated": "2026-02-04", - "modalities": { "input": ["text"], "output": ["text"] }, + "release_date": "2025-12-29", + "last_updated": "2026-04-25", + "modalities": { + "input": ["text"], + "output": ["text"] + }, "open_weights": true, - "cost": { "input": 0.6, "output": 2.5, "reasoning": 2.5, "cache_read": 0.06, "cache_write": 0.75 }, - "limit": { "context": 128000, "input": 120000, "output": 16384 } - } - } - }, - "togetherai": { - "id": "togetherai", - "env": ["TOGETHER_API_KEY"], - "npm": "@ai-sdk/togetherai", - "name": "Together AI", - "doc": "https://docs.together.ai/docs/serverless-models", - "models": { - "openai/gpt-oss-120b": { - "id": "openai/gpt-oss-120b", - "name": "GPT OSS 120B", + "limit": { + "context": 131072, + "output": 131072 + }, + "cost": { + "input": 0.0272, + "output": 0.1087, + "cache_read": 0.0136 + } + }, + "deepseek-ai/DeepSeek-V3.1-TEE": { + "id": "deepseek-ai/DeepSeek-V3.1-TEE", + "name": "DeepSeek V3.1 TEE", + "family": "deepseek", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "structured_output": true, + "temperature": true, + "release_date": "2025-12-29", + "last_updated": "2026-04-25", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 163840, + "output": 65536 + }, + "cost": { + "input": 0.27, + "output": 1, + "cache_read": 0.135 + } + }, + "deepseek-ai/DeepSeek-V3-0324-TEE": { + "id": "deepseek-ai/DeepSeek-V3-0324-TEE", + "name": "DeepSeek V3 0324 TEE", + "family": "deepseek", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-12-29", + "last_updated": "2026-04-25", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 163840, + "output": 65536 + }, + "cost": { + "input": 0.25, + "output": 1, + "cache_read": 0.125 + } + }, + "deepseek-ai/DeepSeek-R1-0528-TEE": { + "id": "deepseek-ai/DeepSeek-R1-0528-TEE", + "name": "DeepSeek R1 0528 TEE", + "family": "deepseek-thinking", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "structured_output": true, + "temperature": true, + "release_date": "2025-12-29", + "last_updated": "2026-04-25", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 163840, + "output": 65536 + }, + "cost": { + "input": 0.45, + "output": 2.15, + "cache_read": 0.225 + } + }, + "deepseek-ai/DeepSeek-V3.2-TEE": { + "id": "deepseek-ai/DeepSeek-V3.2-TEE", + "name": "DeepSeek V3.2 TEE", + "family": "deepseek", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "structured_output": true, + "temperature": true, + "release_date": "2025-12-29", + "last_updated": "2026-04-25", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 65536 + }, + "cost": { + "input": 0.28, + "output": 0.42, + "cache_read": 0.14 + } + }, + "openai/gpt-oss-120b-TEE": { + "id": "openai/gpt-oss-120b-TEE", + "name": "gpt oss 120b TEE", "family": "gpt-oss", "attachment": false, "reasoning": true, "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "structured_output": true, "temperature": true, - "knowledge": "2025-08", - "release_date": "2025-08-05", - "last_updated": "2025-08-05", - "modalities": { "input": ["text"], "output": ["text"] }, + "release_date": "2025-12-29", + "last_updated": "2026-04-25", + "modalities": { + "input": ["text"], + "output": ["text"] + }, "open_weights": true, - "cost": { "input": 0.15, "output": 0.6 }, - "limit": { "context": 131072, "output": 131072 } + "limit": { + "context": 131072, + "output": 65536 + }, + "cost": { + "input": 0.09, + "output": 0.36, + "cache_read": 0.045 + } }, - "zai-org/GLM-4.7": { - "id": "zai-org/GLM-4.7", + "unsloth/gemma-3-12b-it": { + "id": "unsloth/gemma-3-12b-it", + "name": "gemma 3 12b it", + "family": "unsloth", + "attachment": true, + "reasoning": false, + "tool_call": false, + "temperature": true, + "release_date": "2025-12-29", + "last_updated": "2026-04-25", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 131072 + }, + "cost": { + "input": 0.03, + "output": 0.1, + "cache_read": 0.015 + } + }, + "unsloth/Llama-3.2-3B-Instruct": { + "id": "unsloth/Llama-3.2-3B-Instruct", + "name": "Llama 3.2 3B Instruct", + "family": "unsloth", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "release_date": "2025-02-12", + "last_updated": "2026-04-25", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 16384, + "output": 16384 + }, + "cost": { + "input": 0.01, + "output": 0.0136, + "cache_read": 0.005 + } + }, + "unsloth/gemma-3-4b-it": { + "id": "unsloth/gemma-3-4b-it", + "name": "gemma 3 4b it", + "family": "unsloth", + "attachment": true, + "reasoning": false, + "tool_call": false, + "structured_output": true, + "temperature": true, + "release_date": "2025-12-29", + "last_updated": "2026-04-25", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 96000, + "output": 96000 + }, + "cost": { + "input": 0.01, + "output": 0.0272, + "cache_read": 0.005 + } + }, + "unsloth/Llama-3.2-1B-Instruct": { + "id": "unsloth/Llama-3.2-1B-Instruct", + "name": "Llama 3.2 1B Instruct", + "family": "unsloth", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "release_date": "2026-01-27", + "last_updated": "2026-04-25", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 16384, + "output": 8192 + }, + "cost": { + "input": 0.01, + "output": 0.0109, + "cache_read": 0.005 + } + }, + "unsloth/Mistral-Nemo-Instruct-2407": { + "id": "unsloth/Mistral-Nemo-Instruct-2407", + "name": "Mistral Nemo Instruct 2407", + "family": "unsloth", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": true, + "temperature": true, + "release_date": "2025-12-29", + "last_updated": "2026-04-25", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 131072 + }, + "cost": { + "input": 0.02, + "output": 0.04, + "cache_read": 0.01 + } + }, + "unsloth/gemma-3-27b-it": { + "id": "unsloth/gemma-3-27b-it", + "name": "gemma 3 27b it", + "family": "unsloth", + "attachment": true, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-12-29", + "last_updated": "2026-04-25", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 65536 + }, + "cost": { + "input": 0.0272, + "output": 0.1087, + "cache_read": 0.0136 + } + }, + "google/gemma-4-31B-turbo-TEE": { + "id": "google/gemma-4-31B-turbo-TEE", + "name": "gemma 4 31B turbo TEE", + "family": "gemma", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2026-04-25", + "last_updated": "2026-04-25", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 65536 + }, + "cost": { + "input": 0.13, + "output": 0.38, + "cache_read": 0.065 + } + }, + "moonshotai/Kimi-K2.6-TEE": { + "id": "moonshotai/Kimi-K2.6-TEE", + "name": "Kimi K2.6 TEE", + "family": "kimi", + "attachment": true, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "structured_output": true, + "temperature": true, + "knowledge": "2025-12", + "release_date": "2026-04-20", + "last_updated": "2026-04-25", + "modalities": { + "input": ["text", "image", "video"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 65535 + }, + "cost": { + "input": 0.95, + "output": 4, + "cache_read": 0.475 + } + }, + "moonshotai/Kimi-K2.5-TEE": { + "id": "moonshotai/Kimi-K2.5-TEE", + "name": "Kimi K2.5 TEE", + "family": "kimi", + "attachment": true, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "structured_output": true, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2026-01-27", + "last_updated": "2026-04-25", + "modalities": { + "input": ["text", "image", "video"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 65535 + }, + "cost": { + "input": 0.44, + "output": 2, + "cache_read": 0.22 + } + }, + "MiniMaxAI/MiniMax-M2.5-TEE": { + "id": "MiniMaxAI/MiniMax-M2.5-TEE", + "name": "MiniMax M2.5 TEE", + "family": "minimax", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "structured_output": true, + "temperature": true, + "release_date": "2026-02-15", + "last_updated": "2026-04-25", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 196608, + "output": 65536 + }, + "cost": { + "input": 0.15, + "output": 1.2, + "cache_read": 0.075 + } + }, + "rednote-hilab/dots.ocr": { + "id": "rednote-hilab/dots.ocr", + "name": "dots.ocr", + "family": "rednote", + "attachment": true, + "reasoning": false, + "tool_call": false, + "structured_output": true, + "temperature": true, + "release_date": "2025-12-29", + "last_updated": "2026-04-25", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 131072 + }, + "cost": { + "input": 0.01, + "output": 0.0109, + "cache_read": 0.005 + } + }, + "tngtech/DeepSeek-TNG-R1T2-Chimera-TEE": { + "id": "tngtech/DeepSeek-TNG-R1T2-Chimera-TEE", + "name": "DeepSeek TNG R1T2 Chimera TEE", + "family": "deepseek", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2026-04-25", + "last_updated": "2026-04-25", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 163840, + "output": 163840 + }, + "cost": { + "input": 0.3, + "output": 1.1, + "cache_read": 0.15 + } + } + } + }, + "dinference": { + "id": "dinference", + "env": ["DINFERENCE_API_KEY"], + "npm": "@ai-sdk/openai-compatible", + "api": "https://api.dinference.com/v1", + "name": "DInference", + "doc": "https://dinference.com", + "models": { + "gpt-oss-120b": { + "id": "gpt-oss-120b", + "name": "GPT OSS 120B", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "release_date": "2025-08", + "last_updated": "2025-08", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 32768 + }, + "cost": { + "input": 0.0675, + "output": 0.27 + } + }, + "glm-4.7": { + "id": "glm-4.7", "name": "GLM-4.7", "family": "glm", "attachment": false, "reasoning": true, "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, "temperature": true, - "knowledge": "2025-07", - "release_date": "2025-07-25", - "last_updated": "2025-07-25", - "modalities": { "input": ["text"], "output": ["text"] }, + "knowledge": "2025-04", + "release_date": "2025-12-22", + "last_updated": "2025-12-22", + "modalities": { + "input": ["text"], + "output": ["text"] + }, "open_weights": true, - "cost": { "input": 0.45, "output": 2 }, - "limit": { "context": 200000, "output": 200000 } + "limit": { + "context": 200000, + "output": 128000 + }, + "cost": { + "input": 0.45, + "output": 1.65 + } }, - "zai-org/GLM-5": { - "id": "zai-org/GLM-5", + "glm-5": { + "id": "glm-5", "name": "GLM-5", "family": "glm", "attachment": false, "reasoning": true, "tool_call": true, - "structured_output": true, + "interleaved": { + "field": "reasoning_content" + }, "temperature": true, - "knowledge": "2025-11", "release_date": "2026-02-11", "last_updated": "2026-02-11", - "modalities": { "input": ["text"], "output": ["text"] }, + "modalities": { + "input": ["text"], + "output": ["text"] + }, "open_weights": true, - "cost": { "input": 1, "output": 3.2 }, - "limit": { "context": 202752, "output": 131072 } + "limit": { + "context": 200000, + "output": 128000 + }, + "cost": { + "input": 0.75, + "output": 2.4 + } }, - "zai-org/GLM-4.6": { - "id": "zai-org/GLM-4.6", - "name": "GLM 4.6", + "glm-5.1": { + "id": "glm-5.1", + "name": "GLM-5.1", "family": "glm", "attachment": false, - "reasoning": false, + "reasoning": true, "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "structured_output": true, "temperature": true, - "knowledge": "2025-09", - "release_date": "2025-09-30", - "last_updated": "2025-09-30", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.6, "output": 2.2 }, - "limit": { "context": 200000, "output": 200000 } + "release_date": "2026-03-27", + "last_updated": "2026-03-27", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 128000 + }, + "cost": { + "input": 1.25, + "output": 3.89 + } }, - "meta-llama/Llama-3.3-70B-Instruct-Turbo": { - "id": "meta-llama/Llama-3.3-70B-Instruct-Turbo", - "name": "Llama 3.3 70B", - "family": "llama", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2023-12", - "release_date": "2024-12-06", - "last_updated": "2024-12-06", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.88, "output": 0.88 }, - "limit": { "context": 131072, "output": 131072 } - }, - "MiniMaxAI/MiniMax-M2.5": { - "id": "MiniMaxAI/MiniMax-M2.5", + "minimax-m2.5": { + "id": "minimax-m2.5", "name": "MiniMax-M2.5", "family": "minimax", "attachment": false, @@ -14675,1029 +41898,56 @@ "temperature": true, "release_date": "2026-02-12", "last_updated": "2026-02-12", - "modalities": { "input": ["text"], "output": ["text"] }, + "modalities": { + "input": ["text"], + "output": ["text"] + }, "open_weights": true, - "cost": { "input": 0.3, "output": 1.2, "cache_read": 0.06 }, - "limit": { "context": 204800, "output": 131072 } - }, - "essentialai/Rnj-1-Instruct": { - "id": "essentialai/Rnj-1-Instruct", - "name": "Rnj-1 Instruct", - "family": "rnj", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-10", - "release_date": "2025-12-05", - "last_updated": "2025-12-05", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.15, "output": 0.15 }, - "limit": { "context": 32768, "output": 32768 } - }, - "deepseek-ai/DeepSeek-R1": { - "id": "deepseek-ai/DeepSeek-R1", - "name": "DeepSeek R1", - "family": "deepseek-thinking", - "attachment": false, - "reasoning": true, - "tool_call": false, - "temperature": true, - "knowledge": "2024-07", - "release_date": "2024-12-26", - "last_updated": "2025-03-24", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 3, "output": 7 }, - "limit": { "context": 163839, "output": 163839 } - }, - "deepseek-ai/DeepSeek-V3-1": { - "id": "deepseek-ai/DeepSeek-V3-1", - "name": "DeepSeek V3.1", - "family": "deepseek", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-08", - "release_date": "2025-08-21", - "last_updated": "2025-08-21", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.6, "output": 1.7 }, - "limit": { "context": 131072, "output": 131072 } - }, - "deepseek-ai/DeepSeek-V3": { - "id": "deepseek-ai/DeepSeek-V3", - "name": "DeepSeek V3", - "family": "deepseek", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2024-07", - "release_date": "2025-01-20", - "last_updated": "2025-05-29", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 1.25, "output": 1.25 }, - "limit": { "context": 131072, "output": 131072 } - }, - "Qwen/Qwen3-Coder-Next-FP8": { - "id": "Qwen/Qwen3-Coder-Next-FP8", - "name": "Qwen3 Coder Next FP8", - "family": "qwen", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2026-02-03", - "release_date": "2026-02-03", - "last_updated": "2026-02-03", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.5, "output": 1.2 }, - "limit": { "context": 262144, "output": 262144 } - }, - "Qwen/Qwen3-235B-A22B-Instruct-2507-tput": { - "id": "Qwen/Qwen3-235B-A22B-Instruct-2507-tput", - "name": "Qwen3 235B A22B Instruct 2507 FP8", - "family": "qwen", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-07", - "release_date": "2025-07-25", - "last_updated": "2025-07-25", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.2, "output": 0.6 }, - "limit": { "context": 262144, "output": 262144 } - }, - "Qwen/Qwen3.5-397B-A17B": { - "id": "Qwen/Qwen3.5-397B-A17B", - "name": "Qwen3.5 397B A17B", - "family": "qwen", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2026-02-16", - "last_updated": "2026-02-16", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.6, "output": 3.6 }, - "limit": { "context": 262144, "output": 130000 } - }, - "Qwen/Qwen3-Next-80B-A3B-Instruct": { - "id": "Qwen/Qwen3-Next-80B-A3B-Instruct", - "name": "Qwen3-Next-80B-A3B-Instruct", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2025-07", - "release_date": "2025-07-25", - "last_updated": "2025-07-25", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.15, "output": 1.5 }, - "limit": { "context": 262144, "output": 262144 } - }, - "Qwen/Qwen3-Coder-480B-A35B-Instruct-FP8": { - "id": "Qwen/Qwen3-Coder-480B-A35B-Instruct-FP8", - "name": "Qwen3 Coder 480B A35B Instruct", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2025-04", - "release_date": "2025-07-23", - "last_updated": "2025-07-23", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 2, "output": 2 }, - "limit": { "context": 262144, "output": 262144 } - }, - "moonshotai/Kimi-K2-Instruct": { - "id": "moonshotai/Kimi-K2-Instruct", - "name": "Kimi K2 Instruct", - "family": "kimi", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-10", - "release_date": "2025-07-14", - "last_updated": "2025-07-14", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 1, "output": 3 }, - "limit": { "context": 131072, "output": 131072 } - }, - "moonshotai/Kimi-K2.5": { - "id": "moonshotai/Kimi-K2.5", - "name": "Kimi K2.5", - "family": "kimi", - "attachment": false, - "reasoning": true, - "tool_call": true, - "interleaved": true, - "temperature": true, - "knowledge": "2026-01", - "release_date": "2026-01-27", - "last_updated": "2026-01-27", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.5, "output": 2.8 }, - "limit": { "context": 262144, "output": 262144 } + "limit": { + "context": 200000, + "output": 32000 + }, + "cost": { + "input": 0.22, + "output": 0.88 + } } } }, - "firmware": { - "id": "firmware", - "env": ["FIRMWARE_API_KEY"], - "npm": "@ai-sdk/openai-compatible", - "api": "https://app.frogbot.ai/api/v1", - "name": "Firmware", - "doc": "https://docs.frogbot.ai", + "vivgrid": { + "id": "vivgrid", + "env": ["VIVGRID_API_KEY"], + "npm": "@ai-sdk/openai", + "api": "https://api.vivgrid.com/v1", + "name": "Vivgrid", + "doc": "https://docs.vivgrid.com/models", "models": { - "claude-opus-4-5": { - "id": "claude-opus-4-5", - "name": "Claude Opus 4.5", - "family": "claude-opus", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-03-31", - "release_date": "2025-11-24", - "last_updated": "2025-11-24", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 5, "output": 25, "cache_read": 0.5, "cache_write": 6.25 }, - "limit": { "context": 200000, "output": 64000 } - }, - "kimi-k2.5": { - "id": "kimi-k2.5", - "name": "Kimi-K2.5", + "gpt-5.1-codex-max": { + "id": "gpt-5.1-codex-max", + "name": "GPT-5.1 Codex Max", + "family": "gpt-codex", "attachment": false, "reasoning": true, "tool_call": true, "structured_output": true, - "temperature": true, - "release_date": "1970-01-01", - "last_updated": "1970-01-01", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.6, "output": 3, "cache_read": 0.1 }, - "limit": { "context": 256000, "output": 128000 } - }, - "gemini-3-pro-preview": { - "id": "gemini-3-pro-preview", - "name": "Gemini 3 Pro Preview", - "family": "gemini-pro", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2025-01", - "release_date": "2025-11-18", - "last_updated": "2025-11-18", - "modalities": { "input": ["text", "image", "video", "audio", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2, "output": 12, "cache_read": 0.2 }, - "limit": { "context": 1000000, "output": 64000 } - }, - "gpt-4o": { - "id": "gpt-4o", - "name": "GPT-4o", - "family": "gpt", - "attachment": true, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2023-09", - "release_date": "2024-05-13", - "last_updated": "2024-08-06", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2.5, "output": 10, "cache_read": 1.25 }, - "limit": { "context": 128000, "output": 16384 } - }, - "grok-code-fast-1": { - "id": "grok-code-fast-1", - "name": "Grok 4.1 Fast (Reasoning)", - "family": "grok", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2023-10", - "release_date": "2025-08-28", - "last_updated": "2025-08-28", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.2, "output": 1.5, "cache_read": 0.02 }, - "limit": { "context": 256000, "output": 128000 } - }, - "zai-glm-5": { - "id": "zai-glm-5", - "name": "GLM-5", - "family": "glm", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-10", - "release_date": "2025-01-20", - "last_updated": "2025-02-22", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1, "output": 3.2, "cache_read": 0.2 }, - "limit": { "context": 198000, "output": 8192 } - }, - "gpt-5-mini": { - "id": "gpt-5-mini", - "name": "GPT-5 Mini", - "family": "gpt-mini", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, "temperature": false, - "knowledge": "2024-05-30", - "release_date": "2025-08-07", - "last_updated": "2025-08-07", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.25, "output": 2, "cache_read": 0.03 }, - "limit": { "context": 400000, "output": 128000 } - }, - "claude-opus-4-6": { - "id": "claude-opus-4-6", - "name": "Claude Opus 4.6", - "family": "claude-opus", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-05-31", - "release_date": "2026-02-05", - "last_updated": "2026-02-05", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 5, "output": 25, "cache_read": 0.5, "cache_write": 6.25 }, - "limit": { "context": 200000, "output": 128000 } - }, - "deepseek-v3-2": { - "id": "deepseek-v3-2", - "name": "DeepSeek v3.2", - "family": "deepseek", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-07", - "release_date": "2024-12-26", - "last_updated": "2025-09-29", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.58, "output": 1.68, "cache_read": 0.28 }, - "limit": { "context": 128000, "output": 8192 } - }, - "claude-sonnet-4-6": { - "id": "claude-sonnet-4-6", - "name": "Claude Sonnet 4.6", - "family": "claude-sonnet", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2026-02-17", - "release_date": "2026-02-17", - "last_updated": "2026-02-17", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 3, "output": 15, "cache_read": 0.3, "cache_write": 3.75 }, - "limit": { "context": 200000, "output": 64000 } - }, - "gpt-oss-120b": { - "id": "gpt-oss-120b", - "name": "GPT OSS 120B", - "family": "gpt-oss", - "attachment": false, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "1970-01-01", - "last_updated": "1970-01-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.15, "output": 0.6 }, - "limit": { "context": 131072, "output": 32768 } - }, - "minimax-m2-5": { - "id": "minimax-m2-5", - "name": "MiniMax-M2.5", - "family": "minimax", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-09", - "release_date": "2025-01-15", - "last_updated": "2025-02-22", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.3, "output": 1.2, "cache_read": 0.03 }, - "limit": { "context": 192000, "output": 8192 } - }, - "grok-4-1-fast-non-reasoning": { - "id": "grok-4-1-fast-non-reasoning", - "name": "Grok 4.1 Fast (Non-Reasoning)", - "family": "grok", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2025-11", - "release_date": "2025-11-25", - "last_updated": "2025-11-25", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.2, "output": 0.5, "cache_read": 0.05 }, - "limit": { "context": 2000000, "output": 128000 } - }, - "gpt-5-4": { - "id": "gpt-5-4", - "name": "GPT-5.4", - "family": "gpt", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": false, - "knowledge": "2025-08-31", - "release_date": "2026-03-05", - "last_updated": "2026-03-05", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2.5, "output": 15, "cache_read": 0.25 }, - "limit": { "context": 272000, "output": 128000 } - }, - "gemini-3-flash-preview": { - "id": "gemini-3-flash-preview", - "name": "Gemini 3 Flash Preview", - "family": "gemini-flash", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2025-01", - "release_date": "2025-12-17", - "last_updated": "2025-12-17", - "modalities": { "input": ["text", "image", "video", "audio", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.5, "output": 3, "cache_read": 0.05 }, - "limit": { "context": 1048576, "output": 65536 } - }, - "gemini-3-1-pro-preview": { - "id": "gemini-3-1-pro-preview", - "name": "Gemini 3.1 Pro Preview", - "family": "gemini-pro", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2026-01", - "release_date": "2026-02-18", - "last_updated": "2026-02-18", - "modalities": { "input": ["text", "image", "video", "audio", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2, "output": 12, "cache_read": 0.2 }, - "limit": { "context": 1000000, "output": 64000 } - }, - "gemini-2.5-pro": { - "id": "gemini-2.5-pro", - "name": "Gemini 2.5 Pro", - "family": "gemini-pro", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-01", - "release_date": "2025-03-20", - "last_updated": "2025-06-05", - "modalities": { "input": ["text", "image", "audio", "video", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.25, "output": 10, "cache_read": 0.31 }, - "limit": { "context": 1048576, "output": 65536 } - }, - "gemini-2.5-flash": { - "id": "gemini-2.5-flash", - "name": "Gemini 2.5 Flash", - "family": "gemini-flash", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-01", - "release_date": "2025-07-17", - "last_updated": "2025-07-17", - "modalities": { "input": ["text", "image", "audio", "video", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.3, "output": 2.5, "cache_read": 0.075 }, - "limit": { "context": 1048576, "output": 65536 } - }, - "grok-4-1-fast-reasoning": { - "id": "grok-4-1-fast-reasoning", - "name": "Grok 4.1 Fast (Reasoning)", - "family": "grok", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-11", - "release_date": "2025-11-25", - "last_updated": "2025-11-25", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.2, "output": 0.5, "cache_read": 0.05 }, - "limit": { "context": 2000000, "output": 128000 } - }, - "gpt-5-nano": { - "id": "gpt-5-nano", - "name": "GPT-5 Nano", - "family": "gpt-nano", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": false, - "knowledge": "2024-05-30", - "release_date": "2025-08-07", - "last_updated": "2025-08-07", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.05, "output": 0.4, "cache_read": 0.01 }, - "limit": { "context": 400000, "output": 128000 } - }, - "gpt-5-3-codex": { - "id": "gpt-5-3-codex", - "name": "GPT-5.3 Codex", - "family": "gpt", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": false, - "knowledge": "2026-01-31", - "release_date": "2026-02-15", - "last_updated": "2026-02-15", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.75, "output": 14, "cache_read": 0.175 }, - "limit": { "context": 400000, "output": 128000 } - }, - "gpt-oss-20b": { - "id": "gpt-oss-20b", - "name": "GPT OSS 20B", - "family": "gpt-oss", - "attachment": false, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "1970-01-01", - "last_updated": "1970-01-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.07, "output": 0.2 }, - "limit": { "context": 131072, "output": 32768 } - }, - "claude-sonnet-4-5": { - "id": "claude-sonnet-4-5", - "name": "Claude Sonnet 4.5", - "family": "claude-sonnet", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-07-31", - "release_date": "2025-09-29", - "last_updated": "2025-09-29", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 3, "output": 15, "cache_read": 0.3, "cache_write": 3.75 }, - "limit": { "context": 200000, "output": 64000 } - }, - "claude-haiku-4-5": { - "id": "claude-haiku-4-5", - "name": "Claude Haiku 4.5", - "family": "claude-haiku", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-02-28", - "release_date": "2025-10-15", - "last_updated": "2025-10-15", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1, "output": 5, "cache_read": 0.1, "cache_write": 1.25 }, - "limit": { "context": 200000, "output": 64000 } - } - } - }, - "google": { - "id": "google", - "env": ["GOOGLE_GENERATIVE_AI_API_KEY", "GEMINI_API_KEY"], - "npm": "@ai-sdk/google", - "name": "Google", - "doc": "https://ai.google.dev/gemini-api/docs/pricing", - "models": { - "gemini-2.5-flash-lite": { - "id": "gemini-2.5-flash-lite", - "name": "Gemini 2.5 Flash Lite", - "family": "gemini-flash-lite", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2025-01", - "release_date": "2025-06-17", - "last_updated": "2025-06-17", - "modalities": { "input": ["text", "image", "audio", "video", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.1, "output": 0.4, "cache_read": 0.025 }, - "limit": { "context": 1048576, "output": 65536 } - }, - "gemini-2.5-flash-lite-preview-09-2025": { - "id": "gemini-2.5-flash-lite-preview-09-2025", - "name": "Gemini 2.5 Flash Lite Preview 09-25", - "family": "gemini-flash-lite", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2025-01", - "release_date": "2025-09-25", - "last_updated": "2025-09-25", - "modalities": { "input": ["text", "image", "audio", "video", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.1, "output": 0.4, "cache_read": 0.025 }, - "limit": { "context": 1048576, "output": 65536 } - }, - "gemini-2.5-flash-preview-04-17": { - "id": "gemini-2.5-flash-preview-04-17", - "name": "Gemini 2.5 Flash Preview 04-17", - "family": "gemini-flash", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-01", - "release_date": "2025-04-17", - "last_updated": "2025-04-17", - "modalities": { "input": ["text", "image", "audio", "video", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.15, "output": 0.6, "cache_read": 0.0375 }, - "limit": { "context": 1048576, "output": 65536 } - }, - "gemini-3.1-pro-preview": { - "id": "gemini-3.1-pro-preview", - "name": "Gemini 3.1 Pro Preview", - "family": "gemini-pro", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2025-01", - "release_date": "2026-02-19", - "last_updated": "2026-02-19", - "modalities": { "input": ["text", "image", "video", "audio", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { - "input": 2, - "output": 12, - "cache_read": 0.2, - "context_over_200k": { "input": 4, "output": 18, "cache_read": 0.4 } + "knowledge": "2024-09-30", + "release_date": "2025-11-13", + "last_updated": "2025-11-13", + "modalities": { + "input": ["text", "image"], + "output": ["text"] }, - "limit": { "context": 1048576, "output": 65536 } - }, - "gemma-3n-e2b-it": { - "id": "gemma-3n-e2b-it", - "name": "Gemma 3n 2B", - "family": "gemma", - "attachment": true, - "reasoning": false, - "tool_call": false, - "temperature": true, - "knowledge": "2024-10", - "release_date": "2025-07-09", - "last_updated": "2025-07-09", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 8192, "output": 2000 } - }, - "gemini-2.5-flash-preview-05-20": { - "id": "gemini-2.5-flash-preview-05-20", - "name": "Gemini 2.5 Flash Preview 05-20", - "family": "gemini-flash", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2025-01", - "release_date": "2025-05-20", - "last_updated": "2025-05-20", - "modalities": { "input": ["text", "image", "audio", "video", "pdf"], "output": ["text"] }, "open_weights": false, - "cost": { "input": 0.15, "output": 0.6, "cache_read": 0.0375 }, - "limit": { "context": 1048576, "output": 65536 } - }, - "gemini-3-pro-preview": { - "id": "gemini-3-pro-preview", - "name": "Gemini 3 Pro Preview", - "family": "gemini-pro", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2025-01", - "release_date": "2025-11-18", - "last_updated": "2025-11-18", - "modalities": { "input": ["text", "image", "video", "audio", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { - "input": 2, - "output": 12, - "cache_read": 0.2, - "context_over_200k": { "input": 4, "output": 18, "cache_read": 0.4 } + "limit": { + "context": 400000, + "output": 128000 }, - "limit": { "context": 1000000, "output": 64000 } - }, - "gemma-3-27b-it": { - "id": "gemma-3-27b-it", - "name": "Gemma 3 27B", - "family": "gemma", - "attachment": true, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2024-10", - "release_date": "2025-03-12", - "last_updated": "2025-03-12", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 131072, "output": 8192 } - }, - "gemma-3-4b-it": { - "id": "gemma-3-4b-it", - "name": "Gemma 3 4B", - "family": "gemma", - "attachment": true, - "reasoning": false, - "tool_call": false, - "temperature": true, - "knowledge": "2024-10", - "release_date": "2025-03-13", - "last_updated": "2025-03-13", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 32768, "output": 8192 } - }, - "gemma-3n-e4b-it": { - "id": "gemma-3n-e4b-it", - "name": "Gemma 3n 4B", - "family": "gemma", - "attachment": true, - "reasoning": false, - "tool_call": false, - "temperature": true, - "knowledge": "2024-10", - "release_date": "2025-05-20", - "last_updated": "2025-05-20", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 8192, "output": 2000 } - }, - "gemini-2.5-pro-preview-06-05": { - "id": "gemini-2.5-pro-preview-06-05", - "name": "Gemini 2.5 Pro Preview 06-05", - "family": "gemini-pro", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2025-01", - "release_date": "2025-06-05", - "last_updated": "2025-06-05", - "modalities": { "input": ["text", "image", "audio", "video", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.25, "output": 10, "cache_read": 0.31 }, - "limit": { "context": 1048576, "output": 65536 } - }, - "gemini-2.5-pro-preview-05-06": { - "id": "gemini-2.5-pro-preview-05-06", - "name": "Gemini 2.5 Pro Preview 05-06", - "family": "gemini-pro", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2025-01", - "release_date": "2025-05-06", - "last_updated": "2025-05-06", - "modalities": { "input": ["text", "image", "audio", "video", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.25, "output": 10, "cache_read": 0.31 }, - "limit": { "context": 1048576, "output": 65536 } - }, - "gemini-2.0-flash-lite": { - "id": "gemini-2.0-flash-lite", - "name": "Gemini 2.0 Flash Lite", - "family": "gemini-flash-lite", - "attachment": true, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2024-06", - "release_date": "2024-12-11", - "last_updated": "2024-12-11", - "modalities": { "input": ["text", "image", "audio", "video", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.075, "output": 0.3 }, - "limit": { "context": 1048576, "output": 8192 } - }, - "gemini-1.5-flash-8b": { - "id": "gemini-1.5-flash-8b", - "name": "Gemini 1.5 Flash-8B", - "family": "gemini-flash", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-04", - "release_date": "2024-10-03", - "last_updated": "2024-10-03", - "modalities": { "input": ["text", "image", "audio", "video"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.0375, "output": 0.15, "cache_read": 0.01 }, - "limit": { "context": 1000000, "output": 8192 } - }, - "gemini-1.5-flash": { - "id": "gemini-1.5-flash", - "name": "Gemini 1.5 Flash", - "family": "gemini-flash", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-04", - "release_date": "2024-05-14", - "last_updated": "2024-05-14", - "modalities": { "input": ["text", "image", "audio", "video"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.075, "output": 0.3, "cache_read": 0.01875 }, - "limit": { "context": 1000000, "output": 8192 } - }, - "gemini-2.5-pro-preview-tts": { - "id": "gemini-2.5-pro-preview-tts", - "name": "Gemini 2.5 Pro Preview TTS", - "family": "gemini-flash", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": false, - "knowledge": "2025-01", - "release_date": "2025-05-01", - "last_updated": "2025-05-01", - "modalities": { "input": ["text"], "output": ["audio"] }, - "open_weights": false, - "cost": { "input": 1, "output": 20 }, - "limit": { "context": 8000, "output": 16000 } - }, - "gemini-3-flash-preview": { - "id": "gemini-3-flash-preview", - "name": "Gemini 3 Flash Preview", - "family": "gemini-flash", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2025-01", - "release_date": "2025-12-17", - "last_updated": "2025-12-17", - "modalities": { "input": ["text", "image", "video", "audio", "pdf"], "output": ["text"] }, - "open_weights": false, "cost": { - "input": 0.5, - "output": 3, - "cache_read": 0.05, - "context_over_200k": { "input": 0.5, "output": 3, "cache_read": 0.05 } - }, - "limit": { "context": 1048576, "output": 65536 } - }, - "gemini-2.5-pro": { - "id": "gemini-2.5-pro", - "name": "Gemini 2.5 Pro", - "family": "gemini-pro", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2025-01", - "release_date": "2025-03-20", - "last_updated": "2025-06-05", - "modalities": { "input": ["text", "image", "audio", "video", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.25, "output": 10, "cache_read": 0.31 }, - "limit": { "context": 1048576, "output": 65536 } - }, - "gemini-2.5-flash": { - "id": "gemini-2.5-flash", - "name": "Gemini 2.5 Flash", - "family": "gemini-flash", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2025-01", - "release_date": "2025-03-20", - "last_updated": "2025-06-05", - "modalities": { "input": ["text", "image", "audio", "video", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.3, "output": 2.5, "cache_read": 0.075, "input_audio": 1 }, - "limit": { "context": 1048576, "output": 65536 } - }, - "gemini-3.1-pro-preview-customtools": { - "id": "gemini-3.1-pro-preview-customtools", - "name": "Gemini 3.1 Pro Preview Custom Tools", - "family": "gemini-pro", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2025-01", - "release_date": "2026-02-19", - "last_updated": "2026-02-19", - "modalities": { "input": ["text", "image", "video", "audio", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { - "input": 2, - "output": 12, - "cache_read": 0.2, - "context_over_200k": { "input": 4, "output": 18, "cache_read": 0.4 } - }, - "limit": { "context": 1048576, "output": 65536 } - }, - "gemini-2.5-flash-preview-09-2025": { - "id": "gemini-2.5-flash-preview-09-2025", - "name": "Gemini 2.5 Flash Preview 09-25", - "family": "gemini-flash", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2025-01", - "release_date": "2025-09-25", - "last_updated": "2025-09-25", - "modalities": { "input": ["text", "image", "audio", "video", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.3, "output": 2.5, "cache_read": 0.075, "input_audio": 1 }, - "limit": { "context": 1048576, "output": 65536 } - }, - "gemini-2.0-flash": { - "id": "gemini-2.0-flash", - "name": "Gemini 2.0 Flash", - "family": "gemini-flash", - "attachment": true, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2024-06", - "release_date": "2024-12-11", - "last_updated": "2024-12-11", - "modalities": { "input": ["text", "image", "audio", "video", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.1, "output": 0.4, "cache_read": 0.025 }, - "limit": { "context": 1048576, "output": 8192 } - }, - "gemini-1.5-pro": { - "id": "gemini-1.5-pro", - "name": "Gemini 1.5 Pro", - "family": "gemini-pro", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-04", - "release_date": "2024-02-15", - "last_updated": "2024-02-15", - "modalities": { "input": ["text", "image", "audio", "video"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.25, "output": 5, "cache_read": 0.3125 }, - "limit": { "context": 1000000, "output": 8192 } - }, - "gemini-2.5-flash-lite-preview-06-17": { - "id": "gemini-2.5-flash-lite-preview-06-17", - "name": "Gemini 2.5 Flash Lite Preview 06-17", - "family": "gemini-flash-lite", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-01", - "release_date": "2025-06-17", - "last_updated": "2025-06-17", - "modalities": { "input": ["text", "image", "audio", "video", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.1, "output": 0.4, "cache_read": 0.025, "input_audio": 0.3 }, - "limit": { "context": 1048576, "output": 65536 } - }, - "gemini-2.5-flash-preview-tts": { - "id": "gemini-2.5-flash-preview-tts", - "name": "Gemini 2.5 Flash Preview TTS", - "family": "gemini-flash", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": false, - "knowledge": "2025-01", - "release_date": "2025-05-01", - "last_updated": "2025-05-01", - "modalities": { "input": ["text"], "output": ["audio"] }, - "open_weights": false, - "cost": { "input": 0.5, "output": 10 }, - "limit": { "context": 8000, "output": 16000 } + "input": 1.25, + "output": 10, + "cache_read": 0.125 + } }, "gemini-3.1-flash-lite-preview": { "id": "gemini-3.1-flash-lite-preview", @@ -15711,501 +41961,24 @@ "knowledge": "2025-01", "release_date": "2026-03-03", "last_updated": "2026-03-03", - "modalities": { "input": ["text", "image", "video", "audio", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.25, "output": 1.5, "cache_read": 0.025, "cache_write": 1 }, - "limit": { "context": 1048576, "output": 65536 } - }, - "gemini-flash-lite-latest": { - "id": "gemini-flash-lite-latest", - "name": "Gemini Flash-Lite Latest", - "family": "gemini-flash-lite", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2025-01", - "release_date": "2025-09-25", - "last_updated": "2025-09-25", - "modalities": { "input": ["text", "image", "audio", "video", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.1, "output": 0.4, "cache_read": 0.025 }, - "limit": { "context": 1048576, "output": 65536 } - }, - "gemini-3.1-flash-image-preview": { - "id": "gemini-3.1-flash-image-preview", - "name": "Gemini 3.1 Flash Image (Preview)", - "family": "gemini-flash", - "attachment": true, - "reasoning": true, - "tool_call": false, - "temperature": true, - "knowledge": "2025-01", - "release_date": "2026-02-26", - "last_updated": "2026-02-26", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text", "image"] }, - "open_weights": false, - "cost": { "input": 0.25, "output": 60 }, - "limit": { "context": 131072, "output": 32768 } - }, - "gemini-2.5-flash-image": { - "id": "gemini-2.5-flash-image", - "name": "Gemini 2.5 Flash Image", - "family": "gemini-flash", - "attachment": true, - "reasoning": true, - "tool_call": false, - "temperature": true, - "knowledge": "2025-06", - "release_date": "2025-08-26", - "last_updated": "2025-08-26", - "modalities": { "input": ["text", "image"], "output": ["text", "image"] }, - "open_weights": false, - "cost": { "input": 0.3, "output": 30, "cache_read": 0.075 }, - "limit": { "context": 32768, "output": 32768 } - }, - "gemini-flash-latest": { - "id": "gemini-flash-latest", - "name": "Gemini Flash Latest", - "family": "gemini-flash", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2025-01", - "release_date": "2025-09-25", - "last_updated": "2025-09-25", - "modalities": { "input": ["text", "image", "audio", "video", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.3, "output": 2.5, "cache_read": 0.075, "input_audio": 1 }, - "limit": { "context": 1048576, "output": 65536 } - }, - "gemma-3-12b-it": { - "id": "gemma-3-12b-it", - "name": "Gemma 3 12B", - "family": "gemma", - "attachment": true, - "reasoning": false, - "tool_call": false, - "structured_output": true, - "temperature": true, - "knowledge": "2024-10", - "release_date": "2025-03-13", - "last_updated": "2025-03-13", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 32768, "output": 8192 } - }, - "gemini-live-2.5-flash-preview-native-audio": { - "id": "gemini-live-2.5-flash-preview-native-audio", - "name": "Gemini Live 2.5 Flash Preview Native Audio", - "family": "gemini-flash", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": false, - "knowledge": "2025-01", - "release_date": "2025-06-17", - "last_updated": "2025-09-18", - "modalities": { "input": ["text", "audio", "video"], "output": ["text", "audio"] }, - "open_weights": false, - "cost": { "input": 0.5, "output": 2, "input_audio": 3, "output_audio": 12 }, - "limit": { "context": 131072, "output": 65536 } - }, - "gemini-embedding-001": { - "id": "gemini-embedding-001", - "name": "Gemini Embedding 001", - "family": "gemini", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": false, - "knowledge": "2025-05", - "release_date": "2025-05-20", - "last_updated": "2025-05-20", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.15, "output": 0 }, - "limit": { "context": 2048, "output": 3072 } - }, - "gemini-live-2.5-flash": { - "id": "gemini-live-2.5-flash", - "name": "Gemini Live 2.5 Flash", - "family": "gemini-flash", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-01", - "release_date": "2025-09-01", - "last_updated": "2025-09-01", - "modalities": { "input": ["text", "image", "audio", "video"], "output": ["text", "audio"] }, - "open_weights": false, - "cost": { "input": 0.5, "output": 2, "input_audio": 3, "output_audio": 12 }, - "limit": { "context": 128000, "output": 8000 } - }, - "gemini-2.5-flash-image-preview": { - "id": "gemini-2.5-flash-image-preview", - "name": "Gemini 2.5 Flash Image (Preview)", - "family": "gemini-flash", - "attachment": true, - "reasoning": true, - "tool_call": false, - "temperature": true, - "knowledge": "2025-06", - "release_date": "2025-08-26", - "last_updated": "2025-08-26", - "modalities": { "input": ["text", "image"], "output": ["text", "image"] }, - "open_weights": false, - "cost": { "input": 0.3, "output": 30, "cache_read": 0.075 }, - "limit": { "context": 32768, "output": 32768 } - } - } - }, - "cloudferro-sherlock": { - "id": "cloudferro-sherlock", - "env": ["CLOUDFERRO_SHERLOCK_API_KEY"], - "npm": "@ai-sdk/openai-compatible", - "api": "https://api-sherlock.cloudferro.com/openai/v1/", - "name": "CloudFerro Sherlock", - "doc": "https://docs.sherlock.cloudferro.com/", - "models": { - "openai/gpt-oss-120b": { - "id": "openai/gpt-oss-120b", - "name": "OpenAI GPT OSS 120B", - "family": "gpt-oss", - "attachment": false, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-08-28", - "last_updated": "2025-08-28", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 2.92, "output": 2.92 }, - "limit": { "context": 131000, "output": 131000 } - }, - "meta-llama/Llama-3.3-70B-Instruct": { - "id": "meta-llama/Llama-3.3-70B-Instruct", - "name": "Llama 3.3 70B Instruct", - "family": "llama", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-10-09", - "release_date": "2024-12-06", - "last_updated": "2024-12-06", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 2.92, "output": 2.92 }, - "limit": { "context": 70000, "output": 70000 } - }, - "MiniMaxAI/MiniMax-M2.5": { - "id": "MiniMaxAI/MiniMax-M2.5", - "name": "MiniMax-M2.5", - "family": "minimax", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2026-01", - "release_date": "2026-03-05", - "last_updated": "2026-03-05", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.3, "output": 1.2 }, - "limit": { "context": 196000, "output": 196000 } - }, - "speakleash/Bielik-11B-v3.0-Instruct": { - "id": "speakleash/Bielik-11B-v3.0-Instruct", - "name": "Bielik 11B v3.0 Instruct", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2025-03", - "release_date": "2025-03-13", - "last_updated": "2025-03-13", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.67, "output": 0.67 }, - "limit": { "context": 32000, "output": 32000 } - }, - "speakleash/Bielik-11B-v2.6-Instruct": { - "id": "speakleash/Bielik-11B-v2.6-Instruct", - "name": "Bielik 11B v2.6 Instruct", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2025-03", - "release_date": "2025-03-13", - "last_updated": "2025-03-13", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.67, "output": 0.67 }, - "limit": { "context": 32000, "output": 32000 } - } - } - }, - "google-vertex-anthropic": { - "id": "google-vertex-anthropic", - "env": ["GOOGLE_VERTEX_PROJECT", "GOOGLE_VERTEX_LOCATION", "GOOGLE_APPLICATION_CREDENTIALS"], - "npm": "@ai-sdk/google-vertex/anthropic", - "name": "Vertex (Anthropic)", - "doc": "https://cloud.google.com/vertex-ai/generative-ai/docs/partner-models/claude", - "models": { - "claude-opus-4-5@20251101": { - "id": "claude-opus-4-5@20251101", - "name": "Claude Opus 4.5", - "family": "claude-opus", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-03-31", - "release_date": "2025-11-24", - "last_updated": "2025-11-24", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 5, "output": 25, "cache_read": 0.5, "cache_write": 6.25 }, - "limit": { "context": 200000, "output": 64000 } - }, - "claude-haiku-4-5@20251001": { - "id": "claude-haiku-4-5@20251001", - "name": "Claude Haiku 4.5", - "family": "claude-haiku", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-02-28", - "release_date": "2025-10-15", - "last_updated": "2025-10-15", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1, "output": 5, "cache_read": 0.1, "cache_write": 1.25 }, - "limit": { "context": 200000, "output": 64000 } - }, - "claude-3-5-sonnet@20241022": { - "id": "claude-3-5-sonnet@20241022", - "name": "Claude Sonnet 3.5 v2", - "family": "claude-sonnet", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-04-30", - "release_date": "2024-10-22", - "last_updated": "2024-10-22", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 3, "output": 15, "cache_read": 0.3, "cache_write": 3.75 }, - "limit": { "context": 200000, "output": 8192 } - }, - "claude-3-7-sonnet@20250219": { - "id": "claude-3-7-sonnet@20250219", - "name": "Claude Sonnet 3.7", - "family": "claude-sonnet", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2024-10-31", - "release_date": "2025-02-19", - "last_updated": "2025-02-19", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 3, "output": 15, "cache_read": 0.3, "cache_write": 3.75 }, - "limit": { "context": 200000, "output": 64000 } - }, - "claude-opus-4-1@20250805": { - "id": "claude-opus-4-1@20250805", - "name": "Claude Opus 4.1", - "family": "claude-opus", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-03-31", - "release_date": "2025-08-05", - "last_updated": "2025-08-05", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 15, "output": 75, "cache_read": 1.5, "cache_write": 18.75 }, - "limit": { "context": 200000, "output": 32000 } - }, - "claude-3-5-haiku@20241022": { - "id": "claude-3-5-haiku@20241022", - "name": "Claude Haiku 3.5", - "family": "claude-haiku", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-07-31", - "release_date": "2024-10-22", - "last_updated": "2024-10-22", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.8, "output": 4, "cache_read": 0.08, "cache_write": 1 }, - "limit": { "context": 200000, "output": 8192 } - }, - "claude-opus-4@20250514": { - "id": "claude-opus-4@20250514", - "name": "Claude Opus 4", - "family": "claude-opus", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-03-31", - "release_date": "2025-05-22", - "last_updated": "2025-05-22", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 15, "output": 75, "cache_read": 1.5, "cache_write": 18.75 }, - "limit": { "context": 200000, "output": 32000 } - }, - "claude-sonnet-4-6@default": { - "id": "claude-sonnet-4-6@default", - "name": "Claude Sonnet 4.6", - "family": "claude-sonnet", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-08", - "release_date": "2026-02-17", - "last_updated": "2026-02-17", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { - "input": 3, - "output": 15, - "cache_read": 0.3, - "cache_write": 3.75, - "context_over_200k": { "input": 6, "output": 22.5, "cache_read": 0.6, "cache_write": 7.5 } + "modalities": { + "input": ["text", "image", "video", "audio", "pdf"], + "output": ["text"] }, - "limit": { "context": 200000, "output": 64000 } - }, - "claude-sonnet-4@20250514": { - "id": "claude-sonnet-4@20250514", - "name": "Claude Sonnet 4", - "family": "claude-sonnet", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-03-31", - "release_date": "2025-05-22", - "last_updated": "2025-05-22", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, "open_weights": false, - "cost": { "input": 3, "output": 15, "cache_read": 0.3, "cache_write": 3.75 }, - "limit": { "context": 200000, "output": 64000 } - }, - "claude-sonnet-4-5@20250929": { - "id": "claude-sonnet-4-5@20250929", - "name": "Claude Sonnet 4.5", - "family": "claude-sonnet", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-07-31", - "release_date": "2025-09-29", - "last_updated": "2025-09-29", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 3, "output": 15, "cache_read": 0.3, "cache_write": 3.75 }, - "limit": { "context": 200000, "output": 64000 } - }, - "claude-opus-4-6@default": { - "id": "claude-opus-4-6@default", - "name": "Claude Opus 4.6", - "family": "claude-opus", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-05", - "release_date": "2026-02-05", - "last_updated": "2026-02-05", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { - "input": 5, - "output": 25, - "cache_read": 0.5, - "cache_write": 6.25, - "context_over_200k": { "input": 10, "output": 37.5, "cache_read": 1, "cache_write": 12.5 } + "limit": { + "context": 1048576, + "output": 65536 }, - "limit": { "context": 1000000, "output": 128000 } - } - } - }, - "google-vertex": { - "id": "google-vertex", - "env": ["GOOGLE_VERTEX_PROJECT", "GOOGLE_VERTEX_LOCATION", "GOOGLE_APPLICATION_CREDENTIALS"], - "npm": "@ai-sdk/google-vertex", - "name": "Vertex", - "doc": "https://cloud.google.com/vertex-ai/generative-ai/docs/models", - "models": { - "gemini-2.5-flash-lite": { - "id": "gemini-2.5-flash-lite", - "name": "Gemini 2.5 Flash Lite", - "family": "gemini-flash-lite", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-01", - "release_date": "2025-06-17", - "last_updated": "2025-06-17", - "modalities": { "input": ["text", "image", "audio", "video", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.1, "output": 0.4, "cache_read": 0.025 }, - "limit": { "context": 1048576, "output": 65536 } - }, - "gemini-2.5-flash-lite-preview-09-2025": { - "id": "gemini-2.5-flash-lite-preview-09-2025", - "name": "Gemini 2.5 Flash Lite Preview 09-25", - "family": "gemini-flash-lite", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-01", - "release_date": "2025-09-25", - "last_updated": "2025-09-25", - "modalities": { "input": ["text", "image", "audio", "video", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.1, "output": 0.4, "cache_read": 0.025 }, - "limit": { "context": 1048576, "output": 65536 } - }, - "gemini-2.5-flash-preview-04-17": { - "id": "gemini-2.5-flash-preview-04-17", - "name": "Gemini 2.5 Flash Preview 04-17", - "family": "gemini-flash", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-01", - "release_date": "2025-04-17", - "last_updated": "2025-04-17", - "modalities": { "input": ["text", "image", "audio", "video", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.15, "output": 0.6, "cache_read": 0.0375 }, - "limit": { "context": 1048576, "output": 65536 } + "provider": { + "npm": "@ai-sdk/openai-compatible" + }, + "cost": { + "input": 0.25, + "output": 1.5, + "cache_read": 0.025, + "cache_write": 1 + } }, "gemini-3.1-pro-preview": { "id": "gemini-3.1-pro-preview", @@ -16219,31 +41992,14590 @@ "knowledge": "2025-01", "release_date": "2026-02-19", "last_updated": "2026-02-19", - "modalities": { "input": ["text", "image", "video", "audio", "pdf"], "output": ["text"] }, + "modalities": { + "input": ["text", "image", "video", "audio", "pdf"], + "output": ["text"] + }, "open_weights": false, + "limit": { + "context": 1048576, + "output": 65536 + }, + "provider": { + "npm": "@ai-sdk/openai-compatible" + }, "cost": { "input": 2, "output": 12, "cache_read": 0.2, - "context_over_200k": { "input": 4, "output": 18, "cache_read": 0.4 } - }, - "limit": { "context": 1048576, "output": 65536 } + "tiers": [ + { + "input": 4, + "output": 18, + "cache_read": 0.4, + "tier": { + "type": "context", + "size": 200000 + } + } + ], + "context_over_200k": { + "input": 4, + "output": 18, + "cache_read": 0.4 + } + } }, - "gemini-2.5-flash-preview-05-20": { - "id": "gemini-2.5-flash-preview-05-20", - "name": "Gemini 2.5 Flash Preview 05-20", - "family": "gemini-flash", + "gpt-5-mini": { + "id": "gpt-5-mini", + "name": "GPT-5 Mini", + "family": "gpt-mini", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": false, + "knowledge": "2024-05-30", + "release_date": "2025-08-07", + "last_updated": "2025-08-07", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 272000, + "output": 128000 + }, + "provider": { + "npm": "@ai-sdk/openai-compatible" + }, + "cost": { + "input": 0.25, + "output": 2, + "cache_read": 0.03 + } + }, + "gpt-5.3-codex": { + "id": "gpt-5.3-codex", + "name": "GPT-5.3 Codex", + "family": "gpt-codex", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": false, + "knowledge": "2025-08-31", + "release_date": "2026-02-24", + "last_updated": "2026-02-24", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "output": 128000 + }, + "cost": { + "input": 1.75, + "output": 14, + "cache_read": 0.175 + } + }, + "gpt-5.4-mini": { + "id": "gpt-5.4-mini", + "name": "GPT-5.4 Mini", + "family": "gpt-mini", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": false, + "knowledge": "2025-08-31", + "release_date": "2026-03-17", + "last_updated": "2026-03-17", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "input": 272000, + "output": 128000 + }, + "provider": { + "npm": "@ai-sdk/openai-compatible" + }, + "cost": { + "input": 0.75, + "output": 4.5, + "cache_read": 0.075 + } + }, + "gpt-5.4-nano": { + "id": "gpt-5.4-nano", + "name": "GPT-5.4 Nano", + "family": "gpt-nano", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": false, + "knowledge": "2025-08-31", + "release_date": "2026-03-17", + "last_updated": "2026-03-17", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "input": 272000, + "output": 128000 + }, + "provider": { + "npm": "@ai-sdk/openai-compatible" + }, + "cost": { + "input": 0.2, + "output": 1.25, + "cache_read": 0.02 + } + }, + "gpt-5.2-codex": { + "id": "gpt-5.2-codex", + "name": "GPT-5.2 Codex", + "family": "gpt-codex", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": false, + "knowledge": "2025-08-31", + "release_date": "2026-01-14", + "last_updated": "2026-01-14", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "output": 128000 + }, + "cost": { + "input": 1.75, + "output": 14, + "cache_read": 0.175 + } + }, + "gpt-5.4": { + "id": "gpt-5.4", + "name": "GPT-5.4", + "family": "gpt", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": false, + "knowledge": "2025-08-31", + "release_date": "2026-03-05", + "last_updated": "2026-03-05", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "input": 272000, + "output": 128000 + }, + "provider": { + "npm": "@ai-sdk/openai-compatible" + }, + "cost": { + "input": 2.5, + "output": 15, + "cache_read": 0.25 + } + }, + "deepseek-v3.2": { + "id": "deepseek-v3.2", + "name": "DeepSeek-V3.2", + "family": "deepseek", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-07", + "release_date": "2025-12-01", + "last_updated": "2025-12-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 128000 + }, + "provider": { + "npm": "@ai-sdk/openai-compatible" + }, + "cost": { + "input": 0.28, + "output": 0.42 + } + }, + "gpt-5.1-codex": { + "id": "gpt-5.1-codex", + "name": "GPT-5.1 Codex", + "family": "gpt-codex", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": false, + "knowledge": "2024-09-30", + "release_date": "2025-11-13", + "last_updated": "2025-11-13", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "output": 128000 + }, + "cost": { + "input": 1.25, + "output": 10, + "cache_read": 0.125 + } + }, + "gpt-5.5": { + "id": "gpt-5.5", + "name": "GPT-5.5", + "family": "gpt", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": false, + "knowledge": "2025-12-01", + "release_date": "2026-04-23", + "last_updated": "2026-04-23", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1050000, + "input": 922000, + "output": 128000 + }, + "provider": { + "npm": "@ai-sdk/openai-compatible" + }, + "cost": { + "input": 5, + "output": 30, + "cache_read": 0.5, + "context_over_200k": { + "input": 10, + "output": 45, + "cache_read": 1 + }, + "tiers": [ + { + "input": 10, + "output": 45, + "cache_read": 1, + "tier": { + "type": "context", + "size": 272000 + } + } + ] + } + }, + "deepseek-v4-pro": { + "id": "deepseek-v4-pro", + "name": "DeepSeek V4 Pro", + "family": "deepseek-thinking", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "structured_output": true, + "temperature": true, + "knowledge": "2025-05", + "release_date": "2026-04-24", + "last_updated": "2026-04-24", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 1000000, + "output": 384000 + }, + "provider": { + "npm": "@ai-sdk/openai-compatible" + }, + "cost": { + "input": 1.74, + "output": 3.48, + "cache_read": 0.145 + } + } + } + }, + "deepinfra": { + "id": "deepinfra", + "env": ["DEEPINFRA_API_KEY"], + "npm": "@ai-sdk/deepinfra", + "name": "Deep Infra", + "doc": "https://deepinfra.com/models", + "models": { + "Qwen/Qwen3.5-397B-A17B": { + "id": "Qwen/Qwen3.5-397B-A17B", + "name": "Qwen 3.5 397B A17B", + "family": "qwen", "attachment": true, "reasoning": true, "tool_call": true, "temperature": true, "knowledge": "2025-01", + "release_date": "2026-02-01", + "last_updated": "2026-04-20", + "modalities": { + "input": ["text", "image", "video"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 81920 + }, + "cost": { + "input": 0.54, + "output": 3.4 + } + }, + "Qwen/Qwen3.5-35B-A3B": { + "id": "Qwen/Qwen3.5-35B-A3B", + "name": "Qwen 3.5 35B A3B", + "family": "qwen", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2026-02-01", + "last_updated": "2026-04-20", + "modalities": { + "input": ["text", "image", "video"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 81920 + }, + "cost": { + "input": 0.2, + "output": 0.95 + } + }, + "Qwen/Qwen3-Coder-480B-A35B-Instruct-Turbo": { + "id": "Qwen/Qwen3-Coder-480B-A35B-Instruct-Turbo", + "name": "Qwen3 Coder 480B A35B Instruct Turbo", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-07-23", + "last_updated": "2025-07-23", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 66536 + }, + "cost": { + "input": 0.3, + "output": 1.2 + } + }, + "Qwen/Qwen3-Coder-480B-A35B-Instruct": { + "id": "Qwen/Qwen3-Coder-480B-A35B-Instruct", + "name": "Qwen3 Coder 480B A35B Instruct", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-07-23", + "last_updated": "2025-07-23", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 66536 + }, + "cost": { + "input": 0.4, + "output": 1.6 + } + }, + "Qwen/Qwen3.6-35B-A3B": { + "id": "Qwen/Qwen3.6-35B-A3B", + "name": "Qwen3.6 35B A3B", + "family": "qwen", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2026-04-01", + "last_updated": "2026-04-01", + "modalities": { + "input": ["text", "image", "video"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 81920 + }, + "cost": { + "input": 0.2, + "output": 1 + } + }, + "zai-org/GLM-4.7-Flash": { + "id": "zai-org/GLM-4.7-Flash", + "name": "GLM-4.7-Flash", + "family": "glm-flash", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2026-01-19", + "last_updated": "2026-01-19", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 202752, + "output": 16384 + }, + "cost": { + "input": 0.06, + "output": 0.4 + } + }, + "zai-org/GLM-4.5": { + "id": "zai-org/GLM-4.5", + "name": "GLM-4.5", + "family": "glm", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-07-28", + "last_updated": "2025-07-28", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 98304 + }, + "status": "deprecated", + "cost": { + "input": 0.6, + "output": 2.2 + } + }, + "zai-org/GLM-4.7": { + "id": "zai-org/GLM-4.7", + "name": "GLM-4.7", + "family": "glm", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-12-22", + "last_updated": "2025-12-22", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 202752, + "output": 16384 + }, + "cost": { + "input": 0.43, + "output": 1.75, + "cache_read": 0.08 + } + }, + "zai-org/GLM-5.1": { + "id": "zai-org/GLM-5.1", + "name": "GLM-5.1", + "family": "glm", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "structured_output": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2026-04-07", + "last_updated": "2026-04-07", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 202752, + "output": 16384 + }, + "cost": { + "input": 1.4, + "output": 4.4, + "cache_read": 0.26 + } + }, + "zai-org/GLM-5": { + "id": "zai-org/GLM-5", + "name": "GLM-5", + "family": "glm", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "temperature": true, + "knowledge": "2025-12", + "release_date": "2026-02-12", + "last_updated": "2026-02-12", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 202752, + "output": 16384 + }, + "cost": { + "input": 0.8, + "output": 2.56, + "cache_read": 0.16 + } + }, + "zai-org/GLM-4.6V": { + "id": "zai-org/GLM-4.6V", + "name": "GLM-4.6V", + "family": "glm", + "attachment": true, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-09-30", + "last_updated": "2025-09-30", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 204800, + "output": 131072 + }, + "cost": { + "input": 0.3, + "output": 0.9 + } + }, + "zai-org/GLM-4.6": { + "id": "zai-org/GLM-4.6", + "name": "GLM-4.6", + "family": "glm", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-09-30", + "last_updated": "2025-09-30", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 204800, + "output": 131072 + }, + "cost": { + "input": 0.43, + "output": 1.74, + "cache_read": 0.08 + } + }, + "meta-llama/Llama-4-Scout-17B-16E-Instruct": { + "id": "meta-llama/Llama-4-Scout-17B-16E-Instruct", + "name": "Llama 4 Scout 17B", + "family": "llama", + "attachment": false, + "reasoning": false, + "tool_call": true, + "release_date": "2025-04-05", + "last_updated": "2025-04-05", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 10000000, + "output": 16384 + }, + "cost": { + "input": 0.08, + "output": 0.3 + } + }, + "meta-llama/Llama-3.1-8B-Instruct": { + "id": "meta-llama/Llama-3.1-8B-Instruct", + "name": "Llama 3.1 8B", + "family": "llama", + "attachment": false, + "reasoning": false, + "tool_call": true, + "release_date": "2024-07-23", + "last_updated": "2024-07-23", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 16384 + }, + "cost": { + "input": 0.02, + "output": 0.05 + } + }, + "meta-llama/Llama-3.1-70B-Instruct": { + "id": "meta-llama/Llama-3.1-70B-Instruct", + "name": "Llama 3.1 70B", + "family": "llama", + "attachment": false, + "reasoning": false, + "tool_call": true, + "release_date": "2024-07-23", + "last_updated": "2024-07-23", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 16384 + }, + "cost": { + "input": 0.4, + "output": 0.4 + } + }, + "meta-llama/Llama-3.1-8B-Instruct-Turbo": { + "id": "meta-llama/Llama-3.1-8B-Instruct-Turbo", + "name": "Llama 3.1 8B Turbo", + "family": "llama", + "attachment": false, + "reasoning": false, + "tool_call": true, + "release_date": "2024-07-23", + "last_updated": "2024-07-23", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 16384 + }, + "cost": { + "input": 0.02, + "output": 0.03 + } + }, + "meta-llama/Llama-3.3-70B-Instruct-Turbo": { + "id": "meta-llama/Llama-3.3-70B-Instruct-Turbo", + "name": "Llama 3.3 70B Turbo", + "family": "llama", + "attachment": false, + "reasoning": false, + "tool_call": true, + "release_date": "2024-12-06", + "last_updated": "2024-12-06", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 16384 + }, + "cost": { + "input": 0.1, + "output": 0.32 + } + }, + "meta-llama/Llama-4-Maverick-17B-128E-Instruct-FP8": { + "id": "meta-llama/Llama-4-Maverick-17B-128E-Instruct-FP8", + "name": "Llama 4 Maverick 17B FP8", + "family": "llama", + "attachment": false, + "reasoning": false, + "tool_call": true, + "release_date": "2025-04-05", + "last_updated": "2025-04-05", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 1000000, + "output": 16384 + }, + "cost": { + "input": 0.15, + "output": 0.6 + } + }, + "meta-llama/Llama-3.1-70B-Instruct-Turbo": { + "id": "meta-llama/Llama-3.1-70B-Instruct-Turbo", + "name": "Llama 3.1 70B Turbo", + "family": "llama", + "attachment": false, + "reasoning": false, + "tool_call": true, + "release_date": "2024-07-23", + "last_updated": "2024-07-23", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 16384 + }, + "cost": { + "input": 0.4, + "output": 0.4 + } + }, + "deepseek-ai/DeepSeek-R1-0528": { + "id": "deepseek-ai/DeepSeek-R1-0528", + "name": "DeepSeek-R1-0528", + "attachment": false, + "reasoning": true, + "tool_call": false, + "interleaved": { + "field": "reasoning_content" + }, + "temperature": true, + "knowledge": "2024-07", + "release_date": "2025-05-28", + "last_updated": "2025-05-28", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 163840, + "output": 64000 + }, + "cost": { + "input": 0.5, + "output": 2.15, + "cache_read": 0.35 + } + }, + "deepseek-ai/DeepSeek-V3.2": { + "id": "deepseek-ai/DeepSeek-V3.2", + "name": "DeepSeek-V3.2", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "temperature": true, + "knowledge": "2024-12", + "release_date": "2025-12-02", + "last_updated": "2025-12-02", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 163840, + "output": 64000 + }, + "cost": { + "input": 0.26, + "output": 0.38, + "cache_read": 0.13 + } + }, + "openai/gpt-oss-20b": { + "id": "openai/gpt-oss-20b", + "name": "GPT OSS 20B", + "family": "gpt-oss", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2025-08-05", + "last_updated": "2025-08-05", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 16384 + }, + "cost": { + "input": 0.03, + "output": 0.14 + } + }, + "openai/gpt-oss-120b": { + "id": "openai/gpt-oss-120b", + "name": "GPT OSS 120B", + "family": "gpt-oss", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2025-08-05", + "last_updated": "2025-08-05", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 16384 + }, + "cost": { + "input": 0.05, + "output": 0.24 + } + }, + "moonshotai/Kimi-K2-Thinking": { + "id": "moonshotai/Kimi-K2-Thinking", + "name": "Kimi K2 Thinking", + "family": "kimi-thinking", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2025-11-06", + "last_updated": "2025-11-07", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 32768 + }, + "cost": { + "input": 0.47, + "output": 2 + } + }, + "moonshotai/Kimi-K2.6": { + "id": "moonshotai/Kimi-K2.6", + "name": "Kimi K2.6", + "family": "kimi", + "attachment": true, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "structured_output": true, + "temperature": true, + "knowledge": "2024-04", + "release_date": "2026-04-21", + "last_updated": "2026-04-21", + "modalities": { + "input": ["text", "image", "video"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 16384 + }, + "cost": { + "input": 0.75, + "output": 3.5, + "cache_read": 0.15 + } + }, + "moonshotai/Kimi-K2-Instruct": { + "id": "moonshotai/Kimi-K2-Instruct", + "name": "Kimi K2", + "family": "kimi", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2025-07-11", + "last_updated": "2025-07-11", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 32768 + }, + "cost": { + "input": 0.5, + "output": 2 + } + }, + "moonshotai/Kimi-K2-Instruct-0905": { + "id": "moonshotai/Kimi-K2-Instruct-0905", + "name": "Kimi K2 0905", + "family": "kimi", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2025-09-05", + "last_updated": "2025-09-05", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 262144 + }, + "cost": { + "input": 0.4, + "output": 2, + "cache_read": 0.15 + } + }, + "moonshotai/Kimi-K2.5": { + "id": "moonshotai/Kimi-K2.5", + "name": "Kimi K2.5", + "family": "kimi", + "attachment": true, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "structured_output": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2026-01-27", + "last_updated": "2026-01-27", + "modalities": { + "input": ["text", "image", "video"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 32768 + }, + "cost": { + "input": 0.5, + "output": 2.8 + } + }, + "MiniMaxAI/MiniMax-M2": { + "id": "MiniMaxAI/MiniMax-M2", + "name": "MiniMax M2", + "family": "minimax", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2025-11-13", + "last_updated": "2025-11-13", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 32768 + }, + "cost": { + "input": 0.254, + "output": 1.02 + } + }, + "MiniMaxAI/MiniMax-M2.5": { + "id": "MiniMaxAI/MiniMax-M2.5", + "name": "MiniMax M2.5", + "family": "minimax", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "temperature": true, + "knowledge": "2025-06", + "release_date": "2026-02-12", + "last_updated": "2026-02-12", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 204800, + "output": 131072 + }, + "cost": { + "input": 0.27, + "output": 0.95, + "cache_read": 0.03, + "cache_write": 0.375 + } + }, + "MiniMaxAI/MiniMax-M2.1": { + "id": "MiniMaxAI/MiniMax-M2.1", + "name": "MiniMax M2.1", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "temperature": true, + "knowledge": "2025-06", + "release_date": "2025-12-23", + "last_updated": "2025-12-23", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 196608, + "output": 196608 + }, + "cost": { + "input": 0.28, + "output": 1.2 + } + }, + "anthropic/claude-3-7-sonnet-latest": { + "id": "anthropic/claude-3-7-sonnet-latest", + "name": "Claude Sonnet 3.7 (Latest)", + "family": "claude-sonnet", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-10-31", + "release_date": "2025-03-13", + "last_updated": "2025-03-13", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 64000 + }, + "cost": { + "input": 3.3, + "output": 16.5, + "cache_read": 0.33 + } + }, + "anthropic/claude-4-opus": { + "id": "anthropic/claude-4-opus", + "name": "Claude Opus 4", + "family": "claude-opus", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-03-31", + "release_date": "2025-06-12", + "last_updated": "2025-06-12", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 32000 + }, + "cost": { + "input": 16.5, + "output": 82.5 + } + }, + "deepseek-ai/DeepSeek-V4-Flash": { + "id": "deepseek-ai/DeepSeek-V4-Flash", + "name": "DeepSeek V4 Flash", + "family": "deepseek-flash", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "structured_output": true, + "temperature": true, + "knowledge": "2025-05", + "release_date": "2026-04-24", + "last_updated": "2026-04-24", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 1000000, + "output": 384000 + }, + "cost": { + "input": 0.14, + "output": 0.28, + "cache_read": 0.028 + } + }, + "deepseek-ai/DeepSeek-V4-Pro": { + "id": "deepseek-ai/DeepSeek-V4-Pro", + "name": "DeepSeek V4 Pro", + "family": "deepseek-thinking", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "structured_output": true, + "temperature": true, + "knowledge": "2025-05", + "release_date": "2026-04-24", + "last_updated": "2026-04-24", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 65536, + "output": 65536 + }, + "cost": { + "input": 1.74, + "output": 3.48, + "cache_read": 0.145 + } + }, + "google/gemma-4-26B-A4B-it": { + "id": "google/gemma-4-26B-A4B-it", + "name": "Gemma 4 26B", + "family": "gemma", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2026-04-02", + "last_updated": "2026-04-02", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 256000, + "output": 8192 + }, + "cost": { + "input": 0.07, + "output": 0.34 + } + }, + "google/gemma-4-31B-it": { + "id": "google/gemma-4-31B-it", + "name": "Gemma 4 31B", + "family": "gemma", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2026-04-02", + "last_updated": "2026-04-02", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 256000, + "output": 8192 + }, + "cost": { + "input": 0.13, + "output": 0.38 + } + }, + "xiaomi/mimo-v2.5-pro": { + "id": "xiaomi/mimo-v2.5-pro", + "name": "MiMo-V2.5-Pro", + "family": "mimo", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "temperature": true, + "knowledge": "2024-12", + "release_date": "2026-04-22", + "last_updated": "2026-04-22", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 1048576, + "output": 16384 + }, + "cost": { + "input": 1, + "output": 3, + "cache_read": 0.2, + "context_over_200k": { + "input": 2, + "output": 6, + "cache_read": 0.4 + }, + "tiers": [ + { + "input": 2, + "output": 6, + "cache_read": 0.4, + "tier": { + "type": "context", + "size": 256000 + } + } + ] + } + }, + "xiaomi/mimo-v2.5": { + "id": "xiaomi/mimo-v2.5", + "name": "MiMo-V2.5", + "family": "mimo", + "attachment": true, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "temperature": true, + "knowledge": "2024-12", + "release_date": "2026-04-22", + "last_updated": "2026-04-22", + "modalities": { + "input": ["text", "image", "audio", "video"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 16384 + }, + "cost": { + "input": 0.4, + "output": 2, + "cache_read": 0.08, + "context_over_200k": { + "input": 0.8, + "output": 4, + "cache_read": 0.16 + }, + "tiers": [ + { + "input": 0.8, + "output": 4, + "cache_read": 0.16, + "tier": { + "type": "context", + "size": 256000 + } + } + ] + } + } + } + }, + "qiniu-ai": { + "id": "qiniu-ai", + "env": ["QINIU_API_KEY"], + "npm": "@ai-sdk/openai-compatible", + "api": "https://api.qnaigc.com/v1", + "name": "Qiniu", + "doc": "https://developer.qiniu.com/aitokenapi", + "models": { + "qwen3-235b-a22b": { + "id": "qwen3-235b-a22b", + "name": "Qwen 3 235B A22B", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": false, + "temperature": true, + "release_date": "2025-08-05", + "last_updated": "2025-08-05", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 32000 + } + }, + "doubao-seed-1.6-flash": { + "id": "doubao-seed-1.6-flash", + "name": "Doubao-Seed 1.6 Flash", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": false, + "temperature": true, + "release_date": "2025-08-15", + "last_updated": "2025-08-15", + "modalities": { + "input": ["text", "image", "video"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 256000, + "output": 32000 + } + }, + "qwen3-235b-a22b-instruct-2507": { + "id": "qwen3-235b-a22b-instruct-2507", + "name": "Qwen3 235b A22B Instruct 2507", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": false, + "temperature": true, + "release_date": "2025-08-12", + "last_updated": "2025-08-12", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 262144, + "output": 64000 + } + }, + "doubao-seed-2.0-code": { + "id": "doubao-seed-2.0-code", + "name": "Doubao Seed 2.0 Code", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": false, + "temperature": true, + "release_date": "2026-02-14", + "last_updated": "2026-02-14", + "modalities": { + "input": ["text", "image", "video"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 256000, + "output": 128000 + } + }, + "deepseek-v3-0324": { + "id": "deepseek-v3-0324", + "name": "DeepSeek-V3-0324", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": false, + "temperature": true, + "release_date": "2025-08-05", + "last_updated": "2025-08-05", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 16000 + } + }, + "doubao-1.5-thinking-pro": { + "id": "doubao-1.5-thinking-pro", + "name": "Doubao 1.5 Thinking Pro", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": false, + "temperature": true, + "release_date": "2025-08-05", + "last_updated": "2025-08-05", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 16000 + } + }, + "claude-3.7-sonnet": { + "id": "claude-3.7-sonnet", + "name": "Claude 3.7 Sonnet", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": false, + "temperature": true, + "release_date": "2025-08-05", + "last_updated": "2025-08-05", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 128000 + } + }, + "qwen3.5-397b-a17b": { + "id": "qwen3.5-397b-a17b", + "name": "Qwen3.5 397B A17B", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": false, + "temperature": true, + "release_date": "2026-02-22", + "last_updated": "2026-02-22", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 256000, + "output": 64000 + } + }, + "qwen-vl-max-2025-01-25": { + "id": "qwen-vl-max-2025-01-25", + "name": "Qwen VL-MAX-2025-01-25", + "attachment": true, + "reasoning": false, + "tool_call": true, + "structured_output": false, + "temperature": true, + "release_date": "2025-08-05", + "last_updated": "2025-08-05", + "modalities": { + "input": ["text", "image", "audio", "video"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 4096 + } + }, + "qwen3-32b": { + "id": "qwen3-32b", + "name": "Qwen3 32B", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": false, + "temperature": true, + "release_date": "2025-08-05", + "last_updated": "2025-08-05", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 40000, + "output": 4096 + } + }, + "doubao-1.5-pro-32k": { + "id": "doubao-1.5-pro-32k", + "name": "Doubao 1.5 Pro 32k", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": false, + "temperature": true, + "release_date": "2025-08-05", + "last_updated": "2025-08-05", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 12000 + } + }, + "qwen2.5-vl-72b-instruct": { + "id": "qwen2.5-vl-72b-instruct", + "name": "Qwen 2.5 VL 72B Instruct", + "attachment": true, + "reasoning": false, + "tool_call": true, + "structured_output": false, + "temperature": true, + "release_date": "2025-08-05", + "last_updated": "2025-08-05", + "modalities": { + "input": ["text", "image", "audio", "video"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 8192 + } + }, + "gemini-2.0-flash": { + "id": "gemini-2.0-flash", + "name": "Gemini 2.0 Flash", + "attachment": true, + "reasoning": false, + "tool_call": true, + "structured_output": false, + "temperature": true, + "release_date": "2025-08-05", + "last_updated": "2025-08-05", + "modalities": { + "input": ["text", "image", "audio", "video"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1048576, + "output": 8192 + } + }, + "qwen3-vl-30b-a3b-thinking": { + "id": "qwen3-vl-30b-a3b-thinking", + "name": "Qwen3-Vl 30b A3b Thinking", + "attachment": true, + "reasoning": false, + "tool_call": true, + "structured_output": false, + "temperature": true, + "release_date": "2026-02-09", + "last_updated": "2026-02-09", + "modalities": { + "input": ["text", "image", "video"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 32000 + } + }, + "gemini-3.0-pro-image-preview": { + "id": "gemini-3.0-pro-image-preview", + "name": "Gemini 3.0 Pro Image Preview", + "attachment": true, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "temperature": true, + "release_date": "2025-11-20", + "last_updated": "2025-11-20", + "modalities": { + "input": ["text", "image"], + "output": ["text", "image"] + }, + "open_weights": false, + "limit": { + "context": 32768, + "output": 8192 + } + }, + "gemini-2.5-pro": { + "id": "gemini-2.5-pro", + "name": "Gemini 2.5 Pro", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": false, + "temperature": true, + "release_date": "2025-08-05", + "last_updated": "2025-08-05", + "modalities": { + "input": ["text", "image", "video", "audio"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1048576, + "output": 65536 + } + }, + "claude-4.5-opus": { + "id": "claude-4.5-opus", + "name": "Claude 4.5 Opus", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": false, + "temperature": true, + "release_date": "2025-11-25", + "last_updated": "2025-11-25", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 200000 + } + }, + "deepseek-r1": { + "id": "deepseek-r1", + "name": "DeepSeek-R1", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": false, + "temperature": true, + "release_date": "2025-08-05", + "last_updated": "2025-08-05", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 32000 + } + }, + "claude-4.0-opus": { + "id": "claude-4.0-opus", + "name": "Claude 4.0 Opus", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": false, + "temperature": true, + "release_date": "2025-08-05", + "last_updated": "2025-08-05", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 32000 + } + }, + "claude-4.5-haiku": { + "id": "claude-4.5-haiku", + "name": "Claude 4.5 Haiku", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": false, + "temperature": true, + "release_date": "2025-10-16", + "last_updated": "2025-10-16", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 64000 + } + }, + "qwen3-max": { + "id": "qwen3-max", + "name": "Qwen3 Max", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": false, + "temperature": true, + "release_date": "2025-09-24", + "last_updated": "2025-09-24", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 262144, + "output": 65536 + } + }, + "gemini-3.0-flash-preview": { + "id": "gemini-3.0-flash-preview", + "name": "Gemini 3.0 Flash Preview", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": false, + "temperature": true, + "release_date": "2025-12-18", + "last_updated": "2025-12-18", + "modalities": { + "input": ["text", "image", "audio", "video", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000000, + "output": 64000 + } + }, + "gemini-2.5-flash-image": { + "id": "gemini-2.5-flash-image", + "name": "Gemini 2.5 Flash Image", + "attachment": true, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "temperature": true, + "release_date": "2025-10-22", + "last_updated": "2025-10-22", + "modalities": { + "input": ["text", "image"], + "output": ["image"] + }, + "open_weights": false, + "limit": { + "context": 32768, + "output": 8192 + } + }, + "glm-4.5": { + "id": "glm-4.5", + "name": "GLM 4.5", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": false, + "temperature": true, + "release_date": "2025-08-05", + "last_updated": "2025-08-05", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 131072, + "output": 98304 + } + }, + "claude-3.5-sonnet": { + "id": "claude-3.5-sonnet", + "name": "Claude 3.5 Sonnet", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": false, + "temperature": true, + "release_date": "2025-09-09", + "last_updated": "2025-09-09", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 8200 + } + }, + "claude-4.0-sonnet": { + "id": "claude-4.0-sonnet", + "name": "Claude 4.0 Sonnet", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": false, + "temperature": true, + "release_date": "2025-08-05", + "last_updated": "2025-08-05", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 64000 + } + }, + "qwen3-30b-a3b-instruct-2507": { + "id": "qwen3-30b-a3b-instruct-2507", + "name": "Qwen3 30b A3b Instruct 2507", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": false, + "temperature": true, + "release_date": "2026-02-04", + "last_updated": "2026-02-04", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 32000 + } + }, + "doubao-seed-1.6-thinking": { + "id": "doubao-seed-1.6-thinking", + "name": "Doubao-Seed 1.6 Thinking", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": false, + "temperature": true, + "release_date": "2025-08-15", + "last_updated": "2025-08-15", + "modalities": { + "input": ["image", "text", "video"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 256000, + "output": 32000 + } + }, + "gemini-2.5-flash": { + "id": "gemini-2.5-flash", + "name": "Gemini 2.5 Flash", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": false, + "temperature": true, + "release_date": "2025-08-05", + "last_updated": "2025-08-05", + "modalities": { + "input": ["text", "image", "audio", "video"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1048576, + "output": 64000 + } + }, + "qwen3-235b-a22b-thinking-2507": { + "id": "qwen3-235b-a22b-thinking-2507", + "name": "Qwen3 235B A22B Thinking 2507", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": false, + "temperature": true, + "release_date": "2025-08-12", + "last_updated": "2025-08-12", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 262144, + "output": 4096 + } + }, + "qwen3-next-80b-a3b-thinking": { + "id": "qwen3-next-80b-a3b-thinking", + "name": "Qwen3 Next 80B A3B Thinking", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": false, + "temperature": true, + "release_date": "2025-09-12", + "last_updated": "2025-09-12", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 131072, + "output": 32768 + } + }, + "qwen3-30b-a3b-thinking-2507": { + "id": "qwen3-30b-a3b-thinking-2507", + "name": "Qwen3 30b A3b Thinking 2507", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": false, + "temperature": true, + "release_date": "2026-02-04", + "last_updated": "2026-02-04", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 126000, + "output": 32000 + } + }, + "glm-4.5-air": { + "id": "glm-4.5-air", + "name": "GLM 4.5 Air", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": false, + "temperature": true, + "release_date": "2025-08-05", + "last_updated": "2025-08-05", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 131000, + "output": 4096 + } + }, + "deepseek-v3.1": { + "id": "deepseek-v3.1", + "name": "DeepSeek-V3.1", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": false, + "temperature": true, + "release_date": "2025-08-19", + "last_updated": "2025-08-19", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 32000 + } + }, + "qwen3-30b-a3b": { + "id": "qwen3-30b-a3b", + "name": "Qwen3 30B A3B", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": false, + "temperature": true, + "release_date": "2025-08-05", + "last_updated": "2025-08-05", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 40000, + "output": 4096 + } + }, + "claude-4.1-opus": { + "id": "claude-4.1-opus", + "name": "Claude 4.1 Opus", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": false, + "temperature": true, + "release_date": "2025-08-06", + "last_updated": "2025-08-06", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 32000 + } + }, + "doubao-seed-2.0-mini": { + "id": "doubao-seed-2.0-mini", + "name": "Doubao Seed 2.0 Mini", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": false, + "temperature": true, + "release_date": "2026-02-14", + "last_updated": "2026-02-14", + "modalities": { + "input": ["text", "image", "video"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 256000, + "output": 32000 + } + }, + "qwen3-next-80b-a3b-instruct": { + "id": "qwen3-next-80b-a3b-instruct", + "name": "Qwen3 Next 80B A3B Instruct", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": false, + "temperature": true, + "release_date": "2025-09-12", + "last_updated": "2025-09-12", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 131072, + "output": 32768 + } + }, + "doubao-seed-1.6": { + "id": "doubao-seed-1.6", + "name": "Doubao-Seed 1.6", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": false, + "temperature": true, + "release_date": "2025-08-15", + "last_updated": "2025-08-15", + "modalities": { + "input": ["text", "image", "video"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 256000, + "output": 32000 + } + }, + "qwen2.5-vl-7b-instruct": { + "id": "qwen2.5-vl-7b-instruct", + "name": "Qwen 2.5 VL 7B Instruct", + "attachment": true, + "reasoning": false, + "tool_call": true, + "structured_output": false, + "temperature": true, + "release_date": "2025-08-05", + "last_updated": "2025-08-05", + "modalities": { + "input": ["text", "image", "audio", "video"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 8192 + } + }, + "kling-v2-6": { + "id": "kling-v2-6", + "name": "Kling-V2 6", + "attachment": true, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "temperature": true, + "release_date": "2026-01-13", + "last_updated": "2026-01-13", + "modalities": { + "input": ["text", "image", "video"], + "output": ["video"] + }, + "open_weights": false, + "limit": { + "context": 99999999, + "output": 99999999 + } + }, + "MiniMax-M1": { + "id": "MiniMax-M1", + "name": "MiniMax M1", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": false, + "temperature": true, + "release_date": "2025-08-05", + "last_updated": "2025-08-05", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000000, + "output": 80000 + } + }, + "gemini-3.0-pro-preview": { + "id": "gemini-3.0-pro-preview", + "name": "Gemini 3.0 Pro Preview", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": false, + "temperature": true, + "release_date": "2025-11-19", + "last_updated": "2025-11-19", + "modalities": { + "input": ["text", "image", "video", "pdf", "audio"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000000, + "output": 64000 + } + }, + "doubao-seed-2.0-lite": { + "id": "doubao-seed-2.0-lite", + "name": "Doubao Seed 2.0 Lite", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": false, + "temperature": true, + "release_date": "2026-02-14", + "last_updated": "2026-02-14", + "modalities": { + "input": ["text", "image", "video"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 256000, + "output": 32000 + } + }, + "qwen3-coder-480b-a35b-instruct": { + "id": "qwen3-coder-480b-a35b-instruct", + "name": "Qwen3 Coder 480B A35B Instruct", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": false, + "temperature": true, + "release_date": "2025-08-14", + "last_updated": "2025-08-14", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 262000, + "output": 4096 + } + }, + "claude-3.5-haiku": { + "id": "claude-3.5-haiku", + "name": "Claude 3.5 Haiku", + "attachment": true, + "reasoning": false, + "tool_call": true, + "structured_output": false, + "temperature": true, + "release_date": "2025-08-26", + "last_updated": "2025-08-26", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 8192 + } + }, + "gpt-oss-20b": { + "id": "gpt-oss-20b", + "name": "gpt-oss-20b", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": false, + "temperature": true, + "release_date": "2025-08-06", + "last_updated": "2025-08-06", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 4096 + } + }, + "qwen-turbo": { + "id": "qwen-turbo", + "name": "Qwen-Turbo", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": false, + "temperature": true, + "release_date": "2025-08-05", + "last_updated": "2025-08-05", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000000, + "output": 4096 + } + }, + "kimi-k2": { + "id": "kimi-k2", + "name": "Kimi K2", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": false, + "temperature": true, + "release_date": "2025-08-05", + "last_updated": "2025-08-05", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 128000 + } + }, + "gemini-2.5-flash-lite": { + "id": "gemini-2.5-flash-lite", + "name": "Gemini 2.5 Flash Lite", + "attachment": true, + "reasoning": false, + "tool_call": true, + "structured_output": false, + "temperature": true, + "release_date": "2025-08-05", + "last_updated": "2025-08-05", + "modalities": { + "input": ["text", "image", "audio", "video"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1048576, + "output": 64000 + } + }, + "qwen3-max-preview": { + "id": "qwen3-max-preview", + "name": "Qwen3 Max Preview", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": false, + "temperature": true, + "release_date": "2025-09-06", + "last_updated": "2025-09-06", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 256000, + "output": 64000 + } + }, + "gpt-oss-120b": { + "id": "gpt-oss-120b", + "name": "gpt-oss-120b", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": false, + "temperature": true, + "release_date": "2025-08-06", + "last_updated": "2025-08-06", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 4096 + } + }, + "doubao-1.5-vision-pro": { + "id": "doubao-1.5-vision-pro", + "name": "Doubao 1.5 Vision Pro", + "attachment": true, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "temperature": true, + "release_date": "2025-08-05", + "last_updated": "2025-08-05", + "modalities": { + "input": ["text", "image", "video"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 16000 + } + }, + "claude-4.5-sonnet": { + "id": "claude-4.5-sonnet", + "name": "Claude 4.5 Sonnet", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": false, + "temperature": true, + "release_date": "2025-09-30", + "last_updated": "2025-09-30", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 64000 + } + }, + "deepseek-v3": { + "id": "deepseek-v3", + "name": "DeepSeek-V3", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "temperature": true, + "release_date": "2025-08-13", + "last_updated": "2025-08-13", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 16000 + } + }, + "deepseek-r1-0528": { + "id": "deepseek-r1-0528", + "name": "DeepSeek-R1-0528", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": false, + "temperature": true, + "release_date": "2025-08-05", + "last_updated": "2025-08-05", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 32000 + } + }, + "gemini-2.0-flash-lite": { + "id": "gemini-2.0-flash-lite", + "name": "Gemini 2.0 Flash Lite", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": false, + "temperature": true, + "release_date": "2025-08-05", + "last_updated": "2025-08-05", + "modalities": { + "input": ["text", "image", "audio", "video"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1048576, + "output": 8192 + } + }, + "qwen-max-2025-01-25": { + "id": "qwen-max-2025-01-25", + "name": "Qwen2.5-Max-2025-01-25", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": false, + "temperature": true, + "release_date": "2025-08-05", + "last_updated": "2025-08-05", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 4096 + } + }, + "doubao-seed-2.0-pro": { + "id": "doubao-seed-2.0-pro", + "name": "Doubao Seed 2.0 Pro", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": false, + "temperature": true, + "release_date": "2026-02-14", + "last_updated": "2026-02-14", + "modalities": { + "input": ["text", "image", "video"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 256000, + "output": 128000 + } + }, + "deepseek/deepseek-v3.2-exp-thinking": { + "id": "deepseek/deepseek-v3.2-exp-thinking", + "name": "DeepSeek/DeepSeek-V3.2-Exp-Thinking", + "attachment": false, + "reasoning": true, + "tool_call": false, + "structured_output": false, + "temperature": true, + "release_date": "2025-09-29", + "last_updated": "2025-09-29", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 32000 + } + }, + "deepseek/deepseek-v3.1-terminus-thinking": { + "id": "deepseek/deepseek-v3.1-terminus-thinking", + "name": "DeepSeek/DeepSeek-V3.1-Terminus-Thinking", + "attachment": false, + "reasoning": true, + "tool_call": false, + "structured_output": false, + "temperature": true, + "release_date": "2025-09-22", + "last_updated": "2025-09-22", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 32000 + } + }, + "deepseek/deepseek-v3.2-exp": { + "id": "deepseek/deepseek-v3.2-exp", + "name": "DeepSeek/DeepSeek-V3.2-Exp", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": false, + "temperature": true, + "release_date": "2025-09-29", + "last_updated": "2025-09-29", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 32000 + } + }, + "deepseek/deepseek-v3.2-251201": { + "id": "deepseek/deepseek-v3.2-251201", + "name": "Deepseek/DeepSeek-V3.2", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": false, + "temperature": true, + "release_date": "2025-12-01", + "last_updated": "2025-12-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 32000 + } + }, + "deepseek/deepseek-math-v2": { + "id": "deepseek/deepseek-math-v2", + "name": "Deepseek/Deepseek-Math-V2", + "attachment": false, + "reasoning": true, + "tool_call": false, + "structured_output": false, + "temperature": true, + "release_date": "2025-12-04", + "last_updated": "2025-12-04", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 160000, + "output": 160000 + } + }, + "deepseek/deepseek-v3.1-terminus": { + "id": "deepseek/deepseek-v3.1-terminus", + "name": "DeepSeek/DeepSeek-V3.1-Terminus", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": false, + "temperature": true, + "release_date": "2025-09-22", + "last_updated": "2025-09-22", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 32000 + } + }, + "stepfun-ai/gelab-zero-4b-preview": { + "id": "stepfun-ai/gelab-zero-4b-preview", + "name": "Stepfun-Ai/Gelab Zero 4b Preview", + "attachment": true, + "reasoning": false, + "tool_call": true, + "structured_output": false, + "temperature": true, + "release_date": "2025-12-23", + "last_updated": "2025-12-23", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 8192, + "output": 4096 + } + }, + "stepfun/step-3.5-flash": { + "id": "stepfun/step-3.5-flash", + "name": "Stepfun/Step-3.5 Flash", + "attachment": true, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "temperature": true, + "release_date": "2026-02-02", + "last_updated": "2026-02-02", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 64000, + "output": 4096 + } + }, + "x-ai/grok-4-fast": { + "id": "x-ai/grok-4-fast", + "name": "x-AI/Grok-4-Fast", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": false, + "temperature": true, + "release_date": "2025-09-20", + "last_updated": "2025-09-20", + "modalities": { + "input": ["text", "image", "audio", "video"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 2000000, + "output": 2000000 + } + }, + "x-ai/grok-code-fast-1": { + "id": "x-ai/grok-code-fast-1", + "name": "x-AI/Grok-Code-Fast 1", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": false, + "temperature": true, + "release_date": "2025-09-02", + "last_updated": "2025-09-02", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 256000, + "output": 10000 + } + }, + "x-ai/grok-4-fast-reasoning": { + "id": "x-ai/grok-4-fast-reasoning", + "name": "X-Ai/Grok-4-Fast-Reasoning", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": false, + "temperature": true, + "release_date": "2025-12-18", + "last_updated": "2025-12-18", + "modalities": { + "input": ["text", "image", "audio", "video"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 2000000, + "output": 2000000 + } + }, + "x-ai/grok-4.1-fast-non-reasoning": { + "id": "x-ai/grok-4.1-fast-non-reasoning", + "name": "X-Ai/Grok 4.1 Fast Non Reasoning", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": false, + "temperature": true, + "release_date": "2025-12-19", + "last_updated": "2025-12-19", + "modalities": { + "input": ["text", "image", "audio", "video"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 2000000, + "output": 2000000 + } + }, + "x-ai/grok-4.1-fast": { + "id": "x-ai/grok-4.1-fast", + "name": "x-AI/Grok-4.1-Fast", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": false, + "temperature": true, + "release_date": "2025-11-20", + "last_updated": "2025-11-20", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 2000000, + "output": 2000000 + } + }, + "x-ai/grok-4-fast-non-reasoning": { + "id": "x-ai/grok-4-fast-non-reasoning", + "name": "X-Ai/Grok-4-Fast-Non-Reasoning", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": false, + "temperature": true, + "release_date": "2025-12-18", + "last_updated": "2025-12-18", + "modalities": { + "input": ["text", "image", "audio", "video"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 2000000, + "output": 2000000 + } + }, + "x-ai/grok-4.1-fast-reasoning": { + "id": "x-ai/grok-4.1-fast-reasoning", + "name": "X-Ai/Grok 4.1 Fast Reasoning", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": false, + "temperature": true, + "release_date": "2025-12-19", + "last_updated": "2025-12-19", + "modalities": { + "input": ["text", "image", "audio", "video"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 20000000, + "output": 2000000 + } + }, + "openai/gpt-5.2": { + "id": "openai/gpt-5.2", + "name": "OpenAI/GPT-5.2", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": false, + "temperature": true, + "release_date": "2025-12-11", + "last_updated": "2025-12-11", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "output": 128000 + } + }, + "openai/gpt-5": { + "id": "openai/gpt-5", + "name": "OpenAI/GPT-5", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": false, + "temperature": true, + "release_date": "2025-09-19", + "last_updated": "2025-09-19", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "output": 128000 + } + }, + "z-ai/glm-4.7": { + "id": "z-ai/glm-4.7", + "name": "Z-Ai/GLM 4.7", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": false, + "temperature": true, + "release_date": "2025-12-23", + "last_updated": "2025-12-23", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 200000 + } + }, + "z-ai/glm-5": { + "id": "z-ai/glm-5", + "name": "Z-Ai/GLM 5", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": false, + "temperature": true, + "release_date": "2026-02-12", + "last_updated": "2026-02-12", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 128000 + } + }, + "z-ai/autoglm-phone-9b": { + "id": "z-ai/autoglm-phone-9b", + "name": "Z-Ai/Autoglm Phone 9b", + "attachment": true, + "reasoning": false, + "tool_call": true, + "structured_output": false, + "temperature": true, + "release_date": "2025-12-23", + "last_updated": "2025-12-23", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 12800, + "output": 4096 + } + }, + "z-ai/glm-4.6": { + "id": "z-ai/glm-4.6", + "name": "Z-AI/GLM 4.6", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": false, + "temperature": true, + "release_date": "2025-10-11", + "last_updated": "2025-10-11", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 200000 + } + }, + "minimax/minimax-m2": { + "id": "minimax/minimax-m2", + "name": "Minimax/Minimax-M2", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": false, + "temperature": true, + "release_date": "2025-10-28", + "last_updated": "2025-10-28", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 128000 + } + }, + "minimax/minimax-m2.1": { + "id": "minimax/minimax-m2.1", + "name": "Minimax/Minimax-M2.1", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": false, + "temperature": true, + "release_date": "2025-12-23", + "last_updated": "2025-12-23", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 204800, + "output": 128000 + } + }, + "minimax/minimax-m2.5": { + "id": "minimax/minimax-m2.5", + "name": "Minimax/Minimax-M2.5", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": false, + "temperature": true, + "release_date": "2026-02-12", + "last_updated": "2026-02-12", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 204800, + "output": 128000 + } + }, + "minimax/minimax-m2.5-highspeed": { + "id": "minimax/minimax-m2.5-highspeed", + "name": "Minimax/Minimax-M2.5 Highspeed", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": false, + "temperature": true, + "release_date": "2026-02-14", + "last_updated": "2026-02-14", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 204800, + "output": 128000 + } + }, + "moonshotai/kimi-k2.5": { + "id": "moonshotai/kimi-k2.5", + "name": "Moonshotai/Kimi-K2.5", + "attachment": true, + "reasoning": false, + "tool_call": true, + "structured_output": false, + "temperature": true, + "release_date": "2026-01-28", + "last_updated": "2026-01-28", + "modalities": { + "input": ["text", "image", "video"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 256000, + "output": 256000 + } + }, + "moonshotai/kimi-k2-0905": { + "id": "moonshotai/kimi-k2-0905", + "name": "Kimi K2 0905", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": false, + "temperature": true, + "release_date": "2025-09-08", + "last_updated": "2025-09-08", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 256000, + "output": 100000 + } + }, + "moonshotai/kimi-k2-thinking": { + "id": "moonshotai/kimi-k2-thinking", + "name": "Kimi K2 Thinking", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": false, + "temperature": true, + "release_date": "2025-11-07", + "last_updated": "2025-11-07", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 256000, + "output": 100000 + } + }, + "meituan/longcat-flash-chat": { + "id": "meituan/longcat-flash-chat", + "name": "Meituan/Longcat-Flash-Chat", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "temperature": true, + "release_date": "2025-11-05", + "last_updated": "2025-11-05", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 131072, + "output": 131072 + } + }, + "meituan/longcat-flash-lite": { + "id": "meituan/longcat-flash-lite", + "name": "Meituan/Longcat-Flash-Lite", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": false, + "temperature": true, + "release_date": "2026-02-06", + "last_updated": "2026-02-06", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 256000, + "output": 320000 + } + }, + "mimo-v2-flash": { + "id": "mimo-v2-flash", + "name": "Mimo-V2-Flash", + "family": "mimo", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-12-01", + "release_date": "2025-12-16", + "last_updated": "2026-02-04", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 256000, + "output": 256000 + }, + "cost": { + "input": 0.1, + "output": 0.3, + "cache_read": 0.01 + } + }, + "xiaomi/mimo-v2-flash": { + "id": "xiaomi/mimo-v2-flash", + "name": "Xiaomi/Mimo-V2-Flash", + "family": "mimo", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-12-01", + "release_date": "2025-12-16", + "last_updated": "2026-02-04", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 256000, + "output": 256000 + }, + "cost": { + "input": 0.1, + "output": 0.3, + "cache_read": 0.01 + } + } + } + }, + "kilo": { + "id": "kilo", + "env": ["KILO_API_KEY"], + "npm": "@ai-sdk/openai-compatible", + "api": "https://api.kilo.ai/api/gateway", + "name": "Kilo Gateway", + "doc": "https://kilo.ai", + "models": { + "rekaai/reka-edge": { + "id": "rekaai/reka-edge", + "name": "Reka Edge", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "release_date": "2026-03-20", + "last_updated": "2026-04-11", + "modalities": { + "input": ["image", "text", "video"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 16384, + "output": 16384 + }, + "cost": { + "input": 0.1, + "output": 0.1 + } + }, + "rekaai/reka-flash-3": { + "id": "rekaai/reka-flash-3", + "name": "Reka Flash 3", + "attachment": false, + "reasoning": true, + "tool_call": false, + "temperature": true, + "release_date": "2025-03-12", + "last_updated": "2026-04-11", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 65536, + "output": 65536 + }, + "cost": { + "input": 0.1, + "output": 0.2 + } + }, + "ai21/jamba-large-1.7": { + "id": "ai21/jamba-large-1.7", + "name": "AI21: Jamba Large 1.7", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "release_date": "2025-08-09", + "last_updated": "2026-03-15", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 256000, + "output": 4096 + }, + "cost": { + "input": 2, + "output": 8 + } + }, + "alibaba/tongyi-deepresearch-30b-a3b": { + "id": "alibaba/tongyi-deepresearch-30b-a3b", + "name": "Tongyi DeepResearch 30B A3B", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2025-09-18", + "last_updated": "2026-03-15", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 131072, + "output": 131072 + }, + "cost": { + "input": 0.09, + "output": 0.45 + } + }, + "inflection/inflection-3-pi": { + "id": "inflection/inflection-3-pi", + "name": "Inflection: Inflection 3 Pi", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "release_date": "2024-10-11", + "last_updated": "2026-03-15", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 8000, + "output": 1024 + }, + "cost": { + "input": 2.5, + "output": 10 + } + }, + "inflection/inflection-3-productivity": { + "id": "inflection/inflection-3-productivity", + "name": "Inflection: Inflection 3 Productivity", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "release_date": "2024-10-11", + "last_updated": "2026-03-15", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 8000, + "output": 1024 + }, + "cost": { + "input": 2.5, + "output": 10 + } + }, + "liquid/lfm-2-24b-a2b": { + "id": "liquid/lfm-2-24b-a2b", + "name": "LiquidAI: LFM2-24B-A2B", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "release_date": "2026-02-26", + "last_updated": "2026-03-15", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 32768, + "output": 32768 + }, + "cost": { + "input": 0.03, + "output": 0.12 + } + }, + "writer/palmyra-x5": { + "id": "writer/palmyra-x5", + "name": "Writer: Palmyra X5", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "release_date": "2025-04-28", + "last_updated": "2025-04-28", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1040000, + "output": 8192 + }, + "cost": { + "input": 0.6, + "output": 6 + } + }, + "ibm-granite/granite-4.1-8b": { + "id": "ibm-granite/granite-4.1-8b", + "name": "IBM: Granite 4.1 8B", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "release_date": "2026-04-30", + "last_updated": "2026-05-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 131072, + "output": 131072 + }, + "cost": { + "input": 0.05, + "output": 0.1, + "cache_read": 0.05 + } + }, + "ibm-granite/granite-4.0-h-micro": { + "id": "ibm-granite/granite-4.0-h-micro", + "name": "IBM: Granite 4.0 Micro", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "release_date": "2025-10-20", + "last_updated": "2026-03-15", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131000, + "output": 32768 + }, + "cost": { + "input": 0.017, + "output": 0.11 + } + }, + "essentialai/rnj-1-instruct": { + "id": "essentialai/rnj-1-instruct", + "name": "EssentialAI: Rnj 1 Instruct", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "release_date": "2025-12-05", + "last_updated": "2026-03-15", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 32768, + "output": 6554 + }, + "cost": { + "input": 0.15, + "output": 0.15 + } + }, + "perplexity/sonar-pro": { + "id": "perplexity/sonar-pro", + "name": "Perplexity: Sonar Pro", + "attachment": true, + "reasoning": false, + "tool_call": false, + "temperature": true, + "release_date": "2024-01-01", + "last_updated": "2025-09-01", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 8000 + }, + "cost": { + "input": 3, + "output": 15 + } + }, + "perplexity/sonar-deep-research": { + "id": "perplexity/sonar-deep-research", + "name": "Perplexity: Sonar Deep Research", + "attachment": false, + "reasoning": true, + "tool_call": false, + "temperature": true, + "release_date": "2025-01-27", + "last_updated": "2025-01-27", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 25600 + }, + "cost": { + "input": 2, + "output": 8 + } + }, + "perplexity/sonar": { + "id": "perplexity/sonar", + "name": "Perplexity: Sonar", + "attachment": true, + "reasoning": false, + "tool_call": false, + "temperature": true, + "release_date": "2024-01-01", + "last_updated": "2025-09-01", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 127072, + "output": 25415 + }, + "cost": { + "input": 1, + "output": 1 + } + }, + "perplexity/sonar-pro-search": { + "id": "perplexity/sonar-pro-search", + "name": "Perplexity: Sonar Pro Search", + "attachment": true, + "reasoning": true, + "tool_call": false, + "temperature": true, + "release_date": "2025-10-31", + "last_updated": "2026-03-15", + "modalities": { + "input": ["image", "text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 8000 + }, + "cost": { + "input": 3, + "output": 15 + } + }, + "perplexity/sonar-reasoning-pro": { + "id": "perplexity/sonar-reasoning-pro", + "name": "Perplexity: Sonar Reasoning Pro", + "attachment": true, + "reasoning": true, + "tool_call": false, + "temperature": true, + "release_date": "2024-01-01", + "last_updated": "2025-09-01", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 25600 + }, + "cost": { + "input": 2, + "output": 8 + } + }, + "deepseek/deepseek-chat-v3.1": { + "id": "deepseek/deepseek-chat-v3.1", + "name": "DeepSeek: DeepSeek V3.1", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2025-08-21", + "last_updated": "2025-08-21", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 32768, + "output": 7168 + }, + "cost": { + "input": 0.15, + "output": 0.75 + } + }, + "deepseek/deepseek-chat": { + "id": "deepseek/deepseek-chat", + "name": "DeepSeek: DeepSeek V3", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "release_date": "2024-12-01", + "last_updated": "2026-03-15", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 163840, + "output": 163840 + }, + "cost": { + "input": 0.32, + "output": 0.89, + "cache_read": 0.15 + } + }, + "deepseek/deepseek-r1-distill-llama-70b": { + "id": "deepseek/deepseek-r1-distill-llama-70b", + "name": "DeepSeek: R1 Distill Llama 70B", + "attachment": false, + "reasoning": true, + "tool_call": false, + "temperature": true, + "release_date": "2025-01-23", + "last_updated": "2026-03-15", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 16384 + }, + "cost": { + "input": 0.7, + "output": 0.8, + "cache_read": 0.015 + } + }, + "deepseek/deepseek-r1": { + "id": "deepseek/deepseek-r1", + "name": "DeepSeek: R1", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2025-01-20", + "last_updated": "2025-01-20", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 64000, + "output": 16000 + }, + "cost": { + "input": 0.7, + "output": 2.5 + } + }, + "deepseek/deepseek-v3.2-speciale": { + "id": "deepseek/deepseek-v3.2-speciale", + "name": "DeepSeek: DeepSeek V3.2 Speciale", + "attachment": false, + "reasoning": true, + "tool_call": false, + "temperature": true, + "release_date": "2025-12-01", + "last_updated": "2026-03-15", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 163840, + "output": 163840 + }, + "cost": { + "input": 0.4, + "output": 1.2, + "cache_read": 0.135 + } + }, + "deepseek/deepseek-r1-distill-qwen-32b": { + "id": "deepseek/deepseek-r1-distill-qwen-32b", + "name": "DeepSeek: R1 Distill Qwen 32B", + "attachment": false, + "reasoning": true, + "tool_call": false, + "temperature": true, + "release_date": "2025-01-01", + "last_updated": "2025-11-25", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 32768, + "output": 32768 + }, + "cost": { + "input": 0.29, + "output": 0.29 + } + }, + "deepseek/deepseek-v3.2-exp": { + "id": "deepseek/deepseek-v3.2-exp", + "name": "DeepSeek: DeepSeek V3.2 Exp", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2025-01-01", + "last_updated": "2025-09-29", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 163840, + "output": 65536 + }, + "cost": { + "input": 0.27, + "output": 0.41 + } + }, + "deepseek/deepseek-v4-flash": { + "id": "deepseek/deepseek-v4-flash", + "name": "DeepSeek: DeepSeek V4 Flash", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2026-04-24", + "last_updated": "2026-05-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1048576, + "output": 384000 + }, + "cost": { + "input": 0.14, + "output": 0.28, + "cache_read": 0.0028 + } + }, + "deepseek/deepseek-v4-pro": { + "id": "deepseek/deepseek-v4-pro", + "name": "DeepSeek: DeepSeek V4 Pro", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2026-04-24", + "last_updated": "2026-05-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1048576, + "output": 384000 + }, + "cost": { + "input": 0.435, + "output": 0.87, + "cache_read": 0.003625 + } + }, + "deepseek/deepseek-v3.2": { + "id": "deepseek/deepseek-v3.2", + "name": "DeepSeek: DeepSeek V3.2", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2025-12-01", + "last_updated": "2026-03-15", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 163840, + "output": 65536 + }, + "cost": { + "input": 0.26, + "output": 0.38, + "cache_read": 0.125 + } + }, + "deepseek/deepseek-chat-v3-0324": { + "id": "deepseek/deepseek-chat-v3-0324", + "name": "DeepSeek: DeepSeek V3 0324", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2025-03-24", + "last_updated": "2026-03-15", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 163840, + "output": 65536 + }, + "cost": { + "input": 0.2, + "output": 0.77, + "cache_read": 0.095 + } + }, + "deepseek/deepseek-r1-0528": { + "id": "deepseek/deepseek-r1-0528", + "name": "DeepSeek: R1 0528", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2025-05-28", + "last_updated": "2026-03-15", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 163840, + "output": 65536 + }, + "cost": { + "input": 0.45, + "output": 2.15, + "cache_read": 0.2 + } + }, + "deepseek/deepseek-v3.1-terminus": { + "id": "deepseek/deepseek-v3.1-terminus", + "name": "DeepSeek: DeepSeek V3.1 Terminus", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2025-09-22", + "last_updated": "2025-09-22", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 163840, + "output": 32768 + }, + "cost": { + "input": 0.21, + "output": 0.79, + "cache_read": 0.13 + } + }, + "openrouter/auto": { + "id": "openrouter/auto", + "name": "Auto Router", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2026-03-15", + "last_updated": "2026-03-15", + "modalities": { + "input": ["audio", "image", "pdf", "text", "video"], + "output": ["image", "text"] + }, + "open_weights": false, + "limit": { + "context": 2000000, + "output": 32768 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "openrouter/bodybuilder": { + "id": "openrouter/bodybuilder", + "name": "Body Builder (beta)", + "attachment": false, + "reasoning": false, + "tool_call": false, + "release_date": "2026-03-15", + "last_updated": "2026-03-15", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 32768 + }, + "status": "beta", + "cost": { + "input": 0, + "output": 0 + } + }, + "openrouter/owl-alpha": { + "id": "openrouter/owl-alpha", + "name": "Owl Alpha", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2026-04-28", + "last_updated": "2026-04-30", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1048756, + "output": 262144 + }, + "status": "alpha", + "cost": { + "input": 0, + "output": 0 + } + }, + "openrouter/pareto-code": { + "id": "openrouter/pareto-code", + "name": "Pareto Code Router", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": false, + "release_date": "2026-04-21", + "last_updated": "2026-05-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 65536 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "openrouter/free": { + "id": "openrouter/free", + "name": "Free Models Router", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2026-02-01", + "last_updated": "2026-03-15", + "modalities": { + "input": ["image", "text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 32768 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "inclusionai/ling-2.6-1t:free": { + "id": "inclusionai/ling-2.6-1t:free", + "name": "inclusionAI: Ling-2.6-1T (free)", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "release_date": "2026-04-23", + "last_updated": "2026-05-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 262144, + "output": 32768 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "inclusionai/ling-2.6-flash": { + "id": "inclusionai/ling-2.6-flash", + "name": "inclusionAI: Ling-2.6 Flash", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "release_date": "2026-04-21", + "last_updated": "2026-05-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 262144, + "output": 32768 + }, + "cost": { + "input": 0.08, + "output": 0.24, + "cache_read": 0.016 + } + }, + "arcee-ai/trinity-mini": { + "id": "arcee-ai/trinity-mini", + "name": "Arcee AI: Trinity Mini", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2025-12", + "last_updated": "2026-01-28", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 131072 + }, + "cost": { + "input": 0.045, + "output": 0.15 + } + }, + "arcee-ai/virtuoso-large": { + "id": "arcee-ai/virtuoso-large", + "name": "Arcee AI: Virtuoso Large", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "release_date": "2025-05-06", + "last_updated": "2026-03-15", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 64000 + }, + "cost": { + "input": 0.75, + "output": 1.2 + } + }, + "arcee-ai/trinity-large-thinking": { + "id": "arcee-ai/trinity-large-thinking", + "name": "Arcee AI: Trinity Large Thinking", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2026-04-01", + "last_updated": "2026-04-11", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 262144 + }, + "cost": { + "input": 0.22, + "output": 0.85 + } + }, + "arcee-ai/spotlight": { + "id": "arcee-ai/spotlight", + "name": "Arcee AI: Spotlight", + "attachment": true, + "reasoning": false, + "tool_call": false, + "temperature": true, + "release_date": "2025-05-06", + "last_updated": "2026-03-15", + "modalities": { + "input": ["image", "text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 65537 + }, + "cost": { + "input": 0.18, + "output": 0.18 + } + }, + "arcee-ai/maestro-reasoning": { + "id": "arcee-ai/maestro-reasoning", + "name": "Arcee AI: Maestro Reasoning", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "release_date": "2025-05-06", + "last_updated": "2026-03-15", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 32000 + }, + "cost": { + "input": 0.9, + "output": 3.3 + } + }, + "arcee-ai/coder-large": { + "id": "arcee-ai/coder-large", + "name": "Arcee AI: Coder Large", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "release_date": "2025-05-06", + "last_updated": "2026-03-15", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 32768, + "output": 32768 + }, + "cost": { + "input": 0.5, + "output": 0.8 + } + }, + "arcee-ai/trinity-large-preview": { + "id": "arcee-ai/trinity-large-preview", + "name": "Arcee AI: Trinity Large Preview", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "release_date": "2026-01-28", + "last_updated": "2026-05-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 131000, + "output": 32768 + }, + "cost": { + "input": 0.15, + "output": 0.45 + } + }, + "deepcogito/cogito-v2.1-671b": { + "id": "deepcogito/cogito-v2.1-671b", + "name": "Deep Cogito: Cogito v2.1 671B", + "attachment": false, + "reasoning": true, + "tool_call": false, + "temperature": true, + "release_date": "2025-11-14", + "last_updated": "2026-03-15", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 32768 + }, + "cost": { + "input": 1.25, + "output": 1.25 + } + }, + "upstage/solar-pro-3": { + "id": "upstage/solar-pro-3", + "name": "Upstage: Solar Pro 3", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2026-01-27", + "last_updated": "2026-03-15", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 32768 + }, + "cost": { + "input": 0.15, + "output": 0.6 + } + }, + "nex-agi/deepseek-v3.1-nex-n1": { + "id": "nex-agi/deepseek-v3.1-nex-n1", + "name": "Nex AGI: DeepSeek V3.1 Nex N1", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "release_date": "2025-01-01", + "last_updated": "2025-11-25", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 131072, + "output": 163840 + }, + "cost": { + "input": 0.27, + "output": 1 + } + }, + "bytedance-seed/seed-1.6": { + "id": "bytedance-seed/seed-1.6", + "name": "ByteDance Seed: Seed 1.6", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2025-09", + "last_updated": "2025-09", + "modalities": { + "input": ["image", "text", "video"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 262144, + "output": 32768 + }, + "cost": { + "input": 0.25, + "output": 2 + } + }, + "bytedance-seed/seed-2.0-lite": { + "id": "bytedance-seed/seed-2.0-lite", + "name": "ByteDance Seed: Seed-2.0-Lite", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2026-03-10", + "last_updated": "2026-03-15", + "modalities": { + "input": ["image", "text", "video"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 131072 + }, + "cost": { + "input": 0.25, + "output": 2 + } + }, + "bytedance-seed/seed-1.6-flash": { + "id": "bytedance-seed/seed-1.6-flash", + "name": "ByteDance Seed: Seed 1.6 Flash", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2025-12-23", + "last_updated": "2026-03-15", + "modalities": { + "input": ["image", "text", "video"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 32768 + }, + "cost": { + "input": 0.075, + "output": 0.3 + } + }, + "bytedance-seed/seed-2.0-mini": { + "id": "bytedance-seed/seed-2.0-mini", + "name": "ByteDance Seed: Seed-2.0-Mini", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2026-02-27", + "last_updated": "2026-03-15", + "modalities": { + "input": ["image", "text", "video"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 131072 + }, + "cost": { + "input": 0.1, + "output": 0.4 + } + }, + "mancer/weaver": { + "id": "mancer/weaver", + "name": "Mancer: Weaver (alpha)", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "release_date": "2023-08-02", + "last_updated": "2026-03-15", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 8000, + "output": 2000 + }, + "cost": { + "input": 0.75, + "output": 1 + } + }, + "anthracite-org/magnum-v4-72b": { + "id": "anthracite-org/magnum-v4-72b", + "name": "Magnum v4 72B", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "release_date": "2024-10-22", + "last_updated": "2026-03-15", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 16384, + "output": 2048 + }, + "cost": { + "input": 3, + "output": 5 + } + }, + "~google/gemini-pro-latest": { + "id": "~google/gemini-pro-latest", + "name": "Google: Gemini Pro Latest", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2026-04-27", + "last_updated": "2026-05-01", + "modalities": { + "input": ["text", "image", "audio", "video", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1048576, + "output": 65536 + }, + "cost": { + "input": 2, + "output": 12, + "cache_read": 0.2, + "cache_write": 0.375 + } + }, + "~google/gemini-flash-latest": { + "id": "~google/gemini-flash-latest", + "name": "Google: Gemini Flash Latest", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2026-04-27", + "last_updated": "2026-05-01", + "modalities": { + "input": ["text", "image", "audio", "video", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1048576, + "output": 65536 + }, + "cost": { + "input": 0.5, + "output": 3, + "cache_read": 0.05, + "cache_write": 0.08333333333333334 + } + }, + "kilo-auto/balanced": { + "id": "kilo-auto/balanced", + "name": "Kilo Auto Balanced", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2026-03-15", + "last_updated": "2026-03-15", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 204800, + "output": 131072 + }, + "cost": { + "input": 0.6, + "output": 3 + } + }, + "kilo-auto/frontier": { + "id": "kilo-auto/frontier", + "name": "Kilo Auto Frontier", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2026-03-15", + "last_updated": "2026-03-15", + "modalities": { + "input": ["image", "text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000000, + "output": 128000 + }, + "cost": { + "input": 5, + "output": 25 + } + }, + "kilo-auto/small": { + "id": "kilo-auto/small", + "name": "Kilo Auto Small", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2026-03-15", + "last_updated": "2026-03-15", + "modalities": { + "input": ["image", "text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "output": 128000 + }, + "cost": { + "input": 0.05, + "output": 0.4 + } + }, + "kilo-auto/free": { + "id": "kilo-auto/free", + "name": "Kilo Auto Free", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2026-03-15", + "last_updated": "2026-03-15", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 204800, + "output": 131072 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "undi95/remm-slerp-l2-13b": { + "id": "undi95/remm-slerp-l2-13b", + "name": "ReMM SLERP 13B", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "release_date": "2023-07-22", + "last_updated": "2026-03-15", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 6144, + "output": 4096 + }, + "cost": { + "input": 0.45, + "output": 0.65 + } + }, + "allenai/olmo-3-32b-think": { + "id": "allenai/olmo-3-32b-think", + "name": "AllenAI: Olmo 3 32B Think", + "attachment": false, + "reasoning": true, + "tool_call": false, + "temperature": true, + "release_date": "2025-11-22", + "last_updated": "2026-03-15", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 65536, + "output": 65536 + }, + "cost": { + "input": 0.15, + "output": 0.5 + } + }, + "nousresearch/hermes-2-pro-llama-3-8b": { + "id": "nousresearch/hermes-2-pro-llama-3-8b", + "name": "NousResearch: Hermes 2 Pro - Llama-3 8B", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "release_date": "2024-05-27", + "last_updated": "2024-06-27", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 8192, + "output": 8192 + }, + "cost": { + "input": 0.14, + "output": 0.14 + } + }, + "nousresearch/hermes-4-405b": { + "id": "nousresearch/hermes-4-405b", + "name": "Nous: Hermes 4 405B", + "attachment": false, + "reasoning": true, + "tool_call": false, + "temperature": true, + "release_date": "2025-08-25", + "last_updated": "2025-08-25", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 26215 + }, + "cost": { + "input": 1, + "output": 3 + } + }, + "nousresearch/hermes-3-llama-3.1-70b": { + "id": "nousresearch/hermes-3-llama-3.1-70b", + "name": "Nous: Hermes 3 70B Instruct", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "release_date": "2024-08-18", + "last_updated": "2026-03-15", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 32768 + }, + "cost": { + "input": 0.3, + "output": 0.3 + } + }, + "nousresearch/hermes-4-70b": { + "id": "nousresearch/hermes-4-70b", + "name": "Nous: Hermes 4 70B", + "attachment": false, + "reasoning": true, + "tool_call": false, + "temperature": true, + "release_date": "2025-08-25", + "last_updated": "2026-03-15", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 131072 + }, + "cost": { + "input": 0.13, + "output": 0.4, + "cache_read": 0.055 + } + }, + "nousresearch/hermes-3-llama-3.1-405b": { + "id": "nousresearch/hermes-3-llama-3.1-405b", + "name": "Nous: Hermes 3 405B Instruct", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "release_date": "2024-08-16", + "last_updated": "2024-08-16", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 16384 + }, + "cost": { + "input": 1, + "output": 1 + } + }, + "morph/morph-v3-fast": { + "id": "morph/morph-v3-fast", + "name": "Morph: Morph V3 Fast", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "release_date": "2024-08-15", + "last_updated": "2024-08-15", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 81920, + "output": 38000 + }, + "cost": { + "input": 0.8, + "output": 1.2 + } + }, + "morph/morph-v3-large": { + "id": "morph/morph-v3-large", + "name": "Morph: Morph V3 Large", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "release_date": "2024-08-15", + "last_updated": "2024-08-15", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 262144, + "output": 131072 + }, + "cost": { + "input": 0.9, + "output": 1.9 + } + }, + "stepfun/step-3.5-flash:free": { + "id": "stepfun/step-3.5-flash:free", + "name": "StepFun: Step 3.5 Flash (free)", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2025-08-26", + "last_updated": "2026-05-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 262144, + "output": 262144 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "stepfun/step-3.5-flash": { + "id": "stepfun/step-3.5-flash", + "name": "StepFun: Step 3.5 Flash", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2026-01-29", + "last_updated": "2026-01-29", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 256000, + "output": 256000 + }, + "cost": { + "input": 0.1, + "output": 0.3, + "cache_read": 0.02 + } + }, + "alpindale/goliath-120b": { + "id": "alpindale/goliath-120b", + "name": "Goliath 120B", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "release_date": "2023-11-10", + "last_updated": "2026-03-15", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 6144, + "output": 1024 + }, + "cost": { + "input": 3.75, + "output": 7.5 + } + }, + "mistralai/mistral-nemo": { + "id": "mistralai/mistral-nemo", + "name": "Mistral: Mistral Nemo", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "release_date": "2024-07-01", + "last_updated": "2024-07-30", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 16384 + }, + "cost": { + "input": 0.02, + "output": 0.04 + } + }, + "mistralai/mistral-saba": { + "id": "mistralai/mistral-saba", + "name": "Mistral: Saba", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "release_date": "2025-02-17", + "last_updated": "2026-03-15", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 32768, + "output": 32768 + }, + "cost": { + "input": 0.2, + "output": 0.6 + } + }, + "mistralai/mistral-large-2512": { + "id": "mistralai/mistral-large-2512", + "name": "Mistral: Mistral Large 3 2512", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "release_date": "2024-11-01", + "last_updated": "2025-12-16", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 52429 + }, + "cost": { + "input": 0.5, + "output": 1.5 + } + }, + "mistralai/devstral-medium": { + "id": "mistralai/devstral-medium", + "name": "Mistral: Devstral Medium", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "release_date": "2025-07-10", + "last_updated": "2025-07-10", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 26215 + }, + "cost": { + "input": 0.4, + "output": 2 + } + }, + "mistralai/mistral-small-3.1-24b-instruct": { + "id": "mistralai/mistral-small-3.1-24b-instruct", + "name": "Mistral: Mistral Small 3.1 24B", + "attachment": true, + "reasoning": false, + "tool_call": false, + "temperature": true, + "release_date": "2025-03-17", + "last_updated": "2026-03-15", + "modalities": { + "input": ["image", "text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 131072 + }, + "cost": { + "input": 0.35, + "output": 0.56, + "cache_read": 0.015 + } + }, + "mistralai/mistral-medium-3-5": { + "id": "mistralai/mistral-medium-3-5", + "name": "Mistral: Mistral Medium 3.5", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2026-04-30", + "last_updated": "2026-05-07", + "modalities": { + "input": ["image", "text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 262144, + "output": 262144 + }, + "cost": { + "input": 1.5, + "output": 7.5 + } + }, + "mistralai/pixtral-large-2411": { + "id": "mistralai/pixtral-large-2411", + "name": "Mistral: Pixtral Large 2411", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "release_date": "2024-11-19", + "last_updated": "2026-03-15", + "modalities": { + "input": ["image", "text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 32768 + }, + "cost": { + "input": 2, + "output": 6 + } + }, + "mistralai/devstral-2512": { + "id": "mistralai/devstral-2512", + "name": "Mistral: Devstral 2 2512", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "release_date": "2025-09-12", + "last_updated": "2026-03-15", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 65536 + }, + "cost": { + "input": 0.4, + "output": 2, + "cache_read": 0.025 + } + }, + "mistralai/codestral-2508": { + "id": "mistralai/codestral-2508", + "name": "Mistral: Codestral 2508", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "release_date": "2025-08-01", + "last_updated": "2025-08-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 256000, + "output": 51200 + }, + "cost": { + "input": 0.3, + "output": 0.9 + } + }, + "mistralai/mistral-small-24b-instruct-2501": { + "id": "mistralai/mistral-small-24b-instruct-2501", + "name": "Mistral: Mistral Small 3", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "release_date": "2025-12-29", + "last_updated": "2026-01-10", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 32768, + "output": 16384 + }, + "cost": { + "input": 0.05, + "output": 0.08 + } + }, + "mistralai/mistral-large-2411": { + "id": "mistralai/mistral-large-2411", + "name": "Mistral Large 2411", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "release_date": "2024-07-24", + "last_updated": "2024-11-04", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 26215 + }, + "cost": { + "input": 2, + "output": 6 + } + }, + "mistralai/mixtral-8x22b-instruct": { + "id": "mistralai/mixtral-8x22b-instruct", + "name": "Mistral: Mixtral 8x22B Instruct", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "release_date": "2024-04-17", + "last_updated": "2024-04-17", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 65536, + "output": 13108 + }, + "cost": { + "input": 2, + "output": 6 + } + }, + "mistralai/mistral-large-2407": { + "id": "mistralai/mistral-large-2407", + "name": "Mistral Large 2407", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "release_date": "2024-11-19", + "last_updated": "2026-03-15", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 32768 + }, + "cost": { + "input": 2, + "output": 6 + } + }, + "mistralai/ministral-8b-2512": { + "id": "mistralai/ministral-8b-2512", + "name": "Mistral: Ministral 3 8B 2512", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "release_date": "2025-12-02", + "last_updated": "2026-03-15", + "modalities": { + "input": ["image", "text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 32768 + }, + "cost": { + "input": 0.15, + "output": 0.15 + } + }, + "mistralai/mistral-medium-3.1": { + "id": "mistralai/mistral-medium-3.1", + "name": "Mistral: Mistral Medium 3.1", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "release_date": "2025-08-12", + "last_updated": "2025-08-12", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 131072, + "output": 26215 + }, + "cost": { + "input": 0.4, + "output": 2 + } + }, + "mistralai/mistral-small-2603": { + "id": "mistralai/mistral-small-2603", + "name": "Mistral: Mistral Small 4", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2026-03-16", + "last_updated": "2026-04-11", + "modalities": { + "input": ["image", "text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 262144 + }, + "cost": { + "input": 0.15, + "output": 0.6, + "cache_read": 0.015 + } + }, + "mistralai/ministral-3b-2512": { + "id": "mistralai/ministral-3b-2512", + "name": "Mistral: Ministral 3 3B 2512", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "release_date": "2025-12-02", + "last_updated": "2026-03-15", + "modalities": { + "input": ["image", "text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 32768 + }, + "cost": { + "input": 0.1, + "output": 0.1 + } + }, + "mistralai/voxtral-small-24b-2507": { + "id": "mistralai/voxtral-small-24b-2507", + "name": "Mistral: Voxtral Small 24B 2507", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "release_date": "2025-07-01", + "last_updated": "2025-07-01", + "modalities": { + "input": ["text", "audio"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 32000, + "output": 6400 + }, + "cost": { + "input": 0.1, + "output": 0.3 + } + }, + "mistralai/mixtral-8x7b-instruct": { + "id": "mistralai/mixtral-8x7b-instruct", + "name": "Mistral: Mixtral 8x7B Instruct", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "release_date": "2023-12-10", + "last_updated": "2026-03-15", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 32768, + "output": 16384 + }, + "cost": { + "input": 0.54, + "output": 0.54 + } + }, + "mistralai/mistral-medium-3": { + "id": "mistralai/mistral-medium-3", + "name": "Mistral: Mistral Medium 3", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "release_date": "2025-05-07", + "last_updated": "2025-05-07", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 131072, + "output": 26215 + }, + "cost": { + "input": 0.4, + "output": 2 + } + }, + "mistralai/mistral-small-3.2-24b-instruct": { + "id": "mistralai/mistral-small-3.2-24b-instruct", + "name": "Mistral: Mistral Small 3.2 24B", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "release_date": "2025-06-20", + "last_updated": "2025-06-20", + "modalities": { + "input": ["image", "text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 131072 + }, + "cost": { + "input": 0.06, + "output": 0.18, + "cache_read": 0.03 + } + }, + "mistralai/devstral-small": { + "id": "mistralai/devstral-small", + "name": "Mistral: Devstral Small 1.1", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "release_date": "2025-05-07", + "last_updated": "2025-07-10", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 26215 + }, + "cost": { + "input": 0.1, + "output": 0.3 + } + }, + "mistralai/mistral-large": { + "id": "mistralai/mistral-large", + "name": "Mistral Large", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "release_date": "2024-07-24", + "last_updated": "2025-12-02", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 25600 + }, + "cost": { + "input": 2, + "output": 6 + } + }, + "mistralai/mistral-7b-instruct-v0.1": { + "id": "mistralai/mistral-7b-instruct-v0.1", + "name": "Mistral: Mistral 7B Instruct v0.1", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "release_date": "2025-04-03", + "last_updated": "2025-04-03", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 2824, + "output": 565 + }, + "cost": { + "input": 0.11, + "output": 0.19 + } + }, + "mistralai/ministral-14b-2512": { + "id": "mistralai/ministral-14b-2512", + "name": "Mistral: Ministral 3 14B 2512", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "release_date": "2025-12-16", + "last_updated": "2025-12-16", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 262144, + "output": 52429 + }, + "cost": { + "input": 0.2, + "output": 0.2 + } + }, + "~anthropic/claude-haiku-latest": { + "id": "~anthropic/claude-haiku-latest", + "name": "Anthropic: Claude Haiku Latest", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2026-04-27", + "last_updated": "2026-05-01", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 64000 + }, + "cost": { + "input": 1, + "output": 5, + "cache_read": 0.1, + "cache_write": 1.25 + } + }, + "~anthropic/claude-sonnet-latest": { + "id": "~anthropic/claude-sonnet-latest", + "name": "Anthropic: Claude Sonnet Latest", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2026-04-27", + "last_updated": "2026-05-01", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000000, + "output": 128000 + }, + "cost": { + "input": 3, + "output": 15, + "cache_read": 0.3, + "cache_write": 3.75 + } + }, + "~anthropic/claude-opus-latest": { + "id": "~anthropic/claude-opus-latest", + "name": "Anthropic: Claude Opus Latest", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": false, + "release_date": "2026-04-16", + "last_updated": "2026-05-01", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000000, + "output": 128000 + }, + "cost": { + "input": 5, + "output": 25, + "cache_read": 0.5, + "cache_write": 6.25 + } + }, + "meta-llama/llama-3.3-70b-instruct": { + "id": "meta-llama/llama-3.3-70b-instruct", + "name": "Meta: Llama 3.3 70B Instruct", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "release_date": "2024-08-01", + "last_updated": "2026-02-04", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 16384 + }, + "cost": { + "input": 0.1, + "output": 0.32 + } + }, + "meta-llama/llama-4-scout": { + "id": "meta-llama/llama-4-scout", + "name": "Meta: Llama 4 Scout", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "release_date": "2025-04-05", + "last_updated": "2025-04-05", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 327680, + "output": 16384 + }, + "cost": { + "input": 0.08, + "output": 0.3 + } + }, + "meta-llama/llama-guard-3-8b": { + "id": "meta-llama/llama-guard-3-8b", + "name": "Llama Guard 3 8B", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "release_date": "2024-04-18", + "last_updated": "2026-02-04", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 26215 + }, + "cost": { + "input": 0.02, + "output": 0.06 + } + }, + "meta-llama/llama-4-maverick": { + "id": "meta-llama/llama-4-maverick", + "name": "Meta: Llama 4 Maverick", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "release_date": "2025-04-05", + "last_updated": "2025-12-24", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 1048576, + "output": 16384 + }, + "cost": { + "input": 0.15, + "output": 0.6 + } + }, + "meta-llama/llama-3.2-11b-vision-instruct": { + "id": "meta-llama/llama-3.2-11b-vision-instruct", + "name": "Meta: Llama 3.2 11B Vision Instruct", + "attachment": true, + "reasoning": false, + "tool_call": false, + "temperature": true, + "release_date": "2024-09-25", + "last_updated": "2024-09-25", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 16384 + }, + "cost": { + "input": 0.049, + "output": 0.049 + } + }, + "meta-llama/llama-guard-4-12b": { + "id": "meta-llama/llama-guard-4-12b", + "name": "Meta: Llama Guard 4 12B", + "attachment": true, + "reasoning": false, + "tool_call": false, + "temperature": true, + "release_date": "2025-04-05", + "last_updated": "2025-04-05", + "modalities": { + "input": ["image", "text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 163840, + "output": 32768 + }, + "cost": { + "input": 0.18, + "output": 0.18 + } + }, + "meta-llama/llama-3.1-70b-instruct": { + "id": "meta-llama/llama-3.1-70b-instruct", + "name": "Meta: Llama 3.1 70B Instruct", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "release_date": "2024-07-16", + "last_updated": "2024-07-23", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 26215 + }, + "cost": { + "input": 0.4, + "output": 0.4 + } + }, + "meta-llama/llama-3.2-1b-instruct": { + "id": "meta-llama/llama-3.2-1b-instruct", + "name": "Meta: Llama 3.2 1B Instruct", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "release_date": "2024-09-18", + "last_updated": "2026-01-27", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 60000, + "output": 12000 + }, + "cost": { + "input": 0.027, + "output": 0.2 + } + }, + "meta-llama/llama-3.2-3b-instruct": { + "id": "meta-llama/llama-3.2-3b-instruct", + "name": "Meta: Llama 3.2 3B Instruct", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "release_date": "2024-09-18", + "last_updated": "2026-03-15", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 80000, + "output": 16384 + }, + "cost": { + "input": 0.051, + "output": 0.34 + } + }, + "meta-llama/llama-3-8b-instruct": { + "id": "meta-llama/llama-3-8b-instruct", + "name": "Meta: Llama 3 8B Instruct", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "release_date": "2024-04-25", + "last_updated": "2025-04-03", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 8192, + "output": 16384 + }, + "cost": { + "input": 0.03, + "output": 0.04 + } + }, + "meta-llama/llama-3.1-8b-instruct": { + "id": "meta-llama/llama-3.1-8b-instruct", + "name": "Meta: Llama 3.1 8B Instruct", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "release_date": "2024-07-23", + "last_updated": "2025-12-23", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 16384, + "output": 16384 + }, + "cost": { + "input": 0.02, + "output": 0.05 + } + }, + "meta-llama/llama-3-70b-instruct": { + "id": "meta-llama/llama-3-70b-instruct", + "name": "Meta: Llama 3 70B Instruct", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "release_date": "2024-07-23", + "last_updated": "2024-07-23", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 8192, + "output": 8000 + }, + "cost": { + "input": 0.51, + "output": 0.74 + } + }, + "x-ai/grok-4.20": { + "id": "x-ai/grok-4.20", + "name": "xAI: Grok 4.20", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2026-03-31", + "last_updated": "2026-04-11", + "modalities": { + "input": ["image", "pdf", "text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 2000000, + "output": 2000000 + }, + "cost": { + "input": 2, + "output": 6, + "cache_read": 0.2 + } + }, + "x-ai/grok-code-fast-1:optimized:free": { + "id": "x-ai/grok-code-fast-1:optimized:free", + "name": "xAI: Grok Code Fast 1 Optimized (experimental, free)", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2025-08-27", + "last_updated": "2026-03-15", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 256000, + "output": 10000 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "x-ai/grok-4.3": { + "id": "x-ai/grok-4.3", + "name": "xAI: Grok 4.3", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2026-05-01", + "last_updated": "2026-05-01", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000000, + "output": 4096 + }, + "cost": { + "input": 1.25, + "output": 2.5, + "cache_read": 0.2 + } + }, + "x-ai/grok-4-fast": { + "id": "x-ai/grok-4-fast", + "name": "xAI: Grok 4 Fast", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2025-08-19", + "last_updated": "2025-08-19", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 2000000, + "output": 30000 + }, + "cost": { + "input": 0.2, + "output": 0.5, + "cache_read": 0.05 + } + }, + "x-ai/grok-code-fast-1": { + "id": "x-ai/grok-code-fast-1", + "name": "xAI: Grok Code Fast 1", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2025-08-26", + "last_updated": "2025-08-26", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 256000, + "output": 10000 + }, + "cost": { + "input": 0.2, + "output": 1.5, + "cache_read": 0.02 + } + }, + "x-ai/grok-3-beta": { + "id": "x-ai/grok-3-beta", + "name": "xAI: Grok 3 Beta", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "release_date": "2025-02-17", + "last_updated": "2025-02-17", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 131072, + "output": 26215 + }, + "cost": { + "input": 3, + "output": 15, + "cache_read": 0.75 + } + }, + "x-ai/grok-4": { + "id": "x-ai/grok-4", + "name": "xAI: Grok 4", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2025-07-09", + "last_updated": "2025-07-09", + "modalities": { + "input": ["image", "text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 256000, + "output": 51200 + }, + "cost": { + "input": 3, + "output": 15, + "cache_read": 0.75 + } + }, + "x-ai/grok-3-mini": { + "id": "x-ai/grok-3-mini", + "name": "xAI: Grok 3 Mini", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2025-02-17", + "last_updated": "2025-02-17", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 131072, + "output": 26215 + }, + "cost": { + "input": 0.3, + "output": 0.5, + "cache_read": 0.075 + } + }, + "x-ai/grok-4.1-fast": { + "id": "x-ai/grok-4.1-fast", + "name": "xAI: Grok 4.1 Fast", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2025-11-19", + "last_updated": "2025-11-19", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 2000000, + "output": 30000 + }, + "cost": { + "input": 0.2, + "output": 0.5, + "cache_read": 0.05 + } + }, + "x-ai/grok-3-mini-beta": { + "id": "x-ai/grok-3-mini-beta", + "name": "xAI: Grok 3 Mini Beta", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2025-02-17", + "last_updated": "2025-02-17", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 131072, + "output": 26215 + }, + "cost": { + "input": 0.3, + "output": 0.5, + "cache_read": 0.075 + } + }, + "x-ai/grok-4.20-multi-agent": { + "id": "x-ai/grok-4.20-multi-agent", + "name": "xAI: Grok 4.20 Multi-Agent", + "attachment": true, + "reasoning": true, + "tool_call": false, + "temperature": true, + "release_date": "2026-03-31", + "last_updated": "2026-04-11", + "modalities": { + "input": ["image", "pdf", "text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 2000000, + "output": 2000000 + }, + "cost": { + "input": 2, + "output": 6, + "cache_read": 0.2 + } + }, + "x-ai/grok-3": { + "id": "x-ai/grok-3", + "name": "xAI: Grok 3", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "release_date": "2025-02-17", + "last_updated": "2025-02-17", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 131072, + "output": 26215 + }, + "cost": { + "input": 3, + "output": 15, + "cache_read": 0.75 + } + }, + "tencent/hy3-preview:free": { + "id": "tencent/hy3-preview:free", + "name": "Tencent: Hy3 Preview (free)", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2026-04-22", + "last_updated": "2026-05-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 262144, + "output": 262144 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "tencent/hunyuan-a13b-instruct": { + "id": "tencent/hunyuan-a13b-instruct", + "name": "Tencent: Hunyuan A13B Instruct", + "attachment": false, + "reasoning": true, + "tool_call": false, + "temperature": true, + "release_date": "2025-06-30", + "last_updated": "2025-11-25", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 131072, + "output": 131072 + }, + "cost": { + "input": 0.14, + "output": 0.57 + } + }, + "gryphe/mythomax-l2-13b": { + "id": "gryphe/mythomax-l2-13b", + "name": "MythoMax 13B", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "release_date": "2024-04-25", + "last_updated": "2024-04-25", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 4096, + "output": 4096 + }, + "cost": { + "input": 0.06, + "output": 0.06 + } + }, + "sao10k/l3-euryale-70b": { + "id": "sao10k/l3-euryale-70b", + "name": "Sao10k: Llama 3 Euryale 70B v2.1", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "release_date": "2024-06-18", + "last_updated": "2026-03-15", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 8192, + "output": 8192 + }, + "cost": { + "input": 1.48, + "output": 1.48 + } + }, + "sao10k/l3-lunaris-8b": { + "id": "sao10k/l3-lunaris-8b", + "name": "Sao10K: Llama 3 8B Lunaris", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "release_date": "2024-08-13", + "last_updated": "2026-03-15", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 8192, + "output": 8192 + }, + "cost": { + "input": 0.04, + "output": 0.05 + } + }, + "sao10k/l3.3-euryale-70b": { + "id": "sao10k/l3.3-euryale-70b", + "name": "Sao10K: Llama 3.3 Euryale 70B", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "release_date": "2024-12-18", + "last_updated": "2026-03-15", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 16384 + }, + "cost": { + "input": 0.65, + "output": 0.75 + } + }, + "sao10k/l3.1-70b-hanami-x1": { + "id": "sao10k/l3.1-70b-hanami-x1", + "name": "Sao10K: Llama 3.1 70B Hanami x1", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "release_date": "2025-01-08", + "last_updated": "2026-03-15", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 16000, + "output": 16000 + }, + "cost": { + "input": 3, + "output": 3 + } + }, + "sao10k/l3.1-euryale-70b": { + "id": "sao10k/l3.1-euryale-70b", + "name": "Sao10K: Llama 3.1 Euryale 70B v2.2", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "release_date": "2024-08-28", + "last_updated": "2026-03-15", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 16384 + }, + "cost": { + "input": 0.85, + "output": 0.85 + } + }, + "microsoft/wizardlm-2-8x22b": { + "id": "microsoft/wizardlm-2-8x22b", + "name": "WizardLM-2 8x22B", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "release_date": "2024-04-24", + "last_updated": "2024-04-24", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 65535, + "output": 8000 + }, + "cost": { + "input": 0.62, + "output": 0.62 + } + }, + "microsoft/phi-4-mini-instruct": { + "id": "microsoft/phi-4-mini-instruct", + "name": "Microsoft: Phi 4 Mini Instruct", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": true, + "temperature": true, + "release_date": "2025-10-17", + "last_updated": "2026-05-07", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 128000 + }, + "cost": { + "input": 0.08, + "output": 0.35, + "cache_read": 0.08 + } + }, + "microsoft/phi-4": { + "id": "microsoft/phi-4", + "name": "Microsoft: Phi 4", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "release_date": "2024-12-11", + "last_updated": "2024-12-11", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 16384, + "output": 16384 + }, + "cost": { + "input": 0.06, + "output": 0.14 + } + }, + "poolside/laguna-m.1:free": { + "id": "poolside/laguna-m.1:free", + "name": "Poolside: Laguna M.1 (free)", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2026-04-28", + "last_updated": "2026-05-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 131072, + "output": 8192 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "poolside/laguna-xs.2:free": { + "id": "poolside/laguna-xs.2:free", + "name": "Poolside: Laguna XS.2 (free)", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2026-04-28", + "last_updated": "2026-05-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 131072, + "output": 8192 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "cohere/command-r7b-12-2024": { + "id": "cohere/command-r7b-12-2024", + "name": "Cohere: Command R7B (12-2024)", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "release_date": "2024-02-27", + "last_updated": "2024-02-27", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 4000 + }, + "cost": { + "input": 0.0375, + "output": 0.15 + } + }, + "cohere/command-a": { + "id": "cohere/command-a", + "name": "Cohere: Command A", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "release_date": "2025-03-13", + "last_updated": "2025-03-13", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 256000, + "output": 8192 + }, + "cost": { + "input": 2.5, + "output": 10 + } + }, + "cohere/command-r-plus-08-2024": { + "id": "cohere/command-r-plus-08-2024", + "name": "Cohere: Command R+ (08-2024)", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "release_date": "2024-08-30", + "last_updated": "2024-08-30", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 4000 + }, + "cost": { + "input": 2.5, + "output": 10 + } + }, + "cohere/command-r-08-2024": { + "id": "cohere/command-r-08-2024", + "name": "Cohere: Command R (08-2024)", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "release_date": "2024-08-30", + "last_updated": "2024-08-30", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 4000 + }, + "cost": { + "input": 0.15, + "output": 0.6 + } + }, + "prime-intellect/intellect-3": { + "id": "prime-intellect/intellect-3", + "name": "Prime Intellect: INTELLECT-3", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2025-11-26", + "last_updated": "2026-02-04", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 131072 + }, + "cost": { + "input": 0.2, + "output": 1.1 + } + }, + "nvidia/llama-3.3-nemotron-super-49b-v1.5": { + "id": "nvidia/llama-3.3-nemotron-super-49b-v1.5", + "name": "NVIDIA: Llama 3.3 Nemotron Super 49B V1.5", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2025-03-16", + "last_updated": "2025-03-16", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 131072, + "output": 26215 + }, + "cost": { + "input": 0.1, + "output": 0.4 + } + }, + "nvidia/nemotron-3-super-120b-a12b": { + "id": "nvidia/nemotron-3-super-120b-a12b", + "name": "NVIDIA: Nemotron 3 Super", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2026-03-11", + "last_updated": "2026-04-11", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 262144 + }, + "cost": { + "input": 0.1, + "output": 0.5, + "cache_read": 0.1 + } + }, + "nvidia/nemotron-3-nano-omni-30b-a3b-reasoning:free": { + "id": "nvidia/nemotron-3-nano-omni-30b-a3b-reasoning:free", + "name": "NVIDIA: Nemotron 3 Nano Omni (free)", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2026-04-28", + "last_updated": "2026-05-01", + "modalities": { + "input": ["text", "audio", "image", "video"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 256000, + "output": 65536 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "nvidia/nemotron-3-nano-30b-a3b": { + "id": "nvidia/nemotron-3-nano-30b-a3b", + "name": "NVIDIA: Nemotron 3 Nano 30B A3B", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2024-12", + "last_updated": "2026-02-04", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 52429 + }, + "cost": { + "input": 0.05, + "output": 0.2 + } + }, + "nvidia/nemotron-3-super-120b-a12b:free": { + "id": "nvidia/nemotron-3-super-120b-a12b:free", + "name": "NVIDIA: Nemotron 3 Super (free)", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2026-03-12", + "last_updated": "2026-03-15", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 262144 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "nvidia/nemotron-nano-9b-v2": { + "id": "nvidia/nemotron-nano-9b-v2", + "name": "NVIDIA: Nemotron Nano 9B V2", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2025-08-18", + "last_updated": "2025-08-18", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 26215 + }, + "cost": { + "input": 0.04, + "output": 0.16 + } + }, + "nvidia/llama-3.1-nemotron-70b-instruct": { + "id": "nvidia/llama-3.1-nemotron-70b-instruct", + "name": "NVIDIA: Llama 3.1 Nemotron 70B Instruct", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "release_date": "2024-10-12", + "last_updated": "2024-10-12", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 131072, + "output": 16384 + }, + "cost": { + "input": 1.2, + "output": 1.2 + } + }, + "inception/mercury-2": { + "id": "inception/mercury-2", + "name": "Inception: Mercury 2", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2026-02-24", + "last_updated": "2026-02-24", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 50000 + }, + "cost": { + "input": 0.25, + "output": 0.75, + "cache_read": 0.025 + } + }, + "openai/gpt-5.1-codex-max": { + "id": "openai/gpt-5.1-codex-max", + "name": "OpenAI: GPT-5.1-Codex-Max", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": false, + "release_date": "2025-11-13", + "last_updated": "2025-11-13", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "output": 128000 + }, + "cost": { + "input": 1.25, + "output": 10, + "cache_read": 0.125 + } + }, + "openai/gpt-5.2-chat": { + "id": "openai/gpt-5.2-chat", + "name": "OpenAI: GPT-5.2 Chat", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": false, + "release_date": "2025-12-11", + "last_updated": "2026-03-15", + "modalities": { + "input": ["image", "pdf", "text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 16384 + }, + "cost": { + "input": 1.75, + "output": 14, + "cache_read": 0.175 + } + }, + "openai/gpt-4o-mini-search-preview": { + "id": "openai/gpt-4o-mini-search-preview", + "name": "OpenAI: GPT-4o-mini Search Preview", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": false, + "release_date": "2025-01", + "last_updated": "2025-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 16384 + }, + "cost": { + "input": 0.15, + "output": 0.6 + } + }, + "openai/gpt-5-chat": { + "id": "openai/gpt-5-chat", + "name": "OpenAI: GPT-5 Chat", + "attachment": true, + "reasoning": false, + "tool_call": false, + "temperature": false, + "release_date": "2025-08-07", + "last_updated": "2026-03-15", + "modalities": { + "input": ["image", "pdf", "text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 16384 + }, + "cost": { + "input": 1.25, + "output": 10, + "cache_read": 0.125 + } + }, + "openai/gpt-4o-2024-05-13": { + "id": "openai/gpt-4o-2024-05-13", + "name": "OpenAI: GPT-4o (2024-05-13)", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "release_date": "2024-05-13", + "last_updated": "2026-03-15", + "modalities": { + "input": ["image", "pdf", "text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 4096 + }, + "cost": { + "input": 5, + "output": 15 + } + }, + "openai/gpt-5.3-chat": { + "id": "openai/gpt-5.3-chat", + "name": "OpenAI: GPT-5.3 Chat", + "attachment": true, + "reasoning": false, + "tool_call": true, + "release_date": "2026-03-04", + "last_updated": "2026-03-15", + "modalities": { + "input": ["image", "pdf", "text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 16384 + }, + "cost": { + "input": 1.75, + "output": 14 + } + }, + "openai/gpt-5.2-pro": { + "id": "openai/gpt-5.2-pro", + "name": "OpenAI: GPT-5.2 Pro", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": false, + "release_date": "2025-12-11", + "last_updated": "2026-03-15", + "modalities": { + "input": ["image", "pdf", "text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "output": 128000 + }, + "cost": { + "input": 21, + "output": 168 + } + }, + "openai/gpt-4-1106-preview": { + "id": "openai/gpt-4-1106-preview", + "name": "OpenAI: GPT-4 Turbo (older v1106)", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "release_date": "2023-11-06", + "last_updated": "2026-03-15", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 4096 + }, + "cost": { + "input": 10, + "output": 30 + } + }, + "openai/gpt-chat-latest": { + "id": "openai/gpt-chat-latest", + "name": "OpenAI: GPT Chat Latest", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": false, + "release_date": "2026-05-05", + "last_updated": "2026-05-07", + "modalities": { + "input": ["image", "pdf", "text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "output": 128000 + }, + "cost": { + "input": 5, + "output": 30, + "cache_read": 0.5 + } + }, + "openai/gpt-4o-audio-preview": { + "id": "openai/gpt-4o-audio-preview", + "name": "OpenAI: GPT-4o Audio", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "release_date": "2025-08-15", + "last_updated": "2026-03-15", + "modalities": { + "input": ["audio", "text"], + "output": ["audio", "text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 16384 + }, + "cost": { + "input": 2.5, + "output": 10 + } + }, + "openai/gpt-5.5": { + "id": "openai/gpt-5.5", + "name": "OpenAI: GPT-5.5", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": false, + "release_date": "2026-04-24", + "last_updated": "2026-05-01", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1050000, + "output": 128000 + }, + "cost": { + "input": 5, + "output": 30, + "cache_read": 0.5 + } + }, + "openai/gpt-5-mini": { + "id": "openai/gpt-5-mini", + "name": "OpenAI: GPT-5 Mini", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": false, + "release_date": "2025-08-07", + "last_updated": "2026-03-15", + "modalities": { + "input": ["image", "pdf", "text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "output": 128000 + }, + "cost": { + "input": 0.25, + "output": 2, + "cache_read": 0.025 + } + }, + "openai/gpt-5-nano": { + "id": "openai/gpt-5-nano", + "name": "OpenAI: GPT-5 Nano", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": false, + "release_date": "2025-08-07", + "last_updated": "2026-03-15", + "modalities": { + "input": ["image", "pdf", "text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "output": 128000 + }, + "cost": { + "input": 0.05, + "output": 0.4, + "cache_read": 0.005 + } + }, + "openai/gpt-5.3-codex": { + "id": "openai/gpt-5.3-codex", + "name": "OpenAI: GPT-5.3-Codex", + "attachment": true, + "reasoning": true, + "tool_call": true, + "release_date": "2026-02-25", + "last_updated": "2026-03-15", + "modalities": { + "input": ["image", "text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "output": 128000 + }, + "cost": { + "input": 1.75, + "output": 14 + } + }, + "openai/gpt-3.5-turbo-16k": { + "id": "openai/gpt-3.5-turbo-16k", + "name": "OpenAI: GPT-3.5 Turbo 16k", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "release_date": "2023-08-28", + "last_updated": "2026-03-15", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 16385, + "output": 4096 + }, + "cost": { + "input": 3, + "output": 4 + } + }, + "openai/gpt-4-turbo": { + "id": "openai/gpt-4-turbo", + "name": "OpenAI: GPT-4 Turbo", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "release_date": "2023-09-13", + "last_updated": "2024-04-09", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 4096 + }, + "cost": { + "input": 10, + "output": 30 + } + }, + "openai/gpt-5.2": { + "id": "openai/gpt-5.2", + "name": "OpenAI: GPT-5.2", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": false, + "release_date": "2025-12-11", + "last_updated": "2026-03-15", + "modalities": { + "input": ["image", "pdf", "text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "output": 128000 + }, + "cost": { + "input": 1.75, + "output": 14, + "cache_read": 0.175 + } + }, + "openai/o3-pro": { + "id": "openai/o3-pro", + "name": "OpenAI: o3 Pro", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": false, + "release_date": "2025-04-16", + "last_updated": "2026-03-15", + "modalities": { + "input": ["image", "pdf", "text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 100000 + }, + "cost": { + "input": 20, + "output": 80 + } + }, + "openai/o3-mini-high": { + "id": "openai/o3-mini-high", + "name": "OpenAI: o3 Mini High", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": false, + "release_date": "2025-01-31", + "last_updated": "2026-03-15", + "modalities": { + "input": ["pdf", "text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 100000 + }, + "cost": { + "input": 1.1, + "output": 4.4, + "cache_read": 0.55 + } + }, + "openai/gpt-4o-mini": { + "id": "openai/gpt-4o-mini", + "name": "OpenAI: GPT-4o-mini", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "release_date": "2024-07-18", + "last_updated": "2026-03-15", + "modalities": { + "input": ["image", "pdf", "text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 16384 + }, + "cost": { + "input": 0.15, + "output": 0.6, + "cache_read": 0.075 + } + }, + "openai/o4-mini-deep-research": { + "id": "openai/o4-mini-deep-research", + "name": "OpenAI: o4 Mini Deep Research", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2024-06-26", + "last_updated": "2026-03-15", + "modalities": { + "input": ["image", "pdf", "text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 100000 + }, + "cost": { + "input": 2, + "output": 8, + "cache_read": 0.5 + } + }, + "openai/gpt-5.4-mini": { + "id": "openai/gpt-5.4-mini", + "name": "OpenAI: GPT-5.4 Mini", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": false, + "release_date": "2026-03-17", + "last_updated": "2026-04-11", + "modalities": { + "input": ["image", "pdf", "text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "output": 128000 + }, + "cost": { + "input": 0.75, + "output": 4.5, + "cache_read": 0.075 + } + }, + "openai/gpt-5.1-chat": { + "id": "openai/gpt-5.1-chat", + "name": "OpenAI: GPT-5.1 Chat", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": false, + "release_date": "2025-11-13", + "last_updated": "2026-03-15", + "modalities": { + "input": ["image", "pdf", "text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 16384 + }, + "cost": { + "input": 1.25, + "output": 10, + "cache_read": 0.125 + } + }, + "openai/o4-mini": { + "id": "openai/o4-mini", + "name": "OpenAI: o4 Mini", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": false, + "release_date": "2025-04-16", + "last_updated": "2026-03-15", + "modalities": { + "input": ["image", "pdf", "text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 100000 + }, + "cost": { + "input": 1.1, + "output": 4.4, + "cache_read": 0.275 + } + }, + "openai/gpt-5.4-nano": { + "id": "openai/gpt-5.4-nano", + "name": "OpenAI: GPT-5.4 Nano", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": false, + "release_date": "2026-03-17", + "last_updated": "2026-04-11", + "modalities": { + "input": ["image", "pdf", "text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "output": 128000 + }, + "cost": { + "input": 0.2, + "output": 1.25, + "cache_read": 0.02 + } + }, + "openai/gpt-5.2-codex": { + "id": "openai/gpt-5.2-codex", + "name": "OpenAI: GPT-5.2-Codex", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": false, + "release_date": "2026-01-14", + "last_updated": "2026-01-14", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "output": 128000 + }, + "cost": { + "input": 1.75, + "output": 14, + "cache_read": 0.175 + } + }, + "openai/gpt-4o-mini-2024-07-18": { + "id": "openai/gpt-4o-mini-2024-07-18", + "name": "OpenAI: GPT-4o-mini (2024-07-18)", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "release_date": "2024-07-18", + "last_updated": "2026-03-15", + "modalities": { + "input": ["image", "pdf", "text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 16384 + }, + "cost": { + "input": 0.15, + "output": 0.6 + } + }, + "openai/gpt-5.1-codex-mini": { + "id": "openai/gpt-5.1-codex-mini", + "name": "OpenAI: GPT-5.1-Codex-Mini", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": false, + "release_date": "2025-11-13", + "last_updated": "2025-11-13", + "modalities": { + "input": ["image", "text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "output": 100000 + }, + "cost": { + "input": 0.25, + "output": 2, + "cache_read": 0.025 + } + }, + "openai/gpt-4o-2024-08-06": { + "id": "openai/gpt-4o-2024-08-06", + "name": "OpenAI: GPT-4o (2024-08-06)", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "release_date": "2024-08-06", + "last_updated": "2026-03-15", + "modalities": { + "input": ["image", "pdf", "text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 16384 + }, + "cost": { + "input": 2.5, + "output": 10, + "cache_read": 1.25 + } + }, + "openai/gpt-5-image": { + "id": "openai/gpt-5-image", + "name": "OpenAI: GPT-5 Image", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2025-10-14", + "last_updated": "2026-03-15", + "modalities": { + "input": ["image", "pdf", "text"], + "output": ["image", "text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "output": 128000 + }, + "cost": { + "input": 10, + "output": 10 + } + }, + "openai/gpt-5.1": { + "id": "openai/gpt-5.1", + "name": "OpenAI: GPT-5.1", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": false, + "release_date": "2025-11-13", + "last_updated": "2026-03-15", + "modalities": { + "input": ["image", "pdf", "text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "output": 128000 + }, + "cost": { + "input": 1.25, + "output": 10, + "cache_read": 0.125 + } + }, + "openai/o1": { + "id": "openai/o1", + "name": "OpenAI: o1", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": false, + "release_date": "2024-12-05", + "last_updated": "2026-03-15", + "modalities": { + "input": ["image", "pdf", "text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 100000 + }, + "cost": { + "input": 15, + "output": 60, + "cache_read": 7.5 + } + }, + "openai/gpt-5.4-pro": { + "id": "openai/gpt-5.4-pro", + "name": "OpenAI: GPT-5.4 Pro", + "attachment": true, + "reasoning": true, + "tool_call": true, + "release_date": "2026-03-06", + "last_updated": "2026-03-15", + "modalities": { + "input": ["image", "pdf", "text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1050000, + "output": 128000 + }, + "cost": { + "input": 30, + "output": 180 + } + }, + "openai/gpt-3.5-turbo": { + "id": "openai/gpt-3.5-turbo", + "name": "OpenAI: GPT-3.5 Turbo", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "release_date": "2023-03-01", + "last_updated": "2023-11-06", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 16385, + "output": 4096 + }, + "cost": { + "input": 0.5, + "output": 1.5 + } + }, + "openai/o3-deep-research": { + "id": "openai/o3-deep-research", + "name": "OpenAI: o3 Deep Research", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2024-06-26", + "last_updated": "2026-03-15", + "modalities": { + "input": ["image", "pdf", "text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 100000 + }, + "cost": { + "input": 10, + "output": 40, + "cache_read": 2.5 + } + }, + "openai/o3-mini": { + "id": "openai/o3-mini", + "name": "OpenAI: o3 Mini", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": false, + "release_date": "2024-12-20", + "last_updated": "2026-03-15", + "modalities": { + "input": ["pdf", "text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 100000 + }, + "cost": { + "input": 1.1, + "output": 4.4, + "cache_read": 0.55 + } + }, + "openai/gpt-4-turbo-preview": { + "id": "openai/gpt-4-turbo-preview", + "name": "OpenAI: GPT-4 Turbo Preview", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "release_date": "2024-01-25", + "last_updated": "2026-03-15", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 4096 + }, + "cost": { + "input": 10, + "output": 30 + } + }, + "openai/o1-pro": { + "id": "openai/o1-pro", + "name": "OpenAI: o1-pro", + "attachment": true, + "reasoning": true, + "tool_call": false, + "temperature": false, + "release_date": "2025-03-19", + "last_updated": "2026-03-15", + "modalities": { + "input": ["image", "pdf", "text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 100000 + }, + "cost": { + "input": 150, + "output": 600 + } + }, + "openai/gpt-5.4-image-2": { + "id": "openai/gpt-5.4-image-2", + "name": "OpenAI: GPT-5.4 Image 2", + "attachment": true, + "reasoning": true, + "tool_call": false, + "temperature": false, + "release_date": "2026-04-21", + "last_updated": "2026-05-01", + "modalities": { + "input": ["image", "text", "pdf"], + "output": ["image", "text"] + }, + "open_weights": false, + "limit": { + "context": 272000, + "output": 128000 + }, + "cost": { + "input": 8, + "output": 15, + "cache_read": 2 + } + }, + "openai/gpt-4": { + "id": "openai/gpt-4", + "name": "OpenAI: GPT-4", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "release_date": "2023-03-14", + "last_updated": "2024-04-09", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 8191, + "output": 4096 + }, + "cost": { + "input": 30, + "output": 60 + } + }, + "openai/gpt-4-0314": { + "id": "openai/gpt-4-0314", + "name": "OpenAI: GPT-4 (older v0314)", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "release_date": "2023-05-28", + "last_updated": "2026-03-15", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 8191, + "output": 4096 + }, + "cost": { + "input": 30, + "output": 60 + } + }, + "openai/gpt-5-codex": { + "id": "openai/gpt-5-codex", + "name": "OpenAI: GPT-5 Codex", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": false, + "release_date": "2025-09-15", + "last_updated": "2025-09-15", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "output": 128000 + }, + "cost": { + "input": 1.25, + "output": 10, + "cache_read": 0.125 + } + }, + "openai/gpt-5.4": { + "id": "openai/gpt-5.4", + "name": "OpenAI: GPT-5.4", + "attachment": true, + "reasoning": true, + "tool_call": true, + "release_date": "2026-03-06", + "last_updated": "2026-03-15", + "modalities": { + "input": ["image", "pdf", "text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1050000, + "output": 128000 + }, + "cost": { + "input": 2.5, + "output": 15 + } + }, + "openai/gpt-audio": { + "id": "openai/gpt-audio", + "name": "OpenAI: GPT Audio", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "release_date": "2026-01-20", + "last_updated": "2026-03-15", + "modalities": { + "input": ["audio", "text"], + "output": ["audio", "text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 16384 + }, + "cost": { + "input": 2.5, + "output": 10 + } + }, + "openai/gpt-4o-search-preview": { + "id": "openai/gpt-4o-search-preview", + "name": "OpenAI: GPT-4o Search Preview", + "attachment": false, + "reasoning": false, + "tool_call": false, + "release_date": "2025-03-13", + "last_updated": "2026-03-15", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 16384 + }, + "cost": { + "input": 2.5, + "output": 10 + } + }, + "openai/gpt-4.1-nano": { + "id": "openai/gpt-4.1-nano", + "name": "OpenAI: GPT-4.1 Nano", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "release_date": "2025-04-14", + "last_updated": "2026-03-15", + "modalities": { + "input": ["image", "pdf", "text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1047576, + "output": 32768 + }, + "cost": { + "input": 0.1, + "output": 0.4, + "cache_read": 0.025 + } + }, + "openai/o4-mini-high": { + "id": "openai/o4-mini-high", + "name": "OpenAI: o4 Mini High", + "attachment": true, + "reasoning": true, + "tool_call": true, + "release_date": "2025-04-17", + "last_updated": "2026-03-15", + "modalities": { + "input": ["image", "pdf", "text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 100000 + }, + "cost": { + "input": 1.1, + "output": 4.4 + } + }, + "openai/o3": { + "id": "openai/o3", + "name": "OpenAI: o3", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": false, + "release_date": "2025-04-16", + "last_updated": "2026-03-15", + "modalities": { + "input": ["image", "pdf", "text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 100000 + }, + "cost": { + "input": 2, + "output": 8, + "cache_read": 0.5 + } + }, + "openai/gpt-oss-20b": { + "id": "openai/gpt-oss-20b", + "name": "OpenAI: gpt-oss-20b", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2025-08-05", + "last_updated": "2025-08-05", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 26215 + }, + "cost": { + "input": 0.03, + "output": 0.14 + } + }, + "openai/gpt-5-pro": { + "id": "openai/gpt-5-pro", + "name": "OpenAI: GPT-5 Pro", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": false, + "release_date": "2025-10-06", + "last_updated": "2026-03-15", + "modalities": { + "input": ["image", "pdf", "text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "output": 128000 + }, + "cost": { + "input": 15, + "output": 120 + } + }, + "openai/gpt-audio-mini": { + "id": "openai/gpt-audio-mini", + "name": "OpenAI: GPT Audio Mini", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "release_date": "2026-01-20", + "last_updated": "2026-03-15", + "modalities": { + "input": ["audio", "text"], + "output": ["audio", "text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 16384 + }, + "cost": { + "input": 0.6, + "output": 2.4 + } + }, + "openai/gpt-4o": { + "id": "openai/gpt-4o", + "name": "OpenAI: GPT-4o", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "release_date": "2024-05-13", + "last_updated": "2026-03-15", + "modalities": { + "input": ["image", "pdf", "text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 16384 + }, + "cost": { + "input": 2.5, + "output": 10, + "cache_read": 1.25 + } + }, + "openai/gpt-3.5-turbo-0613": { + "id": "openai/gpt-3.5-turbo-0613", + "name": "OpenAI: GPT-3.5 Turbo (older v0613)", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "release_date": "2023-06-13", + "last_updated": "2023-06-13", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 4095, + "output": 4096 + }, + "cost": { + "input": 1, + "output": 2 + } + }, + "openai/gpt-5-image-mini": { + "id": "openai/gpt-5-image-mini", + "name": "OpenAI: GPT-5 Image Mini", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2025-10-16", + "last_updated": "2026-03-15", + "modalities": { + "input": ["image", "pdf", "text"], + "output": ["image", "text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "output": 128000 + }, + "cost": { + "input": 2.5, + "output": 2 + } + }, + "openai/gpt-5": { + "id": "openai/gpt-5", + "name": "OpenAI: GPT-5", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": false, + "release_date": "2025-08-07", + "last_updated": "2026-03-15", + "modalities": { + "input": ["image", "pdf", "text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "output": 128000 + }, + "cost": { + "input": 1.25, + "output": 10, + "cache_read": 0.125 + } + }, + "openai/gpt-oss-safeguard-20b": { + "id": "openai/gpt-oss-safeguard-20b", + "name": "OpenAI: gpt-oss-safeguard-20b", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2025-10-29", + "last_updated": "2025-10-29", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 131072, + "output": 65536 + }, + "cost": { + "input": 0.075, + "output": 0.3, + "cache_read": 0.037 + } + }, + "openai/gpt-oss-120b": { + "id": "openai/gpt-oss-120b", + "name": "OpenAI: gpt-oss-120b", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2025-08-05", + "last_updated": "2025-08-05", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 26215 + }, + "cost": { + "input": 0.039, + "output": 0.19 + } + }, + "openai/gpt-5.5-pro": { + "id": "openai/gpt-5.5-pro", + "name": "OpenAI: GPT-5.5 Pro", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": false, + "release_date": "2026-04-24", + "last_updated": "2026-05-01", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1050000, + "output": 128000 + }, + "cost": { + "input": 30, + "output": 180 + } + }, + "openai/gpt-3.5-turbo-instruct": { + "id": "openai/gpt-3.5-turbo-instruct", + "name": "OpenAI: GPT-3.5 Turbo Instruct", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "release_date": "2023-03-01", + "last_updated": "2023-09-21", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 4095, + "output": 4096 + }, + "cost": { + "input": 1.5, + "output": 2 + } + }, + "openai/gpt-4.1": { + "id": "openai/gpt-4.1", + "name": "OpenAI: GPT-4.1", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "release_date": "2025-04-14", + "last_updated": "2026-03-15", + "modalities": { + "input": ["image", "pdf", "text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1047576, + "output": 32768 + }, + "cost": { + "input": 2, + "output": 8, + "cache_read": 0.5 + } + }, + "openai/gpt-4.1-mini": { + "id": "openai/gpt-4.1-mini", + "name": "OpenAI: GPT-4.1 Mini", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "release_date": "2025-04-14", + "last_updated": "2026-03-15", + "modalities": { + "input": ["image", "pdf", "text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1047576, + "output": 32768 + }, + "cost": { + "input": 0.4, + "output": 1.6, + "cache_read": 0.1 + } + }, + "openai/gpt-5.1-codex": { + "id": "openai/gpt-5.1-codex", + "name": "OpenAI: GPT-5.1-Codex", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": false, + "release_date": "2025-11-13", + "last_updated": "2025-11-13", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "output": 128000 + }, + "cost": { + "input": 1.25, + "output": 10, + "cache_read": 0.125 + } + }, + "openai/gpt-4o-2024-11-20": { + "id": "openai/gpt-4o-2024-11-20", + "name": "OpenAI: GPT-4o (2024-11-20)", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "release_date": "2024-11-20", + "last_updated": "2026-03-15", + "modalities": { + "input": ["image", "pdf", "text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 16384 + }, + "cost": { + "input": 2.5, + "output": 10, + "cache_read": 1.25 + } + }, + "amazon/nova-lite-v1": { + "id": "amazon/nova-lite-v1", + "name": "Amazon: Nova Lite 1.0", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "release_date": "2024-12-06", + "last_updated": "2026-03-15", + "modalities": { + "input": ["image", "text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 300000, + "output": 5120 + }, + "cost": { + "input": 0.06, + "output": 0.24 + } + }, + "amazon/nova-pro-v1": { + "id": "amazon/nova-pro-v1", + "name": "Amazon: Nova Pro 1.0", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "release_date": "2024-12-03", + "last_updated": "2024-12-03", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 300000, + "output": 5120 + }, + "cost": { + "input": 0.8, + "output": 3.2 + } + }, + "amazon/nova-premier-v1": { + "id": "amazon/nova-premier-v1", + "name": "Amazon: Nova Premier 1.0", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "release_date": "2025-11-01", + "last_updated": "2026-03-15", + "modalities": { + "input": ["image", "text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000000, + "output": 32000 + }, + "cost": { + "input": 2.5, + "output": 12.5 + } + }, + "amazon/nova-2-lite-v1": { + "id": "amazon/nova-2-lite-v1", + "name": "Amazon: Nova 2 Lite", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2024-12-01", + "last_updated": "2026-03-15", + "modalities": { + "input": ["image", "pdf", "text", "video"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000000, + "output": 65535 + }, + "cost": { + "input": 0.3, + "output": 2.5 + } + }, + "amazon/nova-micro-v1": { + "id": "amazon/nova-micro-v1", + "name": "Amazon: Nova Micro 1.0", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "release_date": "2024-12-06", + "last_updated": "2026-03-15", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 5120 + }, + "cost": { + "input": 0.035, + "output": 0.14 + } + }, + "z-ai/glm-5v-turbo": { + "id": "z-ai/glm-5v-turbo", + "name": "Z.ai: GLM 5V Turbo", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2026-04-01", + "last_updated": "2026-04-11", + "modalities": { + "input": ["image", "text", "video"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 202752, + "output": 131072 + }, + "cost": { + "input": 1.2, + "output": 4, + "cache_read": 0.24 + } + }, + "z-ai/glm-4.7": { + "id": "z-ai/glm-4.7", + "name": "Z.ai: GLM 4.7", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2025-12-22", + "last_updated": "2026-03-15", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 202752, + "output": 65535 + }, + "cost": { + "input": 0.38, + "output": 1.98, + "cache_read": 0.2 + } + }, + "z-ai/glm-5": { + "id": "z-ai/glm-5", + "name": "Z.ai: GLM 5", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2026-02-12", + "last_updated": "2026-03-15", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 202752, + "output": 131072 + }, + "cost": { + "input": 0.72, + "output": 2.3 + } + }, + "z-ai/glm-4-32b": { + "id": "z-ai/glm-4-32b", + "name": "Z.ai: GLM 4 32B ", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "release_date": "2025-07-25", + "last_updated": "2026-03-15", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 32768 + }, + "cost": { + "input": 0.1, + "output": 0.1 + } + }, + "z-ai/glm-5.1": { + "id": "z-ai/glm-5.1", + "name": "Z.ai: GLM 5.1", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2026-03-27", + "last_updated": "2026-03-27", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 202752, + "output": 131072 + }, + "cost": { + "input": 1.26, + "output": 3.96 + } + }, + "z-ai/glm-4.5": { + "id": "z-ai/glm-4.5", + "name": "Z.ai: GLM 4.5", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2025-07-28", + "last_updated": "2026-03-15", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 98304 + }, + "cost": { + "input": 0.6, + "output": 2.2, + "cache_read": 0.175 + } + }, + "z-ai/glm-4.5-air": { + "id": "z-ai/glm-4.5-air", + "name": "Z.ai: GLM 4.5 Air", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2025-07-28", + "last_updated": "2025-07-28", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 98304 + }, + "cost": { + "input": 0.13, + "output": 0.85, + "cache_read": 0.025 + } + }, + "z-ai/glm-5-turbo": { + "id": "z-ai/glm-5-turbo", + "name": "Z.ai: GLM 5 Turbo", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2026-03-15", + "last_updated": "2026-04-11", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 202752, + "output": 131072 + }, + "cost": { + "input": 1.2, + "output": 4, + "cache_read": 0.24 + } + }, + "z-ai/glm-4.5v": { + "id": "z-ai/glm-4.5v", + "name": "Z.ai: GLM 4.5V", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2025-08-11", + "last_updated": "2025-08-11", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 65536, + "output": 16384 + }, + "cost": { + "input": 0.6, + "output": 1.8, + "cache_read": 0.11 + } + }, + "z-ai/glm-4.6": { + "id": "z-ai/glm-4.6", + "name": "Z.ai: GLM 4.6", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2025-09-30", + "last_updated": "2026-03-15", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 204800, + "output": 204800 + }, + "cost": { + "input": 0.39, + "output": 1.9, + "cache_read": 0.175 + } + }, + "z-ai/glm-4.6v": { + "id": "z-ai/glm-4.6v", + "name": "Z.ai: GLM 4.6V", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2025-09-30", + "last_updated": "2026-01-10", + "modalities": { + "input": ["image", "text", "video"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 131072 + }, + "cost": { + "input": 0.3, + "output": 0.9 + } + }, + "z-ai/glm-4.7-flash": { + "id": "z-ai/glm-4.7-flash", + "name": "Z.ai: GLM 4.7 Flash", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2026-01-19", + "last_updated": "2026-01-19", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 202752, + "output": 40551 + }, + "cost": { + "input": 0.06, + "output": 0.4, + "cache_read": 0.01 + } + }, + "baidu/ernie-4.5-vl-424b-a47b": { + "id": "baidu/ernie-4.5-vl-424b-a47b", + "name": "Baidu: ERNIE 4.5 VL 424B A47B ", + "attachment": true, + "reasoning": true, + "tool_call": false, + "temperature": true, + "release_date": "2025-06-30", + "last_updated": "2026-01", + "modalities": { + "input": ["image", "text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 123000, + "output": 16000 + }, + "cost": { + "input": 0.42, + "output": 1.25 + } + }, + "baidu/qianfan-ocr-fast:free": { + "id": "baidu/qianfan-ocr-fast:free", + "name": "Baidu: Qianfan-OCR-Fast (free)", + "attachment": true, + "reasoning": true, + "tool_call": false, + "temperature": true, + "release_date": "2026-04-20", + "last_updated": "2026-05-01", + "modalities": { + "input": ["image", "text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 65536, + "output": 28672 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "baidu/cobuddy:free": { + "id": "baidu/cobuddy:free", + "name": "Baidu: CoBuddy (free)", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": false, + "release_date": "2026-05-06", + "last_updated": "2026-05-07", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 131072, + "output": 65536 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "baidu/ernie-4.5-vl-28b-a3b": { + "id": "baidu/ernie-4.5-vl-28b-a3b", + "name": "Baidu: ERNIE 4.5 VL 28B A3B", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2025-06-30", + "last_updated": "2025-06-30", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 30000, + "output": 8000 + }, + "cost": { + "input": 0.14, + "output": 0.56 + } + }, + "baidu/ernie-4.5-21b-a3b": { + "id": "baidu/ernie-4.5-21b-a3b", + "name": "Baidu: ERNIE 4.5 21B A3B", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "release_date": "2025-06-30", + "last_updated": "2025-06-30", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 120000, + "output": 8000 + }, + "cost": { + "input": 0.07, + "output": 0.28 + } + }, + "baidu/ernie-4.5-300b-a47b": { + "id": "baidu/ernie-4.5-300b-a47b", + "name": "Baidu: ERNIE 4.5 300B A47B ", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "release_date": "2025-06-30", + "last_updated": "2026-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 123000, + "output": 12000 + }, + "cost": { + "input": 0.28, + "output": 1.1 + } + }, + "baidu/ernie-4.5-21b-a3b-thinking": { + "id": "baidu/ernie-4.5-21b-a3b-thinking", + "name": "Baidu: ERNIE 4.5 21B A3B Thinking", + "attachment": false, + "reasoning": true, + "tool_call": false, + "temperature": true, + "release_date": "2025-09-19", + "last_updated": "2025-09-19", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 65536 + }, + "cost": { + "input": 0.07, + "output": 0.28 + } + }, + "relace/relace-apply-3": { + "id": "relace/relace-apply-3", + "name": "Relace: Relace Apply 3", + "attachment": false, + "reasoning": false, + "tool_call": false, + "release_date": "2025-09-26", + "last_updated": "2026-03-15", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 256000, + "output": 128000 + }, + "cost": { + "input": 0.85, + "output": 1.25 + } + }, + "relace/relace-search": { + "id": "relace/relace-search", + "name": "Relace: Relace Search", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "release_date": "2025-12-09", + "last_updated": "2026-03-15", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 256000, + "output": 128000 + }, + "cost": { + "input": 1, + "output": 3 + } + }, + "minimax/minimax-m2.7": { + "id": "minimax/minimax-m2.7", + "name": "MiniMax: MiniMax M2.7", + "family": "minimax-m2.7", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2026-03-18", + "last_updated": "2026-03-18", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 204800, + "output": 131072 + }, + "cost": { + "input": 0.3, + "output": 1.2, + "cache_read": 0.06 + } + }, + "minimax/minimax-m2": { + "id": "minimax/minimax-m2", + "name": "MiniMax: MiniMax M2", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2025-10-23", + "last_updated": "2026-03-15", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 196608, + "output": 196608 + }, + "cost": { + "input": 0.255, + "output": 1, + "cache_read": 0.03 + } + }, + "minimax/minimax-01": { + "id": "minimax/minimax-01", + "name": "MiniMax: MiniMax-01", + "attachment": true, + "reasoning": false, + "tool_call": false, + "temperature": true, + "release_date": "2025-01-15", + "last_updated": "2025-01-15", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 1000192, + "output": 1000192 + }, + "cost": { + "input": 0.2, + "output": 1.1 + } + }, + "minimax/minimax-m2.1": { + "id": "minimax/minimax-m2.1", + "name": "MiniMax: MiniMax M2.1", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2025-12-23", + "last_updated": "2025-12-23", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 196608, + "output": 39322 + }, + "cost": { + "input": 0.27, + "output": 0.95, + "cache_read": 0.03 + } + }, + "minimax/minimax-m1": { + "id": "minimax/minimax-m1", + "name": "MiniMax: MiniMax M1", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2025-06-17", + "last_updated": "2025-06-17", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 1000000, + "output": 40000 + }, + "cost": { + "input": 0.4, + "output": 2.2 + } + }, + "minimax/minimax-m2-her": { + "id": "minimax/minimax-m2-her", + "name": "MiniMax: MiniMax M2-her", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "release_date": "2026-01-23", + "last_updated": "2026-03-15", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 65536, + "output": 2048 + }, + "cost": { + "input": 0.3, + "output": 1.2 + } + }, + "minimax/minimax-m2.5": { + "id": "minimax/minimax-m2.5", + "name": "MiniMax: MiniMax M2.5", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2026-02-12", + "last_updated": "2026-03-15", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 196608, + "output": 196608 + }, + "cost": { + "input": 0.25, + "output": 1.2, + "cache_read": 0.029 + } + }, + "~openai/gpt-latest": { + "id": "~openai/gpt-latest", + "name": "OpenAI: GPT Latest", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": false, + "release_date": "2026-04-27", + "last_updated": "2026-05-01", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1050000, + "output": 128000 + }, + "cost": { + "input": 5, + "output": 30, + "cache_read": 0.5 + } + }, + "~openai/gpt-mini-latest": { + "id": "~openai/gpt-mini-latest", + "name": "OpenAI: GPT Mini Latest", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": false, + "release_date": "2026-04-27", + "last_updated": "2026-05-01", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "output": 128000 + }, + "cost": { + "input": 0.75, + "output": 4.5, + "cache_read": 0.075 + } + }, + "qwen/qwen3-235b-a22b": { + "id": "qwen/qwen3-235b-a22b", + "name": "Qwen: Qwen3 235B A22B", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2024-12-01", + "last_updated": "2026-03-15", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 8192 + }, + "cost": { + "input": 0.455, + "output": 1.82, + "cache_read": 0.15 + } + }, + "qwen/qwen3.5-122b-a10b": { + "id": "qwen/qwen3.5-122b-a10b", + "name": "Qwen: Qwen3.5-122B-A10B", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2026-02-26", + "last_updated": "2026-03-15", + "modalities": { + "input": ["image", "text", "video"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 65536 + }, + "cost": { + "input": 0.26, + "output": 2.08 + } + }, + "qwen/qwen3-coder-plus": { + "id": "qwen/qwen3-coder-plus", + "name": "Qwen: Qwen3 Coder Plus", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "release_date": "2025-07-01", + "last_updated": "2026-03-15", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 1000000, + "output": 65536 + }, + "cost": { + "input": 0.65, + "output": 3.25, + "cache_read": 0.2 + } + }, + "qwen/qwen3.6-27b": { + "id": "qwen/qwen3.6-27b", + "name": "Qwen: Qwen3.6 27B", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2026-04-27", + "last_updated": "2026-05-01", + "modalities": { + "input": ["text", "image", "video"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 256000, + "output": 65536 + }, + "cost": { + "input": 0.325, + "output": 3.25 + } + }, + "qwen/qwen3.5-27b": { + "id": "qwen/qwen3.5-27b", + "name": "Qwen: Qwen3.5-27B", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2026-02-26", + "last_updated": "2026-03-15", + "modalities": { + "input": ["image", "text", "video"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 65536 + }, + "cost": { + "input": 0.195, + "output": 1.56 + } + }, + "qwen/qwen3-235b-a22b-2507": { + "id": "qwen/qwen3-235b-a22b-2507", + "name": "Qwen: Qwen3 235B A22B Instruct 2507", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2025-04", + "last_updated": "2026-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 52429 + }, + "cost": { + "input": 0.071, + "output": 0.1 + } + }, + "qwen/qwen3-8b": { + "id": "qwen/qwen3-8b", + "name": "Qwen: Qwen3 8B", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2025-04", + "last_updated": "2026-03-15", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 40960, + "output": 8192 + }, + "cost": { + "input": 0.05, + "output": 0.4, + "cache_read": 0.05 + } + }, + "qwen/qwen3.5-397b-a17b": { + "id": "qwen/qwen3.5-397b-a17b", + "name": "Qwen: Qwen3.5 397B A17B", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2026-02-15", + "last_updated": "2026-03-15", + "modalities": { + "input": ["image", "text", "video"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 262144, + "output": 65536 + }, + "cost": { + "input": 0.39, + "output": 2.34 + } + }, + "qwen/qwen-vl-plus": { + "id": "qwen/qwen-vl-plus", + "name": "Qwen: Qwen VL Plus", + "attachment": true, + "reasoning": false, + "tool_call": false, + "temperature": true, + "release_date": "2024-01-25", + "last_updated": "2026-03-15", + "modalities": { + "input": ["image", "text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 131072, + "output": 8192 + }, + "cost": { + "input": 0.1365, + "output": 0.4095, + "cache_read": 0.042 + } + }, + "qwen/qwen3-32b": { + "id": "qwen/qwen3-32b", + "name": "Qwen: Qwen3 32B", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2024-12-01", + "last_updated": "2026-02-04", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 40960, + "output": 40960 + }, + "cost": { + "input": 0.08, + "output": 0.24, + "cache_read": 0.04 + } + }, + "qwen/qwen2.5-vl-72b-instruct": { + "id": "qwen/qwen2.5-vl-72b-instruct", + "name": "Qwen: Qwen2.5 VL 72B Instruct", + "attachment": true, + "reasoning": false, + "tool_call": false, + "temperature": true, + "release_date": "2025-02-01", + "last_updated": "2026-03-15", + "modalities": { + "input": ["image", "text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 32768, + "output": 32768 + }, + "cost": { + "input": 0.8, + "output": 0.8, + "cache_read": 0.075 + } + }, + "qwen/qwen-max": { + "id": "qwen/qwen-max", + "name": "Qwen: Qwen-Max ", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "release_date": "2024-04-03", + "last_updated": "2026-03-15", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 32768, + "output": 8192 + }, + "cost": { + "input": 1.04, + "output": 4.16, + "cache_read": 0.32 + } + }, + "qwen/qwen-plus": { + "id": "qwen/qwen-plus", + "name": "Qwen: Qwen-Plus", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "release_date": "2024-01-25", + "last_updated": "2025-09-11", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000000, + "output": 32768 + }, + "cost": { + "input": 0.4, + "output": 1.2, + "cache_read": 0.08 + } + }, + "qwen/qwen3.6-35b-a3b": { + "id": "qwen/qwen3.6-35b-a3b", + "name": "Qwen: Qwen3.6 35B A3B", + "attachment": true, + "reasoning": true, + "tool_call": false, + "temperature": true, + "release_date": "2026-04-27", + "last_updated": "2026-05-01", + "modalities": { + "input": ["text", "image", "video"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 262144, + "output": 65536 + }, + "cost": { + "input": 0.1612, + "output": 0.96525, + "cache_read": 0.1612 + } + }, + "qwen/qwen3-vl-235b-a22b-thinking": { + "id": "qwen/qwen3-vl-235b-a22b-thinking", + "name": "Qwen: Qwen3 VL 235B A22B Thinking", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2025-09-24", + "last_updated": "2026-03-15", + "modalities": { + "input": ["image", "text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 32768 + }, + "cost": { + "input": 0.26, + "output": 2.6 + } + }, + "qwen/qwen3-vl-30b-a3b-thinking": { + "id": "qwen/qwen3-vl-30b-a3b-thinking", + "name": "Qwen: Qwen3 VL 30B A3B Thinking", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2025-10-11", + "last_updated": "2026-03-15", + "modalities": { + "input": ["image", "text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 32768 + }, + "cost": { + "input": 0.13, + "output": 1.56 + } + }, + "qwen/qwen3-vl-8b-instruct": { + "id": "qwen/qwen3-vl-8b-instruct", + "name": "Qwen: Qwen3 VL 8B Instruct", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "release_date": "2025-10-15", + "last_updated": "2025-11-25", + "modalities": { + "input": ["image", "text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 32768 + }, + "cost": { + "input": 0.08, + "output": 0.5 + } + }, + "qwen/qwen3.5-flash-02-23": { + "id": "qwen/qwen3.5-flash-02-23", + "name": "Qwen: Qwen3.5-Flash", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2026-02-26", + "last_updated": "2026-03-15", + "modalities": { + "input": ["image", "text", "video"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 1000000, + "output": 65536 + }, + "cost": { + "input": 0.1, + "output": 0.4 + } + }, + "qwen/qwen3.6-plus": { + "id": "qwen/qwen3.6-plus", + "name": "Qwen: Qwen3.6 Plus", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2025-08-26", + "last_updated": "2026-04-11", + "modalities": { + "input": ["image", "text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000000, + "output": 65536 + }, + "cost": { + "input": 0.325, + "output": 1.95, + "cache_read": 0.0325, + "cache_write": 0.40625 + } + }, + "qwen/qwen3-max": { + "id": "qwen/qwen3-max", + "name": "Qwen: Qwen3 Max", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "release_date": "2025-09-05", + "last_updated": "2026-03-15", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 262144, + "output": 32768 + }, + "cost": { + "input": 1.2, + "output": 6, + "cache_read": 0.24 + } + }, + "qwen/qwen-plus-2025-07-28": { + "id": "qwen/qwen-plus-2025-07-28", + "name": "Qwen: Qwen Plus 0728", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "release_date": "2025-09-09", + "last_updated": "2026-03-15", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 1000000, + "output": 32768 + }, + "cost": { + "input": 0.26, + "output": 0.78 + } + }, + "qwen/qwen3-30b-a3b-instruct-2507": { + "id": "qwen/qwen3-30b-a3b-instruct-2507", + "name": "Qwen: Qwen3 30B A3B Instruct 2507", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "release_date": "2025-07-29", + "last_updated": "2026-03-15", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 262144 + }, + "cost": { + "input": 0.09, + "output": 0.3, + "cache_read": 0.04 + } + }, + "qwen/qwen3-vl-32b-instruct": { + "id": "qwen/qwen3-vl-32b-instruct", + "name": "Qwen: Qwen3 VL 32B Instruct", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "release_date": "2025-10-21", + "last_updated": "2025-11-25", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 131072, + "output": 32768 + }, + "cost": { + "input": 0.104, + "output": 0.416 + } + }, + "qwen/qwen3-235b-a22b-thinking-2507": { + "id": "qwen/qwen3-235b-a22b-thinking-2507", + "name": "Qwen: Qwen3 235B A22B Thinking 2507", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2025-07-25", + "last_updated": "2026-03-15", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 262144 + }, + "cost": { + "input": 0.11, + "output": 0.6 + } + }, + "qwen/qwen3-next-80b-a3b-thinking": { + "id": "qwen/qwen3-next-80b-a3b-thinking", + "name": "Qwen: Qwen3 Next 80B A3B Thinking", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2025-09-11", + "last_updated": "2026-03-15", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 32768 + }, + "cost": { + "input": 0.0975, + "output": 0.78 + } + }, + "qwen/qwen3-30b-a3b-thinking-2507": { + "id": "qwen/qwen3-30b-a3b-thinking-2507", + "name": "Qwen: Qwen3 30B A3B Thinking 2507", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2025-07-29", + "last_updated": "2025-07-29", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 32768, + "output": 6554 + }, + "cost": { + "input": 0.051, + "output": 0.34 + } + }, + "qwen/qwen-2.5-7b-instruct": { + "id": "qwen/qwen-2.5-7b-instruct", + "name": "Qwen: Qwen2.5 7B Instruct", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "release_date": "2024-09", + "last_updated": "2025-04-16", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 32768, + "output": 6554 + }, + "cost": { + "input": 0.04, + "output": 0.1 + } + }, + "qwen/qwen-vl-max": { + "id": "qwen/qwen-vl-max", + "name": "Qwen: Qwen VL Max", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "release_date": "2024-04-08", + "last_updated": "2025-08-13", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 131072, + "output": 32768 + }, + "cost": { + "input": 0.8, + "output": 3.2 + } + }, + "qwen/qwen3-coder-flash": { + "id": "qwen/qwen3-coder-flash", + "name": "Qwen: Qwen3 Coder Flash", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "release_date": "2025-07-23", + "last_updated": "2026-03-15", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000000, + "output": 65536 + }, + "cost": { + "input": 0.195, + "output": 0.975, + "cache_read": 0.06 + } + }, + "qwen/qwen3-30b-a3b": { + "id": "qwen/qwen3-30b-a3b", + "name": "Qwen: Qwen3 30B A3B", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2025-04", + "last_updated": "2026-03-15", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 40960, + "output": 40960 + }, + "cost": { + "input": 0.08, + "output": 0.28, + "cache_read": 0.03 + } + }, + "qwen/qwen3-next-80b-a3b-instruct": { + "id": "qwen/qwen3-next-80b-a3b-instruct", + "name": "Qwen: Qwen3 Next 80B A3B Instruct", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "release_date": "2025-09-11", + "last_updated": "2026-03-15", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 52429 + }, + "cost": { + "input": 0.09, + "output": 1.1 + } + }, + "qwen/qwen3.5-plus-20260420": { + "id": "qwen/qwen3.5-plus-20260420", + "name": "Qwen: Qwen3.5 Plus 2026-04-20", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2026-04-27", + "last_updated": "2026-05-01", + "modalities": { + "input": ["text", "image", "video"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000000, + "output": 65536 + }, + "cost": { + "input": 0.4, + "output": 2.4 + } + }, + "qwen/qwen3-coder-next": { + "id": "qwen/qwen3-coder-next", + "name": "Qwen: Qwen3 Coder Next", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "release_date": "2026-02-02", + "last_updated": "2026-03-15", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 65536 + }, + "cost": { + "input": 0.12, + "output": 0.75, + "cache_read": 0.035 + } + }, + "qwen/qwen-2.5-coder-32b-instruct": { + "id": "qwen/qwen-2.5-coder-32b-instruct", + "name": "Qwen2.5 Coder 32B Instruct", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "release_date": "2024-11-11", + "last_updated": "2026-03-15", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 32768, + "output": 8192 + }, + "cost": { + "input": 0.2, + "output": 0.2, + "cache_read": 0.015 + } + }, + "qwen/qwen3-vl-30b-a3b-instruct": { + "id": "qwen/qwen3-vl-30b-a3b-instruct", + "name": "Qwen: Qwen3 VL 30B A3B Instruct", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "release_date": "2025-10-05", + "last_updated": "2025-11-25", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 32768 + }, + "cost": { + "input": 0.13, + "output": 0.52 + } + }, + "qwen/qwen3-coder-30b-a3b-instruct": { + "id": "qwen/qwen3-coder-30b-a3b-instruct", + "name": "Qwen: Qwen3 Coder 30B A3B Instruct", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "release_date": "2025-07-31", + "last_updated": "2025-07-31", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 160000, + "output": 32768 + }, + "cost": { + "input": 0.07, + "output": 0.27 + } + }, + "qwen/qwen3-max-thinking": { + "id": "qwen/qwen3-max-thinking", + "name": "Qwen: Qwen3 Max Thinking", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2026-01-23", + "last_updated": "2026-03-15", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 262144, + "output": 32768 + }, + "cost": { + "input": 0.78, + "output": 3.9 + } + }, + "qwen/qwen-turbo": { + "id": "qwen/qwen-turbo", + "name": "Qwen: Qwen-Turbo", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "release_date": "2024-11-01", + "last_updated": "2026-03-15", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 131072, + "output": 8192 + }, + "cost": { + "input": 0.0325, + "output": 0.13, + "cache_read": 0.01 + } + }, + "qwen/qwen3-vl-235b-a22b-instruct": { + "id": "qwen/qwen3-vl-235b-a22b-instruct", + "name": "Qwen: Qwen3 VL 235B A22B Instruct", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "release_date": "2025-09-23", + "last_updated": "2026-01-10", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 52429 + }, + "cost": { + "input": 0.2, + "output": 0.88, + "cache_read": 0.11 + } + }, + "qwen/qwen3-coder": { + "id": "qwen/qwen3-coder", + "name": "Qwen: Qwen3 Coder 480B A35B", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "release_date": "2025-07-23", + "last_updated": "2025-07-23", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 52429 + }, + "cost": { + "input": 0.22, + "output": 1, + "cache_read": 0.022 + } + }, + "qwen/qwen3.5-9b": { + "id": "qwen/qwen3.5-9b", + "name": "Qwen: Qwen3.5-9B", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2026-03-10", + "last_updated": "2026-03-15", + "modalities": { + "input": ["image", "text", "video"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 256000, + "output": 32768 + }, + "cost": { + "input": 0.05, + "output": 0.15 + } + }, + "qwen/qwen3-vl-8b-thinking": { + "id": "qwen/qwen3-vl-8b-thinking", + "name": "Qwen: Qwen3 VL 8B Thinking", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2025-10-15", + "last_updated": "2025-11-25", + "modalities": { + "input": ["image", "text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 131072, + "output": 32768 + }, + "cost": { + "input": 0.117, + "output": 1.365 + } + }, + "qwen/qwen3.6-max-preview": { + "id": "qwen/qwen3.6-max-preview", + "name": "Qwen: Qwen3.6 Max Preview", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2026-04-27", + "last_updated": "2026-05-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 262144, + "output": 65536 + }, + "cost": { + "input": 1.04, + "output": 6.24, + "cache_write": 1.3 + } + }, + "qwen/qwen-plus-2025-07-28:thinking": { + "id": "qwen/qwen-plus-2025-07-28:thinking", + "name": "Qwen: Qwen Plus 0728 (thinking)", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2025-09-09", + "last_updated": "2026-03-15", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 1000000, + "output": 32768 + }, + "cost": { + "input": 0.26, + "output": 0.78 + } + }, + "qwen/qwen-2.5-72b-instruct": { + "id": "qwen/qwen-2.5-72b-instruct", + "name": "Qwen2.5 72B Instruct", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "release_date": "2024-09", + "last_updated": "2026-01-10", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 32768, + "output": 16384 + }, + "cost": { + "input": 0.12, + "output": 0.39 + } + }, + "qwen/qwen3-14b": { + "id": "qwen/qwen3-14b", + "name": "Qwen: Qwen3 14B", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2025-04", + "last_updated": "2026-03-15", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 40960, + "output": 40960 + }, + "cost": { + "input": 0.06, + "output": 0.24, + "cache_read": 0.025 + } + }, + "qwen/qwen3.5-35b-a3b": { + "id": "qwen/qwen3.5-35b-a3b", + "name": "Qwen: Qwen3.5-35B-A3B", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2026-02-26", + "last_updated": "2026-03-15", + "modalities": { + "input": ["image", "text", "video"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 65536 + }, + "cost": { + "input": 0.1625, + "output": 1.3 + } + }, + "qwen/qwen3.5-plus-02-15": { + "id": "qwen/qwen3.5-plus-02-15", + "name": "Qwen: Qwen3.5 Plus 2026-02-15", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2026-02-15", + "last_updated": "2026-03-15", + "modalities": { + "input": ["image", "text", "video"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000000, + "output": 65536 + }, + "cost": { + "input": 0.26, + "output": 1.56 + } + }, + "qwen/qwen3.6-flash": { + "id": "qwen/qwen3.6-flash", + "name": "Qwen: Qwen3.6 Flash", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2026-04-27", + "last_updated": "2026-05-01", + "modalities": { + "input": ["text", "image", "video"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000000, + "output": 65536 + }, + "cost": { + "input": 0.25, + "output": 1.5, + "cache_write": 0.3125 + } + }, + "alfredpros/codellama-7b-instruct-solidity": { + "id": "alfredpros/codellama-7b-instruct-solidity", + "name": "AlfredPros: CodeLLaMa 7B Instruct Solidity", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "release_date": "2025-04-14", + "last_updated": "2026-03-15", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 4096, + "output": 4096 + }, + "cost": { + "input": 0.8, + "output": 1.2 + } + }, + "kwaipilot/kat-coder-pro-v2": { + "id": "kwaipilot/kat-coder-pro-v2", + "name": "Kwaipilot: KAT-Coder-Pro V2", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "release_date": "2026-03-27", + "last_updated": "2026-04-11", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 256000, + "output": 80000 + }, + "cost": { + "input": 0.3, + "output": 1.2, + "cache_read": 0.06 + } + }, + "google/gemini-2.5-pro-preview-05-06": { + "id": "google/gemini-2.5-pro-preview-05-06", + "name": "Google: Gemini 2.5 Pro Preview 05-06", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2025-05-06", + "last_updated": "2026-03-15", + "modalities": { + "input": ["audio", "image", "pdf", "text", "video"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1048576, + "output": 65535 + }, + "cost": { + "input": 1.25, + "output": 10, + "reasoning": 10, + "cache_read": 0.125, + "cache_write": 0.375 + } + }, + "google/lyria-3-clip-preview": { + "id": "google/lyria-3-clip-preview", + "name": "Google: Lyria 3 Clip Preview", + "attachment": true, + "reasoning": false, + "tool_call": false, + "temperature": true, + "release_date": "2026-03-30", + "last_updated": "2026-04-11", + "modalities": { + "input": ["image", "text"], + "output": ["audio", "text"] + }, + "open_weights": false, + "limit": { + "context": 1048576, + "output": 65536 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "google/gemini-3.1-pro-preview-customtools": { + "id": "google/gemini-3.1-pro-preview-customtools", + "name": "Google: Gemini 3.1 Pro Preview Custom Tools", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2026-02-26", + "last_updated": "2026-03-15", + "modalities": { + "input": ["audio", "image", "pdf", "text", "video"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1048576, + "output": 65536 + }, + "cost": { + "input": 2, + "output": 12, + "reasoning": 12 + } + }, + "google/gemini-2.5-flash-lite-preview-09-2025": { + "id": "google/gemini-2.5-flash-lite-preview-09-2025", + "name": "Google: Gemini 2.5 Flash Lite Preview 09-2025", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2025-09-25", + "last_updated": "2026-03-15", + "modalities": { + "input": ["audio", "image", "pdf", "text", "video"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1048576, + "output": 65536 + }, + "cost": { + "input": 0.1, + "output": 0.4, + "reasoning": 0.4, + "cache_read": 0.01, + "cache_write": 0.083333 + } + }, + "google/gemini-2.0-flash-001": { + "id": "google/gemini-2.0-flash-001", + "name": "Google: Gemini 2.0 Flash", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "release_date": "2024-12-11", + "last_updated": "2026-03-15", + "modalities": { + "input": ["audio", "image", "pdf", "text", "video"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1048576, + "output": 8192 + }, + "cost": { + "input": 0.1, + "output": 0.4, + "cache_read": 0.025, + "cache_write": 0.083333 + } + }, + "google/lyria-3-pro-preview": { + "id": "google/lyria-3-pro-preview", + "name": "Google: Lyria 3 Pro Preview", + "attachment": true, + "reasoning": false, + "tool_call": false, + "temperature": true, + "release_date": "2026-03-30", + "last_updated": "2026-04-11", + "modalities": { + "input": ["image", "text"], + "output": ["audio", "text"] + }, + "open_weights": false, + "limit": { + "context": 1048576, + "output": 65536 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "google/gemma-3n-e4b-it": { + "id": "google/gemma-3n-e4b-it", + "name": "Google: Gemma 3n 4B", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, "release_date": "2025-05-20", "last_updated": "2025-05-20", - "modalities": { "input": ["text", "image", "audio", "video", "pdf"], "output": ["text"] }, + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 32768, + "output": 6554 + }, + "cost": { + "input": 0.02, + "output": 0.04 + } + }, + "google/gemini-3.1-flash-lite-preview": { + "id": "google/gemini-3.1-flash-lite-preview", + "name": "Google: Gemini 3.1 Flash Lite Preview", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2026-03-03", + "last_updated": "2026-03-15", + "modalities": { + "input": ["audio", "image", "pdf", "text", "video"], + "output": ["text"] + }, "open_weights": false, - "cost": { "input": 0.15, "output": 0.6, "cache_read": 0.0375 }, - "limit": { "context": 1048576, "output": 65536 } + "limit": { + "context": 1048576, + "output": 65536 + }, + "cost": { + "input": 0.25, + "output": 1.5, + "reasoning": 1.5 + } + }, + "google/gemini-3.1-pro-preview": { + "id": "google/gemini-3.1-pro-preview", + "name": "Google: Gemini 3.1 Pro Preview", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2026-02-19", + "last_updated": "2026-03-15", + "modalities": { + "input": ["audio", "image", "pdf", "text", "video"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1048576, + "output": 65536 + }, + "cost": { + "input": 2, + "output": 12, + "reasoning": 12 + } + }, + "google/gemini-3-flash-preview": { + "id": "google/gemini-3-flash-preview", + "name": "Google: Gemini 3 Flash Preview", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2025-12-17", + "last_updated": "2026-03-15", + "modalities": { + "input": ["audio", "image", "pdf", "text", "video"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1048576, + "output": 65536 + }, + "cost": { + "input": 0.5, + "output": 3, + "reasoning": 3, + "cache_read": 0.05, + "cache_write": 0.083333 + } + }, + "google/gemini-2.5-pro": { + "id": "google/gemini-2.5-pro", + "name": "Google: Gemini 2.5 Pro", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2025-03-20", + "last_updated": "2026-03-15", + "modalities": { + "input": ["audio", "image", "pdf", "text", "video"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1048576, + "output": 65536 + }, + "cost": { + "input": 1.25, + "output": 10, + "reasoning": 10, + "cache_read": 0.125, + "cache_write": 0.375 + } + }, + "google/gemini-3-pro-image-preview": { + "id": "google/gemini-3-pro-image-preview", + "name": "Google: Nano Banana Pro (Gemini 3 Pro Image Preview)", + "attachment": true, + "reasoning": true, + "tool_call": false, + "temperature": true, + "release_date": "2025-11-20", + "last_updated": "2026-03-15", + "modalities": { + "input": ["image", "text"], + "output": ["image", "text"] + }, + "open_weights": false, + "limit": { + "context": 65536, + "output": 32768 + }, + "cost": { + "input": 2, + "output": 12, + "reasoning": 12 + } + }, + "google/gemma-4-31b-it": { + "id": "google/gemma-4-31b-it", + "name": "Google: Gemma 4 31B", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2026-04-02", + "last_updated": "2026-04-11", + "modalities": { + "input": ["image", "text", "video"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 131072 + }, + "cost": { + "input": 0.14, + "output": 0.4 + } + }, + "google/gemini-2.5-flash-image": { + "id": "google/gemini-2.5-flash-image", + "name": "Google: Nano Banana (Gemini 2.5 Flash Image)", + "attachment": true, + "reasoning": false, + "tool_call": false, + "temperature": true, + "release_date": "2025-10-08", + "last_updated": "2026-03-15", + "modalities": { + "input": ["image", "text"], + "output": ["image", "text"] + }, + "open_weights": false, + "limit": { + "context": 32768, + "output": 32768 + }, + "cost": { + "input": 0.3, + "output": 2.5 + } + }, + "google/gemma-3-12b-it": { + "id": "google/gemma-3-12b-it", + "name": "Google: Gemma 3 12B", + "attachment": true, + "reasoning": false, + "tool_call": false, + "temperature": true, + "release_date": "2025-03-13", + "last_updated": "2026-03-15", + "modalities": { + "input": ["image", "text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 131072 + }, + "cost": { + "input": 0.04, + "output": 0.13, + "cache_read": 0.015 + } + }, + "google/gemini-2.5-flash": { + "id": "google/gemini-2.5-flash", + "name": "Google: Gemini 2.5 Flash", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2025-07-17", + "last_updated": "2026-03-15", + "modalities": { + "input": ["audio", "image", "pdf", "text", "video"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1048576, + "output": 65535 + }, + "cost": { + "input": 0.3, + "output": 2.5, + "reasoning": 2.5, + "cache_read": 0.03, + "cache_write": 0.083333 + } + }, + "google/gemini-3.1-flash-image-preview": { + "id": "google/gemini-3.1-flash-image-preview", + "name": "Google: Nano Banana 2 (Gemini 3.1 Flash Image Preview)", + "attachment": true, + "reasoning": true, + "tool_call": false, + "temperature": true, + "release_date": "2026-02-26", + "last_updated": "2026-03-15", + "modalities": { + "input": ["image", "text"], + "output": ["image", "text"] + }, + "open_weights": false, + "limit": { + "context": 65536, + "output": 65536 + }, + "cost": { + "input": 0.5, + "output": 3 + } + }, + "google/gemma-3-4b-it": { + "id": "google/gemma-3-4b-it", + "name": "Google: Gemma 3 4B", + "attachment": true, + "reasoning": false, + "tool_call": false, + "temperature": true, + "release_date": "2025-03-13", + "last_updated": "2026-03-15", + "modalities": { + "input": ["image", "text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 19200 + }, + "cost": { + "input": 0.04, + "output": 0.08 + } + }, + "google/gemini-2.5-pro-preview": { + "id": "google/gemini-2.5-pro-preview", + "name": "Google: Gemini 2.5 Pro Preview 06-05", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2025-06-05", + "last_updated": "2026-03-15", + "modalities": { + "input": ["audio", "image", "pdf", "text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1048576, + "output": 65536 + }, + "cost": { + "input": 1.25, + "output": 10, + "reasoning": 10, + "cache_read": 0.125, + "cache_write": 0.375 + } + }, + "google/gemma-2-27b-it": { + "id": "google/gemma-2-27b-it", + "name": "Google: Gemma 2 27B", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "release_date": "2024-06-24", + "last_updated": "2024-06-24", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 8192, + "output": 2048 + }, + "cost": { + "input": 0.65, + "output": 0.65 + } + }, + "google/gemma-3-27b-it": { + "id": "google/gemma-3-27b-it", + "name": "Google: Gemma 3 27B", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "release_date": "2025-03-12", + "last_updated": "2026-03-15", + "modalities": { + "input": ["image", "text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 65536 + }, + "cost": { + "input": 0.03, + "output": 0.11, + "cache_read": 0.02 + } + }, + "google/gemma-4-26b-a4b-it": { + "id": "google/gemma-4-26b-a4b-it", + "name": "Google: Gemma 4 26B A4B", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2026-04-03", + "last_updated": "2026-04-11", + "modalities": { + "input": ["image", "text", "video"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 262144 + }, + "cost": { + "input": 0.12, + "output": 0.4 + } + }, + "google/gemini-2.5-flash-lite": { + "id": "google/gemini-2.5-flash-lite", + "name": "Google: Gemini 2.5 Flash Lite", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2025-06-17", + "last_updated": "2026-03-15", + "modalities": { + "input": ["audio", "image", "pdf", "text", "video"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1048576, + "output": 65535 + }, + "cost": { + "input": 0.1, + "output": 0.4, + "reasoning": 0.4, + "cache_read": 0.01, + "cache_write": 0.083333 + } + }, + "google/gemini-2.0-flash-lite-001": { + "id": "google/gemini-2.0-flash-lite-001", + "name": "Google: Gemini 2.0 Flash Lite", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "release_date": "2024-12-11", + "last_updated": "2026-03-15", + "modalities": { + "input": ["audio", "image", "pdf", "text", "video"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1048576, + "output": 8192 + }, + "cost": { + "input": 0.075, + "output": 0.3 + } + }, + "moonshotai/kimi-k2.5": { + "id": "moonshotai/kimi-k2.5", + "name": "MoonshotAI: Kimi K2.5", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2026-01-27", + "last_updated": "2026-03-15", + "modalities": { + "input": ["image", "text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 65535 + }, + "cost": { + "input": 0.45, + "output": 2.2 + } + }, + "moonshotai/kimi-k2-0905": { + "id": "moonshotai/kimi-k2-0905", + "name": "MoonshotAI: Kimi K2 0905", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "release_date": "2025-09-05", + "last_updated": "2025-09-05", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 26215 + }, + "cost": { + "input": 0.4, + "output": 2, + "cache_read": 0.15 + } + }, + "moonshotai/kimi-k2.6": { + "id": "moonshotai/kimi-k2.6", + "name": "MoonshotAI: Kimi K2.6", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2026-04-20", + "last_updated": "2026-05-12", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 65535 + }, + "cost": { + "input": 0.75, + "output": 3.5, + "cache_read": 0.375 + } + }, + "moonshotai/kimi-k2": { + "id": "moonshotai/kimi-k2", + "name": "MoonshotAI: Kimi K2 0711", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "release_date": "2025-07-11", + "last_updated": "2026-03-15", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131000, + "output": 26215 + }, + "cost": { + "input": 0.55, + "output": 2.2 + } + }, + "moonshotai/kimi-k2-thinking": { + "id": "moonshotai/kimi-k2-thinking", + "name": "MoonshotAI: Kimi K2 Thinking", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2025-11-06", + "last_updated": "2026-03-15", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 65535 + }, + "cost": { + "input": 0.47, + "output": 2, + "cache_read": 0.2 + } + }, + "aion-labs/aion-1.0": { + "id": "aion-labs/aion-1.0", + "name": "AionLabs: Aion-1.0", + "attachment": false, + "reasoning": true, + "tool_call": false, + "temperature": true, + "release_date": "2025-02-05", + "last_updated": "2026-03-15", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 131072, + "output": 32768 + }, + "cost": { + "input": 4, + "output": 8 + } + }, + "aion-labs/aion-rp-llama-3.1-8b": { + "id": "aion-labs/aion-rp-llama-3.1-8b", + "name": "AionLabs: Aion-RP 1.0 (8B)", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "release_date": "2025-02-05", + "last_updated": "2026-03-15", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 32768, + "output": 32768 + }, + "cost": { + "input": 0.8, + "output": 1.6 + } + }, + "aion-labs/aion-2.0": { + "id": "aion-labs/aion-2.0", + "name": "AionLabs: Aion-2.0", + "attachment": false, + "reasoning": true, + "tool_call": false, + "temperature": true, + "release_date": "2026-02-24", + "last_updated": "2026-03-15", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 131072, + "output": 32768 + }, + "cost": { + "input": 0.8, + "output": 1.6 + } + }, + "aion-labs/aion-1.0-mini": { + "id": "aion-labs/aion-1.0-mini", + "name": "AionLabs: Aion-1.0-Mini", + "attachment": false, + "reasoning": true, + "tool_call": false, + "temperature": true, + "release_date": "2025-02-05", + "last_updated": "2026-03-15", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 131072, + "output": 32768 + }, + "cost": { + "input": 0.7, + "output": 1.4 + } + }, + "~moonshotai/kimi-latest": { + "id": "~moonshotai/kimi-latest", + "name": "MoonshotAI: Kimi Latest", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2026-04-27", + "last_updated": "2026-05-01", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 262142, + "output": 262142 + }, + "cost": { + "input": 0.74, + "output": 3.49, + "cache_read": 0.14 + } + }, + "thedrummer/unslopnemo-12b": { + "id": "thedrummer/unslopnemo-12b", + "name": "TheDrummer: UnslopNemo 12B", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "release_date": "2024-11-09", + "last_updated": "2026-03-15", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 32768, + "output": 32768 + }, + "cost": { + "input": 0.4, + "output": 0.4 + } + }, + "thedrummer/cydonia-24b-v4.1": { + "id": "thedrummer/cydonia-24b-v4.1", + "name": "TheDrummer: Cydonia 24B V4.1", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "release_date": "2025-09-27", + "last_updated": "2026-03-15", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 131072 + }, + "cost": { + "input": 0.3, + "output": 0.5 + } + }, + "thedrummer/skyfall-36b-v2": { + "id": "thedrummer/skyfall-36b-v2", + "name": "TheDrummer: Skyfall 36B V2", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "release_date": "2025-03-11", + "last_updated": "2026-03-15", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 32768, + "output": 32768 + }, + "cost": { + "input": 0.55, + "output": 0.8 + } + }, + "thedrummer/rocinante-12b": { + "id": "thedrummer/rocinante-12b", + "name": "TheDrummer: Rocinante 12B", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "release_date": "2024-09-30", + "last_updated": "2026-03-15", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 32768, + "output": 32768 + }, + "cost": { + "input": 0.17, + "output": 0.43 + } + }, + "anthropic/claude-opus-4.1": { + "id": "anthropic/claude-opus-4.1", + "name": "Anthropic: Claude Opus 4.1", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2025-08-05", + "last_updated": "2026-03-15", + "modalities": { + "input": ["image", "pdf", "text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 32000 + }, + "cost": { + "input": 15, + "output": 75, + "cache_read": 1.5, + "cache_write": 18.75 + } + }, + "anthropic/claude-3.7-sonnet:thinking": { + "id": "anthropic/claude-3.7-sonnet:thinking", + "name": "Anthropic: Claude 3.7 Sonnet (thinking)", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2025-02-19", + "last_updated": "2026-03-15", + "modalities": { + "input": ["image", "pdf", "text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 64000 + }, + "cost": { + "input": 3, + "output": 15, + "cache_read": 0.3, + "cache_write": 3.75 + } + }, + "anthropic/claude-opus-4.6-fast": { + "id": "anthropic/claude-opus-4.6-fast", + "name": "Anthropic: Claude Opus 4.6 (Fast)", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-05-31", + "release_date": "2026-04-07", + "last_updated": "2026-04-11", + "modalities": { + "input": ["image", "text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000000, + "output": 128000 + }, + "cost": { + "input": 30, + "output": 150, + "cache_read": 3, + "cache_write": 37.5 + } + }, + "anthropic/claude-3.7-sonnet": { + "id": "anthropic/claude-3.7-sonnet", + "name": "Anthropic: Claude 3.7 Sonnet", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2025-02-19", + "last_updated": "2026-03-15", + "modalities": { + "input": ["image", "pdf", "text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 64000 + }, + "cost": { + "input": 3, + "output": 15, + "cache_read": 0.3, + "cache_write": 3.75 + } + }, + "anthropic/claude-opus-4.6": { + "id": "anthropic/claude-opus-4.6", + "name": "Anthropic: Claude Opus 4.6", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-05-31", + "release_date": "2026-02-05", + "last_updated": "2026-02-05", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000000, + "output": 128000 + }, + "cost": { + "input": 5, + "output": 25, + "cache_read": 0.5, + "cache_write": 6.25 + } + }, + "anthropic/claude-opus-4.7": { + "id": "anthropic/claude-opus-4.7", + "name": "Anthropic: Claude Opus 4.7", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": false, + "release_date": "2026-04-16", + "last_updated": "2026-05-01", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000000, + "output": 128000 + }, + "cost": { + "input": 5, + "output": 25, + "cache_read": 0.5, + "cache_write": 6.25 + } + }, + "anthropic/claude-sonnet-4": { + "id": "anthropic/claude-sonnet-4", + "name": "Anthropic: Claude Sonnet 4", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2025-05-22", + "last_updated": "2026-03-15", + "modalities": { + "input": ["image", "pdf", "text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 64000 + }, + "cost": { + "input": 3, + "output": 15, + "cache_read": 0.3, + "cache_write": 3.75 + } + }, + "anthropic/claude-sonnet-4.5": { + "id": "anthropic/claude-sonnet-4.5", + "name": "Anthropic: Claude Sonnet 4.5", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2025-09-29", + "last_updated": "2026-03-15", + "modalities": { + "input": ["image", "pdf", "text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000000, + "output": 64000 + }, + "cost": { + "input": 3, + "output": 15, + "cache_read": 0.3, + "cache_write": 3.75 + } + }, + "anthropic/claude-opus-4.5": { + "id": "anthropic/claude-opus-4.5", + "name": "Anthropic: Claude Opus 4.5", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2025-11-24", + "last_updated": "2026-03-15", + "modalities": { + "input": ["image", "pdf", "text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 64000 + }, + "cost": { + "input": 5, + "output": 25, + "cache_read": 0.5, + "cache_write": 6.25 + } + }, + "anthropic/claude-3-haiku": { + "id": "anthropic/claude-3-haiku", + "name": "Anthropic: Claude 3 Haiku", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "release_date": "2024-03-07", + "last_updated": "2024-03-07", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 4096 + }, + "cost": { + "input": 0.25, + "output": 1.25, + "cache_read": 0.03, + "cache_write": 0.3 + } + }, + "anthropic/claude-opus-4": { + "id": "anthropic/claude-opus-4", + "name": "Anthropic: Claude Opus 4", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2025-05-22", + "last_updated": "2026-03-15", + "modalities": { + "input": ["image", "pdf", "text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 32000 + }, + "cost": { + "input": 15, + "output": 75, + "cache_read": 1.5, + "cache_write": 18.75 + } + }, + "anthropic/claude-3.5-haiku": { + "id": "anthropic/claude-3.5-haiku", + "name": "Anthropic: Claude 3.5 Haiku", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "release_date": "2024-10-22", + "last_updated": "2024-10-22", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 8192 + }, + "cost": { + "input": 0.8, + "output": 4, + "cache_read": 0.08, + "cache_write": 1 + } + }, + "anthropic/claude-haiku-4.5": { + "id": "anthropic/claude-haiku-4.5", + "name": "Anthropic: Claude Haiku 4.5", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2025-10-15", + "last_updated": "2025-10-15", + "modalities": { + "input": ["image", "text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 64000 + }, + "cost": { + "input": 1, + "output": 5, + "cache_read": 0.1, + "cache_write": 1.25 + } + }, + "anthropic/claude-sonnet-4.6": { + "id": "anthropic/claude-sonnet-4.6", + "name": "Anthropic: Claude Sonnet 4.6", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-08-31", + "release_date": "2026-02-17", + "last_updated": "2026-03-15", + "modalities": { + "input": ["image", "text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000000, + "output": 128000 + }, + "cost": { + "input": 3, + "output": 15 + } + }, + "switchpoint/router": { + "id": "switchpoint/router", + "name": "Switchpoint Router", + "attachment": false, + "reasoning": true, + "tool_call": false, + "temperature": true, + "release_date": "2025-07-12", + "last_updated": "2026-03-15", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 131072, + "output": 32768 + }, + "cost": { + "input": 0.85, + "output": 3.4 + } + }, + "bytedance/ui-tars-1.5-7b": { + "id": "bytedance/ui-tars-1.5-7b", + "name": "ByteDance: UI-TARS 7B ", + "attachment": true, + "reasoning": false, + "tool_call": false, + "temperature": true, + "release_date": "2025-07-23", + "last_updated": "2026-03-15", + "modalities": { + "input": ["image", "text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 2048 + }, + "cost": { + "input": 0.1, + "output": 0.2 + } + }, + "tngtech/deepseek-r1t2-chimera": { + "id": "tngtech/deepseek-r1t2-chimera", + "name": "TNG: DeepSeek R1T2 Chimera", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2025-07-08", + "last_updated": "2025-07-08", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 163840, + "output": 163840 + }, + "cost": { + "input": 0.25, + "output": 0.85, + "cache_read": 0.125 + } + }, + "xiaomi/mimo-v2.5-pro": { + "id": "xiaomi/mimo-v2.5-pro", + "name": "Xiaomi: MiMo V2.5 Pro", + "family": "mimo", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "temperature": true, + "knowledge": "2024-12", + "release_date": "2026-04-22", + "last_updated": "2026-04-22", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 1048576, + "output": 131072 + }, + "cost": { + "input": 1, + "output": 3, + "cache_read": 0.2, + "context_over_200k": { + "input": 2, + "output": 6, + "cache_read": 0.4 + }, + "tiers": [ + { + "input": 2, + "output": 6, + "cache_read": 0.4, + "tier": { + "type": "context", + "size": 256000 + } + } + ] + } + }, + "xiaomi/mimo-v2-omni": { + "id": "xiaomi/mimo-v2-omni", + "name": "Xiaomi: MiMo-V2-Omni", + "family": "mimo", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-12", + "release_date": "2026-03-18", + "last_updated": "2026-03-18", + "modalities": { + "input": ["text", "image", "audio", "video", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 262144, + "output": 65536 + }, + "cost": { + "input": 0.4, + "output": 2, + "cache_read": 0.08 + } + }, + "xiaomi/mimo-v2.5": { + "id": "xiaomi/mimo-v2.5", + "name": "Xiaomi: MiMo-V2.5", + "family": "mimo", + "attachment": true, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "temperature": true, + "knowledge": "2024-12", + "release_date": "2026-04-22", + "last_updated": "2026-04-22", + "modalities": { + "input": ["text", "image", "audio", "video"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 1048576, + "output": 131072 + }, + "cost": { + "input": 0.4, + "output": 2, + "cache_read": 0.08, + "context_over_200k": { + "input": 0.8, + "output": 4, + "cache_read": 0.16 + }, + "tiers": [ + { + "input": 0.8, + "output": 4, + "cache_read": 0.16, + "tier": { + "type": "context", + "size": 256000 + } + } + ] + } + }, + "xiaomi/mimo-v2-pro": { + "id": "xiaomi/mimo-v2-pro", + "name": "Xiaomi: MiMo-V2-Pro", + "family": "mimo", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-12", + "release_date": "2026-03-18", + "last_updated": "2026-03-18", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1048576, + "output": 131072 + }, + "cost": { + "input": 1, + "output": 3, + "cache_read": 0.2, + "context_over_200k": { + "input": 2, + "output": 6, + "cache_read": 0.4 + }, + "tiers": [ + { + "input": 2, + "output": 6, + "cache_read": 0.4, + "tier": { + "type": "context", + "size": 256000 + } + } + ] + } + }, + "xiaomi/mimo-v2-flash": { + "id": "xiaomi/mimo-v2-flash", + "name": "Xiaomi: MiMo-V2-Flash", + "family": "mimo", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-12-01", + "release_date": "2025-12-16", + "last_updated": "2026-02-04", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 65536 + }, + "cost": { + "input": 0.09, + "output": 0.29, + "cache_read": 0.045 + } + } + } + }, + "sap-ai-core": { + "id": "sap-ai-core", + "env": ["AICORE_SERVICE_KEY"], + "npm": "@jerome-benoit/sap-ai-provider-v2", + "name": "SAP AI Core", + "doc": "https://help.sap.com/docs/sap-ai-core", + "models": { + "anthropic--claude-4.6-opus": { + "id": "anthropic--claude-4.6-opus", + "name": "anthropic--claude-4.6-opus", + "family": "claude-opus", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-05", + "release_date": "2026-02-05", + "last_updated": "2026-03-13", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000000, + "output": 128000 + }, + "cost": { + "input": 5, + "output": 25, + "cache_read": 0.5, + "cache_write": 6.25 + } + }, + "anthropic--claude-3-haiku": { + "id": "anthropic--claude-3-haiku", + "name": "anthropic--claude-3-haiku", + "family": "claude-haiku", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2023-08-31", + "release_date": "2024-03-13", + "last_updated": "2024-03-13", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 4096 + }, + "cost": { + "input": 0.25, + "output": 1.25, + "cache_read": 0.03, + "cache_write": 0.3 + } + }, + "anthropic--claude-3-opus": { + "id": "anthropic--claude-3-opus", + "name": "anthropic--claude-3-opus", + "family": "claude-opus", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2023-08-31", + "release_date": "2024-02-29", + "last_updated": "2024-02-29", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 4096 + }, + "cost": { + "input": 15, + "output": 75, + "cache_read": 1.5, + "cache_write": 18.75 + } + }, + "gpt-5-mini": { + "id": "gpt-5-mini", + "name": "gpt-5-mini", + "family": "gpt-mini", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": false, + "knowledge": "2024-05-30", + "release_date": "2025-08-07", + "last_updated": "2025-08-07", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "output": 128000 + }, + "cost": { + "input": 0.25, + "output": 2, + "cache_read": 0.025 + } + }, + "gpt-5-nano": { + "id": "gpt-5-nano", + "name": "gpt-5-nano", + "family": "gpt-nano", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": false, + "knowledge": "2024-05-30", + "release_date": "2025-08-07", + "last_updated": "2025-08-07", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "output": 128000 + }, + "cost": { + "input": 0.05, + "output": 0.4, + "cache_read": 0.005 + } + }, + "gemini-2.5-pro": { + "id": "gemini-2.5-pro", + "name": "gemini-2.5-pro", + "family": "gemini-pro", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2025-03-25", + "last_updated": "2025-06-05", + "modalities": { + "input": ["text", "image", "audio", "video", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1048576, + "output": 65536 + }, + "cost": { + "input": 1.25, + "output": 10, + "cache_read": 0.125 + } + }, + "anthropic--claude-3.7-sonnet": { + "id": "anthropic--claude-3.7-sonnet", + "name": "anthropic--claude-3.7-sonnet", + "family": "claude-sonnet", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-10-31", + "release_date": "2025-02-24", + "last_updated": "2025-02-24", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 64000 + }, + "cost": { + "input": 3, + "output": 15, + "cache_read": 0.3, + "cache_write": 3.75 + } + }, + "sonar-pro": { + "id": "sonar-pro", + "name": "sonar-pro", + "family": "sonar-pro", + "attachment": true, + "reasoning": false, + "tool_call": false, + "temperature": true, + "knowledge": "2025-09-01", + "release_date": "2024-01-01", + "last_updated": "2025-09-01", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 8192 + }, + "cost": { + "input": 3, + "output": 15 + } + }, + "anthropic--claude-4.5-sonnet": { + "id": "anthropic--claude-4.5-sonnet", + "name": "anthropic--claude-4.5-sonnet", + "family": "claude-sonnet", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-07-31", + "release_date": "2025-09-29", + "last_updated": "2025-09-29", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 64000 + }, + "cost": { + "input": 3, + "output": 15, + "cache_read": 0.3, + "cache_write": 3.75 + } + }, + "anthropic--claude-4.6-sonnet": { + "id": "anthropic--claude-4.6-sonnet", + "name": "anthropic--claude-4.6-sonnet", + "family": "claude-sonnet", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-08", + "release_date": "2026-02-17", + "last_updated": "2026-03-13", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000000, + "output": 64000 + }, + "cost": { + "input": 3, + "output": 15, + "cache_read": 0.3, + "cache_write": 3.75 + } + }, + "sonar-deep-research": { + "id": "sonar-deep-research", + "name": "sonar-deep-research", + "family": "sonar-deep-research", + "attachment": false, + "reasoning": true, + "tool_call": false, + "temperature": false, + "knowledge": "2025-01", + "release_date": "2025-02-01", + "last_updated": "2025-09-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 32768 + }, + "cost": { + "input": 2, + "output": 8, + "reasoning": 3 + } + }, + "gemini-2.5-flash": { + "id": "gemini-2.5-flash", + "name": "gemini-2.5-flash", + "family": "gemini-flash", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2025-03-25", + "last_updated": "2025-06-05", + "modalities": { + "input": ["text", "image", "audio", "video", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1048576, + "output": 65536 + }, + "cost": { + "input": 0.3, + "output": 2.5, + "cache_read": 0.03, + "input_audio": 1 + } + }, + "anthropic--claude-4.5-opus": { + "id": "anthropic--claude-4.5-opus", + "name": "anthropic--claude-4.5-opus", + "family": "claude-opus", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-05", + "release_date": "2025-11-24", + "last_updated": "2025-11-24", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 64000 + }, + "cost": { + "input": 5, + "output": 25, + "cache_read": 0.5, + "cache_write": 6.25 + } + }, + "sonar": { + "id": "sonar", + "name": "sonar", + "family": "sonar", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "knowledge": "2025-09-01", + "release_date": "2024-01-01", + "last_updated": "2025-09-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 4096 + }, + "cost": { + "input": 1, + "output": 1 + } + }, + "anthropic--claude-4-opus": { + "id": "anthropic--claude-4-opus", + "name": "anthropic--claude-4-opus", + "family": "claude-opus", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-03-31", + "release_date": "2025-05-22", + "last_updated": "2025-05-22", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 32000 + }, + "cost": { + "input": 15, + "output": 75, + "cache_read": 1.5, + "cache_write": 18.75 + } + }, + "anthropic--claude-3-sonnet": { + "id": "anthropic--claude-3-sonnet", + "name": "anthropic--claude-3-sonnet", + "family": "claude-sonnet", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2023-08-31", + "release_date": "2024-03-04", + "last_updated": "2024-03-04", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 4096 + }, + "cost": { + "input": 3, + "output": 15, + "cache_read": 0.3, + "cache_write": 3.75 + } + }, + "anthropic--claude-4-sonnet": { + "id": "anthropic--claude-4-sonnet", + "name": "anthropic--claude-4-sonnet", + "family": "claude-sonnet", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-03-31", + "release_date": "2025-05-22", + "last_updated": "2025-05-22", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 64000 + }, + "cost": { + "input": 3, + "output": 15, + "cache_read": 0.3, + "cache_write": 3.75 + } + }, + "gemini-2.5-flash-lite": { + "id": "gemini-2.5-flash-lite", + "name": "gemini-2.5-flash-lite", + "family": "gemini-flash-lite", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2025-06-17", + "last_updated": "2025-06-17", + "modalities": { + "input": ["text", "image", "audio", "video", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1048576, + "output": 65536 + }, + "cost": { + "input": 0.1, + "output": 0.4, + "cache_read": 0.025 + } + }, + "anthropic--claude-4.5-haiku": { + "id": "anthropic--claude-4.5-haiku", + "name": "anthropic--claude-4.5-haiku", + "family": "claude-haiku", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-02-28", + "release_date": "2025-10-15", + "last_updated": "2025-10-15", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 64000 + }, + "cost": { + "input": 1, + "output": 5, + "cache_read": 0.1, + "cache_write": 1.25 + } + }, + "gpt-5": { + "id": "gpt-5", + "name": "gpt-5", + "family": "gpt", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": false, + "knowledge": "2024-09-30", + "release_date": "2025-08-07", + "last_updated": "2025-08-07", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "output": 128000 + }, + "cost": { + "input": 1.25, + "output": 10, + "cache_read": 0.125 + } + }, + "gpt-4.1": { + "id": "gpt-4.1", + "name": "gpt-4.1", + "family": "gpt", + "attachment": true, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2024-04", + "release_date": "2025-04-14", + "last_updated": "2025-04-14", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1047576, + "output": 32768 + }, + "cost": { + "input": 2, + "output": 8, + "cache_read": 0.5 + } + }, + "gpt-4.1-mini": { + "id": "gpt-4.1-mini", + "name": "gpt-4.1-mini", + "family": "gpt-mini", + "attachment": true, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2024-04", + "release_date": "2025-04-14", + "last_updated": "2025-04-14", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1047576, + "output": 32768 + }, + "cost": { + "input": 0.4, + "output": 1.6, + "cache_read": 0.1 + } + }, + "anthropic--claude-3.5-sonnet": { + "id": "anthropic--claude-3.5-sonnet", + "name": "anthropic--claude-3.5-sonnet", + "family": "claude-sonnet", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-04-30", + "release_date": "2024-10-22", + "last_updated": "2024-10-22", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 8192 + }, + "cost": { + "input": 3, + "output": 15, + "cache_read": 0.3, + "cache_write": 3.75 + } + } + } + }, + "morph": { + "id": "morph", + "env": ["MORPH_API_KEY"], + "npm": "@ai-sdk/openai-compatible", + "api": "https://api.morphllm.com/v1", + "name": "Morph", + "doc": "https://docs.morphllm.com/api-reference/introduction", + "models": { + "auto": { + "id": "auto", + "name": "Auto", + "family": "auto", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": false, + "release_date": "2024-06-01", + "last_updated": "2024-06-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 32000, + "output": 32000 + }, + "cost": { + "input": 0.85, + "output": 1.55 + } + }, + "morph-v3-fast": { + "id": "morph-v3-fast", + "name": "Morph v3 Fast", + "family": "morph", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": false, + "release_date": "2024-08-15", + "last_updated": "2024-08-15", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 16000, + "output": 16000 + }, + "cost": { + "input": 0.8, + "output": 1.2 + } + }, + "morph-v3-large": { + "id": "morph-v3-large", + "name": "Morph v3 Large", + "family": "morph", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": false, + "release_date": "2024-08-15", + "last_updated": "2024-08-15", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 32000, + "output": 32000 + }, + "cost": { + "input": 0.9, + "output": 1.9 + } + } + } + }, + "cloudflare-ai-gateway": { + "id": "cloudflare-ai-gateway", + "env": ["CLOUDFLARE_API_TOKEN", "CLOUDFLARE_ACCOUNT_ID", "CLOUDFLARE_GATEWAY_ID"], + "npm": "ai-gateway-provider", + "name": "Cloudflare AI Gateway", + "doc": "https://developers.cloudflare.com/ai-gateway/", + "models": { + "workers-ai/@cf/myshell-ai/melotts": { + "id": "workers-ai/@cf/myshell-ai/melotts", + "name": "MyShell MeloTTS", + "family": "melotts", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "release_date": "2025-11-14", + "last_updated": "2025-11-14", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 16384 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "workers-ai/@cf/ibm-granite/granite-4.0-h-micro": { + "id": "workers-ai/@cf/ibm-granite/granite-4.0-h-micro", + "name": "IBM Granite 4.0 H Micro", + "family": "granite", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "release_date": "2025-10-15", + "last_updated": "2025-10-15", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 16384 + }, + "cost": { + "input": 0.017, + "output": 0.11 + } + }, + "workers-ai/@cf/huggingface/distilbert-sst-2-int8": { + "id": "workers-ai/@cf/huggingface/distilbert-sst-2-int8", + "name": "DistilBERT SST-2 INT8", + "family": "distilbert", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "release_date": "2025-04-03", + "last_updated": "2025-04-03", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 16384 + }, + "cost": { + "input": 0.026, + "output": 0 + } + }, + "workers-ai/@cf/zai-org/glm-4.7-flash": { + "id": "workers-ai/@cf/zai-org/glm-4.7-flash", + "name": "GLM-4.7-Flash", + "family": "glm-flash", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2026-01-19", + "last_updated": "2026-01-19", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 131072 + }, + "cost": { + "input": 0.06, + "output": 0.4 + } + }, + "workers-ai/@cf/pipecat-ai/smart-turn-v2": { + "id": "workers-ai/@cf/pipecat-ai/smart-turn-v2", + "name": "Pipecat Smart Turn v2", + "family": "smart-turn", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "release_date": "2025-11-14", + "last_updated": "2025-11-14", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 16384 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "workers-ai/@cf/mistralai/mistral-small-3.1-24b-instruct": { + "id": "workers-ai/@cf/mistralai/mistral-small-3.1-24b-instruct", + "name": "Mistral Small 3.1 24B Instruct", + "family": "mistral-small", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "release_date": "2025-04-11", + "last_updated": "2025-04-11", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 16384 + }, + "cost": { + "input": 0.35, + "output": 0.56 + } + }, + "workers-ai/@cf/facebook/bart-large-cnn": { + "id": "workers-ai/@cf/facebook/bart-large-cnn", + "name": "BART Large CNN", + "family": "bart", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "release_date": "2025-04-09", + "last_updated": "2025-04-09", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 16384 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "workers-ai/@cf/aisingapore/gemma-sea-lion-v4-27b-it": { + "id": "workers-ai/@cf/aisingapore/gemma-sea-lion-v4-27b-it", + "name": "Gemma SEA-LION v4 27B IT", + "family": "gemma", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "release_date": "2025-09-25", + "last_updated": "2025-09-25", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 16384 + }, + "cost": { + "input": 0.35, + "output": 0.56 + } + }, + "workers-ai/@cf/nvidia/nemotron-3-120b-a12b": { + "id": "workers-ai/@cf/nvidia/nemotron-3-120b-a12b", + "name": "Nemotron 3 Super 120B", + "family": "nemotron", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "temperature": true, + "release_date": "2026-03-11", + "last_updated": "2026-03-11", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 256000, + "output": 256000 + }, + "cost": { + "input": 0.5, + "output": 1.5 + } + }, + "workers-ai/@cf/deepseek-ai/deepseek-r1-distill-qwen-32b": { + "id": "workers-ai/@cf/deepseek-ai/deepseek-r1-distill-qwen-32b", + "name": "DeepSeek R1 Distill Qwen 32B", + "family": "deepseek-thinking", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "release_date": "2025-04-03", + "last_updated": "2025-04-03", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 16384 + }, + "cost": { + "input": 0.5, + "output": 4.88 + } + }, + "workers-ai/@cf/openai/gpt-oss-20b": { + "id": "workers-ai/@cf/openai/gpt-oss-20b", + "name": "GPT OSS 20B", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "release_date": "2025-08-05", + "last_updated": "2025-08-05", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 16384 + }, + "cost": { + "input": 0.2, + "output": 0.3 + } + }, + "workers-ai/@cf/openai/gpt-oss-120b": { + "id": "workers-ai/@cf/openai/gpt-oss-120b", + "name": "GPT OSS 120B", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "release_date": "2025-08-05", + "last_updated": "2025-08-05", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 16384 + }, + "cost": { + "input": 0.35, + "output": 0.75 + } + }, + "workers-ai/@cf/mistral/mistral-7b-instruct-v0.1": { + "id": "workers-ai/@cf/mistral/mistral-7b-instruct-v0.1", + "name": "Mistral 7B Instruct v0.1", + "family": "mistral", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "release_date": "2025-04-03", + "last_updated": "2025-04-03", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 16384 + }, + "cost": { + "input": 0.11, + "output": 0.19 + } + }, + "workers-ai/@cf/meta/llama-4-scout-17b-16e-instruct": { + "id": "workers-ai/@cf/meta/llama-4-scout-17b-16e-instruct", + "name": "Llama 4 Scout 17B 16E Instruct", + "family": "llama", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "release_date": "2025-04-16", + "last_updated": "2025-04-16", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 16384 + }, + "cost": { + "input": 0.27, + "output": 0.85 + } + }, + "workers-ai/@cf/meta/llama-3-8b-instruct-awq": { + "id": "workers-ai/@cf/meta/llama-3-8b-instruct-awq", + "name": "Llama 3 8B Instruct AWQ", + "family": "llama", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "release_date": "2025-04-03", + "last_updated": "2025-04-03", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 16384 + }, + "cost": { + "input": 0.12, + "output": 0.27 + } + }, + "workers-ai/@cf/meta/llama-guard-3-8b": { + "id": "workers-ai/@cf/meta/llama-guard-3-8b", + "name": "Llama Guard 3 8B", + "family": "llama", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "release_date": "2025-04-03", + "last_updated": "2025-04-03", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 16384 + }, + "cost": { + "input": 0.48, + "output": 0.03 + } + }, + "workers-ai/@cf/meta/m2m100-1.2b": { + "id": "workers-ai/@cf/meta/m2m100-1.2b", + "name": "M2M100 1.2B", + "family": "m2m", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "release_date": "2025-04-03", + "last_updated": "2025-04-03", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 16384 + }, + "cost": { + "input": 0.34, + "output": 0.34 + } + }, + "workers-ai/@cf/meta/llama-2-7b-chat-fp16": { + "id": "workers-ai/@cf/meta/llama-2-7b-chat-fp16", + "name": "Llama 2 7B Chat FP16", + "family": "llama", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "release_date": "2025-04-03", + "last_updated": "2025-04-03", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 16384 + }, + "cost": { + "input": 0.56, + "output": 6.67 + } + }, + "workers-ai/@cf/meta/llama-3.2-11b-vision-instruct": { + "id": "workers-ai/@cf/meta/llama-3.2-11b-vision-instruct", + "name": "Llama 3.2 11B Vision Instruct", + "family": "llama", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "release_date": "2025-04-03", + "last_updated": "2025-04-03", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 16384 + }, + "cost": { + "input": 0.049, + "output": 0.68 + } + }, + "workers-ai/@cf/meta/llama-3.3-70b-instruct-fp8-fast": { + "id": "workers-ai/@cf/meta/llama-3.3-70b-instruct-fp8-fast", + "name": "Llama 3.3 70B Instruct FP8 Fast", + "family": "llama", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "release_date": "2025-04-03", + "last_updated": "2025-04-03", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 16384 + }, + "cost": { + "input": 0.29, + "output": 2.25 + } + }, + "workers-ai/@cf/meta/llama-3.2-1b-instruct": { + "id": "workers-ai/@cf/meta/llama-3.2-1b-instruct", + "name": "Llama 3.2 1B Instruct", + "family": "llama", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "release_date": "2025-04-03", + "last_updated": "2025-04-03", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 16384 + }, + "cost": { + "input": 0.027, + "output": 0.2 + } + }, + "workers-ai/@cf/meta/llama-3.1-8b-instruct-fp8": { + "id": "workers-ai/@cf/meta/llama-3.1-8b-instruct-fp8", + "name": "Llama 3.1 8B Instruct FP8", + "family": "llama", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "release_date": "2025-04-03", + "last_updated": "2025-04-03", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 16384 + }, + "cost": { + "input": 0.15, + "output": 0.29 + } + }, + "workers-ai/@cf/meta/llama-3.2-3b-instruct": { + "id": "workers-ai/@cf/meta/llama-3.2-3b-instruct", + "name": "Llama 3.2 3B Instruct", + "family": "llama", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "release_date": "2025-04-03", + "last_updated": "2025-04-03", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 16384 + }, + "cost": { + "input": 0.051, + "output": 0.34 + } + }, + "workers-ai/@cf/meta/llama-3.1-8b-instruct-awq": { + "id": "workers-ai/@cf/meta/llama-3.1-8b-instruct-awq", + "name": "Llama 3.1 8B Instruct AWQ", + "family": "llama", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "release_date": "2025-04-03", + "last_updated": "2025-04-03", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 16384 + }, + "cost": { + "input": 0.12, + "output": 0.27 + } + }, + "workers-ai/@cf/meta/llama-3-8b-instruct": { + "id": "workers-ai/@cf/meta/llama-3-8b-instruct", + "name": "Llama 3 8B Instruct", + "family": "llama", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "release_date": "2025-04-03", + "last_updated": "2025-04-03", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 16384 + }, + "cost": { + "input": 0.28, + "output": 0.83 + } + }, + "workers-ai/@cf/meta/llama-3.1-8b-instruct": { + "id": "workers-ai/@cf/meta/llama-3.1-8b-instruct", + "name": "Llama 3.1 8B Instruct", + "family": "llama", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "release_date": "2025-04-03", + "last_updated": "2025-04-03", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 16384 + }, + "cost": { + "input": 0.28, + "output": 0.8299999999999998 + } + }, + "workers-ai/@cf/qwen/qwen2.5-coder-32b-instruct": { + "id": "workers-ai/@cf/qwen/qwen2.5-coder-32b-instruct", + "name": "Qwen 2.5 Coder 32B Instruct", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "release_date": "2025-04-11", + "last_updated": "2025-04-11", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 16384 + }, + "cost": { + "input": 0.66, + "output": 1 + } + }, + "workers-ai/@cf/qwen/qwen3-embedding-0.6b": { + "id": "workers-ai/@cf/qwen/qwen3-embedding-0.6b", + "name": "Qwen3 Embedding 0.6B", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "release_date": "2025-11-14", + "last_updated": "2025-11-14", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 16384 + }, + "cost": { + "input": 0.012, + "output": 0 + } + }, + "workers-ai/@cf/qwen/qwq-32b": { + "id": "workers-ai/@cf/qwen/qwq-32b", + "name": "QwQ 32B", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "release_date": "2025-04-11", + "last_updated": "2025-04-11", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 16384 + }, + "cost": { + "input": 0.66, + "output": 1 + } + }, + "workers-ai/@cf/qwen/qwen3-30b-a3b-fp8": { + "id": "workers-ai/@cf/qwen/qwen3-30b-a3b-fp8", + "name": "Qwen3 30B A3B FP8", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "release_date": "2025-11-14", + "last_updated": "2025-11-14", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 16384 + }, + "cost": { + "input": 0.051, + "output": 0.34 + } + }, + "workers-ai/@cf/google/gemma-3-12b-it": { + "id": "workers-ai/@cf/google/gemma-3-12b-it", + "name": "Gemma 3 12B IT", + "family": "gemma", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "release_date": "2025-04-11", + "last_updated": "2025-04-11", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 16384 + }, + "cost": { + "input": 0.35, + "output": 0.56 + } + }, + "workers-ai/@cf/moonshotai/kimi-k2.5": { + "id": "workers-ai/@cf/moonshotai/kimi-k2.5", + "name": "Kimi K2.5", + "family": "kimi", + "attachment": true, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "structured_output": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2026-01-27", + "last_updated": "2026-01-27", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 256000, + "output": 256000 + }, + "cost": { + "input": 0.6, + "output": 3, + "cache_read": 0.1 + } + }, + "workers-ai/@cf/moonshotai/kimi-k2.6": { + "id": "workers-ai/@cf/moonshotai/kimi-k2.6", + "name": "Kimi K2.6", + "family": "kimi", + "attachment": true, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "structured_output": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2026-04-20", + "last_updated": "2026-04-20", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 256000, + "output": 256000 + }, + "cost": { + "input": 0.95, + "output": 4, + "cache_read": 0.16 + } + }, + "workers-ai/@cf/ai4bharat/indictrans2-en-indic-1B": { + "id": "workers-ai/@cf/ai4bharat/indictrans2-en-indic-1B", + "name": "IndicTrans2 EN-Indic 1B", + "family": "indictrans", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "release_date": "2025-09-25", + "last_updated": "2025-09-25", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 16384 + }, + "cost": { + "input": 0.34, + "output": 0.34 + } + }, + "workers-ai/@cf/pfnet/plamo-embedding-1b": { + "id": "workers-ai/@cf/pfnet/plamo-embedding-1b", + "name": "PLaMo Embedding 1B", + "family": "plamo", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "release_date": "2025-09-25", + "last_updated": "2025-09-25", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 16384 + }, + "cost": { + "input": 0.019, + "output": 0 + } + }, + "workers-ai/@cf/baai/bge-small-en-v1.5": { + "id": "workers-ai/@cf/baai/bge-small-en-v1.5", + "name": "BGE Small EN v1.5", + "family": "bge", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "release_date": "2025-04-03", + "last_updated": "2025-04-03", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 16384 + }, + "cost": { + "input": 0.02, + "output": 0 + } + }, + "workers-ai/@cf/baai/bge-large-en-v1.5": { + "id": "workers-ai/@cf/baai/bge-large-en-v1.5", + "name": "BGE Large EN v1.5", + "family": "bge", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "release_date": "2025-04-03", + "last_updated": "2025-04-03", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 16384 + }, + "cost": { + "input": 0.2, + "output": 0 + } + }, + "workers-ai/@cf/baai/bge-reranker-base": { + "id": "workers-ai/@cf/baai/bge-reranker-base", + "name": "BGE Reranker Base", + "family": "bge", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "release_date": "2025-04-09", + "last_updated": "2025-04-09", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 16384 + }, + "cost": { + "input": 0.0031, + "output": 0 + } + }, + "workers-ai/@cf/baai/bge-base-en-v1.5": { + "id": "workers-ai/@cf/baai/bge-base-en-v1.5", + "name": "BGE Base EN v1.5", + "family": "bge", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "release_date": "2025-04-03", + "last_updated": "2025-04-03", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 16384 + }, + "cost": { + "input": 0.067, + "output": 0 + } + }, + "workers-ai/@cf/baai/bge-m3": { + "id": "workers-ai/@cf/baai/bge-m3", + "name": "BGE M3", + "family": "bge", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "release_date": "2025-04-03", + "last_updated": "2025-04-03", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 16384 + }, + "cost": { + "input": 0.012, + "output": 0 + } + }, + "workers-ai/@cf/deepgram/aura-2-en": { + "id": "workers-ai/@cf/deepgram/aura-2-en", + "name": "Deepgram Aura 2 (EN)", + "family": "aura", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "release_date": "2025-11-14", + "last_updated": "2025-11-14", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 16384 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "workers-ai/@cf/deepgram/aura-2-es": { + "id": "workers-ai/@cf/deepgram/aura-2-es", + "name": "Deepgram Aura 2 (ES)", + "family": "aura", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "release_date": "2025-11-14", + "last_updated": "2025-11-14", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 16384 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "workers-ai/@cf/deepgram/nova-3": { + "id": "workers-ai/@cf/deepgram/nova-3", + "name": "Deepgram Nova 3", + "family": "nova", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "release_date": "2025-11-14", + "last_updated": "2025-11-14", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 16384 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "openai/gpt-5.3-codex": { + "id": "openai/gpt-5.3-codex", + "name": "GPT-5.3 Codex", + "family": "gpt-codex", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": false, + "knowledge": "2025-08-31", + "release_date": "2026-02-05", + "last_updated": "2026-02-05", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "input": 272000, + "output": 128000 + }, + "provider": { + "npm": "ai-gateway-provider" + }, + "cost": { + "input": 1.75, + "output": 14, + "cache_read": 0.175 + } + }, + "openai/gpt-4-turbo": { + "id": "openai/gpt-4-turbo", + "name": "GPT-4 Turbo", + "family": "gpt", + "attachment": true, + "reasoning": false, + "tool_call": true, + "structured_output": false, + "temperature": true, + "knowledge": "2023-12", + "release_date": "2023-11-06", + "last_updated": "2024-04-09", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 4096 + }, + "cost": { + "input": 10, + "output": 30 + } + }, + "openai/gpt-5.2": { + "id": "openai/gpt-5.2", + "name": "GPT-5.2", + "family": "gpt", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": false, + "knowledge": "2025-08-31", + "release_date": "2025-12-11", + "last_updated": "2025-12-11", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "output": 128000 + }, + "cost": { + "input": 1.75, + "output": 14, + "cache_read": 0.175 + } + }, + "openai/o3-pro": { + "id": "openai/o3-pro", + "name": "o3-pro", + "family": "o-pro", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": false, + "knowledge": "2024-05", + "release_date": "2025-06-10", + "last_updated": "2025-06-10", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 100000 + }, + "cost": { + "input": 20, + "output": 80 + } + }, + "openai/gpt-4o-mini": { + "id": "openai/gpt-4o-mini", + "name": "GPT-4o mini", + "family": "gpt-mini", + "attachment": true, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2023-09", + "release_date": "2024-07-18", + "last_updated": "2024-07-18", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 16384 + }, + "cost": { + "input": 0.15, + "output": 0.6, + "cache_read": 0.08 + } + }, + "openai/o4-mini": { + "id": "openai/o4-mini", + "name": "o4-mini", + "family": "o-mini", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": false, + "knowledge": "2024-05", + "release_date": "2025-04-16", + "last_updated": "2025-04-16", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 100000 + }, + "cost": { + "input": 1.1, + "output": 4.4, + "cache_read": 0.28 + } + }, + "openai/gpt-5.2-codex": { + "id": "openai/gpt-5.2-codex", + "name": "GPT-5.2 Codex", + "family": "gpt-codex", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": false, + "knowledge": "2025-08-31", + "release_date": "2025-12-11", + "last_updated": "2025-12-11", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "input": 272000, + "output": 128000 + }, + "provider": { + "npm": "ai-gateway-provider" + }, + "cost": { + "input": 1.75, + "output": 14, + "cache_read": 0.175 + } + }, + "openai/gpt-5.1": { + "id": "openai/gpt-5.1", + "name": "GPT-5.1", + "family": "gpt", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": false, + "knowledge": "2024-09-30", + "release_date": "2025-11-13", + "last_updated": "2025-11-13", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "output": 128000 + }, + "cost": { + "input": 1.25, + "output": 10, + "cache_read": 0.13 + } + }, + "openai/o1": { + "id": "openai/o1", + "name": "o1", + "family": "o", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": false, + "knowledge": "2023-09", + "release_date": "2024-12-05", + "last_updated": "2024-12-05", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 100000 + }, + "cost": { + "input": 15, + "output": 60, + "cache_read": 7.5 + } + }, + "openai/gpt-3.5-turbo": { + "id": "openai/gpt-3.5-turbo", + "name": "GPT-3.5-turbo", + "family": "gpt", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "temperature": true, + "knowledge": "2021-09-01", + "release_date": "2023-03-01", + "last_updated": "2023-11-06", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 16385, + "output": 4096 + }, + "cost": { + "input": 0.5, + "output": 1.5, + "cache_read": 1.25 + } + }, + "openai/o3-mini": { + "id": "openai/o3-mini", + "name": "o3-mini", + "family": "o-mini", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": false, + "knowledge": "2024-05", + "release_date": "2024-12-20", + "last_updated": "2025-01-29", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 100000 + }, + "cost": { + "input": 1.1, + "output": 4.4, + "cache_read": 0.55 + } + }, + "openai/gpt-4": { + "id": "openai/gpt-4", + "name": "GPT-4", + "family": "gpt", + "attachment": true, + "reasoning": false, + "tool_call": true, + "structured_output": false, + "temperature": true, + "knowledge": "2023-11", + "release_date": "2023-11-06", + "last_updated": "2024-04-09", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 8192, + "output": 8192 + }, + "cost": { + "input": 30, + "output": 60 + } + }, + "openai/gpt-5.4": { + "id": "openai/gpt-5.4", + "name": "GPT-5.4", + "family": "gpt", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": false, + "knowledge": "2025-08-31", + "release_date": "2026-03-05", + "last_updated": "2026-03-05", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1050000, + "input": 922000, + "output": 128000 + }, + "provider": { + "npm": "ai-gateway-provider" + }, + "cost": { + "input": 2.5, + "output": 15, + "cache_read": 0.25 + } + }, + "openai/o3": { + "id": "openai/o3", + "name": "o3", + "family": "o", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": false, + "knowledge": "2024-05", + "release_date": "2025-04-16", + "last_updated": "2025-04-16", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 100000 + }, + "cost": { + "input": 2, + "output": 8, + "cache_read": 0.5 + } + }, + "openai/gpt-4o": { + "id": "openai/gpt-4o", + "name": "GPT-4o", + "family": "gpt", + "attachment": true, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2023-09", + "release_date": "2024-05-13", + "last_updated": "2024-08-06", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 16384 + }, + "cost": { + "input": 2.5, + "output": 10, + "cache_read": 1.25 + } + }, + "openai/gpt-5.1-codex": { + "id": "openai/gpt-5.1-codex", + "name": "GPT-5.1 Codex", + "family": "gpt-codex", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": false, + "knowledge": "2024-09-30", + "release_date": "2025-11-13", + "last_updated": "2025-11-13", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "output": 128000 + }, + "cost": { + "input": 1.25, + "output": 10, + "cache_read": 0.125 + } + }, + "anthropic/claude-haiku-4-5": { + "id": "anthropic/claude-haiku-4-5", + "name": "Claude Haiku 4.5 (latest)", + "family": "claude-haiku", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-02-28", + "release_date": "2025-10-15", + "last_updated": "2025-10-15", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 64000 + }, + "cost": { + "input": 1, + "output": 5, + "cache_read": 0.1, + "cache_write": 1.25 + } + }, + "anthropic/claude-sonnet-4-6": { + "id": "anthropic/claude-sonnet-4-6", + "name": "Claude Sonnet 4.6", + "family": "claude-sonnet", + "attachment": true, + "reasoning": true, + "tool_call": true, + "interleaved": true, + "temperature": true, + "knowledge": "2025-08-31", + "release_date": "2026-02-17", + "last_updated": "2026-02-17", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000000, + "output": 64000 + }, + "provider": { + "npm": "ai-gateway-provider" + }, + "cost": { + "input": 3, + "output": 15, + "cache_read": 0.3, + "cache_write": 3.75, + "tiers": [ + { + "input": 6, + "output": 22.5, + "cache_read": 0.6, + "cache_write": 7.5, + "tier": { + "type": "context", + "size": 200000 + } + } + ], + "context_over_200k": { + "input": 6, + "output": 22.5, + "cache_read": 0.6, + "cache_write": 7.5 + } + } + }, + "anthropic/claude-opus-4-7": { + "id": "anthropic/claude-opus-4-7", + "name": "Claude Opus 4.7", + "family": "claude-opus", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": false, + "knowledge": "2026-01", + "release_date": "2026-04-16", + "last_updated": "2026-04-16", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000000, + "output": 128000 + }, + "provider": { + "npm": "@ai-sdk/anthropic" + }, + "cost": { + "input": 5, + "output": 25, + "cache_read": 0.5, + "cache_write": 6.25 + } + }, + "anthropic/claude-opus-4-1": { + "id": "anthropic/claude-opus-4-1", + "name": "Claude Opus 4.1 (latest)", + "family": "claude-opus", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-03-31", + "release_date": "2025-08-05", + "last_updated": "2025-08-05", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 32000 + }, + "cost": { + "input": 15, + "output": 75, + "cache_read": 1.5, + "cache_write": 18.75 + } + }, + "anthropic/claude-3-5-haiku": { + "id": "anthropic/claude-3-5-haiku", + "name": "Claude Haiku 3.5 (latest)", + "family": "claude-haiku", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-07-31", + "release_date": "2024-10-22", + "last_updated": "2024-10-22", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 8192 + }, + "cost": { + "input": 0.8, + "output": 4, + "cache_read": 0.08, + "cache_write": 1 + } + }, + "anthropic/claude-3.5-sonnet": { + "id": "anthropic/claude-3.5-sonnet", + "name": "Claude Sonnet 3.5 v2", + "family": "claude-sonnet", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-04-30", + "release_date": "2024-10-22", + "last_updated": "2024-10-22", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 8192 + }, + "cost": { + "input": 3, + "output": 15, + "cache_read": 0.3, + "cache_write": 3.75 + } + }, + "anthropic/claude-sonnet-4": { + "id": "anthropic/claude-sonnet-4", + "name": "Claude Sonnet 4 (latest)", + "family": "claude-sonnet", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-03-31", + "release_date": "2025-05-22", + "last_updated": "2025-05-22", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 64000 + }, + "cost": { + "input": 3, + "output": 15, + "cache_read": 0.3, + "cache_write": 3.75 + } + }, + "anthropic/claude-opus-4-5": { + "id": "anthropic/claude-opus-4-5", + "name": "Claude Opus 4.5 (latest)", + "family": "claude-opus", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-03-31", + "release_date": "2025-11-24", + "last_updated": "2025-11-24", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 64000 + }, + "cost": { + "input": 5, + "output": 25, + "cache_read": 0.5, + "cache_write": 6.25 + } + }, + "anthropic/claude-3-haiku": { + "id": "anthropic/claude-3-haiku", + "name": "Claude Haiku 3", + "family": "claude-haiku", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2023-08-31", + "release_date": "2024-03-13", + "last_updated": "2024-03-13", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 4096 + }, + "cost": { + "input": 0.25, + "output": 1.25, + "cache_read": 0.03, + "cache_write": 0.3 + } + }, + "anthropic/claude-opus-4": { + "id": "anthropic/claude-opus-4", + "name": "Claude Opus 4 (latest)", + "family": "claude-opus", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-03-31", + "release_date": "2025-05-22", + "last_updated": "2025-05-22", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 32000 + }, + "cost": { + "input": 15, + "output": 75, + "cache_read": 1.5, + "cache_write": 18.75 + } + }, + "anthropic/claude-opus-4-6": { + "id": "anthropic/claude-opus-4-6", + "name": "Claude Opus 4.6 (latest)", + "family": "claude-opus", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-05-31", + "release_date": "2026-02-05", + "last_updated": "2026-02-05", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000000, + "output": 128000 + }, + "cost": { + "input": 5, + "output": 25, + "cache_read": 0.5, + "cache_write": 6.25, + "tiers": [ + { + "input": 10, + "output": 37.5, + "cache_read": 1, + "cache_write": 12.5, + "tier": { + "type": "context", + "size": 200000 + } + } + ], + "context_over_200k": { + "input": 10, + "output": 37.5, + "cache_read": 1, + "cache_write": 12.5 + } + } + }, + "anthropic/claude-3.5-haiku": { + "id": "anthropic/claude-3.5-haiku", + "name": "Claude Haiku 3.5 (latest)", + "family": "claude-haiku", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-07-31", + "release_date": "2024-10-22", + "last_updated": "2024-10-22", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 8192 + }, + "cost": { + "input": 0.8, + "output": 4, + "cache_read": 0.08, + "cache_write": 1 + } + }, + "anthropic/claude-sonnet-4-5": { + "id": "anthropic/claude-sonnet-4-5", + "name": "Claude Sonnet 4.5 (latest)", + "family": "claude-sonnet", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-07-31", + "release_date": "2025-09-29", + "last_updated": "2025-09-29", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 64000 + }, + "cost": { + "input": 3, + "output": 15, + "cache_read": 0.3, + "cache_write": 3.75 + } + }, + "anthropic/claude-3-sonnet": { + "id": "anthropic/claude-3-sonnet", + "name": "Claude Sonnet 3", + "family": "claude-sonnet", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2023-08-31", + "release_date": "2024-03-04", + "last_updated": "2024-03-04", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 4096 + }, + "cost": { + "input": 3, + "output": 15, + "cache_read": 0.3, + "cache_write": 0.3 + } + }, + "anthropic/claude-3-opus": { + "id": "anthropic/claude-3-opus", + "name": "Claude Opus 3", + "family": "claude-opus", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2023-08-31", + "release_date": "2024-02-29", + "last_updated": "2024-02-29", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 4096 + }, + "cost": { + "input": 15, + "output": 75, + "cache_read": 1.5, + "cache_write": 18.75 + } + }, + "openai/gpt-5.5": { + "id": "openai/gpt-5.5", + "name": "GPT-5.5", + "family": "gpt", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": false, + "knowledge": "2025-12-01", + "release_date": "2026-04-23", + "last_updated": "2026-04-23", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1050000, + "input": 922000, + "output": 128000 + }, + "cost": { + "input": 5, + "output": 30, + "cache_read": 0.5, + "context_over_200k": { + "input": 10, + "output": 45, + "cache_read": 1 + }, + "tiers": [ + { + "input": 10, + "output": 45, + "cache_read": 1, + "tier": { + "type": "context", + "size": 272000 + } + } + ] + } + } + } + }, + "github-copilot": { + "id": "github-copilot", + "env": ["GITHUB_TOKEN"], + "npm": "@ai-sdk/openai-compatible", + "api": "https://api.githubcopilot.com", + "name": "GitHub Copilot", + "doc": "https://docs.github.com/en/copilot", + "models": { + "gpt-5.1-codex-max": { + "id": "gpt-5.1-codex-max", + "name": "GPT-5.1-Codex-max", + "family": "gpt-codex", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": false, + "knowledge": "2024-09-30", + "release_date": "2025-12-04", + "last_updated": "2025-12-04", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "input": 128000, + "output": 128000 + }, + "status": "deprecated", + "cost": { + "input": 0, + "output": 0 + } + }, + "claude-opus-4.6": { + "id": "claude-opus-4.6", + "name": "Claude Opus 4.6", + "family": "claude-opus", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-05-31", + "release_date": "2026-02-05", + "last_updated": "2026-02-05", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 144000, + "input": 128000, + "output": 64000 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "gemini-3.1-pro-preview": { + "id": "gemini-3.1-pro-preview", + "name": "Gemini 3.1 Pro Preview", + "family": "gemini-pro", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2026-02-19", + "last_updated": "2026-02-19", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "input": 128000, + "output": 64000 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "gemini-3-flash-preview": { + "id": "gemini-3-flash-preview", + "name": "Gemini 3 Flash", + "family": "gemini-flash", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2025-12-17", + "last_updated": "2025-12-17", + "modalities": { + "input": ["text", "image", "audio", "video"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "input": 128000, + "output": 64000 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "gpt-5.5": { + "id": "gpt-5.5", + "name": "GPT-5.5", + "family": "gpt", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": false, + "knowledge": "2025-08-31", + "release_date": "2026-04-22", + "last_updated": "2026-04-22", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "input": 272000, + "output": 128000 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "gpt-5-mini": { + "id": "gpt-5-mini", + "name": "GPT-5-mini", + "family": "gpt-mini", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-06", + "release_date": "2025-08-13", + "last_updated": "2025-08-13", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 264000, + "input": 128000, + "output": 64000 + }, + "cost": { + "input": 0, + "output": 0 + } }, "gemini-3-pro-preview": { "id": "gemini-3-pro-preview", @@ -16257,63 +56589,13330 @@ "knowledge": "2025-01", "release_date": "2025-11-18", "last_updated": "2025-11-18", - "modalities": { "input": ["text", "image", "video", "audio", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { - "input": 2, - "output": 12, - "cache_read": 0.2, - "context_over_200k": { "input": 4, "output": 18, "cache_read": 0.4 } + "modalities": { + "input": ["text", "image", "audio", "video"], + "output": ["text"] }, - "limit": { "context": 1048576, "output": 65536 } + "open_weights": false, + "limit": { + "context": 128000, + "input": 128000, + "output": 64000 + }, + "status": "deprecated", + "cost": { + "input": 0, + "output": 0 + } }, - "gemini-2.5-pro-preview-06-05": { - "id": "gemini-2.5-pro-preview-06-05", - "name": "Gemini 2.5 Pro Preview 06-05", - "family": "gemini-pro", - "attachment": true, + "gpt-5.3-codex": { + "id": "gpt-5.3-codex", + "name": "GPT-5.3-Codex", + "family": "gpt-codex", + "attachment": false, "reasoning": true, "tool_call": true, - "temperature": true, - "knowledge": "2025-01", - "release_date": "2025-06-05", - "last_updated": "2025-06-05", - "modalities": { "input": ["text", "image", "audio", "video", "pdf"], "output": ["text"] }, + "temperature": false, + "knowledge": "2025-08-31", + "release_date": "2026-02-24", + "last_updated": "2026-02-24", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, "open_weights": false, - "cost": { "input": 1.25, "output": 10, "cache_read": 0.31 }, - "limit": { "context": 1048576, "output": 65536 } + "limit": { + "context": 400000, + "input": 272000, + "output": 128000 + }, + "cost": { + "input": 0, + "output": 0 + } }, - "gemini-2.5-pro-preview-05-06": { - "id": "gemini-2.5-pro-preview-05-06", - "name": "Gemini 2.5 Pro Preview 05-06", + "gemini-2.5-pro": { + "id": "gemini-2.5-pro", + "name": "Gemini 2.5 Pro", "family": "gemini-pro", "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-01", - "release_date": "2025-05-06", - "last_updated": "2025-05-06", - "modalities": { "input": ["text", "image", "audio", "video", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.25, "output": 10, "cache_read": 0.31 }, - "limit": { "context": 1048576, "output": 65536 } - }, - "gemini-2.0-flash-lite": { - "id": "gemini-2.0-flash-lite", - "name": "Gemini 2.0 Flash Lite", - "family": "gemini-flash-lite", - "attachment": true, "reasoning": false, "tool_call": true, "temperature": true, + "knowledge": "2025-01", + "release_date": "2025-03-20", + "last_updated": "2025-06-05", + "modalities": { + "input": ["text", "image", "audio", "video"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "input": 128000, + "output": 64000 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "gpt-5.2": { + "id": "gpt-5.2", + "name": "GPT-5.2", + "family": "gpt", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": false, + "knowledge": "2025-08-31", + "release_date": "2025-12-11", + "last_updated": "2025-12-11", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 264000, + "input": 128000, + "output": 64000 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "gpt-5.4-mini": { + "id": "gpt-5.4-mini", + "name": "GPT-5.4 Mini", + "family": "gpt-mini", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": false, + "knowledge": "2025-08-31", + "release_date": "2026-03-17", + "last_updated": "2026-03-17", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "input": 272000, + "output": 128000 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "claude-opus-4.7": { + "id": "claude-opus-4.7", + "name": "Claude Opus 4.7", + "family": "claude-opus", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": false, + "knowledge": "2026-01-31", + "release_date": "2026-04-16", + "last_updated": "2026-04-16", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 144000, + "input": 128000, + "output": 64000 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "gpt-5.2-codex": { + "id": "gpt-5.2-codex", + "name": "GPT-5.2-Codex", + "family": "gpt-codex", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": false, + "knowledge": "2025-08-31", + "release_date": "2025-12-11", + "last_updated": "2025-12-11", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "input": 272000, + "output": 128000 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "gpt-5.1-codex-mini": { + "id": "gpt-5.1-codex-mini", + "name": "GPT-5.1-Codex-mini", + "family": "gpt-codex", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": false, + "knowledge": "2024-09-30", + "release_date": "2025-11-13", + "last_updated": "2025-11-13", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "input": 128000, + "output": 128000 + }, + "status": "deprecated", + "cost": { + "input": 0, + "output": 0 + } + }, + "claude-sonnet-4": { + "id": "claude-sonnet-4", + "name": "Claude Sonnet 4", + "family": "claude-sonnet", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-03-31", + "release_date": "2025-05-22", + "last_updated": "2025-05-22", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 216000, + "input": 128000, + "output": 16000 + }, + "status": "deprecated", + "cost": { + "input": 0, + "output": 0 + } + }, + "grok-code-fast-1": { + "id": "grok-code-fast-1", + "name": "Grok Code Fast 1", + "family": "grok", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-08", + "release_date": "2025-08-27", + "last_updated": "2025-08-27", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "input": 128000, + "output": 64000 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "gpt-5.1": { + "id": "gpt-5.1", + "name": "GPT-5.1", + "family": "gpt", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": false, + "knowledge": "2024-09-30", + "release_date": "2025-11-13", + "last_updated": "2025-11-13", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 264000, + "input": 128000, + "output": 64000 + }, + "status": "deprecated", + "cost": { + "input": 0, + "output": 0 + } + }, + "claude-sonnet-4.5": { + "id": "claude-sonnet-4.5", + "name": "Claude Sonnet 4.5", + "family": "claude-sonnet", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-03-31", + "release_date": "2025-09-29", + "last_updated": "2025-09-29", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 144000, + "input": 128000, + "output": 32000 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "claude-opus-41": { + "id": "claude-opus-41", + "name": "Claude Opus 4.1", + "family": "claude-opus", + "attachment": true, + "reasoning": true, + "tool_call": false, + "temperature": true, + "knowledge": "2025-03-31", + "release_date": "2025-08-05", + "last_updated": "2025-08-05", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 80000, + "output": 16000 + }, + "status": "deprecated", + "cost": { + "input": 0, + "output": 0 + } + }, + "claude-opus-4.5": { + "id": "claude-opus-4.5", + "name": "Claude Opus 4.5", + "family": "claude-opus", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-03-31", + "release_date": "2025-11-24", + "last_updated": "2025-08-01", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 160000, + "input": 128000, + "output": 32000 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "gpt-5.4": { + "id": "gpt-5.4", + "name": "GPT-5.4", + "family": "gpt", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": false, + "knowledge": "2025-08-31", + "release_date": "2026-03-05", + "last_updated": "2026-03-05", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "input": 272000, + "output": 128000 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "gpt-4o": { + "id": "gpt-4o", + "name": "GPT-4o", + "family": "gpt", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2023-09", + "release_date": "2024-05-13", + "last_updated": "2024-05-13", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "input": 64000, + "output": 4096 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "gpt-5": { + "id": "gpt-5", + "name": "GPT-5", + "family": "gpt", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2025-08-07", + "last_updated": "2025-08-07", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 128000 + }, + "status": "deprecated", + "cost": { + "input": 0, + "output": 0 + } + }, + "claude-haiku-4.5": { + "id": "claude-haiku-4.5", + "name": "Claude Haiku 4.5", + "family": "claude-haiku", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-02-28", + "release_date": "2025-10-15", + "last_updated": "2025-10-15", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 144000, + "input": 128000, + "output": 32000 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "gpt-4.1": { + "id": "gpt-4.1", + "name": "GPT-4.1", + "family": "gpt", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-04", + "release_date": "2025-04-14", + "last_updated": "2025-04-14", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "input": 64000, + "output": 16384 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "claude-sonnet-4.6": { + "id": "claude-sonnet-4.6", + "name": "Claude Sonnet 4.6", + "family": "claude-sonnet", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-08-31", + "release_date": "2026-02-17", + "last_updated": "2026-02-17", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "input": 128000, + "output": 32000 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "gpt-5.1-codex": { + "id": "gpt-5.1-codex", + "name": "GPT-5.1-Codex", + "family": "gpt-codex", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": false, + "knowledge": "2024-09-30", + "release_date": "2025-11-13", + "last_updated": "2025-11-13", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "input": 128000, + "output": 128000 + }, + "status": "deprecated", + "cost": { + "input": 0, + "output": 0 + } + } + } + }, + "mixlayer": { + "id": "mixlayer", + "env": ["MIXLAYER_API_KEY"], + "npm": "@ai-sdk/openai-compatible", + "api": "https://models.mixlayer.ai/v1", + "name": "Mixlayer", + "doc": "https://docs.mixlayer.com", + "models": { + "qwen/qwen3.5-122b-a10b": { + "id": "qwen/qwen3.5-122b-a10b", + "name": "Qwen3.5 122B A10B", + "family": "qwen", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2026-03-18", + "last_updated": "2026-03-18", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 262144 + }, + "cost": { + "input": 0.4, + "output": 3.2 + } + }, + "qwen/qwen3.5-27b": { + "id": "qwen/qwen3.5-27b", + "name": "Qwen3.5 27B", + "family": "qwen", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2026-03-18", + "last_updated": "2026-03-18", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 262144 + }, + "cost": { + "input": 0.3, + "output": 2.4 + } + }, + "qwen/qwen3.5-397b-a17b": { + "id": "qwen/qwen3.5-397b-a17b", + "name": "Qwen3.5 397B A17B", + "family": "qwen", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2026-03-18", + "last_updated": "2026-03-18", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 262144 + }, + "cost": { + "input": 0.6, + "output": 3.6 + } + }, + "qwen/qwen3.5-9b": { + "id": "qwen/qwen3.5-9b", + "name": "Qwen3.5 9B", + "family": "qwen", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2026-03-18", + "last_updated": "2026-03-18", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 262144 + }, + "cost": { + "input": 0.1, + "output": 0.4 + } + }, + "qwen/qwen3.5-35b-a3b": { + "id": "qwen/qwen3.5-35b-a3b", + "name": "Qwen3.5 35B A3B", + "family": "qwen", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2026-03-18", + "last_updated": "2026-03-18", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 262144 + }, + "cost": { + "input": 0.25, + "output": 1.3 + } + } + } + }, + "xiaomi-token-plan-sgp": { + "id": "xiaomi-token-plan-sgp", + "env": ["XIAOMI_API_KEY"], + "npm": "@ai-sdk/openai-compatible", + "api": "https://token-plan-sgp.xiaomimimo.com/v1", + "name": "Xiaomi Token Plan (Singapore)", + "doc": "https://platform.xiaomimimo.com/#/docs", + "models": { + "mimo-v2-tts": { + "id": "mimo-v2-tts", + "name": "MiMo-V2-TTS", + "family": "mimo", + "attachment": false, + "reasoning": false, + "tool_call": false, + "release_date": "2026-03-18", + "last_updated": "2026-03-18", + "modalities": { + "input": ["text"], + "output": ["audio"] + }, + "open_weights": true, + "limit": { + "context": 8192, + "output": 16384 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "mimo-v2-flash": { + "id": "mimo-v2-flash", + "name": "MiMo-V2-Flash", + "family": "mimo", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "temperature": true, + "knowledge": "2024-12-01", + "release_date": "2025-12-16", + "last_updated": "2026-02-04", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 65536 + }, + "cost": { + "input": 0, + "output": 0, + "cache_read": 0 + } + }, + "mimo-v2-pro": { + "id": "mimo-v2-pro", + "name": "MiMo-V2-Pro", + "family": "mimo", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "temperature": true, + "knowledge": "2024-12", + "release_date": "2026-03-18", + "last_updated": "2026-03-18", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1048576, + "output": 131072 + }, + "cost": { + "input": 0, + "output": 0, + "cache_read": 0 + } + }, + "mimo-v2.5": { + "id": "mimo-v2.5", + "name": "MiMo-V2.5", + "family": "mimo", + "attachment": true, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "temperature": true, + "knowledge": "2024-12", + "release_date": "2026-04-22", + "last_updated": "2026-04-22", + "modalities": { + "input": ["text", "image", "audio", "video"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 1048576, + "output": 131072 + }, + "cost": { + "input": 0, + "output": 0, + "cache_read": 0 + } + }, + "mimo-v2-omni": { + "id": "mimo-v2-omni", + "name": "MiMo-V2-Omni", + "family": "mimo", + "attachment": true, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "temperature": true, + "knowledge": "2024-12", + "release_date": "2026-03-18", + "last_updated": "2026-03-18", + "modalities": { + "input": ["text", "image", "audio", "video", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 262144, + "output": 131072 + }, + "cost": { + "input": 0, + "output": 0, + "cache_read": 0 + } + }, + "mimo-v2.5-pro": { + "id": "mimo-v2.5-pro", + "name": "MiMo-V2.5-Pro", + "family": "mimo", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "temperature": true, + "knowledge": "2024-12", + "release_date": "2026-04-22", + "last_updated": "2026-04-22", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 1048576, + "output": 131072 + }, + "cost": { + "input": 0, + "output": 0, + "cache_read": 0 + } + } + } + }, + "zai": { + "id": "zai", + "env": ["ZHIPU_API_KEY"], + "npm": "@ai-sdk/openai-compatible", + "api": "https://api.z.ai/api/paas/v4", + "name": "Z.AI", + "doc": "https://docs.z.ai/guides/overview/pricing", + "models": { + "glm-5v-turbo": { + "id": "glm-5v-turbo", + "name": "GLM-5V-Turbo", + "family": "glm", + "attachment": true, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "temperature": true, + "release_date": "2026-04-01", + "last_updated": "2026-04-01", + "modalities": { + "input": ["text", "image", "video", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 131072 + }, + "cost": { + "input": 1.2, + "output": 4, + "cache_read": 0.24, + "cache_write": 0 + } + }, + "glm-4.7": { + "id": "glm-4.7", + "name": "GLM-4.7", + "family": "glm", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-12-22", + "last_updated": "2025-12-22", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 204800, + "output": 131072 + }, + "cost": { + "input": 0.6, + "output": 2.2, + "cache_read": 0.11, + "cache_write": 0 + } + }, + "glm-5": { + "id": "glm-5", + "name": "GLM-5", + "family": "glm", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "temperature": true, + "release_date": "2026-02-11", + "last_updated": "2026-02-11", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 204800, + "output": 131072 + }, + "cost": { + "input": 1, + "output": 3.2, + "cache_read": 0.2, + "cache_write": 0 + } + }, + "glm-4.7-flashx": { + "id": "glm-4.7-flashx", + "name": "GLM-4.7-FlashX", + "family": "glm-flash", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2026-01-19", + "last_updated": "2026-01-19", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 200000, + "output": 131072 + }, + "cost": { + "input": 0.07, + "output": 0.4, + "cache_read": 0.01, + "cache_write": 0 + } + }, + "glm-5.1": { + "id": "glm-5.1", + "name": "GLM-5.1", + "family": "glm", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "structured_output": true, + "temperature": true, + "release_date": "2026-03-27", + "last_updated": "2026-03-27", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 131072 + }, + "cost": { + "input": 1.4, + "output": 4.4, + "cache_read": 0.26, + "cache_write": 0 + } + }, + "glm-4.5": { + "id": "glm-4.5", + "name": "GLM-4.5", + "family": "glm", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-07-28", + "last_updated": "2025-07-28", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 98304 + }, + "cost": { + "input": 0.6, + "output": 2.2, + "cache_read": 0.11, + "cache_write": 0 + } + }, + "glm-4.5-air": { + "id": "glm-4.5-air", + "name": "GLM-4.5-Air", + "family": "glm-air", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-07-28", + "last_updated": "2025-07-28", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 98304 + }, + "cost": { + "input": 0.2, + "output": 1.1, + "cache_read": 0.03, + "cache_write": 0 + } + }, + "glm-5-turbo": { + "id": "glm-5-turbo", + "name": "GLM-5-Turbo", + "family": "glm", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "structured_output": true, + "temperature": true, + "release_date": "2026-03-16", + "last_updated": "2026-03-16", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 131072 + }, + "cost": { + "input": 1.2, + "output": 4, + "cache_read": 0.24, + "cache_write": 0 + } + }, + "glm-4.5v": { + "id": "glm-4.5v", + "name": "GLM-4.5V", + "family": "glm", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-08-11", + "last_updated": "2025-08-11", + "modalities": { + "input": ["text", "image", "video"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 64000, + "output": 16384 + }, + "cost": { + "input": 0.6, + "output": 1.8 + } + }, + "glm-4.6": { + "id": "glm-4.6", + "name": "GLM-4.6", + "family": "glm", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-09-30", + "last_updated": "2025-09-30", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 204800, + "output": 131072 + }, + "cost": { + "input": 0.6, + "output": 2.2, + "cache_read": 0.11, + "cache_write": 0 + } + }, + "glm-4.6v": { + "id": "glm-4.6v", + "name": "GLM-4.6V", + "family": "glm", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-12-08", + "last_updated": "2025-12-08", + "modalities": { + "input": ["text", "image", "video"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 32768 + }, + "cost": { + "input": 0.3, + "output": 0.9 + } + }, + "glm-4.5-flash": { + "id": "glm-4.5-flash", + "name": "GLM-4.5-Flash", + "family": "glm-flash", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-07-28", + "last_updated": "2025-07-28", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 98304 + }, + "cost": { + "input": 0, + "output": 0, + "cache_read": 0, + "cache_write": 0 + } + }, + "glm-4.7-flash": { + "id": "glm-4.7-flash", + "name": "GLM-4.7-Flash", + "family": "glm-flash", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2026-01-19", + "last_updated": "2026-01-19", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 200000, + "output": 131072 + }, + "cost": { + "input": 0, + "output": 0, + "cache_read": 0, + "cache_write": 0 + } + } + } + }, + "opencode": { + "id": "opencode", + "env": ["OPENCODE_API_KEY"], + "npm": "@ai-sdk/openai-compatible", + "api": "https://opencode.ai/zen/v1", + "name": "OpenCode Zen", + "doc": "https://opencode.ai/docs/zen", + "models": { + "minimax-m2.7": { + "id": "minimax-m2.7", + "name": "MiniMax M2.7", + "family": "minimax", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2026-03-18", + "last_updated": "2026-03-18", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 204800, + "output": 131072 + }, + "cost": { + "input": 0.3, + "output": 1.2, + "cache_read": 0.06 + } + }, + "gpt-5.1-codex-max": { + "id": "gpt-5.1-codex-max", + "name": "GPT-5.1 Codex Max", + "family": "gpt-codex", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": false, + "knowledge": "2024-09-30", + "release_date": "2025-11-13", + "last_updated": "2025-11-13", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "input": 272000, + "output": 128000 + }, + "provider": { + "npm": "@ai-sdk/openai" + }, + "cost": { + "input": 1.25, + "output": 10, + "cache_read": 0.125 + } + }, + "claude-haiku-4-5": { + "id": "claude-haiku-4-5", + "name": "Claude Haiku 4.5", + "family": "claude-haiku", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-02-28", + "release_date": "2025-10-15", + "last_updated": "2025-10-15", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 64000 + }, + "provider": { + "npm": "@ai-sdk/anthropic" + }, + "cost": { + "input": 1, + "output": 5, + "cache_read": 0.1, + "cache_write": 1.25 + } + }, + "kimi-k2.5": { + "id": "kimi-k2.5", + "name": "Kimi K2.5", + "family": "kimi", + "attachment": true, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2026-01-27", + "last_updated": "2026-01-27", + "modalities": { + "input": ["text", "image", "video"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 65536 + }, + "cost": { + "input": 0.6, + "output": 3, + "cache_read": 0.08 + } + }, + "glm-4.7": { + "id": "glm-4.7", + "name": "GLM-4.7", + "family": "glm", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-12-22", + "last_updated": "2025-12-22", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 204800, + "output": 131072 + }, + "status": "deprecated", + "cost": { + "input": 0.6, + "output": 2.2, + "cache_read": 0.1 + } + }, + "glm-5": { + "id": "glm-5", + "name": "GLM-5", + "family": "glm", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2026-02-11", + "last_updated": "2026-02-11", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 204800, + "output": 131072 + }, + "cost": { + "input": 1, + "output": 3.2, + "cache_read": 0.2 + } + }, + "glm-4.7-free": { + "id": "glm-4.7-free", + "name": "GLM-4.7 Free", + "family": "glm-free", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-12-22", + "last_updated": "2025-12-22", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 204800, + "output": 131072 + }, + "status": "deprecated", + "cost": { + "input": 0, + "output": 0, + "cache_read": 0 + } + }, + "gemini-3.1-pro": { + "id": "gemini-3.1-pro", + "name": "Gemini 3.1 Pro Preview", + "family": "gemini-pro", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2026-02-19", + "last_updated": "2026-02-19", + "modalities": { + "input": ["text", "image", "video", "audio", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1048576, + "output": 65536 + }, + "provider": { + "npm": "@ai-sdk/google" + }, + "cost": { + "input": 2, + "output": 12, + "cache_read": 0.2, + "tiers": [ + { + "input": 4, + "output": 18, + "cache_read": 0.4, + "tier": { + "type": "context", + "size": 200000 + } + } + ], + "context_over_200k": { + "input": 4, + "output": 18, + "cache_read": 0.4 + } + } + }, + "claude-sonnet-4-6": { + "id": "claude-sonnet-4-6", + "name": "Claude Sonnet 4.6", + "family": "claude-sonnet", + "attachment": true, + "reasoning": true, + "tool_call": true, + "interleaved": true, + "temperature": true, + "knowledge": "2025-08-31", + "release_date": "2026-02-17", + "last_updated": "2026-02-17", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000000, + "output": 64000 + }, + "provider": { + "npm": "@ai-sdk/anthropic" + }, + "cost": { + "input": 3, + "output": 15, + "cache_read": 0.3, + "cache_write": 3.75 + } + }, + "kimi-k2.5-free": { + "id": "kimi-k2.5-free", + "name": "Kimi K2.5 Free", + "family": "kimi-free", + "attachment": true, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2026-01-27", + "last_updated": "2026-01-27", + "modalities": { + "input": ["text", "image", "video"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 262144 + }, + "status": "deprecated", + "cost": { + "input": 0, + "output": 0, + "cache_read": 0 + } + }, + "claude-opus-4-7": { + "id": "claude-opus-4-7", + "name": "Claude Opus 4.7", + "family": "claude-opus", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": false, + "knowledge": "2026-01-31", + "release_date": "2026-04-16", + "last_updated": "2026-04-16", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000000, + "output": 128000 + }, + "provider": { + "npm": "@ai-sdk/anthropic" + }, + "cost": { + "input": 5, + "output": 25, + "cache_read": 0.5, + "cache_write": 6.25 + } + }, + "gpt-5-nano": { + "id": "gpt-5-nano", + "name": "GPT-5 Nano", + "family": "gpt-nano", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": false, + "knowledge": "2024-05-30", + "release_date": "2025-08-07", + "last_updated": "2025-08-07", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "input": 272000, + "output": 128000 + }, + "provider": { + "npm": "@ai-sdk/openai" + }, + "cost": { + "input": 0.05, + "output": 0.4, + "cache_read": 0.005 + } + }, + "gpt-5.3-codex": { + "id": "gpt-5.3-codex", + "name": "GPT-5.3 Codex", + "family": "gpt-codex", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": false, + "knowledge": "2025-08-31", + "release_date": "2026-02-24", + "last_updated": "2026-02-24", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "input": 272000, + "output": 128000 + }, + "provider": { + "npm": "@ai-sdk/openai" + }, + "cost": { + "input": 1.75, + "output": 14, + "cache_read": 0.175 + } + }, + "minimax-m2.5-free": { + "id": "minimax-m2.5-free", + "name": "MiniMax M2.5 Free", + "family": "minimax-free", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2026-02-12", + "last_updated": "2026-02-12", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 204800, + "output": 131072 + }, + "provider": { + "npm": "@ai-sdk/anthropic" + }, + "cost": { + "input": 0, + "output": 0, + "cache_read": 0 + } + }, + "ring-2.6-1t-free": { + "id": "ring-2.6-1t-free", + "name": "Ring 2.6 1T Free", + "family": "ring-1t-free", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "temperature": true, + "knowledge": "2025-06", + "release_date": "2026-05-08", + "last_updated": "2026-05-08", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262000, + "output": 66000 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "gpt-5.2": { + "id": "gpt-5.2", + "name": "GPT-5.2", + "family": "gpt", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": false, + "knowledge": "2025-08-31", + "release_date": "2025-12-11", + "last_updated": "2025-12-11", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "input": 272000, + "output": 128000 + }, + "provider": { + "npm": "@ai-sdk/openai" + }, + "cost": { + "input": 1.75, + "output": 14, + "cache_read": 0.175 + } + }, + "deepseek-v4-flash-free": { + "id": "deepseek-v4-flash-free", + "name": "DeepSeek V4 Flash Free", + "family": "deepseek-flash-free", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "structured_output": true, + "temperature": true, + "knowledge": "2025-05", + "release_date": "2026-04-24", + "last_updated": "2026-04-24", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 1000000, + "output": 384000 + }, + "cost": { + "input": 0, + "output": 0, + "cache_read": 0 + } + }, + "big-pickle": { + "id": "big-pickle", + "name": "Big Pickle", + "family": "big-pickle", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "structured_output": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2025-10-17", + "last_updated": "2025-10-17", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 128000 + }, + "cost": { + "input": 0, + "output": 0, + "cache_read": 0, + "cache_write": 0 + } + }, + "claude-opus-4-1": { + "id": "claude-opus-4-1", + "name": "Claude Opus 4.1", + "family": "claude-opus", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-03-31", + "release_date": "2025-08-05", + "last_updated": "2025-08-05", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 32000 + }, + "provider": { + "npm": "@ai-sdk/anthropic" + }, + "cost": { + "input": 15, + "output": 75, + "cache_read": 1.5, + "cache_write": 18.75 + } + }, + "qwen3.6-plus": { + "id": "qwen3.6-plus", + "name": "Qwen3.6 Plus", + "family": "qwen3.6", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2026-04-02", + "last_updated": "2026-04-02", + "modalities": { + "input": ["text", "image", "video"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 262144, + "output": 65536 + }, + "provider": { + "npm": "@ai-sdk/anthropic" + }, + "cost": { + "input": 0.5, + "output": 3, + "cache_read": 0.05, + "cache_write": 0.625 + } + }, + "gpt-5.4-mini": { + "id": "gpt-5.4-mini", + "name": "GPT-5.4 Mini", + "family": "gpt-mini", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": false, + "knowledge": "2025-08-31", + "release_date": "2026-03-17", + "last_updated": "2026-03-17", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "input": 272000, + "output": 128000 + }, + "provider": { + "npm": "@ai-sdk/openai" + }, + "cost": { + "input": 0.75, + "output": 4.5, + "cache_read": 0.075 + } + }, + "claude-3-5-haiku": { + "id": "claude-3-5-haiku", + "name": "Claude Haiku 3.5", + "family": "claude-haiku", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-07-31", + "release_date": "2024-10-22", + "last_updated": "2024-10-22", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 8192 + }, + "status": "deprecated", + "provider": { + "npm": "@ai-sdk/anthropic" + }, + "cost": { + "input": 0.8, + "output": 4, + "cache_read": 0.08, + "cache_write": 1 + } + }, + "minimax-m2.1": { + "id": "minimax-m2.1", + "name": "MiniMax M2.1", + "family": "minimax", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2025-12-23", + "last_updated": "2025-12-23", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 204800, + "output": 131072 + }, + "status": "deprecated", + "cost": { + "input": 0.3, + "output": 1.2, + "cache_read": 0.1 + } + }, + "glm-5.1": { + "id": "glm-5.1", + "name": "GLM-5.1", + "family": "glm", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2026-04-07", + "last_updated": "2026-04-07", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 204800, + "output": 131072 + }, + "cost": { + "input": 1.4, + "output": 4.4, + "cache_read": 0.26 + } + }, + "gpt-5.4-nano": { + "id": "gpt-5.4-nano", + "name": "GPT-5.4 Nano", + "family": "gpt-nano", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": false, + "knowledge": "2025-08-31", + "release_date": "2026-03-17", + "last_updated": "2026-03-17", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "input": 272000, + "output": 128000 + }, + "provider": { + "npm": "@ai-sdk/openai" + }, + "cost": { + "input": 0.2, + "output": 1.25, + "cache_read": 0.02 + } + }, + "gpt-5.2-codex": { + "id": "gpt-5.2-codex", + "name": "GPT-5.2 Codex", + "family": "gpt-codex", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": false, + "knowledge": "2025-08-31", + "release_date": "2026-01-14", + "last_updated": "2026-01-14", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "input": 272000, + "output": 128000 + }, + "provider": { + "npm": "@ai-sdk/openai" + }, + "cost": { + "input": 1.75, + "output": 14, + "cache_read": 0.175 + } + }, + "gpt-5.1-codex-mini": { + "id": "gpt-5.1-codex-mini", + "name": "GPT-5.1 Codex Mini", + "family": "gpt-codex", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": false, + "knowledge": "2024-09-30", + "release_date": "2025-11-13", + "last_updated": "2025-11-13", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "input": 272000, + "output": 128000 + }, + "provider": { + "npm": "@ai-sdk/openai" + }, + "cost": { + "input": 0.25, + "output": 2, + "cache_read": 0.025 + } + }, + "claude-sonnet-4": { + "id": "claude-sonnet-4", + "name": "Claude Sonnet 4", + "family": "claude-sonnet", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-03-31", + "release_date": "2025-05-22", + "last_updated": "2025-05-22", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000000, + "output": 64000 + }, + "provider": { + "npm": "@ai-sdk/anthropic" + }, + "cost": { + "input": 3, + "output": 15, + "cache_read": 0.3, + "cache_write": 3.75, + "tiers": [ + { + "input": 6, + "output": 22.5, + "cache_read": 0.6, + "cache_write": 7.5, + "tier": { + "type": "context", + "size": 200000 + } + } + ], + "context_over_200k": { + "input": 6, + "output": 22.5, + "cache_read": 0.6, + "cache_write": 7.5 + } + } + }, + "gemini-3-flash": { + "id": "gemini-3-flash", + "name": "Gemini 3 Flash", + "family": "gemini-flash", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2025-12-17", + "last_updated": "2025-12-17", + "modalities": { + "input": ["text", "image", "video", "audio", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1048576, + "output": 65536 + }, + "provider": { + "npm": "@ai-sdk/google" + }, + "cost": { + "input": 0.5, + "output": 3, + "cache_read": 0.05 + } + }, + "trinity-large-preview-free": { + "id": "trinity-large-preview-free", + "name": "Trinity Large Preview", + "family": "trinity", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-06", + "release_date": "2026-01-28", + "last_updated": "2026-01-28", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 131072 + }, + "status": "deprecated", + "cost": { + "input": 0, + "output": 0 + } + }, + "gpt-5.1": { + "id": "gpt-5.1", + "name": "GPT-5.1", + "family": "gpt", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": false, + "knowledge": "2024-09-30", + "release_date": "2025-11-13", + "last_updated": "2025-11-13", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "input": 272000, + "output": 128000 + }, + "provider": { + "npm": "@ai-sdk/openai" + }, + "cost": { + "input": 1.07, + "output": 8.5, + "cache_read": 0.107 + } + }, + "gpt-5.4-pro": { + "id": "gpt-5.4-pro", + "name": "GPT-5.4 Pro", + "family": "gpt-pro", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": false, + "temperature": false, + "knowledge": "2025-08-31", + "release_date": "2026-03-05", + "last_updated": "2026-03-05", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1050000, + "input": 922000, + "output": 128000 + }, + "provider": { + "npm": "@ai-sdk/openai" + }, + "cost": { + "input": 30, + "output": 180, + "cache_read": 30 + } + }, + "glm-5-free": { + "id": "glm-5-free", + "name": "GLM-5 Free", + "family": "glm-free", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2026-02-11", + "last_updated": "2026-02-11", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 204800, + "output": 131072 + }, + "status": "deprecated", + "cost": { + "input": 0, + "output": 0, + "cache_read": 0 + } + }, + "claude-opus-4-5": { + "id": "claude-opus-4-5", + "name": "Claude Opus 4.5", + "family": "claude-opus", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-03-31", + "release_date": "2025-11-24", + "last_updated": "2025-11-24", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 64000 + }, + "provider": { + "npm": "@ai-sdk/anthropic" + }, + "cost": { + "input": 5, + "output": 25, + "cache_read": 0.5, + "cache_write": 6.25 + } + }, + "minimax-m2.1-free": { + "id": "minimax-m2.1-free", + "name": "MiniMax M2.1 Free", + "family": "minimax-free", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2025-12-23", + "last_updated": "2025-12-23", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 204800, + "output": 131072 + }, + "status": "deprecated", + "provider": { + "npm": "@ai-sdk/anthropic" + }, + "cost": { + "input": 0, + "output": 0, + "cache_read": 0 + } + }, + "qwen3.6-plus-free": { + "id": "qwen3.6-plus-free", + "name": "Qwen3.6 Plus Free", + "family": "qwen-free", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "temperature": true, + "knowledge": "2024-12", + "release_date": "2026-03-30", + "last_updated": "2026-03-30", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1048576, + "output": 64000 + }, + "status": "deprecated", + "cost": { + "input": 0, + "output": 0, + "cache_read": 0 + } + }, + "glm-4.6": { + "id": "glm-4.6", + "name": "GLM-4.6", + "family": "glm", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-09-30", + "last_updated": "2025-09-30", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 204800, + "output": 131072 + }, + "status": "deprecated", + "cost": { + "input": 0.6, + "output": 2.2, + "cache_read": 0.1 + } + }, + "ling-2.6-flash-free": { + "id": "ling-2.6-flash-free", + "name": "Ling 2.6 Flash Free", + "family": "ling-flash-free", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-06", + "release_date": "2026-04-21", + "last_updated": "2026-04-21", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262100, + "output": 32800 + }, + "status": "deprecated", + "cost": { + "input": 0, + "output": 0 + } + }, + "gemini-3-pro": { + "id": "gemini-3-pro", + "name": "Gemini 3 Pro", + "family": "gemini-pro", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2025-11-18", + "last_updated": "2025-11-18", + "modalities": { + "input": ["text", "image", "video", "audio", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1048576, + "output": 65536 + }, + "status": "deprecated", + "provider": { + "npm": "@ai-sdk/google" + }, + "cost": { + "input": 2, + "output": 12, + "cache_read": 0.2, + "tiers": [ + { + "input": 4, + "output": 18, + "cache_read": 0.4, + "tier": { + "type": "context", + "size": 200000 + } + } + ], + "context_over_200k": { + "input": 4, + "output": 18, + "cache_read": 0.4 + } + } + }, + "kimi-k2.6": { + "id": "kimi-k2.6", + "name": "Kimi K2.6", + "family": "kimi", + "attachment": true, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2026-04-21", + "last_updated": "2026-04-21", + "modalities": { + "input": ["text", "image", "video"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 65536 + }, + "cost": { + "input": 0.95, + "output": 4, + "cache_read": 0.16 + } + }, + "gpt-5-codex": { + "id": "gpt-5-codex", + "name": "GPT-5 Codex", + "family": "gpt-codex", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": false, + "knowledge": "2024-09-30", + "release_date": "2025-09-15", + "last_updated": "2025-09-15", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "input": 272000, + "output": 128000 + }, + "provider": { + "npm": "@ai-sdk/openai" + }, + "cost": { + "input": 1.07, + "output": 8.5, + "cache_read": 0.107 + } + }, + "grok-code": { + "id": "grok-code", + "name": "Grok Code Fast 1", + "family": "grok", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2025-08-20", + "last_updated": "2025-08-20", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 256000, + "output": 256000 + }, + "status": "deprecated", + "cost": { + "input": 0, + "output": 0, + "cache_read": 0, + "cache_write": 0 + } + }, + "mimo-v2-flash-free": { + "id": "mimo-v2-flash-free", + "name": "MiMo V2 Flash Free", + "family": "mimo-flash-free", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "temperature": true, + "knowledge": "2024-12", + "release_date": "2025-12-16", + "last_updated": "2025-12-16", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 65536 + }, + "status": "deprecated", + "cost": { + "input": 0, + "output": 0, + "cache_read": 0 + } + }, + "gpt-5.3-codex-spark": { + "id": "gpt-5.3-codex-spark", + "name": "GPT-5.3 Codex Spark", + "family": "gpt-codex-spark", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": false, + "knowledge": "2025-08-31", + "release_date": "2026-02-12", + "last_updated": "2026-02-12", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "input": 128000, + "output": 128000 + }, + "provider": { + "npm": "@ai-sdk/openai" + }, + "cost": { + "input": 1.75, + "output": 14, + "cache_read": 0.175 + } + }, + "hy3-preview-free": { + "id": "hy3-preview-free", + "name": "Hy3 preview Free", + "family": "hy3-free", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-06", + "release_date": "2026-04-20", + "last_updated": "2026-04-20", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 256000, + "output": 64000 + }, + "status": "deprecated", + "cost": { + "input": 0, + "output": 0, + "cache_read": 0 + } + }, + "minimax-m2.5": { + "id": "minimax-m2.5", + "name": "MiniMax M2.5", + "family": "minimax", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2026-02-12", + "last_updated": "2026-02-12", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 204800, + "output": 131072 + }, + "cost": { + "input": 0.3, + "output": 1.2, + "cache_read": 0.06 + } + }, + "kimi-k2": { + "id": "kimi-k2", + "name": "Kimi K2", + "family": "kimi", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2025-09-05", + "last_updated": "2025-09-05", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 262144 + }, + "status": "deprecated", + "cost": { + "input": 0.4, + "output": 2.5, + "cache_read": 0.4 + } + }, + "claude-sonnet-4-5": { + "id": "claude-sonnet-4-5", + "name": "Claude Sonnet 4.5", + "family": "claude-sonnet", + "attachment": true, + "reasoning": true, + "tool_call": true, + "interleaved": true, + "temperature": true, + "knowledge": "2025-07-31", + "release_date": "2025-09-29", + "last_updated": "2025-09-29", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000000, + "output": 64000 + }, + "provider": { + "npm": "@ai-sdk/anthropic" + }, + "cost": { + "input": 3, + "output": 15, + "cache_read": 0.3, + "cache_write": 3.75, + "tiers": [ + { + "input": 6, + "output": 22.5, + "cache_read": 0.6, + "cache_write": 7.5, + "tier": { + "type": "context", + "size": 200000 + } + } + ], + "context_over_200k": { + "input": 6, + "output": 22.5, + "cache_read": 0.6, + "cache_write": 7.5 + } + } + }, + "qwen3-coder": { + "id": "qwen3-coder", + "name": "Qwen3 Coder", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-07-23", + "last_updated": "2025-07-23", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 65536 + }, + "status": "deprecated", + "cost": { + "input": 0.45, + "output": 1.8 + } + }, + "gpt-5": { + "id": "gpt-5", + "name": "GPT-5", + "family": "gpt", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": false, + "knowledge": "2024-09-30", + "release_date": "2025-08-07", + "last_updated": "2025-08-07", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "input": 272000, + "output": 128000 + }, + "provider": { + "npm": "@ai-sdk/openai" + }, + "cost": { + "input": 1.07, + "output": 8.5, + "cache_read": 0.107 + } + }, + "qwen3.5-plus": { + "id": "qwen3.5-plus", + "name": "Qwen3.5 Plus", + "family": "qwen3.5", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2026-02-16", + "last_updated": "2026-02-16", + "modalities": { + "input": ["text", "image", "video"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 262144, + "output": 65536 + }, + "provider": { + "npm": "@ai-sdk/anthropic" + }, + "cost": { + "input": 0.2, + "output": 1.2, + "cache_read": 0.02, + "cache_write": 0.25 + } + }, + "mimo-v2-pro-free": { + "id": "mimo-v2-pro-free", + "name": "MiMo V2 Pro Free", + "family": "mimo-pro-free", + "attachment": true, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "temperature": true, + "knowledge": "2024-12", + "release_date": "2026-03-18", + "last_updated": "2026-03-18", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 1048576, + "output": 64000 + }, + "status": "deprecated", + "cost": { + "input": 0, + "output": 0, + "cache_read": 0 + } + }, + "nemotron-3-super-free": { + "id": "nemotron-3-super-free", + "name": "Nemotron 3 Super Free", + "family": "nemotron-free", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "temperature": true, + "knowledge": "2026-02", + "release_date": "2026-03-11", + "last_updated": "2026-03-11", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 204800, + "output": 128000 + }, + "cost": { + "input": 0, + "output": 0, + "cache_read": 0 + } + }, + "gpt-5.5-pro": { + "id": "gpt-5.5-pro", + "name": "GPT-5.5 Pro", + "family": "gpt-pro", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": false, + "temperature": false, + "knowledge": "2025-12-01", + "release_date": "2026-04-24", + "last_updated": "2026-04-24", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1050000, + "input": 922000, + "output": 128000 + }, + "provider": { + "npm": "@ai-sdk/openai" + }, + "cost": { + "input": 30, + "output": 180, + "cache_read": 30 + } + }, + "kimi-k2-thinking": { + "id": "kimi-k2-thinking", + "name": "Kimi K2 Thinking", + "family": "kimi-thinking", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2025-09-05", + "last_updated": "2025-09-05", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 262144 + }, + "status": "deprecated", + "cost": { + "input": 0.4, + "output": 2.5, + "cache_read": 0.4 + } + }, + "gpt-5.1-codex": { + "id": "gpt-5.1-codex", + "name": "GPT-5.1 Codex", + "family": "gpt-codex", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": false, + "knowledge": "2024-09-30", + "release_date": "2025-11-13", + "last_updated": "2025-11-13", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "input": 272000, + "output": 128000 + }, + "provider": { + "npm": "@ai-sdk/openai" + }, + "cost": { + "input": 1.07, + "output": 8.5, + "cache_read": 0.107 + } + }, + "mimo-v2-omni-free": { + "id": "mimo-v2-omni-free", + "name": "MiMo V2 Omni Free", + "family": "mimo-omni-free", + "attachment": true, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "temperature": true, + "knowledge": "2024-12", + "release_date": "2026-03-18", + "last_updated": "2026-03-18", + "modalities": { + "input": ["text", "image", "audio", "pdf"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 64000 + }, + "status": "deprecated", + "cost": { + "input": 0, + "output": 0, + "cache_read": 0 + } + }, + "gpt-5.5": { + "id": "gpt-5.5", + "name": "GPT-5.5", + "family": "gpt", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": false, + "knowledge": "2025-12-01", + "release_date": "2026-04-23", + "last_updated": "2026-04-23", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1050000, + "input": 922000, + "output": 128000 + }, + "provider": { + "npm": "@ai-sdk/openai" + }, + "cost": { + "input": 5, + "output": 30, + "cache_read": 0.5, + "context_over_200k": { + "input": 10, + "output": 45, + "cache_read": 1 + }, + "tiers": [ + { + "input": 10, + "output": 45, + "cache_read": 1, + "tier": { + "type": "context", + "size": 272000 + } + } + ] + } + }, + "gpt-5.4": { + "id": "gpt-5.4", + "name": "GPT-5.4", + "family": "gpt", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": false, + "knowledge": "2025-08-31", + "release_date": "2026-03-05", + "last_updated": "2026-03-05", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1050000, + "input": 922000, + "output": 128000 + }, + "provider": { + "npm": "@ai-sdk/openai" + }, + "cost": { + "input": 2.5, + "output": 15, + "cache_read": 0.25, + "context_over_200k": { + "input": 5, + "output": 22.5, + "cache_read": 0.5 + }, + "tiers": [ + { + "input": 5, + "output": 22.5, + "cache_read": 0.5, + "tier": { + "type": "context", + "size": 272000 + } + } + ] + } + }, + "claude-opus-4-6": { + "id": "claude-opus-4-6", + "name": "Claude Opus 4.6", + "family": "claude-opus", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-05-31", + "release_date": "2026-02-05", + "last_updated": "2026-03-13", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000000, + "output": 128000 + }, + "provider": { + "npm": "@ai-sdk/anthropic" + }, + "cost": { + "input": 5, + "output": 25, + "cache_read": 0.5, + "cache_write": 6.25 + } + } + } + }, + "stepfun": { + "id": "stepfun", + "env": ["STEPFUN_API_KEY"], + "npm": "@ai-sdk/openai-compatible", + "api": "https://api.stepfun.com/v1", + "name": "StepFun", + "doc": "https://platform.stepfun.com/docs/zh/overview/concept", + "models": { + "step-3.5-flash-2603": { + "id": "step-3.5-flash-2603", + "name": "Step 3.5 Flash 2603", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2026-04-02", + "last_updated": "2026-04-02", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 256000, + "input": 256000, + "output": 256000 + }, + "cost": { + "input": 0.1, + "output": 0.3, + "cache_read": 0.02 + } + }, + "step-1-32k": { + "id": "step-1-32k", + "name": "Step 1 (32K)", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, "knowledge": "2024-06", + "release_date": "2025-01-01", + "last_updated": "2026-02-13", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 32768, + "input": 32768, + "output": 32768 + }, + "cost": { + "input": 2.05, + "output": 9.59, + "cache_read": 0.41 + } + }, + "step-3.5-flash": { + "id": "step-3.5-flash", + "name": "Step 3.5 Flash", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2026-01-29", + "last_updated": "2026-02-13", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 256000, + "input": 256000, + "output": 256000 + }, + "cost": { + "input": 0.096, + "output": 0.288, + "cache_read": 0.019 + } + }, + "step-2-16k": { + "id": "step-2-16k", + "name": "Step 2 (16K)", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-06", + "release_date": "2025-01-01", + "last_updated": "2026-02-13", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 16384, + "input": 16384, + "output": 8192 + }, + "cost": { + "input": 5.21, + "output": 16.44, + "cache_read": 1.04 + } + } + } + }, + "nebius": { + "id": "nebius", + "env": ["NEBIUS_API_KEY"], + "npm": "@ai-sdk/openai-compatible", + "api": "https://api.tokenfactory.nebius.com/v1", + "name": "Nebius Token Factory", + "doc": "https://docs.tokenfactory.nebius.com/", + "models": { + "NousResearch/Hermes-4-70B": { + "id": "NousResearch/Hermes-4-70B", + "name": "Hermes-4-70B", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "structured_output": true, + "temperature": true, + "knowledge": "2025-11", + "release_date": "2026-01-30", + "last_updated": "2026-02-04", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "input": 120000, + "output": 8192 + }, + "cost": { + "input": 0.13, + "output": 0.4, + "reasoning": 0.4, + "cache_read": 0.013, + "cache_write": 0.16 + } + }, + "NousResearch/Hermes-4-405B": { + "id": "NousResearch/Hermes-4-405B", + "name": "Hermes-4-405B", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "structured_output": true, + "temperature": true, + "knowledge": "2025-11", + "release_date": "2026-01-30", + "last_updated": "2026-02-04", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "input": 120000, + "output": 8192 + }, + "cost": { + "input": 1, + "output": 3, + "reasoning": 3, + "cache_read": 0.1, + "cache_write": 1.25 + } + }, + "Qwen/Qwen2.5-VL-72B-Instruct": { + "id": "Qwen/Qwen2.5-VL-72B-Instruct", + "name": "Qwen2.5-VL-72B-Instruct", + "attachment": true, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2024-12", + "release_date": "2025-01-20", + "last_updated": "2026-02-04", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "input": 120000, + "output": 8192 + }, + "cost": { + "input": 0.25, + "output": 0.75, + "cache_read": 0.025, + "cache_write": 0.31 + } + }, + "Qwen/Qwen3.5-397B-A17B": { + "id": "Qwen/Qwen3.5-397B-A17B", + "name": "Qwen3.5-397B-A17B", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2025-07", + "release_date": "2025-07-15", + "last_updated": "2026-05-07", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "input": 250000, + "output": 8192 + }, + "cost": { + "input": 0.6, + "output": 3.6, + "cache_read": 0.06, + "cache_write": 0.75 + } + }, + "Qwen/Qwen3-Embedding-8B": { + "id": "Qwen/Qwen3-Embedding-8B", + "name": "Qwen3-Embedding-8B", + "family": "text-embedding", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "temperature": false, + "knowledge": "2025-10", + "release_date": "2026-01-10", + "last_updated": "2026-02-04", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 32768, + "input": 32768, + "output": 0 + }, + "cost": { + "input": 0.01, + "output": 0 + } + }, + "Qwen/Qwen3-30B-A3B-Instruct-2507": { + "id": "Qwen/Qwen3-30B-A3B-Instruct-2507", + "name": "Qwen3-30B-A3B-Instruct-2507", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2025-12", + "release_date": "2026-01-28", + "last_updated": "2026-02-04", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "input": 120000, + "output": 8192 + }, + "cost": { + "input": 0.1, + "output": 0.3, + "cache_read": 0.01, + "cache_write": 0.125 + } + }, + "Qwen/Qwen3-235B-A22B-Instruct-2507": { + "id": "Qwen/Qwen3-235B-A22B-Instruct-2507", + "name": "Qwen3 235B A22B Instruct 2507", + "family": "qwen", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-07", + "release_date": "2025-07-25", + "last_updated": "2025-10-04", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 262144, + "output": 8192 + }, + "cost": { + "input": 0.2, + "output": 0.6 + } + }, + "Qwen/Qwen3-32B": { + "id": "Qwen/Qwen3-32B", + "name": "Qwen3-32B", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2025-12", + "release_date": "2026-01-28", + "last_updated": "2026-02-04", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "input": 120000, + "output": 8192 + }, + "cost": { + "input": 0.1, + "output": 0.3, + "cache_read": 0.01, + "cache_write": 0.125 + } + }, + "Qwen/Qwen3-235B-A22B-Thinking-2507-fast": { + "id": "Qwen/Qwen3-235B-A22B-Thinking-2507-fast", + "name": "Qwen3-235B-A22B-Thinking-2507-fast", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2025-07", + "release_date": "2025-07-25", + "last_updated": "2026-05-07", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 8000, + "input": 7000, + "output": 8192 + }, + "cost": { + "input": 0.5, + "output": 2, + "cache_read": 0.05, + "cache_write": 0.625 + } + }, + "Qwen/Qwen3.5-397B-A17B-fast": { + "id": "Qwen/Qwen3.5-397B-A17B-fast", + "name": "Qwen3.5-397B-A17B-fast", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2025-07", + "release_date": "2025-07-15", + "last_updated": "2026-05-07", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 8000, + "input": 7000, + "output": 8192 + }, + "cost": { + "input": 0.6, + "output": 3.6, + "cache_read": 0.06, + "cache_write": 0.75 + } + }, + "Qwen/Qwen3-Next-80B-A3B-Thinking-fast": { + "id": "Qwen/Qwen3-Next-80B-A3B-Thinking-fast", + "name": "Qwen3-Next-80B-A3B-Thinking-fast", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2025-07", + "release_date": "2025-07-25", + "last_updated": "2026-05-07", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 8000, + "input": 7000, + "output": 8192 + }, + "cost": { + "input": 0.15, + "output": 1.2, + "cache_read": 0.015, + "cache_write": 0.1875 + } + }, + "Qwen/Qwen3-Next-80B-A3B-Thinking": { + "id": "Qwen/Qwen3-Next-80B-A3B-Thinking", + "name": "Qwen3-Next-80B-A3B-Thinking", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "structured_output": true, + "temperature": true, + "knowledge": "2025-12", + "release_date": "2026-01-28", + "last_updated": "2026-02-04", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "input": 120000, + "output": 16384 + }, + "cost": { + "input": 0.15, + "output": 1.2, + "reasoning": 1.2, + "cache_read": 0.015, + "cache_write": 0.18 + } + }, + "PrimeIntellect/INTELLECT-3": { + "id": "PrimeIntellect/INTELLECT-3", + "name": "INTELLECT-3", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2025-10", + "release_date": "2026-01-25", + "last_updated": "2026-02-04", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "input": 120000, + "output": 8192 + }, + "cost": { + "input": 0.2, + "output": 1.1, + "cache_read": 0.02, + "cache_write": 0.25 + } + }, + "zai-org/GLM-5": { + "id": "zai-org/GLM-5", + "name": "GLM-5", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "structured_output": true, + "temperature": true, + "knowledge": "2026-01", + "release_date": "2026-03-01", + "last_updated": "2026-03-10", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "input": 200000, + "output": 16384 + }, + "cost": { + "input": 1, + "output": 3.2, + "cache_read": 0.1, + "cache_write": 1 + } + }, + "meta-llama/Llama-3.3-70B-Instruct": { + "id": "meta-llama/Llama-3.3-70B-Instruct", + "name": "Llama-3.3-70B-Instruct", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2025-08", + "release_date": "2025-12-05", + "last_updated": "2026-02-04", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "input": 120000, + "output": 8192 + }, + "cost": { + "input": 0.13, + "output": 0.4, + "cache_read": 0.013, + "cache_write": 0.16 + } + }, + "meta-llama/Meta-Llama-3.1-8B-Instruct": { + "id": "meta-llama/Meta-Llama-3.1-8B-Instruct", + "name": "Meta-Llama-3.1-8B-Instruct", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2024-12", + "release_date": "2024-07-23", + "last_updated": "2026-02-04", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "input": 120000, + "output": 4096 + }, + "cost": { + "input": 0.02, + "output": 0.06, + "cache_read": 0.002, + "cache_write": 0.025 + } + }, + "nvidia/nemotron-3-super-120b-a12b": { + "id": "nvidia/nemotron-3-super-120b-a12b", + "name": "Nemotron-3-Super-120B-A12B", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2026-02", + "release_date": "2026-03-11", + "last_updated": "2026-03-12", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 256000, + "input": 256000, + "output": 32768 + }, + "cost": { + "input": 0.3, + "output": 0.9 + } + }, + "nvidia/Llama-3_1-Nemotron-Ultra-253B-v1": { + "id": "nvidia/Llama-3_1-Nemotron-Ultra-253B-v1", + "name": "Llama-3.1-Nemotron-Ultra-253B-v1", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2024-12", + "release_date": "2025-01-15", + "last_updated": "2026-02-04", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "input": 120000, + "output": 4096 + }, + "cost": { + "input": 0.6, + "output": 1.8, + "cache_read": 0.06, + "cache_write": 0.75 + } + }, + "nvidia/NVIDIA-Nemotron-3-Nano-30B-A3B": { + "id": "nvidia/NVIDIA-Nemotron-3-Nano-30B-A3B", + "name": "Nemotron-3-Nano-30B-A3B", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2025-05", + "release_date": "2025-08-10", + "last_updated": "2026-02-04", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 32000, + "input": 30000, + "output": 4096 + }, + "cost": { + "input": 0.06, + "output": 0.24, + "cache_read": 0.006, + "cache_write": 0.075 + } + }, + "nvidia/Nemotron-3-Nano-Omni": { + "id": "nvidia/Nemotron-3-Nano-Omni", + "name": "Nemotron-3-Nano-Omni", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2025-01-20", + "last_updated": "2026-05-07", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 65536, + "input": 60000, + "output": 8192 + }, + "cost": { + "input": 0.06, + "output": 0.24, + "cache_read": 0.006, + "cache_write": 0.075 + } + }, + "deepseek-ai/DeepSeek-V3.2-fast": { + "id": "deepseek-ai/DeepSeek-V3.2-fast", + "name": "DeepSeek-V3.2-fast", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2025-01-27", + "last_updated": "2026-05-07", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 8000, + "input": 7000, + "output": 8192 + }, + "cost": { + "input": 0.4, + "output": 2, + "cache_read": 0.04, + "cache_write": 0.5 + } + }, + "deepseek-ai/DeepSeek-V3.2": { + "id": "deepseek-ai/DeepSeek-V3.2", + "name": "DeepSeek-V3.2", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "structured_output": true, + "temperature": true, + "knowledge": "2025-11", + "release_date": "2026-01-20", + "last_updated": "2026-02-04", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 163000, + "input": 160000, + "output": 16384 + }, + "cost": { + "input": 0.3, + "output": 0.45, + "reasoning": 0.45, + "cache_read": 0.03, + "cache_write": 0.375 + } + }, + "openai/gpt-oss-120b-fast": { + "id": "openai/gpt-oss-120b-fast", + "name": "gpt-oss-120b-fast", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2025-06", + "release_date": "2025-06-10", + "last_updated": "2026-05-07", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 8000, + "input": 7000, + "output": 8192 + }, + "cost": { + "input": 0.1, + "output": 0.5, + "cache_read": 0.01, + "cache_write": 0.125 + } + }, + "openai/gpt-oss-120b": { + "id": "openai/gpt-oss-120b", + "name": "gpt-oss-120b", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "structured_output": true, + "temperature": true, + "knowledge": "2025-09", + "release_date": "2026-01-10", + "last_updated": "2026-02-04", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "input": 124000, + "output": 8192 + }, + "cost": { + "input": 0.15, + "output": 0.6, + "reasoning": 0.6, + "cache_read": 0.015, + "cache_write": 0.18 + } + }, + "google/gemma-2-2b-it": { + "id": "google/gemma-2-2b-it", + "name": "Gemma-2-2b-it", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "temperature": true, + "knowledge": "2024-06", + "release_date": "2024-07-31", + "last_updated": "2026-02-04", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 8192, + "input": 8000, + "output": 4096 + }, + "cost": { + "input": 0.02, + "output": 0.06, + "cache_read": 0.002, + "cache_write": 0.025 + } + }, + "google/gemma-3-27b-it": { + "id": "google/gemma-3-27b-it", + "name": "Gemma-3-27b-it", + "attachment": true, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2025-10", + "release_date": "2026-01-20", + "last_updated": "2026-02-04", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 110000, + "input": 100000, + "output": 8192 + }, + "cost": { + "input": 0.1, + "output": 0.3, + "cache_read": 0.01, + "cache_write": 0.125 + } + }, + "moonshotai/Kimi-K2.5-fast": { + "id": "moonshotai/Kimi-K2.5-fast", + "name": "Kimi-K2.5-fast", + "family": "kimi", + "attachment": true, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "structured_output": true, + "temperature": true, + "knowledge": "2025-06", + "release_date": "2025-12-15", + "last_updated": "2026-02-04", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 256000, + "input": 256000, + "output": 8192 + }, + "cost": { + "input": 0.5, + "output": 2.5, + "cache_read": 0.05, + "cache_write": 0.625 + } + }, + "moonshotai/Kimi-K2.5": { + "id": "moonshotai/Kimi-K2.5", + "name": "Kimi-K2.5", + "family": "kimi", + "attachment": true, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "structured_output": true, + "temperature": true, + "knowledge": "2025-06", + "release_date": "2025-12-15", + "last_updated": "2026-02-04", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 256000, + "input": 256000, + "output": 8192 + }, + "cost": { + "input": 0.5, + "output": 2.5, + "reasoning": 2.5, + "cache_read": 0.05, + "cache_write": 0.625 + } + }, + "MiniMaxAI/MiniMax-M2.5": { + "id": "MiniMaxAI/MiniMax-M2.5", + "name": "MiniMax-M2.5", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2025-01-20", + "last_updated": "2026-05-07", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 196608, + "input": 190000, + "output": 8192 + }, + "cost": { + "input": 0.3, + "output": 1.2, + "cache_read": 0.03, + "cache_write": 0.375 + } + }, + "MiniMaxAI/MiniMax-M2.5-fast": { + "id": "MiniMaxAI/MiniMax-M2.5-fast", + "name": "MiniMax-M2.5-fast", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2025-01-20", + "last_updated": "2026-05-07", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 8000, + "input": 7000, + "output": 8192 + }, + "cost": { + "input": 0.3, + "output": 1.2, + "cache_read": 0.03, + "cache_write": 0.375 + } + }, + "deepseek-ai/DeepSeek-V4-Pro": { + "id": "deepseek-ai/DeepSeek-V4-Pro", + "name": "DeepSeek V4 Pro", + "family": "deepseek-thinking", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "structured_output": true, + "temperature": true, + "knowledge": "2025-05", + "release_date": "2026-04-24", + "last_updated": "2026-04-24", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 1000000, + "output": 384000 + }, + "cost": { + "input": 1.75, + "output": 3.5, + "cache_read": 0.15 + } + } + } + }, + "poe": { + "id": "poe", + "env": ["POE_API_KEY"], + "npm": "@ai-sdk/openai-compatible", + "api": "https://api.poe.com/v1", + "name": "Poe", + "doc": "https://creator.poe.com/docs/external-applications/openai-compatible-api", + "models": { + "topazlabs-co/topazlabs": { + "id": "topazlabs-co/topazlabs", + "name": "TopazLabs", + "family": "topazlabs", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": false, + "release_date": "2024-12-03", + "last_updated": "2024-12-03", + "modalities": { + "input": ["text"], + "output": ["image"] + }, + "open_weights": false, + "limit": { + "context": 204, + "output": 0 + } + }, + "novita/kimi-k2.5": { + "id": "novita/kimi-k2.5", + "name": "Kimi-K2.5", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2026-01-27", + "last_updated": "2026-01-27", + "modalities": { + "input": ["text", "image", "video"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 262144 + }, + "cost": { + "input": 0.6, + "output": 3, + "cache_read": 0.1 + } + }, + "novita/glm-4.7": { + "id": "novita/glm-4.7", + "name": "glm-4.7", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2025-12-22", + "last_updated": "2025-12-22", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 205000, + "output": 131072 + }, + "status": "deprecated" + }, + "novita/glm-5": { + "id": "novita/glm-5", + "name": "GLM-5", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2026-02-15", + "last_updated": "2026-02-15", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 205000, + "output": 131072 + }, + "cost": { + "input": 1, + "output": 3.2, + "cache_read": 0.2 + } + }, + "novita/minimax-m2.1": { + "id": "novita/minimax-m2.1", + "name": "minimax-m2.1", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": false, + "release_date": "2025-12-26", + "last_updated": "2025-12-26", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 205000, + "output": 131072 + } + }, + "novita/glm-4.6": { + "id": "novita/glm-4.6", + "name": "GLM-4.6", + "family": "glm", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": false, + "release_date": "2025-09-30", + "last_updated": "2025-09-30", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 0, + "output": 0 + } + }, + "novita/kimi-k2.6": { + "id": "novita/kimi-k2.6", + "name": "Kimi-K2.6", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2026-04-20", + "last_updated": "2026-05-02", + "modalities": { + "input": ["text", "image", "video"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "input": 262144, + "output": 262144 + }, + "cost": { + "input": 0.96, + "output": 4.04, + "cache_read": 0.16 + } + }, + "novita/glm-4.6v": { + "id": "novita/glm-4.6v", + "name": "glm-4.6v", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": false, + "release_date": "2025-12-09", + "last_updated": "2025-12-09", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 131000, + "output": 32768 + } + }, + "novita/deepseek-v3.2": { + "id": "novita/deepseek-v3.2", + "name": "DeepSeek-V3.2", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2025-12-01", + "last_updated": "2025-12-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 0 + }, + "cost": { + "input": 0.27, + "output": 0.4, + "cache_read": 0.13 + } + }, + "novita/glm-4.7-flash": { + "id": "novita/glm-4.7-flash", + "name": "glm-4.7-flash", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": false, + "release_date": "2026-01-19", + "last_updated": "2026-01-19", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 65500 + } + }, + "novita/glm-4.7-n": { + "id": "novita/glm-4.7-n", + "name": "glm-4.7-n", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": false, + "release_date": "2025-12-22", + "last_updated": "2025-12-22", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 205000, + "output": 131072 + } + }, + "novita/kimi-k2-thinking": { + "id": "novita/kimi-k2-thinking", + "name": "kimi-k2-thinking", + "family": "kimi", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": false, + "release_date": "2025-11-07", + "last_updated": "2025-11-07", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 256000, + "output": 0 + } + }, + "fireworks-ai/kimi-k2.5-fw": { + "id": "fireworks-ai/kimi-k2.5-fw", + "name": "Kimi-K2.5-FW", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": false, + "release_date": "2026-01-27", + "last_updated": "2026-01-27", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 262144, + "input": 245760, + "output": 16384 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "empiriolabs/deepseek-v4-pro-el": { + "id": "empiriolabs/deepseek-v4-pro-el", + "name": "DeepSeek-V4-Pro-EL", + "attachment": true, + "reasoning": true, + "tool_call": true, + "release_date": "2026-04-24", + "last_updated": "2026-05-02", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 1000000, + "input": 1000000, + "output": 384000 + }, + "cost": { + "input": 1.67, + "output": 3.33 + } + }, + "empiriolabs/deepseek-v4-flash-el": { + "id": "empiriolabs/deepseek-v4-flash-el", + "name": "DeepSeek-V4-Flash-EL", + "attachment": true, + "reasoning": true, + "tool_call": true, + "release_date": "2026-04-24", + "last_updated": "2026-05-02", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 1000000, + "input": 1000000, + "output": 384000 + }, + "cost": { + "input": 0.14, + "output": 0.28 + } + }, + "elevenlabs/elevenlabs-v2.5-turbo": { + "id": "elevenlabs/elevenlabs-v2.5-turbo", + "name": "ElevenLabs-v2.5-Turbo", + "family": "elevenlabs", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": false, + "release_date": "2024-10-28", + "last_updated": "2024-10-28", + "modalities": { + "input": ["text"], + "output": ["audio"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 0 + } + }, + "elevenlabs/elevenlabs-v3": { + "id": "elevenlabs/elevenlabs-v3", + "name": "ElevenLabs-v3", + "family": "elevenlabs", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": false, + "release_date": "2025-06-05", + "last_updated": "2025-06-05", + "modalities": { + "input": ["text"], + "output": ["audio"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 0 + } + }, + "elevenlabs/elevenlabs-music": { + "id": "elevenlabs/elevenlabs-music", + "name": "ElevenLabs-Music", + "family": "elevenlabs", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": false, + "release_date": "2025-08-29", + "last_updated": "2025-08-29", + "modalities": { + "input": ["text"], + "output": ["audio"] + }, + "open_weights": false, + "limit": { + "context": 2000, + "output": 0 + } + }, + "cerebras/gpt-oss-120b-cs": { + "id": "cerebras/gpt-oss-120b-cs", + "name": "GPT-OSS-120B-CS", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": false, + "release_date": "2025-08-06", + "last_updated": "2025-08-06", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 0 + }, + "cost": { + "input": 0.35, + "output": 0.75 + } + }, + "cerebras/llama-3.1-8b-cs": { + "id": "cerebras/llama-3.1-8b-cs", + "name": "Llama-3.1-8B-CS", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": false, + "release_date": "2025-05-13", + "last_updated": "2025-05-13", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 0 + }, + "cost": { + "input": 0.1, + "output": 0.1 + } + }, + "cerebras/qwen3-32b-cs": { + "id": "cerebras/qwen3-32b-cs", + "name": "qwen3-32b-cs", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": false, + "release_date": "2025-05-15", + "last_updated": "2025-05-15", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 0, + "output": 0 + }, + "status": "deprecated" + }, + "cerebras/qwen3-235b-2507-cs": { + "id": "cerebras/qwen3-235b-2507-cs", + "name": "qwen3-235b-2507-cs", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": false, + "release_date": "2025-08-06", + "last_updated": "2025-08-06", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 0, + "output": 0 + }, + "status": "deprecated" + }, + "cerebras/llama-3.3-70b-cs": { + "id": "cerebras/llama-3.3-70b-cs", + "name": "llama-3.3-70b-cs", + "attachment": true, + "reasoning": false, + "tool_call": false, + "temperature": false, + "release_date": "2025-05-13", + "last_updated": "2025-05-13", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 0, + "output": 0 + }, + "status": "deprecated" + }, + "stabilityai/stablediffusionxl": { + "id": "stabilityai/stablediffusionxl", + "name": "StableDiffusionXL", + "family": "stable-diffusion", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": false, + "release_date": "2023-07-09", + "last_updated": "2023-07-09", + "modalities": { + "input": ["text", "image"], + "output": ["image"] + }, + "open_weights": false, + "limit": { + "context": 200, + "output": 0 + } + }, + "xai/grok-code-fast-1": { + "id": "xai/grok-code-fast-1", + "name": "Grok Code Fast 1", + "family": "grok", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": false, + "release_date": "2025-08-22", + "last_updated": "2025-08-22", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 256000, + "output": 128000 + }, + "cost": { + "input": 0.2, + "output": 1.5, + "cache_read": 0.02 + } + }, + "xai/grok-4-fast-reasoning": { + "id": "xai/grok-4-fast-reasoning", + "name": "Grok-4-Fast-Reasoning", + "family": "grok", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": false, + "release_date": "2025-09-16", + "last_updated": "2025-09-16", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 2000000, + "output": 128000 + }, + "cost": { + "input": 0.2, + "output": 0.5, + "cache_read": 0.05 + } + }, + "xai/grok-4.1-fast-non-reasoning": { + "id": "xai/grok-4.1-fast-non-reasoning", + "name": "Grok-4.1-Fast-Non-Reasoning", + "family": "grok", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": false, + "release_date": "2025-11-19", + "last_updated": "2025-11-19", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 2000000, + "output": 30000 + } + }, + "xai/grok-4": { + "id": "xai/grok-4", + "name": "Grok-4", + "family": "grok", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": false, + "release_date": "2025-07-10", + "last_updated": "2025-07-10", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 256000, + "output": 128000 + }, + "cost": { + "input": 3, + "output": 15, + "cache_read": 0.75 + } + }, + "xai/grok-3-mini": { + "id": "xai/grok-3-mini", + "name": "Grok 3 Mini", + "family": "grok", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": false, + "release_date": "2025-04-11", + "last_updated": "2025-04-11", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 131072, + "output": 8192 + }, + "cost": { + "input": 0.3, + "output": 0.5, + "cache_read": 0.075 + } + }, + "xai/grok-4.20-multi-agent": { + "id": "xai/grok-4.20-multi-agent", + "name": "Grok-4.20-Multi-Agent", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": false, + "release_date": "2026-03-13", + "last_updated": "2026-03-13", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 0 + }, + "cost": { + "input": 2, + "output": 6, + "cache_read": 0.2 + } + }, + "xai/grok-3": { + "id": "xai/grok-3", + "name": "Grok 3", + "family": "grok", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": false, + "release_date": "2025-04-11", + "last_updated": "2025-04-11", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 131072, + "output": 8192 + }, + "cost": { + "input": 3, + "output": 15, + "cache_read": 0.75 + } + }, + "xai/grok-4-fast-non-reasoning": { + "id": "xai/grok-4-fast-non-reasoning", + "name": "Grok-4-Fast-Non-Reasoning", + "family": "grok", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": false, + "release_date": "2025-09-16", + "last_updated": "2025-09-16", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 2000000, + "output": 128000 + }, + "cost": { + "input": 0.2, + "output": 0.5, + "cache_read": 0.05 + } + }, + "xai/grok-4.1-fast-reasoning": { + "id": "xai/grok-4.1-fast-reasoning", + "name": "Grok-4.1-Fast-Reasoning", + "family": "grok", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": false, + "release_date": "2025-11-19", + "last_updated": "2025-11-19", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 2000000, + "output": 30000 + } + }, + "runwayml/runway": { + "id": "runwayml/runway", + "name": "Runway", + "family": "runway", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": false, + "release_date": "2024-10-11", + "last_updated": "2024-10-11", + "modalities": { + "input": ["text", "image"], + "output": ["video"] + }, + "open_weights": false, + "limit": { + "context": 256, + "output": 0 + } + }, + "runwayml/runway-gen-4-turbo": { + "id": "runwayml/runway-gen-4-turbo", + "name": "Runway-Gen-4-Turbo", + "family": "runway", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": false, + "release_date": "2025-05-09", + "last_updated": "2025-05-09", + "modalities": { + "input": ["text", "image"], + "output": ["video"] + }, + "open_weights": false, + "limit": { + "context": 256, + "output": 0 + } + }, + "openai/gpt-5.1-codex-max": { + "id": "openai/gpt-5.1-codex-max", + "name": "GPT-5.1-Codex-Max", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": false, + "release_date": "2025-12-08", + "last_updated": "2025-12-08", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "output": 128000 + }, + "cost": { + "input": 1.1, + "output": 9, + "cache_read": 0.11 + } + }, + "openai/sora-2-pro": { + "id": "openai/sora-2-pro", + "name": "Sora-2-Pro", + "family": "sora", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": false, + "release_date": "2025-10-06", + "last_updated": "2025-10-06", + "modalities": { + "input": ["text", "image"], + "output": ["video"] + }, + "open_weights": false, + "limit": { + "context": 0, + "output": 0 + } + }, + "openai/chatgpt-4o-latest": { + "id": "openai/chatgpt-4o-latest", + "name": "ChatGPT-4o-Latest", + "family": "gpt", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": false, + "release_date": "2024-08-14", + "last_updated": "2024-08-14", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 8192 + }, + "status": "deprecated", + "cost": { + "input": 4.5, + "output": 14 + } + }, + "openai/gpt-5-chat": { + "id": "openai/gpt-5-chat", + "name": "GPT-5-Chat", + "family": "gpt-codex", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": false, + "release_date": "2025-08-07", + "last_updated": "2025-08-07", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 16384 + }, + "cost": { + "input": 1.1, + "output": 9, + "cache_read": 0.11 + } + }, + "openai/gpt-5.2-pro": { + "id": "openai/gpt-5.2-pro", + "name": "GPT-5.2-Pro", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": false, + "release_date": "2025-12-11", + "last_updated": "2025-12-11", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "output": 128000 + }, + "cost": { + "input": 19, + "output": 150 + } + }, + "openai/gpt-4o-aug": { + "id": "openai/gpt-4o-aug", + "name": "GPT-4o-Aug", + "family": "gpt", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": false, + "release_date": "2024-11-21", + "last_updated": "2024-11-21", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 8192 + }, + "cost": { + "input": 2.2, + "output": 9, + "cache_read": 1.1 + } + }, + "openai/gpt-image-2": { + "id": "openai/gpt-image-2", + "name": "GPT-Image-2", + "attachment": true, + "reasoning": false, + "tool_call": false, + "temperature": false, + "release_date": "2026-04-21", + "last_updated": "2026-04-21", + "modalities": { + "input": ["text", "image"], + "output": ["image"] + }, + "open_weights": false, + "limit": { + "context": 0, + "output": 0 + }, + "cost": { + "input": 5.0505, + "output": 32.3232, + "cache_read": 1.2626 + } + }, + "openai/gpt-4-classic-0314": { + "id": "openai/gpt-4-classic-0314", + "name": "GPT-4-Classic-0314", + "family": "gpt", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": false, + "release_date": "2024-08-26", + "last_updated": "2024-08-26", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 8192, + "output": 4096 + }, + "status": "deprecated", + "cost": { + "input": 27, + "output": 54 + } + }, + "openai/gpt-5-mini": { + "id": "openai/gpt-5-mini", + "name": "GPT-5-mini", + "family": "gpt-mini", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": false, + "release_date": "2025-06-25", + "last_updated": "2025-06-25", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "output": 128000 + }, + "cost": { + "input": 0.22, + "output": 1.8, + "cache_read": 0.022 + } + }, + "openai/gpt-5-nano": { + "id": "openai/gpt-5-nano", + "name": "GPT-5-nano", + "family": "gpt-nano", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": false, + "release_date": "2025-08-05", + "last_updated": "2025-08-05", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "output": 128000 + }, + "cost": { + "input": 0.045, + "output": 0.36, + "cache_read": 0.0045 + } + }, + "openai/gpt-5.3-codex": { + "id": "openai/gpt-5.3-codex", + "name": "GPT-5.3-Codex", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": false, + "release_date": "2026-02-10", + "last_updated": "2026-02-10", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "output": 128000 + }, + "cost": { + "input": 1.6, + "output": 13, + "cache_read": 0.16 + } + }, + "openai/gpt-4-turbo": { + "id": "openai/gpt-4-turbo", + "name": "GPT-4-Turbo", + "family": "gpt", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": false, + "release_date": "2023-09-13", + "last_updated": "2023-09-13", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 4096 + }, + "cost": { + "input": 9, + "output": 27 + } + }, + "openai/gpt-5.2": { + "id": "openai/gpt-5.2", + "name": "GPT-5.2", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": false, + "release_date": "2025-12-08", + "last_updated": "2025-12-08", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "output": 128000 + }, + "cost": { + "input": 1.6, + "output": 13, + "cache_read": 0.16 + } + }, + "openai/o3-pro": { + "id": "openai/o3-pro", + "name": "o3-pro", + "family": "o-pro", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": false, + "release_date": "2025-06-10", + "last_updated": "2025-06-10", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 100000 + }, + "cost": { + "input": 18, + "output": 72 + } + }, + "openai/o3-mini-high": { + "id": "openai/o3-mini-high", + "name": "o3-mini-high", + "family": "o-mini", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": false, + "release_date": "2025-01-31", + "last_updated": "2025-01-31", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 100000 + }, + "cost": { + "input": 0.99, + "output": 4 + } + }, + "openai/gpt-4o-mini": { + "id": "openai/gpt-4o-mini", + "name": "GPT-4o-mini", + "family": "gpt-mini", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": false, + "release_date": "2024-07-18", + "last_updated": "2024-07-18", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 124096, + "output": 4096 + }, + "cost": { + "input": 0.14, + "output": 0.54, + "cache_read": 0.068 + } + }, + "openai/o4-mini-deep-research": { + "id": "openai/o4-mini-deep-research", + "name": "o4-mini-deep-research", + "family": "o-mini", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": false, + "release_date": "2025-06-27", + "last_updated": "2025-06-27", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 100000 + }, + "cost": { + "input": 1.8, + "output": 7.2, + "cache_read": 0.45 + } + }, + "openai/gpt-5.4-mini": { + "id": "openai/gpt-5.4-mini", + "name": "GPT-5.4-Mini", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": false, + "release_date": "2026-03-12", + "last_updated": "2026-03-12", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "input": 272000, + "output": 128000 + }, + "cost": { + "input": 0.68, + "output": 4, + "cache_read": 0.068 + } + }, + "openai/dall-e-3": { + "id": "openai/dall-e-3", + "name": "DALL-E-3", + "family": "dall-e", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": false, + "release_date": "2023-11-06", + "last_updated": "2023-11-06", + "modalities": { + "input": ["text"], + "output": ["image"] + }, + "open_weights": false, + "limit": { + "context": 800, + "output": 0 + } + }, + "openai/o4-mini": { + "id": "openai/o4-mini", + "name": "o4-mini", + "family": "o-mini", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": false, + "release_date": "2025-04-16", + "last_updated": "2025-04-16", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 100000 + }, + "cost": { + "input": 0.99, + "output": 4, + "cache_read": 0.25 + } + }, + "openai/gpt-5.4-nano": { + "id": "openai/gpt-5.4-nano", + "name": "GPT-5.4-Nano", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": false, + "release_date": "2026-03-11", + "last_updated": "2026-03-11", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "input": 272000, + "output": 128000 + }, + "cost": { + "input": 0.18, + "output": 1.1, + "cache_read": 0.018 + } + }, + "openai/gpt-image-1": { + "id": "openai/gpt-image-1", + "name": "GPT-Image-1", + "family": "gpt", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": false, + "release_date": "2025-03-31", + "last_updated": "2025-03-31", + "modalities": { + "input": ["text", "image"], + "output": ["image"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 0 + } + }, + "openai/gpt-5.2-codex": { + "id": "openai/gpt-5.2-codex", + "name": "GPT-5.2-Codex", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": false, + "release_date": "2026-01-14", + "last_updated": "2026-01-14", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "output": 128000 + }, + "cost": { + "input": 1.6, + "output": 13, + "cache_read": 0.16 + } + }, + "openai/gpt-5.1-codex-mini": { + "id": "openai/gpt-5.1-codex-mini", + "name": "GPT-5.1-Codex-Mini", + "family": "gpt-codex", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": false, + "release_date": "2025-11-12", + "last_updated": "2025-11-12", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "output": 128000 + }, + "cost": { + "input": 0.22, + "output": 1.8, + "cache_read": 0.022 + } + }, + "openai/gpt-5.1": { + "id": "openai/gpt-5.1", + "name": "GPT-5.1", + "family": "gpt", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": false, + "release_date": "2025-11-12", + "last_updated": "2025-11-12", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "output": 128000 + }, + "cost": { + "input": 1.1, + "output": 9, + "cache_read": 0.11 + } + }, + "openai/gpt-image-1-mini": { + "id": "openai/gpt-image-1-mini", + "name": "GPT-Image-1-Mini", + "family": "gpt", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": false, + "release_date": "2025-08-26", + "last_updated": "2025-08-26", + "modalities": { + "input": ["text", "image"], + "output": ["image"] + }, + "open_weights": false, + "limit": { + "context": 0, + "output": 0 + } + }, + "openai/o1": { + "id": "openai/o1", + "name": "o1", + "family": "o", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": false, + "release_date": "2024-12-18", + "last_updated": "2024-12-18", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 100000 + }, + "cost": { + "input": 14, + "output": 54 + } + }, + "openai/gpt-5.4-pro": { + "id": "openai/gpt-5.4-pro", + "name": "GPT-5.4-Pro", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": false, + "release_date": "2026-03-05", + "last_updated": "2026-03-05", + "modalities": { + "input": ["text", "image"], + "output": ["image"] + }, + "open_weights": false, + "limit": { + "context": 1050000, + "input": 922000, + "output": 128000 + }, + "cost": { + "input": 27, + "output": 160 + } + }, + "openai/gpt-3.5-turbo": { + "id": "openai/gpt-3.5-turbo", + "name": "GPT-3.5-Turbo", + "family": "gpt", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": false, + "release_date": "2023-09-13", + "last_updated": "2023-09-13", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 16384, + "output": 2048 + }, + "cost": { + "input": 0.45, + "output": 1.4 + } + }, + "openai/o3-deep-research": { + "id": "openai/o3-deep-research", + "name": "o3-deep-research", + "family": "o", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": false, + "release_date": "2025-06-27", + "last_updated": "2025-06-27", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 100000 + }, + "cost": { + "input": 9, + "output": 36, + "cache_read": 2.2 + } + }, + "openai/o3-mini": { + "id": "openai/o3-mini", + "name": "o3-mini", + "family": "o-mini", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": false, + "release_date": "2025-01-31", + "last_updated": "2025-01-31", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 100000 + }, + "cost": { + "input": 0.99, + "output": 4 + } + }, + "openai/o1-pro": { + "id": "openai/o1-pro", + "name": "o1-pro", + "family": "o-pro", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": false, + "release_date": "2025-03-19", + "last_updated": "2025-03-19", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 100000 + }, + "cost": { + "input": 140, + "output": 540 + } + }, + "openai/gpt-4o-search": { + "id": "openai/gpt-4o-search", + "name": "GPT-4o-Search", + "family": "gpt", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": false, + "release_date": "2025-03-11", + "last_updated": "2025-03-11", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 8192 + }, + "cost": { + "input": 2.2, + "output": 9 + } + }, + "openai/gpt-5-codex": { + "id": "openai/gpt-5-codex", + "name": "GPT-5-Codex", + "family": "gpt-codex", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": false, + "release_date": "2025-09-23", + "last_updated": "2025-09-23", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "output": 128000 + }, + "cost": { + "input": 1.1, + "output": 9 + } + }, + "openai/gpt-5.4": { + "id": "openai/gpt-5.4", + "name": "GPT-5.4", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": false, + "release_date": "2026-02-26", + "last_updated": "2026-02-26", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["image"] + }, + "open_weights": false, + "limit": { + "context": 1050000, + "input": 922000, + "output": 128000 + }, + "cost": { + "input": 2.2, + "output": 14, + "cache_read": 0.22 + } + }, + "openai/gpt-5.3-codex-spark": { + "id": "openai/gpt-5.3-codex-spark", + "name": "GPT-5.3-Codex-Spark", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": false, + "release_date": "2026-03-04", + "last_updated": "2026-03-04", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 16384 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "openai/gpt-3.5-turbo-raw": { + "id": "openai/gpt-3.5-turbo-raw", + "name": "GPT-3.5-Turbo-Raw", + "family": "gpt", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": false, + "release_date": "2023-09-27", + "last_updated": "2023-09-27", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 4524, + "output": 2048 + }, + "cost": { + "input": 0.45, + "output": 1.4 + } + }, + "openai/gpt-4.1-nano": { + "id": "openai/gpt-4.1-nano", + "name": "GPT-4.1-nano", + "family": "gpt-nano", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": false, + "release_date": "2025-04-15", + "last_updated": "2025-04-15", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1047576, + "output": 32768 + }, + "cost": { + "input": 0.09, + "output": 0.36, + "cache_read": 0.022 + } + }, + "openai/o3": { + "id": "openai/o3", + "name": "o3", + "family": "o", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": false, + "release_date": "2025-04-16", + "last_updated": "2025-04-16", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 100000 + }, + "cost": { + "input": 1.8, + "output": 7.2, + "cache_read": 0.45 + } + }, + "openai/gpt-5-pro": { + "id": "openai/gpt-5-pro", + "name": "GPT-5-Pro", + "family": "gpt-pro", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": false, + "release_date": "2025-10-06", + "last_updated": "2025-10-06", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "output": 128000 + }, + "cost": { + "input": 14, + "output": 110 + } + }, + "openai/sora-2": { + "id": "openai/sora-2", + "name": "Sora-2", + "family": "sora", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": false, + "release_date": "2025-10-06", + "last_updated": "2025-10-06", + "modalities": { + "input": ["text", "image"], + "output": ["video"] + }, + "open_weights": false, + "limit": { + "context": 0, + "output": 0 + } + }, + "openai/gpt-4o": { + "id": "openai/gpt-4o", + "name": "GPT-4o", + "family": "gpt", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": false, + "release_date": "2024-05-13", + "last_updated": "2024-05-13", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 8192 + } + }, + "openai/gpt-5": { + "id": "openai/gpt-5", + "name": "GPT-5", + "family": "gpt", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": false, + "release_date": "2025-08-05", + "last_updated": "2025-08-05", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "output": 128000 + }, + "cost": { + "input": 1.1, + "output": 9, + "cache_read": 0.11 + } + }, + "openai/gpt-5.2-instant": { + "id": "openai/gpt-5.2-instant", + "name": "GPT-5.2-Instant", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": false, + "release_date": "2025-12-11", + "last_updated": "2025-12-11", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 16384 + }, + "cost": { + "input": 1.6, + "output": 13, + "cache_read": 0.16 + } + }, + "openai/gpt-4o-mini-search": { + "id": "openai/gpt-4o-mini-search", + "name": "GPT-4o-mini-Search", + "family": "gpt-mini", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": false, + "release_date": "2025-03-11", + "last_updated": "2025-03-11", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 8192 + }, + "cost": { + "input": 0.14, + "output": 0.54 + } + }, + "openai/gpt-image-1.5": { + "id": "openai/gpt-image-1.5", + "name": "gpt-image-1.5", + "attachment": true, + "reasoning": false, + "tool_call": false, + "temperature": false, + "release_date": "2025-12-16", + "last_updated": "2025-12-16", + "modalities": { + "input": ["text", "image"], + "output": ["image"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 0 + } + }, + "openai/gpt-3.5-turbo-instruct": { + "id": "openai/gpt-3.5-turbo-instruct", + "name": "GPT-3.5-Turbo-Instruct", + "family": "gpt", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": false, + "release_date": "2023-09-20", + "last_updated": "2023-09-20", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 3500, + "output": 1024 + }, + "cost": { + "input": 1.4, + "output": 1.8 + } + }, + "openai/gpt-4.1": { + "id": "openai/gpt-4.1", + "name": "GPT-4.1", + "family": "gpt", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": false, + "release_date": "2025-04-14", + "last_updated": "2025-04-14", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1047576, + "output": 32768 + }, + "cost": { + "input": 1.8, + "output": 7.2, + "cache_read": 0.45 + } + }, + "openai/gpt-5.1-instant": { + "id": "openai/gpt-5.1-instant", + "name": "GPT-5.1-Instant", + "family": "gpt", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": false, + "release_date": "2025-11-12", + "last_updated": "2025-11-12", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 16384 + }, + "cost": { + "input": 1.1, + "output": 9, + "cache_read": 0.11 + } + }, + "openai/gpt-4.1-mini": { + "id": "openai/gpt-4.1-mini", + "name": "GPT-4.1-mini", + "family": "gpt-mini", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": false, + "release_date": "2025-04-15", + "last_updated": "2025-04-15", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1047576, + "output": 32768 + }, + "cost": { + "input": 0.36, + "output": 1.4, + "cache_read": 0.09 + } + }, + "openai/gpt-4-classic": { + "id": "openai/gpt-4-classic", + "name": "GPT-4-Classic", + "family": "gpt", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": false, + "release_date": "2024-03-25", + "last_updated": "2024-03-25", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 8192, + "output": 4096 + }, + "status": "deprecated", + "cost": { + "input": 27, + "output": 54 + } + }, + "openai/gpt-5.1-codex": { + "id": "openai/gpt-5.1-codex", + "name": "GPT-5.1-Codex", + "family": "gpt-codex", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": false, + "release_date": "2025-11-12", + "last_updated": "2025-11-12", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "output": 128000 + }, + "cost": { + "input": 1.1, + "output": 9, + "cache_read": 0.11 + } + }, + "openai/gpt-5.3-instant": { + "id": "openai/gpt-5.3-instant", + "name": "GPT-5.3-Instant", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": false, + "release_date": "2026-03-03", + "last_updated": "2026-03-03", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "input": 111616, + "output": 16384 + }, + "cost": { + "input": 1.6, + "output": 13, + "cache_read": 0.16 + } + }, + "google/veo-3-fast": { + "id": "google/veo-3-fast", + "name": "Veo-3-Fast", + "family": "veo", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": false, + "release_date": "2025-10-13", + "last_updated": "2025-10-13", + "modalities": { + "input": ["text"], + "output": ["video"] + }, + "open_weights": false, + "limit": { + "context": 480, + "output": 0 + } + }, + "google/veo-3.1-fast": { + "id": "google/veo-3.1-fast", + "name": "Veo-3.1-Fast", + "family": "veo", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": false, + "release_date": "2025-10-15", + "last_updated": "2025-10-15", + "modalities": { + "input": ["text", "image"], + "output": ["video"] + }, + "open_weights": false, + "limit": { + "context": 480, + "output": 0 + } + }, + "google/gemini-3.1-pro": { + "id": "google/gemini-3.1-pro", + "name": "Gemini-3.1-Pro", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": false, + "release_date": "2026-02-19", + "last_updated": "2026-02-19", + "modalities": { + "input": ["text", "image", "video", "audio"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1048576, + "output": 65536 + }, + "cost": { + "input": 2, + "output": 12, + "cache_read": 0.2 + } + }, + "google/imagen-3-fast": { + "id": "google/imagen-3-fast", + "name": "Imagen-3-Fast", + "family": "imagen", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": false, + "release_date": "2024-10-17", + "last_updated": "2024-10-17", + "modalities": { + "input": ["text"], + "output": ["image"] + }, + "open_weights": false, + "limit": { + "context": 480, + "output": 0 + } + }, + "google/gemini-2.0-flash": { + "id": "google/gemini-2.0-flash", + "name": "Gemini-2.0-Flash", + "family": "gemini-flash", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": false, "release_date": "2024-12-11", "last_updated": "2024-12-11", - "modalities": { "input": ["text", "image", "audio", "video", "pdf"], "output": ["text"] }, + "modalities": { + "input": ["text", "image", "video", "audio"], + "output": ["text"] + }, "open_weights": false, - "cost": { "input": 0.075, "output": 0.3 }, - "limit": { "context": 1048576, "output": 8192 } + "limit": { + "context": 990000, + "output": 8192 + }, + "cost": { + "input": 0.1, + "output": 0.42 + } + }, + "google/gemini-deep-research": { + "id": "google/gemini-deep-research", + "name": "gemini-deep-research", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": false, + "release_date": "2025-12-11", + "last_updated": "2025-12-11", + "modalities": { + "input": ["text", "image", "video"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1048576, + "output": 0 + }, + "status": "deprecated", + "cost": { + "input": 1.6, + "output": 9.6 + } + }, + "google/gemini-2.5-pro": { + "id": "google/gemini-2.5-pro", + "name": "Gemini-2.5-Pro", + "family": "gemini-pro", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": false, + "release_date": "2025-02-05", + "last_updated": "2025-02-05", + "modalities": { + "input": ["text", "image", "video", "audio"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1065535, + "output": 65535 + }, + "cost": { + "input": 0.87, + "output": 7, + "cache_read": 0.087 + } + }, + "google/imagen-3": { + "id": "google/imagen-3", + "name": "Imagen-3", + "family": "imagen", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": false, + "release_date": "2024-10-15", + "last_updated": "2024-10-15", + "modalities": { + "input": ["text"], + "output": ["image"] + }, + "open_weights": false, + "limit": { + "context": 480, + "output": 0 + } + }, + "google/nano-banana": { + "id": "google/nano-banana", + "name": "Nano-Banana", + "family": "nano-banana", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": false, + "release_date": "2025-08-21", + "last_updated": "2025-08-21", + "modalities": { + "input": ["text", "image"], + "output": ["text", "image"] + }, + "open_weights": false, + "limit": { + "context": 65536, + "output": 0 + }, + "cost": { + "input": 0.21, + "output": 1.8, + "cache_read": 0.021 + } + }, + "google/gemini-2.5-flash": { + "id": "google/gemini-2.5-flash", + "name": "Gemini-2.5-Flash", + "family": "gemini-flash", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": false, + "release_date": "2025-04-26", + "last_updated": "2025-04-26", + "modalities": { + "input": ["text", "image", "video", "audio"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1065535, + "output": 65535 + }, + "cost": { + "input": 0.21, + "output": 1.8, + "cache_read": 0.021 + } + }, + "google/gemini-3.1-flash-lite": { + "id": "google/gemini-3.1-flash-lite", + "name": "Gemini-3.1-Flash-Lite", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": false, + "release_date": "2026-02-18", + "last_updated": "2026-02-18", + "modalities": { + "input": ["text", "image", "video", "audio"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1048576, + "output": 65536 + }, + "cost": { + "input": 0.25, + "output": 1.5 + } + }, + "google/gemini-3-flash": { + "id": "google/gemini-3-flash", + "name": "Gemini-3-Flash", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": false, + "release_date": "2025-10-07", + "last_updated": "2025-10-07", + "modalities": { + "input": ["text", "image", "video", "audio"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1048576, + "output": 65536 + }, + "cost": { + "input": 0.4, + "output": 2.4, + "cache_read": 0.04 + } + }, + "google/veo-3.1": { + "id": "google/veo-3.1", + "name": "Veo-3.1", + "family": "veo", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": false, + "release_date": "2025-10-15", + "last_updated": "2025-10-15", + "modalities": { + "input": ["text"], + "output": ["video"] + }, + "open_weights": false, + "limit": { + "context": 480, + "output": 0 + } + }, + "google/lyria": { + "id": "google/lyria", + "name": "Lyria", + "family": "lyria", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": false, + "release_date": "2025-06-04", + "last_updated": "2025-06-04", + "modalities": { + "input": ["text"], + "output": ["audio"] + }, + "open_weights": false, + "limit": { + "context": 0, + "output": 0 + } + }, + "google/imagen-4-ultra": { + "id": "google/imagen-4-ultra", + "name": "Imagen-4-Ultra", + "family": "imagen", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": false, + "release_date": "2025-05-24", + "last_updated": "2025-05-24", + "modalities": { + "input": ["text"], + "output": ["image"] + }, + "open_weights": false, + "limit": { + "context": 480, + "output": 0 + } + }, + "google/nano-banana-pro": { + "id": "google/nano-banana-pro", + "name": "Nano-Banana-Pro", + "family": "nano-banana", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": false, + "release_date": "2025-11-19", + "last_updated": "2025-11-19", + "modalities": { + "input": ["text", "image"], + "output": ["image"] + }, + "open_weights": false, + "limit": { + "context": 65536, + "output": 0 + }, + "cost": { + "input": 2, + "output": 12, + "cache_read": 0.2 + } + }, + "google/gemini-3-pro": { + "id": "google/gemini-3-pro", + "name": "Gemini-3-Pro", + "family": "gemini-pro", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": false, + "release_date": "2025-10-22", + "last_updated": "2025-10-22", + "modalities": { + "input": ["text", "image", "video", "audio"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1048576, + "output": 65536 + }, + "status": "deprecated", + "cost": { + "input": 1.6, + "output": 9.6, + "cache_read": 0.16 + } + }, + "google/imagen-4-fast": { + "id": "google/imagen-4-fast", + "name": "Imagen-4-Fast", + "family": "imagen", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": false, + "release_date": "2025-06-25", + "last_updated": "2025-06-25", + "modalities": { + "input": ["text"], + "output": ["image"] + }, + "open_weights": false, + "limit": { + "context": 480, + "output": 0 + } + }, + "google/veo-3": { + "id": "google/veo-3", + "name": "Veo-3", + "family": "veo", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": false, + "release_date": "2025-05-21", + "last_updated": "2025-05-21", + "modalities": { + "input": ["text"], + "output": ["video"] + }, + "open_weights": false, + "limit": { + "context": 480, + "output": 0 + } + }, + "google/gemini-2.5-flash-lite": { + "id": "google/gemini-2.5-flash-lite", + "name": "Gemini-2.5-Flash-Lite", + "family": "gemini-flash-lite", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": false, + "release_date": "2025-06-19", + "last_updated": "2025-06-19", + "modalities": { + "input": ["text", "image", "video", "audio"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1024000, + "output": 64000 + }, + "cost": { + "input": 0.07, + "output": 0.28 + } + }, + "google/imagen-4": { + "id": "google/imagen-4", + "name": "Imagen-4", + "family": "imagen", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": false, + "release_date": "2025-05-22", + "last_updated": "2025-05-22", + "modalities": { + "input": ["text"], + "output": ["image"] + }, + "open_weights": false, + "limit": { + "context": 480, + "output": 0 + } + }, + "google/gemma-4-31b": { + "id": "google/gemma-4-31b", + "name": "Gemma-4-31B", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": false, + "release_date": "2026-04-02", + "last_updated": "2026-04-02", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 262144, + "output": 8192 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "google/gemini-2.0-flash-lite": { + "id": "google/gemini-2.0-flash-lite", + "name": "Gemini-2.0-Flash-Lite", + "family": "gemini-flash-lite", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": false, + "release_date": "2025-02-05", + "last_updated": "2025-02-05", + "modalities": { + "input": ["text", "image", "video", "audio"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 990000, + "output": 8192 + }, + "cost": { + "input": 0.052, + "output": 0.21 + } + }, + "google/veo-2": { + "id": "google/veo-2", + "name": "Veo-2", + "family": "veo", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": false, + "release_date": "2024-12-02", + "last_updated": "2024-12-02", + "modalities": { + "input": ["text"], + "output": ["video"] + }, + "open_weights": false, + "limit": { + "context": 480, + "output": 0 + } + }, + "lumalabs/ray2": { + "id": "lumalabs/ray2", + "name": "Ray2", + "family": "ray", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": false, + "release_date": "2025-02-20", + "last_updated": "2025-02-20", + "modalities": { + "input": ["text", "image"], + "output": ["video"] + }, + "open_weights": false, + "limit": { + "context": 5000, + "output": 0 + } + }, + "anthropic/claude-opus-4.1": { + "id": "anthropic/claude-opus-4.1", + "name": "Claude-Opus-4.1", + "family": "claude-opus", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": false, + "release_date": "2025-08-05", + "last_updated": "2025-08-05", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 196608, + "output": 32000 + }, + "cost": { + "input": 13, + "output": 64, + "cache_read": 1.3, + "cache_write": 16 + } + }, + "anthropic/claude-sonnet-3.5": { + "id": "anthropic/claude-sonnet-3.5", + "name": "Claude-Sonnet-3.5", + "family": "claude-sonnet", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": false, + "release_date": "2024-06-05", + "last_updated": "2024-06-05", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 189096, + "output": 8192 + }, + "status": "deprecated", + "cost": { + "input": 2.6, + "output": 13, + "cache_read": 0.26, + "cache_write": 3.2 + } + }, + "anthropic/claude-haiku-3": { + "id": "anthropic/claude-haiku-3", + "name": "Claude-Haiku-3", + "family": "claude-haiku", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": false, + "release_date": "2024-03-09", + "last_updated": "2024-03-09", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 189096, + "output": 8192 + }, + "cost": { + "input": 0.21, + "output": 1.1, + "cache_read": 0.021, + "cache_write": 0.26 + } + }, + "anthropic/claude-opus-4.6": { + "id": "anthropic/claude-opus-4.6", + "name": "Claude-Opus-4.6", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": false, + "release_date": "2026-02-04", + "last_updated": "2026-02-04", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 983040, + "output": 128000 + }, + "cost": { + "input": 4.3, + "output": 21, + "cache_read": 0.43, + "cache_write": 5.3 + } + }, + "anthropic/claude-opus-4.7": { + "id": "anthropic/claude-opus-4.7", + "name": "Claude-Opus-4.7", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": false, + "release_date": "2026-04-15", + "last_updated": "2026-04-15", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1048576, + "output": 128000 + }, + "cost": { + "input": 4.3, + "output": 21, + "cache_read": 0.43, + "cache_write": 5.4 + } + }, + "anthropic/claude-sonnet-4": { + "id": "anthropic/claude-sonnet-4", + "name": "Claude-Sonnet-4", + "family": "claude-sonnet", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": false, + "release_date": "2025-05-21", + "last_updated": "2025-05-21", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 983040, + "output": 64000 + }, + "cost": { + "input": 2.6, + "output": 13, + "cache_read": 0.26, + "cache_write": 3.2 + } + }, + "anthropic/claude-sonnet-4.5": { + "id": "anthropic/claude-sonnet-4.5", + "name": "Claude-Sonnet-4.5", + "family": "claude-sonnet", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": false, + "release_date": "2025-09-26", + "last_updated": "2025-09-26", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 983040, + "output": 32768 + }, + "cost": { + "input": 2.6, + "output": 13, + "cache_read": 0.26, + "cache_write": 3.2 + } + }, + "anthropic/claude-opus-4.5": { + "id": "anthropic/claude-opus-4.5", + "name": "Claude-Opus-4.5", + "family": "claude-opus", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": false, + "release_date": "2025-11-21", + "last_updated": "2025-11-21", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 196608, + "output": 64000 + }, + "cost": { + "input": 4.3, + "output": 21, + "cache_read": 0.43, + "cache_write": 5.3 + } + }, + "anthropic/claude-sonnet-3.7": { + "id": "anthropic/claude-sonnet-3.7", + "name": "Claude-Sonnet-3.7", + "family": "claude-sonnet", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": false, + "release_date": "2025-02-19", + "last_updated": "2025-02-19", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 196608, + "output": 128000 + }, + "cost": { + "input": 2.6, + "output": 13, + "cache_read": 0.26, + "cache_write": 3.2 + } + }, + "anthropic/claude-opus-4": { + "id": "anthropic/claude-opus-4", + "name": "Claude-Opus-4", + "family": "claude-opus", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": false, + "release_date": "2025-05-21", + "last_updated": "2025-05-21", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 192512, + "output": 28672 + }, + "cost": { + "input": 13, + "output": 64, + "cache_read": 1.3, + "cache_write": 16 + } + }, + "anthropic/claude-haiku-3.5": { + "id": "anthropic/claude-haiku-3.5", + "name": "Claude-Haiku-3.5", + "family": "claude-haiku", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": false, + "release_date": "2024-10-01", + "last_updated": "2024-10-01", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 189096, + "output": 8192 + }, + "cost": { + "input": 0.68, + "output": 3.4, + "cache_read": 0.068, + "cache_write": 0.85 + } + }, + "anthropic/claude-haiku-4.5": { + "id": "anthropic/claude-haiku-4.5", + "name": "Claude-Haiku-4.5", + "family": "claude-haiku", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": false, + "release_date": "2025-10-15", + "last_updated": "2025-10-15", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 192000, + "output": 64000 + }, + "cost": { + "input": 0.85, + "output": 4.3, + "cache_read": 0.085, + "cache_write": 1.1 + } + }, + "anthropic/claude-sonnet-3.5-june": { + "id": "anthropic/claude-sonnet-3.5-june", + "name": "Claude-Sonnet-3.5-June", + "family": "claude-sonnet", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": false, + "release_date": "2024-11-18", + "last_updated": "2024-11-18", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 189096, + "output": 8192 + }, + "status": "deprecated", + "cost": { + "input": 2.6, + "output": 13, + "cache_read": 0.26, + "cache_write": 3.2 + } + }, + "anthropic/claude-sonnet-4.6": { + "id": "anthropic/claude-sonnet-4.6", + "name": "Claude-Sonnet-4.6", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": false, + "release_date": "2026-02-05", + "last_updated": "2026-02-05", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 983040, + "output": 128000 + }, + "cost": { + "input": 2.6, + "output": 13, + "cache_read": 0.26, + "cache_write": 3.2 + } + }, + "ideogramai/ideogram": { + "id": "ideogramai/ideogram", + "name": "Ideogram", + "family": "ideogram", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": false, + "release_date": "2024-04-03", + "last_updated": "2024-04-03", + "modalities": { + "input": ["text", "image"], + "output": ["image"] + }, + "open_weights": false, + "limit": { + "context": 150, + "output": 0 + } + }, + "ideogramai/ideogram-v2": { + "id": "ideogramai/ideogram-v2", + "name": "Ideogram-v2", + "family": "ideogram", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": false, + "release_date": "2024-08-21", + "last_updated": "2024-08-21", + "modalities": { + "input": ["text", "image"], + "output": ["image"] + }, + "open_weights": false, + "limit": { + "context": 150, + "output": 0 + } + }, + "ideogramai/ideogram-v2a-turbo": { + "id": "ideogramai/ideogram-v2a-turbo", + "name": "Ideogram-v2a-Turbo", + "family": "ideogram", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": false, + "release_date": "2025-02-27", + "last_updated": "2025-02-27", + "modalities": { + "input": ["text"], + "output": ["image"] + }, + "open_weights": false, + "limit": { + "context": 150, + "output": 0 + } + }, + "ideogramai/ideogram-v2a": { + "id": "ideogramai/ideogram-v2a", + "name": "Ideogram-v2a", + "family": "ideogram", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": false, + "release_date": "2025-02-27", + "last_updated": "2025-02-27", + "modalities": { + "input": ["text"], + "output": ["image"] + }, + "open_weights": false, + "limit": { + "context": 150, + "output": 0 + } + }, + "trytako/tako": { + "id": "trytako/tako", + "name": "Tako", + "family": "tako", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": false, + "release_date": "2024-08-15", + "last_updated": "2024-08-15", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 2048, + "output": 0 + } + }, + "poetools/claude-code": { + "id": "poetools/claude-code", + "name": "claude-code", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": false, + "release_date": "2025-11-27", + "last_updated": "2025-11-27", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 0, + "output": 0 + } + }, + "openai/gpt-5.5": { + "id": "openai/gpt-5.5", + "name": "GPT-5.5", + "family": "gpt", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": false, + "knowledge": "2025-12-01", + "release_date": "2026-04-08", + "last_updated": "2026-04-08", + "modalities": { + "input": ["text", "image"], + "output": ["text", "image"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "output": 128000 + }, + "cost": { + "input": 4.5455, + "output": 27.2727, + "cache_read": 0.4545 + } + }, + "openai/gpt-5.5-pro": { + "id": "openai/gpt-5.5-pro", + "name": "GPT-5.5-Pro", + "family": "gpt-pro", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": false, + "temperature": false, + "knowledge": "2025-12-01", + "release_date": "2026-04-08", + "last_updated": "2026-04-08", + "modalities": { + "input": ["text", "image"], + "output": ["text", "image"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "output": 128000 + }, + "cost": { + "input": 27.2727, + "output": 163.6364 + } + } + } + }, + "helicone": { + "id": "helicone", + "env": ["HELICONE_API_KEY"], + "npm": "@ai-sdk/openai-compatible", + "api": "https://ai-gateway.helicone.ai/v1", + "name": "Helicone", + "doc": "https://helicone.ai/models", + "models": { + "mistral-nemo": { + "id": "mistral-nemo", + "name": "Mistral Nemo", + "family": "mistral-nemo", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "knowledge": "2024-07", + "release_date": "2024-07-18", + "last_updated": "2024-07-18", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 16400 + }, + "cost": { + "input": 20, + "output": 40 + } + }, + "grok-4-1-fast-reasoning": { + "id": "grok-4-1-fast-reasoning", + "name": "xAI Grok 4.1 Fast Reasoning", + "family": "grok", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-11", + "release_date": "2025-11-17", + "last_updated": "2025-11-17", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 2000000, + "output": 2000000 + }, + "cost": { + "input": 0.19999999999999998, + "output": 0.5, + "cache_read": 0.049999999999999996 + } + }, + "gemma2-9b-it": { + "id": "gemma2-9b-it", + "name": "Google Gemma 2", + "family": "gemma", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "knowledge": "2024-06", + "release_date": "2024-06-25", + "last_updated": "2024-06-25", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 8192, + "output": 8192 + }, + "cost": { + "input": 0.01, + "output": 0.03 + } + }, + "llama-3.3-70b-instruct": { + "id": "llama-3.3-70b-instruct", + "name": "Meta Llama 3.3 70B Instruct", + "family": "llama", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-12", + "release_date": "2024-12-06", + "last_updated": "2024-12-06", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 16400 + }, + "cost": { + "input": 0.13, + "output": 0.39 + } + }, + "llama-4-scout": { + "id": "llama-4-scout", + "name": "Meta Llama 4 Scout 17B 16E", + "family": "llama", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2025-01-01", + "last_updated": "2025-01-01", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 131072, + "output": 8192 + }, + "cost": { + "input": 0.08, + "output": 0.3 + } + }, + "chatgpt-4o-latest": { + "id": "chatgpt-4o-latest", + "name": "OpenAI ChatGPT-4o", + "family": "gpt", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-08", + "release_date": "2024-08-14", + "last_updated": "2024-08-14", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 16384 + }, + "cost": { + "input": 5, + "output": 20, + "cache_read": 2.5 + } + }, + "claude-3.5-sonnet-v2": { + "id": "claude-3.5-sonnet-v2", + "name": "Anthropic: Claude 3.5 Sonnet v2", + "family": "claude-sonnet", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2024-10-22", + "last_updated": "2024-10-22", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 8192 + }, + "cost": { + "input": 3, + "output": 15, + "cache_read": 0.30000000000000004, + "cache_write": 3.75 + } + }, + "hermes-2-pro-llama-3-8b": { + "id": "hermes-2-pro-llama-3-8b", + "name": "Hermes 2 Pro Llama 3 8B", + "family": "llama", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-05", + "release_date": "2024-05-27", + "last_updated": "2024-05-27", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 131072, + "output": 131072 + }, + "cost": { + "input": 0.14, + "output": 0.14 + } + }, + "claude-3.7-sonnet": { + "id": "claude-3.7-sonnet", + "name": "Anthropic: Claude 3.7 Sonnet", + "family": "claude-sonnet", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-02", + "release_date": "2025-02-19", + "last_updated": "2025-02-19", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 64000 + }, + "cost": { + "input": 3, + "output": 15, + "cache_read": 0.30000000000000004, + "cache_write": 3.75 + } + }, + "llama-prompt-guard-2-22m": { + "id": "llama-prompt-guard-2-22m", + "name": "Meta Llama Prompt Guard 2 22M", + "family": "llama", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2024-10-01", + "last_updated": "2024-10-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 512, + "output": 2 + }, + "cost": { + "input": 0.01, + "output": 0.01 + } + }, + "o1-mini": { + "id": "o1-mini", + "name": "OpenAI: o1-mini", + "family": "o-mini", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": false, + "knowledge": "2025-01", + "release_date": "2025-01-01", + "last_updated": "2025-01-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 65536 + }, + "cost": { + "input": 1.1, + "output": 4.4, + "cache_read": 0.55 + } + }, + "gpt-4.1-mini-2025-04-14": { + "id": "gpt-4.1-mini-2025-04-14", + "name": "OpenAI GPT-4.1 Mini", + "family": "gpt-mini", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-04-14", + "last_updated": "2025-04-14", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1047576, + "output": 32768 + }, + "cost": { + "input": 0.39999999999999997, + "output": 1.5999999999999999, + "cache_read": 0.09999999999999999 + } + }, + "deepseek-r1-distill-llama-70b": { + "id": "deepseek-r1-distill-llama-70b", + "name": "DeepSeek R1 Distill Llama 70B", + "family": "deepseek-thinking", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2025-01-20", + "last_updated": "2025-01-20", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 4096 + }, + "cost": { + "input": 0.03, + "output": 0.13 + } + }, + "qwen3-32b": { + "id": "qwen3-32b", + "name": "Qwen3 32B", + "family": "qwen", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-04-28", + "last_updated": "2025-04-28", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 131072, + "output": 40960 + }, + "cost": { + "input": 0.29, + "output": 0.59 + } + }, + "llama-3.3-70b-versatile": { + "id": "llama-3.3-70b-versatile", + "name": "Meta Llama 3.3 70B Versatile", + "family": "llama", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-12", + "release_date": "2024-12-06", + "last_updated": "2024-12-06", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 131072, + "output": 32678 + }, + "cost": { + "input": 0.59, + "output": 0.7899999999999999 + } + }, + "gpt-5-mini": { + "id": "gpt-5-mini", + "name": "OpenAI GPT-5 Mini", + "family": "gpt-mini", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": false, + "knowledge": "2025-01", + "release_date": "2025-01-01", + "last_updated": "2025-01-01", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "output": 128000 + }, + "cost": { + "input": 0.25, + "output": 2, + "cache_read": 0.024999999999999998 + } + }, + "gpt-5-nano": { + "id": "gpt-5-nano", + "name": "OpenAI GPT-5 Nano", + "family": "gpt-nano", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": false, + "knowledge": "2025-01", + "release_date": "2025-01-01", + "last_updated": "2025-01-01", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "output": 128000 + }, + "cost": { + "input": 0.049999999999999996, + "output": 0.39999999999999997, + "cache_read": 0.005 + } + }, + "gemini-3-pro-preview": { + "id": "gemini-3-pro-preview", + "name": "Google Gemini 3 Pro Preview", + "family": "gemini-pro", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-11", + "release_date": "2025-11-18", + "last_updated": "2025-11-18", + "modalities": { + "input": ["text", "image", "audio", "video"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1048576, + "output": 65536 + }, + "cost": { + "input": 2, + "output": 12, + "cache_read": 0.19999999999999998 + } + }, + "claude-3-haiku-20240307": { + "id": "claude-3-haiku-20240307", + "name": "Anthropic: Claude 3 Haiku", + "family": "claude-haiku", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-03", + "release_date": "2024-03-07", + "last_updated": "2024-03-07", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 4096 + }, + "cost": { + "input": 0.25, + "output": 1.25, + "cache_read": 0.03, + "cache_write": 0.3 + } + }, + "llama-4-maverick": { + "id": "llama-4-maverick", + "name": "Meta Llama 4 Maverick 17B 128E", + "family": "llama", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2025-01-01", + "last_updated": "2025-01-01", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 131072, + "output": 8192 + }, + "cost": { + "input": 0.15, + "output": 0.6 + } + }, + "claude-sonnet-4-5-20250929": { + "id": "claude-sonnet-4-5-20250929", + "name": "Anthropic: Claude Sonnet 4.5 (20250929)", + "family": "claude-sonnet", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-09", + "release_date": "2025-09-29", + "last_updated": "2025-09-29", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 64000 + }, + "cost": { + "input": 3, + "output": 15, + "cache_read": 0.30000000000000004, + "cache_write": 3.75 + } + }, + "gemini-2.5-pro": { + "id": "gemini-2.5-pro", + "name": "Google Gemini 2.5 Pro", + "family": "gemini-pro", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-06", + "release_date": "2025-06-17", + "last_updated": "2025-06-17", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1048576, + "output": 65536 + }, + "cost": { + "input": 1.25, + "output": 10, + "cache_read": 0.3125, + "cache_write": 1.25 + } + }, + "claude-4.5-opus": { + "id": "claude-4.5-opus", + "name": "Anthropic: Claude Opus 4.5", + "family": "claude-opus", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-11", + "release_date": "2025-11-24", + "last_updated": "2025-11-24", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 64000 + }, + "cost": { + "input": 5, + "output": 25, + "cache_read": 0.5, + "cache_write": 6.25 + } + }, + "grok-4-1-fast-non-reasoning": { + "id": "grok-4-1-fast-non-reasoning", + "name": "xAI Grok 4.1 Fast Non-Reasoning", + "family": "grok", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-11", + "release_date": "2025-11-17", + "last_updated": "2025-11-17", + "modalities": { + "input": ["text", "image"], + "output": ["text", "image"] + }, + "open_weights": false, + "limit": { + "context": 2000000, + "output": 30000 + }, + "cost": { + "input": 0.19999999999999998, + "output": 0.5, + "cache_read": 0.049999999999999996 + } + }, + "sonar-pro": { + "id": "sonar-pro", + "name": "Perplexity Sonar Pro", + "family": "sonar-pro", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2025-01-27", + "last_updated": "2025-01-27", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 4096 + }, + "cost": { + "input": 3, + "output": 15 + } + }, + "mistral-large-2411": { + "id": "mistral-large-2411", + "name": "Mistral-Large", + "family": "mistral-large", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-07", + "release_date": "2024-07-24", + "last_updated": "2024-07-24", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 32768 + }, + "cost": { + "input": 2, + "output": 6 + } + }, + "o3-pro": { + "id": "o3-pro", + "name": "OpenAI o3 Pro", + "family": "o-pro", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": false, + "knowledge": "2024-06", + "release_date": "2024-06-01", + "last_updated": "2024-06-01", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 100000 + }, + "cost": { + "input": 20, + "output": 80 + } + }, + "claude-opus-4-1": { + "id": "claude-opus-4-1", + "name": "Anthropic: Claude Opus 4.1", + "family": "claude-opus", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-08", + "release_date": "2025-08-05", + "last_updated": "2025-08-05", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 32000 + }, + "cost": { + "input": 15, + "output": 75, + "cache_read": 1.5, + "cache_write": 18.75 + } + }, + "gpt-4o-mini": { + "id": "gpt-4o-mini", + "name": "OpenAI GPT-4o-mini", + "family": "gpt-mini", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-07", + "release_date": "2024-07-18", + "last_updated": "2024-07-18", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 16384 + }, + "cost": { + "input": 0.15, + "output": 0.6, + "cache_read": 0.075 + } + }, + "claude-4.5-haiku": { + "id": "claude-4.5-haiku", + "name": "Anthropic: Claude 4.5 Haiku", + "family": "claude-haiku", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-10", + "release_date": "2025-10-01", + "last_updated": "2025-10-01", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 8192 + }, + "cost": { + "input": 1, + "output": 5, + "cache_read": 0.09999999999999999, + "cache_write": 1.25 + } + }, + "kimi-k2-0711": { + "id": "kimi-k2-0711", + "name": "Kimi K2 (07/11)", + "family": "kimi", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2025-01-01", + "last_updated": "2025-01-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 131072, + "output": 16384 + }, + "cost": { + "input": 0.5700000000000001, + "output": 2.3 + } + }, + "o4-mini": { + "id": "o4-mini", + "name": "OpenAI o4 Mini", + "family": "o-mini", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": false, + "knowledge": "2024-06", + "release_date": "2024-06-01", + "last_updated": "2024-06-01", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 100000 + }, + "cost": { + "input": 1.1, + "output": 4.4, + "cache_read": 0.275 + } + }, + "sonar-deep-research": { + "id": "sonar-deep-research", + "name": "Perplexity Sonar Deep Research", + "family": "sonar-deep-research", + "attachment": false, + "reasoning": true, + "tool_call": false, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2025-01-27", + "last_updated": "2025-01-27", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 127000, + "output": 4096 + }, + "cost": { + "input": 2, + "output": 8 + } + }, + "gemma-3-12b-it": { + "id": "gemma-3-12b-it", + "name": "Google Gemma 3 12B", + "family": "gemma", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "knowledge": "2024-12", + "release_date": "2024-12-01", + "last_updated": "2024-12-01", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 131072, + "output": 8192 + }, + "cost": { + "input": 0.049999999999999996, + "output": 0.09999999999999999 + } + }, + "gemini-2.5-flash": { + "id": "gemini-2.5-flash", + "name": "Google Gemini 2.5 Flash", + "family": "gemini-flash", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-06", + "release_date": "2025-06-17", + "last_updated": "2025-06-17", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1048576, + "output": 65535 + }, + "cost": { + "input": 0.3, + "output": 2.5, + "cache_read": 0.075, + "cache_write": 0.3 + } + }, + "deepseek-tng-r1t2-chimera": { + "id": "deepseek-tng-r1t2-chimera", + "name": "DeepSeek TNG R1T2 Chimera", + "family": "deepseek-thinking", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-07", + "release_date": "2025-07-02", + "last_updated": "2025-07-02", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 130000, + "output": 163840 + }, + "cost": { + "input": 0.3, + "output": 1.2 + } + }, + "gpt-5.1-codex-mini": { + "id": "gpt-5.1-codex-mini", + "name": "OpenAI: GPT-5.1 Codex Mini", + "family": "gpt-codex", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": false, + "knowledge": "2025-01", + "release_date": "2025-01-01", + "last_updated": "2025-01-01", + "modalities": { + "input": ["text", "image"], + "output": ["text", "image"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "output": 128000 + }, + "cost": { + "input": 0.25, + "output": 2, + "cache_read": 0.024999999999999998 + } + }, + "claude-sonnet-4": { + "id": "claude-sonnet-4", + "name": "Anthropic: Claude Sonnet 4", + "family": "claude-sonnet", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-05", + "release_date": "2025-05-14", + "last_updated": "2025-05-14", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 64000 + }, + "cost": { + "input": 3, + "output": 15, + "cache_read": 0.30000000000000004, + "cache_write": 3.75 + } + }, + "grok-code-fast-1": { + "id": "grok-code-fast-1", + "name": "xAI Grok Code Fast 1", + "family": "grok", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-08", + "release_date": "2024-08-25", + "last_updated": "2024-08-25", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 256000, + "output": 10000 + }, + "cost": { + "input": 0.19999999999999998, + "output": 1.5, + "cache_read": 0.02 + } + }, + "gpt-5.1": { + "id": "gpt-5.1", + "name": "OpenAI GPT-5.1", + "family": "gpt", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": false, + "knowledge": "2025-01", + "release_date": "2025-01-01", + "last_updated": "2025-01-01", + "modalities": { + "input": ["text", "image"], + "output": ["text", "image"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "output": 128000 + }, + "cost": { + "input": 1.25, + "output": 10, + "cache_read": 0.12500000000000003 + } + }, + "deepseek-reasoner": { + "id": "deepseek-reasoner", + "name": "DeepSeek Reasoner", + "family": "deepseek-thinking", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2025-01-20", + "last_updated": "2025-01-20", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 64000 + }, + "cost": { + "input": 0.56, + "output": 1.68, + "cache_read": 0.07 + } + }, + "grok-4-fast-reasoning": { + "id": "grok-4-fast-reasoning", + "name": "xAI: Grok 4 Fast Reasoning", + "family": "grok", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-09", + "release_date": "2025-09-01", + "last_updated": "2025-09-01", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 2000000, + "output": 2000000 + }, + "cost": { + "input": 0.19999999999999998, + "output": 0.5, + "cache_read": 0.049999999999999996 + } + }, + "o1": { + "id": "o1", + "name": "OpenAI: o1", + "family": "o", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": false, + "knowledge": "2025-01", + "release_date": "2025-01-01", + "last_updated": "2025-01-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 100000 + }, + "cost": { + "input": 15, + "output": 60, + "cache_read": 7.5 + } + }, + "llama-3.1-8b-instant": { + "id": "llama-3.1-8b-instant", + "name": "Meta Llama 3.1 8B Instant", + "family": "llama", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-07", + "release_date": "2024-07-01", + "last_updated": "2024-07-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 131072, + "output": 32678 + }, + "cost": { + "input": 0.049999999999999996, + "output": 0.08 + } + }, + "o3-mini": { + "id": "o3-mini", + "name": "OpenAI o3 Mini", + "family": "o-mini", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": false, + "knowledge": "2023-10", + "release_date": "2023-10-01", + "last_updated": "2023-10-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 100000 + }, + "cost": { + "input": 1.1, + "output": 4.4, + "cache_read": 0.55 + } + }, + "sonar": { + "id": "sonar", + "name": "Perplexity Sonar", + "family": "sonar", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2025-01-27", + "last_updated": "2025-01-27", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 127000, + "output": 4096 + }, + "cost": { + "input": 1, + "output": 1 + } + }, + "kimi-k2-0905": { + "id": "kimi-k2-0905", + "name": "Kimi K2 (09/05)", + "family": "kimi", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-09", + "release_date": "2025-09-05", + "last_updated": "2025-09-05", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 262144, + "output": 16384 + }, + "cost": { + "input": 0.5, + "output": 2, + "cache_read": 0.39999999999999997 + } + }, + "mistral-small": { + "id": "mistral-small", + "name": "Mistral Small", + "family": "mistral-small", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "knowledge": "2024-02", + "release_date": "2024-02-26", + "last_updated": "2024-02-26", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 128000 + }, + "cost": { + "input": 75, + "output": 200 + } + }, + "qwen3-30b-a3b": { + "id": "qwen3-30b-a3b", + "name": "Qwen3 30B A3B", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-06", + "release_date": "2025-06-01", + "last_updated": "2025-06-01", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 41000, + "output": 41000 + }, + "cost": { + "input": 0.08, + "output": 0.29 + } + }, + "grok-4": { + "id": "grok-4", + "name": "xAI Grok 4", + "family": "grok", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-07", + "release_date": "2024-07-09", + "last_updated": "2024-07-09", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 256000, + "output": 256000 + }, + "cost": { + "input": 3, + "output": 15, + "cache_read": 0.75 + } + }, + "qwen3-235b-a22b-thinking": { + "id": "qwen3-235b-a22b-thinking", + "name": "Qwen3 235B A22B Thinking", + "family": "qwen", + "attachment": false, + "reasoning": true, + "tool_call": false, + "temperature": true, + "knowledge": "2025-07", + "release_date": "2025-07-25", + "last_updated": "2025-07-25", + "modalities": { + "input": ["text", "image", "video"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 262144, + "output": 81920 + }, + "cost": { + "input": 0.3, + "output": 2.9000000000000004 + } + }, + "qwen2.5-coder-7b-fast": { + "id": "qwen2.5-coder-7b-fast", + "name": "Qwen2.5 Coder 7B fast", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "knowledge": "2024-09", + "release_date": "2024-09-15", + "last_updated": "2024-09-15", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 32000, + "output": 8192 + }, + "cost": { + "input": 0.03, + "output": 0.09 + } + }, + "llama-3.1-8b-instruct-turbo": { + "id": "llama-3.1-8b-instruct-turbo", + "name": "Meta Llama 3.1 8B Instruct Turbo", + "family": "llama", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-07", + "release_date": "2024-07-23", + "last_updated": "2024-07-23", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 128000 + }, + "cost": { + "input": 0.02, + "output": 0.03 + } + }, + "qwen3-next-80b-a3b-instruct": { + "id": "qwen3-next-80b-a3b-instruct", + "name": "Qwen3 Next 80B A3B Instruct", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2025-01-01", + "last_updated": "2025-01-01", + "modalities": { + "input": ["text", "image", "video"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 262000, + "output": 16384 + }, + "cost": { + "input": 0.14, + "output": 1.4 + } + }, + "glm-4.6": { + "id": "glm-4.6", + "name": "Zai GLM-4.6", + "family": "glm", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-07", + "release_date": "2024-07-18", + "last_updated": "2024-07-18", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 204800, + "output": 131072 + }, + "cost": { + "input": 0.44999999999999996, + "output": 1.5 + } + }, + "gpt-5-codex": { + "id": "gpt-5-codex", + "name": "OpenAI: GPT-5 Codex", + "family": "gpt-codex", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": false, + "knowledge": "2025-01", + "release_date": "2025-01-01", + "last_updated": "2025-01-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "output": 128000 + }, + "cost": { + "input": 1.25, + "output": 10, + "cache_read": 0.12500000000000003 + } + }, + "claude-opus-4-1-20250805": { + "id": "claude-opus-4-1-20250805", + "name": "Anthropic: Claude Opus 4.1 (20250805)", + "family": "claude-opus", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-08", + "release_date": "2025-08-05", + "last_updated": "2025-08-05", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 32000 + }, + "cost": { + "input": 15, + "output": 75, + "cache_read": 1.5, + "cache_write": 18.75 + } + }, + "gpt-5.1-chat-latest": { + "id": "gpt-5.1-chat-latest", + "name": "OpenAI GPT-5.1 Chat", + "family": "gpt-codex", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": false, + "knowledge": "2025-01", + "release_date": "2025-01-01", + "last_updated": "2025-01-01", + "modalities": { + "input": ["text", "image"], + "output": ["text", "image"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 16384 + }, + "cost": { + "input": 1.25, + "output": 10, + "cache_read": 0.12500000000000003 + } + }, + "claude-haiku-4-5-20251001": { + "id": "claude-haiku-4-5-20251001", + "name": "Anthropic: Claude 4.5 Haiku (20251001)", + "family": "claude-haiku", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-10", + "release_date": "2025-10-01", + "last_updated": "2025-10-01", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 8192 + }, + "cost": { + "input": 1, + "output": 5, + "cache_read": 0.09999999999999999, + "cache_write": 1.25 + } + }, + "sonar-reasoning": { + "id": "sonar-reasoning", + "name": "Perplexity Sonar Reasoning", + "family": "sonar-reasoning", + "attachment": false, + "reasoning": true, + "tool_call": false, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2025-01-27", + "last_updated": "2025-01-27", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 127000, + "output": 4096 + }, + "cost": { + "input": 1, + "output": 5 + } + }, + "claude-opus-4": { + "id": "claude-opus-4", + "name": "Anthropic: Claude Opus 4", + "family": "claude-opus", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-05", + "release_date": "2025-05-14", + "last_updated": "2025-05-14", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 32000 + }, + "cost": { + "input": 15, + "output": 75, + "cache_read": 1.5, + "cache_write": 18.75 + } + }, + "llama-prompt-guard-2-86m": { + "id": "llama-prompt-guard-2-86m", + "name": "Meta Llama Prompt Guard 2 86M", + "family": "llama", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2024-10-01", + "last_updated": "2024-10-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 512, + "output": 2 + }, + "cost": { + "input": 0.01, + "output": 0.01 + } + }, + "gpt-4.1-nano": { + "id": "gpt-4.1-nano", + "name": "OpenAI GPT-4.1 Nano", + "family": "gpt-nano", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-04-14", + "last_updated": "2025-04-14", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1047576, + "output": 32768 + }, + "cost": { + "input": 0.09999999999999999, + "output": 0.39999999999999997, + "cache_read": 0.024999999999999998 + } + }, + "qwen3-coder-30b-a3b-instruct": { + "id": "qwen3-coder-30b-a3b-instruct", + "name": "Qwen3 Coder 30B A3B Instruct", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-07", + "release_date": "2025-07-31", + "last_updated": "2025-07-31", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 262144, + "output": 262144 + }, + "cost": { + "input": 0.09999999999999999, + "output": 0.3 + } + }, + "claude-3.5-haiku": { + "id": "claude-3.5-haiku", + "name": "Anthropic: Claude 3.5 Haiku", + "family": "claude-haiku", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2024-10-22", + "last_updated": "2024-10-22", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 8192 + }, + "cost": { + "input": 0.7999999999999999, + "output": 4, + "cache_read": 0.08, + "cache_write": 1 + } + }, + "grok-3-mini": { + "id": "grok-3-mini", + "name": "xAI Grok 3 Mini", + "family": "grok", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-06", + "release_date": "2024-06-01", + "last_updated": "2024-06-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 131072, + "output": 131072 + }, + "cost": { + "input": 0.3, + "output": 0.5, + "cache_read": 0.075 + } + }, + "o3": { + "id": "o3", + "name": "OpenAI o3", + "family": "o", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": false, + "knowledge": "2024-06", + "release_date": "2024-06-01", + "last_updated": "2024-06-01", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 100000 + }, + "cost": { + "input": 2, + "output": 8, + "cache_read": 0.5 + } + }, + "deepseek-v3.2": { + "id": "deepseek-v3.2", + "name": "DeepSeek V3.2", + "family": "deepseek", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-09", + "release_date": "2025-09-22", + "last_updated": "2025-09-22", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 163840, + "output": 65536 + }, + "cost": { + "input": 0.27, + "output": 0.41 + } + }, + "gpt-oss-20b": { + "id": "gpt-oss-20b", + "name": "OpenAI GPT-OSS 20b", + "family": "gpt-oss", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-06", + "release_date": "2024-06-01", + "last_updated": "2024-06-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 131072, + "output": 131072 + }, + "cost": { + "input": 0.049999999999999996, + "output": 0.19999999999999998 + } + }, + "gpt-5-pro": { + "id": "gpt-5-pro", + "name": "OpenAI: GPT-5 Pro", + "family": "gpt-pro", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": false, + "knowledge": "2025-01", + "release_date": "2025-01-01", + "last_updated": "2025-01-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 32768 + }, + "cost": { + "input": 15, + "output": 120 + } + }, + "llama-guard-4": { + "id": "llama-guard-4", + "name": "Meta Llama Guard 4 12B", + "family": "llama", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2025-01-01", + "last_updated": "2025-01-01", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 131072, + "output": 1024 + }, + "cost": { + "input": 0.21, + "output": 0.21 + } + }, + "gpt-4o": { + "id": "gpt-4o", + "name": "OpenAI GPT-4o", + "family": "gpt", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-05", + "release_date": "2024-05-13", + "last_updated": "2024-05-13", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 16384 + }, + "cost": { + "input": 2.5, + "output": 10, + "cache_read": 1.25 + } + }, + "qwen3-vl-235b-a22b-instruct": { + "id": "qwen3-vl-235b-a22b-instruct", + "name": "Qwen3 VL 235B A22B Instruct", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-09", + "release_date": "2025-09-23", + "last_updated": "2025-09-23", + "modalities": { + "input": ["text", "image", "video"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 256000, + "output": 16384 + }, + "cost": { + "input": 0.3, + "output": 1.5 + } + }, + "gemini-2.5-flash-lite": { + "id": "gemini-2.5-flash-lite", + "name": "Google Gemini 2.5 Flash Lite", + "family": "gemini-flash-lite", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-07", + "release_date": "2025-07-22", + "last_updated": "2025-07-22", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1048576, + "output": 65535 + }, + "cost": { + "input": 0.09999999999999999, + "output": 0.39999999999999997, + "cache_read": 0.024999999999999998, + "cache_write": 0.09999999999999999 + } + }, + "qwen3-coder": { + "id": "qwen3-coder", + "name": "Qwen3 Coder 480B A35B Instruct Turbo", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-07", + "release_date": "2025-07-23", + "last_updated": "2025-07-23", + "modalities": { + "input": ["text", "image", "audio", "video"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 262144, + "output": 16384 + }, + "cost": { + "input": 0.22, + "output": 0.95 + } + }, + "gpt-5": { + "id": "gpt-5", + "name": "OpenAI GPT-5", + "family": "gpt", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": false, + "knowledge": "2025-01", + "release_date": "2025-01-01", + "last_updated": "2025-01-01", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "output": 128000 + }, + "cost": { + "input": 1.25, + "output": 10, + "cache_read": 0.12500000000000003 + } + }, + "ernie-4.5-21b-a3b-thinking": { + "id": "ernie-4.5-21b-a3b-thinking", + "name": "Baidu Ernie 4.5 21B A3B Thinking", + "family": "ernie", + "attachment": false, + "reasoning": true, + "tool_call": false, + "temperature": true, + "knowledge": "2025-03", + "release_date": "2025-03-16", + "last_updated": "2025-03-16", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 8000 + }, + "cost": { + "input": 0.07, + "output": 0.28 + } + }, + "gpt-oss-120b": { + "id": "gpt-oss-120b", + "name": "OpenAI GPT-OSS 120b", + "family": "gpt-oss", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-06", + "release_date": "2024-06-01", + "last_updated": "2024-06-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 131072, + "output": 131072 + }, + "cost": { + "input": 0.04, + "output": 0.16 + } + }, + "gpt-5-chat-latest": { + "id": "gpt-5-chat-latest", + "name": "OpenAI GPT-5 Chat Latest", + "family": "gpt-codex", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": false, + "knowledge": "2024-09", + "release_date": "2024-09-30", + "last_updated": "2024-09-30", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 16384 + }, + "cost": { + "input": 1.25, + "output": 10, + "cache_read": 0.12500000000000003 + } + }, + "claude-4.5-sonnet": { + "id": "claude-4.5-sonnet", + "name": "Anthropic: Claude Sonnet 4.5", + "family": "claude-sonnet", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-09", + "release_date": "2025-09-29", + "last_updated": "2025-09-29", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 64000 + }, + "cost": { + "input": 3, + "output": 15, + "cache_read": 0.30000000000000004, + "cache_write": 3.75 + } + }, + "deepseek-v3": { + "id": "deepseek-v3", + "name": "DeepSeek V3", + "family": "deepseek", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-12", + "release_date": "2024-12-26", + "last_updated": "2024-12-26", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 8192 + }, + "cost": { + "input": 0.56, + "output": 1.68, + "cache_read": 0.07 + } + }, + "llama-3.1-8b-instruct": { + "id": "llama-3.1-8b-instruct", + "name": "Meta Llama 3.1 8B Instruct", + "family": "llama", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-07", + "release_date": "2024-07-23", + "last_updated": "2024-07-23", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 16384, + "output": 16384 + }, + "cost": { + "input": 0.02, + "output": 0.049999999999999996 + } + }, + "gpt-4.1": { + "id": "gpt-4.1", + "name": "OpenAI GPT-4.1", + "family": "gpt", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-04-14", + "last_updated": "2025-04-14", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1047576, + "output": 32768 + }, + "cost": { + "input": 2, + "output": 8, + "cache_read": 0.5 + } + }, + "kimi-k2-thinking": { + "id": "kimi-k2-thinking", + "name": "Kimi K2 Thinking", + "family": "kimi-thinking", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-11", + "release_date": "2025-11-06", + "last_updated": "2025-11-06", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 256000, + "output": 262144 + }, + "cost": { + "input": 0.48, + "output": 2 + } + }, + "gpt-4.1-mini": { + "id": "gpt-4.1-mini", + "name": "OpenAI GPT-4.1 Mini", + "family": "gpt-mini", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-04-14", + "last_updated": "2025-04-14", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1047576, + "output": 32768 + }, + "cost": { + "input": 0.39999999999999997, + "output": 1.5999999999999999, + "cache_read": 0.09999999999999999 + } + }, + "deepseek-v3.1-terminus": { + "id": "deepseek-v3.1-terminus", + "name": "DeepSeek V3.1 Terminus", + "family": "deepseek", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-09", + "release_date": "2025-09-22", + "last_updated": "2025-09-22", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 16384 + }, + "cost": { + "input": 0.27, + "output": 1, + "cache_read": 0.21600000000000003 + } + }, + "gpt-5.1-codex": { + "id": "gpt-5.1-codex", + "name": "OpenAI: GPT-5.1 Codex", + "family": "gpt-codex", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": false, + "knowledge": "2025-01", + "release_date": "2025-01-01", + "last_updated": "2025-01-01", + "modalities": { + "input": ["text", "image"], + "output": ["text", "image"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "output": 128000 + }, + "cost": { + "input": 1.25, + "output": 10, + "cache_read": 0.12500000000000003 + } + }, + "grok-3": { + "id": "grok-3", + "name": "xAI Grok 3", + "family": "grok", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-06", + "release_date": "2024-06-01", + "last_updated": "2024-06-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 131072, + "output": 131072 + }, + "cost": { + "input": 3, + "output": 15, + "cache_read": 0.75 + } + }, + "grok-4-fast-non-reasoning": { + "id": "grok-4-fast-non-reasoning", + "name": "xAI Grok 4 Fast Non-Reasoning", + "family": "grok", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-09", + "release_date": "2025-09-19", + "last_updated": "2025-09-19", + "modalities": { + "input": ["text", "image", "audio"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 2000000, + "output": 2000000 + }, + "cost": { + "input": 0.19999999999999998, + "output": 0.5, + "cache_read": 0.049999999999999996 + } + }, + "sonar-reasoning-pro": { + "id": "sonar-reasoning-pro", + "name": "Perplexity Sonar Reasoning Pro", + "family": "sonar-reasoning", + "attachment": false, + "reasoning": true, + "tool_call": false, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2025-01-27", + "last_updated": "2025-01-27", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 127000, + "output": 4096 + }, + "cost": { + "input": 2, + "output": 8 + } + } + } + }, + "ollama-cloud": { + "id": "ollama-cloud", + "env": ["OLLAMA_API_KEY"], + "npm": "@ai-sdk/openai-compatible", + "api": "https://ollama.com/v1", + "name": "Ollama Cloud", + "doc": "https://docs.ollama.com/cloud", + "models": { + "minimax-m2.7": { + "id": "minimax-m2.7", + "name": "minimax-m2.7", + "family": "minimax", + "attachment": false, + "reasoning": true, + "tool_call": true, + "release_date": "2026-03-18", + "last_updated": "2026-03-18", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 196608, + "output": 196608 + } + }, + "gpt-oss:20b": { + "id": "gpt-oss:20b", + "name": "gpt-oss:20b", + "family": "gpt-oss", + "attachment": false, + "reasoning": true, + "tool_call": true, + "release_date": "2025-08-05", + "last_updated": "2026-01-19", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 32768 + } + }, + "kimi-k2.5": { + "id": "kimi-k2.5", + "name": "kimi-k2.5", + "family": "kimi", + "attachment": true, + "reasoning": true, + "tool_call": true, + "release_date": "2026-01-27", + "last_updated": "2026-01-27", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 262144 + } + }, + "glm-4.7": { + "id": "glm-4.7", + "name": "glm-4.7", + "family": "glm", + "attachment": false, + "reasoning": true, + "tool_call": true, + "release_date": "2025-12-22", + "last_updated": "2026-01-19", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 202752, + "output": 131072 + } + }, + "gemma4:31b": { + "id": "gemma4:31b", + "name": "gemma4:31b", + "family": "gemma", + "attachment": true, + "reasoning": true, + "tool_call": true, + "knowledge": "2025-01", + "release_date": "2026-04-02", + "last_updated": "2026-04-08", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 262144 + } + }, + "gpt-oss:120b": { + "id": "gpt-oss:120b", + "name": "gpt-oss:120b", + "family": "gpt-oss", + "attachment": false, + "reasoning": true, + "tool_call": true, + "release_date": "2025-08-05", + "last_updated": "2026-01-19", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 32768 + } + }, + "qwen3.5:397b": { + "id": "qwen3.5:397b", + "name": "qwen3.5:397b", + "family": "qwen", + "attachment": true, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_details" + }, + "release_date": "2026-02-15", + "last_updated": "2026-02-17", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 65536 + } + }, + "deepseek-v3.1:671b": { + "id": "deepseek-v3.1:671b", + "name": "deepseek-v3.1:671b", + "family": "deepseek", + "attachment": false, + "reasoning": true, + "tool_call": true, + "release_date": "2025-08-21", + "last_updated": "2026-01-19", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 163840, + "output": 163840 + } + }, + "glm-5": { + "id": "glm-5", + "name": "glm-5", + "family": "glm", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "release_date": "2026-02-11", + "last_updated": "2026-02-11", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 202752, + "output": 131072 + } + }, + "qwen3-vl:235b-instruct": { + "id": "qwen3-vl:235b-instruct", + "name": "qwen3-vl:235b-instruct", + "family": "qwen", + "attachment": true, + "reasoning": false, + "tool_call": true, + "release_date": "2025-09-22", + "last_updated": "2026-01-19", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 131072 + } + }, + "gemma3:4b": { + "id": "gemma3:4b", + "name": "gemma3:4b", + "family": "gemma", + "attachment": true, + "reasoning": false, + "tool_call": false, + "release_date": "2024-12-01", + "last_updated": "2026-01-19", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 131072 + } + }, + "gemini-3-flash-preview": { + "id": "gemini-3-flash-preview", + "name": "gemini-3-flash-preview", + "family": "gemini-flash", + "attachment": true, + "reasoning": true, + "tool_call": true, + "knowledge": "2025-01", + "release_date": "2025-12-17", + "last_updated": "2026-04-08", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 1048576, + "output": 65536 + } + }, + "ministral-3:14b": { + "id": "ministral-3:14b", + "name": "ministral-3:14b", + "family": "ministral", + "attachment": true, + "reasoning": false, + "tool_call": true, + "release_date": "2024-12-01", + "last_updated": "2026-01-19", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 128000 + } + }, + "minimax-m2": { + "id": "minimax-m2", + "name": "minimax-m2", + "family": "minimax", + "attachment": false, + "reasoning": false, + "tool_call": true, + "release_date": "2025-10-23", + "last_updated": "2026-01-19", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 204800, + "output": 128000 + } + }, + "qwen3-next:80b": { + "id": "qwen3-next:80b", + "name": "qwen3-next:80b", + "family": "qwen", + "attachment": false, + "reasoning": true, + "tool_call": true, + "release_date": "2025-09-15", + "last_updated": "2026-01-19", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 32768 + } + }, + "qwen3-vl:235b": { + "id": "qwen3-vl:235b", + "name": "qwen3-vl:235b", + "family": "qwen", + "attachment": true, + "reasoning": true, + "tool_call": true, + "release_date": "2025-09-22", + "last_updated": "2026-01-19", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 32768 + } + }, + "rnj-1:8b": { + "id": "rnj-1:8b", + "name": "rnj-1:8b", + "family": "rnj", + "attachment": false, + "reasoning": false, + "tool_call": true, + "release_date": "2025-12-06", + "last_updated": "2026-01-19", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 32768, + "output": 4096 + } + }, + "minimax-m2.1": { + "id": "minimax-m2.1", + "name": "minimax-m2.1", + "family": "minimax", + "attachment": false, + "reasoning": true, + "tool_call": true, + "release_date": "2025-12-23", + "last_updated": "2026-01-19", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 204800, + "output": 131072 + } + }, + "glm-5.1": { + "id": "glm-5.1", + "name": "glm-5.1", + "family": "glm", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "release_date": "2026-03-27", + "last_updated": "2026-04-07", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 202752, + "output": 131072 + } + }, + "mistral-large-3:675b": { + "id": "mistral-large-3:675b", + "name": "mistral-large-3:675b", + "family": "mistral-large", + "attachment": true, + "reasoning": false, + "tool_call": true, + "release_date": "2025-12-02", + "last_updated": "2026-01-19", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 262144 + } + }, + "ministral-3:8b": { + "id": "ministral-3:8b", + "name": "ministral-3:8b", + "family": "ministral", + "attachment": true, + "reasoning": false, + "tool_call": true, + "release_date": "2024-12-01", + "last_updated": "2026-01-19", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 128000 + } + }, + "gemma3:12b": { + "id": "gemma3:12b", + "name": "gemma3:12b", + "family": "gemma", + "attachment": true, + "reasoning": false, + "tool_call": false, + "release_date": "2024-12-01", + "last_updated": "2026-01-19", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 131072 + } + }, + "qwen3-coder:480b": { + "id": "qwen3-coder:480b", + "name": "qwen3-coder:480b", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": true, + "release_date": "2025-07-22", + "last_updated": "2026-01-19", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 65536 + } + }, + "nemotron-3-nano:30b": { + "id": "nemotron-3-nano:30b", + "name": "nemotron-3-nano:30b", + "family": "nemotron", + "attachment": false, + "reasoning": true, + "tool_call": true, + "release_date": "2025-12-15", + "last_updated": "2026-01-19", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 1048576, + "output": 131072 + } + }, + "deepseek-v4-flash": { + "id": "deepseek-v4-flash", + "name": "deepseek-v4-flash", + "family": "deepseek-flash", + "attachment": false, + "reasoning": true, + "tool_call": true, + "release_date": "2026-04-24", + "last_updated": "2026-04-24", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 1048576, + "output": 1048576 + } + }, + "glm-4.6": { + "id": "glm-4.6", + "name": "glm-4.6", + "family": "glm", + "attachment": false, + "reasoning": true, + "tool_call": true, + "release_date": "2025-09-29", + "last_updated": "2026-01-19", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 202752, + "output": 131072 + } + }, + "kimi-k2.6": { + "id": "kimi-k2.6", + "name": "kimi-k2.6", + "family": "kimi", + "attachment": true, + "reasoning": true, + "tool_call": true, + "release_date": "2026-04-20", + "last_updated": "2026-04-20", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 262144 + } + }, + "ministral-3:3b": { + "id": "ministral-3:3b", + "name": "ministral-3:3b", + "family": "ministral", + "attachment": true, + "reasoning": false, + "tool_call": true, + "release_date": "2024-10-22", + "last_updated": "2026-01-19", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 128000 + } + }, + "gemma3:27b": { + "id": "gemma3:27b", + "name": "gemma3:27b", + "family": "gemma", + "attachment": true, + "reasoning": false, + "tool_call": false, + "release_date": "2025-07-27", + "last_updated": "2026-01-19", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 131072 + } + }, + "devstral-2:123b": { + "id": "devstral-2:123b", + "name": "devstral-2:123b", + "family": "devstral", + "attachment": false, + "reasoning": false, + "tool_call": true, + "release_date": "2025-12-09", + "last_updated": "2026-01-19", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 262144 + } + }, + "cogito-2.1:671b": { + "id": "cogito-2.1:671b", + "name": "cogito-2.1:671b", + "family": "cogito", + "attachment": false, + "reasoning": true, + "tool_call": true, + "release_date": "2025-11-19", + "last_updated": "2026-01-19", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 163840, + "output": 32000 + } + }, + "qwen3-coder-next": { + "id": "qwen3-coder-next", + "name": "qwen3-coder-next", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": true, + "release_date": "2026-02-02", + "last_updated": "2026-02-08", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 65536 + } + }, + "nemotron-3-super": { + "id": "nemotron-3-super", + "name": "nemotron-3-super", + "family": "nemotron", + "attachment": false, + "reasoning": true, + "tool_call": true, + "release_date": "2026-03-11", + "last_updated": "2026-03-12", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 65536 + } + }, + "deepseek-v4-pro": { + "id": "deepseek-v4-pro", + "name": "deepseek-v4-pro", + "family": "deepseek-thinking", + "attachment": false, + "reasoning": true, + "tool_call": true, + "release_date": "2026-04-24", + "last_updated": "2026-04-24", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 1048576, + "output": 1048576 + } + }, + "minimax-m2.5": { + "id": "minimax-m2.5", + "name": "minimax-m2.5", + "family": "minimax", + "attachment": false, + "reasoning": true, + "tool_call": true, + "knowledge": "2025-01", + "release_date": "2026-02-12", + "last_updated": "2026-02-12", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 204800, + "output": 131072 + } + }, + "deepseek-v3.2": { + "id": "deepseek-v3.2", + "name": "deepseek-v3.2", + "family": "deepseek", + "attachment": false, + "reasoning": true, + "tool_call": true, + "release_date": "2025-06-15", + "last_updated": "2026-01-19", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 163840, + "output": 65536 + } + }, + "kimi-k2-thinking": { + "id": "kimi-k2-thinking", + "name": "kimi-k2-thinking", + "family": "kimi-thinking", + "attachment": false, + "reasoning": true, + "tool_call": true, + "knowledge": "2024-08", + "release_date": "2025-11-06", + "last_updated": "2026-01-19", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 262144 + } + }, + "devstral-small-2:24b": { + "id": "devstral-small-2:24b", + "name": "devstral-small-2:24b", + "family": "devstral", + "attachment": true, + "reasoning": false, + "tool_call": true, + "release_date": "2025-12-09", + "last_updated": "2026-01-19", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 262144 + } + }, + "kimi-k2:1t": { + "id": "kimi-k2:1t", + "name": "kimi-k2:1t", + "family": "kimi", + "attachment": false, + "reasoning": false, + "tool_call": true, + "knowledge": "2024-10", + "release_date": "2025-07-11", + "last_updated": "2026-01-19", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 262144 + } + } + } + }, + "zai-coding-plan": { + "id": "zai-coding-plan", + "env": ["ZHIPU_API_KEY"], + "npm": "@ai-sdk/openai-compatible", + "api": "https://api.z.ai/api/coding/paas/v4", + "name": "Z.AI Coding Plan", + "doc": "https://docs.z.ai/devpack/overview", + "models": { + "glm-4.7": { + "id": "glm-4.7", + "name": "GLM-4.7", + "family": "glm", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-12-22", + "last_updated": "2025-12-22", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 204800, + "output": 131072 + }, + "cost": { + "input": 0, + "output": 0, + "cache_read": 0, + "cache_write": 0 + } + }, + "glm-5.1": { + "id": "glm-5.1", + "name": "GLM-5.1", + "family": "glm", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "structured_output": true, + "temperature": true, + "release_date": "2026-03-27", + "last_updated": "2026-03-27", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 131072 + }, + "cost": { + "input": 0, + "output": 0, + "cache_read": 0, + "cache_write": 0 + } + }, + "glm-4.5-air": { + "id": "glm-4.5-air", + "name": "GLM-4.5-Air", + "family": "glm-air", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-07-28", + "last_updated": "2025-07-28", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 98304 + }, + "cost": { + "input": 0, + "output": 0, + "cache_read": 0, + "cache_write": 0 + } + }, + "glm-5-turbo": { + "id": "glm-5-turbo", + "name": "GLM-5-Turbo", + "family": "glm", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "structured_output": true, + "temperature": true, + "release_date": "2026-03-16", + "last_updated": "2026-03-16", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 131072 + }, + "cost": { + "input": 0, + "output": 0, + "cache_read": 0, + "cache_write": 0 + } + }, + "glm-5v-turbo": { + "id": "glm-5v-turbo", + "name": "GLM-5V-Turbo", + "family": "glm", + "attachment": true, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "temperature": true, + "release_date": "2026-04-01", + "last_updated": "2026-04-01", + "modalities": { + "input": ["text", "image", "video", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 131072 + }, + "cost": { + "input": 0, + "output": 0, + "cache_read": 0, + "cache_write": 0 + } + } + } + }, + "amazon-bedrock": { + "id": "amazon-bedrock", + "env": ["AWS_ACCESS_KEY_ID", "AWS_SECRET_ACCESS_KEY", "AWS_REGION", "AWS_BEARER_TOKEN_BEDROCK"], + "npm": "@ai-sdk/amazon-bedrock", + "name": "Amazon Bedrock", + "doc": "https://docs.aws.amazon.com/bedrock/latest/userguide/models-supported.html", + "models": { + "openai.gpt-oss-safeguard-120b": { + "id": "openai.gpt-oss-safeguard-120b", + "name": "GPT OSS Safeguard 120B", + "family": "gpt-oss", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2024-12-01", + "last_updated": "2024-12-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 4096 + }, + "cost": { + "input": 0.15, + "output": 0.6 + } + }, + "nvidia.nemotron-nano-3-30b": { + "id": "nvidia.nemotron-nano-3-30b", + "name": "NVIDIA Nemotron Nano 3 30B", + "family": "nemotron", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2025-12-23", + "last_updated": "2025-12-23", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 4096 + }, + "cost": { + "input": 0.06, + "output": 0.24 + } + }, + "nvidia.nemotron-super-3-120b": { + "id": "nvidia.nemotron-super-3-120b", + "name": "NVIDIA Nemotron 3 Super 120B A12B", + "family": "nemotron", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2026-03-11", + "last_updated": "2026-03-11", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 131072 + }, + "cost": { + "input": 0.15, + "output": 0.65 + } + }, + "writer.palmyra-x5-v1:0": { + "id": "writer.palmyra-x5-v1:0", + "name": "Palmyra X5", + "family": "palmyra", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2025-04-28", + "last_updated": "2025-04-28", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1040000, + "output": 8192 + }, + "cost": { + "input": 0.6, + "output": 6 + } + }, + "mistral.ministral-3-8b-instruct": { + "id": "mistral.ministral-3-8b-instruct", + "name": "Ministral 3 8B", + "family": "ministral", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2024-12-01", + "last_updated": "2024-12-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 4096 + }, + "cost": { + "input": 0.15, + "output": 0.15 + } + }, + "au.anthropic.claude-opus-4-6-v1": { + "id": "au.anthropic.claude-opus-4-6-v1", + "name": "AU Anthropic Claude Opus 4.6", + "family": "claude-opus", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2025-05", + "release_date": "2026-02-05", + "last_updated": "2026-02-05", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000000, + "output": 128000 + }, + "cost": { + "input": 16.5, + "output": 82.5, + "cache_read": 1.65, + "cache_write": 20.625 + } + }, + "mistral.ministral-3-3b-instruct": { + "id": "mistral.ministral-3-3b-instruct", + "name": "Ministral 3 3B", + "family": "ministral", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-12-02", + "last_updated": "2025-12-02", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 256000, + "output": 8192 + }, + "cost": { + "input": 0.1, + "output": 0.1 + } + }, + "anthropic.claude-sonnet-4-5-20250929-v1:0": { + "id": "anthropic.claude-sonnet-4-5-20250929-v1:0", + "name": "Claude Sonnet 4.5", + "family": "claude-sonnet", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2025-07-31", + "release_date": "2025-09-29", + "last_updated": "2025-09-29", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 64000 + }, + "cost": { + "input": 3, + "output": 15, + "cache_read": 0.3, + "cache_write": 3.75 + } + }, + "mistral.devstral-2-123b": { + "id": "mistral.devstral-2-123b", + "name": "Devstral 2 123B", + "family": "devstral", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "release_date": "2026-02-17", + "last_updated": "2026-02-17", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 256000, + "output": 8192 + }, + "cost": { + "input": 0.4, + "output": 2 + } + }, + "global.anthropic.claude-opus-4-5-20251101-v1:0": { + "id": "global.anthropic.claude-opus-4-5-20251101-v1:0", + "name": "Claude Opus 4.5 (Global)", + "family": "claude-opus", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2025-03-31", + "release_date": "2025-11-24", + "last_updated": "2025-08-01", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 64000 + }, + "cost": { + "input": 5, + "output": 25, + "cache_read": 0.5, + "cache_write": 6.25 + } + }, + "mistral.voxtral-small-24b-2507": { + "id": "mistral.voxtral-small-24b-2507", + "name": "Voxtral Small 24B 2507", + "family": "mistral", + "attachment": true, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-07-01", + "last_updated": "2025-07-01", + "modalities": { + "input": ["text", "audio"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 32000, + "output": 8192 + }, + "cost": { + "input": 0.15, + "output": 0.35 + } + }, + "google.gemma-3-12b-it": { + "id": "google.gemma-3-12b-it", + "name": "Google Gemma 3 12B", + "family": "gemma", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": true, + "temperature": true, + "knowledge": "2024-12", + "release_date": "2024-12-01", + "last_updated": "2024-12-01", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 131072, + "output": 8192 + }, + "cost": { + "input": 0.049999999999999996, + "output": 0.09999999999999999 + } + }, + "amazon.nova-pro-v1:0": { + "id": "amazon.nova-pro-v1:0", + "name": "Nova Pro", + "family": "nova-pro", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2024-12-03", + "last_updated": "2024-12-03", + "modalities": { + "input": ["text", "image", "video"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 300000, + "output": 8192 + }, + "cost": { + "input": 0.8, + "output": 3.2, + "cache_read": 0.2 + } + }, + "anthropic.claude-haiku-4-5-20251001-v1:0": { + "id": "anthropic.claude-haiku-4-5-20251001-v1:0", + "name": "Claude Haiku 4.5", + "family": "claude-haiku", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2025-02-28", + "release_date": "2025-10-15", + "last_updated": "2025-10-15", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 64000 + }, + "cost": { + "input": 1, + "output": 5, + "cache_read": 0.1, + "cache_write": 1.25 + } + }, + "minimax.minimax-m2": { + "id": "minimax.minimax-m2", + "name": "MiniMax M2", + "family": "minimax", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": false, + "temperature": true, + "release_date": "2025-10-27", + "last_updated": "2025-10-27", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 204608, + "output": 128000 + }, + "cost": { + "input": 0.3, + "output": 1.2 + } + }, + "global.anthropic.claude-opus-4-7": { + "id": "global.anthropic.claude-opus-4-7", + "name": "Claude Opus 4.7 (Global)", + "family": "claude-opus", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": false, + "knowledge": "2026-01-31", + "release_date": "2026-04-16", + "last_updated": "2026-04-16", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000000, + "output": 128000 + }, + "cost": { + "input": 5, + "output": 25, + "cache_read": 0.5, + "cache_write": 6.25 + } + }, + "mistral.pixtral-large-2502-v1:0": { + "id": "mistral.pixtral-large-2502-v1:0", + "name": "Pixtral Large (25.02)", + "family": "mistral", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "release_date": "2025-04-08", + "last_updated": "2025-04-08", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 8192 + }, + "cost": { + "input": 2, + "output": 6 + } + }, + "meta.llama4-maverick-17b-instruct-v1:0": { + "id": "meta.llama4-maverick-17b-instruct-v1:0", + "name": "Llama 4 Maverick 17B Instruct", + "family": "llama", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-08", + "release_date": "2025-04-05", + "last_updated": "2025-04-05", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 1000000, + "output": 16384 + }, + "cost": { + "input": 0.24, + "output": 0.97 + } + }, + "us.anthropic.claude-sonnet-4-5-20250929-v1:0": { + "id": "us.anthropic.claude-sonnet-4-5-20250929-v1:0", + "name": "Claude Sonnet 4.5 (US)", + "family": "claude-sonnet", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2025-07-31", + "release_date": "2025-09-29", + "last_updated": "2025-09-29", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 64000 + }, + "cost": { + "input": 3, + "output": 15, + "cache_read": 0.3, + "cache_write": 3.75 + } + }, + "us.anthropic.claude-haiku-4-5-20251001-v1:0": { + "id": "us.anthropic.claude-haiku-4-5-20251001-v1:0", + "name": "Claude Haiku 4.5 (US)", + "family": "claude-haiku", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2025-02-28", + "release_date": "2025-10-15", + "last_updated": "2025-10-15", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 64000 + }, + "cost": { + "input": 1, + "output": 5, + "cache_read": 0.1, + "cache_write": 1.25 + } + }, + "amazon.nova-micro-v1:0": { + "id": "amazon.nova-micro-v1:0", + "name": "Nova Micro", + "family": "nova-micro", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2024-12-03", + "last_updated": "2024-12-03", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 8192 + }, + "cost": { + "input": 0.035, + "output": 0.14, + "cache_read": 0.00875 + } + }, + "global.anthropic.claude-sonnet-4-5-20250929-v1:0": { + "id": "global.anthropic.claude-sonnet-4-5-20250929-v1:0", + "name": "Claude Sonnet 4.5 (Global)", + "family": "claude-sonnet", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2025-07-31", + "release_date": "2025-09-29", + "last_updated": "2025-09-29", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 64000 + }, + "cost": { + "input": 3, + "output": 15, + "cache_read": 0.3, + "cache_write": 3.75 + } + }, + "openai.gpt-oss-20b-1:0": { + "id": "openai.gpt-oss-20b-1:0", + "name": "gpt-oss-20b", + "family": "gpt-oss", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2024-12-01", + "last_updated": "2024-12-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 4096 + }, + "cost": { + "input": 0.07, + "output": 0.3 + } + }, + "zai.glm-5": { + "id": "zai.glm-5", + "name": "GLM-5", + "family": "glm", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "temperature": true, + "release_date": "2026-03-18", + "last_updated": "2026-03-18", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 202752, + "output": 101376 + }, + "cost": { + "input": 1, + "output": 3.2 + } + }, + "qwen.qwen3-32b-v1:0": { + "id": "qwen.qwen3-32b-v1:0", + "name": "Qwen3 32B (dense)", + "family": "qwen", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2024-04", + "release_date": "2025-09-18", + "last_updated": "2025-09-18", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 16384, + "output": 16384 + }, + "cost": { + "input": 0.15, + "output": 0.6 + } + }, + "deepseek.v3.2": { + "id": "deepseek.v3.2", + "name": "DeepSeek-V3.2", + "family": "deepseek", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-07", + "release_date": "2026-02-06", + "last_updated": "2026-02-06", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 163840, + "output": 81920 + }, + "cost": { + "input": 0.62, + "output": 1.85 + } + }, + "eu.anthropic.claude-haiku-4-5-20251001-v1:0": { + "id": "eu.anthropic.claude-haiku-4-5-20251001-v1:0", + "name": "Claude Haiku 4.5 (EU)", + "family": "claude-haiku", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2025-02-28", + "release_date": "2025-10-15", + "last_updated": "2025-10-15", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 64000 + }, + "cost": { + "input": 1, + "output": 5, + "cache_read": 0.1, + "cache_write": 1.25 + } + }, + "zai.glm-4.7-flash": { + "id": "zai.glm-4.7-flash", + "name": "GLM-4.7-Flash", + "family": "glm-flash", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2026-01-19", + "last_updated": "2026-01-19", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 200000, + "output": 131072 + }, + "cost": { + "input": 0.07, + "output": 0.4 + } + }, + "us.anthropic.claude-opus-4-7": { + "id": "us.anthropic.claude-opus-4-7", + "name": "Claude Opus 4.7 (US)", + "family": "claude-opus", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": false, + "knowledge": "2026-01-31", + "release_date": "2026-04-16", + "last_updated": "2026-04-16", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000000, + "output": 128000 + }, + "cost": { + "input": 5, + "output": 25, + "cache_read": 0.5, + "cache_write": 6.25 + } + }, + "amazon.nova-2-lite-v1:0": { + "id": "amazon.nova-2-lite-v1:0", + "name": "Nova 2 Lite", + "family": "nova", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "release_date": "2024-12-01", + "last_updated": "2024-12-01", + "modalities": { + "input": ["text", "image", "video"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 4096 + }, + "cost": { + "input": 0.33, + "output": 2.75 + } + }, + "anthropic.claude-opus-4-5-20251101-v1:0": { + "id": "anthropic.claude-opus-4-5-20251101-v1:0", + "name": "Claude Opus 4.5", + "family": "claude-opus", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2025-03-31", + "release_date": "2025-11-24", + "last_updated": "2025-08-01", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 64000 + }, + "cost": { + "input": 5, + "output": 25, + "cache_read": 0.5, + "cache_write": 6.25 + } + }, + "qwen.qwen3-coder-480b-a35b-v1:0": { + "id": "qwen.qwen3-coder-480b-a35b-v1:0", + "name": "Qwen3 Coder 480B A35B Instruct", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2024-04", + "release_date": "2025-09-18", + "last_updated": "2025-09-18", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 65536 + }, + "cost": { + "input": 0.22, + "output": 1.8 + } + }, + "amazon.nova-lite-v1:0": { + "id": "amazon.nova-lite-v1:0", + "name": "Nova Lite", + "family": "nova-lite", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2024-12-03", + "last_updated": "2024-12-03", + "modalities": { + "input": ["text", "image", "video"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 300000, + "output": 8192 + }, + "cost": { + "input": 0.06, + "output": 0.24, + "cache_read": 0.015 + } + }, + "meta.llama3-1-8b-instruct-v1:0": { + "id": "meta.llama3-1-8b-instruct-v1:0", + "name": "Llama 3.1 8B Instruct", + "family": "llama", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2023-12", + "release_date": "2024-07-23", + "last_updated": "2024-07-23", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 4096 + }, + "cost": { + "input": 0.22, + "output": 0.22 + } + }, + "anthropic.claude-opus-4-7": { + "id": "anthropic.claude-opus-4-7", + "name": "Claude Opus 4.7", + "family": "claude-opus", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": false, + "knowledge": "2026-01-31", + "release_date": "2026-04-16", + "last_updated": "2026-04-16", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000000, + "output": 128000 + }, + "cost": { + "input": 5, + "output": 25, + "cache_read": 0.5, + "cache_write": 6.25 + } + }, + "google.gemma-3-27b-it": { + "id": "google.gemma-3-27b-it", + "name": "Google Gemma 3 27B Instruct", + "family": "gemma", + "attachment": true, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2025-07", + "release_date": "2025-07-27", + "last_updated": "2025-07-27", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 202752, + "output": 8192 + }, + "cost": { + "input": 0.12, + "output": 0.2 + } + }, + "global.anthropic.claude-haiku-4-5-20251001-v1:0": { + "id": "global.anthropic.claude-haiku-4-5-20251001-v1:0", + "name": "Claude Haiku 4.5 (Global)", + "family": "claude-haiku", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2025-02-28", + "release_date": "2025-10-15", + "last_updated": "2025-10-15", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 64000 + }, + "cost": { + "input": 1, + "output": 5, + "cache_read": 0.1, + "cache_write": 1.25 + } + }, + "google.gemma-3-4b-it": { + "id": "google.gemma-3-4b-it", + "name": "Gemma 3 4B IT", + "family": "gemma", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "release_date": "2024-12-01", + "last_updated": "2024-12-01", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 4096 + }, + "cost": { + "input": 0.04, + "output": 0.08 + } + }, + "meta.llama4-scout-17b-instruct-v1:0": { + "id": "meta.llama4-scout-17b-instruct-v1:0", + "name": "Llama 4 Scout 17B Instruct", + "family": "llama", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-08", + "release_date": "2025-04-05", + "last_updated": "2025-04-05", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 3500000, + "output": 16384 + }, + "cost": { + "input": 0.17, + "output": 0.66 + } + }, + "deepseek.v3-v1:0": { + "id": "deepseek.v3-v1:0", + "name": "DeepSeek-V3.1", + "family": "deepseek", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2024-07", + "release_date": "2025-09-18", + "last_updated": "2025-09-18", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 163840, + "output": 81920 + }, + "cost": { + "input": 0.58, + "output": 1.68 + } + }, + "mistral.magistral-small-2509": { + "id": "mistral.magistral-small-2509", + "name": "Magistral Small 1.2", + "family": "magistral", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-12-02", + "last_updated": "2025-12-02", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 40000 + }, + "cost": { + "input": 0.5, + "output": 1.5 + } + }, + "qwen.qwen3-next-80b-a3b": { + "id": "qwen.qwen3-next-80b-a3b", + "name": "Qwen/Qwen3-Next-80B-A3B-Instruct", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-09-18", + "last_updated": "2025-11-25", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 262000, + "output": 262000 + }, + "cost": { + "input": 0.14, + "output": 1.4 + } + }, + "zai.glm-4.7": { + "id": "zai.glm-4.7", + "name": "GLM-4.7", + "family": "glm", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-12-22", + "last_updated": "2025-12-22", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 204800, + "output": 131072 + }, + "cost": { + "input": 0.6, + "output": 2.2 + } + }, + "moonshot.kimi-k2-thinking": { + "id": "moonshot.kimi-k2-thinking", + "name": "Kimi K2 Thinking", + "family": "kimi-thinking", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-12-02", + "last_updated": "2025-12-02", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 256000, + "output": 256000 + }, + "cost": { + "input": 0.6, + "output": 2.5 + } + }, + "us.anthropic.claude-opus-4-5-20251101-v1:0": { + "id": "us.anthropic.claude-opus-4-5-20251101-v1:0", + "name": "Claude Opus 4.5 (US)", + "family": "claude-opus", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2025-03-31", + "release_date": "2025-11-24", + "last_updated": "2025-08-01", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 64000 + }, + "cost": { + "input": 5, + "output": 25, + "cache_read": 0.5, + "cache_write": 6.25 + } + }, + "mistral.ministral-3-14b-instruct": { + "id": "mistral.ministral-3-14b-instruct", + "name": "Ministral 14B 3.0", + "family": "ministral", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2024-12-01", + "last_updated": "2024-12-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 4096 + }, + "cost": { + "input": 0.2, + "output": 0.2 + } + }, + "deepseek.r1-v1:0": { + "id": "deepseek.r1-v1:0", + "name": "DeepSeek-R1", + "family": "deepseek-thinking", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-07", + "release_date": "2025-01-20", + "last_updated": "2025-05-29", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 32768 + }, + "cost": { + "input": 1.35, + "output": 5.4 + } + }, + "mistral.voxtral-mini-3b-2507": { + "id": "mistral.voxtral-mini-3b-2507", + "name": "Voxtral Mini 3B 2507", + "family": "mistral", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2024-12-01", + "last_updated": "2024-12-01", + "modalities": { + "input": ["audio", "text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 4096 + }, + "cost": { + "input": 0.04, + "output": 0.04 + } + }, + "openai.gpt-oss-120b-1:0": { + "id": "openai.gpt-oss-120b-1:0", + "name": "gpt-oss-120b", + "family": "gpt-oss", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2024-12-01", + "last_updated": "2024-12-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 4096 + }, + "cost": { + "input": 0.15, + "output": 0.6 + } + }, + "nvidia.nemotron-nano-12b-v2": { + "id": "nvidia.nemotron-nano-12b-v2", + "name": "NVIDIA Nemotron Nano 12B v2 VL BF16", + "family": "nemotron", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2024-12-01", + "last_updated": "2024-12-01", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 4096 + }, + "cost": { + "input": 0.2, + "output": 0.6 + } + }, + "eu.anthropic.claude-opus-4-7": { + "id": "eu.anthropic.claude-opus-4-7", + "name": "Claude Opus 4.7 (EU)", + "family": "claude-opus", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": false, + "knowledge": "2026-01-31", + "release_date": "2026-04-16", + "last_updated": "2026-04-16", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000000, + "output": 128000 + }, + "cost": { + "input": 5, + "output": 25, + "cache_read": 0.5, + "cache_write": 6.25 + } + }, + "minimax.minimax-m2.5": { + "id": "minimax.minimax-m2.5", + "name": "MiniMax M2.5", + "family": "minimax", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": false, + "temperature": true, + "release_date": "2026-03-18", + "last_updated": "2026-03-18", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 196608, + "output": 98304 + }, + "cost": { + "input": 0.3, + "output": 1.2 + } + }, + "meta.llama3-3-70b-instruct-v1:0": { + "id": "meta.llama3-3-70b-instruct-v1:0", + "name": "Llama 3.3 70B Instruct", + "family": "llama", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2023-12", + "release_date": "2024-12-06", + "last_updated": "2024-12-06", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 4096 + }, + "cost": { + "input": 0.72, + "output": 0.72 + } + }, + "meta.llama3-1-70b-instruct-v1:0": { + "id": "meta.llama3-1-70b-instruct-v1:0", + "name": "Llama 3.1 70B Instruct", + "family": "llama", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2023-12", + "release_date": "2024-07-23", + "last_updated": "2024-07-23", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 4096 + }, + "cost": { + "input": 0.72, + "output": 0.72 + } + }, + "eu.anthropic.claude-sonnet-4-5-20250929-v1:0": { + "id": "eu.anthropic.claude-sonnet-4-5-20250929-v1:0", + "name": "Claude Sonnet 4.5 (EU)", + "family": "claude-sonnet", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2025-07-31", + "release_date": "2025-09-29", + "last_updated": "2025-09-29", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 64000 + }, + "cost": { + "input": 3, + "output": 15, + "cache_read": 0.3, + "cache_write": 3.75 + } + }, + "eu.anthropic.claude-opus-4-5-20251101-v1:0": { + "id": "eu.anthropic.claude-opus-4-5-20251101-v1:0", + "name": "Claude Opus 4.5 (EU)", + "family": "claude-opus", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2025-03-31", + "release_date": "2025-11-24", + "last_updated": "2025-08-01", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 64000 + }, + "cost": { + "input": 5, + "output": 25, + "cache_read": 0.5, + "cache_write": 6.25 + } + }, + "moonshotai.kimi-k2.5": { + "id": "moonshotai.kimi-k2.5", + "name": "Kimi K2.5", + "family": "kimi", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": true, + "temperature": true, + "release_date": "2026-02-06", + "last_updated": "2026-02-06", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 256000, + "output": 256000 + }, + "cost": { + "input": 0.6, + "output": 3 + } + }, + "au.anthropic.claude-sonnet-4-6": { + "id": "au.anthropic.claude-sonnet-4-6", + "name": "AU Anthropic Claude Sonnet 4.6", + "family": "claude-sonnet", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2025-08", + "release_date": "2026-02-17", + "last_updated": "2026-02-17", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000000, + "output": 128000 + }, + "cost": { + "input": 3.3, + "output": 16.5, + "cache_read": 0.33, + "cache_write": 4.125 + } + }, + "openai.gpt-oss-safeguard-20b": { + "id": "openai.gpt-oss-safeguard-20b", + "name": "GPT OSS Safeguard 20B", + "family": "gpt-oss", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2024-12-01", + "last_updated": "2024-12-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 4096 + }, + "cost": { + "input": 0.07, + "output": 0.2 + } + }, + "qwen.qwen3-coder-30b-a3b-v1:0": { + "id": "qwen.qwen3-coder-30b-a3b-v1:0", + "name": "Qwen3 Coder 30B A3B Instruct", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2024-04", + "release_date": "2025-09-18", + "last_updated": "2025-09-18", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 262144, + "output": 131072 + }, + "cost": { + "input": 0.15, + "output": 0.6 + } + }, + "minimax.minimax-m2.1": { + "id": "minimax.minimax-m2.1", + "name": "MiniMax M2.1", + "family": "minimax", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": false, + "temperature": true, + "release_date": "2025-12-23", + "last_updated": "2025-12-23", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 204800, + "output": 131072 + }, + "cost": { + "input": 0.3, + "output": 1.2 + } + }, + "qwen.qwen3-vl-235b-a22b": { + "id": "qwen.qwen3-vl-235b-a22b", + "name": "Qwen/Qwen3-VL-235B-A22B-Instruct", + "family": "qwen", + "attachment": true, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-10-04", + "last_updated": "2025-11-25", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 262000, + "output": 262000 + }, + "cost": { + "input": 0.3, + "output": 1.5 + } + }, + "qwen.qwen3-coder-next": { + "id": "qwen.qwen3-coder-next", + "name": "Qwen3 Coder Next", + "family": "qwen", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2026-02-06", + "last_updated": "2026-02-06", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 65536 + }, + "cost": { + "input": 0.22, + "output": 1.8 + } + }, + "nvidia.nemotron-nano-9b-v2": { + "id": "nvidia.nemotron-nano-9b-v2", + "name": "NVIDIA Nemotron Nano 9B v2", + "family": "nemotron", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2024-12-01", + "last_updated": "2024-12-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 4096 + }, + "cost": { + "input": 0.06, + "output": 0.23 + } + }, + "mistral.mistral-large-3-675b-instruct": { + "id": "mistral.mistral-large-3-675b-instruct", + "name": "Mistral Large 3", + "family": "mistral", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-12-02", + "last_updated": "2025-12-02", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 256000, + "output": 8192 + }, + "cost": { + "input": 0.5, + "output": 1.5 + } + }, + "qwen.qwen3-235b-a22b-2507-v1:0": { + "id": "qwen.qwen3-235b-a22b-2507-v1:0", + "name": "Qwen3 235B A22B 2507", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2024-04", + "release_date": "2025-09-18", + "last_updated": "2025-09-18", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 131072 + }, + "cost": { + "input": 0.22, + "output": 0.88 + } + }, + "writer.palmyra-x4-v1:0": { + "id": "writer.palmyra-x4-v1:0", + "name": "Palmyra X4", + "family": "palmyra", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2025-04-28", + "last_updated": "2025-04-28", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 122880, + "output": 8192 + }, + "cost": { + "input": 2.5, + "output": 10 + } + }, + "anthropic.claude-opus-4-1-20250805-v1:0": { + "id": "anthropic.claude-opus-4-1-20250805-v1:0", + "name": "Claude Opus 4.1", + "family": "claude-opus", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-03-31", + "release_date": "2025-08-05", + "last_updated": "2025-08-05", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 32000 + }, + "cost": { + "input": 15, + "output": 75, + "cache_read": 1.5, + "cache_write": 18.75 + } + }, + "us.deepseek.r1-v1:0": { + "id": "us.deepseek.r1-v1:0", + "name": "DeepSeek-R1 (US)", + "family": "deepseek-thinking", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-07", + "release_date": "2025-01-20", + "last_updated": "2025-05-29", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 32768 + }, + "cost": { + "input": 1.35, + "output": 5.4 + } + }, + "eu.anthropic.claude-opus-4-6-v1": { + "id": "eu.anthropic.claude-opus-4-6-v1", + "name": "Claude Opus 4.6 (EU)", + "family": "claude-opus", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2025-05-31", + "release_date": "2026-02-05", + "last_updated": "2026-03-13", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000000, + "output": 128000 + }, + "cost": { + "input": 5, + "output": 25, + "cache_read": 0.5, + "cache_write": 6.25 + } + }, + "us.meta.llama4-maverick-17b-instruct-v1:0": { + "id": "us.meta.llama4-maverick-17b-instruct-v1:0", + "name": "Llama 4 Maverick 17B Instruct (US)", + "family": "llama", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-08", + "release_date": "2025-04-05", + "last_updated": "2025-04-05", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 1000000, + "output": 16384 + }, + "cost": { + "input": 0.24, + "output": 0.97 + } + }, + "au.anthropic.claude-haiku-4-5-20251001-v1:0": { + "id": "au.anthropic.claude-haiku-4-5-20251001-v1:0", + "name": "Claude Haiku 4.5 (AU)", + "family": "claude-haiku", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-02-28", + "release_date": "2025-10-15", + "last_updated": "2025-10-15", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 64000 + }, + "cost": { + "input": 1, + "output": 5, + "cache_read": 0.1, + "cache_write": 1.25 + } + }, + "jp.anthropic.claude-sonnet-4-5-20250929-v1:0": { + "id": "jp.anthropic.claude-sonnet-4-5-20250929-v1:0", + "name": "Claude Sonnet 4.5 (JP)", + "family": "claude-sonnet", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-07-31", + "release_date": "2025-09-29", + "last_updated": "2025-09-29", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 64000 + }, + "cost": { + "input": 3, + "output": 15, + "cache_read": 0.3, + "cache_write": 3.75 + } + }, + "anthropic.claude-sonnet-4-6": { + "id": "anthropic.claude-sonnet-4-6", + "name": "Claude Sonnet 4.6", + "family": "claude-sonnet", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-08-31", + "release_date": "2026-02-17", + "last_updated": "2026-03-13", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000000, + "output": 64000 + }, + "cost": { + "input": 3, + "output": 15, + "cache_read": 0.3, + "cache_write": 3.75 + } + }, + "jp.anthropic.claude-sonnet-4-6": { + "id": "jp.anthropic.claude-sonnet-4-6", + "name": "Claude Sonnet 4.6 (JP)", + "family": "claude-sonnet", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-08-31", + "release_date": "2026-02-17", + "last_updated": "2026-03-13", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000000, + "output": 64000 + }, + "cost": { + "input": 3, + "output": 15, + "cache_read": 0.3, + "cache_write": 3.75 + } + }, + "global.anthropic.claude-sonnet-4-6": { + "id": "global.anthropic.claude-sonnet-4-6", + "name": "Claude Sonnet 4.6 (Global)", + "family": "claude-sonnet", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-08-31", + "release_date": "2026-02-17", + "last_updated": "2026-03-13", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000000, + "output": 64000 + }, + "cost": { + "input": 3, + "output": 15, + "cache_read": 0.3, + "cache_write": 3.75 + } + }, + "us.anthropic.claude-sonnet-4-6": { + "id": "us.anthropic.claude-sonnet-4-6", + "name": "Claude Sonnet 4.6 (US)", + "family": "claude-sonnet", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-08-31", + "release_date": "2026-02-17", + "last_updated": "2026-03-13", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000000, + "output": 64000 + }, + "cost": { + "input": 3, + "output": 15, + "cache_read": 0.3, + "cache_write": 3.75 + } + }, + "global.anthropic.claude-opus-4-6-v1": { + "id": "global.anthropic.claude-opus-4-6-v1", + "name": "Claude Opus 4.6 (Global)", + "family": "claude-opus", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2025-05-31", + "release_date": "2026-02-05", + "last_updated": "2026-03-13", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000000, + "output": 128000 + }, + "cost": { + "input": 5, + "output": 25, + "cache_read": 0.5, + "cache_write": 6.25 + } + }, + "us.anthropic.claude-opus-4-6-v1": { + "id": "us.anthropic.claude-opus-4-6-v1", + "name": "Claude Opus 4.6 (US)", + "family": "claude-opus", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2025-05-31", + "release_date": "2026-02-05", + "last_updated": "2026-03-13", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000000, + "output": 128000 + }, + "cost": { + "input": 5, + "output": 25, + "cache_read": 0.5, + "cache_write": 6.25 + } + }, + "us.anthropic.claude-opus-4-1-20250805-v1:0": { + "id": "us.anthropic.claude-opus-4-1-20250805-v1:0", + "name": "Claude Opus 4.1 (US)", + "family": "claude-opus", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-03-31", + "release_date": "2025-08-05", + "last_updated": "2025-08-05", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 32000 + }, + "cost": { + "input": 15, + "output": 75, + "cache_read": 1.5, + "cache_write": 18.75 + } + }, + "au.anthropic.claude-sonnet-4-5-20250929-v1:0": { + "id": "au.anthropic.claude-sonnet-4-5-20250929-v1:0", + "name": "Claude Sonnet 4.5 (AU)", + "family": "claude-sonnet", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-07-31", + "release_date": "2025-09-29", + "last_updated": "2025-09-29", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 64000 + }, + "cost": { + "input": 3, + "output": 15, + "cache_read": 0.3, + "cache_write": 3.75 + } + }, + "eu.anthropic.claude-sonnet-4-6": { + "id": "eu.anthropic.claude-sonnet-4-6", + "name": "Claude Sonnet 4.6 (EU)", + "family": "claude-sonnet", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-08-31", + "release_date": "2026-02-17", + "last_updated": "2026-03-13", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000000, + "output": 64000 + }, + "cost": { + "input": 3, + "output": 15, + "cache_read": 0.3, + "cache_write": 3.75 + } + }, + "us.meta.llama4-scout-17b-instruct-v1:0": { + "id": "us.meta.llama4-scout-17b-instruct-v1:0", + "name": "Llama 4 Scout 17B Instruct (US)", + "family": "llama", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-08", + "release_date": "2025-04-05", + "last_updated": "2025-04-05", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 3500000, + "output": 16384 + }, + "cost": { + "input": 0.17, + "output": 0.66 + } + }, + "anthropic.claude-opus-4-6-v1": { + "id": "anthropic.claude-opus-4-6-v1", + "name": "Claude Opus 4.6", + "family": "claude-opus", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2025-05-31", + "release_date": "2026-02-05", + "last_updated": "2026-03-13", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000000, + "output": 128000 + }, + "cost": { + "input": 5, + "output": 25, + "cache_read": 0.5, + "cache_write": 6.25 + } + }, + "jp.anthropic.claude-opus-4-7": { + "id": "jp.anthropic.claude-opus-4-7", + "name": "Claude Opus 4.7 (JP)", + "family": "claude-opus", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": false, + "knowledge": "2026-01-31", + "release_date": "2026-04-16", + "last_updated": "2026-04-16", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000000, + "output": 128000 + }, + "cost": { + "input": 5, + "output": 25, + "cache_read": 0.5, + "cache_write": 6.25 + } + } + } + }, + "the-grid-ai": { + "id": "the-grid-ai", + "env": ["THEGRIDAI_API_KEY"], + "npm": "@ai-sdk/openai-compatible", + "api": "https://api.thegrid.ai/v1", + "name": "The Grid AI", + "doc": "https://thegrid.ai/docs", + "models": { + "text-prime": { + "id": "text-prime", + "name": "Text Prime", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2026-02-26", + "last_updated": "2026-02-26", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 30000 + }, + "status": "beta" + }, + "text-standard": { + "id": "text-standard", + "name": "Text Standard", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2026-02-26", + "last_updated": "2026-02-26", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 16000 + }, + "status": "beta" + }, + "text-max": { + "id": "text-max", + "name": "Text Max", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2026-03-24", + "last_updated": "2026-03-24", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000000, + "output": 128000 + }, + "status": "beta" + } + } + }, + "baseten": { + "id": "baseten", + "env": ["BASETEN_API_KEY"], + "npm": "@ai-sdk/openai-compatible", + "api": "https://inference.baseten.co/v1", + "name": "Baseten", + "doc": "https://docs.baseten.co/development/model-apis/overview", + "models": { + "zai-org/GLM-4.7": { + "id": "zai-org/GLM-4.7", + "name": "GLM-4.7", + "family": "glm", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-12-22", + "last_updated": "2025-12-22", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 204800, + "output": 131072 + }, + "cost": { + "input": 0.6, + "output": 2.2 + } + }, + "zai-org/GLM-5": { + "id": "zai-org/GLM-5", + "name": "GLM-5", + "family": "glm", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "temperature": true, + "knowledge": "2026-01", + "release_date": "2026-02-12", + "last_updated": "2026-02-12", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 202752, + "output": 131072 + }, + "cost": { + "input": 0.95, + "output": 3.15 + } + }, + "zai-org/GLM-4.6": { + "id": "zai-org/GLM-4.6", + "name": "GLM 4.6", + "family": "glm", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-08-31", + "release_date": "2025-09-16", + "last_updated": "2025-09-16", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 200000, + "output": 200000 + }, + "cost": { + "input": 0.6, + "output": 2.2 + } + }, + "nvidia/Nemotron-120B-A12B": { + "id": "nvidia/Nemotron-120B-A12B", + "name": "Nemotron 3 Super", + "family": "nemotron", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "temperature": true, + "knowledge": "2026-02", + "release_date": "2026-03-11", + "last_updated": "2026-03-11", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 32678 + }, + "cost": { + "input": 0.3, + "output": 0.75 + } + }, + "deepseek-ai/DeepSeek-V3.1": { + "id": "deepseek-ai/DeepSeek-V3.1", + "name": "DeepSeek V3.1", + "family": "deepseek", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2025-08-25", + "last_updated": "2025-08-25", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 164000, + "output": 131000 + }, + "cost": { + "input": 0.5, + "output": 1.5 + } + }, + "deepseek-ai/DeepSeek-V3-0324": { + "id": "deepseek-ai/DeepSeek-V3-0324", + "name": "DeepSeek V3 0324", + "family": "deepseek", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-12", + "release_date": "2025-03-24", + "last_updated": "2025-03-24", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 164000, + "output": 131000 + }, + "cost": { + "input": 0.77, + "output": 0.77 + } + }, + "deepseek-ai/DeepSeek-V3.2": { + "id": "deepseek-ai/DeepSeek-V3.2", + "name": "DeepSeek V3.2", + "family": "deepseek", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "temperature": true, + "knowledge": "2025-10", + "release_date": "2025-12-01", + "last_updated": "2026-03-06", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 163800, + "output": 131100 + }, + "status": "deprecated", + "cost": { + "input": 0.3, + "output": 0.45 + } + }, + "openai/gpt-oss-120b": { + "id": "openai/gpt-oss-120b", + "name": "GPT OSS 120B", + "family": "gpt-oss", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-08", + "release_date": "2025-08-05", + "last_updated": "2025-08-05", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 128000 + }, + "cost": { + "input": 0.1, + "output": 0.5 + } + }, + "moonshotai/Kimi-K2-Thinking": { + "id": "moonshotai/Kimi-K2-Thinking", + "name": "Kimi K2 Thinking", + "family": "kimi-thinking", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "temperature": true, + "knowledge": "2024-08", + "release_date": "2025-11-06", + "last_updated": "2026-03-06", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 262144 + }, + "status": "deprecated", + "cost": { + "input": 0.6, + "output": 2.5 + } + }, + "moonshotai/Kimi-K2.6": { + "id": "moonshotai/Kimi-K2.6", + "name": "Kimi K2.6", + "family": "kimi-k2.6", + "attachment": true, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "structured_output": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2026-04-21", + "last_updated": "2026-04-21", + "modalities": { + "input": ["text", "image", "video"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 262144 + }, + "cost": { + "input": 0.95, + "output": 4, + "cache_read": 0.16 + } + }, + "moonshotai/Kimi-K2-Instruct-0905": { + "id": "moonshotai/Kimi-K2-Instruct-0905", + "name": "Kimi K2 Instruct 0905", + "family": "kimi", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-08", + "release_date": "2025-09-05", + "last_updated": "2026-03-06", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 262144 + }, + "status": "deprecated", + "cost": { + "input": 0.6, + "output": 2.5 + } + }, + "moonshotai/Kimi-K2.5": { + "id": "moonshotai/Kimi-K2.5", + "name": "Kimi K2.5", + "family": "kimi", + "attachment": true, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "temperature": true, + "knowledge": "2025-12", + "release_date": "2026-01-30", + "last_updated": "2026-02-12", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 8192 + }, + "cost": { + "input": 0.6, + "output": 3 + } + }, + "MiniMaxAI/MiniMax-M2.5": { + "id": "MiniMaxAI/MiniMax-M2.5", + "name": "MiniMax-M2.5", + "family": "minimax", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "temperature": true, + "knowledge": "2026-01", + "release_date": "2026-02-12", + "last_updated": "2026-02-12", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 204000, + "output": 204000 + }, + "cost": { + "input": 0.3, + "output": 1.2 + } + }, + "deepseek-ai/DeepSeek-V4-Pro": { + "id": "deepseek-ai/DeepSeek-V4-Pro", + "name": "DeepSeek V4 Pro", + "family": "deepseek-thinking", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "structured_output": true, + "temperature": true, + "knowledge": "2025-05", + "release_date": "2026-04-24", + "last_updated": "2026-04-24", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 1000000, + "output": 384000 + }, + "cost": { + "input": 1.74, + "output": 3.48, + "cache_read": 0.15 + } + } + } + }, + "frogbot": { + "id": "frogbot", + "env": ["FROGBOT_API_KEY"], + "npm": "@ai-sdk/openai-compatible", + "api": "https://app.frogbot.ai/api/v1", + "name": "FrogBot", + "doc": "https://docs.frogbot.ai", + "models": { + "grok-4-1-fast-reasoning": { + "id": "grok-4-1-fast-reasoning", + "name": "Grok 4.1 Fast (Reasoning)", + "family": "grok", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-11", + "release_date": "2025-11-25", + "last_updated": "2025-11-25", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 2000000, + "output": 128000 + }, + "cost": { + "input": 0.2, + "output": 0.5, + "cache_read": 0.05 + } + }, + "claude-haiku-4-5": { + "id": "claude-haiku-4-5", + "name": "Claude Haiku 4.5", + "family": "claude-haiku", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-02-28", + "release_date": "2025-10-15", + "last_updated": "2025-10-15", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 64000 + }, + "cost": { + "input": 1, + "output": 5, + "cache_read": 0.1, + "cache_write": 1.25 + } + }, + "kimi-k2.5": { + "id": "kimi-k2.5", + "name": "Kimi-K2.5", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "1970-01-01", + "last_updated": "1970-01-01", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 256000, + "output": 128000 + }, + "cost": { + "input": 0.6, + "output": 3, + "cache_read": 0.1 + } + }, + "claude-sonnet-4-6": { + "id": "claude-sonnet-4-6", + "name": "Claude Sonnet 4.6", + "family": "claude-sonnet", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-08-31", + "release_date": "2026-02-17", + "last_updated": "2026-02-17", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 64000 + }, + "cost": { + "input": 3, + "output": 15, + "cache_read": 0.3, + "cache_write": 3.75 + } }, "gemini-3-flash-preview": { "id": "gemini-3-flash-preview", @@ -16327,15 +69926,73 @@ "knowledge": "2025-01", "release_date": "2025-12-17", "last_updated": "2025-12-17", - "modalities": { "input": ["text", "image", "video", "audio", "pdf"], "output": ["text"] }, + "modalities": { + "input": ["text", "image", "video", "audio", "pdf"], + "output": ["text"] + }, "open_weights": false, + "limit": { + "context": 1048576, + "output": 65536 + }, "cost": { "input": 0.5, "output": 3, - "cache_read": 0.05, - "context_over_200k": { "input": 0.5, "output": 3, "cache_read": 0.05 } + "cache_read": 0.05 + } + }, + "claude-opus-4-7": { + "id": "claude-opus-4-7", + "name": "Claude Opus 4.7", + "family": "claude-opus", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": false, + "knowledge": "2026-01-31", + "release_date": "2026-04-16", + "last_updated": "2026-04-16", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] }, - "limit": { "context": 1048576, "output": 65536 } + "open_weights": false, + "limit": { + "context": 200000, + "output": 128000 + }, + "cost": { + "input": 5, + "output": 25, + "cache_read": 0.5, + "cache_write": 6.25 + } + }, + "zai-glm-5-1": { + "id": "zai-glm-5-1", + "name": "Z.AI GLM-5.1", + "family": "glm", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2025-01-20", + "last_updated": "2025-02-22", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 198000, + "output": 8192 + }, + "cost": { + "input": 1.4, + "output": 4.4, + "cache_read": 0.26 + } }, "gemini-2.5-pro": { "id": "gemini-2.5-pro", @@ -16348,10 +70005,73 @@ "knowledge": "2025-01", "release_date": "2025-03-20", "last_updated": "2025-06-05", - "modalities": { "input": ["text", "image", "audio", "video", "pdf"], "output": ["text"] }, + "modalities": { + "input": ["text", "image", "audio", "video", "pdf"], + "output": ["text"] + }, "open_weights": false, - "cost": { "input": 1.25, "output": 10, "cache_read": 0.31 }, - "limit": { "context": 1048576, "output": 65536 } + "limit": { + "context": 1048576, + "output": 65536 + }, + "cost": { + "input": 1.25, + "output": 10, + "cache_read": 0.31 + } + }, + "grok-4-1-fast-non-reasoning": { + "id": "grok-4-1-fast-non-reasoning", + "name": "Grok 4.1 Fast (Non-Reasoning)", + "family": "grok", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-11", + "release_date": "2025-11-25", + "last_updated": "2025-11-25", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 2000000, + "output": 128000 + }, + "cost": { + "input": 0.2, + "output": 0.5, + "cache_read": 0.05 + } + }, + "gpt-5-4-nano": { + "id": "gpt-5-4-nano", + "name": "GPT-5.4 Nano", + "family": "gpt-nano", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": false, + "knowledge": "2024-05-30", + "release_date": "2025-08-07", + "last_updated": "2025-08-07", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "output": 128000 + }, + "cost": { + "input": 0.2, + "output": 1.25, + "cache_read": 0.02 + } }, "gemini-2.5-flash": { "id": "gemini-2.5-flash", @@ -16362,12 +70082,2710 @@ "tool_call": true, "temperature": true, "knowledge": "2025-01", - "release_date": "2025-06-17", - "last_updated": "2025-06-17", - "modalities": { "input": ["text", "image", "audio", "video", "pdf"], "output": ["text"] }, + "release_date": "2025-07-17", + "last_updated": "2025-07-17", + "modalities": { + "input": ["text", "image", "audio", "video", "pdf"], + "output": ["text"] + }, "open_weights": false, - "cost": { "input": 0.3, "output": 2.5, "cache_read": 0.075, "cache_write": 0.383 }, - "limit": { "context": 1048576, "output": 65536 } + "limit": { + "context": 1048576, + "output": 65536 + }, + "cost": { + "input": 0.3, + "output": 2.5, + "cache_read": 0.075 + } + }, + "grok-code-fast-1": { + "id": "grok-code-fast-1", + "name": "Grok 4.1 Fast (Reasoning)", + "family": "grok", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2023-10", + "release_date": "2025-08-28", + "last_updated": "2025-08-28", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 256000, + "output": 128000 + }, + "cost": { + "input": 0.2, + "output": 1.5, + "cache_read": 0.02 + } + }, + "gpt-5-5": { + "id": "gpt-5-5", + "name": "GPT-5.5", + "family": "gpt", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": false, + "knowledge": "2025-08-31", + "release_date": "2026-03-05", + "last_updated": "2026-03-05", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 272000, + "output": 128000 + }, + "cost": { + "input": 2.5, + "output": 15, + "cache_read": 0.25 + } + }, + "grok-4-3": { + "id": "grok-4-3", + "name": "Grok 4.3", + "family": "grok", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2024-11", + "release_date": "2026-04-30", + "last_updated": "2026-04-30", + "modalities": { + "input": ["text", "image", "video"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000000, + "output": 128000 + }, + "cost": { + "input": 1.25, + "output": 2.5, + "cache_read": 0.2 + } + }, + "gpt-5-4-mini": { + "id": "gpt-5-4-mini", + "name": "GPT-5.4 Mini", + "family": "gpt-mini", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": false, + "knowledge": "2025-08-31", + "release_date": "2026-03-17", + "last_updated": "2026-03-17", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "output": 128000 + }, + "cost": { + "input": 0.75, + "output": 4.5, + "cache_read": 0.075 + } + }, + "claude-opus-4-6": { + "id": "claude-opus-4-6", + "name": "Claude Opus 4.6", + "family": "claude-opus", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-05-31", + "release_date": "2026-02-05", + "last_updated": "2026-02-05", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 128000 + }, + "cost": { + "input": 5, + "output": 25, + "cache_read": 0.5, + "cache_write": 6.25 + } + }, + "deepseek-v4-pro": { + "id": "deepseek-v4-pro", + "name": "DeepSeek v4 Pro", + "family": "deepseek", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2026-01", + "release_date": "2026-04-24", + "last_updated": "2026-04-24", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 8192 + }, + "cost": { + "input": 1.74, + "output": 3.48, + "cache_read": 0.14 + } + }, + "gpt-oss-20b": { + "id": "gpt-oss-20b", + "name": "GPT OSS 20B", + "family": "gpt-oss", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "1970-01-01", + "last_updated": "1970-01-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 32768 + }, + "cost": { + "input": 0.07, + "output": 0.2 + } + }, + "qwen-3-6-plus": { + "id": "qwen-3-6-plus", + "name": "Qwen 3.6 Plus", + "family": "qwen", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2026-04-02", + "last_updated": "2026-04-03", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000000, + "output": 64000 + }, + "cost": { + "input": 0.5, + "output": 3, + "cache_read": 0.1 + } + }, + "minimax-m2-7": { + "id": "minimax-m2-7", + "name": "MiniMax-M2.7", + "family": "minimax", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-09", + "release_date": "2026-03-18", + "last_updated": "2026-03-18", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 192000, + "output": 8192 + }, + "cost": { + "input": 0.3, + "output": 1.2, + "cache_read": 0.06 + } + }, + "minimax-m2-5": { + "id": "minimax-m2-5", + "name": "MiniMax-M2.5", + "family": "minimax", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-09", + "release_date": "2025-01-15", + "last_updated": "2025-02-22", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 192000, + "output": 8192 + }, + "cost": { + "input": 0.3, + "output": 1.2, + "cache_read": 0.03 + } + }, + "gpt-4o": { + "id": "gpt-4o", + "name": "GPT-4o", + "family": "gpt", + "attachment": true, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2023-09", + "release_date": "2024-05-13", + "last_updated": "2024-08-06", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 16384 + }, + "cost": { + "input": 2.5, + "output": 10, + "cache_read": 1.25 + } + }, + "gpt-oss-120b": { + "id": "gpt-oss-120b", + "name": "GPT OSS 120B", + "family": "gpt-oss", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "1970-01-01", + "last_updated": "1970-01-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 32768 + }, + "cost": { + "input": 0.15, + "output": 0.6 + } + }, + "gemini-3-1-pro-preview": { + "id": "gemini-3-1-pro-preview", + "name": "Gemini 3.1 Pro Preview", + "family": "gemini-pro", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2026-01", + "release_date": "2026-02-18", + "last_updated": "2026-02-18", + "modalities": { + "input": ["text", "image", "video", "audio", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000000, + "output": 64000 + }, + "cost": { + "input": 2, + "output": 12, + "cache_read": 0.2 + } + }, + "kimi-k2-6": { + "id": "kimi-k2-6", + "name": "Kimi-K2.6", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "1970-01-01", + "last_updated": "1970-01-01", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 256000, + "output": 128000 + }, + "cost": { + "input": 0.95, + "output": 4, + "cache_read": 0.16 + } + }, + "gpt-5-3-codex": { + "id": "gpt-5-3-codex", + "name": "GPT-5.3 Codex", + "family": "gpt", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": false, + "knowledge": "2026-01-31", + "release_date": "2026-02-15", + "last_updated": "2026-02-15", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "output": 128000 + }, + "cost": { + "input": 1.75, + "output": 14, + "cache_read": 0.175 + } + } + } + }, + "zhipuai-coding-plan": { + "id": "zhipuai-coding-plan", + "env": ["ZHIPU_API_KEY"], + "npm": "@ai-sdk/openai-compatible", + "api": "https://open.bigmodel.cn/api/coding/paas/v4", + "name": "Zhipu AI Coding Plan", + "doc": "https://docs.bigmodel.cn/cn/coding-plan/overview", + "models": { + "glm-5v-turbo": { + "id": "glm-5v-turbo", + "name": "GLM-5V-Turbo", + "family": "glm", + "attachment": true, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "temperature": true, + "release_date": "2026-04-01", + "last_updated": "2026-04-01", + "modalities": { + "input": ["text", "image", "video", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 131072 + }, + "cost": { + "input": 0, + "output": 0, + "cache_read": 0, + "cache_write": 0 + } + }, + "glm-5.1": { + "id": "glm-5.1", + "name": "GLM-5.1", + "family": "glm", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "structured_output": true, + "temperature": true, + "release_date": "2026-03-27", + "last_updated": "2026-03-27", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 131072 + }, + "cost": { + "input": 0, + "output": 0, + "cache_read": 0, + "cache_write": 0 + } + }, + "glm-5-turbo": { + "id": "glm-5-turbo", + "name": "GLM-5-Turbo", + "family": "glm", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "structured_output": true, + "temperature": true, + "release_date": "2026-03-16", + "last_updated": "2026-03-16", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 131072 + }, + "cost": { + "input": 0, + "output": 0, + "cache_read": 0, + "cache_write": 0 + } + }, + "glm-4.5-air": { + "id": "glm-4.5-air", + "name": "GLM-4.5-Air", + "family": "glm-air", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-07-28", + "last_updated": "2025-07-28", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 98304 + }, + "cost": { + "input": 0, + "output": 0, + "cache_read": 0, + "cache_write": 0 + } + }, + "glm-4.7": { + "id": "glm-4.7", + "name": "GLM-4.7", + "family": "glm", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-12-22", + "last_updated": "2025-12-22", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 204800, + "output": 131072 + }, + "cost": { + "input": 0, + "output": 0, + "cache_read": 0, + "cache_write": 0 + } + } + } + }, + "alibaba-coding-plan": { + "id": "alibaba-coding-plan", + "env": ["ALIBABA_CODING_PLAN_API_KEY"], + "npm": "@ai-sdk/openai-compatible", + "api": "https://coding-intl.dashscope.aliyuncs.com/v1", + "name": "Alibaba Coding Plan", + "doc": "https://www.alibabacloud.com/help/en/model-studio/coding-plan", + "models": { + "qwen3-coder-plus": { + "id": "qwen3-coder-plus", + "name": "Qwen3 Coder Plus", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-07-23", + "last_updated": "2025-07-23", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 1000000, + "output": 65536 + }, + "cost": { + "input": 0, + "output": 0, + "cache_read": 0, + "cache_write": 0 + } + }, + "kimi-k2.5": { + "id": "kimi-k2.5", + "name": "Kimi K2.5", + "family": "kimi", + "attachment": true, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2026-01-27", + "last_updated": "2026-01-27", + "modalities": { + "input": ["text", "image", "video"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 32768 + }, + "cost": { + "input": 0, + "output": 0, + "cache_read": 0, + "cache_write": 0 + } + }, + "glm-4.7": { + "id": "glm-4.7", + "name": "GLM-4.7", + "family": "glm", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-12-22", + "last_updated": "2025-12-22", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 202752, + "output": 16384 + }, + "cost": { + "input": 0, + "output": 0, + "cache_read": 0, + "cache_write": 0 + } + }, + "glm-5": { + "id": "glm-5", + "name": "GLM-5", + "family": "glm", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "temperature": true, + "release_date": "2026-02-11", + "last_updated": "2026-02-11", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 202752, + "output": 16384 + }, + "cost": { + "input": 0, + "output": 0, + "cache_read": 0, + "cache_write": 0 + } + }, + "MiniMax-M2.5": { + "id": "MiniMax-M2.5", + "name": "MiniMax-M2.5", + "family": "minimax", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "temperature": true, + "release_date": "2026-02-12", + "last_updated": "2026-02-12", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 196608, + "input": 196601, + "output": 24576 + }, + "cost": { + "input": 0, + "output": 0, + "cache_read": 0, + "cache_write": 0 + } + }, + "qwen3.6-plus": { + "id": "qwen3.6-plus", + "name": "Qwen3.6 Plus", + "family": "qwen", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2026-04-02", + "last_updated": "2026-04-02", + "modalities": { + "input": ["text", "image", "video"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000000, + "output": 65536 + }, + "cost": { + "input": 0, + "output": 0, + "cache_read": 0, + "cache_write": 0 + } + }, + "qwen3-max-2026-01-23": { + "id": "qwen3-max-2026-01-23", + "name": "Qwen3 Max", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2026-01-23", + "last_updated": "2026-01-23", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 262144, + "output": 32768 + }, + "cost": { + "input": 0, + "output": 0, + "cache_read": 0, + "cache_write": 0 + } + }, + "qwen3-coder-next": { + "id": "qwen3-coder-next", + "name": "Qwen3 Coder Next", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2026-02-03", + "last_updated": "2026-02-03", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 65536 + }, + "cost": { + "input": 0, + "output": 0, + "cache_read": 0, + "cache_write": 0 + } + }, + "qwen3.5-plus": { + "id": "qwen3.5-plus", + "name": "Qwen3.5 Plus", + "family": "qwen", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2026-02-16", + "last_updated": "2026-02-16", + "modalities": { + "input": ["text", "image", "video"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000000, + "output": 65536 + }, + "cost": { + "input": 0, + "output": 0, + "cache_read": 0, + "cache_write": 0 + } + } + } + }, + "venice": { + "id": "venice", + "env": ["VENICE_API_KEY"], + "npm": "venice-ai-sdk-provider", + "name": "Venice AI", + "doc": "https://docs.venice.ai", + "models": { + "openai-gpt-4o-mini-2024-07-18": { + "id": "openai-gpt-4o-mini-2024-07-18", + "name": "GPT-4o Mini", + "family": "gpt-mini", + "attachment": true, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2026-02-28", + "last_updated": "2026-03-06", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 16384 + }, + "cost": { + "input": 0.1875, + "output": 0.75, + "cache_read": 0.09375 + } + }, + "qwen3-next-80b": { + "id": "qwen3-next-80b", + "name": "Qwen 3 Next 80b", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2025-07", + "release_date": "2025-04-29", + "last_updated": "2026-03-12", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 256000, + "output": 16384 + }, + "cost": { + "input": 0.35, + "output": 1.9 + } + }, + "grok-4-20-multi-agent": { + "id": "grok-4-20-multi-agent", + "name": "Grok 4.20 Multi-Agent", + "family": "grok", + "attachment": true, + "reasoning": true, + "tool_call": false, + "structured_output": true, + "temperature": true, + "release_date": "2026-03-12", + "last_updated": "2026-05-07", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 2000000, + "output": 128000 + }, + "cost": { + "input": 1.42, + "output": 2.83, + "cache_read": 0.23, + "tiers": [ + { + "input": 2.83, + "output": 5.67, + "cache_read": 0.45, + "tier": { + "type": "context", + "size": 200000 + } + } + ], + "context_over_200k": { + "input": 2.83, + "output": 5.67, + "cache_read": 0.45 + } + } + }, + "qwen3-235b-a22b-instruct-2507": { + "id": "qwen3-235b-a22b-instruct-2507", + "name": "Qwen 3 235B A22B Instruct 2507", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2025-07", + "release_date": "2025-04-29", + "last_updated": "2026-03-12", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 16384 + }, + "cost": { + "input": 0.15, + "output": 0.75 + } + }, + "z-ai-glm-5v-turbo": { + "id": "z-ai-glm-5v-turbo", + "name": "GLM 5V Turbo", + "family": "glmv", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2026-04-01", + "last_updated": "2026-04-12", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 32768 + }, + "cost": { + "input": 1.5, + "output": 5, + "cache_read": 0.3 + } + }, + "gemma-4-uncensored": { + "id": "gemma-4-uncensored", + "name": "Gemma 4 Uncensored", + "family": "gemma", + "attachment": true, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2026-04-13", + "last_updated": "2026-04-19", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 256000, + "output": 8192 + }, + "cost": { + "input": 0.1625, + "output": 0.5 + } + }, + "grok-41-fast": { + "id": "grok-41-fast", + "name": "Grok 4.1 Fast", + "family": "grok", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2025-07", + "release_date": "2025-12-01", + "last_updated": "2026-04-09", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000000, + "output": 30000 + }, + "cost": { + "input": 0.23, + "output": 0.57, + "cache_read": 0.06 + } + }, + "claude-sonnet-4-6": { + "id": "claude-sonnet-4-6", + "name": "Claude Sonnet 4.6", + "family": "claude-sonnet", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2025-08-31", + "release_date": "2026-02-17", + "last_updated": "2026-03-16", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000000, + "output": 64000 + }, + "cost": { + "input": 3.6, + "output": 18, + "cache_read": 0.36, + "cache_write": 4.5 + } + }, + "nvidia-nemotron-cascade-2-30b-a3b": { + "id": "nvidia-nemotron-cascade-2-30b-a3b", + "name": "Nemotron Cascade 2 30B A3B", + "family": "nemotron", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2026-03-24", + "last_updated": "2026-04-09", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 256000, + "output": 32768 + }, + "cost": { + "input": 0.14, + "output": 0.8 + } + }, + "gemini-3-flash-preview": { + "id": "gemini-3-flash-preview", + "name": "Gemini 3 Flash Preview", + "family": "gemini-flash", + "attachment": true, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "structured_output": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2025-12-19", + "last_updated": "2026-03-12", + "modalities": { + "input": ["text", "image", "audio", "video", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 256000, + "output": 65536 + }, + "cost": { + "input": 0.7, + "output": 3.75, + "cache_read": 0.07 + } + }, + "grok-4-20": { + "id": "grok-4-20", + "name": "Grok 4.20", + "family": "grok", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2026-03-12", + "last_updated": "2026-05-07", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 2000000, + "output": 128000 + }, + "cost": { + "input": 1.42, + "output": 2.83, + "cache_read": 0.23, + "tiers": [ + { + "input": 2.83, + "output": 5.67, + "cache_read": 0.45, + "tier": { + "type": "context", + "size": 200000 + } + } + ], + "context_over_200k": { + "input": 2.83, + "output": 5.67, + "cache_read": 0.45 + } + } + }, + "google-gemma-4-26b-a4b-it": { + "id": "google-gemma-4-26b-a4b-it", + "name": "Google Gemma 4 26B A4B Instruct", + "family": "gemma", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2026-04-02", + "last_updated": "2026-04-12", + "modalities": { + "input": ["text", "image", "video"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 256000, + "output": 8192 + }, + "cost": { + "input": 0.1625, + "output": 0.5 + } + }, + "claude-opus-4-7": { + "id": "claude-opus-4-7", + "name": "Claude Opus 4.7", + "family": "claude-opus", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": false, + "release_date": "2026-04-16", + "last_updated": "2026-04-16", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000000, + "output": 128000 + }, + "cost": { + "input": 6, + "output": 30, + "cache_read": 0.6, + "cache_write": 7.5 + } + }, + "qwen3-coder-480b-a35b-instruct-turbo": { + "id": "qwen3-coder-480b-a35b-instruct-turbo", + "name": "Qwen 3 Coder 480B Turbo", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2026-01-27", + "last_updated": "2026-02-26", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 256000, + "output": 65536 + }, + "cost": { + "input": 0.35, + "output": 1.5, + "cache_read": 0.04 + } + }, + "qwen3-5-397b-a17b": { + "id": "qwen3-5-397b-a17b", + "name": "Qwen 3.5 397B", + "family": "qwen", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2026-02-16", + "last_updated": "2026-04-16", + "modalities": { + "input": ["text", "image", "video"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 32768 + }, + "cost": { + "input": 0.75, + "output": 4.5 + } + }, + "zai-org-glm-4.7": { + "id": "zai-org-glm-4.7", + "name": "GLM 4.7", + "family": "glm", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "structured_output": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-12-24", + "last_updated": "2026-03-12", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 198000, + "output": 16384 + }, + "cost": { + "input": 0.55, + "output": 2.65, + "cache_read": 0.11 + } + }, + "openai-gpt-54": { + "id": "openai-gpt-54", + "name": "GPT-5.4", + "family": "gpt", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2026-03-05", + "last_updated": "2026-03-09", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000000, + "output": 131072 + }, + "cost": { + "input": 3.13, + "output": 18.8, + "cache_read": 0.313 + } + }, + "zai-org-glm-4.7-flash": { + "id": "zai-org-glm-4.7-flash", + "name": "GLM 4.7 Flash", + "family": "glm-flash", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2026-01-29", + "last_updated": "2026-03-12", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 16384 + }, + "cost": { + "input": 0.125, + "output": 0.5 + } + }, + "nvidia-nemotron-3-nano-30b-a3b": { + "id": "nvidia-nemotron-3-nano-30b-a3b", + "name": "NVIDIA Nemotron 3 Nano 30B", + "family": "nemotron", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2026-01-27", + "last_updated": "2026-03-12", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 16384 + }, + "cost": { + "input": 0.075, + "output": 0.3 + } + }, + "qwen3-vl-235b-a22b": { + "id": "qwen3-vl-235b-a22b", + "name": "Qwen3 VL 235B", + "family": "qwen", + "attachment": true, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2026-01-16", + "last_updated": "2026-03-12", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 256000, + "output": 16384 + }, + "cost": { + "input": 0.25, + "output": 1.5 + } + }, + "openai-gpt-53-codex": { + "id": "openai-gpt-53-codex", + "name": "GPT-5.3 Codex", + "family": "gpt-codex", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2026-02-24", + "last_updated": "2026-03-12", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "output": 128000 + }, + "cost": { + "input": 2.19, + "output": 17.5, + "cache_read": 0.219 + } + }, + "venice-uncensored-1-2": { + "id": "venice-uncensored-1-2", + "name": "Venice Uncensored 1.2", + "family": "venice", + "attachment": true, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2026-04-01", + "last_updated": "2026-04-19", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 8192 + }, + "cost": { + "input": 0.2, + "output": 0.9 + } + }, + "openai-gpt-52": { + "id": "openai-gpt-52", + "name": "GPT-5.2", + "family": "gpt", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2025-08-31", + "release_date": "2025-12-13", + "last_updated": "2026-03-12", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 256000, + "output": 65536 + }, + "cost": { + "input": 2.19, + "output": 17.5, + "cache_read": 0.219 + } + }, + "mistral-small-3-2-24b-instruct": { + "id": "mistral-small-3-2-24b-instruct", + "name": "Mistral Small 3.2 24B Instruct", + "family": "mistral-small", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2026-01-15", + "last_updated": "2026-03-16", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 256000, + "output": 16384 + }, + "cost": { + "input": 0.09375, + "output": 0.25 + } + }, + "minimax-m27": { + "id": "minimax-m27", + "name": "MiniMax M2.7", + "family": "minimax", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2026-03-18", + "last_updated": "2026-04-12", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 198000, + "output": 32768 + }, + "cost": { + "input": 0.375, + "output": 1.5, + "cache_read": 0.075 + } + }, + "qwen3-235b-a22b-thinking-2507": { + "id": "qwen3-235b-a22b-thinking-2507", + "name": "Qwen 3 235B A22B Thinking 2507", + "family": "qwen", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "structured_output": true, + "temperature": true, + "knowledge": "2025-07", + "release_date": "2025-04-29", + "last_updated": "2026-03-12", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 16384 + }, + "cost": { + "input": 0.45, + "output": 3.5 + } + }, + "qwen3-5-35b-a3b": { + "id": "qwen3-5-35b-a3b", + "name": "Qwen 3.5 35B A3B", + "family": "qwen", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2026-02-25", + "last_updated": "2026-04-16", + "modalities": { + "input": ["text", "image", "video"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 256000, + "output": 65536 + }, + "cost": { + "input": 0.3125, + "output": 1.25, + "cache_read": 0.15625 + } + }, + "mercury-2": { + "id": "mercury-2", + "name": "Mercury 2", + "family": "mercury", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2026-02-20", + "last_updated": "2026-04-09", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 50000 + }, + "cost": { + "input": 0.3125, + "output": 0.9375, + "cache_read": 0.03125 + } + }, + "google-gemma-3-27b-it": { + "id": "google-gemma-3-27b-it", + "name": "Google Gemma 3 27B Instruct", + "family": "gemma", + "attachment": true, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2025-07", + "release_date": "2025-11-04", + "last_updated": "2026-03-12", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 198000, + "output": 16384 + }, + "cost": { + "input": 0.12, + "output": 0.2 + } + }, + "olafangensan-glm-4.7-flash-heretic": { + "id": "olafangensan-glm-4.7-flash-heretic", + "name": "GLM 4.7 Flash Heretic", + "family": "glm-flash", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2026-02-04", + "last_updated": "2026-03-12", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 200000, + "output": 24000 + }, + "cost": { + "input": 0.14, + "output": 0.8 + } + }, + "openai-gpt-55-pro": { + "id": "openai-gpt-55-pro", + "name": "GPT-5.5 Pro", + "family": "gpt-pro", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2026-04-24", + "last_updated": "2026-04-25", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000000, + "output": 128000 + }, + "cost": { + "input": 37.5, + "output": 225 + } + }, + "openai-gpt-52-codex": { + "id": "openai-gpt-52-codex", + "name": "GPT-5.2 Codex", + "family": "gpt-codex", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2025-08", + "release_date": "2025-01-15", + "last_updated": "2026-03-12", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 256000, + "output": 65536 + }, + "cost": { + "input": 2.19, + "output": 17.5, + "cache_read": 0.219 + } + }, + "venice-uncensored-role-play": { + "id": "venice-uncensored-role-play", + "name": "Venice Role Play Uncensored", + "family": "venice", + "attachment": true, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2026-02-20", + "last_updated": "2026-03-16", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 4096 + }, + "cost": { + "input": 0.5, + "output": 2 + } + }, + "zai-org-glm-5": { + "id": "zai-org-glm-5", + "name": "GLM 5", + "family": "glm", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "structured_output": true, + "temperature": true, + "release_date": "2026-02-11", + "last_updated": "2026-03-12", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 198000, + "output": 32000 + }, + "cost": { + "input": 1, + "output": 3.2, + "cache_read": 0.2 + } + }, + "zai-org-glm-4.6": { + "id": "zai-org-glm-4.6", + "name": "GLM 4.6", + "family": "glm", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "structured_output": true, + "temperature": true, + "release_date": "2024-04-01", + "last_updated": "2026-04-04", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 198000, + "output": 16384 + }, + "cost": { + "input": 0.85, + "output": 2.75, + "cache_read": 0.3 + } + }, + "grok-4-3": { + "id": "grok-4-3", + "name": "Grok 4.3", + "family": "grok", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2026-04-18", + "last_updated": "2026-05-04", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000000, + "output": 32000 + }, + "cost": { + "input": 1.42, + "output": 2.83, + "cache_read": 0.23, + "tiers": [ + { + "input": 2.83, + "output": 5.67, + "cache_read": 0.45, + "tier": { + "type": "context", + "size": 200000 + } + } + ], + "context_over_200k": { + "input": 2.83, + "output": 5.67, + "cache_read": 0.45 + } + } + }, + "mistral-small-2603": { + "id": "mistral-small-2603", + "name": "Mistral Small 4", + "family": "mistral-small", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2026-03-16", + "last_updated": "2026-04-09", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 256000, + "output": 65536 + }, + "cost": { + "input": 0.1875, + "output": 0.75 + } + }, + "openai-gpt-oss-120b": { + "id": "openai-gpt-oss-120b", + "name": "OpenAI GPT OSS 120B", + "family": "gpt-oss", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-07", + "release_date": "2025-11-06", + "last_updated": "2026-05-06", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 16384 + }, + "cost": { + "input": 0.07, + "output": 0.3 + } + }, + "claude-opus-4-5": { + "id": "claude-opus-4-5", + "name": "Claude Opus 4.5", + "family": "claude-opus", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-12-06", + "last_updated": "2026-04-12", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 198000, + "output": 32768 + }, + "cost": { + "input": 6, + "output": 30, + "cache_read": 0.6, + "cache_write": 7.5 + } + }, + "qwen3-5-9b": { + "id": "qwen3-5-9b", + "name": "Qwen 3.5 9B", + "family": "qwen", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2026-03-05", + "last_updated": "2026-04-19", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 256000, + "output": 32768 + }, + "cost": { + "input": 0.1, + "output": 0.15 + } + }, + "deepseek-v4-flash": { + "id": "deepseek-v4-flash", + "name": "DeepSeek V4 Flash", + "family": "deepseek-flash", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "structured_output": true, + "temperature": true, + "release_date": "2026-04-24", + "last_updated": "2026-04-29", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 1000000, + "output": 32768 + }, + "cost": { + "input": 0.17, + "output": 0.35, + "cache_read": 0.028 + } + }, + "openai-gpt-54-pro": { + "id": "openai-gpt-54-pro", + "name": "GPT-5.4 Pro", + "family": "gpt-pro", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2026-03-05", + "last_updated": "2026-03-09", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000000, + "output": 128000 + }, + "cost": { + "input": 37.5, + "output": 225, + "tiers": [ + { + "input": 75, + "output": 337.5, + "tier": { + "type": "context", + "size": 272000 + } + } + ], + "context_over_200k": { + "input": 75, + "output": 337.5 + } + } + }, + "openai-gpt-54-mini": { + "id": "openai-gpt-54-mini", + "name": "GPT-5.4 Mini", + "family": "gpt-mini", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2026-03-27", + "last_updated": "2026-03-31", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "output": 128000 + }, + "cost": { + "input": 0.9375, + "output": 5.625, + "cache_read": 0.09375 + } + }, + "minimax-m25": { + "id": "minimax-m25", + "name": "MiniMax M2.5", + "family": "minimax", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "temperature": true, + "release_date": "2026-02-12", + "last_updated": "2026-04-12", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 198000, + "output": 32768 + }, + "cost": { + "input": 0.34, + "output": 1.19, + "cache_read": 0.04 + } + }, + "zai-org-glm-5-1": { + "id": "zai-org-glm-5-1", + "name": "GLM 5.1", + "family": "glm", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "structured_output": true, + "temperature": true, + "release_date": "2026-04-07", + "last_updated": "2026-04-08", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 200000, + "output": 24000 + }, + "cost": { + "input": 1.75, + "output": 5.5, + "cache_read": 0.325 + } + }, + "openai-gpt-55": { + "id": "openai-gpt-55", + "name": "GPT-5.5", + "family": "gpt", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2026-04-23", + "last_updated": "2026-04-25", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000000, + "output": 131072 + }, + "cost": { + "input": 6.25, + "output": 37.5, + "cache_read": 0.625, + "tiers": [ + { + "input": 12.5, + "output": 56.25, + "cache_read": 1.25, + "tier": { + "type": "context", + "size": 272000 + } + } + ], + "context_over_200k": { + "input": 12.5, + "output": 56.25, + "cache_read": 1.25 + } + } + }, + "qwen3-6-27b": { + "id": "qwen3-6-27b", + "name": "Qwen 3.6 27B", + "family": "qwen", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2026-04-24", + "last_updated": "2026-04-29", + "modalities": { + "input": ["text", "image", "video"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 256000, + "output": 65536 + }, + "cost": { + "input": 0.325, + "output": 3.25 + } + }, + "claude-opus-4-6": { + "id": "claude-opus-4-6", + "name": "Claude Opus 4.6", + "family": "claude-opus", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2025-05-31", + "release_date": "2026-02-05", + "last_updated": "2026-03-16", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000000, + "output": 128000 + }, + "cost": { + "input": 6, + "output": 30, + "cache_read": 0.6, + "cache_write": 7.5 + } + }, + "deepseek-v4-pro": { + "id": "deepseek-v4-pro", + "name": "DeepSeek V4 Pro", + "family": "deepseek", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "structured_output": true, + "temperature": true, + "release_date": "2026-04-24", + "last_updated": "2026-04-29", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 1000000, + "output": 32768 + }, + "cost": { + "input": 1.73, + "output": 3.796, + "cache_read": 0.33 + } + }, + "deepseek-v3.2": { + "id": "deepseek-v3.2", + "name": "DeepSeek V3.2", + "family": "deepseek", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2025-10", + "release_date": "2025-12-04", + "last_updated": "2026-03-24", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 160000, + "output": 32768 + }, + "cost": { + "input": 0.33, + "output": 0.48, + "cache_read": 0.16 + } + }, + "qwen-3-6-plus": { + "id": "qwen-3-6-plus", + "name": "Qwen 3.6 Plus Uncensored", + "family": "qwen", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2026-04-06", + "last_updated": "2026-04-12", + "modalities": { + "input": ["text", "image", "video"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000000, + "output": 65536 + }, + "cost": { + "input": 0.625, + "output": 3.75, + "cache_read": 0.0625, + "cache_write": 0.78, + "tiers": [ + { + "input": 2.5, + "output": 7.5, + "cache_read": 0.0625, + "cache_write": 0.78, + "tier": { + "type": "context", + "size": 200000 + } + } + ], + "context_over_200k": { + "input": 2.5, + "output": 7.5, + "cache_read": 0.0625, + "cache_write": 0.78 + } + } + }, + "aion-labs-aion-2-0": { + "id": "aion-labs-aion-2-0", + "name": "Aion 2.0", + "family": "o", + "attachment": false, + "reasoning": true, + "tool_call": false, + "temperature": true, + "release_date": "2026-03-24", + "last_updated": "2026-04-12", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 32768 + }, + "cost": { + "input": 1, + "output": 2, + "cache_read": 0.25 + } + }, + "claude-sonnet-4-5": { + "id": "claude-sonnet-4-5", + "name": "Claude Sonnet 4.5", + "family": "claude-sonnet", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-01-15", + "last_updated": "2026-04-12", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 198000, + "output": 64000 + }, + "cost": { + "input": 3.75, + "output": 18.75, + "cache_read": 0.375, + "cache_write": 4.69 + } + }, + "openai-gpt-4o-2024-11-20": { + "id": "openai-gpt-4o-2024-11-20", + "name": "GPT-4o", + "family": "gpt", + "attachment": true, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2026-02-28", + "last_updated": "2026-03-06", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 16384 + }, + "cost": { + "input": 3.125, + "output": 12.5 + } + }, + "llama-3.3-70b": { + "id": "llama-3.3-70b", + "name": "Llama 3.3 70B", + "family": "llama", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2023-12", + "release_date": "2025-04-06", + "last_updated": "2026-03-12", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 4096 + }, + "cost": { + "input": 0.7, + "output": 2.8 + } + }, + "kimi-k2-5": { + "id": "kimi-k2-5", + "name": "Kimi K2.5", + "family": "kimi", + "attachment": true, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "structured_output": true, + "temperature": true, + "knowledge": "2024-04", + "release_date": "2026-01-27", + "last_updated": "2026-04-30", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 256000, + "output": 65536 + }, + "cost": { + "input": 0.56, + "output": 3.5, + "cache_read": 0.22 + } + }, + "llama-3.2-3b": { + "id": "llama-3.2-3b", + "name": "Llama 3.2 3B", + "family": "llama", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2023-12", + "release_date": "2024-10-03", + "last_updated": "2026-03-12", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 4096 + }, + "cost": { + "input": 0.15, + "output": 0.6 + } + }, + "arcee-trinity-large-thinking": { + "id": "arcee-trinity-large-thinking", + "name": "Trinity Large Thinking", + "family": "trinity", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "structured_output": true, + "temperature": true, + "release_date": "2026-04-02", + "last_updated": "2026-04-04", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 256000, + "output": 65536 + }, + "cost": { + "input": 0.3125, + "output": 1.125, + "cache_read": 0.075 + } + }, + "hermes-3-llama-3.1-405b": { + "id": "hermes-3-llama-3.1-405b", + "name": "Hermes 3 Llama 3.1 405b", + "family": "hermes", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "knowledge": "2024-04", + "release_date": "2025-09-25", + "last_updated": "2026-03-12", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 16384 + }, + "cost": { + "input": 1.1, + "output": 3 + } + }, + "gemini-3-1-pro-preview": { + "id": "gemini-3-1-pro-preview", + "name": "Gemini 3.1 Pro Preview", + "family": "gemini-pro", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2026-02-19", + "last_updated": "2026-03-12", + "modalities": { + "input": ["text", "image", "audio", "video"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000000, + "output": 32768 + }, + "cost": { + "input": 2.5, + "output": 15, + "cache_read": 0.5, + "cache_write": 0.5, + "tiers": [ + { + "input": 5, + "output": 22.5, + "cache_read": 0.5, + "tier": { + "type": "context", + "size": 200000 + } + } + ], + "context_over_200k": { + "input": 5, + "output": 22.5, + "cache_read": 0.5 + } + } + }, + "kimi-k2-6": { + "id": "kimi-k2-6", + "name": "Kimi K2.6", + "family": "kimi", + "attachment": true, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "structured_output": true, + "temperature": true, + "release_date": "2026-04-20", + "last_updated": "2026-04-30", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 256000, + "output": 65536 + }, + "cost": { + "input": 0.85, + "output": 4.655, + "cache_read": 0.22 + } + }, + "claude-opus-4-6-fast": { + "id": "claude-opus-4-6-fast", + "name": "Claude Opus 4.6 Fast", + "family": "claude-opus", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2025-05-31", + "release_date": "2026-04-08", + "last_updated": "2026-04-08", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000000, + "output": 128000 + }, + "cost": { + "input": 36, + "output": 180, + "cache_read": 3.6, + "cache_write": 45 + } + }, + "z-ai-glm-5-turbo": { + "id": "z-ai-glm-5-turbo", + "name": "GLM 5 Turbo", + "family": "glm", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2026-03-15", + "last_updated": "2026-04-12", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 200000, + "output": 32768 + }, + "cost": { + "input": 1.2, + "output": 4, + "cache_read": 0.24 + } + }, + "google-gemma-4-31b-it": { + "id": "google-gemma-4-31b-it", + "name": "Google Gemma 4 31B Instruct", + "family": "gemma", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2026-04-03", + "last_updated": "2026-04-12", + "modalities": { + "input": ["text", "image", "video"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 256000, + "output": 8192 + }, + "cost": { + "input": 0.175, + "output": 0.5 + } + } + } + }, + "aihubmix": { + "id": "aihubmix", + "env": ["AIHUBMIX_API_KEY"], + "npm": "@aihubmix/ai-sdk-provider", + "name": "AIHubMix", + "doc": "https://docs.aihubmix.com", + "models": { + "minimax-m2.7": { + "id": "minimax-m2.7", + "name": "MiniMax-M2.7", + "family": "minimax", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2026-03-18", + "last_updated": "2026-03-18", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 200000, + "output": 128000 + }, + "cost": { + "input": 0.2958, + "output": 1.1832, + "cache_read": 0.05916 + } + }, + "coding-glm-5.1-free": { + "id": "coding-glm-5.1-free", + "name": "Coding GLM 5.1 (free)", + "family": "glm", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "structured_output": true, + "temperature": true, + "release_date": "2026-04-11", + "last_updated": "2026-04-11", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 204800, + "output": 128000 + }, + "cost": { + "input": 0, + "output": 0, + "cache_read": 0 + } }, "gemini-3.1-pro-preview-customtools": { "id": "gemini-3.1-pro-preview-customtools", @@ -16381,129 +72799,1212 @@ "knowledge": "2025-01", "release_date": "2026-02-19", "last_updated": "2026-02-19", - "modalities": { "input": ["text", "image", "video", "audio", "pdf"], "output": ["text"] }, + "modalities": { + "input": ["text", "image", "audio", "video", "pdf"], + "output": ["text"] + }, "open_weights": false, + "limit": { + "context": 1048576, + "output": 65536 + }, "cost": { "input": 2, "output": 12, "cache_read": 0.2, - "context_over_200k": { "input": 4, "output": 18, "cache_read": 0.4 } + "tiers": [ + { + "input": 4, + "output": 18, + "cache_read": 0.4, + "tier": { + "type": "context", + "size": 200000 + } + } + ], + "context_over_200k": { + "input": 4, + "output": 18, + "cache_read": 0.4 + } + } + }, + "kimi-k2.5": { + "id": "kimi-k2.5", + "name": "Kimi K2.5", + "family": "kimi-k2.5", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" }, - "limit": { "context": 1048576, "output": 65536 } - }, - "gemini-2.5-flash-preview-09-2025": { - "id": "gemini-2.5-flash-preview-09-2025", - "name": "Gemini 2.5 Flash Preview 09-25", - "family": "gemini-flash", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-01", - "release_date": "2025-09-25", - "last_updated": "2025-09-25", - "modalities": { "input": ["text", "image", "audio", "video", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.3, "output": 2.5, "cache_read": 0.075, "cache_write": 0.383 }, - "limit": { "context": 1048576, "output": 65536 } - }, - "gemini-2.0-flash": { - "id": "gemini-2.0-flash", - "name": "Gemini 2.0 Flash", - "family": "gemini-flash", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-06", - "release_date": "2024-12-11", - "last_updated": "2024-12-11", - "modalities": { "input": ["text", "image", "audio", "video", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.15, "output": 0.6, "cache_read": 0.025 }, - "limit": { "context": 1048576, "output": 8192 } - }, - "gemini-2.5-flash-lite-preview-06-17": { - "id": "gemini-2.5-flash-lite-preview-06-17", - "name": "Gemini 2.5 Flash Lite Preview 06-17", - "family": "gemini-flash-lite", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-01", - "release_date": "2025-06-17", - "last_updated": "2025-06-17", - "modalities": { "input": ["text", "image", "audio", "video", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.1, "output": 0.4, "cache_read": 0.025 }, - "limit": { "context": 65536, "output": 65536 } - }, - "gemini-flash-lite-latest": { - "id": "gemini-flash-lite-latest", - "name": "Gemini Flash-Lite Latest", - "family": "gemini-flash-lite", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-01", - "release_date": "2025-09-25", - "last_updated": "2025-09-25", - "modalities": { "input": ["text", "image", "audio", "video", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.1, "output": 0.4, "cache_read": 0.025 }, - "limit": { "context": 1048576, "output": 65536 } - }, - "gemini-flash-latest": { - "id": "gemini-flash-latest", - "name": "Gemini Flash Latest", - "family": "gemini-flash", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-01", - "release_date": "2025-09-25", - "last_updated": "2025-09-25", - "modalities": { "input": ["text", "image", "audio", "video", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.3, "output": 2.5, "cache_read": 0.075, "cache_write": 0.383 }, - "limit": { "context": 1048576, "output": 65536 } - }, - "gemini-embedding-001": { - "id": "gemini-embedding-001", - "name": "Gemini Embedding 001", - "family": "gemini", - "attachment": false, - "reasoning": false, - "tool_call": false, + "structured_output": true, "temperature": false, - "knowledge": "2025-05", - "release_date": "2025-05-20", - "last_updated": "2025-05-20", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.15, "output": 0 }, - "limit": { "context": 2048, "output": 3072 } + "knowledge": "2025-01", + "release_date": "2026-01", + "last_updated": "2026-01", + "modalities": { + "input": ["text", "image", "video"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 256000, + "output": 0 + }, + "cost": { + "input": 0.6, + "output": 3, + "cache_read": 0.105 + } }, - "openai/gpt-oss-20b-maas": { - "id": "openai/gpt-oss-20b-maas", - "name": "GPT OSS 20B", - "family": "gpt-oss", + "glm-5v-turbo": { + "id": "glm-5v-turbo", + "name": "GLM 5 Vision Turbo", + "family": "glm", + "attachment": true, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "structured_output": true, + "temperature": true, + "release_date": "2026-05-09", + "last_updated": "2026-05-09", + "modalities": { + "input": ["text", "image", "video"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 128000 + }, + "cost": { + "input": 0.7042, + "output": 3.09848, + "cache_read": 0.169008 + } + }, + "grok-4.3": { + "id": "grok-4.3", + "name": "Grok 4.3", + "family": "grok", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2026-05-01", + "last_updated": "2026-05-01", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000000, + "output": 1000000 + }, + "cost": { + "input": 1.25, + "output": 2.5, + "cache_read": 0.2, + "tiers": [ + { + "input": 2.5, + "output": 5, + "cache_read": 0.4, + "tier": { + "type": "context", + "size": 200000 + } + } + ], + "context_over_200k": { + "input": 2.5, + "output": 5, + "cache_read": 0.4 + } + } + }, + "coding-minimax-m2.7-highspeed": { + "id": "coding-minimax-m2.7-highspeed", + "name": "Coding MiniMax M2.7 Highspeed", + "family": "minimax", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2026-03-18", + "last_updated": "2026-03-18", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 204800, + "output": 13100 + }, + "cost": { + "input": 0.2, + "output": 0.2 + } + }, + "claude-sonnet-4-6": { + "id": "claude-sonnet-4-6", + "name": "Claude Sonnet 4.6", + "family": "claude-sonnet", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-08-31", + "release_date": "2026-02-17", + "last_updated": "2026-02-17", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 64000 + }, + "cost": { + "input": 3, + "output": 15, + "cache_read": 0.3, + "cache_write": 3.75, + "tiers": [ + { + "input": 6, + "output": 22.5, + "cache_read": 0.6, + "cache_write": 7.5, + "tier": { + "type": "context", + "size": 200000 + } + } + ], + "context_over_200k": { + "input": 6, + "output": 22.5, + "cache_read": 0.6, + "cache_write": 7.5 + } + } + }, + "gemini-3.1-pro-preview": { + "id": "gemini-3.1-pro-preview", + "name": "Gemini 3.1 Pro Preview", + "family": "gemini-pro", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2026-02-19", + "last_updated": "2026-02-19", + "modalities": { + "input": ["text", "image", "audio", "video", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1048576, + "output": 65536 + }, + "cost": { + "input": 2, + "output": 12, + "cache_read": 0.2 + } + }, + "coding-glm-5.1": { + "id": "coding-glm-5.1", + "name": "Coding-GLM-5.1", + "family": "glm", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "temperature": true, + "release_date": "2026-04-11", + "last_updated": "2026-04-11", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 128000 + }, + "cost": { + "input": 0.06, + "output": 0.22 + } + }, + "gemini-3-flash-preview": { + "id": "gemini-3-flash-preview", + "name": "Gemini 3 Flash Preview", + "family": "gemini-flash", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2025-12-17", + "last_updated": "2025-12-17", + "modalities": { + "input": ["text", "image", "audio", "video", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1048576, + "output": 65536 + }, + "cost": { + "input": 0.5, + "output": 3, + "cache_read": 0.05 + } + }, + "gpt-5.5": { + "id": "gpt-5.5", + "name": "GPT-5.5", + "family": "gpt", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": false, + "knowledge": "2025-12-01", + "release_date": "2026-04-23", + "last_updated": "2026-04-23", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1050000, + "output": 128000 + }, + "cost": { + "input": 5, + "output": 30, + "cache_read": 0.5 + } + }, + "claude-opus-4-7": { + "id": "claude-opus-4-7", + "name": "Claude Opus 4.7", + "family": "claude-opus", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": false, + "knowledge": "2026-01-31", + "release_date": "2026-04-16", + "last_updated": "2026-04-16", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000000, + "output": 128000 + }, + "cost": { + "input": 5, + "output": 25, + "cache_read": 0.5, + "cache_write": 6.25 + } + }, + "deepseek-v4-flash-think": { + "id": "deepseek-v4-flash-think", + "name": "DeepSeek V4 Flash Think", + "family": "deepseek", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "structured_output": true, + "temperature": true, + "knowledge": "2025-05", + "release_date": "2026-04-24", + "last_updated": "2026-04-24", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 1000000, + "output": 384000 + }, + "cost": { + "input": 0.154, + "output": 0.308, + "cache_read": 0.0308 + } + }, + "gpt-5.3-codex": { + "id": "gpt-5.3-codex", + "name": "GPT-5.3 Codex", + "family": "gpt-codex", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": false, + "knowledge": "2025-08-31", + "release_date": "2026-02-05", + "last_updated": "2026-02-05", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "input": 272000, + "output": 128000 + }, + "cost": { + "input": 1.75, + "output": 14, + "cache_read": 0.175 + } + }, + "gemini-2.5-pro": { + "id": "gemini-2.5-pro", + "name": "Gemini 2.5 Pro", + "family": "gemini-pro", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2025-03-20", + "last_updated": "2025-06-05", + "modalities": { + "input": ["text", "image", "audio", "video", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1048576, + "output": 65536 + }, + "cost": { + "input": 1.25, + "output": 10, + "cache_read": 0.125 + } + }, + "gpt-5.2": { + "id": "gpt-5.2", + "name": "GPT-5.2", + "family": "gpt", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": false, + "knowledge": "2025-08-31", + "release_date": "2025-12-11", + "last_updated": "2025-12-11", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "output": 128000 + }, + "cost": { + "input": 1.75, + "output": 14, + "cache_read": 0.175 + } + }, + "qwen3.6-plus": { + "id": "qwen3.6-plus", + "name": "Qwen3.6 Plus", + "family": "qwen", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2026-05-09", + "last_updated": "2026-05-09", + "modalities": { + "input": ["text", "image", "video"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 991000, + "output": 64000 + }, + "cost": { + "input": 0.282, + "output": 1.692, + "cache_read": 0.0282, + "cache_write": 0.3525 + } + }, + "gpt-5.4-mini": { + "id": "gpt-5.4-mini", + "name": "GPT-5.4-Mini", + "family": "gpt-mini", + "attachment": true, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": false, + "release_date": "2026-03-11", + "last_updated": "2026-03-11", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "output": 128000 + }, + "cost": { + "input": 0.75, + "output": 4.5, + "cache_read": 0.075 + } + }, + "glm-5.1": { + "id": "glm-5.1", + "name": "GLM-5.1", + "family": "glm", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "structured_output": true, + "temperature": true, + "release_date": "2026-03-27", + "last_updated": "2026-03-27", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 128000 + }, + "cost": { + "input": 0.845, + "output": 3.38, + "cache_read": 0.183112 + } + }, + "o4-mini": { + "id": "o4-mini", + "name": "o4-mini", + "family": "o-mini", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": false, + "knowledge": "2024-05", + "release_date": "2025-04-16", + "last_updated": "2025-04-16", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 100000 + }, + "cost": { + "input": 1.1, + "output": 4.4, + "cache_read": 0.275 + } + }, + "gpt-5.2-codex": { + "id": "gpt-5.2-codex", + "name": "GPT-5.2-Codex", + "family": "gpt-codex", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "knowledge": "2025-08-31", + "release_date": "2026-01-14", + "last_updated": "2026-01-14", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "output": 128000 + }, + "cost": { + "input": 1.75, + "output": 14, + "cache_read": 0.175 + } + }, + "gemini-2.5-flash": { + "id": "gemini-2.5-flash", + "name": "Gemini 2.5 Flash", + "family": "gemini-flash", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2025-03-20", + "last_updated": "2025-06-05", + "modalities": { + "input": ["text", "image", "audio", "video", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1048576, + "output": 65536 + }, + "cost": { + "input": 0.3, + "output": 2.499, + "cache_read": 0.03 + } + }, + "gpt-5.1-codex-mini": { + "id": "gpt-5.1-codex-mini", + "name": "GPT-5.1 Codex mini", + "family": "gpt-codex", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": false, + "knowledge": "2024-09-30", + "release_date": "2025-11-13", + "last_updated": "2025-11-13", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "input": 272000, + "output": 128000 + }, + "cost": { + "input": 0.25, + "output": 2, + "cache_read": 0.025 + } + }, + "gemini-3.1-flash-lite": { + "id": "gemini-3.1-flash-lite", + "name": "Gemini 3.1 Flash Lite", + "family": "gemini-flash-lite", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2026-03-03", + "last_updated": "2026-03-03", + "modalities": { + "input": ["text", "image", "audio", "video", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1048576, + "output": 65536 + }, + "cost": { + "input": 0.25, + "output": 1.5, + "cache_read": 0.25 + } + }, + "gpt-5.1": { + "id": "gpt-5.1", + "name": "GPT-5.1", + "family": "gpt", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-11", + "release_date": "2025-11-15", + "last_updated": "2025-11-15", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "output": 128000 + }, + "cost": { + "input": 1.25, + "output": 10, + "cache_read": 0.125 + } + }, + "claude-opus-4-6-think": { + "id": "claude-opus-4-6-think", + "name": "Claude Opus 4.6", + "family": "claude-opus", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-05-31", + "release_date": "2026-02-05", + "last_updated": "2026-03-13", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 32000 + }, + "cost": { + "input": 5, + "output": 25, + "cache_read": 0.5, + "cache_write": 6.25 + } + }, + "coding-minimax-m2.7-free": { + "id": "coding-minimax-m2.7-free", + "name": "Coding-MiniMax-M2.7-Free", + "family": "minimax", "attachment": false, "reasoning": true, "tool_call": true, "temperature": true, - "release_date": "2025-08-05", - "last_updated": "2025-08-05", - "modalities": { "input": ["text"], "output": ["text"] }, + "release_date": "2026-03-18", + "last_updated": "2026-03-18", + "modalities": { + "input": ["text"], + "output": ["text"] + }, "open_weights": true, - "cost": { "input": 0.07, "output": 0.25 }, - "limit": { "context": 131072, "output": 32768 } + "limit": { + "context": 204800, + "output": 13100 + }, + "cost": { + "input": 0, + "output": 0 + } }, - "openai/gpt-oss-120b-maas": { - "id": "openai/gpt-oss-120b-maas", + "deepseek-v4-flash": { + "id": "deepseek-v4-flash", + "name": "DeepSeek V4 Flash", + "family": "deepseek-flash", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "structured_output": true, + "temperature": true, + "knowledge": "2025-05", + "release_date": "2026-04-24", + "last_updated": "2026-04-24", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 1000000, + "output": 384000 + }, + "cost": { + "input": 0.154, + "output": 0.308, + "cache_read": 0.0308 + } + }, + "kimi-k2.6": { + "id": "kimi-k2.6", + "name": "Kimi K2.6", + "family": "kimi-k2.6", + "attachment": true, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "structured_output": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2026-04-21", + "last_updated": "2026-04-21", + "modalities": { + "input": ["text", "image", "video"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 262144 + }, + "cost": { + "input": 0.95, + "output": 3.9995, + "cache_read": 0.160835 + } + }, + "gpt-5.4": { + "id": "gpt-5.4", + "name": "GPT-5.4", + "family": "gpt", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": false, + "release_date": "2026-03-11", + "last_updated": "2026-03-11", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "output": 128000 + }, + "cost": { + "input": 2.5, + "output": 15, + "cache_read": 0.25 + } + }, + "claude-opus-4-6": { + "id": "claude-opus-4-6", + "name": "Claude Opus 4.6", + "family": "claude-opus", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-05-31", + "release_date": "2026-02-05", + "last_updated": "2026-03-13", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000000, + "output": 128000 + }, + "cost": { + "input": 5, + "output": 25, + "cache_read": 0.5, + "cache_write": 6.25 + } + }, + "deepseek-v4-pro": { + "id": "deepseek-v4-pro", + "name": "DeepSeek V4 Pro", + "family": "deepseek-thinking", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "structured_output": true, + "temperature": true, + "knowledge": "2025-05", + "release_date": "2026-04-24", + "last_updated": "2026-04-24", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 1000000, + "output": 384000 + }, + "cost": { + "input": 0.478, + "output": 0.956, + "cache_read": 0.004302 + } + }, + "claude-opus-4-7-think": { + "id": "claude-opus-4-7-think", + "name": "Claude Opus 4.7 Thinking", + "family": "claude-opus", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": false, + "knowledge": "2026-01-31", + "release_date": "2026-04-16", + "last_updated": "2026-04-16", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 32000 + }, + "cost": { + "input": 5, + "output": 25, + "cache_read": 0.5, + "cache_write": 6.25 + } + }, + "coding-minimax-m2.7": { + "id": "coding-minimax-m2.7", + "name": "Coding MiniMax M2.7", + "family": "minimax", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2026-03-18", + "last_updated": "2026-03-18", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 204800, + "output": 13100 + }, + "cost": { + "input": 0.2, + "output": 0.2 + } + }, + "qwen3.6-max-preview": { + "id": "qwen3.6-max-preview", + "name": "Qwen3.6 Max Preview", + "family": "qwen", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2026-05-09", + "last_updated": "2026-05-09", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 240000, + "output": 64000 + }, + "cost": { + "input": 1.268, + "output": 7.608, + "cache_read": 0.1268, + "cache_write": 1.585 + } + }, + "gpt-4.1": { + "id": "gpt-4.1", + "name": "GPT-4.1", + "family": "gpt", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-04", + "release_date": "2025-04-14", + "last_updated": "2025-04-14", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1047576, + "output": 32768 + }, + "cost": { + "input": 2, + "output": 8, + "cache_read": 0.5 + } + }, + "gpt-4.1-mini": { + "id": "gpt-4.1-mini", + "name": "GPT-4.1 mini", + "family": "gpt-mini", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-04", + "release_date": "2025-04-14", + "last_updated": "2025-04-14", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1047576, + "output": 32768 + }, + "cost": { + "input": 0.4, + "output": 1.6, + "cache_read": 0.1 + } + }, + "gpt-5.1-codex": { + "id": "gpt-5.1-codex", + "name": "GPT-5.1 Codex", + "family": "gpt-codex", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": false, + "knowledge": "2024-09-30", + "release_date": "2025-11-13", + "last_updated": "2025-11-13", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "input": 272000, + "output": 128000 + }, + "cost": { + "input": 1.25, + "output": 10, + "cache_read": 0.125 + } + }, + "claude-sonnet-4-6-think": { + "id": "claude-sonnet-4-6-think", + "name": "Claude Sonnet 4.6 Think", + "family": "claude-sonnet", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-08-31", + "release_date": "2026-02-17", + "last_updated": "2026-02-17", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 64000 + }, + "cost": { + "input": 3, + "output": 15, + "cache_read": 0.3, + "cache_write": 3.75, + "tiers": [ + { + "input": 6, + "output": 22.5, + "cache_read": 0.6, + "cache_write": 7.5, + "tier": { + "type": "context", + "size": 200000 + } + } + ], + "context_over_200k": { + "input": 6, + "output": 22.5, + "cache_read": 0.6, + "cache_write": 7.5 + } + } + }, + "qwen3.6-flash": { + "id": "qwen3.6-flash", + "name": "Qwen3.6 Flash", + "family": "qwen", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2026-04-02", + "last_updated": "2026-04-02", + "modalities": { + "input": ["text", "image", "video"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 991000, + "output": 64000 + }, + "cost": { + "input": 0.169, + "output": 1.014, + "cache_read": 0.0169, + "cache_write": 0.21125 + } + } + } + }, + "cerebras": { + "id": "cerebras", + "env": ["CEREBRAS_API_KEY"], + "npm": "@ai-sdk/cerebras", + "name": "Cerebras", + "doc": "https://inference-docs.cerebras.ai/models/overview", + "models": { + "llama3.1-8b": { + "id": "llama3.1-8b", + "name": "Llama 3.1 8B", + "family": "llama", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2023-12", + "release_date": "2025-01-01", + "last_updated": "2025-01-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 32000, + "output": 8000 + }, + "cost": { + "input": 0.1, + "output": 0.1 + } + }, + "qwen-3-235b-a22b-instruct-2507": { + "id": "qwen-3-235b-a22b-instruct-2507", + "name": "Qwen 3 235B Instruct", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-07-22", + "last_updated": "2025-07-22", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131000, + "output": 32000 + }, + "cost": { + "input": 0.6, + "output": 1.2 + } + }, + "zai-glm-4.7": { + "id": "zai-glm-4.7", + "name": "Z.AI GLM-4.7", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "release_date": "2026-01-10", + "last_updated": "2026-01-10", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 40000 + }, + "cost": { + "input": 2.25, + "output": 2.75, + "cache_read": 0, + "cache_write": 0 + } + }, + "gpt-oss-120b": { + "id": "gpt-oss-120b", "name": "GPT OSS 120B", "family": "gpt-oss", "attachment": false, @@ -16512,1257 +74013,19 @@ "temperature": true, "release_date": "2025-08-05", "last_updated": "2025-08-05", - "modalities": { "input": ["text"], "output": ["text"] }, + "modalities": { + "input": ["text"], + "output": ["text"] + }, "open_weights": true, - "cost": { "input": 0.09, "output": 0.36 }, - "limit": { "context": 131072, "output": 32768 } - }, - "zai-org/glm-4.7-maas": { - "id": "zai-org/glm-4.7-maas", - "name": "GLM-4.7", - "family": "glm", - "attachment": false, - "reasoning": true, - "tool_call": true, - "interleaved": { "field": "reasoning_content" }, - "structured_output": true, - "temperature": true, - "knowledge": "2025-04", - "release_date": "2026-01-06", - "last_updated": "2026-01-06", - "modalities": { "input": ["text", "pdf"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.6, "output": 2.2 }, - "limit": { "context": 200000, "output": 128000 }, - "provider": { - "npm": "@ai-sdk/openai-compatible", - "api": "https://${GOOGLE_VERTEX_ENDPOINT}/v1/projects/${GOOGLE_VERTEX_PROJECT}/locations/${GOOGLE_VERTEX_LOCATION}/endpoints/openapi" + "limit": { + "context": 131072, + "output": 32768 + }, + "cost": { + "input": 0.25, + "output": 0.69 } - }, - "zai-org/glm-5-maas": { - "id": "zai-org/glm-5-maas", - "name": "GLM-5", - "family": "glm", - "attachment": false, - "reasoning": true, - "tool_call": true, - "interleaved": { "field": "reasoning_content" }, - "temperature": true, - "release_date": "2026-02-11", - "last_updated": "2026-02-11", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 1, "output": 3.2, "cache_read": 0.1 }, - "limit": { "context": 202752, "output": 131072 }, - "provider": { - "npm": "@ai-sdk/openai-compatible", - "api": "https://${GOOGLE_VERTEX_ENDPOINT}/v1/projects/${GOOGLE_VERTEX_PROJECT}/locations/${GOOGLE_VERTEX_LOCATION}/endpoints/openapi" - } - }, - "deepseek-ai/deepseek-v3.1-maas": { - "id": "deepseek-ai/deepseek-v3.1-maas", - "name": "DeepSeek V3.1", - "family": "deepseek", - "attachment": false, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-08-28", - "last_updated": "2025-08-28", - "modalities": { "input": ["text", "pdf"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.6, "output": 1.7 }, - "limit": { "context": 163840, "output": 32768 }, - "provider": { - "npm": "@ai-sdk/openai-compatible", - "api": "https://${GOOGLE_VERTEX_ENDPOINT}/v1/projects/${GOOGLE_VERTEX_PROJECT}/locations/${GOOGLE_VERTEX_LOCATION}/endpoints/openapi" - } - }, - "qwen/qwen3-235b-a22b-instruct-2507-maas": { - "id": "qwen/qwen3-235b-a22b-instruct-2507-maas", - "name": "Qwen3 235B A22B Instruct", - "family": "qwen", - "attachment": false, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-08-13", - "last_updated": "2025-08-13", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.22, "output": 0.88 }, - "limit": { "context": 262144, "output": 16384 }, - "provider": { - "npm": "@ai-sdk/openai-compatible", - "api": "https://${GOOGLE_VERTEX_ENDPOINT}/v1/projects/${GOOGLE_VERTEX_PROJECT}/locations/${GOOGLE_VERTEX_LOCATION}/endpoints/openapi" - } - }, - "meta/llama-3.3-70b-instruct-maas": { - "id": "meta/llama-3.3-70b-instruct-maas", - "name": "Llama 3.3 70B Instruct", - "family": "llama", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2023-12", - "release_date": "2025-04-29", - "last_updated": "2025-04-29", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.72, "output": 0.72 }, - "limit": { "context": 128000, "output": 8192 }, - "provider": { - "npm": "@ai-sdk/openai-compatible", - "api": "https://${GOOGLE_VERTEX_ENDPOINT}/v1/projects/${GOOGLE_VERTEX_PROJECT}/locations/${GOOGLE_VERTEX_LOCATION}/endpoints/openapi" - } - }, - "meta/llama-4-maverick-17b-128e-instruct-maas": { - "id": "meta/llama-4-maverick-17b-128e-instruct-maas", - "name": "Llama 4 Maverick 17B 128E Instruct", - "family": "llama", - "attachment": true, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2024-08", - "release_date": "2025-04-29", - "last_updated": "2025-04-29", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.35, "output": 1.15 }, - "limit": { "context": 524288, "output": 8192 }, - "provider": { - "npm": "@ai-sdk/openai-compatible", - "api": "https://${GOOGLE_VERTEX_ENDPOINT}/v1/projects/${GOOGLE_VERTEX_PROJECT}/locations/${GOOGLE_VERTEX_LOCATION}/endpoints/openapi" - } - } - } - }, - "chutes": { - "id": "chutes", - "env": ["CHUTES_API_KEY"], - "npm": "@ai-sdk/openai-compatible", - "api": "https://llm.chutes.ai/v1", - "name": "Chutes", - "doc": "https://llm.chutes.ai/v1/models", - "models": { - "unsloth/gemma-3-27b-it": { - "id": "unsloth/gemma-3-27b-it", - "name": "gemma 3 27b it", - "family": "unsloth", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-12-29", - "last_updated": "2026-01-10", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.04, "output": 0.15, "cache_read": 0.02 }, - "limit": { "context": 128000, "output": 65536 } - }, - "unsloth/gemma-3-4b-it": { - "id": "unsloth/gemma-3-4b-it", - "name": "gemma 3 4b it", - "family": "unsloth", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": true, - "temperature": true, - "release_date": "2025-12-29", - "last_updated": "2026-01-10", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.01, "output": 0.03 }, - "limit": { "context": 96000, "output": 96000 } - }, - "unsloth/Mistral-Nemo-Instruct-2407": { - "id": "unsloth/Mistral-Nemo-Instruct-2407", - "name": "Mistral Nemo Instruct 2407", - "family": "unsloth", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": true, - "temperature": true, - "release_date": "2025-12-29", - "last_updated": "2026-01-10", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.02, "output": 0.04, "cache_read": 0.01 }, - "limit": { "context": 131072, "output": 131072 } - }, - "unsloth/Llama-3.2-3B-Instruct": { - "id": "unsloth/Llama-3.2-3B-Instruct", - "name": "Llama 3.2 3B Instruct", - "family": "unsloth", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "temperature": true, - "release_date": "2025-02-12", - "last_updated": "2025-02-12", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.01, "output": 0.01, "cache_read": 0.005 }, - "limit": { "context": 16384, "output": 16384 } - }, - "unsloth/Llama-3.2-1B-Instruct": { - "id": "unsloth/Llama-3.2-1B-Instruct", - "name": "Llama 3.2 1B Instruct", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "temperature": true, - "release_date": "2026-01-27", - "last_updated": "2026-01-27", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.01, "output": 0.01, "cache_read": 0.005 }, - "limit": { "context": 32768, "output": 8192 } - }, - "unsloth/Mistral-Small-24B-Instruct-2501": { - "id": "unsloth/Mistral-Small-24B-Instruct-2501", - "name": "Mistral Small 24B Instruct 2501", - "family": "unsloth", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-12-29", - "last_updated": "2026-01-10", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.03, "output": 0.11 }, - "limit": { "context": 32768, "output": 32768 } - }, - "unsloth/gemma-3-12b-it": { - "id": "unsloth/gemma-3-12b-it", - "name": "gemma 3 12b it", - "family": "unsloth", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": true, - "temperature": true, - "release_date": "2025-12-29", - "last_updated": "2026-01-10", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.03, "output": 0.1 }, - "limit": { "context": 131072, "output": 131072 } - }, - "openai/gpt-oss-120b-TEE": { - "id": "openai/gpt-oss-120b-TEE", - "name": "gpt oss 120b TEE", - "family": "gpt-oss", - "attachment": false, - "reasoning": true, - "tool_call": true, - "interleaved": { "field": "reasoning_content" }, - "structured_output": true, - "temperature": true, - "release_date": "2025-12-29", - "last_updated": "2026-01-10", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.04, "output": 0.18 }, - "limit": { "context": 131072, "output": 65536 } - }, - "openai/gpt-oss-20b": { - "id": "openai/gpt-oss-20b", - "name": "gpt oss 20b", - "family": "gpt-oss", - "attachment": false, - "reasoning": true, - "tool_call": true, - "interleaved": { "field": "reasoning_content" }, - "structured_output": true, - "temperature": true, - "release_date": "2025-12-29", - "last_updated": "2026-01-10", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.02, "output": 0.1 }, - "limit": { "context": 131072, "output": 131072 } - }, - "NousResearch/Hermes-4-405B-FP8-TEE": { - "id": "NousResearch/Hermes-4-405B-FP8-TEE", - "name": "Hermes 4 405B FP8 TEE", - "family": "nousresearch", - "attachment": false, - "reasoning": true, - "tool_call": true, - "interleaved": { "field": "reasoning_content" }, - "structured_output": true, - "temperature": true, - "release_date": "2025-12-29", - "last_updated": "2026-01-10", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.3, "output": 1.2 }, - "limit": { "context": 131072, "output": 65536 } - }, - "NousResearch/Hermes-4-14B": { - "id": "NousResearch/Hermes-4-14B", - "name": "Hermes 4 14B", - "family": "nousresearch", - "attachment": false, - "reasoning": true, - "tool_call": true, - "interleaved": { "field": "reasoning_content" }, - "structured_output": true, - "temperature": true, - "release_date": "2025-12-29", - "last_updated": "2026-01-10", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.01, "output": 0.05 }, - "limit": { "context": 40960, "output": 40960 } - }, - "NousResearch/Hermes-4.3-36B": { - "id": "NousResearch/Hermes-4.3-36B", - "name": "Hermes 4.3 36B", - "family": "nousresearch", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "temperature": true, - "release_date": "2025-12-29", - "last_updated": "2026-01-10", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.1, "output": 0.39 }, - "limit": { "context": 32768, "output": 8192 } - }, - "NousResearch/DeepHermes-3-Mistral-24B-Preview": { - "id": "NousResearch/DeepHermes-3-Mistral-24B-Preview", - "name": "DeepHermes 3 Mistral 24B Preview", - "family": "nousresearch", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-12-29", - "last_updated": "2026-01-10", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.02, "output": 0.1 }, - "limit": { "context": 32768, "output": 32768 } - }, - "NousResearch/Hermes-4-70B": { - "id": "NousResearch/Hermes-4-70B", - "name": "Hermes 4 70B", - "family": "nousresearch", - "attachment": false, - "reasoning": true, - "tool_call": true, - "interleaved": { "field": "reasoning_content" }, - "structured_output": true, - "temperature": true, - "release_date": "2025-12-29", - "last_updated": "2026-01-10", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.11, "output": 0.38 }, - "limit": { "context": 131072, "output": 131072 } - }, - "zai-org/GLM-4.6-TEE": { - "id": "zai-org/GLM-4.6-TEE", - "name": "GLM 4.6 TEE", - "family": "glm", - "attachment": false, - "reasoning": true, - "tool_call": true, - "interleaved": { "field": "reasoning_content" }, - "structured_output": true, - "temperature": true, - "release_date": "2025-12-29", - "last_updated": "2026-01-10", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.4, "output": 1.7, "cache_read": 0.2 }, - "limit": { "context": 202752, "output": 65536 } - }, - "zai-org/GLM-4.5-Air": { - "id": "zai-org/GLM-4.5-Air", - "name": "GLM 4.5 Air", - "family": "glm", - "attachment": false, - "reasoning": true, - "tool_call": true, - "interleaved": { "field": "reasoning_content" }, - "structured_output": true, - "temperature": true, - "release_date": "2025-12-29", - "last_updated": "2026-01-10", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.05, "output": 0.22 }, - "limit": { "context": 131072, "output": 131072 } - }, - "zai-org/GLM-4.6V": { - "id": "zai-org/GLM-4.6V", - "name": "GLM 4.6V", - "family": "glm", - "attachment": false, - "reasoning": true, - "tool_call": true, - "interleaved": { "field": "reasoning_content" }, - "structured_output": true, - "temperature": true, - "release_date": "2025-12-29", - "last_updated": "2026-01-10", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.3, "output": 0.9, "cache_read": 0.15 }, - "limit": { "context": 131072, "output": 65536 } - }, - "zai-org/GLM-4.7-TEE": { - "id": "zai-org/GLM-4.7-TEE", - "name": "GLM 4.7 TEE", - "family": "glm", - "attachment": false, - "reasoning": true, - "tool_call": true, - "interleaved": { "field": "reasoning_content" }, - "structured_output": true, - "temperature": true, - "release_date": "2025-12-29", - "last_updated": "2026-01-10", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.4, "output": 1.5 }, - "limit": { "context": 202752, "output": 65535 } - }, - "zai-org/GLM-4.6-FP8": { - "id": "zai-org/GLM-4.6-FP8", - "name": "GLM 4.6 FP8", - "attachment": false, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2026-01-27", - "last_updated": "2026-01-27", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.3, "output": 1.2 }, - "limit": { "context": 202752, "output": 65535 } - }, - "zai-org/GLM-4.7-Flash": { - "id": "zai-org/GLM-4.7-Flash", - "name": "GLM 4.7 Flash", - "attachment": false, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2026-01-27", - "last_updated": "2026-01-27", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.06, "output": 0.35 }, - "limit": { "context": 202752, "output": 65535 } - }, - "zai-org/GLM-4.5-TEE": { - "id": "zai-org/GLM-4.5-TEE", - "name": "GLM 4.5 TEE", - "family": "glm", - "attachment": false, - "reasoning": true, - "tool_call": true, - "interleaved": { "field": "reasoning_content" }, - "structured_output": true, - "temperature": true, - "release_date": "2025-12-29", - "last_updated": "2026-01-10", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.35, "output": 1.55 }, - "limit": { "context": 131072, "output": 65536 } - }, - "zai-org/GLM-4.5-FP8": { - "id": "zai-org/GLM-4.5-FP8", - "name": "GLM 4.5 FP8", - "attachment": false, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2026-01-27", - "last_updated": "2026-01-27", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.3, "output": 1.2 }, - "limit": { "context": 131072, "output": 65536 } - }, - "zai-org/GLM-5-TEE": { - "id": "zai-org/GLM-5-TEE", - "name": "GLM 5 TEE", - "family": "glm", - "attachment": false, - "reasoning": true, - "tool_call": true, - "interleaved": { "field": "reasoning_content" }, - "structured_output": true, - "temperature": true, - "release_date": "2026-02-14", - "last_updated": "2026-02-14", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.95, "output": 3.15, "cache_read": 0.475 }, - "limit": { "context": 202752, "output": 65535 } - }, - "zai-org/GLM-5-Turbo": { - "id": "zai-org/GLM-5-Turbo", - "name": "GLM 5 Turbo", - "family": "glm", - "attachment": false, - "reasoning": true, - "tool_call": true, - "interleaved": { "field": "reasoning_content" }, - "structured_output": true, - "temperature": true, - "release_date": "2026-03-11", - "last_updated": "2026-03-11", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.49, "output": 1.96, "cache_read": 0.245 }, - "limit": { "context": 202752, "output": 65535 } - }, - "zai-org/GLM-4.7-FP8": { - "id": "zai-org/GLM-4.7-FP8", - "name": "GLM 4.7 FP8", - "attachment": false, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2026-01-27", - "last_updated": "2026-01-27", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.3, "output": 1.2 }, - "limit": { "context": 202752, "output": 65535 } - }, - "nvidia/NVIDIA-Nemotron-3-Nano-30B-A3B-BF16": { - "id": "nvidia/NVIDIA-Nemotron-3-Nano-30B-A3B-BF16", - "name": "NVIDIA Nemotron 3 Nano 30B A3B BF16", - "family": "nemotron", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-12-29", - "last_updated": "2026-01-10", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.06, "output": 0.24 }, - "limit": { "context": 262144, "output": 262144 } - }, - "rednote-hilab/dots.ocr": { - "id": "rednote-hilab/dots.ocr", - "name": "dots.ocr", - "family": "rednote", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": true, - "temperature": true, - "release_date": "2025-12-29", - "last_updated": "2026-01-10", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.01, "output": 0.01, "cache_read": 0.005 }, - "limit": { "context": 131072, "output": 131072 } - }, - "miromind-ai/MiroThinker-v1.5-235B": { - "id": "miromind-ai/MiroThinker-v1.5-235B", - "name": "MiroThinker V1.5 235B", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "temperature": true, - "release_date": "2026-01-10", - "last_updated": "2026-01-10", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.3, "output": 1.2, "cache_read": 0.15 }, - "limit": { "context": 262144, "output": 8192 } - }, - "MiniMaxAI/MiniMax-M2.5-TEE": { - "id": "MiniMaxAI/MiniMax-M2.5-TEE", - "name": "MiniMax M2.5 TEE", - "family": "minimax", - "attachment": false, - "reasoning": true, - "tool_call": true, - "interleaved": { "field": "reasoning_content" }, - "structured_output": true, - "temperature": true, - "release_date": "2026-02-15", - "last_updated": "2026-02-15", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.3, "output": 1.1, "cache_read": 0.15 }, - "limit": { "context": 196608, "output": 65536 } - }, - "MiniMaxAI/MiniMax-M2.1-TEE": { - "id": "MiniMaxAI/MiniMax-M2.1-TEE", - "name": "MiniMax M2.1 TEE", - "family": "minimax", - "attachment": false, - "reasoning": true, - "tool_call": true, - "interleaved": { "field": "reasoning_content" }, - "structured_output": true, - "temperature": true, - "release_date": "2025-12-29", - "last_updated": "2026-01-27", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.27, "output": 1.12 }, - "limit": { "context": 196608, "output": 65536 } - }, - "deepseek-ai/DeepSeek-R1-Distill-Llama-70B": { - "id": "deepseek-ai/DeepSeek-R1-Distill-Llama-70B", - "name": "DeepSeek R1 Distill Llama 70B", - "family": "deepseek-thinking", - "attachment": false, - "reasoning": true, - "tool_call": true, - "interleaved": { "field": "reasoning_content" }, - "structured_output": true, - "temperature": true, - "release_date": "2025-12-29", - "last_updated": "2026-01-10", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.03, "output": 0.11 }, - "limit": { "context": 131072, "output": 131072 } - }, - "deepseek-ai/DeepSeek-V3.1-Terminus-TEE": { - "id": "deepseek-ai/DeepSeek-V3.1-Terminus-TEE", - "name": "DeepSeek V3.1 Terminus TEE", - "family": "deepseek", - "attachment": false, - "reasoning": true, - "tool_call": true, - "interleaved": { "field": "reasoning_content" }, - "structured_output": true, - "temperature": true, - "release_date": "2025-12-29", - "last_updated": "2026-01-10", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.23, "output": 0.9 }, - "limit": { "context": 163840, "output": 65536 } - }, - "deepseek-ai/DeepSeek-R1-0528-TEE": { - "id": "deepseek-ai/DeepSeek-R1-0528-TEE", - "name": "DeepSeek R1 0528 TEE", - "family": "deepseek-thinking", - "attachment": false, - "reasoning": true, - "tool_call": true, - "interleaved": { "field": "reasoning_content" }, - "structured_output": true, - "temperature": true, - "release_date": "2025-12-29", - "last_updated": "2026-01-10", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.4, "output": 1.75 }, - "limit": { "context": 163840, "output": 65536 } - }, - "deepseek-ai/DeepSeek-V3-0324-TEE": { - "id": "deepseek-ai/DeepSeek-V3-0324-TEE", - "name": "DeepSeek V3 0324 TEE", - "family": "deepseek", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-12-29", - "last_updated": "2026-01-10", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.19, "output": 0.87, "cache_read": 0.095 }, - "limit": { "context": 163840, "output": 65536 } - }, - "deepseek-ai/DeepSeek-V3.2-TEE": { - "id": "deepseek-ai/DeepSeek-V3.2-TEE", - "name": "DeepSeek V3.2 TEE", - "family": "deepseek", - "attachment": false, - "reasoning": true, - "tool_call": true, - "interleaved": { "field": "reasoning_content" }, - "structured_output": true, - "temperature": true, - "release_date": "2025-12-29", - "last_updated": "2026-01-10", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.28, "output": 0.42, "cache_read": 0.14 }, - "limit": { "context": 131072, "output": 65536 } - }, - "deepseek-ai/DeepSeek-V3.2-Speciale-TEE": { - "id": "deepseek-ai/DeepSeek-V3.2-Speciale-TEE", - "name": "DeepSeek V3.2 Speciale TEE", - "family": "deepseek", - "attachment": false, - "reasoning": true, - "tool_call": false, - "interleaved": { "field": "reasoning_content" }, - "structured_output": true, - "temperature": true, - "release_date": "2025-12-29", - "last_updated": "2026-01-10", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.27, "output": 0.41 }, - "limit": { "context": 163840, "output": 65536 } - }, - "deepseek-ai/DeepSeek-R1-TEE": { - "id": "deepseek-ai/DeepSeek-R1-TEE", - "name": "DeepSeek R1 TEE", - "family": "deepseek-thinking", - "attachment": false, - "reasoning": true, - "tool_call": false, - "interleaved": { "field": "reasoning_content" }, - "structured_output": true, - "temperature": true, - "release_date": "2025-12-29", - "last_updated": "2026-01-10", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.3, "output": 1.2 }, - "limit": { "context": 163840, "output": 163840 } - }, - "deepseek-ai/DeepSeek-V3.1-TEE": { - "id": "deepseek-ai/DeepSeek-V3.1-TEE", - "name": "DeepSeek V3.1 TEE", - "family": "deepseek", - "attachment": false, - "reasoning": true, - "tool_call": true, - "interleaved": { "field": "reasoning_content" }, - "structured_output": true, - "temperature": true, - "release_date": "2025-12-29", - "last_updated": "2026-01-10", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.2, "output": 0.8 }, - "limit": { "context": 163840, "output": 65536 } - }, - "deepseek-ai/DeepSeek-V3": { - "id": "deepseek-ai/DeepSeek-V3", - "name": "DeepSeek V3", - "family": "deepseek", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": true, - "temperature": true, - "release_date": "2025-12-29", - "last_updated": "2026-01-10", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.3, "output": 1.2 }, - "limit": { "context": 163840, "output": 163840 } - }, - "Qwen/Qwen3-30B-A3B": { - "id": "Qwen/Qwen3-30B-A3B", - "name": "Qwen3 30B A3B", - "family": "qwen", - "attachment": false, - "reasoning": true, - "tool_call": true, - "interleaved": { "field": "reasoning_content" }, - "structured_output": true, - "temperature": true, - "release_date": "2025-12-29", - "last_updated": "2026-01-10", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.06, "output": 0.22 }, - "limit": { "context": 40960, "output": 40960 } - }, - "Qwen/Qwen2.5-Coder-32B-Instruct": { - "id": "Qwen/Qwen2.5-Coder-32B-Instruct", - "name": "Qwen2.5 Coder 32B Instruct", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": true, - "temperature": true, - "release_date": "2025-12-29", - "last_updated": "2026-01-10", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.03, "output": 0.11 }, - "limit": { "context": 32768, "output": 32768 } - }, - "Qwen/Qwen2.5-VL-72B-Instruct-TEE": { - "id": "Qwen/Qwen2.5-VL-72B-Instruct-TEE", - "name": "Qwen2.5 VL 72B Instruct TEE", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": true, - "temperature": true, - "release_date": "2025-12-29", - "last_updated": "2026-01-10", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.15, "output": 0.6 }, - "limit": { "context": 32768, "output": 32768 } - }, - "Qwen/Qwen3Guard-Gen-0.6B": { - "id": "Qwen/Qwen3Guard-Gen-0.6B", - "name": "Qwen3Guard Gen 0.6B", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "temperature": true, - "release_date": "2025-12-29", - "last_updated": "2026-01-10", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.01, "output": 0.01, "cache_read": 0.005 }, - "limit": { "context": 32768, "output": 8192 } - }, - "Qwen/Qwen3-32B": { - "id": "Qwen/Qwen3-32B", - "name": "Qwen3 32B", - "family": "qwen", - "attachment": false, - "reasoning": true, - "tool_call": true, - "interleaved": { "field": "reasoning_content" }, - "structured_output": true, - "temperature": true, - "release_date": "2025-12-29", - "last_updated": "2026-01-10", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.08, "output": 0.24, "cache_read": 0.04 }, - "limit": { "context": 40960, "output": 40960 } - }, - "Qwen/Qwen3-14B": { - "id": "Qwen/Qwen3-14B", - "name": "Qwen3 14B", - "family": "qwen", - "attachment": false, - "reasoning": true, - "tool_call": true, - "interleaved": { "field": "reasoning_content" }, - "structured_output": true, - "temperature": true, - "release_date": "2025-12-29", - "last_updated": "2026-01-10", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.05, "output": 0.22 }, - "limit": { "context": 40960, "output": 40960 } - }, - "Qwen/Qwen3-Coder-Next": { - "id": "Qwen/Qwen3-Coder-Next", - "name": "Qwen3 Coder Next", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2026-02-05", - "last_updated": "2026-02-05", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.07, "output": 0.3 }, - "limit": { "context": 262144, "output": 65536 } - }, - "Qwen/Qwen3-235B-A22B": { - "id": "Qwen/Qwen3-235B-A22B", - "name": "Qwen3 235B A22B", - "family": "qwen", - "attachment": false, - "reasoning": true, - "tool_call": true, - "interleaved": { "field": "reasoning_content" }, - "structured_output": true, - "temperature": true, - "release_date": "2025-12-29", - "last_updated": "2026-01-10", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.3, "output": 1.2 }, - "limit": { "context": 40960, "output": 40960 } - }, - "Qwen/Qwen3-235B-A22B-Thinking-2507": { - "id": "Qwen/Qwen3-235B-A22B-Thinking-2507", - "name": "Qwen3 235B A22B Thinking 2507", - "family": "qwen", - "attachment": false, - "reasoning": true, - "tool_call": true, - "interleaved": { "field": "reasoning_content" }, - "structured_output": true, - "temperature": true, - "release_date": "2025-12-29", - "last_updated": "2026-01-10", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.11, "output": 0.6 }, - "limit": { "context": 262144, "output": 262144 } - }, - "Qwen/Qwen3-Next-80B-A3B-Instruct": { - "id": "Qwen/Qwen3-Next-80B-A3B-Instruct", - "name": "Qwen3 Next 80B A3B Instruct", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-12-29", - "last_updated": "2026-01-10", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.1, "output": 0.8 }, - "limit": { "context": 262144, "output": 262144 } - }, - "Qwen/Qwen3.5-397B-A17B-TEE": { - "id": "Qwen/Qwen3.5-397B-A17B-TEE", - "name": "Qwen3.5 397B A17B TEE", - "family": "qwen", - "attachment": true, - "reasoning": true, - "tool_call": true, - "interleaved": { "field": "reasoning_content" }, - "structured_output": true, - "temperature": true, - "release_date": "2026-02-18", - "last_updated": "2026-02-18", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.39, "output": 2.34, "cache_read": 0.195 }, - "limit": { "context": 262144, "output": 65536 } - }, - "Qwen/Qwen2.5-VL-32B-Instruct": { - "id": "Qwen/Qwen2.5-VL-32B-Instruct", - "name": "Qwen2.5 VL 32B Instruct", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": true, - "temperature": true, - "release_date": "2025-12-29", - "last_updated": "2026-01-10", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.05, "output": 0.22 }, - "limit": { "context": 16384, "output": 16384 } - }, - "Qwen/Qwen3-Coder-480B-A35B-Instruct-FP8-TEE": { - "id": "Qwen/Qwen3-Coder-480B-A35B-Instruct-FP8-TEE", - "name": "Qwen3 Coder 480B A35B Instruct FP8 TEE", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-12-29", - "last_updated": "2026-01-10", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.22, "output": 0.95, "cache_read": 0.11 }, - "limit": { "context": 262144, "output": 262144 } - }, - "Qwen/Qwen3-30B-A3B-Instruct-2507": { - "id": "Qwen/Qwen3-30B-A3B-Instruct-2507", - "name": "Qwen3 30B A3B Instruct 2507", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-12-29", - "last_updated": "2026-01-10", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.08, "output": 0.33 }, - "limit": { "context": 262144, "output": 262144 } - }, - "Qwen/Qwen3-235B-A22B-Instruct-2507-TEE": { - "id": "Qwen/Qwen3-235B-A22B-Instruct-2507-TEE", - "name": "Qwen3 235B A22B Instruct 2507 TEE", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-12-29", - "last_updated": "2026-01-10", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.08, "output": 0.55, "cache_read": 0.04 }, - "limit": { "context": 262144, "output": 65536 } - }, - "Qwen/Qwen3-VL-235B-A22B-Instruct": { - "id": "Qwen/Qwen3-VL-235B-A22B-Instruct", - "name": "Qwen3 VL 235B A22B Instruct", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-12-29", - "last_updated": "2026-01-10", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.3, "output": 1.2 }, - "limit": { "context": 262144, "output": 262144 } - }, - "Qwen/Qwen2.5-72B-Instruct": { - "id": "Qwen/Qwen2.5-72B-Instruct", - "name": "Qwen2.5 72B Instruct", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-12-29", - "last_updated": "2026-01-10", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.13, "output": 0.52 }, - "limit": { "context": 32768, "output": 32768 } - }, - "chutesai/Mistral-Small-3.2-24B-Instruct-2506": { - "id": "chutesai/Mistral-Small-3.2-24B-Instruct-2506", - "name": "Mistral Small 3.2 24B Instruct 2506", - "family": "chutesai", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-12-29", - "last_updated": "2026-01-10", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.06, "output": 0.18 }, - "limit": { "context": 131072, "output": 131072 } - }, - "chutesai/Mistral-Small-3.1-24B-Instruct-2503": { - "id": "chutesai/Mistral-Small-3.1-24B-Instruct-2503", - "name": "Mistral Small 3.1 24B Instruct 2503", - "family": "chutesai", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-12-29", - "last_updated": "2026-01-10", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.03, "output": 0.11, "cache_read": 0.015 }, - "limit": { "context": 131072, "output": 131072 } - }, - "moonshotai/Kimi-K2-Thinking-TEE": { - "id": "moonshotai/Kimi-K2-Thinking-TEE", - "name": "Kimi K2 Thinking TEE", - "family": "kimi-thinking", - "attachment": false, - "reasoning": true, - "tool_call": true, - "interleaved": { "field": "reasoning_content" }, - "structured_output": true, - "temperature": true, - "release_date": "2025-12-29", - "last_updated": "2026-01-10", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.4, "output": 1.75 }, - "limit": { "context": 262144, "output": 65535 } - }, - "moonshotai/Kimi-K2-Instruct-0905": { - "id": "moonshotai/Kimi-K2-Instruct-0905", - "name": "Kimi K2 Instruct 0905", - "family": "kimi", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-12-29", - "last_updated": "2026-01-10", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.39, "output": 1.9, "cache_read": 0.195 }, - "limit": { "context": 262144, "output": 262144 } - }, - "moonshotai/Kimi-K2.5-TEE": { - "id": "moonshotai/Kimi-K2.5-TEE", - "name": "Kimi K2.5 TEE", - "family": "kimi", - "attachment": false, - "reasoning": true, - "tool_call": true, - "interleaved": { "field": "reasoning_content" }, - "structured_output": true, - "temperature": true, - "knowledge": "2024-10", - "release_date": "2026-01-27", - "last_updated": "2026-01-27", - "modalities": { "input": ["text", "image", "video"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.6, "output": 3 }, - "limit": { "context": 262144, "output": 65535 } - }, - "OpenGVLab/InternVL3-78B-TEE": { - "id": "OpenGVLab/InternVL3-78B-TEE", - "name": "InternVL3 78B TEE", - "family": "opengvlab", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": true, - "temperature": true, - "release_date": "2025-01-06", - "last_updated": "2026-01-10", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.1, "output": 0.39 }, - "limit": { "context": 32768, "output": 32768 } - }, - "XiaomiMiMo/MiMo-V2-Flash": { - "id": "XiaomiMiMo/MiMo-V2-Flash", - "name": "MiMo V2 Flash", - "family": "mimo", - "attachment": false, - "reasoning": true, - "tool_call": true, - "structured_output": false, - "temperature": true, - "release_date": "2025-12-29", - "last_updated": "2026-01-27", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.09, "output": 0.29 }, - "limit": { "context": 262144, "output": 32000 } - }, - "tngtech/TNG-R1T-Chimera-TEE": { - "id": "tngtech/TNG-R1T-Chimera-TEE", - "name": "TNG R1T Chimera TEE", - "family": "tngtech", - "attachment": false, - "reasoning": true, - "tool_call": true, - "interleaved": { "field": "reasoning_content" }, - "structured_output": true, - "temperature": true, - "release_date": "2025-12-29", - "last_updated": "2026-01-10", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.25, "output": 0.85 }, - "limit": { "context": 163840, "output": 65536 } - }, - "tngtech/TNG-R1T-Chimera-Turbo": { - "id": "tngtech/TNG-R1T-Chimera-Turbo", - "name": "TNG R1T Chimera Turbo", - "attachment": false, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2026-01-27", - "last_updated": "2026-01-27", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.22, "output": 0.6 }, - "limit": { "context": 163840, "output": 65536 } - }, - "tngtech/DeepSeek-R1T-Chimera": { - "id": "tngtech/DeepSeek-R1T-Chimera", - "name": "DeepSeek R1T Chimera", - "family": "tngtech", - "attachment": false, - "reasoning": true, - "tool_call": false, - "interleaved": { "field": "reasoning_content" }, - "structured_output": true, - "temperature": true, - "release_date": "2025-12-29", - "last_updated": "2026-01-10", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.3, "output": 1.2 }, - "limit": { "context": 163840, "output": 163840 } - }, - "tngtech/DeepSeek-TNG-R1T2-Chimera": { - "id": "tngtech/DeepSeek-TNG-R1T2-Chimera", - "name": "DeepSeek TNG R1T2 Chimera", - "family": "tngtech", - "attachment": false, - "reasoning": true, - "tool_call": true, - "interleaved": { "field": "reasoning_content" }, - "structured_output": true, - "temperature": true, - "release_date": "2025-12-29", - "last_updated": "2026-01-10", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.25, "output": 0.85 }, - "limit": { "context": 163840, "output": 163840 } - }, - "mistralai/Devstral-2-123B-Instruct-2512-TEE": { - "id": "mistralai/Devstral-2-123B-Instruct-2512-TEE", - "name": "Devstral 2 123B Instruct 2512 TEE", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2026-01-10", - "last_updated": "2026-01-10", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.05, "output": 0.22 }, - "limit": { "context": 262144, "output": 65536 } } } }, @@ -17784,10 +74047,19 @@ "temperature": true, "release_date": "2025-08-05", "last_updated": "2025-08-05", - "modalities": { "input": ["text"], "output": ["text"] }, + "modalities": { + "input": ["text"], + "output": ["text"] + }, "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 131072, "output": 32768 } + "limit": { + "context": 131072, + "output": 32768 + }, + "cost": { + "input": 0, + "output": 0 + } }, "qwen/qwen3-coder-30b": { "id": "qwen/qwen3-coder-30b", @@ -17800,10 +74072,19 @@ "knowledge": "2025-04", "release_date": "2025-07-23", "last_updated": "2025-07-23", - "modalities": { "input": ["text"], "output": ["text"] }, + "modalities": { + "input": ["text"], + "output": ["text"] + }, "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 262144, "output": 65536 } + "limit": { + "context": 262144, + "output": 65536 + }, + "cost": { + "input": 0, + "output": 0 + } }, "qwen/qwen3-30b-a3b-2507": { "id": "qwen/qwen3-30b-a3b-2507", @@ -17816,20 +74097,89 @@ "knowledge": "2025-04", "release_date": "2025-07-30", "last_updated": "2025-07-30", - "modalities": { "input": ["text"], "output": ["text"] }, + "modalities": { + "input": ["text"], + "output": ["text"] + }, "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 262144, "output": 16384 } + "limit": { + "context": 262144, + "output": 16384 + }, + "cost": { + "input": 0, + "output": 0 + } } } }, - "kimi-for-coding": { - "id": "kimi-for-coding", - "env": ["KIMI_API_KEY"], - "npm": "@ai-sdk/anthropic", - "api": "https://api.kimi.com/coding/v1", - "name": "Kimi For Coding", - "doc": "https://www.kimi.com/coding/docs/en/third-party-agents.html", + "lucidquery": { + "id": "lucidquery", + "env": ["LUCIDQUERY_API_KEY"], + "npm": "@ai-sdk/openai-compatible", + "api": "https://lucidquery.com/api/v1", + "name": "LucidQuery AI", + "doc": "https://lucidquery.com/api/docs", + "models": { + "lucidnova-rf1-100b": { + "id": "lucidnova-rf1-100b", + "name": "LucidNova RF1 100B", + "family": "nova", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": false, + "knowledge": "2025-09-16", + "release_date": "2024-12-28", + "last_updated": "2025-09-10", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 120000, + "output": 8000 + }, + "cost": { + "input": 2, + "output": 5 + } + }, + "lucidquery-nexus-coder": { + "id": "lucidquery-nexus-coder", + "name": "LucidQuery Nexus Coder", + "family": "lucid", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": false, + "knowledge": "2025-08-01", + "release_date": "2025-09-01", + "last_updated": "2025-09-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 250000, + "output": 60000 + }, + "cost": { + "input": 2, + "output": 5 + } + } + } + }, + "moonshotai-cn": { + "id": "moonshotai-cn", + "env": ["MOONSHOT_API_KEY"], + "npm": "@ai-sdk/openai-compatible", + "api": "https://api.moonshot.cn/v1", + "name": "Moonshot AI (China)", + "doc": "https://platform.moonshot.cn/docs/api/chat", "models": { "kimi-k2-thinking": { "id": "kimi-k2-thinking", @@ -17838,1301 +74188,692 @@ "attachment": false, "reasoning": true, "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "temperature": true, + "knowledge": "2024-08", + "release_date": "2025-11-06", + "last_updated": "2025-11-06", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 262144 + }, + "cost": { + "input": 0.6, + "output": 2.5, + "cache_read": 0.15 + } + }, + "kimi-k2-0711-preview": { + "id": "kimi-k2-0711-preview", + "name": "Kimi K2 0711", + "family": "kimi", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2025-07-14", + "last_updated": "2025-07-14", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 16384 + }, + "cost": { + "input": 0.6, + "output": 2.5, + "cache_read": 0.15 + } + }, + "kimi-k2-turbo-preview": { + "id": "kimi-k2-turbo-preview", + "name": "Kimi K2 Turbo", + "family": "kimi", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2025-09-05", + "last_updated": "2025-09-05", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 262144 + }, + "cost": { + "input": 2.4, + "output": 10, + "cache_read": 0.6 + } + }, + "kimi-k2.6": { + "id": "kimi-k2.6", + "name": "Kimi K2.6", + "family": "kimi-k2.6", + "attachment": true, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, "structured_output": true, "temperature": true, - "knowledge": "2025-07", - "release_date": "2025-11", - "last_updated": "2025-12", - "modalities": { "input": ["text"], "output": ["text"] }, + "knowledge": "2025-01", + "release_date": "2026-04-21", + "last_updated": "2026-04-21", + "modalities": { + "input": ["text", "image", "video"], + "output": ["text"] + }, "open_weights": true, - "cost": { "input": 0, "output": 0, "cache_read": 0, "cache_write": 0 }, - "limit": { "context": 262144, "output": 32768 } + "limit": { + "context": 262144, + "output": 262144 + }, + "cost": { + "input": 0.95, + "output": 4, + "cache_read": 0.16 + } }, - "k2p5": { - "id": "k2p5", - "name": "Kimi K2.5", + "kimi-k2-thinking-turbo": { + "id": "kimi-k2-thinking-turbo", + "name": "Kimi K2 Thinking Turbo", "family": "kimi-thinking", "attachment": false, "reasoning": true, "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2025-01", - "release_date": "2026-01", - "last_updated": "2026-01", - "modalities": { "input": ["text", "image", "video"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0, "cache_read": 0, "cache_write": 0 }, - "limit": { "context": 262144, "output": 32768 } - } - } - }, - "alibaba-cn": { - "id": "alibaba-cn", - "env": ["DASHSCOPE_API_KEY"], - "npm": "@ai-sdk/openai-compatible", - "api": "https://dashscope.aliyuncs.com/compatible-mode/v1", - "name": "Alibaba (China)", - "doc": "https://www.alibabacloud.com/help/en/model-studio/models", - "models": { - "qwen-math-plus": { - "id": "qwen-math-plus", - "name": "Qwen Math Plus", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-04", - "release_date": "2024-08-16", - "last_updated": "2024-09-19", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.574, "output": 1.721 }, - "limit": { "context": 4096, "output": 3072 } - }, - "qwen2-5-72b-instruct": { - "id": "qwen2-5-72b-instruct", - "name": "Qwen2.5 72B Instruct", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-04", - "release_date": "2024-09", - "last_updated": "2024-09", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.574, "output": 1.721 }, - "limit": { "context": 131072, "output": 8192 } - }, - "qwen3-coder-30b-a3b-instruct": { - "id": "qwen3-coder-30b-a3b-instruct", - "name": "Qwen3-Coder 30B-A3B Instruct", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2025-04", - "release_date": "2025-04", - "last_updated": "2025-04", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.216, "output": 0.861 }, - "limit": { "context": 262144, "output": 65536 } - }, - "qwen3-8b": { - "id": "qwen3-8b", - "name": "Qwen3 8B", - "family": "qwen", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-04", - "release_date": "2025-04", - "last_updated": "2025-04", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.072, "output": 0.287, "reasoning": 0.717 }, - "limit": { "context": 131072, "output": 8192 } - }, - "qwen-mt-plus": { - "id": "qwen-mt-plus", - "name": "Qwen-MT Plus", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "knowledge": "2024-04", - "release_date": "2025-01", - "last_updated": "2025-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.259, "output": 0.775 }, - "limit": { "context": 16384, "output": 8192 } - }, - "qwen3.5-plus": { - "id": "qwen3.5-plus", - "name": "Qwen3.5 Plus", - "family": "qwen", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-04", - "release_date": "2026-02-16", - "last_updated": "2026-02-16", - "modalities": { "input": ["text", "image", "video"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.573, "output": 3.44, "reasoning": 3.44 }, - "limit": { "context": 1000000, "output": 65536 } - }, - "deepseek-v3-2-exp": { - "id": "deepseek-v3-2-exp", - "name": "DeepSeek V3.2 Exp", - "family": "deepseek", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "release_date": "2025-01-01", - "last_updated": "2025-01-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.287, "output": 0.431 }, - "limit": { "context": 131072, "output": 65536 } - }, - "deepseek-r1-distill-llama-70b": { - "id": "deepseek-r1-distill-llama-70b", - "name": "DeepSeek R1 Distill Llama 70B", - "family": "deepseek-thinking", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2025-01-01", - "last_updated": "2025-01-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.287, "output": 0.861 }, - "limit": { "context": 32768, "output": 16384 } - }, - "qwen2-5-omni-7b": { - "id": "qwen2-5-omni-7b", - "name": "Qwen2.5-Omni 7B", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-04", - "release_date": "2024-12", - "last_updated": "2024-12", - "modalities": { "input": ["text", "image", "audio", "video"], "output": ["text", "audio"] }, - "open_weights": true, - "cost": { "input": 0.087, "output": 0.345, "input_audio": 5.448 }, - "limit": { "context": 32768, "output": 2048 } - }, - "qwen-plus-character": { - "id": "qwen-plus-character", - "name": "Qwen Plus Character", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-04", - "release_date": "2024-01", - "last_updated": "2024-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.115, "output": 0.287 }, - "limit": { "context": 32768, "output": 4096 } - }, - "qwen-turbo": { - "id": "qwen-turbo", - "name": "Qwen Turbo", - "family": "qwen", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2024-04", - "release_date": "2024-11-01", - "last_updated": "2025-07-15", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.044, "output": 0.087, "reasoning": 0.431 }, - "limit": { "context": 1000000, "output": 16384 } - }, - "qwen-vl-max": { - "id": "qwen-vl-max", - "name": "Qwen-VL Max", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-04", - "release_date": "2024-04-08", - "last_updated": "2025-08-13", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.23, "output": 0.574 }, - "limit": { "context": 131072, "output": 8192 } - }, - "qwen-doc-turbo": { - "id": "qwen-doc-turbo", - "name": "Qwen Doc Turbo", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-04", - "release_date": "2024-01", - "last_updated": "2024-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.087, "output": 0.144 }, - "limit": { "context": 131072, "output": 8192 } - }, - "qwq-32b": { - "id": "qwq-32b", - "name": "QwQ 32B", - "family": "qwen", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2024-04", - "release_date": "2024-12", - "last_updated": "2024-12", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.287, "output": 0.861 }, - "limit": { "context": 131072, "output": 8192 } - }, - "kimi-k2-thinking": { - "id": "kimi-k2-thinking", - "name": "Moonshot Kimi K2 Thinking", - "family": "kimi", - "attachment": false, - "reasoning": true, - "tool_call": true, - "interleaved": { "field": "reasoning_content" }, - "structured_output": true, + "interleaved": { + "field": "reasoning_content" + }, "temperature": true, + "knowledge": "2024-08", "release_date": "2025-11-06", "last_updated": "2025-11-06", - "modalities": { "input": ["text"], "output": ["text"] }, + "modalities": { + "input": ["text"], + "output": ["text"] + }, "open_weights": true, - "cost": { "input": 0.574, "output": 2.294 }, - "limit": { "context": 262144, "output": 16384 } - }, - "qwen-omni-turbo-realtime": { - "id": "qwen-omni-turbo-realtime", - "name": "Qwen-Omni Turbo Realtime", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-04", - "release_date": "2025-05-08", - "last_updated": "2025-05-08", - "modalities": { "input": ["text", "image", "audio"], "output": ["text", "audio"] }, - "open_weights": false, - "cost": { "input": 0.23, "output": 0.918, "input_audio": 3.584, "output_audio": 7.168 }, - "limit": { "context": 32768, "output": 2048 } - }, - "deepseek-r1": { - "id": "deepseek-r1", - "name": "DeepSeek R1", - "family": "deepseek-thinking", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2025-01-01", - "last_updated": "2025-01-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.574, "output": 2.294 }, - "limit": { "context": 131072, "output": 16384 } - }, - "qwen-vl-plus": { - "id": "qwen-vl-plus", - "name": "Qwen-VL Plus", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-04", - "release_date": "2024-01-25", - "last_updated": "2025-08-15", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.115, "output": 0.287 }, - "limit": { "context": 131072, "output": 8192 } - }, - "qwen-max": { - "id": "qwen-max", - "name": "Qwen Max", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-04", - "release_date": "2024-04-03", - "last_updated": "2025-01-25", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.345, "output": 1.377 }, - "limit": { "context": 131072, "output": 8192 } - }, - "qvq-max": { - "id": "qvq-max", - "name": "QVQ Max", - "family": "qvq", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2024-04", - "release_date": "2025-03-25", - "last_updated": "2025-03-25", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.147, "output": 4.588 }, - "limit": { "context": 131072, "output": 8192 } - }, - "qwen-long": { - "id": "qwen-long", - "name": "Qwen Long", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-04", - "release_date": "2025-01-25", - "last_updated": "2025-01-25", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.072, "output": 0.287 }, - "limit": { "context": 10000000, "output": 8192 } - }, - "qwen-deep-research": { - "id": "qwen-deep-research", - "name": "Qwen Deep Research", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-04", - "release_date": "2024-01", - "last_updated": "2024-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 7.742, "output": 23.367 }, - "limit": { "context": 1000000, "output": 32768 } - }, - "moonshot-kimi-k2-instruct": { - "id": "moonshot-kimi-k2-instruct", - "name": "Moonshot Kimi K2 Instruct", - "family": "kimi", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": false, - "temperature": true, - "release_date": "2025-01-01", - "last_updated": "2025-01-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.574, "output": 2.294 }, - "limit": { "context": 131072, "output": 8192 } + "limit": { + "context": 262144, + "output": 262144 + }, + "cost": { + "input": 1.15, + "output": 8, + "cache_read": 0.15 + } }, "kimi-k2.5": { "id": "kimi-k2.5", - "name": "Moonshot Kimi K2.5", - "family": "kimi", + "name": "Kimi K2.5", + "family": "kimi-k2.5", "attachment": false, "reasoning": true, "tool_call": true, - "interleaved": { "field": "reasoning_content" }, - "structured_output": false, - "temperature": true, - "knowledge": "2025-01", - "release_date": "2026-01-27", - "last_updated": "2026-01-27", - "modalities": { "input": ["text", "image", "video"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.574, "output": 2.411 }, - "limit": { "context": 262144, "output": 32768 } - }, - "qwen2-5-coder-32b-instruct": { - "id": "qwen2-5-coder-32b-instruct", - "name": "Qwen2.5-Coder 32B Instruct", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-04", - "release_date": "2024-11", - "last_updated": "2024-11", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.287, "output": 0.861 }, - "limit": { "context": 131072, "output": 8192 } - }, - "deepseek-v3": { - "id": "deepseek-v3", - "name": "DeepSeek V3", - "family": "deepseek", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "release_date": "2024-12-01", - "last_updated": "2024-12-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.287, "output": 1.147 }, - "limit": { "context": 65536, "output": 8192 } - }, - "qwq-plus": { - "id": "qwq-plus", - "name": "QwQ Plus", - "family": "qwen", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2024-04", - "release_date": "2025-03-05", - "last_updated": "2025-03-05", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.23, "output": 0.574 }, - "limit": { "context": 131072, "output": 8192 } - }, - "qwen3-omni-flash": { - "id": "qwen3-omni-flash", - "name": "Qwen3-Omni Flash", - "family": "qwen", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2024-04", - "release_date": "2025-09-15", - "last_updated": "2025-09-15", - "modalities": { "input": ["text", "image", "audio", "video"], "output": ["text", "audio"] }, - "open_weights": false, - "cost": { "input": 0.058, "output": 0.23, "input_audio": 3.584, "output_audio": 7.168 }, - "limit": { "context": 65536, "output": 16384 } - }, - "qwen2-5-coder-7b-instruct": { - "id": "qwen2-5-coder-7b-instruct", - "name": "Qwen2.5-Coder 7B Instruct", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-04", - "release_date": "2024-11", - "last_updated": "2024-11", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.144, "output": 0.287 }, - "limit": { "context": 131072, "output": 8192 } - }, - "deepseek-r1-distill-qwen-1-5b": { - "id": "deepseek-r1-distill-qwen-1-5b", - "name": "DeepSeek R1 Distill Qwen 1.5B", - "family": "qwen", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2025-01-01", - "last_updated": "2025-01-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 32768, "output": 16384 } - }, - "deepseek-r1-distill-qwen-14b": { - "id": "deepseek-r1-distill-qwen-14b", - "name": "DeepSeek R1 Distill Qwen 14B", - "family": "qwen", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2025-01-01", - "last_updated": "2025-01-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.144, "output": 0.431 }, - "limit": { "context": 32768, "output": 16384 } - }, - "qwen3-14b": { - "id": "qwen3-14b", - "name": "Qwen3 14B", - "family": "qwen", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-04", - "release_date": "2025-04", - "last_updated": "2025-04", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.144, "output": 0.574, "reasoning": 1.434 }, - "limit": { "context": 131072, "output": 8192 } - }, - "qwen-plus": { - "id": "qwen-plus", - "name": "Qwen Plus", - "family": "qwen", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2024-04", - "release_date": "2024-01-25", - "last_updated": "2025-09-11", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.115, "output": 0.287, "reasoning": 1.147 }, - "limit": { "context": 1000000, "output": 32768 } - }, - "deepseek-r1-distill-qwen-7b": { - "id": "deepseek-r1-distill-qwen-7b", - "name": "DeepSeek R1 Distill Qwen 7B", - "family": "qwen", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2025-01-01", - "last_updated": "2025-01-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.072, "output": 0.144 }, - "limit": { "context": 32768, "output": 16384 } - }, - "qwen2-5-7b-instruct": { - "id": "qwen2-5-7b-instruct", - "name": "Qwen2.5 7B Instruct", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-04", - "release_date": "2024-09", - "last_updated": "2024-09", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.072, "output": 0.144 }, - "limit": { "context": 131072, "output": 8192 } - }, - "qwen2-5-32b-instruct": { - "id": "qwen2-5-32b-instruct", - "name": "Qwen2.5 32B Instruct", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-04", - "release_date": "2024-09", - "last_updated": "2024-09", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.287, "output": 0.861 }, - "limit": { "context": 131072, "output": 8192 } - }, - "qwen3-omni-flash-realtime": { - "id": "qwen3-omni-flash-realtime", - "name": "Qwen3-Omni Flash Realtime", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-04", - "release_date": "2025-09-15", - "last_updated": "2025-09-15", - "modalities": { "input": ["text", "image", "audio"], "output": ["text", "audio"] }, - "open_weights": false, - "cost": { "input": 0.23, "output": 0.918, "input_audio": 3.584, "output_audio": 7.168 }, - "limit": { "context": 65536, "output": 16384 } - }, - "qwen-math-turbo": { - "id": "qwen-math-turbo", - "name": "Qwen Math Turbo", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-04", - "release_date": "2024-09-19", - "last_updated": "2024-09-19", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.287, "output": 0.861 }, - "limit": { "context": 4096, "output": 3072 } - }, - "tongyi-intent-detect-v3": { - "id": "tongyi-intent-detect-v3", - "name": "Tongyi Intent Detect V3", - "family": "yi", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "knowledge": "2024-04", - "release_date": "2024-01", - "last_updated": "2024-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.058, "output": 0.144 }, - "limit": { "context": 8192, "output": 1024 } - }, - "qwen3-coder-480b-a35b-instruct": { - "id": "qwen3-coder-480b-a35b-instruct", - "name": "Qwen3-Coder 480B-A35B Instruct", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2025-04", - "release_date": "2025-04", - "last_updated": "2025-04", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.861, "output": 3.441 }, - "limit": { "context": 262144, "output": 65536 } - }, - "qwen3-next-80b-a3b-thinking": { - "id": "qwen3-next-80b-a3b-thinking", - "name": "Qwen3-Next 80B-A3B (Thinking)", - "family": "qwen", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-04", - "release_date": "2025-09", - "last_updated": "2025-09", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.144, "output": 1.434 }, - "limit": { "context": 131072, "output": 32768 } - }, - "MiniMax-M2.5": { - "id": "MiniMax-M2.5", - "name": "MiniMax-M2.5", - "family": "minimax", - "attachment": false, - "reasoning": true, - "tool_call": true, - "interleaved": { "field": "reasoning_content" }, - "temperature": true, - "release_date": "2026-02-12", - "last_updated": "2026-02-12", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.3, "output": 1.2 }, - "limit": { "context": 204800, "output": 131072 } - }, - "qwen3-vl-30b-a3b": { - "id": "qwen3-vl-30b-a3b", - "name": "Qwen3-VL 30B-A3B", - "family": "qwen", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-04", - "release_date": "2025-04", - "last_updated": "2025-04", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.108, "output": 0.431, "reasoning": 1.076 }, - "limit": { "context": 131072, "output": 32768 } - }, - "qwen3-next-80b-a3b-instruct": { - "id": "qwen3-next-80b-a3b-instruct", - "name": "Qwen3-Next 80B-A3B Instruct", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2025-04", - "release_date": "2025-09", - "last_updated": "2025-09", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.144, "output": 0.574 }, - "limit": { "context": 131072, "output": 32768 } - }, - "deepseek-r1-distill-qwen-32b": { - "id": "deepseek-r1-distill-qwen-32b", - "name": "DeepSeek R1 Distill Qwen 32B", - "family": "qwen", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2025-01-01", - "last_updated": "2025-01-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.287, "output": 0.861 }, - "limit": { "context": 32768, "output": 16384 } - }, - "qwen-mt-turbo": { - "id": "qwen-mt-turbo", - "name": "Qwen-MT Turbo", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "knowledge": "2024-04", - "release_date": "2025-01", - "last_updated": "2025-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.101, "output": 0.28 }, - "limit": { "context": 16384, "output": 8192 } - }, - "qwen3-vl-plus": { - "id": "qwen3-vl-plus", - "name": "Qwen3-VL Plus", - "family": "qwen", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-04", - "release_date": "2025-09-23", - "last_updated": "2025-09-23", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.143353, "output": 1.433525, "reasoning": 4.300576 }, - "limit": { "context": 262144, "output": 32768 } - }, - "deepseek-v3-1": { - "id": "deepseek-v3-1", - "name": "DeepSeek V3.1", - "family": "deepseek", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "release_date": "2025-01-01", - "last_updated": "2025-01-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.574, "output": 1.721 }, - "limit": { "context": 131072, "output": 65536 } - }, - "qwen3-235b-a22b": { - "id": "qwen3-235b-a22b", - "name": "Qwen3 235B-A22B", - "family": "qwen", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-04", - "release_date": "2025-04", - "last_updated": "2025-04", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.287, "output": 1.147, "reasoning": 2.868 }, - "limit": { "context": 131072, "output": 16384 } - }, - "qwen2-5-vl-7b-instruct": { - "id": "qwen2-5-vl-7b-instruct", - "name": "Qwen2.5-VL 7B Instruct", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-04", - "release_date": "2024-09", - "last_updated": "2024-09", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.287, "output": 0.717 }, - "limit": { "context": 131072, "output": 8192 } - }, - "glm-5": { - "id": "glm-5", - "name": "GLM-5", - "family": "glm", - "attachment": false, - "reasoning": true, - "tool_call": true, - "interleaved": { "field": "reasoning_content" }, - "temperature": true, - "release_date": "2026-02-11", - "last_updated": "2026-02-11", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.86, "output": 3.15 }, - "limit": { "context": 202752, "output": 16384 } - }, - "qwen-vl-ocr": { - "id": "qwen-vl-ocr", - "name": "Qwen-VL OCR", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "knowledge": "2024-04", - "release_date": "2024-10-28", - "last_updated": "2025-04-13", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.717, "output": 0.717 }, - "limit": { "context": 34096, "output": 4096 } - }, - "qwen-omni-turbo": { - "id": "qwen-omni-turbo", - "name": "Qwen-Omni Turbo", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-04", - "release_date": "2025-01-19", - "last_updated": "2025-03-26", - "modalities": { "input": ["text", "image", "audio", "video"], "output": ["text", "audio"] }, - "open_weights": false, - "cost": { "input": 0.058, "output": 0.23, "input_audio": 3.584, "output_audio": 7.168 }, - "limit": { "context": 32768, "output": 2048 } - }, - "qwen3.5-397b-a17b": { - "id": "qwen3.5-397b-a17b", - "name": "Qwen3.5 397B-A17B", - "family": "qwen", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-04", - "release_date": "2026-02-16", - "last_updated": "2026-02-16", - "modalities": { "input": ["text", "image", "video"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.43, "output": 2.58, "reasoning": 2.58 }, - "limit": { "context": 262144, "output": 65536 } - }, - "qwen-flash": { - "id": "qwen-flash", - "name": "Qwen Flash", - "family": "qwen", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2024-04", - "release_date": "2025-07-28", - "last_updated": "2025-07-28", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.022, "output": 0.216 }, - "limit": { "context": 1000000, "output": 32768 } - }, - "qwen2-5-math-7b-instruct": { - "id": "qwen2-5-math-7b-instruct", - "name": "Qwen2.5-Math 7B Instruct", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-04", - "release_date": "2024-09", - "last_updated": "2024-09", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.144, "output": 0.287 }, - "limit": { "context": 4096, "output": 3072 } - }, - "deepseek-r1-0528": { - "id": "deepseek-r1-0528", - "name": "DeepSeek R1 0528", - "family": "deepseek-thinking", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2025-05-28", - "last_updated": "2025-05-28", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.574, "output": 2.294 }, - "limit": { "context": 131072, "output": 16384 } - }, - "qwen3-max": { - "id": "qwen3-max", - "name": "Qwen3 Max", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2025-04", - "release_date": "2025-09-23", - "last_updated": "2025-09-23", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.861, "output": 3.441 }, - "limit": { "context": 262144, "output": 65536 } - }, - "qwen2-5-vl-72b-instruct": { - "id": "qwen2-5-vl-72b-instruct", - "name": "Qwen2.5-VL 72B Instruct", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-04", - "release_date": "2024-09", - "last_updated": "2024-09", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 2.294, "output": 6.881 }, - "limit": { "context": 131072, "output": 8192 } - }, - "qwen3-32b": { - "id": "qwen3-32b", - "name": "Qwen3 32B", - "family": "qwen", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-04", - "release_date": "2025-04", - "last_updated": "2025-04", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.287, "output": 1.147, "reasoning": 2.868 }, - "limit": { "context": 131072, "output": 16384 } - }, - "qwen2-5-math-72b-instruct": { - "id": "qwen2-5-math-72b-instruct", - "name": "Qwen2.5-Math 72B Instruct", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-04", - "release_date": "2024-09", - "last_updated": "2024-09", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.574, "output": 1.721 }, - "limit": { "context": 4096, "output": 3072 } - }, - "deepseek-r1-distill-llama-8b": { - "id": "deepseek-r1-distill-llama-8b", - "name": "DeepSeek R1 Distill Llama 8B", - "family": "deepseek-thinking", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2025-01-01", - "last_updated": "2025-01-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 32768, "output": 16384 } - }, - "qwen3-asr-flash": { - "id": "qwen3-asr-flash", - "name": "Qwen3-ASR Flash", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": false, - "knowledge": "2024-04", - "release_date": "2025-09-08", - "last_updated": "2025-09-08", - "modalities": { "input": ["audio"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.032, "output": 0.032 }, - "limit": { "context": 53248, "output": 4096 } - }, - "qwen3-coder-flash": { - "id": "qwen3-coder-flash", - "name": "Qwen3 Coder Flash", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2025-04", - "release_date": "2025-07-28", - "last_updated": "2025-07-28", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.144, "output": 0.574 }, - "limit": { "context": 1000000, "output": 65536 } - }, - "qwen2-5-14b-instruct": { - "id": "qwen2-5-14b-instruct", - "name": "Qwen2.5 14B Instruct", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-04", - "release_date": "2024-09", - "last_updated": "2024-09", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.144, "output": 0.431 }, - "limit": { "context": 131072, "output": 8192 } - }, - "qwen3-vl-235b-a22b": { - "id": "qwen3-vl-235b-a22b", - "name": "Qwen3-VL 235B-A22B", - "family": "qwen", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-04", - "release_date": "2025-04", - "last_updated": "2025-04", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.286705, "output": 1.14682, "reasoning": 2.867051 }, - "limit": { "context": 131072, "output": 32768 } - }, - "qwen3.5-flash": { - "id": "qwen3.5-flash", - "name": "Qwen3.5 Flash", - "family": "qwen", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2025-04", - "release_date": "2026-02-23", - "last_updated": "2026-02-23", - "modalities": { "input": ["text", "image", "video"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.172, "output": 1.72, "reasoning": 1.72 }, - "limit": { "context": 1000000, "output": 65536 } - }, - "qwen3-coder-plus": { - "id": "qwen3-coder-plus", - "name": "Qwen3 Coder Plus", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2025-04", - "release_date": "2025-07-23", - "last_updated": "2025-07-23", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 1, "output": 5 }, - "limit": { "context": 1048576, "output": 65536 } - }, - "MiniMax/MiniMax-M2.5": { - "id": "MiniMax/MiniMax-M2.5", - "name": "MiniMax M2.5", - "family": "minimax", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2026-02-12", - "last_updated": "2026-02-12", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.301, "output": 1.205 }, - "limit": { "context": 204800, "output": 131072 } - }, - "kimi/kimi-k2.5": { - "id": "kimi/kimi-k2.5", - "name": "kimi/kimi-k2.5", - "family": "kimi", - "attachment": false, - "reasoning": true, - "tool_call": true, - "interleaved": { "field": "reasoning_content" }, + "interleaved": { + "field": "reasoning_content" + }, "structured_output": true, "temperature": false, "knowledge": "2025-01", - "release_date": "2026-01-27", - "last_updated": "2026-01-27", - "modalities": { "input": ["text", "image", "video"], "output": ["text"] }, + "release_date": "2026-01", + "last_updated": "2026-01", + "modalities": { + "input": ["text", "image", "video"], + "output": ["text"] + }, "open_weights": true, - "cost": { "input": 0.6, "output": 3, "cache_read": 0.1 }, - "limit": { "context": 262144, "output": 262144 } + "limit": { + "context": 262144, + "output": 262144 + }, + "cost": { + "input": 0.6, + "output": 3, + "cache_read": 0.1 + } }, - "siliconflow/deepseek-v3.1-terminus": { - "id": "siliconflow/deepseek-v3.1-terminus", - "name": "siliconflow/deepseek-v3.1-terminus", - "family": "deepseek", - "attachment": false, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-09-29", - "last_updated": "2025-11-25", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.27, "output": 1 }, - "limit": { "context": 163840, "output": 65536 } - }, - "siliconflow/deepseek-v3-0324": { - "id": "siliconflow/deepseek-v3-0324", - "name": "siliconflow/deepseek-v3-0324", - "family": "deepseek", + "kimi-k2-0905-preview": { + "id": "kimi-k2-0905-preview", + "name": "Kimi K2 0905", + "family": "kimi", "attachment": false, "reasoning": false, "tool_call": true, - "structured_output": true, "temperature": true, - "release_date": "2024-12-26", - "last_updated": "2025-11-25", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.25, "output": 1 }, - "limit": { "context": 163840, "output": 163840 } - }, - "siliconflow/deepseek-r1-0528": { - "id": "siliconflow/deepseek-r1-0528", - "name": "siliconflow/deepseek-r1-0528", - "family": "deepseek-thinking", - "attachment": false, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-05-28", - "last_updated": "2025-11-25", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.5, "output": 2.18 }, - "limit": { "context": 163840, "output": 32768 } - }, - "siliconflow/deepseek-v3.2": { - "id": "siliconflow/deepseek-v3.2", - "name": "siliconflow/deepseek-v3.2", - "family": "deepseek", - "attachment": false, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-12-03", - "last_updated": "2025-12-03", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.27, "output": 0.42 }, - "limit": { "context": 163840, "output": 65536 } + "knowledge": "2024-10", + "release_date": "2025-09-05", + "last_updated": "2025-09-05", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 262144 + }, + "cost": { + "input": 0.6, + "output": 2.5, + "cache_read": 0.15 + } } } }, - "requesty": { - "id": "requesty", - "env": ["REQUESTY_API_KEY"], - "npm": "@ai-sdk/openai-compatible", - "api": "https://router.requesty.ai/v1", - "name": "Requesty", - "doc": "https://requesty.ai/solution/llm-routing/models", + "azure-cognitive-services": { + "id": "azure-cognitive-services", + "env": ["AZURE_COGNITIVE_SERVICES_RESOURCE_NAME", "AZURE_COGNITIVE_SERVICES_API_KEY"], + "npm": "@ai-sdk/azure", + "name": "Azure Cognitive Services", + "doc": "https://learn.microsoft.com/en-us/azure/ai-services/openai/concepts/models", "models": { - "openai/gpt-5.2-codex": { - "id": "openai/gpt-5.2-codex", - "name": "GPT-5.2-Codex", - "family": "gpt-codex", + "claude-haiku-4-5": { + "id": "claude-haiku-4-5", + "name": "Claude Haiku 4.5", + "family": "claude-haiku", "attachment": true, "reasoning": true, "tool_call": true, "structured_output": true, "temperature": true, - "knowledge": "2025-08-31", - "release_date": "2026-01-14", - "last_updated": "2026-01-14", - "modalities": { "input": ["text", "image"], "output": ["text"] }, + "knowledge": "2025-02-31", + "release_date": "2025-11-18", + "last_updated": "2025-11-18", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, "open_weights": false, - "cost": { "input": 1.75, "output": 14, "cache_read": 0.175 }, - "limit": { "context": 400000, "output": 128000 } + "limit": { + "context": 200000, + "output": 64000 + }, + "provider": { + "npm": "@ai-sdk/anthropic", + "api": "https://${AZURE_COGNITIVE_SERVICES_RESOURCE_NAME}.services.ai.azure.com/anthropic/v1" + }, + "cost": { + "input": 1, + "output": 5, + "cache_read": 0.1, + "cache_write": 1.25 + } }, - "openai/gpt-5.1-codex-mini": { - "id": "openai/gpt-5.1-codex-mini", - "name": "GPT-5.1-Codex-Mini", - "family": "gpt-codex", + "claude-opus-4-1": { + "id": "claude-opus-4-1", + "name": "Claude Opus 4.1", + "family": "claude-opus", "attachment": true, "reasoning": true, "tool_call": true, "structured_output": true, "temperature": true, - "knowledge": "2024-09-30", - "release_date": "2025-11-13", - "last_updated": "2025-11-13", - "modalities": { "input": ["text", "image"], "output": ["text"] }, + "knowledge": "2025-03-31", + "release_date": "2025-11-18", + "last_updated": "2025-11-18", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, "open_weights": false, - "cost": { "input": 0.25, "output": 2, "cache_read": 0.025 }, - "limit": { "context": 400000, "output": 100000 } + "limit": { + "context": 200000, + "output": 32000 + }, + "provider": { + "npm": "@ai-sdk/anthropic", + "api": "https://${AZURE_COGNITIVE_SERVICES_RESOURCE_NAME}.services.ai.azure.com/anthropic/v1" + }, + "cost": { + "input": 15, + "output": 75, + "cache_read": 1.5, + "cache_write": 18.75 + } }, - "openai/gpt-5.4-pro": { - "id": "openai/gpt-5.4-pro", - "name": "GPT-5.4 Pro", - "family": "gpt-pro", + "claude-opus-4-5": { + "id": "claude-opus-4-5", + "name": "Claude Opus 4.5", + "family": "claude-opus", "attachment": true, "reasoning": true, "tool_call": true, - "structured_output": false, - "temperature": false, - "knowledge": "2025-08-31", - "release_date": "2026-03-05", - "last_updated": "2026-03-05", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, + "temperature": true, + "knowledge": "2025-03-31", + "release_date": "2025-11-24", + "last_updated": "2025-08-01", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, "open_weights": false, - "cost": { "input": 30, "output": 180, "cache_read": 30 }, - "limit": { "context": 1050000, "input": 922000, "output": 128000 } + "limit": { + "context": 200000, + "output": 64000 + }, + "provider": { + "npm": "@ai-sdk/anthropic", + "api": "https://${AZURE_COGNITIVE_SERVICES_RESOURCE_NAME}.services.ai.azure.com/anthropic/v1" + }, + "cost": { + "input": 5, + "output": 25, + "cache_read": 0.5, + "cache_write": 6.25 + } }, - "openai/gpt-5-pro": { - "id": "openai/gpt-5-pro", - "name": "GPT-5 Pro", - "family": "gpt-pro", + "kimi-k2.6": { + "id": "kimi-k2.6", + "name": "Kimi K2.6", + "family": "kimi", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": true, + "structured_output": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2026-04-22", + "last_updated": "2026-04-22", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 262144 + }, + "provider": { + "npm": "@ai-sdk/openai-compatible", + "api": "https://${AZURE_RESOURCE_NAME}.services.ai.azure.com/models", + "shape": "completions" + }, + "cost": { + "input": 0.95, + "output": 4 + } + }, + "claude-opus-4-6": { + "id": "claude-opus-4-6", + "name": "Claude Opus 4.6", + "family": "claude-opus", "attachment": true, "reasoning": true, "tool_call": true, + "temperature": true, + "knowledge": "2025-05-31", + "release_date": "2026-02-05", + "last_updated": "2026-02-05", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 128000 + }, + "provider": { + "npm": "@ai-sdk/anthropic", + "api": "https://${AZURE_COGNITIVE_SERVICES_RESOURCE_NAME}.services.ai.azure.com/anthropic/v1" + }, + "cost": { + "input": 5, + "output": 25, + "cache_read": 0.5, + "cache_write": 6.25, + "tiers": [ + { + "input": 10, + "output": 37.5, + "cache_read": 1, + "cache_write": 12.5, + "tier": { + "type": "context", + "size": 200000 + } + } + ], + "context_over_200k": { + "input": 10, + "output": 37.5, + "cache_read": 1, + "cache_write": 12.5 + } + } + }, + "claude-sonnet-4-5": { + "id": "claude-sonnet-4-5", + "name": "Claude Sonnet 4.5", + "family": "claude-sonnet", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2025-07-31", + "release_date": "2025-11-18", + "last_updated": "2025-11-18", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 64000 + }, + "provider": { + "npm": "@ai-sdk/anthropic", + "api": "https://${AZURE_COGNITIVE_SERVICES_RESOURCE_NAME}.services.ai.azure.com/anthropic/v1" + }, + "cost": { + "input": 3, + "output": 15, + "cache_read": 0.3, + "cache_write": 3.75 + } + }, + "mai-ds-r1": { + "id": "mai-ds-r1", + "name": "MAI-DS-R1", + "family": "mai", + "attachment": false, + "reasoning": true, + "tool_call": false, + "temperature": true, + "knowledge": "2024-06", + "release_date": "2025-01-20", + "last_updated": "2025-01-20", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 8192 + }, + "cost": { + "input": 1.35, + "output": 5.4 + } + }, + "llama-4-maverick-17b-128e-instruct-fp8": { + "id": "llama-4-maverick-17b-128e-instruct-fp8", + "name": "Llama 4 Maverick 17B 128E Instruct FP8", + "family": "llama", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-08", + "release_date": "2025-04-05", + "last_updated": "2025-04-05", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 8192 + }, + "cost": { + "input": 0.25, + "output": 1 + } + }, + "codestral-2501": { + "id": "codestral-2501", + "name": "Codestral 25.01", + "family": "codestral", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-03", + "release_date": "2025-01-01", + "last_updated": "2025-01-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 256000, + "output": 256000 + }, + "cost": { + "input": 0.3, + "output": 0.9 + } + }, + "gpt-5.1-codex": { + "id": "gpt-5.1-codex", + "name": "GPT-5.1 Codex", + "family": "gpt-codex", + "attachment": false, + "reasoning": true, + "tool_call": true, "structured_output": true, "temperature": false, "knowledge": "2024-09-30", - "release_date": "2025-10-06", - "last_updated": "2025-10-06", - "modalities": { "input": ["text", "image"], "output": ["text"] }, + "release_date": "2025-11-14", + "last_updated": "2025-11-14", + "modalities": { + "input": ["text", "image", "audio"], + "output": ["text", "image", "audio"] + }, "open_weights": false, - "cost": { "input": 15, "output": 120 }, - "limit": { "context": 400000, "output": 272000 } + "limit": { + "context": 400000, + "output": 128000 + }, + "cost": { + "input": 1.25, + "output": 10, + "cache_read": 0.125 + } }, - "openai/gpt-5": { - "id": "openai/gpt-5", + "kimi-k2-thinking": { + "id": "kimi-k2-thinking", + "name": "Kimi K2 Thinking", + "family": "kimi-thinking", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": true, + "temperature": true, + "knowledge": "2024-08", + "release_date": "2025-11-06", + "last_updated": "2025-12-02", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 262144 + }, + "cost": { + "input": 0.6, + "output": 2.5, + "cache_read": 0.15 + } + }, + "deepseek-r1-0528": { + "id": "deepseek-r1-0528", + "name": "DeepSeek-R1-0528", + "family": "deepseek-thinking", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-07", + "release_date": "2025-05-28", + "last_updated": "2025-05-28", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 163840, + "output": 163840 + }, + "cost": { + "input": 1.35, + "output": 5.4 + } + }, + "gpt-3.5-turbo-instruct": { + "id": "gpt-3.5-turbo-instruct", + "name": "GPT-3.5 Turbo Instruct", + "family": "gpt", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "knowledge": "2021-08", + "release_date": "2023-09-21", + "last_updated": "2023-09-21", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 4096, + "output": 4096 + }, + "cost": { + "input": 1.5, + "output": 2 + } + }, + "mistral-medium-2505": { + "id": "mistral-medium-2505", + "name": "Mistral Medium 3", + "family": "mistral-medium", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-05", + "release_date": "2025-05-07", + "last_updated": "2025-05-07", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 128000 + }, + "cost": { + "input": 0.4, + "output": 2 + } + }, + "phi-4-reasoning-plus": { + "id": "phi-4-reasoning-plus", + "name": "Phi-4-reasoning-plus", + "family": "phi", + "attachment": false, + "reasoning": true, + "tool_call": false, + "temperature": true, + "knowledge": "2023-10", + "release_date": "2024-12-11", + "last_updated": "2024-12-11", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 32000, + "output": 4096 + }, + "cost": { + "input": 0.125, + "output": 0.5 + } + }, + "cohere-embed-v3-english": { + "id": "cohere-embed-v3-english", + "name": "Embed v3 English", + "family": "cohere-embed", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": false, + "release_date": "2023-11-07", + "last_updated": "2023-11-07", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 512, + "output": 1024 + }, + "cost": { + "input": 0.1, + "output": 0 + } + }, + "gpt-4-32k": { + "id": "gpt-4-32k", + "name": "GPT-4 32K", + "family": "gpt", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2023-11", + "release_date": "2023-03-14", + "last_updated": "2023-03-14", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 32768, + "output": 32768 + }, + "cost": { + "input": 60, + "output": 120 + } + }, + "gpt-5": { + "id": "gpt-5", "name": "GPT-5", "family": "gpt", "attachment": true, @@ -19142,168 +74883,854 @@ "knowledge": "2024-09-30", "release_date": "2025-08-07", "last_updated": "2025-08-07", - "modalities": { "input": ["text", "audio", "image", "video"], "output": ["text", "audio", "image"] }, + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, "open_weights": false, - "cost": { "input": 1.25, "output": 10, "cache_read": 0.13 }, - "limit": { "context": 400000, "output": 128000 } + "limit": { + "context": 272000, + "output": 128000 + }, + "cost": { + "input": 1.25, + "output": 10, + "cache_read": 0.13 + } }, - "openai/gpt-5.3-codex": { - "id": "openai/gpt-5.3-codex", - "name": "GPT-5.3-Codex", + "phi-4": { + "id": "phi-4", + "name": "Phi-4", + "family": "phi", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "knowledge": "2023-10", + "release_date": "2024-12-11", + "last_updated": "2024-12-11", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 4096 + }, + "cost": { + "input": 0.125, + "output": 0.5 + } + }, + "gpt-3.5-turbo-0613": { + "id": "gpt-3.5-turbo-0613", + "name": "GPT-3.5 Turbo 0613", + "family": "gpt", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "knowledge": "2021-08", + "release_date": "2023-06-13", + "last_updated": "2023-06-13", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 16384, + "output": 16384 + }, + "cost": { + "input": 3, + "output": 4 + } + }, + "phi-3-medium-128k-instruct": { + "id": "phi-3-medium-128k-instruct", + "name": "Phi-3-medium-instruct (128k)", + "family": "phi", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "knowledge": "2023-10", + "release_date": "2024-04-23", + "last_updated": "2024-04-23", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 4096 + }, + "cost": { + "input": 0.17, + "output": 0.68 + } + }, + "deepseek-v3.2": { + "id": "deepseek-v3.2", + "name": "DeepSeek-V3.2", + "family": "deepseek", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-07", + "release_date": "2025-12-01", + "last_updated": "2025-12-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 128000 + }, + "cost": { + "input": 0.58, + "output": 1.68 + } + }, + "phi-3-small-128k-instruct": { + "id": "phi-3-small-128k-instruct", + "name": "Phi-3-small-instruct (128k)", + "family": "phi", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "knowledge": "2023-10", + "release_date": "2024-04-23", + "last_updated": "2024-04-23", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 4096 + }, + "cost": { + "input": 0.15, + "output": 0.6 + } + }, + "gpt-3.5-turbo-0301": { + "id": "gpt-3.5-turbo-0301", + "name": "GPT-3.5 Turbo 0301", + "family": "gpt", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "knowledge": "2021-08", + "release_date": "2023-03-01", + "last_updated": "2023-03-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 4096, + "output": 4096 + }, + "cost": { + "input": 1.5, + "output": 2 + } + }, + "phi-4-mini": { + "id": "phi-4-mini", + "name": "Phi-4-mini", + "family": "phi", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2023-10", + "release_date": "2024-12-11", + "last_updated": "2024-12-11", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 4096 + }, + "cost": { + "input": 0.075, + "output": 0.3 + } + }, + "gpt-5-codex": { + "id": "gpt-5-codex", + "name": "GPT-5-Codex", "family": "gpt-codex", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": false, + "knowledge": "2024-09-30", + "release_date": "2025-09-15", + "last_updated": "2025-09-15", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "output": 128000 + }, + "cost": { + "input": 1.25, + "output": 10, + "cache_read": 0.13 + } + }, + "meta-llama-3-8b-instruct": { + "id": "meta-llama-3-8b-instruct", + "name": "Meta-Llama-3-8B-Instruct", + "family": "llama", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "knowledge": "2023-12", + "release_date": "2024-04-18", + "last_updated": "2024-04-18", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 8192, + "output": 2048 + }, + "cost": { + "input": 0.3, + "output": 0.61 + } + }, + "gpt-4": { + "id": "gpt-4", + "name": "GPT-4", + "family": "gpt", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2023-11", + "release_date": "2023-03-14", + "last_updated": "2023-03-14", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 8192, + "output": 8192 + }, + "cost": { + "input": 60, + "output": 120 + } + }, + "phi-4-mini-reasoning": { + "id": "phi-4-mini-reasoning", + "name": "Phi-4-mini-reasoning", + "family": "phi", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2023-10", + "release_date": "2024-12-11", + "last_updated": "2024-12-11", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 4096 + }, + "cost": { + "input": 0.075, + "output": 0.3 + } + }, + "meta-llama-3.1-70b-instruct": { + "id": "meta-llama-3.1-70b-instruct", + "name": "Meta-Llama-3.1-70B-Instruct", + "family": "llama", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2023-12", + "release_date": "2024-07-23", + "last_updated": "2024-07-23", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 32768 + }, + "cost": { + "input": 2.68, + "output": 3.54 + } + }, + "phi-3-mini-4k-instruct": { + "id": "phi-3-mini-4k-instruct", + "name": "Phi-3-mini-instruct (4k)", + "family": "phi", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "knowledge": "2023-10", + "release_date": "2024-04-23", + "last_updated": "2024-04-23", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 4096, + "output": 1024 + }, + "cost": { + "input": 0.13, + "output": 0.52 + } + }, + "deepseek-v3.1": { + "id": "deepseek-v3.1", + "name": "DeepSeek-V3.1", + "family": "deepseek", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-07", + "release_date": "2025-08-21", + "last_updated": "2025-08-21", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 131072 + }, + "cost": { + "input": 0.56, + "output": 1.68 + } + }, + "text-embedding-3-small": { + "id": "text-embedding-3-small", + "name": "text-embedding-3-small", + "family": "text-embedding", + "attachment": false, + "reasoning": false, + "tool_call": false, + "release_date": "2024-01-25", + "last_updated": "2024-01-25", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 8191, + "output": 1536 + }, + "cost": { + "input": 0.02, + "output": 0 + } + }, + "gpt-3.5-turbo-1106": { + "id": "gpt-3.5-turbo-1106", + "name": "GPT-3.5 Turbo 1106", + "family": "gpt", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "knowledge": "2021-08", + "release_date": "2023-11-06", + "last_updated": "2023-11-06", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 16384, + "output": 16384 + }, + "cost": { + "input": 1, + "output": 2 + } + }, + "model-router": { + "id": "model-router", + "name": "Model Router", + "family": "model-router", "attachment": true, + "reasoning": false, + "tool_call": true, + "release_date": "2025-05-19", + "last_updated": "2025-11-18", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 16384 + }, + "cost": { + "input": 0.14, + "output": 0 + } + }, + "mistral-small-2503": { + "id": "mistral-small-2503", + "name": "Mistral Small 3.1", + "family": "mistral-small", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-09", + "release_date": "2025-03-01", + "last_updated": "2025-03-01", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 32768 + }, + "cost": { + "input": 0.1, + "output": 0.3 + } + }, + "o1": { + "id": "o1", + "name": "o1", + "family": "o", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": false, + "knowledge": "2023-09", + "release_date": "2024-12-05", + "last_updated": "2024-12-05", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 100000 + }, + "cost": { + "input": 15, + "output": 60, + "cache_read": 7.5 + } + }, + "grok-4-fast-reasoning": { + "id": "grok-4-fast-reasoning", + "name": "Grok 4 Fast (Reasoning)", + "family": "grok", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-07", + "release_date": "2025-09-19", + "last_updated": "2025-09-19", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 2000000, + "output": 30000 + }, + "cost": { + "input": 0.2, + "output": 0.5, + "cache_read": 0.05 + } + }, + "gpt-5.1": { + "id": "gpt-5.1", + "name": "GPT-5.1", + "family": "gpt", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": false, + "knowledge": "2024-09-30", + "release_date": "2025-11-14", + "last_updated": "2025-11-14", + "modalities": { + "input": ["text", "image", "audio"], + "output": ["text", "image", "audio"] + }, + "open_weights": false, + "limit": { + "context": 272000, + "output": 128000 + }, + "cost": { + "input": 1.25, + "output": 10, + "cache_read": 0.125 + } + }, + "cohere-embed-v3-multilingual": { + "id": "cohere-embed-v3-multilingual", + "name": "Embed v3 Multilingual", + "family": "cohere-embed", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": false, + "release_date": "2023-11-07", + "last_updated": "2023-11-07", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 512, + "output": 1024 + }, + "cost": { + "input": 0.1, + "output": 0 + } + }, + "o1-preview": { + "id": "o1-preview", + "name": "o1-preview", + "family": "o", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": false, + "knowledge": "2023-09", + "release_date": "2024-09-12", + "last_updated": "2024-09-12", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 32768 + }, + "cost": { + "input": 16.5, + "output": 66, + "cache_read": 8.25 + } + }, + "gpt-3.5-turbo-0125": { + "id": "gpt-3.5-turbo-0125", + "name": "GPT-3.5 Turbo 0125", + "family": "gpt", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "knowledge": "2021-08", + "release_date": "2024-01-25", + "last_updated": "2024-01-25", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 16384, + "output": 16384 + }, + "cost": { + "input": 0.5, + "output": 1.5 + } + }, + "gpt-5.1-codex-mini": { + "id": "gpt-5.1-codex-mini", + "name": "GPT-5.1 Codex Mini", + "family": "gpt-codex", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": false, + "knowledge": "2024-09-30", + "release_date": "2025-11-14", + "last_updated": "2025-11-14", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "output": 128000 + }, + "cost": { + "input": 0.25, + "output": 2, + "cache_read": 0.025 + } + }, + "cohere-embed-v-4-0": { + "id": "cohere-embed-v-4-0", + "name": "Embed v4", + "family": "cohere-embed", + "attachment": true, + "reasoning": false, + "tool_call": false, + "temperature": false, + "release_date": "2025-04-15", + "last_updated": "2025-04-15", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 1536 + }, + "cost": { + "input": 0.12, + "output": 0 + } + }, + "gpt-5.2-codex": { + "id": "gpt-5.2-codex", + "name": "GPT-5.2 Codex", + "family": "gpt-codex", + "attachment": false, "reasoning": true, "tool_call": true, "structured_output": true, "temperature": false, "knowledge": "2025-08-31", - "release_date": "2026-02-24", - "last_updated": "2026-02-24", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, + "release_date": "2026-01-14", + "last_updated": "2026-01-14", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, "open_weights": false, - "cost": { "input": 1.75, "output": 14, "cache_read": 0.175 }, - "limit": { "context": 400000, "output": 128000 } + "limit": { + "context": 400000, + "output": 128000 + }, + "cost": { + "input": 1.75, + "output": 14, + "cache_read": 0.175 + } }, - "openai/gpt-5-mini": { - "id": "openai/gpt-5-mini", - "name": "GPT-5 Mini", - "family": "gpt-mini", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": false, - "knowledge": "2024-05-30", - "release_date": "2025-08-07", - "last_updated": "2025-08-07", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.25, "output": 2, "cache_read": 0.03 }, - "limit": { "context": 128000, "output": 32000 } - }, - "openai/gpt-4o-mini": { - "id": "openai/gpt-4o-mini", - "name": "GPT-4o Mini", - "family": "gpt-mini", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-10", - "release_date": "2024-07-18", - "last_updated": "2024-07-18", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.15, "output": 0.6, "cache_read": 0.08 }, - "limit": { "context": 128000, "output": 16384 } - }, - "openai/gpt-5.1-codex-max": { - "id": "openai/gpt-5.1-codex-max", - "name": "GPT-5.1-Codex-Max", - "family": "gpt-codex", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2024-09-30", - "release_date": "2025-11-13", - "last_updated": "2025-11-13", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.1, "output": 9, "cache_read": 0.11 }, - "limit": { "context": 400000, "output": 128000 } - }, - "openai/gpt-4.1": { - "id": "openai/gpt-4.1", - "name": "GPT-4.1", + "gpt-4-turbo-vision": { + "id": "gpt-4-turbo-vision", + "name": "GPT-4 Turbo Vision", "family": "gpt", "attachment": true, "reasoning": false, "tool_call": true, "temperature": true, - "knowledge": "2024-04", - "release_date": "2025-04-14", - "last_updated": "2025-04-14", - "modalities": { "input": ["text", "image"], "output": ["text"] }, + "knowledge": "2023-11", + "release_date": "2023-11-06", + "last_updated": "2024-04-09", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, "open_weights": false, - "cost": { "input": 2, "output": 8, "cache_read": 0.5 }, - "limit": { "context": 1047576, "output": 32768 } + "limit": { + "context": 128000, + "output": 4096 + }, + "cost": { + "input": 10, + "output": 30 + } }, - "openai/gpt-5.1-chat": { - "id": "openai/gpt-5.1-chat", + "gpt-5.1-chat": { + "id": "gpt-5.1-chat", "name": "GPT-5.1 Chat", "family": "gpt-codex", "attachment": true, "reasoning": true, "tool_call": true, "structured_output": true, - "temperature": true, + "temperature": false, "knowledge": "2024-09-30", - "release_date": "2025-11-13", - "last_updated": "2025-11-13", - "modalities": { "input": ["text", "image"], "output": ["text"] }, + "release_date": "2025-11-14", + "last_updated": "2025-11-14", + "modalities": { + "input": ["text", "image", "audio"], + "output": ["text", "image", "audio"] + }, "open_weights": false, - "cost": { "input": 1.25, "output": 10, "cache_read": 0.125 }, - "limit": { "context": 128000, "output": 16384 } + "limit": { + "context": 128000, + "output": 16384 + }, + "cost": { + "input": 1.25, + "output": 10, + "cache_read": 0.125 + } }, - "openai/gpt-5.4": { - "id": "openai/gpt-5.4", - "name": "GPT-5.4", - "family": "gpt", + "meta-llama-3.1-405b-instruct": { + "id": "meta-llama-3.1-405b-instruct", + "name": "Meta-Llama-3.1-405B-Instruct", + "family": "llama", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2023-12", + "release_date": "2024-07-23", + "last_updated": "2024-07-23", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 32768 + }, + "cost": { + "input": 5.33, + "output": 16 + } + }, + "llama-3.2-11b-vision-instruct": { + "id": "llama-3.2-11b-vision-instruct", + "name": "Llama-3.2-11B-Vision-Instruct", + "family": "llama", "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2023-12", + "release_date": "2024-09-25", + "last_updated": "2024-09-25", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 8192 + }, + "cost": { + "input": 0.37, + "output": 0.37 + } + }, + "cohere-command-a": { + "id": "cohere-command-a", + "name": "Command A", + "family": "command-a", + "attachment": false, "reasoning": true, "tool_call": true, - "structured_output": true, - "temperature": false, - "knowledge": "2025-08-31", - "release_date": "2026-03-05", - "last_updated": "2026-03-05", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, + "temperature": true, + "knowledge": "2024-06-01", + "release_date": "2025-03-13", + "last_updated": "2025-03-13", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 256000, + "output": 8000 + }, "cost": { "input": 2.5, - "output": 15, - "cache_read": 0.25, - "context_over_200k": { "input": 5, "output": 22.5, "cache_read": 0.5 } - }, - "limit": { "context": 1050000, "input": 922000, "output": 128000 } + "output": 10 + } }, - "openai/gpt-5-chat": { - "id": "openai/gpt-5-chat", - "name": "GPT-5 Chat (latest)", - "family": "gpt-codex", - "attachment": true, - "reasoning": true, - "tool_call": false, - "structured_output": true, - "temperature": true, - "knowledge": "2024-09-30", - "release_date": "2025-08-07", - "last_updated": "2025-08-07", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.25, "output": 10 }, - "limit": { "context": 400000, "output": 128000 } - }, - "openai/gpt-5.2-chat": { - "id": "openai/gpt-5.2-chat", - "name": "GPT-5.2 Chat", - "family": "gpt-codex", - "attachment": true, - "reasoning": true, + "mistral-large-2411": { + "id": "mistral-large-2411", + "name": "Mistral Large 24.11", + "family": "mistral-large", + "attachment": false, + "reasoning": false, "tool_call": true, - "structured_output": true, - "temperature": false, - "knowledge": "2025-08-31", - "release_date": "2025-12-11", - "last_updated": "2025-12-11", - "modalities": { "input": ["text", "image"], "output": ["text"] }, + "temperature": true, + "knowledge": "2024-09", + "release_date": "2024-11-01", + "last_updated": "2024-11-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, "open_weights": false, - "cost": { "input": 1.75, "output": 14, "cache_read": 0.175 }, - "limit": { "context": 128000, "output": 16384 } + "limit": { + "context": 128000, + "output": 32768 + }, + "cost": { + "input": 2, + "output": 6 + } }, - "openai/gpt-5.2": { - "id": "openai/gpt-5.2", + "gpt-5.2": { + "id": "gpt-5.2", "name": "GPT-5.2", "family": "gpt", "attachment": true, @@ -19314,46 +75741,198 @@ "knowledge": "2025-08-31", "release_date": "2025-12-11", "last_updated": "2025-12-11", - "modalities": { "input": ["text", "image"], "output": ["text"] }, + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, "open_weights": false, - "cost": { "input": 1.75, "output": 14, "cache_read": 0.175 }, - "limit": { "context": 400000, "output": 128000 } + "limit": { + "context": 400000, + "output": 128000 + }, + "cost": { + "input": 1.75, + "output": 14, + "cache_read": 0.125 + } }, - "openai/gpt-5.1": { - "id": "openai/gpt-5.1", - "name": "GPT-5.1", - "family": "gpt", - "attachment": true, + "deepseek-v3.2-speciale": { + "id": "deepseek-v3.2-speciale", + "name": "DeepSeek-V3.2-Speciale", + "family": "deepseek", + "attachment": false, "reasoning": true, - "tool_call": true, - "structured_output": true, + "tool_call": false, "temperature": true, - "knowledge": "2024-09-30", - "release_date": "2025-11-13", - "last_updated": "2025-11-13", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.25, "output": 10, "cache_read": 0.125 }, - "limit": { "context": 400000, "output": 128000 } + "knowledge": "2024-07", + "release_date": "2025-12-01", + "last_updated": "2025-12-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 128000 + }, + "cost": { + "input": 0.58, + "output": 1.68 + } }, - "openai/gpt-4.1-mini": { - "id": "openai/gpt-4.1-mini", - "name": "GPT-4.1 Mini", - "family": "gpt-mini", + "deepseek-r1": { + "id": "deepseek-r1", + "name": "DeepSeek-R1", + "family": "deepseek-thinking", + "attachment": false, + "reasoning": true, + "tool_call": false, + "temperature": true, + "knowledge": "2024-07", + "release_date": "2025-01-20", + "last_updated": "2025-01-20", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 163840, + "output": 163840 + }, + "cost": { + "input": 1.35, + "output": 5.4 + } + }, + "llama-3.2-90b-vision-instruct": { + "id": "llama-3.2-90b-vision-instruct", + "name": "Llama-3.2-90B-Vision-Instruct", + "family": "llama", "attachment": true, "reasoning": false, "tool_call": true, "temperature": true, - "knowledge": "2024-04", - "release_date": "2025-04-14", - "last_updated": "2025-04-14", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.4, "output": 1.6, "cache_read": 0.1 }, - "limit": { "context": 1047576, "output": 32768 } + "knowledge": "2023-12", + "release_date": "2024-09-25", + "last_updated": "2024-09-25", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 8192 + }, + "cost": { + "input": 2.04, + "output": 2.04 + } }, - "openai/gpt-5-nano": { - "id": "openai/gpt-5-nano", + "text-embedding-ada-002": { + "id": "text-embedding-ada-002", + "name": "text-embedding-ada-002", + "family": "text-embedding", + "attachment": false, + "reasoning": false, + "tool_call": false, + "release_date": "2022-12-15", + "last_updated": "2022-12-15", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 8192, + "output": 1536 + }, + "cost": { + "input": 0.1, + "output": 0 + } + }, + "gpt-5.3-codex": { + "id": "gpt-5.3-codex", + "name": "GPT-5.3 Codex", + "family": "gpt-codex", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": false, + "knowledge": "2025-08-31", + "release_date": "2026-02-24", + "last_updated": "2026-02-24", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "output": 128000 + }, + "cost": { + "input": 1.75, + "output": 14, + "cache_read": 0.175 + } + }, + "phi-3-small-8k-instruct": { + "id": "phi-3-small-8k-instruct", + "name": "Phi-3-small-instruct (8k)", + "family": "phi", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "knowledge": "2023-10", + "release_date": "2024-04-23", + "last_updated": "2024-04-23", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 8192, + "output": 2048 + }, + "cost": { + "input": 0.15, + "output": 0.6 + } + }, + "meta-llama-3-70b-instruct": { + "id": "meta-llama-3-70b-instruct", + "name": "Meta-Llama-3-70B-Instruct", + "family": "llama", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "knowledge": "2023-12", + "release_date": "2024-04-18", + "last_updated": "2024-04-18", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 8192, + "output": 2048 + }, + "cost": { + "input": 2.68, + "output": 3.54 + } + }, + "gpt-5-nano": { + "id": "gpt-5-nano", "name": "GPT-5 Nano", "family": "gpt-nano", "attachment": true, @@ -19363,2782 +75942,200 @@ "knowledge": "2024-05-30", "release_date": "2025-08-07", "last_updated": "2025-08-07", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.05, "output": 0.4, "cache_read": 0.01 }, - "limit": { "context": 16000, "output": 4000 } - }, - "openai/gpt-5-image": { - "id": "openai/gpt-5-image", - "name": "GPT-5 Image", - "family": "gpt", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2024-10-01", - "release_date": "2025-10-14", - "last_updated": "2025-10-14", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text", "image"] }, - "open_weights": false, - "cost": { "input": 5, "output": 10, "cache_read": 1.25 }, - "limit": { "context": 400000, "output": 128000 } - }, - "openai/gpt-5-codex": { - "id": "openai/gpt-5-codex", - "name": "GPT-5 Codex", - "family": "gpt-codex", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2024-10-01", - "release_date": "2025-09-15", - "last_updated": "2025-09-15", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.25, "output": 10, "cache_read": 0.125 }, - "limit": { "context": 400000, "output": 128000 } - }, - "openai/o4-mini": { - "id": "openai/o4-mini", - "name": "o4 Mini", - "family": "o-mini", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2024-06", - "release_date": "2025-04-16", - "last_updated": "2025-04-16", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.1, "output": 4.4, "cache_read": 0.28 }, - "limit": { "context": 200000, "output": 100000 } - }, - "openai/gpt-5.1-codex": { - "id": "openai/gpt-5.1-codex", - "name": "GPT-5.1-Codex", - "family": "gpt-codex", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2024-09-30", - "release_date": "2025-11-13", - "last_updated": "2025-11-13", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.25, "output": 10, "cache_read": 0.125 }, - "limit": { "context": 400000, "output": 128000 } - }, - "openai/gpt-5.2-pro": { - "id": "openai/gpt-5.2-pro", - "name": "GPT-5.2 Pro", - "family": "gpt-pro", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": false, - "knowledge": "2025-08-31", - "release_date": "2025-12-11", - "last_updated": "2025-12-11", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 21, "output": 168 }, - "limit": { "context": 400000, "output": 128000 } - }, - "anthropic/claude-opus-4-5": { - "id": "anthropic/claude-opus-4-5", - "name": "Claude Opus 4.5", - "family": "claude-opus", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-03-31", - "release_date": "2025-11-24", - "last_updated": "2025-11-24", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 5, "output": 25, "cache_read": 0.5, "cache_write": 6.25 }, - "limit": { "context": 200000, "output": 64000 } - }, - "anthropic/claude-opus-4-6": { - "id": "anthropic/claude-opus-4-6", - "name": "Claude Opus 4.6", - "family": "claude-opus", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2025-05-30", - "release_date": "2026-02-05", - "last_updated": "2026-02-05", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { - "input": 5, - "output": 25, - "cache_read": 0.5, - "cache_write": 6.25, - "context_over_200k": { "input": 10, "output": 37.5, "cache_read": 1, "cache_write": 12.5 } + "modalities": { + "input": ["text", "image"], + "output": ["text"] }, - "limit": { "context": 1000000, "output": 128000 } - }, - "anthropic/claude-sonnet-4-6": { - "id": "anthropic/claude-sonnet-4-6", - "name": "Claude Sonnet 4.6", - "family": "claude-sonnet", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2026-02-17", - "last_updated": "2026-02-17", - "modalities": { "input": ["text", "image"], "output": ["text"] }, "open_weights": false, - "cost": { - "input": 3, - "output": 15, - "cache_read": 0.3, - "cache_write": 3.75, - "context_over_200k": { "input": 6, "output": 22.5, "cache_read": 0.6, "cache_write": 7.5 } + "limit": { + "context": 272000, + "output": 128000 }, - "limit": { "context": 1000000, "output": 128000 } - }, - "anthropic/claude-opus-4-1": { - "id": "anthropic/claude-opus-4-1", - "name": "Claude Opus 4.1", - "family": "claude-opus", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-03-31", - "release_date": "2025-08-05", - "last_updated": "2025-08-05", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 15, "output": 75, "cache_read": 1.5, "cache_write": 18.75 }, - "limit": { "context": 200000, "output": 32000 } - }, - "anthropic/claude-sonnet-4": { - "id": "anthropic/claude-sonnet-4", - "name": "Claude Sonnet 4", - "family": "claude-sonnet", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-03-31", - "release_date": "2025-05-22", - "last_updated": "2025-05-22", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 3, "output": 15, "cache_read": 0.3, "cache_write": 3.75 }, - "limit": { "context": 200000, "output": 64000 } - }, - "anthropic/claude-sonnet-4-5": { - "id": "anthropic/claude-sonnet-4-5", - "name": "Claude Sonnet 4.5", - "family": "claude-sonnet", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-07-31", - "release_date": "2025-09-29", - "last_updated": "2025-09-29", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 3, "output": 15, "cache_read": 0.3, "cache_write": 3.75 }, - "limit": { "context": 1000000, "output": 64000 } - }, - "anthropic/claude-haiku-4-5": { - "id": "anthropic/claude-haiku-4-5", - "name": "Claude Haiku 4.5", - "family": "claude-haiku", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-02-01", - "release_date": "2025-10-15", - "last_updated": "2025-10-15", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1, "output": 5, "cache_read": 0.1, "cache_write": 1.25 }, - "limit": { "context": 200000, "output": 62000 } - }, - "anthropic/claude-opus-4": { - "id": "anthropic/claude-opus-4", - "name": "Claude Opus 4", - "family": "claude-opus", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-03-31", - "release_date": "2025-05-22", - "last_updated": "2025-05-22", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 15, "output": 75, "cache_read": 1.5, "cache_write": 18.75 }, - "limit": { "context": 200000, "output": 32000 } - }, - "anthropic/claude-3-7-sonnet": { - "id": "anthropic/claude-3-7-sonnet", - "name": "Claude Sonnet 3.7", - "family": "claude-sonnet", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2024-01", - "release_date": "2025-02-19", - "last_updated": "2025-02-19", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 3, "output": 15, "cache_read": 0.3, "cache_write": 3.75 }, - "limit": { "context": 200000, "output": 64000 } - }, - "xai/grok-4-fast": { - "id": "xai/grok-4-fast", - "name": "Grok 4 Fast", - "family": "grok", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-01", - "release_date": "2025-09-19", - "last_updated": "2025-09-19", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.2, "output": 0.5, "cache_read": 0.05, "cache_write": 0.2 }, - "limit": { "context": 2000000, "output": 64000 } - }, - "xai/grok-4": { - "id": "xai/grok-4", - "name": "Grok 4", - "family": "grok", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-01", - "release_date": "2025-09-09", - "last_updated": "2025-09-09", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 3, "output": 15, "cache_read": 0.75, "cache_write": 3 }, - "limit": { "context": 256000, "output": 64000 } - }, - "google/gemini-3-pro-preview": { - "id": "google/gemini-3-pro-preview", - "name": "Gemini 3 Pro", - "family": "gemini-pro", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-01", - "release_date": "2025-11-18", - "last_updated": "2025-11-18", - "modalities": { "input": ["text", "image", "audio", "video", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2, "output": 12, "cache_read": 0.2, "cache_write": 4.5 }, - "limit": { "context": 1048576, "output": 65536 } - }, - "google/gemini-3-flash-preview": { - "id": "google/gemini-3-flash-preview", - "name": "Gemini 3 Flash", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-01", - "release_date": "2025-12-17", - "last_updated": "2025-12-17", - "modalities": { "input": ["text", "image", "audio", "video", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.5, "output": 3, "cache_read": 0.05, "cache_write": 1 }, - "limit": { "context": 1048576, "output": 65536 } - }, - "google/gemini-2.5-pro": { - "id": "google/gemini-2.5-pro", - "name": "Gemini 2.5 Pro", - "family": "gemini-pro", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-01", - "release_date": "2025-06-17", - "last_updated": "2025-06-17", - "modalities": { "input": ["text", "image", "audio", "video", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.25, "output": 10, "cache_read": 0.31, "cache_write": 2.375 }, - "limit": { "context": 1048576, "output": 65536 } - }, - "google/gemini-2.5-flash": { - "id": "google/gemini-2.5-flash", - "name": "Gemini 2.5 Flash", - "family": "gemini-flash", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-01", - "release_date": "2025-06-17", - "last_updated": "2025-06-17", - "modalities": { "input": ["text", "image", "audio", "video", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.3, "output": 2.5, "cache_read": 0.075, "cache_write": 0.55 }, - "limit": { "context": 1048576, "output": 65536 } - } - } - }, - "friendli": { - "id": "friendli", - "env": ["FRIENDLI_TOKEN"], - "npm": "@ai-sdk/openai-compatible", - "api": "https://api.friendli.ai/serverless/v1", - "name": "Friendli", - "doc": "https://friendli.ai/docs/guides/serverless_endpoints/introduction", - "models": { - "zai-org/GLM-4.7": { - "id": "zai-org/GLM-4.7", - "name": "GLM 4.7", - "family": "glm", - "attachment": false, - "reasoning": true, - "tool_call": true, - "interleaved": { "field": "reasoning_content" }, - "structured_output": true, - "temperature": true, - "release_date": "2025-12-22", - "last_updated": "2026-01-29", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "limit": { "context": 202752, "output": 202752 } - }, - "zai-org/GLM-5": { - "id": "zai-org/GLM-5", - "name": "GLM 5", - "family": "glm", - "attachment": false, - "reasoning": true, - "tool_call": true, - "interleaved": { "field": "reasoning_content" }, - "structured_output": true, - "temperature": true, - "release_date": "2026-02-12", - "last_updated": "2026-02-12", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 1, "output": 3.2 }, - "limit": { "context": 202752, "output": 202752 } - }, - "meta-llama/Llama-3.1-8B-Instruct": { - "id": "meta-llama/Llama-3.1-8B-Instruct", - "name": "Llama 3.1 8B Instruct", - "family": "llama", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2024-08-01", - "last_updated": "2025-12-23", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.1, "output": 0.1 }, - "limit": { "context": 131072, "output": 8000 } - }, - "meta-llama/Llama-3.3-70B-Instruct": { - "id": "meta-llama/Llama-3.3-70B-Instruct", - "name": "Llama 3.3 70B Instruct", - "family": "llama", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2024-08-01", - "last_updated": "2025-12-23", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.6, "output": 0.6 }, - "limit": { "context": 131072, "output": 131072 } - }, - "MiniMaxAI/MiniMax-M2.1": { - "id": "MiniMaxAI/MiniMax-M2.1", - "name": "MiniMax M2.1", - "attachment": false, - "reasoning": true, - "tool_call": true, - "interleaved": { "field": "reasoning_content" }, - "structured_output": true, - "temperature": true, - "release_date": "2026-01-13", - "last_updated": "2026-01-29", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.3, "output": 1.2 }, - "limit": { "context": 196608, "output": 196608 } - }, - "MiniMaxAI/MiniMax-M2.5": { - "id": "MiniMaxAI/MiniMax-M2.5", - "name": "MiniMax M2.5", - "family": "minimax", - "attachment": false, - "reasoning": true, - "tool_call": true, - "interleaved": { "field": "reasoning_content" }, - "structured_output": true, - "temperature": true, - "release_date": "2026-02-12", - "last_updated": "2026-02-12", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.3, "output": 1.2 }, - "limit": { "context": 196608, "output": 196608 } - }, - "Qwen/Qwen3-235B-A22B-Instruct-2507": { - "id": "Qwen/Qwen3-235B-A22B-Instruct-2507", - "name": "Qwen3 235B A22B Instruct 2507", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-07-29", - "last_updated": "2026-01-29", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.2, "output": 0.8 }, - "limit": { "context": 262144, "output": 262144 } - } - } - }, - "302ai": { - "id": "302ai", - "env": ["302AI_API_KEY"], - "npm": "@ai-sdk/openai-compatible", - "api": "https://api.302.ai/v1", - "name": "302.AI", - "doc": "https://doc.302.ai", - "models": { - "qwen3-235b-a22b-instruct-2507": { - "id": "qwen3-235b-a22b-instruct-2507", - "name": "qwen3-235b-a22b-instruct-2507", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2025-04", - "release_date": "2025-07-30", - "last_updated": "2025-07-30", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.29, "output": 1.143 }, - "limit": { "context": 128000, "output": 65536 } - }, - "claude-opus-4-5-20251101": { - "id": "claude-opus-4-5-20251101", - "name": "claude-opus-4-5-20251101", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2025-03", - "release_date": "2025-11-25", - "last_updated": "2025-11-25", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 5, "output": 25 }, - "limit": { "context": 200000, "output": 64000 } - }, - "deepseek-v3.2-thinking": { - "id": "deepseek-v3.2-thinking", - "name": "DeepSeek-V3.2-Thinking", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2024-12", - "release_date": "2025-12-01", - "last_updated": "2025-12-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.29, "output": 0.43 }, - "limit": { "context": 128000, "output": 128000 } - }, - "gpt-5-pro": { - "id": "gpt-5-pro", - "name": "gpt-5-pro", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-10", - "release_date": "2025-10-08", - "last_updated": "2025-10-08", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 15, "output": 120 }, - "limit": { "context": 400000, "output": 272000 } - }, - "gemini-2.5-flash-lite-preview-09-2025": { - "id": "gemini-2.5-flash-lite-preview-09-2025", - "name": "gemini-2.5-flash-lite-preview-09-2025", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2025-01", - "release_date": "2025-09-26", - "last_updated": "2025-09-26", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.1, "output": 0.4 }, - "limit": { "context": 1000000, "output": 65536 } - }, - "kimi-k2-thinking": { - "id": "kimi-k2-thinking", - "name": "kimi-k2-thinking", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-06", - "release_date": "2025-09-05", - "last_updated": "2025-09-05", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.575, "output": 2.3 }, - "limit": { "context": 262144, "output": 262144 } - }, - "qwen-max-latest": { - "id": "qwen-max-latest", - "name": "Qwen-Max-Latest", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-11", - "release_date": "2024-04-03", - "last_updated": "2025-01-25", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.343, "output": 1.372 }, - "limit": { "context": 131072, "output": 8192 } - }, - "gpt-5.2-chat-latest": { - "id": "gpt-5.2-chat-latest", - "name": "gpt-5.2-chat-latest", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-10", - "release_date": "2025-12-12", - "last_updated": "2025-12-12", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.75, "output": 14 }, - "limit": { "context": 128000, "output": 16384 } - }, - "gpt-5": { - "id": "gpt-5", - "name": "gpt-5", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-10", - "release_date": "2025-08-08", - "last_updated": "2025-08-08", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.25, "output": 10 }, - "limit": { "context": 400000, "output": 128000 } - }, - "grok-4.1": { - "id": "grok-4.1", - "name": "grok-4.1", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2025-06", - "release_date": "2025-11-18", - "last_updated": "2025-11-18", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2, "output": 10 }, - "limit": { "context": 200000, "output": 64000 } - }, - "chatgpt-4o-latest": { - "id": "chatgpt-4o-latest", - "name": "chatgpt-4o-latest", - "family": "gpt", - "attachment": true, - "reasoning": false, - "tool_call": false, - "temperature": true, - "knowledge": "2023-09", - "release_date": "2024-08-08", - "last_updated": "2024-08-08", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 5, "output": 15 }, - "limit": { "context": 128000, "output": 16384 } - }, - "gemini-3-pro-preview": { - "id": "gemini-3-pro-preview", - "name": "gemini-3-pro-preview", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2025-06", - "release_date": "2025-11-19", - "last_updated": "2025-11-19", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2, "output": 12 }, - "limit": { "context": 1000000, "output": 64000 } - }, - "MiniMax-M1": { - "id": "MiniMax-M1", - "name": "MiniMax-M1", - "family": "minimax", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "release_date": "2025-06-16", - "last_updated": "2025-06-16", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.132, "output": 1.254 }, - "limit": { "context": 1000000, "output": 128000 } - }, - "gpt-4o": { - "id": "gpt-4o", - "name": "gpt-4o", - "family": "gpt", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2023-09", - "release_date": "2024-05-13", - "last_updated": "2024-05-13", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2.5, "output": 10 }, - "limit": { "context": 128000, "output": 16384 } - }, - "grok-4-fast-non-reasoning": { - "id": "grok-4-fast-non-reasoning", - "name": "grok-4-fast-non-reasoning", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2025-06", - "release_date": "2025-09-23", - "last_updated": "2025-09-23", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.2, "output": 0.5 }, - "limit": { "context": 2000000, "output": 30000 } - }, - "kimi-k2-thinking-turbo": { - "id": "kimi-k2-thinking-turbo", - "name": "kimi-k2-thinking-turbo", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-06", - "release_date": "2025-09-05", - "last_updated": "2025-09-05", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.265, "output": 9.119 }, - "limit": { "context": 262144, "output": 262144 } - }, - "kimi-k2-0905-preview": { - "id": "kimi-k2-0905-preview", - "name": "kimi-k2-0905-preview", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2025-06", - "release_date": "2025-09-05", - "last_updated": "2025-09-05", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.632, "output": 2.53 }, - "limit": { "context": 262144, "output": 262144 } - }, - "ministral-14b-2512": { - "id": "ministral-14b-2512", - "name": "ministral-14b-2512", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-12", - "release_date": "2025-12-16", - "last_updated": "2025-12-16", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.33, "output": 0.33 }, - "limit": { "context": 128000, "output": 128000 } + "cost": { + "input": 0.05, + "output": 0.4, + "cache_read": 0.01 + } }, "gpt-5-mini": { "id": "gpt-5-mini", - "name": "gpt-5-mini", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-10", - "release_date": "2025-08-08", - "last_updated": "2025-08-08", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.25, "output": 2 }, - "limit": { "context": 400000, "output": 128000 } - }, - "deepseek-chat": { - "id": "deepseek-chat", - "name": "Deepseek-Chat", - "family": "deepseek", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-07", - "release_date": "2024-11-29", - "last_updated": "2024-11-29", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.29, "output": 0.43 }, - "limit": { "context": 128000, "output": 8192 } - }, - "claude-sonnet-4-5-20250929": { - "id": "claude-sonnet-4-5-20250929", - "name": "claude-sonnet-4-5-20250929", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2025-03", - "release_date": "2025-09-29", - "last_updated": "2025-09-29", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 3, "output": 15 }, - "limit": { "context": 200000, "output": 64000 } - }, - "doubao-seed-1-6-thinking-250715": { - "id": "doubao-seed-1-6-thinking-250715", - "name": "doubao-seed-1-6-thinking-250715", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2025-07-15", - "last_updated": "2025-07-15", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.121, "output": 1.21 }, - "limit": { "context": 256000, "output": 16000 } - }, - "qwen3-30b-a3b": { - "id": "qwen3-30b-a3b", - "name": "Qwen3-30B-A3B", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2025-04", - "release_date": "2025-04-29", - "last_updated": "2025-04-29", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.11, "output": 1.08 }, - "limit": { "context": 128000, "output": 8192 } - }, - "qwen-plus": { - "id": "qwen-plus", - "name": "Qwen-Plus", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-10", - "release_date": "2024-07-23", - "last_updated": "2024-07-23", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.12, "output": 1.2 }, - "limit": { "context": 1000000, "output": 32768 } - }, - "gpt-4.1": { - "id": "gpt-4.1", - "name": "gpt-4.1", - "family": "gpt", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-04", - "release_date": "2025-04-14", - "last_updated": "2025-04-14", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2, "output": 8 }, - "limit": { "context": 1000000, "output": 32768 } - }, - "qwen3-max-2025-09-23": { - "id": "qwen3-max-2025-09-23", - "name": "qwen3-max-2025-09-23", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2025-04", - "release_date": "2025-09-24", - "last_updated": "2025-09-24", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.86, "output": 3.43 }, - "limit": { "context": 258048, "output": 65536 } - }, - "gpt-5.1-chat-latest": { - "id": "gpt-5.1-chat-latest", - "name": "gpt-5.1-chat-latest", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-10", - "release_date": "2025-11-14", - "last_updated": "2025-11-14", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.25, "output": 10 }, - "limit": { "context": 128000, "output": 16384 } - }, - "gemini-2.0-flash-lite": { - "id": "gemini-2.0-flash-lite", - "name": "gemini-2.0-flash-lite", - "family": "gemini-flash-lite", - "attachment": true, - "reasoning": false, - "tool_call": false, - "temperature": true, - "knowledge": "2024-11", - "release_date": "2025-06-16", - "last_updated": "2025-06-16", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.075, "output": 0.3 }, - "limit": { "context": 2000000, "output": 8192 } - }, - "claude-sonnet-4-5-20250929-thinking": { - "id": "claude-sonnet-4-5-20250929-thinking", - "name": "claude-sonnet-4-5-20250929-thinking", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-03", - "release_date": "2025-09-30", - "last_updated": "2025-09-30", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 3, "output": 15 }, - "limit": { "context": 200000, "output": 64000 } - }, - "grok-4-1-fast-non-reasoning": { - "id": "grok-4-1-fast-non-reasoning", - "name": "grok-4-1-fast-non-reasoning", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2025-06", - "release_date": "2025-11-20", - "last_updated": "2025-11-20", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.2, "output": 0.5 }, - "limit": { "context": 2000000, "output": 30000 } - }, - "gemini-2.5-flash-nothink": { - "id": "gemini-2.5-flash-nothink", - "name": "gemini-2.5-flash-nothink", - "family": "gemini-flash", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2025-01", - "release_date": "2025-06-24", - "last_updated": "2025-06-24", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.3, "output": 2.5 }, - "limit": { "context": 1000000, "output": 65536 } - }, - "glm-4.5": { - "id": "glm-4.5", - "name": "GLM-4.5", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-10", - "release_date": "2025-07-29", - "last_updated": "2025-07-29", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.286, "output": 1.142 }, - "limit": { "context": 128000, "output": 98304 } - }, - "gpt-5-thinking": { - "id": "gpt-5-thinking", - "name": "gpt-5-thinking", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2024-10", - "release_date": "2025-08-08", - "last_updated": "2025-08-08", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.25, "output": 10 }, - "limit": { "context": 400000, "output": 128000 } - }, - "deepseek-reasoner": { - "id": "deepseek-reasoner", - "name": "Deepseek-Reasoner", - "family": "deepseek-thinking", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2024-07", - "release_date": "2025-01-20", - "last_updated": "2025-01-20", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.29, "output": 0.43 }, - "limit": { "context": 128000, "output": 128000 } - }, - "MiniMax-M2.1": { - "id": "MiniMax-M2.1", - "name": "MiniMax-M2.1", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "release_date": "2025-12-19", - "last_updated": "2025-12-19", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.3, "output": 1.2 }, - "limit": { "context": 1000000, "output": 131072 } - }, - "glm-4.6": { - "id": "glm-4.6", - "name": "glm-4.6", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2025-03", - "release_date": "2025-09-30", - "last_updated": "2025-09-30", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.286, "output": 1.142 }, - "limit": { "context": 200000, "output": 131072 } - }, - "gemini-3-flash-preview": { - "id": "gemini-3-flash-preview", - "name": "gemini-3-flash-preview", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2025-06", - "release_date": "2025-12-18", - "last_updated": "2025-12-18", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.5, "output": 3 }, - "limit": { "context": 1000000, "output": 65536 } - }, - "glm-4.6v": { - "id": "glm-4.6v", - "name": "GLM-4.6V", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2025-03", - "release_date": "2025-12-08", - "last_updated": "2025-12-08", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.145, "output": 0.43 }, - "limit": { "context": 128000, "output": 32768 } - }, - "claude-opus-4-5-20251101-thinking": { - "id": "claude-opus-4-5-20251101-thinking", - "name": "claude-opus-4-5-20251101-thinking", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-03", - "release_date": "2025-11-25", - "last_updated": "2025-11-25", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 5, "output": 25 }, - "limit": { "context": 200000, "output": 64000 } - }, - "qwen3-coder-480b-a35b-instruct": { - "id": "qwen3-coder-480b-a35b-instruct", - "name": "qwen3-coder-480b-a35b-instruct", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2025-04", - "release_date": "2025-07-23", - "last_updated": "2025-07-23", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.86, "output": 3.43 }, - "limit": { "context": 262144, "output": 65536 } - }, - "doubao-seed-code-preview-251028": { - "id": "doubao-seed-code-preview-251028", - "name": "doubao-seed-code-preview-251028", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "release_date": "2025-11-11", - "last_updated": "2025-11-11", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.17, "output": 1.14 }, - "limit": { "context": 256000, "output": 32000 } - }, - "gemini-2.5-pro": { - "id": "gemini-2.5-pro", - "name": "gemini-2.5-pro", - "family": "gemini-pro", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2025-01", - "release_date": "2025-06-17", - "last_updated": "2025-06-17", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.25, "output": 10 }, - "limit": { "context": 1000000, "output": 65536 } - }, - "claude-opus-4-1-20250805": { - "id": "claude-opus-4-1-20250805", - "name": "claude-opus-4-1-20250805", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2025-03", - "release_date": "2025-08-05", - "last_updated": "2025-08-05", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 15, "output": 75 }, - "limit": { "context": 200000, "output": 32000 } - }, - "gemini-2.5-flash": { - "id": "gemini-2.5-flash", - "name": "gemini-2.5-flash", - "family": "gemini-flash", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2025-01", - "release_date": "2025-06-17", - "last_updated": "2025-06-17", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.3, "output": 2.5 }, - "limit": { "context": 1000000, "output": 65536 } - }, - "gpt-5.2": { - "id": "gpt-5.2", - "name": "gpt-5.2", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-10", - "release_date": "2025-12-12", - "last_updated": "2025-12-12", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.75, "output": 14 }, - "limit": { "context": 400000, "output": 128000 } - }, - "grok-4-1-fast-reasoning": { - "id": "grok-4-1-fast-reasoning", - "name": "grok-4-1-fast-reasoning", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-06", - "release_date": "2025-11-20", - "last_updated": "2025-11-20", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.2, "output": 0.5 }, - "limit": { "context": 2000000, "output": 30000 } - }, - "gpt-5.1": { - "id": "gpt-5.1", - "name": "gpt-5.1", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-10", - "release_date": "2025-11-14", - "last_updated": "2025-11-14", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.25, "output": 10 }, - "limit": { "context": 400000, "output": 128000 } - }, - "gemini-2.5-flash-preview-09-2025": { - "id": "gemini-2.5-flash-preview-09-2025", - "name": "gemini-2.5-flash-preview-09-2025", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2025-01", - "release_date": "2025-09-26", - "last_updated": "2025-09-26", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.3, "output": 2.5 }, - "limit": { "context": 1000000, "output": 65536 } - }, - "doubao-seed-1-8-251215": { - "id": "doubao-seed-1-8-251215", - "name": "doubao-seed-1-8-251215", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "release_date": "2025-12-18", - "last_updated": "2025-12-18", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.114, "output": 0.286 }, - "limit": { "context": 224000, "output": 64000 } - }, - "gpt-4.1-mini": { - "id": "gpt-4.1-mini", - "name": "gpt-4.1-mini", + "name": "GPT-5 Mini", "family": "gpt-mini", "attachment": true, - "reasoning": false, + "reasoning": true, "tool_call": true, - "temperature": true, - "knowledge": "2024-04", - "release_date": "2025-04-14", - "last_updated": "2025-04-14", - "modalities": { "input": ["text", "image"], "output": ["text"] }, + "temperature": false, + "knowledge": "2024-05-30", + "release_date": "2025-08-07", + "last_updated": "2025-08-07", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, "open_weights": false, - "cost": { "input": 0.4, "output": 1.6 }, - "limit": { "context": 1000000, "output": 32768 } + "limit": { + "context": 272000, + "output": 128000 + }, + "cost": { + "input": 0.25, + "output": 2, + "cache_read": 0.03 + } }, - "qwen3-235b-a22b": { - "id": "qwen3-235b-a22b", - "name": "Qwen3-235B-A22B", - "family": "qwen", + "phi-4-reasoning": { + "id": "phi-4-reasoning", + "name": "Phi-4-reasoning", + "family": "phi", + "attachment": false, + "reasoning": true, + "tool_call": false, + "temperature": true, + "knowledge": "2023-10", + "release_date": "2024-12-11", + "last_updated": "2024-12-11", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 32000, + "output": 4096 + }, + "cost": { + "input": 0.125, + "output": 0.5 + } + }, + "phi-3-mini-128k-instruct": { + "id": "phi-3-mini-128k-instruct", + "name": "Phi-3-mini-instruct (128k)", + "family": "phi", "attachment": false, "reasoning": false, - "tool_call": true, + "tool_call": false, "temperature": true, - "knowledge": "2025-04", - "release_date": "2025-04-29", - "last_updated": "2025-04-29", - "modalities": { "input": ["text"], "output": ["text"] }, + "knowledge": "2023-10", + "release_date": "2024-04-23", + "last_updated": "2024-04-23", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 4096 + }, + "cost": { + "input": 0.13, + "output": 0.52 + } + }, + "text-embedding-3-large": { + "id": "text-embedding-3-large", + "name": "text-embedding-3-large", + "family": "text-embedding", + "attachment": false, + "reasoning": false, + "tool_call": false, + "release_date": "2024-01-25", + "last_updated": "2024-01-25", + "modalities": { + "input": ["text"], + "output": ["text"] + }, "open_weights": false, - "cost": { "input": 0.29, "output": 2.86 }, - "limit": { "context": 128000, "output": 16384 } + "limit": { + "context": 8191, + "output": 3072 + }, + "cost": { + "input": 0.13, + "output": 0 + } }, - "grok-4-fast-reasoning": { - "id": "grok-4-fast-reasoning", - "name": "grok-4-fast-reasoning", - "attachment": true, + "o1-mini": { + "id": "o1-mini", + "name": "o1-mini", + "family": "o-mini", + "attachment": false, "reasoning": true, "tool_call": true, - "temperature": true, - "knowledge": "2025-06", - "release_date": "2025-09-23", - "last_updated": "2025-09-23", - "modalities": { "input": ["text", "image"], "output": ["text"] }, + "temperature": false, + "knowledge": "2023-09", + "release_date": "2024-09-12", + "last_updated": "2024-09-12", + "modalities": { + "input": ["text"], + "output": ["text"] + }, "open_weights": false, - "cost": { "input": 0.2, "output": 0.5 }, - "limit": { "context": 2000000, "output": 30000 } + "limit": { + "context": 128000, + "output": 65536 + }, + "cost": { + "input": 1.1, + "output": 4.4, + "cache_read": 0.55 + } }, - "MiniMax-M2": { - "id": "MiniMax-M2", - "name": "MiniMax-M2", + "phi-3.5-moe-instruct": { + "id": "phi-3.5-moe-instruct", + "name": "Phi-3.5-MoE-instruct", + "family": "phi", "attachment": false, "reasoning": false, - "tool_call": true, + "tool_call": false, "temperature": true, - "release_date": "2025-10-26", - "last_updated": "2025-10-26", - "modalities": { "input": ["text"], "output": ["text"] }, + "knowledge": "2023-10", + "release_date": "2024-08-20", + "last_updated": "2024-08-20", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 4096 + }, + "cost": { + "input": 0.16, + "output": 0.64 + } + }, + "gpt-5-chat": { + "id": "gpt-5-chat", + "name": "GPT-5 Chat", + "family": "gpt-codex", + "attachment": true, + "reasoning": true, + "tool_call": false, + "temperature": false, + "knowledge": "2024-10-24", + "release_date": "2025-08-07", + "last_updated": "2025-08-07", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, "open_weights": false, - "cost": { "input": 0.33, "output": 1.32 }, - "limit": { "context": 1000000, "output": 128000 } - }, - "gemini-2.5-flash-image": { - "id": "gemini-2.5-flash-image", - "name": "gemini-2.5-flash-image", - "attachment": true, - "reasoning": false, - "tool_call": false, - "temperature": true, - "knowledge": "2025-01", - "release_date": "2025-10-08", - "last_updated": "2025-10-08", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.3, "output": 30 }, - "limit": { "context": 32768, "output": 32768 } - }, - "glm-4.5v": { - "id": "glm-4.5v", - "name": "GLM-4.5V", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-10", - "release_date": "2025-07-29", - "last_updated": "2025-07-29", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.29, "output": 0.86 }, - "limit": { "context": 64000, "output": 16384 } - }, - "claude-haiku-4-5-20251001": { - "id": "claude-haiku-4-5-20251001", - "name": "claude-haiku-4-5-20251001", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2025-03", - "release_date": "2025-10-16", - "last_updated": "2025-10-16", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1, "output": 5 }, - "limit": { "context": 200000, "output": 64000 } - }, - "glm-4.7": { - "id": "glm-4.7", - "name": "glm-4.7", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2025-06", - "release_date": "2025-12-22", - "last_updated": "2025-12-22", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.286, "output": 1.142 }, - "limit": { "context": 200000, "output": 131072 } - }, - "qwen-flash": { - "id": "qwen-flash", - "name": "Qwen-Flash", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "release_date": "2025-07-28", - "last_updated": "2025-07-28", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.022, "output": 0.22 }, - "limit": { "context": 1000000, "output": 32768 } - }, - "gpt-4.1-nano": { - "id": "gpt-4.1-nano", - "name": "gpt-4.1-nano", - "family": "gpt-nano", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-04", - "release_date": "2025-04-14", - "last_updated": "2025-04-14", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.1, "output": 0.4 }, - "limit": { "context": 1000000, "output": 32768 } - }, - "deepseek-v3.2": { - "id": "deepseek-v3.2", - "name": "deepseek-v3.2", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-12", - "release_date": "2025-12-01", - "last_updated": "2025-12-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.29, "output": 0.43 }, - "limit": { "context": 128000, "output": 8192 } - }, - "doubao-seed-1-6-vision-250815": { - "id": "doubao-seed-1-6-vision-250815", - "name": "doubao-seed-1-6-vision-250815", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "release_date": "2025-09-30", - "last_updated": "2025-09-30", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.114, "output": 1.143 }, - "limit": { "context": 256000, "output": 32000 } - }, - "claude-opus-4-1-20250805-thinking": { - "id": "claude-opus-4-1-20250805-thinking", - "name": "claude-opus-4-1-20250805-thinking", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-03", - "release_date": "2025-05-27", - "last_updated": "2025-05-27", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 15, "output": 75 }, - "limit": { "context": 200000, "output": 32000 } - }, - "gemini-3-pro-image-preview": { - "id": "gemini-3-pro-image-preview", - "name": "gemini-3-pro-image-preview", - "attachment": true, - "reasoning": false, - "tool_call": false, - "temperature": true, - "knowledge": "2025-06", - "release_date": "2025-11-20", - "last_updated": "2025-11-20", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2, "output": 120 }, - "limit": { "context": 32768, "output": 64000 } - }, - "mistral-large-2512": { - "id": "mistral-large-2512", - "name": "mistral-large-2512", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-12", - "release_date": "2025-12-16", - "last_updated": "2025-12-16", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.1, "output": 3.3 }, - "limit": { "context": 128000, "output": 262144 } - } - } - }, - "novita-ai": { - "id": "novita-ai", - "env": ["NOVITA_API_KEY"], - "npm": "@ai-sdk/openai-compatible", - "api": "https://api.novita.ai/openai", - "name": "NovitaAI", - "doc": "https://novita.ai/docs/guides/introduction", - "models": { - "paddlepaddle/paddleocr-vl": { - "id": "paddlepaddle/paddleocr-vl", - "name": "PaddleOCR-VL", - "attachment": true, - "reasoning": false, - "tool_call": false, - "temperature": true, - "release_date": "2025-10-22", - "last_updated": "2025-10-22", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.02, "output": 0.02 }, - "limit": { "context": 16384, "output": 16384 } - }, - "openai/gpt-oss-120b": { - "id": "openai/gpt-oss-120b", - "name": "OpenAI GPT OSS 120B", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-08-06", - "last_updated": "2025-08-06", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.05, "output": 0.25 }, - "limit": { "context": 131072, "output": 32768 } - }, - "openai/gpt-oss-20b": { - "id": "openai/gpt-oss-20b", - "name": "OpenAI: GPT OSS 20B", - "attachment": true, - "reasoning": true, - "tool_call": false, - "structured_output": true, - "temperature": true, - "release_date": "2025-08-06", - "last_updated": "2025-08-06", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.04, "output": 0.15 }, - "limit": { "context": 131072, "output": 32768 } - }, - "microsoft/wizardlm-2-8x22b": { - "id": "microsoft/wizardlm-2-8x22b", - "name": "Wizardlm 2 8x22B", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "release_date": "2024-04-24", - "last_updated": "2024-04-24", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.62, "output": 0.62 }, - "limit": { "context": 65535, "output": 8000 } - }, - "kwaipilot/kat-coder": { - "id": "kwaipilot/kat-coder", - "name": "KAT-Coder-Pro V1(Free)", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-09-30", - "last_updated": "2025-09-30", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 256000, "output": 32000 } - }, - "kwaipilot/kat-coder-pro": { - "id": "kwaipilot/kat-coder-pro", - "name": "Kat Coder Pro", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2026-01-05", - "last_updated": "2026-01-05", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.3, "output": 1.2, "cache_read": 0.06 }, - "limit": { "context": 256000, "output": 128000 } - }, - "sao10k/l3-8b-lunaris": { - "id": "sao10k/l3-8b-lunaris", - "name": "Sao10k L3 8B Lunaris\t", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": true, - "temperature": true, - "release_date": "2024-11-28", - "last_updated": "2024-11-28", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.05, "output": 0.05 }, - "limit": { "context": 8192, "output": 8192 } - }, - "sao10k/l3-70b-euryale-v2.1": { - "id": "sao10k/l3-70b-euryale-v2.1", - "name": "L3 70B Euryale V2.1\t", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "release_date": "2024-06-18", - "last_updated": "2024-06-18", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 1.48, "output": 1.48 }, - "limit": { "context": 8192, "output": 8192 } - }, - "sao10k/l31-70b-euryale-v2.2": { - "id": "sao10k/l31-70b-euryale-v2.2", - "name": "L31 70B Euryale V2.2", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "release_date": "2024-09-19", - "last_updated": "2024-09-19", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 1.48, "output": 1.48 }, - "limit": { "context": 8192, "output": 8192 } - }, - "sao10k/L3-8B-Stheno-v3.2": { - "id": "sao10k/L3-8B-Stheno-v3.2", - "name": "L3 8B Stheno V3.2", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "release_date": "2024-11-29", - "last_updated": "2024-11-29", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.05, "output": 0.05 }, - "limit": { "context": 8192, "output": 32000 } - }, - "deepseek/deepseek-r1-turbo": { - "id": "deepseek/deepseek-r1-turbo", - "name": "DeepSeek R1 (Turbo)\t", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2025-03-05", - "last_updated": "2025-03-05", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.7, "output": 2.5 }, - "limit": { "context": 64000, "output": 16000 } - }, - "deepseek/deepseek-v3.1-terminus": { - "id": "deepseek/deepseek-v3.1-terminus", - "name": "Deepseek V3.1 Terminus", - "family": "deepseek", - "attachment": false, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-09-22", - "last_updated": "2025-09-22", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.27, "output": 1, "cache_read": 0.135 }, - "limit": { "context": 131072, "output": 32768 } - }, - "deepseek/deepseek-r1-distill-llama-70b": { - "id": "deepseek/deepseek-r1-distill-llama-70b", - "name": "DeepSeek R1 Distill LLama 70B", - "family": "deepseek-thinking", - "attachment": false, - "reasoning": true, - "tool_call": false, - "structured_output": true, - "temperature": true, - "release_date": "2025-01-27", - "last_updated": "2025-01-27", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.8, "output": 0.8 }, - "limit": { "context": 8192, "output": 8192 } - }, - "deepseek/deepseek-v3-0324": { - "id": "deepseek/deepseek-v3-0324", - "name": "DeepSeek V3 0324", - "family": "deepseek", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2024-07", - "release_date": "2025-03-25", - "last_updated": "2025-03-25", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.27, "output": 1.12, "cache_read": 0.135 }, - "limit": { "context": 163840, "output": 163840 } - }, - "deepseek/deepseek-prover-v2-671b": { - "id": "deepseek/deepseek-prover-v2-671b", - "name": "Deepseek Prover V2 671B", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "release_date": "2025-04-30", - "last_updated": "2025-04-30", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.7, "output": 2.5 }, - "limit": { "context": 160000, "output": 160000 } - }, - "deepseek/deepseek-r1-0528-qwen3-8b": { - "id": "deepseek/deepseek-r1-0528-qwen3-8b", - "name": "DeepSeek R1 0528 Qwen3 8B", - "attachment": false, - "reasoning": true, - "tool_call": false, - "temperature": true, - "release_date": "2025-05-29", - "last_updated": "2025-05-29", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.06, "output": 0.09 }, - "limit": { "context": 128000, "output": 32000 } - }, - "deepseek/deepseek-ocr-2": { - "id": "deepseek/deepseek-ocr-2", - "name": "deepseek/deepseek-ocr-2", - "attachment": true, - "reasoning": false, - "tool_call": false, - "release_date": "2026-01-27", - "last_updated": "2026-01-27", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.03, "output": 0.03 }, - "limit": { "context": 8192, "output": 8192 } - }, - "deepseek/deepseek-v3-turbo": { - "id": "deepseek/deepseek-v3-turbo", - "name": "DeepSeek V3 (Turbo)\t", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "release_date": "2025-03-05", - "last_updated": "2025-03-05", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.4, "output": 1.3 }, - "limit": { "context": 64000, "output": 16000 } - }, - "deepseek/deepseek-v3.2-exp": { - "id": "deepseek/deepseek-v3.2-exp", - "name": "Deepseek V3.2 Exp", - "attachment": false, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-09-29", - "last_updated": "2025-09-29", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.27, "output": 0.41 }, - "limit": { "context": 163840, "output": 65536 } - }, - "deepseek/deepseek-ocr": { - "id": "deepseek/deepseek-ocr", - "name": "DeepSeek-OCR", - "attachment": true, - "reasoning": false, - "tool_call": false, - "structured_output": true, - "temperature": true, - "release_date": "2025-10-24", - "last_updated": "2025-10-24", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.03, "output": 0.03 }, - "limit": { "context": 8192, "output": 8192 } - }, - "deepseek/deepseek-v3.1": { - "id": "deepseek/deepseek-v3.1", - "name": "DeepSeek V3.1", - "family": "deepseek", - "attachment": false, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-08-21", - "last_updated": "2025-08-21", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.27, "output": 1, "cache_read": 0.135 }, - "limit": { "context": 131072, "output": 32768 } - }, - "deepseek/deepseek-r1-0528": { - "id": "deepseek/deepseek-r1-0528", - "name": "DeepSeek R1 0528", - "family": "deepseek-thinking", - "attachment": false, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2024-07", - "release_date": "2025-05-28", - "last_updated": "2025-05-28", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.7, "output": 2.5, "cache_read": 0.35 }, - "limit": { "context": 163840, "output": 32768 } - }, - "deepseek/deepseek-v3.2": { - "id": "deepseek/deepseek-v3.2", - "name": "Deepseek V3.2", - "family": "deepseek", - "attachment": false, - "reasoning": true, - "tool_call": true, - "interleaved": { "field": "reasoning_content" }, - "structured_output": true, - "temperature": true, - "release_date": "2025-12-01", - "last_updated": "2025-12-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.269, "output": 0.4, "cache_read": 0.1345 }, - "limit": { "context": 163840, "output": 65536 } - }, - "zai-org/glm-4.7-flash": { - "id": "zai-org/glm-4.7-flash", - "name": "GLM-4.7-Flash", - "family": "glm", - "attachment": false, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2025-04", - "release_date": "2026-01-19", - "last_updated": "2026-01-19", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.07, "output": 0.4, "cache_read": 0.01 }, - "limit": { "context": 200000, "output": 128000 } - }, - "zai-org/autoglm-phone-9b-multilingual": { - "id": "zai-org/autoglm-phone-9b-multilingual", - "name": "AutoGLM-Phone-9B-Multilingual", - "attachment": true, - "reasoning": false, - "tool_call": false, - "temperature": true, - "release_date": "2025-12-10", - "last_updated": "2025-12-10", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.035, "output": 0.138 }, - "limit": { "context": 65536, "output": 65536 } - }, - "zai-org/glm-4.5": { - "id": "zai-org/glm-4.5", - "name": "GLM-4.5", - "family": "glm", - "attachment": false, - "reasoning": true, - "tool_call": true, - "interleaved": { "field": "reasoning_content" }, - "temperature": true, - "release_date": "2025-07-28", - "last_updated": "2025-07-28", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.6, "output": 2.2, "cache_read": 0.11 }, - "limit": { "context": 131072, "output": 98304 } - }, - "zai-org/glm-4.6": { - "id": "zai-org/glm-4.6", - "name": "GLM 4.6", - "family": "glm", - "attachment": false, - "reasoning": true, - "tool_call": true, - "interleaved": { "field": "reasoning_content" }, - "structured_output": true, - "temperature": true, - "release_date": "2025-09-30", - "last_updated": "2025-09-30", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.55, "output": 2.2, "cache_read": 0.11 }, - "limit": { "context": 204800, "output": 131072 } - }, - "zai-org/glm-4.6v": { - "id": "zai-org/glm-4.6v", - "name": "GLM 4.6V", - "family": "glmv", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2025-04", - "release_date": "2025-12-08", - "last_updated": "2025-12-08", - "modalities": { "input": ["text", "video", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.3, "output": 0.9, "cache_read": 0.055 }, - "limit": { "context": 131072, "output": 32768 } - }, - "zai-org/glm-5": { - "id": "zai-org/glm-5", - "name": "GLM-5", - "family": "glm", - "attachment": false, - "reasoning": true, - "tool_call": true, - "interleaved": { "field": "reasoning_content" }, - "structured_output": true, - "temperature": true, - "release_date": "2026-02-11", - "last_updated": "2026-02-12", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 1, "output": 3.2, "cache_read": 0.2 }, - "limit": { "context": 202800, "output": 131072 } - }, - "zai-org/glm-4.5-air": { - "id": "zai-org/glm-4.5-air", - "name": "GLM 4.5 Air", - "family": "glm-air", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-04", - "release_date": "2025-10-13", - "last_updated": "2025-10-13", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.13, "output": 0.85 }, - "limit": { "context": 131072, "output": 98304 } - }, - "zai-org/glm-4.5v": { - "id": "zai-org/glm-4.5v", - "name": "GLM 4.5V", - "family": "glmv", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2025-04", - "release_date": "2025-08-11", - "last_updated": "2025-08-11", - "modalities": { "input": ["text", "video", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.6, "output": 1.8, "cache_read": 0.11 }, - "limit": { "context": 65536, "output": 16384 } - }, - "zai-org/glm-4.7": { - "id": "zai-org/glm-4.7", - "name": "GLM-4.7", - "family": "glm", - "attachment": false, - "reasoning": true, - "tool_call": true, - "interleaved": { "field": "reasoning_content" }, - "structured_output": true, - "temperature": true, - "release_date": "2025-12-22", - "last_updated": "2025-12-22", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.6, "output": 2.2, "cache_read": 0.11 }, - "limit": { "context": 204800, "output": 131072 } - }, - "gryphe/mythomax-l2-13b": { - "id": "gryphe/mythomax-l2-13b", - "name": "Mythomax L2 13B", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "release_date": "2024-04-25", - "last_updated": "2024-04-25", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.09, "output": 0.09 }, - "limit": { "context": 4096, "output": 3200 } - }, - "google/gemma-3-27b-it": { - "id": "google/gemma-3-27b-it", - "name": "Gemma 3 27B", - "family": "gemma", - "attachment": true, - "reasoning": false, - "tool_call": false, - "temperature": true, - "release_date": "2025-03-25", - "last_updated": "2025-03-25", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.119, "output": 0.2 }, - "limit": { "context": 98304, "output": 16384 } - }, - "skywork/r1v4-lite": { - "id": "skywork/r1v4-lite", - "name": "Skywork R1V4-Lite", - "family": "skywork", - "attachment": true, - "reasoning": false, - "tool_call": false, - "structured_output": true, - "temperature": true, - "release_date": "2025-11-18", - "last_updated": "2025-11-18", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.2, "output": 0.6 }, - "limit": { "context": 262144, "output": 65536 } - }, - "baidu/ernie-4.5-21B-a3b-thinking": { - "id": "baidu/ernie-4.5-21B-a3b-thinking", - "name": "ERNIE-4.5-21B-A3B-Thinking", - "family": "ernie", - "attachment": false, - "reasoning": true, - "tool_call": false, - "temperature": true, - "knowledge": "2025-03", - "release_date": "2025-09-19", - "last_updated": "2025-09-19", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.07, "output": 0.28 }, - "limit": { "context": 131072, "output": 65536 } - }, - "baidu/ernie-4.5-vl-28b-a3b-thinking": { - "id": "baidu/ernie-4.5-vl-28b-a3b-thinking", - "name": "ERNIE-4.5-VL-28B-A3B-Thinking", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-11-26", - "last_updated": "2025-11-26", - "modalities": { "input": ["text", "image", "video"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.39, "output": 0.39 }, - "limit": { "context": 131072, "output": 65536 } - }, - "baidu/ernie-4.5-vl-28b-a3b": { - "id": "baidu/ernie-4.5-vl-28b-a3b", - "name": "ERNIE 4.5 VL 28B A3B", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2025-06-30", - "last_updated": "2025-06-30", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 1.4, "output": 5.6 }, - "limit": { "context": 30000, "output": 8000 } - }, - "baidu/ernie-4.5-21B-a3b": { - "id": "baidu/ernie-4.5-21B-a3b", - "name": "ERNIE 4.5 21B A3B", - "family": "ernie", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2025-03", - "release_date": "2025-06-30", - "last_updated": "2025-06-30", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.07, "output": 0.28 }, - "limit": { "context": 120000, "output": 8000 } - }, - "baidu/ernie-4.5-300b-a47b-paddle": { - "id": "baidu/ernie-4.5-300b-a47b-paddle", - "name": "ERNIE 4.5 300B A47B", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": true, - "temperature": true, - "release_date": "2025-06-30", - "last_updated": "2025-06-30", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.28, "output": 1.1 }, - "limit": { "context": 123000, "output": 12000 } - }, - "baidu/ernie-4.5-vl-424b-a47b": { - "id": "baidu/ernie-4.5-vl-424b-a47b", - "name": "ERNIE 4.5 VL 424B A47B", - "attachment": true, - "reasoning": true, - "tool_call": false, - "temperature": true, - "release_date": "2025-06-30", - "last_updated": "2025-06-30", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.42, "output": 1.25 }, - "limit": { "context": 123000, "output": 16000 } - }, - "minimaxai/minimax-m1-80k": { - "id": "minimaxai/minimax-m1-80k", - "name": "MiniMax M1", - "family": "minimax", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2025-06-17", - "last_updated": "2025-06-17", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.55, "output": 2.2 }, - "limit": { "context": 1000000, "output": 40000 } - }, - "meta-llama/llama-3.3-70b-instruct": { - "id": "meta-llama/llama-3.3-70b-instruct", - "name": "Llama 3.3 70B Instruct", - "family": "llama", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2023-12", - "release_date": "2024-12-07", - "last_updated": "2024-12-07", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.135, "output": 0.4 }, - "limit": { "context": 131072, "output": 120000 } - }, - "meta-llama/llama-3.1-8b-instruct": { - "id": "meta-llama/llama-3.1-8b-instruct", - "name": "Llama 3.1 8B Instruct", - "family": "llama", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "release_date": "2024-07-24", - "last_updated": "2024-07-24", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.02, "output": 0.05 }, - "limit": { "context": 16384, "output": 16384 } - }, - "meta-llama/llama-4-scout-17b-16e-instruct": { - "id": "meta-llama/llama-4-scout-17b-16e-instruct", - "name": "Llama 4 Scout Instruct", - "attachment": true, - "reasoning": false, - "tool_call": false, - "temperature": true, - "release_date": "2025-04-06", - "last_updated": "2025-04-06", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.18, "output": 0.59 }, - "limit": { "context": 131072, "output": 131072 } - }, - "meta-llama/llama-3-8b-instruct": { - "id": "meta-llama/llama-3-8b-instruct", - "name": "Llama 3 8B Instruct", - "family": "llama", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "release_date": "2024-04-25", - "last_updated": "2024-04-25", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.04, "output": 0.04 }, - "limit": { "context": 8192, "output": 8192 } - }, - "meta-llama/llama-3-70b-instruct": { - "id": "meta-llama/llama-3-70b-instruct", - "name": "Llama3 70B Instruct", - "family": "llama", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": true, - "temperature": true, - "release_date": "2024-04-25", - "last_updated": "2024-04-25", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.51, "output": 0.74 }, - "limit": { "context": 8192, "output": 8000 } - }, - "meta-llama/llama-4-maverick-17b-128e-instruct-fp8": { - "id": "meta-llama/llama-4-maverick-17b-128e-instruct-fp8", - "name": "Llama 4 Maverick Instruct", - "attachment": true, - "reasoning": false, - "tool_call": false, - "temperature": true, - "release_date": "2025-04-06", - "last_updated": "2025-04-06", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.27, "output": 0.85 }, - "limit": { "context": 1048576, "output": 8192 } - }, - "nousresearch/hermes-2-pro-llama-3-8b": { - "id": "nousresearch/hermes-2-pro-llama-3-8b", - "name": "Hermes 2 Pro Llama 3 8B", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": true, - "temperature": true, - "release_date": "2024-06-27", - "last_updated": "2024-06-27", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.14, "output": 0.14 }, - "limit": { "context": 8192, "output": 8192 } - }, - "minimax/minimax-m2": { - "id": "minimax/minimax-m2", - "name": "MiniMax-M2", - "family": "minimax", - "attachment": false, - "reasoning": true, - "tool_call": true, - "interleaved": { "field": "reasoning_content" }, - "temperature": true, - "release_date": "2025-10-27", - "last_updated": "2025-10-27", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.3, "output": 1.2, "cache_read": 0.03 }, - "limit": { "context": 204800, "output": 131072 } - }, - "minimax/minimax-m2.1": { - "id": "minimax/minimax-m2.1", - "name": "Minimax M2.1", - "family": "minimax", - "attachment": false, - "reasoning": false, - "tool_call": true, - "interleaved": { "field": "reasoning_content" }, - "structured_output": true, - "temperature": true, - "release_date": "2025-12-23", - "last_updated": "2025-12-23", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.3, "output": 1.2, "cache_read": 0.03 }, - "limit": { "context": 204800, "output": 131072 } - }, - "minimax/minimax-m2.5": { - "id": "minimax/minimax-m2.5", - "name": "MiniMax M2.5", - "family": "minimax", - "attachment": false, - "reasoning": true, - "tool_call": true, - "interleaved": { "field": "reasoning_content" }, - "structured_output": true, - "temperature": true, - "release_date": "2026-02-12", - "last_updated": "2026-02-12", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.3, "output": 1.2, "cache_read": 0.03 }, - "limit": { "context": 204800, "output": 131100 } - }, - "qwen/qwen3-coder-30b-a3b-instruct": { - "id": "qwen/qwen3-coder-30b-a3b-instruct", - "name": "Qwen3 Coder 30b A3B Instruct", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-10-09", - "last_updated": "2025-10-09", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.07, "output": 0.27 }, - "limit": { "context": 160000, "output": 32768 } - }, - "qwen/qwen3-235b-a22b-instruct-2507": { - "id": "qwen/qwen3-235b-a22b-instruct-2507", - "name": "Qwen3 235B A22B Instruct 2507", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2025-04", - "release_date": "2025-07-22", - "last_updated": "2025-07-22", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.09, "output": 0.58 }, - "limit": { "context": 131072, "output": 16384 } - }, - "qwen/qwen-mt-plus": { - "id": "qwen/qwen-mt-plus", - "name": "Qwen MT Plus", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "release_date": "2025-09-03", - "last_updated": "2025-09-03", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.25, "output": 0.75 }, - "limit": { "context": 16384, "output": 8192 } - }, - "qwen/qwen3-vl-235b-a22b-instruct": { - "id": "qwen/qwen3-vl-235b-a22b-instruct", - "name": "Qwen3 VL 235B A22B Instruct", - "attachment": true, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-09-24", - "last_updated": "2025-09-24", - "modalities": { "input": ["text", "image", "video"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.3, "output": 1.5 }, - "limit": { "context": 131072, "output": 32768 } - }, - "qwen/qwen3-coder-next": { - "id": "qwen/qwen3-coder-next", - "name": "Qwen3 Coder Next", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2026-02-03", - "last_updated": "2026-02-03", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.2, "output": 1.5 }, - "limit": { "context": 262144, "output": 65536 } - }, - "qwen/qwen3-8b-fp8": { - "id": "qwen/qwen3-8b-fp8", - "name": "Qwen3 8B", - "attachment": false, - "reasoning": true, - "tool_call": false, - "temperature": true, - "release_date": "2025-04-29", - "last_updated": "2025-04-29", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.035, "output": 0.138 }, - "limit": { "context": 128000, "output": 20000 } - }, - "qwen/qwen3-omni-30b-a3b-instruct": { - "id": "qwen/qwen3-omni-30b-a3b-instruct", - "name": "Qwen3 Omni 30B A3B Instruct", - "family": "qwen", - "attachment": true, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2024-04", - "release_date": "2025-09-24", - "last_updated": "2025-09-24", - "modalities": { "input": ["text", "video", "audio", "image"], "output": ["text", "audio"] }, - "open_weights": true, - "cost": { "input": 0.25, "output": 0.97, "input_audio": 2.2, "output_audio": 1.788 }, - "limit": { "context": 65536, "output": 16384 } - }, - "qwen/qwen2.5-7b-instruct": { - "id": "qwen/qwen2.5-7b-instruct", - "name": "Qwen2.5 7B Instruct", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-04-16", - "last_updated": "2025-04-16", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.07, "output": 0.07 }, - "limit": { "context": 32000, "output": 32000 } - }, - "qwen/qwen3-30b-a3b-fp8": { - "id": "qwen/qwen3-30b-a3b-fp8", - "name": "Qwen3 30B A3B", - "attachment": false, - "reasoning": true, - "tool_call": false, - "temperature": true, - "release_date": "2025-04-29", - "last_updated": "2025-04-29", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.09, "output": 0.45 }, - "limit": { "context": 40960, "output": 20000 } - }, - "qwen/qwen3-235b-a22b-fp8": { - "id": "qwen/qwen3-235b-a22b-fp8", - "name": "Qwen3 235B A22B", - "attachment": false, - "reasoning": true, - "tool_call": false, - "temperature": true, - "release_date": "2025-04-29", - "last_updated": "2025-04-29", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.2, "output": 0.8 }, - "limit": { "context": 40960, "output": 20000 } - }, - "qwen/qwen2.5-vl-72b-instruct": { - "id": "qwen/qwen2.5-vl-72b-instruct", - "name": "Qwen2.5 VL 72B Instruct", - "family": "qwen", - "attachment": true, - "reasoning": false, - "tool_call": false, - "temperature": true, - "release_date": "2025-03-25", - "last_updated": "2025-03-25", - "modalities": { "input": ["text", "image", "video"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.8, "output": 0.8 }, - "limit": { "context": 32768, "output": 32768 } - }, - "qwen/qwen3-vl-8b-instruct": { - "id": "qwen/qwen3-vl-8b-instruct", - "name": "qwen/qwen3-vl-8b-instruct", - "attachment": true, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-10-17", - "last_updated": "2025-10-17", - "modalities": { "input": ["text", "image", "video"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.08, "output": 0.5 }, - "limit": { "context": 131072, "output": 32768 } - }, - "qwen/qwen3-coder-480b-a35b-instruct": { - "id": "qwen/qwen3-coder-480b-a35b-instruct", - "name": "Qwen3 Coder 480B A35B Instruct", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2025-04", - "release_date": "2025-07-23", - "last_updated": "2025-07-23", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.3, "output": 1.3 }, - "limit": { "context": 262144, "output": 65536 } - }, - "qwen/qwen3-next-80b-a3b-thinking": { - "id": "qwen/qwen3-next-80b-a3b-thinking", - "name": "Qwen3 Next 80B A3B Thinking", - "attachment": false, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-09-10", - "last_updated": "2025-09-10", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.15, "output": 1.5 }, - "limit": { "context": 131072, "output": 32768 } - }, - "qwen/qwen3-vl-30b-a3b-instruct": { - "id": "qwen/qwen3-vl-30b-a3b-instruct", - "name": "qwen/qwen3-vl-30b-a3b-instruct", - "attachment": true, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-10-11", - "last_updated": "2025-10-11", - "modalities": { "input": ["text", "video", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.2, "output": 0.7 }, - "limit": { "context": 131072, "output": 32768 } - }, - "qwen/qwen3-235b-a22b-thinking-2507": { - "id": "qwen/qwen3-235b-a22b-thinking-2507", - "name": "Qwen3 235B A22b Thinking 2507", - "family": "qwen", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-04", - "release_date": "2025-07-25", - "last_updated": "2025-07-25", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.3, "output": 3 }, - "limit": { "context": 131072, "output": 32768 } - }, - "qwen/qwen3-next-80b-a3b-instruct": { - "id": "qwen/qwen3-next-80b-a3b-instruct", - "name": "Qwen3 Next 80B A3B Instruct", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-09-10", - "last_updated": "2025-09-10", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.15, "output": 1.5 }, - "limit": { "context": 131072, "output": 32768 } - }, - "qwen/qwen3-omni-30b-a3b-thinking": { - "id": "qwen/qwen3-omni-30b-a3b-thinking", - "name": "Qwen3 Omni 30B A3B Thinking", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-09-24", - "last_updated": "2025-09-24", - "modalities": { "input": ["text", "audio", "video", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.25, "output": 0.97, "input_audio": 2.2, "output_audio": 1.788 }, - "limit": { "context": 65536, "output": 16384 } - }, - "qwen/qwen3-vl-30b-a3b-thinking": { - "id": "qwen/qwen3-vl-30b-a3b-thinking", - "name": "qwen/qwen3-vl-30b-a3b-thinking", - "attachment": true, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-10-11", - "last_updated": "2025-10-11", - "modalities": { "input": ["text", "image", "video"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.2, "output": 1 }, - "limit": { "context": 131072, "output": 32768 } - }, - "qwen/qwen3-32b-fp8": { - "id": "qwen/qwen3-32b-fp8", - "name": "Qwen3 32B", - "attachment": false, - "reasoning": true, - "tool_call": false, - "temperature": true, - "release_date": "2025-04-29", - "last_updated": "2025-04-29", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.1, "output": 0.45 }, - "limit": { "context": 40960, "output": 20000 } - }, - "qwen/qwen3.5-397b-a17b": { - "id": "qwen/qwen3.5-397b-a17b", - "name": "Qwen3.5-397B-A17B", - "family": "qwen", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2026-02-17", - "last_updated": "2026-02-17", - "modalities": { "input": ["text", "image", "video"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.6, "output": 3.6 }, - "limit": { "context": 262144, "output": 64000 } - }, - "qwen/qwen3-max": { - "id": "qwen/qwen3-max", - "name": "Qwen3 Max", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2025-04", - "release_date": "2025-09-24", - "last_updated": "2025-09-24", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2.11, "output": 8.45 }, - "limit": { "context": 262144, "output": 65536 } - }, - "qwen/qwen3-4b-fp8": { - "id": "qwen/qwen3-4b-fp8", - "name": "Qwen3 4B", - "attachment": false, - "reasoning": true, - "tool_call": false, - "temperature": true, - "release_date": "2025-04-29", - "last_updated": "2025-04-29", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.03, "output": 0.03 }, - "limit": { "context": 128000, "output": 20000 } - }, - "qwen/qwen3-vl-235b-a22b-thinking": { - "id": "qwen/qwen3-vl-235b-a22b-thinking", - "name": "Qwen3 VL 235B A22B Thinking", - "attachment": true, - "reasoning": true, - "tool_call": false, - "temperature": true, - "release_date": "2025-09-24", - "last_updated": "2025-09-24", - "modalities": { "input": ["text", "image", "video"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.98, "output": 3.95 }, - "limit": { "context": 131072, "output": 32768 } - }, - "qwen/qwen-2.5-72b-instruct": { - "id": "qwen/qwen-2.5-72b-instruct", - "name": "Qwen 2.5 72B Instruct", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2024-04", - "release_date": "2024-10-15", - "last_updated": "2024-10-15", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.38, "output": 0.4 }, - "limit": { "context": 32000, "output": 8192 } - }, - "baichuan/baichuan-m2-32b": { - "id": "baichuan/baichuan-m2-32b", - "name": "baichuan-m2-32b", - "family": "baichuan", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "temperature": true, - "knowledge": "2024-12", - "release_date": "2025-08-13", - "last_updated": "2025-08-13", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.07, "output": 0.07 }, - "limit": { "context": 131072, "output": 131072 } - }, - "moonshotai/kimi-k2-thinking": { - "id": "moonshotai/kimi-k2-thinking", - "name": "Kimi K2 Thinking", - "family": "kimi", - "attachment": false, - "reasoning": true, - "tool_call": true, - "interleaved": { "field": "reasoning_content" }, - "structured_output": true, - "temperature": true, - "release_date": "2025-11-07", - "last_updated": "2025-11-07", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.6, "output": 2.5 }, - "limit": { "context": 262144, "output": 262144 } - }, - "moonshotai/kimi-k2.5": { - "id": "moonshotai/kimi-k2.5", - "name": "Kimi K2.5", - "family": "kimi", - "attachment": true, - "reasoning": true, - "tool_call": true, - "interleaved": { "field": "reasoning_content" }, - "structured_output": true, - "temperature": true, - "knowledge": "2025-01", - "release_date": "2026-01-27", - "last_updated": "2026-01-27", - "modalities": { "input": ["text", "image", "video"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.6, "output": 3, "cache_read": 0.1 }, - "limit": { "context": 262144, "output": 262144 } - }, - "moonshotai/kimi-k2-0905": { - "id": "moonshotai/kimi-k2-0905", - "name": "Kimi K2 0905", - "family": "kimi", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2024-10", - "release_date": "2025-09-05", - "last_updated": "2025-09-05", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.6, "output": 2.5 }, - "limit": { "context": 262144, "output": 262144 } - }, - "moonshotai/kimi-k2-instruct": { - "id": "moonshotai/kimi-k2-instruct", - "name": "Kimi K2 Instruct", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-07-11", - "last_updated": "2025-07-11", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.57, "output": 2.3 }, - "limit": { "context": 131072, "output": 131072 } - }, - "xiaomimimo/mimo-v2-flash": { - "id": "xiaomimimo/mimo-v2-flash", - "name": "XiaomiMiMo/MiMo-V2-Flash", - "family": "mimo", - "attachment": false, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2024-12", - "release_date": "2025-12-19", - "last_updated": "2025-12-19", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.1, "output": 0.3, "cache_read": 0.3 }, - "limit": { "context": 262144, "output": 32000 } - }, - "mistralai/mistral-nemo": { - "id": "mistralai/mistral-nemo", - "name": "Mistral Nemo", - "family": "mistral-nemo", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": true, - "temperature": true, - "release_date": "2024-07-30", - "last_updated": "2024-07-30", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.04, "output": 0.17 }, - "limit": { "context": 60288, "output": 16000 } - } - } - }, - "cortecs": { - "id": "cortecs", - "env": ["CORTECS_API_KEY"], - "npm": "@ai-sdk/openai-compatible", - "api": "https://api.cortecs.ai/v1", - "name": "Cortecs", - "doc": "https://api.cortecs.ai/v1/models", - "models": { - "claude-4-6-sonnet": { - "id": "claude-4-6-sonnet", - "name": "Claude Sonnet 4.6", - "family": "claude-sonnet", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-08", - "release_date": "2026-02-17", - "last_updated": "2026-03-13", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 3.59, "output": 17.92 }, - "limit": { "context": 1000000, "output": 1000000 } + "limit": { + "context": 128000, + "output": 16384 + }, + "cost": { + "input": 1.25, + "output": 10, + "cache_read": 0.13 + } }, "deepseek-v3-0324": { "id": "deepseek-v3-0324", - "name": "DeepSeek V3 0324", + "name": "DeepSeek-V3-0324", "family": "deepseek", "attachment": false, "reasoning": false, @@ -22147,62 +76144,80 @@ "knowledge": "2024-07", "release_date": "2025-03-24", "last_updated": "2025-03-24", - "modalities": { "input": ["text"], "output": ["text"] }, + "modalities": { + "input": ["text"], + "output": ["text"] + }, "open_weights": true, - "cost": { "input": 0.551, "output": 1.654 }, - "limit": { "context": 128000, "output": 128000 } + "limit": { + "context": 131072, + "output": 131072 + }, + "cost": { + "input": 1.14, + "output": 4.56 + } }, - "kimi-k2-thinking": { - "id": "kimi-k2-thinking", - "name": "Kimi K2 Thinking", - "attachment": true, - "reasoning": true, - "tool_call": true, - "interleaved": { "field": "reasoning_content" }, - "temperature": true, - "knowledge": "2025-12", - "release_date": "2025-12-08", - "last_updated": "2025-12-08", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.656, "output": 2.731 }, - "limit": { "context": 262000, "output": 262000 } - }, - "devstral-2512": { - "id": "devstral-2512", - "name": "Devstral 2 2512", + "llama-3.3-70b-instruct": { + "id": "llama-3.3-70b-instruct", + "name": "Llama-3.3-70B-Instruct", + "family": "llama", "attachment": false, "reasoning": false, "tool_call": true, "temperature": true, - "knowledge": "2025-12", - "release_date": "2025-12-09", - "last_updated": "2025-12-09", - "modalities": { "input": ["text"], "output": ["text"] }, + "knowledge": "2023-12", + "release_date": "2024-12-06", + "last_updated": "2024-12-06", + "modalities": { + "input": ["text"], + "output": ["text"] + }, "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 262000, "output": 262000 } + "limit": { + "context": 128000, + "output": 32768 + }, + "cost": { + "input": 0.71, + "output": 0.71 + } }, "kimi-k2.5": { "id": "kimi-k2.5", "name": "Kimi K2.5", - "family": "kimi-thinking", + "family": "kimi", "attachment": false, "reasoning": true, "tool_call": true, - "interleaved": { "field": "reasoning_content" }, + "interleaved": true, + "structured_output": true, "temperature": true, "knowledge": "2025-01", - "release_date": "2026-01-27", - "last_updated": "2026-01-27", - "modalities": { "input": ["text", "image", "video"], "output": ["text"] }, + "release_date": "2026-02-06", + "last_updated": "2026-02-06", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, "open_weights": true, - "cost": { "input": 0.55, "output": 2.76 }, - "limit": { "context": 256000, "output": 256000 } + "limit": { + "context": 262144, + "output": 262144 + }, + "provider": { + "npm": "@ai-sdk/openai-compatible", + "api": "https://${AZURE_RESOURCE_NAME}.services.ai.azure.com/models", + "shape": "completions" + }, + "cost": { + "input": 0.6, + "output": 3 + } }, - "llama-3.1-405b-instruct": { - "id": "llama-3.1-405b-instruct", - "name": "Llama 3.1 405B Instruct", + "meta-llama-3.1-8b-instruct": { + "id": "meta-llama-3.1-8b-instruct", + "name": "Meta-Llama-3.1-8B-Instruct", "family": "llama", "attachment": false, "reasoning": false, @@ -22211,6502 +76226,1372 @@ "knowledge": "2023-12", "release_date": "2024-07-23", "last_updated": "2024-07-23", - "modalities": { "input": ["text"], "output": ["text"] }, + "modalities": { + "input": ["text"], + "output": ["text"] + }, "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 128000, "output": 128000 } + "limit": { + "context": 128000, + "output": 32768 + }, + "cost": { + "input": 0.3, + "output": 0.61 + } }, - "glm-4.7-flash": { - "id": "glm-4.7-flash", - "name": "GLM-4.7-Flash", - "family": "glm", - "attachment": false, - "reasoning": true, - "tool_call": true, - "interleaved": { "field": "reasoning_content" }, - "temperature": true, - "knowledge": "2025-04", - "release_date": "2025-08-08", - "last_updated": "2025-08-08", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.09, "output": 0.53 }, - "limit": { "context": 203000, "output": 203000 } - }, - "gpt-4.1": { - "id": "gpt-4.1", - "name": "GPT 4.1", - "family": "gpt", + "ministral-3b": { + "id": "ministral-3b", + "name": "Ministral 3B", + "family": "ministral", "attachment": false, "reasoning": false, "tool_call": true, "temperature": true, - "knowledge": "2024-06", - "release_date": "2025-04-14", - "last_updated": "2025-04-14", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2.354, "output": 9.417 }, - "limit": { "context": 1047576, "output": 32768 } - }, - "minimax-m2": { - "id": "minimax-m2", - "name": "MiniMax-M2", - "family": "minimax", - "attachment": false, - "reasoning": true, - "tool_call": true, - "interleaved": { "field": "reasoning_content" }, - "temperature": true, - "knowledge": "2024-11", - "release_date": "2025-10-27", - "last_updated": "2025-10-27", - "modalities": { "input": ["text"], "output": ["text"] }, + "knowledge": "2024-03", + "release_date": "2024-10-22", + "last_updated": "2024-10-22", + "modalities": { + "input": ["text"], + "output": ["text"] + }, "open_weights": true, - "cost": { "input": 0.39, "output": 1.57 }, - "limit": { "context": 400000, "output": 400000 } + "limit": { + "context": 128000, + "output": 8192 + }, + "cost": { + "input": 0.04, + "output": 0.04 + } }, - "gpt-oss-120b": { - "id": "gpt-oss-120b", - "name": "GPT Oss 120b", - "family": "gpt-oss", + "phi-3-medium-4k-instruct": { + "id": "phi-3-medium-4k-instruct", + "name": "Phi-3-medium-instruct (4k)", + "family": "phi", "attachment": false, "reasoning": false, + "tool_call": false, + "temperature": true, + "knowledge": "2023-10", + "release_date": "2024-04-23", + "last_updated": "2024-04-23", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 4096, + "output": 1024 + }, + "cost": { + "input": 0.17, + "output": 0.68 + } + }, + "llama-4-scout-17b-16e-instruct": { + "id": "llama-4-scout-17b-16e-instruct", + "name": "Llama 4 Scout 17B 16E Instruct", + "family": "llama", + "attachment": true, + "reasoning": false, "tool_call": true, "temperature": true, - "knowledge": "2024-01", - "release_date": "2025-08-05", - "last_updated": "2025-08-05", - "modalities": { "input": ["text"], "output": ["text"] }, + "knowledge": "2024-08", + "release_date": "2025-04-05", + "last_updated": "2025-04-05", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 128000, "output": 128000 } + "limit": { + "context": 128000, + "output": 8192 + }, + "cost": { + "input": 0.2, + "output": 0.78 + } }, - "glm-4.5": { - "id": "glm-4.5", - "name": "GLM 4.5", - "family": "glm", - "attachment": false, - "reasoning": true, - "tool_call": true, - "interleaved": { "field": "reasoning_content" }, - "temperature": true, - "knowledge": "2025-04", - "release_date": "2025-07-29", - "last_updated": "2025-07-29", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.67, "output": 2.46 }, - "limit": { "context": 131072, "output": 131072 } - }, - "minimax-m2.1": { - "id": "minimax-m2.1", - "name": "MiniMax-M2.1", - "family": "minimax", - "attachment": false, - "reasoning": true, - "tool_call": true, - "interleaved": { "field": "reasoning_content" }, - "temperature": true, - "release_date": "2025-12-23", - "last_updated": "2025-12-23", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.34, "output": 1.34 }, - "limit": { "context": 196000, "output": 196000 } - }, - "qwen3-coder-480b-a35b-instruct": { - "id": "qwen3-coder-480b-a35b-instruct", - "name": "Qwen3 Coder 480B A35B Instruct", - "family": "qwen", + "phi-3.5-mini-instruct": { + "id": "phi-3.5-mini-instruct", + "name": "Phi-3.5-mini-instruct", + "family": "phi", "attachment": false, "reasoning": false, - "tool_call": true, + "tool_call": false, "temperature": true, - "knowledge": "2025-01", - "release_date": "2025-07-25", - "last_updated": "2025-07-25", - "modalities": { "input": ["text"], "output": ["text"] }, + "knowledge": "2023-10", + "release_date": "2024-08-20", + "last_updated": "2024-08-20", + "modalities": { + "input": ["text"], + "output": ["text"] + }, "open_weights": true, - "cost": { "input": 0.441, "output": 1.984 }, - "limit": { "context": 262000, "output": 262000 } + "limit": { + "context": 128000, + "output": 4096 + }, + "cost": { + "input": 0.13, + "output": 0.52 + } }, - "qwen3-next-80b-a3b-thinking": { - "id": "qwen3-next-80b-a3b-thinking", - "name": "Qwen3 Next 80B A3B Thinking", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-04", - "release_date": "2025-09-11", - "last_updated": "2025-09-11", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.164, "output": 1.311 }, - "limit": { "context": 128000, "output": 128000 } - }, - "gemini-2.5-pro": { - "id": "gemini-2.5-pro", - "name": "Gemini 2.5 Pro", - "family": "gemini-pro", - "attachment": false, + "phi-4-multimodal": { + "id": "phi-4-multimodal", + "name": "Phi-4-multimodal", + "family": "phi", + "attachment": true, "reasoning": false, - "tool_call": true, + "tool_call": false, "temperature": true, - "knowledge": "2025-01", - "release_date": "2025-03-20", - "last_updated": "2025-06-17", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.654, "output": 11.024 }, - "limit": { "context": 1048576, "output": 65535 } + "knowledge": "2023-10", + "release_date": "2024-12-11", + "last_updated": "2024-12-11", + "modalities": { + "input": ["text", "image", "audio"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 4096 + }, + "cost": { + "input": 0.08, + "output": 0.32, + "input_audio": 4 + } }, - "claude-opus4-5": { - "id": "claude-opus4-5", - "name": "Claude Opus 4.5", - "family": "claude-opus", + "codex-mini": { + "id": "codex-mini", + "name": "Codex Mini", + "family": "gpt-codex-mini", "attachment": true, "reasoning": true, "tool_call": true, - "temperature": true, - "knowledge": "2025-03-31", - "release_date": "2025-11-24", - "last_updated": "2025-11-24", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 5.98, "output": 29.89 }, - "limit": { "context": 200000, "output": 200000 } - }, - "nova-pro-v1": { - "id": "nova-pro-v1", - "name": "Nova Pro 1.0", - "family": "nova-pro", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, + "temperature": false, "knowledge": "2024-04", - "release_date": "2024-12-03", - "last_updated": "2024-12-03", - "modalities": { "input": ["text", "image"], "output": ["text"] }, + "release_date": "2025-05-16", + "last_updated": "2025-05-16", + "modalities": { + "input": ["text"], + "output": ["text"] + }, "open_weights": false, - "cost": { "input": 1.016, "output": 4.061 }, - "limit": { "context": 300000, "output": 5000 } + "limit": { + "context": 200000, + "output": 100000 + }, + "cost": { + "input": 1.5, + "output": 6, + "cache_read": 0.375 + } }, - "claude-sonnet-4": { - "id": "claude-sonnet-4", - "name": "Claude Sonnet 4", - "family": "claude-sonnet", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2025-03", - "release_date": "2025-05-22", - "last_updated": "2025-05-22", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 3.307, "output": 16.536 }, - "limit": { "context": 200000, "output": 64000 } - }, - "intellect-3": { - "id": "intellect-3", - "name": "INTELLECT 3", + "gpt-5.2-chat": { + "id": "gpt-5.2-chat", + "name": "GPT-5.2 Chat", + "family": "gpt-codex", "attachment": true, "reasoning": true, "tool_call": true, - "temperature": true, - "knowledge": "2025-11", - "release_date": "2025-11-26", - "last_updated": "2025-11-26", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.219, "output": 1.202 }, - "limit": { "context": 128000, "output": 128000 } - }, - "glm-4.5-air": { - "id": "glm-4.5-air", - "name": "GLM 4.5 Air", - "family": "glm-air", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-04", - "release_date": "2025-08-01", - "last_updated": "2025-08-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.22, "output": 1.34 }, - "limit": { "context": 131072, "output": 131072 } - }, - "glm-4.7": { - "id": "glm-4.7", - "name": "GLM 4.7", - "family": "glm", - "attachment": false, - "reasoning": true, - "tool_call": true, - "interleaved": { "field": "reasoning_content" }, - "temperature": true, - "knowledge": "2025-04", - "release_date": "2025-12-22", - "last_updated": "2025-12-22", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.45, "output": 2.23 }, - "limit": { "context": 198000, "output": 198000 } - }, - "devstral-small-2512": { - "id": "devstral-small-2512", - "name": "Devstral Small 2 2512", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2025-12", - "release_date": "2025-12-09", - "last_updated": "2025-12-09", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 262000, "output": 262000 } - }, - "qwen3-32b": { - "id": "qwen3-32b", - "name": "Qwen3 32B", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-12", - "release_date": "2025-04-29", - "last_updated": "2025-04-29", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.099, "output": 0.33 }, - "limit": { "context": 16384, "output": 16384 } - }, - "claude-opus4-6": { - "id": "claude-opus4-6", - "name": "Claude Opus 4.6", - "family": "claude-opus", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-05", - "release_date": "2026-02-05", - "last_updated": "2026-03-13", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, + "structured_output": true, + "temperature": false, + "knowledge": "2025-08-31", + "release_date": "2025-12-11", + "last_updated": "2025-12-11", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, "open_weights": false, - "cost": { "input": 5.98, "output": 29.89 }, - "limit": { "context": 1000000, "output": 1000000 } + "limit": { + "context": 128000, + "output": 16384 + }, + "cost": { + "input": 1.75, + "output": 14, + "cache_read": 0.175 + } }, - "claude-haiku-4-5": { - "id": "claude-haiku-4-5", - "name": "Claude Haiku 4.5", - "family": "claude-haiku", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-02-28", - "release_date": "2025-10-15", - "last_updated": "2025-10-15", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.09, "output": 5.43 }, - "limit": { "context": 200000, "output": 200000 } - }, - "minimax-m2.5": { - "id": "minimax-m2.5", - "name": "MiniMax-M2.5", - "family": "minimax", - "attachment": false, - "reasoning": true, - "tool_call": true, - "interleaved": { "field": "reasoning_content" }, - "temperature": true, - "release_date": "2026-02-12", - "last_updated": "2026-02-12", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.32, "output": 1.18 }, - "limit": { "context": 196608, "output": 196608 } - }, - "kimi-k2-instruct": { - "id": "kimi-k2-instruct", - "name": "Kimi K2 Instruct", - "family": "kimi", + "mistral-nemo": { + "id": "mistral-nemo", + "name": "Mistral Nemo", + "family": "mistral-nemo", "attachment": false, "reasoning": false, "tool_call": true, "temperature": true, "knowledge": "2024-07", - "release_date": "2025-07-11", - "last_updated": "2025-09-05", - "modalities": { "input": ["text"], "output": ["text"] }, + "release_date": "2024-07-18", + "last_updated": "2024-07-18", + "modalities": { + "input": ["text"], + "output": ["text"] + }, "open_weights": true, - "cost": { "input": 0.551, "output": 2.646 }, - "limit": { "context": 131000, "output": 131000 } + "limit": { + "context": 128000, + "output": 128000 + }, + "cost": { + "input": 0.15, + "output": 0.15 + } }, - "claude-4-5-sonnet": { - "id": "claude-4-5-sonnet", - "name": "Claude 4.5 Sonnet", - "family": "claude-sonnet", + "gpt-5.4-mini": { + "id": "gpt-5.4-mini", + "name": "GPT-5.4 Mini", + "family": "gpt-mini", "attachment": true, "reasoning": true, "tool_call": true, - "temperature": true, - "knowledge": "2025-07-31", - "release_date": "2025-09-29", - "last_updated": "2025-09-29", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 3.259, "output": 16.296 }, - "limit": { "context": 200000, "output": 200000 } - } - } - }, - "siliconflow-cn": { - "id": "siliconflow-cn", - "env": ["SILICONFLOW_CN_API_KEY"], - "npm": "@ai-sdk/openai-compatible", - "api": "https://api.siliconflow.cn/v1", - "name": "SiliconFlow (China)", - "doc": "https://cloud.siliconflow.com/models", - "models": { - "THUDM/GLM-4-9B-0414": { - "id": "THUDM/GLM-4-9B-0414", - "name": "THUDM/GLM-4-9B-0414", - "family": "glm", - "attachment": false, - "reasoning": false, - "tool_call": true, "structured_output": true, - "temperature": true, - "release_date": "2025-04-18", - "last_updated": "2025-11-25", - "modalities": { "input": ["text"], "output": ["text"] }, + "temperature": false, + "knowledge": "2025-08-31", + "release_date": "2026-03-17", + "last_updated": "2026-03-17", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, "open_weights": false, - "cost": { "input": 0.086, "output": 0.086 }, - "limit": { "context": 33000, "output": 33000 } + "limit": { + "context": 400000, + "input": 272000, + "output": 128000 + }, + "cost": { + "input": 0.75, + "output": 4.5, + "cache_read": 0.075 + } }, - "THUDM/GLM-4-32B-0414": { - "id": "THUDM/GLM-4-32B-0414", - "name": "THUDM/GLM-4-32B-0414", - "family": "glm", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-04-18", - "last_updated": "2025-11-25", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.27, "output": 0.27 }, - "limit": { "context": 33000, "output": 33000 } - }, - "THUDM/GLM-Z1-9B-0414": { - "id": "THUDM/GLM-Z1-9B-0414", - "name": "THUDM/GLM-Z1-9B-0414", - "family": "glm-z", - "attachment": false, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-04-18", - "last_updated": "2025-11-25", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.086, "output": 0.086 }, - "limit": { "context": 131000, "output": 131000 } - }, - "THUDM/GLM-Z1-32B-0414": { - "id": "THUDM/GLM-Z1-32B-0414", - "name": "THUDM/GLM-Z1-32B-0414", - "family": "glm-z", - "attachment": false, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-04-18", - "last_updated": "2025-11-25", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.14, "output": 0.57 }, - "limit": { "context": 131000, "output": 131000 } - }, - "zai-org/GLM-4.6": { - "id": "zai-org/GLM-4.6", - "name": "zai-org/GLM-4.6", - "family": "glm", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-10-04", - "last_updated": "2025-11-25", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.5, "output": 1.9 }, - "limit": { "context": 205000, "output": 205000 } - }, - "zai-org/GLM-4.5V": { - "id": "zai-org/GLM-4.5V", - "name": "zai-org/GLM-4.5V", - "family": "glm", + "gpt-5.4-nano": { + "id": "gpt-5.4-nano", + "name": "GPT-5.4 Nano", + "family": "gpt-nano", "attachment": true, - "reasoning": false, + "reasoning": true, "tool_call": true, "structured_output": true, - "temperature": true, - "release_date": "2025-08-13", - "last_updated": "2025-11-25", - "modalities": { "input": ["text", "image"], "output": ["text"] }, + "temperature": false, + "knowledge": "2025-08-31", + "release_date": "2026-03-17", + "last_updated": "2026-03-17", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, "open_weights": false, - "cost": { "input": 0.14, "output": 0.86 }, - "limit": { "context": 66000, "output": 66000 } + "limit": { + "context": 400000, + "input": 272000, + "output": 128000 + }, + "cost": { + "input": 0.2, + "output": 1.25, + "cache_read": 0.02 + } }, - "zai-org/GLM-4.6V": { - "id": "zai-org/GLM-4.6V", - "name": "zai-org/GLM-4.6V", - "family": "glm", + "gpt-5.4-pro": { + "id": "gpt-5.4-pro", + "name": "GPT-5.4 Pro", + "family": "gpt-pro", "attachment": true, "reasoning": true, "tool_call": true, "structured_output": false, - "temperature": true, - "release_date": "2025-12-07", - "last_updated": "2025-12-07", - "modalities": { "input": ["text", "image"], "output": ["text"] }, + "temperature": false, + "knowledge": "2025-08-31", + "release_date": "2026-03-05", + "last_updated": "2026-03-05", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, "open_weights": false, - "cost": { "input": 0.3, "output": 0.9 }, - "limit": { "context": 131000, "output": 131000 } + "limit": { + "context": 1050000, + "input": 922000, + "output": 128000 + }, + "cost": { + "input": 30, + "output": 180, + "context_over_200k": { + "input": 60, + "output": 270 + }, + "tiers": [ + { + "input": 60, + "output": 270, + "tier": { + "type": "context", + "size": 272000 + } + } + ] + } }, - "zai-org/GLM-4.5-Air": { - "id": "zai-org/GLM-4.5-Air", - "name": "zai-org/GLM-4.5-Air", - "family": "glm-air", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-07-28", - "last_updated": "2025-11-25", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.14, "output": 0.86 }, - "limit": { "context": 131000, "output": 131000 } - }, - "stepfun-ai/Step-3.5-Flash": { - "id": "stepfun-ai/Step-3.5-Flash", - "name": "stepfun-ai/Step-3.5-Flash", - "family": "step", - "attachment": false, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2026-02-11", - "last_updated": "2026-02-11", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.1, "output": 0.3 }, - "limit": { "context": 262000, "output": 262000 } - }, - "Pro/zai-org/GLM-4.7": { - "id": "Pro/zai-org/GLM-4.7", - "name": "Pro/zai-org/GLM-4.7", - "family": "glm", - "attachment": false, - "reasoning": true, - "tool_call": true, - "interleaved": { "field": "reasoning_content" }, - "structured_output": true, - "temperature": true, - "release_date": "2025-12-22", - "last_updated": "2025-12-22", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.6, "output": 2.2 }, - "limit": { "context": 205000, "output": 205000 } - }, - "Pro/zai-org/GLM-5": { - "id": "Pro/zai-org/GLM-5", - "name": "Pro/zai-org/GLM-5", - "family": "glm", - "attachment": false, - "reasoning": true, - "tool_call": true, - "interleaved": { "field": "reasoning_content" }, - "structured_output": true, - "temperature": true, - "release_date": "2026-02-12", - "last_updated": "2026-02-12", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 1, "output": 3.2 }, - "limit": { "context": 205000, "output": 205000 } - }, - "Pro/MiniMaxAI/MiniMax-M2.1": { - "id": "Pro/MiniMaxAI/MiniMax-M2.1", - "name": "Pro/MiniMaxAI/MiniMax-M2.1", - "family": "minimax", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-12-23", - "last_updated": "2025-12-23", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.3, "output": 1.2 }, - "limit": { "context": 197000, "output": 131000 } - }, - "Pro/MiniMaxAI/MiniMax-M2.5": { - "id": "Pro/MiniMaxAI/MiniMax-M2.5", - "name": "Pro/MiniMaxAI/MiniMax-M2.5", - "family": "minimax", - "attachment": false, - "reasoning": false, - "tool_call": true, - "interleaved": { "field": "reasoning_content" }, - "structured_output": true, - "temperature": true, - "release_date": "2026-02-13", - "last_updated": "2026-02-13", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.3, "output": 1.22 }, - "limit": { "context": 192000, "output": 131000 } - }, - "Pro/deepseek-ai/DeepSeek-R1": { - "id": "Pro/deepseek-ai/DeepSeek-R1", - "name": "Pro/deepseek-ai/DeepSeek-R1", - "family": "deepseek-thinking", - "attachment": false, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-05-28", - "last_updated": "2025-11-25", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.5, "output": 2.18 }, - "limit": { "context": 164000, "output": 164000 } - }, - "Pro/deepseek-ai/DeepSeek-V3.1-Terminus": { - "id": "Pro/deepseek-ai/DeepSeek-V3.1-Terminus", - "name": "Pro/deepseek-ai/DeepSeek-V3.1-Terminus", - "family": "deepseek", - "attachment": false, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-09-29", - "last_updated": "2025-11-25", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.27, "output": 1 }, - "limit": { "context": 164000, "output": 164000 } - }, - "Pro/deepseek-ai/DeepSeek-V3.2": { - "id": "Pro/deepseek-ai/DeepSeek-V3.2", - "name": "Pro/deepseek-ai/DeepSeek-V3.2", - "family": "deepseek", - "attachment": false, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-12-03", - "last_updated": "2025-12-03", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.27, "output": 0.42 }, - "limit": { "context": 164000, "output": 164000 } - }, - "Pro/deepseek-ai/DeepSeek-V3": { - "id": "Pro/deepseek-ai/DeepSeek-V3", - "name": "Pro/deepseek-ai/DeepSeek-V3", - "family": "deepseek", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2024-12-26", - "last_updated": "2025-11-25", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.25, "output": 1 }, - "limit": { "context": 164000, "output": 164000 } - }, - "Pro/moonshotai/Kimi-K2.5": { - "id": "Pro/moonshotai/Kimi-K2.5", - "name": "Pro/moonshotai/Kimi-K2.5", - "family": "kimi", - "attachment": false, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2026-01-27", - "last_updated": "2026-01-27", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.55, "output": 3 }, - "limit": { "context": 262000, "output": 262000 } - }, - "Pro/moonshotai/Kimi-K2-Instruct-0905": { - "id": "Pro/moonshotai/Kimi-K2-Instruct-0905", - "name": "Pro/moonshotai/Kimi-K2-Instruct-0905", - "family": "kimi", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-09-08", - "last_updated": "2025-11-25", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.4, "output": 2 }, - "limit": { "context": 262000, "output": 262000 } - }, - "Pro/moonshotai/Kimi-K2-Thinking": { - "id": "Pro/moonshotai/Kimi-K2-Thinking", - "name": "Pro/moonshotai/Kimi-K2-Thinking", - "family": "kimi-thinking", - "attachment": false, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-11-07", - "last_updated": "2025-11-25", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.55, "output": 2.5 }, - "limit": { "context": 262000, "output": 262000 } - }, - "baidu/ERNIE-4.5-300B-A47B": { - "id": "baidu/ERNIE-4.5-300B-A47B", - "name": "baidu/ERNIE-4.5-300B-A47B", - "family": "ernie", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-07-02", - "last_updated": "2025-11-25", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.28, "output": 1.1 }, - "limit": { "context": 131000, "output": 131000 } - }, - "PaddlePaddle/PaddleOCR-VL-1.5": { - "id": "PaddlePaddle/PaddleOCR-VL-1.5", - "name": "PaddlePaddle/PaddleOCR-VL-1.5", + "gpt-5.4": { + "id": "gpt-5.4", + "name": "GPT-5.4", + "family": "gpt", "attachment": true, - "reasoning": false, - "tool_call": false, - "temperature": true, - "release_date": "2026-01-29", - "last_updated": "2026-01-29", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 16384, "output": 16384 } - }, - "PaddlePaddle/PaddleOCR-VL": { - "id": "PaddlePaddle/PaddleOCR-VL", - "name": "PaddlePaddle/PaddleOCR-VL", - "attachment": true, - "reasoning": false, - "tool_call": false, - "temperature": true, - "release_date": "2025-10-16", - "last_updated": "2025-10-16", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 16384, "output": 16384 } - }, - "deepseek-ai/DeepSeek-OCR": { - "id": "deepseek-ai/DeepSeek-OCR", - "name": "deepseek-ai/DeepSeek-OCR", - "attachment": true, - "reasoning": false, - "tool_call": false, - "temperature": true, - "release_date": "2025-10-20", - "last_updated": "2025-10-20", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 8192, "output": 8192 } - }, - "deepseek-ai/DeepSeek-V3": { - "id": "deepseek-ai/DeepSeek-V3", - "name": "deepseek-ai/DeepSeek-V3", - "family": "deepseek", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2024-12-26", - "last_updated": "2025-11-25", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.25, "output": 1 }, - "limit": { "context": 164000, "output": 164000 } - }, - "deepseek-ai/DeepSeek-V3.2": { - "id": "deepseek-ai/DeepSeek-V3.2", - "name": "deepseek-ai/DeepSeek-V3.2", - "family": "deepseek", - "attachment": false, "reasoning": true, "tool_call": true, "structured_output": true, - "temperature": true, - "release_date": "2025-12-03", - "last_updated": "2025-12-03", - "modalities": { "input": ["text"], "output": ["text"] }, + "temperature": false, + "knowledge": "2025-08-31", + "release_date": "2026-03-05", + "last_updated": "2026-03-05", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, "open_weights": false, - "cost": { "input": 0.27, "output": 0.42 }, - "limit": { "context": 164000, "output": 164000 } + "limit": { + "context": 1050000, + "input": 922000, + "output": 128000 + }, + "cost": { + "input": 2.5, + "output": 15, + "cache_read": 0.25, + "context_over_200k": { + "input": 5, + "output": 22.5, + "cache_read": 0.5 + }, + "tiers": [ + { + "input": 5, + "output": 22.5, + "cache_read": 0.5, + "tier": { + "type": "context", + "size": 272000 + } + } + ] + } }, - "deepseek-ai/DeepSeek-R1-Distill-Qwen-14B": { - "id": "deepseek-ai/DeepSeek-R1-Distill-Qwen-14B", - "name": "deepseek-ai/DeepSeek-R1-Distill-Qwen-14B", - "family": "qwen", - "attachment": false, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-01-20", - "last_updated": "2025-11-25", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.1, "output": 0.1 }, - "limit": { "context": 131000, "output": 131000 } - }, - "deepseek-ai/DeepSeek-V3.1-Terminus": { - "id": "deepseek-ai/DeepSeek-V3.1-Terminus", - "name": "deepseek-ai/DeepSeek-V3.1-Terminus", - "family": "deepseek", - "attachment": false, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-09-29", - "last_updated": "2025-11-25", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.27, "output": 1 }, - "limit": { "context": 164000, "output": 164000 } - }, - "deepseek-ai/DeepSeek-R1": { - "id": "deepseek-ai/DeepSeek-R1", - "name": "deepseek-ai/DeepSeek-R1", - "family": "deepseek-thinking", - "attachment": false, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-05-28", - "last_updated": "2025-11-25", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.5, "output": 2.18 }, - "limit": { "context": 164000, "output": 164000 } - }, - "deepseek-ai/DeepSeek-R1-Distill-Qwen-32B": { - "id": "deepseek-ai/DeepSeek-R1-Distill-Qwen-32B", - "name": "deepseek-ai/DeepSeek-R1-Distill-Qwen-32B", - "family": "qwen", - "attachment": false, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-01-20", - "last_updated": "2025-11-25", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.18, "output": 0.18 }, - "limit": { "context": 131000, "output": 131000 } - }, - "deepseek-ai/deepseek-vl2": { - "id": "deepseek-ai/deepseek-vl2", - "name": "deepseek-ai/deepseek-vl2", - "family": "deepseek", + "grok-4-fast-non-reasoning": { + "id": "grok-4-fast-non-reasoning", + "name": "Grok 4 Fast (Non-Reasoning)", + "family": "grok", "attachment": true, "reasoning": false, "tool_call": true, - "structured_output": true, "temperature": true, - "release_date": "2024-12-13", - "last_updated": "2025-11-25", - "modalities": { "input": ["text", "image"], "output": ["text"] }, + "knowledge": "2025-07", + "release_date": "2025-09-19", + "last_updated": "2025-09-19", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, "open_weights": false, - "cost": { "input": 0.15, "output": 0.15 }, - "limit": { "context": 4000, "output": 4000 } + "limit": { + "context": 2000000, + "output": 30000 + }, + "cost": { + "input": 0.2, + "output": 0.5, + "cache_read": 0.05 + } }, - "ByteDance-Seed/Seed-OSS-36B-Instruct": { - "id": "ByteDance-Seed/Seed-OSS-36B-Instruct", - "name": "ByteDance-Seed/Seed-OSS-36B-Instruct", - "family": "seed", + "grok-3": { + "id": "grok-3", + "name": "Grok 3", + "family": "grok", "attachment": false, "reasoning": false, "tool_call": true, - "structured_output": true, "temperature": true, - "release_date": "2025-09-04", - "last_updated": "2025-11-25", - "modalities": { "input": ["text"], "output": ["text"] }, + "knowledge": "2024-11", + "release_date": "2025-02-17", + "last_updated": "2025-02-17", + "modalities": { + "input": ["text"], + "output": ["text"] + }, "open_weights": false, - "cost": { "input": 0.21, "output": 0.57 }, - "limit": { "context": 262000, "output": 262000 } + "limit": { + "context": 131072, + "output": 8192 + }, + "cost": { + "input": 3, + "output": 15, + "cache_read": 0.75 + } }, - "Qwen/Qwen3.5-35B-A3B": { - "id": "Qwen/Qwen3.5-35B-A3B", - "name": "Qwen/Qwen3.5-35B-A3B", - "family": "qwen", + "gpt-4.1-mini": { + "id": "gpt-4.1-mini", + "name": "GPT-4.1 mini", + "family": "gpt-mini", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-04", + "release_date": "2025-04-14", + "last_updated": "2025-04-14", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1047576, + "output": 32768 + }, + "cost": { + "input": 0.4, + "output": 1.6, + "cache_read": 0.1 + } + }, + "gpt-4.1": { + "id": "gpt-4.1", + "name": "GPT-4.1", + "family": "gpt", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-04", + "release_date": "2025-04-14", + "last_updated": "2025-04-14", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1047576, + "output": 32768 + }, + "cost": { + "input": 2, + "output": 8, + "cache_read": 0.5 + } + }, + "cohere-command-r-plus-08-2024": { + "id": "cohere-command-r-plus-08-2024", + "name": "Command R+", + "family": "command-r", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-06-01", + "release_date": "2024-08-30", + "last_updated": "2024-08-30", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 4000 + }, + "cost": { + "input": 2.5, + "output": 10 + } + }, + "gpt-4o": { + "id": "gpt-4o", + "name": "GPT-4o", + "family": "gpt", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2023-09", + "release_date": "2024-05-13", + "last_updated": "2024-08-06", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 16384 + }, + "cost": { + "input": 2.5, + "output": 10, + "cache_read": 1.25 + } + }, + "gpt-5-pro": { + "id": "gpt-5-pro", + "name": "GPT-5 Pro", + "family": "gpt-pro", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": false, + "knowledge": "2024-09-30", + "release_date": "2025-10-06", + "last_updated": "2025-10-06", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "output": 272000 + }, + "cost": { + "input": 15, + "output": 120 + } + }, + "o3": { + "id": "o3", + "name": "o3", + "family": "o", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": false, + "knowledge": "2024-05", + "release_date": "2025-04-16", + "last_updated": "2025-04-16", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 100000 + }, + "cost": { + "input": 2, + "output": 8, + "cache_read": 0.5 + } + }, + "grok-3-mini": { + "id": "grok-3-mini", + "name": "Grok 3 Mini", + "family": "grok", "attachment": false, "reasoning": true, "tool_call": true, "temperature": true, - "knowledge": "2025-04", - "release_date": "2026-02-25", - "last_updated": "2026-02-25", - "modalities": { "input": ["text", "image", "video"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.23, "output": 1.86 }, - "limit": { "context": 262144, "output": 65536 } + "knowledge": "2024-11", + "release_date": "2025-02-17", + "last_updated": "2025-02-17", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 131072, + "output": 8192 + }, + "cost": { + "input": 0.3, + "output": 0.5, + "reasoning": 0.5, + "cache_read": 0.075 + } }, - "Qwen/Qwen3.5-397B-A17B": { - "id": "Qwen/Qwen3.5-397B-A17B", - "name": "Qwen/Qwen3.5-397B-A17B", - "family": "qwen", + "gpt-4.1-nano": { + "id": "gpt-4.1-nano", + "name": "GPT-4.1 nano", + "family": "gpt-nano", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-04", + "release_date": "2025-04-14", + "last_updated": "2025-04-14", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1047576, + "output": 32768 + }, + "cost": { + "input": 0.1, + "output": 0.4, + "cache_read": 0.03 + } + }, + "grok-4": { + "id": "grok-4", + "name": "Grok 4", + "family": "grok", "attachment": false, "reasoning": true, "tool_call": true, "temperature": true, + "knowledge": "2025-07", + "release_date": "2025-07-09", + "last_updated": "2025-07-09", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 256000, + "output": 64000 + }, + "cost": { + "input": 3, + "output": 15, + "reasoning": 15, + "cache_read": 0.75 + } + }, + "o3-mini": { + "id": "o3-mini", + "name": "o3-mini", + "family": "o-mini", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": false, + "knowledge": "2024-05", + "release_date": "2024-12-20", + "last_updated": "2025-01-29", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 100000 + }, + "cost": { + "input": 1.1, + "output": 4.4, + "cache_read": 0.55 + } + }, + "grok-code-fast-1": { + "id": "grok-code-fast-1", + "name": "Grok Code Fast 1", + "family": "grok", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2023-10", + "release_date": "2025-08-28", + "last_updated": "2025-08-28", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 256000, + "output": 10000 + }, + "cost": { + "input": 0.2, + "output": 1.5, + "cache_read": 0.02 + } + }, + "o4-mini": { + "id": "o4-mini", + "name": "o4-mini", + "family": "o-mini", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": false, + "knowledge": "2024-05", + "release_date": "2025-04-16", + "last_updated": "2025-04-16", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 100000 + }, + "cost": { + "input": 1.1, + "output": 4.4, + "cache_read": 0.28 + } + }, + "cohere-command-r-08-2024": { + "id": "cohere-command-r-08-2024", + "name": "Command R", + "family": "command-r", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-06-01", + "release_date": "2024-08-30", + "last_updated": "2024-08-30", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 4000 + }, + "cost": { + "input": 0.15, + "output": 0.6 + } + }, + "gpt-4o-mini": { + "id": "gpt-4o-mini", + "name": "GPT-4o mini", + "family": "gpt-mini", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2023-09", + "release_date": "2024-07-18", + "last_updated": "2024-07-18", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 16384 + }, + "cost": { + "input": 0.15, + "output": 0.6, + "cache_read": 0.08 + } + }, + "gpt-4-turbo": { + "id": "gpt-4-turbo", + "name": "GPT-4 Turbo", + "family": "gpt", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2023-12", + "release_date": "2023-11-06", + "last_updated": "2024-04-09", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 4096 + }, + "cost": { + "input": 10, + "output": 30 + } + }, + "gpt-5.5": { + "id": "gpt-5.5", + "name": "GPT-5.5", + "family": "gpt", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": false, + "knowledge": "2025-12-01", + "release_date": "2026-04-24", + "last_updated": "2026-04-24", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1050000, + "input": 922000, + "output": 128000 + }, + "cost": { + "input": 5, + "output": 30, + "cache_read": 0.5, + "context_over_200k": { + "input": 10, + "output": 45, + "cache_read": 1 + }, + "tiers": [ + { + "input": 10, + "output": 45, + "cache_read": 1, + "tier": { + "type": "context", + "size": 272000 + } + } + ] + } + } + } + }, + "abliteration-ai": { + "id": "abliteration-ai", + "env": ["ABLIT_KEY"], + "npm": "@ai-sdk/openai-compatible", + "api": "https://api.abliteration.ai/v1", + "name": "abliteration.ai", + "doc": "https://docs.abliteration.ai/models", + "models": { + "abliterated-model": { + "id": "abliterated-model", + "name": "Abliterated Model", + "attachment": true, + "reasoning": false, + "tool_call": true, + "structured_output": false, + "temperature": true, + "release_date": "2026-01-06", + "last_updated": "2026-01-06", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 150000, + "input": 150000, + "output": 8192 + }, + "cost": { + "input": 3, + "output": 3 + } + } + } + }, + "wafer.ai": { + "id": "wafer.ai", + "env": ["WAFER_API_KEY"], + "npm": "@ai-sdk/openai-compatible", + "api": "https://pass.wafer.ai/v1", + "name": "Wafer", + "doc": "https://docs.wafer.ai/wafer-pass", + "models": { + "Qwen3.5-397B-A17B": { + "id": "Qwen3.5-397B-A17B", + "name": "Qwen3.5 397B A17B", + "family": "qwen", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, "knowledge": "2025-04", "release_date": "2026-02-16", "last_updated": "2026-02-16", - "modalities": { "input": ["text", "image", "video"], "output": ["text"] }, + "modalities": { + "input": ["text", "image", "video"], + "output": ["text"] + }, "open_weights": true, - "cost": { "input": 0.29, "output": 1.74 }, - "limit": { "context": 262144, "output": 65536 } + "limit": { + "context": 262144, + "output": 65536 + }, + "cost": { + "input": 0, + "output": 0, + "cache_read": 0, + "cache_write": 0 + } }, - "Qwen/Qwen3.5-122B-A10B": { - "id": "Qwen/Qwen3.5-122B-A10B", - "name": "Qwen/Qwen3.5-122B-A10B", - "family": "qwen", + "GLM-5.1": { + "id": "GLM-5.1", + "name": "GLM-5.1", + "family": "glm", "attachment": false, "reasoning": true, "tool_call": true, + "structured_output": true, "temperature": true, "knowledge": "2025-04", - "release_date": "2026-02-26", - "last_updated": "2026-02-26", - "modalities": { "input": ["text", "image", "video"], "output": ["text"] }, + "release_date": "2026-04-07", + "last_updated": "2026-04-07", + "modalities": { + "input": ["text"], + "output": ["text"] + }, "open_weights": true, - "cost": { "input": 0.29, "output": 2.32 }, - "limit": { "context": 262144, "output": 65536 } - }, - "Qwen/Qwen3.5-9B": { - "id": "Qwen/Qwen3.5-9B", - "name": "Qwen/Qwen3.5-9B", - "family": "qwen", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-04", - "release_date": "2026-03-03", - "last_updated": "2026-03-03", - "modalities": { "input": ["text", "image", "video"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.22, "output": 1.74 }, - "limit": { "context": 262144, "output": 65536 } - }, - "Qwen/Qwen3.5-27B": { - "id": "Qwen/Qwen3.5-27B", - "name": "Qwen/Qwen3.5-27B", - "family": "qwen", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-04", - "release_date": "2026-02-25", - "last_updated": "2026-02-25", - "modalities": { "input": ["text", "image", "video"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.26, "output": 2.09 }, - "limit": { "context": 262144, "output": 65536 } - }, - "Qwen/Qwen3.5-4B": { - "id": "Qwen/Qwen3.5-4B", - "name": "Qwen/Qwen3.5-4B", - "family": "qwen", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-04", - "release_date": "2026-03-03", - "last_updated": "2026-03-03", - "modalities": { "input": ["text", "image", "video"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 262144, "output": 65536 } - }, - "Qwen/Qwen3-235B-A22B-Instruct-2507": { - "id": "Qwen/Qwen3-235B-A22B-Instruct-2507", - "name": "Qwen/Qwen3-235B-A22B-Instruct-2507", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-07-23", - "last_updated": "2025-11-25", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.09, "output": 0.6 }, - "limit": { "context": 262000, "output": 262000 } - }, - "Qwen/Qwen2.5-32B-Instruct": { - "id": "Qwen/Qwen2.5-32B-Instruct", - "name": "Qwen/Qwen2.5-32B-Instruct", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2024-09-19", - "last_updated": "2025-11-25", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.18, "output": 0.18 }, - "limit": { "context": 33000, "output": 4000 } - }, - "Qwen/Qwen3-VL-32B-Thinking": { - "id": "Qwen/Qwen3-VL-32B-Thinking", - "name": "Qwen/Qwen3-VL-32B-Thinking", - "family": "qwen", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-10-21", - "last_updated": "2025-11-25", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.2, "output": 1.5 }, - "limit": { "context": 262000, "output": 262000 } - }, - "Qwen/Qwen2.5-72B-Instruct": { - "id": "Qwen/Qwen2.5-72B-Instruct", - "name": "Qwen/Qwen2.5-72B-Instruct", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2024-09-18", - "last_updated": "2025-11-25", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.59, "output": 0.59 }, - "limit": { "context": 33000, "output": 4000 } - }, - "Qwen/Qwen3-VL-235B-A22B-Instruct": { - "id": "Qwen/Qwen3-VL-235B-A22B-Instruct", - "name": "Qwen/Qwen3-VL-235B-A22B-Instruct", - "family": "qwen", - "attachment": true, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-10-04", - "last_updated": "2025-11-25", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.3, "output": 1.5 }, - "limit": { "context": 262000, "output": 262000 } - }, - "Qwen/Qwen2.5-7B-Instruct": { - "id": "Qwen/Qwen2.5-7B-Instruct", - "name": "Qwen/Qwen2.5-7B-Instruct", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2024-09-18", - "last_updated": "2025-11-25", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.05, "output": 0.05 }, - "limit": { "context": 33000, "output": 4000 } - }, - "Qwen/Qwen3-Omni-30B-A3B-Instruct": { - "id": "Qwen/Qwen3-Omni-30B-A3B-Instruct", - "name": "Qwen/Qwen3-Omni-30B-A3B-Instruct", - "family": "qwen", - "attachment": true, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-10-04", - "last_updated": "2025-11-25", - "modalities": { "input": ["text", "image", "audio"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.1, "output": 0.4 }, - "limit": { "context": 66000, "output": 66000 } - }, - "Qwen/Qwen3-30B-A3B-Instruct-2507": { - "id": "Qwen/Qwen3-30B-A3B-Instruct-2507", - "name": "Qwen/Qwen3-30B-A3B-Instruct-2507", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-07-30", - "last_updated": "2025-11-25", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.09, "output": 0.3 }, - "limit": { "context": 262000, "output": 262000 } - }, - "Qwen/Qwen3-VL-32B-Instruct": { - "id": "Qwen/Qwen3-VL-32B-Instruct", - "name": "Qwen/Qwen3-VL-32B-Instruct", - "family": "qwen", - "attachment": true, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-10-21", - "last_updated": "2025-11-25", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.2, "output": 0.6 }, - "limit": { "context": 262000, "output": 262000 } - }, - "Qwen/Qwen3-Coder-480B-A35B-Instruct": { - "id": "Qwen/Qwen3-Coder-480B-A35B-Instruct", - "name": "Qwen/Qwen3-Coder-480B-A35B-Instruct", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-07-31", - "last_updated": "2025-11-25", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.25, "output": 1 }, - "limit": { "context": 262000, "output": 262000 } - }, - "Qwen/QwQ-32B": { - "id": "Qwen/QwQ-32B", - "name": "Qwen/QwQ-32B", - "family": "qwen", - "attachment": false, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-03-06", - "last_updated": "2025-11-25", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.15, "output": 0.58 }, - "limit": { "context": 131000, "output": 131000 } - }, - "Qwen/Qwen3-8B": { - "id": "Qwen/Qwen3-8B", - "name": "Qwen/Qwen3-8B", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-04-30", - "last_updated": "2025-11-25", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.06, "output": 0.06 }, - "limit": { "context": 131000, "output": 131000 } - }, - "Qwen/Qwen3-VL-8B-Instruct": { - "id": "Qwen/Qwen3-VL-8B-Instruct", - "name": "Qwen/Qwen3-VL-8B-Instruct", - "family": "qwen", - "attachment": true, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-10-15", - "last_updated": "2025-11-25", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.18, "output": 0.68 }, - "limit": { "context": 262000, "output": 262000 } - }, - "Qwen/Qwen3-Coder-30B-A3B-Instruct": { - "id": "Qwen/Qwen3-Coder-30B-A3B-Instruct", - "name": "Qwen/Qwen3-Coder-30B-A3B-Instruct", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-08-01", - "last_updated": "2025-11-25", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.07, "output": 0.28 }, - "limit": { "context": 262000, "output": 262000 } - }, - "Qwen/Qwen2.5-VL-32B-Instruct": { - "id": "Qwen/Qwen2.5-VL-32B-Instruct", - "name": "Qwen/Qwen2.5-VL-32B-Instruct", - "family": "qwen", - "attachment": true, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-03-24", - "last_updated": "2025-11-25", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.27, "output": 0.27 }, - "limit": { "context": 131000, "output": 131000 } - }, - "Qwen/Qwen3-VL-30B-A3B-Thinking": { - "id": "Qwen/Qwen3-VL-30B-A3B-Thinking", - "name": "Qwen/Qwen3-VL-30B-A3B-Thinking", - "family": "qwen", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-10-11", - "last_updated": "2025-11-25", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.29, "output": 1 }, - "limit": { "context": 262000, "output": 262000 } - }, - "Qwen/Qwen3-Omni-30B-A3B-Captioner": { - "id": "Qwen/Qwen3-Omni-30B-A3B-Captioner", - "name": "Qwen/Qwen3-Omni-30B-A3B-Captioner", - "family": "qwen", - "attachment": true, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-10-04", - "last_updated": "2025-11-25", - "modalities": { "input": ["audio"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.1, "output": 0.4 }, - "limit": { "context": 66000, "output": 66000 } - }, - "Qwen/Qwen3-VL-8B-Thinking": { - "id": "Qwen/Qwen3-VL-8B-Thinking", - "name": "Qwen/Qwen3-VL-8B-Thinking", - "family": "qwen", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-10-15", - "last_updated": "2025-11-25", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.18, "output": 2 }, - "limit": { "context": 262000, "output": 262000 } - }, - "Qwen/Qwen2.5-VL-72B-Instruct": { - "id": "Qwen/Qwen2.5-VL-72B-Instruct", - "name": "Qwen/Qwen2.5-VL-72B-Instruct", - "family": "qwen", - "attachment": true, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-01-28", - "last_updated": "2025-11-25", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.59, "output": 0.59 }, - "limit": { "context": 131000, "output": 4000 } - }, - "Qwen/Qwen3-Next-80B-A3B-Instruct": { - "id": "Qwen/Qwen3-Next-80B-A3B-Instruct", - "name": "Qwen/Qwen3-Next-80B-A3B-Instruct", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-09-18", - "last_updated": "2025-11-25", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.14, "output": 1.4 }, - "limit": { "context": 262000, "output": 262000 } - }, - "Qwen/Qwen3-235B-A22B-Thinking-2507": { - "id": "Qwen/Qwen3-235B-A22B-Thinking-2507", - "name": "Qwen/Qwen3-235B-A22B-Thinking-2507", - "family": "qwen", - "attachment": false, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-07-28", - "last_updated": "2025-11-25", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.13, "output": 0.6 }, - "limit": { "context": 262000, "output": 262000 } - }, - "Qwen/Qwen2.5-72B-Instruct-128K": { - "id": "Qwen/Qwen2.5-72B-Instruct-128K", - "name": "Qwen/Qwen2.5-72B-Instruct-128K", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2024-09-18", - "last_updated": "2025-11-25", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.59, "output": 0.59 }, - "limit": { "context": 131000, "output": 4000 } - }, - "Qwen/Qwen3-14B": { - "id": "Qwen/Qwen3-14B", - "name": "Qwen/Qwen3-14B", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-04-30", - "last_updated": "2025-11-25", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.07, "output": 0.28 }, - "limit": { "context": 131000, "output": 131000 } - }, - "Qwen/Qwen3-32B": { - "id": "Qwen/Qwen3-32B", - "name": "Qwen/Qwen3-32B", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-04-30", - "last_updated": "2025-11-25", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.14, "output": 0.57 }, - "limit": { "context": 131000, "output": 131000 } - }, - "Qwen/Qwen2.5-14B-Instruct": { - "id": "Qwen/Qwen2.5-14B-Instruct", - "name": "Qwen/Qwen2.5-14B-Instruct", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2024-09-18", - "last_updated": "2025-11-25", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.1, "output": 0.1 }, - "limit": { "context": 33000, "output": 4000 } - }, - "Qwen/Qwen3-30B-A3B-Thinking-2507": { - "id": "Qwen/Qwen3-30B-A3B-Thinking-2507", - "name": "Qwen/Qwen3-30B-A3B-Thinking-2507", - "family": "qwen", - "attachment": false, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-07-31", - "last_updated": "2025-11-25", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.09, "output": 0.3 }, - "limit": { "context": 262000, "output": 131000 } - }, - "Qwen/Qwen3-VL-235B-A22B-Thinking": { - "id": "Qwen/Qwen3-VL-235B-A22B-Thinking", - "name": "Qwen/Qwen3-VL-235B-A22B-Thinking", - "family": "qwen", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-10-04", - "last_updated": "2025-11-25", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.45, "output": 3.5 }, - "limit": { "context": 262000, "output": 262000 } - }, - "Qwen/Qwen3-VL-30B-A3B-Instruct": { - "id": "Qwen/Qwen3-VL-30B-A3B-Instruct", - "name": "Qwen/Qwen3-VL-30B-A3B-Instruct", - "family": "qwen", - "attachment": true, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-10-05", - "last_updated": "2025-11-25", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.29, "output": 1 }, - "limit": { "context": 262000, "output": 262000 } - }, - "Qwen/Qwen3-Next-80B-A3B-Thinking": { - "id": "Qwen/Qwen3-Next-80B-A3B-Thinking", - "name": "Qwen/Qwen3-Next-80B-A3B-Thinking", - "family": "qwen", - "attachment": false, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-09-25", - "last_updated": "2025-11-25", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.14, "output": 0.57 }, - "limit": { "context": 262000, "output": 262000 } - }, - "Qwen/Qwen3-Omni-30B-A3B-Thinking": { - "id": "Qwen/Qwen3-Omni-30B-A3B-Thinking", - "name": "Qwen/Qwen3-Omni-30B-A3B-Thinking", - "family": "qwen", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-10-04", - "last_updated": "2025-11-25", - "modalities": { "input": ["text", "image", "audio"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.1, "output": 0.4 }, - "limit": { "context": 66000, "output": 66000 } - }, - "Qwen/Qwen2.5-Coder-32B-Instruct": { - "id": "Qwen/Qwen2.5-Coder-32B-Instruct", - "name": "Qwen/Qwen2.5-Coder-32B-Instruct", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2024-11-11", - "last_updated": "2025-11-25", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.18, "output": 0.18 }, - "limit": { "context": 33000, "output": 4000 } - }, - "ascend-tribe/pangu-pro-moe": { - "id": "ascend-tribe/pangu-pro-moe", - "name": "ascend-tribe/pangu-pro-moe", - "family": "pangu", - "attachment": false, - "reasoning": true, - "tool_call": false, - "structured_output": true, - "temperature": true, - "release_date": "2025-07-02", - "last_updated": "2026-01-16", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.2, "output": 0.6 }, - "limit": { "context": 128000, "output": 128000 } - }, - "inclusionAI/Ling-mini-2.0": { - "id": "inclusionAI/Ling-mini-2.0", - "name": "inclusionAI/Ling-mini-2.0", - "family": "ling", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-09-10", - "last_updated": "2025-11-25", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.07, "output": 0.28 }, - "limit": { "context": 131000, "output": 131000 } - }, - "inclusionAI/Ring-flash-2.0": { - "id": "inclusionAI/Ring-flash-2.0", - "name": "inclusionAI/Ring-flash-2.0", - "family": "ring", - "attachment": false, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-09-29", - "last_updated": "2025-11-25", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.14, "output": 0.57 }, - "limit": { "context": 131000, "output": 131000 } - }, - "inclusionAI/Ling-flash-2.0": { - "id": "inclusionAI/Ling-flash-2.0", - "name": "inclusionAI/Ling-flash-2.0", - "family": "ling", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-09-18", - "last_updated": "2025-11-25", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.14, "output": 0.57 }, - "limit": { "context": 131000, "output": 131000 } - }, - "moonshotai/Kimi-K2-Thinking": { - "id": "moonshotai/Kimi-K2-Thinking", - "name": "moonshotai/Kimi-K2-Thinking", - "family": "kimi-thinking", - "attachment": false, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-11-07", - "last_updated": "2025-11-25", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.55, "output": 2.5 }, - "limit": { "context": 262000, "output": 262000 } - }, - "moonshotai/Kimi-K2-Instruct-0905": { - "id": "moonshotai/Kimi-K2-Instruct-0905", - "name": "moonshotai/Kimi-K2-Instruct-0905", - "family": "kimi", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-09-08", - "last_updated": "2025-11-25", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.4, "output": 2 }, - "limit": { "context": 262000, "output": 262000 } - }, - "tencent/Hunyuan-A13B-Instruct": { - "id": "tencent/Hunyuan-A13B-Instruct", - "name": "tencent/Hunyuan-A13B-Instruct", - "family": "hunyuan", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-06-30", - "last_updated": "2025-11-25", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.14, "output": 0.57 }, - "limit": { "context": 131000, "output": 131000 } - }, - "tencent/Hunyuan-MT-7B": { - "id": "tencent/Hunyuan-MT-7B", - "name": "tencent/Hunyuan-MT-7B", - "family": "hunyuan", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-09-18", - "last_updated": "2025-11-25", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 33000, "output": 33000 } - }, - "Kwaipilot/KAT-Dev": { - "id": "Kwaipilot/KAT-Dev", - "name": "Kwaipilot/KAT-Dev", - "family": "kat-coder", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-09-27", - "last_updated": "2026-01-16", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.2, "output": 0.6 }, - "limit": { "context": 128000, "output": 128000 } + "limit": { + "context": 202752, + "output": 131072 + }, + "cost": { + "input": 0, + "output": 0, + "cache_read": 0, + "cache_write": 0 + } } } }, - "evroc": { - "id": "evroc", - "env": ["EVROC_API_KEY"], - "npm": "@ai-sdk/openai-compatible", - "api": "https://models.think.evroc.com/v1", - "name": "evroc", - "doc": "https://docs.evroc.com/products/think/overview.html", + "cohere": { + "id": "cohere", + "env": ["COHERE_API_KEY"], + "npm": "@ai-sdk/cohere", + "name": "Cohere", + "doc": "https://docs.cohere.com/docs/models", "models": { + "command-a-reasoning-08-2025": { + "id": "command-a-reasoning-08-2025", + "name": "Command A Reasoning", + "family": "command-a", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-06-01", + "release_date": "2025-08-21", + "last_updated": "2025-08-21", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 256000, + "output": 32000 + }, + "cost": { + "input": 2.5, + "output": 10 + } + }, + "command-r7b-12-2024": { + "id": "command-r7b-12-2024", + "name": "Command R7B", + "family": "command-r", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-06-01", + "release_date": "2024-02-27", + "last_updated": "2024-02-27", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 4000 + }, + "cost": { + "input": 0.0375, + "output": 0.15 + } + }, + "c4ai-aya-vision-8b": { + "id": "c4ai-aya-vision-8b", + "name": "Aya Vision 8B", + "attachment": true, + "reasoning": false, + "tool_call": false, + "temperature": true, + "release_date": "2025-03-04", + "last_updated": "2025-05-14", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 16000, + "output": 4000 + } + }, + "command-r-plus-08-2024": { + "id": "command-r-plus-08-2024", + "name": "Command R+", + "family": "command-r", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-06-01", + "release_date": "2024-08-30", + "last_updated": "2024-08-30", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 4000 + }, + "cost": { + "input": 2.5, + "output": 10 + } + }, + "c4ai-aya-expanse-8b": { + "id": "c4ai-aya-expanse-8b", + "name": "Aya Expanse 8B", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "release_date": "2024-10-24", + "last_updated": "2024-10-24", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 8000, + "output": 4000 + } + }, + "command-r7b-arabic-02-2025": { + "id": "command-r7b-arabic-02-2025", + "name": "Command R7B Arabic", + "family": "command-r", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-06-01", + "release_date": "2025-02-27", + "last_updated": "2025-02-27", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 4000 + }, + "cost": { + "input": 0.0375, + "output": 0.15 + } + }, + "command-a-vision-07-2025": { + "id": "command-a-vision-07-2025", + "name": "Command A Vision", + "family": "command-a", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "knowledge": "2024-06-01", + "release_date": "2025-07-31", + "last_updated": "2025-07-31", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 8000 + }, + "cost": { + "input": 2.5, + "output": 10 + } + }, + "c4ai-aya-vision-32b": { + "id": "c4ai-aya-vision-32b", + "name": "Aya Vision 32B", + "attachment": true, + "reasoning": false, + "tool_call": false, + "temperature": true, + "release_date": "2025-03-04", + "last_updated": "2025-05-14", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 16000, + "output": 4000 + } + }, + "command-a-translate-08-2025": { + "id": "command-a-translate-08-2025", + "name": "Command A Translate", + "family": "command-a", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-06-01", + "release_date": "2025-08-28", + "last_updated": "2025-08-28", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 8000, + "output": 8000 + }, + "cost": { + "input": 2.5, + "output": 10 + } + }, + "command-r-08-2024": { + "id": "command-r-08-2024", + "name": "Command R", + "family": "command-r", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-06-01", + "release_date": "2024-08-30", + "last_updated": "2024-08-30", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 4000 + }, + "cost": { + "input": 0.15, + "output": 0.6 + } + }, + "c4ai-aya-expanse-32b": { + "id": "c4ai-aya-expanse-32b", + "name": "Aya Expanse 32B", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "release_date": "2024-10-24", + "last_updated": "2024-10-24", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 4000 + } + }, + "command-a-03-2025": { + "id": "command-a-03-2025", + "name": "Command A", + "family": "command-a", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-06-01", + "release_date": "2025-03-13", + "last_updated": "2025-03-13", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 256000, + "output": 8000 + }, + "cost": { + "input": 2.5, + "output": 10 + } + } + } + }, + "cloudferro-sherlock": { + "id": "cloudferro-sherlock", + "env": ["CLOUDFERRO_SHERLOCK_API_KEY"], + "npm": "@ai-sdk/openai-compatible", + "api": "https://api-sherlock.cloudferro.com/openai/v1/", + "name": "CloudFerro Sherlock", + "doc": "https://docs.sherlock.cloudferro.com/", + "models": { + "meta-llama/Llama-3.3-70B-Instruct": { + "id": "meta-llama/Llama-3.3-70B-Instruct", + "name": "Llama 3.3 70B Instruct", + "family": "llama", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-10-09", + "release_date": "2024-12-06", + "last_updated": "2024-12-06", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 70000, + "output": 70000 + }, + "cost": { + "input": 2.92, + "output": 2.92 + } + }, "openai/gpt-oss-120b": { "id": "openai/gpt-oss-120b", - "name": "GPT OSS 120B", + "name": "OpenAI GPT OSS 120B", "family": "gpt-oss", "attachment": false, "reasoning": true, "tool_call": true, - "release_date": "2025-08-05", - "last_updated": "2025-08-05", - "modalities": { "input": ["text"], "output": ["text"] }, + "structured_output": true, + "temperature": true, + "release_date": "2025-08-28", + "last_updated": "2025-08-28", + "modalities": { + "input": ["text"], + "output": ["text"] + }, "open_weights": true, - "cost": { "input": 0.24, "output": 0.94 }, - "limit": { "context": 65536, "output": 65536 } + "limit": { + "context": 131000, + "output": 131000 + }, + "cost": { + "input": 2.92, + "output": 2.92 + } }, - "openai/whisper-large-v3": { - "id": "openai/whisper-large-v3", - "name": "Whisper 3 Large", - "family": "whisper", - "attachment": false, - "reasoning": false, - "tool_call": false, - "release_date": "2024-10-01", - "last_updated": "2024-10-01", - "modalities": { "input": ["audio"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.00236, "output": 0.00236, "output_audio": 2.36 }, - "limit": { "context": 448, "output": 4096 } - }, - "microsoft/Phi-4-multimodal-instruct": { - "id": "microsoft/Phi-4-multimodal-instruct", - "name": "Phi-4 15B", - "family": "phi", - "attachment": false, - "reasoning": false, - "tool_call": false, - "release_date": "2025-01-01", - "last_updated": "2025-01-01", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.24, "output": 0.47 }, - "limit": { "context": 32000, "output": 32000 } - }, - "nvidia/Llama-3.3-70B-Instruct-FP8": { - "id": "nvidia/Llama-3.3-70B-Instruct-FP8", - "name": "Llama 3.3 70B", - "family": "llama", - "attachment": false, - "reasoning": false, - "tool_call": false, - "release_date": "2024-12-01", - "last_updated": "2024-12-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 1.18, "output": 1.18 }, - "limit": { "context": 131072, "output": 32768 } - }, - "intfloat/multilingual-e5-large-instruct": { - "id": "intfloat/multilingual-e5-large-instruct", - "name": "E5 Multi-Lingual Large Embeddings 0.6B", - "family": "text-embedding", - "attachment": false, - "reasoning": false, - "tool_call": false, - "release_date": "2024-06-01", - "last_updated": "2024-06-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.12, "output": 0.12 }, - "limit": { "context": 512, "output": 512 } - }, - "KBLab/kb-whisper-large": { - "id": "KBLab/kb-whisper-large", - "name": "KB Whisper", - "family": "whisper", - "attachment": false, - "reasoning": false, - "tool_call": false, - "release_date": "2024-10-01", - "last_updated": "2024-10-01", - "modalities": { "input": ["audio"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.00236, "output": 0.00236, "output_audio": 2.36 }, - "limit": { "context": 448, "output": 448 } - }, - "Qwen/Qwen3-VL-30B-A3B-Instruct": { - "id": "Qwen/Qwen3-VL-30B-A3B-Instruct", - "name": "Qwen3 VL 30B", - "family": "qwen", + "speakleash/Bielik-11B-v3.0-Instruct": { + "id": "speakleash/Bielik-11B-v3.0-Instruct", + "name": "Bielik 11B v3.0 Instruct", "attachment": false, "reasoning": false, "tool_call": true, - "release_date": "2025-07-30", - "last_updated": "2025-07-30", - "modalities": { "input": ["text", "image", "video"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.24, "output": 0.94 }, - "limit": { "context": 100000, "output": 100000 } - }, - "Qwen/Qwen3-30B-A3B-Instruct-2507-FP8": { - "id": "Qwen/Qwen3-30B-A3B-Instruct-2507-FP8", - "name": "Qwen3 30B 2507", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": true, - "release_date": "2025-07-30", - "last_updated": "2025-07-30", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.35, "output": 1.42 }, - "limit": { "context": 64000, "output": 64000 } - }, - "Qwen/Qwen3-Embedding-8B": { - "id": "Qwen/Qwen3-Embedding-8B", - "name": "Qwen3 Embedding 8B", - "family": "text-embedding", - "attachment": false, - "reasoning": false, - "tool_call": false, - "release_date": "2025-07-30", - "last_updated": "2025-07-30", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.12, "output": 0.12 }, - "limit": { "context": 40960, "output": 40960 } - }, - "moonshotai/Kimi-K2.5": { - "id": "moonshotai/Kimi-K2.5", - "name": "Kimi K2.5", - "family": "kimi", - "attachment": false, - "reasoning": true, - "tool_call": true, - "interleaved": { "field": "reasoning_content" }, - "release_date": "2026-01-27", - "last_updated": "2026-01-27", - "modalities": { "input": ["text", "image", "video"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 1.47, "output": 5.9 }, - "limit": { "context": 262144, "output": 262144 } - }, - "mistralai/devstral-small-2-24b-instruct-2512": { - "id": "mistralai/devstral-small-2-24b-instruct-2512", - "name": "Devstral Small 2 24B Instruct 2512", - "family": "devstral", - "attachment": false, - "reasoning": false, - "tool_call": true, - "release_date": "2025-12-01", - "last_updated": "2025-12-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.12, "output": 0.47 }, - "limit": { "context": 32768, "output": 32768 } - }, - "mistralai/Magistral-Small-2509": { - "id": "mistralai/Magistral-Small-2509", - "name": "Magistral Small 1.2 24B", - "family": "magistral-small", - "attachment": false, - "reasoning": false, - "tool_call": false, - "release_date": "2025-06-01", - "last_updated": "2025-06-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.59, "output": 2.36 }, - "limit": { "context": 131072, "output": 131072 } - }, - "mistralai/Voxtral-Small-24B-2507": { - "id": "mistralai/Voxtral-Small-24B-2507", - "name": "Voxtral Small 24B", - "family": "voxtral", - "attachment": false, - "reasoning": false, - "tool_call": false, - "release_date": "2025-03-01", - "last_updated": "2025-03-01", - "modalities": { "input": ["audio", "text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.00236, "output": 0.00236, "output_audio": 2.36 }, - "limit": { "context": 32000, "output": 32000 } - } - } - }, - "kilo": { - "id": "kilo", - "env": ["KILO_API_KEY"], - "npm": "@ai-sdk/openai-compatible", - "api": "https://api.kilo.ai/api/gateway", - "name": "Kilo Gateway", - "doc": "https://kilo.ai", - "models": { - "giga-potato": { - "id": "giga-potato", - "name": "Giga Potato (free)", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "release_date": "2025-08-27", - "last_updated": "2026-03-15", - "modalities": { "input": ["image", "text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 256000, "output": 32000 } - }, - "corethink:free": { - "id": "corethink:free", - "name": "CoreThink (free)", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "release_date": "2025-08-27", - "last_updated": "2026-03-15", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 78000, "output": 8192 } - }, - "giga-potato-thinking": { - "id": "giga-potato-thinking", - "name": "Giga Potato Thinking (free)", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2025-08-27", - "last_updated": "2026-03-15", - "modalities": { "input": ["image", "text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 256000, "output": 32000 } - }, - "morph-warp-grep-v2": { - "id": "morph-warp-grep-v2", - "name": "Morph: WarpGrep V2", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "release_date": "2025-08-27", - "last_updated": "2026-03-15", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 256000, "output": 32000 } - }, - "eleutherai/llemma_7b": { - "id": "eleutherai/llemma_7b", - "name": "EleutherAI: Llemma 7b", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "release_date": "2025-04-14", - "last_updated": "2026-03-15", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.8, "output": 1.2 }, - "limit": { "context": 4096, "output": 4096 } - }, - "meituan/longcat-flash-chat": { - "id": "meituan/longcat-flash-chat", - "name": "Meituan: LongCat Flash Chat", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "release_date": "2025-08-30", - "last_updated": "2026-03-15", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.2, "output": 0.8, "cache_read": 0.2 }, - "limit": { "context": 131072, "output": 131072 } - }, - "openai/gpt-5.2-codex": { - "id": "openai/gpt-5.2-codex", - "name": "OpenAI: GPT-5.2-Codex", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": false, - "release_date": "2026-01-14", - "last_updated": "2026-01-14", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.75, "output": 14, "cache_read": 0.175 }, - "limit": { "context": 400000, "output": 128000 } - }, - "openai/o1-pro": { - "id": "openai/o1-pro", - "name": "OpenAI: o1-pro", - "attachment": true, - "reasoning": true, - "tool_call": false, - "temperature": false, - "release_date": "2025-03-19", - "last_updated": "2026-03-15", - "modalities": { "input": ["image", "pdf", "text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 150, "output": 600 }, - "limit": { "context": 200000, "output": 100000 } - }, - "openai/gpt-5.1-codex-mini": { - "id": "openai/gpt-5.1-codex-mini", - "name": "OpenAI: GPT-5.1-Codex-Mini", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": false, - "release_date": "2025-11-13", - "last_updated": "2025-11-13", - "modalities": { "input": ["image", "text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.25, "output": 2, "cache_read": 0.025 }, - "limit": { "context": 400000, "output": 100000 } - }, - "openai/gpt-5.4-pro": { - "id": "openai/gpt-5.4-pro", - "name": "OpenAI: GPT-5.4 Pro", - "attachment": true, - "reasoning": true, - "tool_call": true, - "release_date": "2026-03-06", - "last_updated": "2026-03-15", - "modalities": { "input": ["image", "pdf", "text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 30, "output": 180 }, - "limit": { "context": 1050000, "output": 128000 } - }, - "openai/gpt-3.5-turbo-16k": { - "id": "openai/gpt-3.5-turbo-16k", - "name": "OpenAI: GPT-3.5 Turbo 16k", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "release_date": "2023-08-28", - "last_updated": "2026-03-15", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 3, "output": 4 }, - "limit": { "context": 16385, "output": 4096 } - }, - "openai/gpt-4o:extended": { - "id": "openai/gpt-4o:extended", - "name": "OpenAI: GPT-4o (extended)", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "release_date": "2024-05-13", - "last_updated": "2026-03-15", - "modalities": { "input": ["image", "pdf", "text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 6, "output": 18 }, - "limit": { "context": 128000, "output": 64000 } - }, - "openai/o3-mini": { - "id": "openai/o3-mini", - "name": "OpenAI: o3 Mini", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": false, - "release_date": "2024-12-20", - "last_updated": "2026-03-15", - "modalities": { "input": ["pdf", "text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.1, "output": 4.4, "cache_read": 0.55 }, - "limit": { "context": 200000, "output": 100000 } - }, - "openai/gpt-4-1106-preview": { - "id": "openai/gpt-4-1106-preview", - "name": "OpenAI: GPT-4 Turbo (older v1106)", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "release_date": "2023-11-06", - "last_updated": "2026-03-15", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 10, "output": 30 }, - "limit": { "context": 128000, "output": 4096 } - }, - "openai/gpt-5-pro": { - "id": "openai/gpt-5-pro", - "name": "OpenAI: GPT-5 Pro", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": false, - "release_date": "2025-10-06", - "last_updated": "2026-03-15", - "modalities": { "input": ["image", "pdf", "text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 15, "output": 120 }, - "limit": { "context": 400000, "output": 128000 } - }, - "openai/gpt-3.5-turbo-0613": { - "id": "openai/gpt-3.5-turbo-0613", - "name": "OpenAI: GPT-3.5 Turbo (older v0613)", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "release_date": "2023-06-13", - "last_updated": "2023-06-13", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1, "output": 2 }, - "limit": { "context": 4095, "output": 4096 } - }, - "openai/gpt-5-image-mini": { - "id": "openai/gpt-5-image-mini", - "name": "OpenAI: GPT-5 Image Mini", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2025-10-16", - "last_updated": "2026-03-15", - "modalities": { "input": ["image", "pdf", "text"], "output": ["image", "text"] }, - "open_weights": false, - "cost": { "input": 2.5, "output": 2 }, - "limit": { "context": 400000, "output": 128000 } - }, - "openai/gpt-5": { - "id": "openai/gpt-5", - "name": "OpenAI: GPT-5", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": false, - "release_date": "2025-08-07", - "last_updated": "2026-03-15", - "modalities": { "input": ["image", "pdf", "text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.25, "output": 10, "cache_read": 0.125 }, - "limit": { "context": 400000, "output": 128000 } - }, - "openai/gpt-4-0314": { - "id": "openai/gpt-4-0314", - "name": "OpenAI: GPT-4 (older v0314)", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "release_date": "2023-05-28", - "last_updated": "2026-03-15", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 30, "output": 60 }, - "limit": { "context": 8191, "output": 4096 } - }, - "openai/gpt-audio": { - "id": "openai/gpt-audio", - "name": "OpenAI: GPT Audio", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "release_date": "2026-01-20", - "last_updated": "2026-03-15", - "modalities": { "input": ["audio", "text"], "output": ["audio", "text"] }, - "open_weights": false, - "cost": { "input": 2.5, "output": 10 }, - "limit": { "context": 128000, "output": 16384 } - }, - "openai/gpt-4-turbo": { - "id": "openai/gpt-4-turbo", - "name": "OpenAI: GPT-4 Turbo", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "release_date": "2023-09-13", - "last_updated": "2024-04-09", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 10, "output": 30 }, - "limit": { "context": 128000, "output": 4096 } - }, - "openai/gpt-4o": { - "id": "openai/gpt-4o", - "name": "OpenAI: GPT-4o", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "release_date": "2024-05-13", - "last_updated": "2026-03-15", - "modalities": { "input": ["image", "pdf", "text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2.5, "output": 10, "cache_read": 1.25 }, - "limit": { "context": 128000, "output": 16384 } - }, - "openai/gpt-5.3-codex": { - "id": "openai/gpt-5.3-codex", - "name": "OpenAI: GPT-5.3-Codex", - "attachment": true, - "reasoning": true, - "tool_call": true, - "release_date": "2026-02-25", - "last_updated": "2026-03-15", - "modalities": { "input": ["image", "text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.75, "output": 14 }, - "limit": { "context": 400000, "output": 128000 } - }, - "openai/o3-mini-high": { - "id": "openai/o3-mini-high", - "name": "OpenAI: o3 Mini High", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": false, - "release_date": "2025-01-31", - "last_updated": "2026-03-15", - "modalities": { "input": ["pdf", "text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.1, "output": 4.4, "cache_read": 0.55 }, - "limit": { "context": 200000, "output": 100000 } - }, - "openai/gpt-5-mini": { - "id": "openai/gpt-5-mini", - "name": "OpenAI: GPT-5 Mini", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": false, - "release_date": "2025-08-07", - "last_updated": "2026-03-15", - "modalities": { "input": ["image", "pdf", "text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.25, "output": 2, "cache_read": 0.025 }, - "limit": { "context": 400000, "output": 128000 } - }, - "openai/gpt-4-turbo-preview": { - "id": "openai/gpt-4-turbo-preview", - "name": "OpenAI: GPT-4 Turbo Preview", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "release_date": "2024-01-25", - "last_updated": "2026-03-15", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 10, "output": 30 }, - "limit": { "context": 128000, "output": 4096 } - }, - "openai/gpt-4o-mini": { - "id": "openai/gpt-4o-mini", - "name": "OpenAI: GPT-4o-mini", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "release_date": "2024-07-18", - "last_updated": "2026-03-15", - "modalities": { "input": ["image", "pdf", "text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.15, "output": 0.6, "cache_read": 0.075 }, - "limit": { "context": 128000, "output": 16384 } - }, - "openai/gpt-5.1-codex-max": { - "id": "openai/gpt-5.1-codex-max", - "name": "OpenAI: GPT-5.1-Codex-Max", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": false, - "release_date": "2025-11-13", - "last_updated": "2025-11-13", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.25, "output": 10, "cache_read": 0.125 }, - "limit": { "context": 400000, "output": 128000 } - }, - "openai/gpt-4.1": { - "id": "openai/gpt-4.1", - "name": "OpenAI: GPT-4.1", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "release_date": "2025-04-14", - "last_updated": "2026-03-15", - "modalities": { "input": ["image", "pdf", "text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2, "output": 8, "cache_read": 0.5 }, - "limit": { "context": 1047576, "output": 32768 } - }, - "openai/gpt-3.5-turbo": { - "id": "openai/gpt-3.5-turbo", - "name": "OpenAI: GPT-3.5 Turbo", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "release_date": "2023-03-01", - "last_updated": "2023-11-06", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.5, "output": 1.5 }, - "limit": { "context": 16385, "output": 4096 } - }, - "openai/gpt-3.5-turbo-instruct": { - "id": "openai/gpt-3.5-turbo-instruct", - "name": "OpenAI: GPT-3.5 Turbo Instruct", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "release_date": "2023-03-01", - "last_updated": "2023-09-21", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.5, "output": 2 }, - "limit": { "context": 4095, "output": 4096 } - }, - "openai/gpt-oss-120b": { - "id": "openai/gpt-oss-120b", - "name": "OpenAI: gpt-oss-120b", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2025-08-05", - "last_updated": "2025-08-05", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.039, "output": 0.19 }, - "limit": { "context": 131072, "output": 26215 } - }, - "openai/gpt-5.1-chat": { - "id": "openai/gpt-5.1-chat", - "name": "OpenAI: GPT-5.1 Chat", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": false, - "release_date": "2025-11-13", - "last_updated": "2026-03-15", - "modalities": { "input": ["image", "pdf", "text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.25, "output": 10, "cache_read": 0.125 }, - "limit": { "context": 128000, "output": 16384 } - }, - "openai/gpt-5.4": { - "id": "openai/gpt-5.4", - "name": "OpenAI: GPT-5.4", - "attachment": true, - "reasoning": true, - "tool_call": true, - "release_date": "2026-03-06", - "last_updated": "2026-03-15", - "modalities": { "input": ["image", "pdf", "text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2.5, "output": 15 }, - "limit": { "context": 1050000, "output": 128000 } - }, - "openai/o1": { - "id": "openai/o1", - "name": "OpenAI: o1", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": false, - "release_date": "2024-12-05", - "last_updated": "2026-03-15", - "modalities": { "input": ["image", "pdf", "text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 15, "output": 60, "cache_read": 7.5 }, - "limit": { "context": 200000, "output": 100000 } - }, - "openai/gpt-4o-audio-preview": { - "id": "openai/gpt-4o-audio-preview", - "name": "OpenAI: GPT-4o Audio", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "release_date": "2025-08-15", - "last_updated": "2026-03-15", - "modalities": { "input": ["audio", "text"], "output": ["audio", "text"] }, - "open_weights": false, - "cost": { "input": 2.5, "output": 10 }, - "limit": { "context": 128000, "output": 16384 } - }, - "openai/o3": { - "id": "openai/o3", - "name": "OpenAI: o3", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": false, - "release_date": "2025-04-16", - "last_updated": "2026-03-15", - "modalities": { "input": ["image", "pdf", "text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2, "output": 8, "cache_read": 0.5 }, - "limit": { "context": 200000, "output": 100000 } - }, - "openai/gpt-5-chat": { - "id": "openai/gpt-5-chat", - "name": "OpenAI: GPT-5 Chat", - "attachment": true, - "reasoning": false, - "tool_call": false, - "temperature": false, - "release_date": "2025-08-07", - "last_updated": "2026-03-15", - "modalities": { "input": ["image", "pdf", "text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.25, "output": 10, "cache_read": 0.125 }, - "limit": { "context": 128000, "output": 16384 } - }, - "openai/gpt-4o-search-preview": { - "id": "openai/gpt-4o-search-preview", - "name": "OpenAI: GPT-4o Search Preview", - "attachment": false, - "reasoning": false, - "tool_call": false, - "release_date": "2025-03-13", - "last_updated": "2026-03-15", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2.5, "output": 10 }, - "limit": { "context": 128000, "output": 16384 } - }, - "openai/o4-mini-high": { - "id": "openai/o4-mini-high", - "name": "OpenAI: o4 Mini High", - "attachment": true, - "reasoning": true, - "tool_call": true, - "release_date": "2025-04-17", - "last_updated": "2026-03-15", - "modalities": { "input": ["image", "pdf", "text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.1, "output": 4.4 }, - "limit": { "context": 200000, "output": 100000 } - }, - "openai/gpt-4o-2024-05-13": { - "id": "openai/gpt-4o-2024-05-13", - "name": "OpenAI: GPT-4o (2024-05-13)", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "release_date": "2024-05-13", - "last_updated": "2026-03-15", - "modalities": { "input": ["image", "pdf", "text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 5, "output": 15 }, - "limit": { "context": 128000, "output": 4096 } - }, - "openai/gpt-4": { - "id": "openai/gpt-4", - "name": "OpenAI: GPT-4", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "release_date": "2023-03-14", - "last_updated": "2024-04-09", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 30, "output": 60 }, - "limit": { "context": 8191, "output": 4096 } - }, - "openai/gpt-5.3-chat": { - "id": "openai/gpt-5.3-chat", - "name": "OpenAI: GPT-5.3 Chat", - "attachment": true, - "reasoning": false, - "tool_call": true, - "release_date": "2026-03-04", - "last_updated": "2026-03-15", - "modalities": { "input": ["image", "pdf", "text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.75, "output": 14 }, - "limit": { "context": 128000, "output": 16384 } - }, - "openai/gpt-4o-2024-11-20": { - "id": "openai/gpt-4o-2024-11-20", - "name": "OpenAI: GPT-4o (2024-11-20)", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "release_date": "2024-11-20", - "last_updated": "2026-03-15", - "modalities": { "input": ["image", "pdf", "text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2.5, "output": 10, "cache_read": 1.25 }, - "limit": { "context": 128000, "output": 16384 } - }, - "openai/gpt-5.2-chat": { - "id": "openai/gpt-5.2-chat", - "name": "OpenAI: GPT-5.2 Chat", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": false, - "release_date": "2025-12-11", - "last_updated": "2026-03-15", - "modalities": { "input": ["image", "pdf", "text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.75, "output": 14, "cache_read": 0.175 }, - "limit": { "context": 128000, "output": 16384 } - }, - "openai/gpt-5.2": { - "id": "openai/gpt-5.2", - "name": "OpenAI: GPT-5.2", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": false, - "release_date": "2025-12-11", - "last_updated": "2026-03-15", - "modalities": { "input": ["image", "pdf", "text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.75, "output": 14, "cache_read": 0.175 }, - "limit": { "context": 400000, "output": 128000 } - }, - "openai/o4-mini-deep-research": { - "id": "openai/o4-mini-deep-research", - "name": "OpenAI: o4 Mini Deep Research", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2024-06-26", - "last_updated": "2026-03-15", - "modalities": { "input": ["image", "pdf", "text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2, "output": 8, "cache_read": 0.5 }, - "limit": { "context": 200000, "output": 100000 } - }, - "openai/gpt-audio-mini": { - "id": "openai/gpt-audio-mini", - "name": "OpenAI: GPT Audio Mini", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "release_date": "2026-01-20", - "last_updated": "2026-03-15", - "modalities": { "input": ["audio", "text"], "output": ["audio", "text"] }, - "open_weights": false, - "cost": { "input": 0.6, "output": 2.4 }, - "limit": { "context": 128000, "output": 16384 } - }, - "openai/gpt-5.1": { - "id": "openai/gpt-5.1", - "name": "OpenAI: GPT-5.1", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": false, - "release_date": "2025-11-13", - "last_updated": "2026-03-15", - "modalities": { "input": ["image", "pdf", "text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.25, "output": 10, "cache_read": 0.125 }, - "limit": { "context": 400000, "output": 128000 } - }, - "openai/gpt-4o-mini-search-preview": { - "id": "openai/gpt-4o-mini-search-preview", - "name": "OpenAI: GPT-4o-mini Search Preview", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": false, - "release_date": "2025-01", - "last_updated": "2025-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.15, "output": 0.6 }, - "limit": { "context": 128000, "output": 16384 } - }, - "openai/gpt-4.1-mini": { - "id": "openai/gpt-4.1-mini", - "name": "OpenAI: GPT-4.1 Mini", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "release_date": "2025-04-14", - "last_updated": "2026-03-15", - "modalities": { "input": ["image", "pdf", "text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.4, "output": 1.6, "cache_read": 0.1 }, - "limit": { "context": 1047576, "output": 32768 } - }, - "openai/gpt-4o-mini-2024-07-18": { - "id": "openai/gpt-4o-mini-2024-07-18", - "name": "OpenAI: GPT-4o-mini (2024-07-18)", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "release_date": "2024-07-18", - "last_updated": "2026-03-15", - "modalities": { "input": ["image", "pdf", "text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.15, "output": 0.6 }, - "limit": { "context": 128000, "output": 16384 } - }, - "openai/gpt-5-nano": { - "id": "openai/gpt-5-nano", - "name": "OpenAI: GPT-5 Nano", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": false, - "release_date": "2025-08-07", - "last_updated": "2026-03-15", - "modalities": { "input": ["image", "pdf", "text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.05, "output": 0.4, "cache_read": 0.005 }, - "limit": { "context": 400000, "output": 128000 } - }, - "openai/gpt-oss-safeguard-20b": { - "id": "openai/gpt-oss-safeguard-20b", - "name": "OpenAI: gpt-oss-safeguard-20b", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2025-10-29", - "last_updated": "2025-10-29", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.075, "output": 0.3, "cache_read": 0.037 }, - "limit": { "context": 131072, "output": 65536 } - }, - "openai/o3-pro": { - "id": "openai/o3-pro", - "name": "OpenAI: o3 Pro", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": false, - "release_date": "2025-04-16", - "last_updated": "2026-03-15", - "modalities": { "input": ["image", "pdf", "text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 20, "output": 80 }, - "limit": { "context": 200000, "output": 100000 } - }, - "openai/gpt-oss-20b": { - "id": "openai/gpt-oss-20b", - "name": "OpenAI: gpt-oss-20b", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2025-08-05", - "last_updated": "2025-08-05", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.03, "output": 0.14 }, - "limit": { "context": 131072, "output": 26215 } - }, - "openai/gpt-4o-2024-08-06": { - "id": "openai/gpt-4o-2024-08-06", - "name": "OpenAI: GPT-4o (2024-08-06)", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "release_date": "2024-08-06", - "last_updated": "2026-03-15", - "modalities": { "input": ["image", "pdf", "text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2.5, "output": 10, "cache_read": 1.25 }, - "limit": { "context": 128000, "output": 16384 } - }, - "openai/gpt-4.1-nano": { - "id": "openai/gpt-4.1-nano", - "name": "OpenAI: GPT-4.1 Nano", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "release_date": "2025-04-14", - "last_updated": "2026-03-15", - "modalities": { "input": ["image", "pdf", "text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.1, "output": 0.4, "cache_read": 0.025 }, - "limit": { "context": 1047576, "output": 32768 } - }, - "openai/gpt-5-image": { - "id": "openai/gpt-5-image", - "name": "OpenAI: GPT-5 Image", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2025-10-14", - "last_updated": "2026-03-15", - "modalities": { "input": ["image", "pdf", "text"], "output": ["image", "text"] }, - "open_weights": false, - "cost": { "input": 10, "output": 10 }, - "limit": { "context": 400000, "output": 128000 } - }, - "openai/gpt-5-codex": { - "id": "openai/gpt-5-codex", - "name": "OpenAI: GPT-5 Codex", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": false, - "release_date": "2025-09-15", - "last_updated": "2025-09-15", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.25, "output": 10, "cache_read": 0.125 }, - "limit": { "context": 400000, "output": 128000 } - }, - "openai/o4-mini": { - "id": "openai/o4-mini", - "name": "OpenAI: o4 Mini", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": false, - "release_date": "2025-04-16", - "last_updated": "2026-03-15", - "modalities": { "input": ["image", "pdf", "text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.1, "output": 4.4, "cache_read": 0.275 }, - "limit": { "context": 200000, "output": 100000 } - }, - "openai/o3-deep-research": { - "id": "openai/o3-deep-research", - "name": "OpenAI: o3 Deep Research", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2024-06-26", - "last_updated": "2026-03-15", - "modalities": { "input": ["image", "pdf", "text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 10, "output": 40, "cache_read": 2.5 }, - "limit": { "context": 200000, "output": 100000 } - }, - "openai/gpt-5.1-codex": { - "id": "openai/gpt-5.1-codex", - "name": "OpenAI: GPT-5.1-Codex", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": false, - "release_date": "2025-11-13", - "last_updated": "2025-11-13", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.25, "output": 10, "cache_read": 0.125 }, - "limit": { "context": 400000, "output": 128000 } - }, - "openai/gpt-5.2-pro": { - "id": "openai/gpt-5.2-pro", - "name": "OpenAI: GPT-5.2 Pro", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": false, - "release_date": "2025-12-11", - "last_updated": "2026-03-15", - "modalities": { "input": ["image", "pdf", "text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 21, "output": 168 }, - "limit": { "context": 400000, "output": 128000 } - }, - "prime-intellect/intellect-3": { - "id": "prime-intellect/intellect-3", - "name": "Prime Intellect: INTELLECT-3", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2025-11-26", - "last_updated": "2026-02-04", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.2, "output": 1.1 }, - "limit": { "context": 131072, "output": 131072 } - }, - "microsoft/phi-4": { - "id": "microsoft/phi-4", - "name": "Microsoft: Phi 4", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "release_date": "2024-12-11", - "last_updated": "2024-12-11", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.06, "output": 0.14 }, - "limit": { "context": 16384, "output": 16384 } - }, - "microsoft/wizardlm-2-8x22b": { - "id": "microsoft/wizardlm-2-8x22b", - "name": "WizardLM-2 8x22B", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "release_date": "2024-04-24", - "last_updated": "2024-04-24", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.62, "output": 0.62 }, - "limit": { "context": 65535, "output": 8000 } - }, - "cohere/command-r-08-2024": { - "id": "cohere/command-r-08-2024", - "name": "Cohere: Command R (08-2024)", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "release_date": "2024-08-30", - "last_updated": "2024-08-30", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.15, "output": 0.6 }, - "limit": { "context": 128000, "output": 4000 } - }, - "cohere/command-r-plus-08-2024": { - "id": "cohere/command-r-plus-08-2024", - "name": "Cohere: Command R+ (08-2024)", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "release_date": "2024-08-30", - "last_updated": "2024-08-30", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 2.5, "output": 10 }, - "limit": { "context": 128000, "output": 4000 } - }, - "cohere/command-r7b-12-2024": { - "id": "cohere/command-r7b-12-2024", - "name": "Cohere: Command R7B (12-2024)", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "release_date": "2024-02-27", - "last_updated": "2024-02-27", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.0375, "output": 0.15 }, - "limit": { "context": 128000, "output": 4000 } - }, - "cohere/command-a": { - "id": "cohere/command-a", - "name": "Cohere: Command A", - "attachment": false, - "reasoning": false, - "tool_call": false, + "structured_output": true, "temperature": true, + "knowledge": "2025-03", "release_date": "2025-03-13", "last_updated": "2025-03-13", - "modalities": { "input": ["text"], "output": ["text"] }, + "modalities": { + "input": ["text"], + "output": ["text"] + }, "open_weights": true, - "cost": { "input": 2.5, "output": 10 }, - "limit": { "context": 256000, "output": 8192 } + "limit": { + "context": 32000, + "output": 32000 + }, + "cost": { + "input": 0.67, + "output": 0.67 + } }, - "kwaipilot/kat-coder-pro": { - "id": "kwaipilot/kat-coder-pro", - "name": "Kwaipilot: KAT-Coder-Pro V1", + "speakleash/Bielik-11B-v2.6-Instruct": { + "id": "speakleash/Bielik-11B-v2.6-Instruct", + "name": "Bielik 11B v2.6 Instruct", "attachment": false, "reasoning": false, "tool_call": true, + "structured_output": true, "temperature": true, - "release_date": "2025-09-30", - "last_updated": "2025-10-24", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.207, "output": 0.828, "cache_read": 0.0414 }, - "limit": { "context": 256000, "output": 128000 } - }, - "switchpoint/router": { - "id": "switchpoint/router", - "name": "Switchpoint Router", - "attachment": false, - "reasoning": true, - "tool_call": false, - "temperature": true, - "release_date": "2025-07-12", - "last_updated": "2026-03-15", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.85, "output": 3.4 }, - "limit": { "context": 131072, "output": 32768 } - }, - "morph/morph-v3-large": { - "id": "morph/morph-v3-large", - "name": "Morph: Morph V3 Large", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "release_date": "2024-08-15", - "last_updated": "2024-08-15", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.9, "output": 1.9 }, - "limit": { "context": 262144, "output": 131072 } - }, - "morph/morph-v3-fast": { - "id": "morph/morph-v3-fast", - "name": "Morph: Morph V3 Fast", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "release_date": "2024-08-15", - "last_updated": "2024-08-15", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.8, "output": 1.2 }, - "limit": { "context": 81920, "output": 38000 } - }, - "x-ai/grok-4-fast": { - "id": "x-ai/grok-4-fast", - "name": "xAI: Grok 4 Fast", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2025-08-19", - "last_updated": "2025-08-19", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.2, "output": 0.5, "cache_read": 0.05 }, - "limit": { "context": 2000000, "output": 30000 } - }, - "x-ai/grok-4.20-beta": { - "id": "x-ai/grok-4.20-beta", - "name": "xAI: Grok 4.20 Beta", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2026-03-12", - "last_updated": "2026-03-15", - "modalities": { "input": ["image", "text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2, "output": 6 }, - "limit": { "context": 2000000, "output": 32768 } - }, - "x-ai/grok-4.1-fast": { - "id": "x-ai/grok-4.1-fast", - "name": "xAI: Grok 4.1 Fast", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2025-11-19", - "last_updated": "2025-11-19", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.2, "output": 0.5, "cache_read": 0.05 }, - "limit": { "context": 2000000, "output": 30000 } - }, - "x-ai/grok-4": { - "id": "x-ai/grok-4", - "name": "xAI: Grok 4", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2025-07-09", - "last_updated": "2025-07-09", - "modalities": { "input": ["image", "text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 3, "output": 15, "cache_read": 0.75 }, - "limit": { "context": 256000, "output": 51200 } - }, - "x-ai/grok-code-fast-1": { - "id": "x-ai/grok-code-fast-1", - "name": "xAI: Grok Code Fast 1", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2025-08-26", - "last_updated": "2025-08-26", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.2, "output": 1.5, "cache_read": 0.02 }, - "limit": { "context": 256000, "output": 10000 } - }, - "x-ai/grok-4.20-multi-agent-beta": { - "id": "x-ai/grok-4.20-multi-agent-beta", - "name": "xAI: Grok 4.20 Multi-Agent Beta", - "attachment": true, - "reasoning": true, - "tool_call": false, - "temperature": true, - "release_date": "2026-03-12", - "last_updated": "2026-03-15", - "modalities": { "input": ["image", "text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2, "output": 6 }, - "limit": { "context": 2000000, "output": 32768 } - }, - "x-ai/grok-3-mini": { - "id": "x-ai/grok-3-mini", - "name": "xAI: Grok 3 Mini", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2025-02-17", - "last_updated": "2025-02-17", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.3, "output": 0.5, "cache_read": 0.075 }, - "limit": { "context": 131072, "output": 26215 } - }, - "x-ai/grok-3-beta": { - "id": "x-ai/grok-3-beta", - "name": "xAI: Grok 3 Beta", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "release_date": "2025-02-17", - "last_updated": "2025-02-17", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 3, "output": 15, "cache_read": 0.75 }, - "limit": { "context": 131072, "output": 26215 } - }, - "x-ai/grok-code-fast-1:optimized:free": { - "id": "x-ai/grok-code-fast-1:optimized:free", - "name": "xAI: Grok Code Fast 1 Optimized (experimental, free)", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2025-08-27", - "last_updated": "2026-03-15", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 256000, "output": 10000 } - }, - "x-ai/grok-3": { - "id": "x-ai/grok-3", - "name": "xAI: Grok 3", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "release_date": "2025-02-17", - "last_updated": "2025-02-17", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 3, "output": 15, "cache_read": 0.75 }, - "limit": { "context": 131072, "output": 26215 } - }, - "x-ai/grok-3-mini-beta": { - "id": "x-ai/grok-3-mini-beta", - "name": "xAI: Grok 3 Mini Beta", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2025-02-17", - "last_updated": "2025-02-17", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.3, "output": 0.5, "cache_read": 0.075 }, - "limit": { "context": 131072, "output": 26215 } - }, - "anthropic/claude-opus-4.6": { - "id": "anthropic/claude-opus-4.6", - "name": "Anthropic: Claude Opus 4.6", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2026-02-05", - "last_updated": "2026-02-05", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 5, "output": 25, "cache_read": 0.5, "cache_write": 6.25 }, - "limit": { "context": 1000000, "output": 128000 } - }, - "anthropic/claude-haiku-4.5": { - "id": "anthropic/claude-haiku-4.5", - "name": "Anthropic: Claude Haiku 4.5", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2025-10-15", - "last_updated": "2025-10-15", - "modalities": { "input": ["image", "text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1, "output": 5, "cache_read": 0.1, "cache_write": 1.25 }, - "limit": { "context": 200000, "output": 64000 } - }, - "anthropic/claude-3.7-sonnet:thinking": { - "id": "anthropic/claude-3.7-sonnet:thinking", - "name": "Anthropic: Claude 3.7 Sonnet (thinking)", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2025-02-19", - "last_updated": "2026-03-15", - "modalities": { "input": ["image", "pdf", "text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 3, "output": 15, "cache_read": 0.3, "cache_write": 3.75 }, - "limit": { "context": 200000, "output": 64000 } - }, - "anthropic/claude-opus-4.1": { - "id": "anthropic/claude-opus-4.1", - "name": "Anthropic: Claude Opus 4.1", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2025-08-05", - "last_updated": "2026-03-15", - "modalities": { "input": ["image", "pdf", "text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 15, "output": 75, "cache_read": 1.5, "cache_write": 18.75 }, - "limit": { "context": 200000, "output": 32000 } - }, - "anthropic/claude-3.7-sonnet": { - "id": "anthropic/claude-3.7-sonnet", - "name": "Anthropic: Claude 3.7 Sonnet", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2025-02-19", - "last_updated": "2026-03-15", - "modalities": { "input": ["image", "pdf", "text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 3, "output": 15, "cache_read": 0.3, "cache_write": 3.75 }, - "limit": { "context": 200000, "output": 64000 } - }, - "anthropic/claude-sonnet-4.6": { - "id": "anthropic/claude-sonnet-4.6", - "name": "Anthropic: Claude Sonnet 4.6", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2026-02-17", - "last_updated": "2026-03-15", - "modalities": { "input": ["image", "text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 3, "output": 15 }, - "limit": { "context": 1000000, "output": 128000 } - }, - "anthropic/claude-sonnet-4": { - "id": "anthropic/claude-sonnet-4", - "name": "Anthropic: Claude Sonnet 4", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2025-05-22", - "last_updated": "2026-03-15", - "modalities": { "input": ["image", "pdf", "text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 3, "output": 15, "cache_read": 0.3, "cache_write": 3.75 }, - "limit": { "context": 200000, "output": 64000 } - }, - "anthropic/claude-3.5-haiku": { - "id": "anthropic/claude-3.5-haiku", - "name": "Anthropic: Claude 3.5 Haiku", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "release_date": "2024-10-22", - "last_updated": "2024-10-22", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.8, "output": 4, "cache_read": 0.08, "cache_write": 1 }, - "limit": { "context": 200000, "output": 8192 } - }, - "anthropic/claude-opus-4.5": { - "id": "anthropic/claude-opus-4.5", - "name": "Anthropic: Claude Opus 4.5", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2025-11-24", - "last_updated": "2026-03-15", - "modalities": { "input": ["image", "pdf", "text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 5, "output": 25, "cache_read": 0.5, "cache_write": 6.25 }, - "limit": { "context": 200000, "output": 64000 } - }, - "anthropic/claude-3.5-sonnet": { - "id": "anthropic/claude-3.5-sonnet", - "name": "Anthropic: Claude 3.5 Sonnet", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "release_date": "2024-10-22", - "last_updated": "2026-03-15", - "modalities": { "input": ["image", "pdf", "text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 6, "output": 30 }, - "limit": { "context": 200000, "output": 8192 } - }, - "anthropic/claude-3-haiku": { - "id": "anthropic/claude-3-haiku", - "name": "Anthropic: Claude 3 Haiku", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "release_date": "2024-03-07", - "last_updated": "2024-03-07", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.25, "output": 1.25, "cache_read": 0.03, "cache_write": 0.3 }, - "limit": { "context": 200000, "output": 4096 } - }, - "anthropic/claude-sonnet-4.5": { - "id": "anthropic/claude-sonnet-4.5", - "name": "Anthropic: Claude Sonnet 4.5", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2025-09-29", - "last_updated": "2026-03-15", - "modalities": { "input": ["image", "pdf", "text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 3, "output": 15, "cache_read": 0.3, "cache_write": 3.75 }, - "limit": { "context": 1000000, "output": 64000 } - }, - "anthropic/claude-opus-4": { - "id": "anthropic/claude-opus-4", - "name": "Anthropic: Claude Opus 4", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2025-05-22", - "last_updated": "2026-03-15", - "modalities": { "input": ["image", "pdf", "text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 15, "output": 75, "cache_read": 1.5, "cache_write": 18.75 }, - "limit": { "context": 200000, "output": 32000 } - }, - "alpindale/goliath-120b": { - "id": "alpindale/goliath-120b", - "name": "Goliath 120B", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "release_date": "2023-11-10", - "last_updated": "2026-03-15", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 3.75, "output": 7.5 }, - "limit": { "context": 6144, "output": 1024 } - }, - "relace/relace-search": { - "id": "relace/relace-search", - "name": "Relace: Relace Search", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "release_date": "2025-12-09", - "last_updated": "2026-03-15", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1, "output": 3 }, - "limit": { "context": 256000, "output": 128000 } - }, - "relace/relace-apply-3": { - "id": "relace/relace-apply-3", - "name": "Relace: Relace Apply 3", - "attachment": false, - "reasoning": false, - "tool_call": false, - "release_date": "2025-09-26", - "last_updated": "2026-03-15", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.85, "output": 1.25 }, - "limit": { "context": 256000, "output": 128000 } - }, - "sao10k/l3.1-70b-hanami-x1": { - "id": "sao10k/l3.1-70b-hanami-x1", - "name": "Sao10K: Llama 3.1 70B Hanami x1", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "release_date": "2025-01-08", - "last_updated": "2026-03-15", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 3, "output": 3 }, - "limit": { "context": 16000, "output": 16000 } - }, - "sao10k/l3-lunaris-8b": { - "id": "sao10k/l3-lunaris-8b", - "name": "Sao10K: Llama 3 8B Lunaris", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "release_date": "2024-08-13", - "last_updated": "2026-03-15", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.04, "output": 0.05 }, - "limit": { "context": 8192, "output": 8192 } - }, - "sao10k/l3.3-euryale-70b": { - "id": "sao10k/l3.3-euryale-70b", - "name": "Sao10K: Llama 3.3 Euryale 70B", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "release_date": "2024-12-18", - "last_updated": "2026-03-15", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.65, "output": 0.75 }, - "limit": { "context": 131072, "output": 16384 } - }, - "sao10k/l3.1-euryale-70b": { - "id": "sao10k/l3.1-euryale-70b", - "name": "Sao10K: Llama 3.1 Euryale 70B v2.2", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "release_date": "2024-08-28", - "last_updated": "2026-03-15", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.85, "output": 0.85 }, - "limit": { "context": 131072, "output": 16384 } - }, - "sao10k/l3-euryale-70b": { - "id": "sao10k/l3-euryale-70b", - "name": "Sao10k: Llama 3 Euryale 70B v2.1", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "release_date": "2024-06-18", - "last_updated": "2026-03-15", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 1.48, "output": 1.48 }, - "limit": { "context": 8192, "output": 8192 } - }, - "upstage/solar-pro-3": { - "id": "upstage/solar-pro-3", - "name": "Upstage: Solar Pro 3", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2026-01-27", - "last_updated": "2026-03-15", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.15, "output": 0.6 }, - "limit": { "context": 128000, "output": 32768 } - }, - "mancer/weaver": { - "id": "mancer/weaver", - "name": "Mancer: Weaver (alpha)", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "release_date": "2023-08-02", - "last_updated": "2026-03-15", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.75, "output": 1 }, - "limit": { "context": 8000, "output": 2000 } - }, - "deepseek/deepseek-v3.1-terminus": { - "id": "deepseek/deepseek-v3.1-terminus", - "name": "DeepSeek: DeepSeek V3.1 Terminus", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2025-09-22", - "last_updated": "2025-09-22", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.21, "output": 0.79, "cache_read": 0.13 }, - "limit": { "context": 163840, "output": 32768 } - }, - "deepseek/deepseek-r1-distill-llama-70b": { - "id": "deepseek/deepseek-r1-distill-llama-70b", - "name": "DeepSeek: R1 Distill Llama 70B", - "attachment": false, - "reasoning": true, - "tool_call": false, - "temperature": true, - "release_date": "2025-01-23", - "last_updated": "2026-03-15", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.7, "output": 0.8, "cache_read": 0.015 }, - "limit": { "context": 131072, "output": 16384 } - }, - "deepseek/deepseek-r1": { - "id": "deepseek/deepseek-r1", - "name": "DeepSeek: R1", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2025-01-20", - "last_updated": "2025-01-20", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.7, "output": 2.5 }, - "limit": { "context": 64000, "output": 16000 } - }, - "deepseek/deepseek-chat": { - "id": "deepseek/deepseek-chat", - "name": "DeepSeek: DeepSeek V3", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "release_date": "2024-12-01", - "last_updated": "2026-03-15", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.32, "output": 0.89, "cache_read": 0.15 }, - "limit": { "context": 163840, "output": 163840 } - }, - "deepseek/deepseek-v3.2-exp": { - "id": "deepseek/deepseek-v3.2-exp", - "name": "DeepSeek: DeepSeek V3.2 Exp", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2025-01-01", - "last_updated": "2025-09-29", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.27, "output": 0.41 }, - "limit": { "context": 163840, "output": 65536 } - }, - "deepseek/deepseek-chat-v3.1": { - "id": "deepseek/deepseek-chat-v3.1", - "name": "DeepSeek: DeepSeek V3.1", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2025-08-21", - "last_updated": "2025-08-21", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.15, "output": 0.75 }, - "limit": { "context": 32768, "output": 7168 } - }, - "deepseek/deepseek-v3.2-speciale": { - "id": "deepseek/deepseek-v3.2-speciale", - "name": "DeepSeek: DeepSeek V3.2 Speciale", - "attachment": false, - "reasoning": true, - "tool_call": false, - "temperature": true, - "release_date": "2025-12-01", - "last_updated": "2026-03-15", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.4, "output": 1.2, "cache_read": 0.135 }, - "limit": { "context": 163840, "output": 163840 } - }, - "deepseek/deepseek-r1-distill-qwen-32b": { - "id": "deepseek/deepseek-r1-distill-qwen-32b", - "name": "DeepSeek: R1 Distill Qwen 32B", - "attachment": false, - "reasoning": true, - "tool_call": false, - "temperature": true, - "release_date": "2025-01-01", - "last_updated": "2025-11-25", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.29, "output": 0.29 }, - "limit": { "context": 32768, "output": 32768 } - }, - "deepseek/deepseek-chat-v3-0324": { - "id": "deepseek/deepseek-chat-v3-0324", - "name": "DeepSeek: DeepSeek V3 0324", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2025-03-24", - "last_updated": "2026-03-15", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.2, "output": 0.77, "cache_read": 0.095 }, - "limit": { "context": 163840, "output": 65536 } - }, - "deepseek/deepseek-r1-0528": { - "id": "deepseek/deepseek-r1-0528", - "name": "DeepSeek: R1 0528", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2025-05-28", - "last_updated": "2026-03-15", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.45, "output": 2.15, "cache_read": 0.2 }, - "limit": { "context": 163840, "output": 65536 } - }, - "deepseek/deepseek-v3.2": { - "id": "deepseek/deepseek-v3.2", - "name": "DeepSeek: DeepSeek V3.2", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2025-12-01", - "last_updated": "2026-03-15", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.26, "output": 0.38, "cache_read": 0.125 }, - "limit": { "context": 163840, "output": 65536 } - }, - "nvidia/llama-3.1-nemotron-70b-instruct": { - "id": "nvidia/llama-3.1-nemotron-70b-instruct", - "name": "NVIDIA: Llama 3.1 Nemotron 70B Instruct", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "release_date": "2024-10-12", - "last_updated": "2024-10-12", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.2, "output": 1.2 }, - "limit": { "context": 131072, "output": 16384 } - }, - "nvidia/llama-3.3-nemotron-super-49b-v1.5": { - "id": "nvidia/llama-3.3-nemotron-super-49b-v1.5", - "name": "NVIDIA: Llama 3.3 Nemotron Super 49B V1.5", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2025-03-16", - "last_updated": "2025-03-16", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.1, "output": 0.4 }, - "limit": { "context": 131072, "output": 26215 } - }, - "nvidia/nemotron-nano-12b-v2-vl": { - "id": "nvidia/nemotron-nano-12b-v2-vl", - "name": "NVIDIA: Nemotron Nano 12B 2 VL", - "attachment": true, - "reasoning": true, - "tool_call": false, - "temperature": true, - "release_date": "2025-10-28", - "last_updated": "2026-01-31", - "modalities": { "input": ["image", "text", "video"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.2, "output": 0.6 }, - "limit": { "context": 131072, "output": 26215 } - }, - "nvidia/nemotron-nano-9b-v2": { - "id": "nvidia/nemotron-nano-9b-v2", - "name": "NVIDIA: Nemotron Nano 9B V2", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2025-08-18", - "last_updated": "2025-08-18", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.04, "output": 0.16 }, - "limit": { "context": 131072, "output": 26215 } - }, - "nvidia/nemotron-3-super-120b-a12b:free": { - "id": "nvidia/nemotron-3-super-120b-a12b:free", - "name": "NVIDIA: Nemotron 3 Super (free)", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2026-03-12", - "last_updated": "2026-03-15", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 262144, "output": 262144 } - }, - "nvidia/nemotron-3-nano-30b-a3b": { - "id": "nvidia/nemotron-3-nano-30b-a3b", - "name": "NVIDIA: Nemotron 3 Nano 30B A3B", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2024-12", - "last_updated": "2026-02-04", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.05, "output": 0.2 }, - "limit": { "context": 262144, "output": 52429 } - }, - "gryphe/mythomax-l2-13b": { - "id": "gryphe/mythomax-l2-13b", - "name": "MythoMax 13B", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "release_date": "2024-04-25", - "last_updated": "2024-04-25", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.06, "output": 0.06 }, - "limit": { "context": 4096, "output": 4096 } - }, - "z-ai/glm-4.7-flash": { - "id": "z-ai/glm-4.7-flash", - "name": "Z.ai: GLM 4.7 Flash", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2026-01-19", - "last_updated": "2026-01-19", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.06, "output": 0.4, "cache_read": 0.01 }, - "limit": { "context": 202752, "output": 40551 } - }, - "z-ai/glm-4.5": { - "id": "z-ai/glm-4.5", - "name": "Z.ai: GLM 4.5", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2025-07-28", - "last_updated": "2026-03-15", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.6, "output": 2.2, "cache_read": 0.175 }, - "limit": { "context": 131072, "output": 98304 } - }, - "z-ai/glm-4.6": { - "id": "z-ai/glm-4.6", - "name": "Z.ai: GLM 4.6", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2025-09-30", - "last_updated": "2026-03-15", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.39, "output": 1.9, "cache_read": 0.175 }, - "limit": { "context": 204800, "output": 204800 } - }, - "z-ai/glm-4.6v": { - "id": "z-ai/glm-4.6v", - "name": "Z.ai: GLM 4.6V", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2025-09-30", - "last_updated": "2026-01-10", - "modalities": { "input": ["image", "text", "video"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.3, "output": 0.9 }, - "limit": { "context": 131072, "output": 131072 } - }, - "z-ai/glm-5": { - "id": "z-ai/glm-5", - "name": "Z.ai: GLM 5", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2026-02-12", - "last_updated": "2026-03-15", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.72, "output": 2.3 }, - "limit": { "context": 202752, "output": 131072 } - }, - "z-ai/glm-4.5-air": { - "id": "z-ai/glm-4.5-air", - "name": "Z.ai: GLM 4.5 Air", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2025-07-28", - "last_updated": "2025-07-28", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.13, "output": 0.85, "cache_read": 0.025 }, - "limit": { "context": 131072, "output": 98304 } - }, - "z-ai/glm-4.5v": { - "id": "z-ai/glm-4.5v", - "name": "Z.ai: GLM 4.5V", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2025-08-11", - "last_updated": "2025-08-11", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.6, "output": 1.8, "cache_read": 0.11 }, - "limit": { "context": 65536, "output": 16384 } - }, - "z-ai/glm-4.7": { - "id": "z-ai/glm-4.7", - "name": "Z.ai: GLM 4.7", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2025-12-22", - "last_updated": "2026-03-15", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.38, "output": 1.98, "cache_read": 0.2 }, - "limit": { "context": 202752, "output": 65535 } - }, - "z-ai/glm-4-32b": { - "id": "z-ai/glm-4-32b", - "name": "Z.ai: GLM 4 32B ", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "release_date": "2025-07-25", - "last_updated": "2026-03-15", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.1, "output": 0.1 }, - "limit": { "context": 128000, "output": 32768 } - }, - "nex-agi/deepseek-v3.1-nex-n1": { - "id": "nex-agi/deepseek-v3.1-nex-n1", - "name": "Nex AGI: DeepSeek V3.1 Nex N1", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "release_date": "2025-01-01", - "last_updated": "2025-11-25", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.27, "output": 1 }, - "limit": { "context": 131072, "output": 163840 } - }, - "allenai/olmo-3.1-32b-instruct": { - "id": "allenai/olmo-3.1-32b-instruct", - "name": "AllenAI: Olmo 3.1 32B Instruct", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "release_date": "2026-01-07", - "last_updated": "2026-03-15", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.2, "output": 0.6 }, - "limit": { "context": 65536, "output": 32768 } - }, - "allenai/olmo-2-0325-32b-instruct": { - "id": "allenai/olmo-2-0325-32b-instruct", - "name": "AllenAI: Olmo 2 32B Instruct", - "attachment": false, - "reasoning": false, - "tool_call": false, - "release_date": "2025-03-15", - "last_updated": "2026-03-15", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.05, "output": 0.2 }, - "limit": { "context": 128000, "output": 32768 } - }, - "allenai/olmo-3-32b-think": { - "id": "allenai/olmo-3-32b-think", - "name": "AllenAI: Olmo 3 32B Think", - "attachment": false, - "reasoning": true, - "tool_call": false, - "temperature": true, - "release_date": "2025-11-22", - "last_updated": "2026-03-15", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.15, "output": 0.5 }, - "limit": { "context": 65536, "output": 65536 } - }, - "allenai/olmo-3-7b-think": { - "id": "allenai/olmo-3-7b-think", - "name": "AllenAI: Olmo 3 7B Think", - "attachment": false, - "reasoning": true, - "tool_call": false, - "temperature": true, - "release_date": "2025-11-22", - "last_updated": "2026-03-15", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.12, "output": 0.2 }, - "limit": { "context": 65536, "output": 65536 } - }, - "allenai/olmo-3.1-32b-think": { - "id": "allenai/olmo-3.1-32b-think", - "name": "AllenAI: Olmo 3.1 32B Think", - "attachment": false, - "reasoning": true, - "tool_call": false, - "temperature": true, - "release_date": "2025-12-17", - "last_updated": "2026-03-15", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.15, "output": 0.5 }, - "limit": { "context": 65536, "output": 65536 } - }, - "allenai/olmo-3-7b-instruct": { - "id": "allenai/olmo-3-7b-instruct", - "name": "AllenAI: Olmo 3 7B Instruct", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "release_date": "2025-11-22", - "last_updated": "2026-03-15", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.1, "output": 0.2 }, - "limit": { "context": 65536, "output": 65536 } - }, - "allenai/molmo-2-8b": { - "id": "allenai/molmo-2-8b", - "name": "AllenAI: Molmo2 8B", - "attachment": true, - "reasoning": false, - "tool_call": false, - "temperature": true, - "release_date": "2026-01-09", - "last_updated": "2026-01-31", - "modalities": { "input": ["text", "image", "video"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.2, "output": 0.2 }, - "limit": { "context": 36864, "output": 36864 } - }, - "google/gemini-2.5-flash-lite": { - "id": "google/gemini-2.5-flash-lite", - "name": "Google: Gemini 2.5 Flash Lite", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2025-06-17", - "last_updated": "2026-03-15", - "modalities": { "input": ["audio", "image", "pdf", "text", "video"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.1, "output": 0.4, "reasoning": 0.4, "cache_read": 0.01, "cache_write": 0.083333 }, - "limit": { "context": 1048576, "output": 65535 } - }, - "google/gemini-2.5-flash-lite-preview-09-2025": { - "id": "google/gemini-2.5-flash-lite-preview-09-2025", - "name": "Google: Gemini 2.5 Flash Lite Preview 09-2025", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2025-09-25", - "last_updated": "2026-03-15", - "modalities": { "input": ["audio", "image", "pdf", "text", "video"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.1, "output": 0.4, "reasoning": 0.4, "cache_read": 0.01, "cache_write": 0.083333 }, - "limit": { "context": 1048576, "output": 65536 } - }, - "google/gemma-2-9b-it": { - "id": "google/gemma-2-9b-it", - "name": "Google: Gemma 2 9B", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "release_date": "2024-06-28", - "last_updated": "2024-06-28", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.03, "output": 0.09 }, - "limit": { "context": 8192, "output": 1639 } - }, - "google/gemini-3.1-pro-preview": { - "id": "google/gemini-3.1-pro-preview", - "name": "Google: Gemini 3.1 Pro Preview", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2026-02-19", - "last_updated": "2026-03-15", - "modalities": { "input": ["audio", "image", "pdf", "text", "video"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2, "output": 12, "reasoning": 12 }, - "limit": { "context": 1048576, "output": 65536 } - }, - "google/gemini-3-pro-preview": { - "id": "google/gemini-3-pro-preview", - "name": "Google: Gemini 3 Pro Preview", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2025-11-18", - "last_updated": "2026-03-15", - "modalities": { "input": ["audio", "image", "pdf", "text", "video"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2, "output": 12, "reasoning": 12, "cache_read": 0.2, "cache_write": 0.375 }, - "limit": { "context": 1048576, "output": 65536 } - }, - "google/gemma-3-27b-it": { - "id": "google/gemma-3-27b-it", - "name": "Google: Gemma 3 27B", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "release_date": "2025-03-12", - "last_updated": "2026-03-15", - "modalities": { "input": ["image", "text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.03, "output": 0.11, "cache_read": 0.02 }, - "limit": { "context": 128000, "output": 65536 } - }, - "google/gemma-3-4b-it": { - "id": "google/gemma-3-4b-it", - "name": "Google: Gemma 3 4B", - "attachment": true, - "reasoning": false, - "tool_call": false, - "temperature": true, + "knowledge": "2025-03", "release_date": "2025-03-13", - "last_updated": "2026-03-15", - "modalities": { "input": ["image", "text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.04, "output": 0.08 }, - "limit": { "context": 131072, "output": 19200 } - }, - "google/gemma-3n-e4b-it": { - "id": "google/gemma-3n-e4b-it", - "name": "Google: Gemma 3n 4B", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "release_date": "2025-05-20", - "last_updated": "2025-05-20", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.02, "output": 0.04 }, - "limit": { "context": 32768, "output": 6554 } - }, - "google/gemini-2.5-pro-preview-05-06": { - "id": "google/gemini-2.5-pro-preview-05-06", - "name": "Google: Gemini 2.5 Pro Preview 05-06", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2025-05-06", - "last_updated": "2026-03-15", - "modalities": { "input": ["audio", "image", "pdf", "text", "video"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.25, "output": 10, "reasoning": 10, "cache_read": 0.125, "cache_write": 0.375 }, - "limit": { "context": 1048576, "output": 65535 } - }, - "google/gemini-2.0-flash-001": { - "id": "google/gemini-2.0-flash-001", - "name": "Google: Gemini 2.0 Flash", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "release_date": "2024-12-11", - "last_updated": "2026-03-15", - "modalities": { "input": ["audio", "image", "pdf", "text", "video"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.1, "output": 0.4, "cache_read": 0.025, "cache_write": 0.083333 }, - "limit": { "context": 1048576, "output": 8192 } - }, - "google/gemini-2.0-flash-lite-001": { - "id": "google/gemini-2.0-flash-lite-001", - "name": "Google: Gemini 2.0 Flash Lite", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "release_date": "2024-12-11", - "last_updated": "2026-03-15", - "modalities": { "input": ["audio", "image", "pdf", "text", "video"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.075, "output": 0.3 }, - "limit": { "context": 1048576, "output": 8192 } - }, - "google/gemini-3-flash-preview": { - "id": "google/gemini-3-flash-preview", - "name": "Google: Gemini 3 Flash Preview", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2025-12-17", - "last_updated": "2026-03-15", - "modalities": { "input": ["audio", "image", "pdf", "text", "video"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.5, "output": 3, "reasoning": 3, "cache_read": 0.05, "cache_write": 0.083333 }, - "limit": { "context": 1048576, "output": 65536 } - }, - "google/gemini-2.5-pro-preview": { - "id": "google/gemini-2.5-pro-preview", - "name": "Google: Gemini 2.5 Pro Preview 06-05", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2025-06-05", - "last_updated": "2026-03-15", - "modalities": { "input": ["audio", "image", "pdf", "text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.25, "output": 10, "reasoning": 10, "cache_read": 0.125, "cache_write": 0.375 }, - "limit": { "context": 1048576, "output": 65536 } - }, - "google/gemini-2.5-pro": { - "id": "google/gemini-2.5-pro", - "name": "Google: Gemini 2.5 Pro", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2025-03-20", - "last_updated": "2026-03-15", - "modalities": { "input": ["audio", "image", "pdf", "text", "video"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.25, "output": 10, "reasoning": 10, "cache_read": 0.125, "cache_write": 0.375 }, - "limit": { "context": 1048576, "output": 65536 } - }, - "google/gemini-2.5-flash": { - "id": "google/gemini-2.5-flash", - "name": "Google: Gemini 2.5 Flash", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2025-07-17", - "last_updated": "2026-03-15", - "modalities": { "input": ["audio", "image", "pdf", "text", "video"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.3, "output": 2.5, "reasoning": 2.5, "cache_read": 0.03, "cache_write": 0.083333 }, - "limit": { "context": 1048576, "output": 65535 } - }, - "google/gemini-3.1-pro-preview-customtools": { - "id": "google/gemini-3.1-pro-preview-customtools", - "name": "Google: Gemini 3.1 Pro Preview Custom Tools", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2026-02-26", - "last_updated": "2026-03-15", - "modalities": { "input": ["audio", "image", "pdf", "text", "video"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2, "output": 12, "reasoning": 12 }, - "limit": { "context": 1048576, "output": 65536 } - }, - "google/gemma-2-27b-it": { - "id": "google/gemma-2-27b-it", - "name": "Google: Gemma 2 27B", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "release_date": "2024-06-24", - "last_updated": "2024-06-24", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.65, "output": 0.65 }, - "limit": { "context": 8192, "output": 2048 } - }, - "google/gemini-3.1-flash-lite-preview": { - "id": "google/gemini-3.1-flash-lite-preview", - "name": "Google: Gemini 3.1 Flash Lite Preview", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2026-03-03", - "last_updated": "2026-03-15", - "modalities": { "input": ["audio", "image", "pdf", "text", "video"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.25, "output": 1.5, "reasoning": 1.5 }, - "limit": { "context": 1048576, "output": 65536 } - }, - "google/gemini-3.1-flash-image-preview": { - "id": "google/gemini-3.1-flash-image-preview", - "name": "Google: Nano Banana 2 (Gemini 3.1 Flash Image Preview)", - "attachment": true, - "reasoning": true, - "tool_call": false, - "temperature": true, - "release_date": "2026-02-26", - "last_updated": "2026-03-15", - "modalities": { "input": ["image", "text"], "output": ["image", "text"] }, - "open_weights": false, - "cost": { "input": 0.5, "output": 3 }, - "limit": { "context": 65536, "output": 65536 } - }, - "google/gemini-2.5-flash-image": { - "id": "google/gemini-2.5-flash-image", - "name": "Google: Nano Banana (Gemini 2.5 Flash Image)", - "attachment": true, - "reasoning": false, - "tool_call": false, - "temperature": true, - "release_date": "2025-10-08", - "last_updated": "2026-03-15", - "modalities": { "input": ["image", "text"], "output": ["image", "text"] }, - "open_weights": false, - "cost": { "input": 0.3, "output": 2.5 }, - "limit": { "context": 32768, "output": 32768 } - }, - "google/gemma-3-12b-it": { - "id": "google/gemma-3-12b-it", - "name": "Google: Gemma 3 12B", - "attachment": true, - "reasoning": false, - "tool_call": false, - "temperature": true, - "release_date": "2025-03-13", - "last_updated": "2026-03-15", - "modalities": { "input": ["image", "text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.04, "output": 0.13, "cache_read": 0.015 }, - "limit": { "context": 131072, "output": 131072 } - }, - "google/gemini-3-pro-image-preview": { - "id": "google/gemini-3-pro-image-preview", - "name": "Google: Nano Banana Pro (Gemini 3 Pro Image Preview)", - "attachment": true, - "reasoning": true, - "tool_call": false, - "temperature": true, - "release_date": "2025-11-20", - "last_updated": "2026-03-15", - "modalities": { "input": ["image", "text"], "output": ["image", "text"] }, - "open_weights": false, - "cost": { "input": 2, "output": 12, "reasoning": 12 }, - "limit": { "context": 65536, "output": 32768 } - }, - "undi95/remm-slerp-l2-13b": { - "id": "undi95/remm-slerp-l2-13b", - "name": "ReMM SLERP 13B", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "release_date": "2023-07-22", - "last_updated": "2026-03-15", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.45, "output": 0.65 }, - "limit": { "context": 6144, "output": 4096 } - }, - "amazon/nova-lite-v1": { - "id": "amazon/nova-lite-v1", - "name": "Amazon: Nova Lite 1.0", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "release_date": "2024-12-06", - "last_updated": "2026-03-15", - "modalities": { "input": ["image", "text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.06, "output": 0.24 }, - "limit": { "context": 300000, "output": 5120 } - }, - "amazon/nova-2-lite-v1": { - "id": "amazon/nova-2-lite-v1", - "name": "Amazon: Nova 2 Lite", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2024-12-01", - "last_updated": "2026-03-15", - "modalities": { "input": ["image", "pdf", "text", "video"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.3, "output": 2.5 }, - "limit": { "context": 1000000, "output": 65535 } - }, - "amazon/nova-micro-v1": { - "id": "amazon/nova-micro-v1", - "name": "Amazon: Nova Micro 1.0", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "release_date": "2024-12-06", - "last_updated": "2026-03-15", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.035, "output": 0.14 }, - "limit": { "context": 128000, "output": 5120 } - }, - "amazon/nova-pro-v1": { - "id": "amazon/nova-pro-v1", - "name": "Amazon: Nova Pro 1.0", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "release_date": "2024-12-03", - "last_updated": "2024-12-03", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.8, "output": 3.2 }, - "limit": { "context": 300000, "output": 5120 } - }, - "amazon/nova-premier-v1": { - "id": "amazon/nova-premier-v1", - "name": "Amazon: Nova Premier 1.0", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "release_date": "2025-11-01", - "last_updated": "2026-03-15", - "modalities": { "input": ["image", "text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2.5, "output": 12.5 }, - "limit": { "context": 1000000, "output": 32000 } - }, - "baidu/ernie-4.5-21b-a3b": { - "id": "baidu/ernie-4.5-21b-a3b", - "name": "Baidu: ERNIE 4.5 21B A3B", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "release_date": "2025-06-30", - "last_updated": "2025-06-30", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.07, "output": 0.28 }, - "limit": { "context": 120000, "output": 8000 } - }, - "baidu/ernie-4.5-300b-a47b": { - "id": "baidu/ernie-4.5-300b-a47b", - "name": "Baidu: ERNIE 4.5 300B A47B ", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "release_date": "2025-06-30", - "last_updated": "2026-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.28, "output": 1.1 }, - "limit": { "context": 123000, "output": 12000 } - }, - "baidu/ernie-4.5-21b-a3b-thinking": { - "id": "baidu/ernie-4.5-21b-a3b-thinking", - "name": "Baidu: ERNIE 4.5 21B A3B Thinking", - "attachment": false, - "reasoning": true, - "tool_call": false, - "temperature": true, - "release_date": "2025-09-19", - "last_updated": "2025-09-19", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.07, "output": 0.28 }, - "limit": { "context": 131072, "output": 65536 } - }, - "baidu/ernie-4.5-vl-28b-a3b": { - "id": "baidu/ernie-4.5-vl-28b-a3b", - "name": "Baidu: ERNIE 4.5 VL 28B A3B", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2025-06-30", - "last_updated": "2025-06-30", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.14, "output": 0.56 }, - "limit": { "context": 30000, "output": 8000 } - }, - "baidu/ernie-4.5-vl-424b-a47b": { - "id": "baidu/ernie-4.5-vl-424b-a47b", - "name": "Baidu: ERNIE 4.5 VL 424B A47B ", - "attachment": true, - "reasoning": true, - "tool_call": false, - "temperature": true, - "release_date": "2025-06-30", - "last_updated": "2026-01", - "modalities": { "input": ["image", "text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.42, "output": 1.25 }, - "limit": { "context": 123000, "output": 16000 } - }, - "ibm-granite/granite-4.0-h-micro": { - "id": "ibm-granite/granite-4.0-h-micro", - "name": "IBM: Granite 4.0 Micro", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "release_date": "2025-10-20", - "last_updated": "2026-03-15", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.017, "output": 0.11 }, - "limit": { "context": 131000, "output": 32768 } - }, - "kilo/auto": { - "id": "kilo/auto", - "name": "Kilo: Auto", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2024-06-01", - "last_updated": "2026-03-15", - "modalities": { "input": ["image", "text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 5, "output": 25 }, - "limit": { "context": 1000000, "output": 128000 } - }, - "kilo/auto-free": { - "id": "kilo/auto-free", - "name": "Deprecated Kilo Auto Free", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2026-03-15", - "last_updated": "2026-03-15", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 204800, "output": 131072 } - }, - "kilo/auto-small": { - "id": "kilo/auto-small", - "name": "Deprecated Kilo Auto Small", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2026-03-15", - "last_updated": "2026-03-15", - "modalities": { "input": ["image", "text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.05, "output": 0.4 }, - "limit": { "context": 400000, "output": 128000 } - }, - "meta-llama/llama-3.3-70b-instruct": { - "id": "meta-llama/llama-3.3-70b-instruct", - "name": "Meta: Llama 3.3 70B Instruct", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "release_date": "2024-08-01", - "last_updated": "2026-02-04", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.1, "output": 0.32 }, - "limit": { "context": 131072, "output": 16384 } - }, - "meta-llama/llama-3.2-1b-instruct": { - "id": "meta-llama/llama-3.2-1b-instruct", - "name": "Meta: Llama 3.2 1B Instruct", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "release_date": "2024-09-18", - "last_updated": "2026-01-27", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.027, "output": 0.2 }, - "limit": { "context": 60000, "output": 12000 } - }, - "meta-llama/llama-guard-4-12b": { - "id": "meta-llama/llama-guard-4-12b", - "name": "Meta: Llama Guard 4 12B", - "attachment": true, - "reasoning": false, - "tool_call": false, - "temperature": true, - "release_date": "2025-04-05", - "last_updated": "2025-04-05", - "modalities": { "input": ["image", "text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.18, "output": 0.18 }, - "limit": { "context": 163840, "output": 32768 } - }, - "meta-llama/llama-3.1-405b-instruct": { - "id": "meta-llama/llama-3.1-405b-instruct", - "name": "Meta: Llama 3.1 405B Instruct", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "release_date": "2024-07-16", - "last_updated": "2026-03-15", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 4, "output": 4 }, - "limit": { "context": 131000, "output": 26200 } - }, - "meta-llama/llama-3.1-8b-instruct": { - "id": "meta-llama/llama-3.1-8b-instruct", - "name": "Meta: Llama 3.1 8B Instruct", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "release_date": "2024-07-23", - "last_updated": "2025-12-23", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.02, "output": 0.05 }, - "limit": { "context": 16384, "output": 16384 } - }, - "meta-llama/llama-3.2-11b-vision-instruct": { - "id": "meta-llama/llama-3.2-11b-vision-instruct", - "name": "Meta: Llama 3.2 11B Vision Instruct", - "attachment": true, - "reasoning": false, - "tool_call": false, - "temperature": true, - "release_date": "2024-09-25", - "last_updated": "2024-09-25", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.049, "output": 0.049 }, - "limit": { "context": 131072, "output": 16384 } - }, - "meta-llama/llama-4-scout": { - "id": "meta-llama/llama-4-scout", - "name": "Meta: Llama 4 Scout", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "release_date": "2025-04-05", - "last_updated": "2025-04-05", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.08, "output": 0.3 }, - "limit": { "context": 327680, "output": 16384 } - }, - "meta-llama/llama-3-8b-instruct": { - "id": "meta-llama/llama-3-8b-instruct", - "name": "Meta: Llama 3 8B Instruct", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "release_date": "2024-04-25", - "last_updated": "2025-04-03", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.03, "output": 0.04 }, - "limit": { "context": 8192, "output": 16384 } - }, - "meta-llama/llama-3-70b-instruct": { - "id": "meta-llama/llama-3-70b-instruct", - "name": "Meta: Llama 3 70B Instruct", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "release_date": "2024-07-23", - "last_updated": "2024-07-23", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.51, "output": 0.74 }, - "limit": { "context": 8192, "output": 8000 } - }, - "meta-llama/llama-4-maverick": { - "id": "meta-llama/llama-4-maverick", - "name": "Meta: Llama 4 Maverick", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "release_date": "2025-04-05", - "last_updated": "2025-12-24", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.15, "output": 0.6 }, - "limit": { "context": 1048576, "output": 16384 } - }, - "meta-llama/llama-guard-3-8b": { - "id": "meta-llama/llama-guard-3-8b", - "name": "Llama Guard 3 8B", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "release_date": "2024-04-18", - "last_updated": "2026-02-04", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.02, "output": 0.06 }, - "limit": { "context": 131072, "output": 26215 } - }, - "meta-llama/llama-3.2-3b-instruct": { - "id": "meta-llama/llama-3.2-3b-instruct", - "name": "Meta: Llama 3.2 3B Instruct", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "release_date": "2024-09-18", - "last_updated": "2026-03-15", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.051, "output": 0.34 }, - "limit": { "context": 80000, "output": 16384 } - }, - "meta-llama/llama-3.1-70b-instruct": { - "id": "meta-llama/llama-3.1-70b-instruct", - "name": "Meta: Llama 3.1 70B Instruct", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "release_date": "2024-07-16", - "last_updated": "2024-07-23", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.4, "output": 0.4 }, - "limit": { "context": 131072, "output": 26215 } - }, - "meta-llama/llama-3.1-405b": { - "id": "meta-llama/llama-3.1-405b", - "name": "Meta: Llama 3.1 405B (base)", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "release_date": "2024-08-02", - "last_updated": "2026-03-15", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 4, "output": 4 }, - "limit": { "context": 32768, "output": 32768 } - }, - "openrouter/hunter-alpha": { - "id": "openrouter/hunter-alpha", - "name": "Hunter Alpha", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2026-03-12", - "last_updated": "2026-03-15", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 1048576, "output": 32000 } - }, - "openrouter/free": { - "id": "openrouter/free", - "name": "Free Models Router", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2026-02-01", - "last_updated": "2026-03-15", - "modalities": { "input": ["image", "text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 200000, "output": 32768 } - }, - "openrouter/bodybuilder": { - "id": "openrouter/bodybuilder", - "name": "Body Builder (beta)", - "attachment": false, - "reasoning": false, - "tool_call": false, - "release_date": "2026-03-15", - "last_updated": "2026-03-15", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 128000, "output": 32768 }, - "status": "beta" - }, - "openrouter/auto": { - "id": "openrouter/auto", - "name": "Auto Router", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2026-03-15", - "last_updated": "2026-03-15", - "modalities": { "input": ["audio", "image", "pdf", "text", "video"], "output": ["image", "text"] }, - "open_weights": false, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 2000000, "output": 32768 } - }, - "openrouter/healer-alpha": { - "id": "openrouter/healer-alpha", - "name": "Healer Alpha", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2026-03-12", - "last_updated": "2026-03-15", - "modalities": { "input": ["audio", "image", "text", "video"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 262144, "output": 32000 } - }, - "perplexity/sonar-deep-research": { - "id": "perplexity/sonar-deep-research", - "name": "Perplexity: Sonar Deep Research", - "attachment": false, - "reasoning": true, - "tool_call": false, - "temperature": true, - "release_date": "2025-01-27", - "last_updated": "2025-01-27", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2, "output": 8 }, - "limit": { "context": 128000, "output": 25600 } - }, - "perplexity/sonar": { - "id": "perplexity/sonar", - "name": "Perplexity: Sonar", - "attachment": true, - "reasoning": false, - "tool_call": false, - "temperature": true, - "release_date": "2024-01-01", - "last_updated": "2025-09-01", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1, "output": 1 }, - "limit": { "context": 127072, "output": 25415 } - }, - "perplexity/sonar-reasoning-pro": { - "id": "perplexity/sonar-reasoning-pro", - "name": "Perplexity: Sonar Reasoning Pro", - "attachment": true, - "reasoning": true, - "tool_call": false, - "temperature": true, - "release_date": "2024-01-01", - "last_updated": "2025-09-01", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2, "output": 8 }, - "limit": { "context": 128000, "output": 25600 } - }, - "perplexity/sonar-pro": { - "id": "perplexity/sonar-pro", - "name": "Perplexity: Sonar Pro", - "attachment": true, - "reasoning": false, - "tool_call": false, - "temperature": true, - "release_date": "2024-01-01", - "last_updated": "2025-09-01", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 3, "output": 15 }, - "limit": { "context": 200000, "output": 8000 } - }, - "perplexity/sonar-pro-search": { - "id": "perplexity/sonar-pro-search", - "name": "Perplexity: Sonar Pro Search", - "attachment": true, - "reasoning": true, - "tool_call": false, - "temperature": true, - "release_date": "2025-10-31", - "last_updated": "2026-03-15", - "modalities": { "input": ["image", "text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 3, "output": 15 }, - "limit": { "context": 200000, "output": 8000 } - }, - "essentialai/rnj-1-instruct": { - "id": "essentialai/rnj-1-instruct", - "name": "EssentialAI: Rnj 1 Instruct", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "release_date": "2025-12-05", - "last_updated": "2026-03-15", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.15, "output": 0.15 }, - "limit": { "context": 32768, "output": 6554 } - }, - "arcee-ai/coder-large": { - "id": "arcee-ai/coder-large", - "name": "Arcee AI: Coder Large", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "release_date": "2025-05-06", - "last_updated": "2026-03-15", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.5, "output": 0.8 }, - "limit": { "context": 32768, "output": 32768 } - }, - "arcee-ai/trinity-large-preview:free": { - "id": "arcee-ai/trinity-large-preview:free", - "name": "Arcee AI: Trinity Large Preview (free)", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "release_date": "2026-01-28", - "last_updated": "2026-01-28", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 131000, "output": 26200 } - }, - "arcee-ai/virtuoso-large": { - "id": "arcee-ai/virtuoso-large", - "name": "Arcee AI: Virtuoso Large", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "release_date": "2025-05-06", - "last_updated": "2026-03-15", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.75, "output": 1.2 }, - "limit": { "context": 131072, "output": 64000 } - }, - "arcee-ai/trinity-mini": { - "id": "arcee-ai/trinity-mini", - "name": "Arcee AI: Trinity Mini", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2025-12", - "last_updated": "2026-01-28", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.045, "output": 0.15 }, - "limit": { "context": 131072, "output": 131072 } - }, - "arcee-ai/spotlight": { - "id": "arcee-ai/spotlight", - "name": "Arcee AI: Spotlight", - "attachment": true, - "reasoning": false, - "tool_call": false, - "temperature": true, - "release_date": "2025-05-06", - "last_updated": "2026-03-15", - "modalities": { "input": ["image", "text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.18, "output": 0.18 }, - "limit": { "context": 131072, "output": 65537 } - }, - "arcee-ai/maestro-reasoning": { - "id": "arcee-ai/maestro-reasoning", - "name": "Arcee AI: Maestro Reasoning", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "release_date": "2025-05-06", - "last_updated": "2026-03-15", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.9, "output": 3.3 }, - "limit": { "context": 131072, "output": 32000 } - }, - "bytedance/ui-tars-1.5-7b": { - "id": "bytedance/ui-tars-1.5-7b", - "name": "ByteDance: UI-TARS 7B ", - "attachment": true, - "reasoning": false, - "tool_call": false, - "temperature": true, - "release_date": "2025-07-23", - "last_updated": "2026-03-15", - "modalities": { "input": ["image", "text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.1, "output": 0.2 }, - "limit": { "context": 128000, "output": 2048 } - }, - "kilo-auto/free": { - "id": "kilo-auto/free", - "name": "Kilo Auto Free", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2026-03-15", - "last_updated": "2026-03-15", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 204800, "output": 131072 } - }, - "kilo-auto/balanced": { - "id": "kilo-auto/balanced", - "name": "Kilo Auto Balanced", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2026-03-15", - "last_updated": "2026-03-15", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.6, "output": 3 }, - "limit": { "context": 204800, "output": 131072 } - }, - "kilo-auto/small": { - "id": "kilo-auto/small", - "name": "Kilo Auto Small", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2026-03-15", - "last_updated": "2026-03-15", - "modalities": { "input": ["image", "text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.05, "output": 0.4 }, - "limit": { "context": 400000, "output": 128000 } - }, - "kilo-auto/frontier": { - "id": "kilo-auto/frontier", - "name": "Kilo Auto Frontier", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2026-03-15", - "last_updated": "2026-03-15", - "modalities": { "input": ["image", "text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 5, "output": 25 }, - "limit": { "context": 1000000, "output": 128000 } - }, - "nousresearch/hermes-2-pro-llama-3-8b": { - "id": "nousresearch/hermes-2-pro-llama-3-8b", - "name": "NousResearch: Hermes 2 Pro - Llama-3 8B", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "release_date": "2024-05-27", - "last_updated": "2024-06-27", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.14, "output": 0.14 }, - "limit": { "context": 8192, "output": 8192 } - }, - "nousresearch/hermes-4-70b": { - "id": "nousresearch/hermes-4-70b", - "name": "Nous: Hermes 4 70B", - "attachment": false, - "reasoning": true, - "tool_call": false, - "temperature": true, - "release_date": "2025-08-25", - "last_updated": "2026-03-15", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.13, "output": 0.4, "cache_read": 0.055 }, - "limit": { "context": 131072, "output": 131072 } - }, - "nousresearch/hermes-3-llama-3.1-70b": { - "id": "nousresearch/hermes-3-llama-3.1-70b", - "name": "Nous: Hermes 3 70B Instruct", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "release_date": "2024-08-18", - "last_updated": "2026-03-15", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.3, "output": 0.3 }, - "limit": { "context": 131072, "output": 32768 } - }, - "nousresearch/hermes-4-405b": { - "id": "nousresearch/hermes-4-405b", - "name": "Nous: Hermes 4 405B", - "attachment": false, - "reasoning": true, - "tool_call": false, - "temperature": true, - "release_date": "2025-08-25", - "last_updated": "2025-08-25", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 1, "output": 3 }, - "limit": { "context": 131072, "output": 26215 } - }, - "nousresearch/hermes-3-llama-3.1-405b": { - "id": "nousresearch/hermes-3-llama-3.1-405b", - "name": "Nous: Hermes 3 405B Instruct", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "release_date": "2024-08-16", - "last_updated": "2024-08-16", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 1, "output": 1 }, - "limit": { "context": 131072, "output": 16384 } - }, - "minimax/minimax-m2-her": { - "id": "minimax/minimax-m2-her", - "name": "MiniMax: MiniMax M2-her", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "release_date": "2026-01-23", - "last_updated": "2026-03-15", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.3, "output": 1.2 }, - "limit": { "context": 65536, "output": 2048 } - }, - "minimax/minimax-01": { - "id": "minimax/minimax-01", - "name": "MiniMax: MiniMax-01", - "attachment": true, - "reasoning": false, - "tool_call": false, - "temperature": true, - "release_date": "2025-01-15", - "last_updated": "2025-01-15", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.2, "output": 1.1 }, - "limit": { "context": 1000192, "output": 1000192 } - }, - "minimax/minimax-m2": { - "id": "minimax/minimax-m2", - "name": "MiniMax: MiniMax M2", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2025-10-23", - "last_updated": "2026-03-15", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.255, "output": 1, "cache_read": 0.03 }, - "limit": { "context": 196608, "output": 196608 } - }, - "minimax/minimax-m2.1": { - "id": "minimax/minimax-m2.1", - "name": "MiniMax: MiniMax M2.1", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2025-12-23", - "last_updated": "2025-12-23", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.27, "output": 0.95, "cache_read": 0.03 }, - "limit": { "context": 196608, "output": 39322 } - }, - "minimax/minimax-m2.5": { - "id": "minimax/minimax-m2.5", - "name": "MiniMax: MiniMax M2.5", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2026-02-12", - "last_updated": "2026-03-15", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.25, "output": 1.2, "cache_read": 0.029 }, - "limit": { "context": 196608, "output": 196608 } - }, - "minimax/minimax-m1": { - "id": "minimax/minimax-m1", - "name": "MiniMax: MiniMax M1", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2025-06-17", - "last_updated": "2025-06-17", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.4, "output": 2.2 }, - "limit": { "context": 1000000, "output": 40000 } - }, - "minimax/minimax-m2.5:free": { - "id": "minimax/minimax-m2.5:free", - "name": "MiniMax: MiniMax M2.5 (free)", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2026-02-12", - "last_updated": "2026-02-12", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0, "cache_read": 0 }, - "limit": { "context": 204800, "output": 131072 } - }, - "qwen/qwen3-coder-30b-a3b-instruct": { - "id": "qwen/qwen3-coder-30b-a3b-instruct", - "name": "Qwen: Qwen3 Coder 30B A3B Instruct", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "release_date": "2025-07-31", - "last_updated": "2025-07-31", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.07, "output": 0.27 }, - "limit": { "context": 160000, "output": 32768 } - }, - "qwen/qwen3-8b": { - "id": "qwen/qwen3-8b", - "name": "Qwen: Qwen3 8B", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2025-04", - "last_updated": "2026-03-15", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.05, "output": 0.4, "cache_read": 0.05 }, - "limit": { "context": 40960, "output": 8192 } - }, - "qwen/qwen3.5-9b": { - "id": "qwen/qwen3.5-9b", - "name": "Qwen: Qwen3.5-9B", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2026-03-10", - "last_updated": "2026-03-15", - "modalities": { "input": ["image", "text", "video"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.05, "output": 0.15 }, - "limit": { "context": 256000, "output": 32768 } - }, - "qwen/qwen-turbo": { - "id": "qwen/qwen-turbo", - "name": "Qwen: Qwen-Turbo", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "release_date": "2024-11-01", - "last_updated": "2026-03-15", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.0325, "output": 0.13, "cache_read": 0.01 }, - "limit": { "context": 131072, "output": 8192 } - }, - "qwen/qwen-vl-max": { - "id": "qwen/qwen-vl-max", - "name": "Qwen: Qwen VL Max", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "release_date": "2024-04-08", - "last_updated": "2025-08-13", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.8, "output": 3.2 }, - "limit": { "context": 131072, "output": 32768 } - }, - "qwen/qwen3-vl-235b-a22b-instruct": { - "id": "qwen/qwen3-vl-235b-a22b-instruct", - "name": "Qwen: Qwen3 VL 235B A22B Instruct", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "release_date": "2025-09-23", - "last_updated": "2026-01-10", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.2, "output": 0.88, "cache_read": 0.11 }, - "limit": { "context": 262144, "output": 52429 } - }, - "qwen/qwq-32b": { - "id": "qwen/qwq-32b", - "name": "Qwen: QwQ 32B", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2024-11-28", - "last_updated": "2025-04-11", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.15, "output": 0.4 }, - "limit": { "context": 32768, "output": 32768 } - }, - "qwen/qwen3-coder-next": { - "id": "qwen/qwen3-coder-next", - "name": "Qwen: Qwen3 Coder Next", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "release_date": "2026-02-02", - "last_updated": "2026-03-15", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.12, "output": 0.75, "cache_read": 0.035 }, - "limit": { "context": 262144, "output": 65536 } - }, - "qwen/qwen-vl-plus": { - "id": "qwen/qwen-vl-plus", - "name": "Qwen: Qwen VL Plus", - "attachment": true, - "reasoning": false, - "tool_call": false, - "temperature": true, - "release_date": "2024-01-25", - "last_updated": "2026-03-15", - "modalities": { "input": ["image", "text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.1365, "output": 0.4095, "cache_read": 0.042 }, - "limit": { "context": 131072, "output": 8192 } - }, - "qwen/qwen-max": { - "id": "qwen/qwen-max", - "name": "Qwen: Qwen-Max ", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "release_date": "2024-04-03", - "last_updated": "2026-03-15", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.04, "output": 4.16, "cache_read": 0.32 }, - "limit": { "context": 32768, "output": 8192 } - }, - "qwen/qwen3.5-flash-02-23": { - "id": "qwen/qwen3.5-flash-02-23", - "name": "Qwen: Qwen3.5-Flash", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2026-02-26", - "last_updated": "2026-03-15", - "modalities": { "input": ["image", "text", "video"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.1, "output": 0.4 }, - "limit": { "context": 1000000, "output": 65536 } - }, - "qwen/qwen3-vl-32b-instruct": { - "id": "qwen/qwen3-vl-32b-instruct", - "name": "Qwen: Qwen3 VL 32B Instruct", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "release_date": "2025-10-21", - "last_updated": "2025-11-25", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.104, "output": 0.416 }, - "limit": { "context": 131072, "output": 32768 } - }, - "qwen/qwen2.5-coder-7b-instruct": { - "id": "qwen/qwen2.5-coder-7b-instruct", - "name": "Qwen: Qwen2.5 Coder 7B Instruct", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "release_date": "2024-09-17", - "last_updated": "2024-11", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.03, "output": 0.09 }, - "limit": { "context": 32768, "output": 6554 } - }, - "qwen/qwen3-14b": { - "id": "qwen/qwen3-14b", - "name": "Qwen: Qwen3 14B", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2025-04", - "last_updated": "2026-03-15", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.06, "output": 0.24, "cache_read": 0.025 }, - "limit": { "context": 40960, "output": 40960 } - }, - "qwen/qwen3-30b-a3b-thinking-2507": { - "id": "qwen/qwen3-30b-a3b-thinking-2507", - "name": "Qwen: Qwen3 30B A3B Thinking 2507", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2025-07-29", - "last_updated": "2025-07-29", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.051, "output": 0.34 }, - "limit": { "context": 32768, "output": 6554 } - }, - "qwen/qwen3.5-plus-02-15": { - "id": "qwen/qwen3.5-plus-02-15", - "name": "Qwen: Qwen3.5 Plus 2026-02-15", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2026-02-15", - "last_updated": "2026-03-15", - "modalities": { "input": ["image", "text", "video"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.26, "output": 1.56 }, - "limit": { "context": 1000000, "output": 65536 } - }, - "qwen/qwen3.5-35b-a3b": { - "id": "qwen/qwen3.5-35b-a3b", - "name": "Qwen: Qwen3.5-35B-A3B", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2026-02-26", - "last_updated": "2026-03-15", - "modalities": { "input": ["image", "text", "video"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.1625, "output": 1.3 }, - "limit": { "context": 262144, "output": 65536 } - }, - "qwen/qwen3.5-122b-a10b": { - "id": "qwen/qwen3.5-122b-a10b", - "name": "Qwen: Qwen3.5-122B-A10B", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2026-02-26", - "last_updated": "2026-03-15", - "modalities": { "input": ["image", "text", "video"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.26, "output": 2.08 }, - "limit": { "context": 262144, "output": 65536 } - }, - "qwen/qwen3-30b-a3b": { - "id": "qwen/qwen3-30b-a3b", - "name": "Qwen: Qwen3 30B A3B", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2025-04", - "last_updated": "2026-03-15", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.08, "output": 0.28, "cache_read": 0.03 }, - "limit": { "context": 40960, "output": 40960 } - }, - "qwen/qwen-plus": { - "id": "qwen/qwen-plus", - "name": "Qwen: Qwen-Plus", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "release_date": "2024-01-25", - "last_updated": "2025-09-11", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.4, "output": 1.2, "cache_read": 0.08 }, - "limit": { "context": 1000000, "output": 32768 } - }, - "qwen/qwen3-vl-8b-thinking": { - "id": "qwen/qwen3-vl-8b-thinking", - "name": "Qwen: Qwen3 VL 8B Thinking", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2025-10-15", - "last_updated": "2025-11-25", - "modalities": { "input": ["image", "text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.117, "output": 1.365 }, - "limit": { "context": 131072, "output": 32768 } - }, - "qwen/qwen3-coder": { - "id": "qwen/qwen3-coder", - "name": "Qwen: Qwen3 Coder 480B A35B", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "release_date": "2025-07-23", - "last_updated": "2025-07-23", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.22, "output": 1, "cache_read": 0.022 }, - "limit": { "context": 262144, "output": 52429 } - }, - "qwen/qwen3.5-27b": { - "id": "qwen/qwen3.5-27b", - "name": "Qwen: Qwen3.5-27B", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2026-02-26", - "last_updated": "2026-03-15", - "modalities": { "input": ["image", "text", "video"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.195, "output": 1.56 }, - "limit": { "context": 262144, "output": 65536 } - }, - "qwen/qwen2.5-vl-32b-instruct": { - "id": "qwen/qwen2.5-vl-32b-instruct", - "name": "Qwen: Qwen2.5 VL 32B Instruct", - "attachment": true, - "reasoning": false, - "tool_call": false, - "temperature": true, - "release_date": "2025-03-24", - "last_updated": "2026-03-15", - "modalities": { "input": ["image", "text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.2, "output": 0.6, "cache_read": 0.025 }, - "limit": { "context": 128000, "output": 16384 } - }, - "qwen/qwen-2.5-7b-instruct": { - "id": "qwen/qwen-2.5-7b-instruct", - "name": "Qwen: Qwen2.5 7B Instruct", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "release_date": "2024-09", - "last_updated": "2025-04-16", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.04, "output": 0.1 }, - "limit": { "context": 32768, "output": 6554 } - }, - "qwen/qwen-plus-2025-07-28:thinking": { - "id": "qwen/qwen-plus-2025-07-28:thinking", - "name": "Qwen: Qwen Plus 0728 (thinking)", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2025-09-09", - "last_updated": "2026-03-15", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.26, "output": 0.78 }, - "limit": { "context": 1000000, "output": 32768 } - }, - "qwen/qwen2.5-vl-72b-instruct": { - "id": "qwen/qwen2.5-vl-72b-instruct", - "name": "Qwen: Qwen2.5 VL 72B Instruct", - "attachment": true, - "reasoning": false, - "tool_call": false, - "temperature": true, - "release_date": "2025-02-01", - "last_updated": "2026-03-15", - "modalities": { "input": ["image", "text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.8, "output": 0.8, "cache_read": 0.075 }, - "limit": { "context": 32768, "output": 32768 } - }, - "qwen/qwen3-235b-a22b-2507": { - "id": "qwen/qwen3-235b-a22b-2507", - "name": "Qwen: Qwen3 235B A22B Instruct 2507", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2025-04", - "last_updated": "2026-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.071, "output": 0.1 }, - "limit": { "context": 262144, "output": 52429 } - }, - "qwen/qwen3-vl-8b-instruct": { - "id": "qwen/qwen3-vl-8b-instruct", - "name": "Qwen: Qwen3 VL 8B Instruct", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "release_date": "2025-10-15", - "last_updated": "2025-11-25", - "modalities": { "input": ["image", "text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.08, "output": 0.5 }, - "limit": { "context": 131072, "output": 32768 } - }, - "qwen/qwen3-next-80b-a3b-thinking": { - "id": "qwen/qwen3-next-80b-a3b-thinking", - "name": "Qwen: Qwen3 Next 80B A3B Thinking", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2025-09-11", - "last_updated": "2026-03-15", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.0975, "output": 0.78 }, - "limit": { "context": 131072, "output": 32768 } - }, - "qwen/qwen3-vl-30b-a3b-instruct": { - "id": "qwen/qwen3-vl-30b-a3b-instruct", - "name": "Qwen: Qwen3 VL 30B A3B Instruct", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "release_date": "2025-10-05", - "last_updated": "2025-11-25", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.13, "output": 0.52 }, - "limit": { "context": 131072, "output": 32768 } - }, - "qwen/qwen3-235b-a22b-thinking-2507": { - "id": "qwen/qwen3-235b-a22b-thinking-2507", - "name": "Qwen: Qwen3 235B A22B Thinking 2507", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2025-07-25", - "last_updated": "2026-03-15", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.11, "output": 0.6 }, - "limit": { "context": 262144, "output": 262144 } - }, - "qwen/qwen3-max-thinking": { - "id": "qwen/qwen3-max-thinking", - "name": "Qwen: Qwen3 Max Thinking", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2026-01-23", - "last_updated": "2026-03-15", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.78, "output": 3.9 }, - "limit": { "context": 262144, "output": 32768 } - }, - "qwen/qwen3-next-80b-a3b-instruct": { - "id": "qwen/qwen3-next-80b-a3b-instruct", - "name": "Qwen: Qwen3 Next 80B A3B Instruct", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "release_date": "2025-09-11", - "last_updated": "2026-03-15", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.09, "output": 1.1 }, - "limit": { "context": 131072, "output": 52429 } - }, - "qwen/qwen3-235b-a22b": { - "id": "qwen/qwen3-235b-a22b", - "name": "Qwen: Qwen3 235B A22B", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2024-12-01", - "last_updated": "2026-03-15", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.455, "output": 1.82, "cache_read": 0.15 }, - "limit": { "context": 131072, "output": 8192 } - }, - "qwen/qwen3-vl-30b-a3b-thinking": { - "id": "qwen/qwen3-vl-30b-a3b-thinking", - "name": "Qwen: Qwen3 VL 30B A3B Thinking", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2025-10-11", - "last_updated": "2026-03-15", - "modalities": { "input": ["image", "text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.13, "output": 1.56 }, - "limit": { "context": 131072, "output": 32768 } - }, - "qwen/qwen-plus-2025-07-28": { - "id": "qwen/qwen-plus-2025-07-28", - "name": "Qwen: Qwen Plus 0728", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "release_date": "2025-09-09", - "last_updated": "2026-03-15", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.26, "output": 0.78 }, - "limit": { "context": 1000000, "output": 32768 } - }, - "qwen/qwen3.5-397b-a17b": { - "id": "qwen/qwen3.5-397b-a17b", - "name": "Qwen: Qwen3.5 397B A17B", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2026-02-15", - "last_updated": "2026-03-15", - "modalities": { "input": ["image", "text", "video"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.39, "output": 2.34 }, - "limit": { "context": 262144, "output": 65536 } - }, - "qwen/qwen3-coder-plus": { - "id": "qwen/qwen3-coder-plus", - "name": "Qwen: Qwen3 Coder Plus", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "release_date": "2025-07-01", - "last_updated": "2026-03-15", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.65, "output": 3.25, "cache_read": 0.2 }, - "limit": { "context": 1000000, "output": 65536 } - }, - "qwen/qwen3-max": { - "id": "qwen/qwen3-max", - "name": "Qwen: Qwen3 Max", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "release_date": "2025-09-05", - "last_updated": "2026-03-15", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.2, "output": 6, "cache_read": 0.24 }, - "limit": { "context": 262144, "output": 32768 } - }, - "qwen/qwen3-32b": { - "id": "qwen/qwen3-32b", - "name": "Qwen: Qwen3 32B", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2024-12-01", - "last_updated": "2026-02-04", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.08, "output": 0.24, "cache_read": 0.04 }, - "limit": { "context": 40960, "output": 40960 } - }, - "qwen/qwen3-vl-235b-a22b-thinking": { - "id": "qwen/qwen3-vl-235b-a22b-thinking", - "name": "Qwen: Qwen3 VL 235B A22B Thinking", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2025-09-24", - "last_updated": "2026-03-15", - "modalities": { "input": ["image", "text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.26, "output": 2.6 }, - "limit": { "context": 131072, "output": 32768 } - }, - "qwen/qwen-2.5-72b-instruct": { - "id": "qwen/qwen-2.5-72b-instruct", - "name": "Qwen2.5 72B Instruct", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "release_date": "2024-09", - "last_updated": "2026-01-10", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.12, "output": 0.39 }, - "limit": { "context": 32768, "output": 16384 } - }, - "qwen/qwen3-coder-flash": { - "id": "qwen/qwen3-coder-flash", - "name": "Qwen: Qwen3 Coder Flash", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "release_date": "2025-07-23", - "last_updated": "2026-03-15", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.195, "output": 0.975, "cache_read": 0.06 }, - "limit": { "context": 1000000, "output": 65536 } - }, - "qwen/qwen-2.5-vl-7b-instruct": { - "id": "qwen/qwen-2.5-vl-7b-instruct", - "name": "Qwen: Qwen2.5-VL 7B Instruct", - "attachment": true, - "reasoning": false, - "tool_call": false, - "temperature": true, - "release_date": "2024-08-28", - "last_updated": "2024-09", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.2, "output": 0.2 }, - "limit": { "context": 32768, "output": 6554 } - }, - "qwen/qwen-2.5-coder-32b-instruct": { - "id": "qwen/qwen-2.5-coder-32b-instruct", - "name": "Qwen2.5 Coder 32B Instruct", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "release_date": "2024-11-11", - "last_updated": "2026-03-15", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.2, "output": 0.2, "cache_read": 0.015 }, - "limit": { "context": 32768, "output": 8192 } - }, - "qwen/qwen3-30b-a3b-instruct-2507": { - "id": "qwen/qwen3-30b-a3b-instruct-2507", - "name": "Qwen: Qwen3 30B A3B Instruct 2507", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "release_date": "2025-07-29", - "last_updated": "2026-03-15", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.09, "output": 0.3, "cache_read": 0.04 }, - "limit": { "context": 262144, "output": 262144 } - }, - "xiaomi/mimo-v2-flash": { - "id": "xiaomi/mimo-v2-flash", - "name": "Xiaomi: MiMo-V2-Flash", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2025-12-14", - "last_updated": "2026-03-15", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.09, "output": 0.29, "cache_read": 0.045 }, - "limit": { "context": 262144, "output": 65536 } - }, - "stepfun/step-3.5-flash": { - "id": "stepfun/step-3.5-flash", - "name": "StepFun: Step 3.5 Flash", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2026-01-29", - "last_updated": "2026-01-29", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.1, "output": 0.3, "cache_read": 0.02 }, - "limit": { "context": 256000, "output": 256000 } - }, - "stepfun/step-3.5-flash:free": { - "id": "stepfun/step-3.5-flash:free", - "name": "StepFun: Step 3.5 Flash (free)", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2026-01-29", - "last_updated": "2026-01-29", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 256000, "output": 256000 } - }, - "alfredpros/codellama-7b-instruct-solidity": { - "id": "alfredpros/codellama-7b-instruct-solidity", - "name": "AlfredPros: CodeLLaMa 7B Instruct Solidity", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "release_date": "2025-04-14", - "last_updated": "2026-03-15", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.8, "output": 1.2 }, - "limit": { "context": 4096, "output": 4096 } - }, - "ai21/jamba-large-1.7": { - "id": "ai21/jamba-large-1.7", - "name": "AI21: Jamba Large 1.7", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "release_date": "2025-08-09", - "last_updated": "2026-03-15", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2, "output": 8 }, - "limit": { "context": 256000, "output": 4096 } - }, - "liquid/lfm-2.2-6b": { - "id": "liquid/lfm-2.2-6b", - "name": "LiquidAI: LFM2-2.6B", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "release_date": "2025-10-20", - "last_updated": "2026-03-15", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.01, "output": 0.02 }, - "limit": { "context": 32768, "output": 32768 } - }, - "liquid/lfm2-8b-a1b": { - "id": "liquid/lfm2-8b-a1b", - "name": "LiquidAI: LFM2-8B-A1B", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "release_date": "2025-10-20", - "last_updated": "2026-03-15", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.01, "output": 0.02 }, - "limit": { "context": 32768, "output": 32768 } - }, - "liquid/lfm-2-24b-a2b": { - "id": "liquid/lfm-2-24b-a2b", - "name": "LiquidAI: LFM2-24B-A2B", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "release_date": "2026-02-26", - "last_updated": "2026-03-15", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.03, "output": 0.12 }, - "limit": { "context": 32768, "output": 32768 } - }, - "aion-labs/aion-2.0": { - "id": "aion-labs/aion-2.0", - "name": "AionLabs: Aion-2.0", - "attachment": false, - "reasoning": true, - "tool_call": false, - "temperature": true, - "release_date": "2026-02-24", - "last_updated": "2026-03-15", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.8, "output": 1.6 }, - "limit": { "context": 131072, "output": 32768 } - }, - "aion-labs/aion-rp-llama-3.1-8b": { - "id": "aion-labs/aion-rp-llama-3.1-8b", - "name": "AionLabs: Aion-RP 1.0 (8B)", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "release_date": "2025-02-05", - "last_updated": "2026-03-15", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.8, "output": 1.6 }, - "limit": { "context": 32768, "output": 32768 } - }, - "aion-labs/aion-1.0-mini": { - "id": "aion-labs/aion-1.0-mini", - "name": "AionLabs: Aion-1.0-Mini", - "attachment": false, - "reasoning": true, - "tool_call": false, - "temperature": true, - "release_date": "2025-02-05", - "last_updated": "2026-03-15", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.7, "output": 1.4 }, - "limit": { "context": 131072, "output": 32768 } - }, - "aion-labs/aion-1.0": { - "id": "aion-labs/aion-1.0", - "name": "AionLabs: Aion-1.0", - "attachment": false, - "reasoning": true, - "tool_call": false, - "temperature": true, - "release_date": "2025-02-05", - "last_updated": "2026-03-15", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 4, "output": 8 }, - "limit": { "context": 131072, "output": 32768 } - }, - "moonshotai/kimi-k2-thinking": { - "id": "moonshotai/kimi-k2-thinking", - "name": "MoonshotAI: Kimi K2 Thinking", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2025-11-06", - "last_updated": "2026-03-15", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.47, "output": 2, "cache_read": 0.2 }, - "limit": { "context": 131072, "output": 65535 } - }, - "moonshotai/kimi-k2.5": { - "id": "moonshotai/kimi-k2.5", - "name": "MoonshotAI: Kimi K2.5", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2026-01-27", - "last_updated": "2026-03-15", - "modalities": { "input": ["image", "text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.45, "output": 2.2 }, - "limit": { "context": 262144, "output": 65535 } - }, - "moonshotai/kimi-k2-0905": { - "id": "moonshotai/kimi-k2-0905", - "name": "MoonshotAI: Kimi K2 0905", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "release_date": "2025-09-05", - "last_updated": "2025-09-05", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.4, "output": 2, "cache_read": 0.15 }, - "limit": { "context": 131072, "output": 26215 } - }, - "moonshotai/kimi-k2": { - "id": "moonshotai/kimi-k2", - "name": "MoonshotAI: Kimi K2 0711", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "release_date": "2025-07-11", - "last_updated": "2026-03-15", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.55, "output": 2.2 }, - "limit": { "context": 131000, "output": 26215 } - }, - "tencent/hunyuan-a13b-instruct": { - "id": "tencent/hunyuan-a13b-instruct", - "name": "Tencent: Hunyuan A13B Instruct", - "attachment": false, - "reasoning": true, - "tool_call": false, - "temperature": true, - "release_date": "2025-06-30", - "last_updated": "2025-11-25", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.14, "output": 0.57 }, - "limit": { "context": 131072, "output": 131072 } - }, - "alibaba/tongyi-deepresearch-30b-a3b": { - "id": "alibaba/tongyi-deepresearch-30b-a3b", - "name": "Tongyi DeepResearch 30B A3B", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2025-09-18", - "last_updated": "2026-03-15", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.09, "output": 0.45 }, - "limit": { "context": 131072, "output": 131072 } - }, - "bytedance-seed/seed-2.0-mini": { - "id": "bytedance-seed/seed-2.0-mini", - "name": "ByteDance Seed: Seed-2.0-Mini", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2026-02-27", - "last_updated": "2026-03-15", - "modalities": { "input": ["image", "text", "video"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.1, "output": 0.4 }, - "limit": { "context": 262144, "output": 131072 } - }, - "bytedance-seed/seed-1.6-flash": { - "id": "bytedance-seed/seed-1.6-flash", - "name": "ByteDance Seed: Seed 1.6 Flash", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2025-12-23", - "last_updated": "2026-03-15", - "modalities": { "input": ["image", "text", "video"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.075, "output": 0.3 }, - "limit": { "context": 262144, "output": 32768 } - }, - "bytedance-seed/seed-1.6": { - "id": "bytedance-seed/seed-1.6", - "name": "ByteDance Seed: Seed 1.6", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2025-09", - "last_updated": "2025-09", - "modalities": { "input": ["image", "text", "video"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.25, "output": 2 }, - "limit": { "context": 262144, "output": 32768 } - }, - "bytedance-seed/seed-2.0-lite": { - "id": "bytedance-seed/seed-2.0-lite", - "name": "ByteDance Seed: Seed-2.0-Lite", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2026-03-10", - "last_updated": "2026-03-15", - "modalities": { "input": ["image", "text", "video"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.25, "output": 2 }, - "limit": { "context": 262144, "output": 131072 } - }, - "inflection/inflection-3-pi": { - "id": "inflection/inflection-3-pi", - "name": "Inflection: Inflection 3 Pi", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "release_date": "2024-10-11", - "last_updated": "2026-03-15", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2.5, "output": 10 }, - "limit": { "context": 8000, "output": 1024 } - }, - "inflection/inflection-3-productivity": { - "id": "inflection/inflection-3-productivity", - "name": "Inflection: Inflection 3 Productivity", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "release_date": "2024-10-11", - "last_updated": "2026-03-15", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2.5, "output": 10 }, - "limit": { "context": 8000, "output": 1024 } - }, - "writer/palmyra-x5": { - "id": "writer/palmyra-x5", - "name": "Writer: Palmyra X5", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "release_date": "2025-04-28", - "last_updated": "2025-04-28", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.6, "output": 6 }, - "limit": { "context": 1040000, "output": 8192 } - }, - "inception/mercury-2": { - "id": "inception/mercury-2", - "name": "Inception: Mercury 2", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2026-02-24", - "last_updated": "2026-02-24", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.25, "output": 0.75, "cache_read": 0.025 }, - "limit": { "context": 128000, "output": 50000 } - }, - "inception/mercury-coder": { - "id": "inception/mercury-coder", - "name": "Inception: Mercury Coder", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "release_date": "2025-02-26", - "last_updated": "2026-03-15", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.25, "output": 0.75 }, - "limit": { "context": 128000, "output": 32000 } - }, - "inception/mercury": { - "id": "inception/mercury", - "name": "Inception: Mercury", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "release_date": "2025-06-26", - "last_updated": "2026-03-15", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.25, "output": 0.75 }, - "limit": { "context": 128000, "output": 32000 } - }, - "anthracite-org/magnum-v4-72b": { - "id": "anthracite-org/magnum-v4-72b", - "name": "Magnum v4 72B", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "release_date": "2024-10-22", - "last_updated": "2026-03-15", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 3, "output": 5 }, - "limit": { "context": 16384, "output": 2048 } - }, - "thedrummer/skyfall-36b-v2": { - "id": "thedrummer/skyfall-36b-v2", - "name": "TheDrummer: Skyfall 36B V2", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "release_date": "2025-03-11", - "last_updated": "2026-03-15", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.55, "output": 0.8 }, - "limit": { "context": 32768, "output": 32768 } - }, - "thedrummer/rocinante-12b": { - "id": "thedrummer/rocinante-12b", - "name": "TheDrummer: Rocinante 12B", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "release_date": "2024-09-30", - "last_updated": "2026-03-15", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.17, "output": 0.43 }, - "limit": { "context": 32768, "output": 32768 } - }, - "thedrummer/cydonia-24b-v4.1": { - "id": "thedrummer/cydonia-24b-v4.1", - "name": "TheDrummer: Cydonia 24B V4.1", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "release_date": "2025-09-27", - "last_updated": "2026-03-15", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.3, "output": 0.5 }, - "limit": { "context": 131072, "output": 131072 } - }, - "thedrummer/unslopnemo-12b": { - "id": "thedrummer/unslopnemo-12b", - "name": "TheDrummer: UnslopNemo 12B", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "release_date": "2024-11-09", - "last_updated": "2026-03-15", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.4, "output": 0.4 }, - "limit": { "context": 32768, "output": 32768 } - }, - "tngtech/deepseek-r1t2-chimera": { - "id": "tngtech/deepseek-r1t2-chimera", - "name": "TNG: DeepSeek R1T2 Chimera", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2025-07-08", - "last_updated": "2025-07-08", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.25, "output": 0.85, "cache_read": 0.125 }, - "limit": { "context": 163840, "output": 163840 } - }, - "deepcogito/cogito-v2.1-671b": { - "id": "deepcogito/cogito-v2.1-671b", - "name": "Deep Cogito: Cogito v2.1 671B", - "attachment": false, - "reasoning": true, - "tool_call": false, - "temperature": true, - "release_date": "2025-11-14", - "last_updated": "2026-03-15", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 1.25, "output": 1.25 }, - "limit": { "context": 128000, "output": 32768 } - }, - "mistralai/mistral-medium-3.1": { - "id": "mistralai/mistral-medium-3.1", - "name": "Mistral: Mistral Medium 3.1", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "release_date": "2025-08-12", - "last_updated": "2025-08-12", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.4, "output": 2 }, - "limit": { "context": 131072, "output": 26215 } - }, - "mistralai/mixtral-8x22b-instruct": { - "id": "mistralai/mixtral-8x22b-instruct", - "name": "Mistral: Mixtral 8x22B Instruct", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "release_date": "2024-04-17", - "last_updated": "2024-04-17", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 2, "output": 6 }, - "limit": { "context": 65536, "output": 13108 } - }, - "mistralai/devstral-medium": { - "id": "mistralai/devstral-medium", - "name": "Mistral: Devstral Medium", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "release_date": "2025-07-10", - "last_updated": "2025-07-10", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.4, "output": 2 }, - "limit": { "context": 131072, "output": 26215 } - }, - "mistralai/mistral-7b-instruct-v0.1": { - "id": "mistralai/mistral-7b-instruct-v0.1", - "name": "Mistral: Mistral 7B Instruct v0.1", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "release_date": "2025-04-03", - "last_updated": "2025-04-03", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.11, "output": 0.19 }, - "limit": { "context": 2824, "output": 565 } - }, - "mistralai/mistral-medium-3": { - "id": "mistralai/mistral-medium-3", - "name": "Mistral: Mistral Medium 3", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "release_date": "2025-05-07", - "last_updated": "2025-05-07", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.4, "output": 2 }, - "limit": { "context": 131072, "output": 26215 } - }, - "mistralai/devstral-2512": { - "id": "mistralai/devstral-2512", - "name": "Mistral: Devstral 2 2512", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "release_date": "2025-09-12", - "last_updated": "2026-03-15", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.4, "output": 2, "cache_read": 0.025 }, - "limit": { "context": 262144, "output": 65536 } - }, - "mistralai/mixtral-8x7b-instruct": { - "id": "mistralai/mixtral-8x7b-instruct", - "name": "Mistral: Mixtral 8x7B Instruct", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "release_date": "2023-12-10", - "last_updated": "2026-03-15", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.54, "output": 0.54 }, - "limit": { "context": 32768, "output": 16384 } - }, - "mistralai/mistral-small-24b-instruct-2501": { - "id": "mistralai/mistral-small-24b-instruct-2501", - "name": "Mistral: Mistral Small 3", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "release_date": "2025-12-29", - "last_updated": "2026-01-10", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.05, "output": 0.08 }, - "limit": { "context": 32768, "output": 16384 } - }, - "mistralai/ministral-8b-2512": { - "id": "mistralai/ministral-8b-2512", - "name": "Mistral: Ministral 3 8B 2512", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "release_date": "2025-12-02", - "last_updated": "2026-03-15", - "modalities": { "input": ["image", "text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.15, "output": 0.15 }, - "limit": { "context": 262144, "output": 32768 } - }, - "mistralai/ministral-14b-2512": { - "id": "mistralai/ministral-14b-2512", - "name": "Mistral: Ministral 3 14B 2512", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "release_date": "2025-12-16", - "last_updated": "2025-12-16", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.2, "output": 0.2 }, - "limit": { "context": 262144, "output": 52429 } - }, - "mistralai/mistral-large-2411": { - "id": "mistralai/mistral-large-2411", - "name": "Mistral Large 2411", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "release_date": "2024-07-24", - "last_updated": "2024-11-04", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 2, "output": 6 }, - "limit": { "context": 131072, "output": 26215 } - }, - "mistralai/codestral-2508": { - "id": "mistralai/codestral-2508", - "name": "Mistral: Codestral 2508", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "release_date": "2025-08-01", - "last_updated": "2025-08-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.3, "output": 0.9 }, - "limit": { "context": 256000, "output": 51200 } - }, - "mistralai/mistral-large-2407": { - "id": "mistralai/mistral-large-2407", - "name": "Mistral Large 2407", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "release_date": "2024-11-19", - "last_updated": "2026-03-15", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 2, "output": 6 }, - "limit": { "context": 131072, "output": 32768 } - }, - "mistralai/devstral-small": { - "id": "mistralai/devstral-small", - "name": "Mistral: Devstral Small 1.1", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "release_date": "2025-05-07", - "last_updated": "2025-07-10", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.1, "output": 0.3 }, - "limit": { "context": 131072, "output": 26215 } - }, - "mistralai/mistral-small-creative": { - "id": "mistralai/mistral-small-creative", - "name": "Mistral: Mistral Small Creative", - "attachment": false, - "reasoning": false, - "tool_call": true, - "release_date": "2025-12-17", - "last_updated": "2026-03-15", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.1, "output": 0.3 }, - "limit": { "context": 32768, "output": 32768 } - }, - "mistralai/voxtral-small-24b-2507": { - "id": "mistralai/voxtral-small-24b-2507", - "name": "Mistral: Voxtral Small 24B 2507", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "release_date": "2025-07-01", - "last_updated": "2025-07-01", - "modalities": { "input": ["text", "audio"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.1, "output": 0.3 }, - "limit": { "context": 32000, "output": 6400 } - }, - "mistralai/mistral-nemo": { - "id": "mistralai/mistral-nemo", - "name": "Mistral: Mistral Nemo", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "release_date": "2024-07-01", - "last_updated": "2024-07-30", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.02, "output": 0.04 }, - "limit": { "context": 131072, "output": 16384 } - }, - "mistralai/mistral-large": { - "id": "mistralai/mistral-large", - "name": "Mistral Large", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "release_date": "2024-07-24", - "last_updated": "2025-12-02", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 2, "output": 6 }, - "limit": { "context": 128000, "output": 25600 } - }, - "mistralai/ministral-3b-2512": { - "id": "mistralai/ministral-3b-2512", - "name": "Mistral: Ministral 3 3B 2512", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "release_date": "2025-12-02", - "last_updated": "2026-03-15", - "modalities": { "input": ["image", "text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.1, "output": 0.1 }, - "limit": { "context": 131072, "output": 32768 } - }, - "mistralai/mistral-small-3.2-24b-instruct": { - "id": "mistralai/mistral-small-3.2-24b-instruct", - "name": "Mistral: Mistral Small 3.2 24B", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "release_date": "2025-06-20", - "last_updated": "2025-06-20", - "modalities": { "input": ["image", "text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.06, "output": 0.18, "cache_read": 0.03 }, - "limit": { "context": 131072, "output": 131072 } - }, - "mistralai/pixtral-large-2411": { - "id": "mistralai/pixtral-large-2411", - "name": "Mistral: Pixtral Large 2411", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "release_date": "2024-11-19", - "last_updated": "2026-03-15", - "modalities": { "input": ["image", "text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 2, "output": 6 }, - "limit": { "context": 131072, "output": 32768 } - }, - "mistralai/mistral-saba": { - "id": "mistralai/mistral-saba", - "name": "Mistral: Saba", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "release_date": "2025-02-17", - "last_updated": "2026-03-15", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.2, "output": 0.6 }, - "limit": { "context": 32768, "output": 32768 } - }, - "mistralai/mistral-small-3.1-24b-instruct": { - "id": "mistralai/mistral-small-3.1-24b-instruct", - "name": "Mistral: Mistral Small 3.1 24B", - "attachment": true, - "reasoning": false, - "tool_call": false, - "temperature": true, - "release_date": "2025-03-17", - "last_updated": "2026-03-15", - "modalities": { "input": ["image", "text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.35, "output": 0.56, "cache_read": 0.015 }, - "limit": { "context": 128000, "output": 131072 } - }, - "mistralai/mistral-large-2512": { - "id": "mistralai/mistral-large-2512", - "name": "Mistral: Mistral Large 3 2512", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "release_date": "2024-11-01", - "last_updated": "2025-12-16", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.5, "output": 1.5 }, - "limit": { "context": 262144, "output": 52429 } + "last_updated": "2025-03-13", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 32000, + "output": 32000 + }, + "cost": { + "input": 0.67, + "output": 0.67 + } + }, + "MiniMaxAI/MiniMax-M2.5": { + "id": "MiniMaxAI/MiniMax-M2.5", + "name": "MiniMax-M2.5", + "family": "minimax", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2026-01", + "release_date": "2026-03-05", + "last_updated": "2026-03-05", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 196000, + "input": 180000, + "output": 16000 + }, + "cost": { + "input": 0.3, + "output": 1.2 + } } } }, @@ -28725,122 +77610,789 @@ "attachment": false, "reasoning": true, "tool_call": true, - "interleaved": { "field": "reasoning_content" }, + "interleaved": { + "field": "reasoning_content" + }, "temperature": true, "knowledge": "2025-04", "release_date": "2025-12-22", "last_updated": "2025-12-22", - "modalities": { "input": ["text"], "output": ["text"] }, + "modalities": { + "input": ["text"], + "output": ["text"] + }, "open_weights": true, - "cost": { "input": 0, "output": 0, "cache_read": 0, "cache_write": 0 }, - "limit": { "context": 204800, "output": 131072 } + "limit": { + "context": 204800, + "output": 131072 + }, + "cost": { + "input": 0, + "output": 0, + "cache_read": 0, + "cache_write": 0 + } } } }, - "modelscope": { - "id": "modelscope", - "env": ["MODELSCOPE_API_KEY"], - "npm": "@ai-sdk/openai-compatible", - "api": "https://api-inference.modelscope.cn/v1", - "name": "ModelScope", - "doc": "https://modelscope.cn/docs/model-service/API-Inference/intro", + "xai": { + "id": "xai", + "env": ["XAI_API_KEY"], + "npm": "@ai-sdk/xai", + "name": "xAI", + "doc": "https://docs.x.ai/docs/models", "models": { - "ZhipuAI/GLM-4.5": { - "id": "ZhipuAI/GLM-4.5", - "name": "GLM-4.5", - "family": "glm", + "grok-2-1212": { + "id": "grok-2-1212", + "name": "Grok 2 (1212)", + "family": "grok", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-08", + "release_date": "2024-12-12", + "last_updated": "2024-12-12", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 131072, + "output": 8192 + }, + "cost": { + "input": 2, + "output": 10, + "cache_read": 2 + } + }, + "grok-vision-beta": { + "id": "grok-vision-beta", + "name": "Grok Vision Beta", + "family": "grok-vision", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-08", + "release_date": "2024-11-01", + "last_updated": "2024-11-01", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 8192, + "output": 4096 + }, + "cost": { + "input": 5, + "output": 15, + "cache_read": 5 + } + }, + "grok-4.3": { + "id": "grok-4.3", + "name": "Grok 4.3", + "family": "grok", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2026-05-01", + "last_updated": "2026-05-01", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000000, + "output": 30000 + }, + "cost": { + "input": 1.25, + "output": 2.5, + "cache_read": 0.2, + "tiers": [ + { + "input": 2.5, + "output": 5, + "cache_read": 0.4, + "tier": { + "type": "context", + "size": 200000 + } + } + ], + "context_over_200k": { + "input": 2.5, + "output": 5, + "cache_read": 0.4 + } + } + }, + "grok-3-mini-fast": { + "id": "grok-3-mini-fast", + "name": "Grok 3 Mini Fast", + "family": "grok", "attachment": false, "reasoning": true, "tool_call": true, "temperature": true, - "knowledge": "2025-04", - "release_date": "2025-07-28", - "last_updated": "2025-07-28", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 131072, "output": 98304 } + "knowledge": "2024-11", + "release_date": "2025-02-17", + "last_updated": "2025-02-17", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 131072, + "output": 8192 + }, + "cost": { + "input": 0.6, + "output": 4, + "reasoning": 4, + "cache_read": 0.15 + } }, - "ZhipuAI/GLM-4.6": { - "id": "ZhipuAI/GLM-4.6", - "name": "GLM-4.6", - "family": "glm", + "grok-3-mini-latest": { + "id": "grok-3-mini-latest", + "name": "Grok 3 Mini Latest", + "family": "grok", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-11", + "release_date": "2025-02-17", + "last_updated": "2025-02-17", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 131072, + "output": 8192 + }, + "cost": { + "input": 0.3, + "output": 0.5, + "reasoning": 0.5, + "cache_read": 0.075 + } + }, + "grok-3-fast": { + "id": "grok-3-fast", + "name": "Grok 3 Fast", + "family": "grok", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-11", + "release_date": "2025-02-17", + "last_updated": "2025-02-17", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 131072, + "output": 8192 + }, + "cost": { + "input": 5, + "output": 25, + "cache_read": 1.25 + } + }, + "grok-2-vision-latest": { + "id": "grok-2-vision-latest", + "name": "Grok 2 Vision Latest", + "family": "grok", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-08", + "release_date": "2024-08-20", + "last_updated": "2024-12-12", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 8192, + "output": 4096 + }, + "cost": { + "input": 2, + "output": 10, + "cache_read": 2 + } + }, + "grok-4.20-0309-reasoning": { + "id": "grok-4.20-0309-reasoning", + "name": "Grok 4.20 (Reasoning)", + "family": "grok", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2026-03-09", + "last_updated": "2026-03-09", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 2000000, + "output": 30000 + }, + "cost": { + "input": 2, + "output": 6, + "cache_read": 0.2, + "tiers": [ + { + "input": 4, + "output": 12, + "cache_read": 0.4, + "tier": { + "type": "context", + "size": 200000 + } + } + ], + "context_over_200k": { + "input": 4, + "output": 12, + "cache_read": 0.4 + } + } + }, + "grok-4-1-fast-non-reasoning": { + "id": "grok-4-1-fast-non-reasoning", + "name": "Grok 4.1 Fast (Non-Reasoning)", + "family": "grok", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-07", + "release_date": "2025-11-19", + "last_updated": "2025-11-19", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 2000000, + "output": 30000 + }, + "cost": { + "input": 0.2, + "output": 0.5, + "cache_read": 0.05 + } + }, + "grok-3-mini-fast-latest": { + "id": "grok-3-mini-fast-latest", + "name": "Grok 3 Mini Fast Latest", + "family": "grok", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-11", + "release_date": "2025-02-17", + "last_updated": "2025-02-17", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 131072, + "output": 8192 + }, + "cost": { + "input": 0.6, + "output": 4, + "reasoning": 4, + "cache_read": 0.15 + } + }, + "grok-4-fast": { + "id": "grok-4-fast", + "name": "Grok 4 Fast", + "family": "grok", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-07", + "release_date": "2025-09-19", + "last_updated": "2025-09-19", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 2000000, + "output": 30000 + }, + "cost": { + "input": 0.2, + "output": 0.5, + "cache_read": 0.05 + } + }, + "grok-3-latest": { + "id": "grok-3-latest", + "name": "Grok 3 Latest", + "family": "grok", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-11", + "release_date": "2025-02-17", + "last_updated": "2025-02-17", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 131072, + "output": 8192 + }, + "cost": { + "input": 3, + "output": 15, + "cache_read": 0.75 + } + }, + "grok-2": { + "id": "grok-2", + "name": "Grok 2", + "family": "grok", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-08", + "release_date": "2024-08-20", + "last_updated": "2024-08-20", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 131072, + "output": 8192 + }, + "cost": { + "input": 2, + "output": 10, + "cache_read": 2 + } + }, + "grok-code-fast-1": { + "id": "grok-code-fast-1", + "name": "Grok Code Fast 1", + "family": "grok", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2023-10", + "release_date": "2025-08-28", + "last_updated": "2025-08-28", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 256000, + "output": 10000 + }, + "cost": { + "input": 0.2, + "output": 1.5, + "cache_read": 0.02 + } + }, + "grok-4.20-0309-non-reasoning": { + "id": "grok-4.20-0309-non-reasoning", + "name": "Grok 4.20 (Non-Reasoning)", + "family": "grok", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "release_date": "2026-03-09", + "last_updated": "2026-03-09", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 2000000, + "output": 30000 + }, + "cost": { + "input": 2, + "output": 6, + "cache_read": 0.2, + "tiers": [ + { + "input": 4, + "output": 12, + "cache_read": 0.4, + "tier": { + "type": "context", + "size": 200000 + } + } + ], + "context_over_200k": { + "input": 4, + "output": 12, + "cache_read": 0.4 + } + } + }, + "grok-3-fast-latest": { + "id": "grok-3-fast-latest", + "name": "Grok 3 Fast Latest", + "family": "grok", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-11", + "release_date": "2025-02-17", + "last_updated": "2025-02-17", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 131072, + "output": 8192 + }, + "cost": { + "input": 5, + "output": 25, + "cache_read": 1.25 + } + }, + "grok-4.20-multi-agent-0309": { + "id": "grok-4.20-multi-agent-0309", + "name": "Grok 4.20 Multi-Agent", + "family": "grok", + "attachment": true, + "reasoning": true, + "tool_call": false, + "temperature": true, + "release_date": "2026-03-09", + "last_updated": "2026-03-09", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 2000000, + "output": 30000 + }, + "cost": { + "input": 2, + "output": 6, + "cache_read": 0.2, + "tiers": [ + { + "input": 4, + "output": 12, + "cache_read": 0.4, + "tier": { + "type": "context", + "size": 200000 + } + } + ], + "context_over_200k": { + "input": 4, + "output": 12, + "cache_read": 0.4 + } + } + }, + "grok-4": { + "id": "grok-4", + "name": "Grok 4", + "family": "grok", "attachment": false, "reasoning": true, "tool_call": true, "temperature": true, "knowledge": "2025-07", - "release_date": "2025-09-30", - "last_updated": "2025-09-30", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 202752, "output": 98304 } + "release_date": "2025-07-09", + "last_updated": "2025-07-09", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 256000, + "output": 64000 + }, + "cost": { + "input": 3, + "output": 15, + "reasoning": 15, + "cache_read": 0.75 + } }, - "Qwen/Qwen3-30B-A3B-Thinking-2507": { - "id": "Qwen/Qwen3-30B-A3B-Thinking-2507", - "name": "Qwen3 30B A3B Thinking 2507", - "family": "qwen", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-04", - "release_date": "2025-07-30", - "last_updated": "2025-07-30", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 262144, "output": 32768 } - }, - "Qwen/Qwen3-235B-A22B-Thinking-2507": { - "id": "Qwen/Qwen3-235B-A22B-Thinking-2507", - "name": "Qwen3-235B-A22B-Thinking-2507", - "family": "qwen", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-04", - "release_date": "2025-07-25", - "last_updated": "2025-07-25", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 262144, "output": 131072 } - }, - "Qwen/Qwen3-Coder-30B-A3B-Instruct": { - "id": "Qwen/Qwen3-Coder-30B-A3B-Instruct", - "name": "Qwen3 Coder 30B A3B Instruct", - "family": "qwen", + "grok-2-latest": { + "id": "grok-2-latest", + "name": "Grok 2 Latest", + "family": "grok", "attachment": false, "reasoning": false, "tool_call": true, "temperature": true, - "knowledge": "2025-04", - "release_date": "2025-07-31", - "last_updated": "2025-07-31", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 262144, "output": 65536 } + "knowledge": "2024-08", + "release_date": "2024-08-20", + "last_updated": "2024-12-12", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 131072, + "output": 8192 + }, + "cost": { + "input": 2, + "output": 10, + "cache_read": 2 + } }, - "Qwen/Qwen3-30B-A3B-Instruct-2507": { - "id": "Qwen/Qwen3-30B-A3B-Instruct-2507", - "name": "Qwen3 30B A3B Instruct 2507", - "family": "qwen", + "grok-beta": { + "id": "grok-beta", + "name": "Grok Beta", + "family": "grok-beta", "attachment": false, "reasoning": false, "tool_call": true, "temperature": true, - "knowledge": "2025-04", - "release_date": "2025-07-30", - "last_updated": "2025-07-30", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 262144, "output": 16384 } + "knowledge": "2024-08", + "release_date": "2024-11-01", + "last_updated": "2024-11-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 131072, + "output": 4096 + }, + "cost": { + "input": 5, + "output": 15, + "cache_read": 5 + } }, + "grok-2-vision": { + "id": "grok-2-vision", + "name": "Grok 2 Vision", + "family": "grok", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-08", + "release_date": "2024-08-20", + "last_updated": "2024-08-20", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 8192, + "output": 4096 + }, + "cost": { + "input": 2, + "output": 10, + "cache_read": 2 + } + }, + "grok-4-1-fast": { + "id": "grok-4-1-fast", + "name": "Grok 4.1 Fast", + "family": "grok", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-07", + "release_date": "2025-11-19", + "last_updated": "2025-11-19", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 2000000, + "output": 30000 + }, + "cost": { + "input": 0.2, + "output": 0.5, + "cache_read": 0.05 + } + }, + "grok-3-mini": { + "id": "grok-3-mini", + "name": "Grok 3 Mini", + "family": "grok", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-11", + "release_date": "2025-02-17", + "last_updated": "2025-02-17", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 131072, + "output": 8192 + }, + "cost": { + "input": 0.3, + "output": 0.5, + "reasoning": 0.5, + "cache_read": 0.075 + } + }, + "grok-2-vision-1212": { + "id": "grok-2-vision-1212", + "name": "Grok 2 Vision (1212)", + "family": "grok", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-08", + "release_date": "2024-08-20", + "last_updated": "2024-12-12", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 8192, + "output": 4096 + }, + "cost": { + "input": 2, + "output": 10, + "cache_read": 2 + } + }, + "grok-3": { + "id": "grok-3", + "name": "Grok 3", + "family": "grok", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-11", + "release_date": "2025-02-17", + "last_updated": "2025-02-17", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 131072, + "output": 8192 + }, + "cost": { + "input": 3, + "output": 15, + "cache_read": 0.75 + } + }, + "grok-4-fast-non-reasoning": { + "id": "grok-4-fast-non-reasoning", + "name": "Grok 4 Fast (Non-Reasoning)", + "family": "grok", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-07", + "release_date": "2025-09-19", + "last_updated": "2025-09-19", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 2000000, + "output": 30000 + }, + "cost": { + "input": 0.2, + "output": 0.5, + "cache_read": 0.05 + } + } + } + }, + "meganova": { + "id": "meganova", + "env": ["MEGANOVA_API_KEY"], + "npm": "@ai-sdk/openai-compatible", + "api": "https://api.meganova.ai/v1", + "name": "Meganova", + "doc": "https://docs.meganova.ai", + "models": { "Qwen/Qwen3-235B-A22B-Instruct-2507": { "id": "Qwen/Qwen3-235B-A22B-Instruct-2507", "name": "Qwen3 235B A22B Instruct 2507", @@ -28848,2802 +78400,160 @@ "attachment": false, "reasoning": false, "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-07-23", + "last_updated": "2025-07-23", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262000, + "output": 262000 + }, + "cost": { + "input": 0.09, + "output": 0.6 + } + }, + "Qwen/Qwen3.5-Plus": { + "id": "Qwen/Qwen3.5-Plus", + "name": "Qwen3.5 Plus", + "family": "qwen", + "attachment": false, + "reasoning": true, + "tool_call": true, "temperature": true, "knowledge": "2025-04", - "release_date": "2025-04-28", - "last_updated": "2025-07-21", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 262144, "output": 131072 } - } - } - }, - "openrouter": { - "id": "openrouter", - "env": ["OPENROUTER_API_KEY"], - "npm": "@openrouter/ai-sdk-provider", - "api": "https://openrouter.ai/api/v1", - "name": "OpenRouter", - "doc": "https://openrouter.ai/models", - "models": { - "openai/gpt-5.2-codex": { - "id": "openai/gpt-5.2-codex", - "name": "GPT-5.2-Codex", - "family": "gpt-codex", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2025-08-31", - "release_date": "2026-01-14", - "last_updated": "2026-01-14", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.75, "output": 14, "cache_read": 0.175 }, - "limit": { "context": 400000, "output": 128000 } - }, - "openai/gpt-5.1-codex-mini": { - "id": "openai/gpt-5.1-codex-mini", - "name": "GPT-5.1-Codex-Mini", - "family": "gpt-codex", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2024-09-30", - "release_date": "2025-11-13", - "last_updated": "2025-11-13", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.25, "output": 2, "cache_read": 0.025 }, - "limit": { "context": 400000, "output": 100000 } - }, - "openai/gpt-5.4-pro": { - "id": "openai/gpt-5.4-pro", - "name": "GPT-5.4 Pro", - "family": "gpt-pro", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": false, - "temperature": false, - "knowledge": "2025-08-31", - "release_date": "2026-03-05", - "last_updated": "2026-03-05", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 30, "output": 180, "cache_read": 30 }, - "limit": { "context": 1050000, "input": 922000, "output": 128000 } - }, - "openai/gpt-oss-120b:free": { - "id": "openai/gpt-oss-120b:free", - "name": "gpt-oss-120b (free)", - "family": "gpt-oss", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2025-08-05", - "last_updated": "2025-08-05", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 131072, "output": 32768 } - }, - "openai/gpt-oss-120b:exacto": { - "id": "openai/gpt-oss-120b:exacto", - "name": "GPT OSS 120B (exacto)", - "family": "gpt-oss", - "attachment": false, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-08-05", - "last_updated": "2025-08-05", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.05, "output": 0.24 }, - "limit": { "context": 131072, "output": 32768 } - }, - "openai/gpt-5.4-mini": { - "id": "openai/gpt-5.4-mini", - "name": "GPT-5.4 Mini", - "family": "gpt-mini", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2025-08-31", - "release_date": "2026-03-17", - "last_updated": "2026-03-17", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 7.5e-7, "output": 0.0000045, "cache_read": 7.5e-8 }, - "limit": { "context": 400000, "output": 128000 } - }, - "openai/gpt-5-pro": { - "id": "openai/gpt-5-pro", - "name": "GPT-5 Pro", - "family": "gpt-pro", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": false, - "knowledge": "2024-09-30", - "release_date": "2025-10-06", - "last_updated": "2025-10-06", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 15, "output": 120 }, - "limit": { "context": 400000, "output": 272000 } - }, - "openai/gpt-5": { - "id": "openai/gpt-5", - "name": "GPT-5", - "family": "gpt", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2024-10-01", - "release_date": "2025-08-07", - "last_updated": "2025-08-07", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.25, "output": 10 }, - "limit": { "context": 400000, "output": 128000 } - }, - "openai/gpt-5.3-codex": { - "id": "openai/gpt-5.3-codex", - "name": "GPT-5.3-Codex", - "family": "gpt-codex", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": false, - "knowledge": "2025-08-31", - "release_date": "2026-02-24", - "last_updated": "2026-02-24", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.75, "output": 14, "cache_read": 0.175 }, - "limit": { "context": 400000, "output": 128000 } - }, - "openai/gpt-5-mini": { - "id": "openai/gpt-5-mini", - "name": "GPT-5 Mini", - "family": "gpt-mini", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2024-10-01", - "release_date": "2025-08-07", - "last_updated": "2025-08-07", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.25, "output": 2 }, - "limit": { "context": 400000, "output": 128000 } - }, - "openai/gpt-4o-mini": { - "id": "openai/gpt-4o-mini", - "name": "GPT-4o-mini", - "family": "gpt-mini", - "attachment": true, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2024-10", - "release_date": "2024-07-18", - "last_updated": "2024-07-18", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.15, "output": 0.6, "cache_read": 0.08 }, - "limit": { "context": 128000, "output": 16384 } - }, - "openai/gpt-5.1-codex-max": { - "id": "openai/gpt-5.1-codex-max", - "name": "GPT-5.1-Codex-Max", - "family": "gpt-codex", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2024-09-30", - "release_date": "2025-11-13", - "last_updated": "2025-11-13", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.1, "output": 9, "cache_read": 0.11 }, - "limit": { "context": 400000, "output": 128000 } - }, - "openai/gpt-4.1": { - "id": "openai/gpt-4.1", - "name": "GPT-4.1", - "family": "gpt", - "attachment": true, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2024-04", - "release_date": "2025-04-14", - "last_updated": "2025-04-14", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2, "output": 8, "cache_read": 0.5 }, - "limit": { "context": 1047576, "output": 32768 } - }, - "openai/gpt-oss-120b": { - "id": "openai/gpt-oss-120b", - "name": "GPT OSS 120B", - "family": "gpt-oss", - "attachment": false, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-08-05", - "last_updated": "2025-08-05", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.072, "output": 0.28 }, - "limit": { "context": 131072, "output": 32768 } - }, - "openai/gpt-5.1-chat": { - "id": "openai/gpt-5.1-chat", - "name": "GPT-5.1 Chat", - "family": "gpt-codex", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2024-09-30", - "release_date": "2025-11-13", - "last_updated": "2025-11-13", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.25, "output": 10, "cache_read": 0.125 }, - "limit": { "context": 128000, "output": 16384 } - }, - "openai/gpt-5.4": { - "id": "openai/gpt-5.4", - "name": "GPT-5.4", - "family": "gpt", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": false, - "knowledge": "2025-08-31", - "release_date": "2026-03-05", - "last_updated": "2026-03-05", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { - "input": 2.5, - "output": 15, - "cache_read": 0.25, - "context_over_200k": { "input": 5, "output": 22.5, "cache_read": 0.5 } + "release_date": "2026-02", + "last_updated": "2026-02", + "modalities": { + "input": ["text", "image", "video"], + "output": ["text"] }, - "limit": { "context": 1050000, "input": 922000, "output": 128000 } - }, - "openai/gpt-oss-20b:free": { - "id": "openai/gpt-oss-20b:free", - "name": "gpt-oss-20b (free)", - "family": "gpt-oss", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2025-08-05", - "last_updated": "2026-01-31", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 131072, "output": 32768 } - }, - "openai/gpt-5-chat": { - "id": "openai/gpt-5-chat", - "name": "GPT-5 Chat (latest)", - "family": "gpt-codex", - "attachment": true, - "reasoning": true, - "tool_call": false, - "structured_output": true, - "temperature": true, - "knowledge": "2024-09-30", - "release_date": "2025-08-07", - "last_updated": "2025-08-07", - "modalities": { "input": ["text", "image"], "output": ["text"] }, "open_weights": false, - "cost": { "input": 1.25, "output": 10 }, - "limit": { "context": 400000, "output": 128000 } - }, - "openai/gpt-5.4-nano": { - "id": "openai/gpt-5.4-nano", - "name": "GPT-5.4 Nano", - "family": "gpt-nano", - "attachment": true, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2025-08-31", - "release_date": "2026-03-17", - "last_updated": "2026-03-17", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2e-7, "output": 0.00000125, "cache_read": 2e-8 }, - "limit": { "context": 400000, "output": 128000 } - }, - "openai/gpt-5.2-chat": { - "id": "openai/gpt-5.2-chat", - "name": "GPT-5.2 Chat", - "family": "gpt-codex", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": false, - "knowledge": "2025-08-31", - "release_date": "2025-12-11", - "last_updated": "2025-12-11", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.75, "output": 14, "cache_read": 0.175 }, - "limit": { "context": 128000, "output": 16384 } - }, - "openai/gpt-5.2": { - "id": "openai/gpt-5.2", - "name": "GPT-5.2", - "family": "gpt", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": false, - "knowledge": "2025-08-31", - "release_date": "2025-12-11", - "last_updated": "2025-12-11", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.75, "output": 14, "cache_read": 0.175 }, - "limit": { "context": 400000, "output": 128000 } - }, - "openai/gpt-5.1": { - "id": "openai/gpt-5.1", - "name": "GPT-5.1", - "family": "gpt", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2024-09-30", - "release_date": "2025-11-13", - "last_updated": "2025-11-13", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.25, "output": 10, "cache_read": 0.125 }, - "limit": { "context": 400000, "output": 128000 } - }, - "openai/gpt-4.1-mini": { - "id": "openai/gpt-4.1-mini", - "name": "GPT-4.1 Mini", - "family": "gpt-mini", - "attachment": true, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2024-04", - "release_date": "2025-04-14", - "last_updated": "2025-04-14", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.4, "output": 1.6, "cache_read": 0.1 }, - "limit": { "context": 1047576, "output": 32768 } - }, - "openai/gpt-5-nano": { - "id": "openai/gpt-5-nano", - "name": "GPT-5 Nano", - "family": "gpt-nano", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2024-10-01", - "release_date": "2025-08-07", - "last_updated": "2025-08-07", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.05, "output": 0.4 }, - "limit": { "context": 400000, "output": 128000 } - }, - "openai/gpt-oss-safeguard-20b": { - "id": "openai/gpt-oss-safeguard-20b", - "name": "GPT OSS Safeguard 20B", - "family": "gpt-oss", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2025-10-29", - "last_updated": "2025-10-29", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.075, "output": 0.3 }, - "limit": { "context": 131072, "output": 65536 } - }, - "openai/gpt-oss-20b": { - "id": "openai/gpt-oss-20b", - "name": "GPT OSS 20B", - "family": "gpt-oss", - "attachment": false, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-08-05", - "last_updated": "2025-08-05", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.05, "output": 0.2 }, - "limit": { "context": 131072, "output": 32768 } - }, - "openai/gpt-5-image": { - "id": "openai/gpt-5-image", - "name": "GPT-5 Image", - "family": "gpt", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2024-10-01", - "release_date": "2025-10-14", - "last_updated": "2025-10-14", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text", "image"] }, - "open_weights": false, - "cost": { "input": 5, "output": 10, "cache_read": 1.25 }, - "limit": { "context": 400000, "output": 128000 } - }, - "openai/gpt-5-codex": { - "id": "openai/gpt-5-codex", - "name": "GPT-5 Codex", - "family": "gpt-codex", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2024-10-01", - "release_date": "2025-09-15", - "last_updated": "2025-09-15", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.25, "output": 10, "cache_read": 0.125 }, - "limit": { "context": 400000, "output": 128000 } - }, - "openai/o4-mini": { - "id": "openai/o4-mini", - "name": "o4 Mini", - "family": "o-mini", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2024-06", - "release_date": "2025-04-16", - "last_updated": "2025-04-16", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.1, "output": 4.4, "cache_read": 0.28 }, - "limit": { "context": 200000, "output": 100000 } - }, - "openai/gpt-5.1-codex": { - "id": "openai/gpt-5.1-codex", - "name": "GPT-5.1-Codex", - "family": "gpt-codex", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2024-09-30", - "release_date": "2025-11-13", - "last_updated": "2025-11-13", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.25, "output": 10, "cache_read": 0.125 }, - "limit": { "context": 400000, "output": 128000 } - }, - "openai/gpt-5.2-pro": { - "id": "openai/gpt-5.2-pro", - "name": "GPT-5.2 Pro", - "family": "gpt-pro", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": false, - "knowledge": "2025-08-31", - "release_date": "2025-12-11", - "last_updated": "2025-12-11", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 21, "output": 168 }, - "limit": { "context": 400000, "output": 128000 } - }, - "prime-intellect/intellect-3": { - "id": "prime-intellect/intellect-3", - "name": "Intellect 3", - "family": "glm", - "attachment": false, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2024-10", - "release_date": "2025-01-15", - "last_updated": "2025-01-15", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.2, "output": 1.1 }, - "limit": { "context": 131072, "output": 8192 } - }, - "x-ai/grok-4-fast": { - "id": "x-ai/grok-4-fast", - "name": "Grok 4 Fast", - "family": "grok", - "attachment": false, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2024-11", - "release_date": "2025-08-19", - "last_updated": "2025-08-19", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.2, "output": 0.5, "cache_read": 0.05, "cache_write": 0.05 }, - "limit": { "context": 2000000, "output": 30000 } - }, - "x-ai/grok-4.20-beta": { - "id": "x-ai/grok-4.20-beta", - "name": "Grok 4.20 Beta", - "family": "grok", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2026-03-12", - "last_updated": "2026-03-12", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2, "output": 6, "cache_read": 0.2, "context_over_200k": { "input": 4, "output": 12 } }, - "limit": { "context": 2000000, "output": 30000 }, - "status": "beta" - }, - "x-ai/grok-4.1-fast": { - "id": "x-ai/grok-4.1-fast", - "name": "Grok 4.1 Fast", - "family": "grok", - "attachment": false, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2024-11", - "release_date": "2025-11-19", - "last_updated": "2025-11-19", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.2, "output": 0.5, "cache_read": 0.05, "cache_write": 0.05 }, - "limit": { "context": 2000000, "output": 30000 } - }, - "x-ai/grok-4": { - "id": "x-ai/grok-4", - "name": "Grok 4", - "family": "grok", - "attachment": false, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2025-07", - "release_date": "2025-07-09", - "last_updated": "2025-07-09", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 3, "output": 15, "cache_read": 0.75, "cache_write": 15 }, - "limit": { "context": 256000, "output": 64000 } - }, - "x-ai/grok-code-fast-1": { - "id": "x-ai/grok-code-fast-1", - "name": "Grok Code Fast 1", - "family": "grok", - "attachment": false, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2025-08", - "release_date": "2025-08-26", - "last_updated": "2025-08-26", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.2, "output": 1.5, "cache_read": 0.02 }, - "limit": { "context": 256000, "output": 10000 } - }, - "x-ai/grok-4.20-multi-agent-beta": { - "id": "x-ai/grok-4.20-multi-agent-beta", - "name": "Grok 4.20 Multi - Agent Beta", - "family": "grok", - "attachment": true, - "reasoning": true, - "tool_call": false, - "temperature": true, - "release_date": "2026-03-12", - "last_updated": "2026-03-12", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2, "output": 6, "cache_read": 0.2, "context_over_200k": { "input": 4, "output": 12 } }, - "limit": { "context": 2000000, "output": 30000 }, - "status": "beta" - }, - "x-ai/grok-3-mini": { - "id": "x-ai/grok-3-mini", - "name": "Grok 3 Mini", - "family": "grok", - "attachment": false, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2024-11", - "release_date": "2025-02-17", - "last_updated": "2025-02-17", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.3, "output": 0.5, "cache_read": 0.075, "cache_write": 0.5 }, - "limit": { "context": 131072, "output": 8192 } - }, - "x-ai/grok-3-beta": { - "id": "x-ai/grok-3-beta", - "name": "Grok 3 Beta", - "family": "grok", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-11", - "release_date": "2025-02-17", - "last_updated": "2025-02-17", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 3, "output": 15, "cache_read": 0.75, "cache_write": 15 }, - "limit": { "context": 131072, "output": 8192 } - }, - "x-ai/grok-3": { - "id": "x-ai/grok-3", - "name": "Grok 3", - "family": "grok", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2024-11", - "release_date": "2025-02-17", - "last_updated": "2025-02-17", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 3, "output": 15, "cache_read": 0.75, "cache_write": 15 }, - "limit": { "context": 131072, "output": 8192 } - }, - "x-ai/grok-3-mini-beta": { - "id": "x-ai/grok-3-mini-beta", - "name": "Grok 3 Mini Beta", - "family": "grok", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2024-11", - "release_date": "2025-02-17", - "last_updated": "2025-02-17", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.3, "output": 0.5, "cache_read": 0.075, "cache_write": 0.5 }, - "limit": { "context": 131072, "output": 8192 } - }, - "anthropic/claude-opus-4.6": { - "id": "anthropic/claude-opus-4.6", - "name": "Claude Opus 4.6", - "family": "claude-opus", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2025-05-30", - "release_date": "2026-02-05", - "last_updated": "2026-02-05", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { - "input": 5, - "output": 25, - "cache_read": 0.5, - "cache_write": 6.25, - "context_over_200k": { "input": 10, "output": 37.5, "cache_read": 1, "cache_write": 12.5 } + "limit": { + "context": 1000000, + "output": 65536 }, - "limit": { "context": 1000000, "output": 128000 } - }, - "anthropic/claude-haiku-4.5": { - "id": "anthropic/claude-haiku-4.5", - "name": "Claude Haiku 4.5", - "family": "claude-haiku", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2025-02-28", - "release_date": "2025-10-15", - "last_updated": "2025-10-15", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1, "output": 5, "cache_read": 0.1, "cache_write": 1.25 }, - "limit": { "context": 200000, "output": 64000 } - }, - "anthropic/claude-opus-4.1": { - "id": "anthropic/claude-opus-4.1", - "name": "Claude Opus 4.1", - "family": "claude-opus", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2025-03-31", - "release_date": "2025-08-05", - "last_updated": "2025-08-05", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 15, "output": 75, "cache_read": 1.5, "cache_write": 18.75 }, - "limit": { "context": 200000, "output": 32000 } - }, - "anthropic/claude-3.7-sonnet": { - "id": "anthropic/claude-3.7-sonnet", - "name": "Claude Sonnet 3.7", - "family": "claude-sonnet", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2024-01", - "release_date": "2025-02-19", - "last_updated": "2025-02-19", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 15, "output": 75, "cache_read": 1.5, "cache_write": 18.75 }, - "limit": { "context": 200000, "output": 128000 } - }, - "anthropic/claude-sonnet-4.6": { - "id": "anthropic/claude-sonnet-4.6", - "name": "Claude Sonnet 4.6", - "family": "claude-sonnet", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2026-02-17", - "last_updated": "2026-02-17", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, "cost": { - "input": 3, - "output": 15, - "cache_read": 0.3, - "cache_write": 3.75, - "context_over_200k": { "input": 6, "output": 22.5, "cache_read": 0.6, "cache_write": 7.5 } - }, - "limit": { "context": 1000000, "output": 128000 } + "input": 0.4, + "output": 2.4, + "reasoning": 2.4 + } }, - "anthropic/claude-sonnet-4": { - "id": "anthropic/claude-sonnet-4", - "name": "Claude Sonnet 4", - "family": "claude-sonnet", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-03-31", - "release_date": "2025-05-22", - "last_updated": "2025-05-22", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { - "input": 3, - "output": 15, - "cache_read": 0.3, - "cache_write": 3.75, - "context_over_200k": { "input": 6, "output": 22.5, "cache_read": 0.6, "cache_write": 7.5 } - }, - "limit": { "context": 200000, "output": 64000 } - }, - "anthropic/claude-3.5-haiku": { - "id": "anthropic/claude-3.5-haiku", - "name": "Claude Haiku 3.5", - "family": "claude-haiku", + "Qwen/Qwen2.5-VL-32B-Instruct": { + "id": "Qwen/Qwen2.5-VL-32B-Instruct", + "name": "Qwen2.5 VL 32B Instruct", + "family": "qwen", "attachment": true, "reasoning": false, "tool_call": true, - "temperature": true, - "knowledge": "2024-07-31", - "release_date": "2024-10-22", - "last_updated": "2024-10-22", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.8, "output": 4, "cache_read": 0.08, "cache_write": 1 }, - "limit": { "context": 200000, "output": 8192 } - }, - "anthropic/claude-opus-4.5": { - "id": "anthropic/claude-opus-4.5", - "name": "Claude Opus 4.5", - "family": "claude-opus", - "attachment": true, - "reasoning": true, - "tool_call": true, "structured_output": true, "temperature": true, - "knowledge": "2025-05-30", - "release_date": "2025-11-24", - "last_updated": "2025-11-24", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 5, "output": 25, "cache_read": 0.5, "cache_write": 6.25 }, - "limit": { "context": 200000, "output": 32000 } - }, - "anthropic/claude-sonnet-4.5": { - "id": "anthropic/claude-sonnet-4.5", - "name": "Claude Sonnet 4.5", - "family": "claude-sonnet", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2025-07-31", - "release_date": "2025-09-29", - "last_updated": "2025-09-29", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { - "input": 3, - "output": 15, - "cache_read": 0.3, - "cache_write": 3.75, - "context_over_200k": { "input": 6, "output": 22.5, "cache_read": 0.6, "cache_write": 7.5 } - }, - "limit": { "context": 1000000, "output": 64000 } - }, - "anthropic/claude-opus-4": { - "id": "anthropic/claude-opus-4", - "name": "Claude Opus 4", - "family": "claude-opus", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-03-31", - "release_date": "2025-05-22", - "last_updated": "2025-05-22", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 15, "output": 75, "cache_read": 1.5, "cache_write": 18.75 }, - "limit": { "context": 200000, "output": 32000 } - }, - "deepseek/deepseek-v3.1-terminus": { - "id": "deepseek/deepseek-v3.1-terminus", - "name": "DeepSeek V3.1 Terminus", - "family": "deepseek", - "attachment": false, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2025-07", - "release_date": "2025-09-22", - "last_updated": "2025-09-22", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.27, "output": 1 }, - "limit": { "context": 131072, "output": 65536 } - }, - "deepseek/deepseek-r1-distill-llama-70b": { - "id": "deepseek/deepseek-r1-distill-llama-70b", - "name": "DeepSeek R1 Distill Llama 70B", - "family": "deepseek-thinking", - "attachment": false, - "reasoning": true, - "tool_call": false, - "structured_output": true, - "temperature": true, - "knowledge": "2024-10", - "release_date": "2025-01-23", - "last_updated": "2025-01-23", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 8192, "output": 8192 } - }, - "deepseek/deepseek-v3.1-terminus:exacto": { - "id": "deepseek/deepseek-v3.1-terminus:exacto", - "name": "DeepSeek V3.1 Terminus (exacto)", - "family": "deepseek", - "attachment": false, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2025-07", - "release_date": "2025-09-22", - "last_updated": "2025-09-22", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.27, "output": 1 }, - "limit": { "context": 131072, "output": 65536 } - }, - "deepseek/deepseek-chat-v3.1": { - "id": "deepseek/deepseek-chat-v3.1", - "name": "DeepSeek-V3.1", - "family": "deepseek", - "attachment": false, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2025-07", - "release_date": "2025-08-21", - "last_updated": "2025-08-21", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.2, "output": 0.8 }, - "limit": { "context": 163840, "output": 163840 } - }, - "deepseek/deepseek-v3.2-speciale": { - "id": "deepseek/deepseek-v3.2-speciale", - "name": "DeepSeek V3.2 Speciale", - "family": "deepseek", - "attachment": false, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2024-07", - "release_date": "2025-12-01", - "last_updated": "2025-12-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.27, "output": 0.41 }, - "limit": { "context": 163840, "output": 65536 } - }, - "deepseek/deepseek-chat-v3-0324": { - "id": "deepseek/deepseek-chat-v3-0324", - "name": "DeepSeek V3 0324", - "family": "deepseek", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": true, - "temperature": true, - "knowledge": "2024-10", "release_date": "2025-03-24", "last_updated": "2025-03-24", - "modalities": { "input": ["text"], "output": ["text"] }, + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 16384, "output": 8192 } + "limit": { + "context": 16384, + "output": 16384 + }, + "cost": { + "input": 0.2, + "output": 0.6 + } }, - "deepseek/deepseek-v3.2": { - "id": "deepseek/deepseek-v3.2", - "name": "DeepSeek V3.2", - "family": "deepseek", - "attachment": false, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2024-07", - "release_date": "2025-12-01", - "last_updated": "2025-12-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.28, "output": 0.4 }, - "limit": { "context": 163840, "output": 65536 } - }, - "nvidia/nemotron-nano-9b-v2:free": { - "id": "nvidia/nemotron-nano-9b-v2:free", - "name": "Nemotron Nano 9B V2 (free)", - "family": "nemotron", - "attachment": false, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2024-09", - "release_date": "2025-09-05", - "last_updated": "2025-08-18", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 128000, "output": 128000 } - }, - "nvidia/nemotron-3-super-120b-a12b": { - "id": "nvidia/nemotron-3-super-120b-a12b", - "name": "Nemotron 3 Super", - "family": "nemotron", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2024-04", - "release_date": "2026-03-11", - "last_updated": "2026-03-11", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.1, "output": 0.5 }, - "limit": { "context": 262144, "output": 262144 } - }, - "nvidia/nemotron-nano-12b-v2-vl:free": { - "id": "nvidia/nemotron-nano-12b-v2-vl:free", - "name": "Nemotron Nano 12B 2 VL (free)", - "family": "nemotron", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-11", - "release_date": "2025-10-28", - "last_updated": "2026-01-31", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 128000, "output": 128000 } - }, - "nvidia/nemotron-nano-9b-v2": { - "id": "nvidia/nemotron-nano-9b-v2", - "name": "nvidia-nemotron-nano-9b-v2", - "family": "nemotron", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2024-09", - "release_date": "2025-08-18", - "last_updated": "2025-08-18", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.04, "output": 0.16 }, - "limit": { "context": 131072, "output": 131072 } - }, - "nvidia/nemotron-3-super-120b-a12b:free": { - "id": "nvidia/nemotron-3-super-120b-a12b:free", - "name": "Nemotron 3 Super (free)", - "family": "nemotron", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2024-04", - "release_date": "2026-03-11", - "last_updated": "2026-03-11", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 262144, "output": 262144 } - }, - "nvidia/nemotron-3-nano-30b-a3b:free": { - "id": "nvidia/nemotron-3-nano-30b-a3b:free", - "name": "Nemotron 3 Nano 30B A3B (free)", - "family": "nemotron", - "attachment": false, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2025-11", - "release_date": "2025-12-14", - "last_updated": "2026-01-31", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 256000, "output": 256000 } - }, - "z-ai/glm-4.7-flash": { - "id": "z-ai/glm-4.7-flash", - "name": "GLM-4.7-Flash", - "family": "glm", - "attachment": false, - "reasoning": true, - "tool_call": true, - "interleaved": { "field": "reasoning_details" }, - "structured_output": true, - "temperature": true, - "release_date": "2026-01-19", - "last_updated": "2026-01-19", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.07, "output": 0.4 }, - "limit": { "context": 200000, "output": 65535 } - }, - "z-ai/glm-4.5": { - "id": "z-ai/glm-4.5", - "name": "GLM 4.5", - "family": "glm", - "attachment": false, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2025-04", - "release_date": "2025-07-28", - "last_updated": "2025-07-28", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.6, "output": 2.2 }, - "limit": { "context": 128000, "output": 96000 } - }, - "z-ai/glm-4.6": { - "id": "z-ai/glm-4.6", - "name": "GLM 4.6", - "family": "glm", - "attachment": false, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2025-09", - "release_date": "2025-09-30", - "last_updated": "2025-09-30", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.6, "output": 2.2, "cache_read": 0.11 }, - "limit": { "context": 200000, "output": 128000 } - }, - "z-ai/glm-4.5-air:free": { - "id": "z-ai/glm-4.5-air:free", - "name": "GLM 4.5 Air (free)", - "family": "glm-air", - "attachment": false, - "reasoning": true, - "tool_call": false, - "temperature": true, - "knowledge": "2025-04", - "release_date": "2025-07-28", - "last_updated": "2025-07-28", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 128000, "output": 96000 } - }, - "z-ai/glm-5": { - "id": "z-ai/glm-5", - "name": "GLM-5", - "family": "glm", - "attachment": false, - "reasoning": true, - "tool_call": true, - "interleaved": { "field": "reasoning_content" }, - "structured_output": true, - "temperature": true, - "release_date": "2026-02-12", - "last_updated": "2026-02-12", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 1, "output": 3.2, "cache_read": 0.2 }, - "limit": { "context": 202752, "output": 131000 } - }, - "z-ai/glm-4.5-air": { - "id": "z-ai/glm-4.5-air", - "name": "GLM 4.5 Air", - "family": "glm-air", - "attachment": false, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2025-04", - "release_date": "2025-07-28", - "last_updated": "2025-07-28", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.2, "output": 1.1 }, - "limit": { "context": 128000, "output": 96000 } - }, - "z-ai/glm-4.5v": { - "id": "z-ai/glm-4.5v", - "name": "GLM 4.5V", - "family": "glm", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2025-04", - "release_date": "2025-08-11", - "last_updated": "2025-08-11", - "modalities": { "input": ["text", "image", "video"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.6, "output": 1.8 }, - "limit": { "context": 64000, "output": 16384 } - }, - "z-ai/glm-4.7": { - "id": "z-ai/glm-4.7", + "zai-org/GLM-4.7": { + "id": "zai-org/GLM-4.7", "name": "GLM-4.7", "family": "glm", "attachment": false, "reasoning": true, "tool_call": true, - "interleaved": { "field": "reasoning_details" }, - "structured_output": true, + "interleaved": { + "field": "reasoning_content" + }, "temperature": true, "knowledge": "2025-04", "release_date": "2025-12-22", "last_updated": "2025-12-22", - "modalities": { "input": ["text"], "output": ["text"] }, + "modalities": { + "input": ["text"], + "output": ["text"] + }, "open_weights": true, - "cost": { "input": 0.6, "output": 2.2, "cache_read": 0.11 }, - "limit": { "context": 204800, "output": 131072 } + "limit": { + "context": 202752, + "output": 131072 + }, + "cost": { + "input": 0.2, + "output": 0.8 + } }, - "z-ai/glm-4.6:exacto": { - "id": "z-ai/glm-4.6:exacto", - "name": "GLM 4.6 (exacto)", + "zai-org/GLM-5": { + "id": "zai-org/GLM-5", + "name": "GLM-5", "family": "glm", "attachment": false, "reasoning": true, "tool_call": true, - "structured_output": true, + "interleaved": { + "field": "reasoning_content" + }, "temperature": true, - "knowledge": "2025-09", + "release_date": "2026-02-11", + "last_updated": "2026-02-11", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 202752, + "output": 131072 + }, + "cost": { + "input": 0.8, + "output": 2.56 + } + }, + "zai-org/GLM-4.6": { + "id": "zai-org/GLM-4.6", + "name": "GLM-4.6", + "family": "glm", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "temperature": true, + "knowledge": "2025-04", "release_date": "2025-09-30", "last_updated": "2025-09-30", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.6, "output": 1.9, "cache_read": 0.11 }, - "limit": { "context": 200000, "output": 128000 } - }, - "sourceful/riverflow-v2-standard-preview": { - "id": "sourceful/riverflow-v2-standard-preview", - "name": "Riverflow V2 Standard Preview", - "family": "sourceful", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "knowledge": "2025-06", - "release_date": "2025-12-08", - "last_updated": "2026-01-28", - "modalities": { "input": ["text", "image"], "output": ["image"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 8192, "output": 8192 } - }, - "sourceful/riverflow-v2-fast-preview": { - "id": "sourceful/riverflow-v2-fast-preview", - "name": "Riverflow V2 Fast Preview", - "family": "sourceful", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "knowledge": "2025-06", - "release_date": "2025-12-08", - "last_updated": "2026-01-28", - "modalities": { "input": ["text", "image"], "output": ["image"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 8192, "output": 8192 } - }, - "sourceful/riverflow-v2-max-preview": { - "id": "sourceful/riverflow-v2-max-preview", - "name": "Riverflow V2 Max Preview", - "family": "sourceful", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "knowledge": "2025-06", - "release_date": "2025-12-08", - "last_updated": "2026-01-28", - "modalities": { "input": ["text", "image"], "output": ["image"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 8192, "output": 8192 } - }, - "cognitivecomputations/dolphin-mistral-24b-venice-edition:free": { - "id": "cognitivecomputations/dolphin-mistral-24b-venice-edition:free", - "name": "Uncensored (free)", - "family": "mistral", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": true, - "temperature": true, - "knowledge": "2025-06", - "release_date": "2025-07-09", - "last_updated": "2026-01-31", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 32768, "output": 32768 } - }, - "google/gemini-2.5-flash-lite": { - "id": "google/gemini-2.5-flash-lite", - "name": "Gemini 2.5 Flash Lite", - "family": "gemini-flash-lite", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2025-01", - "release_date": "2025-06-17", - "last_updated": "2025-06-17", - "modalities": { "input": ["text", "image", "audio", "video", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.1, "output": 0.4, "cache_read": 0.025 }, - "limit": { "context": 1048576, "output": 65536 } - }, - "google/gemma-3-12b-it:free": { - "id": "google/gemma-3-12b-it:free", - "name": "Gemma 3 12B (free)", - "family": "gemma", - "attachment": true, - "reasoning": false, - "tool_call": false, - "temperature": true, - "knowledge": "2024-10", - "release_date": "2025-03-13", - "last_updated": "2025-03-13", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 32768, "output": 8192 } - }, - "google/gemini-2.5-flash-lite-preview-09-2025": { - "id": "google/gemini-2.5-flash-lite-preview-09-2025", - "name": "Gemini 2.5 Flash Lite Preview 09-25", - "family": "gemini-flash-lite", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2025-01", - "release_date": "2025-09-25", - "last_updated": "2025-09-25", - "modalities": { "input": ["text", "image", "audio", "video", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.1, "output": 0.4, "cache_read": 0.025 }, - "limit": { "context": 1048576, "output": 65536 } - }, - "google/gemma-2-9b-it": { - "id": "google/gemma-2-9b-it", - "name": "Gemma 2 9B", - "family": "gemma", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "knowledge": "2024-06", - "release_date": "2024-06-28", - "last_updated": "2024-06-28", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.03, "output": 0.09 }, - "limit": { "context": 8192, "output": 8192 } - }, - "google/gemini-3.1-pro-preview": { - "id": "google/gemini-3.1-pro-preview", - "name": "Gemini 3.1 Pro Preview", - "family": "gemini-pro", - "attachment": true, - "reasoning": true, - "tool_call": true, - "interleaved": { "field": "reasoning_details" }, - "structured_output": true, - "temperature": true, - "knowledge": "2025-01", - "release_date": "2026-02-19", - "last_updated": "2026-02-19", - "modalities": { "input": ["text", "image", "audio", "video", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { - "input": 2, - "output": 12, - "reasoning": 12, - "context_over_200k": { "input": 4, "output": 18, "cache_read": 0.4 } + "modalities": { + "input": ["text"], + "output": ["text"] }, - "limit": { "context": 1048576, "output": 65536 } - }, - "google/gemini-3-pro-preview": { - "id": "google/gemini-3-pro-preview", - "name": "Gemini 3 Pro Preview", - "family": "gemini-pro", - "attachment": true, - "reasoning": true, - "tool_call": true, - "interleaved": { "field": "reasoning_details" }, - "structured_output": true, - "temperature": true, - "knowledge": "2025-01", - "release_date": "2025-11-18", - "last_updated": "2025-11", - "modalities": { "input": ["text", "image", "audio", "video", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2, "output": 12 }, - "limit": { "context": 1050000, "output": 66000 } - }, - "google/gemma-3-27b-it": { - "id": "google/gemma-3-27b-it", - "name": "Gemma 3 27B", - "family": "gemma", - "attachment": true, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2024-10", - "release_date": "2025-03-12", - "last_updated": "2025-03-12", - "modalities": { "input": ["text", "image"], "output": ["text"] }, "open_weights": true, - "cost": { "input": 0.04, "output": 0.15 }, - "limit": { "context": 96000, "output": 96000 } - }, - "google/gemma-3-4b-it": { - "id": "google/gemma-3-4b-it", - "name": "Gemma 3 4B", - "family": "gemma", - "attachment": true, - "reasoning": false, - "tool_call": false, - "temperature": true, - "knowledge": "2024-10", - "release_date": "2025-03-13", - "last_updated": "2025-03-13", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.01703, "output": 0.06815 }, - "limit": { "context": 96000, "output": 96000 } - }, - "google/gemma-3n-e4b-it": { - "id": "google/gemma-3n-e4b-it", - "name": "Gemma 3n 4B", - "family": "gemma", - "attachment": true, - "reasoning": false, - "tool_call": false, - "temperature": true, - "knowledge": "2024-06", - "release_date": "2025-05-20", - "last_updated": "2025-05-20", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.02, "output": 0.04 }, - "limit": { "context": 32768, "output": 32768 } - }, - "google/gemini-2.5-pro-preview-06-05": { - "id": "google/gemini-2.5-pro-preview-06-05", - "name": "Gemini 2.5 Pro Preview 06-05", - "family": "gemini-pro", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2025-01", - "release_date": "2025-06-05", - "last_updated": "2025-06-05", - "modalities": { "input": ["text", "image", "audio", "video", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.25, "output": 10, "cache_read": 0.31 }, - "limit": { "context": 1048576, "output": 65536 } - }, - "google/gemma-3-4b-it:free": { - "id": "google/gemma-3-4b-it:free", - "name": "Gemma 3 4B (free)", - "family": "gemma", - "attachment": true, - "reasoning": false, - "tool_call": false, - "temperature": true, - "knowledge": "2024-10", - "release_date": "2025-03-13", - "last_updated": "2025-03-13", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 32768, "output": 8192 } - }, - "google/gemini-2.5-pro-preview-05-06": { - "id": "google/gemini-2.5-pro-preview-05-06", - "name": "Gemini 2.5 Pro Preview 05-06", - "family": "gemini-pro", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2025-01", - "release_date": "2025-05-06", - "last_updated": "2025-05-06", - "modalities": { "input": ["text", "image", "audio", "video", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.25, "output": 10, "cache_read": 0.31 }, - "limit": { "context": 1048576, "output": 65536 } - }, - "google/gemini-2.0-flash-001": { - "id": "google/gemini-2.0-flash-001", - "name": "Gemini 2.0 Flash", - "family": "gemini-flash", - "attachment": true, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2024-06", - "release_date": "2024-12-11", - "last_updated": "2024-12-11", - "modalities": { "input": ["text", "image", "audio", "video", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.1, "output": 0.4, "cache_read": 0.025 }, - "limit": { "context": 1048576, "output": 8192 } - }, - "google/gemma-3-27b-it:free": { - "id": "google/gemma-3-27b-it:free", - "name": "Gemma 3 27B (free)", - "family": "gemma", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-10", - "release_date": "2025-03-12", - "last_updated": "2025-03-12", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 131072, "output": 8192 } - }, - "google/gemini-3-flash-preview": { - "id": "google/gemini-3-flash-preview", - "name": "Gemini 3 Flash Preview", - "family": "gemini-flash", - "attachment": true, - "reasoning": true, - "tool_call": true, - "interleaved": { "field": "reasoning_details" }, - "structured_output": true, - "temperature": true, - "knowledge": "2025-01", - "release_date": "2025-12-17", - "last_updated": "2025-12-17", - "modalities": { "input": ["text", "image", "audio", "video", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.5, "output": 3, "cache_read": 0.05 }, - "limit": { "context": 1048576, "output": 65536 } - }, - "google/gemini-2.5-pro": { - "id": "google/gemini-2.5-pro", - "name": "Gemini 2.5 Pro", - "family": "gemini-pro", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2025-01", - "release_date": "2025-03-20", - "last_updated": "2025-06-05", - "modalities": { "input": ["text", "image", "audio", "video", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.25, "output": 10, "cache_read": 0.31 }, - "limit": { "context": 1048576, "output": 65536 } - }, - "google/gemini-2.5-flash": { - "id": "google/gemini-2.5-flash", - "name": "Gemini 2.5 Flash", - "family": "gemini-flash", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2025-01", - "release_date": "2025-07-17", - "last_updated": "2025-07-17", - "modalities": { "input": ["text", "image", "audio", "video", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.3, "output": 2.5, "cache_read": 0.0375 }, - "limit": { "context": 1048576, "output": 65536 } - }, - "google/gemini-3.1-pro-preview-customtools": { - "id": "google/gemini-3.1-pro-preview-customtools", - "name": "Gemini 3.1 Pro Preview Custom Tools", - "family": "gemini-pro", - "attachment": true, - "reasoning": true, - "tool_call": true, - "interleaved": { "field": "reasoning_details" }, - "structured_output": true, - "temperature": true, - "knowledge": "2025-01", - "release_date": "2026-02-19", - "last_updated": "2026-02-19", - "modalities": { "input": ["text", "image", "audio", "video", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { - "input": 2, - "output": 12, - "reasoning": 12, - "context_over_200k": { "input": 4, "output": 18, "cache_read": 0.4 } + "limit": { + "context": 202752, + "output": 131072 }, - "limit": { "context": 1048576, "output": 65536 } - }, - "google/gemini-2.5-flash-preview-09-2025": { - "id": "google/gemini-2.5-flash-preview-09-2025", - "name": "Gemini 2.5 Flash Preview 09-25", - "family": "gemini-flash", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2025-01", - "release_date": "2025-09-25", - "last_updated": "2025-09-25", - "modalities": { "input": ["text", "image", "audio", "video", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.3, "output": 2.5, "cache_read": 0.031 }, - "limit": { "context": 1048576, "output": 65536 } - }, - "google/gemini-3.1-flash-lite-preview": { - "id": "google/gemini-3.1-flash-lite-preview", - "name": "Gemini 3.1 Flash Lite Preview", - "family": "gemini-flash-lite", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2026-03-03", - "last_updated": "2026-03-03", - "modalities": { "input": ["text", "image", "video", "pdf", "audio"], "output": ["text"] }, - "open_weights": false, "cost": { - "input": 0.25, - "output": 1.5, - "reasoning": 1.5, - "cache_read": 0.025, - "cache_write": 0.083, - "input_audio": 0.5, - "output_audio": 0.5 - }, - "limit": { "context": 1048576, "output": 65536 } + "input": 0.45, + "output": 1.9 + } }, - "google/gemma-3-12b-it": { - "id": "google/gemma-3-12b-it", - "name": "Gemma 3 12B", - "family": "gemma", - "attachment": true, - "reasoning": false, - "tool_call": false, - "structured_output": true, - "temperature": true, - "knowledge": "2024-10", - "release_date": "2025-03-13", - "last_updated": "2025-03-13", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.03, "output": 0.1 }, - "limit": { "context": 131072, "output": 131072 } - }, - "google/gemma-3n-e2b-it:free": { - "id": "google/gemma-3n-e2b-it:free", - "name": "Gemma 3n 2B (free)", - "family": "gemma", - "attachment": true, - "reasoning": false, - "tool_call": false, - "temperature": true, - "knowledge": "2024-06", - "release_date": "2025-07-09", - "last_updated": "2025-07-09", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 8192, "output": 2000 } - }, - "google/gemma-3n-e4b-it:free": { - "id": "google/gemma-3n-e4b-it:free", - "name": "Gemma 3n 4B (free)", - "family": "gemma", - "attachment": true, - "reasoning": false, - "tool_call": false, - "temperature": true, - "knowledge": "2024-06", - "release_date": "2025-05-20", - "last_updated": "2025-05-20", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 8192, "output": 2000 } - }, - "meta-llama/llama-3.2-11b-vision-instruct": { - "id": "meta-llama/llama-3.2-11b-vision-instruct", - "name": "Llama 3.2 11B Vision Instruct", - "family": "llama", - "attachment": true, - "reasoning": false, - "tool_call": false, - "temperature": true, - "knowledge": "2023-12", - "release_date": "2024-09-25", - "last_updated": "2024-09-25", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 131072, "output": 8192 } - }, - "meta-llama/llama-3.2-3b-instruct:free": { - "id": "meta-llama/llama-3.2-3b-instruct:free", - "name": "Llama 3.2 3B Instruct (free)", - "family": "llama", - "attachment": true, - "reasoning": false, - "tool_call": false, - "temperature": true, - "knowledge": "2023-12", - "release_date": "2024-09-25", - "last_updated": "2024-09-25", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 131072, "output": 131072 } - }, - "meta-llama/llama-3.3-70b-instruct:free": { - "id": "meta-llama/llama-3.3-70b-instruct:free", - "name": "Llama 3.3 70B Instruct (free)", - "family": "llama", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2024-12", - "release_date": "2024-12-06", - "last_updated": "2024-12-06", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 131072, "output": 131072 } - }, - "openrouter/free": { - "id": "openrouter/free", - "name": "Free Models Router", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2026-02-01", - "last_updated": "2026-02-01", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 200000, "input": 200000, "output": 8000 } - }, - "arcee-ai/trinity-mini:free": { - "id": "arcee-ai/trinity-mini:free", - "name": "Trinity Mini", - "family": "trinity-mini", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2025-06", - "release_date": "2026-01-28", - "last_updated": "2026-01-28", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 131072, "output": 131072 } - }, - "arcee-ai/trinity-large-preview:free": { - "id": "arcee-ai/trinity-large-preview:free", - "name": "Trinity Large Preview", - "family": "trinity", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2025-06", - "release_date": "2026-01-28", - "last_updated": "2026-01-28", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 131072, "output": 131072 } - }, - "nousresearch/hermes-4-70b": { - "id": "nousresearch/hermes-4-70b", - "name": "Hermes 4 70B", - "family": "hermes", - "attachment": false, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2023-12", - "release_date": "2025-08-25", - "last_updated": "2025-08-25", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.13, "output": 0.4 }, - "limit": { "context": 131072, "output": 131072 } - }, - "nousresearch/hermes-4-405b": { - "id": "nousresearch/hermes-4-405b", - "name": "Hermes 4 405B", - "family": "hermes", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2023-12", - "release_date": "2025-08-25", - "last_updated": "2025-08-25", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 1, "output": 3 }, - "limit": { "context": 131072, "output": 131072 } - }, - "nousresearch/hermes-3-llama-3.1-405b:free": { - "id": "nousresearch/hermes-3-llama-3.1-405b:free", - "name": "Hermes 3 405B Instruct (free)", - "family": "hermes", - "attachment": false, - "reasoning": true, - "tool_call": false, - "temperature": true, - "knowledge": "2023-12", - "release_date": "2024-08-16", - "last_updated": "2024-08-16", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 131072, "output": 131072 } - }, - "minimax/minimax-01": { - "id": "minimax/minimax-01", - "name": "MiniMax-01", - "family": "minimax", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2025-01-15", - "last_updated": "2025-01-15", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.2, "output": 1.1 }, - "limit": { "context": 1000000, "output": 1000000 } - }, - "minimax/minimax-m2": { - "id": "minimax/minimax-m2", - "name": "MiniMax M2", - "family": "minimax", - "attachment": false, - "reasoning": true, - "tool_call": true, - "interleaved": { "field": "reasoning_details" }, - "structured_output": true, - "temperature": true, - "release_date": "2025-10-23", - "last_updated": "2025-10-23", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.28, "output": 1.15, "cache_read": 0.28, "cache_write": 1.15 }, - "limit": { "context": 196600, "output": 118000 } - }, - "minimax/minimax-m2.1": { - "id": "minimax/minimax-m2.1", - "name": "MiniMax M2.1", - "family": "minimax", - "attachment": false, - "reasoning": true, - "tool_call": true, - "interleaved": { "field": "reasoning_details" }, - "structured_output": true, - "temperature": true, - "release_date": "2025-12-23", - "last_updated": "2025-12-23", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.3, "output": 1.2 }, - "limit": { "context": 204800, "output": 131072 } - }, - "minimax/minimax-m2.7": { - "id": "minimax/minimax-m2.7", - "name": "MiniMax M2.7", - "family": "minimax", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2026-03-18", - "last_updated": "2026-03-18", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.3, "output": 1.2, "cache_read": 0.06, "cache_write": 0.375 }, - "limit": { "context": 204800, "output": 131072 } - }, - "minimax/minimax-m2.5": { - "id": "minimax/minimax-m2.5", - "name": "MiniMax M2.5", - "family": "minimax", - "attachment": false, - "reasoning": true, - "tool_call": true, - "interleaved": { "field": "reasoning_details" }, - "structured_output": true, - "temperature": true, - "release_date": "2026-02-12", - "last_updated": "2026-02-12", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.3, "output": 1.2, "cache_read": 0.03 }, - "limit": { "context": 204800, "output": 131072 } - }, - "minimax/minimax-m1": { - "id": "minimax/minimax-m1", - "name": "MiniMax M1", - "family": "minimax", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2025-06-17", - "last_updated": "2025-06-17", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.4, "output": 2.2 }, - "limit": { "context": 1000000, "output": 40000 } - }, - "qwen/qwen3-coder-30b-a3b-instruct": { - "id": "qwen/qwen3-coder-30b-a3b-instruct", - "name": "Qwen3 Coder 30B A3B Instruct", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2025-04", - "release_date": "2025-07-31", - "last_updated": "2025-07-31", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.07, "output": 0.27 }, - "limit": { "context": 160000, "output": 65536 } - }, - "qwen/qwen3-235b-a22b-07-25": { - "id": "qwen/qwen3-235b-a22b-07-25", - "name": "Qwen3 235B A22B Instruct 2507", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2025-04", - "release_date": "2025-04-28", - "last_updated": "2025-07-21", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.15, "output": 0.85 }, - "limit": { "context": 262144, "output": 131072 } - }, - "qwen/qwen3-30b-a3b-thinking-2507": { - "id": "qwen/qwen3-30b-a3b-thinking-2507", - "name": "Qwen3 30B A3B Thinking 2507", - "family": "qwen", - "attachment": false, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2025-04", - "release_date": "2025-07-29", - "last_updated": "2025-07-29", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.2, "output": 0.8 }, - "limit": { "context": 262000, "output": 262000 } - }, - "qwen/qwen3.5-plus-02-15": { - "id": "qwen/qwen3.5-plus-02-15", - "name": "Qwen3.5 Plus 2026-02-15", - "family": "qwen", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2025-04", - "release_date": "2026-02-16", - "last_updated": "2026-02-16", - "modalities": { "input": ["text", "image", "video"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.4, "output": 2.4 }, - "limit": { "context": 1000000, "output": 65536 } - }, - "qwen/qwen3-coder": { - "id": "qwen/qwen3-coder", - "name": "Qwen3 Coder", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2025-04", - "release_date": "2025-07-23", - "last_updated": "2025-07-23", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.3, "output": 1.2 }, - "limit": { "context": 262144, "output": 66536 } - }, - "qwen/qwen3-4b:free": { - "id": "qwen/qwen3-4b:free", - "name": "Qwen3 4B (free)", - "family": "qwen", - "attachment": false, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2025-04", - "release_date": "2025-04-30", - "last_updated": "2025-07-23", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 40960, "output": 40960 } - }, - "qwen/qwen3-coder:free": { - "id": "qwen/qwen3-coder:free", - "name": "Qwen3 Coder 480B A35B Instruct (free)", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2025-04", - "release_date": "2025-07-23", - "last_updated": "2025-07-23", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 262144, "output": 66536 } - }, - "qwen/qwen2.5-vl-72b-instruct": { - "id": "qwen/qwen2.5-vl-72b-instruct", - "name": "Qwen2.5 VL 72B Instruct", - "family": "qwen", - "attachment": true, - "reasoning": false, - "tool_call": false, - "structured_output": true, - "temperature": true, - "knowledge": "2024-10", - "release_date": "2025-02-01", - "last_updated": "2025-02-01", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 32768, "output": 8192 } - }, - "qwen/qwen3-next-80b-a3b-thinking": { - "id": "qwen/qwen3-next-80b-a3b-thinking", - "name": "Qwen3 Next 80B A3B Thinking", - "family": "qwen", - "attachment": false, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2025-04", - "release_date": "2025-09-11", - "last_updated": "2025-09-11", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.14, "output": 1.4 }, - "limit": { "context": 262144, "output": 262144 } - }, - "qwen/qwen3-235b-a22b-thinking-2507": { - "id": "qwen/qwen3-235b-a22b-thinking-2507", - "name": "Qwen3 235B A22B Thinking 2507", - "family": "qwen", - "attachment": false, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2025-04", - "release_date": "2025-07-25", - "last_updated": "2025-07-25", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.078, "output": 0.312 }, - "limit": { "context": 262144, "output": 81920 } - }, - "qwen/qwen3-next-80b-a3b-instruct:free": { - "id": "qwen/qwen3-next-80b-a3b-instruct:free", - "name": "Qwen3 Next 80B A3B Instruct (free)", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2025-04", - "release_date": "2025-09-11", - "last_updated": "2025-09-11", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 262144, "output": 262144 } - }, - "qwen/qwen3-next-80b-a3b-instruct": { - "id": "qwen/qwen3-next-80b-a3b-instruct", - "name": "Qwen3 Next 80B A3B Instruct", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2025-04", - "release_date": "2025-09-11", - "last_updated": "2025-09-11", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.14, "output": 1.4 }, - "limit": { "context": 262144, "output": 262144 } - }, - "qwen/qwen3.6-plus-preview:free": { - "id": "qwen/qwen3.6-plus-preview:free", - "name": "Qwen3.6 Plus Preview (free)", - "family": "qwen", - "attachment": false, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2026-03-30", - "last_updated": "2026-03-30", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 1000000, "output": 65536 } - }, - "qwen/qwen3-coder:exacto": { - "id": "qwen/qwen3-coder:exacto", - "name": "Qwen3 Coder (exacto)", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2025-04", - "release_date": "2025-07-23", - "last_updated": "2025-07-23", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.38, "output": 1.53 }, - "limit": { "context": 131072, "output": 32768 } - }, - "qwen/qwen3.5-397b-a17b": { - "id": "qwen/qwen3.5-397b-a17b", - "name": "Qwen3.5 397B A17B", - "family": "qwen", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2025-04", - "release_date": "2026-02-16", - "last_updated": "2026-02-16", - "modalities": { "input": ["text", "image", "video"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.6, "output": 3.6 }, - "limit": { "context": 262144, "output": 65536 } - }, - "qwen/qwen3-max": { - "id": "qwen/qwen3-max", - "name": "Qwen3 Max", - "family": "qwen", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2025-09-05", - "last_updated": "2025-09-05", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.2, "output": 6 }, - "limit": { "context": 262144, "output": 32768 } - }, - "qwen/qwen3-coder-flash": { - "id": "qwen/qwen3-coder-flash", - "name": "Qwen3 Coder Flash", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": false, - "temperature": true, - "knowledge": "2025-04", - "release_date": "2025-07-23", - "last_updated": "2025-07-23", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.3, "output": 1.5 }, - "limit": { "context": 128000, "output": 66536 } - }, - "qwen/qwen-2.5-coder-32b-instruct": { - "id": "qwen/qwen-2.5-coder-32b-instruct", - "name": "Qwen2.5 Coder 32B Instruct", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": true, - "temperature": true, - "knowledge": "2024-10", - "release_date": "2024-11-11", - "last_updated": "2024-11-11", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 32768, "output": 8192 } - }, - "qwen/qwen3-30b-a3b-instruct-2507": { - "id": "qwen/qwen3-30b-a3b-instruct-2507", - "name": "Qwen3 30B A3B Instruct 2507", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2025-04", - "release_date": "2025-07-29", - "last_updated": "2025-07-29", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.2, "output": 0.8 }, - "limit": { "context": 262000, "output": 262000 } - }, - "xiaomi/mimo-v2-pro": { - "id": "xiaomi/mimo-v2-pro", - "name": "MiMo-V2-Pro", - "family": "mimo", - "attachment": false, - "reasoning": true, - "tool_call": true, - "interleaved": { "field": "reasoning_details" }, - "structured_output": true, - "temperature": true, - "release_date": "2026-03-18", - "last_updated": "2026-03-18", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 1, "output": 3 }, - "limit": { "context": 1048576, "output": 65536 } - }, - "xiaomi/mimo-v2-omni": { - "id": "xiaomi/mimo-v2-omni", - "name": "MiMo-V2-Omni", - "family": "mimo", - "attachment": true, - "reasoning": true, - "tool_call": true, - "interleaved": { "field": "reasoning_details" }, - "structured_output": true, - "temperature": true, - "release_date": "2026-03-18", - "last_updated": "2026-03-18", - "modalities": { "input": ["text", "image", "video", "audio"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.4, "output": 2 }, - "limit": { "context": 262144, "output": 65536 } - }, - "xiaomi/mimo-v2-flash": { - "id": "xiaomi/mimo-v2-flash", - "name": "MiMo-V2-Flash", - "family": "mimo", - "attachment": false, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2024-12", - "release_date": "2025-12-14", - "last_updated": "2025-12-14", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.1, "output": 0.3, "cache_read": 0.01 }, - "limit": { "context": 262144, "output": 65536 } - }, - "black-forest-labs/flux.2-pro": { - "id": "black-forest-labs/flux.2-pro", - "name": "FLUX.2 Pro", - "family": "flux", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "knowledge": "2025-06", - "release_date": "2025-11-25", - "last_updated": "2026-01-31", - "modalities": { "input": ["image", "text"], "output": ["image"] }, - "open_weights": false, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 46864, "output": 46864 } - }, - "black-forest-labs/flux.2-max": { - "id": "black-forest-labs/flux.2-max", - "name": "FLUX.2 Max", - "family": "flux", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "knowledge": "2025-06", - "release_date": "2025-12-16", - "last_updated": "2026-01-31", - "modalities": { "input": ["image", "text"], "output": ["image"] }, - "open_weights": false, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 46864, "output": 46864 } - }, - "black-forest-labs/flux.2-klein-4b": { - "id": "black-forest-labs/flux.2-klein-4b", - "name": "FLUX.2 Klein 4B", - "family": "flux", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "knowledge": "2025-06", - "release_date": "2026-01-14", - "last_updated": "2026-01-31", - "modalities": { "input": ["image", "text"], "output": ["image"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 40960, "output": 40960 } - }, - "black-forest-labs/flux.2-flex": { - "id": "black-forest-labs/flux.2-flex", - "name": "FLUX.2 Flex", - "family": "flux", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "knowledge": "2025-06", - "release_date": "2025-11-25", - "last_updated": "2026-01-31", - "modalities": { "input": ["image", "text"], "output": ["image"] }, - "open_weights": false, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 67344, "output": 67344 } - }, - "stepfun/step-3.5-flash": { - "id": "stepfun/step-3.5-flash", - "name": "Step 3.5 Flash", - "family": "step", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-01", - "release_date": "2026-01-29", - "last_updated": "2026-01-29", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.1, "output": 0.3, "cache_read": 0.02 }, - "limit": { "context": 256000, "output": 256000 } - }, - "stepfun/step-3.5-flash:free": { - "id": "stepfun/step-3.5-flash:free", - "name": "Step 3.5 Flash (free)", - "family": "step", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-01", - "release_date": "2026-01-29", - "last_updated": "2026-01-29", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 256000, "output": 256000 } - }, - "liquid/lfm-2.5-1.2b-instruct:free": { - "id": "liquid/lfm-2.5-1.2b-instruct:free", - "name": "LFM2.5-1.2B-Instruct (free)", - "family": "liquid", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "knowledge": "2025-06", - "release_date": "2026-01-20", - "last_updated": "2026-01-28", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 131072, "output": 32768 } - }, - "liquid/lfm-2.5-1.2b-thinking:free": { - "id": "liquid/lfm-2.5-1.2b-thinking:free", - "name": "LFM2.5-1.2B-Thinking (free)", - "family": "liquid", - "attachment": false, - "reasoning": true, - "tool_call": false, - "temperature": true, - "knowledge": "2025-06", - "release_date": "2026-01-20", - "last_updated": "2026-01-28", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 131072, "output": 32768 } - }, - "moonshotai/kimi-k2-thinking": { - "id": "moonshotai/kimi-k2-thinking", - "name": "Kimi K2 Thinking", - "family": "kimi-thinking", - "attachment": false, - "reasoning": true, - "tool_call": true, - "interleaved": { "field": "reasoning_details" }, - "structured_output": true, - "temperature": true, - "knowledge": "2024-08", - "release_date": "2025-11-06", - "last_updated": "2025-11-06", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.6, "output": 2.5, "cache_read": 0.15 }, - "limit": { "context": 262144, "output": 262144 } - }, - "moonshotai/kimi-k2.5": { - "id": "moonshotai/kimi-k2.5", - "name": "Kimi K2.5", - "family": "kimi", - "attachment": true, - "reasoning": true, - "tool_call": true, - "interleaved": { "field": "reasoning_details" }, - "structured_output": true, - "temperature": true, - "knowledge": "2025-01", - "release_date": "2026-01-27", - "last_updated": "2026-01-27", - "modalities": { "input": ["text", "image", "video"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.6, "output": 3, "cache_read": 0.1 }, - "limit": { "context": 262144, "output": 262144 } - }, - "moonshotai/kimi-k2-0905": { - "id": "moonshotai/kimi-k2-0905", - "name": "Kimi K2 Instruct 0905", - "family": "kimi", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2024-10", - "release_date": "2025-09-05", - "last_updated": "2025-09-05", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.6, "output": 2.5 }, - "limit": { "context": 262144, "output": 16384 } - }, - "moonshotai/kimi-k2": { - "id": "moonshotai/kimi-k2", - "name": "Kimi K2", - "family": "kimi", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-10", - "release_date": "2025-07-11", - "last_updated": "2025-07-11", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.55, "output": 2.2 }, - "limit": { "context": 131072, "output": 32768 } - }, - "moonshotai/kimi-k2-0905:exacto": { - "id": "moonshotai/kimi-k2-0905:exacto", - "name": "Kimi K2 Instruct 0905 (exacto)", - "family": "kimi", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2024-10", - "release_date": "2025-09-05", - "last_updated": "2025-09-05", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.6, "output": 2.5 }, - "limit": { "context": 262144, "output": 16384 } - }, - "moonshotai/kimi-k2:free": { - "id": "moonshotai/kimi-k2:free", - "name": "Kimi K2 (free)", - "family": "kimi", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2025-04", - "release_date": "2025-07-11", - "last_updated": "2025-07-11", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 32800, "output": 32800 } - }, - "bytedance-seed/seedream-4.5": { - "id": "bytedance-seed/seedream-4.5", - "name": "Seedream 4.5", - "family": "seed", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "knowledge": "2025-06", - "release_date": "2025-12-23", - "last_updated": "2026-01-31", - "modalities": { "input": ["image", "text"], "output": ["image"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 4096, "output": 4096 } - }, - "inception/mercury-2": { - "id": "inception/mercury-2", - "name": "Mercury 2", - "family": "mercury", - "attachment": false, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2026-03-04", - "last_updated": "2026-03-04", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.25, "output": 0.75, "cache_read": 0.025 }, - "limit": { "context": 128000, "output": 50000 } - }, - "inception/mercury-coder": { - "id": "inception/mercury-coder", - "name": "Mercury Coder", - "family": "mercury", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-04-30", - "last_updated": "2025-04-30", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.25, "output": 0.75, "cache_read": 0.025 }, - "limit": { "context": 128000, "output": 32000 } - }, - "inception/mercury": { - "id": "inception/mercury", - "name": "Mercury", - "family": "mercury", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-06-26", - "last_updated": "2025-06-26", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.25, "output": 0.75, "cache_read": 0.025 }, - "limit": { "context": 128000, "output": 32000 } - }, - "mistralai/mistral-medium-3.1": { - "id": "mistralai/mistral-medium-3.1", - "name": "Mistral Medium 3.1", - "family": "mistral-medium", - "attachment": true, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2025-05", - "release_date": "2025-08-12", - "last_updated": "2025-08-12", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.4, "output": 2 }, - "limit": { "context": 262144, "output": 262144 } - }, - "mistralai/devstral-small-2505": { - "id": "mistralai/devstral-small-2505", - "name": "Devstral Small", - "family": "devstral", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2025-05", - "release_date": "2025-05-07", - "last_updated": "2025-05-07", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.06, "output": 0.12 }, - "limit": { "context": 128000, "output": 128000 } - }, - "mistralai/mistral-small-2603": { - "id": "mistralai/mistral-small-2603", - "name": "Mistral Small 4", - "family": "mistral-small", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-06", - "release_date": "2026-03-16", - "last_updated": "2026-03-16", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.15, "output": 0.6 }, - "limit": { "context": 262144, "output": 262144 } - }, - "mistralai/mistral-medium-3": { - "id": "mistralai/mistral-medium-3", - "name": "Mistral Medium 3", - "family": "mistral-medium", - "attachment": true, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2025-05", - "release_date": "2025-05-07", - "last_updated": "2025-05-07", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.4, "output": 2 }, - "limit": { "context": 131072, "output": 131072 } - }, - "mistralai/devstral-2512": { - "id": "mistralai/devstral-2512", - "name": "Devstral 2 2512", - "family": "devstral", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2025-12", - "release_date": "2025-09-12", - "last_updated": "2025-09-12", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.15, "output": 0.6 }, - "limit": { "context": 262144, "output": 262144 } - }, - "mistralai/codestral-2508": { - "id": "mistralai/codestral-2508", - "name": "Codestral 2508", - "family": "codestral", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2025-05", - "release_date": "2025-08-01", - "last_updated": "2025-08-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.3, "output": 0.9 }, - "limit": { "context": 256000, "output": 256000 } - }, - "mistralai/devstral-medium-2507": { - "id": "mistralai/devstral-medium-2507", - "name": "Devstral Medium", - "family": "devstral", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2025-05", - "release_date": "2025-07-10", - "last_updated": "2025-07-10", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.4, "output": 2 }, - "limit": { "context": 131072, "output": 131072 } - }, - "mistralai/devstral-small-2507": { - "id": "mistralai/devstral-small-2507", - "name": "Devstral Small 1.1", - "family": "devstral", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2025-05", - "release_date": "2025-07-10", - "last_updated": "2025-07-10", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.1, "output": 0.3 }, - "limit": { "context": 131072, "output": 131072 } - }, - "mistralai/mistral-small-3.2-24b-instruct": { - "id": "mistralai/mistral-small-3.2-24b-instruct", + "mistralai/Mistral-Small-3.2-24B-Instruct-2506": { + "id": "mistralai/Mistral-Small-3.2-24B-Instruct-2506", "name": "Mistral Small 3.2 24B Instruct", "family": "mistral-small", "attachment": true, @@ -31654,6577 +78564,118 @@ "knowledge": "2024-10", "release_date": "2025-06-20", "last_updated": "2025-06-20", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 96000, "output": 8192 } - }, - "mistralai/mistral-small-3.1-24b-instruct": { - "id": "mistralai/mistral-small-3.1-24b-instruct", - "name": "Mistral Small 3.1 24B Instruct", - "family": "mistral-small", - "attachment": true, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2024-10", - "release_date": "2025-03-17", - "last_updated": "2025-03-17", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 128000, "output": 8192 } - } - } - }, - "zenmux": { - "id": "zenmux", - "env": ["ZENMUX_API_KEY"], - "npm": "@ai-sdk/openai-compatible", - "api": "https://zenmux.ai/api/v1", - "name": "ZenMux", - "doc": "https://docs.zenmux.ai", - "models": { - "openai/gpt-5.2-codex": { - "id": "openai/gpt-5.2-codex", - "name": "GPT-5.2-Codex", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": false, - "knowledge": "2025-01-01", - "release_date": "2026-01-15", - "last_updated": "2026-01-15", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.75, "output": 14, "cache_read": 0.17 }, - "limit": { "context": 400000, "output": 64000 }, - "provider": { "npm": "@ai-sdk/openai", "api": "https://zenmux.ai/api/v1" } - }, - "openai/gpt-5.1-codex-mini": { - "id": "openai/gpt-5.1-codex-mini", - "name": "GPT-5.1-Codex-Mini", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-01-01", - "release_date": "2025-11-13", - "last_updated": "2025-11-13", - "modalities": { "input": ["image", "text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.25, "output": 2, "cache_read": 0.03 }, - "limit": { "context": 400000, "output": 64000 }, - "provider": { "npm": "@ai-sdk/openai", "api": "https://zenmux.ai/api/v1" } - }, - "openai/gpt-5.4-pro": { - "id": "openai/gpt-5.4-pro", - "name": "GPT-5.4 Pro", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-08-31", - "release_date": "2026-03-20", - "last_updated": "2026-03-20", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 45, "output": 225 }, - "limit": { "context": 1050000, "output": 128000 }, - "provider": { "npm": "@ai-sdk/openai", "api": "https://zenmux.ai/api/v1" } - }, - "openai/gpt-5.4-mini": { - "id": "openai/gpt-5.4-mini", - "name": "GPT-5.4 Mini", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2025-08-31", - "release_date": "2026-03-20", - "last_updated": "2026-03-20", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.75, "output": 4.5 }, - "limit": { "context": 400000, "output": 128000 }, - "provider": { "npm": "@ai-sdk/openai", "api": "https://zenmux.ai/api/v1" } - }, - "openai/gpt-5": { - "id": "openai/gpt-5", - "name": "GPT-5", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-01-01", - "release_date": "2025-08-07", - "last_updated": "2025-08-07", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.25, "output": 10, "cache_read": 0.12 }, - "limit": { "context": 400000, "output": 64000 }, - "provider": { "npm": "@ai-sdk/openai", "api": "https://zenmux.ai/api/v1" } - }, - "openai/gpt-5.3-codex": { - "id": "openai/gpt-5.3-codex", - "name": "GPT-5.3 Codex", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-08-31", - "release_date": "2026-03-20", - "last_updated": "2026-03-20", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.75, "output": 14 }, - "limit": { "context": 400000, "output": 128000 }, - "provider": { "npm": "@ai-sdk/openai", "api": "https://zenmux.ai/api/v1" } - }, - "openai/gpt-5.1-chat": { - "id": "openai/gpt-5.1-chat", - "name": "GPT-5.1 Chat", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2025-01-01", - "release_date": "2025-11-13", - "last_updated": "2025-11-13", - "modalities": { "input": ["pdf", "image", "text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.25, "output": 10, "cache_read": 0.12 }, - "limit": { "context": 128000, "output": 64000 }, - "provider": { "npm": "@ai-sdk/openai", "api": "https://zenmux.ai/api/v1" } - }, - "openai/gpt-5.4": { - "id": "openai/gpt-5.4", - "name": "GPT-5.4", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-08-31", - "release_date": "2026-03-20", - "last_updated": "2026-03-20", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 3.75, "output": 18.75 }, - "limit": { "context": 1050000, "output": 128000 }, - "provider": { "npm": "@ai-sdk/openai", "api": "https://zenmux.ai/api/v1" } - }, - "openai/gpt-5.4-nano": { - "id": "openai/gpt-5.4-nano", - "name": "GPT-5.4 Nano", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2025-08-31", - "release_date": "2026-03-20", - "last_updated": "2026-03-20", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.2, "output": 1.25 }, - "limit": { "context": 400000, "output": 128000 }, - "provider": { "npm": "@ai-sdk/openai", "api": "https://zenmux.ai/api/v1" } - }, - "openai/gpt-5.3-chat": { - "id": "openai/gpt-5.3-chat", - "name": "GPT-5.3 Chat", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2025-08-31", - "release_date": "2026-03-20", - "last_updated": "2026-03-20", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.75, "output": 14 }, - "limit": { "context": 128000, "output": 16380 }, - "provider": { "npm": "@ai-sdk/openai", "api": "https://zenmux.ai/api/v1" } - }, - "openai/gpt-5.2": { - "id": "openai/gpt-5.2", - "name": "GPT-5.2", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": false, - "knowledge": "2025-01-01", - "release_date": "2025-12-11", - "last_updated": "2025-12-11", - "modalities": { "input": ["image", "text", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.75, "output": 14, "cache_read": 0.17 }, - "limit": { "context": 400000, "output": 64000 }, - "provider": { "npm": "@ai-sdk/openai", "api": "https://zenmux.ai/api/v1" } - }, - "openai/gpt-5.1": { - "id": "openai/gpt-5.1", - "name": "GPT-5.1", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-01-01", - "release_date": "2025-11-13", - "last_updated": "2025-11-13", - "modalities": { "input": ["image", "text", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.25, "output": 10, "cache_read": 0.12 }, - "limit": { "context": 400000, "output": 64000 }, - "provider": { "npm": "@ai-sdk/openai", "api": "https://zenmux.ai/api/v1" } - }, - "openai/gpt-5-codex": { - "id": "openai/gpt-5-codex", - "name": "GPT-5 Codex", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-01-01", - "release_date": "2025-09-23", - "last_updated": "2025-09-23", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.25, "output": 10, "cache_read": 0.12 }, - "limit": { "context": 400000, "output": 64000 }, - "provider": { "npm": "@ai-sdk/openai", "api": "https://zenmux.ai/api/v1" } - }, - "openai/gpt-5.1-codex": { - "id": "openai/gpt-5.1-codex", - "name": "GPT-5.1-Codex", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-01-01", - "release_date": "2025-11-13", - "last_updated": "2025-11-13", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.25, "output": 10, "cache_read": 0.12 }, - "limit": { "context": 400000, "output": 64000 }, - "provider": { "npm": "@ai-sdk/openai", "api": "https://zenmux.ai/api/v1" } - }, - "openai/gpt-5.2-pro": { - "id": "openai/gpt-5.2-pro", - "name": "GPT-5.2-Pro", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": false, - "knowledge": "2025-08-31", - "release_date": "2025-12-11", - "last_updated": "2025-12-11", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 21, "output": 168 }, - "limit": { "context": 400000, "output": 128000 }, - "provider": { "npm": "@ai-sdk/openai", "api": "https://zenmux.ai/api/v1" } - }, - "x-ai/grok-4-fast": { - "id": "x-ai/grok-4-fast", - "name": "Grok 4 Fast", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-01-01", - "release_date": "2025-09-19", - "last_updated": "2025-09-19", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.2, "output": 0.5, "cache_read": 0.05 }, - "limit": { "context": 2000000, "output": 64000 } - }, - "x-ai/grok-4.1-fast": { - "id": "x-ai/grok-4.1-fast", - "name": "Grok 4.1 Fast", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-01-01", - "release_date": "2025-11-20", - "last_updated": "2025-11-20", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.2, "output": 0.5, "cache_read": 0.05 }, - "limit": { "context": 2000000, "output": 64000 } - }, - "x-ai/grok-4": { - "id": "x-ai/grok-4", - "name": "Grok 4", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-01-01", - "release_date": "2025-07-09", - "last_updated": "2025-07-09", - "modalities": { "input": ["image", "text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 3, "output": 15, "cache_read": 0.75 }, - "limit": { "context": 256000, "output": 64000 } - }, - "x-ai/grok-code-fast-1": { - "id": "x-ai/grok-code-fast-1", - "name": "Grok Code Fast 1", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-01-01", - "release_date": "2025-08-26", - "last_updated": "2025-08-26", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.2, "output": 1.5, "cache_read": 0.02 }, - "limit": { "context": 256000, "output": 64000 } - }, - "x-ai/grok-4.1-fast-non-reasoning": { - "id": "x-ai/grok-4.1-fast-non-reasoning", - "name": "Grok 4.1 Fast Non Reasoning", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2025-01-01", - "release_date": "2025-11-20", - "last_updated": "2025-11-20", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.2, "output": 0.5, "cache_read": 0.05 }, - "limit": { "context": 2000000, "output": 64000 } - }, - "x-ai/grok-4.2-fast": { - "id": "x-ai/grok-4.2-fast", - "name": "Grok 4.2 Fast", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-08-31", - "release_date": "2026-03-20", - "last_updated": "2026-03-20", - "modalities": { "input": ["text", "image", "video"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 3, "output": 9 }, - "limit": { "context": 2000000, "output": 30000 } - }, - "x-ai/grok-4.2-fast-non-reasoning": { - "id": "x-ai/grok-4.2-fast-non-reasoning", - "name": "Grok 4.2 Fast Non Reasoning", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2025-08-31", - "release_date": "2026-03-20", - "last_updated": "2026-03-20", - "modalities": { "input": ["text", "image", "video"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 3, "output": 9 }, - "limit": { "context": 2000000, "output": 30000 } - }, - "anthropic/claude-opus-4.6": { - "id": "anthropic/claude-opus-4.6", - "name": "Claude Opus 4.6", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-01-01", - "release_date": "2026-02-06", - "last_updated": "2026-02-06", - "modalities": { "input": ["image", "text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 5, "output": 25, "cache_read": 0.5, "cache_write": 6.25 }, - "limit": { "context": 1000000, "output": 128000 }, - "provider": { "npm": "@ai-sdk/anthropic", "api": "https://zenmux.ai/api/anthropic/v1" } - }, - "anthropic/claude-haiku-4.5": { - "id": "anthropic/claude-haiku-4.5", - "name": "Claude Haiku 4.5", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2025-01-01", - "release_date": "2025-10-15", - "last_updated": "2025-10-15", - "modalities": { "input": ["image", "text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1, "output": 5, "cache_read": 0.1, "cache_write": 1.25 }, - "limit": { "context": 200000, "output": 64000 }, - "provider": { "npm": "@ai-sdk/anthropic", "api": "https://zenmux.ai/api/anthropic/v1" } - }, - "anthropic/claude-opus-4.1": { - "id": "anthropic/claude-opus-4.1", - "name": "Claude Opus 4.1", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-01-01", - "release_date": "2025-08-05", - "last_updated": "2025-08-05", - "modalities": { "input": ["image", "text", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 15, "output": 75, "cache_read": 1.5, "cache_write": 18.75 }, - "limit": { "context": 200000, "output": 64000 }, - "provider": { "npm": "@ai-sdk/anthropic", "api": "https://zenmux.ai/api/anthropic/v1" } - }, - "anthropic/claude-3.7-sonnet": { - "id": "anthropic/claude-3.7-sonnet", - "name": "Claude 3.7 Sonnet", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-01-01", - "release_date": "2025-02-24", - "last_updated": "2025-02-24", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 3, "output": 15, "cache_read": 0.3, "cache_write": 3.75 }, - "limit": { "context": 200000, "output": 64000 }, - "provider": { "npm": "@ai-sdk/anthropic", "api": "https://zenmux.ai/api/anthropic/v1" } - }, - "anthropic/claude-sonnet-4.6": { - "id": "anthropic/claude-sonnet-4.6", - "name": "Claude Sonnet 4.6", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-01-01", - "release_date": "2026-02-18", - "last_updated": "2026-02-18", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 3, "output": 15, "cache_read": 0.3, "cache_write": 3.75 }, - "limit": { "context": 1000000, "output": 64000 }, - "provider": { "npm": "@ai-sdk/anthropic", "api": "https://zenmux.ai/api/anthropic/v1" } - }, - "anthropic/claude-sonnet-4": { - "id": "anthropic/claude-sonnet-4", - "name": "Claude Sonnet 4", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-01-01", - "release_date": "2025-05-22", - "last_updated": "2025-05-22", - "modalities": { "input": ["image", "text", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 3, "output": 15, "cache_read": 0.3, "cache_write": 3.75 }, - "limit": { "context": 1000000, "output": 64000 }, - "provider": { "npm": "@ai-sdk/anthropic", "api": "https://zenmux.ai/api/anthropic/v1" } - }, - "anthropic/claude-3.5-haiku": { - "id": "anthropic/claude-3.5-haiku", - "name": "Claude 3.5 Haiku", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2025-01-01", - "release_date": "2024-11-04", - "last_updated": "2024-11-04", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.8, "output": 4, "cache_read": 0.08, "cache_write": 1 }, - "limit": { "context": 200000, "output": 64000 }, - "provider": { "npm": "@ai-sdk/anthropic", "api": "https://zenmux.ai/api/anthropic/v1" } - }, - "anthropic/claude-opus-4.5": { - "id": "anthropic/claude-opus-4.5", - "name": "Claude Opus 4.5", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-01-01", - "release_date": "2025-11-24", - "last_updated": "2025-11-24", - "modalities": { "input": ["pdf", "image", "text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 5, "output": 25, "cache_read": 0.5, "cache_write": 6.25 }, - "limit": { "context": 200000, "output": 64000 }, - "provider": { "npm": "@ai-sdk/anthropic", "api": "https://zenmux.ai/api/anthropic/v1" } - }, - "anthropic/claude-sonnet-4.5": { - "id": "anthropic/claude-sonnet-4.5", - "name": "Claude Sonnet 4.5", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-01-01", - "release_date": "2025-09-29", - "last_updated": "2025-09-29", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 3, "output": 15, "cache_read": 0.3, "cache_write": 3.75 }, - "limit": { "context": 1000000, "output": 64000 }, - "provider": { "npm": "@ai-sdk/anthropic", "api": "https://zenmux.ai/api/anthropic/v1" } - }, - "anthropic/claude-opus-4": { - "id": "anthropic/claude-opus-4", - "name": "Claude Opus 4", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-01-01", - "release_date": "2025-05-22", - "last_updated": "2025-05-22", - "modalities": { "input": ["image", "text", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 15, "output": 75, "cache_read": 1.5, "cache_write": 18.75 }, - "limit": { "context": 200000, "output": 32000 }, - "provider": { "npm": "@ai-sdk/anthropic", "api": "https://zenmux.ai/api/anthropic/v1" } - }, - "volcengine/doubao-seed-2.0-lite": { - "id": "volcengine/doubao-seed-2.0-lite", - "name": "Doubao-Seed-2.0-lite", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2026-02-14", - "release_date": "2026-02-14", - "last_updated": "2026-02-14", - "modalities": { "input": ["text", "image", "video"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.09, "output": 0.51, "cache_read": 0.02, "cache_write": 0.0024 }, - "limit": { "context": 256000, "output": 64000 } - }, - "volcengine/doubao-seed-2.0-mini": { - "id": "volcengine/doubao-seed-2.0-mini", - "name": "Doubao-Seed-2.0-mini", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2026-02-14", - "release_date": "2026-02-14", - "last_updated": "2026-02-14", - "modalities": { "input": ["text", "image", "video"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.03, "output": 0.28, "cache_read": 0.01, "cache_write": 0.0024 }, - "limit": { "context": 256000, "output": 64000 } - }, - "volcengine/doubao-seed-2.0-pro": { - "id": "volcengine/doubao-seed-2.0-pro", - "name": "Doubao-Seed-2.0-pro", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2026-02-14", - "release_date": "2026-02-14", - "last_updated": "2026-02-14", - "modalities": { "input": ["text", "image", "video"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.45, "output": 2.24, "cache_read": 0.09, "cache_write": 0.0024 }, - "limit": { "context": 256000, "output": 64000 } - }, - "volcengine/doubao-seed-2.0-code": { - "id": "volcengine/doubao-seed-2.0-code", - "name": "Doubao Seed 2.0 Code", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2025-01-01", - "release_date": "2026-03-20", - "last_updated": "2026-03-20", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.9, "output": 4.48 }, - "limit": { "context": 256000, "output": 32000 } - }, - "volcengine/doubao-seed-1.8": { - "id": "volcengine/doubao-seed-1.8", - "name": "Doubao-Seed-1.8", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-01-01", - "release_date": "2025-12-18", - "last_updated": "2025-12-18", - "modalities": { "input": ["text", "image", "video"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.11, "output": 0.28, "cache_read": 0.02, "cache_write": 0.0024 }, - "limit": { "context": 256000, "output": 64000 } - }, - "volcengine/doubao-seed-code": { - "id": "volcengine/doubao-seed-code", - "name": "Doubao-Seed-Code", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-01-01", - "release_date": "2025-11-11", - "last_updated": "2025-11-11", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.17, "output": 1.12, "cache_read": 0.03 }, - "limit": { "context": 256000, "output": 64000 } - }, - "deepseek/deepseek-chat": { - "id": "deepseek/deepseek-chat", - "name": "DeepSeek-V3.2 (Non-thinking Mode)", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2025-01-01", - "release_date": "2025-12-01", - "last_updated": "2025-12-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.28, "output": 0.42, "cache_read": 0.03 }, - "limit": { "context": 128000, "output": 64000 } - }, - "deepseek/deepseek-v3.2-exp": { - "id": "deepseek/deepseek-v3.2-exp", - "name": "DeepSeek-V3.2-Exp", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-01-01", - "release_date": "2025-09-29", - "last_updated": "2025-09-29", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.22, "output": 0.33 }, - "limit": { "context": 163000, "output": 64000 } - }, - "deepseek/deepseek-v3.2": { - "id": "deepseek/deepseek-v3.2", - "name": "DeepSeek V3.2", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-01-01", - "release_date": "2025-12-05", - "last_updated": "2025-12-05", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.28, "output": 0.43 }, - "limit": { "context": 128000, "output": 64000 } - }, - "z-ai/glm-4.7-flash-free": { - "id": "z-ai/glm-4.7-flash-free", - "name": "GLM 4.7 Flash (Free)", - "attachment": false, - "reasoning": true, - "tool_call": true, - "interleaved": { "field": "reasoning_content" }, - "temperature": true, - "knowledge": "2025-01-01", - "release_date": "2026-01-19", - "last_updated": "2026-01-19", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 200000, "output": 64000 } - }, - "z-ai/glm-5-turbo": { - "id": "z-ai/glm-5-turbo", - "name": "GLM 5 Turbo", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-01-01", - "release_date": "2026-03-20", - "last_updated": "2026-03-20", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.88, "output": 3.48 }, - "limit": { "context": 200000, "output": 128000 } - }, - "z-ai/glm-4.5": { - "id": "z-ai/glm-4.5", - "name": "GLM 4.5", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-01-01", - "release_date": "2025-07-25", - "last_updated": "2025-07-25", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.35, "output": 1.54, "cache_read": 0.07 }, - "limit": { "context": 128000, "output": 64000 } - }, - "z-ai/glm-4.7-flashx": { - "id": "z-ai/glm-4.7-flashx", - "name": "GLM 4.7 FlashX", - "attachment": false, - "reasoning": true, - "tool_call": true, - "interleaved": { "field": "reasoning_content" }, - "temperature": true, - "knowledge": "2025-01-01", - "release_date": "2026-01-19", - "last_updated": "2026-01-19", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.07, "output": 0.42, "cache_read": 0.01 }, - "limit": { "context": 200000, "output": 64000 } - }, - "z-ai/glm-4.6": { - "id": "z-ai/glm-4.6", - "name": "GLM 4.6", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-01-01", - "release_date": "2025-09-30", - "last_updated": "2025-09-30", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.35, "output": 1.54, "cache_read": 0.07 }, - "limit": { "context": 200000, "output": 64000 } - }, - "z-ai/glm-4.6v": { - "id": "z-ai/glm-4.6v", - "name": "GLM 4.6V", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-01-01", - "release_date": "2025-12-08", - "last_updated": "2025-12-08", - "modalities": { "input": ["text", "image", "video"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.14, "output": 0.42, "cache_read": 0.03 }, - "limit": { "context": 200000, "output": 64000 } - }, - "z-ai/glm-5": { - "id": "z-ai/glm-5", - "name": "GLM 5", - "attachment": false, - "reasoning": true, - "tool_call": true, - "interleaved": { "field": "reasoning_content" }, - "temperature": true, - "knowledge": "2025-01-01", - "release_date": "2026-02-12", - "last_updated": "2026-02-12", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.58, "output": 2.6, "cache_read": 0.14 }, - "limit": { "context": 200000, "output": 128000 } - }, - "z-ai/glm-4.5-air": { - "id": "z-ai/glm-4.5-air", - "name": "GLM 4.5 Air", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-01-01", - "release_date": "2025-07-25", - "last_updated": "2025-07-25", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.11, "output": 0.56, "cache_read": 0.02 }, - "limit": { "context": 128000, "output": 64000 } - }, - "z-ai/glm-4.7": { - "id": "z-ai/glm-4.7", - "name": "GLM 4.7", - "attachment": false, - "reasoning": true, - "tool_call": true, - "interleaved": { "field": "reasoning_content" }, - "temperature": true, - "knowledge": "2025-01-01", - "release_date": "2025-12-23", - "last_updated": "2025-12-23", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.28, "output": 1.14, "cache_read": 0.06 }, - "limit": { "context": 200000, "output": 64000 } - }, - "z-ai/glm-4.6v-flash-free": { - "id": "z-ai/glm-4.6v-flash-free", - "name": "GLM 4.6V Flash (Free)", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-01-01", - "release_date": "2025-12-08", - "last_updated": "2025-12-08", - "modalities": { "input": ["text", "image", "video"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 200000, "output": 64000 } - }, - "z-ai/glm-4.6v-flash": { - "id": "z-ai/glm-4.6v-flash", - "name": "GLM 4.6V FlashX", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-01-01", - "release_date": "2025-12-08", - "last_updated": "2025-12-08", - "modalities": { "input": ["text", "image", "video"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.02, "output": 0.21, "cache_read": 0.0043 }, - "limit": { "context": 200000, "output": 64000 } - }, - "inclusionai/ring-1t": { - "id": "inclusionai/ring-1t", - "name": "Ring-1T", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-01-01", - "release_date": "2025-10-12", - "last_updated": "2025-10-12", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.56, "output": 2.24, "cache_read": 0.11 }, - "limit": { "context": 128000, "output": 64000 } - }, - "inclusionai/ling-1t": { - "id": "inclusionai/ling-1t", - "name": "Ling-1T", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2025-01-01", - "release_date": "2025-10-09", - "last_updated": "2025-10-09", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.56, "output": 2.24, "cache_read": 0.11 }, - "limit": { "context": 128000, "output": 64000 } - }, - "google/gemini-2.5-flash-lite": { - "id": "google/gemini-2.5-flash-lite", - "name": "Gemini 2.5 Flash Lite", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2025-01-01", - "release_date": "2025-07-22", - "last_updated": "2025-07-22", - "modalities": { "input": ["pdf", "image", "text", "audio"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.1, "output": 0.4, "cache_read": 0.03, "cache_write": 1 }, - "limit": { "context": 1048000, "output": 64000 } - }, - "google/gemini-3.1-pro-preview": { - "id": "google/gemini-3.1-pro-preview", - "name": "Gemini 3.1 Pro Preview", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2026-02-19", - "release_date": "2026-02-19", - "last_updated": "2026-02-19", - "modalities": { "input": ["text", "image", "pdf", "audio", "video"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2, "output": 12, "cache_read": 0.2, "cache_write": 4.5 }, - "limit": { "context": 1048000, "output": 64000 } - }, - "google/gemini-3-pro-preview": { - "id": "google/gemini-3-pro-preview", - "name": "Gemini 3 Pro Preview", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-01-01", - "release_date": "2025-11-18", - "last_updated": "2025-11-18", - "modalities": { "input": ["text", "image", "pdf", "audio", "video"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2, "output": 12, "cache_read": 0.2, "cache_write": 4.5 }, - "limit": { "context": 1048000, "output": 64000 } - }, - "google/gemini-3-flash-preview": { - "id": "google/gemini-3-flash-preview", - "name": "Gemini 3 Flash Preview", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-01-01", - "release_date": "2025-12-17", - "last_updated": "2025-12-17", - "modalities": { "input": ["text", "image", "pdf", "audio"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.5, "output": 3, "cache_read": 0.05, "cache_write": 1 }, - "limit": { "context": 1048000, "output": 64000 } - }, - "google/gemini-2.5-pro": { - "id": "google/gemini-2.5-pro", - "name": "Gemini 2.5 Pro", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-01-01", - "release_date": "2025-06-17", - "last_updated": "2025-06-17", - "modalities": { "input": ["pdf", "image", "text", "audio", "video"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.25, "output": 10, "cache_read": 0.31, "cache_write": 4.5 }, - "limit": { "context": 1048000, "output": 64000 } - }, - "google/gemini-2.5-flash": { - "id": "google/gemini-2.5-flash", - "name": "Gemini 2.5 Flash", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-01-01", - "release_date": "2025-06-17", - "last_updated": "2025-06-17", - "modalities": { "input": ["pdf", "image", "text", "audio"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.3, "output": 2.5, "cache_read": 0.07, "cache_write": 1 }, - "limit": { "context": 1048000, "output": 64000 } - }, - "google/gemini-3.1-flash-lite-preview": { - "id": "google/gemini-3.1-flash-lite-preview", - "name": "Gemini 3.1 Flash Lite Preview", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "release_date": "2025-03-20", - "last_updated": "2025-03-20", - "modalities": { "input": ["text", "image", "audio", "video"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.25, "output": 1.5 }, - "limit": { "context": 1050000, "output": 65530 } - }, - "baidu/ernie-5.0-thinking-preview": { - "id": "baidu/ernie-5.0-thinking-preview", - "name": "ERNIE 5.0", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-01-01", - "release_date": "2026-01-22", - "last_updated": "2026-01-22", - "modalities": { "input": ["text", "image", "video"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.84, "output": 3.37 }, - "limit": { "context": 128000, "output": 64000 } - }, - "minimax/minimax-m2.5-lightning": { - "id": "minimax/minimax-m2.5-lightning", - "name": "MiniMax M2.5 highspeed", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-01-01", - "release_date": "2026-02-13", - "last_updated": "2026-02-13", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.6, "output": 4.8, "cache_read": 0.06, "cache_write": 0.75 }, - "limit": { "context": 204800, "output": 131072 }, - "provider": { "npm": "@ai-sdk/anthropic", "api": "https://zenmux.ai/api/anthropic/v1" } - }, - "minimax/minimax-m2": { - "id": "minimax/minimax-m2", - "name": "MiniMax M2", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-01-01", - "release_date": "2025-10-27", - "last_updated": "2025-10-27", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.3, "output": 1.2, "cache_read": 0.03, "cache_write": 0.38 }, - "limit": { "context": 204000, "output": 64000 }, - "provider": { "npm": "@ai-sdk/anthropic", "api": "https://zenmux.ai/api/anthropic/v1" } - }, - "minimax/minimax-m2.1": { - "id": "minimax/minimax-m2.1", - "name": "MiniMax M2.1", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-01-01", - "release_date": "2025-12-22", - "last_updated": "2025-12-22", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.3, "output": 1.2, "cache_read": 0.03, "cache_write": 0.38 }, - "limit": { "context": 204000, "output": 64000 }, - "provider": { "npm": "@ai-sdk/anthropic", "api": "https://zenmux.ai/api/anthropic/v1" } - }, - "minimax/minimax-m2.7": { - "id": "minimax/minimax-m2.7", - "name": "MiniMax M2.7", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-01-01", - "release_date": "2026-03-20", - "last_updated": "2026-03-20", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.3055, "output": 1.2219 }, - "limit": { "context": 204800, "output": 131070 }, - "provider": { "npm": "@ai-sdk/anthropic", "api": "https://zenmux.ai/api/anthropic/v1" } - }, - "minimax/minimax-m2.7-highspeed": { - "id": "minimax/minimax-m2.7-highspeed", - "name": "MiniMax M2.7 highspeed", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-01-01", - "release_date": "2026-03-20", - "last_updated": "2026-03-20", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.611, "output": 2.4439 }, - "limit": { "context": 204800, "output": 131070 }, - "provider": { "npm": "@ai-sdk/anthropic", "api": "https://zenmux.ai/api/anthropic/v1" } - }, - "minimax/minimax-m2.5": { - "id": "minimax/minimax-m2.5", - "name": "MiniMax M2.5", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-01-01", - "release_date": "2026-02-13", - "last_updated": "2026-02-13", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.3, "output": 1.2, "cache_read": 0.03, "cache_write": 0.375 }, - "limit": { "context": 204800, "output": 131072 }, - "provider": { "npm": "@ai-sdk/anthropic", "api": "https://zenmux.ai/api/anthropic/v1" } - }, - "qwen/qwen3.5-plus": { - "id": "qwen/qwen3.5-plus", - "name": "Qwen3.5 Plus", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-01-01", - "release_date": "2026-03-20", - "last_updated": "2026-03-20", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.8, "output": 4.8 }, - "limit": { "context": 1000000, "output": 64000 } - }, - "qwen/qwen3-coder-plus": { - "id": "qwen/qwen3-coder-plus", - "name": "Qwen3-Coder-Plus", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2025-01-01", - "release_date": "2025-07-23", - "last_updated": "2025-07-23", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1, "output": 5, "cache_read": 0.1, "cache_write": 1.25 }, - "limit": { "context": 1000000, "output": 64000 } - }, - "qwen/qwen3-max": { - "id": "qwen/qwen3-max", - "name": "Qwen3-Max-Thinking", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-01-01", - "release_date": "2026-01-23", - "last_updated": "2026-01-23", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.2, "output": 6 }, - "limit": { "context": 256000, "output": 64000 } - }, - "qwen/qwen3.5-flash": { - "id": "qwen/qwen3.5-flash", - "name": "Qwen3.5 Flash", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2025-01-01", - "release_date": "2026-03-20", - "last_updated": "2026-03-20", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.1, "output": 0.4 }, - "limit": { "context": 1020000, "output": 1020000 } - }, - "xiaomi/mimo-v2-flash-free": { - "id": "xiaomi/mimo-v2-flash-free", - "name": "MiMo-V2-Flash Free", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-01-01", - "release_date": "2025-12-17", - "last_updated": "2025-12-17", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 262000, "output": 64000 } - }, - "xiaomi/mimo-v2-pro": { - "id": "xiaomi/mimo-v2-pro", - "name": "MiMo V2 Pro", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-01-01", - "release_date": "2026-03-20", - "last_updated": "2026-03-20", - "modalities": { "input": ["text", "image", "video"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.5, "output": 4.5 }, - "limit": { "context": 1000000, "output": 256000 } - }, - "xiaomi/mimo-v2-omni": { - "id": "xiaomi/mimo-v2-omni", - "name": "MiMo V2 Omni", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2025-01-01", - "release_date": "2026-03-20", - "last_updated": "2026-03-20", - "modalities": { "input": ["text", "image", "video"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.4, "output": 2 }, - "limit": { "context": 265000, "output": 265000 } - }, - "xiaomi/mimo-v2-flash": { - "id": "xiaomi/mimo-v2-flash", - "name": "MiMo-V2-Flash", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-01-01", - "release_date": "2025-12-17", - "last_updated": "2025-12-17", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.1, "output": 0.3, "cache_read": 0.01 }, - "limit": { "context": 262000, "output": 64000 } - }, - "stepfun/step-3.5-flash-free": { - "id": "stepfun/step-3.5-flash-free", - "name": "Step 3.5 Flash (Free)", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-01-01", - "release_date": "2026-02-02", - "last_updated": "2026-02-02", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 256000, "output": 64000 } - }, - "stepfun/step-3": { - "id": "stepfun/step-3", - "name": "Step-3", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-01-01", - "release_date": "2025-07-31", - "last_updated": "2025-07-31", - "modalities": { "input": ["image", "text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.21, "output": 0.57 }, - "limit": { "context": 65536, "output": 64000 } - }, - "stepfun/step-3.5-flash": { - "id": "stepfun/step-3.5-flash", - "name": "Step 3.5 Flash", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2025-01-01", - "release_date": "2026-02-02", - "last_updated": "2026-02-02", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.1, "output": 0.3 }, - "limit": { "context": 256000, "output": 64000 } - }, - "kuaishou/kat-coder-pro-v1-free": { - "id": "kuaishou/kat-coder-pro-v1-free", - "name": "KAT-Coder-Pro-V1 Free", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2025-01-01", - "release_date": "2025-10-23", - "last_updated": "2025-10-23", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 256000, "output": 64000 } - }, - "kuaishou/kat-coder-pro-v1": { - "id": "kuaishou/kat-coder-pro-v1", - "name": "KAT-Coder-Pro-V1", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2025-01-01", - "release_date": "2025-10-23", - "last_updated": "2025-10-23", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.3, "output": 1.2, "cache_read": 0.06 }, - "limit": { "context": 256000, "output": 64000 } - }, - "moonshotai/kimi-k2-thinking": { - "id": "moonshotai/kimi-k2-thinking", - "name": "Kimi K2 Thinking", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-01-01", - "release_date": "2025-11-06", - "last_updated": "2025-11-06", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.6, "output": 2.5, "cache_read": 0.15 }, - "limit": { "context": 262000, "output": 64000 } - }, - "moonshotai/kimi-k2.5": { - "id": "moonshotai/kimi-k2.5", - "name": "Kimi K2.5", - "attachment": true, - "reasoning": true, - "tool_call": true, - "interleaved": { "field": "reasoning_content" }, - "temperature": false, - "knowledge": "2025-01-01", - "release_date": "2026-01-27", - "last_updated": "2026-01-27", - "modalities": { "input": ["text", "image", "video"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.58, "output": 3.02, "cache_read": 0.1 }, - "limit": { "context": 262000, "output": 64000 } - }, - "moonshotai/kimi-k2-0905": { - "id": "moonshotai/kimi-k2-0905", - "name": "Kimi K2 0905", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2025-01-01", - "release_date": "2025-09-04", - "last_updated": "2025-09-04", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.6, "output": 2.5, "cache_read": 0.15 }, - "limit": { "context": 262000, "output": 64000 } - }, - "moonshotai/kimi-k2-thinking-turbo": { - "id": "moonshotai/kimi-k2-thinking-turbo", - "name": "Kimi K2 Thinking Turbo", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-01-01", - "release_date": "2025-11-06", - "last_updated": "2025-11-06", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.15, "output": 8, "cache_read": 0.15 }, - "limit": { "context": 262000, "output": 64000 } - } - } - }, - "perplexity": { - "id": "perplexity", - "env": ["PERPLEXITY_API_KEY"], - "npm": "@ai-sdk/perplexity", - "name": "Perplexity", - "doc": "https://docs.perplexity.ai", - "models": { - "sonar-deep-research": { - "id": "sonar-deep-research", - "name": "Perplexity Sonar Deep Research", - "attachment": false, - "reasoning": true, - "tool_call": false, - "temperature": false, - "knowledge": "2025-01", - "release_date": "2025-02-01", - "last_updated": "2025-09-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2, "output": 8, "reasoning": 3 }, - "limit": { "context": 128000, "output": 32768 } - }, - "sonar": { - "id": "sonar", - "name": "Sonar", - "family": "sonar", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "knowledge": "2025-09-01", - "release_date": "2024-01-01", - "last_updated": "2025-09-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1, "output": 1 }, - "limit": { "context": 128000, "output": 4096 } - }, - "sonar-reasoning-pro": { - "id": "sonar-reasoning-pro", - "name": "Sonar Reasoning Pro", - "family": "sonar-reasoning", - "attachment": true, - "reasoning": true, - "tool_call": false, - "temperature": true, - "knowledge": "2025-09-01", - "release_date": "2024-01-01", - "last_updated": "2025-09-01", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2, "output": 8 }, - "limit": { "context": 128000, "output": 4096 } - }, - "sonar-pro": { - "id": "sonar-pro", - "name": "Sonar Pro", - "family": "sonar-pro", - "attachment": true, - "reasoning": false, - "tool_call": false, - "temperature": true, - "knowledge": "2025-09-01", - "release_date": "2024-01-01", - "last_updated": "2025-09-01", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 3, "output": 15 }, - "limit": { "context": 200000, "output": 8192 } - } - } - }, - "privatemode-ai": { - "id": "privatemode-ai", - "env": ["PRIVATEMODE_API_KEY", "PRIVATEMODE_ENDPOINT"], - "npm": "@ai-sdk/openai-compatible", - "api": "http://localhost:8080/v1", - "name": "Privatemode AI", - "doc": "https://docs.privatemode.ai/api/overview", - "models": { - "gpt-oss-120b": { - "id": "gpt-oss-120b", - "name": "gpt-oss-120b", - "family": "gpt-oss", - "attachment": false, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2025-08", - "release_date": "2025-08-04", - "last_updated": "2025-08-14", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 128000, "output": 128000 } - }, - "qwen3-embedding-4b": { - "id": "qwen3-embedding-4b", - "name": "Qwen3-Embedding 4B", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "temperature": true, - "knowledge": "2025-06", - "release_date": "2025-06-06", - "last_updated": "2025-06-06", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 32000, "output": 2560 } - }, - "whisper-large-v3": { - "id": "whisper-large-v3", - "name": "Whisper large-v3", - "family": "whisper", - "attachment": true, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "temperature": true, - "knowledge": "2023-09", - "release_date": "2023-09-01", - "last_updated": "2023-09-01", - "modalities": { "input": ["audio"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 0, "output": 4096 } - }, - "gemma-3-27b": { - "id": "gemma-3-27b", - "name": "Gemma 3 27B", - "family": "gemma", - "attachment": true, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2024-08", - "release_date": "2025-03-12", - "last_updated": "2025-03-12", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 128000, "output": 8192 } - }, - "qwen3-coder-30b-a3b": { - "id": "qwen3-coder-30b-a3b", - "name": "Qwen3-Coder 30B-A3B", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2025-04", - "release_date": "2025-04", - "last_updated": "2025-04", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 128000, "output": 32768 } - } - } - }, - "perplexity-agent": { - "id": "perplexity-agent", - "env": ["PERPLEXITY_API_KEY"], - "npm": "@ai-sdk/openai", - "api": "https://api.perplexity.ai/v1", - "name": "Perplexity Agent", - "doc": "https://docs.perplexity.ai/docs/agent-api/models", - "models": { - "openai/gpt-5-mini": { - "id": "openai/gpt-5-mini", - "name": "GPT-5 Mini", - "family": "gpt-mini", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": false, - "knowledge": "2024-05-30", - "release_date": "2025-08-07", - "last_updated": "2025-08-07", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.25, "output": 2, "cache_read": 0.025 }, - "limit": { "context": 400000, "input": 272000, "output": 128000 } - }, - "openai/gpt-5.4": { - "id": "openai/gpt-5.4", - "name": "GPT-5.4", - "family": "gpt", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": false, - "knowledge": "2025-08-31", - "release_date": "2026-03-05", - "last_updated": "2026-03-05", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2.5, "output": 15, "cache_read": 0.25 }, - "limit": { "context": 1050000, "input": 922000, "output": 128000 } - }, - "openai/gpt-5.2": { - "id": "openai/gpt-5.2", - "name": "GPT-5.2", - "family": "gpt", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": false, - "knowledge": "2025-08-31", - "release_date": "2025-12-11", - "last_updated": "2025-12-11", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.75, "output": 14, "cache_read": 0.175 }, - "limit": { "context": 400000, "input": 272000, "output": 128000 } - }, - "openai/gpt-5.1": { - "id": "openai/gpt-5.1", - "name": "GPT-5.1", - "family": "gpt", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": false, - "knowledge": "2024-09-30", - "release_date": "2025-11-13", - "last_updated": "2025-11-13", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.25, "output": 10, "cache_read": 0.125 }, - "limit": { "context": 400000, "input": 272000, "output": 128000 } - }, - "anthropic/claude-opus-4-5": { - "id": "anthropic/claude-opus-4-5", - "name": "Claude Opus 4.5", - "family": "claude-opus", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-03-31", - "release_date": "2025-11-24", - "last_updated": "2025-11-24", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 5, "output": 25, "cache_read": 0.5 }, - "limit": { "context": 200000, "output": 64000 } - }, - "anthropic/claude-opus-4-6": { - "id": "anthropic/claude-opus-4-6", - "name": "Claude Opus 4.6", - "family": "claude-opus", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-05", - "release_date": "2026-02-05", - "last_updated": "2026-02-05", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 5, "output": 25, "cache_read": 0.5 }, - "limit": { "context": 200000, "output": 128000 } - }, - "anthropic/claude-sonnet-4-6": { - "id": "anthropic/claude-sonnet-4-6", - "name": "Claude Sonnet 4.6", - "family": "claude-sonnet", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-08", - "release_date": "2026-02-17", - "last_updated": "2026-02-17", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 3, "output": 15, "cache_read": 0.3 }, - "limit": { "context": 200000, "output": 64000 } - }, - "anthropic/claude-sonnet-4-5": { - "id": "anthropic/claude-sonnet-4-5", - "name": "Claude Sonnet 4.5", - "family": "claude-sonnet", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-07-31", - "release_date": "2025-09-29", - "last_updated": "2025-09-29", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 3, "output": 15, "cache_read": 0.3 }, - "limit": { "context": 200000, "output": 64000 } - }, - "anthropic/claude-haiku-4-5": { - "id": "anthropic/claude-haiku-4-5", - "name": "Claude Haiku 4.5", - "family": "claude-haiku", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-02-28", - "release_date": "2025-10-15", - "last_updated": "2025-10-15", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1, "output": 5, "cache_read": 0.1 }, - "limit": { "context": 200000, "output": 64000 } - }, - "xai/grok-4-1-fast-non-reasoning": { - "id": "xai/grok-4-1-fast-non-reasoning", - "name": "Grok 4.1 Fast (Non-Reasoning)", - "family": "grok", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2025-07", - "release_date": "2025-11-19", - "last_updated": "2025-11-19", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.2, "output": 0.5, "cache_read": 0.05 }, - "limit": { "context": 2000000, "output": 30000 } - }, - "nvidia/nemotron-3-super-120b-a12b": { - "id": "nvidia/nemotron-3-super-120b-a12b", - "name": "Nemotron 3 Super 120B", - "family": "nemotron", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2026-02", - "release_date": "2026-03-11", - "last_updated": "2026-03-11", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.25, "output": 2.5 }, - "limit": { "context": 1000000, "output": 32000 } - }, - "google/gemini-3.1-pro-preview": { - "id": "google/gemini-3.1-pro-preview", - "name": "Gemini 3.1 Pro Preview", - "family": "gemini-pro", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-01", - "release_date": "2026-02-19", - "last_updated": "2026-02-19", - "modalities": { "input": ["text", "image", "video", "audio", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { - "input": 2, - "output": 12, - "cache_read": 0.2, - "context_over_200k": { "input": 4, "output": 18, "cache_read": 0.4 } + "modalities": { + "input": ["text", "image"], + "output": ["text"] }, - "limit": { "context": 1048576, "output": 65536 } - }, - "google/gemini-3-flash-preview": { - "id": "google/gemini-3-flash-preview", - "name": "Gemini 3 Flash Preview", - "family": "gemini-flash", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-01", - "release_date": "2025-12-17", - "last_updated": "2025-12-17", - "modalities": { "input": ["text", "image", "video", "audio", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { - "input": 0.5, - "output": 3, - "cache_read": 0.05, - "context_over_200k": { "input": 0.5, "output": 3, "cache_read": 0.05 } - }, - "limit": { "context": 1048576, "output": 65536 } - }, - "google/gemini-2.5-pro": { - "id": "google/gemini-2.5-pro", - "name": "Gemini 2.5 Pro", - "family": "gemini-pro", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-01", - "release_date": "2025-03-20", - "last_updated": "2025-06-05", - "modalities": { "input": ["text", "image", "audio", "video", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { - "input": 1.25, - "output": 10, - "cache_read": 0.125, - "context_over_200k": { "input": 2.5, "output": 15, "cache_read": 0.25 } - }, - "limit": { "context": 1048576, "output": 65536 } - }, - "google/gemini-2.5-flash": { - "id": "google/gemini-2.5-flash", - "name": "Gemini 2.5 Flash", - "family": "gemini-flash", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-01", - "release_date": "2025-03-20", - "last_updated": "2025-06-05", - "modalities": { "input": ["text", "image", "audio", "video", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.3, "output": 2.5, "cache_read": 0.03 }, - "limit": { "context": 1048576, "output": 65536 } - }, - "perplexity/sonar": { - "id": "perplexity/sonar", - "name": "Sonar", - "family": "sonar", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2025-09-01", - "release_date": "2024-01-01", - "last_updated": "2025-09-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.25, "output": 2.5, "cache_read": 0.0625 }, - "limit": { "context": 128000, "output": 8192 } - } - } - }, - "gitlab": { - "id": "gitlab", - "env": ["GITLAB_TOKEN"], - "npm": "gitlab-ai-provider", - "name": "GitLab Duo", - "doc": "https://docs.gitlab.com/user/duo_agent_platform/", - "models": { - "duo-chat-gpt-5-1": { - "id": "duo-chat-gpt-5-1", - "name": "Agentic Chat (GPT-5.1)", - "family": "gpt", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": false, - "knowledge": "2024-09-30", - "release_date": "2026-01-22", - "last_updated": "2026-01-22", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 400000, "input": 272000, "output": 128000 } - }, - "duo-chat-gpt-5-2": { - "id": "duo-chat-gpt-5-2", - "name": "Agentic Chat (GPT-5.2)", - "family": "gpt", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": false, - "knowledge": "2025-08-31", - "release_date": "2026-01-23", - "last_updated": "2026-01-23", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 400000, "input": 272000, "output": 128000 } - }, - "duo-chat-sonnet-4-6": { - "id": "duo-chat-sonnet-4-6", - "name": "Agentic Chat (Claude Sonnet 4.6)", - "family": "claude-sonnet", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-08-31", - "release_date": "2026-02-17", - "last_updated": "2026-02-17", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0, "output": 0, "cache_read": 0, "cache_write": 0 }, - "limit": { "context": 1000000, "output": 64000 } - }, - "duo-chat-opus-4-6": { - "id": "duo-chat-opus-4-6", - "name": "Agentic Chat (Claude Opus 4.6)", - "family": "claude-opus", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-03-31", - "release_date": "2026-02-05", - "last_updated": "2026-02-05", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0, "output": 0, "cache_read": 0, "cache_write": 0 }, - "limit": { "context": 1000000, "output": 64000 } - }, - "duo-chat-haiku-4-5": { - "id": "duo-chat-haiku-4-5", - "name": "Agentic Chat (Claude Haiku 4.5)", - "family": "claude-haiku", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-02-28", - "release_date": "2026-01-08", - "last_updated": "2026-01-08", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0, "output": 0, "cache_read": 0, "cache_write": 0 }, - "limit": { "context": 200000, "output": 64000 } - }, - "duo-chat-gpt-5-codex": { - "id": "duo-chat-gpt-5-codex", - "name": "Agentic Chat (GPT-5 Codex)", - "family": "gpt-codex", - "attachment": false, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": false, - "knowledge": "2024-09-30", - "release_date": "2026-01-22", - "last_updated": "2026-01-22", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 400000, "input": 272000, "output": 128000 } - }, - "duo-chat-gpt-5-mini": { - "id": "duo-chat-gpt-5-mini", - "name": "Agentic Chat (GPT-5 Mini)", - "family": "gpt-mini", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": false, - "knowledge": "2024-05-30", - "release_date": "2026-01-22", - "last_updated": "2026-01-22", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 400000, "input": 272000, "output": 128000 } - }, - "duo-chat-gpt-5-2-codex": { - "id": "duo-chat-gpt-5-2-codex", - "name": "Agentic Chat (GPT-5.2 Codex)", - "family": "gpt-codex", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": false, - "knowledge": "2025-08-31", - "release_date": "2026-01-22", - "last_updated": "2026-01-22", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 400000, "input": 272000, "output": 128000 } - }, - "duo-chat-gpt-5-4-mini": { - "id": "duo-chat-gpt-5-4-mini", - "name": "Agentic Chat (GPT-5.4 Mini)", - "family": "gpt-mini", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": false, - "knowledge": "2025-08-31", - "release_date": "2026-03-17", - "last_updated": "2026-03-17", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 400000, "input": 272000, "output": 128000 } - }, - "duo-chat-gpt-5-3-codex": { - "id": "duo-chat-gpt-5-3-codex", - "name": "Agentic Chat (GPT-5.3 Codex)", - "family": "gpt-codex", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": false, - "knowledge": "2025-08-31", - "release_date": "2026-02-05", - "last_updated": "2026-02-05", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 400000, "input": 272000, "output": 128000 } - }, - "duo-chat-gpt-5-4-nano": { - "id": "duo-chat-gpt-5-4-nano", - "name": "Agentic Chat (GPT-5.4 Nano)", - "family": "gpt-nano", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": false, - "knowledge": "2025-08-31", - "release_date": "2026-03-17", - "last_updated": "2026-03-17", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 400000, "input": 272000, "output": 128000 } - }, - "duo-chat-gpt-5-4": { - "id": "duo-chat-gpt-5-4", - "name": "Agentic Chat (GPT-5.4)", - "family": "gpt", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": false, - "knowledge": "2025-08-31", - "release_date": "2026-03-05", - "last_updated": "2026-03-05", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 1050000, "input": 922000, "output": 128000 } - }, - "duo-chat-sonnet-4-5": { - "id": "duo-chat-sonnet-4-5", - "name": "Agentic Chat (Claude Sonnet 4.5)", - "family": "claude-sonnet", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-07-31", - "release_date": "2026-01-08", - "last_updated": "2026-01-08", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0, "output": 0, "cache_read": 0, "cache_write": 0 }, - "limit": { "context": 200000, "output": 64000 } - }, - "duo-chat-opus-4-5": { - "id": "duo-chat-opus-4-5", - "name": "Agentic Chat (Claude Opus 4.5)", - "family": "claude-opus", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-03-31", - "release_date": "2026-01-08", - "last_updated": "2026-01-08", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0, "output": 0, "cache_read": 0, "cache_write": 0 }, - "limit": { "context": 200000, "output": 64000 } - } - } - }, - "vivgrid": { - "id": "vivgrid", - "env": ["VIVGRID_API_KEY"], - "npm": "@ai-sdk/openai", - "api": "https://api.vivgrid.com/v1", - "name": "Vivgrid", - "doc": "https://docs.vivgrid.com/models", - "models": { - "gpt-5.2-codex": { - "id": "gpt-5.2-codex", - "name": "GPT-5.2 Codex", - "family": "gpt-codex", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": false, - "knowledge": "2025-08-31", - "release_date": "2026-01-14", - "last_updated": "2026-01-14", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.75, "output": 14, "cache_read": 0.175 }, - "limit": { "context": 400000, "output": 128000 } - }, - "gemini-3.1-pro-preview": { - "id": "gemini-3.1-pro-preview", - "name": "Gemini 3.1 Pro Preview", - "family": "gemini-pro", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2025-01", - "release_date": "2026-02-19", - "last_updated": "2026-02-19", - "modalities": { "input": ["text", "image", "video", "audio", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { - "input": 2, - "output": 12, - "cache_read": 0.2, - "context_over_200k": { "input": 4, "output": 18, "cache_read": 0.4 } - }, - "limit": { "context": 1048576, "output": 65536 }, - "provider": { "npm": "@ai-sdk/openai-compatible" } - }, - "gpt-5-mini": { - "id": "gpt-5-mini", - "name": "GPT-5 Mini", - "family": "gpt-mini", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": false, - "knowledge": "2024-05-30", - "release_date": "2025-08-07", - "last_updated": "2025-08-07", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.25, "output": 2, "cache_read": 0.03 }, - "limit": { "context": 272000, "output": 128000 }, - "provider": { "npm": "@ai-sdk/openai-compatible" } - }, - "gpt-5.1-codex-max": { - "id": "gpt-5.1-codex-max", - "name": "GPT-5.1 Codex Max", - "family": "gpt-codex", - "attachment": false, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": false, - "knowledge": "2024-09-30", - "release_date": "2025-11-13", - "last_updated": "2025-11-13", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.25, "output": 10, "cache_read": 0.125 }, - "limit": { "context": 400000, "output": 128000 } - }, - "gpt-5.4": { - "id": "gpt-5.4", - "name": "GPT-5.4", - "family": "gpt", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": false, - "knowledge": "2025-08-31", - "release_date": "2026-03-05", - "last_updated": "2026-03-05", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2.5, "output": 15, "cache_read": 0.25 }, - "limit": { "context": 400000, "input": 272000, "output": 128000 }, - "provider": { "npm": "@ai-sdk/openai-compatible" } - }, - "glm-5": { - "id": "glm-5", - "name": "GLM-5", - "family": "glm", - "attachment": false, - "reasoning": true, - "tool_call": true, - "interleaved": { "field": "reasoning_content" }, - "structured_output": true, - "temperature": true, - "release_date": "2026-02-12", - "last_updated": "2026-02-12", - "modalities": { "input": ["text"], "output": ["text"] }, "open_weights": true, - "cost": { "input": 1, "output": 3.2, "cache_read": 0.2 }, - "limit": { "context": 202752, "output": 131000 }, - "provider": { "npm": "@ai-sdk/openai-compatible" } - }, - "gemini-3.1-flash-lite-preview": { - "id": "gemini-3.1-flash-lite-preview", - "name": "Gemini 3.1 Flash Lite Preview", - "family": "gemini-flash-lite", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2025-01", - "release_date": "2026-03-03", - "last_updated": "2026-03-03", - "modalities": { "input": ["text", "image", "video", "audio", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.25, "output": 1.5, "cache_read": 0.025, "cache_write": 1 }, - "limit": { "context": 1048576, "output": 65536 }, - "provider": { "npm": "@ai-sdk/openai-compatible" } - }, - "deepseek-v3.2": { - "id": "deepseek-v3.2", - "name": "DeepSeek-V3.2", - "family": "deepseek", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2024-07", - "release_date": "2025-12-01", - "last_updated": "2025-12-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.28, "output": 0.42 }, - "limit": { "context": 128000, "output": 128000 }, - "provider": { "npm": "@ai-sdk/openai-compatible" } - }, - "gpt-5.1-codex": { - "id": "gpt-5.1-codex", - "name": "GPT-5.1 Codex", - "family": "gpt-codex", - "attachment": false, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": false, - "knowledge": "2024-09-30", - "release_date": "2025-11-13", - "last_updated": "2025-11-13", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.25, "output": 10, "cache_read": 0.125 }, - "limit": { "context": 400000, "output": 128000 } - } - } - }, - "helicone": { - "id": "helicone", - "env": ["HELICONE_API_KEY"], - "npm": "@ai-sdk/openai-compatible", - "api": "https://ai-gateway.helicone.ai/v1", - "name": "Helicone", - "doc": "https://helicone.ai/models", - "models": { - "qwen3-coder-30b-a3b-instruct": { - "id": "qwen3-coder-30b-a3b-instruct", - "name": "Qwen3 Coder 30B A3B Instruct", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2025-07", - "release_date": "2025-07-31", - "last_updated": "2025-07-31", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.09999999999999999, "output": 0.3 }, - "limit": { "context": 262144, "output": 262144 } - }, - "gemini-2.5-flash-lite": { - "id": "gemini-2.5-flash-lite", - "name": "Google Gemini 2.5 Flash Lite", - "family": "gemini-flash-lite", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-07", - "release_date": "2025-07-22", - "last_updated": "2025-07-22", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { - "input": 0.09999999999999999, - "output": 0.39999999999999997, - "cache_read": 0.024999999999999998, - "cache_write": 0.09999999999999999 + "limit": { + "context": 32768, + "output": 8192 }, - "limit": { "context": 1048576, "output": 65535 } + "cost": { + "input": 0, + "output": 0 + } }, - "gpt-5.1-codex-mini": { - "id": "gpt-5.1-codex-mini", - "name": "OpenAI: GPT-5.1 Codex Mini", - "family": "gpt-codex", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": false, - "knowledge": "2025-01", - "release_date": "2025-01-01", - "last_updated": "2025-01-01", - "modalities": { "input": ["text", "image"], "output": ["text", "image"] }, - "open_weights": false, - "cost": { "input": 0.25, "output": 2, "cache_read": 0.024999999999999998 }, - "limit": { "context": 400000, "output": 128000 } - }, - "llama-3.3-70b-versatile": { - "id": "llama-3.3-70b-versatile", - "name": "Meta Llama 3.3 70B Versatile", - "family": "llama", + "mistralai/Mistral-Nemo-Instruct-2407": { + "id": "mistralai/Mistral-Nemo-Instruct-2407", + "name": "Mistral Nemo Instruct 2407", + "family": "mistral", "attachment": false, "reasoning": false, "tool_call": true, + "structured_output": true, "temperature": true, - "knowledge": "2024-12", - "release_date": "2024-12-06", - "last_updated": "2024-12-06", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.59, "output": 0.7899999999999999 }, - "limit": { "context": 131072, "output": 32678 } - }, - "claude-4.5-opus": { - "id": "claude-4.5-opus", - "name": "Anthropic: Claude Opus 4.5", - "family": "claude-opus", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-11", - "release_date": "2025-11-24", - "last_updated": "2025-11-24", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 5, "output": 25, "cache_read": 0.5, "cache_write": 6.25 }, - "limit": { "context": 200000, "output": 64000 } - }, - "hermes-2-pro-llama-3-8b": { - "id": "hermes-2-pro-llama-3-8b", - "name": "Hermes 2 Pro Llama 3 8B", - "family": "llama", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-05", - "release_date": "2024-05-27", - "last_updated": "2024-05-27", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.14, "output": 0.14 }, - "limit": { "context": 131072, "output": 131072 } - }, - "o3-mini": { - "id": "o3-mini", - "name": "OpenAI o3 Mini", - "family": "o-mini", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": false, - "knowledge": "2023-10", - "release_date": "2023-10-01", - "last_updated": "2023-10-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.1, "output": 4.4, "cache_read": 0.55 }, - "limit": { "context": 200000, "output": 100000 } - }, - "deepseek-v3.1-terminus": { - "id": "deepseek-v3.1-terminus", - "name": "DeepSeek V3.1 Terminus", - "family": "deepseek", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-09", - "release_date": "2025-09-22", - "last_updated": "2025-09-22", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.27, "output": 1, "cache_read": 0.21600000000000003 }, - "limit": { "context": 128000, "output": 16384 } - }, - "deepseek-r1-distill-llama-70b": { - "id": "deepseek-r1-distill-llama-70b", - "name": "DeepSeek R1 Distill Llama 70B", - "family": "deepseek-thinking", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-01", - "release_date": "2025-01-20", - "last_updated": "2025-01-20", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.03, "output": 0.13 }, - "limit": { "context": 128000, "output": 4096 } - }, - "sonar-reasoning": { - "id": "sonar-reasoning", - "name": "Perplexity Sonar Reasoning", - "family": "sonar-reasoning", - "attachment": false, - "reasoning": true, - "tool_call": false, - "temperature": true, - "knowledge": "2025-01", - "release_date": "2025-01-27", - "last_updated": "2025-01-27", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1, "output": 5 }, - "limit": { "context": 127000, "output": 4096 } - }, - "gpt-5-pro": { - "id": "gpt-5-pro", - "name": "OpenAI: GPT-5 Pro", - "family": "gpt-pro", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": false, - "knowledge": "2025-01", - "release_date": "2025-01-01", - "last_updated": "2025-01-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 15, "output": 120 }, - "limit": { "context": 128000, "output": 32768 } - }, - "qwen3-vl-235b-a22b-instruct": { - "id": "qwen3-vl-235b-a22b-instruct", - "name": "Qwen3 VL 235B A22B Instruct", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2025-09", - "release_date": "2025-09-23", - "last_updated": "2025-09-23", - "modalities": { "input": ["text", "image", "video"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.3, "output": 1.5 }, - "limit": { "context": 256000, "output": 16384 } - }, - "kimi-k2-thinking": { - "id": "kimi-k2-thinking", - "name": "Kimi K2 Thinking", - "family": "kimi-thinking", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2025-11", - "release_date": "2025-11-06", - "last_updated": "2025-11-06", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.48, "output": 2 }, - "limit": { "context": 256000, "output": 262144 } - }, - "kimi-k2-0711": { - "id": "kimi-k2-0711", - "name": "Kimi K2 (07/11)", - "family": "kimi", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2025-01", - "release_date": "2025-01-01", - "last_updated": "2025-01-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.5700000000000001, "output": 2.3 }, - "limit": { "context": 131072, "output": 16384 } - }, - "gpt-5": { - "id": "gpt-5", - "name": "OpenAI GPT-5", - "family": "gpt", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": false, - "knowledge": "2025-01", - "release_date": "2025-01-01", - "last_updated": "2025-01-01", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.25, "output": 10, "cache_read": 0.12500000000000003 }, - "limit": { "context": 400000, "output": 128000 } - }, - "llama-3.3-70b-instruct": { - "id": "llama-3.3-70b-instruct", - "name": "Meta Llama 3.3 70B Instruct", - "family": "llama", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-12", - "release_date": "2024-12-06", - "last_updated": "2024-12-06", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.13, "output": 0.39 }, - "limit": { "context": 128000, "output": 16400 } - }, - "chatgpt-4o-latest": { - "id": "chatgpt-4o-latest", - "name": "OpenAI ChatGPT-4o", - "family": "gpt", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-08", - "release_date": "2024-08-14", - "last_updated": "2024-08-14", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 5, "output": 20, "cache_read": 2.5 }, - "limit": { "context": 128000, "output": 16384 } - }, - "deepseek-v3": { - "id": "deepseek-v3", - "name": "DeepSeek V3", - "family": "deepseek", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-12", - "release_date": "2024-12-26", - "last_updated": "2024-12-26", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.56, "output": 1.68, "cache_read": 0.07 }, - "limit": { "context": 128000, "output": 8192 } - }, - "gemma2-9b-it": { - "id": "gemma2-9b-it", - "name": "Google Gemma 2", - "family": "gemma", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "knowledge": "2024-06", - "release_date": "2024-06-25", - "last_updated": "2024-06-25", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.01, "output": 0.03 }, - "limit": { "context": 8192, "output": 8192 } - }, - "gemini-3-pro-preview": { - "id": "gemini-3-pro-preview", - "name": "Google Gemini 3 Pro Preview", - "family": "gemini-pro", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-11", - "release_date": "2025-11-18", - "last_updated": "2025-11-18", - "modalities": { "input": ["text", "image", "audio", "video"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2, "output": 12, "cache_read": 0.19999999999999998 }, - "limit": { "context": 1048576, "output": 65536 } - }, - "gpt-4o": { - "id": "gpt-4o", - "name": "OpenAI GPT-4o", - "family": "gpt", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-05", - "release_date": "2024-05-13", - "last_updated": "2024-05-13", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2.5, "output": 10, "cache_read": 1.25 }, - "limit": { "context": 128000, "output": 16384 } - }, - "grok-4-fast-non-reasoning": { - "id": "grok-4-fast-non-reasoning", - "name": "xAI Grok 4 Fast Non-Reasoning", - "family": "grok", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2025-09", - "release_date": "2025-09-19", - "last_updated": "2025-09-19", - "modalities": { "input": ["text", "image", "audio"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.19999999999999998, "output": 0.5, "cache_read": 0.049999999999999996 }, - "limit": { "context": 2000000, "output": 2000000 } - }, - "grok-4": { - "id": "grok-4", - "name": "xAI Grok 4", - "family": "grok", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-07", - "release_date": "2024-07-09", - "last_updated": "2024-07-09", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 3, "output": 15, "cache_read": 0.75 }, - "limit": { "context": 256000, "output": 256000 } - }, - "grok-code-fast-1": { - "id": "grok-code-fast-1", - "name": "xAI Grok Code Fast 1", - "family": "grok", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-08", - "release_date": "2024-08-25", - "last_updated": "2024-08-25", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.19999999999999998, "output": 1.5, "cache_read": 0.02 }, - "limit": { "context": 256000, "output": 10000 } - }, - "kimi-k2-0905": { - "id": "kimi-k2-0905", - "name": "Kimi K2 (09/05)", - "family": "kimi", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2025-09", - "release_date": "2025-09-05", - "last_updated": "2025-09-05", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.5, "output": 2, "cache_read": 0.39999999999999997 }, - "limit": { "context": 262144, "output": 16384 } - }, - "gpt-5-mini": { - "id": "gpt-5-mini", - "name": "OpenAI GPT-5 Mini", - "family": "gpt-mini", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": false, - "knowledge": "2025-01", - "release_date": "2025-01-01", - "last_updated": "2025-01-01", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.25, "output": 2, "cache_read": 0.024999999999999998 }, - "limit": { "context": 400000, "output": 128000 } - }, - "mistral-large-2411": { - "id": "mistral-large-2411", - "name": "Mistral-Large", - "family": "mistral-large", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-07", - "release_date": "2024-07-24", - "last_updated": "2024-07-24", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2, "output": 6 }, - "limit": { "context": 128000, "output": 32768 } - }, - "ernie-4.5-21b-a3b-thinking": { - "id": "ernie-4.5-21b-a3b-thinking", - "name": "Baidu Ernie 4.5 21B A3B Thinking", - "family": "ernie", - "attachment": false, - "reasoning": true, - "tool_call": false, - "temperature": true, - "knowledge": "2025-03", - "release_date": "2025-03-16", - "last_updated": "2025-03-16", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.07, "output": 0.28 }, - "limit": { "context": 128000, "output": 8000 } - }, - "llama-guard-4": { - "id": "llama-guard-4", - "name": "Meta Llama Guard 4 12B", - "family": "llama", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "knowledge": "2025-01", - "release_date": "2025-01-01", - "last_updated": "2025-01-01", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.21, "output": 0.21 }, - "limit": { "context": 131072, "output": 1024 } - }, - "claude-sonnet-4-5-20250929": { - "id": "claude-sonnet-4-5-20250929", - "name": "Anthropic: Claude Sonnet 4.5 (20250929)", - "family": "claude-sonnet", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-09", - "release_date": "2025-09-29", - "last_updated": "2025-09-29", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 3, "output": 15, "cache_read": 0.30000000000000004, "cache_write": 3.75 }, - "limit": { "context": 200000, "output": 64000 } - }, - "gpt-4o-mini": { - "id": "gpt-4o-mini", - "name": "OpenAI GPT-4o-mini", - "family": "gpt-mini", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-07", "release_date": "2024-07-18", "last_updated": "2024-07-18", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.15, "output": 0.6, "cache_read": 0.075 }, - "limit": { "context": 128000, "output": 16384 } - }, - "qwen2.5-coder-7b-fast": { - "id": "qwen2.5-coder-7b-fast", - "name": "Qwen2.5 Coder 7B fast", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "knowledge": "2024-09", - "release_date": "2024-09-15", - "last_updated": "2024-09-15", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.03, "output": 0.09 }, - "limit": { "context": 32000, "output": 8192 } - }, - "qwen3-30b-a3b": { - "id": "qwen3-30b-a3b", - "name": "Qwen3 30B A3B", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2025-06", - "release_date": "2025-06-01", - "last_updated": "2025-06-01", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.08, "output": 0.29 }, - "limit": { "context": 41000, "output": 41000 } - }, - "gpt-4.1": { - "id": "gpt-4.1", - "name": "OpenAI GPT-4.1", - "family": "gpt", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2025-04", - "release_date": "2025-04-14", - "last_updated": "2025-04-14", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2, "output": 8, "cache_read": 0.5 }, - "limit": { "context": 1047576, "output": 32768 } - }, - "llama-3.1-8b-instruct": { - "id": "llama-3.1-8b-instruct", - "name": "Meta Llama 3.1 8B Instruct", - "family": "llama", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-07", - "release_date": "2024-07-23", - "last_updated": "2024-07-23", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.02, "output": 0.049999999999999996 }, - "limit": { "context": 16384, "output": 16384 } - }, - "gpt-5.1-chat-latest": { - "id": "gpt-5.1-chat-latest", - "name": "OpenAI GPT-5.1 Chat", - "family": "gpt-codex", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": false, - "knowledge": "2025-01", - "release_date": "2025-01-01", - "last_updated": "2025-01-01", - "modalities": { "input": ["text", "image"], "output": ["text", "image"] }, - "open_weights": false, - "cost": { "input": 1.25, "output": 10, "cache_read": 0.12500000000000003 }, - "limit": { "context": 128000, "output": 16384 } - }, - "sonar-deep-research": { - "id": "sonar-deep-research", - "name": "Perplexity Sonar Deep Research", - "family": "sonar-deep-research", - "attachment": false, - "reasoning": true, - "tool_call": false, - "temperature": true, - "knowledge": "2025-01", - "release_date": "2025-01-27", - "last_updated": "2025-01-27", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2, "output": 8 }, - "limit": { "context": 127000, "output": 4096 } - }, - "sonar": { - "id": "sonar", - "name": "Perplexity Sonar", - "family": "sonar", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "knowledge": "2025-01", - "release_date": "2025-01-27", - "last_updated": "2025-01-27", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1, "output": 1 }, - "limit": { "context": 127000, "output": 4096 } - }, - "gpt-oss-120b": { - "id": "gpt-oss-120b", - "name": "OpenAI GPT-OSS 120b", - "family": "gpt-oss", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2024-06", - "release_date": "2024-06-01", - "last_updated": "2024-06-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.04, "output": 0.16 }, - "limit": { "context": 131072, "output": 131072 } - }, - "llama-4-scout": { - "id": "llama-4-scout", - "name": "Meta Llama 4 Scout 17B 16E", - "family": "llama", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2025-01", - "release_date": "2025-01-01", - "last_updated": "2025-01-01", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.08, "output": 0.3 }, - "limit": { "context": 131072, "output": 8192 } - }, - "llama-prompt-guard-2-22m": { - "id": "llama-prompt-guard-2-22m", - "name": "Meta Llama Prompt Guard 2 22M", - "family": "llama", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "knowledge": "2024-10", - "release_date": "2024-10-01", - "last_updated": "2024-10-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.01, "output": 0.01 }, - "limit": { "context": 512, "output": 2 } - }, - "qwen3-coder": { - "id": "qwen3-coder", - "name": "Qwen3 Coder 480B A35B Instruct Turbo", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2025-07", - "release_date": "2025-07-23", - "last_updated": "2025-07-23", - "modalities": { "input": ["text", "image", "audio", "video"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.22, "output": 0.95 }, - "limit": { "context": 262144, "output": 16384 } - }, - "o1": { - "id": "o1", - "name": "OpenAI: o1", - "family": "o", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": false, - "knowledge": "2025-01", - "release_date": "2025-01-01", - "last_updated": "2025-01-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 15, "output": 60, "cache_read": 7.5 }, - "limit": { "context": 200000, "output": 100000 } - }, - "codex-mini-latest": { - "id": "codex-mini-latest", - "name": "OpenAI Codex Mini Latest", - "family": "gpt-codex-mini", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": false, - "knowledge": "2025-01", - "release_date": "2025-01-01", - "last_updated": "2025-01-01", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.5, "output": 6, "cache_read": 0.375 }, - "limit": { "context": 200000, "output": 100000 } - }, - "o3": { - "id": "o3", - "name": "OpenAI o3", - "family": "o", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": false, - "knowledge": "2024-06", - "release_date": "2024-06-01", - "last_updated": "2024-06-01", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2, "output": 8, "cache_read": 0.5 }, - "limit": { "context": 200000, "output": 100000 } - }, - "grok-4-1-fast-non-reasoning": { - "id": "grok-4-1-fast-non-reasoning", - "name": "xAI Grok 4.1 Fast Non-Reasoning", - "family": "grok", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2025-11", - "release_date": "2025-11-17", - "last_updated": "2025-11-17", - "modalities": { "input": ["text", "image"], "output": ["text", "image"] }, - "open_weights": false, - "cost": { "input": 0.19999999999999998, "output": 0.5, "cache_read": 0.049999999999999996 }, - "limit": { "context": 2000000, "output": 30000 } - }, - "sonar-reasoning-pro": { - "id": "sonar-reasoning-pro", - "name": "Perplexity Sonar Reasoning Pro", - "family": "sonar-reasoning", - "attachment": false, - "reasoning": true, - "tool_call": false, - "temperature": true, - "knowledge": "2025-01", - "release_date": "2025-01-27", - "last_updated": "2025-01-27", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2, "output": 8 }, - "limit": { "context": 127000, "output": 4096 } - }, - "claude-3-haiku-20240307": { - "id": "claude-3-haiku-20240307", - "name": "Anthropic: Claude 3 Haiku", - "family": "claude-haiku", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-03", - "release_date": "2024-03-07", - "last_updated": "2024-03-07", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.25, "output": 1.25, "cache_read": 0.03, "cache_write": 0.3 }, - "limit": { "context": 200000, "output": 4096 } - }, - "llama-3.1-8b-instant": { - "id": "llama-3.1-8b-instant", - "name": "Meta Llama 3.1 8B Instant", - "family": "llama", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-07", - "release_date": "2024-07-01", - "last_updated": "2024-07-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.049999999999999996, "output": 0.08 }, - "limit": { "context": 131072, "output": 32678 } - }, - "deepseek-reasoner": { - "id": "deepseek-reasoner", - "name": "DeepSeek Reasoner", - "family": "deepseek-thinking", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "knowledge": "2025-01", - "release_date": "2025-01-20", - "last_updated": "2025-01-20", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.56, "output": 1.68, "cache_read": 0.07 }, - "limit": { "context": 128000, "output": 64000 } - }, - "claude-3.5-sonnet-v2": { - "id": "claude-3.5-sonnet-v2", - "name": "Anthropic: Claude 3.5 Sonnet v2", - "family": "claude-sonnet", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-10", - "release_date": "2024-10-22", - "last_updated": "2024-10-22", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 3, "output": 15, "cache_read": 0.30000000000000004, "cache_write": 3.75 }, - "limit": { "context": 200000, "output": 8192 } - }, - "llama-4-maverick": { - "id": "llama-4-maverick", - "name": "Meta Llama 4 Maverick 17B 128E", - "family": "llama", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2025-01", - "release_date": "2025-01-01", - "last_updated": "2025-01-01", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.15, "output": 0.6 }, - "limit": { "context": 131072, "output": 8192 } - }, - "grok-3-mini": { - "id": "grok-3-mini", - "name": "xAI Grok 3 Mini", - "family": "grok", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-06", - "release_date": "2024-06-01", - "last_updated": "2024-06-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.3, "output": 0.5, "cache_read": 0.075 }, - "limit": { "context": 131072, "output": 131072 } - }, - "gpt-4.1-mini-2025-04-14": { - "id": "gpt-4.1-mini-2025-04-14", - "name": "OpenAI GPT-4.1 Mini", - "family": "gpt-mini", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2025-04", - "release_date": "2025-04-14", - "last_updated": "2025-04-14", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.39999999999999997, "output": 1.5999999999999999, "cache_read": 0.09999999999999999 }, - "limit": { "context": 1047576, "output": 32768 } - }, - "claude-opus-4-1": { - "id": "claude-opus-4-1", - "name": "Anthropic: Claude Opus 4.1", - "family": "claude-opus", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-08", - "release_date": "2025-08-05", - "last_updated": "2025-08-05", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 15, "output": 75, "cache_read": 1.5, "cache_write": 18.75 }, - "limit": { "context": 200000, "output": 32000 } - }, - "glm-4.6": { - "id": "glm-4.6", - "name": "Zai GLM-4.6", - "family": "glm", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2024-07", - "release_date": "2024-07-18", - "last_updated": "2024-07-18", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.44999999999999996, "output": 1.5 }, - "limit": { "context": 204800, "output": 131072 } - }, - "llama-3.1-8b-instruct-turbo": { - "id": "llama-3.1-8b-instruct-turbo", - "name": "Meta Llama 3.1 8B Instruct Turbo", - "family": "llama", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-07", - "release_date": "2024-07-23", - "last_updated": "2024-07-23", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.02, "output": 0.03 }, - "limit": { "context": 128000, "output": 128000 } - }, - "claude-3.7-sonnet": { - "id": "claude-3.7-sonnet", - "name": "Anthropic: Claude 3.7 Sonnet", - "family": "claude-sonnet", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2025-02", - "release_date": "2025-02-19", - "last_updated": "2025-02-19", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 3, "output": 15, "cache_read": 0.30000000000000004, "cache_write": 3.75 }, - "limit": { "context": 200000, "output": 64000 } - }, - "gemini-2.5-pro": { - "id": "gemini-2.5-pro", - "name": "Google Gemini 2.5 Pro", - "family": "gemini-pro", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-06", - "release_date": "2025-06-17", - "last_updated": "2025-06-17", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.25, "output": 10, "cache_read": 0.3125, "cache_write": 1.25 }, - "limit": { "context": 1048576, "output": 65536 } - }, - "qwen3-235b-a22b-thinking": { - "id": "qwen3-235b-a22b-thinking", - "name": "Qwen3 235B A22B Thinking", - "family": "qwen", - "attachment": false, - "reasoning": true, - "tool_call": false, - "temperature": true, - "knowledge": "2025-07", - "release_date": "2025-07-25", - "last_updated": "2025-07-25", - "modalities": { "input": ["text", "image", "video"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.3, "output": 2.9000000000000004 }, - "limit": { "context": 262144, "output": 81920 } - }, - "claude-opus-4-1-20250805": { - "id": "claude-opus-4-1-20250805", - "name": "Anthropic: Claude Opus 4.1 (20250805)", - "family": "claude-opus", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-08", - "release_date": "2025-08-05", - "last_updated": "2025-08-05", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 15, "output": 75, "cache_read": 1.5, "cache_write": 18.75 }, - "limit": { "context": 200000, "output": 32000 } - }, - "claude-sonnet-4": { - "id": "claude-sonnet-4", - "name": "Anthropic: Claude Sonnet 4", - "family": "claude-sonnet", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-05", - "release_date": "2025-05-14", - "last_updated": "2025-05-14", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 3, "output": 15, "cache_read": 0.30000000000000004, "cache_write": 3.75 }, - "limit": { "context": 200000, "output": 64000 } - }, - "gemini-2.5-flash": { - "id": "gemini-2.5-flash", - "name": "Google Gemini 2.5 Flash", - "family": "gemini-flash", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-06", - "release_date": "2025-06-17", - "last_updated": "2025-06-17", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.3, "output": 2.5, "cache_read": 0.075, "cache_write": 0.3 }, - "limit": { "context": 1048576, "output": 65535 } - }, - "sonar-pro": { - "id": "sonar-pro", - "name": "Perplexity Sonar Pro", - "family": "sonar-pro", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "knowledge": "2025-01", - "release_date": "2025-01-27", - "last_updated": "2025-01-27", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 3, "output": 15 }, - "limit": { "context": 200000, "output": 4096 } - }, - "mistral-nemo": { - "id": "mistral-nemo", - "name": "Mistral Nemo", - "family": "mistral-nemo", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "knowledge": "2024-07", - "release_date": "2024-07-18", - "last_updated": "2024-07-18", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 20, "output": 40 }, - "limit": { "context": 128000, "output": 16400 } - }, - "qwen3-next-80b-a3b-instruct": { - "id": "qwen3-next-80b-a3b-instruct", - "name": "Qwen3 Next 80B A3B Instruct", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2025-01", - "release_date": "2025-01-01", - "last_updated": "2025-01-01", - "modalities": { "input": ["text", "image", "video"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.14, "output": 1.4 }, - "limit": { "context": 262000, "output": 16384 } - }, - "grok-4-1-fast-reasoning": { - "id": "grok-4-1-fast-reasoning", - "name": "xAI Grok 4.1 Fast Reasoning", - "family": "grok", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-11", - "release_date": "2025-11-17", - "last_updated": "2025-11-17", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.19999999999999998, "output": 0.5, "cache_read": 0.049999999999999996 }, - "limit": { "context": 2000000, "output": 2000000 } - }, - "gpt-5.1": { - "id": "gpt-5.1", - "name": "OpenAI GPT-5.1", - "family": "gpt", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": false, - "knowledge": "2025-01", - "release_date": "2025-01-01", - "last_updated": "2025-01-01", - "modalities": { "input": ["text", "image"], "output": ["text", "image"] }, - "open_weights": false, - "cost": { "input": 1.25, "output": 10, "cache_read": 0.12500000000000003 }, - "limit": { "context": 400000, "output": 128000 } - }, - "claude-3.5-haiku": { - "id": "claude-3.5-haiku", - "name": "Anthropic: Claude 3.5 Haiku", - "family": "claude-haiku", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-10", - "release_date": "2024-10-22", - "last_updated": "2024-10-22", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.7999999999999999, "output": 4, "cache_read": 0.08, "cache_write": 1 }, - "limit": { "context": 200000, "output": 8192 } - }, - "mistral-small": { - "id": "mistral-small", - "name": "Mistral Small", - "family": "mistral-small", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "knowledge": "2024-02", - "release_date": "2024-02-26", - "last_updated": "2024-02-26", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 75, "output": 200 }, - "limit": { "context": 128000, "output": 128000 } - }, - "gpt-4.1-mini": { - "id": "gpt-4.1-mini", - "name": "OpenAI GPT-4.1 Mini", - "family": "gpt-mini", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2025-04", - "release_date": "2025-04-14", - "last_updated": "2025-04-14", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.39999999999999997, "output": 1.5999999999999999, "cache_read": 0.09999999999999999 }, - "limit": { "context": 1047576, "output": 32768 } - }, - "gpt-5-chat-latest": { - "id": "gpt-5-chat-latest", - "name": "OpenAI GPT-5 Chat Latest", - "family": "gpt-codex", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": false, - "knowledge": "2024-09", - "release_date": "2024-09-30", - "last_updated": "2024-09-30", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.25, "output": 10, "cache_read": 0.12500000000000003 }, - "limit": { "context": 128000, "output": 16384 } - }, - "grok-4-fast-reasoning": { - "id": "grok-4-fast-reasoning", - "name": "xAI: Grok 4 Fast Reasoning", - "family": "grok", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-09", - "release_date": "2025-09-01", - "last_updated": "2025-09-01", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.19999999999999998, "output": 0.5, "cache_read": 0.049999999999999996 }, - "limit": { "context": 2000000, "output": 2000000 } - }, - "gpt-5-nano": { - "id": "gpt-5-nano", - "name": "OpenAI GPT-5 Nano", - "family": "gpt-nano", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": false, - "knowledge": "2025-01", - "release_date": "2025-01-01", - "last_updated": "2025-01-01", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.049999999999999996, "output": 0.39999999999999997, "cache_read": 0.005 }, - "limit": { "context": 400000, "output": 128000 } - }, - "grok-3": { - "id": "grok-3", - "name": "xAI Grok 3", - "family": "grok", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-06", - "release_date": "2024-06-01", - "last_updated": "2024-06-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 3, "output": 15, "cache_read": 0.75 }, - "limit": { "context": 131072, "output": 131072 } - }, - "deepseek-tng-r1t2-chimera": { - "id": "deepseek-tng-r1t2-chimera", - "name": "DeepSeek TNG R1T2 Chimera", - "family": "deepseek-thinking", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2025-07", - "release_date": "2025-07-02", - "last_updated": "2025-07-02", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.3, "output": 1.2 }, - "limit": { "context": 130000, "output": 163840 } - }, - "claude-haiku-4-5-20251001": { - "id": "claude-haiku-4-5-20251001", - "name": "Anthropic: Claude 4.5 Haiku (20251001)", - "family": "claude-haiku", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2025-10", - "release_date": "2025-10-01", - "last_updated": "2025-10-01", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1, "output": 5, "cache_read": 0.09999999999999999, "cache_write": 1.25 }, - "limit": { "context": 200000, "output": 8192 } - }, - "claude-4.5-sonnet": { - "id": "claude-4.5-sonnet", - "name": "Anthropic: Claude Sonnet 4.5", - "family": "claude-sonnet", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-09", - "release_date": "2025-09-29", - "last_updated": "2025-09-29", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 3, "output": 15, "cache_read": 0.30000000000000004, "cache_write": 3.75 }, - "limit": { "context": 200000, "output": 64000 } - }, - "o3-pro": { - "id": "o3-pro", - "name": "OpenAI o3 Pro", - "family": "o-pro", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": false, - "knowledge": "2024-06", - "release_date": "2024-06-01", - "last_updated": "2024-06-01", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 20, "output": 80 }, - "limit": { "context": 200000, "output": 100000 } - }, - "gpt-oss-20b": { - "id": "gpt-oss-20b", - "name": "OpenAI GPT-OSS 20b", - "family": "gpt-oss", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2024-06", - "release_date": "2024-06-01", - "last_updated": "2024-06-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.049999999999999996, "output": 0.19999999999999998 }, - "limit": { "context": 131072, "output": 131072 } - }, - "qwen3-32b": { - "id": "qwen3-32b", - "name": "Qwen3 32B", - "family": "qwen", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-04", - "release_date": "2025-04-28", - "last_updated": "2025-04-28", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.29, "output": 0.59 }, - "limit": { "context": 131072, "output": 40960 } - }, - "gpt-4.1-nano": { - "id": "gpt-4.1-nano", - "name": "OpenAI GPT-4.1 Nano", - "family": "gpt-nano", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2025-04", - "release_date": "2025-04-14", - "last_updated": "2025-04-14", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.09999999999999999, "output": 0.39999999999999997, "cache_read": 0.024999999999999998 }, - "limit": { "context": 1047576, "output": 32768 } - }, - "gemma-3-12b-it": { - "id": "gemma-3-12b-it", - "name": "Google Gemma 3 12B", - "family": "gemma", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "knowledge": "2024-12", - "release_date": "2024-12-01", - "last_updated": "2024-12-01", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.049999999999999996, "output": 0.09999999999999999 }, - "limit": { "context": 131072, "output": 8192 } - }, - "claude-4.5-haiku": { - "id": "claude-4.5-haiku", - "name": "Anthropic: Claude 4.5 Haiku", - "family": "claude-haiku", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2025-10", - "release_date": "2025-10-01", - "last_updated": "2025-10-01", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1, "output": 5, "cache_read": 0.09999999999999999, "cache_write": 1.25 }, - "limit": { "context": 200000, "output": 8192 } - }, - "deepseek-v3.2": { - "id": "deepseek-v3.2", - "name": "DeepSeek V3.2", - "family": "deepseek", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2025-09", - "release_date": "2025-09-22", - "last_updated": "2025-09-22", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.27, "output": 0.41 }, - "limit": { "context": 163840, "output": 65536 } - }, - "llama-prompt-guard-2-86m": { - "id": "llama-prompt-guard-2-86m", - "name": "Meta Llama Prompt Guard 2 86M", - "family": "llama", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "knowledge": "2024-10", - "release_date": "2024-10-01", - "last_updated": "2024-10-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.01, "output": 0.01 }, - "limit": { "context": 512, "output": 2 } - }, - "gpt-5-codex": { - "id": "gpt-5-codex", - "name": "OpenAI: GPT-5 Codex", - "family": "gpt-codex", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": false, - "knowledge": "2025-01", - "release_date": "2025-01-01", - "last_updated": "2025-01-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.25, "output": 10, "cache_read": 0.12500000000000003 }, - "limit": { "context": 400000, "output": 128000 } - }, - "o4-mini": { - "id": "o4-mini", - "name": "OpenAI o4 Mini", - "family": "o-mini", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": false, - "knowledge": "2024-06", - "release_date": "2024-06-01", - "last_updated": "2024-06-01", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.1, "output": 4.4, "cache_read": 0.275 }, - "limit": { "context": 200000, "output": 100000 } - }, - "gpt-5.1-codex": { - "id": "gpt-5.1-codex", - "name": "OpenAI: GPT-5.1 Codex", - "family": "gpt-codex", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": false, - "knowledge": "2025-01", - "release_date": "2025-01-01", - "last_updated": "2025-01-01", - "modalities": { "input": ["text", "image"], "output": ["text", "image"] }, - "open_weights": false, - "cost": { "input": 1.25, "output": 10, "cache_read": 0.12500000000000003 }, - "limit": { "context": 400000, "output": 128000 } - }, - "o1-mini": { - "id": "o1-mini", - "name": "OpenAI: o1-mini", - "family": "o-mini", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": false, - "knowledge": "2025-01", - "release_date": "2025-01-01", - "last_updated": "2025-01-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.1, "output": 4.4, "cache_read": 0.55 }, - "limit": { "context": 128000, "output": 65536 } - }, - "claude-opus-4": { - "id": "claude-opus-4", - "name": "Anthropic: Claude Opus 4", - "family": "claude-opus", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-05", - "release_date": "2025-05-14", - "last_updated": "2025-05-14", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 15, "output": 75, "cache_read": 1.5, "cache_write": 18.75 }, - "limit": { "context": 200000, "output": 32000 } - } - } - }, - "minimax": { - "id": "minimax", - "env": ["MINIMAX_API_KEY"], - "npm": "@ai-sdk/anthropic", - "api": "https://api.minimax.io/anthropic/v1", - "name": "MiniMax (minimax.io)", - "doc": "https://platform.minimax.io/docs/guides/quickstart", - "models": { - "MiniMax-M2.7": { - "id": "MiniMax-M2.7", - "name": "MiniMax-M2.7", - "family": "minimax", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2026-03-18", - "last_updated": "2026-03-18", - "modalities": { "input": ["text"], "output": ["text"] }, + "modalities": { + "input": ["text"], + "output": ["text"] + }, "open_weights": true, - "cost": { "input": 0.3, "output": 1.2, "cache_read": 0.06, "cache_write": 0.375 }, - "limit": { "context": 204800, "output": 131072 } + "limit": { + "context": 131072, + "output": 65536 + }, + "cost": { + "input": 0.02, + "output": 0.04 + } }, - "MiniMax-M2.1": { - "id": "MiniMax-M2.1", - "name": "MiniMax-M2.1", - "family": "minimax", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2025-12-23", - "last_updated": "2025-12-23", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.3, "output": 1.2 }, - "limit": { "context": 204800, "output": 131072 } - }, - "MiniMax-M2.5": { - "id": "MiniMax-M2.5", - "name": "MiniMax-M2.5", - "family": "minimax", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2026-02-12", - "last_updated": "2026-02-12", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.3, "output": 1.2, "cache_read": 0.03, "cache_write": 0.375 }, - "limit": { "context": 204800, "output": 131072 } - }, - "MiniMax-M2": { - "id": "MiniMax-M2", - "name": "MiniMax-M2", - "family": "minimax", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2025-10-27", - "last_updated": "2025-10-27", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.3, "output": 1.2 }, - "limit": { "context": 196608, "output": 128000 } - }, - "MiniMax-M2.5-highspeed": { - "id": "MiniMax-M2.5-highspeed", - "name": "MiniMax-M2.5-highspeed", - "family": "minimax", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2026-02-13", - "last_updated": "2026-02-13", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.6, "output": 2.4, "cache_read": 0.06, "cache_write": 0.375 }, - "limit": { "context": 204800, "output": 131072 } - }, - "MiniMax-M2.7-highspeed": { - "id": "MiniMax-M2.7-highspeed", - "name": "MiniMax-M2.7-highspeed", - "family": "minimax", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2026-03-18", - "last_updated": "2026-03-18", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.6, "output": 2.4, "cache_read": 0.06, "cache_write": 0.375 }, - "limit": { "context": 204800, "output": 131072 } - } - } - }, - "alibaba-coding-plan-cn": { - "id": "alibaba-coding-plan-cn", - "env": ["ALIBABA_CODING_PLAN_API_KEY"], - "npm": "@ai-sdk/openai-compatible", - "api": "https://coding.dashscope.aliyuncs.com/v1", - "name": "Alibaba Coding Plan (China)", - "doc": "https://help.aliyun.com/zh/model-studio/coding-plan", - "models": { - "qwen3.5-plus": { - "id": "qwen3.5-plus", - "name": "Qwen3.5 Plus", - "family": "qwen", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-04", - "release_date": "2026-02-16", - "last_updated": "2026-02-16", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0, "output": 0, "cache_read": 0, "cache_write": 0 }, - "limit": { "context": 1000000, "output": 65536 } - }, - "qwen3-coder-next": { - "id": "qwen3-coder-next", - "name": "Qwen3 Coder Next", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2026-02-03", - "last_updated": "2026-02-03", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0, "cache_read": 0, "cache_write": 0 }, - "limit": { "context": 262144, "output": 65536 } - }, - "kimi-k2.5": { - "id": "kimi-k2.5", - "name": "Kimi K2.5", - "family": "kimi", - "attachment": true, - "reasoning": true, - "tool_call": true, - "interleaved": { "field": "reasoning_content" }, - "temperature": true, - "knowledge": "2025-01", - "release_date": "2026-01-27", - "last_updated": "2026-01-27", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0, "cache_read": 0, "cache_write": 0 }, - "limit": { "context": 262144, "output": 32768 } - }, - "MiniMax-M2.5": { - "id": "MiniMax-M2.5", - "name": "MiniMax-M2.5", - "family": "minimax", - "attachment": false, - "reasoning": true, - "tool_call": true, - "interleaved": { "field": "reasoning_content" }, - "temperature": true, - "release_date": "2026-02-12", - "last_updated": "2026-02-12", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0, "cache_read": 0, "cache_write": 0 }, - "limit": { "context": 196608, "output": 24576 } - }, - "glm-5": { - "id": "glm-5", - "name": "GLM-5", - "family": "glm", - "attachment": false, - "reasoning": true, - "tool_call": true, - "interleaved": { "field": "reasoning_content" }, - "temperature": true, - "release_date": "2026-02-11", - "last_updated": "2026-02-11", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0, "output": 0, "cache_read": 0, "cache_write": 0 }, - "limit": { "context": 202752, "output": 16384 } - }, - "qwen3-coder-plus": { - "id": "qwen3-coder-plus", - "name": "Qwen3 Coder Plus", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2025-04", - "release_date": "2025-07-23", - "last_updated": "2025-07-23", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0, "cache_read": 0, "cache_write": 0 }, - "limit": { "context": 1000000, "output": 65536 } - }, - "glm-4.7": { - "id": "glm-4.7", - "name": "GLM-4.7", - "family": "glm", - "attachment": false, - "reasoning": true, - "tool_call": true, - "interleaved": { "field": "reasoning_content" }, - "temperature": true, - "knowledge": "2025-04", - "release_date": "2025-12-22", - "last_updated": "2025-12-22", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0, "cache_read": 0, "cache_write": 0 }, - "limit": { "context": 202752, "output": 16384 } - }, - "qwen3-max-2026-01-23": { - "id": "qwen3-max-2026-01-23", - "name": "Qwen3 Max", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2025-04", - "release_date": "2026-01-23", - "last_updated": "2026-01-23", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0, "output": 0, "cache_read": 0, "cache_write": 0 }, - "limit": { "context": 262144, "output": 32768 } - } - } - }, - "deepinfra": { - "id": "deepinfra", - "env": ["DEEPINFRA_API_KEY"], - "npm": "@ai-sdk/deepinfra", - "name": "Deep Infra", - "doc": "https://deepinfra.com/models", - "models": { - "openai/gpt-oss-120b": { - "id": "openai/gpt-oss-120b", - "name": "GPT OSS 120B", - "family": "gpt-oss", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2025-08-05", - "last_updated": "2025-08-05", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.05, "output": 0.24 }, - "limit": { "context": 131072, "output": 16384 } - }, - "openai/gpt-oss-20b": { - "id": "openai/gpt-oss-20b", - "name": "GPT OSS 20B", - "family": "gpt-oss", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2025-08-05", - "last_updated": "2025-08-05", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.03, "output": 0.14 }, - "limit": { "context": 131072, "output": 16384 } - }, - "anthropic/claude-4-opus": { - "id": "anthropic/claude-4-opus", - "name": "Claude Opus 4", - "family": "claude-opus", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-03-31", - "release_date": "2025-06-12", - "last_updated": "2025-06-12", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 16.5, "output": 82.5 }, - "limit": { "context": 200000, "output": 32000 } - }, - "anthropic/claude-3-7-sonnet-latest": { - "id": "anthropic/claude-3-7-sonnet-latest", - "name": "Claude Sonnet 3.7 (Latest)", - "family": "claude-sonnet", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2024-10-31", - "release_date": "2025-03-13", - "last_updated": "2025-03-13", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 3.3, "output": 16.5, "cache_read": 0.33 }, - "limit": { "context": 200000, "output": 64000 } - }, - "zai-org/GLM-4.7": { - "id": "zai-org/GLM-4.7", - "name": "GLM-4.7", - "family": "glm", - "attachment": false, - "reasoning": true, - "tool_call": true, - "interleaved": { "field": "reasoning_content" }, - "temperature": true, - "knowledge": "2025-04", - "release_date": "2025-12-22", - "last_updated": "2025-12-22", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.43, "output": 1.75, "cache_read": 0.08 }, - "limit": { "context": 202752, "output": 16384 } - }, - "zai-org/GLM-4.6V": { - "id": "zai-org/GLM-4.6V", - "name": "GLM-4.6V", - "family": "glm", - "attachment": true, - "reasoning": true, - "tool_call": true, - "interleaved": { "field": "reasoning_content" }, - "temperature": true, - "knowledge": "2025-04", - "release_date": "2025-09-30", - "last_updated": "2025-09-30", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.3, "output": 0.9 }, - "limit": { "context": 204800, "output": 131072 } - }, - "zai-org/GLM-4.7-Flash": { - "id": "zai-org/GLM-4.7-Flash", - "name": "GLM-4.7-Flash", - "family": "glm-flash", - "attachment": false, - "reasoning": true, - "tool_call": true, - "interleaved": { "field": "reasoning_content" }, - "temperature": true, - "knowledge": "2025-04", - "release_date": "2026-01-19", - "last_updated": "2026-01-19", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.06, "output": 0.4 }, - "limit": { "context": 202752, "output": 16384 } - }, - "zai-org/GLM-4.5": { - "id": "zai-org/GLM-4.5", - "name": "GLM-4.5", - "family": "glm", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2025-04", - "release_date": "2025-07-28", - "last_updated": "2025-07-28", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.6, "output": 2.2 }, - "limit": { "context": 131072, "output": 98304 }, - "status": "deprecated" - }, - "zai-org/GLM-5": { - "id": "zai-org/GLM-5", - "name": "GLM-5", - "family": "glm", - "attachment": false, - "reasoning": true, - "tool_call": true, - "interleaved": { "field": "reasoning_content" }, - "temperature": true, - "knowledge": "2025-12", - "release_date": "2026-02-12", - "last_updated": "2026-02-12", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.8, "output": 2.56, "cache_read": 0.16 }, - "limit": { "context": 202752, "output": 16384 } - }, - "zai-org/GLM-4.6": { - "id": "zai-org/GLM-4.6", - "name": "GLM-4.6", - "family": "glm", - "attachment": false, - "reasoning": true, - "tool_call": true, - "interleaved": { "field": "reasoning_content" }, - "temperature": true, - "knowledge": "2025-04", - "release_date": "2025-09-30", - "last_updated": "2025-09-30", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.43, "output": 1.74, "cache_read": 0.08 }, - "limit": { "context": 204800, "output": 131072 } - }, - "meta-llama/Llama-4-Scout-17B-16E-Instruct": { - "id": "meta-llama/Llama-4-Scout-17B-16E-Instruct", - "name": "Llama 4 Scout 17B", - "family": "llama", - "attachment": false, - "reasoning": false, - "tool_call": true, - "release_date": "2025-04-05", - "last_updated": "2025-04-05", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.08, "output": 0.3 }, - "limit": { "context": 10000000, "output": 16384 } - }, - "meta-llama/Llama-3.1-8B-Instruct": { - "id": "meta-llama/Llama-3.1-8B-Instruct", - "name": "Llama 3.1 8B", - "family": "llama", - "attachment": false, - "reasoning": false, - "tool_call": true, - "release_date": "2024-07-23", - "last_updated": "2024-07-23", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.02, "output": 0.05 }, - "limit": { "context": 131072, "output": 16384 } - }, - "meta-llama/Llama-3.1-8B-Instruct-Turbo": { - "id": "meta-llama/Llama-3.1-8B-Instruct-Turbo", - "name": "Llama 3.1 8B Turbo", - "family": "llama", - "attachment": false, - "reasoning": false, - "tool_call": true, - "release_date": "2024-07-23", - "last_updated": "2024-07-23", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.02, "output": 0.03 }, - "limit": { "context": 131072, "output": 16384 } - }, - "meta-llama/Llama-3.1-70B-Instruct-Turbo": { - "id": "meta-llama/Llama-3.1-70B-Instruct-Turbo", - "name": "Llama 3.1 70B Turbo", - "family": "llama", - "attachment": false, - "reasoning": false, - "tool_call": true, - "release_date": "2024-07-23", - "last_updated": "2024-07-23", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.4, "output": 0.4 }, - "limit": { "context": 131072, "output": 16384 } - }, - "meta-llama/Llama-3.1-70B-Instruct": { - "id": "meta-llama/Llama-3.1-70B-Instruct", - "name": "Llama 3.1 70B", - "family": "llama", - "attachment": false, - "reasoning": false, - "tool_call": true, - "release_date": "2024-07-23", - "last_updated": "2024-07-23", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.4, "output": 0.4 }, - "limit": { "context": 131072, "output": 16384 } - }, - "meta-llama/Llama-3.3-70B-Instruct-Turbo": { - "id": "meta-llama/Llama-3.3-70B-Instruct-Turbo", - "name": "Llama 3.3 70B Turbo", - "family": "llama", - "attachment": false, - "reasoning": false, - "tool_call": true, - "release_date": "2024-12-06", - "last_updated": "2024-12-06", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.1, "output": 0.32 }, - "limit": { "context": 131072, "output": 16384 } - }, - "meta-llama/Llama-4-Maverick-17B-128E-Instruct-FP8": { - "id": "meta-llama/Llama-4-Maverick-17B-128E-Instruct-FP8", - "name": "Llama 4 Maverick 17B FP8", - "family": "llama", - "attachment": false, - "reasoning": false, - "tool_call": true, - "release_date": "2025-04-05", - "last_updated": "2025-04-05", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.15, "output": 0.6 }, - "limit": { "context": 1000000, "output": 16384 } - }, - "MiniMaxAI/MiniMax-M2.1": { - "id": "MiniMaxAI/MiniMax-M2.1", - "name": "MiniMax M2.1", - "attachment": false, - "reasoning": true, - "tool_call": true, - "interleaved": { "field": "reasoning_content" }, - "temperature": true, - "knowledge": "2025-06", - "release_date": "2025-12-23", - "last_updated": "2025-12-23", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.28, "output": 1.2 }, - "limit": { "context": 196608, "output": 196608 } - }, - "MiniMaxAI/MiniMax-M2.5": { - "id": "MiniMaxAI/MiniMax-M2.5", - "name": "MiniMax M2.5", - "family": "minimax", - "attachment": false, - "reasoning": true, - "tool_call": true, - "interleaved": { "field": "reasoning_content" }, - "temperature": true, - "knowledge": "2025-06", - "release_date": "2026-02-12", - "last_updated": "2026-02-12", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.27, "output": 0.95, "cache_read": 0.03, "cache_write": 0.375 }, - "limit": { "context": 204800, "output": 131072 } - }, - "MiniMaxAI/MiniMax-M2": { - "id": "MiniMaxAI/MiniMax-M2", - "name": "MiniMax M2", - "family": "minimax", - "attachment": false, - "reasoning": true, - "tool_call": true, - "interleaved": { "field": "reasoning_content" }, - "temperature": true, - "knowledge": "2024-10", - "release_date": "2025-11-13", - "last_updated": "2025-11-13", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.254, "output": 1.02 }, - "limit": { "context": 262144, "output": 32768 } - }, - "deepseek-ai/DeepSeek-R1-0528": { - "id": "deepseek-ai/DeepSeek-R1-0528", - "name": "DeepSeek-R1-0528", - "attachment": false, - "reasoning": true, - "tool_call": false, - "interleaved": { "field": "reasoning_content" }, - "temperature": true, - "knowledge": "2024-07", - "release_date": "2025-05-28", - "last_updated": "2025-05-28", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.5, "output": 2.15, "cache_read": 0.35 }, - "limit": { "context": 163840, "output": 64000 } - }, - "deepseek-ai/DeepSeek-V3.2": { - "id": "deepseek-ai/DeepSeek-V3.2", - "name": "DeepSeek-V3.2", - "attachment": false, - "reasoning": true, - "tool_call": true, - "interleaved": { "field": "reasoning_content" }, - "temperature": true, - "knowledge": "2024-12", - "release_date": "2025-12-02", - "last_updated": "2025-12-02", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.26, "output": 0.38, "cache_read": 0.13 }, - "limit": { "context": 163840, "output": 64000 } - }, - "Qwen/Qwen3-Coder-480B-A35B-Instruct-Turbo": { - "id": "Qwen/Qwen3-Coder-480B-A35B-Instruct-Turbo", - "name": "Qwen3 Coder 480B A35B Instruct Turbo", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2025-04", - "release_date": "2025-07-23", - "last_updated": "2025-07-23", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.3, "output": 1.2 }, - "limit": { "context": 262144, "output": 66536 } - }, - "Qwen/Qwen3-Coder-480B-A35B-Instruct": { - "id": "Qwen/Qwen3-Coder-480B-A35B-Instruct", - "name": "Qwen3 Coder 480B A35B Instruct", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2025-04", - "release_date": "2025-07-23", - "last_updated": "2025-07-23", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.4, "output": 1.6 }, - "limit": { "context": 262144, "output": 66536 } - }, - "moonshotai/Kimi-K2-Instruct": { - "id": "moonshotai/Kimi-K2-Instruct", - "name": "Kimi K2", - "family": "kimi", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-10", - "release_date": "2025-07-11", - "last_updated": "2025-07-11", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.5, "output": 2 }, - "limit": { "context": 131072, "output": 32768 } - }, - "moonshotai/Kimi-K2.5": { - "id": "moonshotai/Kimi-K2.5", - "name": "Kimi K2.5", - "family": "kimi", - "attachment": true, - "reasoning": true, - "tool_call": true, - "interleaved": { "field": "reasoning_content" }, - "structured_output": true, - "temperature": true, - "knowledge": "2025-01", - "release_date": "2026-01-27", - "last_updated": "2026-01-27", - "modalities": { "input": ["text", "image", "video"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.5, "output": 2.8 }, - "limit": { "context": 262144, "output": 32768 } - }, - "moonshotai/Kimi-K2-Instruct-0905": { - "id": "moonshotai/Kimi-K2-Instruct-0905", - "name": "Kimi K2 0905", - "family": "kimi", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-10", - "release_date": "2025-09-05", - "last_updated": "2025-09-05", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.4, "output": 2, "cache_read": 0.15 }, - "limit": { "context": 262144, "output": 262144 } - }, - "moonshotai/Kimi-K2-Thinking": { - "id": "moonshotai/Kimi-K2-Thinking", - "name": "Kimi K2 Thinking", - "family": "kimi-thinking", - "attachment": false, - "reasoning": true, - "tool_call": true, - "interleaved": { "field": "reasoning_content" }, - "temperature": true, - "knowledge": "2024-10", - "release_date": "2025-11-06", - "last_updated": "2025-11-07", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.47, "output": 2 }, - "limit": { "context": 131072, "output": 32768 } - } - } - }, - "xiaomi": { - "id": "xiaomi", - "env": ["XIAOMI_API_KEY"], - "npm": "@ai-sdk/openai-compatible", - "api": "https://api.xiaomimimo.com/v1", - "name": "Xiaomi", - "doc": "https://platform.xiaomimimo.com/#/docs", - "models": { - "mimo-v2-pro": { - "id": "mimo-v2-pro", - "name": "MiMo-V2-Pro", - "family": "mimo", - "attachment": true, - "reasoning": true, - "tool_call": true, - "interleaved": { "field": "reasoning_content" }, - "temperature": true, - "knowledge": "2024-12", - "release_date": "2026-03-18", - "last_updated": "2026-03-18", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 1, "output": 3, "cache_read": 0.2 }, - "limit": { "context": 1000000, "output": 128000 } - }, - "mimo-v2-omni": { - "id": "mimo-v2-omni", - "name": "MiMo-V2-Omni", - "family": "mimo", - "attachment": true, - "reasoning": true, - "tool_call": true, - "interleaved": { "field": "reasoning_content" }, - "temperature": true, - "knowledge": "2024-12", - "release_date": "2026-03-18", - "last_updated": "2026-03-18", - "modalities": { "input": ["text", "image", "audio", "video", "pdf"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.4, "output": 2, "cache_read": 0.08 }, - "limit": { "context": 256000, "output": 128000 } - }, - "mimo-v2-flash": { - "id": "mimo-v2-flash", - "name": "MiMo-V2-Flash", + "XiaomiMiMo/MiMo-V2-Flash": { + "id": "XiaomiMiMo/MiMo-V2-Flash", + "name": "MiMo V2 Flash", "family": "mimo", "attachment": false, "reasoning": true, "tool_call": true, - "interleaved": { "field": "reasoning_content" }, "temperature": true, "knowledge": "2024-12-01", - "release_date": "2025-12-16", - "last_updated": "2026-02-04", - "modalities": { "input": ["text"], "output": ["text"] }, + "release_date": "2025-12-17", + "last_updated": "2025-12-17", + "modalities": { + "input": ["text"], + "output": ["text"] + }, "open_weights": true, - "cost": { "input": 0.1, "output": 0.3, "cache_read": 0.01 }, - "limit": { "context": 256000, "output": 64000 } - } - } - }, - "amazon-bedrock": { - "id": "amazon-bedrock", - "env": ["AWS_ACCESS_KEY_ID", "AWS_SECRET_ACCESS_KEY", "AWS_REGION", "AWS_BEARER_TOKEN_BEDROCK"], - "npm": "@ai-sdk/amazon-bedrock", - "name": "Amazon Bedrock", - "doc": "https://docs.aws.amazon.com/bedrock/latest/userguide/models-supported.html", - "models": { - "google.gemma-3-27b-it": { - "id": "google.gemma-3-27b-it", - "name": "Google Gemma 3 27B Instruct", - "family": "gemma", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2025-07", - "release_date": "2025-07-27", - "last_updated": "2025-07-27", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.12, "output": 0.2 }, - "limit": { "context": 202752, "output": 8192 } + "limit": { + "context": 262144, + "output": 32000 + }, + "cost": { + "input": 0.1, + "output": 0.3 + } }, - "qwen.qwen3-coder-480b-a35b-v1:0": { - "id": "qwen.qwen3-coder-480b-a35b-v1:0", - "name": "Qwen3 Coder 480B A35B Instruct", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-04", - "release_date": "2025-09-18", - "last_updated": "2025-09-18", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.22, "output": 1.8 }, - "limit": { "context": 131072, "output": 65536 } - }, - "moonshotai.kimi-k2.5": { - "id": "moonshotai.kimi-k2.5", - "name": "Kimi K2.5", - "family": "kimi", - "attachment": false, - "reasoning": true, - "tool_call": true, - "interleaved": true, - "temperature": true, - "release_date": "2026-02-06", - "last_updated": "2026-02-06", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.6, "output": 3 }, - "limit": { "context": 256000, "output": 256000 } - }, - "meta.llama3-1-405b-instruct-v1:0": { - "id": "meta.llama3-1-405b-instruct-v1:0", - "name": "Llama 3.1 405B Instruct", - "family": "llama", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2023-12", - "release_date": "2024-07-23", - "last_updated": "2024-07-23", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 2.4, "output": 2.4 }, - "limit": { "context": 128000, "output": 4096 } - }, - "deepseek.v3.2": { - "id": "deepseek.v3.2", - "name": "DeepSeek-V3.2", - "family": "deepseek", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2024-07", - "release_date": "2026-02-06", - "last_updated": "2026-02-06", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.62, "output": 1.85 }, - "limit": { "context": 163840, "output": 81920 } - }, - "global.anthropic.claude-sonnet-4-6": { - "id": "global.anthropic.claude-sonnet-4-6", - "name": "Claude Sonnet 4.6 (Global)", - "family": "claude-sonnet", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-08", - "release_date": "2026-02-17", - "last_updated": "2026-03-18", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 3, "output": 15, "cache_read": 0.3, "cache_write": 3.75 }, - "limit": { "context": 1000000, "output": 64000 } - }, - "nvidia.nemotron-super-3-120b": { - "id": "nvidia.nemotron-super-3-120b", - "name": "NVIDIA Nemotron 3 Super 120B A12B", - "family": "nemotron", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2026-03-11", - "last_updated": "2026-03-11", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.15, "output": 0.65 }, - "limit": { "context": 262144, "output": 131072 } - }, - "minimax.minimax-m2.1": { - "id": "minimax.minimax-m2.1", - "name": "MiniMax M2.1", - "family": "minimax", - "attachment": false, - "reasoning": true, - "tool_call": true, - "structured_output": false, - "temperature": true, - "release_date": "2025-12-23", - "last_updated": "2025-12-23", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.3, "output": 1.2 }, - "limit": { "context": 204800, "output": 131072 } - }, - "us.anthropic.claude-sonnet-4-20250514-v1:0": { - "id": "us.anthropic.claude-sonnet-4-20250514-v1:0", - "name": "Claude Sonnet 4 (US)", - "family": "claude-sonnet", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2024-04", - "release_date": "2025-05-22", - "last_updated": "2025-05-22", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 3, "output": 15, "cache_read": 0.3, "cache_write": 3.75 }, - "limit": { "context": 200000, "output": 64000 } - }, - "meta.llama3-3-70b-instruct-v1:0": { - "id": "meta.llama3-3-70b-instruct-v1:0", + "meta-llama/Llama-3.3-70B-Instruct": { + "id": "meta-llama/Llama-3.3-70B-Instruct", "name": "Llama 3.3 70B Instruct", "family": "llama", "attachment": false, "reasoning": false, "tool_call": true, "temperature": true, - "knowledge": "2023-12", "release_date": "2024-12-06", "last_updated": "2024-12-06", - "modalities": { "input": ["text"], "output": ["text"] }, + "modalities": { + "input": ["text"], + "output": ["text"] + }, "open_weights": true, - "cost": { "input": 0.72, "output": 0.72 }, - "limit": { "context": 128000, "output": 4096 } - }, - "google.gemma-3-12b-it": { - "id": "google.gemma-3-12b-it", - "name": "Google Gemma 3 12B", - "family": "gemma", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "knowledge": "2024-12", - "release_date": "2024-12-01", - "last_updated": "2024-12-01", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.049999999999999996, "output": 0.09999999999999999 }, - "limit": { "context": 131072, "output": 8192 } - }, - "us.anthropic.claude-opus-4-1-20250805-v1:0": { - "id": "us.anthropic.claude-opus-4-1-20250805-v1:0", - "name": "Claude Opus 4.1 (US)", - "family": "claude-opus", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-03-31", - "release_date": "2025-08-05", - "last_updated": "2025-08-05", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 15, "output": 75, "cache_read": 1.5, "cache_write": 18.75 }, - "limit": { "context": 200000, "output": 32000 } - }, - "anthropic.claude-haiku-4-5-20251001-v1:0": { - "id": "anthropic.claude-haiku-4-5-20251001-v1:0", - "name": "Claude Haiku 4.5", - "family": "claude-haiku", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-02-28", - "release_date": "2025-10-15", - "last_updated": "2025-10-15", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1, "output": 5, "cache_read": 0.1, "cache_write": 1.25 }, - "limit": { "context": 200000, "output": 64000 } - }, - "mistral.pixtral-large-2502-v1:0": { - "id": "mistral.pixtral-large-2502-v1:0", - "name": "Pixtral Large (25.02)", - "family": "mistral", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "release_date": "2025-04-08", - "last_updated": "2025-04-08", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2, "output": 6 }, - "limit": { "context": 128000, "output": 8192 } - }, - "anthropic.claude-3-5-sonnet-20240620-v1:0": { - "id": "anthropic.claude-3-5-sonnet-20240620-v1:0", - "name": "Claude Sonnet 3.5", - "family": "claude-sonnet", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-04", - "release_date": "2024-06-20", - "last_updated": "2024-06-20", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 3, "output": 15, "cache_read": 0.3, "cache_write": 3.75 }, - "limit": { "context": 200000, "output": 8192 } - }, - "mistral.ministral-3-8b-instruct": { - "id": "mistral.ministral-3-8b-instruct", - "name": "Ministral 3 8B", - "family": "ministral", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "release_date": "2024-12-01", - "last_updated": "2024-12-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.15, "output": 0.15 }, - "limit": { "context": 128000, "output": 4096 } - }, - "us.anthropic.claude-haiku-4-5-20251001-v1:0": { - "id": "us.anthropic.claude-haiku-4-5-20251001-v1:0", - "name": "Claude Haiku 4.5 (US)", - "family": "claude-haiku", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-02-28", - "release_date": "2025-10-15", - "last_updated": "2025-10-15", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1, "output": 5, "cache_read": 0.1, "cache_write": 1.25 }, - "limit": { "context": 200000, "output": 64000 } - }, - "openai.gpt-oss-120b-1:0": { - "id": "openai.gpt-oss-120b-1:0", - "name": "gpt-oss-120b", - "family": "gpt-oss", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "release_date": "2024-12-01", - "last_updated": "2024-12-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.15, "output": 0.6 }, - "limit": { "context": 128000, "output": 4096 } - }, - "openai.gpt-oss-safeguard-120b": { - "id": "openai.gpt-oss-safeguard-120b", - "name": "GPT OSS Safeguard 120B", - "family": "gpt-oss", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "release_date": "2024-12-01", - "last_updated": "2024-12-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.15, "output": 0.6 }, - "limit": { "context": 128000, "output": 4096 } - }, - "anthropic.claude-3-5-sonnet-20241022-v2:0": { - "id": "anthropic.claude-3-5-sonnet-20241022-v2:0", - "name": "Claude Sonnet 3.5 v2", - "family": "claude-sonnet", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-04", - "release_date": "2024-10-22", - "last_updated": "2024-10-22", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 3, "output": 15, "cache_read": 0.3, "cache_write": 3.75 }, - "limit": { "context": 200000, "output": 8192 } - }, - "deepseek.v3-v1:0": { - "id": "deepseek.v3-v1:0", - "name": "DeepSeek-V3.1", - "family": "deepseek", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2024-07", - "release_date": "2025-09-18", - "last_updated": "2025-09-18", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.58, "output": 1.68 }, - "limit": { "context": 163840, "output": 81920 } - }, - "minimax.minimax-m2": { - "id": "minimax.minimax-m2", - "name": "MiniMax M2", - "family": "minimax", - "attachment": false, - "reasoning": true, - "tool_call": true, - "structured_output": false, - "temperature": true, - "release_date": "2025-10-27", - "last_updated": "2025-10-27", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.3, "output": 1.2 }, - "limit": { "context": 204608, "output": 128000 } - }, - "qwen.qwen3-vl-235b-a22b": { - "id": "qwen.qwen3-vl-235b-a22b", - "name": "Qwen/Qwen3-VL-235B-A22B-Instruct", - "family": "qwen", - "attachment": true, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-10-04", - "last_updated": "2025-11-25", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.3, "output": 1.5 }, - "limit": { "context": 262000, "output": 262000 } - }, - "meta.llama3-2-1b-instruct-v1:0": { - "id": "meta.llama3-2-1b-instruct-v1:0", - "name": "Llama 3.2 1B Instruct", - "family": "llama", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2023-12", - "release_date": "2024-09-25", - "last_updated": "2024-09-25", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.1, "output": 0.1 }, - "limit": { "context": 131000, "output": 4096 } - }, - "openai.gpt-oss-safeguard-20b": { - "id": "openai.gpt-oss-safeguard-20b", - "name": "GPT OSS Safeguard 20B", - "family": "gpt-oss", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "release_date": "2024-12-01", - "last_updated": "2024-12-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.07, "output": 0.2 }, - "limit": { "context": 128000, "output": 4096 } - }, - "us.anthropic.claude-opus-4-5-20251101-v1:0": { - "id": "us.anthropic.claude-opus-4-5-20251101-v1:0", - "name": "Claude Opus 4.5 (US)", - "family": "claude-opus", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-03-31", - "release_date": "2025-11-24", - "last_updated": "2025-08-01", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 5, "output": 25, "cache_read": 0.5, "cache_write": 6.25 }, - "limit": { "context": 200000, "output": 64000 } - }, - "nvidia.nemotron-nano-3-30b": { - "id": "nvidia.nemotron-nano-3-30b", - "name": "NVIDIA Nemotron Nano 3 30B", - "family": "nemotron", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2025-12-23", - "last_updated": "2025-12-23", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.06, "output": 0.24 }, - "limit": { "context": 128000, "output": 4096 } - }, - "anthropic.claude-opus-4-1-20250805-v1:0": { - "id": "anthropic.claude-opus-4-1-20250805-v1:0", - "name": "Claude Opus 4.1", - "family": "claude-opus", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-03-31", - "release_date": "2025-08-05", - "last_updated": "2025-08-05", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 15, "output": 75, "cache_read": 1.5, "cache_write": 18.75 }, - "limit": { "context": 200000, "output": 32000 } - }, - "eu.anthropic.claude-sonnet-4-6": { - "id": "eu.anthropic.claude-sonnet-4-6", - "name": "Claude Sonnet 4.6 (EU)", - "family": "claude-sonnet", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-08", - "release_date": "2026-02-17", - "last_updated": "2026-03-18", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 3, "output": 15, "cache_read": 0.3, "cache_write": 3.75 }, - "limit": { "context": 1000000, "output": 64000 } - }, - "qwen.qwen3-235b-a22b-2507-v1:0": { - "id": "qwen.qwen3-235b-a22b-2507-v1:0", - "name": "Qwen3 235B A22B 2507", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-04", - "release_date": "2025-09-18", - "last_updated": "2025-09-18", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.22, "output": 0.88 }, - "limit": { "context": 262144, "output": 131072 } - }, - "writer.palmyra-x5-v1:0": { - "id": "writer.palmyra-x5-v1:0", - "name": "Palmyra X5", - "family": "palmyra", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2025-04-28", - "last_updated": "2025-04-28", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.6, "output": 6 }, - "limit": { "context": 1040000, "output": 8192 } - }, - "zai.glm-5": { - "id": "zai.glm-5", - "name": "GLM-5", - "family": "glm", - "attachment": false, - "reasoning": true, - "tool_call": true, - "interleaved": { "field": "reasoning_content" }, - "temperature": true, - "release_date": "2026-03-18", - "last_updated": "2026-03-18", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 1, "output": 3.2 }, - "limit": { "context": 202752, "output": 101376 } - }, - "amazon.nova-micro-v1:0": { - "id": "amazon.nova-micro-v1:0", - "name": "Nova Micro", - "family": "nova-micro", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-10", - "release_date": "2024-12-03", - "last_updated": "2024-12-03", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.035, "output": 0.14, "cache_read": 0.00875 }, - "limit": { "context": 128000, "output": 8192 } - }, - "writer.palmyra-x4-v1:0": { - "id": "writer.palmyra-x4-v1:0", - "name": "Palmyra X4", - "family": "palmyra", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2025-04-28", - "last_updated": "2025-04-28", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2.5, "output": 10 }, - "limit": { "context": 122880, "output": 8192 } - }, - "mistral.voxtral-mini-3b-2507": { - "id": "mistral.voxtral-mini-3b-2507", - "name": "Voxtral Mini 3B 2507", - "family": "mistral", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "release_date": "2024-12-01", - "last_updated": "2024-12-01", - "modalities": { "input": ["audio", "text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.04, "output": 0.04 }, - "limit": { "context": 128000, "output": 4096 } - }, - "eu.anthropic.claude-sonnet-4-5-20250929-v1:0": { - "id": "eu.anthropic.claude-sonnet-4-5-20250929-v1:0", - "name": "Claude Sonnet 4.5 (EU)", - "family": "claude-sonnet", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-07-31", - "release_date": "2025-09-29", - "last_updated": "2025-09-29", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 3, "output": 15, "cache_read": 0.3, "cache_write": 3.75 }, - "limit": { "context": 200000, "output": 64000 } - }, - "mistral.mistral-large-3-675b-instruct": { - "id": "mistral.mistral-large-3-675b-instruct", - "name": "Mistral Large 3", - "family": "mistral", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "release_date": "2025-12-02", - "last_updated": "2025-12-02", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.5, "output": 1.5 }, - "limit": { "context": 256000, "output": 8192 } - }, - "zai.glm-4.7": { - "id": "zai.glm-4.7", - "name": "GLM-4.7", - "family": "glm", - "attachment": false, - "reasoning": true, - "tool_call": true, - "interleaved": { "field": "reasoning_content" }, - "temperature": true, - "knowledge": "2025-04", - "release_date": "2025-12-22", - "last_updated": "2025-12-22", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.6, "output": 2.2 }, - "limit": { "context": 204800, "output": 131072 } - }, - "qwen.qwen3-32b-v1:0": { - "id": "qwen.qwen3-32b-v1:0", - "name": "Qwen3 32B (dense)", - "family": "qwen", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2024-04", - "release_date": "2025-09-18", - "last_updated": "2025-09-18", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.15, "output": 0.6 }, - "limit": { "context": 16384, "output": 16384 } - }, - "us.anthropic.claude-opus-4-6-v1": { - "id": "us.anthropic.claude-opus-4-6-v1", - "name": "Claude Opus 4.6 (US)", - "family": "claude-opus", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-05", - "release_date": "2026-02-05", - "last_updated": "2026-03-18", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 5, "output": 25, "cache_read": 0.5, "cache_write": 6.25 }, - "limit": { "context": 1000000, "output": 128000 } - }, - "anthropic.claude-sonnet-4-5-20250929-v1:0": { - "id": "anthropic.claude-sonnet-4-5-20250929-v1:0", - "name": "Claude Sonnet 4.5", - "family": "claude-sonnet", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-07-31", - "release_date": "2025-09-29", - "last_updated": "2025-09-29", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 3, "output": 15, "cache_read": 0.3, "cache_write": 3.75 }, - "limit": { "context": 200000, "output": 64000 } - }, - "meta.llama3-2-11b-instruct-v1:0": { - "id": "meta.llama3-2-11b-instruct-v1:0", - "name": "Llama 3.2 11B Instruct", - "family": "llama", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2023-12", - "release_date": "2024-09-25", - "last_updated": "2024-09-25", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.16, "output": 0.16 }, - "limit": { "context": 128000, "output": 4096 } - }, - "global.anthropic.claude-opus-4-6-v1": { - "id": "global.anthropic.claude-opus-4-6-v1", - "name": "Claude Opus 4.6 (Global)", - "family": "claude-opus", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-05", - "release_date": "2026-02-05", - "last_updated": "2026-03-18", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 5, "output": 25, "cache_read": 0.5, "cache_write": 6.25 }, - "limit": { "context": 1000000, "output": 128000 } - }, - "global.anthropic.claude-sonnet-4-5-20250929-v1:0": { - "id": "global.anthropic.claude-sonnet-4-5-20250929-v1:0", - "name": "Claude Sonnet 4.5 (Global)", - "family": "claude-sonnet", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-07-31", - "release_date": "2025-09-29", - "last_updated": "2025-09-29", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 3, "output": 15, "cache_read": 0.3, "cache_write": 3.75 }, - "limit": { "context": 200000, "output": 64000 } - }, - "anthropic.claude-sonnet-4-20250514-v1:0": { - "id": "anthropic.claude-sonnet-4-20250514-v1:0", - "name": "Claude Sonnet 4", - "family": "claude-sonnet", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2024-04", - "release_date": "2025-05-22", - "last_updated": "2025-05-22", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 3, "output": 15, "cache_read": 0.3, "cache_write": 3.75 }, - "limit": { "context": 200000, "output": 64000 } - }, - "mistral.ministral-3-3b-instruct": { - "id": "mistral.ministral-3-3b-instruct", - "name": "Ministral 3 3B", - "family": "ministral", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "release_date": "2025-12-02", - "last_updated": "2025-12-02", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.1, "output": 0.1 }, - "limit": { "context": 256000, "output": 8192 } - }, - "meta.llama4-maverick-17b-instruct-v1:0": { - "id": "meta.llama4-maverick-17b-instruct-v1:0", - "name": "Llama 4 Maverick 17B Instruct", - "family": "llama", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-08", - "release_date": "2025-04-05", - "last_updated": "2025-04-05", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.24, "output": 0.97 }, - "limit": { "context": 1000000, "output": 16384 } - }, - "moonshot.kimi-k2-thinking": { - "id": "moonshot.kimi-k2-thinking", - "name": "Kimi K2 Thinking", - "family": "kimi-thinking", - "attachment": false, - "reasoning": true, - "tool_call": true, - "interleaved": true, - "temperature": true, - "release_date": "2025-12-02", - "last_updated": "2025-12-02", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.6, "output": 2.5 }, - "limit": { "context": 256000, "output": 256000 } - }, - "mistral.magistral-small-2509": { - "id": "mistral.magistral-small-2509", - "name": "Magistral Small 1.2", - "family": "magistral", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2025-12-02", - "last_updated": "2025-12-02", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.5, "output": 1.5 }, - "limit": { "context": 128000, "output": 40000 } - }, - "us.anthropic.claude-opus-4-20250514-v1:0": { - "id": "us.anthropic.claude-opus-4-20250514-v1:0", - "name": "Claude Opus 4 (US)", - "family": "claude-opus", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2024-04", - "release_date": "2025-05-22", - "last_updated": "2025-05-22", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 15, "output": 75, "cache_read": 1.5, "cache_write": 18.75 }, - "limit": { "context": 200000, "output": 32000 } - }, - "eu.anthropic.claude-sonnet-4-20250514-v1:0": { - "id": "eu.anthropic.claude-sonnet-4-20250514-v1:0", - "name": "Claude Sonnet 4 (EU)", - "family": "claude-sonnet", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2024-04", - "release_date": "2025-05-22", - "last_updated": "2025-05-22", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 3, "output": 15, "cache_read": 0.3, "cache_write": 3.75 }, - "limit": { "context": 200000, "output": 64000 } - }, - "nvidia.nemotron-nano-12b-v2": { - "id": "nvidia.nemotron-nano-12b-v2", - "name": "NVIDIA Nemotron Nano 12B v2 VL BF16", - "family": "nemotron", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "release_date": "2024-12-01", - "last_updated": "2024-12-01", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.2, "output": 0.6 }, - "limit": { "context": 128000, "output": 4096 } - }, - "zai.glm-4.7-flash": { - "id": "zai.glm-4.7-flash", - "name": "GLM-4.7-Flash", - "family": "glm-flash", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-04", - "release_date": "2026-01-19", - "last_updated": "2026-01-19", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.07, "output": 0.4 }, - "limit": { "context": 200000, "output": 131072 } - }, - "mistral.voxtral-small-24b-2507": { - "id": "mistral.voxtral-small-24b-2507", - "name": "Voxtral Small 24B 2507", - "family": "mistral", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "release_date": "2025-07-01", - "last_updated": "2025-07-01", - "modalities": { "input": ["text", "audio"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.15, "output": 0.35 }, - "limit": { "context": 32000, "output": 8192 } - }, - "eu.anthropic.claude-opus-4-6-v1": { - "id": "eu.anthropic.claude-opus-4-6-v1", - "name": "Claude Opus 4.6 (EU)", - "family": "claude-opus", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-05", - "release_date": "2026-02-05", - "last_updated": "2026-03-18", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 5, "output": 25, "cache_read": 0.5, "cache_write": 6.25 }, - "limit": { "context": 1000000, "output": 128000 } - }, - "anthropic.claude-3-7-sonnet-20250219-v1:0": { - "id": "anthropic.claude-3-7-sonnet-20250219-v1:0", - "name": "Claude Sonnet 3.7", - "family": "claude-sonnet", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-04", - "release_date": "2025-02-19", - "last_updated": "2025-02-19", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 3, "output": 15, "cache_read": 0.3, "cache_write": 3.75 }, - "limit": { "context": 200000, "output": 8192 } - }, - "openai.gpt-oss-20b-1:0": { - "id": "openai.gpt-oss-20b-1:0", - "name": "gpt-oss-20b", - "family": "gpt-oss", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "release_date": "2024-12-01", - "last_updated": "2024-12-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.07, "output": 0.3 }, - "limit": { "context": 128000, "output": 4096 } - }, - "qwen.qwen3-coder-30b-a3b-v1:0": { - "id": "qwen.qwen3-coder-30b-a3b-v1:0", - "name": "Qwen3 Coder 30B A3B Instruct", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-04", - "release_date": "2025-09-18", - "last_updated": "2025-09-18", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.15, "output": 0.6 }, - "limit": { "context": 262144, "output": 131072 } - }, - "meta.llama3-1-8b-instruct-v1:0": { - "id": "meta.llama3-1-8b-instruct-v1:0", - "name": "Llama 3.1 8B Instruct", - "family": "llama", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2023-12", - "release_date": "2024-07-23", - "last_updated": "2024-07-23", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.22, "output": 0.22 }, - "limit": { "context": 128000, "output": 4096 } - }, - "eu.anthropic.claude-haiku-4-5-20251001-v1:0": { - "id": "eu.anthropic.claude-haiku-4-5-20251001-v1:0", - "name": "Claude Haiku 4.5 (EU)", - "family": "claude-haiku", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-02-28", - "release_date": "2025-10-15", - "last_updated": "2025-10-15", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1, "output": 5, "cache_read": 0.1, "cache_write": 1.25 }, - "limit": { "context": 200000, "output": 64000 } - }, - "meta.llama3-2-90b-instruct-v1:0": { - "id": "meta.llama3-2-90b-instruct-v1:0", - "name": "Llama 3.2 90B Instruct", - "family": "llama", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2023-12", - "release_date": "2024-09-25", - "last_updated": "2024-09-25", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.72, "output": 0.72 }, - "limit": { "context": 128000, "output": 4096 } - }, - "anthropic.claude-opus-4-6-v1": { - "id": "anthropic.claude-opus-4-6-v1", - "name": "Claude Opus 4.6", - "family": "claude-opus", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-05", - "release_date": "2026-02-05", - "last_updated": "2026-03-18", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 5, "output": 25, "cache_read": 0.5, "cache_write": 6.25 }, - "limit": { "context": 1000000, "output": 128000 } - }, - "anthropic.claude-3-5-haiku-20241022-v1:0": { - "id": "anthropic.claude-3-5-haiku-20241022-v1:0", - "name": "Claude Haiku 3.5", - "family": "claude-haiku", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-07", - "release_date": "2024-10-22", - "last_updated": "2024-10-22", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.8, "output": 4, "cache_read": 0.08, "cache_write": 1 }, - "limit": { "context": 200000, "output": 8192 } - }, - "meta.llama3-2-3b-instruct-v1:0": { - "id": "meta.llama3-2-3b-instruct-v1:0", - "name": "Llama 3.2 3B Instruct", - "family": "llama", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2023-12", - "release_date": "2024-09-25", - "last_updated": "2024-09-25", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.15, "output": 0.15 }, - "limit": { "context": 131000, "output": 4096 } - }, - "us.anthropic.claude-sonnet-4-5-20250929-v1:0": { - "id": "us.anthropic.claude-sonnet-4-5-20250929-v1:0", - "name": "Claude Sonnet 4.5 (US)", - "family": "claude-sonnet", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-07-31", - "release_date": "2025-09-29", - "last_updated": "2025-09-29", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 3, "output": 15, "cache_read": 0.3, "cache_write": 3.75 }, - "limit": { "context": 200000, "output": 64000 } - }, - "deepseek.r1-v1:0": { - "id": "deepseek.r1-v1:0", - "name": "DeepSeek-R1", - "family": "deepseek-thinking", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2024-07", - "release_date": "2025-01-20", - "last_updated": "2025-05-29", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.35, "output": 5.4 }, - "limit": { "context": 128000, "output": 32768 } - }, - "mistral.ministral-3-14b-instruct": { - "id": "mistral.ministral-3-14b-instruct", - "name": "Ministral 14B 3.0", - "family": "ministral", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "release_date": "2024-12-01", - "last_updated": "2024-12-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.2, "output": 0.2 }, - "limit": { "context": 128000, "output": 4096 } - }, - "amazon.nova-lite-v1:0": { - "id": "amazon.nova-lite-v1:0", - "name": "Nova Lite", - "family": "nova-lite", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-10", - "release_date": "2024-12-03", - "last_updated": "2024-12-03", - "modalities": { "input": ["text", "image", "video"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.06, "output": 0.24, "cache_read": 0.015 }, - "limit": { "context": 300000, "output": 8192 } - }, - "amazon.nova-pro-v1:0": { - "id": "amazon.nova-pro-v1:0", - "name": "Nova Pro", - "family": "nova-pro", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-10", - "release_date": "2024-12-03", - "last_updated": "2024-12-03", - "modalities": { "input": ["text", "image", "video"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.8, "output": 3.2, "cache_read": 0.2 }, - "limit": { "context": 300000, "output": 8192 } - }, - "mistral.devstral-2-123b": { - "id": "mistral.devstral-2-123b", - "name": "Devstral 2 123B", - "family": "devstral", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "release_date": "2026-02-17", - "last_updated": "2026-02-17", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.4, "output": 2 }, - "limit": { "context": 256000, "output": 8192 } - }, - "qwen.qwen3-next-80b-a3b": { - "id": "qwen.qwen3-next-80b-a3b", - "name": "Qwen/Qwen3-Next-80B-A3B-Instruct", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-09-18", - "last_updated": "2025-11-25", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.14, "output": 1.4 }, - "limit": { "context": 262000, "output": 262000 } - }, - "minimax.minimax-m2.5": { - "id": "minimax.minimax-m2.5", - "name": "MiniMax M2.5", - "family": "minimax", - "attachment": false, - "reasoning": true, - "tool_call": true, - "structured_output": false, - "temperature": true, - "release_date": "2026-03-18", - "last_updated": "2026-03-18", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.3, "output": 1.2 }, - "limit": { "context": 196608, "output": 98304 } - }, - "anthropic.claude-3-haiku-20240307-v1:0": { - "id": "anthropic.claude-3-haiku-20240307-v1:0", - "name": "Claude Haiku 3", - "family": "claude-haiku", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-02", - "release_date": "2024-03-13", - "last_updated": "2024-03-13", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.25, "output": 1.25 }, - "limit": { "context": 200000, "output": 4096 } - }, - "eu.anthropic.claude-opus-4-5-20251101-v1:0": { - "id": "eu.anthropic.claude-opus-4-5-20251101-v1:0", - "name": "Claude Opus 4.5 (EU)", - "family": "claude-opus", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-03-31", - "release_date": "2025-11-24", - "last_updated": "2025-08-01", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 5, "output": 25, "cache_read": 0.5, "cache_write": 6.25 }, - "limit": { "context": 200000, "output": 64000 } - }, - "meta.llama4-scout-17b-instruct-v1:0": { - "id": "meta.llama4-scout-17b-instruct-v1:0", - "name": "Llama 4 Scout 17B Instruct", - "family": "llama", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-08", - "release_date": "2025-04-05", - "last_updated": "2025-04-05", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.17, "output": 0.66 }, - "limit": { "context": 3500000, "output": 16384 } - }, - "amazon.nova-2-lite-v1:0": { - "id": "amazon.nova-2-lite-v1:0", - "name": "Nova 2 Lite", - "family": "nova", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "release_date": "2024-12-01", - "last_updated": "2024-12-01", - "modalities": { "input": ["text", "image", "video"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.33, "output": 2.75 }, - "limit": { "context": 128000, "output": 4096 } - }, - "global.anthropic.claude-opus-4-5-20251101-v1:0": { - "id": "global.anthropic.claude-opus-4-5-20251101-v1:0", - "name": "Claude Opus 4.5 (Global)", - "family": "claude-opus", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-03-31", - "release_date": "2025-11-24", - "last_updated": "2025-08-01", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 5, "output": 25, "cache_read": 0.5, "cache_write": 6.25 }, - "limit": { "context": 200000, "output": 64000 } - }, - "amazon.nova-premier-v1:0": { - "id": "amazon.nova-premier-v1:0", - "name": "Nova Premier", - "family": "nova", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2024-10", - "release_date": "2024-12-03", - "last_updated": "2024-12-03", - "modalities": { "input": ["text", "image", "video"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2.5, "output": 12.5 }, - "limit": { "context": 1000000, "output": 16384 } - }, - "anthropic.claude-sonnet-4-6": { - "id": "anthropic.claude-sonnet-4-6", - "name": "Claude Sonnet 4.6", - "family": "claude-sonnet", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-08", - "release_date": "2026-02-17", - "last_updated": "2026-03-18", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 3, "output": 15, "cache_read": 0.3, "cache_write": 3.75 }, - "limit": { "context": 1000000, "output": 64000 } - }, - "anthropic.claude-opus-4-20250514-v1:0": { - "id": "anthropic.claude-opus-4-20250514-v1:0", - "name": "Claude Opus 4", - "family": "claude-opus", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2024-04", - "release_date": "2025-05-22", - "last_updated": "2025-05-22", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 15, "output": 75, "cache_read": 1.5, "cache_write": 18.75 }, - "limit": { "context": 200000, "output": 32000 } - }, - "nvidia.nemotron-nano-9b-v2": { - "id": "nvidia.nemotron-nano-9b-v2", - "name": "NVIDIA Nemotron Nano 9B v2", - "family": "nemotron", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "release_date": "2024-12-01", - "last_updated": "2024-12-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.06, "output": 0.23 }, - "limit": { "context": 128000, "output": 4096 } - }, - "google.gemma-3-4b-it": { - "id": "google.gemma-3-4b-it", - "name": "Gemma 3 4B IT", - "family": "gemma", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "release_date": "2024-12-01", - "last_updated": "2024-12-01", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.04, "output": 0.08 }, - "limit": { "context": 128000, "output": 4096 } - }, - "meta.llama3-1-70b-instruct-v1:0": { - "id": "meta.llama3-1-70b-instruct-v1:0", - "name": "Llama 3.1 70B Instruct", - "family": "llama", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2023-12", - "release_date": "2024-07-23", - "last_updated": "2024-07-23", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.72, "output": 0.72 }, - "limit": { "context": 128000, "output": 4096 } - }, - "global.anthropic.claude-haiku-4-5-20251001-v1:0": { - "id": "global.anthropic.claude-haiku-4-5-20251001-v1:0", - "name": "Claude Haiku 4.5 (Global)", - "family": "claude-haiku", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-02-28", - "release_date": "2025-10-15", - "last_updated": "2025-10-15", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1, "output": 5, "cache_read": 0.1, "cache_write": 1.25 }, - "limit": { "context": 200000, "output": 64000 } - }, - "anthropic.claude-opus-4-5-20251101-v1:0": { - "id": "anthropic.claude-opus-4-5-20251101-v1:0", - "name": "Claude Opus 4.5", - "family": "claude-opus", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-03-31", - "release_date": "2025-11-24", - "last_updated": "2025-08-01", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 5, "output": 25, "cache_read": 0.5, "cache_write": 6.25 }, - "limit": { "context": 200000, "output": 64000 } - }, - "us.anthropic.claude-sonnet-4-6": { - "id": "us.anthropic.claude-sonnet-4-6", - "name": "Claude Sonnet 4.6 (US)", - "family": "claude-sonnet", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-08", - "release_date": "2026-02-17", - "last_updated": "2026-03-18", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 3, "output": 15, "cache_read": 0.3, "cache_write": 3.75 }, - "limit": { "context": 1000000, "output": 64000 } - }, - "global.anthropic.claude-sonnet-4-20250514-v1:0": { - "id": "global.anthropic.claude-sonnet-4-20250514-v1:0", - "name": "Claude Sonnet 4 (Global)", - "family": "claude-sonnet", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2024-04", - "release_date": "2025-05-22", - "last_updated": "2025-05-22", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 3, "output": 15, "cache_read": 0.3, "cache_write": 3.75 }, - "limit": { "context": 200000, "output": 64000 } - } - } - }, - "huggingface": { - "id": "huggingface", - "env": ["HF_TOKEN"], - "npm": "@ai-sdk/openai-compatible", - "api": "https://router.huggingface.co/v1", - "name": "Hugging Face", - "doc": "https://huggingface.co/docs/inference-providers", - "models": { - "zai-org/GLM-4.7": { - "id": "zai-org/GLM-4.7", - "name": "GLM-4.7", - "family": "glm", - "attachment": false, - "reasoning": true, - "tool_call": true, - "interleaved": { "field": "reasoning_content" }, - "temperature": true, - "knowledge": "2025-04", - "release_date": "2025-12-22", - "last_updated": "2025-12-22", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.6, "output": 2.2, "cache_read": 0.11 }, - "limit": { "context": 204800, "output": 131072 } - }, - "zai-org/GLM-4.7-Flash": { - "id": "zai-org/GLM-4.7-Flash", - "name": "GLM-4.7-Flash", - "family": "glm", - "attachment": false, - "reasoning": true, - "tool_call": true, - "interleaved": { "field": "reasoning_content" }, - "temperature": true, - "knowledge": "2025-04", - "release_date": "2025-08-08", - "last_updated": "2025-08-08", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 200000, "output": 128000 } - }, - "zai-org/GLM-5": { - "id": "zai-org/GLM-5", - "name": "GLM-5", - "family": "glm", - "attachment": false, - "reasoning": true, - "tool_call": true, - "interleaved": { "field": "reasoning_content" }, - "temperature": true, - "release_date": "2026-02-11", - "last_updated": "2026-02-11", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 1, "output": 3.2, "cache_read": 0.2 }, - "limit": { "context": 202752, "output": 131072 } - }, - "MiniMaxAI/MiniMax-M2.1": { - "id": "MiniMaxAI/MiniMax-M2.1", - "name": "MiniMax-M2.1", - "family": "minimax", - "attachment": false, - "reasoning": true, - "tool_call": true, - "interleaved": { "field": "reasoning_content" }, - "temperature": true, - "knowledge": "2025-10", - "release_date": "2025-12-23", - "last_updated": "2025-12-23", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.3, "output": 1.2 }, - "limit": { "context": 204800, "output": 131072 } - }, - "MiniMaxAI/MiniMax-M2.5": { - "id": "MiniMaxAI/MiniMax-M2.5", - "name": "MiniMax-M2.5", - "family": "minimax", - "attachment": false, - "reasoning": true, - "tool_call": true, - "interleaved": { "field": "reasoning_content" }, - "temperature": true, - "release_date": "2026-02-12", - "last_updated": "2026-02-12", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.3, "output": 1.2, "cache_read": 0.03 }, - "limit": { "context": 204800, "output": 131072 } - }, - "deepseek-ai/DeepSeek-R1-0528": { - "id": "deepseek-ai/DeepSeek-R1-0528", - "name": "DeepSeek-R1-0528", - "family": "deepseek-thinking", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-05", - "release_date": "2025-05-28", - "last_updated": "2025-05-28", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 3, "output": 5 }, - "limit": { "context": 163840, "output": 163840 } - }, - "deepseek-ai/DeepSeek-V3.2": { - "id": "deepseek-ai/DeepSeek-V3.2", - "name": "DeepSeek-V3.2", - "family": "deepseek", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2024-07", - "release_date": "2025-12-01", - "last_updated": "2025-12-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.28, "output": 0.4 }, - "limit": { "context": 163840, "output": 65536 } - }, - "Qwen/Qwen3-Next-80B-A3B-Thinking": { - "id": "Qwen/Qwen3-Next-80B-A3B-Thinking", - "name": "Qwen3-Next-80B-A3B-Thinking", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2025-04", - "release_date": "2025-09-11", - "last_updated": "2025-09-11", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.3, "output": 2 }, - "limit": { "context": 262144, "output": 131072 } - }, - "Qwen/Qwen3-Coder-Next": { - "id": "Qwen/Qwen3-Coder-Next", - "name": "Qwen3-Coder-Next", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2025-04", - "release_date": "2026-02-03", - "last_updated": "2026-02-03", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.2, "output": 1.5 }, - "limit": { "context": 262144, "output": 65536 } - }, - "Qwen/Qwen3.5-397B-A17B": { - "id": "Qwen/Qwen3.5-397B-A17B", - "name": "Qwen3.5-397B-A17B", - "family": "qwen", - "attachment": true, - "reasoning": true, - "tool_call": true, - "interleaved": { "field": "reasoning_content" }, - "temperature": true, - "knowledge": "2025-04", - "release_date": "2026-02-01", - "last_updated": "2026-02-01", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.6, "output": 3.6 }, - "limit": { "context": 262144, "output": 32768 } - }, - "Qwen/Qwen3-235B-A22B-Thinking-2507": { - "id": "Qwen/Qwen3-235B-A22B-Thinking-2507", - "name": "Qwen3-235B-A22B-Thinking-2507", - "family": "qwen", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-04", - "release_date": "2025-07-25", - "last_updated": "2025-07-25", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.3, "output": 3 }, - "limit": { "context": 262144, "output": 131072 } - }, - "Qwen/Qwen3-Next-80B-A3B-Instruct": { - "id": "Qwen/Qwen3-Next-80B-A3B-Instruct", - "name": "Qwen3-Next-80B-A3B-Instruct", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2025-04", - "release_date": "2025-09-11", - "last_updated": "2025-09-11", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.25, "output": 1 }, - "limit": { "context": 262144, "output": 66536 } - }, - "Qwen/Qwen3-Embedding-4B": { - "id": "Qwen/Qwen3-Embedding-4B", - "name": "Qwen 3 Embedding 4B", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": false, - "knowledge": "2024-12", - "release_date": "2025-01-01", - "last_updated": "2025-01-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.01, "output": 0 }, - "limit": { "context": 32000, "output": 2048 } - }, - "Qwen/Qwen3-Coder-480B-A35B-Instruct": { - "id": "Qwen/Qwen3-Coder-480B-A35B-Instruct", - "name": "Qwen3-Coder-480B-A35B-Instruct", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2025-04", - "release_date": "2025-07-23", - "last_updated": "2025-07-23", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 2, "output": 2 }, - "limit": { "context": 262144, "output": 66536 } - }, - "Qwen/Qwen3-Embedding-8B": { - "id": "Qwen/Qwen3-Embedding-8B", - "name": "Qwen 3 Embedding 8B", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": false, - "knowledge": "2024-12", - "release_date": "2025-01-01", - "last_updated": "2025-01-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.01, "output": 0 }, - "limit": { "context": 32000, "output": 4096 } - }, - "moonshotai/Kimi-K2-Instruct": { - "id": "moonshotai/Kimi-K2-Instruct", - "name": "Kimi-K2-Instruct", - "family": "kimi", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-10", - "release_date": "2025-07-14", - "last_updated": "2025-07-14", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 1, "output": 3 }, - "limit": { "context": 131072, "output": 16384 } - }, - "moonshotai/Kimi-K2.5": { - "id": "moonshotai/Kimi-K2.5", - "name": "Kimi-K2.5", - "family": "kimi", - "attachment": true, - "reasoning": true, - "tool_call": true, - "interleaved": { "field": "reasoning_content" }, - "temperature": true, - "knowledge": "2025-01", - "release_date": "2026-01-01", - "last_updated": "2026-01-01", - "modalities": { "input": ["text", "image", "video"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.6, "output": 3, "cache_read": 0.1 }, - "limit": { "context": 262144, "output": 262144 } - }, - "moonshotai/Kimi-K2-Instruct-0905": { - "id": "moonshotai/Kimi-K2-Instruct-0905", - "name": "Kimi-K2-Instruct-0905", - "family": "kimi", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-10", - "release_date": "2025-09-04", - "last_updated": "2025-09-04", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 1, "output": 3 }, - "limit": { "context": 262144, "output": 16384 } - }, - "moonshotai/Kimi-K2-Thinking": { - "id": "moonshotai/Kimi-K2-Thinking", - "name": "Kimi-K2-Thinking", - "family": "kimi-thinking", - "attachment": false, - "reasoning": true, - "tool_call": true, - "interleaved": { "field": "reasoning_content" }, - "temperature": true, - "knowledge": "2024-08", - "release_date": "2025-11-06", - "last_updated": "2025-11-06", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.6, "output": 2.5, "cache_read": 0.15 }, - "limit": { "context": 262144, "output": 262144 } - }, - "XiaomiMiMo/MiMo-V2-Flash": { - "id": "XiaomiMiMo/MiMo-V2-Flash", - "name": "MiMo-V2-Flash", - "family": "mimo", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2024-12", - "release_date": "2025-12-16", - "last_updated": "2025-12-16", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.1, "output": 0.3 }, - "limit": { "context": 262144, "output": 4096 } - } - } - }, - "stepfun": { - "id": "stepfun", - "env": ["STEPFUN_API_KEY"], - "npm": "@ai-sdk/openai-compatible", - "api": "https://api.stepfun.com/v1", - "name": "StepFun", - "doc": "https://platform.stepfun.com/docs/zh/overview/concept", - "models": { - "step-1-32k": { - "id": "step-1-32k", - "name": "Step 1 (32K)", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2024-06", - "release_date": "2025-01-01", - "last_updated": "2026-02-13", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2.05, "output": 9.59, "cache_read": 0.41 }, - "limit": { "context": 32768, "input": 32768, "output": 32768 } - }, - "step-3.5-flash": { - "id": "step-3.5-flash", - "name": "Step 3.5 Flash", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-01", - "release_date": "2026-01-29", - "last_updated": "2026-02-13", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.096, "output": 0.288, "cache_read": 0.019 }, - "limit": { "context": 256000, "input": 256000, "output": 256000 } - }, - "step-2-16k": { - "id": "step-2-16k", - "name": "Step 2 (16K)", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2024-06", - "release_date": "2025-01-01", - "last_updated": "2026-02-13", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 5.21, "output": 16.44, "cache_read": 1.04 }, - "limit": { "context": 16384, "input": 16384, "output": 8192 } - } - } - }, - "fastrouter": { - "id": "fastrouter", - "env": ["FASTROUTER_API_KEY"], - "npm": "@ai-sdk/openai-compatible", - "api": "https://go.fastrouter.ai/api/v1", - "name": "FastRouter", - "doc": "https://fastrouter.ai/models", - "models": { - "openai/gpt-5": { - "id": "openai/gpt-5", - "name": "GPT-5", - "family": "gpt", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2024-10-01", - "release_date": "2025-08-07", - "last_updated": "2025-08-07", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.25, "output": 10, "cache_read": 0.125 }, - "limit": { "context": 400000, "output": 128000 } - }, - "openai/gpt-5-mini": { - "id": "openai/gpt-5-mini", - "name": "GPT-5 Mini", - "family": "gpt-mini", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2024-10-01", - "release_date": "2025-08-07", - "last_updated": "2025-08-07", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.25, "output": 2, "cache_read": 0.025 }, - "limit": { "context": 400000, "output": 128000 } - }, - "openai/gpt-4.1": { - "id": "openai/gpt-4.1", - "name": "GPT-4.1", - "family": "gpt", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-04", - "release_date": "2025-04-14", - "last_updated": "2025-04-14", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2, "output": 8, "cache_read": 0.5 }, - "limit": { "context": 1047576, "output": 32768 } - }, - "openai/gpt-oss-120b": { - "id": "openai/gpt-oss-120b", - "name": "GPT OSS 120B", - "family": "gpt-oss", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2025-08-05", - "last_updated": "2025-08-05", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.15, "output": 0.6 }, - "limit": { "context": 131072, "output": 32768 } - }, - "openai/gpt-5-nano": { - "id": "openai/gpt-5-nano", - "name": "GPT-5 Nano", - "family": "gpt-nano", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2024-10-01", - "release_date": "2025-08-07", - "last_updated": "2025-08-07", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.05, "output": 0.4, "cache_read": 0.005 }, - "limit": { "context": 400000, "output": 128000 } - }, - "openai/gpt-oss-20b": { - "id": "openai/gpt-oss-20b", - "name": "GPT OSS 20B", - "family": "gpt-oss", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2025-08-05", - "last_updated": "2025-08-05", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.05, "output": 0.2 }, - "limit": { "context": 131072, "output": 65536 } - }, - "x-ai/grok-4": { - "id": "x-ai/grok-4", - "name": "Grok 4", - "family": "grok", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-07", - "release_date": "2025-07-09", - "last_updated": "2025-07-09", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 3, "output": 15, "cache_read": 0.75, "cache_write": 15 }, - "limit": { "context": 256000, "output": 64000 } - }, - "anthropic/claude-opus-4.1": { - "id": "anthropic/claude-opus-4.1", - "name": "Claude Opus 4.1", - "family": "claude-opus", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-03-31", - "release_date": "2025-08-05", - "last_updated": "2025-08-05", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 15, "output": 75, "cache_read": 1.5, "cache_write": 18.75 }, - "limit": { "context": 200000, "output": 32000 } - }, - "anthropic/claude-sonnet-4": { - "id": "anthropic/claude-sonnet-4", - "name": "Claude Sonnet 4", - "family": "claude-sonnet", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-03-31", - "release_date": "2025-05-22", - "last_updated": "2025-05-22", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 3, "output": 15, "cache_read": 0.3, "cache_write": 3.75 }, - "limit": { "context": 200000, "output": 64000 } - }, - "z-ai/glm-5": { - "id": "z-ai/glm-5", - "name": "GLM-5", - "family": "glm", - "attachment": false, - "reasoning": true, - "tool_call": true, - "interleaved": { "field": "reasoning_content" }, - "temperature": true, - "release_date": "2026-02-11", - "last_updated": "2026-02-11", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.95, "output": 3.15 }, - "limit": { "context": 204800, "output": 131072 } - }, - "google/gemini-2.5-pro": { - "id": "google/gemini-2.5-pro", - "name": "Gemini 2.5 Pro", - "family": "gemini-pro", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-01", - "release_date": "2025-06-17", - "last_updated": "2025-06-17", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.25, "output": 10, "cache_read": 0.31 }, - "limit": { "context": 1048576, "output": 65536 } - }, - "google/gemini-2.5-flash": { - "id": "google/gemini-2.5-flash", - "name": "Gemini 2.5 Flash", - "family": "gemini-flash", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-01", - "release_date": "2025-06-17", - "last_updated": "2025-06-17", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.3, "output": 2.5, "cache_read": 0.0375 }, - "limit": { "context": 1048576, "output": 65536 } - }, - "deepseek-ai/deepseek-r1-distill-llama-70b": { - "id": "deepseek-ai/deepseek-r1-distill-llama-70b", - "name": "DeepSeek R1 Distill Llama 70B", - "family": "deepseek-thinking", - "attachment": false, - "reasoning": true, - "tool_call": false, - "temperature": true, - "knowledge": "2024-10", - "release_date": "2025-01-23", - "last_updated": "2025-01-23", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.03, "output": 0.14 }, - "limit": { "context": 131072, "output": 131072 } - }, - "qwen/qwen3-coder": { - "id": "qwen/qwen3-coder", - "name": "Qwen3 Coder", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2025-04", - "release_date": "2025-07-23", - "last_updated": "2025-07-23", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.3, "output": 1.2 }, - "limit": { "context": 262144, "output": 66536 } - }, - "moonshotai/kimi-k2": { - "id": "moonshotai/kimi-k2", - "name": "Kimi K2", - "family": "kimi", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-10", - "release_date": "2025-07-11", - "last_updated": "2025-07-11", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.55, "output": 2.2 }, - "limit": { "context": 131072, "output": 32768 } - } - } - }, - "baseten": { - "id": "baseten", - "env": ["BASETEN_API_KEY"], - "npm": "@ai-sdk/openai-compatible", - "api": "https://inference.baseten.co/v1", - "name": "Baseten", - "doc": "https://docs.baseten.co/development/model-apis/overview", - "models": { - "openai/gpt-oss-120b": { - "id": "openai/gpt-oss-120b", - "name": "GPT OSS 120B", - "family": "gpt-oss", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-08", - "release_date": "2025-08-05", - "last_updated": "2025-08-05", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.1, "output": 0.5 }, - "limit": { "context": 128000, "output": 128000 } - }, - "zai-org/GLM-4.7": { - "id": "zai-org/GLM-4.7", - "name": "GLM-4.7", - "family": "glm", - "attachment": false, - "reasoning": true, - "tool_call": true, - "interleaved": { "field": "reasoning_content" }, - "temperature": true, - "knowledge": "2025-04", - "release_date": "2025-12-22", - "last_updated": "2025-12-22", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.6, "output": 2.2 }, - "limit": { "context": 204800, "output": 131072 } - }, - "zai-org/GLM-5": { - "id": "zai-org/GLM-5", - "name": "GLM-5", - "family": "glm", - "attachment": false, - "reasoning": true, - "tool_call": true, - "interleaved": { "field": "reasoning_content" }, - "temperature": true, - "knowledge": "2026-01", - "release_date": "2026-02-12", - "last_updated": "2026-02-12", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.95, "output": 3.15 }, - "limit": { "context": 202752, "output": 131072 } - }, - "zai-org/GLM-4.6": { - "id": "zai-org/GLM-4.6", - "name": "GLM 4.6", - "family": "glm", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2025-08-31", - "release_date": "2025-09-16", - "last_updated": "2025-09-16", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.6, "output": 2.2 }, - "limit": { "context": 200000, "output": 200000 } - }, - "nvidia/Nemotron-120B-A12B": { - "id": "nvidia/Nemotron-120B-A12B", - "name": "Nemotron 3 Super", - "family": "nemotron", - "attachment": false, - "reasoning": true, - "tool_call": true, - "interleaved": { "field": "reasoning_content" }, - "temperature": true, - "knowledge": "2026-02", - "release_date": "2026-03-11", - "last_updated": "2026-03-11", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.3, "output": 0.75 }, - "limit": { "context": 262144, "output": 32678 } - }, - "MiniMaxAI/MiniMax-M2.5": { - "id": "MiniMaxAI/MiniMax-M2.5", - "name": "MiniMax-M2.5", - "family": "minimax", - "attachment": false, - "reasoning": true, - "tool_call": true, - "interleaved": { "field": "reasoning_content" }, - "temperature": true, - "knowledge": "2026-01", - "release_date": "2026-02-12", - "last_updated": "2026-02-12", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.3, "output": 1.2 }, - "limit": { "context": 204000, "output": 204000 } + "limit": { + "context": 131072, + "output": 16384 + }, + "cost": { + "input": 0.1, + "output": 0.3 + } }, "deepseek-ai/DeepSeek-V3.1": { "id": "deepseek-ai/DeepSeek-V3.1", "name": "DeepSeek V3.1", "family": "deepseek", "attachment": false, - "reasoning": true, + "reasoning": false, "tool_call": true, + "structured_output": true, "temperature": true, "release_date": "2025-08-25", "last_updated": "2025-08-25", - "modalities": { "input": ["text"], "output": ["text"] }, + "modalities": { + "input": ["text"], + "output": ["text"] + }, "open_weights": true, - "cost": { "input": 0.5, "output": 1.5 }, - "limit": { "context": 164000, "output": 131000 } + "limit": { + "context": 164000, + "output": 164000 + }, + "cost": { + "input": 0.27, + "output": 1 + } }, "deepseek-ai/DeepSeek-V3-0324": { "id": "deepseek-ai/DeepSeek-V3-0324", @@ -38234,65 +78685,99 @@ "reasoning": false, "tool_call": true, "temperature": true, - "knowledge": "2024-12", "release_date": "2025-03-24", "last_updated": "2025-03-24", - "modalities": { "input": ["text"], "output": ["text"] }, + "modalities": { + "input": ["text"], + "output": ["text"] + }, "open_weights": true, - "cost": { "input": 0.77, "output": 0.77 }, - "limit": { "context": 164000, "output": 131000 } + "limit": { + "context": 163840, + "output": 163840 + }, + "cost": { + "input": 0.25, + "output": 0.88 + } + }, + "deepseek-ai/DeepSeek-V3.2-Exp": { + "id": "deepseek-ai/DeepSeek-V3.2-Exp", + "name": "DeepSeek V3.2 Exp", + "family": "deepseek", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-10-10", + "last_updated": "2025-10-10", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 164000, + "output": 164000 + }, + "cost": { + "input": 0.27, + "output": 0.4 + } + }, + "deepseek-ai/DeepSeek-R1-0528": { + "id": "deepseek-ai/DeepSeek-R1-0528", + "name": "DeepSeek R1 0528", + "family": "deepseek-thinking", + "attachment": false, + "reasoning": true, + "tool_call": false, + "interleaved": { + "field": "reasoning_content" + }, + "temperature": true, + "knowledge": "2024-07", + "release_date": "2025-05-28", + "last_updated": "2025-05-28", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 163840, + "output": 64000 + }, + "cost": { + "input": 0.5, + "output": 2.15 + } }, "deepseek-ai/DeepSeek-V3.2": { "id": "deepseek-ai/DeepSeek-V3.2", "name": "DeepSeek V3.2", "family": "deepseek", "attachment": false, - "reasoning": true, - "tool_call": true, - "interleaved": { "field": "reasoning_content" }, - "temperature": true, - "knowledge": "2025-10", - "release_date": "2025-12-01", - "last_updated": "2026-03-06", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.3, "output": 0.45 }, - "limit": { "context": 163800, "output": 131100 }, - "status": "deprecated" - }, - "moonshotai/Kimi-K2.5": { - "id": "moonshotai/Kimi-K2.5", - "name": "Kimi K2.5", - "family": "kimi", - "attachment": true, - "reasoning": true, - "tool_call": true, - "interleaved": { "field": "reasoning_content" }, - "temperature": true, - "knowledge": "2025-12", - "release_date": "2026-01-30", - "last_updated": "2026-02-12", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.6, "output": 3 }, - "limit": { "context": 262144, "output": 8192 } - }, - "moonshotai/Kimi-K2-Instruct-0905": { - "id": "moonshotai/Kimi-K2-Instruct-0905", - "name": "Kimi K2 Instruct 0905", - "family": "kimi", - "attachment": false, "reasoning": false, "tool_call": true, + "structured_output": true, "temperature": true, - "knowledge": "2025-08", - "release_date": "2025-09-05", - "last_updated": "2026-03-06", - "modalities": { "input": ["text"], "output": ["text"] }, + "release_date": "2025-12-03", + "last_updated": "2025-12-03", + "modalities": { + "input": ["text"], + "output": ["text"] + }, "open_weights": true, - "cost": { "input": 0.6, "output": 2.5 }, - "limit": { "context": 262144, "output": 262144 }, - "status": "deprecated" + "limit": { + "context": 164000, + "output": 164000 + }, + "cost": { + "input": 0.26, + "output": 0.38 + } }, "moonshotai/Kimi-K2-Thinking": { "id": "moonshotai/Kimi-K2-Thinking", @@ -38301,1098 +78786,192 @@ "attachment": false, "reasoning": true, "tool_call": true, - "interleaved": { "field": "reasoning_content" }, + "interleaved": { + "field": "reasoning_content" + }, "temperature": true, "knowledge": "2024-08", "release_date": "2025-11-06", - "last_updated": "2026-03-06", - "modalities": { "input": ["text"], "output": ["text"] }, + "last_updated": "2025-11-06", + "modalities": { + "input": ["text"], + "output": ["text"] + }, "open_weights": true, - "cost": { "input": 0.6, "output": 2.5 }, - "limit": { "context": 262144, "output": 262144 }, - "status": "deprecated" + "limit": { + "context": 262144, + "output": 262144 + }, + "cost": { + "input": 0.6, + "output": 2.6 + } + }, + "moonshotai/Kimi-K2.5": { + "id": "moonshotai/Kimi-K2.5", + "name": "Kimi K2.5", + "family": "kimi", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "temperature": true, + "knowledge": "2026-01", + "release_date": "2026-01-27", + "last_updated": "2026-01-27", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 262144 + }, + "cost": { + "input": 0.45, + "output": 2.8 + } + }, + "MiniMaxAI/MiniMax-M2.5": { + "id": "MiniMaxAI/MiniMax-M2.5", + "name": "MiniMax M2.5", + "family": "minimax", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "temperature": true, + "release_date": "2026-02-12", + "last_updated": "2026-02-12", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 204800, + "output": 131072 + }, + "cost": { + "input": 0.3, + "output": 1.2 + } + }, + "MiniMaxAI/MiniMax-M2.1": { + "id": "MiniMaxAI/MiniMax-M2.1", + "name": "MiniMax M2.1", + "family": "minimax", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "temperature": true, + "release_date": "2025-12-23", + "last_updated": "2025-12-23", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 196608, + "output": 131072 + }, + "cost": { + "input": 0.28, + "output": 1.2 + } } } }, - "vercel": { - "id": "vercel", - "env": ["AI_GATEWAY_API_KEY"], - "npm": "@ai-sdk/gateway", - "name": "Vercel AI Gateway", - "doc": "https://github.com/vercel/ai/tree/5eb85cc45a259553501f535b8ac79a77d0e79223/packages/gateway", + "google-vertex-anthropic": { + "id": "google-vertex-anthropic", + "env": ["GOOGLE_VERTEX_PROJECT", "GOOGLE_VERTEX_LOCATION", "GOOGLE_APPLICATION_CREDENTIALS"], + "npm": "@ai-sdk/google-vertex/anthropic", + "name": "Vertex (Anthropic)", + "doc": "https://cloud.google.com/vertex-ai/generative-ai/docs/partner-models/claude", "models": { - "meituan/longcat-flash-thinking": { - "id": "meituan/longcat-flash-thinking", - "name": "LongCat Flash Thinking", - "family": "longcat", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2024-10", - "release_date": "2025-09-23", - "last_updated": "2025-09-23", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.15, "output": 1.5 }, - "limit": { "context": 128000, "output": 8192 } - }, - "meituan/longcat-flash-thinking-2601": { - "id": "meituan/longcat-flash-thinking-2601", - "name": "LongCat Flash Thinking 2601", - "family": "longcat", - "attachment": false, - "reasoning": true, - "tool_call": false, - "temperature": true, - "release_date": "2026-03-13", - "last_updated": "2026-03-13", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "limit": { "context": 32768, "output": 32768 } - }, - "meituan/longcat-flash-chat": { - "id": "meituan/longcat-flash-chat", - "name": "LongCat Flash Chat", - "family": "longcat", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-10", - "release_date": "2025-08-30", - "last_updated": "2025-08-30", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "limit": { "context": 128000, "output": 8192 } - }, - "openai/gpt-5.2-codex": { - "id": "openai/gpt-5.2-codex", - "name": "GPT-5.2-Codex", - "family": "gpt-codex", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2024-10", - "release_date": "2025-12", - "last_updated": "2025-12", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.75, "output": 14, "cache_read": 0.175 }, - "limit": { "context": 400000, "input": 272000, "output": 128000 } - }, - "openai/text-embedding-3-large": { - "id": "openai/text-embedding-3-large", - "name": "text-embedding-3-large", - "family": "text-embedding", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": false, - "release_date": "2024-01-25", - "last_updated": "2024-01-25", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.13, "output": 0 }, - "limit": { "context": 8192, "input": 6656, "output": 1536 } - }, - "openai/gpt-5.1-codex-mini": { - "id": "openai/gpt-5.1-codex-mini", - "name": "GPT-5.1 Codex mini", - "family": "gpt", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2024-10", - "release_date": "2025-05-16", - "last_updated": "2025-05-16", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.25, "output": 2, "cache_read": 0.03 }, - "limit": { "context": 400000, "input": 272000, "output": 128000 } - }, - "openai/gpt-5.4-pro": { - "id": "openai/gpt-5.4-pro", - "name": "GPT 5.4 Pro", - "family": "gpt", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2026-03-05", - "last_updated": "2026-03-06", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 30, "output": 180 }, - "limit": { "context": 1050000, "input": 922000, "output": 128000 } - }, - "openai/gpt-5.4-mini": { - "id": "openai/gpt-5.4-mini", - "name": "GPT 5.4 Mini", - "family": "gpt", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2026-03-17", - "last_updated": "2026-03-17", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.75, "output": 4.5, "cache_read": 0.075 }, - "limit": { "context": 400000, "input": 272000, "output": 128000 } - }, - "openai/gpt-5-pro": { - "id": "openai/gpt-5-pro", - "name": "GPT-5 pro", - "family": "gpt", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2024-10", - "release_date": "2025-08-07", - "last_updated": "2025-08-07", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text", "image"] }, - "open_weights": false, - "cost": { "input": 15, "output": 120 }, - "limit": { "context": 400000, "input": 128000, "output": 272000 } - }, - "openai/gpt-5.1-thinking": { - "id": "openai/gpt-5.1-thinking", - "name": "GPT 5.1 Thinking", - "family": "gpt", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": false, - "knowledge": "2024-10", - "release_date": "2025-08-07", - "last_updated": "2025-08-07", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text", "image"] }, - "open_weights": false, - "cost": { "input": 1.25, "output": 10, "cache_read": 0.13 }, - "limit": { "context": 400000, "input": 272000, "output": 128000 } - }, - "openai/gpt-5.3-codex": { - "id": "openai/gpt-5.3-codex", - "name": "GPT 5.3 Codex", - "family": "gpt", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2026-02-24", - "last_updated": "2026-02-24", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.75, "output": 14, "cache_read": 0.175 }, - "limit": { "context": 400000, "input": 272000, "output": 128000 } - }, - "openai/gpt-5.1-codex-max": { - "id": "openai/gpt-5.1-codex-max", - "name": "GPT 5.1 Codex Max", - "family": "gpt", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2024-10", - "release_date": "2025-08-07", - "last_updated": "2025-08-07", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.25, "output": 10, "cache_read": 0.13 }, - "limit": { "context": 400000, "input": 272000, "output": 128000 } - }, - "openai/codex-mini": { - "id": "openai/codex-mini", - "name": "Codex Mini", - "family": "gpt-codex-mini", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2024-10", - "release_date": "2025-05-16", - "last_updated": "2025-05-16", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.5, "output": 6, "cache_read": 0.38 }, - "limit": { "context": 200000, "input": 100000, "output": 100000 } - }, - "openai/gpt-3.5-turbo": { - "id": "openai/gpt-3.5-turbo", - "name": "GPT-3.5 Turbo", - "family": "gpt", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "knowledge": "2021-09", - "release_date": "2023-03-01", - "last_updated": "2023-03-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.5, "output": 1.5 }, - "limit": { "context": 16385, "input": 12289, "output": 4096 } - }, - "openai/gpt-3.5-turbo-instruct": { - "id": "openai/gpt-3.5-turbo-instruct", - "name": "GPT-3.5 Turbo Instruct", - "family": "gpt", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "knowledge": "2021-09", - "release_date": "2023-03-01", - "last_updated": "2023-03-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.5, "output": 2 }, - "limit": { "context": 8192, "input": 4096, "output": 4096 } - }, - "openai/gpt-oss-120b": { - "id": "openai/gpt-oss-120b", - "name": "GPT OSS 120B", - "family": "gpt-oss", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2024-10", - "release_date": "2025-08-05", - "last_updated": "2025-08-05", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.1, "output": 0.5 }, - "limit": { "context": 131072, "output": 131072 } - }, - "openai/gpt-5.4": { - "id": "openai/gpt-5.4", - "name": "GPT 5.4", - "family": "gpt", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2026-03-05", - "last_updated": "2026-03-06", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2.5, "output": 15, "cache_read": 0.25 }, - "limit": { "context": 1050000, "input": 922000, "output": 128000 } - }, - "openai/gpt-5-chat": { - "id": "openai/gpt-5-chat", - "name": "GPT-5 Chat", - "family": "gpt", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2024-10", - "release_date": "2025-08-07", - "last_updated": "2025-08-07", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text", "image"] }, - "open_weights": false, - "cost": { "input": 1.25, "output": 10, "cache_read": 0.13 }, - "limit": { "context": 128000, "input": 111616, "output": 16384 } - }, - "openai/gpt-5.4-nano": { - "id": "openai/gpt-5.4-nano", - "name": "GPT 5.4 Nano", - "family": "gpt", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2026-03-17", - "last_updated": "2026-03-17", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.19999999999999998, "output": 1.25, "cache_read": 0.02 }, - "limit": { "context": 400000, "input": 272000, "output": 128000 } - }, - "openai/gpt-5.3-chat": { - "id": "openai/gpt-5.3-chat", - "name": "GPT-5.3 Chat", - "family": "gpt", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2026-03-03", - "last_updated": "2026-03-06", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.75, "output": 14, "cache_read": 0.175 }, - "limit": { "context": 128000, "input": 111616, "output": 16384 } - }, - "openai/text-embedding-ada-002": { - "id": "openai/text-embedding-ada-002", - "name": "text-embedding-ada-002", - "family": "text-embedding", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": false, - "release_date": "2022-12-15", - "last_updated": "2022-12-15", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.1, "output": 0 }, - "limit": { "context": 8192, "input": 6656, "output": 1536 } - }, - "openai/gpt-5.2-chat": { - "id": "openai/gpt-5.2-chat", - "name": "GPT-5.2 Chat", - "family": "gpt", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2024-10", - "release_date": "2025-08-07", - "last_updated": "2025-08-07", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.75, "output": 14, "cache_read": 0.18 }, - "limit": { "context": 128000, "input": 111616, "output": 16384 } - }, - "openai/gpt-5.2": { - "id": "openai/gpt-5.2", - "name": "GPT-5.2", - "family": "gpt", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2024-10", - "release_date": "2025-08-07", - "last_updated": "2025-08-07", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.75, "output": 14, "cache_read": 0.18 }, - "limit": { "context": 400000, "input": 272000, "output": 128000 } - }, - "openai/gpt-4o-mini-search-preview": { - "id": "openai/gpt-4o-mini-search-preview", - "name": "GPT 4o Mini Search Preview", - "family": "gpt-mini", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "temperature": true, - "knowledge": "2023-09", - "release_date": "2025-01", - "last_updated": "2025-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.15, "output": 0.6 }, - "limit": { "context": 128000, "input": 111616, "output": 16384 } - }, - "openai/gpt-5.1-instant": { - "id": "openai/gpt-5.1-instant", - "name": "GPT-5.1 Instant", - "family": "gpt", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2024-10", - "release_date": "2025-08-07", - "last_updated": "2025-08-07", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text", "image"] }, - "open_weights": false, - "cost": { "input": 1.25, "output": 10, "cache_read": 0.13 }, - "limit": { "context": 128000, "input": 111616, "output": 16384 } - }, - "openai/gpt-oss-safeguard-20b": { - "id": "openai/gpt-oss-safeguard-20b", - "name": "gpt-oss-safeguard-20b", - "family": "gpt-oss", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2024-10", - "release_date": "2024-12-01", - "last_updated": "2024-12-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.08, "output": 0.3, "cache_read": 0.04 }, - "limit": { "context": 131072, "input": 65536, "output": 65536 } - }, - "openai/o3-pro": { - "id": "openai/o3-pro", - "name": "o3 Pro", - "family": "o-pro", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": false, - "knowledge": "2024-10", - "release_date": "2025-04-16", - "last_updated": "2025-04-16", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 20, "output": 80 }, - "limit": { "context": 200000, "input": 100000, "output": 100000 } - }, - "openai/gpt-oss-20b": { - "id": "openai/gpt-oss-20b", - "name": "GPT OSS 20B", - "family": "gpt-oss", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2024-10", - "release_date": "2025-08-05", - "last_updated": "2025-08-05", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.07, "output": 0.3 }, - "limit": { "context": 131072, "input": 98304, "output": 32768 } - }, - "openai/text-embedding-3-small": { - "id": "openai/text-embedding-3-small", - "name": "text-embedding-3-small", - "family": "text-embedding", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": false, - "release_date": "2024-01-25", - "last_updated": "2024-01-25", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.02, "output": 0 }, - "limit": { "context": 8192, "input": 6656, "output": 1536 } - }, - "openai/o3-deep-research": { - "id": "openai/o3-deep-research", - "name": "o3-deep-research", - "family": "o", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": false, - "knowledge": "2024-10", - "release_date": "2024-06-26", - "last_updated": "2024-06-26", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 10, "output": 40, "cache_read": 2.5 }, - "limit": { "context": 200000, "input": 100000, "output": 100000 } - }, - "openai/gpt-5.1-codex": { - "id": "openai/gpt-5.1-codex", - "name": "GPT-5.1-Codex", - "family": "gpt", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2024-10", - "release_date": "2025-08-07", - "last_updated": "2025-08-07", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.25, "output": 10, "cache_read": 0.13 }, - "limit": { "context": 400000, "input": 272000, "output": 128000 } - }, - "openai/gpt-5.2-pro": { - "id": "openai/gpt-5.2-pro", - "name": "GPT 5.2 ", - "family": "gpt", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2024-10", - "release_date": "2025-08-07", - "last_updated": "2025-08-07", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 21, "output": 168 }, - "limit": { "context": 400000, "input": 272000, "output": 128000 } - }, - "openai/o4-mini": { - "id": "openai/o4-mini", - "name": "o4-mini", - "family": "o-mini", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": false, - "knowledge": "2024-05", - "release_date": "2025-04-16", - "last_updated": "2025-04-16", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.1, "output": 4.4, "cache_read": 0.28 }, - "limit": { "context": 200000, "output": 100000 } - }, - "openai/gpt-5-codex": { - "id": "openai/gpt-5-codex", - "name": "GPT-5-Codex", - "family": "gpt-codex", - "attachment": false, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": false, - "knowledge": "2024-09-30", - "release_date": "2025-09-15", - "last_updated": "2025-09-15", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.25, "output": 10, "cache_read": 0.125 }, - "limit": { "context": 400000, "input": 272000, "output": 128000 } - }, - "openai/gpt-4.1-nano": { - "id": "openai/gpt-4.1-nano", - "name": "GPT-4.1 nano", - "family": "gpt-nano", - "attachment": true, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2024-04", - "release_date": "2025-04-14", - "last_updated": "2025-04-14", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.1, "output": 0.4, "cache_read": 0.03 }, - "limit": { "context": 1047576, "output": 32768 } - }, - "openai/gpt-5-nano": { - "id": "openai/gpt-5-nano", - "name": "GPT-5 Nano", - "family": "gpt-nano", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": false, - "knowledge": "2024-05-30", - "release_date": "2025-08-07", - "last_updated": "2025-08-07", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.05, "output": 0.4, "cache_read": 0.005 }, - "limit": { "context": 400000, "input": 272000, "output": 128000 } - }, - "openai/gpt-4.1-mini": { - "id": "openai/gpt-4.1-mini", - "name": "GPT-4.1 mini", - "family": "gpt-mini", - "attachment": true, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2024-04", - "release_date": "2025-04-14", - "last_updated": "2025-04-14", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.4, "output": 1.6, "cache_read": 0.1 }, - "limit": { "context": 1047576, "output": 32768 } - }, - "openai/o3": { - "id": "openai/o3", - "name": "o3", - "family": "o", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": false, - "knowledge": "2024-05", - "release_date": "2025-04-16", - "last_updated": "2025-04-16", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2, "output": 8, "cache_read": 0.5 }, - "limit": { "context": 200000, "output": 100000 } - }, - "openai/o1": { - "id": "openai/o1", - "name": "o1", - "family": "o", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": false, - "knowledge": "2023-09", - "release_date": "2024-12-05", - "last_updated": "2024-12-05", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 15, "output": 60, "cache_read": 7.5 }, - "limit": { "context": 200000, "output": 100000 } - }, - "openai/gpt-4.1": { - "id": "openai/gpt-4.1", - "name": "GPT-4.1", - "family": "gpt", - "attachment": true, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2024-04", - "release_date": "2025-04-14", - "last_updated": "2025-04-14", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2, "output": 8, "cache_read": 0.5 }, - "limit": { "context": 1047576, "output": 32768 } - }, - "openai/gpt-4o-mini": { - "id": "openai/gpt-4o-mini", - "name": "GPT-4o mini", - "family": "gpt-mini", - "attachment": true, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2023-09", - "release_date": "2024-07-18", - "last_updated": "2024-07-18", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.15, "output": 0.6, "cache_read": 0.08 }, - "limit": { "context": 128000, "output": 16384 } - }, - "openai/gpt-5-mini": { - "id": "openai/gpt-5-mini", - "name": "GPT-5 Mini", - "family": "gpt-mini", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": false, - "knowledge": "2024-05-30", - "release_date": "2025-08-07", - "last_updated": "2025-08-07", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.25, "output": 2, "cache_read": 0.025 }, - "limit": { "context": 400000, "input": 272000, "output": 128000 } - }, - "openai/gpt-4o": { - "id": "openai/gpt-4o", - "name": "GPT-4o", - "family": "gpt", - "attachment": true, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2023-09", - "release_date": "2024-05-13", - "last_updated": "2024-08-06", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2.5, "output": 10, "cache_read": 1.25 }, - "limit": { "context": 128000, "output": 16384 } - }, - "openai/gpt-4-turbo": { - "id": "openai/gpt-4-turbo", - "name": "GPT-4 Turbo", - "family": "gpt", - "attachment": true, - "reasoning": false, - "tool_call": true, - "structured_output": false, - "temperature": true, - "knowledge": "2023-12", - "release_date": "2023-11-06", - "last_updated": "2024-04-09", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 10, "output": 30 }, - "limit": { "context": 128000, "output": 4096 } - }, - "openai/gpt-5": { - "id": "openai/gpt-5", - "name": "GPT-5", - "family": "gpt", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": false, - "knowledge": "2024-09-30", - "release_date": "2025-08-07", - "last_updated": "2025-08-07", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.25, "output": 10, "cache_read": 0.125 }, - "limit": { "context": 400000, "input": 272000, "output": 128000 } - }, - "openai/o3-mini": { - "id": "openai/o3-mini", - "name": "o3-mini", - "family": "o-mini", - "attachment": false, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": false, - "knowledge": "2024-05", - "release_date": "2024-12-20", - "last_updated": "2025-01-29", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.1, "output": 4.4, "cache_read": 0.55 }, - "limit": { "context": 200000, "output": 100000 } - }, - "prime-intellect/intellect-3": { - "id": "prime-intellect/intellect-3", - "name": "INTELLECT 3", - "family": "intellect", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2024-10", - "release_date": "2025-11-26", - "last_updated": "2025-11-26", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.2, "output": 1.1 }, - "limit": { "context": 131072, "output": 131072 } - }, - "bfl/flux-pro-1.1": { - "id": "bfl/flux-pro-1.1", - "name": "FLUX1.1 [pro]", - "family": "flux", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": false, - "release_date": "2024-10", - "last_updated": "2024-10", - "modalities": { "input": ["text"], "output": ["image"] }, - "open_weights": false, - "limit": { "context": 512, "output": 0 } - }, - "bfl/flux-pro-1.1-ultra": { - "id": "bfl/flux-pro-1.1-ultra", - "name": "FLUX1.1 [pro] Ultra", - "family": "flux", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": false, - "release_date": "2024-11", - "last_updated": "2024-11", - "modalities": { "input": ["text"], "output": ["image"] }, - "open_weights": false, - "limit": { "context": 512, "output": 0 } - }, - "bfl/flux-pro-1.0-fill": { - "id": "bfl/flux-pro-1.0-fill", - "name": "FLUX.1 Fill [pro]", - "family": "flux", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": false, - "release_date": "2024-10", - "last_updated": "2024-10", - "modalities": { "input": ["text"], "output": ["image"] }, - "open_weights": false, - "limit": { "context": 512, "output": 0 } - }, - "bfl/flux-kontext-max": { - "id": "bfl/flux-kontext-max", - "name": "FLUX.1 Kontext Max", - "family": "flux", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": false, - "release_date": "2025-06", - "last_updated": "2025-06", - "modalities": { "input": ["text"], "output": ["image"] }, - "open_weights": false, - "limit": { "context": 512, "output": 0 } - }, - "bfl/flux-kontext-pro": { - "id": "bfl/flux-kontext-pro", - "name": "FLUX.1 Kontext Pro", - "family": "flux", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": false, - "release_date": "2025-06", - "last_updated": "2025-06", - "modalities": { "input": ["text"], "output": ["image"] }, - "open_weights": false, - "limit": { "context": 512, "output": 0 } - }, - "cohere/embed-v4.0": { - "id": "cohere/embed-v4.0", - "name": "Embed v4.0", - "family": "cohere-embed", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": false, - "release_date": "2025-04-15", - "last_updated": "2025-04-15", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.12, "output": 0 }, - "limit": { "context": 8192, "output": 1536 } - }, - "cohere/command-a": { - "id": "cohere/command-a", - "name": "Command A", - "family": "command", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-10", - "release_date": "2025-03-13", - "last_updated": "2025-03-13", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2.5, "output": 10 }, - "limit": { "context": 256000, "output": 8000 } - }, - "kwaipilot/kat-coder-pro-v1": { - "id": "kwaipilot/kat-coder-pro-v1", - "name": "KAT-Coder-Pro V1", - "family": "kat-coder", - "attachment": false, - "reasoning": true, - "tool_call": false, - "temperature": true, - "knowledge": "2024-10", - "release_date": "2025-10-24", - "last_updated": "2025-10-24", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "limit": { "context": 256000, "output": 32000 } - }, - "kwaipilot/kat-coder-pro-v2": { - "id": "kwaipilot/kat-coder-pro-v2", - "name": "Kat Coder Pro V2", - "family": "kat-coder", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2026-03-27", - "last_updated": "2026-03-30", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.3, "output": 1.2, "cache_read": 0.06 }, - "limit": { "context": 256000, "output": 256000 } - }, - "morph/morph-v3-fast": { - "id": "morph/morph-v3-fast", - "name": "Morph v3 Fast", - "family": "morph", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": false, - "release_date": "2024-08-15", - "last_updated": "2024-08-15", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.8, "output": 1.2 }, - "limit": { "context": 16000, "output": 16000 } - }, - "morph/morph-v3-large": { - "id": "morph/morph-v3-large", - "name": "Morph v3 Large", - "family": "morph", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": false, - "release_date": "2024-08-15", - "last_updated": "2024-08-15", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.9, "output": 1.9 }, - "limit": { "context": 32000, "output": 32000 } - }, - "anthropic/claude-opus-4.6": { - "id": "anthropic/claude-opus-4.6", - "name": "Claude Opus 4.6", - "family": "claude-opus", - "attachment": true, - "reasoning": true, - "tool_call": true, - "interleaved": true, - "temperature": true, - "knowledge": "2025-05", - "release_date": "2026-02", - "last_updated": "2026-02", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 5, "output": 25, "cache_read": 0.5, "cache_write": 6.25 }, - "limit": { "context": 1000000, "output": 128000 } - }, - "anthropic/claude-haiku-4.5": { - "id": "anthropic/claude-haiku-4.5", + "claude-haiku-4-5@20251001": { + "id": "claude-haiku-4-5@20251001", "name": "Claude Haiku 4.5", "family": "claude-haiku", "attachment": true, "reasoning": true, "tool_call": true, - "interleaved": true, "temperature": true, "knowledge": "2025-02-28", "release_date": "2025-10-15", "last_updated": "2025-10-15", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, "open_weights": false, - "cost": { "input": 1, "output": 5, "cache_read": 0.1, "cache_write": 1.25 }, - "limit": { "context": 200000, "output": 64000 } + "limit": { + "context": 200000, + "output": 64000 + }, + "cost": { + "input": 1, + "output": 5, + "cache_read": 0.1, + "cache_write": 1.25 + } }, - "anthropic/claude-sonnet-4.6": { - "id": "anthropic/claude-sonnet-4.6", + "claude-sonnet-4-6@default": { + "id": "claude-sonnet-4-6@default", "name": "Claude Sonnet 4.6", "family": "claude-sonnet", "attachment": true, "reasoning": true, "tool_call": true, - "interleaved": true, "temperature": true, - "knowledge": "2025-08", + "knowledge": "2025-08-31", "release_date": "2026-02-17", - "last_updated": "2026-02-17", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, + "last_updated": "2026-03-13", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, "open_weights": false, + "limit": { + "context": 200000, + "output": 64000 + }, "cost": { "input": 3, "output": 15, "cache_read": 0.3, "cache_write": 3.75, - "context_over_200k": { "input": 6, "output": 22.5, "cache_read": 0.6, "cache_write": 7.5 } - }, - "limit": { "context": 1000000, "output": 128000 } + "context_over_200k": { + "input": 6, + "output": 22.5, + "cache_read": 0.6, + "cache_write": 7.5 + }, + "tiers": [ + { + "input": 6, + "output": 22.5, + "cache_read": 0.6, + "cache_write": 7.5, + "tier": { + "type": "context", + "size": 200000 + } + } + ] + } }, - "anthropic/claude-opus-4.5": { - "id": "anthropic/claude-opus-4.5", - "name": "Claude Opus 4.5", - "family": "claude-opus", - "attachment": true, - "reasoning": true, - "tool_call": true, - "interleaved": true, - "temperature": true, - "knowledge": "2025-03-31", - "release_date": "2025-11-24", - "last_updated": "2025-11-24", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 5, "output": 25, "cache_read": 0.5, "cache_write": 18.75 }, - "limit": { "context": 200000, "output": 64000 } - }, - "anthropic/claude-3.5-sonnet-20240620": { - "id": "anthropic/claude-3.5-sonnet-20240620", - "name": "Claude 3.5 Sonnet (2024-06-20)", - "family": "claude-sonnet", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-04", - "release_date": "2024-06-20", - "last_updated": "2024-06-20", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 3, "output": 15 }, - "limit": { "context": 200000, "output": 8192 } - }, - "anthropic/claude-opus-4": { - "id": "anthropic/claude-opus-4", - "name": "Claude Opus 4", - "family": "claude-opus", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-03-31", - "release_date": "2025-05-22", - "last_updated": "2025-05-22", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 15, "output": 75, "cache_read": 1.5, "cache_write": 18.75 }, - "limit": { "context": 200000, "output": 32000 } - }, - "anthropic/claude-sonnet-4.5": { - "id": "anthropic/claude-sonnet-4.5", - "name": "Claude Sonnet 4.5", - "family": "claude-sonnet", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-07-31", - "release_date": "2025-09-29", - "last_updated": "2025-09-29", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 3, "output": 15, "cache_read": 0.3, "cache_write": 3.75 }, - "limit": { "context": 200000, "output": 64000 } - }, - "anthropic/claude-3-haiku": { - "id": "anthropic/claude-3-haiku", - "name": "Claude Haiku 3", - "family": "claude-haiku", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2023-08-31", - "release_date": "2024-03-13", - "last_updated": "2024-03-13", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.25, "output": 1.25, "cache_read": 0.03, "cache_write": 0.3 }, - "limit": { "context": 200000, "output": 4096 } - }, - "anthropic/claude-3.5-sonnet": { - "id": "anthropic/claude-3.5-sonnet", - "name": "Claude Sonnet 3.5 v2", - "family": "claude-sonnet", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-04-30", - "release_date": "2024-10-22", - "last_updated": "2024-10-22", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 3, "output": 15, "cache_read": 0.3, "cache_write": 3.75 }, - "limit": { "context": 200000, "output": 8192 } - }, - "anthropic/claude-3.5-haiku": { - "id": "anthropic/claude-3.5-haiku", + "claude-3-5-haiku@20241022": { + "id": "claude-3-5-haiku@20241022", "name": "Claude Haiku 3.5", "family": "claude-haiku", "attachment": true, @@ -39402,13 +78981,78 @@ "knowledge": "2024-07-31", "release_date": "2024-10-22", "last_updated": "2024-10-22", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, "open_weights": false, - "cost": { "input": 0.8, "output": 4, "cache_read": 0.08, "cache_write": 1 }, - "limit": { "context": 200000, "output": 8192 } + "limit": { + "context": 200000, + "output": 8192 + }, + "cost": { + "input": 0.8, + "output": 4, + "cache_read": 0.08, + "cache_write": 1 + } }, - "anthropic/claude-sonnet-4": { - "id": "anthropic/claude-sonnet-4", + "claude-3-5-sonnet@20241022": { + "id": "claude-3-5-sonnet@20241022", + "name": "Claude Sonnet 3.5 v2", + "family": "claude-sonnet", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-04-30", + "release_date": "2024-10-22", + "last_updated": "2024-10-22", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 8192 + }, + "cost": { + "input": 3, + "output": 15, + "cache_read": 0.3, + "cache_write": 3.75 + } + }, + "claude-opus-4-1@20250805": { + "id": "claude-opus-4-1@20250805", + "name": "Claude Opus 4.1", + "family": "claude-opus", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-03-31", + "release_date": "2025-08-05", + "last_updated": "2025-08-05", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 32000 + }, + "cost": { + "input": 15, + "output": 75, + "cache_read": 1.5, + "cache_write": 18.75 + } + }, + "claude-sonnet-4@20250514": { + "id": "claude-sonnet-4@20250514", "name": "Claude Sonnet 4", "family": "claude-sonnet", "attachment": true, @@ -39418,13 +79062,24 @@ "knowledge": "2025-03-31", "release_date": "2025-05-22", "last_updated": "2025-05-22", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, "open_weights": false, - "cost": { "input": 3, "output": 15, "cache_read": 0.3, "cache_write": 3.75 }, - "limit": { "context": 200000, "output": 64000 } + "limit": { + "context": 200000, + "output": 64000 + }, + "cost": { + "input": 3, + "output": 15, + "cache_read": 0.3, + "cache_write": 3.75 + } }, - "anthropic/claude-3.7-sonnet": { - "id": "anthropic/claude-3.7-sonnet", + "claude-3-7-sonnet@20250219": { + "id": "claude-3-7-sonnet@20250219", "name": "Claude Sonnet 3.7", "family": "claude-sonnet", "attachment": true, @@ -39434,13 +79089,24 @@ "knowledge": "2024-10-31", "release_date": "2025-02-19", "last_updated": "2025-02-19", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, "open_weights": false, - "cost": { "input": 3, "output": 15, "cache_read": 0.3, "cache_write": 3.75 }, - "limit": { "context": 200000, "output": 64000 } + "limit": { + "context": 200000, + "output": 64000 + }, + "cost": { + "input": 3, + "output": 15, + "cache_read": 0.3, + "cache_write": 3.75 + } }, - "anthropic/claude-opus-4.1": { - "id": "anthropic/claude-opus-4.1", + "claude-opus-4@20250514": { + "id": "claude-opus-4@20250514", "name": "Claude Opus 4", "family": "claude-opus", "attachment": true, @@ -39450,2461 +79116,480 @@ "knowledge": "2025-03-31", "release_date": "2025-05-22", "last_updated": "2025-05-22", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, "open_weights": false, - "cost": { "input": 15, "output": 75, "cache_read": 1.5, "cache_write": 18.75 }, - "limit": { "context": 200000, "output": 32000 } + "limit": { + "context": 200000, + "output": 32000 + }, + "cost": { + "input": 15, + "output": 75, + "cache_read": 1.5, + "cache_write": 18.75 + } }, - "anthropic/claude-3-opus": { - "id": "anthropic/claude-3-opus", - "name": "Claude Opus 3", + "claude-opus-4-5@20251101": { + "id": "claude-opus-4-5@20251101", + "name": "Claude Opus 4.5", "family": "claude-opus", "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2023-08-31", - "release_date": "2024-02-29", - "last_updated": "2024-02-29", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 15, "output": 75, "cache_read": 1.5, "cache_write": 18.75 }, - "limit": { "context": 200000, "output": 4096 } - }, - "recraft/recraft-v2": { - "id": "recraft/recraft-v2", - "name": "Recraft V2", - "family": "recraft", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": false, - "release_date": "2024-03", - "last_updated": "2024-03", - "modalities": { "input": ["text"], "output": ["image"] }, - "open_weights": false, - "limit": { "context": 512, "output": 0 } - }, - "recraft/recraft-v3": { - "id": "recraft/recraft-v3", - "name": "Recraft V3", - "family": "recraft", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": false, - "release_date": "2024-10", - "last_updated": "2024-10", - "modalities": { "input": ["text"], "output": ["image"] }, - "open_weights": false, - "limit": { "context": 512, "output": 0 } - }, - "deepseek/deepseek-v3.1-terminus": { - "id": "deepseek/deepseek-v3.1-terminus", - "name": "DeepSeek V3.1 Terminus", - "family": "deepseek", - "attachment": false, "reasoning": true, "tool_call": true, "temperature": true, - "knowledge": "2025-07", - "release_date": "2025-09-22", - "last_updated": "2025-09-22", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.27, "output": 1 }, - "limit": { "context": 131072, "output": 65536 } - }, - "deepseek/deepseek-v3.2-thinking": { - "id": "deepseek/deepseek-v3.2-thinking", - "name": "DeepSeek V3.2 Thinking", - "family": "deepseek-thinking", - "attachment": false, - "reasoning": true, - "tool_call": true, - "interleaved": true, - "temperature": true, - "knowledge": "2024-07", - "release_date": "2025-12-01", - "last_updated": "2025-12-01", - "modalities": { "input": ["text"], "output": ["text"] }, + "knowledge": "2025-03-31", + "release_date": "2025-11-01", + "last_updated": "2025-11-01", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, "open_weights": false, - "cost": { "input": 0.28, "output": 0.42, "cache_read": 0.03 }, - "limit": { "context": 128000, "output": 64000 } + "limit": { + "context": 200000, + "output": 64000 + }, + "cost": { + "input": 5, + "output": 25, + "cache_read": 0.5, + "cache_write": 6.25 + } }, - "deepseek/deepseek-v3": { - "id": "deepseek/deepseek-v3", - "name": "DeepSeek V3 0324", - "family": "deepseek", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-07", - "release_date": "2024-12-26", - "last_updated": "2024-12-26", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.77, "output": 0.77 }, - "limit": { "context": 163840, "output": 16384 } - }, - "deepseek/deepseek-v3.2-exp": { - "id": "deepseek/deepseek-v3.2-exp", - "name": "DeepSeek V3.2 Exp", - "family": "deepseek", - "attachment": false, + "claude-sonnet-4-5@20250929": { + "id": "claude-sonnet-4-5@20250929", + "name": "Claude Sonnet 4.5", + "family": "claude-sonnet", + "attachment": true, "reasoning": true, "tool_call": true, "temperature": true, - "knowledge": "2025-09", + "knowledge": "2025-07-31", "release_date": "2025-09-29", "last_updated": "2025-09-29", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.27, "output": 0.4 }, - "limit": { "context": 163840, "output": 163840 } - }, - "deepseek/deepseek-v3.1": { - "id": "deepseek/deepseek-v3.1", - "name": "DeepSeek-V3.1", - "family": "deepseek", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2024-07", - "release_date": "2025-08-21", - "last_updated": "2025-08-21", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.3, "output": 1 }, - "limit": { "context": 163840, "output": 128000 } - }, - "deepseek/deepseek-v3.2": { - "id": "deepseek/deepseek-v3.2", - "name": "DeepSeek V3.2", - "family": "deepseek", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "knowledge": "2024-07", - "release_date": "2025-12-01", - "last_updated": "2025-12-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.27, "output": 0.4, "cache_read": 0.22 }, - "limit": { "context": 163842, "output": 8000 } - }, - "deepseek/deepseek-r1": { - "id": "deepseek/deepseek-r1", - "name": "DeepSeek-R1", - "family": "deepseek-thinking", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2024-07", - "release_date": "2025-01-20", - "last_updated": "2025-05-29", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.35, "output": 5.4 }, - "limit": { "context": 128000, "output": 32768 } - }, - "zai/glm-4.7-flash": { - "id": "zai/glm-4.7-flash", - "name": "GLM 4.7 Flash", - "family": "glm", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2026-03-13", - "last_updated": "2026-03-13", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.07, "output": 0.39999999999999997 }, - "limit": { "context": 200000, "output": 131000 } - }, - "zai/glm-5-turbo": { - "id": "zai/glm-5-turbo", - "name": "GLM 5 Turbo", - "family": "glm", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2026-03-15", - "last_updated": "2026-03-17", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.2, "output": 4, "cache_read": 0.24 }, - "limit": { "context": 202800, "output": 131100 } - }, - "zai/glm-4.5": { - "id": "zai/glm-4.5", - "name": "GLM 4.5", - "family": "glm", - "attachment": false, - "reasoning": true, - "tool_call": true, - "interleaved": true, - "temperature": true, - "knowledge": "2025-07", - "release_date": "2025-07-28", - "last_updated": "2025-07-28", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.6, "output": 2.2 }, - "limit": { "context": 131072, "output": 131072 } - }, - "zai/glm-4.7-flashx": { - "id": "zai/glm-4.7-flashx", - "name": "GLM 4.7 FlashX", - "family": "glm-flash", - "attachment": false, - "reasoning": true, - "tool_call": true, - "interleaved": true, - "temperature": true, - "knowledge": "2025-01", - "release_date": "2025-01", - "last_updated": "2025-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.06, "output": 0.4, "cache_read": 0.01 }, - "limit": { "context": 200000, "output": 128000 } - }, - "zai/glm-4.6": { - "id": "zai/glm-4.6", - "name": "GLM 4.6", - "family": "glm", - "attachment": false, - "reasoning": true, - "tool_call": true, - "interleaved": true, - "temperature": true, - "knowledge": "2025-04", - "release_date": "2025-09-30", - "last_updated": "2025-09-30", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.45, "output": 1.8 }, - "limit": { "context": 200000, "output": 96000 } - }, - "zai/glm-4.6v": { - "id": "zai/glm-4.6v", - "name": "GLM-4.6V", - "family": "glm", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2024-10", - "release_date": "2025-09-30", - "last_updated": "2025-09-30", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.3, "output": 0.9, "cache_read": 0.05 }, - "limit": { "context": 128000, "output": 24000 } - }, - "zai/glm-5": { - "id": "zai/glm-5", - "name": "GLM-5", - "family": "glm", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2026-02-12", - "last_updated": "2026-02-19", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 1, "output": 3.2, "cache_read": 0.2 }, - "limit": { "context": 202800, "output": 131072 } - }, - "zai/glm-4.5-air": { - "id": "zai/glm-4.5-air", - "name": "GLM 4.5 Air", - "family": "glm-air", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-04", - "release_date": "2025-07-28", - "last_updated": "2025-07-28", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.2, "output": 1.1 }, - "limit": { "context": 128000, "output": 96000 } - }, - "zai/glm-4.5v": { - "id": "zai/glm-4.5v", - "name": "GLM 4.5V", - "family": "glm", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-08", - "release_date": "2025-08-11", - "last_updated": "2025-08-11", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.6, "output": 1.8 }, - "limit": { "context": 66000, "output": 66000 } - }, - "zai/glm-4.7": { - "id": "zai/glm-4.7", - "name": "GLM 4.7", - "family": "glm", - "attachment": false, - "reasoning": true, - "tool_call": true, - "interleaved": true, - "temperature": true, - "knowledge": "2024-10", - "release_date": "2025-12-22", - "last_updated": "2025-12-22", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.43, "output": 1.75, "cache_read": 0.08 }, - "limit": { "context": 202752, "output": 120000 } - }, - "zai/glm-4.6v-flash": { - "id": "zai/glm-4.6v-flash", - "name": "GLM-4.6V-Flash", - "family": "glm", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2024-10", - "release_date": "2025-09-30", - "last_updated": "2025-09-30", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "limit": { "context": 128000, "output": 24000 } - }, - "xai/grok-imagine-image": { - "id": "xai/grok-imagine-image", - "name": "Grok Imagine Image", - "family": "grok", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "release_date": "2026-01-28", - "last_updated": "2026-02-19", - "modalities": { "input": ["text"], "output": ["text", "image"] }, - "open_weights": false, - "limit": { "context": 0, "output": 0 } - }, - "xai/grok-4.20-reasoning-beta": { - "id": "xai/grok-4.20-reasoning-beta", - "name": "Grok 4.20 Beta Reasoning", - "family": "grok", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2026-03-11", - "last_updated": "2026-03-13", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2, "output": 6, "cache_read": 0.19999999999999998 }, - "limit": { "context": 2000000, "output": 2000000 } - }, - "xai/grok-4.20-non-reasoning": { - "id": "xai/grok-4.20-non-reasoning", - "name": "Grok 4.20 Non-Reasoning", - "family": "grok", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "release_date": "2026-03-09", - "last_updated": "2026-03-23", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2, "output": 6, "cache_read": 0.19999999999999998 }, - "limit": { "context": 2000000, "output": 2000000 } - }, - "xai/grok-4.1-fast-non-reasoning": { - "id": "xai/grok-4.1-fast-non-reasoning", - "name": "Grok 4.1 Fast Non-Reasoning", - "family": "grok", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-10", - "release_date": "2025-07-09", - "last_updated": "2025-07-09", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.2, "output": 0.5, "cache_read": 0.05 }, - "limit": { "context": 2000000, "output": 30000 } - }, - "xai/grok-4.1-fast-reasoning": { - "id": "xai/grok-4.1-fast-reasoning", - "name": "Grok 4.1 Fast Reasoning", - "family": "grok", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2024-10", - "release_date": "2025-07-09", - "last_updated": "2025-07-09", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.2, "output": 0.5, "cache_read": 0.05 }, - "limit": { "context": 2000000, "output": 30000 } - }, - "xai/grok-4.20-multi-agent-beta": { - "id": "xai/grok-4.20-multi-agent-beta", - "name": "Grok 4.20 Multi Agent Beta", - "family": "grok", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2026-03-11", - "last_updated": "2026-03-13", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2, "output": 6, "cache_read": 0.19999999999999998 }, - "limit": { "context": 2000000, "output": 2000000 } - }, - "xai/grok-4.20-reasoning": { - "id": "xai/grok-4.20-reasoning", - "name": "Grok 4.20 Reasoning", - "family": "grok", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2026-03-09", - "last_updated": "2026-03-23", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2, "output": 6, "cache_read": 0.19999999999999998 }, - "limit": { "context": 2000000, "output": 2000000 } - }, - "xai/grok-4.20-multi-agent": { - "id": "xai/grok-4.20-multi-agent", - "name": "Grok 4.20 Multi-Agent", - "family": "grok", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2026-03-09", - "last_updated": "2026-03-23", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2, "output": 6, "cache_read": 0.19999999999999998 }, - "limit": { "context": 2000000, "output": 2000000 } - }, - "xai/grok-4-fast-reasoning": { - "id": "xai/grok-4-fast-reasoning", - "name": "Grok 4 Fast Reasoning", - "family": "grok", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2024-10", - "release_date": "2025-07-09", - "last_updated": "2025-07-09", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.2, "output": 0.5, "cache_read": 0.05 }, - "limit": { "context": 2000000, "output": 256000 } - }, - "xai/grok-imagine-image-pro": { - "id": "xai/grok-imagine-image-pro", - "name": "Grok Imagine Image Pro", - "family": "grok", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "release_date": "2026-01-28", - "last_updated": "2026-02-19", - "modalities": { "input": ["text"], "output": ["text", "image"] }, - "open_weights": false, - "limit": { "context": 0, "output": 0 } - }, - "xai/grok-4.20-non-reasoning-beta": { - "id": "xai/grok-4.20-non-reasoning-beta", - "name": "Grok 4.20 Beta Non-Reasoning", - "family": "grok", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "release_date": "2026-03-11", - "last_updated": "2026-03-13", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2, "output": 6, "cache_read": 0.19999999999999998 }, - "limit": { "context": 2000000, "output": 2000000 } - }, - "xai/grok-3": { - "id": "xai/grok-3", - "name": "Grok 3", - "family": "grok", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-11", - "release_date": "2025-02-17", - "last_updated": "2025-02-17", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 3, "output": 15, "cache_read": 0.75 }, - "limit": { "context": 131072, "output": 8192 } - }, - "xai/grok-3-fast": { - "id": "xai/grok-3-fast", - "name": "Grok 3 Fast", - "family": "grok", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-11", - "release_date": "2025-02-17", - "last_updated": "2025-02-17", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 5, "output": 25, "cache_read": 1.25 }, - "limit": { "context": 131072, "output": 8192 } - }, - "xai/grok-2-vision": { - "id": "xai/grok-2-vision", - "name": "Grok 2 Vision", - "family": "grok", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-08", - "release_date": "2024-08-20", - "last_updated": "2024-08-20", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2, "output": 10, "cache_read": 2 }, - "limit": { "context": 8192, "output": 4096 } - }, - "xai/grok-3-mini": { - "id": "xai/grok-3-mini", - "name": "Grok 3 Mini", - "family": "grok", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2024-11", - "release_date": "2025-02-17", - "last_updated": "2025-02-17", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.3, "output": 0.5, "reasoning": 0.5, "cache_read": 0.075 }, - "limit": { "context": 131072, "output": 8192 } - }, - "xai/grok-3-mini-fast": { - "id": "xai/grok-3-mini-fast", - "name": "Grok 3 Mini Fast", - "family": "grok", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2024-11", - "release_date": "2025-02-17", - "last_updated": "2025-02-17", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.6, "output": 4, "reasoning": 4, "cache_read": 0.15 }, - "limit": { "context": 131072, "output": 8192 } - }, - "xai/grok-code-fast-1": { - "id": "xai/grok-code-fast-1", - "name": "Grok Code Fast 1", - "family": "grok", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2023-10", - "release_date": "2025-08-28", - "last_updated": "2025-08-28", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.2, "output": 1.5, "cache_read": 0.02 }, - "limit": { "context": 256000, "output": 10000 } - }, - "xai/grok-4": { - "id": "xai/grok-4", - "name": "Grok 4", - "family": "grok", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-07", - "release_date": "2025-07-09", - "last_updated": "2025-07-09", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 3, "output": 15, "reasoning": 15, "cache_read": 0.75 }, - "limit": { "context": 256000, "output": 64000 } - }, - "xai/grok-4-fast-non-reasoning": { - "id": "xai/grok-4-fast-non-reasoning", - "name": "Grok 4 Fast (Non-Reasoning)", - "family": "grok", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2025-07", - "release_date": "2025-09-19", - "last_updated": "2025-09-19", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.2, "output": 0.5, "cache_read": 0.05 }, - "limit": { "context": 2000000, "output": 30000 } - }, - "nvidia/nemotron-3-super-120b-a12b": { - "id": "nvidia/nemotron-3-super-120b-a12b", - "name": "NVIDIA Nemotron 3 Super 120B A12B", - "family": "nemotron", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "release_date": "2026-03-18", - "last_updated": "2026-03-30", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.15, "output": 0.65 }, - "limit": { "context": 256000, "output": 32000 } - }, - "nvidia/nemotron-nano-12b-v2-vl": { - "id": "nvidia/nemotron-nano-12b-v2-vl", - "name": "Nvidia Nemotron Nano 12B V2 VL", - "family": "nemotron", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2024-10", - "release_date": "2024-12", - "last_updated": "2024-12", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.2, "output": 0.6 }, - "limit": { "context": 131072, "output": 131072 } - }, - "nvidia/nemotron-nano-9b-v2": { - "id": "nvidia/nemotron-nano-9b-v2", - "name": "Nvidia Nemotron Nano 9B V2", - "family": "nemotron", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2024-10", - "release_date": "2025-08-18", - "last_updated": "2025-08-18", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.04, "output": 0.16 }, - "limit": { "context": 131072, "output": 131072 } - }, - "nvidia/nemotron-3-nano-30b-a3b": { - "id": "nvidia/nemotron-3-nano-30b-a3b", - "name": "Nemotron 3 Nano 30B A3B", - "family": "nemotron", - "attachment": false, - "reasoning": true, - "tool_call": false, - "temperature": true, - "knowledge": "2024-10", - "release_date": "2024-12", - "last_updated": "2024-12", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.06, "output": 0.24 }, - "limit": { "context": 262144, "output": 262144 } - }, - "google/text-embedding-005": { - "id": "google/text-embedding-005", - "name": "Text Embedding 005", - "family": "text-embedding", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": false, - "release_date": "2024-08", - "last_updated": "2024-08", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.03, "output": 0 }, - "limit": { "context": 8192, "output": 1536 } - }, - "google/gemini-2.5-flash-lite": { - "id": "google/gemini-2.5-flash-lite", - "name": "Gemini 2.5 Flash Lite", - "family": "gemini-flash-lite", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-01", - "release_date": "2025-06-17", - "last_updated": "2025-06-17", - "modalities": { "input": ["text", "image", "audio", "video", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.1, "output": 0.4, "cache_read": 0.01 }, - "limit": { "context": 1048576, "output": 65536 } - }, - "google/gemini-2.5-flash-lite-preview-09-2025": { - "id": "google/gemini-2.5-flash-lite-preview-09-2025", - "name": "Gemini 2.5 Flash Lite Preview 09-25", - "family": "gemini-flash-lite", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-01", - "release_date": "2025-09-25", - "last_updated": "2025-09-25", - "modalities": { "input": ["text", "image", "audio", "video", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.1, "output": 0.4, "cache_read": 0.01 }, - "limit": { "context": 1048576, "output": 65536 } - }, - "google/gemini-3.1-pro-preview": { - "id": "google/gemini-3.1-pro-preview", - "name": "Gemini 3.1 Pro Preview", - "family": "gemini", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2026-02-19", - "last_updated": "2026-02-24", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2, "output": 12, "cache_read": 0.2 }, - "limit": { "context": 1000000, "output": 64000 } - }, - "google/gemini-3-pro-preview": { - "id": "google/gemini-3-pro-preview", - "name": "Gemini 3 Pro Preview", - "family": "gemini-pro", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-01", - "release_date": "2025-11-18", - "last_updated": "2025-11-18", - "modalities": { "input": ["text", "image", "video", "audio", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { - "input": 2, - "output": 12, - "cache_read": 0.2, - "context_over_200k": { "input": 4, "output": 18, "cache_read": 0.4 } + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] }, - "limit": { "context": 1000000, "output": 64000 } - }, - "google/imagen-4.0-fast-generate-001": { - "id": "google/imagen-4.0-fast-generate-001", - "name": "Imagen 4 Fast", - "family": "imagen", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": false, - "release_date": "2025-06", - "last_updated": "2025-06", - "modalities": { "input": ["text"], "output": ["image"] }, "open_weights": false, - "limit": { "context": 480, "output": 0 } + "limit": { + "context": 200000, + "output": 64000 + }, + "cost": { + "input": 3, + "output": 15, + "cache_read": 0.3, + "cache_write": 3.75 + } }, - "google/imagen-4.0-generate-001": { - "id": "google/imagen-4.0-generate-001", - "name": "Imagen 4", - "family": "imagen", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": false, - "release_date": "2025-05-22", - "last_updated": "2025-05-22", - "modalities": { "input": ["text"], "output": ["image"] }, - "open_weights": false, - "limit": { "context": 480, "output": 0 } - }, - "google/gemini-2.5-flash-preview-09-2025": { - "id": "google/gemini-2.5-flash-preview-09-2025", - "name": "Gemini 2.5 Flash Preview 09-25", - "family": "gemini-flash", + "claude-opus-4-6@default": { + "id": "claude-opus-4-6@default", + "name": "Claude Opus 4.6", + "family": "claude-opus", "attachment": true, "reasoning": true, "tool_call": true, "temperature": true, - "knowledge": "2025-01", - "release_date": "2025-09-25", - "last_updated": "2025-09-25", - "modalities": { "input": ["text", "image", "audio", "video", "pdf"], "output": ["text"] }, + "knowledge": "2025-05-31", + "release_date": "2026-02-05", + "last_updated": "2026-03-13", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, "open_weights": false, - "cost": { "input": 0.3, "output": 2.5, "cache_read": 0.03, "cache_write": 0.383 }, - "limit": { "context": 1048576, "output": 65536 } + "limit": { + "context": 1000000, + "output": 128000 + }, + "cost": { + "input": 5, + "output": 25, + "cache_read": 0.5, + "cache_write": 6.25, + "context_over_200k": { + "input": 10, + "output": 37.5, + "cache_read": 1, + "cache_write": 12.5 + }, + "tiers": [ + { + "input": 10, + "output": 37.5, + "cache_read": 1, + "cache_write": 12.5, + "tier": { + "type": "context", + "size": 200000 + } + } + ] + } }, - "google/text-multilingual-embedding-002": { - "id": "google/text-multilingual-embedding-002", - "name": "Text Multilingual Embedding 002", + "claude-opus-4-7@default": { + "id": "claude-opus-4-7@default", + "name": "Claude Opus 4.7", + "family": "claude-opus", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": false, + "knowledge": "2026-01-31", + "release_date": "2026-04-16", + "last_updated": "2026-04-16", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000000, + "output": 128000 + }, + "cost": { + "input": 5, + "output": 25, + "cache_read": 0.5, + "cache_write": 6.25, + "context_over_200k": { + "input": 10, + "output": 37.5, + "cache_read": 1, + "cache_write": 12.5 + }, + "tiers": [ + { + "input": 10, + "output": 37.5, + "cache_read": 1, + "cache_write": 12.5, + "tier": { + "type": "context", + "size": 200000 + } + } + ] + } + } + } + }, + "evroc": { + "id": "evroc", + "env": ["EVROC_API_KEY"], + "npm": "@ai-sdk/openai-compatible", + "api": "https://models.think.evroc.com/v1", + "name": "evroc", + "doc": "https://docs.evroc.com/products/think/overview.html", + "models": { + "Qwen/Qwen3-VL-30B-A3B-Instruct": { + "id": "Qwen/Qwen3-VL-30B-A3B-Instruct", + "name": "Qwen3 VL 30B", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": true, + "release_date": "2025-07-30", + "last_updated": "2025-07-30", + "modalities": { + "input": ["text", "image", "video"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 100000, + "output": 100000 + }, + "cost": { + "input": 0.24, + "output": 0.94 + } + }, + "Qwen/Qwen3-Embedding-8B": { + "id": "Qwen/Qwen3-Embedding-8B", + "name": "Qwen3 Embedding 8B", "family": "text-embedding", "attachment": false, "reasoning": false, "tool_call": false, - "temperature": false, - "release_date": "2024-03", - "last_updated": "2024-03", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.03, "output": 0 }, - "limit": { "context": 8192, "output": 1536 } - }, - "google/gemini-3.1-flash-lite-preview": { - "id": "google/gemini-3.1-flash-lite-preview", - "name": "Gemini 3.1 Flash Lite Preview", - "family": "gemini", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2026-03-03", - "last_updated": "2026-03-06", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.25, "output": 1.5, "cache_read": 0.025, "cache_write": 1 }, - "limit": { "context": 1000000, "output": 65000 } - }, - "google/gemini-3.1-flash-image-preview": { - "id": "google/gemini-3.1-flash-image-preview", - "name": "Gemini 3.1 Flash Image Preview (Nano Banana 2)", - "family": "gemini", - "attachment": true, - "reasoning": true, - "tool_call": false, - "temperature": true, - "release_date": "2026-02-26", - "last_updated": "2026-03-06", - "modalities": { "input": ["text", "image"], "output": ["text", "image"] }, - "open_weights": false, - "cost": { "input": 0.5, "output": 3 }, - "limit": { "context": 131072, "output": 32768 } - }, - "google/gemini-2.5-flash-image": { - "id": "google/gemini-2.5-flash-image", - "name": "Nano Banana (Gemini 2.5 Flash Image)", - "family": "gemini-flash", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "knowledge": "2025-01", - "release_date": "2025-03-20", - "last_updated": "2025-03-20", - "modalities": { "input": ["text"], "output": ["text", "image"] }, - "open_weights": false, - "cost": { "input": 0.3, "output": 2.5 }, - "limit": { "context": 32768, "output": 32768 } - }, - "google/gemini-embedding-001": { - "id": "google/gemini-embedding-001", - "name": "Gemini Embedding 001", - "family": "gemini-embedding", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": false, - "release_date": "2025-05-20", - "last_updated": "2025-05-20", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.15, "output": 0 }, - "limit": { "context": 8192, "output": 1536 } - }, - "google/gemini-2.5-flash-image-preview": { - "id": "google/gemini-2.5-flash-image-preview", - "name": "Nano Banana Preview (Gemini 2.5 Flash Image Preview)", - "family": "gemini-flash", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "knowledge": "2025-01", - "release_date": "2025-03-20", - "last_updated": "2025-03-20", - "modalities": { "input": ["text"], "output": ["text", "image"] }, - "open_weights": false, - "cost": { "input": 0.3, "output": 2.5 }, - "limit": { "context": 32768, "output": 32768 } - }, - "google/gemini-3-pro-image": { - "id": "google/gemini-3-pro-image", - "name": "Nano Banana Pro (Gemini 3 Pro Image)", - "family": "gemini-pro", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "knowledge": "2025-03", - "release_date": "2025-09", - "last_updated": "2025-09", - "modalities": { "input": ["text"], "output": ["text", "image"] }, - "open_weights": false, - "cost": { "input": 2, "output": 120 }, - "limit": { "context": 65536, "output": 32768 } - }, - "google/gemini-embedding-2": { - "id": "google/gemini-embedding-2", - "name": "Gemini Embedding 2", - "family": "gemini-embedding", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "release_date": "2026-03-10", - "last_updated": "2026-03-23", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "limit": { "context": 0, "output": 0 } - }, - "google/imagen-4.0-ultra-generate-001": { - "id": "google/imagen-4.0-ultra-generate-001", - "name": "Imagen 4 Ultra", - "family": "imagen", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": false, - "release_date": "2025-05-24", - "last_updated": "2025-05-24", - "modalities": { "input": ["text"], "output": ["image"] }, - "open_weights": false, - "limit": { "context": 480, "output": 0 } - }, - "google/gemini-3-flash": { - "id": "google/gemini-3-flash", - "name": "Gemini 3 Flash", - "family": "gemini-flash", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-03", - "release_date": "2025-12-17", - "last_updated": "2025-12-17", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.5, "output": 3, "cache_read": 0.05 }, - "limit": { "context": 1000000, "output": 64000 } - }, - "google/gemini-2.0-flash": { - "id": "google/gemini-2.0-flash", - "name": "Gemini 2.0 Flash", - "family": "gemini-flash", - "attachment": true, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2024-06", - "release_date": "2024-12-11", - "last_updated": "2024-12-11", - "modalities": { "input": ["text", "image", "audio", "video", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.1, "output": 0.4, "cache_read": 0.025 }, - "limit": { "context": 1048576, "output": 8192 } - }, - "google/gemini-2.5-flash": { - "id": "google/gemini-2.5-flash", - "name": "Gemini 2.5 Flash", - "family": "gemini-flash", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2025-01", - "release_date": "2025-03-20", - "last_updated": "2025-06-05", - "modalities": { "input": ["text", "image", "audio", "video", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.3, "output": 2.5, "cache_read": 0.075, "input_audio": 1 }, - "limit": { "context": 1048576, "output": 65536 } - }, - "google/gemini-2.5-pro": { - "id": "google/gemini-2.5-pro", - "name": "Gemini 2.5 Pro", - "family": "gemini-pro", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2025-01", - "release_date": "2025-03-20", - "last_updated": "2025-06-05", - "modalities": { "input": ["text", "image", "audio", "video", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.25, "output": 10, "cache_read": 0.31 }, - "limit": { "context": 1048576, "output": 65536 } - }, - "google/gemini-2.0-flash-lite": { - "id": "google/gemini-2.0-flash-lite", - "name": "Gemini 2.0 Flash Lite", - "family": "gemini-flash-lite", - "attachment": true, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2024-06", - "release_date": "2024-12-11", - "last_updated": "2024-12-11", - "modalities": { "input": ["text", "image", "audio", "video", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.075, "output": 0.3 }, - "limit": { "context": 1048576, "output": 8192 } - }, - "amazon/titan-embed-text-v2": { - "id": "amazon/titan-embed-text-v2", - "name": "Titan Text Embeddings V2", - "family": "titan-embed", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": false, - "release_date": "2024-04", - "last_updated": "2024-04", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.02, "output": 0 }, - "limit": { "context": 8192, "output": 1536 } - }, - "amazon/nova-2-lite": { - "id": "amazon/nova-2-lite", - "name": "Nova 2 Lite", - "family": "nova", - "attachment": true, - "reasoning": true, - "tool_call": false, - "temperature": true, - "knowledge": "2024-10", - "release_date": "2024-12-01", - "last_updated": "2024-12-01", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.3, "output": 2.5 }, - "limit": { "context": 1000000, "output": 1000000 } - }, - "amazon/nova-lite": { - "id": "amazon/nova-lite", - "name": "Nova Lite", - "family": "nova-lite", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-10", - "release_date": "2024-12-03", - "last_updated": "2024-12-03", - "modalities": { "input": ["text", "image", "video"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.06, "output": 0.24, "cache_read": 0.015 }, - "limit": { "context": 300000, "output": 8192 } - }, - "amazon/nova-pro": { - "id": "amazon/nova-pro", - "name": "Nova Pro", - "family": "nova-pro", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-10", - "release_date": "2024-12-03", - "last_updated": "2024-12-03", - "modalities": { "input": ["text", "image", "video"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.8, "output": 3.2, "cache_read": 0.2 }, - "limit": { "context": 300000, "output": 8192 } - }, - "amazon/nova-micro": { - "id": "amazon/nova-micro", - "name": "Nova Micro", - "family": "nova-micro", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-10", - "release_date": "2024-12-03", - "last_updated": "2024-12-03", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.035, "output": 0.14, "cache_read": 0.00875 }, - "limit": { "context": 128000, "output": 8192 } - }, - "perplexity/sonar-reasoning": { - "id": "perplexity/sonar-reasoning", - "name": "Sonar Reasoning", - "family": "sonar-reasoning", - "attachment": false, - "reasoning": true, - "tool_call": false, - "temperature": true, - "knowledge": "2025-09", - "release_date": "2025-02-19", - "last_updated": "2025-02-19", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1, "output": 5 }, - "limit": { "context": 127000, "output": 8000 } - }, - "perplexity/sonar": { - "id": "perplexity/sonar", - "name": "Sonar", - "family": "sonar", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2025-02", - "release_date": "2025-02-19", - "last_updated": "2025-02-19", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1, "output": 1 }, - "limit": { "context": 127000, "output": 8000 } - }, - "perplexity/sonar-reasoning-pro": { - "id": "perplexity/sonar-reasoning-pro", - "name": "Sonar Reasoning Pro", - "family": "sonar-reasoning", - "attachment": false, - "reasoning": true, - "tool_call": false, - "temperature": true, - "knowledge": "2025-09", - "release_date": "2025-02-19", - "last_updated": "2025-02-19", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2, "output": 8 }, - "limit": { "context": 127000, "output": 8000 } - }, - "perplexity/sonar-pro": { - "id": "perplexity/sonar-pro", - "name": "Sonar Pro", - "family": "sonar-pro", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2025-09", - "release_date": "2025-02-19", - "last_updated": "2025-02-19", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 3, "output": 15 }, - "limit": { "context": 200000, "output": 8000 } - }, - "voyage/voyage-code-3": { - "id": "voyage/voyage-code-3", - "name": "voyage-code-3", - "family": "voyage", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": false, - "release_date": "2024-09", - "last_updated": "2024-09", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.18, "output": 0 }, - "limit": { "context": 8192, "output": 1536 } - }, - "voyage/voyage-3.5-lite": { - "id": "voyage/voyage-3.5-lite", - "name": "voyage-3.5-lite", - "family": "voyage", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": false, - "release_date": "2025-05-20", - "last_updated": "2025-05-20", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.02, "output": 0 }, - "limit": { "context": 8192, "output": 1536 } - }, - "voyage/voyage-code-2": { - "id": "voyage/voyage-code-2", - "name": "voyage-code-2", - "family": "voyage", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": false, - "release_date": "2024-01", - "last_updated": "2024-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.12, "output": 0 }, - "limit": { "context": 8192, "output": 1536 } - }, - "voyage/voyage-4-lite": { - "id": "voyage/voyage-4-lite", - "name": "voyage-4-lite", - "family": "voyage", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "release_date": "2026-03-06", - "last_updated": "2026-03-06", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "limit": { "context": 32000, "output": 0 } - }, - "voyage/voyage-finance-2": { - "id": "voyage/voyage-finance-2", - "name": "voyage-finance-2", - "family": "voyage", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": false, - "release_date": "2024-03", - "last_updated": "2024-03", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.12, "output": 0 }, - "limit": { "context": 8192, "output": 1536 } - }, - "voyage/voyage-law-2": { - "id": "voyage/voyage-law-2", - "name": "voyage-law-2", - "family": "voyage", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": false, - "release_date": "2024-03", - "last_updated": "2024-03", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.12, "output": 0 }, - "limit": { "context": 8192, "output": 1536 } - }, - "voyage/voyage-4": { - "id": "voyage/voyage-4", - "name": "voyage-4", - "family": "voyage", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "release_date": "2026-03-06", - "last_updated": "2026-03-06", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "limit": { "context": 32000, "output": 0 } - }, - "voyage/voyage-3-large": { - "id": "voyage/voyage-3-large", - "name": "voyage-3-large", - "family": "voyage", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": false, - "release_date": "2024-09", - "last_updated": "2024-09", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.18, "output": 0 }, - "limit": { "context": 8192, "output": 1536 } - }, - "voyage/voyage-3.5": { - "id": "voyage/voyage-3.5", - "name": "voyage-3.5", - "family": "voyage", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": false, - "release_date": "2025-05-20", - "last_updated": "2025-05-20", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.06, "output": 0 }, - "limit": { "context": 8192, "output": 1536 } - }, - "voyage/voyage-4-large": { - "id": "voyage/voyage-4-large", - "name": "voyage-4-large", - "family": "voyage", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "release_date": "2026-03-06", - "last_updated": "2026-03-06", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "limit": { "context": 32000, "output": 0 } - }, - "arcee-ai/trinity-mini": { - "id": "arcee-ai/trinity-mini", - "name": "Trinity Mini", - "family": "trinity", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "knowledge": "2024-10", - "release_date": "2025-12", - "last_updated": "2025-12", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.05, "output": 0.15 }, - "limit": { "context": 131072, "output": 131072 } - }, - "arcee-ai/trinity-large-preview": { - "id": "arcee-ai/trinity-large-preview", - "name": "Trinity Large Preview", - "family": "trinity", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-10", - "release_date": "2025-01", - "last_updated": "2025-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.25, "output": 1 }, - "limit": { "context": 131000, "output": 131000 } - }, - "bytedance/seed-1.6": { - "id": "bytedance/seed-1.6", - "name": "Seed 1.6", - "family": "seed", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2024-10", - "release_date": "2025-09", - "last_updated": "2025-09", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.25, "output": 2, "cache_read": 0.05 }, - "limit": { "context": 256000, "output": 32000 } - }, - "bytedance/seed-1.8": { - "id": "bytedance/seed-1.8", - "name": "Seed 1.8", - "family": "seed", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2024-10", - "release_date": "2025-10", - "last_updated": "2025-10", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.25, "output": 2, "cache_read": 0.05 }, - "limit": { "context": 256000, "output": 64000 } - }, - "minimax/minimax-m2": { - "id": "minimax/minimax-m2", - "name": "MiniMax M2", - "family": "minimax", - "attachment": false, - "reasoning": true, - "tool_call": true, - "interleaved": true, - "temperature": true, - "knowledge": "2024-10", - "release_date": "2025-10-27", - "last_updated": "2025-10-27", - "modalities": { "input": ["text"], "output": ["text"] }, + "release_date": "2025-07-30", + "last_updated": "2025-07-30", + "modalities": { + "input": ["text"], + "output": ["text"] + }, "open_weights": true, - "cost": { "input": 0.27, "output": 1.15, "cache_read": 0.03, "cache_write": 0.38 }, - "limit": { "context": 262114, "output": 262114 } + "limit": { + "context": 40960, + "output": 40960 + }, + "cost": { + "input": 0.12, + "output": 0.12 + } }, - "minimax/minimax-m2.1": { - "id": "minimax/minimax-m2.1", - "name": "MiniMax M2.1", - "family": "minimax", + "Qwen/Qwen3-30B-A3B-Instruct-2507-FP8": { + "id": "Qwen/Qwen3-30B-A3B-Instruct-2507-FP8", + "name": "Qwen3 30B 2507", + "family": "qwen", "attachment": false, - "reasoning": true, + "reasoning": false, "tool_call": true, - "interleaved": true, - "temperature": true, - "knowledge": "2024-10", - "release_date": "2025-10-27", - "last_updated": "2025-10-27", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.3, "output": 1.2, "cache_read": 0.03, "cache_write": 0.38 }, - "limit": { "context": 204800, "output": 131072 } - }, - "minimax/minimax-m2.7": { - "id": "minimax/minimax-m2.7", - "name": "Minimax M2.7", - "family": "minimax", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2026-03-18", - "last_updated": "2026-03-18", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, + "release_date": "2025-07-30", + "last_updated": "2025-07-30", + "modalities": { + "input": ["text"], + "output": ["text"] + }, "open_weights": true, - "cost": { "input": 0.3, "output": 1.2, "cache_read": 0.06, "cache_write": 0.375 }, - "limit": { "context": 204800, "output": 131000 } + "limit": { + "context": 64000, + "output": 64000 + }, + "cost": { + "input": 0.35, + "output": 1.42 + } }, - "minimax/minimax-m2.1-lightning": { - "id": "minimax/minimax-m2.1-lightning", - "name": "MiniMax M2.1 Lightning", - "family": "minimax", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2024-10", - "release_date": "2025-10-27", - "last_updated": "2025-10-27", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.3, "output": 2.4, "cache_read": 0.03, "cache_write": 0.38 }, - "limit": { "context": 204800, "output": 131072 } - }, - "minimax/minimax-m2.7-highspeed": { - "id": "minimax/minimax-m2.7-highspeed", - "name": "MiniMax M2.7 High Speed", - "family": "minimax", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2026-03-18", - "last_updated": "2026-03-18", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.6, "output": 2.4, "cache_read": 0.06, "cache_write": 0.375 }, - "limit": { "context": 204800, "output": 131100 } - }, - "minimax/minimax-m2.5": { - "id": "minimax/minimax-m2.5", - "name": "MiniMax M2.5", - "family": "minimax", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2026-02-12", - "last_updated": "2026-02-19", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.3, "output": 1.2, "cache_read": 0.03, "cache_write": 0.375 }, - "limit": { "context": 204800, "output": 131000 } - }, - "minimax/minimax-m2.5-highspeed": { - "id": "minimax/minimax-m2.5-highspeed", - "name": "MiniMax M2.5 High Speed", - "family": "minimax", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2026-02-12", - "last_updated": "2026-03-13", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.6, "output": 2.4, "cache_read": 0.03, "cache_write": 0.375 }, - "limit": { "context": 0, "output": 0 } - }, - "xiaomi/mimo-v2-pro": { - "id": "xiaomi/mimo-v2-pro", - "name": "MiMo V2 Pro", - "family": "mimo", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2026-03-18", - "last_updated": "2026-03-20", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1, "output": 3, "cache_read": 0.19999999999999998 }, - "limit": { "context": 1000000, "output": 128000 } - }, - "xiaomi/mimo-v2-flash": { - "id": "xiaomi/mimo-v2-flash", - "name": "MiMo V2 Flash", - "family": "mimo", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2024-10", - "release_date": "2025-12-17", - "last_updated": "2025-12-17", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.1, "output": 0.29 }, - "limit": { "context": 262144, "output": 32000 } - }, - "vercel/v0-1.5-md": { - "id": "vercel/v0-1.5-md", - "name": "v0-1.5-md", - "family": "v0", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2025-06-09", - "last_updated": "2025-06-09", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 3, "output": 15 }, - "limit": { "context": 128000, "output": 32000 } - }, - "vercel/v0-1.0-md": { - "id": "vercel/v0-1.0-md", - "name": "v0-1.0-md", - "family": "v0", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2025-05-22", - "last_updated": "2025-05-22", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 3, "output": 15 }, - "limit": { "context": 128000, "output": 32000 } - }, - "moonshotai/kimi-k2-thinking": { - "id": "moonshotai/kimi-k2-thinking", - "name": "Kimi K2 Thinking", - "family": "kimi-thinking", - "attachment": false, - "reasoning": true, - "tool_call": true, - "interleaved": true, - "temperature": true, - "knowledge": "2024-08", - "release_date": "2025-11-06", - "last_updated": "2025-11-06", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.47, "output": 2, "cache_read": 0.14 }, - "limit": { "context": 216144, "output": 216144 } - }, - "moonshotai/kimi-k2.5": { - "id": "moonshotai/kimi-k2.5", - "name": "Kimi K2.5", - "family": "kimi", - "attachment": true, - "reasoning": true, - "tool_call": true, - "interleaved": true, - "temperature": true, - "knowledge": "2025-01", - "release_date": "2026-01-26", - "last_updated": "2026-01-26", - "modalities": { "input": ["text", "image", "video"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.6, "output": 1.2 }, - "limit": { "context": 262144, "output": 262144 } - }, - "moonshotai/kimi-k2-turbo": { - "id": "moonshotai/kimi-k2-turbo", - "name": "Kimi K2 Turbo", - "family": "kimi", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-08", - "release_date": "2025-09-05", - "last_updated": "2025-09-05", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2.4, "output": 10 }, - "limit": { "context": 256000, "output": 16384 } - }, - "moonshotai/kimi-k2-0905": { - "id": "moonshotai/kimi-k2-0905", - "name": "Kimi K2 0905", - "family": "kimi", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "knowledge": "2024-10", - "release_date": "2025-09-05", - "last_updated": "2025-09-05", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.6, "output": 2.5 }, - "limit": { "context": 131072, "output": 16384 } - }, - "moonshotai/kimi-k2-thinking-turbo": { - "id": "moonshotai/kimi-k2-thinking-turbo", - "name": "Kimi K2 Thinking Turbo", - "family": "kimi-thinking", - "attachment": false, - "reasoning": true, - "tool_call": true, - "interleaved": true, - "temperature": true, - "knowledge": "2024-08", - "release_date": "2025-11-06", - "last_updated": "2025-11-06", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.15, "output": 8, "cache_read": 0.15 }, - "limit": { "context": 262114, "output": 262114 } - }, - "moonshotai/kimi-k2": { - "id": "moonshotai/kimi-k2", - "name": "Kimi K2 Instruct", - "family": "kimi", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-10", - "release_date": "2025-07-14", - "last_updated": "2025-07-14", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 1, "output": 3 }, - "limit": { "context": 131072, "output": 16384 }, - "status": "deprecated" - }, - "alibaba/qwen-3-32b": { - "id": "alibaba/qwen-3-32b", - "name": "Qwen 3.32B", - "family": "qwen", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-04", - "release_date": "2025-04", - "last_updated": "2025-04", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.1, "output": 0.3 }, - "limit": { "context": 40960, "output": 16384 } - }, - "alibaba/qwen3-embedding-8b": { - "id": "alibaba/qwen3-embedding-8b", - "name": "Qwen3 Embedding 8B", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": false, - "release_date": "2025-06-05", - "last_updated": "2025-06-05", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.05, "output": 0 }, - "limit": { "context": 32768, "output": 32768 } - }, - "alibaba/qwen3.5-plus": { - "id": "alibaba/qwen3.5-plus", - "name": "Qwen 3.5 Plus", - "family": "qwen", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2026-02-16", - "last_updated": "2026-02-19", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.4, "output": 2.4, "cache_read": 0.04, "cache_write": 0.5 }, - "limit": { "context": 1000000, "output": 64000 } - }, - "alibaba/qwen3-coder-next": { - "id": "alibaba/qwen3-coder-next", - "name": "Qwen3 Coder Next", - "family": "qwen", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2025-07-22", - "last_updated": "2026-02-19", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.5, "output": 1.2 }, - "limit": { "context": 256000, "output": 256000 } - }, - "alibaba/qwen3-max-preview": { - "id": "alibaba/qwen3-max-preview", - "name": "Qwen3 Max Preview", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2025-04", - "release_date": "2025-09-23", - "last_updated": "2025-09-23", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.2, "output": 6, "cache_read": 0.24 }, - "limit": { "context": 262144, "output": 32768 } - }, - "alibaba/qwen3-coder": { - "id": "alibaba/qwen3-coder", - "name": "Qwen3 Coder 480B A35B Instruct", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2025-04", - "release_date": "2025-04", - "last_updated": "2025-04", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.38, "output": 1.53 }, - "limit": { "context": 262144, "output": 66536 } - }, - "alibaba/qwen3-embedding-0.6b": { - "id": "alibaba/qwen3-embedding-0.6b", - "name": "Qwen3 Embedding 0.6B", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": false, - "release_date": "2025-11-14", - "last_updated": "2025-11-14", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.01, "output": 0 }, - "limit": { "context": 32768, "output": 32768 } - }, - "alibaba/qwen-3-235b": { - "id": "alibaba/qwen-3-235b", - "name": "Qwen3 235B A22B Instruct 2507", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2025-04", - "release_date": "2025-04", - "last_updated": "2025-04", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.13, "output": 0.6 }, - "limit": { "context": 40960, "output": 16384 } - }, - "alibaba/qwen3-vl-instruct": { - "id": "alibaba/qwen3-vl-instruct", - "name": "Qwen3 VL Instruct", - "family": "qwen", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2025-04", - "release_date": "2025-09-24", - "last_updated": "2025-09-24", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.7, "output": 2.8 }, - "limit": { "context": 131072, "output": 129024 } - }, - "alibaba/qwen3-next-80b-a3b-thinking": { - "id": "alibaba/qwen3-next-80b-a3b-thinking", - "name": "Qwen3 Next 80B A3B Thinking", - "family": "qwen", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-09", - "release_date": "2025-09-12", - "last_updated": "2025-09-12", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.15, "output": 1.5 }, - "limit": { "context": 131072, "output": 65536 } - }, - "alibaba/qwen3-235b-a22b-thinking": { - "id": "alibaba/qwen3-235b-a22b-thinking", - "name": "Qwen3 235B A22B Thinking 2507", - "family": "qwen", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-04", - "release_date": "2025-04", - "last_updated": "2025-04", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.3, "output": 2.9 }, - "limit": { "context": 262114, "output": 262114 } - }, - "alibaba/qwen3-max-thinking": { - "id": "alibaba/qwen3-max-thinking", - "name": "Qwen 3 Max Thinking", - "family": "qwen", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-01", - "release_date": "2025-01", - "last_updated": "2025-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 1.2, "output": 6, "cache_read": 0.24 }, - "limit": { "context": 256000, "output": 65536 } - }, - "alibaba/qwen3-next-80b-a3b-instruct": { - "id": "alibaba/qwen3-next-80b-a3b-instruct", - "name": "Qwen3 Next 80B A3B Instruct", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2025-04", - "release_date": "2025-09-12", - "last_updated": "2025-09-12", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.09, "output": 1.1 }, - "limit": { "context": 262144, "output": 32768 } - }, - "alibaba/qwen3-embedding-4b": { - "id": "alibaba/qwen3-embedding-4b", - "name": "Qwen3 Embedding 4B", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": false, - "release_date": "2025-06-05", - "last_updated": "2025-06-05", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.02, "output": 0 }, - "limit": { "context": 32768, "output": 32768 } - }, - "alibaba/qwen-3-30b": { - "id": "alibaba/qwen-3-30b", - "name": "Qwen3-30B-A3B", - "family": "qwen", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-04", - "release_date": "2025-04", - "last_updated": "2025-04", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.08, "output": 0.29 }, - "limit": { "context": 40960, "output": 16384 } - }, - "alibaba/qwen3-coder-plus": { - "id": "alibaba/qwen3-coder-plus", - "name": "Qwen3 Coder Plus", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2025-04", - "release_date": "2025-07-23", - "last_updated": "2025-07-23", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 1, "output": 5 }, - "limit": { "context": 1000000, "output": 1000000 } - }, - "alibaba/qwen3-max": { - "id": "alibaba/qwen3-max", - "name": "Qwen3 Max", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2025-04", - "release_date": "2025-09-23", - "last_updated": "2025-09-23", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.2, "output": 6 }, - "limit": { "context": 262144, "output": 32768 } - }, - "alibaba/qwen3-coder-30b-a3b": { - "id": "alibaba/qwen3-coder-30b-a3b", - "name": "Qwen 3 Coder 30B A3B Instruct", - "family": "qwen", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-04", - "release_date": "2025-04", - "last_updated": "2025-04", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.07, "output": 0.27 }, - "limit": { "context": 160000, "output": 32768 } - }, - "alibaba/qwen3.5-flash": { - "id": "alibaba/qwen3.5-flash", - "name": "Qwen 3.5 Flash", - "family": "qwen", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2026-02-24", - "last_updated": "2026-02-24", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.1, "output": 0.4, "cache_read": 0.001, "cache_write": 0.125 }, - "limit": { "context": 1000000, "output": 64000 } - }, - "alibaba/qwen-3-14b": { - "id": "alibaba/qwen-3-14b", - "name": "Qwen3-14B", - "family": "qwen", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-04", - "release_date": "2025-04", - "last_updated": "2025-04", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.06, "output": 0.24 }, - "limit": { "context": 40960, "output": 16384 } - }, - "alibaba/qwen3-vl-thinking": { - "id": "alibaba/qwen3-vl-thinking", - "name": "Qwen3 VL Thinking", - "family": "qwen", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-09", - "release_date": "2025-09-24", - "last_updated": "2025-09-24", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.7, "output": 8.4 }, - "limit": { "context": 131072, "output": 129024 } - }, - "mistral/mistral-embed": { - "id": "mistral/mistral-embed", - "name": "Mistral Embed", - "family": "mistral-embed", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": false, - "release_date": "2023-12-11", - "last_updated": "2023-12-11", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.1, "output": 0 }, - "limit": { "context": 8192, "output": 1536 } - }, - "mistral/devstral-small": { - "id": "mistral/devstral-small", - "name": "Devstral Small 1.1", + "mistralai/devstral-small-2-24b-instruct-2512": { + "id": "mistralai/devstral-small-2-24b-instruct-2512", + "name": "Devstral Small 2 24B Instruct 2512", "family": "devstral", "attachment": false, "reasoning": false, "tool_call": true, - "temperature": true, - "knowledge": "2024-10", - "release_date": "2025-05-07", - "last_updated": "2025-05-07", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.1, "output": 0.3 }, - "limit": { "context": 128000, "output": 64000 } - }, - "mistral/mistral-large-3": { - "id": "mistral/mistral-large-3", - "name": "Mistral Large 3", - "family": "mistral-large", - "attachment": true, - "reasoning": false, - "tool_call": false, - "temperature": true, - "knowledge": "2024-10", - "release_date": "2025-12-02", - "last_updated": "2025-12-02", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.5, "output": 1.5 }, - "limit": { "context": 256000, "output": 256000 } - }, - "mistral/codestral-embed": { - "id": "mistral/codestral-embed", - "name": "Codestral Embed", - "family": "codestral-embed", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": false, - "release_date": "2025-05-28", - "last_updated": "2025-05-28", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.15, "output": 0 }, - "limit": { "context": 8192, "output": 1536 } - }, - "mistral/mistral-nemo": { - "id": "mistral/mistral-nemo", - "name": "Mistral Nemo", - "family": "mistral-nemo", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-04", - "release_date": "2024-07-01", - "last_updated": "2024-07-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.04, "output": 0.17 }, - "limit": { "context": 60288, "output": 16000 } - }, - "mistral/mistral-medium": { - "id": "mistral/mistral-medium", - "name": "Mistral Medium 3.1", - "family": "mistral-medium", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-10", - "release_date": "2025-05-07", - "last_updated": "2025-05-07", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.4, "output": 2 }, - "limit": { "context": 128000, "output": 64000 } - }, - "mistral/devstral-2": { - "id": "mistral/devstral-2", - "name": "Devstral 2", - "family": "devstral", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-10", - "release_date": "2025-12-09", - "last_updated": "2025-12-09", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "limit": { "context": 256000, "output": 256000 } - }, - "mistral/devstral-small-2": { - "id": "mistral/devstral-small-2", - "name": "Devstral Small 2", - "family": "devstral", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-10", - "release_date": "2025-05-07", - "last_updated": "2025-05-07", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "limit": { "context": 256000, "output": 256000 } - }, - "mistral/ministral-14b": { - "id": "mistral/ministral-14b", - "name": "Ministral 14B", - "family": "ministral", - "attachment": true, - "reasoning": false, - "tool_call": false, - "temperature": true, - "knowledge": "2024-10", "release_date": "2025-12-01", "last_updated": "2025-12-01", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.2, "output": 0.2 }, - "limit": { "context": 256000, "output": 256000 } - }, - "mistral/pixtral-12b": { - "id": "mistral/pixtral-12b", - "name": "Pixtral 12B", - "family": "pixtral", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-09", - "release_date": "2024-09-01", - "last_updated": "2024-09-01", - "modalities": { "input": ["text", "image"], "output": ["text"] }, + "modalities": { + "input": ["text"], + "output": ["text"] + }, "open_weights": true, - "cost": { "input": 0.15, "output": 0.15 }, - "limit": { "context": 128000, "output": 128000 } + "limit": { + "context": 32768, + "output": 32768 + }, + "cost": { + "input": 0.12, + "output": 0.47 + } }, - "mistral/codestral": { - "id": "mistral/codestral", - "name": "Codestral (latest)", - "family": "codestral", + "mistralai/Voxtral-Small-24B-2507": { + "id": "mistralai/Voxtral-Small-24B-2507", + "name": "Voxtral Small 24B", + "family": "voxtral", "attachment": false, "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-10", - "release_date": "2024-05-29", - "last_updated": "2025-01-04", - "modalities": { "input": ["text"], "output": ["text"] }, + "tool_call": false, + "release_date": "2025-03-01", + "last_updated": "2025-03-01", + "modalities": { + "input": ["audio", "text"], + "output": ["text"] + }, "open_weights": true, - "cost": { "input": 0.3, "output": 0.9 }, - "limit": { "context": 256000, "output": 4096 } + "limit": { + "context": 32000, + "output": 32000 + }, + "cost": { + "input": 0.00236, + "output": 0.00236, + "output_audio": 2.36 + } }, - "mistral/ministral-8b": { - "id": "mistral/ministral-8b", - "name": "Ministral 8B (latest)", - "family": "ministral", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-10", - "release_date": "2024-10-01", - "last_updated": "2024-10-04", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.1, "output": 0.1 }, - "limit": { "context": 128000, "output": 128000 } - }, - "mistral/mistral-small": { - "id": "mistral/mistral-small", - "name": "Mistral Small (latest)", - "family": "mistral-small", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-06", - "release_date": "2026-03-16", - "last_updated": "2026-03-16", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.15, "output": 0.6 }, - "limit": { "context": 256000, "output": 256000 } - }, - "mistral/ministral-3b": { - "id": "mistral/ministral-3b", - "name": "Ministral 3B (latest)", - "family": "ministral", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-10", - "release_date": "2024-10-01", - "last_updated": "2024-10-04", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.04, "output": 0.04 }, - "limit": { "context": 128000, "output": 128000 } - }, - "mistral/pixtral-large": { - "id": "mistral/pixtral-large", - "name": "Pixtral Large (latest)", - "family": "pixtral", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-11", - "release_date": "2024-11-01", - "last_updated": "2024-11-04", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 2, "output": 6 }, - "limit": { "context": 128000, "output": 128000 } - }, - "mistral/magistral-small": { - "id": "mistral/magistral-small", - "name": "Magistral Small", + "mistralai/Magistral-Small-2509": { + "id": "mistralai/Magistral-Small-2509", + "name": "Magistral Small 1.2 24B", "family": "magistral-small", "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-06", - "release_date": "2025-03-17", - "last_updated": "2025-03-17", - "modalities": { "input": ["text"], "output": ["text"] }, + "reasoning": false, + "tool_call": false, + "release_date": "2025-06-01", + "last_updated": "2025-06-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, "open_weights": true, - "cost": { "input": 0.5, "output": 1.5 }, - "limit": { "context": 128000, "output": 128000 } + "limit": { + "context": 131072, + "output": 131072 + }, + "cost": { + "input": 0.59, + "output": 2.36 + } }, - "mistral/magistral-medium": { - "id": "mistral/magistral-medium", - "name": "Magistral Medium (latest)", - "family": "magistral-medium", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-06", - "release_date": "2025-03-17", - "last_updated": "2025-03-20", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 2, "output": 5 }, - "limit": { "context": 128000, "output": 16384 } - }, - "mistral/mixtral-8x22b-instruct": { - "id": "mistral/mixtral-8x22b-instruct", - "name": "Mixtral 8x22B", - "family": "mixtral", + "microsoft/Phi-4-multimodal-instruct": { + "id": "microsoft/Phi-4-multimodal-instruct", + "name": "Phi-4 15B", + "family": "phi", "attachment": false, "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-04", - "release_date": "2024-04-17", - "last_updated": "2024-04-17", - "modalities": { "input": ["text"], "output": ["text"] }, + "tool_call": false, + "release_date": "2025-01-01", + "last_updated": "2025-01-01", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, "open_weights": true, - "cost": { "input": 2, "output": 6 }, - "limit": { "context": 64000, "output": 64000 } + "limit": { + "context": 32000, + "output": 32000 + }, + "cost": { + "input": 0.24, + "output": 0.47 + } }, - "meta/llama-3.2-90b": { - "id": "meta/llama-3.2-90b", - "name": "Llama 3.2 90B Vision Instruct", - "family": "llama", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2023-12", - "release_date": "2024-09-25", - "last_updated": "2024-09-25", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.72, "output": 0.72 }, - "limit": { "context": 128000, "output": 8192 } - }, - "meta/llama-3.2-11b": { - "id": "meta/llama-3.2-11b", - "name": "Llama 3.2 11B Vision Instruct", - "family": "llama", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2023-12", - "release_date": "2024-09-25", - "last_updated": "2024-09-25", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.16, "output": 0.16 }, - "limit": { "context": 128000, "output": 8192 } - }, - "meta/llama-3.1-70b": { - "id": "meta/llama-3.1-70b", - "name": "Llama 3.1 70B Instruct", - "family": "llama", + "KBLab/kb-whisper-large": { + "id": "KBLab/kb-whisper-large", + "name": "KB Whisper", + "family": "whisper", "attachment": false, "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2023-12", - "release_date": "2024-07-23", - "last_updated": "2024-07-23", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.4, "output": 0.4 }, - "limit": { "context": 131072, "output": 16384 } + "tool_call": false, + "release_date": "2024-10-01", + "last_updated": "2024-10-01", + "modalities": { + "input": ["audio"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 448, + "output": 448 + }, + "cost": { + "input": 0.00236, + "output": 0.00236, + "output_audio": 2.36 + } }, - "meta/llama-3.2-3b": { - "id": "meta/llama-3.2-3b", - "name": "Llama 3.2 3B Instruct", + "nvidia/Llama-3.3-70B-Instruct-FP8": { + "id": "nvidia/Llama-3.3-70B-Instruct-FP8", + "name": "Llama 3.3 70B", "family": "llama", "attachment": false, "reasoning": false, "tool_call": false, - "temperature": true, - "knowledge": "2023-12", - "release_date": "2024-09-18", - "last_updated": "2024-09-18", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.15, "output": 0.15 }, - "limit": { "context": 128000, "output": 8192 } + "release_date": "2024-12-01", + "last_updated": "2024-12-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 32768 + }, + "cost": { + "input": 1.18, + "output": 1.18 + } }, - "meta/llama-3.1-8b": { - "id": "meta/llama-3.1-8b", - "name": "Llama 3.1 8B Instruct", - "family": "llama", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2023-12", - "release_date": "2024-07-23", - "last_updated": "2024-07-23", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.03, "output": 0.05 }, - "limit": { "context": 131072, "output": 16384 } - }, - "meta/llama-3.2-1b": { - "id": "meta/llama-3.2-1b", - "name": "Llama 3.2 1B Instruct", - "family": "llama", + "openai/whisper-large-v3": { + "id": "openai/whisper-large-v3", + "name": "Whisper 3 Large", + "family": "whisper", "attachment": false, "reasoning": false, "tool_call": false, - "temperature": true, - "knowledge": "2023-12", - "release_date": "2024-09-18", - "last_updated": "2024-09-18", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.1, "output": 0.1 }, - "limit": { "context": 128000, "output": 8192 } - }, - "meta/llama-3.3-70b": { - "id": "meta/llama-3.3-70b", - "name": "Llama-3.3-70B-Instruct", - "family": "llama", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2023-12", - "release_date": "2024-12-06", - "last_updated": "2024-12-06", - "modalities": { "input": ["text"], "output": ["text"] }, + "release_date": "2024-10-01", + "last_updated": "2024-10-01", + "modalities": { + "input": ["audio"], + "output": ["text"] + }, "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 128000, "output": 4096 } + "limit": { + "context": 448, + "output": 4096 + }, + "cost": { + "input": 0.00236, + "output": 0.00236, + "output_audio": 2.36 + } }, - "meta/llama-4-maverick": { - "id": "meta/llama-4-maverick", - "name": "Llama-4-Maverick-17B-128E-Instruct-FP8", - "family": "llama", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-08", - "release_date": "2025-04-05", - "last_updated": "2025-04-05", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 128000, "output": 4096 } - }, - "meta/llama-4-scout": { - "id": "meta/llama-4-scout", - "name": "Llama-4-Scout-17B-16E-Instruct-FP8", - "family": "llama", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-08", - "release_date": "2025-04-05", - "last_updated": "2025-04-05", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 128000, "output": 4096 } - }, - "inception/mercury-2": { - "id": "inception/mercury-2", - "name": "Mercury 2", - "family": "mercury", + "openai/gpt-oss-120b": { + "id": "openai/gpt-oss-120b", + "name": "GPT OSS 120B", + "family": "gpt-oss", "attachment": false, "reasoning": true, "tool_call": true, - "temperature": true, - "release_date": "2026-02-24", - "last_updated": "2026-03-06", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.25, "output": 0.75, "cache_read": 0.024999999999999998 }, - "limit": { "context": 128000, "output": 128000 } + "release_date": "2025-08-05", + "last_updated": "2025-08-05", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 65536, + "output": 65536 + }, + "cost": { + "input": 0.24, + "output": 0.94 + } }, - "inception/mercury-coder-small": { - "id": "inception/mercury-coder-small", - "name": "Mercury Coder Small Beta", - "family": "mercury", + "moonshotai/Kimi-K2.5": { + "id": "moonshotai/Kimi-K2.5", + "name": "Kimi K2.5", + "family": "kimi", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "release_date": "2026-01-27", + "last_updated": "2026-01-27", + "modalities": { + "input": ["text", "image", "video"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 262144 + }, + "cost": { + "input": 1.47, + "output": 5.9 + } + }, + "intfloat/multilingual-e5-large-instruct": { + "id": "intfloat/multilingual-e5-large-instruct", + "name": "E5 Multi-Lingual Large Embeddings 0.6B", + "family": "text-embedding", "attachment": false, "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-10", - "release_date": "2025-02-26", - "last_updated": "2025-02-26", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.25, "output": 1 }, - "limit": { "context": 32000, "output": 16384 } + "tool_call": false, + "release_date": "2024-06-01", + "last_updated": "2024-06-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 512, + "output": 512 + }, + "cost": { + "input": 0.12, + "output": 0.12 + } } } }, @@ -41916,54 +79601,30 @@ "name": "Synthetic", "doc": "https://synthetic.new/pricing", "models": { - "hf:moonshotai/Kimi-K2.5": { - "id": "hf:moonshotai/Kimi-K2.5", - "name": "Kimi K2.5", - "family": "kimi", - "attachment": false, - "reasoning": true, - "tool_call": true, - "interleaved": { "field": "reasoning_content" }, - "temperature": true, - "knowledge": "2025-01", - "release_date": "2026-01", - "last_updated": "2026-01", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.55, "output": 2.19 }, - "limit": { "context": 262144, "output": 65536 } - }, - "hf:moonshotai/Kimi-K2-Instruct-0905": { - "id": "hf:moonshotai/Kimi-K2-Instruct-0905", - "name": "Kimi K2 0905", - "family": "kimi", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-10", - "release_date": "2025-09-05", - "last_updated": "2025-09-05", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 1.2, "output": 1.2 }, - "limit": { "context": 262144, "output": 32768 } - }, - "hf:moonshotai/Kimi-K2-Thinking": { - "id": "hf:moonshotai/Kimi-K2-Thinking", - "name": "Kimi K2 Thinking", - "family": "kimi-thinking", + "hf:meta-llama/Llama-3.1-405B-Instruct": { + "id": "hf:meta-llama/Llama-3.1-405B-Instruct", + "name": "Llama-3.1-405B-Instruct", + "family": "llama", "attachment": false, "reasoning": true, "tool_call": true, "temperature": true, - "knowledge": "2025-11", - "release_date": "2025-11-07", - "last_updated": "2025-11-07", - "modalities": { "input": ["text"], "output": ["text"] }, + "knowledge": "2023-12", + "release_date": "2024-07-23", + "last_updated": "2024-07-23", + "modalities": { + "input": ["text"], + "output": ["text"] + }, "open_weights": true, - "cost": { "input": 0.55, "output": 2.19 }, - "limit": { "context": 262144, "output": 262144 } + "limit": { + "context": 128000, + "output": 32768 + }, + "cost": { + "input": 3, + "output": 3 + } }, "hf:meta-llama/Llama-4-Scout-17B-16E-Instruct": { "id": "hf:meta-llama/Llama-4-Scout-17B-16E-Instruct", @@ -41976,26 +79637,19 @@ "knowledge": "2024-08", "release_date": "2025-04-05", "last_updated": "2025-04-05", - "modalities": { "input": ["text", "image"], "output": ["text"] }, + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, "open_weights": true, - "cost": { "input": 0.15, "output": 0.6 }, - "limit": { "context": 328000, "output": 4096 } - }, - "hf:meta-llama/Llama-3.1-8B-Instruct": { - "id": "hf:meta-llama/Llama-3.1-8B-Instruct", - "name": "Llama-3.1-8B-Instruct", - "family": "llama", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2023-12", - "release_date": "2024-07-23", - "last_updated": "2024-07-23", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.2, "output": 0.2 }, - "limit": { "context": 128000, "output": 32768 } + "limit": { + "context": 328000, + "output": 4096 + }, + "cost": { + "input": 0.15, + "output": 0.6 + } }, "hf:meta-llama/Llama-3.3-70B-Instruct": { "id": "hf:meta-llama/Llama-3.3-70B-Instruct", @@ -42008,14 +79662,23 @@ "knowledge": "2023-12", "release_date": "2024-12-06", "last_updated": "2024-12-06", - "modalities": { "input": ["text"], "output": ["text"] }, + "modalities": { + "input": ["text"], + "output": ["text"] + }, "open_weights": true, - "cost": { "input": 0.9, "output": 0.9 }, - "limit": { "context": 128000, "output": 32768 } + "limit": { + "context": 128000, + "output": 32768 + }, + "cost": { + "input": 0.9, + "output": 0.9 + } }, - "hf:meta-llama/Llama-3.1-405B-Instruct": { - "id": "hf:meta-llama/Llama-3.1-405B-Instruct", - "name": "Llama-3.1-405B-Instruct", + "hf:meta-llama/Llama-3.1-8B-Instruct": { + "id": "hf:meta-llama/Llama-3.1-8B-Instruct", + "name": "Llama-3.1-8B-Instruct", "family": "llama", "attachment": false, "reasoning": true, @@ -42024,10 +79687,19 @@ "knowledge": "2023-12", "release_date": "2024-07-23", "last_updated": "2024-07-23", - "modalities": { "input": ["text"], "output": ["text"] }, + "modalities": { + "input": ["text"], + "output": ["text"] + }, "open_weights": true, - "cost": { "input": 3, "output": 3 }, - "limit": { "context": 128000, "output": 32768 } + "limit": { + "context": 128000, + "output": 32768 + }, + "cost": { + "input": 0.2, + "output": 0.2 + } }, "hf:meta-llama/Llama-3.1-70B-Instruct": { "id": "hf:meta-llama/Llama-3.1-70B-Instruct", @@ -42040,10 +79712,19 @@ "knowledge": "2023-12", "release_date": "2024-07-23", "last_updated": "2024-07-23", - "modalities": { "input": ["text"], "output": ["text"] }, + "modalities": { + "input": ["text"], + "output": ["text"] + }, "open_weights": true, - "cost": { "input": 0.9, "output": 0.9 }, - "limit": { "context": 128000, "output": 32768 } + "limit": { + "context": 128000, + "output": 32768 + }, + "cost": { + "input": 0.9, + "output": 0.9 + } }, "hf:meta-llama/Llama-4-Maverick-17B-128E-Instruct-FP8": { "id": "hf:meta-llama/Llama-4-Maverick-17B-128E-Instruct-FP8", @@ -42056,218 +79737,19 @@ "knowledge": "2024-08", "release_date": "2025-04-05", "last_updated": "2025-04-05", - "modalities": { "input": ["text", "image"], "output": ["text"] }, + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, "open_weights": true, - "cost": { "input": 0.22, "output": 0.88 }, - "limit": { "context": 524000, "output": 4096 } - }, - "hf:zai-org/GLM-4.7": { - "id": "hf:zai-org/GLM-4.7", - "name": "GLM 4.7", - "family": "glm", - "attachment": false, - "reasoning": true, - "tool_call": true, - "interleaved": { "field": "reasoning_content" }, - "temperature": true, - "knowledge": "2025-04", - "release_date": "2025-12-22", - "last_updated": "2025-12-22", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.55, "output": 2.19 }, - "limit": { "context": 200000, "output": 64000 } - }, - "hf:zai-org/GLM-4.7-Flash": { - "id": "hf:zai-org/GLM-4.7-Flash", - "name": "GLM-4.7-Flash", - "family": "glm", - "attachment": false, - "reasoning": true, - "tool_call": true, - "interleaved": { "field": "reasoning_content" }, - "structured_output": true, - "temperature": true, - "release_date": "2026-01-18", - "last_updated": "2026-01-18", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.06, "output": 0.4, "cache_read": 0.06 }, - "limit": { "context": 196608, "output": 65536 } - }, - "hf:zai-org/GLM-4.6": { - "id": "hf:zai-org/GLM-4.6", - "name": "GLM 4.6", - "family": "glm", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-04", - "release_date": "2025-09-30", - "last_updated": "2025-09-30", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.55, "output": 2.19 }, - "limit": { "context": 200000, "output": 64000 } - }, - "hf:deepseek-ai/DeepSeek-V3.1": { - "id": "hf:deepseek-ai/DeepSeek-V3.1", - "name": "DeepSeek V3.1", - "family": "deepseek", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2025-08-21", - "last_updated": "2025-08-21", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.56, "output": 1.68 }, - "limit": { "context": 128000, "output": 128000 } - }, - "hf:deepseek-ai/DeepSeek-V3-0324": { - "id": "hf:deepseek-ai/DeepSeek-V3-0324", - "name": "DeepSeek V3 (0324)", - "family": "deepseek", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "release_date": "2025-08-01", - "last_updated": "2025-08-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.2, "output": 1.2 }, - "limit": { "context": 128000, "output": 128000 } - }, - "hf:deepseek-ai/DeepSeek-R1": { - "id": "hf:deepseek-ai/DeepSeek-R1", - "name": "DeepSeek R1", - "family": "deepseek-thinking", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-01", - "release_date": "2025-01-20", - "last_updated": "2025-01-20", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.55, "output": 2.19 }, - "limit": { "context": 128000, "output": 128000 } - }, - "hf:deepseek-ai/DeepSeek-V3.1-Terminus": { - "id": "hf:deepseek-ai/DeepSeek-V3.1-Terminus", - "name": "DeepSeek V3.1 Terminus", - "family": "deepseek", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2025-09-22", - "last_updated": "2025-09-25", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.2, "output": 1.2 }, - "limit": { "context": 128000, "output": 128000 } - }, - "hf:deepseek-ai/DeepSeek-R1-0528": { - "id": "hf:deepseek-ai/DeepSeek-R1-0528", - "name": "DeepSeek R1 (0528)", - "family": "deepseek-thinking", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2025-08-01", - "last_updated": "2025-08-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 3, "output": 8 }, - "limit": { "context": 128000, "output": 128000 } - }, - "hf:deepseek-ai/DeepSeek-V3.2": { - "id": "hf:deepseek-ai/DeepSeek-V3.2", - "name": "DeepSeek V3.2", - "family": "deepseek", - "attachment": false, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-12-01", - "last_updated": "2025-12-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.27, "output": 0.4, "cache_read": 0.27, "cache_write": 0 }, - "limit": { "context": 162816, "input": 162816, "output": 8000 } - }, - "hf:deepseek-ai/DeepSeek-V3": { - "id": "hf:deepseek-ai/DeepSeek-V3", - "name": "DeepSeek V3", - "family": "deepseek", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2024-07", - "release_date": "2025-01-20", - "last_updated": "2025-05-29", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 1.25, "output": 1.25 }, - "limit": { "context": 128000, "output": 128000 } - }, - "hf:nvidia/Kimi-K2.5-NVFP4": { - "id": "hf:nvidia/Kimi-K2.5-NVFP4", - "name": "Kimi K2.5 (NVFP4)", - "family": "kimi", - "attachment": false, - "reasoning": true, - "tool_call": true, - "interleaved": { "field": "reasoning_content" }, - "temperature": true, - "knowledge": "2025-01", - "release_date": "2026-01", - "last_updated": "2026-01", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.55, "output": 2.19 }, - "limit": { "context": 262144, "output": 65536 } - }, - "hf:MiniMaxAI/MiniMax-M2.1": { - "id": "hf:MiniMaxAI/MiniMax-M2.1", - "name": "MiniMax-M2.1", - "family": "minimax", - "attachment": false, - "reasoning": true, - "tool_call": true, - "interleaved": { "field": "reasoning_content" }, - "temperature": true, - "release_date": "2025-12-23", - "last_updated": "2025-12-23", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.55, "output": 2.19 }, - "limit": { "context": 204800, "output": 131072 } - }, - "hf:MiniMaxAI/MiniMax-M2.5": { - "id": "hf:MiniMaxAI/MiniMax-M2.5", - "name": "MiniMax-M2.5", - "family": "minimax", - "attachment": false, - "reasoning": true, - "tool_call": true, - "interleaved": { "field": "reasoning_content" }, - "structured_output": true, - "temperature": true, - "release_date": "2026-02-07", - "last_updated": "2026-02-07", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.6, "output": 3, "cache_read": 0.6 }, - "limit": { "context": 191488, "output": 65536 } + "limit": { + "context": 524000, + "output": 4096 + }, + "cost": { + "input": 0.22, + "output": 0.88 + } }, "hf:MiniMaxAI/MiniMax-M2": { "id": "hf:MiniMaxAI/MiniMax-M2", @@ -42279,25 +79761,105 @@ "temperature": true, "release_date": "2025-10-27", "last_updated": "2025-10-27", - "modalities": { "input": ["text"], "output": ["text"] }, + "modalities": { + "input": ["text"], + "output": ["text"] + }, "open_weights": true, - "cost": { "input": 0.55, "output": 2.19 }, - "limit": { "context": 196608, "output": 131000 } + "limit": { + "context": 196608, + "output": 131000 + }, + "cost": { + "input": 0.55, + "output": 2.19 + } }, - "hf:openai/gpt-oss-120b": { - "id": "hf:openai/gpt-oss-120b", - "name": "GPT OSS 120B", - "family": "gpt-oss", + "hf:MiniMaxAI/MiniMax-M2.5": { + "id": "hf:MiniMaxAI/MiniMax-M2.5", + "name": "MiniMax-M2.5", + "family": "minimax", "attachment": false, "reasoning": true, "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "structured_output": true, "temperature": true, - "release_date": "2025-08-05", - "last_updated": "2025-08-05", - "modalities": { "input": ["text"], "output": ["text"] }, + "release_date": "2026-02-07", + "last_updated": "2026-02-07", + "modalities": { + "input": ["text"], + "output": ["text"] + }, "open_weights": true, - "cost": { "input": 0.1, "output": 0.1 }, - "limit": { "context": 128000, "output": 32768 } + "limit": { + "context": 191488, + "output": 65536 + }, + "cost": { + "input": 0.6, + "output": 3, + "cache_read": 0.6 + } + }, + "hf:MiniMaxAI/MiniMax-M2.1": { + "id": "hf:MiniMaxAI/MiniMax-M2.1", + "name": "MiniMax-M2.1", + "family": "minimax", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "temperature": true, + "release_date": "2025-12-23", + "last_updated": "2025-12-23", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 204800, + "output": 131072 + }, + "cost": { + "input": 0.55, + "output": 2.19 + } + }, + "hf:Qwen/Qwen3.5-397B-A17B": { + "id": "hf:Qwen/Qwen3.5-397B-A17B", + "name": "Qwen3.5-97B-A17B", + "family": "qwen", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "structured_output": true, + "temperature": true, + "release_date": "2026-02-11", + "last_updated": "2026-02-11", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 65536 + }, + "status": "beta", + "cost": { + "input": 0.6, + "output": 3, + "cache_read": 0.6 + } }, "hf:Qwen/Qwen2.5-Coder-32B-Instruct": { "id": "hf:Qwen/Qwen2.5-Coder-32B-Instruct", @@ -42310,42 +79872,19 @@ "knowledge": "2024-10", "release_date": "2024-11-11", "last_updated": "2024-11-11", - "modalities": { "input": ["text"], "output": ["text"] }, + "modalities": { + "input": ["text"], + "output": ["text"] + }, "open_weights": true, - "cost": { "input": 0.8, "output": 0.8 }, - "limit": { "context": 32768, "output": 32768 } - }, - "hf:Qwen/Qwen3-235B-A22B-Thinking-2507": { - "id": "hf:Qwen/Qwen3-235B-A22B-Thinking-2507", - "name": "Qwen3 235B A22B Thinking 2507", - "family": "qwen", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-04", - "release_date": "2025-07-25", - "last_updated": "2025-07-25", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.65, "output": 3 }, - "limit": { "context": 256000, "output": 32000 } - }, - "hf:Qwen/Qwen3-Coder-480B-A35B-Instruct": { - "id": "hf:Qwen/Qwen3-Coder-480B-A35B-Instruct", - "name": "Qwen 3 Coder 480B", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2025-04", - "release_date": "2025-07-23", - "last_updated": "2025-07-23", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 2, "output": 2 }, - "limit": { "context": 256000, "output": 32000 } + "limit": { + "context": 32768, + "output": 32768 + }, + "cost": { + "input": 0.8, + "output": 0.8 + } }, "hf:Qwen/Qwen3-235B-A22B-Instruct-2507": { "id": "hf:Qwen/Qwen3-235B-A22B-Instruct-2507", @@ -42358,6099 +79897,295 @@ "knowledge": "2025-04", "release_date": "2025-04-28", "last_updated": "2025-07-21", - "modalities": { "input": ["text"], "output": ["text"] }, + "modalities": { + "input": ["text"], + "output": ["text"] + }, "open_weights": true, - "cost": { "input": 0.2, "output": 0.6 }, - "limit": { "context": 256000, "output": 32000 } - } - } - }, - "llmgateway": { - "id": "llmgateway", - "env": ["LLMGATEWAY_API_KEY"], - "npm": "@ai-sdk/openai-compatible", - "api": "https://api.llmgateway.io/v1", - "name": "LLM Gateway", - "doc": "https://llmgateway.io/docs", - "models": { - "gpt-5.2-codex": { - "id": "gpt-5.2-codex", - "name": "GPT-5.2 Codex", - "family": "gpt", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2026-01-14", - "last_updated": "2026-01-14", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.75, "output": 14, "cache_read": 0.18 }, - "limit": { "context": 400000, "output": 128000 } - }, - "qwen3-coder-30b-a3b-instruct": { - "id": "qwen3-coder-30b-a3b-instruct", - "name": "Qwen3 Coder 30B A3B Instruct", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-07-31", - "last_updated": "2025-07-31", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.1, "output": 0.3 }, - "limit": { "context": 262000, "output": 8192 } - }, - "gemini-2.5-flash-lite": { - "id": "gemini-2.5-flash-lite", - "name": "Gemini 2.5 Flash Lite", - "family": "gemini", - "attachment": true, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-07-22", - "last_updated": "2025-07-22", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.1, "output": 0.4, "cache_read": 0.01 }, - "limit": { "context": 1048576, "output": 65535 } - }, - "grok-4-20-multi-agent-beta-0309": { - "id": "grok-4-20-multi-agent-beta-0309", - "name": "Grok 4.20 Multi-Agent Beta (0309)", - "family": "grok", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2026-03-09", - "last_updated": "2026-03-09", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2, "output": 6, "cache_read": 0.2 }, - "limit": { "context": 2000000, "output": 30000 } - }, - "grok-imagine-image": { - "id": "grok-imagine-image", - "name": "Grok Imagine Image", - "family": "grok", - "attachment": true, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "temperature": true, - "release_date": "2026-03-02", - "last_updated": "2026-03-02", - "modalities": { "input": ["text", "image"], "output": ["text", "image"] }, - "open_weights": false, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 2000, "output": 4096 } - }, - "gpt-5.1-codex-mini": { - "id": "gpt-5.1-codex-mini", - "name": "GPT-5.1 Codex mini", - "family": "gpt", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-11-12", - "last_updated": "2025-11-12", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.25, "output": 2, "cache_read": 0.03 }, - "limit": { "context": 400000, "output": 128000 } - }, - "qwen3-235b-a22b-instruct-2507": { - "id": "qwen3-235b-a22b-instruct-2507", - "name": "Qwen3 235B A22B Instruct 2507", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-07-21", - "last_updated": "2025-07-21", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.2, "output": 0.6 }, - "limit": { "context": 262000, "output": 8192 }, - "status": "beta" - }, - "gpt-5.4-pro": { - "id": "gpt-5.4-pro", - "name": "GPT-5.4 Pro", - "family": "gpt", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2026-03-01", - "last_updated": "2026-03-01", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 30, "output": 180 }, - "limit": { "context": 1050000, "output": 128000 } - }, - "claude-opus-4-5-20251101": { - "id": "claude-opus-4-5-20251101", - "name": "Claude Opus 4.5", - "family": "claude", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-11-24", - "last_updated": "2025-11-24", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 5, "output": 25, "cache_read": 0.5 }, - "limit": { "context": 200000, "output": 32000 } - }, - "qwen-image": { - "id": "qwen-image", - "name": "Qwen Image", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "temperature": true, - "release_date": "2025-08-04", - "last_updated": "2025-08-04", - "modalities": { "input": ["text"], "output": ["text", "image"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 2000, "output": 4096 } - }, - "hermes-2-pro-llama-3-8b": { - "id": "hermes-2-pro-llama-3-8b", - "name": "Hermes 2 Pro Llama 3 8B", - "family": "nousresearch", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "temperature": true, - "release_date": "2024-05-27", - "last_updated": "2024-05-27", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.14, "output": 0.14 }, - "limit": { "context": 8192, "output": 8192 }, - "status": "beta" - }, - "pixtral-large-latest": { - "id": "pixtral-large-latest", - "name": "Pixtral Large Latest", - "family": "mistral", - "attachment": true, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "temperature": true, - "release_date": "2024-11-18", - "last_updated": "2024-11-18", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 4, "output": 12 }, - "limit": { "context": 128000, "output": 16384 } - }, - "o3-mini": { - "id": "o3-mini", - "name": "o3 Mini", - "family": "gpt", - "attachment": false, - "reasoning": true, - "tool_call": false, - "structured_output": true, - "temperature": true, - "release_date": "2025-06-01", - "last_updated": "2025-06-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.1, "output": 4.4, "cache_read": 0.55 }, - "limit": { "context": 200000, "output": 16384 } - }, - "gpt-5.4-mini": { - "id": "gpt-5.4-mini", - "name": "GPT-5.4 Mini", - "family": "gpt", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2026-03-17", - "last_updated": "2026-03-17", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.75, "output": 4.5, "cache_read": 0.08 }, - "limit": { "context": 400000, "output": 128000 } - }, - "gpt-5-pro": { - "id": "gpt-5-pro", - "name": "GPT-5 Pro", - "family": "gpt", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-08-01", - "last_updated": "2025-08-01", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 15, "output": 120 }, - "limit": { "context": 400000, "output": 272000 } - }, - "grok-4-fast": { - "id": "grok-4-fast", - "name": "Grok 4 Fast", - "family": "grok", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-07-09", - "last_updated": "2025-07-09", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.2, "output": 0.5, "cache_read": 0.05 }, - "limit": { "context": 2000000, "output": 30000 } - }, - "qwen-turbo": { - "id": "qwen-turbo", - "name": "Qwen Turbo", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": true, - "temperature": true, - "release_date": "2025-02-01", - "last_updated": "2025-02-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.05, "output": 0.2 }, - "limit": { "context": 1000000, "output": 8192 } - }, - "llama-3.1-nemotron-ultra-253b": { - "id": "llama-3.1-nemotron-ultra-253b", - "name": "Llama 3.1 Nemotron Ultra 253B", - "family": "llama", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": true, - "temperature": true, - "release_date": "2025-04-07", - "last_updated": "2025-04-07", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.6, "output": 1.8 }, - "limit": { "context": 128000, "output": 16384 } - }, - "gemini-2.5-flash-lite-preview-09-2025": { - "id": "gemini-2.5-flash-lite-preview-09-2025", - "name": "Gemini 2.5 Flash Lite Preview (09-2025)", - "family": "gemini", - "attachment": true, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-09-25", - "last_updated": "2025-09-25", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.1, "output": 0.4, "cache_read": 0.01 }, - "limit": { "context": 1048576, "output": 65535 } - }, - "qwen-vl-max": { - "id": "qwen-vl-max", - "name": "Qwen VL Max", - "family": "qwen", - "attachment": true, - "reasoning": false, - "tool_call": false, - "structured_output": true, - "temperature": true, - "release_date": "2025-02-01", - "last_updated": "2025-02-01", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.8, "output": 3.2 }, - "limit": { "context": 131072, "output": 32000 } - }, - "qwen3-vl-235b-a22b-instruct": { - "id": "qwen3-vl-235b-a22b-instruct", - "name": "Qwen3 VL 235B A22B Instruct", - "family": "qwen", - "attachment": true, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-09-23", - "last_updated": "2025-09-23", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.5, "output": 2 }, - "limit": { "context": 131072, "output": 32768 } - }, - "claude-3-opus": { - "id": "claude-3-opus", - "name": "Claude 3 Opus", - "family": "claude", - "attachment": true, - "reasoning": false, - "tool_call": true, - "structured_output": false, - "temperature": true, - "release_date": "2024-03-04", - "last_updated": "2024-03-04", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 15, "output": 75, "cache_read": 1.5 }, - "limit": { "context": 200000, "output": 4096 } - }, - "kimi-k2-thinking": { - "id": "kimi-k2-thinking", - "name": "Kimi K2 Thinking", - "family": "kimi", - "attachment": false, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-11-06", - "last_updated": "2025-11-06", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.6, "output": 2.5, "cache_read": 0.15 }, - "limit": { "context": 262144, "output": 262144 } - }, - "qwen3-coder-next": { - "id": "qwen3-coder-next", - "name": "Qwen3 Coder Next", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2024-01-01", - "last_updated": "2024-01-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.11, "output": 0.68, "cache_read": 0.06 }, - "limit": { "context": 262144, "output": 262144 } - }, - "qwen-max-latest": { - "id": "qwen-max-latest", - "name": "Qwen Max Latest", - "family": "qwen", - "attachment": true, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-01-25", - "last_updated": "2025-01-25", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 1.6, "output": 6.4 }, - "limit": { "context": 131072, "output": 32000 } - }, - "gpt-5.2-chat-latest": { - "id": "gpt-5.2-chat-latest", - "name": "GPT-5.2 Chat", - "family": "gpt", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": false, - "temperature": true, - "release_date": "2025-12-11", - "last_updated": "2025-12-11", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.75, "output": 14, "cache_read": 0.18 }, - "limit": { "context": 128000, "output": 16400 } - }, - "qwen-vl-plus": { - "id": "qwen-vl-plus", - "name": "Qwen VL Plus", - "family": "qwen", - "attachment": true, - "reasoning": false, - "tool_call": false, - "structured_output": true, - "temperature": true, - "release_date": "2025-02-05", - "last_updated": "2025-02-05", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.21, "output": 0.64 }, - "limit": { "context": 131072, "output": 32000 } - }, - "qwen-max": { - "id": "qwen-max", - "name": "Qwen Max", - "family": "qwen", - "attachment": true, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-09-05", - "last_updated": "2025-09-05", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 1.6, "output": 6.4 }, - "limit": { "context": 131072, "output": 32000 } - }, - "glm-image": { - "id": "glm-image", - "name": "GLM-Image", - "family": "glm", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "temperature": true, - "release_date": "2025-01-14", - "last_updated": "2025-01-14", - "modalities": { "input": ["text"], "output": ["text", "image"] }, - "open_weights": false, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 2000, "output": 4096 } - }, - "gpt-5": { - "id": "gpt-5", - "name": "GPT-5", - "family": "gpt", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-08-01", - "last_updated": "2025-08-01", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.25, "output": 10, "cache_read": 0.13 }, - "limit": { "context": 400000, "output": 128000 } - }, - "llama-3.3-70b-instruct": { - "id": "llama-3.3-70b-instruct", - "name": "Llama 3.3 70B Instruct", - "family": "llama", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2024-12-06", - "last_updated": "2024-12-06", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.13, "output": 0.4 }, - "limit": { "context": 128000, "output": 16384 } - }, - "gemma-3-1b-it": { - "id": "gemma-3-1b-it", - "name": "Gemma 3 1B IT", - "family": "gemma", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "temperature": true, - "release_date": "2025-03-12", - "last_updated": "2025-03-12", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.08, "output": 0.3 }, - "limit": { "context": 1000000, "output": 16384 } - }, - "claude-opus-4-20250514": { - "id": "claude-opus-4-20250514", - "name": "Claude Opus 4 (2025-05-14)", - "family": "claude", - "attachment": false, - "reasoning": true, - "tool_call": true, - "structured_output": false, - "temperature": true, - "release_date": "2025-05-22", - "last_updated": "2025-05-22", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 15, "output": 75, "cache_read": 1.5 }, - "limit": { "context": 200000, "output": 16384 } - }, - "gemini-3.1-pro-preview": { - "id": "gemini-3.1-pro-preview", - "name": "Gemini 3.1 Pro (Preview)", - "family": "gemini", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2026-02-19", - "last_updated": "2026-02-19", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2, "output": 12, "cache_read": 0.2 }, - "limit": { "context": 1048576, "output": 65536 } - }, - "devstral-2512": { - "id": "devstral-2512", - "name": "Devstral 2", - "family": "mistral", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": true, - "temperature": true, - "release_date": "2025-12-09", - "last_updated": "2025-12-09", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.4, "output": 2 }, - "limit": { "context": 262144, "output": 16384 } - }, - "seedream-4-0": { - "id": "seedream-4-0", - "name": "Seedream 4.0", - "family": "seed", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "temperature": true, - "release_date": "2025-09-16", - "last_updated": "2025-09-16", - "modalities": { "input": ["text"], "output": ["text", "image"] }, - "open_weights": false, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 2000, "output": 4096 } - }, - "claude-3-7-sonnet-20250219": { - "id": "claude-3-7-sonnet-20250219", - "name": "Claude 3.7 Sonnet (2025-02-19)", - "family": "claude", - "attachment": false, - "reasoning": true, - "tool_call": true, - "structured_output": false, - "temperature": true, - "release_date": "2025-02-19", - "last_updated": "2025-02-19", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 3, "output": 15, "cache_read": 0.3 }, - "limit": { "context": 200000, "output": 8192 } - }, - "kimi-k2.5": { - "id": "kimi-k2.5", - "name": "Kimi K2.5", - "family": "kimi", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2026-01-26", - "last_updated": "2026-01-26", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.6, "output": 3, "cache_read": 0.1 }, - "limit": { "context": 262144, "output": 32768 } - }, - "gemma-3n-e2b-it": { - "id": "gemma-3n-e2b-it", - "name": "Gemma 3n E2B IT", - "family": "gemma", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "temperature": true, - "release_date": "2025-06-26", - "last_updated": "2025-06-26", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.08, "output": 0.3 }, - "limit": { "context": 1000000, "output": 16384 } - }, - "llama-guard-4-12b": { - "id": "llama-guard-4-12b", - "name": "Llama Guard 4 12B", - "family": "llama", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "temperature": true, - "release_date": "2025-04-30", - "last_updated": "2025-04-30", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.2, "output": 0.2 }, - "limit": { "context": 131072, "output": 16384 } - }, - "gpt-4-turbo": { - "id": "gpt-4-turbo", - "name": "GPT-4 Turbo", - "family": "gpt", - "attachment": true, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2023-11-06", - "last_updated": "2023-11-06", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 10, "output": 30 }, - "limit": { "context": 128000, "output": 16384 } - }, - "qwen-image-max": { - "id": "qwen-image-max", - "name": "Qwen Image Max", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "temperature": true, - "release_date": "2025-08-04", - "last_updated": "2025-08-04", - "modalities": { "input": ["text"], "output": ["text", "image"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 2000, "output": 4096 } - }, - "mistral-large-latest": { - "id": "mistral-large-latest", - "name": "Mistral Large Latest", - "family": "mistral", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "temperature": true, - "release_date": "2025-12-02", - "last_updated": "2025-12-02", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 4, "output": 12 }, - "limit": { "context": 128000, "output": 16384 } - }, - "qwq-plus": { - "id": "qwq-plus", - "name": "QwQ Plus", - "family": "qwen", - "attachment": false, - "reasoning": true, - "tool_call": false, - "structured_output": false, - "temperature": true, - "release_date": "2025-03-06", - "last_updated": "2025-03-06", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.8, "output": 2.4 }, - "limit": { "context": 131072, "output": 8192 } - }, - "gpt-4o": { - "id": "gpt-4o", - "name": "GPT-4o", - "family": "gpt", - "attachment": true, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2024-05-13", - "last_updated": "2024-05-13", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2.5, "output": 10, "cache_read": 1.25 }, - "limit": { "context": 128000, "output": 16384 } - }, - "grok-4-fast-non-reasoning": { - "id": "grok-4-fast-non-reasoning", - "name": "Grok 4 Fast Non-Reasoning", - "family": "grok", - "attachment": true, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-10-10", - "last_updated": "2025-10-10", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.2, "output": 0.5, "cache_read": 0.05 }, - "limit": { "context": 2000000, "output": 30000 } - }, - "glm-4.7-flash": { - "id": "glm-4.7-flash", - "name": "GLM-4.7 Flash", - "family": "glm", - "attachment": false, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-12-22", - "last_updated": "2025-12-22", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 200000, "output": 128000 } - }, - "grok-4": { - "id": "grok-4", - "name": "Grok 4", - "family": "grok", - "attachment": true, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-07-09", - "last_updated": "2025-07-09", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 3, "output": 15 }, - "limit": { "context": 256000, "output": 256000 } - }, - "grok-code-fast-1": { - "id": "grok-code-fast-1", - "name": "Grok Code Fast 1", - "family": "grok", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-08-28", - "last_updated": "2025-08-28", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.2, "output": 1.5 }, - "limit": { "context": 256000, "output": 10000 } - }, - "grok-4-20-beta-0309-non-reasoning": { - "id": "grok-4-20-beta-0309-non-reasoning", - "name": "Grok 4.20 Beta Non-Reasoning (0309)", - "family": "grok", - "attachment": true, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2026-03-09", - "last_updated": "2026-03-09", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2, "output": 6, "cache_read": 0.2 }, - "limit": { "context": 2000000, "output": 30000 } - }, - "gpt-5.3-codex": { - "id": "gpt-5.3-codex", - "name": "GPT-5.3 Codex", - "family": "gpt", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2026-02-24", - "last_updated": "2026-02-24", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.75, "output": 14, "cache_read": 0.18 }, - "limit": { "context": 400000, "output": 128000 } - }, - "qwen-plus-latest": { - "id": "qwen-plus-latest", - "name": "Qwen Plus Latest", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2024-09-09", - "last_updated": "2024-09-09", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.4, "output": 1.2, "cache_read": 0.08 }, - "limit": { "context": 1000000, "output": 32000 } - }, - "gemma-3-4b-it": { - "id": "gemma-3-4b-it", - "name": "Gemma 3 4B IT", - "family": "gemma", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "temperature": true, - "release_date": "2025-03-10", - "last_updated": "2025-03-10", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.08, "output": 0.3 }, - "limit": { "context": 1000000, "output": 16384 } - }, - "ministral-8b-2512": { - "id": "ministral-8b-2512", - "name": "Ministral 8B", - "family": "mistral", - "attachment": true, - "reasoning": false, - "tool_call": false, - "structured_output": true, - "temperature": true, - "release_date": "2025-12-02", - "last_updated": "2025-12-02", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.15, "output": 0.15 }, - "limit": { "context": 262144, "output": 16384 } - }, - "kimi-k2-thinking-turbo": { - "id": "kimi-k2-thinking-turbo", - "name": "Kimi K2 Thinking Turbo", - "family": "kimi", - "attachment": false, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-11-06", - "last_updated": "2025-11-06", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.15, "output": 8, "cache_read": 0.15 }, - "limit": { "context": 262144, "output": 262144 } - }, - "ministral-14b-2512": { - "id": "ministral-14b-2512", - "name": "Ministral 14B", - "family": "mistral", - "attachment": true, - "reasoning": false, - "tool_call": false, - "structured_output": true, - "temperature": true, - "release_date": "2025-12-02", - "last_updated": "2025-12-02", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.2, "output": 0.2 }, - "limit": { "context": 262144, "output": 16384 } - }, - "gpt-5-mini": { - "id": "gpt-5-mini", - "name": "GPT-5 Mini", - "family": "gpt", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-08-01", - "last_updated": "2025-08-01", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.25, "output": 2, "cache_read": 0.03 }, - "limit": { "context": 400000, "output": 128000 } - }, - "seed-1-6-250615": { - "id": "seed-1-6-250615", - "name": "Seed 1.6 (250615)", - "family": "seed", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-06-25", - "last_updated": "2025-06-25", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.25, "output": 2, "cache_read": 0.05 }, - "limit": { "context": 256000, "output": 16384 } - }, - "qwen3-30b-a3b-thinking-2507": { - "id": "qwen3-30b-a3b-thinking-2507", - "name": "Qwen3 30B A3B Thinking 2507", - "family": "qwen", - "attachment": false, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-07-30", - "last_updated": "2025-07-30", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.1, "output": 0.3 }, - "limit": { "context": 262000, "output": 8192 } - }, - "kimi-k2": { - "id": "kimi-k2", - "name": "Kimi K2", - "family": "kimi", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-07-11", - "last_updated": "2025-07-11", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1, "output": 3, "cache_read": 0.5 }, - "limit": { "context": 131072, "output": 16384 } - }, - "claude-opus-4-6": { - "id": "claude-opus-4-6", - "name": "Claude Opus 4.6", - "family": "claude", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2026-02-05", - "last_updated": "2026-02-05", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 5, "output": 25, "cache_read": 0.5 }, - "limit": { "context": 1000000, "output": 128000 } - }, - "qwen-image-edit-plus": { - "id": "qwen-image-edit-plus", - "name": "Qwen Image Edit Plus", - "family": "qwen", - "attachment": true, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "temperature": true, - "release_date": "2025-08-19", - "last_updated": "2025-08-19", - "modalities": { "input": ["text", "image"], "output": ["text", "image"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 2000, "output": 4096 } - }, - "claude-sonnet-4-5-20250929": { - "id": "claude-sonnet-4-5-20250929", - "name": "Claude Sonnet 4.5 (2025-09-29)", - "family": "claude", - "attachment": false, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-09-29", - "last_updated": "2025-09-29", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 3, "output": 15, "cache_read": 0.3 }, - "limit": { "context": 200000, "output": 64000 } - }, - "gpt-4o-mini": { - "id": "gpt-4o-mini", - "name": "GPT-4o Mini", - "family": "gpt", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2024-07-18", - "last_updated": "2024-07-18", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.15, "output": 0.6, "cache_read": 0.08 }, - "limit": { "context": 128000, "output": 16384 } - }, - "mistral-small-2506": { - "id": "mistral-small-2506", - "name": "Mistral Small 3.2", - "family": "mistral", - "attachment": true, - "reasoning": false, - "tool_call": false, - "structured_output": true, - "temperature": true, - "release_date": "2025-06-20", - "last_updated": "2025-06-20", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.1, "output": 0.3 }, - "limit": { "context": 128000, "output": 16384 } - }, - "qwen35-397b-a17b": { - "id": "qwen35-397b-a17b", - "name": "Qwen3.5 397B A17B", - "family": "qwen", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2026-02-16", - "last_updated": "2026-02-16", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.6, "output": 3.6 }, - "limit": { "context": 262144, "output": 65536 } - }, - "gemma-3n-e4b-it": { - "id": "gemma-3n-e4b-it", - "name": "Gemma 3n E4B IT", - "family": "gemma", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "temperature": true, - "release_date": "2025-06-26", - "last_updated": "2025-06-26", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.08, "output": 0.3 }, - "limit": { "context": 1000000, "output": 16384 } - }, - "qwen-plus": { - "id": "qwen-plus", - "name": "Qwen Plus", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-01-25", - "last_updated": "2025-01-25", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.4, "output": 1.2, "cache_read": 0.08 }, - "limit": { "context": 131072, "output": 32000 } - }, - "codestral-2508": { - "id": "codestral-2508", - "name": "Codestral", - "family": "mistral", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": true, - "temperature": true, - "release_date": "2025-07-30", - "last_updated": "2025-07-30", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.3, "output": 0.9 }, - "limit": { "context": 256000, "output": 16384 } - }, - "claude-sonnet-4-6": { - "id": "claude-sonnet-4-6", - "name": "Claude Sonnet 4.6", - "family": "claude", - "attachment": false, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2026-02-17", - "last_updated": "2026-02-17", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 3, "output": 15, "cache_read": 0.3 }, - "limit": { "context": 200000, "output": 64000 } - }, - "gpt-4.1": { - "id": "gpt-4.1", - "name": "GPT-4.1", - "family": "gpt", - "attachment": true, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-04-14", - "last_updated": "2025-04-14", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2, "output": 8, "cache_read": 0.5 }, - "limit": { "context": 1000000, "output": 16384 } - }, - "llama-3.1-8b-instruct": { - "id": "llama-3.1-8b-instruct", - "name": "Llama 3.1 8B Instruct", - "family": "llama", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2024-07-23", - "last_updated": "2024-07-23", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.22, "output": 0.22 }, - "limit": { "context": 128000, "output": 2048 }, - "status": "beta" - }, - "qwen-image-plus": { - "id": "qwen-image-plus", - "name": "Qwen Image Plus", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "temperature": true, - "release_date": "2025-08-04", - "last_updated": "2025-08-04", - "modalities": { "input": ["text"], "output": ["text", "image"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 2000, "output": 4096 } - }, - "glm-4.5-airx": { - "id": "glm-4.5-airx", - "name": "GLM-4.5 AirX", - "family": "glm", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-07-28", - "last_updated": "2025-07-28", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.1, "output": 4.5, "cache_read": 0.22 }, - "limit": { "context": 128000, "output": 16384 } - }, - "minimax-m2": { - "id": "minimax-m2", - "name": "MiniMax M2", - "family": "minimax", - "attachment": false, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-10-27", - "last_updated": "2025-10-27", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.2, "output": 1, "cache_read": 0.03 }, - "limit": { "context": 196608, "output": 131072 } - }, - "seed-1-6-flash-250715": { - "id": "seed-1-6-flash-250715", - "name": "Seed 1.6 Flash (250715)", - "family": "seed", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-07-26", - "last_updated": "2025-07-26", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.07, "output": 0.3, "cache_read": 0.02 }, - "limit": { "context": 256000, "output": 16384 } - }, - "gpt-3.5-turbo": { - "id": "gpt-3.5-turbo", - "name": "GPT-3.5 Turbo", - "family": "gpt", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2022-11-30", - "last_updated": "2022-11-30", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.5, "output": 1.5 }, - "limit": { "context": 16385, "output": 16384 } - }, - "qwen3-vl-flash": { - "id": "qwen3-vl-flash", - "name": "Qwen3 VL Flash", - "family": "qwen", - "attachment": true, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-10-15", - "last_updated": "2025-10-15", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.05, "output": 0.4, "cache_read": 0.01 }, - "limit": { "context": 262144, "output": 32768 } - }, - "sonar": { - "id": "sonar", - "name": "Sonar", - "family": "sonar", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": true, - "temperature": true, - "release_date": "2025-01-01", - "last_updated": "2025-01-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1, "output": 1 }, - "limit": { "context": 130000, "output": 16384 } - }, - "qwen3-30b-a3b-fp8": { - "id": "qwen3-30b-a3b-fp8", - "name": "Qwen3 30B A3B FP8", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "temperature": true, - "release_date": "2025-04-28", - "last_updated": "2025-04-28", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.09, "output": 0.45 }, - "limit": { "context": 40960, "output": 20000 } - }, - "gpt-oss-120b": { - "id": "gpt-oss-120b", - "name": "GPT OSS 120B", - "family": "gpt-oss", - "attachment": false, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-08-05", - "last_updated": "2025-08-05", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.15, "output": 0.75 }, - "limit": { "context": 131072, "output": 32766 } - }, - "minimax-text-01": { - "id": "minimax-text-01", - "name": "MiniMax Text 01", - "family": "minimax", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "temperature": true, - "release_date": "2025-01-15", - "last_updated": "2025-01-15", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.2, "output": 1.1 }, - "limit": { "context": 1000000, "output": 131072 } - }, - "llama-4-scout": { - "id": "llama-4-scout", - "name": "Llama 4 Scout", - "family": "llama", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": false, - "temperature": true, - "release_date": "2025-04-05", - "last_updated": "2025-04-05", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.18, "output": 0.59 }, - "limit": { "context": 32768, "output": 16384 }, - "status": "beta" - }, - "gemini-2.0-flash-lite": { - "id": "gemini-2.0-flash-lite", - "name": "Gemini 2.0 Flash Lite", - "family": "gemini", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-02-25", - "last_updated": "2025-02-25", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.08, "output": 0.3 }, - "limit": { "context": 1048576, "output": 8192 }, - "status": "deprecated" - }, - "gpt-5.4": { - "id": "gpt-5.4", - "name": "GPT-5.4", - "family": "gpt", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2026-03-06", - "last_updated": "2026-03-06", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2.5, "output": 15, "cache_read": 0.25 }, - "limit": { "context": 1050000, "output": 128000 } - }, - "o1": { - "id": "o1", - "name": "o1", - "family": "gpt", - "attachment": true, - "reasoning": true, - "tool_call": false, - "structured_output": true, - "temperature": true, - "release_date": "2024-09-12", - "last_updated": "2024-09-12", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 15, "output": 60, "cache_read": 7.5 }, - "limit": { "context": 200000, "output": 16384 } - }, - "o3": { - "id": "o3", - "name": "o3", - "family": "gpt", - "attachment": true, - "reasoning": true, - "tool_call": false, - "structured_output": true, - "temperature": true, - "release_date": "2025-06-01", - "last_updated": "2025-06-01", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2, "output": 8, "cache_read": 0.5 }, - "limit": { "context": 200000, "output": 16384 } - }, - "qwen2-5-vl-32b-instruct": { - "id": "qwen2-5-vl-32b-instruct", - "name": "Qwen2.5 VL 32B Instruct", - "family": "qwen", - "attachment": true, - "reasoning": false, - "tool_call": false, - "structured_output": true, - "temperature": true, - "release_date": "2025-02-19", - "last_updated": "2025-02-19", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 1.4, "output": 4.2 }, - "limit": { "context": 131072, "output": 32768 } - }, - "llama-3-8b-instruct": { - "id": "llama-3-8b-instruct", - "name": "Llama 3 8B Instruct", - "family": "llama", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": true, - "temperature": true, - "release_date": "2025-04-03", - "last_updated": "2025-04-03", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.04, "output": 0.04 }, - "limit": { "context": 8192, "output": 8192 } - }, - "grok-4-1-fast-non-reasoning": { - "id": "grok-4-1-fast-non-reasoning", - "name": "Grok 4.1 Fast Non-Reasoning", - "family": "grok", - "attachment": true, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-11-19", - "last_updated": "2025-11-19", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.2, "output": 0.5, "cache_read": 0.05 }, - "limit": { "context": 2000000, "output": 30000 } - }, - "llama-3-70b-instruct": { - "id": "llama-3-70b-instruct", - "name": "Llama 3 70B Instruct", - "family": "llama", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": true, - "temperature": true, - "release_date": "2024-04-18", - "last_updated": "2024-04-18", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.51, "output": 0.74 }, - "limit": { "context": 8192, "output": 8000 } - }, - "gpt-5.3-chat-latest": { - "id": "gpt-5.3-chat-latest", - "name": "GPT-5.3 Chat", - "family": "gpt", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": false, - "temperature": true, - "release_date": "2026-03-03", - "last_updated": "2026-03-03", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.75, "output": 14, "cache_read": 0.18 }, - "limit": { "context": 128000, "output": 16384 } - }, - "glm-4.5": { - "id": "glm-4.5", - "name": "GLM-4.5", - "family": "glm", - "attachment": false, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-07-28", - "last_updated": "2025-07-28", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.6, "output": 2.2, "cache_read": 0.11 }, - "limit": { "context": 128000, "output": 16384 } - }, - "minimax-m2.1": { - "id": "minimax-m2.1", - "name": "MiniMax M2.1", - "family": "minimax", - "attachment": false, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-12-23", - "last_updated": "2025-12-23", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.27, "output": 1.1 }, - "limit": { "context": 196608, "output": 131072 } - }, - "glm-4.7-flashx": { - "id": "glm-4.7-flashx", - "name": "GLM-4.7 FlashX", - "family": "glm", - "attachment": false, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-12-22", - "last_updated": "2025-12-22", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.07, "output": 0.4, "cache_read": 0.01 }, - "limit": { "context": 200000, "output": 128000 } - }, - "sonar-reasoning-pro": { - "id": "sonar-reasoning-pro", - "name": "Sonar Reasoning Pro", - "family": "sonar", - "attachment": false, - "reasoning": true, - "tool_call": false, - "structured_output": true, - "temperature": true, - "release_date": "2025-03-07", - "last_updated": "2025-03-07", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2, "output": 8 }, - "limit": { "context": 128000, "output": 16384 } - }, - "gemini-pro-latest": { - "id": "gemini-pro-latest", - "name": "Gemini Pro Latest", - "family": "gemini", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2026-02-27", - "last_updated": "2026-02-27", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2, "output": 12, "cache_read": 0.2 }, - "limit": { "context": 1048576, "output": 65536 } - }, - "veo-3.1-fast-generate-preview": { - "id": "veo-3.1-fast-generate-preview", - "name": "Veo 3.1 Fast", - "family": "gemini", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "temperature": true, - "release_date": "2026-03-14", - "last_updated": "2026-03-14", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 32768, "output": 1 }, - "status": "beta" - }, - "claude-3-haiku-20240307": { - "id": "claude-3-haiku-20240307", - "name": "Claude 3 Haiku (2024-03-07)", - "family": "claude", - "attachment": true, - "reasoning": false, - "tool_call": true, - "structured_output": false, - "temperature": true, - "release_date": "2024-03-04", - "last_updated": "2024-03-04", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.25, "output": 1.25, "cache_read": 0.03 }, - "limit": { "context": 200000, "output": 4096 } - }, - "gpt-4o-search-preview": { - "id": "gpt-4o-search-preview", - "name": "GPT-4o Search Preview", - "family": "gpt", - "attachment": true, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "temperature": true, - "release_date": "2024-10-01", - "last_updated": "2024-10-01", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2.5, "output": 10 }, - "limit": { "context": 128000, "output": 16384 } - }, - "llama-4-scout-17b-instruct": { - "id": "llama-4-scout-17b-instruct", - "name": "Llama 4 Scout 17B Instruct", - "family": "llama", - "attachment": true, - "reasoning": false, - "tool_call": false, - "structured_output": true, - "temperature": true, - "release_date": "2025-04-05", - "last_updated": "2025-04-05", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.17, "output": 0.66 }, - "limit": { "context": 8192, "output": 2048 }, - "status": "beta" - }, - "qwen3-235b-a22b-fp8": { - "id": "qwen3-235b-a22b-fp8", - "name": "Qwen3 235B A22B FP8", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": true, - "temperature": true, - "release_date": "2025-04-28", - "last_updated": "2025-04-28", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.2, "output": 0.8 }, - "limit": { "context": 40960, "output": 20000 } - }, - "claude-sonnet-4-20250514": { - "id": "claude-sonnet-4-20250514", - "name": "Claude Sonnet 4 (2025-05-14)", - "family": "claude", - "attachment": false, - "reasoning": true, - "tool_call": true, - "structured_output": false, - "temperature": true, - "release_date": "2025-05-14", - "last_updated": "2025-05-14", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 3, "output": 15, "cache_read": 0.3 }, - "limit": { "context": 200000, "output": 16384 } - }, - "grok-4-0709": { - "id": "grok-4-0709", - "name": "Grok 4 (0709)", - "family": "grok", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-07-09", - "last_updated": "2025-07-09", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 3, "output": 15 }, - "limit": { "context": 256000, "output": 256000 } - }, - "glm-4.6v-flashx": { - "id": "glm-4.6v-flashx", - "name": "GLM-4.6V FlashX", - "family": "glm", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-12-08", - "last_updated": "2025-12-08", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.04, "output": 0.4, "cache_read": 0 }, - "limit": { "context": 128000, "output": 16000 } - }, - "glm-4.6": { - "id": "glm-4.6", - "name": "GLM-4.6", - "family": "glm", - "attachment": false, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-09-30", - "last_updated": "2025-09-30", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.6, "output": 2.2, "cache_read": 0.11 }, - "limit": { "context": 200000, "output": 16384 } - }, - "gemini-3-flash-preview": { - "id": "gemini-3-flash-preview", - "name": "Gemini 3 Flash (Preview)", - "family": "gemini", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-12-17", - "last_updated": "2025-12-17", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.5, "output": 3, "cache_read": 0.05 }, - "limit": { "context": 1048576, "output": 65535 } - }, - "gpt-5.4-nano": { - "id": "gpt-5.4-nano", - "name": "GPT-5.4 Nano", - "family": "gpt", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2026-03-17", - "last_updated": "2026-03-17", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.2, "output": 1.25, "cache_read": 0.02 }, - "limit": { "context": 400000, "output": 128000 } - }, - "claude-3-5-sonnet": { - "id": "claude-3-5-sonnet", - "name": "Claude 3.5 Sonnet", - "family": "claude", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": false, - "temperature": true, - "release_date": "2024-06-20", - "last_updated": "2024-06-20", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 3, "output": 15, "cache_read": 0.3 }, - "limit": { "context": 200000, "output": 16384 } - }, - "glm-4.6v": { - "id": "glm-4.6v", - "name": "GLM-4.6V", - "family": "glm", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-12-08", - "last_updated": "2025-12-08", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.3, "output": 0.9, "cache_read": 0.05 }, - "limit": { "context": 128000, "output": 16000 } - }, - "qwen3-vl-8b-instruct": { - "id": "qwen3-vl-8b-instruct", - "name": "Qwen3 VL 8B Instruct", - "family": "qwen", - "attachment": true, - "reasoning": false, - "tool_call": false, - "structured_output": true, - "temperature": true, - "release_date": "2025-10-14", - "last_updated": "2025-10-14", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.08, "output": 0.5 }, - "limit": { "context": 131072, "output": 8192 } - }, - "gpt-4": { - "id": "gpt-4", - "name": "GPT-4", - "family": "gpt", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": false, - "temperature": true, - "release_date": "2023-03-14", - "last_updated": "2023-03-14", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 30, "output": 60 }, - "limit": { "context": 8192, "output": 8192 } - }, - "minimax-m2.7": { - "id": "minimax-m2.7", - "name": "MiniMax M2.7", - "family": "minimax", - "attachment": false, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2024-01-01", - "last_updated": "2024-01-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.3, "output": 1.2, "cache_read": 0.06 }, - "limit": { "context": 204800, "output": 131100 } - }, - "qwen3-coder-480b-a35b-instruct": { - "id": "qwen3-coder-480b-a35b-instruct", - "name": "Qwen3 Coder 480B A35B Instruct", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-01-31", - "last_updated": "2025-01-31", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.4, "output": 1.8 }, - "limit": { "context": 262000, "output": 8192 } - }, - "auto": { - "id": "auto", - "name": "Auto Route", - "family": "auto", - "attachment": true, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2024-01-01", - "last_updated": "2024-01-01", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 128000, "output": 16384 } - }, - "qwen3-next-80b-a3b-thinking": { - "id": "qwen3-next-80b-a3b-thinking", - "name": "Qwen3 Next 80B A3B Thinking", - "family": "qwen", - "attachment": false, - "reasoning": true, - "tool_call": true, - "structured_output": false, - "temperature": true, - "release_date": "2025-09-10", - "last_updated": "2025-09-10", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.5, "output": 6 }, - "limit": { "context": 131072, "output": 32768 }, - "status": "beta" - }, - "qwen3-vl-30b-a3b-instruct": { - "id": "qwen3-vl-30b-a3b-instruct", - "name": "Qwen3 VL 30B A3B Instruct", - "family": "qwen", - "attachment": true, - "reasoning": false, - "tool_call": true, - "structured_output": false, - "temperature": true, - "release_date": "2025-10-05", - "last_updated": "2025-10-05", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.2, "output": 0.7 }, - "limit": { "context": 131072, "output": 32768 } - }, - "gemini-2.5-pro": { - "id": "gemini-2.5-pro", - "name": "Gemini 2.5 Pro", - "family": "gemini", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-03-25", - "last_updated": "2025-03-25", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.25, "output": 10, "cache_read": 0.13 }, - "limit": { "context": 1048576, "output": 65536 } - }, - "claude-opus-4-1-20250805": { - "id": "claude-opus-4-1-20250805", - "name": "Claude Opus 4.1", - "family": "claude", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-08-05", - "last_updated": "2025-08-05", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 15, "output": 75, "cache_read": 1.5 }, - "limit": { "context": 200000, "output": 32000 } - }, - "gemini-2.5-flash": { - "id": "gemini-2.5-flash", - "name": "Gemini 2.5 Flash", - "family": "gemini", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-08-26", - "last_updated": "2025-08-26", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.3, "output": 2.5, "cache_read": 0.03 }, - "limit": { "context": 1048576, "output": 65535 } - }, - "sonar-pro": { - "id": "sonar-pro", - "name": "Sonar Pro", - "family": "sonar", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": true, - "temperature": true, - "release_date": "2025-03-07", - "last_updated": "2025-03-07", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 3, "output": 15 }, - "limit": { "context": 200000, "output": 16384 } - }, - "qwen3-235b-a22b-thinking-2507": { - "id": "qwen3-235b-a22b-thinking-2507", + "limit": { + "context": 256000, + "output": 32000 + }, + "cost": { + "input": 0.2, + "output": 0.6 + } + }, + "hf:Qwen/Qwen3-235B-A22B-Thinking-2507": { + "id": "hf:Qwen/Qwen3-235B-A22B-Thinking-2507", "name": "Qwen3 235B A22B Thinking 2507", "family": "qwen", "attachment": false, "reasoning": true, "tool_call": true, - "structured_output": true, "temperature": true, + "knowledge": "2025-04", "release_date": "2025-07-25", "last_updated": "2025-07-25", - "modalities": { "input": ["text"], "output": ["text"] }, + "modalities": { + "input": ["text"], + "output": ["text"] + }, "open_weights": true, - "cost": { "input": 0.2, "output": 0.6 }, - "limit": { "context": 262000, "output": 8192 }, - "status": "beta" + "limit": { + "context": 256000, + "output": 32000 + }, + "cost": { + "input": 0.65, + "output": 3 + } }, - "qwen-image-edit-max": { - "id": "qwen-image-edit-max", - "name": "Qwen Image Edit Max", - "family": "qwen", - "attachment": true, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "temperature": true, - "release_date": "2026-01-16", - "last_updated": "2026-01-16", - "modalities": { "input": ["text", "image"], "output": ["text", "image"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 2000, "output": 4096 } - }, - "glm-4-32b-0414-128k": { - "id": "glm-4-32b-0414-128k", - "name": "GLM-4 32B (0414-128k)", - "family": "glm", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-04-14", - "last_updated": "2025-04-14", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.1, "output": 0.1 }, - "limit": { "context": 128000, "output": 16384 } - }, - "gpt-5.2": { - "id": "gpt-5.2", - "name": "GPT-5.2", - "family": "gpt", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-12-11", - "last_updated": "2025-12-11", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.75, "output": 14, "cache_read": 0.18 }, - "limit": { "context": 400000, "output": 128000 } - }, - "qwen3-next-80b-a3b-instruct": { - "id": "qwen3-next-80b-a3b-instruct", - "name": "Qwen3 Next 80B A3B Instruct", + "hf:Qwen/Qwen3-Coder-480B-A35B-Instruct": { + "id": "hf:Qwen/Qwen3-Coder-480B-A35B-Instruct", + "name": "Qwen 3 Coder 480B", "family": "qwen", "attachment": false, "reasoning": false, "tool_call": true, - "structured_output": true, "temperature": true, - "release_date": "2025-09-10", - "last_updated": "2025-09-10", - "modalities": { "input": ["text"], "output": ["text"] }, + "knowledge": "2025-04", + "release_date": "2025-07-23", + "last_updated": "2025-07-23", + "modalities": { + "input": ["text"], + "output": ["text"] + }, "open_weights": true, - "cost": { "input": 0.5, "output": 2 }, - "limit": { "context": 129024, "output": 32768 } + "limit": { + "context": 256000, + "output": 32000 + }, + "cost": { + "input": 2, + "output": 2 + } }, - "grok-4-1-fast-reasoning": { - "id": "grok-4-1-fast-reasoning", - "name": "Grok 4.1 Fast Reasoning", - "family": "grok", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-11-19", - "last_updated": "2025-11-19", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.2, "output": 0.5, "cache_read": 0.05 }, - "limit": { "context": 2000000, "output": 30000 } - }, - "gpt-5.1": { - "id": "gpt-5.1", - "name": "GPT-5.1", - "family": "gpt", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-11-01", - "last_updated": "2025-11-01", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.25, "output": 10, "cache_read": 0.13 }, - "limit": { "context": 400000, "output": 128000 } - }, - "gpt-4o-mini-search-preview": { - "id": "gpt-4o-mini-search-preview", - "name": "GPT-4o Mini Search Preview", - "family": "gpt", - "attachment": true, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "temperature": true, - "release_date": "2024-10-01", - "last_updated": "2024-10-01", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.15, "output": 0.6 }, - "limit": { "context": 128000, "output": 16384 } - }, - "qwen3-vl-plus": { - "id": "qwen3-vl-plus", - "name": "Qwen3 VL Plus", - "family": "qwen", - "attachment": true, - "reasoning": false, - "tool_call": false, - "structured_output": true, - "temperature": true, - "release_date": "2025-09-23", - "last_updated": "2025-09-23", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.2, "output": 1.6, "cache_read": 0.04 }, - "limit": { "context": 262144, "output": 32768 } - }, - "deepseek-v3.1": { - "id": "deepseek-v3.1", + "hf:deepseek-ai/DeepSeek-V3.1": { + "id": "hf:deepseek-ai/DeepSeek-V3.1", "name": "DeepSeek V3.1", "family": "deepseek", - "attachment": true, + "attachment": false, "reasoning": true, "tool_call": true, - "structured_output": true, "temperature": true, "release_date": "2025-08-21", "last_updated": "2025-08-21", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.56, "output": 1.68, "cache_read": 0.11 }, - "limit": { "context": 128000, "output": 32768 } + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 128000 + }, + "cost": { + "input": 0.56, + "output": 1.68 + } }, - "gemini-2.0-flash": { - "id": "gemini-2.0-flash", - "name": "Gemini 2.0 Flash", - "family": "gemini", + "hf:deepseek-ai/DeepSeek-V3-0324": { + "id": "hf:deepseek-ai/DeepSeek-V3-0324", + "name": "DeepSeek V3 (0324)", + "family": "deepseek", "attachment": false, "reasoning": false, "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-02-05", - "last_updated": "2025-02-05", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.1, "output": 0.4, "cache_read": 0.03 }, - "limit": { "context": 1048576, "output": 8192 }, - "status": "deprecated" - }, - "custom": { - "id": "custom", - "name": "Custom Model", - "family": "auto", - "attachment": true, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2024-01-01", - "last_updated": "2024-01-01", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 128000, "output": 16384 } - }, - "glm-4.5-flash": { - "id": "glm-4.5-flash", - "name": "GLM-4.5 Flash", - "family": "glm", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-08-13", - "last_updated": "2025-08-13", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 128000, "output": 16384 } - }, - "llama-3.2-3b-instruct": { - "id": "llama-3.2-3b-instruct", - "name": "Llama 3.2 3B Instruct", - "family": "llama", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": true, - "temperature": true, - "release_date": "2024-09-18", - "last_updated": "2024-09-18", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.03, "output": 0.05 }, - "limit": { "context": 32768, "output": 32000 }, - "status": "beta" - }, - "gpt-4.1-mini": { - "id": "gpt-4.1-mini", - "name": "GPT-4.1 Mini", - "family": "gpt", - "attachment": true, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-04-14", - "last_updated": "2025-04-14", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.4, "output": 1.6, "cache_read": 0.1 }, - "limit": { "context": 1000000, "output": 16384 } - }, - "qwen-image-max-2025-12-30": { - "id": "qwen-image-max-2025-12-30", - "name": "Qwen Image Max 2025-12-30", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "temperature": true, - "release_date": "2025-12-31", - "last_updated": "2025-12-31", - "modalities": { "input": ["text"], "output": ["text", "image"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 2000, "output": 4096 } - }, - "cogview-4": { - "id": "cogview-4", - "name": "CogView-4", - "family": "glm", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "temperature": true, - "release_date": "2025-03-04", - "last_updated": "2025-03-04", - "modalities": { "input": ["text"], "output": ["text", "image"] }, - "open_weights": false, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 2000, "output": 4096 } - }, - "llama-3.2-11b-instruct": { - "id": "llama-3.2-11b-instruct", - "name": "Llama 3.2 11B Instruct", - "family": "llama", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": true, - "temperature": true, - "release_date": "2024-09-25", - "last_updated": "2024-09-25", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.07, "output": 0.33 }, - "limit": { "context": 128000, "output": 16384 }, - "status": "beta" - }, - "glm-5": { - "id": "glm-5", - "name": "GLM-5", - "family": "glm", - "attachment": false, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2026-02-15", - "last_updated": "2026-02-15", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1, "output": 3.2, "cache_read": 0.2 }, - "limit": { "context": 202800, "output": 131100 } - }, - "veo-3.1-generate-preview": { - "id": "veo-3.1-generate-preview", - "name": "Veo 3.1", - "family": "gemini", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "temperature": true, - "release_date": "2026-03-14", - "last_updated": "2026-03-14", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 32768, "output": 1 }, - "status": "beta" - }, - "qwen3-vl-30b-a3b-thinking": { - "id": "qwen3-vl-30b-a3b-thinking", - "name": "Qwen3 VL 30B A3B Thinking", - "family": "qwen", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-10-11", - "last_updated": "2025-10-11", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.2, "output": 1 }, - "limit": { "context": 131072, "output": 32768 } - }, - "llama-3.1-70b-instruct": { - "id": "llama-3.1-70b-instruct", - "name": "Llama 3.1 70B Instruct", - "family": "llama", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "temperature": true, - "release_date": "2024-07-23", - "last_updated": "2024-07-23", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.72, "output": 0.72 }, - "limit": { "context": 128000, "output": 2048 }, - "status": "beta" - }, - "qwen-omni-turbo": { - "id": "qwen-omni-turbo", - "name": "Qwen Omni Turbo", - "family": "qwen", - "attachment": true, - "reasoning": false, - "tool_call": false, - "structured_output": true, - "temperature": true, - "release_date": "2025-03-26", - "last_updated": "2025-03-26", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.2, "output": 0.8 }, - "limit": { "context": 32768, "output": 8192 } - }, - "gpt-5-chat-latest": { - "id": "gpt-5-chat-latest", - "name": "GPT-5 Chat Latest", - "family": "gpt", - "attachment": true, - "reasoning": false, - "tool_call": false, - "structured_output": true, "temperature": true, "release_date": "2025-08-01", "last_updated": "2025-08-01", - "modalities": { "input": ["text", "image"], "output": ["text"] }, + "modalities": { + "input": ["text"], + "output": ["text"] + }, "open_weights": false, - "cost": { "input": 1.25, "output": 10, "cache_read": 0.13 }, - "limit": { "context": 400000, "output": 128000 } + "limit": { + "context": 128000, + "output": 128000 + }, + "cost": { + "input": 1.2, + "output": 1.2 + } }, - "minimax-m2.1-lightning": { - "id": "minimax-m2.1-lightning", - "name": "MiniMax M2.1 Lightning", - "family": "minimax", - "attachment": false, - "reasoning": true, - "tool_call": false, - "structured_output": false, - "temperature": true, - "release_date": "2025-12-23", - "last_updated": "2025-12-23", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.12, "output": 0.48 }, - "limit": { "context": 196608, "output": 131072 } - }, - "grok-4-fast-reasoning": { - "id": "grok-4-fast-reasoning", - "name": "Grok 4 Fast Reasoning", - "family": "grok", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-07-09", - "last_updated": "2025-07-09", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.2, "output": 0.5, "cache_read": 0.05 }, - "limit": { "context": 2000000, "output": 30000 } - }, - "gpt-5-nano": { - "id": "gpt-5-nano", - "name": "GPT-5 Nano", - "family": "gpt", - "attachment": false, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-08-01", - "last_updated": "2025-08-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.05, "output": 0.4, "cache_read": 0.01 }, - "limit": { "context": 400000, "output": 128000 } - }, - "seed-1-6-250915": { - "id": "seed-1-6-250915", - "name": "Seed 1.6 (250915)", - "family": "seed", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-09-15", - "last_updated": "2025-09-15", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.25, "output": 2, "cache_read": 0.05 }, - "limit": { "context": 256000, "output": 16384 } - }, - "qwen3-32b-fp8": { - "id": "qwen3-32b-fp8", - "name": "Qwen3 32B FP8", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "temperature": true, - "release_date": "2025-04-28", - "last_updated": "2025-04-28", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.1, "output": 0.45 }, - "limit": { "context": 40960, "output": 20000 } - }, - "claude-3-5-haiku": { - "id": "claude-3-5-haiku", - "name": "Claude 3.5 Haiku", - "family": "claude", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": false, - "temperature": true, - "release_date": "2024-10-22", - "last_updated": "2024-10-22", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.8, "output": 4, "cache_read": 0.08 }, - "limit": { "context": 200000, "output": 8192 }, - "status": "deprecated" - }, - "mixtral-8x7b-instruct-together": { - "id": "mixtral-8x7b-instruct-together", - "name": "Mixtral 8x7B Instruct", - "family": "mistral", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": true, - "temperature": true, - "release_date": "2023-12-10", - "last_updated": "2023-12-10", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.06, "output": 0.06 }, - "limit": { "context": 32768, "output": 16384 } - }, - "qwen-coder-plus": { - "id": "qwen-coder-plus", - "name": "Qwen Coder Plus", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2024-09-18", - "last_updated": "2024-09-18", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 1, "output": 5 }, - "limit": { "context": 131072, "output": 8192 } - }, - "glm-4.5-air": { - "id": "glm-4.5-air", - "name": "GLM-4.5 Air", - "family": "glm", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-07-25", - "last_updated": "2025-07-25", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.2, "output": 1.1, "cache_read": 0.03 }, - "limit": { "context": 128000, "output": 16384 } - }, - "gemini-3.1-flash-lite-preview": { - "id": "gemini-3.1-flash-lite-preview", - "name": "Gemini 3.1 Flash Lite (Preview)", - "family": "gemini", - "attachment": true, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2026-03-03", - "last_updated": "2026-03-03", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.25, "output": 1.5, "cache_read": 0.03 }, - "limit": { "context": 1048576, "output": 65536 } - }, - "grok-3": { - "id": "grok-3", - "name": "Grok-3", - "family": "grok", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-02-17", - "last_updated": "2025-02-17", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 3, "output": 15 }, - "limit": { "context": 131072, "output": 16384 } - }, - "gemini-3.1-flash-image-preview": { - "id": "gemini-3.1-flash-image-preview", - "name": "Gemini 3.1 Flash Image (Preview)", - "family": "gemini", - "attachment": true, - "reasoning": false, - "tool_call": false, - "structured_output": true, - "temperature": true, - "release_date": "2026-02-26", - "last_updated": "2026-02-26", - "modalities": { "input": ["text", "image"], "output": ["text", "image"] }, - "open_weights": false, - "cost": { "input": 0.25, "output": 1.5 }, - "limit": { "context": 65536, "output": 65536 } - }, - "gemini-2.5-flash-image": { - "id": "gemini-2.5-flash-image", - "name": "Gemini 2.5 Flash Image", - "family": "gemini", - "attachment": true, - "reasoning": false, - "tool_call": false, - "structured_output": true, - "temperature": true, - "release_date": "2025-10-02", - "last_updated": "2025-10-02", - "modalities": { "input": ["text", "image"], "output": ["text", "image"] }, - "open_weights": false, - "cost": { "input": 0.3, "output": 30, "cache_read": 0.03 }, - "limit": { "context": 32768, "output": 32768 } - }, - "glm-4.5v": { - "id": "glm-4.5v", - "name": "GLM-4.5V", - "family": "glm", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-08-11", - "last_updated": "2025-08-11", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.6, "output": 1.8, "cache_read": 0.11 }, - "limit": { "context": 128000, "output": 16000 } - }, - "minimax-m2.7-highspeed": { - "id": "minimax-m2.7-highspeed", - "name": "MiniMax M2.7 Highspeed", - "family": "minimax", - "attachment": false, - "reasoning": true, - "tool_call": false, - "structured_output": false, - "temperature": true, - "release_date": "2024-01-01", - "last_updated": "2024-01-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.6, "output": 2.4, "cache_read": 0.06 }, - "limit": { "context": 204800, "output": 131100 } - }, - "seedream-4-5": { - "id": "seedream-4-5", - "name": "Seedream 4.5", - "family": "seed", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "temperature": true, - "release_date": "2025-12-03", - "last_updated": "2025-12-03", - "modalities": { "input": ["text"], "output": ["text", "image"] }, - "open_weights": false, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 2000, "output": 4096 } - }, - "qwen3-coder-plus": { - "id": "qwen3-coder-plus", - "name": "Qwen3 Coder Plus", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-09-23", - "last_updated": "2025-09-23", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 6, "output": 60 }, - "limit": { "context": 1000000, "output": 66000 } - }, - "claude-haiku-4-5-20251001": { - "id": "claude-haiku-4-5-20251001", - "name": "Claude Haiku 4.5 (2025-10-01)", - "family": "claude", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-10-15", - "last_updated": "2025-10-15", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1, "output": 5, "cache_read": 0.1 }, - "limit": { "context": 200000, "output": 64000 } - }, - "glm-4.7": { - "id": "glm-4.7", - "name": "GLM-4.7", - "family": "glm", - "attachment": false, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-12-22", - "last_updated": "2025-12-22", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.6, "output": 2.2, "cache_read": 0.11 }, - "limit": { "context": 200000, "output": 128000 } - }, - "qwen3-max-2026-01-23": { - "id": "qwen3-max-2026-01-23", - "name": "Qwen3 Max 2026-01-23", - "family": "qwen", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2026-01-23", - "last_updated": "2026-01-23", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 1.2, "output": 6, "cache_read": 0.24 }, - "limit": { "context": 262144, "output": 65536 } - }, - "grok-imagine-image-pro": { - "id": "grok-imagine-image-pro", - "name": "Grok Imagine Image Pro", - "family": "grok", - "attachment": true, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "temperature": true, - "release_date": "2026-03-02", - "last_updated": "2026-03-02", - "modalities": { "input": ["text", "image"], "output": ["text", "image"] }, - "open_weights": false, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 2000, "output": 4096 } - }, - "qwen-flash": { - "id": "qwen-flash", - "name": "Qwen Flash", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2024-09-09", - "last_updated": "2024-09-09", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.05, "output": 0.4, "cache_read": 0.01 }, - "limit": { "context": 1000000, "output": 32000 } - }, - "deepseek-r1-0528": { - "id": "deepseek-r1-0528", - "name": "DeepSeek R1 (0528)", + "hf:deepseek-ai/DeepSeek-V3": { + "id": "hf:deepseek-ai/DeepSeek-V3", + "name": "DeepSeek V3", "family": "deepseek", "attachment": false, "reasoning": true, - "tool_call": false, - "structured_output": false, - "temperature": true, - "release_date": "2025-05-28", - "last_updated": "2025-05-28", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.8, "output": 2.4 }, - "limit": { "context": 64000, "output": 16384 }, - "status": "beta" - }, - "qwen3-max": { - "id": "qwen3-max", - "name": "Qwen3 Max", - "family": "qwen", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-09-24", - "last_updated": "2025-09-24", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 3, "output": 15, "cache_read": 0.6 }, - "limit": { "context": 256000, "output": 32800 } - }, - "gpt-oss-20b": { - "id": "gpt-oss-20b", - "name": "GPT OSS 20B", - "family": "gpt-oss", - "attachment": false, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-08-05", - "last_updated": "2025-08-05", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.1, "output": 0.5 }, - "limit": { "context": 131072, "output": 32766 } - }, - "qwen2-5-vl-72b-instruct": { - "id": "qwen2-5-vl-72b-instruct", - "name": "Qwen2.5 VL 72B Instruct", - "family": "qwen", - "attachment": true, - "reasoning": false, - "tool_call": false, - "structured_output": true, - "temperature": true, - "release_date": "2025-01-26", - "last_updated": "2025-01-26", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.13, "output": 0.4 }, - "limit": { "context": 32768, "output": 8192 } - }, - "gemma-3-27b": { - "id": "gemma-3-27b", - "name": "Gemma 3 27B", - "family": "gemma", - "attachment": true, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "temperature": true, - "release_date": "2025-03-12", - "last_updated": "2025-03-12", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.27, "output": 0.27 }, - "limit": { "context": 128000, "output": 16384 } - }, - "grok-4-20-beta-0309-reasoning": { - "id": "grok-4-20-beta-0309-reasoning", - "name": "Grok 4.20 Beta Reasoning (0309)", - "family": "grok", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2026-03-09", - "last_updated": "2026-03-09", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2, "output": 6, "cache_read": 0.2 }, - "limit": { "context": 2000000, "output": 30000 } - }, - "qwen3-32b": { - "id": "qwen3-32b", - "name": "Qwen3 32B", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-04-28", - "last_updated": "2025-04-28", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.1, "output": 0.3 }, - "limit": { "context": 32768, "output": 8192 } - }, - "gpt-4.1-nano": { - "id": "gpt-4.1-nano", - "name": "GPT-4.1 Nano", - "family": "gpt", - "attachment": true, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-04-14", - "last_updated": "2025-04-14", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.1, "output": 0.4, "cache_read": 0.03 }, - "limit": { "context": 1000000, "output": 16384 } - }, - "gemma-3-12b-it": { - "id": "gemma-3-12b-it", - "name": "Gemma 3 12B IT", - "family": "gemma", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "temperature": true, - "release_date": "2025-03-10", - "last_updated": "2025-03-10", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.08, "output": 0.3 }, - "limit": { "context": 1000000, "output": 16384 } - }, - "claude-sonnet-4-5": { - "id": "claude-sonnet-4-5", - "name": "Claude Sonnet 4.5", - "family": "claude", - "attachment": false, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-09-29", - "last_updated": "2025-09-29", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 3, "output": 15, "cache_read": 0.3 }, - "limit": { "context": 200000, "output": 64000 } - }, - "devstral-small-2507": { - "id": "devstral-small-2507", - "name": "Devstral Small 1.1", - "family": "mistral", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": true, - "temperature": true, - "release_date": "2025-07-21", - "last_updated": "2025-07-21", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.1, "output": 0.3 }, - "limit": { "context": 131072, "output": 16384 } - }, - "ministral-3b-2512": { - "id": "ministral-3b-2512", - "name": "Ministral 3B", - "family": "mistral", - "attachment": true, - "reasoning": false, - "tool_call": false, - "structured_output": true, - "temperature": true, - "release_date": "2025-12-02", - "last_updated": "2025-12-02", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.1, "output": 0.1 }, - "limit": { "context": 131072, "output": 16384 } - }, - "deepseek-v3.2": { - "id": "deepseek-v3.2", - "name": "DeepSeek V3.2", - "family": "deepseek", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-09-29", - "last_updated": "2025-09-29", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.28, "output": 0.42, "cache_read": 0.03 }, - "limit": { "context": 163840, "output": 16384 } - }, - "gemma-2-27b-it-together": { - "id": "gemma-2-27b-it-together", - "name": "Gemma 2 27B IT", - "family": "gemma", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "temperature": true, - "release_date": "2024-06-27", - "last_updated": "2024-06-27", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.08, "output": 0.08 }, - "limit": { "context": 8192, "output": 16384 } - }, - "qwen3-4b-fp8": { - "id": "qwen3-4b-fp8", - "name": "Qwen3 4B FP8", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "temperature": true, - "release_date": "2025-04-28", - "last_updated": "2025-04-28", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.03, "output": 0.03 }, - "limit": { "context": 128000, "output": 20000 } - }, - "qwen3-vl-235b-a22b-thinking": { - "id": "qwen3-vl-235b-a22b-thinking", - "name": "Qwen3 VL 235B A22B Thinking", - "family": "qwen", - "attachment": true, - "reasoning": true, - "tool_call": false, - "structured_output": false, - "temperature": true, - "release_date": "2025-09-23", - "last_updated": "2025-09-23", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.5, "output": 2 }, - "limit": { "context": 131072, "output": 32768 } - }, - "llama-4-maverick-17b-instruct": { - "id": "llama-4-maverick-17b-instruct", - "name": "Llama 4 Maverick 17B Instruct", - "family": "llama", - "attachment": true, - "reasoning": false, - "tool_call": false, - "structured_output": true, - "temperature": true, - "release_date": "2025-04-05", - "last_updated": "2025-04-05", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.24, "output": 0.97 }, - "limit": { "context": 8192, "output": 2048 }, - "status": "beta" - }, - "qwen3-coder-flash": { - "id": "qwen3-coder-flash", - "name": "Qwen3 Coder Flash", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-07-22", - "last_updated": "2025-07-22", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.3, "output": 1.5, "cache_read": 0.06 }, - "limit": { "context": 1000000, "output": 65536 } - }, - "claude-3-haiku": { - "id": "claude-3-haiku", - "name": "Claude 3 Haiku", - "family": "claude", - "attachment": true, - "reasoning": false, - "tool_call": true, - "structured_output": false, - "temperature": true, - "release_date": "2024-03-04", - "last_updated": "2024-03-04", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.25, "output": 1.25, "cache_read": 0.03 }, - "limit": { "context": 200000, "output": 4096 } - }, - "gemini-2.5-flash-image-preview": { - "id": "gemini-2.5-flash-image-preview", - "name": "Gemini 2.5 Flash Image (Preview)", - "family": "gemini", - "attachment": true, - "reasoning": false, - "tool_call": false, - "structured_output": true, - "temperature": true, - "release_date": "2025-10-02", - "last_updated": "2025-10-02", - "modalities": { "input": ["text", "image"], "output": ["text", "image"] }, - "open_weights": false, - "cost": { "input": 0.3, "output": 2.5 }, - "limit": { "context": 32768, "output": 32768 } - }, - "o4-mini": { - "id": "o4-mini", - "name": "o4 Mini", - "family": "gpt", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-04-16", - "last_updated": "2025-04-16", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.1, "output": 4.4, "cache_read": 0.28 }, - "limit": { "context": 200000, "output": 16384 } - }, - "glm-4.5-x": { - "id": "glm-4.5-x", - "name": "GLM-4.5 X", - "family": "glm", - "attachment": false, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-07-28", - "last_updated": "2025-07-28", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2.2, "output": 8.9, "cache_read": 0.45 }, - "limit": { "context": 128000, "output": 16384 }, - "status": "beta" - }, - "gemini-3-pro-image-preview": { - "id": "gemini-3-pro-image-preview", - "name": "Gemini 3 Pro Image (Preview)", - "family": "gemini", - "attachment": true, - "reasoning": false, - "tool_call": false, - "structured_output": true, - "temperature": true, - "release_date": "2025-11-20", - "last_updated": "2025-11-20", - "modalities": { "input": ["text", "image"], "output": ["text", "image"] }, - "open_weights": false, - "cost": { "input": 2, "output": 12, "cache_read": 0.2 }, - "limit": { "context": 65536, "output": 32768 } - }, - "claude-haiku-4-5": { - "id": "claude-haiku-4-5", - "name": "Claude Haiku 4.5", - "family": "claude", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-10-15", - "last_updated": "2025-10-15", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1, "output": 5, "cache_read": 0.1 }, - "limit": { "context": 200000, "output": 64000 } - }, - "qwen25-coder-7b": { - "id": "qwen25-coder-7b", - "name": "Qwen2.5 Coder 7B", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": true, - "temperature": true, - "release_date": "2024-09-19", - "last_updated": "2024-09-19", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.01, "output": 0.03 }, - "limit": { "context": 32768, "output": 8192 } - }, - "seed-1-8-251228": { - "id": "seed-1-8-251228", - "name": "Seed 1.8 (251228)", - "family": "seed", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-12-18", - "last_updated": "2025-12-18", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.25, "output": 2, "cache_read": 0.05 }, - "limit": { "context": 256000, "output": 16384 } - }, - "gpt-5.1-codex": { - "id": "gpt-5.1-codex", - "name": "GPT-5.1 Codex", - "family": "gpt", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-11-13", - "last_updated": "2025-11-13", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.25, "output": 10 }, - "limit": { "context": 400000, "output": 272000 } - }, - "claude-3-5-sonnet-20241022": { - "id": "claude-3-5-sonnet-20241022", - "name": "Claude 3.5 Sonnet (2024-10-22)", - "family": "claude", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": false, - "temperature": true, - "release_date": "2024-10-22", - "last_updated": "2024-10-22", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 3, "output": 15, "cache_read": 0.3 }, - "limit": { "context": 200000, "output": 8192 }, - "status": "deprecated" - }, - "minimax-m2.5": { - "id": "minimax-m2.5", - "name": "MiniMax M2.5", - "family": "minimax", - "attachment": false, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2026-02-15", - "last_updated": "2026-02-15", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.3, "output": 1.2, "cache_read": 0.03 }, - "limit": { "context": 204800, "output": 131100 } - }, - "mistral-large-2512": { - "id": "mistral-large-2512", - "name": "Mistral Large 3", - "family": "mistral", - "attachment": true, - "reasoning": false, - "tool_call": false, - "structured_output": true, - "temperature": true, - "release_date": "2025-12-02", - "last_updated": "2025-12-02", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.5, "output": 1.5 }, - "limit": { "context": 262144, "output": 16384 } - }, - "minimax-m2.5-highspeed": { - "id": "minimax-m2.5-highspeed", - "name": "MiniMax M2.5 Highspeed", - "family": "minimax", - "attachment": false, - "reasoning": true, - "tool_call": false, - "structured_output": false, - "temperature": true, - "release_date": "2024-01-01", - "last_updated": "2024-01-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.6, "output": 2.4, "cache_read": 0.03 }, - "limit": { "context": 204800, "output": 131100 } - }, - "glm-4.6v-flash": { - "id": "glm-4.6v-flash", - "name": "GLM-4.6V Flash", - "family": "glm", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-12-08", - "last_updated": "2025-12-08", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 128000, "output": 16000 } - }, - "qwen3-30b-a3b-instruct-2507": { - "id": "qwen3-30b-a3b-instruct-2507", - "name": "Qwen3 30B A3B Instruct 2507", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-07-30", - "last_updated": "2025-07-30", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.1, "output": 0.3 }, - "limit": { "context": 262000, "output": 8192 } - }, - "grok-4-1-fast": { - "id": "grok-4-1-fast", - "name": "Grok 4.1 Fast", - "family": "grok", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-11-19", - "last_updated": "2025-11-19", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.2, "output": 0.5, "cache_read": 0.05 }, - "limit": { "context": 2000000, "output": 30000 } - }, - "gpt-5.2-pro": { - "id": "gpt-5.2-pro", - "name": "GPT-5.2 Pro", - "family": "gpt", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-12-11", - "last_updated": "2025-12-11", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 21, "output": 168 }, - "limit": { "context": 400000, "output": 272000 } - }, - "claude-3-7-sonnet": { - "id": "claude-3-7-sonnet", - "name": "Claude 3.7 Sonnet", - "family": "claude", - "attachment": false, - "reasoning": true, - "tool_call": true, - "structured_output": false, - "temperature": true, - "release_date": "2025-02-24", - "last_updated": "2025-02-24", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 3, "output": 15, "cache_read": 0.3 }, - "limit": { "context": 200000, "output": 8192 } - } - } - }, - "groq": { - "id": "groq", - "env": ["GROQ_API_KEY"], - "npm": "@ai-sdk/groq", - "name": "Groq", - "doc": "https://console.groq.com/docs/models", - "models": { - "llama3-70b-8192": { - "id": "llama3-70b-8192", - "name": "Llama 3 70B", - "family": "llama", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2023-03", - "release_date": "2024-04-18", - "last_updated": "2024-04-18", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.59, "output": 0.79 }, - "limit": { "context": 8192, "output": 8192 }, - "status": "deprecated" - }, - "llama-3.3-70b-versatile": { - "id": "llama-3.3-70b-versatile", - "name": "Llama 3.3 70B Versatile", - "family": "llama", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2023-12", - "release_date": "2024-12-06", - "last_updated": "2024-12-06", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.59, "output": 0.79 }, - "limit": { "context": 131072, "output": 32768 } - }, - "deepseek-r1-distill-llama-70b": { - "id": "deepseek-r1-distill-llama-70b", - "name": "DeepSeek R1 Distill Llama 70B", - "family": "deepseek-thinking", - "attachment": false, - "reasoning": true, "tool_call": true, "temperature": true, "knowledge": "2024-07", "release_date": "2025-01-20", - "last_updated": "2025-01-20", - "modalities": { "input": ["text"], "output": ["text"] }, + "last_updated": "2025-05-29", + "modalities": { + "input": ["text"], + "output": ["text"] + }, "open_weights": true, - "cost": { "input": 0.75, "output": 0.99 }, - "limit": { "context": 131072, "output": 8192 }, - "status": "deprecated" + "limit": { + "context": 128000, + "output": 128000 + }, + "cost": { + "input": 1.25, + "output": 1.25 + } }, - "gemma2-9b-it": { - "id": "gemma2-9b-it", - "name": "Gemma 2 9B", - "family": "gemma", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-06", - "release_date": "2024-06-27", - "last_updated": "2024-06-27", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.2, "output": 0.2 }, - "limit": { "context": 8192, "output": 8192 }, - "status": "deprecated" - }, - "llama-3.1-8b-instant": { - "id": "llama-3.1-8b-instant", - "name": "Llama 3.1 8B Instant", - "family": "llama", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2023-12", - "release_date": "2024-07-23", - "last_updated": "2024-07-23", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.05, "output": 0.08 }, - "limit": { "context": 131072, "output": 131072 } - }, - "qwen-qwq-32b": { - "id": "qwen-qwq-32b", - "name": "Qwen QwQ 32B", - "family": "qwen", + "hf:deepseek-ai/DeepSeek-R1": { + "id": "hf:deepseek-ai/DeepSeek-R1", + "name": "DeepSeek R1", + "family": "deepseek-thinking", "attachment": false, "reasoning": true, "tool_call": true, "temperature": true, - "knowledge": "2024-09", - "release_date": "2024-11-27", - "last_updated": "2024-11-27", - "modalities": { "input": ["text"], "output": ["text"] }, + "knowledge": "2025-01", + "release_date": "2025-01-20", + "last_updated": "2025-01-20", + "modalities": { + "input": ["text"], + "output": ["text"] + }, "open_weights": true, - "cost": { "input": 0.29, "output": 0.39 }, - "limit": { "context": 131072, "output": 16384 }, - "status": "deprecated" + "limit": { + "context": 128000, + "output": 128000 + }, + "cost": { + "input": 0.55, + "output": 2.19 + } }, - "llama-guard-3-8b": { - "id": "llama-guard-3-8b", - "name": "Llama Guard 3 8B", - "family": "llama", + "hf:deepseek-ai/DeepSeek-R1-0528": { + "id": "hf:deepseek-ai/DeepSeek-R1-0528", + "name": "DeepSeek R1 (0528)", + "family": "deepseek-thinking", "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "release_date": "2024-07-23", - "last_updated": "2024-07-23", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.2, "output": 0.2 }, - "limit": { "context": 8192, "output": 8192 }, - "status": "deprecated" - }, - "mistral-saba-24b": { - "id": "mistral-saba-24b", - "name": "Mistral Saba 24B", - "family": "mistral", - "attachment": false, - "reasoning": false, + "reasoning": true, "tool_call": true, "temperature": true, - "knowledge": "2024-08", - "release_date": "2025-02-06", - "last_updated": "2025-02-06", - "modalities": { "input": ["text"], "output": ["text"] }, + "release_date": "2025-08-01", + "last_updated": "2025-08-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, "open_weights": false, - "cost": { "input": 0.79, "output": 0.79 }, - "limit": { "context": 32768, "output": 32768 }, - "status": "deprecated" + "limit": { + "context": 128000, + "output": 128000 + }, + "cost": { + "input": 3, + "output": 8 + } }, - "whisper-large-v3": { - "id": "whisper-large-v3", - "name": "Whisper Large V3", - "family": "whisper", + "hf:deepseek-ai/DeepSeek-V3.2": { + "id": "hf:deepseek-ai/DeepSeek-V3.2", + "name": "DeepSeek V3.2", + "family": "deepseek", "attachment": false, - "reasoning": false, - "tool_call": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, "temperature": true, - "knowledge": "2023-09", - "release_date": "2023-09-01", - "last_updated": "2025-09-05", - "modalities": { "input": ["audio"], "output": ["text"] }, + "release_date": "2025-12-01", + "last_updated": "2025-12-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 448, "output": 448 } + "limit": { + "context": 162816, + "input": 162816, + "output": 8000 + }, + "cost": { + "input": 0.27, + "output": 0.4, + "cache_read": 0.27, + "cache_write": 0 + } }, - "whisper-large-v3-turbo": { - "id": "whisper-large-v3-turbo", - "name": "Whisper Large v3 Turbo", - "family": "whisper", + "hf:deepseek-ai/DeepSeek-V3.1-Terminus": { + "id": "hf:deepseek-ai/DeepSeek-V3.1-Terminus", + "name": "DeepSeek V3.1 Terminus", + "family": "deepseek", "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "knowledge": "2024-10", - "release_date": "2024-10-01", - "last_updated": "2024-10-01", - "modalities": { "input": ["audio"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 448, "output": 448 } - }, - "llama3-8b-8192": { - "id": "llama3-8b-8192", - "name": "Llama 3 8B", - "family": "llama", - "attachment": false, - "reasoning": false, + "reasoning": true, "tool_call": true, "temperature": true, - "knowledge": "2023-03", - "release_date": "2024-04-18", - "last_updated": "2024-04-18", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.05, "output": 0.08 }, - "limit": { "context": 8192, "output": 8192 }, - "status": "deprecated" - }, - "allam-2-7b": { - "id": "allam-2-7b", - "name": "ALLaM-2-7b", - "family": "allam", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "knowledge": "2024-09", - "release_date": "2024-09", - "last_updated": "2024-09", - "modalities": { "input": ["text"], "output": ["text"] }, + "release_date": "2025-09-22", + "last_updated": "2025-09-25", + "modalities": { + "input": ["text"], + "output": ["text"] + }, "open_weights": false, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 4096, "output": 4096 } + "limit": { + "context": 128000, + "output": 128000 + }, + "cost": { + "input": 1.2, + "output": 1.2 + } }, - "openai/gpt-oss-120b": { - "id": "openai/gpt-oss-120b", + "hf:openai/gpt-oss-120b": { + "id": "hf:openai/gpt-oss-120b", "name": "GPT OSS 120B", "family": "gpt-oss", "attachment": false, "reasoning": true, "tool_call": true, - "structured_output": true, "temperature": true, "release_date": "2025-08-05", "last_updated": "2025-08-05", - "modalities": { "input": ["text"], "output": ["text"] }, + "modalities": { + "input": ["text"], + "output": ["text"] + }, "open_weights": true, - "cost": { "input": 0.15, "output": 0.6 }, - "limit": { "context": 131072, "output": 65536 } + "limit": { + "context": 128000, + "output": 32768 + }, + "cost": { + "input": 0.1, + "output": 0.1 + } }, - "openai/gpt-oss-safeguard-20b": { - "id": "openai/gpt-oss-safeguard-20b", - "name": "Safety GPT OSS 20B", - "family": "gpt-oss", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2025-03-05", - "last_updated": "2025-03-05", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.075, "output": 0.3, "cache_read": 0.037 }, - "limit": { "context": 131072, "output": 65536 } - }, - "openai/gpt-oss-20b": { - "id": "openai/gpt-oss-20b", - "name": "GPT OSS 20B", - "family": "gpt-oss", - "attachment": false, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-08-05", - "last_updated": "2025-08-05", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.075, "output": 0.3 }, - "limit": { "context": 131072, "output": 65536 } - }, - "canopylabs/orpheus-arabic-saudi": { - "id": "canopylabs/orpheus-arabic-saudi", - "name": "Orpheus Arabic Saudi", - "family": "canopylabs", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "knowledge": "2025-12-16", - "release_date": "2025-12-16", - "last_updated": "2025-12-16", - "modalities": { "input": ["text"], "output": ["audio"] }, - "open_weights": false, - "cost": { "input": 40, "output": 0 }, - "limit": { "context": 4000, "output": 50000 } - }, - "canopylabs/orpheus-v1-english": { - "id": "canopylabs/orpheus-v1-english", - "name": "Orpheus V1 English", - "family": "canopylabs", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "knowledge": "2025-12-19", - "release_date": "2025-12-19", - "last_updated": "2025-12-19", - "modalities": { "input": ["text"], "output": ["audio"] }, - "open_weights": false, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 4000, "output": 50000 } - }, - "meta-llama/llama-guard-4-12b": { - "id": "meta-llama/llama-guard-4-12b", - "name": "Llama Guard 4 12B", - "family": "llama", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "release_date": "2025-04-05", - "last_updated": "2025-04-05", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.2, "output": 0.2 }, - "limit": { "context": 131072, "output": 1024 }, - "status": "deprecated" - }, - "meta-llama/llama-4-scout-17b-16e-instruct": { - "id": "meta-llama/llama-4-scout-17b-16e-instruct", - "name": "Llama 4 Scout 17B", - "family": "llama", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2024-08", - "release_date": "2025-04-05", - "last_updated": "2025-04-05", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.11, "output": 0.34 }, - "limit": { "context": 131072, "output": 8192 } - }, - "meta-llama/llama-prompt-guard-2-22m": { - "id": "meta-llama/llama-prompt-guard-2-22m", - "name": "Llama Prompt Guard 2 22M", - "family": "llama", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "knowledge": "2024-10", - "release_date": "2024-10-01", - "last_updated": "2024-10-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.03, "output": 0.03 }, - "limit": { "context": 512, "output": 512 } - }, - "meta-llama/llama-4-maverick-17b-128e-instruct": { - "id": "meta-llama/llama-4-maverick-17b-128e-instruct", - "name": "Llama 4 Maverick 17B", - "family": "llama", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2024-08", - "release_date": "2025-04-05", - "last_updated": "2025-04-05", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.2, "output": 0.6 }, - "limit": { "context": 131072, "output": 8192 }, - "status": "deprecated" - }, - "meta-llama/llama-prompt-guard-2-86m": { - "id": "meta-llama/llama-prompt-guard-2-86m", - "name": "Llama Prompt Guard 2 86M", - "family": "llama", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "knowledge": "2024-10", - "release_date": "2024-10-01", - "last_updated": "2024-10-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.04, "output": 0.04 }, - "limit": { "context": 512, "output": 512 } - }, - "qwen/qwen3-32b": { - "id": "qwen/qwen3-32b", - "name": "Qwen3 32B", - "family": "qwen", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2024-11-08", - "release_date": "2024-12-23", - "last_updated": "2024-12-23", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.29, "output": 0.59 }, - "limit": { "context": 131072, "output": 40960 } - }, - "groq/compound-mini": { - "id": "groq/compound-mini", - "name": "Compound Mini", - "family": "groq", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-09-04", - "release_date": "2025-09-04", - "last_updated": "2025-09-04", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 131072, "output": 8192 } - }, - "groq/compound": { - "id": "groq/compound", - "name": "Compound", - "family": "groq", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-09-04", - "release_date": "2025-09-04", - "last_updated": "2025-09-04", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 131072, "output": 8192 } - }, - "moonshotai/kimi-k2-instruct-0905": { - "id": "moonshotai/kimi-k2-instruct-0905", - "name": "Kimi K2 Instruct 0905", - "family": "kimi", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2024-10", - "release_date": "2025-09-05", - "last_updated": "2025-09-05", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 1, "output": 3 }, - "limit": { "context": 262144, "output": 16384 } - }, - "moonshotai/kimi-k2-instruct": { - "id": "moonshotai/kimi-k2-instruct", - "name": "Kimi K2 Instruct", - "family": "kimi", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-10", - "release_date": "2025-07-14", - "last_updated": "2025-07-14", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 1, "output": 3 }, - "limit": { "context": 131072, "output": 16384 }, - "status": "deprecated" - } - } - }, - "azure": { - "id": "azure", - "env": ["AZURE_RESOURCE_NAME", "AZURE_API_KEY"], - "npm": "@ai-sdk/azure", - "name": "Azure", - "doc": "https://learn.microsoft.com/en-us/azure/ai-services/openai/concepts/models", - "models": { - "gpt-5.2-codex": { - "id": "gpt-5.2-codex", - "name": "GPT-5.2 Codex", - "family": "gpt-codex", - "attachment": false, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": false, - "knowledge": "2025-08-31", - "release_date": "2026-01-14", - "last_updated": "2026-01-14", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.75, "output": 14, "cache_read": 0.175 }, - "limit": { "context": 400000, "output": 128000 } - }, - "text-embedding-3-large": { - "id": "text-embedding-3-large", - "name": "text-embedding-3-large", - "family": "text-embedding", - "attachment": false, - "reasoning": false, - "tool_call": false, - "release_date": "2024-01-25", - "last_updated": "2024-01-25", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.13, "output": 0 }, - "limit": { "context": 8191, "output": 3072 } - }, - "gpt-5.1-codex-mini": { - "id": "gpt-5.1-codex-mini", - "name": "GPT-5.1 Codex Mini", - "family": "gpt-codex", - "attachment": false, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": false, - "knowledge": "2024-09-30", - "release_date": "2025-11-14", - "last_updated": "2025-11-14", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.25, "output": 2, "cache_read": 0.025 }, - "limit": { "context": 400000, "output": 128000 } - }, - "phi-4-multimodal": { - "id": "phi-4-multimodal", - "name": "Phi-4-multimodal", - "family": "phi", - "attachment": true, - "reasoning": false, - "tool_call": false, - "temperature": true, - "knowledge": "2023-10", - "release_date": "2024-12-11", - "last_updated": "2024-12-11", - "modalities": { "input": ["text", "image", "audio"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.08, "output": 0.32, "input_audio": 4 }, - "limit": { "context": 128000, "output": 4096 } - }, - "cohere-embed-v3-multilingual": { - "id": "cohere-embed-v3-multilingual", - "name": "Embed v3 Multilingual", - "family": "cohere-embed", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": false, - "release_date": "2023-11-07", - "last_updated": "2023-11-07", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.1, "output": 0 }, - "limit": { "context": 512, "output": 1024 } - }, - "gpt-5.4-pro": { - "id": "gpt-5.4-pro", - "name": "GPT-5.4 Pro", - "family": "gpt-pro", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": false, - "temperature": false, - "knowledge": "2025-08-31", - "release_date": "2026-03-05", - "last_updated": "2026-03-05", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 30, "output": 180 }, - "limit": { "context": 400000, "input": 272000, "output": 128000 } - }, - "cohere-embed-v3-english": { - "id": "cohere-embed-v3-english", - "name": "Embed v3 English", - "family": "cohere-embed", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": false, - "release_date": "2023-11-07", - "last_updated": "2023-11-07", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.1, "output": 0 }, - "limit": { "context": 512, "output": 1024 } - }, - "o3-mini": { - "id": "o3-mini", - "name": "o3-mini", - "family": "o-mini", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": false, - "knowledge": "2024-05", - "release_date": "2024-12-20", - "last_updated": "2025-01-29", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.1, "output": 4.4, "cache_read": 0.55 }, - "limit": { "context": 200000, "output": 100000 } - }, - "gpt-5.4-mini": { - "id": "gpt-5.4-mini", - "name": "GPT-5.4 Mini", - "family": "gpt-mini", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": false, - "knowledge": "2025-08-31", - "release_date": "2026-03-17", - "last_updated": "2026-03-17", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.75, "output": 4.5, "cache_read": 0.075 }, - "limit": { "context": 400000, "input": 272000, "output": 128000 } - }, - "gpt-5-pro": { - "id": "gpt-5-pro", - "name": "GPT-5 Pro", - "family": "gpt-pro", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": false, - "knowledge": "2024-09-30", - "release_date": "2025-10-06", - "last_updated": "2025-10-06", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 15, "output": 120 }, - "limit": { "context": 400000, "output": 272000 } - }, - "gpt-3.5-turbo-0613": { - "id": "gpt-3.5-turbo-0613", - "name": "GPT-3.5 Turbo 0613", - "family": "gpt", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "knowledge": "2021-08", - "release_date": "2023-06-13", - "last_updated": "2023-06-13", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 3, "output": 4 }, - "limit": { "context": 16384, "output": 16384 } - }, - "deepseek-v3-0324": { - "id": "deepseek-v3-0324", - "name": "DeepSeek-V3-0324", - "family": "deepseek", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-07", - "release_date": "2025-03-24", - "last_updated": "2025-03-24", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 1.14, "output": 4.56 }, - "limit": { "context": 131072, "output": 131072 } - }, - "meta-llama-3.1-8b-instruct": { - "id": "meta-llama-3.1-8b-instruct", - "name": "Meta-Llama-3.1-8B-Instruct", - "family": "llama", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2023-12", - "release_date": "2024-07-23", - "last_updated": "2024-07-23", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.3, "output": 0.61 }, - "limit": { "context": 128000, "output": 32768 } - }, - "kimi-k2-thinking": { - "id": "kimi-k2-thinking", + "hf:moonshotai/Kimi-K2-Thinking": { + "id": "hf:moonshotai/Kimi-K2-Thinking", "name": "Kimi K2 Thinking", "family": "kimi-thinking", "attachment": false, "reasoning": true, "tool_call": true, - "interleaved": true, - "temperature": true, - "knowledge": "2024-08", - "release_date": "2025-11-06", - "last_updated": "2025-12-02", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.6, "output": 2.5, "cache_read": 0.15 }, - "limit": { "context": 262144, "output": 262144 } - }, - "deepseek-r1": { - "id": "deepseek-r1", - "name": "DeepSeek-R1", - "family": "deepseek-thinking", - "attachment": false, - "reasoning": true, - "tool_call": false, - "temperature": true, - "knowledge": "2024-07", - "release_date": "2025-01-20", - "last_updated": "2025-01-20", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 1.35, "output": 5.4 }, - "limit": { "context": 163840, "output": 163840 } - }, - "gpt-5": { - "id": "gpt-5", - "name": "GPT-5", - "family": "gpt", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": false, - "knowledge": "2024-09-30", - "release_date": "2025-08-07", - "last_updated": "2025-08-07", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.25, "output": 10, "cache_read": 0.13 }, - "limit": { "context": 272000, "output": 128000 } - }, - "llama-3.3-70b-instruct": { - "id": "llama-3.3-70b-instruct", - "name": "Llama-3.3-70B-Instruct", - "family": "llama", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2023-12", - "release_date": "2024-12-06", - "last_updated": "2024-12-06", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.71, "output": 0.71 }, - "limit": { "context": 128000, "output": 32768 } - }, - "phi-3-mini-128k-instruct": { - "id": "phi-3-mini-128k-instruct", - "name": "Phi-3-mini-instruct (128k)", - "family": "phi", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "knowledge": "2023-10", - "release_date": "2024-04-23", - "last_updated": "2024-04-23", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.13, "output": 0.52 }, - "limit": { "context": 128000, "output": 4096 } - }, - "phi-3-small-8k-instruct": { - "id": "phi-3-small-8k-instruct", - "name": "Phi-3-small-instruct (8k)", - "family": "phi", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "knowledge": "2023-10", - "release_date": "2024-04-23", - "last_updated": "2024-04-23", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.15, "output": 0.6 }, - "limit": { "context": 8192, "output": 2048 } - }, - "claude-opus-4-5": { - "id": "claude-opus-4-5", - "name": "Claude Opus 4.5", - "family": "claude-opus", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-03-31", - "release_date": "2025-11-24", - "last_updated": "2025-08-01", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 5, "output": 25, "cache_read": 0.5, "cache_write": 6.25 }, - "limit": { "context": 200000, "output": 64000 }, - "provider": { - "npm": "@ai-sdk/anthropic", - "api": "https://${AZURE_RESOURCE_NAME}.services.ai.azure.com/anthropic/v1" - } - }, - "kimi-k2.5": { - "id": "kimi-k2.5", - "name": "Kimi K2.5", - "family": "kimi", - "attachment": false, - "reasoning": true, - "tool_call": true, - "interleaved": true, - "structured_output": true, - "temperature": true, - "knowledge": "2025-01", - "release_date": "2026-02-06", - "last_updated": "2026-02-06", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.6, "output": 3 }, - "limit": { "context": 262144, "output": 262144 }, - "provider": { - "npm": "@ai-sdk/openai-compatible", - "api": "https://${AZURE_RESOURCE_NAME}.services.ai.azure.com/models", - "shape": "completions" - } - }, - "gpt-4-turbo": { - "id": "gpt-4-turbo", - "name": "GPT-4 Turbo", - "family": "gpt", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2023-11", - "release_date": "2023-11-06", - "last_updated": "2024-04-09", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 10, "output": 30 }, - "limit": { "context": 128000, "output": 4096 } - }, - "gpt-4o": { - "id": "gpt-4o", - "name": "GPT-4o", - "family": "gpt", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2023-09", - "release_date": "2024-05-13", - "last_updated": "2024-05-13", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2.5, "output": 10, "cache_read": 1.25 }, - "limit": { "context": 128000, "output": 16384 } - }, - "grok-4-fast-non-reasoning": { - "id": "grok-4-fast-non-reasoning", - "name": "Grok 4 Fast (Non-Reasoning)", - "family": "grok", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2025-07", - "release_date": "2025-09-19", - "last_updated": "2025-09-19", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.2, "output": 0.5, "cache_read": 0.05 }, - "limit": { "context": 2000000, "output": 30000 } - }, - "grok-4": { - "id": "grok-4", - "name": "Grok 4", - "family": "grok", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-07", - "release_date": "2025-07-09", - "last_updated": "2025-07-09", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 3, "output": 15, "reasoning": 15, "cache_read": 0.75 }, - "limit": { "context": 256000, "output": 64000 } - }, - "gpt-3.5-turbo-1106": { - "id": "gpt-3.5-turbo-1106", - "name": "GPT-3.5 Turbo 1106", - "family": "gpt", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "knowledge": "2021-08", - "release_date": "2023-11-06", - "last_updated": "2023-11-06", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1, "output": 2 }, - "limit": { "context": 16384, "output": 16384 } - }, - "phi-4-mini": { - "id": "phi-4-mini", - "name": "Phi-4-mini", - "family": "phi", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2023-10", - "release_date": "2024-12-11", - "last_updated": "2024-12-11", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.075, "output": 0.3 }, - "limit": { "context": 128000, "output": 4096 } - }, - "phi-4-reasoning": { - "id": "phi-4-reasoning", - "name": "Phi-4-reasoning", - "family": "phi", - "attachment": false, - "reasoning": true, - "tool_call": false, - "temperature": true, - "knowledge": "2023-10", - "release_date": "2024-12-11", - "last_updated": "2024-12-11", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.125, "output": 0.5 }, - "limit": { "context": 32000, "output": 4096 } - }, - "grok-code-fast-1": { - "id": "grok-code-fast-1", - "name": "Grok Code Fast 1", - "family": "grok", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2023-10", - "release_date": "2025-08-28", - "last_updated": "2025-08-28", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.2, "output": 1.5, "cache_read": 0.02 }, - "limit": { "context": 256000, "output": 10000 } - }, - "codestral-2501": { - "id": "codestral-2501", - "name": "Codestral 25.01", - "family": "codestral", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-03", - "release_date": "2025-01-01", - "last_updated": "2025-01-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.3, "output": 0.9 }, - "limit": { "context": 256000, "output": 256000 } - }, - "gpt-5.3-codex": { - "id": "gpt-5.3-codex", - "name": "GPT-5.3 Codex", - "family": "gpt-codex", - "attachment": false, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": false, - "knowledge": "2025-08-31", - "release_date": "2026-02-24", - "last_updated": "2026-02-24", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.75, "output": 14, "cache_read": 0.175 }, - "limit": { "context": 400000, "output": 128000 } - }, - "gpt-5-mini": { - "id": "gpt-5-mini", - "name": "GPT-5 Mini", - "family": "gpt-mini", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": false, - "knowledge": "2024-05-30", - "release_date": "2025-08-07", - "last_updated": "2025-08-07", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.25, "output": 2, "cache_read": 0.03 }, - "limit": { "context": 272000, "output": 128000 } - }, - "gpt-4-turbo-vision": { - "id": "gpt-4-turbo-vision", - "name": "GPT-4 Turbo Vision", - "family": "gpt", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2023-11", - "release_date": "2023-11-06", - "last_updated": "2024-04-09", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 10, "output": 30 }, - "limit": { "context": 128000, "output": 4096 } - }, - "mistral-large-2411": { - "id": "mistral-large-2411", - "name": "Mistral Large 24.11", - "family": "mistral-large", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-09", - "release_date": "2024-11-01", - "last_updated": "2024-11-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2, "output": 6 }, - "limit": { "context": 128000, "output": 32768 } - }, - "claude-opus-4-6": { - "id": "claude-opus-4-6", - "name": "Claude Opus 4.6", - "family": "claude-opus", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-05", - "release_date": "2026-02-05", - "last_updated": "2026-02-05", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { - "input": 5, - "output": 25, - "cache_read": 0.5, - "cache_write": 6.25, - "context_over_200k": { "input": 10, "output": 37.5, "cache_read": 1, "cache_write": 12.5 } - }, - "limit": { "context": 200000, "output": 128000 }, - "provider": { - "npm": "@ai-sdk/anthropic", - "api": "https://${AZURE_RESOURCE_NAME}.services.ai.azure.com/anthropic/v1" - } - }, - "gpt-4o-mini": { - "id": "gpt-4o-mini", - "name": "GPT-4o mini", - "family": "gpt-mini", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2023-09", - "release_date": "2024-07-18", - "last_updated": "2024-07-18", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.15, "output": 0.6, "cache_read": 0.08 }, - "limit": { "context": 128000, "output": 16384 } - }, - "gpt-5.1-codex-max": { - "id": "gpt-5.1-codex-max", - "name": "GPT-5.1 Codex Max", - "family": "gpt-codex", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": false, - "knowledge": "2024-09-30", - "release_date": "2025-11-13", - "last_updated": "2025-11-13", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.25, "output": 10, "cache_read": 0.125 }, - "limit": { "context": 400000, "output": 128000 } - }, - "gpt-4.1": { - "id": "gpt-4.1", - "name": "GPT-4.1", - "family": "gpt", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-05", - "release_date": "2025-04-14", - "last_updated": "2025-04-14", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2, "output": 8, "cache_read": 0.5 }, - "limit": { "context": 1047576, "output": 32768 } - }, - "codex-mini": { - "id": "codex-mini", - "name": "Codex Mini", - "family": "gpt-codex-mini", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": false, - "knowledge": "2024-04", - "release_date": "2025-05-16", - "last_updated": "2025-05-16", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.5, "output": 6, "cache_read": 0.375 }, - "limit": { "context": 200000, "output": 100000 } - }, - "phi-4-mini-reasoning": { - "id": "phi-4-mini-reasoning", - "name": "Phi-4-mini-reasoning", - "family": "phi", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2023-10", - "release_date": "2024-12-11", - "last_updated": "2024-12-11", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.075, "output": 0.3 }, - "limit": { "context": 128000, "output": 4096 } - }, - "llama-4-scout-17b-16e-instruct": { - "id": "llama-4-scout-17b-16e-instruct", - "name": "Llama 4 Scout 17B 16E Instruct", - "family": "llama", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-08", - "release_date": "2025-04-05", - "last_updated": "2025-04-05", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.2, "output": 0.78 }, - "limit": { "context": 128000, "output": 8192 } - }, - "llama-3.2-11b-vision-instruct": { - "id": "llama-3.2-11b-vision-instruct", - "name": "Llama-3.2-11B-Vision-Instruct", - "family": "llama", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2023-12", - "release_date": "2024-09-25", - "last_updated": "2024-09-25", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.37, "output": 0.37 }, - "limit": { "context": 128000, "output": 8192 } - }, - "phi-3-mini-4k-instruct": { - "id": "phi-3-mini-4k-instruct", - "name": "Phi-3-mini-instruct (4k)", - "family": "phi", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "knowledge": "2023-10", - "release_date": "2024-04-23", - "last_updated": "2024-04-23", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.13, "output": 0.52 }, - "limit": { "context": 4096, "output": 1024 } - }, - "phi-3-medium-4k-instruct": { - "id": "phi-3-medium-4k-instruct", - "name": "Phi-3-medium-instruct (4k)", - "family": "phi", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "knowledge": "2023-10", - "release_date": "2024-04-23", - "last_updated": "2024-04-23", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.17, "output": 0.68 }, - "limit": { "context": 4096, "output": 1024 } - }, - "model-router": { - "id": "model-router", - "name": "Model Router", - "family": "model-router", - "attachment": true, - "reasoning": false, - "tool_call": true, - "release_date": "2025-05-19", - "last_updated": "2025-11-18", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.14, "output": 0 }, - "limit": { "context": 128000, "output": 16384 } - }, - "gpt-3.5-turbo-instruct": { - "id": "gpt-3.5-turbo-instruct", - "name": "GPT-3.5 Turbo Instruct", - "family": "gpt", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "knowledge": "2021-08", - "release_date": "2023-09-21", - "last_updated": "2023-09-21", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.5, "output": 2 }, - "limit": { "context": 4096, "output": 4096 } - }, - "gpt-5.1-chat": { - "id": "gpt-5.1-chat", - "name": "GPT-5.1 Chat", - "family": "gpt-codex", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": false, - "knowledge": "2024-09-30", - "release_date": "2025-11-14", - "last_updated": "2025-11-14", - "modalities": { "input": ["text", "image", "audio"], "output": ["text", "image", "audio"] }, - "open_weights": false, - "cost": { "input": 1.25, "output": 10, "cache_read": 0.125 }, - "limit": { "context": 128000, "output": 16384 } - }, - "gpt-5.4": { - "id": "gpt-5.4", - "name": "GPT-5.4", - "family": "gpt", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": false, - "knowledge": "2025-08-31", - "release_date": "2026-03-05", - "last_updated": "2026-03-05", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2.5, "output": 15, "cache_read": 0.25 }, - "limit": { "context": 400000, "input": 272000, "output": 128000 } - }, - "o1": { - "id": "o1", - "name": "o1", - "family": "o", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": false, - "knowledge": "2023-09", - "release_date": "2024-12-05", - "last_updated": "2024-12-05", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 15, "output": 60, "cache_read": 7.5 }, - "limit": { "context": 200000, "output": 100000 } - }, - "o3": { - "id": "o3", - "name": "o3", - "family": "o", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": false, - "knowledge": "2024-05", - "release_date": "2025-04-16", - "last_updated": "2025-04-16", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2, "output": 8, "cache_read": 0.5 }, - "limit": { "context": 200000, "output": 100000 } - }, - "grok-4-1-fast-non-reasoning": { - "id": "grok-4-1-fast-non-reasoning", - "name": "Grok 4.1 Fast (Non-Reasoning)", - "family": "grok", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "release_date": "2025-06-27", - "last_updated": "2025-06-27", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.2, "output": 0.5, "cache_read": 0.05 }, - "limit": { "context": 128000, "input": 128000, "output": 8192 }, - "status": "beta" - }, - "mai-ds-r1": { - "id": "mai-ds-r1", - "name": "MAI-DS-R1", - "family": "mai", - "attachment": false, - "reasoning": true, - "tool_call": false, - "temperature": true, - "knowledge": "2024-06", - "release_date": "2025-01-20", - "last_updated": "2025-01-20", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.35, "output": 5.4 }, - "limit": { "context": 128000, "output": 8192 } - }, - "mistral-small-2503": { - "id": "mistral-small-2503", - "name": "Mistral Small 3.1", - "family": "mistral-small", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-09", - "release_date": "2025-03-01", - "last_updated": "2025-03-01", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.1, "output": 0.3 }, - "limit": { "context": 128000, "output": 32768 } - }, - "gpt-5-chat": { - "id": "gpt-5-chat", - "name": "GPT-5 Chat", - "family": "gpt-codex", - "attachment": true, - "reasoning": true, - "tool_call": false, - "temperature": false, - "knowledge": "2024-10-24", - "release_date": "2025-08-07", - "last_updated": "2025-08-07", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.25, "output": 10, "cache_read": 0.13 }, - "limit": { "context": 128000, "output": 16384 } - }, - "cohere-command-r-plus-08-2024": { - "id": "cohere-command-r-plus-08-2024", - "name": "Command R+", - "family": "command-r", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-06-01", - "release_date": "2024-08-30", - "last_updated": "2024-08-30", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 2.5, "output": 10 }, - "limit": { "context": 128000, "output": 4000 } - }, - "meta-llama-3-70b-instruct": { - "id": "meta-llama-3-70b-instruct", - "name": "Meta-Llama-3-70B-Instruct", - "family": "llama", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "knowledge": "2023-12", - "release_date": "2024-04-18", - "last_updated": "2024-04-18", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 2.68, "output": 3.54 }, - "limit": { "context": 8192, "output": 2048 } - }, - "phi-3.5-mini-instruct": { - "id": "phi-3.5-mini-instruct", - "name": "Phi-3.5-mini-instruct", - "family": "phi", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "knowledge": "2023-10", - "release_date": "2024-08-20", - "last_updated": "2024-08-20", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.13, "output": 0.52 }, - "limit": { "context": 128000, "output": 4096 } - }, - "meta-llama-3-8b-instruct": { - "id": "meta-llama-3-8b-instruct", - "name": "Meta-Llama-3-8B-Instruct", - "family": "llama", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "knowledge": "2023-12", - "release_date": "2024-04-18", - "last_updated": "2024-04-18", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.3, "output": 0.61 }, - "limit": { "context": 8192, "output": 2048 } - }, - "grok-3-mini": { - "id": "grok-3-mini", - "name": "Grok 3 Mini", - "family": "grok", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2024-11", - "release_date": "2025-02-17", - "last_updated": "2025-02-17", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.3, "output": 0.5, "reasoning": 0.5, "cache_read": 0.075 }, - "limit": { "context": 131072, "output": 8192 } - }, - "claude-opus-4-1": { - "id": "claude-opus-4-1", - "name": "Claude Opus 4.1", - "family": "claude-opus", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2025-03-31", - "release_date": "2025-11-18", - "last_updated": "2025-11-18", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 15, "output": 75, "cache_read": 1.5, "cache_write": 18.75 }, - "limit": { "context": 200000, "output": 32000 }, - "provider": { - "npm": "@ai-sdk/anthropic", - "api": "https://${AZURE_RESOURCE_NAME}.services.ai.azure.com/anthropic/v1" - } - }, - "gpt-5.4-nano": { - "id": "gpt-5.4-nano", - "name": "GPT-5.4 Nano", - "family": "gpt-nano", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": false, - "knowledge": "2025-08-31", - "release_date": "2026-03-17", - "last_updated": "2026-03-17", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.2, "output": 1.25, "cache_read": 0.02 }, - "limit": { "context": 400000, "input": 272000, "output": 128000 } - }, - "gpt-4-32k": { - "id": "gpt-4-32k", - "name": "GPT-4 32K", - "family": "gpt", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2023-11", - "release_date": "2023-03-14", - "last_updated": "2023-03-14", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 60, "output": 120 }, - "limit": { "context": 32768, "output": 32768 } - }, - "mistral-medium-2505": { - "id": "mistral-medium-2505", - "name": "Mistral Medium 3", - "family": "mistral-medium", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2025-05", - "release_date": "2025-05-07", - "last_updated": "2025-05-07", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.4, "output": 2 }, - "limit": { "context": 128000, "output": 128000 } - }, - "gpt-4": { - "id": "gpt-4", - "name": "GPT-4", - "family": "gpt", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2023-11", - "release_date": "2023-03-14", - "last_updated": "2023-03-14", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 60, "output": 120 }, - "limit": { "context": 8192, "output": 8192 } - }, - "gpt-5.3-chat": { - "id": "gpt-5.3-chat", - "name": "GPT-5.3 Chat", - "family": "gpt-codex", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": false, - "knowledge": "2025-08-31", - "release_date": "2026-03-03", - "last_updated": "2026-03-03", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.75, "output": 14, "cache_read": 0.175 }, - "limit": { "context": 128000, "output": 16384 } - }, - "llama-3.2-90b-vision-instruct": { - "id": "llama-3.2-90b-vision-instruct", - "name": "Llama-3.2-90B-Vision-Instruct", - "family": "llama", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2023-12", - "release_date": "2024-09-25", - "last_updated": "2024-09-25", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 2.04, "output": 2.04 }, - "limit": { "context": 128000, "output": 8192 } - }, - "deepseek-v3.2-speciale": { - "id": "deepseek-v3.2-speciale", - "name": "DeepSeek-V3.2-Speciale", - "family": "deepseek", - "attachment": false, - "reasoning": true, - "tool_call": false, - "temperature": true, - "knowledge": "2024-07", - "release_date": "2025-12-01", - "last_updated": "2025-12-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.58, "output": 1.68 }, - "limit": { "context": 128000, "output": 128000 } - }, - "text-embedding-ada-002": { - "id": "text-embedding-ada-002", - "name": "text-embedding-ada-002", - "family": "text-embedding", - "attachment": false, - "reasoning": false, - "tool_call": false, - "release_date": "2022-12-15", - "last_updated": "2022-12-15", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.1, "output": 0 }, - "limit": { "context": 8192, "output": 1536 } - }, - "ministral-3b": { - "id": "ministral-3b", - "name": "Ministral 3B", - "family": "ministral", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-03", - "release_date": "2024-10-22", - "last_updated": "2024-10-22", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.04, "output": 0.04 }, - "limit": { "context": 128000, "output": 8192 } - }, - "mistral-nemo": { - "id": "mistral-nemo", - "name": "Mistral Nemo", - "family": "mistral-nemo", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-07", - "release_date": "2024-07-18", - "last_updated": "2024-07-18", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.15, "output": 0.15 }, - "limit": { "context": 128000, "output": 128000 } - }, - "gpt-5.2-chat": { - "id": "gpt-5.2-chat", - "name": "GPT-5.2 Chat", - "family": "gpt-codex", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": false, - "knowledge": "2025-08-31", - "release_date": "2025-12-11", - "last_updated": "2025-12-11", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.75, "output": 14, "cache_read": 0.175 }, - "limit": { "context": 128000, "output": 16384 } - }, - "gpt-5.2": { - "id": "gpt-5.2", - "name": "GPT-5.2", - "family": "gpt", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": false, - "knowledge": "2025-08-31", - "release_date": "2025-12-11", - "last_updated": "2025-12-11", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.75, "output": 14, "cache_read": 0.125 }, - "limit": { "context": 400000, "output": 128000 } - }, - "gpt-3.5-turbo-0301": { - "id": "gpt-3.5-turbo-0301", - "name": "GPT-3.5 Turbo 0301", - "family": "gpt", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "knowledge": "2021-08", - "release_date": "2023-03-01", - "last_updated": "2023-03-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.5, "output": 2 }, - "limit": { "context": 4096, "output": 4096 } - }, - "phi-4": { - "id": "phi-4", - "name": "Phi-4", - "family": "phi", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "knowledge": "2023-10", - "release_date": "2024-12-11", - "last_updated": "2024-12-11", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.125, "output": 0.5 }, - "limit": { "context": 128000, "output": 4096 } - }, - "grok-4-1-fast-reasoning": { - "id": "grok-4-1-fast-reasoning", - "name": "Grok 4.1 Fast (Reasoning)", - "family": "grok", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2025-06-27", - "last_updated": "2025-06-27", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.2, "output": 0.5, "cache_read": 0.05 }, - "limit": { "context": 128000, "input": 128000, "output": 8192 }, - "status": "beta" - }, - "gpt-5.1": { - "id": "gpt-5.1", - "name": "GPT-5.1", - "family": "gpt", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": false, - "knowledge": "2024-09-30", - "release_date": "2025-11-14", - "last_updated": "2025-11-14", - "modalities": { "input": ["text", "image", "audio"], "output": ["text", "image", "audio"] }, - "open_weights": false, - "cost": { "input": 1.25, "output": 10, "cache_read": 0.125 }, - "limit": { "context": 272000, "output": 128000 } - }, - "deepseek-v3.1": { - "id": "deepseek-v3.1", - "name": "DeepSeek-V3.1", - "family": "deepseek", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2024-07", - "release_date": "2025-08-21", - "last_updated": "2025-08-21", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.56, "output": 1.68 }, - "limit": { "context": 131072, "output": 131072 } - }, - "cohere-command-r-08-2024": { - "id": "cohere-command-r-08-2024", - "name": "Command R", - "family": "command-r", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-06-01", - "release_date": "2024-08-30", - "last_updated": "2024-08-30", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.15, "output": 0.6 }, - "limit": { "context": 128000, "output": 4000 } - }, - "gpt-4.1-mini": { - "id": "gpt-4.1-mini", - "name": "GPT-4.1 mini", - "family": "gpt-mini", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-05", - "release_date": "2025-04-14", - "last_updated": "2025-04-14", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.4, "output": 1.6, "cache_read": 0.1 }, - "limit": { "context": 1047576, "output": 32768 } - }, - "phi-3-medium-128k-instruct": { - "id": "phi-3-medium-128k-instruct", - "name": "Phi-3-medium-instruct (128k)", - "family": "phi", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "knowledge": "2023-10", - "release_date": "2024-04-23", - "last_updated": "2024-04-23", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.17, "output": 0.68 }, - "limit": { "context": 128000, "output": 4096 } - }, - "meta-llama-3.1-405b-instruct": { - "id": "meta-llama-3.1-405b-instruct", - "name": "Meta-Llama-3.1-405B-Instruct", - "family": "llama", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2023-12", - "release_date": "2024-07-23", - "last_updated": "2024-07-23", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 5.33, "output": 16 }, - "limit": { "context": 128000, "output": 32768 } - }, - "phi-3.5-moe-instruct": { - "id": "phi-3.5-moe-instruct", - "name": "Phi-3.5-MoE-instruct", - "family": "phi", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "knowledge": "2023-10", - "release_date": "2024-08-20", - "last_updated": "2024-08-20", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.16, "output": 0.64 }, - "limit": { "context": 128000, "output": 4096 } - }, - "grok-4-fast-reasoning": { - "id": "grok-4-fast-reasoning", - "name": "Grok 4 Fast (Reasoning)", - "family": "grok", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-07", - "release_date": "2025-09-19", - "last_updated": "2025-09-19", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.2, "output": 0.5, "cache_read": 0.05 }, - "limit": { "context": 2000000, "output": 30000 } - }, - "gpt-5-nano": { - "id": "gpt-5-nano", - "name": "GPT-5 Nano", - "family": "gpt-nano", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": false, - "knowledge": "2024-05-30", - "release_date": "2025-08-07", - "last_updated": "2025-08-07", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.05, "output": 0.4, "cache_read": 0.01 }, - "limit": { "context": 272000, "output": 128000 } - }, - "cohere-command-a": { - "id": "cohere-command-a", - "name": "Command A", - "family": "command-a", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2024-06-01", - "release_date": "2025-03-13", - "last_updated": "2025-03-13", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 2.5, "output": 10 }, - "limit": { "context": 256000, "output": 8000 } - }, - "grok-3": { - "id": "grok-3", - "name": "Grok 3", - "family": "grok", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-11", - "release_date": "2025-02-17", - "last_updated": "2025-02-17", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 3, "output": 15, "cache_read": 0.75 }, - "limit": { "context": 131072, "output": 8192 } - }, - "phi-4-reasoning-plus": { - "id": "phi-4-reasoning-plus", - "name": "Phi-4-reasoning-plus", - "family": "phi", - "attachment": false, - "reasoning": true, - "tool_call": false, - "temperature": true, - "knowledge": "2023-10", - "release_date": "2024-12-11", - "last_updated": "2024-12-11", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.125, "output": 0.5 }, - "limit": { "context": 32000, "output": 4096 } - }, - "cohere-embed-v-4-0": { - "id": "cohere-embed-v-4-0", - "name": "Embed v4", - "family": "cohere-embed", - "attachment": true, - "reasoning": false, - "tool_call": false, - "temperature": false, - "release_date": "2025-04-15", - "last_updated": "2025-04-15", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.12, "output": 0 }, - "limit": { "context": 128000, "output": 1536 } - }, - "llama-4-maverick-17b-128e-instruct-fp8": { - "id": "llama-4-maverick-17b-128e-instruct-fp8", - "name": "Llama 4 Maverick 17B 128E Instruct FP8", - "family": "llama", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-08", - "release_date": "2025-04-05", - "last_updated": "2025-04-05", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.25, "output": 1 }, - "limit": { "context": 128000, "output": 8192 } - }, - "deepseek-r1-0528": { - "id": "deepseek-r1-0528", - "name": "DeepSeek-R1-0528", - "family": "deepseek-thinking", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2024-07", - "release_date": "2025-05-28", - "last_updated": "2025-05-28", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 1.35, "output": 5.4 }, - "limit": { "context": 163840, "output": 163840 } - }, - "phi-3-small-128k-instruct": { - "id": "phi-3-small-128k-instruct", - "name": "Phi-3-small-instruct (128k)", - "family": "phi", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "knowledge": "2023-10", - "release_date": "2024-04-23", - "last_updated": "2024-04-23", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.15, "output": 0.6 }, - "limit": { "context": 128000, "output": 4096 } - }, - "meta-llama-3.1-70b-instruct": { - "id": "meta-llama-3.1-70b-instruct", - "name": "Meta-Llama-3.1-70B-Instruct", - "family": "llama", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2023-12", - "release_date": "2024-07-23", - "last_updated": "2024-07-23", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 2.68, "output": 3.54 }, - "limit": { "context": 128000, "output": 32768 } - }, - "gpt-4.1-nano": { - "id": "gpt-4.1-nano", - "name": "GPT-4.1 nano", - "family": "gpt-nano", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-05", - "release_date": "2025-04-14", - "last_updated": "2025-04-14", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.1, "output": 0.4, "cache_read": 0.03 }, - "limit": { "context": 1047576, "output": 32768 } - }, - "claude-sonnet-4-5": { - "id": "claude-sonnet-4-5", - "name": "Claude Sonnet 4.5", - "family": "claude-sonnet", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2025-07-31", - "release_date": "2025-11-18", - "last_updated": "2025-11-18", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 3, "output": 15, "cache_read": 0.3, "cache_write": 3.75 }, - "limit": { "context": 200000, "output": 64000 }, - "provider": { - "npm": "@ai-sdk/anthropic", - "api": "https://${AZURE_RESOURCE_NAME}.services.ai.azure.com/anthropic/v1" - } - }, - "o1-preview": { - "id": "o1-preview", - "name": "o1-preview", - "family": "o", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": false, - "knowledge": "2023-09", - "release_date": "2024-09-12", - "last_updated": "2024-09-12", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 16.5, "output": 66, "cache_read": 8.25 }, - "limit": { "context": 128000, "output": 32768 } - }, - "deepseek-v3.2": { - "id": "deepseek-v3.2", - "name": "DeepSeek-V3.2", - "family": "deepseek", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2024-07", - "release_date": "2025-12-01", - "last_updated": "2025-12-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.58, "output": 1.68 }, - "limit": { "context": 128000, "output": 128000 } - }, - "gpt-3.5-turbo-0125": { - "id": "gpt-3.5-turbo-0125", - "name": "GPT-3.5 Turbo 0125", - "family": "gpt", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "knowledge": "2021-08", - "release_date": "2024-01-25", - "last_updated": "2024-01-25", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.5, "output": 1.5 }, - "limit": { "context": 16384, "output": 16384 } - }, - "text-embedding-3-small": { - "id": "text-embedding-3-small", - "name": "text-embedding-3-small", - "family": "text-embedding", - "attachment": false, - "reasoning": false, - "tool_call": false, - "release_date": "2024-01-25", - "last_updated": "2024-01-25", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.02, "output": 0 }, - "limit": { "context": 8191, "output": 1536 } - }, - "gpt-5-codex": { - "id": "gpt-5-codex", - "name": "GPT-5-Codex", - "family": "gpt-codex", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": false, - "knowledge": "2024-09-30", - "release_date": "2025-09-15", - "last_updated": "2025-09-15", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.25, "output": 10, "cache_read": 0.13 }, - "limit": { "context": 400000, "output": 128000 } - }, - "o4-mini": { - "id": "o4-mini", - "name": "o4-mini", - "family": "o-mini", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": false, - "knowledge": "2024-05", - "release_date": "2025-04-16", - "last_updated": "2025-04-16", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.1, "output": 4.4, "cache_read": 0.28 }, - "limit": { "context": 200000, "output": 100000 } - }, - "claude-haiku-4-5": { - "id": "claude-haiku-4-5", - "name": "Claude Haiku 4.5", - "family": "claude-haiku", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2025-02-31", - "release_date": "2025-11-18", - "last_updated": "2025-11-18", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1, "output": 5, "cache_read": 0.1, "cache_write": 1.25 }, - "limit": { "context": 200000, "output": 64000 }, - "provider": { - "npm": "@ai-sdk/anthropic", - "api": "https://${AZURE_RESOURCE_NAME}.services.ai.azure.com/anthropic/v1" - } - }, - "gpt-5.1-codex": { - "id": "gpt-5.1-codex", - "name": "GPT-5.1 Codex", - "family": "gpt-codex", - "attachment": false, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": false, - "knowledge": "2024-09-30", - "release_date": "2025-11-14", - "last_updated": "2025-11-14", - "modalities": { "input": ["text", "image", "audio"], "output": ["text", "image", "audio"] }, - "open_weights": false, - "cost": { "input": 1.25, "output": 10, "cache_read": 0.125 }, - "limit": { "context": 400000, "output": 128000 } - }, - "o1-mini": { - "id": "o1-mini", - "name": "o1-mini", - "family": "o-mini", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": false, - "knowledge": "2023-09", - "release_date": "2024-09-12", - "last_updated": "2024-09-12", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.1, "output": 4.4, "cache_read": 0.55 }, - "limit": { "context": 128000, "output": 65536 } - } - } - }, - "aihubmix": { - "id": "aihubmix", - "env": ["AIHUBMIX_API_KEY"], - "npm": "@ai-sdk/openai-compatible", - "api": "https://aihubmix.com/v1", - "name": "AIHubMix", - "doc": "https://docs.aihubmix.com", - "models": { - "gpt-5.2-codex": { - "id": "gpt-5.2-codex", - "name": "GPT-5.2-Codex", - "family": "gpt-codex", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2025-08-31", - "release_date": "2026-01-14", - "last_updated": "2026-01-14", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.75, "output": 14, "cache_read": 0.175 }, - "limit": { "context": 400000, "output": 128000 } - }, - "gemini-3-pro-preview-search": { - "id": "gemini-3-pro-preview-search", - "name": "Gemini 3 Pro Preview Search", - "family": "gemini-pro", - "attachment": true, - "reasoning": true, - "tool_call": true, "temperature": true, "knowledge": "2025-11", - "release_date": "2025-11-19", - "last_updated": "2025-11-19", - "modalities": { "input": ["text", "image", "audio", "video"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2, "output": 12, "cache_read": 0.5 }, - "limit": { "context": 1000000, "output": 65000 } - }, - "gpt-5.1-codex-mini": { - "id": "gpt-5.1-codex-mini", - "name": "GPT-5.1 Codex Mini", - "family": "gpt-codex", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-11", - "release_date": "2025-11-15", - "last_updated": "2025-11-15", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.25, "output": 2, "cache_read": 0.03 }, - "limit": { "context": 400000, "output": 128000 } - }, - "qwen3-235b-a22b-instruct-2507": { - "id": "qwen3-235b-a22b-instruct-2507", - "name": "Qwen3 235B A22B Instruct 2507", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2025-04", - "release_date": "2025-07-30", - "last_updated": "2025-07-30", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.28, "output": 1.12 }, - "limit": { "context": 262144, "output": 262144 } - }, - "qwen3.5-plus": { - "id": "qwen3.5-plus", - "name": "Qwen 3.5 Plus", - "family": "qwen", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-04", - "release_date": "2026-02-16", - "last_updated": "2026-02-16", - "modalities": { "input": ["text", "image", "video"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.11, "output": 0.66 }, - "limit": { "context": 1000000, "output": 65536 } - }, - "deepseek-v3.2-fast": { - "id": "deepseek-v3.2-fast", - "name": "DeepSeek-V3.2-Fast", - "family": "deepseek", - "attachment": false, - "reasoning": false, - "tool_call": false, - "knowledge": "2024-07", - "release_date": "2025-12-01", - "last_updated": "2025-12-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 1.1, "output": 3.29 }, - "limit": { "context": 128000, "output": 128000 } - }, - "gpt-5-pro": { - "id": "gpt-5-pro", - "name": "GPT-5-Pro", - "family": "gpt-pro", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2024-09-30", - "release_date": "2025-09-15", - "last_updated": "2025-09-15", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 7, "output": 28, "cache_read": 3.5 }, - "limit": { "context": 400000, "output": 128000 } - }, - "qwen3-coder-next": { - "id": "qwen3-coder-next", - "name": "Qwen3 Coder Next", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": false, - "temperature": true, - "release_date": "2026-02-04", - "last_updated": "2026-02-04", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.14, "output": 0.55 }, - "limit": { "context": 262144, "input": 262144, "output": 65536 } - }, - "gpt-5": { - "id": "gpt-5", - "name": "GPT-5", - "family": "gpt", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2024-09-30", - "release_date": "2025-09-15", - "last_updated": "2025-09-15", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 5, "output": 20, "cache_read": 2.5 }, - "limit": { "context": 400000, "output": 128000 } - }, - "claude-opus-4-5": { - "id": "claude-opus-4-5", - "name": "Claude Opus 4.5", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-03", - "release_date": "2025-11-25", - "last_updated": "2025-11-25", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 5, "output": 25, "cache_read": 0.5, "cache_write": 6.25 }, - "limit": { "context": 200000, "output": 32000 } - }, - "kimi-k2.5": { - "id": "kimi-k2.5", - "name": "Kimi K2.5", - "family": "kimi", - "attachment": true, - "reasoning": true, - "tool_call": true, - "interleaved": { "field": "reasoning_content" }, - "temperature": true, - "knowledge": "2025-07", - "release_date": "2026-01-27", - "last_updated": "2026-01-27", - "modalities": { "input": ["text", "image", "video"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.6, "output": 3, "cache_read": 0.1 }, - "limit": { "context": 262144, "output": 262144 } - }, - "gemini-3-pro-preview": { - "id": "gemini-3-pro-preview", - "name": "Gemini 3 Pro Preview", - "family": "gemini-pro", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-11", - "release_date": "2025-11-19", - "last_updated": "2025-11-19", - "modalities": { "input": ["text", "image", "audio", "video"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2, "output": 12, "cache_read": 0.5 }, - "limit": { "context": 1000000, "output": 65000 } - }, - "coding-glm-5-free": { - "id": "coding-glm-5-free", - "name": "Coding-GLM-5-Free", - "family": "glm", - "attachment": false, - "reasoning": true, - "tool_call": true, - "interleaved": { "field": "reasoning_content" }, - "temperature": true, - "release_date": "2026-02-11", - "last_updated": "2026-02-11", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 204800, "output": 131072 } - }, - "gpt-4o": { - "id": "gpt-4o", - "name": "GPT-4o", - "family": "gpt", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2023-09", - "release_date": "2024-05-13", - "last_updated": "2024-08-06", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2.5, "output": 10, "cache_read": 1.25 }, - "limit": { "context": 128000, "output": 16384 } - }, - "gpt-5-mini": { - "id": "gpt-5-mini", - "name": "GPT-5-Mini", - "family": "gpt-mini", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2024-09-30", - "release_date": "2025-09-15", - "last_updated": "2025-09-15", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.5, "output": 6, "cache_read": 0.75 }, - "limit": { "context": 200000, "output": 64000 } - }, - "claude-opus-4-6": { - "id": "claude-opus-4-6", - "name": "Claude Opus 4.6", - "family": "claude-opus", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-05", - "release_date": "2026-02-05", - "last_updated": "2026-02-05", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { - "input": 5, - "output": 25, - "cache_read": 0.3, - "cache_write": 3.75, - "context_over_200k": { "input": 6, "output": 22, "cache_read": 0.6, "cache_write": 7.5 } + "release_date": "2025-11-07", + "last_updated": "2025-11-07", + "modalities": { + "input": ["text"], + "output": ["text"] }, - "limit": { "context": 200000, "output": 128000 } - }, - "gpt-5.1-codex-max": { - "id": "gpt-5.1-codex-max", - "name": "GPT-5.1-Codex-Max", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": false, - "knowledge": "2024-09-30", - "release_date": "2025-11-13", - "last_updated": "2025-11-13", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.25, "output": 10, "cache_read": 0.125 }, - "limit": { "context": 400000, "output": 128000 } - }, - "claude-sonnet-4-6": { - "id": "claude-sonnet-4-6", - "name": "Claude Sonnet 4.6", - "family": "claude-sonnet", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-08", - "release_date": "2026-02-17", - "last_updated": "2026-02-17", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { - "input": 3, - "output": 15, - "cache_read": 0.3, - "cache_write": 3.75, - "context_over_200k": { "input": 6, "output": 22.5, "cache_read": 0.6, "cache_write": 7.5 } + "open_weights": true, + "limit": { + "context": 262144, + "output": 262144 }, - "limit": { "context": 200000, "output": 64000 } - }, - "gpt-4.1": { - "id": "gpt-4.1", - "name": "GPT-4.1", - "family": "gpt", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-04", - "release_date": "2025-04-14", - "last_updated": "2025-04-14", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2, "output": 8, "cache_read": 0.5 }, - "limit": { "context": 1047576, "output": 32768 } - }, - "deepseek-v3.2-think": { - "id": "deepseek-v3.2-think", - "name": "DeepSeek-V3.2-Think", - "family": "deepseek", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2024-07", - "release_date": "2025-12-01", - "last_updated": "2025-12-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.3, "output": 0.45 }, - "limit": { "context": 131000, "output": 64000 } - }, - "minimax-m2.1": { - "id": "minimax-m2.1", - "name": "MiniMax M2.1", - "family": "minimax", - "attachment": false, - "reasoning": true, - "tool_call": true, - "interleaved": { "field": "reasoning_details" }, - "temperature": true, - "release_date": "2025-12-23", - "last_updated": "2025-12-23", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.29, "output": 1.15 }, - "limit": { "context": 204800, "output": 131072 } - }, - "claude-sonnet-4-6-think": { - "id": "claude-sonnet-4-6-think", - "name": "Claude Sonnet 4.6 Think", - "family": "claude-sonnet", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-08", - "release_date": "2026-02-17", - "last_updated": "2026-02-17", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, "cost": { - "input": 3, - "output": 15, - "cache_read": 0.3, - "cache_write": 3.75, - "context_over_200k": { "input": 6, "output": 22.5, "cache_read": 0.6, "cache_write": 7.5 } - }, - "limit": { "context": 200000, "output": 64000 } + "input": 0.55, + "output": 2.19 + } }, - "claude-opus-4-6-think": { - "id": "claude-opus-4-6-think", - "name": "Claude Opus 4.6 Think", - "family": "claude-opus", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-05", - "release_date": "2026-02-05", - "last_updated": "2026-02-05", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { - "input": 5, - "output": 25, - "cache_read": 0.3, - "cache_write": 3.75, - "context_over_200k": { "input": 6, "output": 22, "cache_read": 0.6, "cache_write": 7.5 } - }, - "limit": { "context": 200000, "output": 128000 } - }, - "coding-glm-4.7-free": { - "id": "coding-glm-4.7-free", - "name": "Coding GLM 4.7 Free", - "family": "glm", - "attachment": false, - "reasoning": true, - "tool_call": true, - "interleaved": { "field": "reasoning_details" }, - "temperature": true, - "knowledge": "2025-04", - "release_date": "2025-12-22", - "last_updated": "2025-12-22", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0, "cache_read": 0, "cache_write": 0 }, - "limit": { "context": 204800, "output": 131072 } - }, - "claude-opus-4-1": { - "id": "claude-opus-4-1", - "name": "Claude Opus 4.1", - "family": "claude-opus", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-03-31", - "release_date": "2025-08-05", - "last_updated": "2025-08-05", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 16.5, "output": 82.5, "cache_read": 1.5, "cache_write": 18.75 }, - "limit": { "context": 200000, "output": 32000 } - }, - "glm-4.6v": { - "id": "glm-4.6v", - "name": "GLM-4.6V", - "family": "glm", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-04", - "release_date": "2025-12-08", - "last_updated": "2025-12-08", - "modalities": { "input": ["text", "image", "video"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.14, "output": 0.41 }, - "limit": { "context": 128000, "output": 32768 } - }, - "qwen3-coder-480b-a35b-instruct": { - "id": "qwen3-coder-480b-a35b-instruct", - "name": "Qwen3 Coder 480B A35B Instruct", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "release_date": "2025-08-01", - "last_updated": "2025-08-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.82, "output": 3.29 }, - "limit": { "context": 262144, "output": 131000 } - }, - "gemini-2.5-pro": { - "id": "gemini-2.5-pro", - "name": "Gemini 2.5 Pro", - "family": "gemini-pro", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-04", - "release_date": "2025-09-15", - "last_updated": "2025-09-15", - "modalities": { "input": ["text", "image", "audio", "video"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.25, "output": 5, "cache_read": 0.31 }, - "limit": { "context": 2000000, "output": 65000 } - }, - "gemini-2.5-flash": { - "id": "gemini-2.5-flash", - "name": "Gemini 2.5 Flash", - "family": "gemini-flash", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2025-04", - "release_date": "2025-09-15", - "last_updated": "2025-09-15", - "modalities": { "input": ["text", "image", "audio", "video"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.075, "output": 0.3, "cache_read": 0.02 }, - "limit": { "context": 1000000, "output": 65000 } - }, - "qwen3-235b-a22b-thinking-2507": { - "id": "qwen3-235b-a22b-thinking-2507", - "name": "Qwen3 235B A22B Thinking 2507", - "family": "qwen", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-04", - "release_date": "2025-07-30", - "last_updated": "2025-07-30", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.28, "output": 2.8 }, - "limit": { "context": 262144, "output": 262144 } - }, - "gpt-5.2": { - "id": "gpt-5.2", - "name": "GPT-5.2", - "family": "gpt", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": false, - "knowledge": "2025-08-31", - "release_date": "2025-12-11", - "last_updated": "2025-12-11", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.75, "output": 14, "cache_read": 0.175 }, - "limit": { "context": 400000, "output": 128000 } - }, - "gpt-5.1": { - "id": "gpt-5.1", - "name": "GPT-5.1", - "family": "gpt", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-11", - "release_date": "2025-11-15", - "last_updated": "2025-11-15", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.25, "output": 10, "cache_read": 0.125 }, - "limit": { "context": 400000, "output": 128000 } - }, - "coding-glm-4.7": { - "id": "coding-glm-4.7", - "name": "Coding-GLM-4.7", - "family": "glm", - "attachment": false, - "reasoning": true, - "tool_call": true, - "interleaved": { "field": "reasoning_details" }, - "temperature": true, - "knowledge": "2025-04", - "release_date": "2025-12-22", - "last_updated": "2025-12-22", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.27, "output": 1.1, "cache_read": 0.548 }, - "limit": { "context": 204800, "output": 131072 } - }, - "gpt-4.1-mini": { - "id": "gpt-4.1-mini", - "name": "GPT-4.1 mini", - "family": "gpt-mini", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-04", - "release_date": "2025-04-14", - "last_updated": "2025-04-14", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.4, "output": 1.6, "cache_read": 0.1 }, - "limit": { "context": 1047576, "output": 32768 } - }, - "coding-minimax-m2.1-free": { - "id": "coding-minimax-m2.1-free", - "name": "Coding MiniMax M2.1 Free", - "family": "minimax", - "attachment": false, - "reasoning": true, - "tool_call": true, - "interleaved": { "field": "reasoning_details" }, - "temperature": true, - "release_date": "2025-12-23", - "last_updated": "2025-12-23", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 204800, "output": 131072 } - }, - "glm-5": { - "id": "glm-5", - "name": "GLM-5", - "family": "glm", - "attachment": false, - "reasoning": true, - "tool_call": true, - "interleaved": { "field": "reasoning_content" }, - "temperature": true, - "release_date": "2026-02-11", - "last_updated": "2026-02-11", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.88, "output": 2.82 }, - "limit": { "context": 204800, "output": 131072 } - }, - "gpt-5-nano": { - "id": "gpt-5-nano", - "name": "GPT-5-Nano", - "family": "gpt-nano", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-09-30", - "release_date": "2025-09-15", - "last_updated": "2025-09-15", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.5, "output": 2, "cache_read": 0.25 }, - "limit": { "context": 128000, "output": 16384 } - }, - "glm-4.7": { - "id": "glm-4.7", - "name": "GLM-4.7", - "family": "glm", - "attachment": false, - "reasoning": true, - "tool_call": true, - "interleaved": { "field": "reasoning_details" }, - "temperature": true, - "knowledge": "2025-04", - "release_date": "2025-12-22", - "last_updated": "2025-12-22", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.27, "output": 1.1, "cache_read": 0.548 }, - "limit": { "context": 204800, "output": 131072 } - }, - "qwen3-max-2026-01-23": { - "id": "qwen3-max-2026-01-23", - "name": "Qwen3 Max", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2025-04", - "release_date": "2025-09-23", - "last_updated": "2025-09-23", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.34, "output": 1.37 }, - "limit": { "context": 262144, "output": 65536 } - }, - "Kimi-K2-0905": { - "id": "Kimi-K2-0905", + "hf:moonshotai/Kimi-K2-Instruct-0905": { + "id": "hf:moonshotai/Kimi-K2-Instruct-0905", "name": "Kimi K2 0905", "family": "kimi", "attachment": false, @@ -48460,354 +80195,603 @@ "knowledge": "2024-10", "release_date": "2025-09-05", "last_updated": "2025-09-05", - "modalities": { "input": ["text"], "output": ["text"] }, + "modalities": { + "input": ["text"], + "output": ["text"] + }, "open_weights": true, - "cost": { "input": 0.55, "output": 2.19 }, - "limit": { "context": 262144, "output": 262144 } + "limit": { + "context": 262144, + "output": 32768 + }, + "cost": { + "input": 1.2, + "output": 1.2 + } }, - "gpt-4.1-nano": { - "id": "gpt-4.1-nano", - "name": "GPT-4.1 nano", - "family": "gpt-nano", - "attachment": true, - "reasoning": false, + "hf:moonshotai/Kimi-K2.5": { + "id": "hf:moonshotai/Kimi-K2.5", + "name": "Kimi K2.5", + "family": "kimi", + "attachment": false, + "reasoning": true, "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2026-01", + "last_updated": "2026-01", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 65536 + }, + "cost": { + "input": 0.55, + "output": 2.19 + } + }, + "hf:nvidia/NVIDIA-Nemotron-3-Super-120B-A12B-NVFP4": { + "id": "hf:nvidia/NVIDIA-Nemotron-3-Super-120B-A12B-NVFP4", + "name": "Nemotron 3 Super 120B", + "family": "nemotron", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "structured_output": true, "temperature": true, "knowledge": "2024-04", - "release_date": "2025-04-14", - "last_updated": "2025-04-14", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.1, "output": 0.4, "cache_read": 0.03 }, - "limit": { "context": 1047576, "output": 32768 } + "release_date": "2026-03-11", + "last_updated": "2026-04-03", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 65536 + }, + "cost": { + "input": 0.3, + "output": 1, + "cache_read": 0.3 + } }, - "claude-sonnet-4-5": { - "id": "claude-sonnet-4-5", - "name": "Claude Sonnet 4.5", - "family": "claude-sonnet", + "hf:nvidia/Kimi-K2.5-NVFP4": { + "id": "hf:nvidia/Kimi-K2.5-NVFP4", + "name": "Kimi K2.5 (NVFP4)", + "family": "kimi", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2026-01", + "last_updated": "2026-01", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 65536 + }, + "cost": { + "input": 0.55, + "output": 2.19 + } + }, + "hf:zai-org/GLM-4.7-Flash": { + "id": "hf:zai-org/GLM-4.7-Flash", + "name": "GLM-4.7-Flash", + "family": "glm", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "structured_output": true, + "temperature": true, + "release_date": "2026-01-18", + "last_updated": "2026-01-18", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 196608, + "output": 65536 + }, + "cost": { + "input": 0.06, + "output": 0.4, + "cache_read": 0.06 + } + }, + "hf:zai-org/GLM-4.7": { + "id": "hf:zai-org/GLM-4.7", + "name": "GLM 4.7", + "family": "glm", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-12-22", + "last_updated": "2025-12-22", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 200000, + "output": 64000 + }, + "cost": { + "input": 0.55, + "output": 2.19 + } + }, + "hf:zai-org/GLM-5.1": { + "id": "hf:zai-org/GLM-5.1", + "name": "GLM 5.1", + "family": "glm", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "structured_output": true, + "temperature": true, + "release_date": "2026-03-27", + "last_updated": "2026-04-12", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 196608, + "output": 65536 + }, + "cost": { + "input": 1, + "output": 3, + "cache_read": 1 + } + }, + "hf:zai-org/GLM-5": { + "id": "hf:zai-org/GLM-5", + "name": "GLM-5", + "family": "glm", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "structured_output": true, + "temperature": true, + "release_date": "2026-02-12", + "last_updated": "2026-04-08", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 196608, + "output": 65536 + }, + "cost": { + "input": 1, + "output": 3, + "cache_read": 1 + } + }, + "hf:zai-org/GLM-4.6": { + "id": "hf:zai-org/GLM-4.6", + "name": "GLM 4.6", + "family": "glm", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-09-30", + "last_updated": "2025-09-30", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 200000, + "output": 64000 + }, + "cost": { + "input": 0.55, + "output": 2.19 + } + }, + "hf:moonshotai/Kimi-K2.6": { + "id": "hf:moonshotai/Kimi-K2.6", + "name": "Kimi K2.6", + "family": "kimi-k2.6", "attachment": true, "reasoning": true, "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "structured_output": true, "temperature": true, - "knowledge": "2025-07-31", - "release_date": "2025-09-29", - "last_updated": "2025-09-29", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 3.3, "output": 16.5, "cache_read": 0.3, "cache_write": 3.75 }, - "limit": { "context": 200000, "output": 64000 } - }, - "deepseek-v3.2": { - "id": "deepseek-v3.2", - "name": "DeepSeek-V3.2", - "family": "deepseek", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2024-07", - "release_date": "2025-12-01", - "last_updated": "2025-12-01", - "modalities": { "input": ["text"], "output": ["text"] }, + "knowledge": "2025-01", + "release_date": "2026-04-21", + "last_updated": "2026-04-21", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, "open_weights": true, - "cost": { "input": 0.3, "output": 0.45 }, - "limit": { "context": 131000, "output": 64000 } - }, - "gpt-5-codex": { - "id": "gpt-5-codex", - "name": "GPT-5-Codex", - "family": "gpt-codex", + "limit": { + "context": 262144, + "output": 65536 + }, + "cost": { + "input": 0.95, + "output": 4, + "cache_read": 0.95 + } + } + } + }, + "nvidia": { + "id": "nvidia", + "env": ["NVIDIA_API_KEY"], + "npm": "@ai-sdk/openai-compatible", + "api": "https://integrate.api.nvidia.com/v1", + "name": "Nvidia", + "doc": "https://docs.api.nvidia.com/nim/", + "models": { + "upstage/solar-10_7b-instruct": { + "id": "upstage/solar-10_7b-instruct", + "name": "solar-10.7b-instruct", "attachment": false, - "reasoning": true, + "reasoning": false, "tool_call": true, - "temperature": false, - "knowledge": "2024-09-30", - "release_date": "2025-09-15", - "last_updated": "2025-09-15", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.25, "output": 10, "cache_read": 0.13 }, - "limit": { "context": 400000, "output": 128000 } + "temperature": true, + "release_date": "2024-06-05", + "last_updated": "2025-04-10", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 8192 + }, + "cost": { + "input": 0, + "output": 0 + } }, - "o4-mini": { - "id": "o4-mini", - "name": "o4-mini", - "family": "o-mini", + "black-forest-labs/flux_2-klein-4b": { + "id": "black-forest-labs/flux_2-klein-4b", + "name": "FLUX.2 Klein 4B", + "family": "flux", "attachment": false, - "reasoning": true, + "reasoning": false, + "tool_call": false, + "temperature": true, + "knowledge": "2025-06", + "release_date": "2026-01-14", + "last_updated": "2026-01-31", + "modalities": { + "input": ["image", "text"], + "output": ["image"] + }, + "open_weights": true, + "limit": { + "context": 40960, + "output": 40960 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "black-forest-labs/flux.1-dev": { + "id": "black-forest-labs/flux.1-dev", + "name": "FLUX.1-dev", + "family": "flux", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "knowledge": "2024-08", + "release_date": "2024-08-01", + "last_updated": "2025-09-05", + "modalities": { + "input": ["text"], + "output": ["image"] + }, + "open_weights": false, + "limit": { + "context": 4096, + "output": 0 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "black-forest-labs/flux_1-schnell": { + "id": "black-forest-labs/flux_1-schnell", + "name": "FLUX.1-schnell", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "temperature": false, + "knowledge": "2024-07", + "release_date": "2024-08-01", + "last_updated": "2026-02-04", + "modalities": { + "input": ["text"], + "output": ["image"] + }, + "open_weights": true, + "limit": { + "context": 77, + "input": 77, + "output": 0 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "black-forest-labs/flux_1-kontext-dev": { + "id": "black-forest-labs/flux_1-kontext-dev", + "name": "FLUX.1-Kontext-dev", + "attachment": true, + "reasoning": false, "tool_call": false, "temperature": false, - "knowledge": "2024-09", - "release_date": "2025-09-15", - "last_updated": "2025-09-15", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.5, "output": 6, "cache_read": 0.75 }, - "limit": { "context": 200000, "output": 65536 } + "release_date": "2025-08-12", + "last_updated": "2025-08-12", + "modalities": { + "input": ["text", "image"], + "output": ["image"] + }, + "open_weights": true, + "limit": { + "context": 40960, + "output": 40960 + }, + "cost": { + "input": 0, + "output": 0 + } }, - "claude-haiku-4-5": { - "id": "claude-haiku-4-5", - "name": "Claude Haiku 4.5", - "family": "claude-haiku", + "stepfun-ai/step-3.5-flash": { + "id": "stepfun-ai/step-3.5-flash", + "name": "Step 3.5 Flash", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2026-02-02", + "last_updated": "2026-02-02", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 256000, + "output": 16384 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "mistralai/mistral-large-3-675b-instruct-2512": { + "id": "mistralai/mistral-large-3-675b-instruct-2512", + "name": "Mistral Large 3 675B Instruct 2512", + "family": "mistral-large", + "attachment": true, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2025-12-02", + "last_updated": "2025-12-02", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 262144 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "mistralai/devstral-2-123b-instruct-2512": { + "id": "mistralai/devstral-2-123b-instruct-2512", + "name": "Devstral-2-123B-Instruct-2512", + "family": "devstral", "attachment": true, "reasoning": true, "tool_call": true, + "structured_output": true, "temperature": true, - "knowledge": "2025-07-31", - "release_date": "2025-09-29", - "last_updated": "2025-09-29", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.1, "output": 5.5, "cache_read": 0.11, "cache_write": 1.25 }, - "limit": { "context": 200000, "output": 64000 } - }, - "gpt-5.1-codex": { - "id": "gpt-5.1-codex", - "name": "GPT-5.1 Codex", - "family": "gpt-codex", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-11", - "release_date": "2025-11-15", - "last_updated": "2025-11-15", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.25, "output": 10, "cache_read": 0.13 }, - "limit": { "context": 400000, "output": 128000 } - }, - "minimax-m2.5": { - "id": "minimax-m2.5", - "name": "MiniMax-M2.5", - "family": "minimax", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2026-02-12", - "last_updated": "2026-02-12", - "modalities": { "input": ["text"], "output": ["text"] }, + "knowledge": "2025-12", + "release_date": "2025-12-08", + "last_updated": "2025-12-09", + "modalities": { + "input": ["text"], + "output": ["text"] + }, "open_weights": true, - "cost": { "input": 0.29, "output": 1.15 }, - "limit": { "context": 204800, "output": 131072 } - } - } - }, - "minimax-cn-coding-plan": { - "id": "minimax-cn-coding-plan", - "env": ["MINIMAX_API_KEY"], - "npm": "@ai-sdk/anthropic", - "api": "https://api.minimaxi.com/anthropic/v1", - "name": "MiniMax Coding Plan (minimaxi.com)", - "doc": "https://platform.minimaxi.com/docs/coding-plan/intro", - "models": { - "MiniMax-M2.7": { - "id": "MiniMax-M2.7", - "name": "MiniMax-M2.7", - "family": "minimax", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2026-03-18", - "last_updated": "2026-03-18", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0, "cache_read": 0, "cache_write": 0 }, - "limit": { "context": 204800, "output": 131072 } + "limit": { + "context": 262144, + "output": 262144 + }, + "cost": { + "input": 0, + "output": 0 + } }, - "MiniMax-M2.1": { - "id": "MiniMax-M2.1", - "name": "MiniMax-M2.1", - "family": "minimax", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2025-12-23", - "last_updated": "2025-12-23", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 204800, "output": 131072 } - }, - "MiniMax-M2.5": { - "id": "MiniMax-M2.5", - "name": "MiniMax-M2.5", - "family": "minimax", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2026-02-12", - "last_updated": "2026-02-12", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0, "cache_read": 0, "cache_write": 0 }, - "limit": { "context": 204800, "output": 131072 } - }, - "MiniMax-M2": { - "id": "MiniMax-M2", - "name": "MiniMax-M2", - "family": "minimax", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2025-10-27", - "last_updated": "2025-10-27", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 196608, "output": 128000 } - }, - "MiniMax-M2.5-highspeed": { - "id": "MiniMax-M2.5-highspeed", - "name": "MiniMax-M2.5-highspeed", - "family": "minimax", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2026-02-13", - "last_updated": "2026-02-13", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0, "cache_read": 0, "cache_write": 0 }, - "limit": { "context": 204800, "output": 131072 } - }, - "MiniMax-M2.7-highspeed": { - "id": "MiniMax-M2.7-highspeed", - "name": "MiniMax-M2.7-highspeed", - "family": "minimax", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2026-03-18", - "last_updated": "2026-03-18", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0, "cache_read": 0, "cache_write": 0 }, - "limit": { "context": 204800, "output": 131072 } - } - } - }, - "ovhcloud": { - "id": "ovhcloud", - "env": ["OVHCLOUD_API_KEY"], - "npm": "@ai-sdk/openai-compatible", - "api": "https://oai.endpoints.kepler.ai.cloud.ovh.net/v1", - "name": "OVHcloud AI Endpoints", - "doc": "https://www.ovhcloud.com/en/public-cloud/ai-endpoints/catalog//", - "models": { - "qwen3-coder-30b-a3b-instruct": { - "id": "qwen3-coder-30b-a3b-instruct", - "name": "Qwen3-Coder-30B-A3B-Instruct", + "mistralai/mistral-nemotron": { + "id": "mistralai/mistral-nemotron", + "name": "mistral-nemotron", "attachment": false, "reasoning": false, "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-10-28", - "last_updated": "2025-10-28", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.07, "output": 0.26 }, - "limit": { "context": 262144, "output": 262144 } - }, - "mistral-nemo-instruct-2407": { - "id": "mistral-nemo-instruct-2407", - "name": "Mistral-Nemo-Instruct-2407", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2024-11-20", - "last_updated": "2024-11-20", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.14, "output": 0.14 }, - "limit": { "context": 65536, "output": 65536 } - }, - "deepseek-r1-distill-llama-70b": { - "id": "deepseek-r1-distill-llama-70b", - "name": "DeepSeek-R1-Distill-Llama-70B", - "attachment": false, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-01-30", - "last_updated": "2025-01-30", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.74, "output": 0.74 }, - "limit": { "context": 131072, "output": 131072 } - }, - "llama-3.1-8b-instruct": { - "id": "llama-3.1-8b-instruct", - "name": "Llama-3.1-8B-Instruct", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, "temperature": true, "release_date": "2025-06-11", - "last_updated": "2025-06-11", - "modalities": { "input": ["text"], "output": ["text"] }, + "last_updated": "2025-06-12", + "modalities": { + "input": ["text"], + "output": ["text"] + }, "open_weights": true, - "cost": { "input": 0.11, "output": 0.11 }, - "limit": { "context": 131072, "output": 131072 } + "limit": { + "context": 128000, + "output": 8192 + }, + "cost": { + "input": 0, + "output": 0 + } }, - "gpt-oss-120b": { - "id": "gpt-oss-120b", - "name": "gpt-oss-120b", - "attachment": false, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "release_date": "2025-08-28", - "last_updated": "2025-08-28", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.09, "output": 0.47 }, - "limit": { "context": 131072, "output": 131072 } - }, - "qwen2.5-coder-32b-instruct": { - "id": "qwen2.5-coder-32b-instruct", - "name": "Qwen2.5-Coder-32B-Instruct", + "mistralai/mixtral-8x22b-instruct": { + "id": "mistralai/mixtral-8x22b-instruct", + "name": "Mistral: Mixtral 8x22B Instruct", "attachment": false, "reasoning": false, - "tool_call": false, - "structured_output": true, + "tool_call": true, "temperature": true, - "release_date": "2025-03-24", - "last_updated": "2025-03-24", - "modalities": { "input": ["text"], "output": ["text"] }, + "release_date": "2024-04-17", + "last_updated": "2024-04-17", + "modalities": { + "input": ["text"], + "output": ["text"] + }, "open_weights": true, - "cost": { "input": 0.96, "output": 0.96 }, - "limit": { "context": 32768, "output": 32768 } + "limit": { + "context": 65536, + "output": 13108 + }, + "cost": { + "input": 0, + "output": 0 + } }, - "qwen2.5-vl-72b-instruct": { - "id": "qwen2.5-vl-72b-instruct", - "name": "Qwen2.5-VL-72B-Instruct", + "mistralai/mistral-medium-3-instruct": { + "id": "mistralai/mistral-medium-3-instruct", + "name": "Mistral Medium 3", + "family": "mistral-medium", "attachment": true, "reasoning": false, "tool_call": false, - "structured_output": true, - "temperature": true, - "release_date": "2025-03-31", - "last_updated": "2025-03-31", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 1.01, "output": 1.01 }, - "limit": { "context": 32768, "output": 32768 } + "structured_output": false, + "release_date": "2025-09-25", + "last_updated": "2025-09-25", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 131072, + "input": 131072, + "output": 32768 + }, + "cost": { + "input": 0, + "output": 0 + } }, - "mistral-7b-instruct-v0.3": { - "id": "mistral-7b-instruct-v0.3", + "mistralai/mixtral-8x7b-instruct": { + "id": "mistralai/mixtral-8x7b-instruct", + "name": "Mistral: Mixtral 8x7B Instruct", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "release_date": "2023-12-10", + "last_updated": "2026-03-15", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 32768, + "output": 16384 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "mistralai/magistral-small-2506": { + "id": "mistralai/magistral-small-2506", + "name": "Magistral Small 2506", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "release_date": "2025-09-25", + "last_updated": "2025-09-25", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 32768, + "input": 32768, + "output": 32768 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "mistralai/mistral-7b-instruct-v03": { + "id": "mistralai/mistral-7b-instruct-v03", "name": "Mistral-7B-Instruct-v0.3", "attachment": false, "reasoning": false, @@ -48816,2569 +80800,892 @@ "temperature": true, "release_date": "2025-04-01", "last_updated": "2025-04-01", - "modalities": { "input": ["text"], "output": ["text"] }, + "modalities": { + "input": ["text"], + "output": ["text"] + }, "open_weights": true, - "cost": { "input": 0.11, "output": 0.11 }, - "limit": { "context": 65536, "output": 65536 } + "limit": { + "context": 65536, + "output": 65536 + }, + "cost": { + "input": 0, + "output": 0 + } }, - "gpt-oss-20b": { - "id": "gpt-oss-20b", - "name": "gpt-oss-20b", - "attachment": false, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "release_date": "2025-08-28", - "last_updated": "2025-08-28", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.05, "output": 0.18 }, - "limit": { "context": 131072, "output": 131072 } - }, - "qwen3-32b": { - "id": "qwen3-32b", - "name": "Qwen3-32B", - "attachment": false, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-07-16", - "last_updated": "2025-07-16", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.09, "output": 0.25 }, - "limit": { "context": 32768, "output": 32768 } - }, - "mistral-small-3.2-24b-instruct-2506": { - "id": "mistral-small-3.2-24b-instruct-2506", - "name": "Mistral-Small-3.2-24B-Instruct-2506", - "attachment": true, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-07-16", - "last_updated": "2025-07-16", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.1, "output": 0.31 }, - "limit": { "context": 131072, "output": 131072 } - }, - "mixtral-8x7b-instruct-v0.1": { - "id": "mixtral-8x7b-instruct-v0.1", - "name": "Mixtral-8x7B-Instruct-v0.1", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": true, - "temperature": true, - "release_date": "2025-04-01", - "last_updated": "2025-04-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.7, "output": 0.7 }, - "limit": { "context": 32768, "output": 32768 } - }, - "meta-llama-3_3-70b-instruct": { - "id": "meta-llama-3_3-70b-instruct", - "name": "Meta-Llama-3_3-70B-Instruct", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-04-01", - "last_updated": "2025-04-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.74, "output": 0.74 }, - "limit": { "context": 131072, "output": 131072 } - } - } - }, - "minimax-cn": { - "id": "minimax-cn", - "env": ["MINIMAX_API_KEY"], - "npm": "@ai-sdk/anthropic", - "api": "https://api.minimaxi.com/anthropic/v1", - "name": "MiniMax (minimaxi.com)", - "doc": "https://platform.minimaxi.com/docs/guides/quickstart", - "models": { - "MiniMax-M2.7": { - "id": "MiniMax-M2.7", - "name": "MiniMax-M2.7", - "family": "minimax", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2026-03-18", - "last_updated": "2026-03-18", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.3, "output": 1.2, "cache_read": 0.06, "cache_write": 0.375 }, - "limit": { "context": 204800, "output": 131072 } - }, - "MiniMax-M2.1": { - "id": "MiniMax-M2.1", - "name": "MiniMax-M2.1", - "family": "minimax", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2025-12-23", - "last_updated": "2025-12-23", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.3, "output": 1.2 }, - "limit": { "context": 204800, "output": 131072 } - }, - "MiniMax-M2.5": { - "id": "MiniMax-M2.5", - "name": "MiniMax-M2.5", - "family": "minimax", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2026-02-12", - "last_updated": "2026-02-12", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.3, "output": 1.2, "cache_read": 0.03, "cache_write": 0.375 }, - "limit": { "context": 204800, "output": 131072 } - }, - "MiniMax-M2": { - "id": "MiniMax-M2", - "name": "MiniMax-M2", - "family": "minimax", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2025-10-27", - "last_updated": "2025-10-27", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.3, "output": 1.2 }, - "limit": { "context": 196608, "output": 128000 } - }, - "MiniMax-M2.5-highspeed": { - "id": "MiniMax-M2.5-highspeed", - "name": "MiniMax-M2.5-highspeed", - "family": "minimax", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2026-02-13", - "last_updated": "2026-02-13", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.6, "output": 2.4, "cache_read": 0.06, "cache_write": 0.375 }, - "limit": { "context": 204800, "output": 131072 } - }, - "MiniMax-M2.7-highspeed": { - "id": "MiniMax-M2.7-highspeed", - "name": "MiniMax-M2.7-highspeed", - "family": "minimax", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2026-03-18", - "last_updated": "2026-03-18", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.6, "output": 2.4, "cache_read": 0.06, "cache_write": 0.375 }, - "limit": { "context": 204800, "output": 131072 } - } - } - }, - "qihang-ai": { - "id": "qihang-ai", - "env": ["QIHANG_API_KEY"], - "npm": "@ai-sdk/openai-compatible", - "api": "https://api.qhaigc.net/v1", - "name": "QiHang", - "doc": "https://www.qhaigc.net/docs", - "models": { - "gpt-5.2-codex": { - "id": "gpt-5.2-codex", - "name": "GPT-5.2 Codex", - "family": "gpt-codex", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": false, - "knowledge": "2025-08-31", - "release_date": "2025-12-11", - "last_updated": "2025-12-11", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.14, "output": 1.14 }, - "limit": { "context": 400000, "input": 272000, "output": 128000 } - }, - "claude-opus-4-5-20251101": { - "id": "claude-opus-4-5-20251101", - "name": "Claude Opus 4.5", - "family": "claude-opus", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-03", - "release_date": "2025-11-01", - "last_updated": "2025-11-01", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.71, "output": 3.57 }, - "limit": { "context": 200000, "output": 32000 } - }, - "gemini-3-pro-preview": { - "id": "gemini-3-pro-preview", - "name": "Gemini 3 Pro Preview", - "family": "gemini-pro", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-11", - "release_date": "2025-11-19", - "last_updated": "2025-11-19", - "modalities": { "input": ["text", "image", "audio", "video"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.57, "output": 3.43 }, - "limit": { "context": 1000000, "output": 65000 } - }, - "gpt-5-mini": { - "id": "gpt-5-mini", - "name": "GPT-5-Mini", - "family": "gpt-mini", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2024-09-30", - "release_date": "2025-09-15", - "last_updated": "2025-09-15", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.04, "output": 0.29 }, - "limit": { "context": 200000, "output": 64000 } - }, - "claude-sonnet-4-5-20250929": { - "id": "claude-sonnet-4-5-20250929", - "name": "Claude Sonnet 4.5", - "family": "claude-sonnet", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-07-31", - "release_date": "2025-09-29", - "last_updated": "2025-09-29", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.43, "output": 2.14 }, - "limit": { "context": 200000, "output": 64000 } - }, - "gemini-3-flash-preview": { - "id": "gemini-3-flash-preview", - "name": "Gemini 3 Flash Preview", - "family": "gemini-flash", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2025-01", - "release_date": "2025-12-17", - "last_updated": "2025-12-17", - "modalities": { "input": ["text", "image", "video", "audio", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.07, "output": 0.43, "context_over_200k": { "input": 0.07, "output": 0.43 } }, - "limit": { "context": 1048576, "output": 65536 } - }, - "gemini-2.5-flash": { - "id": "gemini-2.5-flash", - "name": "Gemini 2.5 Flash", - "family": "gemini-flash", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2025-01", - "release_date": "2025-12-17", - "last_updated": "2025-12-17", - "modalities": { "input": ["text", "image", "video", "audio", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.09, "output": 0.71, "context_over_200k": { "input": 0.09, "output": 0.71 } }, - "limit": { "context": 1048576, "output": 65536 } - }, - "gpt-5.2": { - "id": "gpt-5.2", - "name": "GPT-5.2", - "family": "gpt", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2025-08-31", - "release_date": "2025-12-11", - "last_updated": "2025-12-11", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.25, "output": 2 }, - "limit": { "context": 400000, "input": 272000, "output": 128000 } - }, - "claude-haiku-4-5-20251001": { - "id": "claude-haiku-4-5-20251001", - "name": "Claude Haiku 4.5", - "family": "claude-haiku", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-07-31", - "release_date": "2025-10-01", - "last_updated": "2025-10-01", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.14, "output": 0.71 }, - "limit": { "context": 200000, "output": 64000 } - } - } - }, - "moonshotai": { - "id": "moonshotai", - "env": ["MOONSHOT_API_KEY"], - "npm": "@ai-sdk/openai-compatible", - "api": "https://api.moonshot.ai/v1", - "name": "Moonshot AI", - "doc": "https://platform.moonshot.ai/docs/api/chat", - "models": { - "kimi-k2-thinking": { - "id": "kimi-k2-thinking", - "name": "Kimi K2 Thinking", - "family": "kimi-thinking", - "attachment": false, - "reasoning": true, - "tool_call": true, - "interleaved": { "field": "reasoning_content" }, - "temperature": true, - "knowledge": "2024-08", - "release_date": "2025-11-06", - "last_updated": "2025-11-06", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.6, "output": 2.5, "cache_read": 0.15 }, - "limit": { "context": 262144, "output": 262144 } - }, - "kimi-k2.5": { - "id": "kimi-k2.5", - "name": "Kimi K2.5", - "family": "kimi", - "attachment": false, - "reasoning": true, - "tool_call": true, - "interleaved": { "field": "reasoning_content" }, - "structured_output": true, - "temperature": false, - "knowledge": "2025-01", - "release_date": "2026-01", - "last_updated": "2026-01", - "modalities": { "input": ["text", "image", "video"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.6, "output": 3, "cache_read": 0.1 }, - "limit": { "context": 262144, "output": 262144 } - }, - "kimi-k2-thinking-turbo": { - "id": "kimi-k2-thinking-turbo", - "name": "Kimi K2 Thinking Turbo", - "family": "kimi-thinking", - "attachment": false, - "reasoning": true, - "tool_call": true, - "interleaved": { "field": "reasoning_content" }, - "temperature": true, - "knowledge": "2024-08", - "release_date": "2025-11-06", - "last_updated": "2025-11-06", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 1.15, "output": 8, "cache_read": 0.15 }, - "limit": { "context": 262144, "output": 262144 } - }, - "kimi-k2-0905-preview": { - "id": "kimi-k2-0905-preview", - "name": "Kimi K2 0905", - "family": "kimi", + "mistralai/mistral-small-4-119b-2603": { + "id": "mistralai/mistral-small-4-119b-2603", + "name": "mistral-small-4-119b-2603", "attachment": false, "reasoning": false, "tool_call": true, "temperature": true, - "knowledge": "2024-10", - "release_date": "2025-09-05", - "last_updated": "2025-09-05", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.6, "output": 2.5, "cache_read": 0.15 }, - "limit": { "context": 262144, "output": 262144 } - }, - "kimi-k2-turbo-preview": { - "id": "kimi-k2-turbo-preview", - "name": "Kimi K2 Turbo", - "family": "kimi", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-10", - "release_date": "2025-09-05", - "last_updated": "2025-09-05", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 2.4, "output": 10, "cache_read": 0.6 }, - "limit": { "context": 262144, "output": 262144 } - }, - "kimi-k2-0711-preview": { - "id": "kimi-k2-0711-preview", - "name": "Kimi K2 0711", - "family": "kimi", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-10", - "release_date": "2025-07-14", - "last_updated": "2025-07-14", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.6, "output": 2.5, "cache_read": 0.15 }, - "limit": { "context": 131072, "output": 16384 } - } - } - }, - "alibaba": { - "id": "alibaba", - "env": ["DASHSCOPE_API_KEY"], - "npm": "@ai-sdk/openai-compatible", - "api": "https://dashscope-intl.aliyuncs.com/compatible-mode/v1", - "name": "Alibaba", - "doc": "https://www.alibabacloud.com/help/en/model-studio/models", - "models": { - "qwen2-5-72b-instruct": { - "id": "qwen2-5-72b-instruct", - "name": "Qwen2.5 72B Instruct", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-04", - "release_date": "2024-09", - "last_updated": "2024-09", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 1.4, "output": 5.6 }, - "limit": { "context": 131072, "output": 8192 } - }, - "qwen3-coder-30b-a3b-instruct": { - "id": "qwen3-coder-30b-a3b-instruct", - "name": "Qwen3-Coder 30B-A3B Instruct", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2025-04", - "release_date": "2025-04", - "last_updated": "2025-04", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.45, "output": 2.25 }, - "limit": { "context": 262144, "output": 65536 } - }, - "qwen3-8b": { - "id": "qwen3-8b", - "name": "Qwen3 8B", - "family": "qwen", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-04", - "release_date": "2025-04", - "last_updated": "2025-04", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.18, "output": 0.7, "reasoning": 2.1 }, - "limit": { "context": 131072, "output": 8192 } - }, - "qwen-mt-plus": { - "id": "qwen-mt-plus", - "name": "Qwen-MT Plus", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "knowledge": "2024-04", - "release_date": "2025-01", - "last_updated": "2025-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2.46, "output": 7.37 }, - "limit": { "context": 16384, "output": 8192 } - }, - "qwen3.5-plus": { - "id": "qwen3.5-plus", - "name": "Qwen3.5 Plus", - "family": "qwen", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-04", - "release_date": "2026-02-16", - "last_updated": "2026-02-16", - "modalities": { "input": ["text", "image", "video"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.4, "output": 2.4, "reasoning": 2.4 }, - "limit": { "context": 1000000, "output": 65536 } - }, - "qwen2-5-omni-7b": { - "id": "qwen2-5-omni-7b", - "name": "Qwen2.5-Omni 7B", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-04", - "release_date": "2024-12", - "last_updated": "2024-12", - "modalities": { "input": ["text", "image", "audio", "video"], "output": ["text", "audio"] }, - "open_weights": true, - "cost": { "input": 0.1, "output": 0.4, "input_audio": 6.76 }, - "limit": { "context": 32768, "output": 2048 } - }, - "qwen-turbo": { - "id": "qwen-turbo", - "name": "Qwen Turbo", - "family": "qwen", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2024-04", - "release_date": "2024-11-01", - "last_updated": "2025-04-28", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.05, "output": 0.2, "reasoning": 0.5 }, - "limit": { "context": 1000000, "output": 16384 } - }, - "qwen-vl-max": { - "id": "qwen-vl-max", - "name": "Qwen-VL Max", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-04", - "release_date": "2024-04-08", - "last_updated": "2025-08-13", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.8, "output": 3.2 }, - "limit": { "context": 131072, "output": 8192 } - }, - "qwen-omni-turbo-realtime": { - "id": "qwen-omni-turbo-realtime", - "name": "Qwen-Omni Turbo Realtime", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-04", - "release_date": "2025-05-08", - "last_updated": "2025-05-08", - "modalities": { "input": ["text", "image", "audio"], "output": ["text", "audio"] }, - "open_weights": false, - "cost": { "input": 0.27, "output": 1.07, "input_audio": 4.44, "output_audio": 8.89 }, - "limit": { "context": 32768, "output": 2048 } - }, - "qwen-vl-plus": { - "id": "qwen-vl-plus", - "name": "Qwen-VL Plus", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-04", - "release_date": "2024-01-25", - "last_updated": "2025-08-15", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.21, "output": 0.63 }, - "limit": { "context": 131072, "output": 8192 } - }, - "qwen-max": { - "id": "qwen-max", - "name": "Qwen Max", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-04", - "release_date": "2024-04-03", - "last_updated": "2025-01-25", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.6, "output": 6.4 }, - "limit": { "context": 32768, "output": 8192 } - }, - "qvq-max": { - "id": "qvq-max", - "name": "QVQ Max", - "family": "qvq", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2024-04", - "release_date": "2025-03-25", - "last_updated": "2025-03-25", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.2, "output": 4.8 }, - "limit": { "context": 131072, "output": 8192 } - }, - "qwen-plus-character-ja": { - "id": "qwen-plus-character-ja", - "name": "Qwen Plus Character (Japanese)", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-04", - "release_date": "2024-01", - "last_updated": "2024-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.5, "output": 1.4 }, - "limit": { "context": 8192, "output": 512 } - }, - "qwq-plus": { - "id": "qwq-plus", - "name": "QwQ Plus", - "family": "qwen", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2024-04", - "release_date": "2025-03-05", - "last_updated": "2025-03-05", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.8, "output": 2.4 }, - "limit": { "context": 131072, "output": 8192 } - }, - "qwen3-omni-flash": { - "id": "qwen3-omni-flash", - "name": "Qwen3-Omni Flash", - "family": "qwen", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2024-04", - "release_date": "2025-09-15", - "last_updated": "2025-09-15", - "modalities": { "input": ["text", "image", "audio", "video"], "output": ["text", "audio"] }, - "open_weights": false, - "cost": { "input": 0.43, "output": 1.66, "input_audio": 3.81, "output_audio": 15.11 }, - "limit": { "context": 65536, "output": 16384 } - }, - "qwen3-14b": { - "id": "qwen3-14b", - "name": "Qwen3 14B", - "family": "qwen", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-04", - "release_date": "2025-04", - "last_updated": "2025-04", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.35, "output": 1.4, "reasoning": 4.2 }, - "limit": { "context": 131072, "output": 8192 } - }, - "qwen-plus": { - "id": "qwen-plus", - "name": "Qwen Plus", - "family": "qwen", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2024-04", - "release_date": "2024-01-25", - "last_updated": "2025-09-11", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.4, "output": 1.2, "reasoning": 4 }, - "limit": { "context": 1000000, "output": 32768 } - }, - "qwen2-5-7b-instruct": { - "id": "qwen2-5-7b-instruct", - "name": "Qwen2.5 7B Instruct", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-04", - "release_date": "2024-09", - "last_updated": "2024-09", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.175, "output": 0.7 }, - "limit": { "context": 131072, "output": 8192 } - }, - "qwen2-5-32b-instruct": { - "id": "qwen2-5-32b-instruct", - "name": "Qwen2.5 32B Instruct", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-04", - "release_date": "2024-09", - "last_updated": "2024-09", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.7, "output": 2.8 }, - "limit": { "context": 131072, "output": 8192 } - }, - "qwen3-omni-flash-realtime": { - "id": "qwen3-omni-flash-realtime", - "name": "Qwen3-Omni Flash Realtime", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-04", - "release_date": "2025-09-15", - "last_updated": "2025-09-15", - "modalities": { "input": ["text", "image", "audio", "video"], "output": ["text", "audio"] }, - "open_weights": false, - "cost": { "input": 0.52, "output": 1.99, "input_audio": 4.57, "output_audio": 18.13 }, - "limit": { "context": 65536, "output": 16384 } - }, - "qwen3-coder-480b-a35b-instruct": { - "id": "qwen3-coder-480b-a35b-instruct", - "name": "Qwen3-Coder 480B-A35B Instruct", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2025-04", - "release_date": "2025-04", - "last_updated": "2025-04", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 1.5, "output": 7.5 }, - "limit": { "context": 262144, "output": 65536 } - }, - "qwen3-next-80b-a3b-thinking": { - "id": "qwen3-next-80b-a3b-thinking", - "name": "Qwen3-Next 80B-A3B (Thinking)", - "family": "qwen", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-04", - "release_date": "2025-09", - "last_updated": "2025-09", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.5, "output": 6 }, - "limit": { "context": 131072, "output": 32768 } - }, - "qwen3-vl-30b-a3b": { - "id": "qwen3-vl-30b-a3b", - "name": "Qwen3-VL 30B-A3B", - "family": "qwen", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-04", - "release_date": "2025-04", - "last_updated": "2025-04", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.2, "output": 0.8, "reasoning": 2.4 }, - "limit": { "context": 131072, "output": 32768 } - }, - "qwen3-next-80b-a3b-instruct": { - "id": "qwen3-next-80b-a3b-instruct", - "name": "Qwen3-Next 80B-A3B Instruct", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2025-04", - "release_date": "2025-09", - "last_updated": "2025-09", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.5, "output": 2 }, - "limit": { "context": 131072, "output": 32768 } - }, - "qwen-mt-turbo": { - "id": "qwen-mt-turbo", - "name": "Qwen-MT Turbo", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "knowledge": "2024-04", - "release_date": "2025-01", - "last_updated": "2025-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.16, "output": 0.49 }, - "limit": { "context": 16384, "output": 8192 } - }, - "qwen3-vl-plus": { - "id": "qwen3-vl-plus", - "name": "Qwen3-VL Plus", - "family": "qwen", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-04", - "release_date": "2025-09-23", - "last_updated": "2025-09-23", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.2, "output": 1.6, "reasoning": 4.8 }, - "limit": { "context": 262144, "output": 32768 } - }, - "qwen3-235b-a22b": { - "id": "qwen3-235b-a22b", - "name": "Qwen3 235B-A22B", - "family": "qwen", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-04", - "release_date": "2025-04", - "last_updated": "2025-04", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.7, "output": 2.8, "reasoning": 8.4 }, - "limit": { "context": 131072, "output": 16384 } - }, - "qwen2-5-vl-7b-instruct": { - "id": "qwen2-5-vl-7b-instruct", - "name": "Qwen2.5-VL 7B Instruct", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-04", - "release_date": "2024-09", - "last_updated": "2024-09", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.35, "output": 1.05 }, - "limit": { "context": 131072, "output": 8192 } - }, - "qwen-vl-ocr": { - "id": "qwen-vl-ocr", - "name": "Qwen-VL OCR", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "knowledge": "2024-04", - "release_date": "2024-10-28", - "last_updated": "2025-04-13", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.72, "output": 0.72 }, - "limit": { "context": 34096, "output": 4096 } - }, - "qwen-omni-turbo": { - "id": "qwen-omni-turbo", - "name": "Qwen-Omni Turbo", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-04", - "release_date": "2025-01-19", - "last_updated": "2025-03-26", - "modalities": { "input": ["text", "image", "audio", "video"], "output": ["text", "audio"] }, - "open_weights": false, - "cost": { "input": 0.07, "output": 0.27, "input_audio": 4.44, "output_audio": 8.89 }, - "limit": { "context": 32768, "output": 2048 } - }, - "qwen3.5-397b-a17b": { - "id": "qwen3.5-397b-a17b", - "name": "Qwen3.5 397B-A17B", - "family": "qwen", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-04", - "release_date": "2026-02-16", - "last_updated": "2026-02-16", - "modalities": { "input": ["text", "image", "video"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.6, "output": 3.6, "reasoning": 3.6 }, - "limit": { "context": 262144, "output": 65536 } - }, - "qwen3-livetranslate-flash-realtime": { - "id": "qwen3-livetranslate-flash-realtime", - "name": "Qwen3-LiveTranslate Flash Realtime", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "knowledge": "2024-04", - "release_date": "2025-09-22", - "last_updated": "2025-09-22", - "modalities": { "input": ["text", "image", "audio", "video"], "output": ["text", "audio"] }, - "open_weights": false, - "cost": { "input": 10, "output": 10, "input_audio": 10, "output_audio": 38 }, - "limit": { "context": 53248, "output": 4096 } - }, - "qwen3-coder-plus": { - "id": "qwen3-coder-plus", - "name": "Qwen3 Coder Plus", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2025-04", - "release_date": "2025-07-23", - "last_updated": "2025-07-23", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 1, "output": 5 }, - "limit": { "context": 1048576, "output": 65536 } - }, - "qwen-flash": { - "id": "qwen-flash", - "name": "Qwen Flash", - "family": "qwen", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2024-04", - "release_date": "2025-07-28", - "last_updated": "2025-07-28", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.05, "output": 0.4 }, - "limit": { "context": 1000000, "output": 32768 } - }, - "qwen3-max": { - "id": "qwen3-max", - "name": "Qwen3 Max", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2025-04", - "release_date": "2025-09-23", - "last_updated": "2025-09-23", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.2, "output": 6 }, - "limit": { "context": 262144, "output": 65536 } - }, - "qwen2-5-vl-72b-instruct": { - "id": "qwen2-5-vl-72b-instruct", - "name": "Qwen2.5-VL 72B Instruct", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-04", - "release_date": "2024-09", - "last_updated": "2024-09", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 2.8, "output": 8.4 }, - "limit": { "context": 131072, "output": 8192 } - }, - "qwen3-32b": { - "id": "qwen3-32b", - "name": "Qwen3 32B", - "family": "qwen", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-04", - "release_date": "2025-04", - "last_updated": "2025-04", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.7, "output": 2.8, "reasoning": 8.4 }, - "limit": { "context": 131072, "output": 16384 } - }, - "qwen3-asr-flash": { - "id": "qwen3-asr-flash", - "name": "Qwen3-ASR Flash", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": false, - "knowledge": "2024-04", - "release_date": "2025-09-08", - "last_updated": "2025-09-08", - "modalities": { "input": ["audio"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.035, "output": 0.035 }, - "limit": { "context": 53248, "output": 4096 } - }, - "qwen3-coder-flash": { - "id": "qwen3-coder-flash", - "name": "Qwen3 Coder Flash", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2025-04", - "release_date": "2025-07-28", - "last_updated": "2025-07-28", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.3, "output": 1.5 }, - "limit": { "context": 1000000, "output": 65536 } - }, - "qwen2-5-14b-instruct": { - "id": "qwen2-5-14b-instruct", - "name": "Qwen2.5 14B Instruct", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-04", - "release_date": "2024-09", - "last_updated": "2024-09", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.35, "output": 1.4 }, - "limit": { "context": 131072, "output": 8192 } - }, - "qwen3-vl-235b-a22b": { - "id": "qwen3-vl-235b-a22b", - "name": "Qwen3-VL 235B-A22B", - "family": "qwen", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-04", - "release_date": "2025-04", - "last_updated": "2025-04", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.7, "output": 2.8, "reasoning": 8.4 }, - "limit": { "context": 131072, "output": 32768 } - } - } - }, - "sap-ai-core": { - "id": "sap-ai-core", - "env": ["AICORE_SERVICE_KEY"], - "npm": "@jerome-benoit/sap-ai-provider-v2", - "name": "SAP AI Core", - "doc": "https://help.sap.com/docs/sap-ai-core", - "models": { - "gemini-2.5-flash-lite": { - "id": "gemini-2.5-flash-lite", - "name": "gemini-2.5-flash-lite", - "family": "gemini-flash-lite", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2025-01", - "release_date": "2025-06-17", - "last_updated": "2025-06-17", - "modalities": { "input": ["text", "image", "audio", "video", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.1, "output": 0.4, "cache_read": 0.025 }, - "limit": { "context": 1048576, "output": 65536 } - }, - "anthropic--claude-4.6-sonnet": { - "id": "anthropic--claude-4.6-sonnet", - "name": "anthropic--claude-4.6-sonnet", - "family": "claude-sonnet", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-08", - "release_date": "2026-02-17", - "last_updated": "2026-03-13", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 3, "output": 15, "cache_read": 0.3, "cache_write": 3.75 }, - "limit": { "context": 1000000, "output": 64000 } - }, - "anthropic--claude-4.5-haiku": { - "id": "anthropic--claude-4.5-haiku", - "name": "anthropic--claude-4.5-haiku", - "family": "claude-haiku", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-02-28", - "release_date": "2025-10-15", - "last_updated": "2025-10-15", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1, "output": 5, "cache_read": 0.1, "cache_write": 1.25 }, - "limit": { "context": 200000, "output": 64000 } - }, - "anthropic--claude-4-opus": { - "id": "anthropic--claude-4-opus", - "name": "anthropic--claude-4-opus", - "family": "claude-opus", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-03-31", - "release_date": "2025-05-22", - "last_updated": "2025-05-22", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 15, "output": 75, "cache_read": 1.5, "cache_write": 18.75 }, - "limit": { "context": 200000, "output": 32000 } - }, - "anthropic--claude-3-opus": { - "id": "anthropic--claude-3-opus", - "name": "anthropic--claude-3-opus", - "family": "claude-opus", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2023-08-31", - "release_date": "2024-02-29", - "last_updated": "2024-02-29", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 15, "output": 75, "cache_read": 1.5, "cache_write": 18.75 }, - "limit": { "context": 200000, "output": 4096 } - }, - "gpt-5": { - "id": "gpt-5", - "name": "gpt-5", - "family": "gpt", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": false, - "knowledge": "2024-09-30", - "release_date": "2025-08-07", - "last_updated": "2025-08-07", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.25, "output": 10, "cache_read": 0.125 }, - "limit": { "context": 400000, "output": 128000 } - }, - "anthropic--claude-3-sonnet": { - "id": "anthropic--claude-3-sonnet", - "name": "anthropic--claude-3-sonnet", - "family": "claude-sonnet", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2023-08-31", - "release_date": "2024-03-04", - "last_updated": "2024-03-04", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 3, "output": 15, "cache_read": 0.3, "cache_write": 3.75 }, - "limit": { "context": 200000, "output": 4096 } - }, - "anthropic--claude-4.5-opus": { - "id": "anthropic--claude-4.5-opus", - "name": "anthropic--claude-4.5-opus", - "family": "claude-opus", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-05", - "release_date": "2025-11-24", - "last_updated": "2025-11-24", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 5, "output": 25, "cache_read": 0.5, "cache_write": 6.25 }, - "limit": { "context": 200000, "output": 64000 } - }, - "anthropic--claude-3-haiku": { - "id": "anthropic--claude-3-haiku", - "name": "anthropic--claude-3-haiku", - "family": "claude-haiku", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2023-08-31", - "release_date": "2024-03-13", - "last_updated": "2024-03-13", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.25, "output": 1.25, "cache_read": 0.03, "cache_write": 0.3 }, - "limit": { "context": 200000, "output": 4096 } - }, - "gpt-5-mini": { - "id": "gpt-5-mini", - "name": "gpt-5-mini", - "family": "gpt-mini", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": false, - "knowledge": "2024-05-30", - "release_date": "2025-08-07", - "last_updated": "2025-08-07", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.25, "output": 2, "cache_read": 0.025 }, - "limit": { "context": 400000, "output": 128000 } - }, - "gpt-4.1": { - "id": "gpt-4.1", - "name": "gpt-4.1", - "family": "gpt", - "attachment": true, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2024-04", - "release_date": "2025-04-14", - "last_updated": "2025-04-14", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2, "output": 8, "cache_read": 0.5 }, - "limit": { "context": 1047576, "output": 32768 } - }, - "sonar-deep-research": { - "id": "sonar-deep-research", - "name": "sonar-deep-research", - "family": "sonar-deep-research", - "attachment": false, - "reasoning": true, - "tool_call": false, - "temperature": false, - "knowledge": "2025-01", - "release_date": "2025-02-01", - "last_updated": "2025-09-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2, "output": 8, "reasoning": 3 }, - "limit": { "context": 128000, "output": 32768 } - }, - "sonar": { - "id": "sonar", - "name": "sonar", - "family": "sonar", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "knowledge": "2025-09-01", - "release_date": "2024-01-01", - "last_updated": "2025-09-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1, "output": 1 }, - "limit": { "context": 128000, "output": 4096 } - }, - "anthropic--claude-4.5-sonnet": { - "id": "anthropic--claude-4.5-sonnet", - "name": "anthropic--claude-4.5-sonnet", - "family": "claude-sonnet", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-07-31", - "release_date": "2025-09-29", - "last_updated": "2025-09-29", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 3, "output": 15, "cache_read": 0.3, "cache_write": 3.75 }, - "limit": { "context": 200000, "output": 64000 } - }, - "anthropic--claude-3.7-sonnet": { - "id": "anthropic--claude-3.7-sonnet", - "name": "anthropic--claude-3.7-sonnet", - "family": "claude-sonnet", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2024-10-31", - "release_date": "2025-02-24", - "last_updated": "2025-02-24", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 3, "output": 15, "cache_read": 0.3, "cache_write": 3.75 }, - "limit": { "context": 200000, "output": 64000 } - }, - "gemini-2.5-pro": { - "id": "gemini-2.5-pro", - "name": "gemini-2.5-pro", - "family": "gemini-pro", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2025-01", - "release_date": "2025-03-25", - "last_updated": "2025-06-05", - "modalities": { "input": ["text", "image", "audio", "video", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.25, "output": 10, "cache_read": 0.125 }, - "limit": { "context": 1048576, "output": 65536 } - }, - "gemini-2.5-flash": { - "id": "gemini-2.5-flash", - "name": "gemini-2.5-flash", - "family": "gemini-flash", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2025-01", - "release_date": "2025-03-25", - "last_updated": "2025-06-05", - "modalities": { "input": ["text", "image", "audio", "video", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.3, "output": 2.5, "cache_read": 0.03, "input_audio": 1 }, - "limit": { "context": 1048576, "output": 65536 } - }, - "sonar-pro": { - "id": "sonar-pro", - "name": "sonar-pro", - "family": "sonar-pro", - "attachment": true, - "reasoning": false, - "tool_call": false, - "temperature": true, - "knowledge": "2025-09-01", - "release_date": "2024-01-01", - "last_updated": "2025-09-01", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 3, "output": 15 }, - "limit": { "context": 200000, "output": 8192 } - }, - "gpt-4.1-mini": { - "id": "gpt-4.1-mini", - "name": "gpt-4.1-mini", - "family": "gpt-mini", - "attachment": true, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2024-04", - "release_date": "2025-04-14", - "last_updated": "2025-04-14", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.4, "output": 1.6, "cache_read": 0.1 }, - "limit": { "context": 1047576, "output": 32768 } - }, - "gpt-5-nano": { - "id": "gpt-5-nano", - "name": "gpt-5-nano", - "family": "gpt-nano", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": false, - "knowledge": "2024-05-30", - "release_date": "2025-08-07", - "last_updated": "2025-08-07", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.05, "output": 0.4, "cache_read": 0.005 }, - "limit": { "context": 400000, "output": 128000 } - }, - "anthropic--claude-4.6-opus": { - "id": "anthropic--claude-4.6-opus", - "name": "anthropic--claude-4.6-opus", - "family": "claude-opus", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-05", - "release_date": "2026-02-05", - "last_updated": "2026-03-13", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 5, "output": 25, "cache_read": 0.5, "cache_write": 6.25 }, - "limit": { "context": 1000000, "output": 128000 } - }, - "anthropic--claude-3.5-sonnet": { - "id": "anthropic--claude-3.5-sonnet", - "name": "anthropic--claude-3.5-sonnet", - "family": "claude-sonnet", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-04-30", - "release_date": "2024-10-22", - "last_updated": "2024-10-22", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 3, "output": 15, "cache_read": 0.3, "cache_write": 3.75 }, - "limit": { "context": 200000, "output": 8192 } - }, - "anthropic--claude-4-sonnet": { - "id": "anthropic--claude-4-sonnet", - "name": "anthropic--claude-4-sonnet", - "family": "claude-sonnet", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-03-31", - "release_date": "2025-05-22", - "last_updated": "2025-05-22", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 3, "output": 15, "cache_read": 0.3, "cache_write": 3.75 }, - "limit": { "context": 200000, "output": 64000 } - } - } - }, - "mistral": { - "id": "mistral", - "env": ["MISTRAL_API_KEY"], - "npm": "@ai-sdk/mistral", - "name": "Mistral", - "doc": "https://docs.mistral.ai/getting-started/models/", - "models": { - "devstral-small-2505": { - "id": "devstral-small-2505", - "name": "Devstral Small 2505", - "family": "devstral", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2025-05", - "release_date": "2025-05-07", - "last_updated": "2025-05-07", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.1, "output": 0.3 }, - "limit": { "context": 128000, "output": 128000 } - }, - "pixtral-large-latest": { - "id": "pixtral-large-latest", - "name": "Pixtral Large (latest)", - "family": "pixtral", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-11", - "release_date": "2024-11-01", - "last_updated": "2024-11-04", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 2, "output": 6 }, - "limit": { "context": 128000, "output": 128000 } - }, - "mistral-small-2603": { - "id": "mistral-small-2603", - "name": "Mistral Small 4", - "family": "mistral-small", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-06", "release_date": "2026-03-16", "last_updated": "2026-03-16", - "modalities": { "input": ["text", "image"], "output": ["text"] }, + "modalities": { + "input": ["text"], + "output": ["text"] + }, "open_weights": true, - "cost": { "input": 0.15, "output": 0.6 }, - "limit": { "context": 256000, "output": 256000 } + "limit": { + "context": 128000, + "output": 8192 + }, + "cost": { + "input": 0, + "output": 0 + } }, - "ministral-3b-latest": { - "id": "ministral-3b-latest", - "name": "Ministral 3B (latest)", - "family": "ministral", + "sarvamai/sarvam-m": { + "id": "sarvamai/sarvam-m", + "name": "sarvam-m", "attachment": false, "reasoning": false, "tool_call": true, "temperature": true, - "knowledge": "2024-10", - "release_date": "2024-10-01", - "last_updated": "2024-10-04", - "modalities": { "input": ["text"], "output": ["text"] }, + "release_date": "2025-07-25", + "last_updated": "2025-07-25", + "modalities": { + "input": ["text"], + "output": ["text"] + }, "open_weights": true, - "cost": { "input": 0.04, "output": 0.04 }, - "limit": { "context": 128000, "output": 128000 } + "limit": { + "context": 128000, + "output": 8192 + }, + "cost": { + "input": 0, + "output": 0 + } }, - "magistral-small": { - "id": "magistral-small", - "name": "Magistral Small", - "family": "magistral-small", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-06", - "release_date": "2025-03-17", - "last_updated": "2025-03-17", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.5, "output": 1.5 }, - "limit": { "context": 128000, "output": 128000 } - }, - "devstral-2512": { - "id": "devstral-2512", - "name": "Devstral 2", - "family": "devstral", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2025-12", - "release_date": "2025-12-09", - "last_updated": "2025-12-09", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.4, "output": 2 }, - "limit": { "context": 262144, "output": 262144 } - }, - "codestral-latest": { - "id": "codestral-latest", - "name": "Codestral (latest)", - "family": "codestral", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-10", - "release_date": "2024-05-29", - "last_updated": "2025-01-04", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.3, "output": 0.9 }, - "limit": { "context": 256000, "output": 4096 } - }, - "mistral-large-latest": { - "id": "mistral-large-latest", - "name": "Mistral Large (latest)", - "family": "mistral-large", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-11", - "release_date": "2024-11-01", - "last_updated": "2025-12-02", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.5, "output": 1.5 }, - "limit": { "context": 262144, "output": 262144 } - }, - "devstral-medium-latest": { - "id": "devstral-medium-latest", - "name": "Devstral 2 (latest)", - "family": "devstral", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2025-12", - "release_date": "2025-12-02", - "last_updated": "2025-12-02", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.4, "output": 2 }, - "limit": { "context": 262144, "output": 262144 } - }, - "mistral-embed": { - "id": "mistral-embed", - "name": "Mistral Embed", - "family": "mistral-embed", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": false, - "release_date": "2023-12-11", - "last_updated": "2023-12-11", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.1, "output": 0 }, - "limit": { "context": 8000, "output": 3072 } - }, - "mistral-large-2411": { - "id": "mistral-large-2411", - "name": "Mistral Large 2.1", - "family": "mistral-large", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-11", - "release_date": "2024-11-01", - "last_updated": "2024-11-04", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 2, "output": 6 }, - "limit": { "context": 131072, "output": 16384 } - }, - "mistral-small-2506": { - "id": "mistral-small-2506", - "name": "Mistral Small 3.2", - "family": "mistral-small", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2025-03", - "release_date": "2025-06-20", - "last_updated": "2025-06-20", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.1, "output": 0.3 }, - "limit": { "context": 128000, "output": 16384 } - }, - "devstral-medium-2507": { - "id": "devstral-medium-2507", - "name": "Devstral Medium", - "family": "devstral", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2025-05", - "release_date": "2025-07-10", - "last_updated": "2025-07-10", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.4, "output": 2 }, - "limit": { "context": 128000, "output": 128000 } - }, - "magistral-medium-latest": { - "id": "magistral-medium-latest", - "name": "Magistral Medium (latest)", - "family": "magistral-medium", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-06", - "release_date": "2025-03-17", - "last_updated": "2025-03-20", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 2, "output": 5 }, - "limit": { "context": 128000, "output": 16384 } - }, - "labs-devstral-small-2512": { - "id": "labs-devstral-small-2512", - "name": "Devstral Small 2", - "family": "devstral", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2025-12", - "release_date": "2025-12-09", - "last_updated": "2025-12-09", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 256000, "output": 256000 } - }, - "mistral-medium-latest": { - "id": "mistral-medium-latest", - "name": "Mistral Medium (latest)", - "family": "mistral-medium", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2025-05", - "release_date": "2025-05-07", - "last_updated": "2025-05-10", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.4, "output": 2 }, - "limit": { "context": 128000, "output": 16384 } - }, - "mistral-medium-2505": { - "id": "mistral-medium-2505", - "name": "Mistral Medium 3", - "family": "mistral-medium", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2025-05", - "release_date": "2025-05-07", - "last_updated": "2025-05-07", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.4, "output": 2 }, - "limit": { "context": 131072, "output": 131072 } - }, - "mistral-nemo": { - "id": "mistral-nemo", - "name": "Mistral Nemo", - "family": "mistral-nemo", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-07", - "release_date": "2024-07-01", - "last_updated": "2024-07-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.15, "output": 0.15 }, - "limit": { "context": 128000, "output": 128000 } - }, - "open-mixtral-8x22b": { - "id": "open-mixtral-8x22b", - "name": "Mixtral 8x22B", - "family": "mixtral", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-04", - "release_date": "2024-04-17", - "last_updated": "2024-04-17", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 2, "output": 6 }, - "limit": { "context": 64000, "output": 64000 } - }, - "ministral-8b-latest": { - "id": "ministral-8b-latest", - "name": "Ministral 8B (latest)", - "family": "ministral", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-10", - "release_date": "2024-10-01", - "last_updated": "2024-10-04", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.1, "output": 0.1 }, - "limit": { "context": 128000, "output": 128000 } - }, - "open-mixtral-8x7b": { - "id": "open-mixtral-8x7b", - "name": "Mixtral 8x7B", - "family": "mixtral", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-01", - "release_date": "2023-12-11", - "last_updated": "2023-12-11", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.7, "output": 0.7 }, - "limit": { "context": 32000, "output": 32000 } - }, - "pixtral-12b": { - "id": "pixtral-12b", - "name": "Pixtral 12B", - "family": "pixtral", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-09", - "release_date": "2024-09-01", - "last_updated": "2024-09-01", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.15, "output": 0.15 }, - "limit": { "context": 128000, "output": 128000 } - }, - "mistral-small-latest": { - "id": "mistral-small-latest", - "name": "Mistral Small (latest)", - "family": "mistral-small", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-06", - "release_date": "2026-03-16", - "last_updated": "2026-03-16", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.15, "output": 0.6 }, - "limit": { "context": 256000, "output": 256000 } - }, - "open-mistral-7b": { - "id": "open-mistral-7b", - "name": "Mistral 7B", - "family": "mistral", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2023-12", - "release_date": "2023-09-27", - "last_updated": "2023-09-27", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.25, "output": 0.25 }, - "limit": { "context": 8000, "output": 8000 } - }, - "devstral-small-2507": { - "id": "devstral-small-2507", - "name": "Devstral Small", - "family": "devstral", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2025-05", - "release_date": "2025-07-10", - "last_updated": "2025-07-10", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.1, "output": 0.3 }, - "limit": { "context": 128000, "output": 128000 } - }, - "mistral-medium-2508": { - "id": "mistral-medium-2508", - "name": "Mistral Medium 3.1", - "family": "mistral-medium", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2025-05", - "release_date": "2025-08-12", - "last_updated": "2025-08-12", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.4, "output": 2 }, - "limit": { "context": 262144, "output": 262144 } - }, - "mistral-large-2512": { - "id": "mistral-large-2512", - "name": "Mistral Large 3", - "family": "mistral-large", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-11", - "release_date": "2024-11-01", - "last_updated": "2025-12-02", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.5, "output": 1.5 }, - "limit": { "context": 262144, "output": 262144 } - } - } - }, - "github-copilot": { - "id": "github-copilot", - "env": ["GITHUB_TOKEN"], - "npm": "@ai-sdk/openai-compatible", - "api": "https://api.githubcopilot.com", - "name": "GitHub Copilot", - "doc": "https://docs.github.com/en/copilot", - "models": { - "gpt-5.2-codex": { - "id": "gpt-5.2-codex", - "name": "GPT-5.2-Codex", - "family": "gpt-codex", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": false, - "knowledge": "2025-08-31", - "release_date": "2025-12-11", - "last_updated": "2025-12-11", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 400000, "input": 272000, "output": 128000 } - }, - "gpt-5.1-codex-mini": { - "id": "gpt-5.1-codex-mini", - "name": "GPT-5.1-Codex-mini", - "family": "gpt-codex", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": false, - "knowledge": "2024-09-30", - "release_date": "2025-11-13", - "last_updated": "2025-11-13", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 400000, "input": 128000, "output": 128000 } - }, - "claude-opus-4.6": { - "id": "claude-opus-4.6", - "name": "Claude Opus 4.6", - "family": "claude-opus", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-03-31", - "release_date": "2026-02-05", - "last_updated": "2026-02-05", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 144000, "input": 128000, "output": 64000 } - }, - "gpt-5.4-mini": { - "id": "gpt-5.4-mini", - "name": "GPT-5.4 mini", - "family": "gpt-mini", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": false, - "knowledge": "2025-08-31", - "release_date": "2026-03-17", - "last_updated": "2026-03-17", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 400000, "input": 272000, "output": 128000 } - }, - "gpt-5": { - "id": "gpt-5", - "name": "GPT-5", - "family": "gpt", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2024-10", - "release_date": "2025-08-07", - "last_updated": "2025-08-07", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 128000, "output": 128000 } - }, - "claude-haiku-4.5": { - "id": "claude-haiku-4.5", - "name": "Claude Haiku 4.5", - "family": "claude-haiku", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-02-28", - "release_date": "2025-10-15", - "last_updated": "2025-10-15", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 144000, "input": 128000, "output": 32000 } - }, - "gemini-3.1-pro-preview": { - "id": "gemini-3.1-pro-preview", - "name": "Gemini 3.1 Pro Preview", - "family": "gemini-pro", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2025-01", - "release_date": "2026-02-19", - "last_updated": "2026-02-19", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 128000, "input": 128000, "output": 64000 } - }, - "gemini-3-pro-preview": { - "id": "gemini-3-pro-preview", - "name": "Gemini 3 Pro Preview", - "family": "gemini-pro", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2025-01", - "release_date": "2025-11-18", - "last_updated": "2025-11-18", - "modalities": { "input": ["text", "image", "audio", "video"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 128000, "input": 128000, "output": 64000 } - }, - "gpt-4o": { - "id": "gpt-4o", - "name": "GPT-4o", - "family": "gpt", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2023-09", - "release_date": "2024-05-13", - "last_updated": "2024-05-13", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 128000, "input": 64000, "output": 4096 } - }, - "grok-code-fast-1": { - "id": "grok-code-fast-1", - "name": "Grok Code Fast 1", - "family": "grok", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-08", - "release_date": "2025-08-27", - "last_updated": "2025-08-27", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 128000, "input": 128000, "output": 64000 } - }, - "gpt-5.3-codex": { - "id": "gpt-5.3-codex", - "name": "GPT-5.3-Codex", - "family": "gpt-codex", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": false, - "knowledge": "2025-08-31", - "release_date": "2026-02-24", - "last_updated": "2026-02-24", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 400000, "input": 272000, "output": 128000 } - }, - "gpt-5-mini": { - "id": "gpt-5-mini", - "name": "GPT-5-mini", - "family": "gpt-mini", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2024-06", - "release_date": "2025-08-13", - "last_updated": "2025-08-13", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 264000, "input": 128000, "output": 64000 } - }, - "gpt-5.1-codex-max": { - "id": "gpt-5.1-codex-max", - "name": "GPT-5.1-Codex-max", - "family": "gpt-codex", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": false, - "knowledge": "2024-09-30", - "release_date": "2025-12-04", - "last_updated": "2025-12-04", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 400000, "input": 128000, "output": 128000 } - }, - "gpt-4.1": { - "id": "gpt-4.1", - "name": "GPT-4.1", - "family": "gpt", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-04", - "release_date": "2025-04-14", - "last_updated": "2025-04-14", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 128000, "input": 64000, "output": 16384 } - }, - "gpt-5.4": { - "id": "gpt-5.4", - "name": "GPT-5.4", - "family": "gpt", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": false, - "knowledge": "2025-08-31", - "release_date": "2026-03-05", - "last_updated": "2026-03-05", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 400000, "input": 272000, "output": 128000 } - }, - "gemini-3-flash-preview": { - "id": "gemini-3-flash-preview", - "name": "Gemini 3 Flash", - "family": "gemini-flash", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2025-01", - "release_date": "2025-12-17", - "last_updated": "2025-12-17", - "modalities": { "input": ["text", "image", "audio", "video"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 128000, "input": 128000, "output": 64000 } - }, - "claude-sonnet-4.6": { - "id": "claude-sonnet-4.6", - "name": "Claude Sonnet 4.6", - "family": "claude-sonnet", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2026-02-17", - "last_updated": "2026-02-17", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 200000, "input": 128000, "output": 32000 } - }, - "gemini-2.5-pro": { - "id": "gemini-2.5-pro", - "name": "Gemini 2.5 Pro", - "family": "gemini-pro", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2025-01", - "release_date": "2025-03-20", - "last_updated": "2025-06-05", - "modalities": { "input": ["text", "image", "audio", "video"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 128000, "input": 128000, "output": 64000 } - }, - "claude-sonnet-4": { - "id": "claude-sonnet-4", - "name": "Claude Sonnet 4", - "family": "claude-sonnet", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-03-31", - "release_date": "2025-05-22", - "last_updated": "2025-05-22", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 216000, "input": 128000, "output": 16000 } - }, - "gpt-5.2": { - "id": "gpt-5.2", - "name": "GPT-5.2", - "family": "gpt", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": false, - "knowledge": "2025-08-31", - "release_date": "2025-12-11", - "last_updated": "2025-12-11", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 264000, "input": 128000, "output": 64000 } - }, - "gpt-5.1": { - "id": "gpt-5.1", - "name": "GPT-5.1", - "family": "gpt", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": false, - "knowledge": "2024-09-30", - "release_date": "2025-11-13", - "last_updated": "2025-11-13", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 264000, "input": 128000, "output": 64000 } - }, - "claude-opus-4.5": { - "id": "claude-opus-4.5", - "name": "Claude Opus 4.5", - "family": "claude-opus", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-03-31", - "release_date": "2025-11-24", - "last_updated": "2025-08-01", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 160000, "input": 128000, "output": 32000 } - }, - "claude-opus-41": { - "id": "claude-opus-41", - "name": "Claude Opus 4.1", - "family": "claude-opus", - "attachment": true, - "reasoning": true, - "tool_call": false, - "temperature": true, - "knowledge": "2025-03-31", - "release_date": "2025-08-05", - "last_updated": "2025-08-05", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 80000, "output": 16000 } - }, - "claude-sonnet-4.5": { - "id": "claude-sonnet-4.5", - "name": "Claude Sonnet 4.5", - "family": "claude-sonnet", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-03-31", - "release_date": "2025-09-29", - "last_updated": "2025-09-29", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 144000, "input": 128000, "output": 32000 } - }, - "gpt-5.1-codex": { - "id": "gpt-5.1-codex", - "name": "GPT-5.1-Codex", - "family": "gpt-codex", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": false, - "knowledge": "2024-09-30", - "release_date": "2025-11-13", - "last_updated": "2025-11-13", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 400000, "input": 128000, "output": 128000 } - } - } - }, - "scaleway": { - "id": "scaleway", - "env": ["SCALEWAY_API_KEY"], - "npm": "@ai-sdk/openai-compatible", - "api": "https://api.scaleway.ai/v1", - "name": "Scaleway", - "doc": "https://www.scaleway.com/en/docs/generative-apis/", - "models": { - "qwen3-coder-30b-a3b-instruct": { - "id": "qwen3-coder-30b-a3b-instruct", - "name": "Qwen3-Coder 30B-A3B Instruct", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2025-04", - "release_date": "2025-04", - "last_updated": "2026-03-17", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.2, "output": 0.8 }, - "limit": { "context": 128000, "output": 32768 } - }, - "qwen3-235b-a22b-instruct-2507": { - "id": "qwen3-235b-a22b-instruct-2507", - "name": "Qwen3 235B A22B Instruct 2507", - "family": "qwen", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "release_date": "2025-07-01", - "last_updated": "2026-03-17", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.75, "output": 2.25 }, - "limit": { "context": 260000, "output": 16384 } - }, - "qwen3-embedding-8b": { - "id": "qwen3-embedding-8b", - "name": "Qwen3 Embedding 8B", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": false, - "release_date": "2025-25-11", - "last_updated": "2026-03-17", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.1, "output": 0 }, - "limit": { "context": 32768, "output": 4096 } - }, - "mistral-nemo-instruct-2407": { - "id": "mistral-nemo-instruct-2407", - "name": "Mistral Nemo Instruct 2407", - "family": "mistral-nemo", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "release_date": "2024-07-25", - "last_updated": "2026-03-17", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.2, "output": 0.2 }, - "limit": { "context": 128000, "output": 8192 } - }, - "deepseek-r1-distill-llama-70b": { - "id": "deepseek-r1-distill-llama-70b", - "name": "DeepSeek R1 Distill Llama 70B", - "family": "deepseek-thinking", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2024-07", - "release_date": "2025-01-20", - "last_updated": "2026-03-17", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.9, "output": 0.9 }, - "limit": { "context": 32000, "output": 8196 } - }, - "devstral-2-123b-instruct-2512": { - "id": "devstral-2-123b-instruct-2512", - "name": "Devstral 2 123B Instruct (2512)", - "family": "devstral", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "release_date": "2026-01-07", - "last_updated": "2026-03-17", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.4, "output": 2 }, - "limit": { "context": 256000, "output": 16384 } - }, - "llama-3.3-70b-instruct": { - "id": "llama-3.3-70b-instruct", - "name": "Llama-3.3-70B-Instruct", - "family": "llama", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2023-12", - "release_date": "2024-12-06", - "last_updated": "2026-03-17", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.9, "output": 0.9 }, - "limit": { "context": 100000, "output": 16384 } - }, - "gemma-3-27b-it": { - "id": "gemma-3-27b-it", - "name": "Gemma-3-27B-IT", - "family": "gemma", + "microsoft/phi-4-mini-instruct": { + "id": "microsoft/phi-4-mini-instruct", + "name": "Phi-4-Mini", + "family": "phi", "attachment": true, "reasoning": true, "tool_call": true, "temperature": true, "knowledge": "2024-12", "release_date": "2024-12-01", - "last_updated": "2026-03-17", - "modalities": { "input": ["text", "image"], "output": ["text"] }, + "last_updated": "2025-09-05", + "modalities": { + "input": ["text", "image", "audio"], + "output": ["text"] + }, "open_weights": false, - "cost": { "input": 0.25, "output": 0.5 }, - "limit": { "context": 40000, "output": 8192 } + "limit": { + "context": 131072, + "output": 8192 + }, + "cost": { + "input": 0, + "output": 0 + } }, - "llama-3.1-8b-instruct": { - "id": "llama-3.1-8b-instruct", - "name": "Llama 3.1 8B Instruct", - "family": "llama", + "microsoft/phi-4-multimodal-instruct": { + "id": "microsoft/phi-4-multimodal-instruct", + "name": "Phi 4 Multimodal", "attachment": false, "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2023-12", - "release_date": "2025-01-01", - "last_updated": "2026-03-17", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.2, "output": 0.2 }, - "limit": { "context": 128000, "output": 16384 } + "tool_call": false, + "structured_output": false, + "release_date": "2025-07-26", + "last_updated": "2025-07-26", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "input": 128000, + "output": 16384 + }, + "cost": { + "input": 0, + "output": 0 + } }, - "gpt-oss-120b": { - "id": "gpt-oss-120b", - "name": "GPT-OSS 120B", - "family": "gpt-oss", + "nvidia/nemotron-3-nano-omni-30b-a3b-reasoning": { + "id": "nvidia/nemotron-3-nano-omni-30b-a3b-reasoning", + "name": "Nemotron 3 Nano Omni", + "family": "nemotron", "attachment": true, - "reasoning": false, + "reasoning": true, "tool_call": true, + "structured_output": true, "temperature": true, - "release_date": "2024-01-01", - "last_updated": "2026-03-17", - "modalities": { "input": ["text"], "output": ["text"] }, + "release_date": "2026-04-28", + "last_updated": "2026-04-28", + "modalities": { + "input": ["text", "image", "video", "audio"], + "output": ["text"] + }, "open_weights": true, - "cost": { "input": 0.15, "output": 0.6 }, - "limit": { "context": 128000, "output": 32768 } + "limit": { + "context": 256000, + "output": 65536 + }, + "cost": { + "input": 0, + "output": 0 + } }, - "bge-multilingual-gemma2": { - "id": "bge-multilingual-gemma2", - "name": "BGE Multilingual Gemma2", - "family": "gemma", + "nvidia/usdvalidate": { + "id": "nvidia/usdvalidate", + "name": "usdvalidate", "attachment": false, "reasoning": false, "tool_call": false, "temperature": false, - "release_date": "2024-07-26", - "last_updated": "2025-06-15", - "modalities": { "input": ["text"], "output": ["text"] }, + "release_date": "2024-07-24", + "last_updated": "2025-01-08", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 0, + "output": 4096 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "nvidia/synthetic-video-detector": { + "id": "nvidia/synthetic-video-detector", + "name": "synthetic-video-detector", + "attachment": true, + "reasoning": false, + "tool_call": false, + "temperature": true, + "release_date": "2026-04-16", + "last_updated": "2026-04-16", + "modalities": { + "input": ["video"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 0, + "output": 4096 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "nvidia/cosmos-transfer1-7b": { + "id": "nvidia/cosmos-transfer1-7b", + "name": "cosmos-transfer1-7b", + "attachment": true, + "reasoning": false, + "tool_call": false, + "temperature": false, + "release_date": "2025-06-13", + "last_updated": "2025-06-30", + "modalities": { + "input": ["text", "image", "video"], + "output": ["video"] + }, + "open_weights": true, + "limit": { + "context": 0, + "output": 4096 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "nvidia/rerank-qa-mistral-4b": { + "id": "nvidia/rerank-qa-mistral-4b", + "name": "rerank-qa-mistral-4b", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": false, + "release_date": "2024-03-17", + "last_updated": "2025-01-17", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 4096 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "nvidia/nv-embedcode-7b-v1": { + "id": "nvidia/nv-embedcode-7b-v1", + "name": "nv-embedcode-7b-v1", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": false, + "release_date": "2025-03-17", + "last_updated": "2025-05-29", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 32768, + "output": 2048 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "nvidia/nemotron-3-super-120b-a12b": { + "id": "nvidia/nemotron-3-super-120b-a12b", + "name": "Nemotron 3 Super", + "family": "nemotron", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-04", + "release_date": "2026-03-11", + "last_updated": "2026-03-11", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 262144 + }, + "cost": { + "input": 0.2, + "output": 0.8 + } + }, + "nvidia/riva-translate-4b-instruct-v1_1": { + "id": "nvidia/riva-translate-4b-instruct-v1_1", + "name": "riva-translate-4b-instruct-v1_1", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": false, + "release_date": "2025-12-12", + "last_updated": "2025-12-12", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 4096 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "nvidia/nemotron-voicechat": { + "id": "nvidia/nemotron-voicechat", + "name": "nemotron-voicechat", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "release_date": "2026-03-16", + "last_updated": "2026-03-16", + "modalities": { + "input": ["text", "audio"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 8192 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "nvidia/llama-3_3-nemotron-super-49b-v1_5": { + "id": "nvidia/llama-3_3-nemotron-super-49b-v1_5", + "name": "Llama 3.3 Nemotron Super 49B v1.5", + "family": "nemotron", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2023-12", + "release_date": "2025-07-25", + "last_updated": "2025-07-25", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 131072 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "nvidia/usdcode": { + "id": "nvidia/usdcode", + "name": "usdcode", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "release_date": "2026-01-01", + "last_updated": "2026-01-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, "open_weights": false, - "cost": { "input": 0.1, "output": 0 }, - "limit": { "context": 8191, "output": 3072 } + "limit": { + "context": 128000, + "output": 4096 + }, + "cost": { + "input": 0, + "output": 0 + } }, - "pixtral-12b-2409": { - "id": "pixtral-12b-2409", - "name": "Pixtral 12B 2409", - "family": "pixtral", + "nvidia/llama-3_2-nemoretriever-300m-embed-v1": { + "id": "nvidia/llama-3_2-nemoretriever-300m-embed-v1", + "name": "llama-3_2-nemoretriever-300m-embed-v1", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": false, + "release_date": "2025-07-24", + "last_updated": "2025-07-24", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 32768, + "output": 2048 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "nvidia/llama-3_1-nemotron-safety-guard-8b-v3": { + "id": "nvidia/llama-3_1-nemotron-safety-guard-8b-v3", + "name": "llama-3.1-nemotron-safety-guard-8b-v3", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": false, + "release_date": "2025-10-28", + "last_updated": "2025-10-28", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 4096 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "nvidia/nv-embed-v1": { + "id": "nvidia/nv-embed-v1", + "name": "nv-embed-v1", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": false, + "release_date": "2024-06-07", + "last_updated": "2025-07-22", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 32768, + "output": 2048 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "nvidia/nemotron-3-nano-30b-a3b": { + "id": "nvidia/nemotron-3-nano-30b-a3b", + "name": "nemotron-3-nano-30b-a3b", + "family": "nemotron", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-09", + "release_date": "2024-12", + "last_updated": "2024-12", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 131072 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "nvidia/gliner-pii": { + "id": "nvidia/gliner-pii", + "name": "gliner-pii", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "release_date": "2026-03-03", + "last_updated": "2026-03-03", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 4096 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "nvidia/bevformer": { + "id": "nvidia/bevformer", + "name": "bevformer", "attachment": true, "reasoning": false, + "tool_call": false, + "temperature": true, + "release_date": "2025-03-18", + "last_updated": "2025-07-20", + "modalities": { + "input": ["video"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 8192 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "nvidia/nemotron-mini-4b-instruct": { + "id": "nvidia/nemotron-mini-4b-instruct", + "name": "nemotron-mini-4b-instruct", + "attachment": false, + "reasoning": false, "tool_call": true, "temperature": true, - "release_date": "2024-09-25", - "last_updated": "2026-03-17", - "modalities": { "input": ["text", "image"], "output": ["text"] }, + "release_date": "2024-08-21", + "last_updated": "2024-08-26", + "modalities": { + "input": ["text"], + "output": ["text"] + }, "open_weights": true, - "cost": { "input": 0.2, "output": 0.2 }, - "limit": { "context": 128000, "output": 4096 } + "limit": { + "context": 128000, + "output": 8192 + }, + "cost": { + "input": 0, + "output": 0 + } }, - "voxtral-small-24b-2507": { - "id": "voxtral-small-24b-2507", - "name": "Voxtral Small 24B 2507", - "family": "voxtral", + "nvidia/cosmos-predict1-5b": { + "id": "nvidia/cosmos-predict1-5b", + "name": "cosmos-predict1-5b", "attachment": true, "reasoning": false, + "tool_call": false, + "temperature": false, + "release_date": "2025-03-18", + "last_updated": "2025-03-18", + "modalities": { + "input": ["text", "image", "video"], + "output": ["video"] + }, + "open_weights": true, + "limit": { + "context": 0, + "output": 4096 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "nvidia/llama-3_3-nemotron-super-49b-v1": { + "id": "nvidia/llama-3_3-nemotron-super-49b-v1", + "name": "Llama 3.3 Nemotron Super 49B v1", + "family": "nemotron", + "attachment": false, + "reasoning": true, "tool_call": true, "temperature": true, - "release_date": "2025-07-01", - "last_updated": "2026-03-17", - "modalities": { "input": ["text", "audio"], "output": ["text"] }, + "knowledge": "2023-12", + "release_date": "2025-04-07", + "last_updated": "2025-04-07", + "modalities": { + "input": ["text"], + "output": ["text"] + }, "open_weights": true, - "cost": { "input": 0.15, "output": 0.35 }, - "limit": { "context": 32000, "output": 16384 } + "limit": { + "context": 131072, + "output": 131072 + }, + "cost": { + "input": 0, + "output": 0 + } }, - "whisper-large-v3": { - "id": "whisper-large-v3", + "nvidia/nvidia-nemotron-nano-9b-v2": { + "id": "nvidia/nvidia-nemotron-nano-9b-v2", + "name": "nvidia-nemotron-nano-9b-v2", + "family": "nemotron", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-09", + "release_date": "2025-08-18", + "last_updated": "2025-08-18", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 131072 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "nvidia/cosmos-transfer2_5-2b": { + "id": "nvidia/cosmos-transfer2_5-2b", + "name": "cosmos-transfer2.5-2b", + "attachment": true, + "reasoning": false, + "tool_call": false, + "temperature": false, + "release_date": "2026-02-26", + "last_updated": "2026-02-26", + "modalities": { + "input": ["text", "image", "video"], + "output": ["video"] + }, + "open_weights": true, + "limit": { + "context": 0, + "output": 4096 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "nvidia/nemotron-content-safety-reasoning-4b": { + "id": "nvidia/nemotron-content-safety-reasoning-4b", + "name": "nemotron-content-safety-reasoning-4b", + "attachment": false, + "reasoning": true, + "tool_call": false, + "temperature": false, + "release_date": "2026-01-22", + "last_updated": "2026-01-22", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 4096 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "nvidia/active-speaker-detection": { + "id": "nvidia/active-speaker-detection", + "name": "Active Speaker Detection", + "attachment": true, + "reasoning": false, + "tool_call": false, + "temperature": false, + "release_date": "2026-04-16", + "last_updated": "2026-04-16", + "modalities": { + "input": ["video"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 0, + "output": 4096 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "nvidia/magpie-tts-zeroshot": { + "id": "nvidia/magpie-tts-zeroshot", + "name": "magpie-tts-zeroshot", + "attachment": true, + "reasoning": false, + "tool_call": false, + "temperature": false, + "release_date": "2025-05-22", + "last_updated": "2025-06-12", + "modalities": { + "input": ["text", "audio"], + "output": ["audio"] + }, + "open_weights": true, + "limit": { + "context": 0, + "output": 4096 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "nvidia/streampetr": { + "id": "nvidia/streampetr", + "name": "streampetr", + "attachment": true, + "reasoning": false, + "tool_call": false, + "temperature": true, + "release_date": "2025-11-13", + "last_updated": "2025-11-13", + "modalities": { + "input": ["video"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 8192 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "nvidia/sparsedrive": { + "id": "nvidia/sparsedrive", + "name": "sparsedrive", + "attachment": true, + "reasoning": false, + "tool_call": false, + "temperature": true, + "release_date": "2025-03-18", + "last_updated": "2025-07-20", + "modalities": { + "input": ["video"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 8192 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "nvidia/nemotron-3-content-safety": { + "id": "nvidia/nemotron-3-content-safety", + "name": "nemotron-3-content-safety", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": false, + "release_date": "2026-04-16", + "last_updated": "2026-04-16", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 4096 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "nvidia/llama-nemotron-embed-vl-1b-v2": { + "id": "nvidia/llama-nemotron-embed-vl-1b-v2", + "name": "llama-nemotron-embed-vl-1b-v2", + "attachment": true, + "reasoning": false, + "tool_call": false, + "temperature": false, + "release_date": "2026-02-10", + "last_updated": "2026-02-10", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 32768, + "output": 2048 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "nvidia/studiovoice": { + "id": "nvidia/studiovoice", + "name": "studiovoice", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "release_date": "2024-10-03", + "last_updated": "2025-06-13", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 8192 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "nvidia/llama-nemotron-rerank-vl-1b-v2": { + "id": "nvidia/llama-nemotron-rerank-vl-1b-v2", + "name": "llama-nemotron-rerank-vl-1b-v2", + "attachment": true, + "reasoning": false, + "tool_call": false, + "temperature": false, + "release_date": "2026-03-31", + "last_updated": "2026-03-31", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 4096 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "deepseek-ai/deepseek-v3.2": { + "id": "deepseek-ai/deepseek-v3.2", + "name": "DeepSeek V3.2", + "family": "deepseek", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-07", + "release_date": "2025-12-01", + "last_updated": "2025-12-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 163840, + "output": 65536 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "deepseek-ai/deepseek-v3.1-terminus": { + "id": "deepseek-ai/deepseek-v3.1-terminus", + "name": "DeepSeek V3.1 Terminus", + "family": "deepseek", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2025-09-22", + "last_updated": "2025-09-22", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 8192 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "openai/whisper-large-v3": { + "id": "openai/whisper-large-v3", "name": "Whisper Large v3", "family": "whisper", "attachment": false, @@ -51387,11241 +81694,948 @@ "temperature": false, "knowledge": "2023-09", "release_date": "2023-09-01", - "last_updated": "2026-03-17", - "modalities": { "input": ["audio"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.003, "output": 0 }, - "limit": { "context": 0, "output": 8192 } - }, - "qwen3.5-397b-a17b": { - "id": "qwen3.5-397b-a17b", - "name": "Qwen3.5 397B A17B", - "family": "qwen", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-04", - "release_date": "2026-03-17", - "last_updated": "2026-03-17", - "modalities": { "input": ["text", "image", "video"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.6, "output": 3.6 }, - "limit": { "context": 256000, "output": 16384 } - }, - "mistral-small-3.2-24b-instruct-2506": { - "id": "mistral-small-3.2-24b-instruct-2506", - "name": "Mistral Small 3.2 24B Instruct (2506)", - "family": "mistral-small", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "release_date": "2025-06-20", - "last_updated": "2026-03-17", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.15, "output": 0.35 }, - "limit": { "context": 128000, "output": 32768 } - } - } - }, - "iflowcn": { - "id": "iflowcn", - "env": ["IFLOW_API_KEY"], - "npm": "@ai-sdk/openai-compatible", - "api": "https://apis.iflow.cn/v1", - "name": "iFlow", - "doc": "https://platform.iflow.cn/en/docs", - "models": { - "deepseek-r1": { - "id": "deepseek-r1", - "name": "DeepSeek-R1", - "family": "deepseek-thinking", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2024-12", - "release_date": "2025-01-20", - "last_updated": "2025-01-20", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 128000, "output": 32000 } - }, - "qwen3-max-preview": { - "id": "qwen3-max-preview", - "name": "Qwen3-Max-Preview", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-12", - "release_date": "2025-01-01", - "last_updated": "2025-01-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 256000, "output": 32000 } - }, - "deepseek-v3": { - "id": "deepseek-v3", - "name": "DeepSeek-V3", - "family": "deepseek", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-10", - "release_date": "2024-12-26", - "last_updated": "2024-12-26", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 128000, "output": 32000 } - }, - "kimi-k2-0905": { - "id": "kimi-k2-0905", - "name": "Kimi-K2-0905", - "family": "kimi", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-12", - "release_date": "2025-09-05", "last_updated": "2025-09-05", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 256000, "output": 64000 } - }, - "kimi-k2": { - "id": "kimi-k2", - "name": "Kimi-K2", - "family": "kimi", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-10", - "release_date": "2024-12-01", - "last_updated": "2024-12-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 128000, "output": 64000 } - }, - "qwen3-235b": { - "id": "qwen3-235b", - "name": "Qwen3-235B-A22B", - "family": "qwen", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2024-10", - "release_date": "2024-12-01", - "last_updated": "2024-12-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 128000, "output": 32000 } - }, - "glm-4.6": { - "id": "glm-4.6", - "name": "GLM-4.6", - "family": "glm", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2024-10", - "release_date": "2024-12-01", - "last_updated": "2025-11-13", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 200000, "output": 128000 } - }, - "qwen3-235b-a22b-instruct": { - "id": "qwen3-235b-a22b-instruct", - "name": "Qwen3-235B-A22B-Instruct", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2025-04", - "release_date": "2025-07-01", - "last_updated": "2025-07-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 256000, "output": 64000 } - }, - "qwen3-235b-a22b-thinking-2507": { - "id": "qwen3-235b-a22b-thinking-2507", - "name": "Qwen3-235B-A22B-Thinking", - "family": "qwen", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-04", - "release_date": "2025-07-01", - "last_updated": "2025-07-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 256000, "output": 64000 } - }, - "qwen3-vl-plus": { - "id": "qwen3-vl-plus", - "name": "Qwen3-VL-Plus", - "family": "qwen", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-12", - "release_date": "2025-01-01", - "last_updated": "2025-01-01", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 256000, "output": 32000 } - }, - "qwen3-coder-plus": { - "id": "qwen3-coder-plus", - "name": "Qwen3-Coder-Plus", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2025-04", - "release_date": "2025-07-01", - "last_updated": "2025-07-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 256000, "output": 64000 } - }, - "qwen3-max": { - "id": "qwen3-max", - "name": "Qwen3-Max", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-12", - "release_date": "2025-01-01", - "last_updated": "2025-01-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 256000, "output": 32000 } - }, - "qwen3-32b": { - "id": "qwen3-32b", - "name": "Qwen3-32B", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-10", - "release_date": "2024-12-01", - "last_updated": "2024-12-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 128000, "output": 32000 } - }, - "deepseek-v3.2": { - "id": "deepseek-v3.2", - "name": "DeepSeek-V3.2-Exp", - "family": "deepseek", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-12", - "release_date": "2025-01-01", - "last_updated": "2025-01-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 128000, "output": 64000 } - } - } - }, - "venice": { - "id": "venice", - "env": ["VENICE_API_KEY"], - "npm": "venice-ai-sdk-provider", - "name": "Venice AI", - "doc": "https://docs.venice.ai", - "models": { - "qwen3-235b-a22b-instruct-2507": { - "id": "qwen3-235b-a22b-instruct-2507", - "name": "Qwen 3 235B A22B Instruct 2507", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2025-07", - "release_date": "2025-04-29", - "last_updated": "2026-03-12", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.15, "output": 0.75 }, - "limit": { "context": 128000, "output": 16384 } - }, - "qwen3-coder-480b-a35b-instruct-turbo": { - "id": "qwen3-coder-480b-a35b-instruct-turbo", - "name": "Qwen 3 Coder 480B Turbo", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2026-01-27", - "last_updated": "2026-02-26", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.35, "output": 1.5, "cache_read": 0.04 }, - "limit": { "context": 256000, "output": 65536 } - }, - "aion-labs.aion-2-0": { - "id": "aion-labs.aion-2-0", - "name": "Aion 2.0", - "family": "o", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "release_date": "2026-03-24", - "last_updated": "2026-03-27", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1, "output": 2, "cache_read": 0.25 }, - "limit": { "context": 128000, "output": 32768 } - }, - "qwen3-next-80b": { - "id": "qwen3-next-80b", - "name": "Qwen 3 Next 80b", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2025-07", - "release_date": "2025-04-29", - "last_updated": "2026-03-12", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.35, "output": 1.9 }, - "limit": { "context": 256000, "output": 16384 } - }, - "kimi-k2-thinking": { - "id": "kimi-k2-thinking", - "name": "Kimi K2 Thinking", - "family": "kimi-thinking", - "attachment": false, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2024-04", - "release_date": "2025-12-10", - "last_updated": "2026-03-12", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.75, "output": 3.2, "cache_read": 0.375 }, - "limit": { "context": 256000, "output": 65536 } - }, - "zai-org-glm-4.7": { - "id": "zai-org-glm-4.7", - "name": "GLM 4.7", - "family": "glm", - "attachment": false, - "reasoning": true, - "tool_call": true, - "interleaved": { "field": "reasoning_content" }, - "structured_output": true, - "temperature": true, - "knowledge": "2025-04", - "release_date": "2025-12-24", - "last_updated": "2026-03-12", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.55, "output": 2.65, "cache_read": 0.11 }, - "limit": { "context": 198000, "output": 16384 } - }, - "openai-gpt-53-codex": { - "id": "openai-gpt-53-codex", - "name": "GPT-5.3 Codex", - "family": "gpt-codex", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2026-02-24", - "last_updated": "2026-03-12", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2.19, "output": 17.5, "cache_read": 0.219 }, - "limit": { "context": 400000, "output": 128000 } - }, - "qwen3-5-35b-a3b": { - "id": "qwen3-5-35b-a3b", - "name": "Qwen 3.5 35B A3B", - "family": "qwen", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2026-02-25", - "last_updated": "2026-03-09", - "modalities": { "input": ["text", "image", "video"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.3125, "output": 1.25, "cache_read": 0.15625 }, - "limit": { "context": 256000, "output": 65536 } - }, - "olafangensan-glm-4.7-flash-heretic": { - "id": "olafangensan-glm-4.7-flash-heretic", - "name": "GLM 4.7 Flash Heretic", - "family": "glm-flash", - "attachment": false, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2026-02-04", - "last_updated": "2026-03-12", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.14, "output": 0.8 }, - "limit": { "context": 200000, "output": 24000 } - }, - "grok-code-fast-1": { - "id": "grok-code-fast-1", - "name": "Grok Code Fast 1", - "family": "grok", - "attachment": false, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-12-01", - "last_updated": "2026-03-12", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.25, "output": 1.87, "cache_read": 0.03 }, - "limit": { "context": 256000, "output": 10000 } - }, - "openai-gpt-4o-2024-11-20": { - "id": "openai-gpt-4o-2024-11-20", - "name": "GPT-4o", - "family": "gpt", - "attachment": true, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2026-02-28", - "last_updated": "2026-03-06", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 3.125, "output": 12.5 }, - "limit": { "context": 128000, "output": 16384 } - }, - "grok-4-20-beta": { - "id": "grok-4-20-beta", - "name": "Grok 4.20 Beta", - "family": "grok-beta", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2026-03-12", - "last_updated": "2026-03-16", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { - "input": 2.5, - "output": 7.5, - "cache_read": 0.25, - "context_over_200k": { "input": 5, "output": 15, "cache_read": 0.25 } + "modalities": { + "input": ["audio"], + "output": ["text"] }, - "limit": { "context": 2000000, "output": 128000 } + "open_weights": true, + "limit": { + "context": 0, + "output": 4096 + }, + "cost": { + "input": 0, + "output": 0 + } }, - "grok-4-20-multi-agent-beta": { - "id": "grok-4-20-multi-agent-beta", - "name": "Grok 4.20 Multi-Agent Beta", - "family": "grok-beta", + "openai/gpt-oss-20b": { + "id": "openai/gpt-oss-20b", + "name": "GPT OSS 20B", + "family": "gpt-oss", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-08-05", + "last_updated": "2025-08-05", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 32768 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "openai/gpt-oss-120b": { + "id": "openai/gpt-oss-120b", + "name": "GPT-OSS-120B", + "family": "gpt-oss", "attachment": true, "reasoning": true, "tool_call": false, - "structured_output": true, "temperature": true, - "release_date": "2026-03-12", - "last_updated": "2026-03-16", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { - "input": 2.5, - "output": 7.5, - "cache_read": 0.25, - "context_over_200k": { "input": 5, "output": 15, "cache_read": 0.25 } + "knowledge": "2025-08", + "release_date": "2025-08-04", + "last_updated": "2025-08-14", + "modalities": { + "input": ["text"], + "output": ["text"] }, - "limit": { "context": 2000000, "output": 128000 } - }, - "claude-opus-4-6": { - "id": "claude-opus-4-6", - "name": "Claude Opus 4.6", - "family": "claude-opus", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2026-02-05", - "last_updated": "2026-03-16", - "modalities": { "input": ["text", "image"], "output": ["text"] }, "open_weights": false, - "cost": { "input": 6, "output": 30, "cache_read": 0.6, "cache_write": 7.5 }, - "limit": { "context": 1000000, "output": 128000 } + "limit": { + "context": 128000, + "output": 8192 + }, + "cost": { + "input": 0, + "output": 0 + } }, - "claude-sonnet-4-6": { - "id": "claude-sonnet-4-6", - "name": "Claude Sonnet 4.6", - "family": "claude-sonnet", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2026-02-17", - "last_updated": "2026-03-16", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 3.6, "output": 18, "cache_read": 0.36, "cache_write": 4.5 }, - "limit": { "context": 1000000, "output": 64000 } - }, - "openai-gpt-54-pro": { - "id": "openai-gpt-54-pro", - "name": "GPT-5.4 Pro", - "family": "gpt-pro", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2026-03-05", - "last_updated": "2026-03-09", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 37.5, "output": 225, "context_over_200k": { "input": 75, "output": 337.5 } }, - "limit": { "context": 1000000, "output": 128000 } - }, - "kimi-k2-5": { - "id": "kimi-k2-5", - "name": "Kimi K2.5", - "family": "kimi", - "attachment": true, - "reasoning": true, - "tool_call": true, - "interleaved": { "field": "reasoning_content" }, - "structured_output": true, - "temperature": true, - "knowledge": "2024-04", - "release_date": "2026-01-27", - "last_updated": "2026-03-16", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.56, "output": 3.5, "cache_read": 0.11 }, - "limit": { "context": 256000, "output": 65536 } - }, - "claude-opus-45": { - "id": "claude-opus-45", - "name": "Claude Opus 4.5", - "family": "claude-opus", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2025-03", - "release_date": "2025-12-06", - "last_updated": "2026-01-28", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 6, "output": 30, "cache_read": 0.6, "cache_write": 7.5 }, - "limit": { "context": 198000, "output": 49500 } - }, - "llama-3.2-3b": { - "id": "llama-3.2-3b", - "name": "Llama 3.2 3B", - "family": "llama", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2023-12", - "release_date": "2024-10-03", - "last_updated": "2026-03-12", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.15, "output": 0.6 }, - "limit": { "context": 128000, "output": 4096 } - }, - "qwen3-5-9b": { - "id": "qwen3-5-9b", - "name": "Qwen 3.5 9B", - "family": "qwen", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2026-03-05", - "last_updated": "2026-03-16", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.05, "output": 0.15 }, - "limit": { "context": 256000, "output": 65536 } - }, - "minimax-m27": { - "id": "minimax-m27", - "name": "MiniMax M2.7", + "minimaxai/minimax-m2.7": { + "id": "minimaxai/minimax-m2.7", + "name": "MiniMax-M2.7", "family": "minimax", "attachment": false, "reasoning": true, "tool_call": true, "temperature": true, "release_date": "2026-03-18", - "last_updated": "2026-03-18", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.375, "output": 1.5, "cache_read": 0.075 }, - "limit": { "context": 198000, "output": 32768 } - }, - "venice-uncensored": { - "id": "venice-uncensored", - "name": "Venice Uncensored 1.1", - "family": "venice", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": true, - "temperature": true, - "knowledge": "2023-10", - "release_date": "2025-03-18", - "last_updated": "2026-03-12", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.2, "output": 0.9 }, - "limit": { "context": 32000, "output": 8192 } - }, - "openai-gpt-oss-120b": { - "id": "openai-gpt-oss-120b", - "name": "OpenAI GPT OSS 120B", - "family": "gpt-oss", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2025-07", - "release_date": "2025-11-06", - "last_updated": "2026-03-12", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.07, "output": 0.3 }, - "limit": { "context": 128000, "output": 16384 } - }, - "gemini-3-flash-preview": { - "id": "gemini-3-flash-preview", - "name": "Gemini 3 Flash Preview", - "family": "gemini-flash", - "attachment": true, - "reasoning": true, - "tool_call": true, - "interleaved": { "field": "reasoning_content" }, - "structured_output": true, - "temperature": true, - "knowledge": "2025-01", - "release_date": "2025-12-19", - "last_updated": "2026-03-12", - "modalities": { "input": ["text", "image", "audio", "video", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.7, "output": 3.75, "cache_read": 0.07 }, - "limit": { "context": 256000, "output": 65536 } - }, - "openai-gpt-52": { - "id": "openai-gpt-52", - "name": "GPT-5.2", - "family": "gpt", - "attachment": false, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2025-08-31", - "release_date": "2025-12-13", - "last_updated": "2026-03-12", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2.19, "output": 17.5, "cache_read": 0.219 }, - "limit": { "context": 256000, "output": 65536 } - }, - "gemini-3-1-pro-preview": { - "id": "gemini-3-1-pro-preview", - "name": "Gemini 3.1 Pro Preview", - "family": "gemini-pro", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2026-02-19", - "last_updated": "2026-03-12", - "modalities": { "input": ["text", "image", "audio", "video"], "output": ["text"] }, - "open_weights": false, - "cost": { - "input": 2.5, - "output": 15, - "cache_read": 0.5, - "cache_write": 0.5, - "context_over_200k": { "input": 5, "output": 22.5, "cache_read": 0.5 } + "last_updated": "2026-04-11", + "modalities": { + "input": ["text"], + "output": ["text"] }, - "limit": { "context": 1000000, "output": 32768 } - }, - "qwen3-coder-480b-a35b-instruct": { - "id": "qwen3-coder-480b-a35b-instruct", - "name": "Qwen 3 Coder 480b", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2025-07", - "release_date": "2025-04-29", - "last_updated": "2026-03-12", - "modalities": { "input": ["text"], "output": ["text"] }, "open_weights": true, - "cost": { "input": 0.75, "output": 3 }, - "limit": { "context": 256000, "output": 65536 } + "limit": { + "context": 204800, + "output": 131072 + }, + "cost": { + "input": 0, + "output": 0 + } }, - "zai-org-glm-4.6": { - "id": "zai-org-glm-4.6", - "name": "GLM 4.6", + "minimaxai/minimax-m2.5": { + "id": "minimaxai/minimax-m2.5", + "name": "MiniMax-M2.5", + "family": "minimax", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-08", + "release_date": "2026-02-12", + "last_updated": "2026-02-12", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 204800, + "output": 131072 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "z-ai/glm4.7": { + "id": "z-ai/glm4.7", + "name": "GLM-4.7", "family": "glm", "attachment": false, - "reasoning": false, + "reasoning": true, "tool_call": true, - "interleaved": { "field": "reasoning_content" }, - "structured_output": true, + "interleaved": { + "field": "reasoning_content" + }, "temperature": true, - "release_date": "2024-04-01", - "last_updated": "2026-03-16", - "modalities": { "input": ["text"], "output": ["text"] }, + "knowledge": "2025-04", + "release_date": "2025-12-22", + "last_updated": "2025-12-22", + "modalities": { + "input": ["text"], + "output": ["text"] + }, "open_weights": true, - "cost": { "input": 0.85, "output": 2.75, "cache_read": 0.3 }, - "limit": { "context": 198000, "output": 16384 } + "limit": { + "context": 204800, + "output": 131072 + }, + "cost": { + "input": 0, + "output": 0 + } }, - "qwen3-235b-a22b-thinking-2507": { - "id": "qwen3-235b-a22b-thinking-2507", - "name": "Qwen 3 235B A22B Thinking 2507", - "family": "qwen", + "z-ai/glm-5.1": { + "id": "z-ai/glm-5.1", + "name": "GLM-5.1", + "family": "glm", "attachment": false, "reasoning": true, "tool_call": true, - "interleaved": { "field": "reasoning_content" }, + "interleaved": { + "field": "reasoning_content" + }, "structured_output": true, "temperature": true, - "knowledge": "2025-07", - "release_date": "2025-04-29", - "last_updated": "2026-03-12", - "modalities": { "input": ["text"], "output": ["text"] }, + "release_date": "2026-03-27", + "last_updated": "2026-03-27", + "modalities": { + "input": ["text"], + "output": ["text"] + }, "open_weights": true, - "cost": { "input": 0.45, "output": 3.5 }, - "limit": { "context": 128000, "output": 16384 } + "limit": { + "context": 131072, + "output": 131072 + }, + "cost": { + "input": 0, + "output": 0 + } }, - "google-gemma-3-27b-it": { - "id": "google-gemma-3-27b-it", - "name": "Google Gemma 3 27B Instruct", - "family": "gemma", - "attachment": true, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2025-07", - "release_date": "2025-11-04", - "last_updated": "2026-03-12", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.12, "output": 0.2 }, - "limit": { "context": 198000, "output": 16384 } - }, - "qwen3-4b": { - "id": "qwen3-4b", - "name": "Venice Small", - "family": "qwen", - "attachment": false, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2024-07", - "release_date": "2025-04-29", - "last_updated": "2026-03-12", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.05, "output": 0.15 }, - "limit": { "context": 32000, "output": 4096 } - }, - "hermes-3-llama-3.1-405b": { - "id": "hermes-3-llama-3.1-405b", - "name": "Hermes 3 Llama 3.1 405b", - "family": "hermes", + "meta/esm2-650m": { + "id": "meta/esm2-650m", + "name": "esm2-650m", "attachment": false, "reasoning": false, "tool_call": false, "temperature": true, - "knowledge": "2024-04", - "release_date": "2025-09-25", - "last_updated": "2026-03-12", - "modalities": { "input": ["text"], "output": ["text"] }, + "release_date": "2024-08-29", + "last_updated": "2025-03-10", + "modalities": { + "input": ["text"], + "output": ["text"] + }, "open_weights": true, - "cost": { "input": 1.1, "output": 3 }, - "limit": { "context": 128000, "output": 16384 } + "limit": { + "context": 128000, + "output": 8192 + }, + "cost": { + "input": 0, + "output": 0 + } }, - "claude-sonnet-45": { - "id": "claude-sonnet-45", - "name": "Claude Sonnet 4.5", - "family": "claude-sonnet", - "attachment": true, - "reasoning": true, + "meta/llama-3.3-70b-instruct": { + "id": "meta/llama-3.3-70b-instruct", + "name": "Llama 3.3 70b Instruct", + "attachment": false, + "reasoning": false, "tool_call": true, - "interleaved": { "field": "reasoning_content" }, "structured_output": true, "temperature": true, - "knowledge": "2025-09", - "release_date": "2025-01-15", - "last_updated": "2026-01-28", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 3.75, "output": 18.75, "cache_read": 0.375, "cache_write": 4.69 }, - "limit": { "context": 198000, "output": 49500 } + "release_date": "2024-11-26", + "last_updated": "2024-11-26", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 4096 + }, + "cost": { + "input": 0, + "output": 0 + } }, - "llama-3.3-70b": { - "id": "llama-3.3-70b", - "name": "Llama 3.3 70B", + "meta/esmfold": { + "id": "meta/esmfold", + "name": "esmfold", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "release_date": "2024-03-15", + "last_updated": "2025-06-12", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 8192 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "meta/llama-3.2-90b-vision-instruct": { + "id": "meta/llama-3.2-90b-vision-instruct", + "name": "Llama-3.2-90B-Vision-Instruct", + "family": "llama", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2023-12", + "release_date": "2024-09-25", + "last_updated": "2024-09-25", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 8192 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "meta/llama-3.2-11b-vision-instruct": { + "id": "meta/llama-3.2-11b-vision-instruct", + "name": "Llama 3.2 11b Vision Instruct", + "attachment": true, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2023-12", + "release_date": "2024-09-18", + "last_updated": "2024-09-18", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 4096 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "meta/llama-guard-4-12b": { + "id": "meta/llama-guard-4-12b", + "name": "Llama Guard 4 12B", + "family": "llama", + "attachment": true, + "reasoning": false, + "tool_call": false, + "temperature": true, + "release_date": "2025-04-05", + "last_updated": "2026-04-30", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 16384 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "meta/llama-3.1-70b-instruct": { + "id": "meta/llama-3.1-70b-instruct", + "name": "Llama 3.1 70b Instruct", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2024-07-16", + "last_updated": "2024-07-16", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 4096 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "meta/llama-3.2-1b-instruct": { + "id": "meta/llama-3.2-1b-instruct", + "name": "Llama 3.2 1b Instruct", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2023-12", + "release_date": "2024-09-18", + "last_updated": "2024-09-18", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 4096 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "meta/llama-4-maverick-17b-128e-instruct": { + "id": "meta/llama-4-maverick-17b-128e-instruct", + "name": "Llama 4 Maverick 17b 128e Instruct", + "attachment": true, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2024-02", + "release_date": "2025-04-01", + "last_updated": "2025-04-01", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 4096 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "meta/llama-3.2-3b-instruct": { + "id": "meta/llama-3.2-3b-instruct", + "name": "Llama 3.2 3B Instruct", + "family": "llama", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": true, + "temperature": true, + "release_date": "2024-09-18", + "last_updated": "2024-09-18", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 32768, + "output": 32000 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "meta/llama-3.1-8b-instruct": { + "id": "meta/llama-3.1-8b-instruct", + "name": "Llama 3.1 8B Instruct", "family": "llama", "attachment": false, "reasoning": false, "tool_call": true, "temperature": true, "knowledge": "2023-12", - "release_date": "2025-04-06", - "last_updated": "2026-03-12", - "modalities": { "input": ["text"], "output": ["text"] }, + "release_date": "2025-01-01", + "last_updated": "2025-01-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, "open_weights": true, - "cost": { "input": 0.7, "output": 2.8 }, - "limit": { "context": 128000, "output": 4096 } + "limit": { + "context": 16000, + "output": 4096 + }, + "cost": { + "input": 0, + "output": 0 + } }, - "mistral-31-24b": { - "id": "mistral-31-24b", - "name": "Venice Medium", - "family": "mistral", - "attachment": true, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2023-10", - "release_date": "2025-03-18", - "last_updated": "2026-03-12", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.5, "output": 2 }, - "limit": { "context": 128000, "output": 4096 } - }, - "zai-org-glm-5": { - "id": "zai-org-glm-5", - "name": "GLM 5", - "family": "glm", - "attachment": false, - "reasoning": true, - "tool_call": true, - "interleaved": { "field": "reasoning_content" }, - "structured_output": true, - "temperature": true, - "release_date": "2026-02-11", - "last_updated": "2026-03-12", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 1, "output": 3.2, "cache_read": 0.2 }, - "limit": { "context": 198000, "output": 32000 } - }, - "minimax-m25": { - "id": "minimax-m25", - "name": "MiniMax M2.5", - "family": "minimax", - "attachment": false, - "reasoning": true, - "tool_call": true, - "interleaved": { "field": "reasoning_content" }, - "temperature": true, - "release_date": "2026-02-12", - "last_updated": "2026-03-16", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.34, "output": 1.19, "cache_read": 0.04 }, - "limit": { "context": 198000, "output": 32768 } - }, - "openai-gpt-54": { - "id": "openai-gpt-54", - "name": "GPT-5.4", - "family": "gpt", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2026-03-05", - "last_updated": "2026-03-09", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 3.13, "output": 18.8, "cache_read": 0.313 }, - "limit": { "context": 1000000, "output": 131072 } - }, - "nvidia-nemotron-3-nano-30b-a3b": { - "id": "nvidia-nemotron-3-nano-30b-a3b", - "name": "NVIDIA Nemotron 3 Nano 30B", - "family": "nemotron", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2026-01-27", - "last_updated": "2026-03-12", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.075, "output": 0.3 }, - "limit": { "context": 128000, "output": 16384 } - }, - "deepseek-v3.2": { - "id": "deepseek-v3.2", - "name": "DeepSeek V3.2", - "family": "deepseek", - "attachment": false, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "knowledge": "2025-10", - "release_date": "2025-12-04", - "last_updated": "2026-03-24", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.33, "output": 0.48, "cache_read": 0.16 }, - "limit": { "context": 160000, "output": 32768 } - }, - "venice-uncensored-role-play": { - "id": "venice-uncensored-role-play", - "name": "Venice Role Play Uncensored", - "family": "venice", - "attachment": true, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2026-02-20", - "last_updated": "2026-03-16", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.5, "output": 2 }, - "limit": { "context": 128000, "output": 4096 } - }, - "qwen3-vl-235b-a22b": { - "id": "qwen3-vl-235b-a22b", - "name": "Qwen3 VL 235B", + "qwen/qwen-image-edit": { + "id": "qwen/qwen-image-edit", + "name": "Qwen Image Edit", "family": "qwen", "attachment": true, "reasoning": false, - "tool_call": true, - "structured_output": true, + "tool_call": false, + "structured_output": false, "temperature": true, - "release_date": "2026-01-16", - "last_updated": "2026-03-12", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.25, "output": 1.5 }, - "limit": { "context": 256000, "output": 16384 } + "release_date": "2025-08-19", + "last_updated": "2025-08-19", + "modalities": { + "input": ["text", "image"], + "output": ["image"] + }, + "open_weights": false, + "limit": { + "context": 0, + "output": 0 + }, + "cost": { + "input": 0, + "output": 0 + } }, - "grok-41-fast": { - "id": "grok-41-fast", - "name": "Grok 4.1 Fast", - "family": "grok", + "qwen/qwen3.5-122b-a10b": { + "id": "qwen/qwen3.5-122b-a10b", + "name": "Qwen3.5 122B-A10B", + "family": "qwen", "attachment": true, "reasoning": true, "tool_call": true, "structured_output": true, "temperature": true, - "knowledge": "2025-07", - "release_date": "2025-12-01", - "last_updated": "2026-03-12", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.25, "output": 0.625, "cache_read": 0.0625 }, - "limit": { "context": 1000000, "output": 30000 } - }, - "openai-gpt-4o-mini-2024-07-18": { - "id": "openai-gpt-4o-mini-2024-07-18", - "name": "GPT-4o Mini", - "family": "gpt-mini", - "attachment": true, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2026-02-28", - "last_updated": "2026-03-06", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.1875, "output": 0.75, "cache_read": 0.09375 }, - "limit": { "context": 128000, "output": 16384 } - }, - "zai-org-glm-4.7-flash": { - "id": "zai-org-glm-4.7-flash", - "name": "GLM 4.7 Flash", - "family": "glm-flash", - "attachment": false, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2026-01-29", - "last_updated": "2026-03-12", - "modalities": { "input": ["text"], "output": ["text"] }, + "release_date": "2026-02-23", + "last_updated": "2026-02-23", + "modalities": { + "input": ["text", "image", "video", "audio"], + "output": ["text"] + }, "open_weights": true, - "cost": { "input": 0.125, "output": 0.5 }, - "limit": { "context": 128000, "output": 16384 } + "limit": { + "context": 262144, + "output": 65536 + }, + "cost": { + "input": 0, + "output": 0 + } }, - "mistral-small-3-2-24b-instruct": { - "id": "mistral-small-3-2-24b-instruct", - "name": "Mistral Small 3.2 24B Instruct", - "family": "mistral-small", + "qwen/qwen2.5-coder-32b-instruct": { + "id": "qwen/qwen2.5-coder-32b-instruct", + "name": "Qwen2.5 Coder 32b Instruct", "attachment": false, "reasoning": false, "tool_call": true, "structured_output": true, "temperature": true, - "release_date": "2026-01-15", - "last_updated": "2026-03-16", - "modalities": { "input": ["text"], "output": ["text"] }, + "release_date": "2024-11-06", + "last_updated": "2024-11-06", + "modalities": { + "input": ["text"], + "output": ["text"] + }, "open_weights": true, - "cost": { "input": 0.09375, "output": 0.25 }, - "limit": { "context": 256000, "output": 16384 } + "limit": { + "context": 128000, + "output": 4096 + }, + "cost": { + "input": 0, + "output": 0 + } }, - "openai-gpt-52-codex": { - "id": "openai-gpt-52-codex", - "name": "GPT-5.2 Codex", - "family": "gpt-codex", + "qwen/qwen3.5-397b-a17b": { + "id": "qwen/qwen3.5-397b-a17b", + "name": "Qwen3.5-397B-A17B", + "family": "qwen", "attachment": true, "reasoning": true, "tool_call": true, "structured_output": true, "temperature": true, - "knowledge": "2025-08", - "release_date": "2025-01-15", - "last_updated": "2026-03-12", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2.19, "output": 17.5, "cache_read": 0.219 }, - "limit": { "context": 256000, "output": 65536 } - }, - "minimax-m21": { - "id": "minimax-m21", - "name": "MiniMax M2.1", - "family": "minimax", - "attachment": false, - "reasoning": true, - "tool_call": true, - "interleaved": { "field": "reasoning_content" }, - "structured_output": true, - "temperature": true, - "release_date": "2025-12-01", - "last_updated": "2026-03-16", - "modalities": { "input": ["text"], "output": ["text"] }, + "knowledge": "2026-01", + "release_date": "2026-02-16", + "last_updated": "2026-02-16", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, "open_weights": true, - "cost": { "input": 0.35, "output": 1.5, "cache_read": 0.04 }, - "limit": { "context": 198000, "output": 32768 } - } - } - }, - "submodel": { - "id": "submodel", - "env": ["SUBMODEL_INSTAGEN_ACCESS_KEY"], - "npm": "@ai-sdk/openai-compatible", - "api": "https://llm.submodel.ai/v1", - "name": "submodel", - "doc": "https://submodel.gitbook.io", - "models": { - "openai/gpt-oss-120b": { - "id": "openai/gpt-oss-120b", - "name": "GPT OSS 120B", - "family": "gpt-oss", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2025-08-23", - "last_updated": "2025-08-23", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.1, "output": 0.5 }, - "limit": { "context": 131072, "output": 32768 } + "limit": { + "context": 262144, + "output": 8192 + }, + "cost": { + "input": 0, + "output": 0 + } }, - "zai-org/GLM-4.5-Air": { - "id": "zai-org/GLM-4.5-Air", - "name": "GLM 4.5 Air", - "family": "glm-air", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "release_date": "2025-07-28", - "last_updated": "2025-07-28", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.1, "output": 0.5 }, - "limit": { "context": 131072, "output": 131072 } - }, - "zai-org/GLM-4.5-FP8": { - "id": "zai-org/GLM-4.5-FP8", - "name": "GLM 4.5 FP8", - "family": "glm", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2025-07-28", - "last_updated": "2025-07-28", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.2, "output": 0.8 }, - "limit": { "context": 131072, "output": 131072 } - }, - "deepseek-ai/DeepSeek-V3.1": { - "id": "deepseek-ai/DeepSeek-V3.1", - "name": "DeepSeek V3.1", - "family": "deepseek", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2025-08-23", - "last_updated": "2025-08-23", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.2, "output": 0.8 }, - "limit": { "context": 75000, "output": 163840 } - }, - "deepseek-ai/DeepSeek-V3-0324": { - "id": "deepseek-ai/DeepSeek-V3-0324", - "name": "DeepSeek V3 0324", - "family": "deepseek", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "release_date": "2025-08-23", - "last_updated": "2025-08-23", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.2, "output": 0.8 }, - "limit": { "context": 75000, "output": 163840 } - }, - "deepseek-ai/DeepSeek-R1-0528": { - "id": "deepseek-ai/DeepSeek-R1-0528", - "name": "DeepSeek R1 0528", - "family": "deepseek-thinking", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2025-08-23", - "last_updated": "2025-08-23", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.5, "output": 2.15 }, - "limit": { "context": 75000, "output": 163840 } - }, - "Qwen/Qwen3-235B-A22B-Thinking-2507": { - "id": "Qwen/Qwen3-235B-A22B-Thinking-2507", - "name": "Qwen3 235B A22B Thinking 2507", + "qwen/qwen3-next-80b-a3b-thinking": { + "id": "qwen/qwen3-next-80b-a3b-thinking", + "name": "Qwen3-Next-80B-A3B-Thinking", "family": "qwen", "attachment": false, "reasoning": true, "tool_call": true, "temperature": true, - "release_date": "2025-08-23", - "last_updated": "2025-08-23", - "modalities": { "input": ["text"], "output": ["text"] }, + "knowledge": "2024-12", + "release_date": "2024-12-01", + "last_updated": "2025-09-05", + "modalities": { + "input": ["text"], + "output": ["text"] + }, "open_weights": true, - "cost": { "input": 0.2, "output": 0.6 }, - "limit": { "context": 262144, "output": 131072 } + "limit": { + "context": 262144, + "output": 16384 + }, + "cost": { + "input": 0, + "output": 0 + } }, - "Qwen/Qwen3-235B-A22B-Instruct-2507": { - "id": "Qwen/Qwen3-235B-A22B-Instruct-2507", - "name": "Qwen3 235B A22B Instruct 2507", + "qwen/qwen3-next-80b-a3b-instruct": { + "id": "qwen/qwen3-next-80b-a3b-instruct", + "name": "Qwen3-Next-80B-A3B-Instruct", "family": "qwen", "attachment": false, "reasoning": false, "tool_call": true, "temperature": true, - "release_date": "2025-08-23", - "last_updated": "2025-08-23", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.2, "output": 0.3 }, - "limit": { "context": 262144, "output": 131072 } + "knowledge": "2024-12", + "release_date": "2024-12-01", + "last_updated": "2025-09-05", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 262144, + "output": 16384 + }, + "cost": { + "input": 0, + "output": 0 + } }, - "Qwen/Qwen3-Coder-480B-A35B-Instruct-FP8": { - "id": "Qwen/Qwen3-Coder-480B-A35B-Instruct-FP8", + "qwen/qwen-image": { + "id": "qwen/qwen-image", + "name": "Qwen Image", + "family": "qwen", + "attachment": true, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "temperature": true, + "release_date": "2025-08-07", + "last_updated": "2025-08-07", + "modalities": { + "input": ["text", "image"], + "output": ["image"] + }, + "open_weights": false, + "limit": { + "context": 0, + "output": 0 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "qwen/qwen3-coder-480b-a35b-instruct": { + "id": "qwen/qwen3-coder-480b-a35b-instruct", "name": "Qwen3 Coder 480B A35B Instruct", "family": "qwen", "attachment": false, "reasoning": false, "tool_call": true, "temperature": true, - "release_date": "2025-08-23", - "last_updated": "2025-08-23", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.2, "output": 0.8 }, - "limit": { "context": 262144, "output": 262144 } - } - } - }, - "vultr": { - "id": "vultr", - "env": ["VULTR_API_KEY"], - "npm": "@ai-sdk/openai-compatible", - "api": "https://api.vultrinference.com/v1", - "name": "Vultr", - "doc": "https://api.vultrinference.com/", - "models": { - "Kimi-K2.5": { - "id": "Kimi-K2.5", - "name": "Kimi K2 Instruct", - "family": "kimi", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-10", - "release_date": "2024-07-18", - "last_updated": "2024-07-18", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.55, "output": 2.75 }, - "limit": { "context": 261000, "output": 32768 } - }, - "MiniMax-M2.5": { - "id": "MiniMax-M2.5", - "name": "MiniMax M2.5", - "family": "minimax", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-10", - "release_date": "2025-01-20", - "last_updated": "2025-01-20", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.3, "output": 1.2 }, - "limit": { "context": 196000, "output": 4096 } - }, - "GLM-5-FP8": { - "id": "GLM-5-FP8", - "name": "GLM 5 FP8", - "family": "glm", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-10", - "release_date": "2025-01-20", - "last_updated": "2025-01-20", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.85, "output": 3.1 }, - "limit": { "context": 202000, "output": 131072 } - }, - "DeepSeek-V3.2": { - "id": "DeepSeek-V3.2", - "name": "DeepSeek V3.2", - "family": "deepseek", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-10", - "release_date": "2025-01-20", - "last_updated": "2025-01-20", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.55, "output": 1.65 }, - "limit": { "context": 163000, "output": 4096 } - } - } - }, - "github-models": { - "id": "github-models", - "env": ["GITHUB_TOKEN"], - "npm": "@ai-sdk/openai-compatible", - "api": "https://models.github.ai/inference", - "name": "GitHub Models", - "doc": "https://docs.github.com/en/github-models", - "models": { - "mistral-ai/codestral-2501": { - "id": "mistral-ai/codestral-2501", - "name": "Codestral 25.01", - "family": "codestral", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2024-03", - "release_date": "2025-01-01", - "last_updated": "2025-01-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 32000, "output": 8192 } - }, - "mistral-ai/mistral-large-2411": { - "id": "mistral-ai/mistral-large-2411", - "name": "Mistral Large 24.11", - "family": "mistral-large", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2024-09", - "release_date": "2024-11-01", - "last_updated": "2024-11-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 128000, "output": 32768 } - }, - "mistral-ai/mistral-small-2503": { - "id": "mistral-ai/mistral-small-2503", - "name": "Mistral Small 3.1", - "family": "mistral-small", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2024-09", - "release_date": "2025-03-01", - "last_updated": "2025-03-01", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 128000, "output": 32768 } - }, - "mistral-ai/mistral-medium-2505": { - "id": "mistral-ai/mistral-medium-2505", - "name": "Mistral Medium 3 (25.05)", - "family": "mistral-medium", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2024-09", - "release_date": "2025-05-01", - "last_updated": "2025-05-01", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 128000, "output": 32768 } - }, - "mistral-ai/ministral-3b": { - "id": "mistral-ai/ministral-3b", - "name": "Ministral 3B", - "family": "ministral", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2024-03", - "release_date": "2024-10-22", - "last_updated": "2024-10-22", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 128000, "output": 8192 } - }, - "mistral-ai/mistral-nemo": { - "id": "mistral-ai/mistral-nemo", - "name": "Mistral Nemo", - "family": "mistral-nemo", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2024-03", - "release_date": "2024-07-18", - "last_updated": "2024-07-18", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 128000, "output": 8192 } - }, - "ai21-labs/ai21-jamba-1.5-mini": { - "id": "ai21-labs/ai21-jamba-1.5-mini", - "name": "AI21 Jamba 1.5 Mini", - "family": "jamba", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2024-03", - "release_date": "2024-08-29", - "last_updated": "2024-08-29", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 256000, "output": 4096 } - }, - "ai21-labs/ai21-jamba-1.5-large": { - "id": "ai21-labs/ai21-jamba-1.5-large", - "name": "AI21 Jamba 1.5 Large", - "family": "jamba", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2024-03", - "release_date": "2024-08-29", - "last_updated": "2024-08-29", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 256000, "output": 4096 } - }, - "openai/o3-mini": { - "id": "openai/o3-mini", - "name": "OpenAI o3-mini", - "family": "o-mini", - "attachment": false, - "reasoning": true, - "tool_call": false, - "temperature": false, - "knowledge": "2024-04", - "release_date": "2025-01-31", - "last_updated": "2025-01-31", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 200000, "output": 100000 } - }, - "openai/gpt-4o": { - "id": "openai/gpt-4o", - "name": "GPT-4o", - "family": "gpt", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2023-10", - "release_date": "2024-05-13", - "last_updated": "2024-05-13", - "modalities": { "input": ["text", "image", "audio"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 128000, "output": 16384 } - }, - "openai/gpt-4o-mini": { - "id": "openai/gpt-4o-mini", - "name": "GPT-4o mini", - "family": "gpt-mini", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2023-10", - "release_date": "2024-07-18", - "last_updated": "2024-07-18", - "modalities": { "input": ["text", "image", "audio"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 128000, "output": 16384 } - }, - "openai/gpt-4.1": { - "id": "openai/gpt-4.1", - "name": "GPT-4.1", - "family": "gpt", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-04", - "release_date": "2025-04-14", - "last_updated": "2025-04-14", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 128000, "output": 16384 } - }, - "openai/o1": { - "id": "openai/o1", - "name": "OpenAI o1", - "family": "o", - "attachment": false, - "reasoning": true, - "tool_call": false, - "temperature": false, - "knowledge": "2023-10", - "release_date": "2024-09-12", - "last_updated": "2024-12-17", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 200000, "output": 100000 } - }, - "openai/o3": { - "id": "openai/o3", - "name": "OpenAI o3", - "family": "o", - "attachment": false, - "reasoning": true, - "tool_call": false, - "temperature": false, - "knowledge": "2024-04", - "release_date": "2025-01-31", - "last_updated": "2025-01-31", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 200000, "output": 100000 } - }, - "openai/gpt-4.1-mini": { - "id": "openai/gpt-4.1-mini", - "name": "GPT-4.1-mini", - "family": "gpt-mini", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-04", - "release_date": "2025-04-14", - "last_updated": "2025-04-14", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 128000, "output": 16384 } - }, - "openai/gpt-4.1-nano": { - "id": "openai/gpt-4.1-nano", - "name": "GPT-4.1-nano", - "family": "gpt-nano", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-04", - "release_date": "2025-04-14", - "last_updated": "2025-04-14", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 128000, "output": 16384 } - }, - "openai/o1-preview": { - "id": "openai/o1-preview", - "name": "OpenAI o1-preview", - "family": "o", - "attachment": false, - "reasoning": true, - "tool_call": false, - "temperature": false, - "knowledge": "2023-10", - "release_date": "2024-09-12", - "last_updated": "2024-09-12", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 128000, "output": 32768 } - }, - "openai/o4-mini": { - "id": "openai/o4-mini", - "name": "OpenAI o4-mini", - "family": "o-mini", - "attachment": false, - "reasoning": true, - "tool_call": false, - "temperature": false, - "knowledge": "2024-04", - "release_date": "2025-01-31", - "last_updated": "2025-01-31", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 200000, "output": 100000 } - }, - "openai/o1-mini": { - "id": "openai/o1-mini", - "name": "OpenAI o1-mini", - "family": "o-mini", - "attachment": false, - "reasoning": true, - "tool_call": false, - "temperature": false, - "knowledge": "2023-10", - "release_date": "2024-09-12", - "last_updated": "2024-12-17", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 128000, "output": 65536 } - }, - "microsoft/phi-3-mini-128k-instruct": { - "id": "microsoft/phi-3-mini-128k-instruct", - "name": "Phi-3-mini instruct (128k)", - "family": "phi", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2023-10", - "release_date": "2024-04-23", - "last_updated": "2024-04-23", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 128000, "output": 4096 } - }, - "microsoft/phi-3-small-8k-instruct": { - "id": "microsoft/phi-3-small-8k-instruct", - "name": "Phi-3-small instruct (8k)", - "family": "phi", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2023-10", - "release_date": "2024-04-23", - "last_updated": "2024-04-23", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 8192, "output": 2048 } - }, - "microsoft/phi-4-reasoning": { - "id": "microsoft/phi-4-reasoning", - "name": "Phi-4-Reasoning", - "family": "phi", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2023-10", - "release_date": "2024-12-11", - "last_updated": "2024-12-11", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 128000, "output": 4096 } - }, - "microsoft/phi-4-mini-reasoning": { - "id": "microsoft/phi-4-mini-reasoning", - "name": "Phi-4-mini-reasoning", - "family": "phi", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2023-10", - "release_date": "2024-12-11", - "last_updated": "2024-12-11", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 128000, "output": 4096 } - }, - "microsoft/phi-3-mini-4k-instruct": { - "id": "microsoft/phi-3-mini-4k-instruct", - "name": "Phi-3-mini instruct (4k)", - "family": "phi", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2023-10", - "release_date": "2024-04-23", - "last_updated": "2024-04-23", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 4096, "output": 1024 } - }, - "microsoft/phi-3-medium-4k-instruct": { - "id": "microsoft/phi-3-medium-4k-instruct", - "name": "Phi-3-medium instruct (4k)", - "family": "phi", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2023-10", - "release_date": "2024-04-23", - "last_updated": "2024-04-23", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 4096, "output": 1024 } - }, - "microsoft/phi-3.5-vision-instruct": { - "id": "microsoft/phi-3.5-vision-instruct", - "name": "Phi-3.5-vision instruct (128k)", - "family": "phi", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2023-10", - "release_date": "2024-08-20", - "last_updated": "2024-08-20", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 128000, "output": 4096 } - }, - "microsoft/mai-ds-r1": { - "id": "microsoft/mai-ds-r1", - "name": "MAI-DS-R1", - "family": "mai", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2024-06", - "release_date": "2025-01-20", - "last_updated": "2025-01-20", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 65536, "output": 8192 } - }, - "microsoft/phi-3.5-mini-instruct": { - "id": "microsoft/phi-3.5-mini-instruct", - "name": "Phi-3.5-mini instruct (128k)", - "family": "phi", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2023-10", - "release_date": "2024-08-20", - "last_updated": "2024-08-20", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 128000, "output": 4096 } - }, - "microsoft/phi-4": { - "id": "microsoft/phi-4", - "name": "Phi-4", - "family": "phi", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2023-10", - "release_date": "2024-12-11", - "last_updated": "2024-12-11", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 16000, "output": 4096 } - }, - "microsoft/phi-3-medium-128k-instruct": { - "id": "microsoft/phi-3-medium-128k-instruct", - "name": "Phi-3-medium instruct (128k)", - "family": "phi", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2023-10", - "release_date": "2024-04-23", - "last_updated": "2024-04-23", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 128000, "output": 4096 } - }, - "microsoft/phi-3.5-moe-instruct": { - "id": "microsoft/phi-3.5-moe-instruct", - "name": "Phi-3.5-MoE instruct (128k)", - "family": "phi", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2023-10", - "release_date": "2024-08-20", - "last_updated": "2024-08-20", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 128000, "output": 4096 } - }, - "microsoft/phi-4-multimodal-instruct": { - "id": "microsoft/phi-4-multimodal-instruct", - "name": "Phi-4-multimodal-instruct", - "family": "phi", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2023-10", - "release_date": "2024-12-11", - "last_updated": "2024-12-11", - "modalities": { "input": ["text", "image", "audio"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 128000, "output": 4096 } - }, - "microsoft/phi-3-small-128k-instruct": { - "id": "microsoft/phi-3-small-128k-instruct", - "name": "Phi-3-small instruct (128k)", - "family": "phi", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2023-10", - "release_date": "2024-04-23", - "last_updated": "2024-04-23", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 128000, "output": 4096 } - }, - "microsoft/phi-4-mini-instruct": { - "id": "microsoft/phi-4-mini-instruct", - "name": "Phi-4-mini-instruct", - "family": "phi", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2023-10", - "release_date": "2024-12-11", - "last_updated": "2024-12-11", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 128000, "output": 4096 } - }, - "cohere/cohere-command-r-plus-08-2024": { - "id": "cohere/cohere-command-r-plus-08-2024", - "name": "Cohere Command R+ 08-2024", - "family": "command-r", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-03", - "release_date": "2024-08-01", - "last_updated": "2024-08-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 128000, "output": 4096 } - }, - "cohere/cohere-command-r": { - "id": "cohere/cohere-command-r", - "name": "Cohere Command R", - "family": "command-r", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2024-03", - "release_date": "2024-03-11", - "last_updated": "2024-08-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 128000, "output": 4096 } - }, - "cohere/cohere-command-r-08-2024": { - "id": "cohere/cohere-command-r-08-2024", - "name": "Cohere Command R 08-2024", - "family": "command-r", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-03", - "release_date": "2024-08-01", - "last_updated": "2024-08-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 128000, "output": 4096 } - }, - "cohere/cohere-command-r-plus": { - "id": "cohere/cohere-command-r-plus", - "name": "Cohere Command R+", - "family": "command-r", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-03", - "release_date": "2024-04-04", - "last_updated": "2024-08-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 128000, "output": 4096 } - }, - "cohere/cohere-command-a": { - "id": "cohere/cohere-command-a", - "name": "Cohere Command A", - "family": "command-a", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2024-03", - "release_date": "2024-11-01", - "last_updated": "2024-11-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 128000, "output": 4096 } - }, - "deepseek/deepseek-v3-0324": { - "id": "deepseek/deepseek-v3-0324", - "name": "DeepSeek-V3-0324", - "family": "deepseek", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2024-06", - "release_date": "2025-03-24", - "last_updated": "2025-03-24", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 128000, "output": 8192 } - }, - "deepseek/deepseek-r1": { - "id": "deepseek/deepseek-r1", - "name": "DeepSeek-R1", - "family": "deepseek-thinking", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2024-06", - "release_date": "2025-01-20", - "last_updated": "2025-01-20", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 65536, "output": 8192 } - }, - "deepseek/deepseek-r1-0528": { - "id": "deepseek/deepseek-r1-0528", - "name": "DeepSeek-R1-0528", - "family": "deepseek-thinking", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2024-06", - "release_date": "2025-05-28", - "last_updated": "2025-05-28", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 65536, "output": 8192 } - }, - "xai/grok-3-mini": { - "id": "xai/grok-3-mini", - "name": "Grok 3 Mini", - "family": "grok", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2024-10", - "release_date": "2024-12-09", - "last_updated": "2024-12-09", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 128000, "output": 8192 } - }, - "xai/grok-3": { - "id": "xai/grok-3", - "name": "Grok 3", - "family": "grok", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2024-10", - "release_date": "2024-12-09", - "last_updated": "2024-12-09", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 128000, "output": 8192 } - }, - "core42/jais-30b-chat": { - "id": "core42/jais-30b-chat", - "name": "JAIS 30b Chat", - "family": "jais", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2023-03", - "release_date": "2023-08-30", - "last_updated": "2023-08-30", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 8192, "output": 2048 } - }, - "meta/meta-llama-3.1-8b-instruct": { - "id": "meta/meta-llama-3.1-8b-instruct", - "name": "Meta-Llama-3.1-8B-Instruct", - "family": "llama", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2023-12", - "release_date": "2024-07-23", - "last_updated": "2024-07-23", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 128000, "output": 32768 } - }, - "meta/llama-3.3-70b-instruct": { - "id": "meta/llama-3.3-70b-instruct", - "name": "Llama-3.3-70B-Instruct", - "family": "llama", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2023-12", - "release_date": "2024-12-06", - "last_updated": "2024-12-06", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 128000, "output": 32768 } - }, - "meta/llama-4-scout-17b-16e-instruct": { - "id": "meta/llama-4-scout-17b-16e-instruct", - "name": "Llama 4 Scout 17B 16E Instruct", - "family": "llama", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2024-12", - "release_date": "2025-01-31", - "last_updated": "2025-01-31", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 128000, "output": 8192 } - }, - "meta/llama-3.2-11b-vision-instruct": { - "id": "meta/llama-3.2-11b-vision-instruct", - "name": "Llama-3.2-11B-Vision-Instruct", - "family": "llama", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2023-12", - "release_date": "2024-09-25", - "last_updated": "2024-09-25", - "modalities": { "input": ["text", "image", "audio"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 128000, "output": 8192 } - }, - "meta/meta-llama-3-70b-instruct": { - "id": "meta/meta-llama-3-70b-instruct", - "name": "Meta-Llama-3-70B-Instruct", - "family": "llama", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2023-12", - "release_date": "2024-04-18", - "last_updated": "2024-04-18", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 8192, "output": 2048 } - }, - "meta/meta-llama-3-8b-instruct": { - "id": "meta/meta-llama-3-8b-instruct", - "name": "Meta-Llama-3-8B-Instruct", - "family": "llama", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2023-12", - "release_date": "2024-04-18", - "last_updated": "2024-04-18", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 8192, "output": 2048 } - }, - "meta/llama-3.2-90b-vision-instruct": { - "id": "meta/llama-3.2-90b-vision-instruct", - "name": "Llama-3.2-90B-Vision-Instruct", - "family": "llama", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2023-12", - "release_date": "2024-09-25", - "last_updated": "2024-09-25", - "modalities": { "input": ["text", "image", "audio"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 128000, "output": 8192 } - }, - "meta/meta-llama-3.1-405b-instruct": { - "id": "meta/meta-llama-3.1-405b-instruct", - "name": "Meta-Llama-3.1-405B-Instruct", - "family": "llama", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2023-12", - "release_date": "2024-07-23", - "last_updated": "2024-07-23", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 128000, "output": 32768 } - }, - "meta/llama-4-maverick-17b-128e-instruct-fp8": { - "id": "meta/llama-4-maverick-17b-128e-instruct-fp8", - "name": "Llama 4 Maverick 17B 128E Instruct FP8", - "family": "llama", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2024-12", - "release_date": "2025-01-31", - "last_updated": "2025-01-31", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 128000, "output": 8192 } - }, - "meta/meta-llama-3.1-70b-instruct": { - "id": "meta/meta-llama-3.1-70b-instruct", - "name": "Meta-Llama-3.1-70B-Instruct", - "family": "llama", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2023-12", - "release_date": "2024-07-23", - "last_updated": "2024-07-23", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 128000, "output": 32768 } - } - } - }, - "nano-gpt": { - "id": "nano-gpt", - "env": ["NANO_GPT_API_KEY"], - "npm": "@ai-sdk/openai-compatible", - "api": "https://nano-gpt.com/api/v1", - "name": "NanoGPT", - "doc": "https://docs.nano-gpt.com", - "models": { - "claude-opus-4-thinking": { - "id": "claude-opus-4-thinking", - "name": "Claude 4 Opus Thinking", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "release_date": "2025-07-15", - "last_updated": "2025-07-15", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 14.994, "output": 75.004 }, - "limit": { "context": 200000, "input": 200000, "output": 32000 } - }, - "qwen3-coder-30b-a3b-instruct": { - "id": "qwen3-coder-30b-a3b-instruct", - "name": "Qwen3 Coder 30B A3B Instruct", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "release_date": "2025-08-05", - "last_updated": "2025-08-05", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.1, "output": 0.4 }, - "limit": { "context": 128000, "input": 128000, "output": 65536 } - }, - "brave-research": { - "id": "brave-research", - "name": "Brave (Research)", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2023-03-02", - "last_updated": "2024-01-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 5, "output": 5 }, - "limit": { "context": 16384, "input": 16384, "output": 16384 } - }, - "jamba-large-1.7": { - "id": "jamba-large-1.7", - "name": "Jamba Large 1.7", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-07-09", - "last_updated": "2025-07-09", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.989, "output": 7.99 }, - "limit": { "context": 256000, "input": 256000, "output": 4096 } - }, - "gemini-2.5-flash-lite": { - "id": "gemini-2.5-flash-lite", - "name": "Gemini 2.5 Flash Lite", - "attachment": true, - "reasoning": true, - "tool_call": false, - "structured_output": false, - "release_date": "2025-06-17", - "last_updated": "2025-06-17", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.1, "output": 0.4 }, - "limit": { "context": 1048756, "input": 1048756, "output": 65536 } - }, - "azure-o3-mini": { - "id": "azure-o3-mini", - "name": "Azure o3-mini", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-01-31", - "last_updated": "2025-01-31", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.088, "output": 4.3996 }, - "limit": { "context": 200000, "input": 200000, "output": 65536 } - }, - "claude-sonnet-4-thinking:8192": { - "id": "claude-sonnet-4-thinking:8192", - "name": "Claude 4 Sonnet Thinking (8K)", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "release_date": "2025-05-22", - "last_updated": "2025-05-22", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2.992, "output": 14.994 }, - "limit": { "context": 1000000, "input": 1000000, "output": 64000 } - }, - "ernie-x1-32k": { - "id": "ernie-x1-32k", - "name": "Ernie X1 32k", - "attachment": true, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-05-08", - "last_updated": "2025-05-08", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.33, "output": 1.32 }, - "limit": { "context": 32000, "input": 32000, "output": 16384 } - }, - "exa-answer": { - "id": "exa-answer", - "name": "Exa (Answer)", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-06-04", - "last_updated": "2025-06-04", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2.5, "output": 2.5 }, - "limit": { "context": 4096, "input": 4096, "output": 4096 } - }, - "KAT-Coder-Pro-V1": { - "id": "KAT-Coder-Pro-V1", - "name": "KAT Coder Pro V1", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-10-28", - "last_updated": "2025-10-28", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.5, "output": 6 }, - "limit": { "context": 256000, "input": 256000, "output": 32768 } - }, - "ernie-4.5-turbo-128k": { - "id": "ernie-4.5-turbo-128k", - "name": "Ernie 4.5 Turbo 128k", - "attachment": true, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-05-08", - "last_updated": "2025-05-08", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.132, "output": 0.55 }, - "limit": { "context": 128000, "input": 128000, "output": 16384 } - }, - "claude-opus-4-5-20251101": { - "id": "claude-opus-4-5-20251101", - "name": "Claude 4.5 Opus", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "release_date": "2025-11-01", - "last_updated": "2025-11-01", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 4.998, "output": 25.007 }, - "limit": { "context": 200000, "input": 200000, "output": 32000 } - }, - "deepclaude": { - "id": "deepclaude", - "name": "DeepClaude", - "attachment": true, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-02-01", - "last_updated": "2025-02-01", - "modalities": { "input": ["text", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 3, "output": 15 }, - "limit": { "context": 128000, "input": 128000, "output": 8192 } - }, - "Llama-3.3-70B-Forgotten-Abomination-v5.0": { - "id": "Llama-3.3-70B-Forgotten-Abomination-v5.0", - "name": "Llama 3.3 70B Forgotten Abomination v5.0", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2024-12-06", - "last_updated": "2024-12-06", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.306, "output": 0.306 }, - "limit": { "context": 32768, "input": 32768, "output": 16384 } - }, - "qwen-image": { - "id": "qwen-image", - "name": "Qwen Image", - "attachment": true, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "temperature": true, - "release_date": "2025-08-07", - "last_updated": "2025-08-07", - "modalities": { "input": ["text", "image"], "output": ["image"] }, - "open_weights": false, - "limit": { "context": 0, "output": 0 } - }, - "gemini-2.5-pro-exp-03-25": { - "id": "gemini-2.5-pro-exp-03-25", - "name": "Gemini 2.5 Pro Experimental 0325", - "attachment": true, - "reasoning": true, - "tool_call": false, - "structured_output": false, - "release_date": "2025-03-25", - "last_updated": "2025-03-25", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2.5, "output": 10 }, - "limit": { "context": 1048756, "input": 1048756, "output": 65536 } - }, - "mistral-small-31-24b-instruct": { - "id": "mistral-small-31-24b-instruct", - "name": "Mistral Small 31 24b Instruct", - "attachment": true, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-04-15", - "last_updated": "2025-04-15", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.1, "output": 0.3 }, - "limit": { "context": 128000, "input": 128000, "output": 131072 } - }, - "claude-sonnet-4-thinking:1024": { - "id": "claude-sonnet-4-thinking:1024", - "name": "Claude 4 Sonnet Thinking (1K)", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "release_date": "2025-05-22", - "last_updated": "2025-05-22", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2.992, "output": 14.994 }, - "limit": { "context": 1000000, "input": 1000000, "output": 64000 } - }, - "claude-opus-4-1-thinking": { - "id": "claude-opus-4-1-thinking", - "name": "Claude 4.1 Opus Thinking", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "release_date": "2025-05-22", - "last_updated": "2025-05-22", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 14.994, "output": 75.004 }, - "limit": { "context": 200000, "input": 200000, "output": 32000 } - }, - "jamba-large-1.6": { - "id": "jamba-large-1.6", - "name": "Jamba Large 1.6", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-03-12", - "last_updated": "2025-03-12", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.989, "output": 7.99 }, - "limit": { "context": 256000, "input": 256000, "output": 4096 } - }, - "universal-summarizer": { - "id": "universal-summarizer", - "name": "Universal Summarizer", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2023-05-01", - "last_updated": "2024-01-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 30, "output": 30 }, - "limit": { "context": 32768, "input": 32768, "output": 32768 } - }, - "Llama-3.3-70B-Bigger-Body": { - "id": "Llama-3.3-70B-Bigger-Body", - "name": "Llama 3.3 70B Bigger Body", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2024-12-06", - "last_updated": "2024-12-06", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.306, "output": 0.306 }, - "limit": { "context": 32768, "input": 32768, "output": 16384 } - }, - "doubao-seed-2-0-pro-260215": { - "id": "doubao-seed-2-0-pro-260215", - "name": "Doubao Seed 2.0 Pro", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2026-02-14", - "last_updated": "2026-02-14", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.782, "output": 3.876 }, - "limit": { "context": 256000, "input": 256000, "output": 128000 } - }, - "Llama-3.3-70B-Progenitor-V3.3": { - "id": "Llama-3.3-70B-Progenitor-V3.3", - "name": "Llama 3.3 70B Progenitor V3.3", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-07-26", - "last_updated": "2025-07-26", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.306, "output": 0.306 }, - "limit": { "context": 32768, "input": 32768, "output": 16384 } - }, - "claude-opus-4-1-thinking:32768": { - "id": "claude-opus-4-1-thinking:32768", - "name": "Claude 4.1 Opus Thinking (32K)", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "release_date": "2025-05-22", - "last_updated": "2025-05-22", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 14.994, "output": 75.004 }, - "limit": { "context": 200000, "input": 200000, "output": 32000 } - }, - "doubao-seed-1-6-thinking-250615": { - "id": "doubao-seed-1-6-thinking-250615", - "name": "Doubao Seed 1.6 Thinking", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-06-15", - "last_updated": "2025-06-15", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.204, "output": 2.04 }, - "limit": { "context": 256000, "input": 256000, "output": 16384 } - }, - "Llama-3.3-70B-Fallen-v1": { - "id": "Llama-3.3-70B-Fallen-v1", - "name": "Llama 3.3 70B Fallen v1", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2024-12-06", - "last_updated": "2024-12-06", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.306, "output": 0.306 }, - "limit": { "context": 32768, "input": 32768, "output": 16384 } - }, - "glm-zero-preview": { - "id": "glm-zero-preview", - "name": "GLM Zero Preview", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2024-12-01", - "last_updated": "2024-12-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.802, "output": 1.802 }, - "limit": { "context": 8000, "input": 8000, "output": 4096 } - }, - "Llama-3.3-70B-MS-Nevoria": { - "id": "Llama-3.3-70B-MS-Nevoria", - "name": "Llama 3.3 70B MS Nevoria", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2024-12-06", - "last_updated": "2024-12-06", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.306, "output": 0.306 }, - "limit": { "context": 32768, "input": 32768, "output": 16384 } - }, - "qwen-turbo": { - "id": "qwen-turbo", - "name": "Qwen Turbo", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2024-11-01", - "last_updated": "2024-11-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.04998, "output": 0.2006 }, - "limit": { "context": 1000000, "input": 1000000, "output": 8192 } - }, - "glm-z1-air": { - "id": "glm-z1-air", - "name": "GLM Z1 Air", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "release_date": "2025-04-15", - "last_updated": "2025-04-15", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.07, "output": 0.07 }, - "limit": { "context": 32000, "input": 32000, "output": 16384 } - }, - "deepseek-v3-0324": { - "id": "deepseek-v3-0324", - "name": "DeepSeek Chat 0324", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "release_date": "2025-03-24", - "last_updated": "2025-03-24", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.25, "output": 0.7 }, - "limit": { "context": 128000, "input": 128000, "output": 8192 } - }, - "gemini-2.5-flash-lite-preview-09-2025": { - "id": "gemini-2.5-flash-lite-preview-09-2025", - "name": "Gemini 2.5 Flash Lite Preview (09/2025)", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "release_date": "2025-09-25", - "last_updated": "2025-09-25", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.1, "output": 0.4 }, - "limit": { "context": 1048756, "input": 1048756, "output": 65536 } - }, - "qwq-32b": { - "id": "qwq-32b", - "name": "Qwen: QwQ 32B", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-04-15", - "last_updated": "2025-04-15", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.25599999, "output": 0.30499999 }, - "limit": { "context": 128000, "input": 128000, "output": 32768 } - }, - "command-a-reasoning-08-2025": { - "id": "command-a-reasoning-08-2025", - "name": "Cohere Command A (08/2025)", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-08-22", - "last_updated": "2025-08-22", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2.5, "output": 10 }, - "limit": { "context": 256000, "input": 256000, "output": 8192 } - }, - "GLM-4.5-Air-Derestricted-Iceblink-ReExtract": { - "id": "GLM-4.5-Air-Derestricted-Iceblink-ReExtract", - "name": "GLM 4.5 Air Derestricted Iceblink ReExtract", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-12-12", - "last_updated": "2025-12-12", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.306, "output": 0.306 }, - "limit": { "context": 131072, "input": 131072, "output": 98304 } - }, - "Llama-3.3-70B-Mokume-Gane-R1": { - "id": "Llama-3.3-70B-Mokume-Gane-R1", - "name": "Llama 3.3 70B Mokume Gane R1", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2024-12-06", - "last_updated": "2024-12-06", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.306, "output": 0.306 }, - "limit": { "context": 32768, "input": 32768, "output": 16384 } - }, - "doubao-1-5-thinking-vision-pro-250428": { - "id": "doubao-1-5-thinking-vision-pro-250428", - "name": "Doubao 1.5 Thinking Vision Pro", - "attachment": true, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-05-15", - "last_updated": "2025-05-15", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.55, "output": 1.43 }, - "limit": { "context": 128000, "input": 128000, "output": 16384 } - }, - "Llama-3.3+(3v3.3)-70B-TenyxChat-DaybreakStorywriter": { - "id": "Llama-3.3+(3v3.3)-70B-TenyxChat-DaybreakStorywriter", - "name": "Llama 3.3+ 70B TenyxChat DaybreakStorywriter", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2024-12-06", - "last_updated": "2024-12-06", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.306, "output": 0.306 }, - "limit": { "context": 32768, "input": 32768, "output": 16384 } - }, - "deepseek-r1": { - "id": "deepseek-r1", - "name": "DeepSeek R1", - "attachment": false, - "reasoning": true, - "tool_call": false, - "structured_output": false, - "release_date": "2025-01-20", - "last_updated": "2025-01-20", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.4, "output": 1.7 }, - "limit": { "context": 128000, "input": 128000, "output": 8192 } - }, - "QwQ-32B-ArliAI-RpR-v1": { - "id": "QwQ-32B-ArliAI-RpR-v1", - "name": "QwQ 32b Arli V1", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-02-17", - "last_updated": "2025-02-17", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.2, "output": 0.2 }, - "limit": { "context": 32768, "input": 32768, "output": 32768 } - }, - "GLM-4.6-Derestricted-v5": { - "id": "GLM-4.6-Derestricted-v5", - "name": "GLM 4.6 Derestricted v5", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-12-23", - "last_updated": "2025-12-23", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.4, "output": 1.5 }, - "limit": { "context": 131072, "input": 131072, "output": 8192 } - }, - "qwen-max": { - "id": "qwen-max", - "name": "Qwen 2.5 Max", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2024-04-03", - "last_updated": "2024-04-03", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.5997, "output": 6.392 }, - "limit": { "context": 32000, "input": 32000, "output": 8192 } - }, - "glm-4": { - "id": "glm-4", - "name": "GLM-4", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2024-01-16", - "last_updated": "2024-01-16", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 14.994, "output": 14.994 }, - "limit": { "context": 128000, "input": 128000, "output": 4096 } - }, - "qvq-max": { - "id": "qvq-max", - "name": "Qwen: QvQ Max", - "attachment": true, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-03-28", - "last_updated": "2025-03-28", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.4, "output": 5.3 }, - "limit": { "context": 128000, "input": 128000, "output": 8192 } - }, - "claude-opus-4-20250514": { - "id": "claude-opus-4-20250514", - "name": "Claude 4 Opus", - "attachment": true, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "release_date": "2025-05-14", - "last_updated": "2025-05-14", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 14.994, "output": 75.004 }, - "limit": { "context": 200000, "input": 200000, "output": 32000 } - }, - "gemini-2.5-flash-preview-04-17": { - "id": "gemini-2.5-flash-preview-04-17", - "name": "Gemini 2.5 Flash Preview", - "attachment": true, - "reasoning": true, - "tool_call": false, - "structured_output": false, - "release_date": "2025-04-17", - "last_updated": "2025-04-17", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.15, "output": 0.6 }, - "limit": { "context": 1048756, "input": 1048756, "output": 65536 } - }, - "claude-opus-4-thinking:32000": { - "id": "claude-opus-4-thinking:32000", - "name": "Claude 4 Opus Thinking (32K)", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "release_date": "2025-05-22", - "last_updated": "2025-05-22", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 14.994, "output": 75.004 }, - "limit": { "context": 200000, "input": 200000, "output": 32000 } - }, - "qwen-long": { - "id": "qwen-long", - "name": "Qwen Long 10M", - "attachment": true, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-01-25", - "last_updated": "2025-01-25", - "modalities": { "input": ["text", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.1003, "output": 0.408 }, - "limit": { "context": 10000000, "input": 10000000, "output": 8192 } - }, - "Llama-3.3-70B-GeneticLemonade-Opus": { - "id": "Llama-3.3-70B-GeneticLemonade-Opus", - "name": "Llama 3.3 70B GeneticLemonade Opus", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2024-12-06", - "last_updated": "2024-12-06", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.306, "output": 0.306 }, - "limit": { "context": 32768, "input": 32768, "output": 16384 } - }, - "doubao-1.5-pro-32k": { - "id": "doubao-1.5-pro-32k", - "name": "Doubao 1.5 Pro 32k", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-01-22", - "last_updated": "2025-01-22", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.1343, "output": 0.3349 }, - "limit": { "context": 32000, "input": 32000, "output": 8192 } - }, - "Llama-3.3-70B-Forgotten-Safeword-3.6": { - "id": "Llama-3.3-70B-Forgotten-Safeword-3.6", - "name": "Llama 3.3 70B Forgotten Safeword 3.6", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2024-12-06", - "last_updated": "2024-12-06", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.306, "output": 0.306 }, - "limit": { "context": 32768, "input": 32768, "output": 16384 } - }, - "grok-3-mini-fast-beta": { - "id": "grok-3-mini-fast-beta", - "name": "Grok 3 Mini Fast Beta", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-02-17", - "last_updated": "2025-02-17", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.6, "output": 4 }, - "limit": { "context": 131072, "input": 131072, "output": 131072 } - }, - "claude-3-7-sonnet-20250219": { - "id": "claude-3-7-sonnet-20250219", - "name": "Claude 3.7 Sonnet", - "attachment": true, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "release_date": "2025-02-19", - "last_updated": "2025-02-19", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2.992, "output": 14.994 }, - "limit": { "context": 200000, "input": 200000, "output": 16000 } - }, - "Llama-3.3-70B-ArliAI-RPMax-v3": { - "id": "Llama-3.3-70B-ArliAI-RPMax-v3", - "name": "Llama 3.3 70B ArliAI RPMax v3", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2024-12-06", - "last_updated": "2024-12-06", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.306, "output": 0.306 }, - "limit": { "context": 32768, "input": 32768, "output": 16384 } - }, - "gemini-2.0-flash-thinking-exp-1219": { - "id": "gemini-2.0-flash-thinking-exp-1219", - "name": "Gemini 2.0 Flash Thinking 1219", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2024-12-19", - "last_updated": "2024-12-19", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.1003, "output": 0.408 }, - "limit": { "context": 32767, "input": 32767, "output": 8192 } - }, - "gemini-2.5-flash-preview-05-20": { - "id": "gemini-2.5-flash-preview-05-20", - "name": "Gemini 2.5 Flash 0520", - "attachment": true, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-05-20", - "last_updated": "2025-05-20", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.15, "output": 0.6 }, - "limit": { "context": 1048000, "input": 1048000, "output": 65536 } - }, - "gemini-3-pro-preview": { - "id": "gemini-3-pro-preview", - "name": "Gemini 3 Pro", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "release_date": "2025-11-18", - "last_updated": "2025-11-18", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2, "output": 12 }, - "limit": { "context": 1048756, "input": 1048756, "output": 65536 } - }, - "MiniMax-M1": { - "id": "MiniMax-M1", - "name": "MiniMax M1", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-06-16", - "last_updated": "2025-06-16", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.1394, "output": 1.3328 }, - "limit": { "context": 1000000, "input": 1000000, "output": 131072 } - }, - "chroma": { - "id": "chroma", - "name": "Chroma", - "attachment": true, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "temperature": true, - "release_date": "2025-08-12", - "last_updated": "2025-08-12", - "modalities": { "input": ["text"], "output": ["image"] }, - "open_weights": false, - "limit": { "context": 0, "output": 0 } - }, - "azure-o1": { - "id": "azure-o1", - "name": "Azure o1", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2024-12-17", - "last_updated": "2024-12-17", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 14.994, "output": 59.993 }, - "limit": { "context": 200000, "input": 200000, "output": 100000 } - }, - "claude-3-7-sonnet-thinking:128000": { - "id": "claude-3-7-sonnet-thinking:128000", - "name": "Claude 3.7 Sonnet Thinking (128K)", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "release_date": "2025-02-24", - "last_updated": "2025-02-24", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2.992, "output": 14.994 }, - "limit": { "context": 200000, "input": 200000, "output": 64000 } - }, - "venice-uncensored:web": { - "id": "venice-uncensored:web", - "name": "Venice Uncensored Web", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2024-05-01", - "last_updated": "2024-05-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.4, "output": 0.4 }, - "limit": { "context": 80000, "input": 80000, "output": 16384 } - }, - "deepseek-r1-sambanova": { - "id": "deepseek-r1-sambanova", - "name": "DeepSeek R1 Fast", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-02-20", - "last_updated": "2025-02-20", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 4.998, "output": 6.987 }, - "limit": { "context": 128000, "input": 128000, "output": 4096 } - }, - "qwen25-vl-72b-instruct": { - "id": "qwen25-vl-72b-instruct", - "name": "Qwen25 VL 72b", - "attachment": true, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-05-10", - "last_updated": "2025-05-10", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.69989, "output": 0.69989 }, - "limit": { "context": 32000, "input": 32000, "output": 32768 } - }, - "brave-pro": { - "id": "brave-pro", - "name": "Brave (Pro)", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2023-03-02", - "last_updated": "2024-01-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 5, "output": 5 }, - "limit": { "context": 8192, "input": 8192, "output": 8192 } - }, - "glm-4-airx": { - "id": "glm-4-airx", - "name": "GLM-4 AirX", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2024-06-05", - "last_updated": "2024-06-05", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2.006, "output": 2.006 }, - "limit": { "context": 8000, "input": 8000, "output": 4096 } - }, - "deepseek-chat": { - "id": "deepseek-chat", - "name": "DeepSeek V3/Deepseek Chat", - "attachment": true, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "release_date": "2025-02-27", - "last_updated": "2025-02-27", - "modalities": { "input": ["text", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.25, "output": 0.7 }, - "limit": { "context": 128000, "input": 128000, "output": 8192 } - }, - "Llama-3.3-70B-Cu-Mai-R1": { - "id": "Llama-3.3-70B-Cu-Mai-R1", - "name": "Llama 3.3 70B Cu Mai R1", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2024-12-06", - "last_updated": "2024-12-06", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.306, "output": 0.306 }, - "limit": { "context": 32768, "input": 32768, "output": 16384 } - }, - "deepseek-chat-cheaper": { - "id": "deepseek-chat-cheaper", - "name": "DeepSeek V3/Chat Cheaper", - "attachment": true, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "release_date": "2025-04-15", - "last_updated": "2025-04-15", - "modalities": { "input": ["text", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.25, "output": 0.7 }, - "limit": { "context": 128000, "input": 128000, "output": 8192 } - }, - "ernie-5.0-thinking-latest": { - "id": "ernie-5.0-thinking-latest", - "name": "Ernie 5.0 Thinking", - "attachment": true, - "reasoning": true, - "tool_call": false, - "structured_output": false, - "release_date": "2025-11-18", - "last_updated": "2025-11-18", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.1, "output": 2 }, - "limit": { "context": 128000, "input": 128000, "output": 16384 } - }, - "claude-sonnet-4-5-20250929": { - "id": "claude-sonnet-4-5-20250929", - "name": "Claude Sonnet 4.5", - "attachment": true, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "release_date": "2025-09-29", - "last_updated": "2025-09-29", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2.992, "output": 14.994 }, - "limit": { "context": 1000000, "input": 1000000, "output": 64000 } - }, - "claude-opus-4-1-thinking:1024": { - "id": "claude-opus-4-1-thinking:1024", - "name": "Claude 4.1 Opus Thinking (1K)", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "release_date": "2025-05-22", - "last_updated": "2025-05-22", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 14.994, "output": 75.004 }, - "limit": { "context": 200000, "input": 200000, "output": 32000 } - }, - "qwen-plus": { - "id": "qwen-plus", - "name": "Qwen Plus", - "attachment": false, - "reasoning": true, - "tool_call": false, - "structured_output": false, - "release_date": "2024-01-25", - "last_updated": "2024-01-25", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.3995, "output": 1.2002 }, - "limit": { "context": 995904, "input": 995904, "output": 32768 } - }, - "ernie-x1-32k-preview": { - "id": "ernie-x1-32k-preview", - "name": "Ernie X1 32k", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-04-03", - "last_updated": "2025-04-03", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.33, "output": 1.32 }, - "limit": { "context": 32000, "input": 32000, "output": 16384 } - }, - "Llama-3.3-70B-The-Omega-Directive-Unslop-v2.1": { - "id": "Llama-3.3-70B-The-Omega-Directive-Unslop-v2.1", - "name": "Llama 3.3 70B Omega Directive Unslop v2.1", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2024-12-06", - "last_updated": "2024-12-06", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.306, "output": 0.306 }, - "limit": { "context": 32768, "input": 32768, "output": 16384 } - }, - "gemini-2.5-pro-preview-06-05": { - "id": "gemini-2.5-pro-preview-06-05", - "name": "Gemini 2.5 Pro Preview 0605", - "attachment": true, - "reasoning": true, - "tool_call": false, - "structured_output": false, - "release_date": "2025-06-05", - "last_updated": "2025-06-05", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2.5, "output": 10 }, - "limit": { "context": 1048756, "input": 1048756, "output": 65536 } - }, - "claude-sonnet-4-thinking:64000": { - "id": "claude-sonnet-4-thinking:64000", - "name": "Claude 4 Sonnet Thinking (64K)", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "release_date": "2025-05-22", - "last_updated": "2025-05-22", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2.992, "output": 14.994 }, - "limit": { "context": 1000000, "input": 1000000, "output": 64000 } - }, - "glm-z1-airx": { - "id": "glm-z1-airx", - "name": "GLM Z1 AirX", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "release_date": "2025-04-15", - "last_updated": "2025-04-15", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.7, "output": 0.7 }, - "limit": { "context": 32000, "input": 32000, "output": 16384 } - }, - "qwen3-vl-235b-a22b-instruct-original": { - "id": "qwen3-vl-235b-a22b-instruct-original", - "name": "Qwen3 VL 235B A22B Instruct Original", - "attachment": true, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-09-25", - "last_updated": "2025-09-25", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.5, "output": 1.2 }, - "limit": { "context": 32768, "input": 32768, "output": 32768 } - }, - "yi-lightning": { - "id": "yi-lightning", - "name": "Yi Lightning", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2024-10-16", - "last_updated": "2024-10-16", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.2006, "output": 0.2006 }, - "limit": { "context": 12000, "input": 12000, "output": 4096 } - }, - "sonar-deep-research": { - "id": "sonar-deep-research", - "name": "Perplexity Deep Research", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-02-25", - "last_updated": "2025-02-25", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 3.4, "output": 13.6 }, - "limit": { "context": 60000, "input": 60000, "output": 128000 } - }, - "Llama-3.3-70B-Ignition-v0.1": { - "id": "Llama-3.3-70B-Ignition-v0.1", - "name": "Llama 3.3 70B Ignition v0.1", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2024-12-06", - "last_updated": "2024-12-06", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.306, "output": 0.306 }, - "limit": { "context": 32768, "input": 32768, "output": 16384 } - }, - "kimi-k2-instruct-fast": { - "id": "kimi-k2-instruct-fast", - "name": "Kimi K2 0711 Fast", - "attachment": true, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-07-15", - "last_updated": "2025-07-15", - "modalities": { "input": ["text", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.1, "output": 2 }, - "limit": { "context": 131072, "input": 131072, "output": 16384 } - }, - "gemini-2.5-pro-preview-05-06": { - "id": "gemini-2.5-pro-preview-05-06", - "name": "Gemini 2.5 Pro Preview 0506", - "attachment": true, - "reasoning": true, - "tool_call": false, - "structured_output": false, - "release_date": "2025-05-06", - "last_updated": "2025-05-06", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2.5, "output": 10 }, - "limit": { "context": 1048756, "input": 1048756, "output": 65536 } - }, - "gemini-2.5-flash-preview-05-20:thinking": { - "id": "gemini-2.5-flash-preview-05-20:thinking", - "name": "Gemini 2.5 Flash 0520 Thinking", - "attachment": true, - "reasoning": true, - "tool_call": false, - "structured_output": false, - "release_date": "2025-05-20", - "last_updated": "2025-05-20", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.15, "output": 3.5 }, - "limit": { "context": 1048000, "input": 1048000, "output": 65536 } - }, - "auto-model-premium": { - "id": "auto-model-premium", - "name": "Auto model (Premium)", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2024-06-01", - "last_updated": "2024-06-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 9.996, "output": 19.992 }, - "limit": { "context": 1000000, "input": 1000000, "output": 1000000 } - }, - "glm-4.1v-thinking-flash": { - "id": "glm-4.1v-thinking-flash", - "name": "GLM 4.1V Thinking Flash", - "attachment": true, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-07-09", - "last_updated": "2025-07-09", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.3, "output": 0.3 }, - "limit": { "context": 64000, "input": 64000, "output": 8192 } - }, - "claude-3-5-haiku-20241022": { - "id": "claude-3-5-haiku-20241022", - "name": "Claude 3.5 Haiku", - "attachment": true, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "release_date": "2024-10-22", - "last_updated": "2024-10-22", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.8, "output": 4 }, - "limit": { "context": 200000, "input": 200000, "output": 8192 } - }, - "sonar": { - "id": "sonar", - "name": "Perplexity Simple", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-02-19", - "last_updated": "2025-02-19", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.003, "output": 1.003 }, - "limit": { "context": 127000, "input": 127000, "output": 128000 } - }, - "auto-model": { - "id": "auto-model", - "name": "Auto model", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2024-06-01", - "last_updated": "2024-06-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 1000000, "input": 1000000, "output": 1000000 } - }, - "gemini-2.0-flash-001": { - "id": "gemini-2.0-flash-001", - "name": "Gemini 2.0 Flash", - "attachment": true, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "release_date": "2024-12-11", - "last_updated": "2024-12-11", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.1003, "output": 0.408 }, - "limit": { "context": 1000000, "input": 1000000, "output": 8192 } - }, - "Llama-3.3-70B-Mhnnn-x1": { - "id": "Llama-3.3-70B-Mhnnn-x1", - "name": "Llama 3.3 70B Mhnnn x1", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2024-12-06", - "last_updated": "2024-12-06", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.306, "output": 0.306 }, - "limit": { "context": 32768, "input": 32768, "output": 16384 } - }, - "step-2-16k-exp": { - "id": "step-2-16k-exp", - "name": "Step-2 16k Exp", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2024-07-05", - "last_updated": "2024-07-05", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 7.004, "output": 19.992 }, - "limit": { "context": 16000, "input": 16000, "output": 8192 } - }, - "Llama-3.3-70B-Legion-V2.1": { - "id": "Llama-3.3-70B-Legion-V2.1", - "name": "Llama 3.3 70B Legion V2.1", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2024-12-06", - "last_updated": "2024-12-06", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.306, "output": 0.306 }, - "limit": { "context": 32768, "input": 32768, "output": 16384 } - }, - "Llama-3.3+(3.1v3.3)-70B-New-Dawn-v1.1": { - "id": "Llama-3.3+(3.1v3.3)-70B-New-Dawn-v1.1", - "name": "Llama 3.3+ 70B New Dawn v1.1", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2024-12-06", - "last_updated": "2024-12-06", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.306, "output": 0.306 }, - "limit": { "context": 32768, "input": 32768, "output": 16384 } - }, - "doubao-1-5-thinking-pro-vision-250415": { - "id": "doubao-1-5-thinking-pro-vision-250415", - "name": "Doubao 1.5 Thinking Pro Vision", - "attachment": true, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-04-15", - "last_updated": "2025-04-15", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.6, "output": 2.4 }, - "limit": { "context": 128000, "input": 128000, "output": 16384 } - }, - "gemini-2.0-flash-lite": { - "id": "gemini-2.0-flash-lite", - "name": "Gemini 2.0 Flash Lite", - "attachment": true, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2024-12-11", - "last_updated": "2024-12-11", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.0748, "output": 0.306 }, - "limit": { "context": 1000000, "input": 1000000, "output": 8192 } - }, - "claude-sonnet-4-5-20250929-thinking": { - "id": "claude-sonnet-4-5-20250929-thinking", - "name": "Claude Sonnet 4.5 Thinking", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "release_date": "2025-09-29", - "last_updated": "2025-09-29", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2.992, "output": 14.994 }, - "limit": { "context": 1000000, "input": 1000000, "output": 64000 } - }, - "yi-large": { - "id": "yi-large", - "name": "Yi Large", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2024-05-13", - "last_updated": "2024-05-13", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 3.196, "output": 3.196 }, - "limit": { "context": 32000, "input": 32000, "output": 4096 } - }, - "Gemma-3-27B-Nidum-Uncensored": { - "id": "Gemma-3-27B-Nidum-Uncensored", - "name": "Gemma 3 27B Nidum Uncensored", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-08-08", - "last_updated": "2025-08-08", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.306, "output": 0.306 }, - "limit": { "context": 32768, "input": 32768, "output": 96000 } - }, - "claude-opus-4-thinking:32768": { - "id": "claude-opus-4-thinking:32768", - "name": "Claude 4 Opus Thinking (32K)", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "release_date": "2025-05-22", - "last_updated": "2025-05-22", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 14.994, "output": 75.004 }, - "limit": { "context": 200000, "input": 200000, "output": 32000 } - }, - "Llama-3.3-70B-Cirrus-x1": { - "id": "Llama-3.3-70B-Cirrus-x1", - "name": "Llama 3.3 70B Cirrus x1", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2024-12-06", - "last_updated": "2024-12-06", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.306, "output": 0.306 }, - "limit": { "context": 32768, "input": 32768, "output": 16384 } - }, - "Gemma-3-27B-CardProjector-v4": { - "id": "Gemma-3-27B-CardProjector-v4", - "name": "Gemma 3 27B CardProjector v4", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-03-10", - "last_updated": "2025-03-10", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.306, "output": 0.306 }, - "limit": { "context": 32768, "input": 32768, "output": 16384 } - }, - "Qwen2.5-32B-EVA-v0.2": { - "id": "Qwen2.5-32B-EVA-v0.2", - "name": "Qwen 2.5 32b EVA", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2024-09-01", - "last_updated": "2024-09-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.493, "output": 0.493 }, - "limit": { "context": 24576, "input": 24576, "output": 8192 } - }, - "sonar-reasoning-pro": { - "id": "sonar-reasoning-pro", - "name": "Perplexity Reasoning Pro", - "attachment": false, - "reasoning": true, - "tool_call": false, - "structured_output": false, - "release_date": "2025-02-19", - "last_updated": "2025-02-19", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2.006, "output": 7.9985 }, - "limit": { "context": 127000, "input": 127000, "output": 128000 } - }, - "v0-1.5-lg": { - "id": "v0-1.5-lg", - "name": "v0 1.5 LG", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-07-04", - "last_updated": "2025-07-04", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 15, "output": 75 }, - "limit": { "context": 1000000, "input": 1000000, "output": 64000 } - }, - "gemini-2.5-flash-preview-09-2025-thinking": { - "id": "gemini-2.5-flash-preview-09-2025-thinking", - "name": "Gemini 2.5 Flash Preview (09/2025) – Thinking", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "release_date": "2025-09-25", - "last_updated": "2025-09-25", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.3, "output": 2.5 }, - "limit": { "context": 1048756, "input": 1048756, "output": 65536 } - }, - "azure-gpt-4-turbo": { - "id": "azure-gpt-4-turbo", - "name": "Azure gpt-4-turbo", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2023-11-06", - "last_updated": "2024-01-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 9.996, "output": 30.005 }, - "limit": { "context": 128000, "input": 128000, "output": 4096 } - }, - "deepseek-reasoner": { - "id": "deepseek-reasoner", - "name": "DeepSeek Reasoner", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-01-20", - "last_updated": "2025-01-20", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.4, "output": 1.7 }, - "limit": { "context": 64000, "input": 64000, "output": 65536 } - }, - "gemini-2.5-flash-nothinking": { - "id": "gemini-2.5-flash-nothinking", - "name": "Gemini 2.5 Flash (No Thinking)", - "attachment": true, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-06-05", - "last_updated": "2025-06-05", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.3, "output": 2.5 }, - "limit": { "context": 1048756, "input": 1048756, "output": 65536 } - }, - "Gemma-3-27B-ArliAI-RPMax-v3": { - "id": "Gemma-3-27B-ArliAI-RPMax-v3", - "name": "Gemma 3 27B RPMax v3", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-07-03", - "last_updated": "2025-07-03", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.306, "output": 0.306 }, - "limit": { "context": 32768, "input": 32768, "output": 16384 } - }, - "v0-1.0-md": { - "id": "v0-1.0-md", - "name": "v0 1.0 MD", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-07-04", - "last_updated": "2025-07-04", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 3, "output": 15 }, - "limit": { "context": 200000, "input": 200000, "output": 64000 } - }, - "step-3": { - "id": "step-3", - "name": "Step-3", - "attachment": true, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-07-31", - "last_updated": "2025-07-31", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.2499, "output": 0.6494 }, - "limit": { "context": 65536, "input": 65536, "output": 8192 } - }, - "brave": { - "id": "brave", - "name": "Brave (Answers)", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2023-03-02", - "last_updated": "2024-01-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 5, "output": 5 }, - "limit": { "context": 8192, "input": 8192, "output": 8192 } - }, - "ernie-x1-turbo-32k": { - "id": "ernie-x1-turbo-32k", - "name": "Ernie X1 Turbo 32k", - "attachment": true, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-05-08", - "last_updated": "2025-05-08", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.165, "output": 0.66 }, - "limit": { "context": 32000, "input": 32000, "output": 16384 } - }, - "glm-4-air": { - "id": "glm-4-air", - "name": "GLM-4 Air", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2024-06-05", - "last_updated": "2024-06-05", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.2006, "output": 0.2006 }, - "limit": { "context": 128000, "input": 128000, "output": 4096 } - }, - "GLM-4.5-Air-Derestricted": { - "id": "GLM-4.5-Air-Derestricted", - "name": "GLM 4.5 Air Derestricted", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-07-28", - "last_updated": "2025-07-28", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.306, "output": 0.306 }, - "limit": { "context": 202600, "input": 202600, "output": 98304 } - }, - "grok-3-fast-beta": { - "id": "grok-3-fast-beta", - "name": "Grok 3 Fast Beta", - "attachment": true, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-02-17", - "last_updated": "2025-02-17", - "modalities": { "input": ["text", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 5, "output": 25 }, - "limit": { "context": 131072, "input": 131072, "output": 131072 } - }, - "claude-sonnet-4-20250514": { - "id": "claude-sonnet-4-20250514", - "name": "Claude 4 Sonnet", - "attachment": true, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "release_date": "2025-09-29", - "last_updated": "2025-09-29", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2.992, "output": 14.994 }, - "limit": { "context": 200000, "input": 200000, "output": 64000 } - }, - "claude-3-7-sonnet-thinking:1024": { - "id": "claude-3-7-sonnet-thinking:1024", - "name": "Claude 3.7 Sonnet Thinking (1K)", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "release_date": "2025-02-24", - "last_updated": "2025-02-24", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2.992, "output": 14.994 }, - "limit": { "context": 200000, "input": 200000, "output": 64000 } - }, - "doubao-seed-code-preview-latest": { - "id": "doubao-seed-code-preview-latest", - "name": "Doubao Seed Code Preview", - "attachment": false, - "reasoning": true, - "tool_call": false, - "structured_output": false, - "release_date": "2025-11-13", - "last_updated": "2025-11-13", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.1, "output": 0.4 }, - "limit": { "context": 256000, "input": 256000, "output": 16384 } - }, - "grok-3-beta": { - "id": "grok-3-beta", - "name": "Grok 3 Beta", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-09-29", - "last_updated": "2025-09-29", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 3, "output": 15 }, - "limit": { "context": 131072, "input": 131072, "output": 131072 } - }, - "claude-3-7-sonnet-reasoner": { - "id": "claude-3-7-sonnet-reasoner", - "name": "Claude 3.7 Sonnet Reasoner", - "attachment": true, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-03-29", - "last_updated": "2025-03-29", - "modalities": { "input": ["text", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 3, "output": 15 }, - "limit": { "context": 128000, "input": 128000, "output": 8192 } - }, - "gemini-2.0-pro-exp-02-05": { - "id": "gemini-2.0-pro-exp-02-05", - "name": "Gemini 2.0 Pro 0205", - "attachment": true, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-02-05", - "last_updated": "2025-02-05", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.989, "output": 7.956 }, - "limit": { "context": 2097152, "input": 2097152, "output": 8192 } - }, - "glm-4-long": { - "id": "glm-4-long", - "name": "GLM-4 Long", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2024-08-01", - "last_updated": "2024-08-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.2006, "output": 0.2006 }, - "limit": { "context": 1000000, "input": 1000000, "output": 4096 } - }, - "venice-uncensored": { - "id": "venice-uncensored", - "name": "Venice Uncensored", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-02-24", - "last_updated": "2025-02-24", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.4, "output": 0.4 }, - "limit": { "context": 128000, "input": 128000, "output": 16384 } - }, - "Gemma-3-27B-Big-Tiger-v3": { - "id": "Gemma-3-27B-Big-Tiger-v3", - "name": "Gemma 3 27B Big Tiger v3", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-08-08", - "last_updated": "2025-08-08", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.306, "output": 0.306 }, - "limit": { "context": 32768, "input": 32768, "output": 16384 } - }, - "doubao-seed-2-0-mini-260215": { - "id": "doubao-seed-2-0-mini-260215", - "name": "Doubao Seed 2.0 Mini", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2026-02-14", - "last_updated": "2026-02-14", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.0493, "output": 0.4845 }, - "limit": { "context": 256000, "input": 256000, "output": 32000 } - }, - "gemini-2.0-flash-thinking-exp-01-21": { - "id": "gemini-2.0-flash-thinking-exp-01-21", - "name": "Gemini 2.0 Flash Thinking 0121", - "attachment": true, - "reasoning": true, - "tool_call": false, - "structured_output": false, - "release_date": "2025-01-21", - "last_updated": "2025-01-21", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.306, "output": 1.003 }, - "limit": { "context": 1000000, "input": 1000000, "output": 8192 } - }, - "Llama-3.3-70B-Damascus-R1": { - "id": "Llama-3.3-70B-Damascus-R1", - "name": "Damascus R1", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2024-12-06", - "last_updated": "2024-12-06", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.306, "output": 0.306 }, - "limit": { "context": 32768, "input": 32768, "output": 16384 } - }, - "doubao-1-5-thinking-pro-250415": { - "id": "doubao-1-5-thinking-pro-250415", - "name": "Doubao 1.5 Thinking Pro", - "attachment": true, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-04-17", - "last_updated": "2025-04-17", - "modalities": { "input": ["text", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.6, "output": 2.4 }, - "limit": { "context": 128000, "input": 128000, "output": 16384 } - }, - "asi1-mini": { - "id": "asi1-mini", - "name": "ASI1 Mini", - "attachment": true, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-03-25", - "last_updated": "2025-03-25", - "modalities": { "input": ["text", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1, "output": 1 }, - "limit": { "context": 128000, "input": 128000, "output": 16384 } - }, - "doubao-seed-2-0-code-preview-260215": { - "id": "doubao-seed-2-0-code-preview-260215", - "name": "Doubao Seed 2.0 Code Preview", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2026-02-14", - "last_updated": "2026-02-14", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.782, "output": 3.893 }, - "limit": { "context": 256000, "input": 256000, "output": 128000 } - }, - "exa-research-pro": { - "id": "exa-research-pro", - "name": "Exa (Research Pro)", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-06-04", - "last_updated": "2025-06-04", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2.5, "output": 2.5 }, - "limit": { "context": 16384, "input": 16384, "output": 16384 } - }, - "GLM-4.5-Air-Derestricted-Iceblink-v2": { - "id": "GLM-4.5-Air-Derestricted-Iceblink-v2", - "name": "GLM 4.5 Air Derestricted Iceblink v2", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-07-28", - "last_updated": "2025-07-28", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.306, "output": 0.306 }, - "limit": { "context": 158600, "input": 158600, "output": 65536 } - }, - "gemini-2.5-pro": { - "id": "gemini-2.5-pro", - "name": "Gemini 2.5 Pro", - "attachment": true, - "reasoning": true, - "tool_call": false, - "structured_output": false, - "release_date": "2025-06-05", - "last_updated": "2025-06-05", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2.5, "output": 10 }, - "limit": { "context": 1048756, "input": 1048756, "output": 65536 } - }, - "Llama-3.3-70B-Nova": { - "id": "Llama-3.3-70B-Nova", - "name": "Llama 3.3 70B Nova", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2024-12-06", - "last_updated": "2024-12-06", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.306, "output": 0.306 }, - "limit": { "context": 32768, "input": 32768, "output": 16384 } - }, - "Gemma-3-27B-it": { - "id": "Gemma-3-27B-it", - "name": "Gemma 3 27B IT", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-03-10", - "last_updated": "2025-03-10", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.306, "output": 0.306 }, - "limit": { "context": 32768, "input": 32768, "output": 16384 } - }, - "claude-opus-4-thinking:8192": { - "id": "claude-opus-4-thinking:8192", - "name": "Claude 4 Opus Thinking (8K)", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "release_date": "2025-05-22", - "last_updated": "2025-05-22", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 14.994, "output": 75.004 }, - "limit": { "context": 200000, "input": 200000, "output": 32000 } - }, - "claude-3-5-sonnet-20240620": { - "id": "claude-3-5-sonnet-20240620", - "name": "Claude 3.5 Sonnet Old", - "attachment": true, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "release_date": "2024-06-20", - "last_updated": "2024-06-20", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2.992, "output": 14.994 }, - "limit": { "context": 200000, "input": 200000, "output": 8192 } - }, - "claude-opus-4-1-20250805": { - "id": "claude-opus-4-1-20250805", - "name": "Claude 4.1 Opus", - "attachment": true, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "release_date": "2025-08-05", - "last_updated": "2025-08-05", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 14.994, "output": 75.004 }, - "limit": { "context": 200000, "input": 200000, "output": 32000 } - }, - "gemini-2.5-flash": { - "id": "gemini-2.5-flash", - "name": "Gemini 2.5 Flash", - "attachment": true, - "reasoning": true, - "tool_call": false, - "structured_output": false, - "release_date": "2025-06-05", - "last_updated": "2025-06-05", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.3, "output": 2.5 }, - "limit": { "context": 1048756, "input": 1048756, "output": 65536 } - }, - "sonar-pro": { - "id": "sonar-pro", - "name": "Perplexity Pro", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-02-19", - "last_updated": "2025-02-19", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2.992, "output": 14.994 }, - "limit": { "context": 200000, "input": 200000, "output": 128000 } - }, - "sarvan-medium": { - "id": "sarvan-medium", - "name": "Sarvam Medium", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-01-01", - "last_updated": "2025-01-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.25, "output": 0.75 }, - "limit": { "context": 128000, "input": 128000, "output": 16384 } - }, - "hunyuan-t1-latest": { - "id": "hunyuan-t1-latest", - "name": "Hunyuan T1", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-03-22", - "last_updated": "2025-03-22", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.17, "output": 0.66 }, - "limit": { "context": 256000, "input": 256000, "output": 16384 } - }, - "Llama-3.3-70B-RAWMAW": { - "id": "Llama-3.3-70B-RAWMAW", - "name": "Llama 3.3 70B RAWMAW", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2024-12-06", - "last_updated": "2024-12-06", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.306, "output": 0.306 }, - "limit": { "context": 32768, "input": 32768, "output": 16384 } - }, - "kimi-thinking-preview": { - "id": "kimi-thinking-preview", - "name": "Kimi Thinking Preview", - "attachment": true, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-05-07", - "last_updated": "2025-05-07", - "modalities": { "input": ["text", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 31.46, "output": 31.46 }, - "limit": { "context": 128000, "input": 128000, "output": 16384 } - }, - "claude-sonnet-4-thinking:32768": { - "id": "claude-sonnet-4-thinking:32768", - "name": "Claude 4 Sonnet Thinking (32K)", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "release_date": "2025-05-22", - "last_updated": "2025-05-22", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2.992, "output": 14.994 }, - "limit": { "context": 1000000, "input": 1000000, "output": 64000 } - }, - "gemini-2.5-pro-preview-03-25": { - "id": "gemini-2.5-pro-preview-03-25", - "name": "Gemini 2.5 Pro Preview 0325", - "attachment": true, - "reasoning": true, - "tool_call": false, - "structured_output": false, - "release_date": "2025-03-25", - "last_updated": "2025-03-25", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2.5, "output": 10 }, - "limit": { "context": 1048756, "input": 1048756, "output": 65536 } - }, - "gemini-2.5-flash-preview-09-2025": { - "id": "gemini-2.5-flash-preview-09-2025", - "name": "Gemini 2.5 Flash Preview (09/2025)", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "release_date": "2025-09-25", - "last_updated": "2025-09-25", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.3, "output": 2.5 }, - "limit": { "context": 1048756, "input": 1048756, "output": 65536 } - }, - "Llama-3.3-70B-Electra-R1": { - "id": "Llama-3.3-70B-Electra-R1", - "name": "Llama 3.3 70B Electra R1", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2024-12-06", - "last_updated": "2024-12-06", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.306, "output": 0.306 }, - "limit": { "context": 32768, "input": 32768, "output": 16384 } - }, - "Llama-3.3-70B-ArliAI-RPMax-v2": { - "id": "Llama-3.3-70B-ArliAI-RPMax-v2", - "name": "Llama 3.3 70B ArliAI RPMax v2", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-08-08", - "last_updated": "2025-08-08", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.306, "output": 0.306 }, - "limit": { "context": 32768, "input": 32768, "output": 16384 } - }, - "GLM-4.5-Air-Derestricted-Steam": { - "id": "GLM-4.5-Air-Derestricted-Steam", - "name": "GLM 4.5 Air Derestricted Steam", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-07-28", - "last_updated": "2025-07-28", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.306, "output": 0.306 }, - "limit": { "context": 220600, "input": 220600, "output": 65536 } - }, - "doubao-seed-1-8-251215": { - "id": "doubao-seed-1-8-251215", - "name": "Doubao Seed 1.8", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-12-15", - "last_updated": "2025-12-15", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.612, "output": 6.12 }, - "limit": { "context": 128000, "input": 128000, "output": 8192 } - }, - "Llama-3.3-70B-The-Omega-Directive-Unslop-v2.0": { - "id": "Llama-3.3-70B-The-Omega-Directive-Unslop-v2.0", - "name": "Llama 3.3 70B Omega Directive Unslop v2.0", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2024-12-06", - "last_updated": "2024-12-06", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.306, "output": 0.306 }, - "limit": { "context": 32768, "input": 32768, "output": 16384 } - }, - "GLM-4.5-Air-Derestricted-Steam-ReExtract": { - "id": "GLM-4.5-Air-Derestricted-Steam-ReExtract", - "name": "GLM 4.5 Air Derestricted Steam ReExtract", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-12-12", - "last_updated": "2025-12-12", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.306, "output": 0.306 }, - "limit": { "context": 131072, "input": 131072, "output": 65536 } - }, - "exa-research": { - "id": "exa-research", - "name": "Exa (Research)", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-06-04", - "last_updated": "2025-06-04", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2.5, "output": 2.5 }, - "limit": { "context": 8192, "input": 8192, "output": 8192 } - }, - "azure-gpt-4o": { - "id": "azure-gpt-4o", - "name": "Azure gpt-4o", - "attachment": true, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "release_date": "2024-05-13", - "last_updated": "2024-05-13", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2.499, "output": 9.996 }, - "limit": { "context": 128000, "input": 128000, "output": 16384 } - }, - "study_gpt-chatgpt-4o-latest": { - "id": "study_gpt-chatgpt-4o-latest", - "name": "Study Mode", - "attachment": true, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2024-05-13", - "last_updated": "2024-05-13", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 4.998, "output": 14.994 }, - "limit": { "context": 200000, "input": 200000, "output": 16384 } - }, - "Llama-3.3-70B-Aurora-Borealis": { - "id": "Llama-3.3-70B-Aurora-Borealis", - "name": "Llama 3.3 70B Aurora Borealis", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2024-12-06", - "last_updated": "2024-12-06", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.306, "output": 0.306 }, - "limit": { "context": 32768, "input": 32768, "output": 16384 } - }, - "Baichuan4-Turbo": { - "id": "Baichuan4-Turbo", - "name": "Baichuan 4 Turbo", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-08-19", - "last_updated": "2025-08-19", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2.42, "output": 2.42 }, - "limit": { "context": 128000, "input": 128000, "output": 32768 } - }, - "Baichuan4-Air": { - "id": "Baichuan4-Air", - "name": "Baichuan 4 Air", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-08-19", - "last_updated": "2025-08-19", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.157, "output": 0.157 }, - "limit": { "context": 32768, "input": 32768, "output": 32768 } - }, - "KAT-Coder-Exp-72B-1010": { - "id": "KAT-Coder-Exp-72B-1010", - "name": "KAT Coder Exp 72B 1010", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-10-28", - "last_updated": "2025-10-28", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.1, "output": 0.2 }, - "limit": { "context": 128000, "input": 128000, "output": 32768 } - }, - "gemini-2.0-flash-exp-image-generation": { - "id": "gemini-2.0-flash-exp-image-generation", - "name": "Gemini Text + Image", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-02-19", - "last_updated": "2025-02-19", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.2, "output": 0.8 }, - "limit": { "context": 32767, "input": 32767, "output": 8192 } - }, - "Llama-3.3-70B-Dark-Ages-v0.1": { - "id": "Llama-3.3-70B-Dark-Ages-v0.1", - "name": "Llama 3.3 70B Dark Ages v0.1", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2024-12-06", - "last_updated": "2024-12-06", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.306, "output": 0.306 }, - "limit": { "context": 32768, "input": 32768, "output": 16384 } - }, - "claude-opus-4-1-thinking:8192": { - "id": "claude-opus-4-1-thinking:8192", - "name": "Claude 4.1 Opus Thinking (8K)", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "release_date": "2025-05-22", - "last_updated": "2025-05-22", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 14.994, "output": 75.004 }, - "limit": { "context": 200000, "input": 200000, "output": 32000 } - }, - "Magistral-Small-2506": { - "id": "Magistral-Small-2506", - "name": "Magistral Small 2506", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-09-25", - "last_updated": "2025-09-25", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.4, "output": 1.4 }, - "limit": { "context": 32768, "input": 32768, "output": 32768 } - }, - "Llama-3.3-70B-MiraiFanfare": { - "id": "Llama-3.3-70B-MiraiFanfare", - "name": "Llama 3.3 70b Mirai Fanfare", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-07-26", - "last_updated": "2025-07-26", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.493, "output": 0.493 }, - "limit": { "context": 32768, "input": 32768, "output": 16384 } - }, - "glm-4-flash": { - "id": "glm-4-flash", - "name": "GLM-4 Flash", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2024-08-01", - "last_updated": "2024-08-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.1003, "output": 0.1003 }, - "limit": { "context": 128000, "input": 128000, "output": 4096 } - }, - "Llama-3.3-70B-Shakudo": { - "id": "Llama-3.3-70B-Shakudo", - "name": "Llama 3.3 70B Shakudo", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2024-12-06", - "last_updated": "2024-12-06", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.306, "output": 0.306 }, - "limit": { "context": 32768, "input": 32768, "output": 16384 } - }, - "gemini-2.0-pro-reasoner": { - "id": "gemini-2.0-pro-reasoner", - "name": "Gemini 2.0 Pro Reasoner", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-02-05", - "last_updated": "2025-02-05", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.292, "output": 4.998 }, - "limit": { "context": 128000, "input": 128000, "output": 65536 } - }, - "Llama-3.3-70B-Fallen-R1-v1": { - "id": "Llama-3.3-70B-Fallen-R1-v1", - "name": "Llama 3.3 70B Fallen R1 v1", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2024-12-06", - "last_updated": "2024-12-06", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.306, "output": 0.306 }, - "limit": { "context": 32768, "input": 32768, "output": 16384 } - }, - "gemini-2.5-flash-lite-preview-06-17": { - "id": "gemini-2.5-flash-lite-preview-06-17", - "name": "Gemini 2.5 Flash Lite Preview", - "attachment": true, - "reasoning": true, - "tool_call": false, - "structured_output": false, - "release_date": "2025-06-17", - "last_updated": "2025-06-17", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.15, "output": 0.6 }, - "limit": { "context": 1048756, "input": 1048756, "output": 65536 } - }, - "doubao-seed-1-6-flash-250615": { - "id": "doubao-seed-1-6-flash-250615", - "name": "Doubao Seed 1.6 Flash", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-06-15", - "last_updated": "2025-06-15", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.0374, "output": 0.374 }, - "limit": { "context": 256000, "input": 256000, "output": 16384 } - }, - "claude-opus-4-5-20251101:thinking": { - "id": "claude-opus-4-5-20251101:thinking", - "name": "Claude 4.5 Opus Thinking", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "release_date": "2025-11-01", - "last_updated": "2025-11-01", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 4.998, "output": 25.007 }, - "limit": { "context": 200000, "input": 200000, "output": 32000 } - }, - "Llama-3.3-70B-Strawberrylemonade-v1.2": { - "id": "Llama-3.3-70B-Strawberrylemonade-v1.2", - "name": "Llama 3.3 70B StrawberryLemonade v1.2", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2024-12-06", - "last_updated": "2024-12-06", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.306, "output": 0.306 }, - "limit": { "context": 32768, "input": 32768, "output": 16384 } - }, - "Llama-3.3-70B-Magnum-v4-SE": { - "id": "Llama-3.3-70B-Magnum-v4-SE", - "name": "Llama 3.3 70B Magnum v4 SE", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2024-12-06", - "last_updated": "2024-12-06", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.306, "output": 0.306 }, - "limit": { "context": 32768, "input": 32768, "output": 16384 } - }, - "MiniMax-M2": { - "id": "MiniMax-M2", - "name": "MiniMax M2", - "attachment": false, - "reasoning": true, - "tool_call": false, - "structured_output": false, - "release_date": "2025-10-25", - "last_updated": "2025-10-25", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.17, "output": 1.53 }, - "limit": { "context": 200000, "input": 200000, "output": 131072 } - }, - "doubao-seed-1-6-250615": { - "id": "doubao-seed-1-6-250615", - "name": "Doubao Seed 1.6", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-06-15", - "last_updated": "2025-06-15", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.204, "output": 0.51 }, - "limit": { "context": 256000, "input": 256000, "output": 16384 } - }, - "Llama-3.3-70B-StrawberryLemonade-v1.0": { - "id": "Llama-3.3-70B-StrawberryLemonade-v1.0", - "name": "Llama 3.3 70B StrawberryLemonade v1.0", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2024-12-06", - "last_updated": "2024-12-06", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.306, "output": 0.306 }, - "limit": { "context": 32768, "input": 32768, "output": 16384 } - }, - "Meta-Llama-3-1-8B-Instruct-FP8": { - "id": "Meta-Llama-3-1-8B-Instruct-FP8", - "name": "Llama 3.1 8B (decentralized)", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2024-07-23", - "last_updated": "2024-07-23", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.02, "output": 0.03 }, - "limit": { "context": 128000, "input": 128000, "output": 16384 } - }, - "claude-opus-4-1-thinking:32000": { - "id": "claude-opus-4-1-thinking:32000", - "name": "Claude 4.1 Opus Thinking (32K)", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "release_date": "2025-05-22", - "last_updated": "2025-05-22", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 14.994, "output": 75.004 }, - "limit": { "context": 200000, "input": 200000, "output": 32000 } - }, - "GLM-4.5-Air-Derestricted-Iceblink-v2-ReExtract": { - "id": "GLM-4.5-Air-Derestricted-Iceblink-v2-ReExtract", - "name": "GLM 4.5 Air Derestricted Iceblink v2 ReExtract", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-12-12", - "last_updated": "2025-12-12", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.306, "output": 0.306 }, - "limit": { "context": 131072, "input": 131072, "output": 65536 } - }, - "gemini-3-pro-preview-thinking": { - "id": "gemini-3-pro-preview-thinking", - "name": "Gemini 3 Pro Thinking", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "release_date": "2025-11-18", - "last_updated": "2025-11-18", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2, "output": 12 }, - "limit": { "context": 1048756, "input": 1048756, "output": 65536 } - }, - "gemini-2.5-flash-lite-preview-09-2025-thinking": { - "id": "gemini-2.5-flash-lite-preview-09-2025-thinking", - "name": "Gemini 2.5 Flash Lite Preview (09/2025) – Thinking", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "release_date": "2025-09-25", - "last_updated": "2025-09-25", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.1, "output": 0.4 }, - "limit": { "context": 1048756, "input": 1048756, "output": 65536 } - }, - "Llama-3.3-70B-Vulpecula-R1": { - "id": "Llama-3.3-70B-Vulpecula-R1", - "name": "Llama 3.3 70B Vulpecula R1", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2024-12-06", - "last_updated": "2024-12-06", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.306, "output": 0.306 }, - "limit": { "context": 32768, "input": 32768, "output": 16384 } - }, - "doubao-1.5-vision-pro-32k": { - "id": "doubao-1.5-vision-pro-32k", - "name": "Doubao 1.5 Vision Pro 32k", - "attachment": true, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-01-22", - "last_updated": "2025-01-22", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.459, "output": 1.377 }, - "limit": { "context": 32000, "input": 32000, "output": 8192 } - }, - "deepseek-reasoner-cheaper": { - "id": "deepseek-reasoner-cheaper", - "name": "Deepseek R1 Cheaper", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-01-20", - "last_updated": "2025-01-20", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.4, "output": 1.7 }, - "limit": { "context": 128000, "input": 128000, "output": 65536 } - }, - "ernie-x1.1-preview": { - "id": "ernie-x1.1-preview", - "name": "ERNIE X1.1", - "attachment": true, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-09-10", - "last_updated": "2025-09-10", - "modalities": { "input": ["text", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.15, "output": 0.6 }, - "limit": { "context": 64000, "input": 64000, "output": 8192 } - }, - "KAT-Coder-Air-V1": { - "id": "KAT-Coder-Air-V1", - "name": "KAT Coder Air V1", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-10-28", - "last_updated": "2025-10-28", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.1, "output": 0.2 }, - "limit": { "context": 128000, "input": 128000, "output": 32768 } - }, - "mercury-coder-small": { - "id": "mercury-coder-small", - "name": "Mercury Coder Small", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-02-26", - "last_updated": "2025-02-26", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.25, "output": 1 }, - "limit": { "context": 32768, "input": 32768, "output": 16384 } - }, - "doubao-1.5-pro-256k": { - "id": "doubao-1.5-pro-256k", - "name": "Doubao 1.5 Pro 256k", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-03-12", - "last_updated": "2025-03-12", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.799, "output": 1.445 }, - "limit": { "context": 256000, "input": 256000, "output": 16384 } - }, - "glm-4-plus": { - "id": "glm-4-plus", - "name": "GLM-4 Plus", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2024-08-01", - "last_updated": "2024-08-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 7.497, "output": 7.497 }, - "limit": { "context": 128000, "input": 128000, "output": 4096 } - }, - "Baichuan-M2": { - "id": "Baichuan-M2", - "name": "Baichuan M2 32B Medical", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-08-19", - "last_updated": "2025-08-19", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 15.73, "output": 15.73 }, - "limit": { "context": 32768, "input": 32768, "output": 32768 } - }, - "auto-model-standard": { - "id": "auto-model-standard", - "name": "Auto model (Standard)", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2024-06-01", - "last_updated": "2024-06-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 9.996, "output": 19.992 }, - "limit": { "context": 1000000, "input": 1000000, "output": 1000000 } - }, - "Gemma-3-27B-it-Abliterated": { - "id": "Gemma-3-27B-it-Abliterated", - "name": "Gemma 3 27B IT Abliterated", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-07-03", - "last_updated": "2025-07-03", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.42, "output": 0.42 }, - "limit": { "context": 32768, "input": 32768, "output": 96000 } - }, - "learnlm-1.5-pro-experimental": { - "id": "learnlm-1.5-pro-experimental", - "name": "Gemini LearnLM Experimental", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2024-05-14", - "last_updated": "2024-05-14", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 3.502, "output": 10.506 }, - "limit": { "context": 32767, "input": 32767, "output": 8192 } - }, - "claude-opus-4-thinking:1024": { - "id": "claude-opus-4-thinking:1024", - "name": "Claude 4 Opus Thinking (1K)", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "release_date": "2025-05-22", - "last_updated": "2025-05-22", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 14.994, "output": 75.004 }, - "limit": { "context": 200000, "input": 200000, "output": 32000 } - }, - "gemini-2.5-flash-preview-04-17:thinking": { - "id": "gemini-2.5-flash-preview-04-17:thinking", - "name": "Gemini 2.5 Flash Preview Thinking", - "attachment": true, - "reasoning": true, - "tool_call": false, - "structured_output": false, - "release_date": "2025-04-17", - "last_updated": "2025-04-17", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.15, "output": 3.5 }, - "limit": { "context": 1048756, "input": 1048756, "output": 65536 } - }, - "v0-1.5-md": { - "id": "v0-1.5-md", - "name": "v0 1.5 MD", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-07-04", - "last_updated": "2025-07-04", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 3, "output": 15 }, - "limit": { "context": 200000, "input": 200000, "output": 64000 } - }, - "Llama-3.3-70B-Electranova-v1.0": { - "id": "Llama-3.3-70B-Electranova-v1.0", - "name": "Llama 3.3 70B Electranova v1.0", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2024-12-06", - "last_updated": "2024-12-06", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.306, "output": 0.306 }, - "limit": { "context": 32768, "input": 32768, "output": 16384 } - }, - "Llama-3.3+(3.1v3.3)-70B-Hanami-x1": { - "id": "Llama-3.3+(3.1v3.3)-70B-Hanami-x1", - "name": "Llama 3.3+ 70B Hanami x1", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2024-12-06", - "last_updated": "2024-12-06", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.306, "output": 0.306 }, - "limit": { "context": 32768, "input": 32768, "output": 16384 } - }, - "phi-4-multimodal-instruct": { - "id": "phi-4-multimodal-instruct", - "name": "Phi 4 Multimodal", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-07-26", - "last_updated": "2025-07-26", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.07, "output": 0.11 }, - "limit": { "context": 128000, "input": 128000, "output": 16384 } - }, - "claude-haiku-4-5-20251001": { - "id": "claude-haiku-4-5-20251001", - "name": "Claude Haiku 4.5", - "attachment": true, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "release_date": "2025-10-15", - "last_updated": "2025-10-15", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1, "output": 5 }, - "limit": { "context": 200000, "input": 200000, "output": 64000 } - }, - "ernie-4.5-8k-preview": { - "id": "ernie-4.5-8k-preview", - "name": "Ernie 4.5 8k Preview", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-03-25", - "last_updated": "2025-03-25", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.66, "output": 2.6 }, - "limit": { "context": 8000, "input": 8000, "output": 16384 } - }, - "claude-3-7-sonnet-thinking:32768": { - "id": "claude-3-7-sonnet-thinking:32768", - "name": "Claude 3.7 Sonnet Thinking (32K)", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "release_date": "2025-07-15", - "last_updated": "2025-07-15", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2.992, "output": 14.994 }, - "limit": { "context": 200000, "input": 200000, "output": 64000 } - }, - "qwen3-max-2026-01-23": { - "id": "qwen3-max-2026-01-23", - "name": "Qwen3 Max 2026-01-23", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2026-01-26", - "last_updated": "2026-01-26", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.2002, "output": 6.001 }, - "limit": { "context": 256000, "input": 256000, "output": 32768 } - }, - "claude-3-7-sonnet-thinking:8192": { - "id": "claude-3-7-sonnet-thinking:8192", - "name": "Claude 3.7 Sonnet Thinking (8K)", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "release_date": "2025-02-24", - "last_updated": "2025-02-24", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2.992, "output": 14.994 }, - "limit": { "context": 200000, "input": 200000, "output": 64000 } - }, - "Llama-3.3-70B-Incandescent-Malevolence": { - "id": "Llama-3.3-70B-Incandescent-Malevolence", - "name": "Llama 3.3 70B Incandescent Malevolence", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2024-12-06", - "last_updated": "2024-12-06", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.306, "output": 0.306 }, - "limit": { "context": 32768, "input": 32768, "output": 16384 } - }, - "step-2-mini": { - "id": "step-2-mini", - "name": "Step-2 Mini", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2024-07-05", - "last_updated": "2024-07-05", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.2006, "output": 0.408 }, - "limit": { "context": 8000, "input": 8000, "output": 4096 } - }, - "auto-model-basic": { - "id": "auto-model-basic", - "name": "Auto model (Basic)", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2024-06-01", - "last_updated": "2024-06-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 9.996, "output": 19.992 }, - "limit": { "context": 1000000, "input": 1000000, "output": 1000000 } - }, - "claude-sonnet-4-thinking": { - "id": "claude-sonnet-4-thinking", - "name": "Claude 4 Sonnet Thinking", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "release_date": "2025-02-24", - "last_updated": "2025-02-24", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2.992, "output": 14.994 }, - "limit": { "context": 1000000, "input": 1000000, "output": 64000 } - }, - "Llama-3.3-70B-GeneticLemonade-Unleashed-v3": { - "id": "Llama-3.3-70B-GeneticLemonade-Unleashed-v3", - "name": "Llama 3.3 70B GeneticLemonade Unleashed v3", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2024-12-06", - "last_updated": "2024-12-06", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.306, "output": 0.306 }, - "limit": { "context": 32768, "input": 32768, "output": 16384 } - }, - "step-r1-v-mini": { - "id": "step-r1-v-mini", - "name": "Step R1 V Mini", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-04-08", - "last_updated": "2025-04-08", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2.5, "output": 11 }, - "limit": { "context": 128000, "input": 128000, "output": 65536 } - }, - "glm-4-plus-0111": { - "id": "glm-4-plus-0111", - "name": "GLM 4 Plus 0111", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-02-19", - "last_updated": "2025-02-19", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 9.996, "output": 9.996 }, - "limit": { "context": 128000, "input": 128000, "output": 4096 } - }, - "z-image-turbo": { - "id": "z-image-turbo", - "name": "Z Image Turbo", - "attachment": true, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "temperature": true, - "release_date": "2025-11-27", - "last_updated": "2025-11-27", - "modalities": { "input": ["text"], "output": ["image"] }, - "open_weights": false, - "limit": { "context": 0, "output": 0 } - }, - "Llama-3.3-70B-Sapphira-0.2": { - "id": "Llama-3.3-70B-Sapphira-0.2", - "name": "Llama 3.3 70B Sapphira 0.2", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2024-12-06", - "last_updated": "2024-12-06", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.306, "output": 0.306 }, - "limit": { "context": 32768, "input": 32768, "output": 16384 } - }, - "deepseek-math-v2": { - "id": "deepseek-math-v2", - "name": "DeepSeek Math V2", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-12-03", - "last_updated": "2025-12-03", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.6, "output": 2.2 }, - "limit": { "context": 128000, "input": 128000, "output": 65536 } - }, - "azure-gpt-4o-mini": { - "id": "azure-gpt-4o-mini", - "name": "Azure gpt-4o-mini", - "attachment": true, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "release_date": "2024-07-18", - "last_updated": "2024-07-18", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.1496, "output": 0.595 }, - "limit": { "context": 128000, "input": 128000, "output": 16384 } - }, - "Mistral-Nemo-12B-Instruct-2407": { - "id": "Mistral-Nemo-12B-Instruct-2407", - "name": "Mistral Nemo 12B Instruct 2407", - "attachment": true, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2024-07-18", - "last_updated": "2024-07-18", - "modalities": { "input": ["text", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.01, "output": 0.01 }, - "limit": { "context": 16384, "input": 16384, "output": 16384 } - }, - "jamba-mini-1.6": { - "id": "jamba-mini-1.6", - "name": "Jamba Mini 1.6", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-03-01", - "last_updated": "2025-03-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.1989, "output": 0.408 }, - "limit": { "context": 256000, "input": 256000, "output": 4096 } - }, - "qwen3-vl-235b-a22b-thinking": { - "id": "qwen3-vl-235b-a22b-thinking", - "name": "Qwen3 VL 235B A22B Thinking", - "attachment": true, - "reasoning": true, - "tool_call": false, - "structured_output": false, - "release_date": "2025-08-26", - "last_updated": "2025-08-26", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.5, "output": 6 }, - "limit": { "context": 32768, "input": 32768, "output": 32768 } - }, - "Llama-3.3-70B-ArliAI-RPMax-v1.4": { - "id": "Llama-3.3-70B-ArliAI-RPMax-v1.4", - "name": "Llama 3.3 70B RPMax v1.4", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2024-12-06", - "last_updated": "2024-12-06", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.306, "output": 0.306 }, - "limit": { "context": 32768, "input": 32768, "output": 16384 } - }, - "Llama-3.3-70B-Anthrobomination": { - "id": "Llama-3.3-70B-Anthrobomination", - "name": "Llama 3.3 70B Anthrobomination", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2024-12-06", - "last_updated": "2024-12-06", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.306, "output": 0.306 }, - "limit": { "context": 32768, "input": 32768, "output": 16384 } - }, - "glm-4-air-0111": { - "id": "glm-4-air-0111", - "name": "GLM 4 Air 0111", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-01-11", - "last_updated": "2025-01-11", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.1394, "output": 0.1394 }, - "limit": { "context": 128000, "input": 128000, "output": 4096 } - }, - "jamba-mini": { - "id": "jamba-mini", - "name": "Jamba Mini", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-07-09", - "last_updated": "2025-07-09", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.1989, "output": 0.408 }, - "limit": { "context": 256000, "input": 256000, "output": 4096 } - }, - "ernie-5.0-thinking-preview": { - "id": "ernie-5.0-thinking-preview", - "name": "Ernie 5.0 Thinking Preview", - "attachment": true, - "reasoning": true, - "tool_call": false, - "structured_output": false, - "release_date": "2025-11-18", - "last_updated": "2025-11-18", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.1, "output": 2 }, - "limit": { "context": 128000, "input": 128000, "output": 16384 } - }, - "Gemma-3-27B-Glitter": { - "id": "Gemma-3-27B-Glitter", - "name": "Gemma 3 27B Glitter", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-03-10", - "last_updated": "2025-03-10", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.306, "output": 0.306 }, - "limit": { "context": 32768, "input": 32768, "output": 16384 } - }, - "hidream": { - "id": "hidream", - "name": "Hidream", - "attachment": true, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "temperature": true, - "release_date": "2024-01-01", - "last_updated": "2024-01-01", - "modalities": { "input": ["text"], "output": ["image"] }, - "open_weights": false, - "limit": { "context": 0, "output": 0 } - }, - "glm-4.1v-thinking-flashx": { - "id": "glm-4.1v-thinking-flashx", - "name": "GLM 4.1V Thinking FlashX", - "attachment": true, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-07-09", - "last_updated": "2025-07-09", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.3, "output": 0.3 }, - "limit": { "context": 64000, "input": 64000, "output": 8192 } - }, - "phi-4-mini-instruct": { - "id": "phi-4-mini-instruct", - "name": "Phi 4 Mini", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-07-26", - "last_updated": "2025-07-26", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.17, "output": 0.68 }, - "limit": { "context": 128000, "input": 128000, "output": 16384 } - }, - "Llama-3.3-70B-Sapphira-0.1": { - "id": "Llama-3.3-70B-Sapphira-0.1", - "name": "Llama 3.3 70B Sapphira 0.1", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2024-12-06", - "last_updated": "2024-12-06", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.306, "output": 0.306 }, - "limit": { "context": 32768, "input": 32768, "output": 16384 } - }, - "yi-medium-200k": { - "id": "yi-medium-200k", - "name": "Yi Medium 200k", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2024-03-01", - "last_updated": "2024-03-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2.499, "output": 2.499 }, - "limit": { "context": 200000, "input": 200000, "output": 4096 } - }, - "jamba-mini-1.7": { - "id": "jamba-mini-1.7", - "name": "Jamba Mini 1.7", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-07-09", - "last_updated": "2025-07-09", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.1989, "output": 0.408 }, - "limit": { "context": 256000, "input": 256000, "output": 4096 } - }, - "gemini-3-pro-image-preview": { - "id": "gemini-3-pro-image-preview", - "name": "Gemini 3 Pro Image", - "attachment": true, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-11-18", - "last_updated": "2025-11-18", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2, "output": 12 }, - "limit": { "context": 1048756, "input": 1048756, "output": 65536 } - }, - "fastgpt": { - "id": "fastgpt", - "name": "Web Answer", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2023-08-01", - "last_updated": "2024-01-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 7.5, "output": 7.5 }, - "limit": { "context": 32768, "input": 32768, "output": 32768 } - }, - "GLM-4.5-Air-Derestricted-Iceblink": { - "id": "GLM-4.5-Air-Derestricted-Iceblink", - "name": "GLM 4.5 Air Derestricted Iceblink", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-07-28", - "last_updated": "2025-07-28", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.306, "output": 0.306 }, - "limit": { "context": 131072, "input": 131072, "output": 98304 } - }, - "Llama-3.3-70B-Predatorial-Extasy": { - "id": "Llama-3.3-70B-Predatorial-Extasy", - "name": "Llama 3.3 70B Predatorial Extasy", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2024-12-06", - "last_updated": "2024-12-06", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.306, "output": 0.306 }, - "limit": { "context": 32768, "input": 32768, "output": 16384 } - }, - "claude-3-7-sonnet-thinking": { - "id": "claude-3-7-sonnet-thinking", - "name": "Claude 3.7 Sonnet Thinking", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "release_date": "2025-02-24", - "last_updated": "2025-02-24", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2.992, "output": 14.994 }, - "limit": { "context": 200000, "input": 200000, "output": 16000 } - }, - "Llama-3.3-70B-Magnum-v4-SE-Cirrus-x1-SLERP": { - "id": "Llama-3.3-70B-Magnum-v4-SE-Cirrus-x1-SLERP", - "name": "Llama 3.3 70B Magnum v4 SE Cirrus x1 SLERP", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-07-26", - "last_updated": "2025-07-26", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.306, "output": 0.306 }, - "limit": { "context": 32768, "input": 32768, "output": 16384 } - }, - "claude-3-5-sonnet-20241022": { - "id": "claude-3-5-sonnet-20241022", - "name": "Claude 3.5 Sonnet", - "attachment": true, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "release_date": "2025-08-26", - "last_updated": "2025-08-26", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2.992, "output": 14.994 }, - "limit": { "context": 200000, "input": 200000, "output": 8192 } - }, - "gemini-exp-1206": { - "id": "gemini-exp-1206", - "name": "Gemini 2.0 Pro 1206", - "attachment": true, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2024-12-06", - "last_updated": "2024-12-06", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.258, "output": 4.998 }, - "limit": { "context": 2097152, "input": 2097152, "output": 8192 } - }, - "doubao-seed-2-0-lite-260215": { - "id": "doubao-seed-2-0-lite-260215", - "name": "Doubao Seed 2.0 Lite", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2026-02-14", - "last_updated": "2026-02-14", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.1462, "output": 0.8738 }, - "limit": { "context": 256000, "input": 256000, "output": 32000 } - }, - "jamba-large": { - "id": "jamba-large", - "name": "Jamba Large", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-07-09", - "last_updated": "2025-07-09", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.989, "output": 7.99 }, - "limit": { "context": 256000, "input": 256000, "output": 4096 } - }, - "hunyuan-turbos-20250226": { - "id": "hunyuan-turbos-20250226", - "name": "Hunyuan Turbo S", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-02-27", - "last_updated": "2025-02-27", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.187, "output": 0.374 }, - "limit": { "context": 24000, "input": 24000, "output": 8192 } - }, - "ernie-4.5-turbo-vl-32k": { - "id": "ernie-4.5-turbo-vl-32k", - "name": "Ernie 4.5 Turbo VL 32k", - "attachment": true, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-05-08", - "last_updated": "2025-05-08", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.495, "output": 1.43 }, - "limit": { "context": 32000, "input": 32000, "output": 16384 } - }, - "grok-3-mini-beta": { - "id": "grok-3-mini-beta", - "name": "Grok 3 Mini Beta", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-02-17", - "last_updated": "2025-02-17", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.3, "output": 0.5 }, - "limit": { "context": 131072, "input": 131072, "output": 131072 } - }, - "qwen3-30b-a3b-instruct-2507": { - "id": "qwen3-30b-a3b-instruct-2507", - "name": "Qwen3 30B A3B Instruct 2507", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-02-20", - "last_updated": "2025-02-20", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.2, "output": 0.5 }, - "limit": { "context": 256000, "input": 256000, "output": 32768 } - }, - "Llama-3.3-70B-Argunaut-1-SFT": { - "id": "Llama-3.3-70B-Argunaut-1-SFT", - "name": "Llama 3.3 70B Argunaut 1 SFT", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2024-12-06", - "last_updated": "2024-12-06", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.306, "output": 0.306 }, - "limit": { "context": 32768, "input": 32768, "output": 16384 } - }, - "abacusai/Dracarys-72B-Instruct": { - "id": "abacusai/Dracarys-72B-Instruct", - "name": "Llama 3.1 70B Dracarys 2", - "family": "llama", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-08-02", - "last_updated": "2025-08-02", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.49299999999999994, "output": 0.49299999999999994 }, - "limit": { "context": 16384, "input": 16384, "output": 8192 } - }, - "THUDM/GLM-Z1-32B-0414": { - "id": "THUDM/GLM-Z1-32B-0414", - "name": "GLM Z1 32B 0414", - "family": "glm-z", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-04-15", - "last_updated": "2025-04-15", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.2, "output": 0.2 }, - "limit": { "context": 128000, "input": 128000, "output": 65536 } - }, - "THUDM/GLM-Z1-9B-0414": { - "id": "THUDM/GLM-Z1-9B-0414", - "name": "GLM Z1 9B 0414", - "family": "glm-z", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-04-14", - "last_updated": "2025-04-14", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.2, "output": 0.2 }, - "limit": { "context": 32000, "input": 32000, "output": 8000 } - }, - "THUDM/GLM-4-32B-0414": { - "id": "THUDM/GLM-4-32B-0414", - "name": "GLM 4 32B 0414", - "family": "glm", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-04-14", - "last_updated": "2025-04-14", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.2, "output": 0.2 }, - "limit": { "context": 128000, "input": 128000, "output": 65536 } - }, - "THUDM/GLM-Z1-Rumination-32B-0414": { - "id": "THUDM/GLM-Z1-Rumination-32B-0414", - "name": "GLM Z1 Rumination 32B 0414", - "family": "glm-z", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-04-15", - "last_updated": "2025-04-15", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.2, "output": 0.2 }, - "limit": { "context": 32000, "input": 32000, "output": 65536 } - }, - "THUDM/GLM-4-9B-0414": { - "id": "THUDM/GLM-4-9B-0414", - "name": "GLM 4 9B 0414", - "family": "glm", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-04-14", - "last_updated": "2025-04-14", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.2, "output": 0.2 }, - "limit": { "context": 32000, "input": 32000, "output": 8000 } - }, - "unsloth/gemma-3-1b-it": { - "id": "unsloth/gemma-3-1b-it", - "name": "Gemma 3 1B IT", - "family": "unsloth", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-03-10", - "last_updated": "2025-03-10", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.1003, "output": 0.1003 }, - "limit": { "context": 128000, "input": 128000, "output": 8192 } - }, - "unsloth/gemma-3-27b-it": { - "id": "unsloth/gemma-3-27b-it", - "name": "Gemma 3 27B IT", - "family": "unsloth", - "attachment": true, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-03-10", - "last_updated": "2025-03-10", - "modalities": { "input": ["text", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.2992, "output": 0.2992 }, - "limit": { "context": 128000, "input": 128000, "output": 96000 } - }, - "unsloth/gemma-3-4b-it": { - "id": "unsloth/gemma-3-4b-it", - "name": "Gemma 3 4B IT", - "family": "unsloth", - "attachment": true, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-03-10", - "last_updated": "2025-03-10", - "modalities": { "input": ["text", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.2006, "output": 0.2006 }, - "limit": { "context": 128000, "input": 128000, "output": 8192 } - }, - "unsloth/gemma-3-12b-it": { - "id": "unsloth/gemma-3-12b-it", - "name": "Gemma 3 12B IT", - "family": "unsloth", - "attachment": true, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-03-10", - "last_updated": "2025-03-10", - "modalities": { "input": ["text", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.272, "output": 0.272 }, - "limit": { "context": 128000, "input": 128000, "output": 131072 } - }, - "shisa-ai/shisa-v2-llama3.3-70b": { - "id": "shisa-ai/shisa-v2-llama3.3-70b", - "name": "Shisa V2 Llama 3.3 70B", - "family": "llama", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-07-26", - "last_updated": "2025-07-26", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.5, "output": 0.5 }, - "limit": { "context": 128000, "input": 128000, "output": 16384 } - }, - "shisa-ai/shisa-v2.1-llama3.3-70b": { - "id": "shisa-ai/shisa-v2.1-llama3.3-70b", - "name": "Shisa V2.1 Llama 3.3 70B", - "family": "llama", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2024-12-06", - "last_updated": "2024-12-06", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.5, "output": 0.5 }, - "limit": { "context": 32768, "input": 32768, "output": 4096 } - }, - "openai/gpt-5.2-codex": { - "id": "openai/gpt-5.2-codex", - "name": "GPT 5.2 Codex", - "family": "gpt-codex", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "release_date": "2026-01-14", - "last_updated": "2026-01-14", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.75, "output": 14 }, - "limit": { "context": 400000, "input": 400000, "output": 128000 } - }, - "openai/o1-pro": { - "id": "openai/o1-pro", - "name": "OpenAI o1 Pro", - "family": "o-pro", - "attachment": true, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-01-25", - "last_updated": "2025-01-25", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 150, "output": 600 }, - "limit": { "context": 200000, "input": 200000, "output": 100000 } - }, - "openai/o3-mini-low": { - "id": "openai/o3-mini-low", - "name": "OpenAI o3-mini (Low)", - "family": "o-mini", - "attachment": false, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "release_date": "2025-01-31", - "last_updated": "2025-01-31", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 9.996, "output": 19.992 }, - "limit": { "context": 200000, "input": 200000, "output": 100000 } - }, - "openai/gpt-5.1-codex-mini": { - "id": "openai/gpt-5.1-codex-mini", - "name": "GPT 5.1 Codex Mini", - "family": "gpt-codex-mini", - "attachment": true, - "reasoning": true, - "tool_call": false, - "structured_output": false, - "release_date": "2025-11-13", - "last_updated": "2025-11-13", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.25, "output": 2 }, - "limit": { "context": 400000, "input": 400000, "output": 128000 } - }, - "openai/o3-mini": { - "id": "openai/o3-mini", - "name": "OpenAI o3-mini", - "family": "o-mini", - "attachment": false, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "release_date": "2025-01-31", - "last_updated": "2025-01-31", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.1, "output": 4.4 }, - "limit": { "context": 200000, "input": 200000, "output": 100000 } - }, - "openai/gpt-5-pro": { - "id": "openai/gpt-5-pro", - "name": "GPT 5 Pro", - "family": "gpt-pro", - "attachment": true, - "reasoning": true, - "tool_call": false, - "structured_output": false, - "release_date": "2025-08-07", - "last_updated": "2025-08-07", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 15, "output": 120 }, - "limit": { "context": 400000, "input": 400000, "output": 128000 } - }, - "openai/gpt-5": { - "id": "openai/gpt-5", - "name": "GPT 5", - "family": "gpt", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "release_date": "2025-08-07", - "last_updated": "2025-08-07", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.25, "output": 10 }, - "limit": { "context": 400000, "input": 400000, "output": 128000 } - }, - "openai/chatgpt-4o-latest": { - "id": "openai/chatgpt-4o-latest", - "name": "ChatGPT 4o", - "family": "gpt", - "attachment": true, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "release_date": "2024-05-13", - "last_updated": "2024-05-13", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 4.998, "output": 14.993999999999998 }, - "limit": { "context": 128000, "input": 128000, "output": 16384 } - }, - "openai/gpt-4-turbo": { - "id": "openai/gpt-4-turbo", - "name": "GPT-4 Turbo", - "family": "gpt", - "attachment": true, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2023-11-06", - "last_updated": "2024-01-01", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 10, "output": 30 }, - "limit": { "context": 128000, "input": 128000, "output": 4096 } - }, - "openai/gpt-4o": { - "id": "openai/gpt-4o", - "name": "GPT-4o", - "family": "gpt", - "attachment": true, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2024-05-13", - "last_updated": "2024-05-13", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2.499, "output": 9.996 }, - "limit": { "context": 128000, "input": 128000, "output": 16384 } - }, - "openai/o3-mini-high": { - "id": "openai/o3-mini-high", - "name": "OpenAI o3-mini (High)", - "family": "o-mini", - "attachment": false, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "release_date": "2025-01-31", - "last_updated": "2025-01-31", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.64, "output": 2.588 }, - "limit": { "context": 200000, "input": 200000, "output": 100000 } - }, - "openai/gpt-5-mini": { - "id": "openai/gpt-5-mini", - "name": "GPT 5 Mini", - "family": "gpt-mini", - "attachment": true, - "reasoning": true, - "tool_call": false, - "structured_output": false, - "release_date": "2025-08-07", - "last_updated": "2025-08-07", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.25, "output": 2 }, - "limit": { "context": 400000, "input": 400000, "output": 128000 } - }, - "openai/gpt-4-turbo-preview": { - "id": "openai/gpt-4-turbo-preview", - "name": "GPT-4 Turbo Preview", - "family": "gpt", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2023-11-06", - "last_updated": "2024-01-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 9.996, "output": 30.004999999999995 }, - "limit": { "context": 128000, "input": 128000, "output": 4096 } - }, - "openai/gpt-4o-mini": { - "id": "openai/gpt-4o-mini", - "name": "GPT-4o mini", - "family": "gpt-mini", - "attachment": true, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2024-07-18", - "last_updated": "2024-07-18", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.1496, "output": 0.595 }, - "limit": { "context": 128000, "input": 128000, "output": 16384 } - }, - "openai/gpt-5.1-codex-max": { - "id": "openai/gpt-5.1-codex-max", - "name": "GPT 5.1 Codex Max", - "family": "gpt-codex", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "release_date": "2025-11-13", - "last_updated": "2025-11-13", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2.5, "output": 20 }, - "limit": { "context": 400000, "input": 400000, "output": 128000 } - }, - "openai/gpt-4.1": { - "id": "openai/gpt-4.1", - "name": "GPT 4.1", - "family": "gpt", - "attachment": true, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "release_date": "2025-09-10", - "last_updated": "2025-09-10", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2, "output": 8 }, - "limit": { "context": 1047576, "input": 1047576, "output": 32768 } - }, - "openai/gpt-5.1-chat-latest": { - "id": "openai/gpt-5.1-chat-latest", - "name": "GPT 5.1 Chat (Latest)", - "family": "gpt", - "attachment": true, - "reasoning": true, - "tool_call": false, - "structured_output": false, - "release_date": "2025-11-13", - "last_updated": "2025-11-13", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.25, "output": 10 }, - "limit": { "context": 400000, "input": 400000, "output": 16384 } - }, - "openai/gpt-3.5-turbo": { - "id": "openai/gpt-3.5-turbo", - "name": "GPT-3.5 Turbo", - "family": "gpt", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2022-11-30", - "last_updated": "2024-01-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.5, "output": 1.5 }, - "limit": { "context": 16385, "input": 16385, "output": 4096 } - }, - "openai/gpt-oss-120b": { - "id": "openai/gpt-oss-120b", - "name": "GPT OSS 120B", - "family": "gpt-oss", - "attachment": false, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "release_date": "2025-08-05", - "last_updated": "2025-08-05", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.05, "output": 0.25 }, - "limit": { "context": 128000, "input": 128000, "output": 16384 } - }, - "openai/gpt-5.1-chat": { - "id": "openai/gpt-5.1-chat", - "name": "GPT 5.1 Chat", - "family": "gpt", - "attachment": true, - "reasoning": true, - "tool_call": false, - "structured_output": false, - "release_date": "2025-11-13", - "last_updated": "2025-11-13", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.25, "output": 10 }, - "limit": { "context": 400000, "input": 400000, "output": 128000 } - }, - "openai/o1": { - "id": "openai/o1", - "name": "OpenAI o1", - "family": "o", - "attachment": false, - "reasoning": true, - "tool_call": false, - "structured_output": false, - "release_date": "2024-12-17", - "last_updated": "2024-12-17", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 14.993999999999998, "output": 59.993 }, - "limit": { "context": 200000, "input": 200000, "output": 100000 } - }, - "openai/o3": { - "id": "openai/o3", - "name": "OpenAI o3", - "family": "o", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-04-16", - "last_updated": "2025-04-16", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2, "output": 8 }, - "limit": { "context": 200000, "input": 200000, "output": 100000 } - }, - "openai/gpt-4o-search-preview": { - "id": "openai/gpt-4o-search-preview", - "name": "GPT-4o Search Preview", - "family": "gpt", - "attachment": true, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2024-05-13", - "last_updated": "2024-05-13", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.47, "output": 5.88 }, - "limit": { "context": 128000, "input": 128000, "output": 16384 } - }, - "openai/o4-mini-high": { - "id": "openai/o4-mini-high", - "name": "OpenAI o4-mini high", - "family": "o-mini", - "attachment": false, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "release_date": "2025-04-16", - "last_updated": "2025-04-16", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.1, "output": 4.4 }, - "limit": { "context": 200000, "input": 200000, "output": 100000 } - }, - "openai/gpt-4o-2024-11-20": { - "id": "openai/gpt-4o-2024-11-20", - "name": "GPT-4o (2024-11-20)", - "family": "gpt", - "attachment": true, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2024-11-20", - "last_updated": "2024-11-20", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2.5, "output": 10 }, - "limit": { "context": 128000, "input": 128000, "output": 16384 } - }, - "openai/gpt-5.2-chat": { - "id": "openai/gpt-5.2-chat", - "name": "GPT 5.2 Chat", - "family": "gpt", - "attachment": true, - "reasoning": true, - "tool_call": false, - "structured_output": false, - "release_date": "2026-01-01", - "last_updated": "2026-01-01", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.75, "output": 14 }, - "limit": { "context": 400000, "input": 400000, "output": 16384 } - }, - "openai/gpt-5.2": { - "id": "openai/gpt-5.2", - "name": "GPT 5.2", - "family": "gpt", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "release_date": "2026-01-01", - "last_updated": "2026-01-01", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.75, "output": 14 }, - "limit": { "context": 400000, "input": 400000, "output": 128000 } - }, - "openai/o4-mini-deep-research": { - "id": "openai/o4-mini-deep-research", - "name": "OpenAI o4-mini Deep Research", - "family": "o-mini", - "attachment": false, - "reasoning": true, - "tool_call": false, - "structured_output": false, - "release_date": "2025-04-16", - "last_updated": "2025-04-16", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 9.996, "output": 19.992 }, - "limit": { "context": 200000, "input": 200000, "output": 100000 } - }, - "openai/gpt-5.1": { - "id": "openai/gpt-5.1", - "name": "GPT 5.1", - "family": "gpt", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "release_date": "2025-11-13", - "last_updated": "2025-11-13", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.25, "output": 10 }, - "limit": { "context": 400000, "input": 400000, "output": 128000 } - }, - "openai/gpt-4o-mini-search-preview": { - "id": "openai/gpt-4o-mini-search-preview", - "name": "GPT-4o mini Search Preview", - "family": "gpt-mini", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2024-07-18", - "last_updated": "2024-07-18", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.088, "output": 0.35 }, - "limit": { "context": 128000, "input": 128000, "output": 16384 } - }, - "openai/gpt-4.1-mini": { - "id": "openai/gpt-4.1-mini", - "name": "GPT 4.1 Mini", - "family": "gpt-mini", - "attachment": true, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-04-14", - "last_updated": "2025-04-14", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.4, "output": 1.6 }, - "limit": { "context": 1047576, "input": 1047576, "output": 32768 } - }, - "openai/o3-pro-2025-06-10": { - "id": "openai/o3-pro-2025-06-10", - "name": "OpenAI o3-pro (2025-06-10)", - "family": "o-pro", - "attachment": false, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "release_date": "2025-06-10", - "last_updated": "2025-06-10", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 9.996, "output": 19.992 }, - "limit": { "context": 200000, "input": 200000, "output": 100000 } - }, - "openai/gpt-5-chat-latest": { - "id": "openai/gpt-5-chat-latest", - "name": "GPT 5 Chat", - "family": "gpt", - "attachment": true, - "reasoning": true, - "tool_call": false, - "structured_output": false, - "release_date": "2025-08-07", - "last_updated": "2025-08-07", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.25, "output": 10 }, - "limit": { "context": 400000, "input": 400000, "output": 128000 } - }, - "openai/gpt-5-nano": { - "id": "openai/gpt-5-nano", - "name": "GPT 5 Nano", - "family": "gpt-nano", - "attachment": true, - "reasoning": true, - "tool_call": false, - "structured_output": false, - "release_date": "2025-08-07", - "last_updated": "2025-08-07", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.05, "output": 0.4 }, - "limit": { "context": 400000, "input": 400000, "output": 128000 } - }, - "openai/gpt-oss-safeguard-20b": { - "id": "openai/gpt-oss-safeguard-20b", - "name": "GPT OSS Safeguard 20B", - "family": "gpt-oss", - "attachment": false, - "reasoning": true, - "tool_call": false, - "structured_output": false, - "release_date": "2025-10-29", - "last_updated": "2025-10-29", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.075, "output": 0.3 }, - "limit": { "context": 128000, "input": 128000, "output": 16384 } - }, - "openai/gpt-oss-20b": { - "id": "openai/gpt-oss-20b", - "name": "GPT OSS 20B", - "family": "gpt-oss", - "attachment": false, - "reasoning": true, - "tool_call": false, - "structured_output": false, - "release_date": "2025-08-05", - "last_updated": "2025-08-05", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.04, "output": 0.15 }, - "limit": { "context": 128000, "input": 128000, "output": 16384 } - }, - "openai/gpt-5.1-2025-11-13": { - "id": "openai/gpt-5.1-2025-11-13", - "name": "GPT-5.1 (2025-11-13)", - "family": "gpt", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-11-13", - "last_updated": "2025-11-13", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.25, "output": 10 }, - "limit": { "context": 1000000, "input": 1000000, "output": 32768 } - }, - "openai/gpt-4o-2024-08-06": { - "id": "openai/gpt-4o-2024-08-06", - "name": "GPT-4o (2024-08-06)", - "family": "gpt", - "attachment": true, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2024-08-06", - "last_updated": "2024-08-06", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2.499, "output": 9.996 }, - "limit": { "context": 128000, "input": 128000, "output": 16384 } - }, - "openai/gpt-4.1-nano": { - "id": "openai/gpt-4.1-nano", - "name": "GPT 4.1 Nano", - "family": "gpt-nano", - "attachment": true, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-04-14", - "last_updated": "2025-04-14", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.1, "output": 0.4 }, - "limit": { "context": 1047576, "input": 1047576, "output": 32768 } - }, - "openai/o1-preview": { - "id": "openai/o1-preview", - "name": "OpenAI o1-preview", - "family": "o", - "attachment": false, - "reasoning": true, - "tool_call": false, - "structured_output": false, - "release_date": "2024-09-12", - "last_updated": "2024-09-12", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 14.993999999999998, "output": 59.993 }, - "limit": { "context": 128000, "input": 128000, "output": 32768 } - }, - "openai/gpt-5-codex": { - "id": "openai/gpt-5-codex", - "name": "GPT-5 Codex", - "family": "gpt-codex", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-09-15", - "last_updated": "2025-09-15", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 9.996, "output": 19.992 }, - "limit": { "context": 256000, "input": 256000, "output": 32768 } - }, - "openai/o4-mini": { - "id": "openai/o4-mini", - "name": "OpenAI o4-mini", - "family": "o-mini", - "attachment": false, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "release_date": "2025-04-16", - "last_updated": "2025-04-16", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.1, "output": 4.4 }, - "limit": { "context": 200000, "input": 200000, "output": 100000 } - }, - "openai/o3-deep-research": { - "id": "openai/o3-deep-research", - "name": "OpenAI o3 Deep Research", - "family": "o", - "attachment": false, - "reasoning": true, - "tool_call": false, - "structured_output": false, - "release_date": "2025-04-16", - "last_updated": "2025-04-16", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 9.996, "output": 19.992 }, - "limit": { "context": 200000, "input": 200000, "output": 100000 } - }, - "openai/gpt-5.1-codex": { - "id": "openai/gpt-5.1-codex", - "name": "GPT 5.1 Codex", - "family": "gpt-codex", - "attachment": true, - "reasoning": true, - "tool_call": false, - "structured_output": false, - "release_date": "2025-11-13", - "last_updated": "2025-11-13", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.25, "output": 10 }, - "limit": { "context": 400000, "input": 400000, "output": 128000 } - }, - "openai/gpt-5.2-pro": { - "id": "openai/gpt-5.2-pro", - "name": "GPT 5.2 Pro", - "family": "gpt-pro", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "release_date": "2026-01-01", - "last_updated": "2026-01-01", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 21, "output": 168 }, - "limit": { "context": 400000, "input": 400000, "output": 128000 } - }, - "CrucibleLab/L3.3-70B-Loki-V2.0": { - "id": "CrucibleLab/L3.3-70B-Loki-V2.0", - "name": "L3.3 70B Loki v2.0", - "family": "llama", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2026-01-22", - "last_updated": "2026-01-22", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.49299999999999994, "output": 0.49299999999999994 }, - "limit": { "context": 16384, "input": 16384, "output": 16384 } - }, - "microsoft/MAI-DS-R1-FP8": { - "id": "microsoft/MAI-DS-R1-FP8", - "name": "Microsoft DeepSeek R1", - "family": "deepseek", - "attachment": true, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-09-25", - "last_updated": "2025-09-25", - "modalities": { "input": ["text", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.3, "output": 0.3 }, - "limit": { "context": 128000, "input": 128000, "output": 8192 } - }, - "microsoft/wizardlm-2-8x22b": { - "id": "microsoft/wizardlm-2-8x22b", - "name": "WizardLM-2 8x22B", - "family": "gpt", - "attachment": true, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-04-15", - "last_updated": "2025-04-15", - "modalities": { "input": ["text", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.49299999999999994, "output": 0.49299999999999994 }, - "limit": { "context": 65536, "input": 65536, "output": 8192 } - }, - "cohere/command-r-plus-08-2024": { - "id": "cohere/command-r-plus-08-2024", - "name": "Cohere: Command R+", - "family": "command-r", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": false, - "release_date": "2024-08-30", - "last_updated": "2024-08-30", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2.856, "output": 14.246 }, - "limit": { "context": 128000, "input": 128000, "output": 4096 } - }, - "cohere/command-r": { - "id": "cohere/command-r", - "name": "Cohere: Command R", - "family": "command-r", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2024-03-11", - "last_updated": "2024-03-11", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.476, "output": 1.428 }, - "limit": { "context": 128000, "input": 128000, "output": 4096 } - }, - "x-ai/grok-4-fast": { - "id": "x-ai/grok-4-fast", - "name": "Grok 4 Fast", - "family": "grok", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "release_date": "2025-09-20", - "last_updated": "2025-09-20", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.2, "output": 0.5 }, - "limit": { "context": 2000000, "input": 2000000, "output": 131072 } - }, - "x-ai/grok-4-fast:thinking": { - "id": "x-ai/grok-4-fast:thinking", - "name": "Grok 4 Fast Thinking", - "family": "grok", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "release_date": "2025-07-09", - "last_updated": "2025-07-09", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.2, "output": 0.5 }, - "limit": { "context": 2000000, "input": 2000000, "output": 131072 } - }, - "x-ai/grok-4.1-fast": { - "id": "x-ai/grok-4.1-fast", - "name": "Grok 4.1 Fast", - "family": "grok", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "release_date": "2025-11-20", - "last_updated": "2025-11-20", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.2, "output": 0.5 }, - "limit": { "context": 2000000, "input": 2000000, "output": 131072 } - }, - "x-ai/grok-code-fast-1": { - "id": "x-ai/grok-code-fast-1", - "name": "Grok Code Fast 1", - "family": "grok", - "attachment": false, - "reasoning": true, - "tool_call": false, - "structured_output": false, - "release_date": "2025-08-28", - "last_updated": "2025-08-28", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.2, "output": 1.5 }, - "limit": { "context": 256000, "input": 256000, "output": 131072 } - }, - "x-ai/grok-4.1-fast-reasoning": { - "id": "x-ai/grok-4.1-fast-reasoning", - "name": "Grok 4.1 Fast Reasoning", - "family": "grok", - "attachment": true, - "reasoning": true, - "tool_call": false, - "structured_output": false, - "release_date": "2025-11-20", - "last_updated": "2025-11-20", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.2, "output": 0.5 }, - "limit": { "context": 2000000, "input": 2000000, "output": 131072 } - }, - "x-ai/grok-4-07-09": { - "id": "x-ai/grok-4-07-09", - "name": "Grok 4", - "family": "grok", - "attachment": true, - "reasoning": true, - "tool_call": false, - "structured_output": false, - "release_date": "2025-07-09", - "last_updated": "2025-07-09", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 3, "output": 15 }, - "limit": { "context": 256000, "input": 256000, "output": 131072 } - }, - "anthropic/claude-opus-4.6:thinking:max": { - "id": "anthropic/claude-opus-4.6:thinking:max", - "name": "Claude 4.6 Opus Thinking Max", - "family": "claude-opus", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "release_date": "2026-02-05", - "last_updated": "2026-02-05", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 4.998, "output": 25.007 }, - "limit": { "context": 1000000, "input": 1000000, "output": 128000 } - }, - "anthropic/claude-opus-4.6": { - "id": "anthropic/claude-opus-4.6", - "name": "Claude 4.6 Opus", - "family": "claude-opus", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "release_date": "2026-02-05", - "last_updated": "2026-02-05", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 4.998, "output": 25.007 }, - "limit": { "context": 1000000, "input": 1000000, "output": 128000 } - }, - "anthropic/claude-sonnet-4.6:thinking": { - "id": "anthropic/claude-sonnet-4.6:thinking", - "name": "Claude Sonnet 4.6 Thinking", - "family": "claude-sonnet", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "release_date": "2026-02-17", - "last_updated": "2026-02-17", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2.992, "output": 14.993999999999998 }, - "limit": { "context": 1000000, "input": 1000000, "output": 128000 } - }, - "anthropic/claude-opus-4.6:thinking:medium": { - "id": "anthropic/claude-opus-4.6:thinking:medium", - "name": "Claude 4.6 Opus Thinking Medium", - "family": "claude-opus", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "release_date": "2026-02-05", - "last_updated": "2026-02-05", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 4.998, "output": 25.007 }, - "limit": { "context": 1000000, "input": 1000000, "output": 128000 } - }, - "anthropic/claude-sonnet-4.6": { - "id": "anthropic/claude-sonnet-4.6", - "name": "Claude Sonnet 4.6", - "family": "claude-sonnet", - "attachment": true, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "release_date": "2026-02-17", - "last_updated": "2026-02-17", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2.992, "output": 14.993999999999998 }, - "limit": { "context": 1000000, "input": 1000000, "output": 128000 } - }, - "anthropic/claude-opus-4.6:thinking": { - "id": "anthropic/claude-opus-4.6:thinking", - "name": "Claude 4.6 Opus Thinking", - "family": "claude-opus", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "release_date": "2026-02-05", - "last_updated": "2026-02-05", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 4.998, "output": 25.007 }, - "limit": { "context": 1000000, "input": 1000000, "output": 128000 } - }, - "anthropic/claude-opus-4.6:thinking:low": { - "id": "anthropic/claude-opus-4.6:thinking:low", - "name": "Claude 4.6 Opus Thinking Low", - "family": "claude-opus", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "release_date": "2026-02-05", - "last_updated": "2026-02-05", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 4.998, "output": 25.007 }, - "limit": { "context": 1000000, "input": 1000000, "output": 128000 } - }, - "raifle/sorcererlm-8x22b": { - "id": "raifle/sorcererlm-8x22b", - "name": "SorcererLM 8x22B", - "family": "mixtral", - "attachment": true, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-01-01", - "last_updated": "2025-01-01", - "modalities": { "input": ["text", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 4.505, "output": 4.505 }, - "limit": { "context": 16000, "input": 16000, "output": 8192 } - }, - "nothingiisreal/L3.1-70B-Celeste-V0.1-BF16": { - "id": "nothingiisreal/L3.1-70B-Celeste-V0.1-BF16", - "name": "Llama 3.1 70B Celeste v0.1", - "family": "llama", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2024-07-23", - "last_updated": "2024-07-23", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.49299999999999994, "output": 0.49299999999999994 }, - "limit": { "context": 16384, "input": 16384, "output": 16384 } - }, - "NousResearch 2/hermes-4-70b": { - "id": "NousResearch 2/hermes-4-70b", - "name": "Hermes 4 Medium", - "family": "nousresearch", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-07-03", - "last_updated": "2025-07-03", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.2006, "output": 0.39949999999999997 }, - "limit": { "context": 128000, "input": 128000, "output": 8192 } - }, - "NousResearch 2/hermes-4-405b:thinking": { - "id": "NousResearch 2/hermes-4-405b:thinking", - "name": "Hermes 4 Large (Thinking)", - "family": "nousresearch", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "release_date": "2025-01-01", - "last_updated": "2025-01-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.3, "output": 1.2 }, - "limit": { "context": 128000, "input": 128000, "output": 8192 } - }, - "NousResearch 2/hermes-3-llama-3.1-70b": { - "id": "NousResearch 2/hermes-3-llama-3.1-70b", - "name": "Hermes 3 70B", - "family": "nousresearch", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2026-01-07", - "last_updated": "2026-01-07", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.408, "output": 0.408 }, - "limit": { "context": 65536, "input": 65536, "output": 8192 } - }, - "NousResearch 2/Hermes-4-70B:thinking": { - "id": "NousResearch 2/Hermes-4-70B:thinking", - "name": "Hermes 4 (Thinking)", - "family": "nousresearch", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-09-17", - "last_updated": "2025-09-17", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.2006, "output": 0.39949999999999997 }, - "limit": { "context": 128000, "input": 128000, "output": 8192 } - }, - "NousResearch 2/hermes-4-405b": { - "id": "NousResearch 2/hermes-4-405b", - "name": "Hermes 4 Large", - "family": "nousresearch", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "release_date": "2025-08-26", - "last_updated": "2025-08-26", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.3, "output": 1.2 }, - "limit": { "context": 128000, "input": 128000, "output": 8192 } - }, - "NousResearch 2/DeepHermes-3-Mistral-24B-Preview": { - "id": "NousResearch 2/DeepHermes-3-Mistral-24B-Preview", - "name": "DeepHermes-3 Mistral 24B (Preview)", - "family": "nousresearch", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-05-10", - "last_updated": "2025-05-10", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.3, "output": 0.3 }, - "limit": { "context": 128000, "input": 128000, "output": 32768 } - }, - "deepseek/deepseek-v3.2:thinking": { - "id": "deepseek/deepseek-v3.2:thinking", - "name": "DeepSeek V3.2 Thinking", - "family": "deepseek", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "release_date": "2025-12-01", - "last_updated": "2025-12-01", - "modalities": { "input": ["text", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.27999999999999997, "output": 0.42000000000000004 }, - "limit": { "context": 163000, "input": 163000, "output": 65536 } - }, - "deepseek/deepseek-prover-v2-671b": { - "id": "deepseek/deepseek-prover-v2-671b", - "name": "DeepSeek Prover v2 671B", - "family": "deepseek", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-04-30", - "last_updated": "2025-04-30", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1, "output": 2.5 }, - "limit": { "context": 160000, "input": 160000, "output": 16384 } - }, - "deepseek/deepseek-v3.2-speciale": { - "id": "deepseek/deepseek-v3.2-speciale", - "name": "DeepSeek V3.2 Speciale", - "family": "deepseek", - "attachment": true, - "reasoning": true, - "tool_call": false, - "structured_output": false, - "release_date": "2025-12-02", - "last_updated": "2025-12-02", - "modalities": { "input": ["text", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.27999999999999997, "output": 0.42000000000000004 }, - "limit": { "context": 163000, "input": 163000, "output": 65536 } - }, - "deepseek/deepseek-v3.2": { - "id": "deepseek/deepseek-v3.2", - "name": "DeepSeek V3.2", - "family": "deepseek", - "attachment": true, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "release_date": "2025-12-01", - "last_updated": "2025-12-01", - "modalities": { "input": ["text", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.27999999999999997, "output": 0.42000000000000004 }, - "limit": { "context": 163000, "input": 163000, "output": 65536 } - }, - "zai-org/glm-4.7-flash": { - "id": "zai-org/glm-4.7-flash", - "name": "GLM 4.7 Flash", - "family": "glm-flash", - "attachment": false, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "release_date": "2026-01-19", - "last_updated": "2026-01-19", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.07, "output": 0.4 }, - "limit": { "context": 200000, "input": 200000, "output": 128000 } - }, - "zai-org/glm-5.1:thinking": { - "id": "zai-org/glm-5.1:thinking", - "name": "GLM 5.1 Thinking", - "family": "glm", - "attachment": false, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "release_date": "2026-03-27", - "last_updated": "2026-03-27", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.3, "output": 2.55 }, - "limit": { "context": 200000, "input": 200000, "output": 131072 } - }, - "zai-org/glm-5:thinking": { - "id": "zai-org/glm-5:thinking", - "name": "GLM 5 Thinking", - "family": "glm", - "attachment": false, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "release_date": "2026-02-11", - "last_updated": "2026-02-11", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.3, "output": 2.55 }, - "limit": { "context": 200000, "input": 200000, "output": 128000 } - }, - "zai-org/glm-5": { - "id": "zai-org/glm-5", - "name": "GLM 5", - "family": "glm", - "attachment": false, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "release_date": "2026-02-11", - "last_updated": "2026-02-11", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.3, "output": 2.55 }, - "limit": { "context": 200000, "input": 200000, "output": 128000 } - }, - "zai-org/glm-5.1": { - "id": "zai-org/glm-5.1", - "name": "GLM 5.1", - "family": "glm", - "attachment": false, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "release_date": "2026-03-27", - "last_updated": "2026-03-27", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.3, "output": 2.55 }, - "limit": { "context": 200000, "input": 200000, "output": 131072 } - }, - "zai-org/glm-4.7": { - "id": "zai-org/glm-4.7", - "name": "GLM 4.7", - "family": "glm", - "attachment": false, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "release_date": "2026-01-29", - "last_updated": "2026-01-29", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.15, "output": 0.8 }, - "limit": { "context": 200000, "input": 200000, "output": 128000 } - }, - "NeverSleep/Llama-3-Lumimaid-70B-v0.1": { - "id": "NeverSleep/Llama-3-Lumimaid-70B-v0.1", - "name": "Lumimaid 70b", - "family": "llama", - "attachment": true, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2024-07-01", - "last_updated": "2024-07-01", - "modalities": { "input": ["text", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2.006, "output": 2.006 }, - "limit": { "context": 16384, "input": 16384, "output": 8192 } - }, - "NeverSleep/Lumimaid-v0.2-70B": { - "id": "NeverSleep/Lumimaid-v0.2-70B", - "name": "Lumimaid v0.2", - "family": "llama", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2024-07-01", - "last_updated": "2024-07-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1, "output": 1.5 }, - "limit": { "context": 16384, "input": 16384, "output": 8192 } - }, - "nvidia/Llama-3.1-Nemotron-Ultra-253B-v1": { - "id": "nvidia/Llama-3.1-Nemotron-Ultra-253B-v1", - "name": "Nvidia Nemotron Ultra 253B", - "family": "nemotron", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-07-03", - "last_updated": "2025-07-03", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.4, "output": 0.8 }, - "limit": { "context": 128000, "input": 128000, "output": 16384 } - }, - "nvidia/nvidia-nemotron-nano-9b-v2": { - "id": "nvidia/nvidia-nemotron-nano-9b-v2", - "name": "Nvidia Nemotron Nano 9B v2", - "family": "nemotron", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-08-18", - "last_updated": "2025-08-18", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.17, "output": 0.68 }, - "limit": { "context": 128000, "input": 128000, "output": 16384 } - }, - "nvidia/Llama-3_3-Nemotron-Super-49B-v1_5": { - "id": "nvidia/Llama-3_3-Nemotron-Super-49B-v1_5", - "name": "Nvidia Nemotron Super 49B v1.5", - "family": "nemotron", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-08-08", - "last_updated": "2025-08-08", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.05, "output": 0.25 }, - "limit": { "context": 128000, "input": 128000, "output": 16384 } - }, - "nvidia/Llama-3.1-Nemotron-70B-Instruct-HF": { - "id": "nvidia/Llama-3.1-Nemotron-70B-Instruct-HF", - "name": "Nvidia Nemotron 70b", - "family": "nemotron", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-04-15", - "last_updated": "2025-04-15", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.357, "output": 0.408 }, - "limit": { "context": 16384, "input": 16384, "output": 8192 } - }, - "nvidia/Llama-3.3-Nemotron-Super-49B-v1": { - "id": "nvidia/Llama-3.3-Nemotron-Super-49B-v1", - "name": "Nvidia Nemotron Super 49B", - "family": "nemotron", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-08-08", - "last_updated": "2025-08-08", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.15, "output": 0.15 }, - "limit": { "context": 128000, "input": 128000, "output": 16384 } - }, - "nvidia/nemotron-3-nano-30b-a3b": { - "id": "nvidia/nemotron-3-nano-30b-a3b", - "name": "Nvidia Nemotron 3 Nano 30B", - "family": "nemotron", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-12-15", - "last_updated": "2025-12-15", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.17, "output": 0.68 }, - "limit": { "context": 256000, "input": 256000, "output": 262144 } - }, - "z-ai/glm-4.6:thinking": { - "id": "z-ai/glm-4.6:thinking", - "name": "GLM 4.6 Thinking", - "family": "glm", - "attachment": false, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "release_date": "2025-09-29", - "last_updated": "2025-09-29", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.4, "output": 1.5 }, - "limit": { "context": 200000, "input": 200000, "output": 65535 } - }, - "z-ai/glm-4.5v:thinking": { - "id": "z-ai/glm-4.5v:thinking", - "name": "GLM 4.5V Thinking", - "family": "glmv", - "attachment": true, - "reasoning": true, - "tool_call": false, - "structured_output": false, - "release_date": "2025-11-22", - "last_updated": "2025-11-22", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.6, "output": 1.7999999999999998 }, - "limit": { "context": 64000, "input": 64000, "output": 96000 } - }, - "z-ai/glm-4.6": { - "id": "z-ai/glm-4.6", - "name": "GLM 4.6", - "family": "glm", - "attachment": false, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "release_date": "2025-09-30", - "last_updated": "2025-09-30", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.4, "output": 1.5 }, - "limit": { "context": 200000, "input": 200000, "output": 65535 } - }, - "z-ai/glm-4.5v": { - "id": "z-ai/glm-4.5v", - "name": "GLM 4.5V", - "family": "glmv", - "attachment": true, - "reasoning": true, - "tool_call": false, - "structured_output": false, - "release_date": "2025-11-22", - "last_updated": "2025-11-22", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.6, "output": 1.7999999999999998 }, - "limit": { "context": 64000, "input": 64000, "output": 96000 } - }, - "nex-agi/deepseek-v3.1-nex-n1": { - "id": "nex-agi/deepseek-v3.1-nex-n1", - "name": "DeepSeek V3.1 Nex N1", - "family": "deepseek", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-12-10", - "last_updated": "2025-12-10", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.27999999999999997, "output": 0.42000000000000004 }, - "limit": { "context": 128000, "input": 128000, "output": 8192 } - }, - "stepfun-ai/step-3.5-flash:thinking": { - "id": "stepfun-ai/step-3.5-flash:thinking", - "name": "Step 3.5 Flash Thinking", - "family": "step", - "attachment": false, - "reasoning": true, - "tool_call": false, - "structured_output": false, - "release_date": "2026-02-02", - "last_updated": "2026-02-02", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.2, "output": 0.5 }, - "limit": { "context": 256000, "input": 256000, "output": 256000 } - }, - "stepfun-ai/step-3.5-flash": { - "id": "stepfun-ai/step-3.5-flash", - "name": "Step 3.5 Flash", - "family": "step", - "attachment": false, - "reasoning": true, - "tool_call": false, - "structured_output": false, - "release_date": "2026-02-02", - "last_updated": "2026-02-02", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.2, "output": 0.5 }, - "limit": { "context": 256000, "input": 256000, "output": 256000 } - }, - "cognitivecomputations/dolphin-2.9.2-qwen2-72b": { - "id": "cognitivecomputations/dolphin-2.9.2-qwen2-72b", - "name": "Dolphin 72b", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-02-27", - "last_updated": "2025-02-27", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.306, "output": 0.306 }, - "limit": { "context": 8192, "input": 8192, "output": 4096 } - }, - "allenai/olmo-3.1-32b-instruct": { - "id": "allenai/olmo-3.1-32b-instruct", - "name": "Olmo 3.1 32B Instruct", - "family": "allenai", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2026-01-25", - "last_updated": "2026-01-25", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.2, "output": 0.6 }, - "limit": { "context": 65536, "input": 65536, "output": 8192 } - }, - "allenai/olmo-3-32b-think": { - "id": "allenai/olmo-3-32b-think", - "name": "Olmo 3 32B Think", - "family": "allenai", - "attachment": false, - "reasoning": true, - "tool_call": false, - "structured_output": false, - "release_date": "2025-11-01", - "last_updated": "2025-11-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.3, "output": 0.44999999999999996 }, - "limit": { "context": 128000, "input": 128000, "output": 8192 } - }, - "allenai/olmo-3.1-32b-think": { - "id": "allenai/olmo-3.1-32b-think", - "name": "Olmo 3.1 32B Think", - "family": "allenai", - "attachment": false, - "reasoning": true, - "tool_call": false, - "structured_output": false, - "release_date": "2026-01-25", - "last_updated": "2026-01-25", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.15, "output": 0.5 }, - "limit": { "context": 65536, "input": 65536, "output": 8192 } - }, - "allenai/molmo-2-8b": { - "id": "allenai/molmo-2-8b", - "name": "Molmo 2 8B", - "family": "allenai", - "attachment": true, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2026-02-14", - "last_updated": "2026-02-14", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.2, "output": 0.2 }, - "limit": { "context": 36864, "input": 36864, "output": 36864 } - }, - "TheDrummer 2/Cydonia-24B-v4.1": { - "id": "TheDrummer 2/Cydonia-24B-v4.1", - "name": "The Drummer Cydonia 24B v4.1", - "family": "llama", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-08-19", - "last_updated": "2025-08-19", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.1003, "output": 0.1207 }, - "limit": { "context": 16384, "input": 16384, "output": 32768 } - }, - "TheDrummer 2/UnslopNemo-12B-v4.1": { - "id": "TheDrummer 2/UnslopNemo-12B-v4.1", - "name": "UnslopNemo 12b v4", - "family": "llama", - "attachment": true, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2024-07-01", - "last_updated": "2024-07-01", - "modalities": { "input": ["text", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.49299999999999994, "output": 0.49299999999999994 }, - "limit": { "context": 32768, "input": 32768, "output": 8192 } - }, - "TheDrummer 2/Cydonia-24B-v4.3": { - "id": "TheDrummer 2/Cydonia-24B-v4.3", - "name": "The Drummer Cydonia 24B v4.3", - "family": "llama", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-12-25", - "last_updated": "2025-12-25", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.1003, "output": 0.1207 }, - "limit": { "context": 32768, "input": 32768, "output": 32768 } - }, - "TheDrummer 2/skyfall-36b-v2": { - "id": "TheDrummer 2/skyfall-36b-v2", - "name": "TheDrummer Skyfall 36B V2", - "family": "llama", - "attachment": true, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-03-10", - "last_updated": "2025-03-10", - "modalities": { "input": ["text", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.49299999999999994, "output": 0.49299999999999994 }, - "limit": { "context": 64000, "input": 64000, "output": 32768 } - }, - "TheDrummer 2/Anubis-70B-v1": { - "id": "TheDrummer 2/Anubis-70B-v1", - "name": "Anubis 70B v1", - "family": "llama", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2024-07-01", - "last_updated": "2024-07-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.31, "output": 0.31 }, - "limit": { "context": 65536, "input": 65536, "output": 16384 } - }, - "TheDrummer 2/Cydonia-24B-v2": { - "id": "TheDrummer 2/Cydonia-24B-v2", - "name": "The Drummer Cydonia 24B v2", - "family": "llama", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-02-17", - "last_updated": "2025-02-17", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.1003, "output": 0.1207 }, - "limit": { "context": 16384, "input": 16384, "output": 32768 } - }, - "TheDrummer 2/Cydonia-24B-v4": { - "id": "TheDrummer 2/Cydonia-24B-v4", - "name": "The Drummer Cydonia 24B v4", - "family": "llama", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-07-22", - "last_updated": "2025-07-22", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.2006, "output": 0.2414 }, - "limit": { "context": 16384, "input": 16384, "output": 32768 } - }, - "TheDrummer 2/Anubis-70B-v1.1": { - "id": "TheDrummer 2/Anubis-70B-v1.1", - "name": "Anubis 70B v1.1", - "family": "llama", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2024-07-01", - "last_updated": "2024-07-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.31, "output": 0.31 }, - "limit": { "context": 131072, "input": 131072, "output": 16384 } - }, - "TheDrummer 2/Magidonia-24B-v4.3": { - "id": "TheDrummer 2/Magidonia-24B-v4.3", - "name": "The Drummer Magidonia 24B v4.3", - "family": "llama", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-12-25", - "last_updated": "2025-12-25", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.1003, "output": 0.1207 }, - "limit": { "context": 32768, "input": 32768, "output": 32768 } - }, - "TheDrummer 2/Rocinante-12B-v1.1": { - "id": "TheDrummer 2/Rocinante-12B-v1.1", - "name": "Rocinante 12b", - "family": "llama", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2024-07-01", - "last_updated": "2024-07-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.408, "output": 0.595 }, - "limit": { "context": 16384, "input": 16384, "output": 8192 } - }, - "google/gemini-3-flash-preview-thinking": { - "id": "google/gemini-3-flash-preview-thinking", - "name": "Gemini 3 Flash Thinking", - "family": "gemini-flash", - "attachment": true, - "reasoning": true, - "tool_call": false, - "structured_output": false, - "release_date": "2025-12-17", - "last_updated": "2025-12-17", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.5, "output": 3 }, - "limit": { "context": 1048756, "input": 1048756, "output": 65536 } - }, - "google/gemini-3-flash-preview": { - "id": "google/gemini-3-flash-preview", - "name": "Gemini 3 Flash (Preview)", - "family": "gemini-flash", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "release_date": "2025-12-17", - "last_updated": "2025-12-17", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.5, "output": 3 }, - "limit": { "context": 1048756, "input": 1048756, "output": 65536 } - }, - "google/gemini-flash-1.5": { - "id": "google/gemini-flash-1.5", - "name": "Gemini 1.5 Flash", - "family": "gemini-flash", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2024-05-14", - "last_updated": "2024-05-14", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.0748, "output": 0.306 }, - "limit": { "context": 2000000, "input": 2000000, "output": 8192 } - }, - "undi95/remm-slerp-l2-13b": { - "id": "undi95/remm-slerp-l2-13b", - "name": "ReMM SLERP 13B", - "family": "llama", - "attachment": true, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-01-01", - "last_updated": "2025-01-01", - "modalities": { "input": ["text", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.7989999999999999, "output": 1.2069999999999999 }, - "limit": { "context": 6144, "input": 6144, "output": 4096 } - }, - "amazon/nova-lite-v1": { - "id": "amazon/nova-lite-v1", - "name": "Amazon Nova Lite 1.0", - "family": "nova-lite", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2024-12-03", - "last_updated": "2024-12-03", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.0595, "output": 0.238 }, - "limit": { "context": 300000, "input": 300000, "output": 5120 } - }, - "amazon/nova-2-lite-v1": { - "id": "amazon/nova-2-lite-v1", - "name": "Amazon Nova 2 Lite", - "family": "nova", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2024-12-03", - "last_updated": "2024-12-03", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.5099999999999999, "output": 4.25 }, - "limit": { "context": 1000000, "input": 1000000, "output": 65535 } - }, - "amazon/nova-micro-v1": { - "id": "amazon/nova-micro-v1", - "name": "Amazon Nova Micro 1.0", - "family": "nova-micro", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2024-12-03", - "last_updated": "2024-12-03", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.0357, "output": 0.1394 }, - "limit": { "context": 128000, "input": 128000, "output": 5120 } - }, - "amazon/nova-pro-v1": { - "id": "amazon/nova-pro-v1", - "name": "Amazon Nova Pro 1.0", - "family": "nova-pro", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2024-12-03", - "last_updated": "2024-12-03", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.7989999999999999, "output": 3.1959999999999997 }, - "limit": { "context": 300000, "input": 300000, "output": 32000 } - }, - "baidu/ernie-4.5-300b-a47b": { - "id": "baidu/ernie-4.5-300b-a47b", - "name": "ERNIE 4.5 300B", - "family": "ernie", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-06-30", - "last_updated": "2025-06-30", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.35, "output": 1.15 }, - "limit": { "context": 131072, "input": 131072, "output": 16384 } - }, - "baidu/ernie-4.5-vl-28b-a3b": { - "id": "baidu/ernie-4.5-vl-28b-a3b", - "name": "ERNIE 4.5 VL 28B", - "family": "ernie", - "attachment": true, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-06-30", - "last_updated": "2025-06-30", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.13999999999999999, "output": 0.5599999999999999 }, - "limit": { "context": 32768, "input": 32768, "output": 16384 } - }, - "meta-llama/llama-3.3-70b-instruct": { - "id": "meta-llama/llama-3.3-70b-instruct", - "name": "Llama 3.3 70b Instruct", - "family": "llama", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "release_date": "2025-02-27", - "last_updated": "2025-02-27", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.05, "output": 0.23 }, - "limit": { "context": 131072, "input": 131072, "output": 16384 } - }, - "meta-llama/llama-3.1-8b-instruct": { - "id": "meta-llama/llama-3.1-8b-instruct", - "name": "Llama 3.1 8b Instruct", - "family": "llama", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2024-07-23", - "last_updated": "2024-07-23", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.0544, "output": 0.0544 }, - "limit": { "context": 131072, "input": 131072, "output": 16384 } - }, - "meta-llama/llama-4-scout": { - "id": "meta-llama/llama-4-scout", - "name": "Llama 4 Scout", - "family": "llama", - "attachment": true, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "release_date": "2025-09-05", - "last_updated": "2025-09-05", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.085, "output": 0.46 }, - "limit": { "context": 328000, "input": 328000, "output": 65536 } - }, - "meta-llama/llama-4-maverick": { - "id": "meta-llama/llama-4-maverick", - "name": "Llama 4 Maverick", - "family": "llama", - "attachment": true, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "release_date": "2025-09-05", - "last_updated": "2025-09-05", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.18000000000000002, "output": 0.8 }, - "limit": { "context": 1048576, "input": 1048576, "output": 65536 } - }, - "meta-llama/llama-3.2-90b-vision-instruct": { - "id": "meta-llama/llama-3.2-90b-vision-instruct", - "name": "Llama 3.2 Medium", - "family": "llama", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-09-25", - "last_updated": "2025-09-25", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.9009999999999999, "output": 0.9009999999999999 }, - "limit": { "context": 131072, "input": 131072, "output": 16384 } - }, - "meta-llama/llama-3.2-3b-instruct": { - "id": "meta-llama/llama-3.2-3b-instruct", - "name": "Llama 3.2 3b Instruct", - "family": "llama", - "attachment": true, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2024-09-25", - "last_updated": "2024-09-25", - "modalities": { "input": ["text", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.0306, "output": 0.0493 }, - "limit": { "context": 131072, "input": 131072, "output": 8192 } - }, - "ReadyArt/MS3.2-The-Omega-Directive-24B-Unslop-v2.0": { - "id": "ReadyArt/MS3.2-The-Omega-Directive-24B-Unslop-v2.0", - "name": "Omega Directive 24B Unslop v2.0", - "family": "llama", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-12-08", - "last_updated": "2025-12-08", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.5, "output": 0.5 }, - "limit": { "context": 16384, "input": 16384, "output": 32768 } - }, - "ReadyArt/The-Omega-Abomination-L-70B-v1.0": { - "id": "ReadyArt/The-Omega-Abomination-L-70B-v1.0", - "name": "The Omega Abomination V1", - "family": "llama", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2024-12-01", - "last_updated": "2024-12-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.7, "output": 0.95 }, - "limit": { "context": 16384, "input": 16384, "output": 16384 } - }, - "miromind-ai/mirothinker-v1.5-235b": { - "id": "miromind-ai/mirothinker-v1.5-235b", - "name": "MiroThinker v1.5 235B", - "family": "gpt", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2026-01-07", - "last_updated": "2026-01-07", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.3, "output": 1.2 }, - "limit": { "context": 32768, "input": 32768, "output": 4000 } - }, - "Doctor-Shotgun/MS3.2-24B-Magnum-Diamond": { - "id": "Doctor-Shotgun/MS3.2-24B-Magnum-Diamond", - "name": "MS3.2 24B Magnum Diamond", - "family": "mistral", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-11-24", - "last_updated": "2025-11-24", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.49299999999999994, "output": 0.49299999999999994 }, - "limit": { "context": 16384, "input": 16384, "output": 32768 } - }, - "LLM360/K2-Think": { - "id": "LLM360/K2-Think", - "name": "K2-Think", - "family": "kimi-thinking", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-07-26", - "last_updated": "2025-07-26", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.17, "output": 0.68 }, - "limit": { "context": 128000, "input": 128000, "output": 32768 } - }, - "MiniMaxAI/MiniMax-M1-80k": { - "id": "MiniMaxAI/MiniMax-M1-80k", - "name": "MiniMax M1 80K", - "family": "minimax", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-06-16", - "last_updated": "2025-06-16", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.6052, "output": 2.4225000000000003 }, - "limit": { "context": 1000000, "input": 1000000, "output": 131072 } - }, - "failspy/Meta-Llama-3-70B-Instruct-abliterated-v3.5": { - "id": "failspy/Meta-Llama-3-70B-Instruct-abliterated-v3.5", - "name": "Llama 3 70B abliterated", - "family": "llama", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-07-26", - "last_updated": "2025-07-26", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.7, "output": 0.7 }, - "limit": { "context": 8192, "input": 8192, "output": 8192 } - }, - "essentialai/rnj-1-instruct": { - "id": "essentialai/rnj-1-instruct", - "name": "RNJ-1 Instruct 8B", - "family": "rnj", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-12-13", - "last_updated": "2025-12-13", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.15, "output": 0.15 }, - "limit": { "context": 128000, "input": 128000, "output": 8192 } - }, - "pamanseau/OpenReasoning-Nemotron-32B": { - "id": "pamanseau/OpenReasoning-Nemotron-32B", - "name": "OpenReasoning Nemotron 32B", - "family": "nemotron", - "attachment": false, - "reasoning": true, - "tool_call": false, - "structured_output": false, - "release_date": "2025-08-21", - "last_updated": "2025-08-21", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.1, "output": 0.4 }, - "limit": { "context": 32768, "input": 32768, "output": 65536 } - }, - "arcee-ai/trinity-mini": { - "id": "arcee-ai/trinity-mini", - "name": "Trinity Mini", - "family": "trinity-mini", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-12-01", - "last_updated": "2025-12-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.045000000000000005, "output": 0.15 }, - "limit": { "context": 131072, "input": 131072, "output": 8192 } - }, - "arcee-ai/trinity-large": { - "id": "arcee-ai/trinity-large", - "name": "Trinity Large", - "family": "trinity", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-12-01", - "last_updated": "2025-12-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.25, "output": 1 }, - "limit": { "context": 131072, "input": 131072, "output": 8192 } - }, - "deepseek-ai/DeepSeek-V3.1-Terminus:thinking": { - "id": "deepseek-ai/DeepSeek-V3.1-Terminus:thinking", - "name": "DeepSeek V3.1 Terminus (Thinking)", - "family": "deepseek-thinking", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "release_date": "2025-09-22", - "last_updated": "2025-09-22", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.25, "output": 0.7 }, - "limit": { "context": 128000, "input": 128000, "output": 65536 } - }, - "deepseek-ai/DeepSeek-V3.1:thinking": { - "id": "deepseek-ai/DeepSeek-V3.1:thinking", - "name": "DeepSeek V3.1 Thinking", - "family": "deepseek-thinking", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-08-21", - "last_updated": "2025-08-21", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.2, "output": 0.7 }, - "limit": { "context": 128000, "input": 128000, "output": 65536 } - }, - "deepseek-ai/DeepSeek-V3.1": { - "id": "deepseek-ai/DeepSeek-V3.1", - "name": "DeepSeek V3.1", - "family": "deepseek", - "attachment": true, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-07-26", - "last_updated": "2025-07-26", - "modalities": { "input": ["text", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.2, "output": 0.7 }, - "limit": { "context": 128000, "input": 128000, "output": 65536 } - }, - "deepseek-ai/deepseek-v3.2-exp-thinking": { - "id": "deepseek-ai/deepseek-v3.2-exp-thinking", - "name": "DeepSeek V3.2 Exp Thinking", - "family": "deepseek-thinking", - "attachment": false, - "reasoning": true, - "tool_call": false, - "structured_output": false, - "release_date": "2025-09-29", - "last_updated": "2025-09-29", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.27999999999999997, "output": 0.42000000000000004 }, - "limit": { "context": 163840, "input": 163840, "output": 65536 } - }, - "deepseek-ai/DeepSeek-V3.1-Terminus": { - "id": "deepseek-ai/DeepSeek-V3.1-Terminus", - "name": "DeepSeek V3.1 Terminus", - "family": "deepseek", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "release_date": "2025-08-02", - "last_updated": "2025-08-02", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.25, "output": 0.7 }, - "limit": { "context": 128000, "input": 128000, "output": 65536 } - }, - "deepseek-ai/deepseek-v3.2-exp": { - "id": "deepseek-ai/deepseek-v3.2-exp", - "name": "DeepSeek V3.2 Exp", - "family": "deepseek", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-09-29", - "last_updated": "2025-09-29", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.27999999999999997, "output": 0.42000000000000004 }, - "limit": { "context": 163840, "input": 163840, "output": 65536 } - }, - "deepseek-ai/DeepSeek-R1-0528": { - "id": "deepseek-ai/DeepSeek-R1-0528", - "name": "DeepSeek R1 0528", - "family": "deepseek", - "attachment": false, - "reasoning": true, - "tool_call": false, - "structured_output": false, - "release_date": "2025-05-28", - "last_updated": "2025-05-28", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.4, "output": 1.7 }, - "limit": { "context": 128000, "input": 128000, "output": 163840 } - }, - "inflatebot/MN-12B-Mag-Mell-R1": { - "id": "inflatebot/MN-12B-Mag-Mell-R1", - "name": "Mag Mell R1", - "family": "mistral-nemo", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2024-07-01", - "last_updated": "2024-07-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.49299999999999994, "output": 0.49299999999999994 }, - "limit": { "context": 16384, "input": 16384, "output": 8192 } - }, - "MarinaraSpaghetti/NemoMix-Unleashed-12B": { - "id": "MarinaraSpaghetti/NemoMix-Unleashed-12B", - "name": "NemoMix 12B Unleashed", - "family": "mistral-nemo", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2024-07-01", - "last_updated": "2024-07-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.49299999999999994, "output": 0.49299999999999994 }, - "limit": { "context": 32768, "input": 32768, "output": 8192 } - }, - "Alibaba-NLP/Tongyi-DeepResearch-30B-A3B": { - "id": "Alibaba-NLP/Tongyi-DeepResearch-30B-A3B", - "name": "Tongyi DeepResearch 30B A3B", - "family": "yi", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-08-26", - "last_updated": "2025-08-26", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.08, "output": 0.24000000000000002 }, - "limit": { "context": 128000, "input": 128000, "output": 65536 } - }, - "soob3123/GrayLine-Qwen3-8B": { - "id": "soob3123/GrayLine-Qwen3-8B", - "name": "Grayline Qwen3 8B", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-09-25", - "last_updated": "2025-09-25", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.3, "output": 0.3 }, - "limit": { "context": 16384, "input": 16384, "output": 32768 } - }, - "soob3123/amoral-gemma3-27B-v2": { - "id": "soob3123/amoral-gemma3-27B-v2", - "name": "Amoral Gemma3 27B v2", - "family": "gemma", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-05-23", - "last_updated": "2025-05-23", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.3, "output": 0.3 }, - "limit": { "context": 32768, "input": 32768, "output": 8192 } - }, - "soob3123/Veiled-Calla-12B": { - "id": "soob3123/Veiled-Calla-12B", - "name": "Veiled Calla 12B", - "family": "llama", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-04-13", - "last_updated": "2025-04-13", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.3, "output": 0.3 }, - "limit": { "context": 32768, "input": 32768, "output": 8192 } - }, - "minimax/minimax-m2-her": { - "id": "minimax/minimax-m2-her", - "name": "MiniMax M2-her", - "family": "minimax", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2026-01-24", - "last_updated": "2026-01-24", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.30200000000000005, "output": 1.2069999999999999 }, - "limit": { "context": 65532, "input": 65532, "output": 2048 } - }, - "minimax/minimax-01": { - "id": "minimax/minimax-01", - "name": "MiniMax 01", - "family": "minimax", - "attachment": true, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-01-15", - "last_updated": "2025-01-15", - "modalities": { "input": ["text", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.1394, "output": 1.1219999999999999 }, - "limit": { "context": 1000192, "input": 1000192, "output": 16384 } - }, - "minimax/minimax-m2.1": { - "id": "minimax/minimax-m2.1", - "name": "MiniMax M2.1", - "family": "minimax", - "attachment": false, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "release_date": "2025-12-19", - "last_updated": "2025-12-19", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.33, "output": 1.32 }, - "limit": { "context": 200000, "input": 200000, "output": 131072 } - }, - "minimax/minimax-m2.7": { - "id": "minimax/minimax-m2.7", - "name": "MiniMax M2.7", - "family": "minimax", - "attachment": false, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "release_date": "2026-03-18", - "last_updated": "2026-03-18", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.3, "output": 1.2 }, - "limit": { "context": 204800, "input": 204800, "output": 131072 } - }, - "minimax/minimax-m2.5": { - "id": "minimax/minimax-m2.5", - "name": "MiniMax M2.5", - "family": "minimax", - "attachment": false, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "release_date": "2026-02-12", - "last_updated": "2026-02-12", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.3, "output": 1.2 }, - "limit": { "context": 204800, "input": 204800, "output": 131072 } - }, - "qwen/qwen3.5-397b-a17b": { - "id": "qwen/qwen3.5-397b-a17b", - "name": "Qwen3.5 397B A17B", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2026-02-16", - "last_updated": "2026-02-16", - "modalities": { "input": ["text", "image", "video"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.6, "output": 3.6 }, - "limit": { "context": 258048, "input": 258048, "output": 65536 } - }, - "dmind/dmind-1": { - "id": "dmind/dmind-1", - "name": "DMind-1", - "family": "gpt", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-06-01", - "last_updated": "2025-06-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.3, "output": 0.6 }, - "limit": { "context": 32768, "input": 32768, "output": 8192 } - }, - "dmind/dmind-1-mini": { - "id": "dmind/dmind-1-mini", - "name": "DMind-1-Mini", - "family": "gpt", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-06-01", - "last_updated": "2025-06-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.2, "output": 0.4 }, - "limit": { "context": 32768, "input": 32768, "output": 8192 } - }, - "VongolaChouko/Starcannon-Unleashed-12B-v1.0": { - "id": "VongolaChouko/Starcannon-Unleashed-12B-v1.0", - "name": "Mistral Nemo Starcannon 12b v1", - "family": "mistral-nemo", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2024-07-01", - "last_updated": "2024-07-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.49299999999999994, "output": 0.49299999999999994 }, - "limit": { "context": 16384, "input": 16384, "output": 8192 } - }, - "xiaomi/mimo-v2-flash-thinking": { - "id": "xiaomi/mimo-v2-flash-thinking", - "name": "MiMo V2 Flash (Thinking)", - "family": "mimo", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-12-17", - "last_updated": "2025-12-17", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.102, "output": 0.306 }, - "limit": { "context": 256000, "input": 256000, "output": 32768 } - }, - "xiaomi/mimo-v2-flash-thinking-original": { - "id": "xiaomi/mimo-v2-flash-thinking-original", - "name": "MiMo V2 Flash (Thinking) Original", - "family": "mimo", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-12-17", - "last_updated": "2025-12-17", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.102, "output": 0.306 }, - "limit": { "context": 256000, "input": 256000, "output": 32768 } - }, - "xiaomi/mimo-v2-flash-original": { - "id": "xiaomi/mimo-v2-flash-original", - "name": "MiMo V2 Flash Original", - "family": "mimo", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-12-17", - "last_updated": "2025-12-17", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.102, "output": 0.306 }, - "limit": { "context": 256000, "input": 256000, "output": 32768 } - }, - "xiaomi/mimo-v2-flash": { - "id": "xiaomi/mimo-v2-flash", - "name": "MiMo V2 Flash", - "family": "mimo", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-12-17", - "last_updated": "2025-12-17", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.102, "output": 0.306 }, - "limit": { "context": 256000, "input": 256000, "output": 32768 } - }, - "Salesforce/Llama-xLAM-2-70b-fc-r": { - "id": "Salesforce/Llama-xLAM-2-70b-fc-r", - "name": "Llama-xLAM-2 70B fc-r", - "family": "llama", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-04-13", - "last_updated": "2025-04-13", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2.5, "output": 2.5 }, - "limit": { "context": 128000, "input": 128000, "output": 16384 } - }, - "Gryphe/MythoMax-L2-13b": { - "id": "Gryphe/MythoMax-L2-13b", - "name": "MythoMax 13B", - "family": "llama", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-08-08", - "last_updated": "2025-08-08", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.1003, "output": 0.1003 }, - "limit": { "context": 4000, "input": 4000, "output": 4096 } - }, - "baseten/Kimi-K2-Instruct-FP4": { - "id": "baseten/Kimi-K2-Instruct-FP4", - "name": "Kimi K2 0711 Instruct FP4", - "family": "kimi", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-07-11", - "last_updated": "2025-07-11", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.1, "output": 2 }, - "limit": { "context": 128000, "input": 128000, "output": 131072 } - }, - "Steelskull/L3.3-Nevoria-R1-70b": { - "id": "Steelskull/L3.3-Nevoria-R1-70b", - "name": "Steelskull Nevoria R1 70b", - "family": "llama", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2024-12-06", - "last_updated": "2024-12-06", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.49299999999999994, "output": 0.49299999999999994 }, - "limit": { "context": 16384, "input": 16384, "output": 16384 } - }, - "Steelskull/L3.3-Electra-R1-70b": { - "id": "Steelskull/L3.3-Electra-R1-70b", - "name": "Steelskull Electra R1 70b", - "family": "llama", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2024-12-06", - "last_updated": "2024-12-06", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.69989, "output": 0.69989 }, - "limit": { "context": 16384, "input": 16384, "output": 16384 } - }, - "Steelskull/L3.3-Cu-Mai-R1-70b": { - "id": "Steelskull/L3.3-Cu-Mai-R1-70b", - "name": "Llama 3.3 70B Cu Mai", - "family": "llama", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2024-12-06", - "last_updated": "2024-12-06", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.49299999999999994, "output": 0.49299999999999994 }, - "limit": { "context": 16384, "input": 16384, "output": 16384 } - }, - "Steelskull/L3.3-MS-Evalebis-70b": { - "id": "Steelskull/L3.3-MS-Evalebis-70b", - "name": "MS Evalebis 70b", - "family": "llama", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2024-12-06", - "last_updated": "2024-12-06", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.49299999999999994, "output": 0.49299999999999994 }, - "limit": { "context": 16384, "input": 16384, "output": 16384 } - }, - "Steelskull/L3.3-MS-Nevoria-70b": { - "id": "Steelskull/L3.3-MS-Nevoria-70b", - "name": "Steelskull Nevoria 70b", - "family": "llama", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2024-12-06", - "last_updated": "2024-12-06", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.49299999999999994, "output": 0.49299999999999994 }, - "limit": { "context": 16384, "input": 16384, "output": 16384 } - }, - "Steelskull/L3.3-MS-Evayale-70B": { - "id": "Steelskull/L3.3-MS-Evayale-70B", - "name": "Evayale 70b ", - "family": "llama", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2024-12-06", - "last_updated": "2024-12-06", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.49299999999999994, "output": 0.49299999999999994 }, - "limit": { "context": 16384, "input": 16384, "output": 16384 } - }, - "meganova-ai/manta-mini-1.0": { - "id": "meganova-ai/manta-mini-1.0", - "name": "Manta Mini 1.0", - "family": "nova", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-12-20", - "last_updated": "2025-12-20", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.02, "output": 0.16 }, - "limit": { "context": 8192, "input": 8192, "output": 8192 } - }, - "meganova-ai/manta-pro-1.0": { - "id": "meganova-ai/manta-pro-1.0", - "name": "Manta Pro 1.0", - "family": "nova", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-12-20", - "last_updated": "2025-12-20", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.060000000000000005, "output": 0.5 }, - "limit": { "context": 32768, "input": 32768, "output": 32768 } - }, - "meganova-ai/manta-flash-1.0": { - "id": "meganova-ai/manta-flash-1.0", - "name": "Manta Flash 1.0", - "family": "nova", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-12-20", - "last_updated": "2025-12-20", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.02, "output": 0.16 }, - "limit": { "context": 16384, "input": 16384, "output": 16384 } - }, - "meituan-longcat/LongCat-Flash-Chat-FP8": { - "id": "meituan-longcat/LongCat-Flash-Chat-FP8", - "name": "LongCat Flash", - "family": "longcat", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "release_date": "2025-08-31", - "last_updated": "2025-08-31", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.15, "output": 0.7 }, - "limit": { "context": 128000, "input": 128000, "output": 32768 } - }, - "TEE/kimi-k2-thinking": { - "id": "TEE/kimi-k2-thinking", - "name": "Kimi K2 Thinking TEE", - "family": "kimi-thinking", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-11-06", - "last_updated": "2025-11-06", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2, "output": 2 }, - "limit": { "context": 128000, "input": 128000, "output": 65535 } - }, - "TEE/kimi-k2.5": { - "id": "TEE/kimi-k2.5", - "name": "Kimi K2.5 TEE", - "family": "kimi", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2026-01-29", - "last_updated": "2026-01-29", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.3, "output": 1.9 }, - "limit": { "context": 128000, "input": 128000, "output": 65535 } - }, - "TEE/glm-4.7-flash": { - "id": "TEE/glm-4.7-flash", - "name": "GLM 4.7 Flash TEE", - "family": "glm-flash", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2026-01-19", - "last_updated": "2026-01-19", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.15, "output": 0.5 }, - "limit": { "context": 203000, "input": 203000, "output": 65535 } - }, - "TEE/gemma-3-27b-it": { - "id": "TEE/gemma-3-27b-it", - "name": "Gemma 3 27B TEE", - "family": "gemma", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-03-10", - "last_updated": "2025-03-10", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.2, "output": 0.8 }, - "limit": { "context": 131072, "input": 131072, "output": 8192 } - }, - "TEE/kimi-k2.5-thinking": { - "id": "TEE/kimi-k2.5-thinking", - "name": "Kimi K2.5 Thinking TEE", - "family": "kimi-thinking", - "attachment": false, - "reasoning": true, - "tool_call": false, - "structured_output": false, - "release_date": "2026-01-29", - "last_updated": "2026-01-29", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.3, "output": 1.9 }, - "limit": { "context": 128000, "input": 128000, "output": 65535 } - }, - "TEE/gpt-oss-120b": { - "id": "TEE/gpt-oss-120b", - "name": "GPT-OSS 120B TEE", - "family": "gpt-oss", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-08-05", - "last_updated": "2025-08-05", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2, "output": 2 }, - "limit": { "context": 131072, "input": 131072, "output": 16384 } - }, - "TEE/qwen3-coder": { - "id": "TEE/qwen3-coder", - "name": "Qwen3 Coder 480B TEE", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, + "knowledge": "2025-04", "release_date": "2025-07-23", "last_updated": "2025-07-23", - "modalities": { "input": ["text"], "output": ["text"] }, + "modalities": { + "input": ["text"], + "output": ["text"] + }, "open_weights": false, - "cost": { "input": 1.5, "output": 2 }, - "limit": { "context": 128000, "input": 128000, "output": 32768 } + "limit": { + "context": 262144, + "output": 66536 + }, + "cost": { + "input": 0, + "output": 0 + } }, - "TEE/minimax-m2.1": { - "id": "TEE/minimax-m2.1", - "name": "MiniMax M2.1 TEE", - "family": "minimax", + "google/gemma-2-2b-it": { + "id": "google/gemma-2-2b-it", + "name": "Gemma 2 2b It", "attachment": false, - "reasoning": true, + "reasoning": false, "tool_call": true, "structured_output": true, - "release_date": "2025-12-23", - "last_updated": "2025-12-23", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.3, "output": 1.2 }, - "limit": { "context": 200000, "input": 200000, "output": 131072 } + "temperature": true, + "release_date": "2024-07-16", + "last_updated": "2024-07-16", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 4096 + }, + "cost": { + "input": 0, + "output": 0 + } }, - "TEE/qwen2.5-vl-72b-instruct": { - "id": "TEE/qwen2.5-vl-72b-instruct", - "name": "Qwen2.5 VL 72B TEE", - "family": "qwen", + "google/gemma-3n-e4b-it": { + "id": "google/gemma-3n-e4b-it", + "name": "Gemma 3n E4b It", "attachment": true, "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-02-01", - "last_updated": "2025-02-01", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.7, "output": 0.7 }, - "limit": { "context": 65536, "input": 65536, "output": 8192 } + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2024-06", + "release_date": "2025-06-03", + "last_updated": "2025-06-03", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 4096 + }, + "cost": { + "input": 0, + "output": 0 + } }, - "TEE/glm-4.6": { - "id": "TEE/glm-4.6", - "name": "GLM 4.6 TEE", - "family": "glm", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-09-30", - "last_updated": "2025-09-30", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.75, "output": 2 }, - "limit": { "context": 203000, "input": 203000, "output": 65535 } + "google/gemma-4-31b-it": { + "id": "google/gemma-4-31b-it", + "name": "Gemma-4-31B-IT", + "family": "gemma", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2026-04-02", + "last_updated": "2026-04-02", + "modalities": { + "input": ["text", "image", "video"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 256000, + "output": 16384 + }, + "cost": { + "input": 0, + "output": 0 + } }, - "TEE/deepseek-v3.1": { - "id": "TEE/deepseek-v3.1", - "name": "DeepSeek V3.1 TEE", - "family": "deepseek", - "attachment": false, + "google/gemma-3n-e2b-it": { + "id": "google/gemma-3n-e2b-it", + "name": "Gemma 3n E2b It", + "attachment": true, "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-08-21", - "last_updated": "2025-08-21", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1, "output": 2.5 }, - "limit": { "context": 164000, "input": 164000, "output": 8192 } + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2024-06", + "release_date": "2025-06-12", + "last_updated": "2025-06-12", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 4096 + }, + "cost": { + "input": 0, + "output": 0 + } }, - "TEE/llama3-3-70b": { - "id": "TEE/llama3-3-70b", - "name": "Llama 3.3 70B", - "family": "llama", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-07-03", - "last_updated": "2025-07-03", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2, "output": 2 }, - "limit": { "context": 128000, "input": 128000, "output": 16384 } - }, - "TEE/glm-5": { - "id": "TEE/glm-5", - "name": "GLM 5 TEE", - "family": "glm", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2026-02-11", - "last_updated": "2026-02-11", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.2, "output": 3.5 }, - "limit": { "context": 203000, "input": 203000, "output": 65535 } - }, - "TEE/qwen3.5-397b-a17b": { - "id": "TEE/qwen3.5-397b-a17b", - "name": "Qwen3.5 397B A17B TEE", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2026-02-28", - "last_updated": "2026-02-28", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.6, "output": 3.6 }, - "limit": { "context": 258048, "input": 258048, "output": 65536 } - }, - "TEE/glm-4.7": { - "id": "TEE/glm-4.7", - "name": "GLM 4.7 TEE", - "family": "glm", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2026-01-29", - "last_updated": "2026-01-29", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.85, "output": 3.3 }, - "limit": { "context": 131000, "input": 131000, "output": 65535 } - }, - "TEE/deepseek-r1-0528": { - "id": "TEE/deepseek-r1-0528", - "name": "DeepSeek R1 0528 TEE", - "family": "deepseek", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-05-28", - "last_updated": "2025-05-28", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2, "output": 2 }, - "limit": { "context": 128000, "input": 128000, "output": 65536 } - }, - "TEE/gpt-oss-20b": { - "id": "TEE/gpt-oss-20b", - "name": "GPT-OSS 20B TEE", - "family": "gpt-oss", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-08-05", - "last_updated": "2025-08-05", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.2, "output": 0.8 }, - "limit": { "context": 131072, "input": 131072, "output": 8192 } - }, - "TEE/deepseek-v3.2": { - "id": "TEE/deepseek-v3.2", - "name": "DeepSeek V3.2 TEE", - "family": "deepseek", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-12-01", - "last_updated": "2025-12-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.5, "output": 1 }, - "limit": { "context": 164000, "input": 164000, "output": 65536 } - }, - "TEE/qwen3-30b-a3b-instruct-2507": { - "id": "TEE/qwen3-30b-a3b-instruct-2507", - "name": "Qwen3 30B A3B Instruct 2507 TEE", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-07-29", - "last_updated": "2025-07-29", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.15, "output": 0.44999999999999996 }, - "limit": { "context": 262000, "input": 262000, "output": 32768 } - }, - "chutesai/Mistral-Small-3.2-24B-Instruct-2506": { - "id": "chutesai/Mistral-Small-3.2-24B-Instruct-2506", - "name": "Mistral Small 3.2 24b Instruct", - "family": "chutesai", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-04-15", - "last_updated": "2025-04-15", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.2, "output": 0.4 }, - "limit": { "context": 128000, "input": 128000, "output": 131072 } - }, - "Infermatic/MN-12B-Inferor-v0.0": { - "id": "Infermatic/MN-12B-Inferor-v0.0", - "name": "Mistral Nemo Inferor 12B", - "family": "mistral-nemo", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2024-07-01", - "last_updated": "2024-07-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.25499999999999995, "output": 0.49299999999999994 }, - "limit": { "context": 16384, "input": 16384, "output": 8192 } - }, - "aion-labs/aion-rp-llama-3.1-8b": { - "id": "aion-labs/aion-rp-llama-3.1-8b", - "name": "Llama 3.1 8b (uncensored)", - "family": "llama", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2024-07-23", - "last_updated": "2024-07-23", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.2006, "output": 0.2006 }, - "limit": { "context": 32768, "input": 32768, "output": 16384 } - }, - "aion-labs/aion-1.0-mini": { - "id": "aion-labs/aion-1.0-mini", - "name": "Aion 1.0 mini (DeepSeek)", - "family": "deepseek", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-02-20", - "last_updated": "2025-02-20", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.7989999999999999, "output": 1.394 }, - "limit": { "context": 131072, "input": 131072, "output": 8192 } - }, - "aion-labs/aion-1.0": { - "id": "aion-labs/aion-1.0", - "name": "Aion 1.0", - "family": "llama", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-02-01", - "last_updated": "2025-02-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 3.995, "output": 7.99 }, - "limit": { "context": 65536, "input": 65536, "output": 8192 } - }, - "mlabonne/NeuralDaredevil-8B-abliterated": { - "id": "mlabonne/NeuralDaredevil-8B-abliterated", - "name": "Neural Daredevil 8B abliterated", - "family": "llama", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, + "google/gemma-3-27b-it": { + "id": "google/gemma-3-27b-it", + "name": "Gemma-3-27B-IT", + "family": "gemma", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-12", "release_date": "2024-12-01", - "last_updated": "2024-12-01", - "modalities": { "input": ["text"], "output": ["text"] }, + "last_updated": "2025-09-05", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, "open_weights": false, - "cost": { "input": 0.44, "output": 0.44 }, - "limit": { "context": 8192, "input": 8192, "output": 8192 } + "limit": { + "context": 131072, + "output": 8192 + }, + "cost": { + "input": 0, + "output": 0 + } }, - "moonshotai/kimi-k2-thinking": { - "id": "moonshotai/kimi-k2-thinking", - "name": "Kimi K2 Thinking", - "family": "kimi-thinking", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "release_date": "2025-11-06", - "last_updated": "2025-11-06", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.3, "output": 1.2 }, - "limit": { "context": 256000, "input": 256000, "output": 262144 } - }, - "moonshotai/kimi-k2.5": { - "id": "moonshotai/kimi-k2.5", - "name": "Kimi K2.5", - "family": "kimi", - "attachment": true, - "reasoning": false, - "tool_call": true, - "structured_output": false, - "release_date": "2026-01-26", - "last_updated": "2026-01-26", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.3, "output": 1.9 }, - "limit": { "context": 256000, "input": 256000, "output": 65536 } - }, - "moonshotai/kimi-k2.5:thinking": { - "id": "moonshotai/kimi-k2.5:thinking", - "name": "Kimi K2.5 Thinking", - "family": "kimi-thinking", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": false, - "release_date": "2026-01-26", - "last_updated": "2026-01-26", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.3, "output": 1.9 }, - "limit": { "context": 256000, "input": 256000, "output": 65536 } - }, - "moonshotai/kimi-k2-thinking-turbo-original": { - "id": "moonshotai/kimi-k2-thinking-turbo-original", - "name": "Kimi K2 Thinking Turbo Original", - "family": "kimi-thinking", - "attachment": false, - "reasoning": true, - "tool_call": false, - "structured_output": false, - "release_date": "2025-11-06", - "last_updated": "2025-11-06", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.15, "output": 8 }, - "limit": { "context": 256000, "input": 256000, "output": 16384 } - }, - "moonshotai/Kimi-K2-Instruct-0905": { - "id": "moonshotai/Kimi-K2-Instruct-0905", - "name": "Kimi K2 0905", - "family": "kimi", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "release_date": "2025-09-25", - "last_updated": "2025-09-25", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.4, "output": 2 }, - "limit": { "context": 256000, "input": 256000, "output": 262144 } - }, - "moonshotai/kimi-k2-thinking-original": { - "id": "moonshotai/kimi-k2-thinking-original", - "name": "Kimi K2 Thinking Original", - "family": "kimi-thinking", - "attachment": false, - "reasoning": true, - "tool_call": false, - "structured_output": false, - "release_date": "2025-11-06", - "last_updated": "2025-11-06", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.6, "output": 2.5 }, - "limit": { "context": 256000, "input": 256000, "output": 16384 } - }, - "moonshotai/kimi-k2-instruct-0711": { - "id": "moonshotai/kimi-k2-instruct-0711", - "name": "Kimi K2 0711", - "family": "kimi", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "release_date": "2025-07-11", - "last_updated": "2025-07-11", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.1, "output": 2 }, - "limit": { "context": 128000, "input": 128000, "output": 8192 } - }, - "moonshotai/Kimi-Dev-72B": { - "id": "moonshotai/Kimi-Dev-72B", - "name": "Kimi Dev 72B", - "family": "kimi", + "google/google-paligemma": { + "id": "google/google-paligemma", + "name": "paligemma", "attachment": true, "reasoning": false, "tool_call": false, - "structured_output": false, - "release_date": "2025-04-15", - "last_updated": "2025-04-15", - "modalities": { "input": ["text", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.4, "output": 0.4 }, - "limit": { "context": 128000, "input": 128000, "output": 131072 } + "temperature": true, + "release_date": "2024-05-14", + "last_updated": "2024-08-26", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 8192 + }, + "cost": { + "input": 0, + "output": 0 + } }, "moonshotai/kimi-k2-instruct": { "id": "moonshotai/kimi-k2-instruct", "name": "Kimi K2 Instruct", "family": "kimi", "attachment": false, - "reasoning": false, + "reasoning": true, "tool_call": true, - "structured_output": true, - "release_date": "2025-07-01", - "last_updated": "2025-07-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.1, "output": 2 }, - "limit": { "context": 256000, "input": 256000, "output": 8192 } - }, - "tencent/Hunyuan-MT-7B": { - "id": "tencent/Hunyuan-MT-7B", - "name": "Hunyuan MT 7B", - "family": "hunyuan", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-09-18", - "last_updated": "2025-09-18", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 10, "output": 20 }, - "limit": { "context": 8192, "input": 8192, "output": 8192 } - }, - "Envoid/Llama-3.05-NT-Storybreaker-Ministral-70B": { - "id": "Envoid/Llama-3.05-NT-Storybreaker-Ministral-70B", - "name": "Llama 3.05 Storybreaker Ministral 70b", - "family": "llama", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2024-12-01", - "last_updated": "2024-12-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.49299999999999994, "output": 0.49299999999999994 }, - "limit": { "context": 16384, "input": 16384, "output": 8192 } - }, - "Envoid/Llama-3.05-Nemotron-Tenyxchat-Storybreaker-70B": { - "id": "Envoid/Llama-3.05-Nemotron-Tenyxchat-Storybreaker-70B", - "name": "Nemotron Tenyxchat Storybreaker 70b", - "family": "nemotron", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2024-12-01", - "last_updated": "2024-12-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.49299999999999994, "output": 0.49299999999999994 }, - "limit": { "context": 16384, "input": 16384, "output": 8192 } - }, - "Tongyi-Zhiwen/QwenLong-L1-32B": { - "id": "Tongyi-Zhiwen/QwenLong-L1-32B", - "name": "QwenLong L1 32B", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-01-25", - "last_updated": "2025-01-25", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.13999999999999999, "output": 0.6 }, - "limit": { "context": 128000, "input": 128000, "output": 40960 } - }, - "featherless-ai/Qwerky-72B": { - "id": "featherless-ai/Qwerky-72B", - "name": "Qwerky 72B", - "family": "qwerky", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-03-20", - "last_updated": "2025-03-20", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.5, "output": 0.5 }, - "limit": { "context": 32000, "input": 32000, "output": 8192 } - }, - "Sao10K/L3.3-70B-Euryale-v2.3": { - "id": "Sao10K/L3.3-70B-Euryale-v2.3", - "name": "Llama 3.3 70B Euryale", - "family": "llama", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2024-12-06", - "last_updated": "2024-12-06", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.49299999999999994, "output": 0.49299999999999994 }, - "limit": { "context": 20480, "input": 20480, "output": 16384 } - }, - "Sao10K/L3.1-70B-Hanami-x1": { - "id": "Sao10K/L3.1-70B-Hanami-x1", - "name": "Llama 3.1 70B Hanami", - "family": "llama", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2024-07-23", - "last_updated": "2024-07-23", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.49299999999999994, "output": 0.49299999999999994 }, - "limit": { "context": 16384, "input": 16384, "output": 16384 } - }, - "Sao10K/L3.1-70B-Euryale-v2.2": { - "id": "Sao10K/L3.1-70B-Euryale-v2.2", - "name": "Llama 3.1 70B Euryale", - "family": "llama", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2024-07-23", - "last_updated": "2024-07-23", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.306, "output": 0.357 }, - "limit": { "context": 20480, "input": 20480, "output": 16384 } - }, - "Sao10K/L3-8B-Stheno-v3.2": { - "id": "Sao10K/L3-8B-Stheno-v3.2", - "name": "Sao10K Stheno 8b", - "family": "llama", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2024-11-29", - "last_updated": "2024-11-29", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.2006, "output": 0.2006 }, - "limit": { "context": 16384, "input": 16384, "output": 8192 } - }, - "inflection/inflection-3-pi": { - "id": "inflection/inflection-3-pi", - "name": "Inflection 3 Pi", - "family": "gpt", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2024-10-11", - "last_updated": "2024-10-11", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2.499, "output": 9.996 }, - "limit": { "context": 8000, "input": 8000, "output": 4096 } - }, - "inflection/inflection-3-productivity": { - "id": "inflection/inflection-3-productivity", - "name": "Inflection 3 Productivity", - "family": "gpt", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2024-10-11", - "last_updated": "2024-10-11", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2.499, "output": 9.996 }, - "limit": { "context": 8000, "input": 8000, "output": 4096 } - }, - "GalrionSoftworks/MN-LooseCannon-12B-v1": { - "id": "GalrionSoftworks/MN-LooseCannon-12B-v1", - "name": "MN-LooseCannon-12B-v1", - "family": "mistral-nemo", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2024-07-01", - "last_updated": "2024-07-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.49299999999999994, "output": 0.49299999999999994 }, - "limit": { "context": 16384, "input": 16384, "output": 8192 } - }, - "LatitudeGames/Wayfarer-Large-70B-Llama-3.3": { - "id": "LatitudeGames/Wayfarer-Large-70B-Llama-3.3", - "name": "Llama 3.3 70B Wayfarer", - "family": "llama", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-02-20", - "last_updated": "2025-02-20", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.700000007, "output": 0.700000007 }, - "limit": { "context": 16384, "input": 16384, "output": 16384 } - }, - "anthracite-org/magnum-v4-72b": { - "id": "anthracite-org/magnum-v4-72b", - "name": "Magnum v4 72B", - "family": "llama", - "attachment": true, - "reasoning": false, - "tool_call": false, - "structured_output": false, + "temperature": true, + "knowledge": "2024-01", "release_date": "2025-01-01", - "last_updated": "2025-01-01", - "modalities": { "input": ["text", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2.006, "output": 2.992 }, - "limit": { "context": 16384, "input": 16384, "output": 8192 } - }, - "anthracite-org/magnum-v2-72b": { - "id": "anthracite-org/magnum-v2-72b", - "name": "Magnum V2 72B", - "family": "llama", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2024-07-01", - "last_updated": "2024-07-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2.006, "output": 2.992 }, - "limit": { "context": 16384, "input": 16384, "output": 8192 } - }, - "tngtech/tng-r1t-chimera": { - "id": "tngtech/tng-r1t-chimera", - "name": "TNG R1T Chimera", - "family": "tngtech", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-11-26", - "last_updated": "2025-11-26", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.3, "output": 1.2 }, - "limit": { "context": 128000, "input": 128000, "output": 65536 } - }, - "tngtech/DeepSeek-TNG-R1T2-Chimera": { - "id": "tngtech/DeepSeek-TNG-R1T2-Chimera", - "name": "DeepSeek TNG R1T2 Chimera", - "family": "tngtech", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-09-05", "last_updated": "2025-09-05", - "modalities": { "input": ["text"], "output": ["text"] }, + "modalities": { + "input": ["text"], + "output": ["text"] + }, "open_weights": false, - "cost": { "input": 0.31, "output": 0.31 }, - "limit": { "context": 128000, "input": 128000, "output": 8192 } + "limit": { + "context": 128000, + "output": 8192 + }, + "cost": { + "input": 0, + "output": 0 + } }, - "deepcogito/cogito-v2.1-671b": { - "id": "deepcogito/cogito-v2.1-671b", - "name": "Cogito v2.1 671B MoE", - "family": "cogito", - "attachment": false, - "reasoning": true, - "tool_call": false, - "structured_output": false, - "release_date": "2025-11-19", - "last_updated": "2025-11-19", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.25, "output": 1.25 }, - "limit": { "context": 128000, "input": 128000, "output": 16384 } - }, - "deepcogito/cogito-v1-preview-qwen-32B": { - "id": "deepcogito/cogito-v1-preview-qwen-32B", - "name": "Cogito v1 Preview Qwen 32B", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-05-10", - "last_updated": "2025-05-10", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.7999999999999998, "output": 1.7999999999999998 }, - "limit": { "context": 128000, "input": 128000, "output": 32768 } - }, - "huihui-ai/DeepSeek-R1-Distill-Llama-70B-abliterated": { - "id": "huihui-ai/DeepSeek-R1-Distill-Llama-70B-abliterated", - "name": "DeepSeek R1 Llama 70B Abliterated", - "family": "deepseek", - "attachment": false, - "reasoning": true, - "tool_call": false, - "structured_output": false, - "release_date": "2025-01-20", - "last_updated": "2025-01-20", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.7, "output": 0.7 }, - "limit": { "context": 16384, "input": 16384, "output": 8192 } - }, - "huihui-ai/Llama-3.3-70B-Instruct-abliterated": { - "id": "huihui-ai/Llama-3.3-70B-Instruct-abliterated", - "name": "Llama 3.3 70B Instruct abliterated", - "family": "llama", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-08-08", - "last_updated": "2025-08-08", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.7, "output": 0.7 }, - "limit": { "context": 16384, "input": 16384, "output": 16384 } - }, - "huihui-ai/Qwen2.5-32B-Instruct-abliterated": { - "id": "huihui-ai/Qwen2.5-32B-Instruct-abliterated", - "name": "Qwen 2.5 32B Abliterated", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-01-06", - "last_updated": "2025-01-06", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.7, "output": 0.7 }, - "limit": { "context": 32768, "input": 32768, "output": 8192 } - }, - "huihui-ai/DeepSeek-R1-Distill-Qwen-32B-abliterated": { - "id": "huihui-ai/DeepSeek-R1-Distill-Qwen-32B-abliterated", - "name": "DeepSeek R1 Qwen Abliterated", - "family": "qwen", - "attachment": false, - "reasoning": true, - "tool_call": false, - "structured_output": false, - "release_date": "2025-01-20", - "last_updated": "2025-01-20", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.4, "output": 1.4 }, - "limit": { "context": 16384, "input": 16384, "output": 8192 } - }, - "huihui-ai/Llama-3.1-Nemotron-70B-Instruct-HF-abliterated": { - "id": "huihui-ai/Llama-3.1-Nemotron-70B-Instruct-HF-abliterated", - "name": "Nemotron 3.1 70B abliterated", - "family": "nemotron", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2024-07-23", - "last_updated": "2024-07-23", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.7, "output": 0.7 }, - "limit": { "context": 16384, "input": 16384, "output": 16384 } - }, - "mistralai/mistral-medium-3.1": { - "id": "mistralai/mistral-medium-3.1", - "name": "Mistral Medium 3.1", - "family": "mistral-medium", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-09-05", - "last_updated": "2025-09-05", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.4, "output": 2 }, - "limit": { "context": 131072, "input": 131072, "output": 32768 } - }, - "mistralai/mistral-7b-instruct": { - "id": "mistralai/mistral-7b-instruct", - "name": "Mistral 7B Instruct", - "family": "mistral", + "moonshotai/kimi-k2.6": { + "id": "moonshotai/kimi-k2.6", + "name": "Kimi K2.6", + "family": "kimi-k2.6", "attachment": true, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2024-05-27", - "last_updated": "2024-05-27", - "modalities": { "input": ["text", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.0544, "output": 0.0544 }, - "limit": { "context": 32768, "input": 32768, "output": 8192 } - }, - "mistralai/devstral-2-123b-instruct-2512": { - "id": "mistralai/devstral-2-123b-instruct-2512", - "name": "Devstral 2 123B", - "family": "devstral", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-12-09", - "last_updated": "2025-12-09", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.4, "output": 1.4 }, - "limit": { "context": 262144, "input": 262144, "output": 65536 } - }, - "mistralai/mixtral-8x22b-instruct-v0.1": { - "id": "mistralai/mixtral-8x22b-instruct-v0.1", - "name": "Mixtral 8x22B", - "family": "mixtral", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-12-11", - "last_updated": "2025-12-11", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.8999999999999999, "output": 0.8999999999999999 }, - "limit": { "context": 65536, "input": 65536, "output": 32768 } - }, - "mistralai/mistral-large-3-675b-instruct-2512": { - "id": "mistralai/mistral-large-3-675b-instruct-2512", - "name": "Mistral Large 3 675B", - "family": "mistral-large", - "attachment": true, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-12-02", - "last_updated": "2025-12-02", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1, "output": 3 }, - "limit": { "context": 262144, "input": 262144, "output": 256000 } - }, - "mistralai/Devstral-Small-2505": { - "id": "mistralai/Devstral-Small-2505", - "name": "Mistral Devstral Small 2505", - "family": "devstral", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-08-02", - "last_updated": "2025-08-02", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.060000000000000005, "output": 0.060000000000000005 }, - "limit": { "context": 32768, "input": 32768, "output": 8192 } - }, - "mistralai/mistral-medium-3": { - "id": "mistralai/mistral-medium-3", - "name": "Mistral Medium 3", - "family": "mistral-medium", - "attachment": true, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-09-25", - "last_updated": "2025-09-25", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.4, "output": 2 }, - "limit": { "context": 131072, "input": 131072, "output": 32768 } - }, - "mistralai/ministral-8b-2512": { - "id": "mistralai/ministral-8b-2512", - "name": "Ministral 8B", - "family": "ministral", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-12-04", - "last_updated": "2025-12-04", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.15, "output": 0.15 }, - "limit": { "context": 262144, "input": 262144, "output": 32768 } - }, - "mistralai/ministral-14b-2512": { - "id": "mistralai/ministral-14b-2512", - "name": "Ministral 14B", - "family": "ministral", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-12-04", - "last_updated": "2025-12-04", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.2, "output": 0.2 }, - "limit": { "context": 262144, "input": 262144, "output": 32768 } - }, - "mistralai/Mistral-Nemo-Instruct-2407": { - "id": "mistralai/Mistral-Nemo-Instruct-2407", - "name": "Mistral Nemo", - "family": "mistral-nemo", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2024-07-18", - "last_updated": "2024-07-18", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.1003, "output": 0.1207 }, - "limit": { "context": 16384, "input": 16384, "output": 8192 } - }, - "mistralai/codestral-2508": { - "id": "mistralai/codestral-2508", - "name": "Codestral 2508", - "family": "codestral", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-08-01", - "last_updated": "2025-08-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.3, "output": 0.8999999999999999 }, - "limit": { "context": 256000, "input": 256000, "output": 32768 } - }, - "mistralai/mistral-small-creative": { - "id": "mistralai/mistral-small-creative", - "name": "Mistral Small Creative", - "family": "mistral-small", - "attachment": false, - "reasoning": false, + "reasoning": true, "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, "structured_output": true, - "release_date": "2025-12-16", - "last_updated": "2025-12-16", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.1, "output": 0.3 }, - "limit": { "context": 32768, "input": 32768, "output": 32768 } - }, - "mistralai/ministral-14b-instruct-2512": { - "id": "mistralai/ministral-14b-instruct-2512", - "name": "Ministral 3 14B", - "family": "ministral", - "attachment": true, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-12-02", - "last_updated": "2025-12-02", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.1, "output": 0.4 }, - "limit": { "context": 262144, "input": 262144, "output": 32768 } - }, - "mistralai/mistral-large": { - "id": "mistralai/mistral-large", - "name": "Mistral Large 2411", - "family": "mistral-large", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2024-02-26", - "last_updated": "2024-02-26", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2.006, "output": 6.001 }, - "limit": { "context": 128000, "input": 128000, "output": 256000 } - }, - "mistralai/ministral-3b-2512": { - "id": "mistralai/ministral-3b-2512", - "name": "Ministral 3B", - "family": "ministral", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-12-04", - "last_updated": "2025-12-04", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.1, "output": 0.1 }, - "limit": { "context": 131072, "input": 131072, "output": 32768 } - }, - "mistralai/mistral-tiny": { - "id": "mistralai/mistral-tiny", - "name": "Mistral Tiny", - "family": "mistral", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2023-12-11", - "last_updated": "2024-01-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.25499999999999995, "output": 0.25499999999999995 }, - "limit": { "context": 32000, "input": 32000, "output": 8192 } - }, - "mistralai/mixtral-8x7b-instruct-v0.1": { - "id": "mistralai/mixtral-8x7b-instruct-v0.1", - "name": "Mixtral 8x7B", - "family": "mixtral", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-12-11", - "last_updated": "2025-12-11", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.27, "output": 0.27 }, - "limit": { "context": 32768, "input": 32768, "output": 32768 } - }, - "mistralai/mistral-saba": { - "id": "mistralai/mistral-saba", - "name": "Mistral Saba", - "family": "mistral", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-02-17", - "last_updated": "2025-02-17", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.1989, "output": 0.595 }, - "limit": { "context": 32000, "input": 32000, "output": 32768 } - }, - "EVA-UNIT-01/EVA-Qwen2.5-72B-v0.2": { - "id": "EVA-UNIT-01/EVA-Qwen2.5-72B-v0.2", - "name": "EVA-Qwen2.5-72B-v0.2", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-09-25", - "last_updated": "2025-09-25", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.7989999999999999, "output": 0.7989999999999999 }, - "limit": { "context": 16384, "input": 16384, "output": 8192 } - }, - "EVA-UNIT-01/EVA-LLaMA-3.33-70B-v0.1": { - "id": "EVA-UNIT-01/EVA-LLaMA-3.33-70B-v0.1", - "name": "EVA-LLaMA-3.33-70B-v0.1", - "family": "llama", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-09-25", - "last_updated": "2025-09-25", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2.006, "output": 2.006 }, - "limit": { "context": 16384, "input": 16384, "output": 16384 } - }, - "EVA-UNIT-01/EVA-Qwen2.5-32B-v0.2": { - "id": "EVA-UNIT-01/EVA-Qwen2.5-32B-v0.2", - "name": "EVA-Qwen2.5-32B-v0.2", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-07-26", - "last_updated": "2025-07-26", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.7989999999999999, "output": 0.7989999999999999 }, - "limit": { "context": 16384, "input": 16384, "output": 8192 } - }, - "EVA-UNIT-01/EVA-LLaMA-3.33-70B-v0.0": { - "id": "EVA-UNIT-01/EVA-LLaMA-3.33-70B-v0.0", - "name": "EVA Llama 3.33 70B", - "family": "llama", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "release_date": "2025-07-26", - "last_updated": "2025-07-26", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2.006, "output": 2.006 }, - "limit": { "context": 16384, "input": 16384, "output": 16384 } - } - } - }, - "clarifai": { - "id": "clarifai", - "env": ["CLARIFAI_PAT"], - "npm": "@ai-sdk/openai-compatible", - "api": "https://api.clarifai.com/v2/ext/openai/v1", - "name": "Clarifai", - "doc": "https://docs.clarifai.com/compute/inference/", - "models": { - "openai/chat-completion/models/gpt-oss-20b": { - "id": "openai/chat-completion/models/gpt-oss-20b", - "name": "GPT OSS 20B", - "family": "gpt-oss", - "attachment": false, - "reasoning": true, - "tool_call": true, "temperature": true, - "release_date": "2025-08-05", - "last_updated": "2025-12-12", - "modalities": { "input": ["text"], "output": ["text"] }, + "knowledge": "2025-01", + "release_date": "2026-04-21", + "last_updated": "2026-04-21", + "modalities": { + "input": ["text", "image", "video"], + "output": ["text"] + }, "open_weights": true, - "cost": { "input": 0.045, "output": 0.18 }, - "limit": { "context": 131072, "output": 16384 } + "limit": { + "context": 262144, + "output": 262144 + }, + "cost": { + "input": 0, + "output": 0 + } }, - "openai/chat-completion/models/gpt-oss-120b-high-throughput": { - "id": "openai/chat-completion/models/gpt-oss-120b-high-throughput", - "name": "GPT OSS 120B High Throughput", - "family": "gpt-oss", + "moonshotai/kimi-k2-instruct-0905": { + "id": "moonshotai/kimi-k2-instruct-0905", + "name": "Kimi K2 0905", + "family": "kimi", "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2025-08-05", - "last_updated": "2026-02-25", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.09, "output": 0.36 }, - "limit": { "context": 131072, "output": 16384 } - }, - "arcee_ai/AFM/models/trinity-mini": { - "id": "arcee_ai/AFM/models/trinity-mini", - "name": "Trinity Mini", - "family": "trinity-mini", - "attachment": false, - "reasoning": true, + "reasoning": false, "tool_call": true, "temperature": true, "knowledge": "2024-10", - "release_date": "2025-12", - "last_updated": "2026-02-25", - "modalities": { "input": ["text"], "output": ["text"] }, + "release_date": "2025-09-05", + "last_updated": "2025-09-05", + "modalities": { + "input": ["text"], + "output": ["text"] + }, "open_weights": true, - "cost": { "input": 0.045, "output": 0.15 }, - "limit": { "context": 131072, "output": 131072 } + "limit": { + "context": 262144, + "output": 262144 + }, + "cost": { + "input": 0, + "output": 0 + } }, - "minimaxai/chat-completion/models/MiniMax-M2_5-high-throughput": { - "id": "minimaxai/chat-completion/models/MiniMax-M2_5-high-throughput", - "name": "MiniMax-M2.5 High Throughput", - "family": "minimax", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2026-02-12", - "last_updated": "2026-02-25", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.3, "output": 1.2 }, - "limit": { "context": 204800, "output": 131072 } - }, - "deepseek-ai/deepseek-ocr/models/DeepSeek-OCR": { - "id": "deepseek-ai/deepseek-ocr/models/DeepSeek-OCR", - "name": "DeepSeek OCR", - "family": "deepseek", - "attachment": true, - "reasoning": false, - "tool_call": false, - "temperature": true, - "release_date": "2025-10-20", - "last_updated": "2026-02-25", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.2, "output": 0.7 }, - "limit": { "context": 8192, "output": 8192 } - }, - "qwen/qwenCoder/models/Qwen3-Coder-30B-A3B-Instruct": { - "id": "qwen/qwenCoder/models/Qwen3-Coder-30B-A3B-Instruct", - "name": "Qwen3 Coder 30B A3B Instruct", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2025-04", - "release_date": "2025-07-31", - "last_updated": "2026-02-12", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.11458, "output": 0.74812 }, - "limit": { "context": 262144, "output": 65536 } - }, - "qwen/qwenLM/models/Qwen3-30B-A3B-Thinking-2507": { - "id": "qwen/qwenLM/models/Qwen3-30B-A3B-Thinking-2507", - "name": "Qwen3 30B A3B Thinking 2507", - "family": "qwen", + "moonshotai/kimi-k2-thinking": { + "id": "moonshotai/kimi-k2-thinking", + "name": "Kimi K2 Thinking", + "family": "kimi-thinking", "attachment": false, "reasoning": true, "tool_call": true, + "interleaved": true, "structured_output": true, "temperature": true, - "release_date": "2025-07-31", - "last_updated": "2026-02-25", - "modalities": { "input": ["text"], "output": ["text"] }, + "knowledge": "2025-07", + "release_date": "2025-11", + "last_updated": "2025-12", + "modalities": { + "input": ["text"], + "output": ["text"] + }, "open_weights": true, - "cost": { "input": 0.36, "output": 1.3 }, - "limit": { "context": 262144, "output": 131072 } + "limit": { + "context": 262144, + "output": 262144 + }, + "cost": { + "input": 0, + "output": 0, + "cache_read": 0, + "cache_write": 0 + } }, - "qwen/qwenLM/models/Qwen3-30B-A3B-Instruct-2507": { - "id": "qwen/qwenLM/models/Qwen3-30B-A3B-Instruct-2507", - "name": "Qwen3 30B A3B Instruct 2507", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-07-30", - "last_updated": "2026-02-25", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.3, "output": 0.5 }, - "limit": { "context": 262144, "output": 262144 } - }, - "clarifai/main/models/mm-poly-8b": { - "id": "clarifai/main/models/mm-poly-8b", - "name": "MM Poly 8B", - "family": "mm-poly", - "attachment": true, - "reasoning": false, - "tool_call": false, - "temperature": true, - "release_date": "2025-06", - "last_updated": "2026-02-25", - "modalities": { "input": ["text", "image", "video"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.658, "output": 1.11 }, - "limit": { "context": 32768, "output": 4096 } - }, - "mistralai/completion/models/Ministral-3-14B-Reasoning-2512": { - "id": "mistralai/completion/models/Ministral-3-14B-Reasoning-2512", - "name": "Ministral 3 14B Reasoning 2512", - "family": "ministral", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-12", - "release_date": "2025-12-01", - "last_updated": "2025-12-12", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 2.5, "output": 1.7 }, - "limit": { "context": 262144, "output": 262144 } - }, - "mistralai/completion/models/Ministral-3-3B-Reasoning-2512": { - "id": "mistralai/completion/models/Ministral-3-3B-Reasoning-2512", - "name": "Ministral 3 3B Reasoning 2512", - "family": "ministral", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2025-12", - "last_updated": "2026-02-25", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 1.039, "output": 0.54825 }, - "limit": { "context": 262144, "output": 262144 } - } - } - }, - "cerebras": { - "id": "cerebras", - "env": ["CEREBRAS_API_KEY"], - "npm": "@ai-sdk/cerebras", - "name": "Cerebras", - "doc": "https://inference-docs.cerebras.ai/models/overview", - "models": { - "gpt-oss-120b": { - "id": "gpt-oss-120b", - "name": "GPT OSS 120B", - "family": "gpt-oss", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2025-08-05", - "last_updated": "2025-08-05", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.25, "output": 0.69 }, - "limit": { "context": 131072, "output": 32768 } - }, - "llama3.1-8b": { - "id": "llama3.1-8b", - "name": "Llama 3.1 8B", - "family": "llama", + "abacusai/dracarys-llama-3_1-70b-instruct": { + "id": "abacusai/dracarys-llama-3_1-70b-instruct", + "name": "dracarys-llama-3.1-70b-instruct", "attachment": false, "reasoning": false, "tool_call": true, "temperature": true, - "knowledge": "2023-12", - "release_date": "2025-01-01", - "last_updated": "2025-01-01", - "modalities": { "input": ["text"], "output": ["text"] }, + "release_date": "2024-09-11", + "last_updated": "2025-05-22", + "modalities": { + "input": ["text"], + "output": ["text"] + }, "open_weights": true, - "cost": { "input": 0.1, "output": 0.1 }, - "limit": { "context": 32000, "output": 8000 } + "limit": { + "context": 128000, + "output": 8192 + }, + "cost": { + "input": 0, + "output": 0 + } }, - "zai-glm-4.7": { - "id": "zai-glm-4.7", - "name": "Z.AI GLM-4.7", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "release_date": "2026-01-10", - "last_updated": "2026-01-10", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 2.25, "output": 2.75, "cache_read": 0, "cache_write": 0 }, - "limit": { "context": 131072, "output": 40000 } - }, - "qwen-3-235b-a22b-instruct-2507": { - "id": "qwen-3-235b-a22b-instruct-2507", - "name": "Qwen 3 235B Instruct", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2025-04", - "release_date": "2025-07-22", - "last_updated": "2025-07-22", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.6, "output": 1.2 }, - "limit": { "context": 131000, "output": 32000 } - } - } - }, - "stackit": { - "id": "stackit", - "env": ["STACKIT_API_KEY"], - "npm": "@ai-sdk/openai-compatible", - "api": "https://api.openai-compat.model-serving.eu01.onstackit.cloud/v1", - "name": "STACKIT", - "doc": "https://docs.stackit.cloud/products/data-and-ai/ai-model-serving/basics/available-shared-models", - "models": { - "openai/gpt-oss-120b": { - "id": "openai/gpt-oss-120b", - "name": "GPT-OSS 120B", - "family": "gpt", - "attachment": false, - "reasoning": true, - "tool_call": true, - "structured_output": false, - "temperature": true, - "release_date": "2025-08-05", - "last_updated": "2025-08-05", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.49, "output": 0.71 }, - "limit": { "context": 131000, "output": 8192 } - }, - "google/gemma-3-27b-it": { - "id": "google/gemma-3-27b-it", - "name": "Gemma 3 27B", - "family": "gemma", - "attachment": true, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "temperature": true, - "release_date": "2025-05-17", - "last_updated": "2025-05-17", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.49, "output": 0.71 }, - "limit": { "context": 37000, "output": 8192 } - }, - "cortecs/Llama-3.3-70B-Instruct-FP8-Dynamic": { - "id": "cortecs/Llama-3.3-70B-Instruct-FP8-Dynamic", - "name": "Llama 3.3 70B", - "family": "llama", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": false, - "temperature": true, - "release_date": "2024-12-05", - "last_updated": "2024-12-05", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.49, "output": 0.71 }, - "limit": { "context": 128000, "output": 8192 } - }, - "neuralmagic/Mistral-Nemo-Instruct-2407-FP8": { - "id": "neuralmagic/Mistral-Nemo-Instruct-2407-FP8", - "name": "Mistral Nemo", - "family": "mistral", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": false, - "temperature": true, - "release_date": "2024-07-01", - "last_updated": "2024-07-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.49, "output": 0.71 }, - "limit": { "context": 128000, "output": 8192 } - }, - "neuralmagic/Meta-Llama-3.1-8B-Instruct-FP8": { - "id": "neuralmagic/Meta-Llama-3.1-8B-Instruct-FP8", - "name": "Llama 3.1 8B", - "family": "llama", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2024-07-23", - "last_updated": "2024-07-23", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.16, "output": 0.27 }, - "limit": { "context": 128000, "output": 8192 } - }, - "intfloat/e5-mistral-7b-instruct": { - "id": "intfloat/e5-mistral-7b-instruct", - "name": "E5 Mistral 7B", - "family": "mistral", - "attachment": false, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "temperature": false, - "release_date": "2023-12-11", - "last_updated": "2023-12-11", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.02, "output": 0.02 }, - "limit": { "context": 4096, "output": 4096 } - }, - "Qwen/Qwen3-VL-235B-A22B-Instruct-FP8": { - "id": "Qwen/Qwen3-VL-235B-A22B-Instruct-FP8", - "name": "Qwen3-VL 235B", - "family": "qwen", - "attachment": true, - "reasoning": false, - "tool_call": true, - "structured_output": false, - "temperature": true, - "release_date": "2024-11-01", - "last_updated": "2024-11-01", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 1.64, "output": 1.91 }, - "limit": { "context": 218000, "output": 8192 } - }, - "Qwen/Qwen3-VL-Embedding-8B": { - "id": "Qwen/Qwen3-VL-Embedding-8B", - "name": "Qwen3-VL Embedding 8B", - "family": "qwen", - "attachment": true, - "reasoning": false, - "tool_call": false, - "structured_output": false, - "temperature": false, - "release_date": "2026-02-05", - "last_updated": "2026-02-05", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.09, "output": 0.09 }, - "limit": { "context": 32000, "output": 4096 } - } - } - }, - "cloudflare-workers-ai": { - "id": "cloudflare-workers-ai", - "env": ["CLOUDFLARE_ACCOUNT_ID", "CLOUDFLARE_API_KEY"], - "npm": "@ai-sdk/openai-compatible", - "api": "https://api.cloudflare.com/client/v4/accounts/${CLOUDFLARE_ACCOUNT_ID}/ai/v1", - "name": "Cloudflare Workers AI", - "doc": "https://developers.cloudflare.com/workers-ai/models/", - "models": { - "@cf/openai/gpt-oss-120b": { - "id": "@cf/openai/gpt-oss-120b", - "name": "GPT OSS 120B", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "release_date": "2025-08-05", - "last_updated": "2025-08-05", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.35, "output": 0.75 }, - "limit": { "context": 128000, "output": 16384 } - }, - "@cf/openai/gpt-oss-20b": { - "id": "@cf/openai/gpt-oss-20b", - "name": "GPT OSS 20B", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "release_date": "2025-08-05", - "last_updated": "2025-08-05", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.2, "output": 0.3 }, - "limit": { "context": 128000, "output": 16384 } - }, - "@cf/zai-org/glm-4.7-flash": { - "id": "@cf/zai-org/glm-4.7-flash", - "name": "GLM-4.7-Flash", - "family": "glm-flash", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-04", - "release_date": "2026-01-19", - "last_updated": "2026-01-19", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.06, "output": 0.4 }, - "limit": { "context": 131072, "output": 131072 } - }, - "@cf/nvidia/nemotron-3-120b-a12b": { - "id": "@cf/nvidia/nemotron-3-120b-a12b", - "name": "Nemotron 3 Super 120B", - "family": "nemotron", - "attachment": false, - "reasoning": true, - "tool_call": true, - "interleaved": { "field": "reasoning_content" }, - "temperature": true, - "release_date": "2026-03-11", - "last_updated": "2026-03-11", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.5, "output": 1.5 }, - "limit": { "context": 256000, "output": 256000 } - }, - "@cf/myshell-ai/melotts": { - "id": "@cf/myshell-ai/melotts", - "name": "MyShell MeloTTS", - "family": "melotts", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "release_date": "2025-11-14", - "last_updated": "2025-11-14", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 128000, "output": 16384 } - }, - "@cf/google/gemma-3-12b-it": { - "id": "@cf/google/gemma-3-12b-it", - "name": "Gemma 3 12B IT", - "family": "gemma", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "release_date": "2025-04-11", - "last_updated": "2025-04-11", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.35, "output": 0.56 }, - "limit": { "context": 128000, "output": 16384 } - }, - "@cf/ibm-granite/granite-4.0-h-micro": { - "id": "@cf/ibm-granite/granite-4.0-h-micro", - "name": "IBM Granite 4.0 H Micro", - "family": "granite", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "release_date": "2025-10-15", - "last_updated": "2025-10-15", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.017, "output": 0.11 }, - "limit": { "context": 128000, "output": 16384 } - }, - "@cf/ai4bharat/indictrans2-en-indic-1B": { - "id": "@cf/ai4bharat/indictrans2-en-indic-1B", - "name": "IndicTrans2 EN-Indic 1B", - "family": "indictrans", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "release_date": "2025-09-25", - "last_updated": "2025-09-25", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.34, "output": 0.34 }, - "limit": { "context": 128000, "output": 16384 } - }, - "@cf/deepseek-ai/deepseek-r1-distill-qwen-32b": { - "id": "@cf/deepseek-ai/deepseek-r1-distill-qwen-32b", - "name": "DeepSeek R1 Distill Qwen 32B", - "family": "deepseek-thinking", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "release_date": "2025-04-03", - "last_updated": "2025-04-03", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.5, "output": 4.88 }, - "limit": { "context": 128000, "output": 16384 } - }, - "@cf/qwen/qwq-32b": { - "id": "@cf/qwen/qwq-32b", - "name": "QwQ 32B", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "release_date": "2025-04-11", - "last_updated": "2025-04-11", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.66, "output": 1 }, - "limit": { "context": 128000, "output": 16384 } - }, - "@cf/qwen/qwen3-30b-a3b-fp8": { - "id": "@cf/qwen/qwen3-30b-a3b-fp8", - "name": "Qwen3 30B A3B FP8", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "release_date": "2025-11-14", - "last_updated": "2025-11-14", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.051, "output": 0.34 }, - "limit": { "context": 128000, "output": 16384 } - }, - "@cf/qwen/qwen3-embedding-0.6b": { - "id": "@cf/qwen/qwen3-embedding-0.6b", - "name": "Qwen3 Embedding 0.6B", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "release_date": "2025-11-14", - "last_updated": "2025-11-14", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.012, "output": 0 }, - "limit": { "context": 128000, "output": 16384 } - }, - "@cf/qwen/qwen2.5-coder-32b-instruct": { - "id": "@cf/qwen/qwen2.5-coder-32b-instruct", - "name": "Qwen 2.5 Coder 32B Instruct", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "release_date": "2025-04-11", - "last_updated": "2025-04-11", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.66, "output": 1 }, - "limit": { "context": 128000, "output": 16384 } - }, - "@cf/huggingface/distilbert-sst-2-int8": { - "id": "@cf/huggingface/distilbert-sst-2-int8", - "name": "DistilBERT SST-2 INT8", - "family": "distilbert", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "release_date": "2025-04-03", - "last_updated": "2025-04-03", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.026, "output": 0 }, - "limit": { "context": 128000, "output": 16384 } - }, - "@cf/facebook/bart-large-cnn": { - "id": "@cf/facebook/bart-large-cnn", - "name": "BART Large CNN", - "family": "bart", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "release_date": "2025-04-09", - "last_updated": "2025-04-09", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 128000, "output": 16384 } - }, - "@cf/baai/bge-base-en-v1.5": { - "id": "@cf/baai/bge-base-en-v1.5", - "name": "BGE Base EN v1.5", - "family": "bge", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "release_date": "2025-04-03", - "last_updated": "2025-04-03", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.067, "output": 0 }, - "limit": { "context": 128000, "output": 16384 } - }, - "@cf/baai/bge-small-en-v1.5": { - "id": "@cf/baai/bge-small-en-v1.5", - "name": "BGE Small EN v1.5", - "family": "bge", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "release_date": "2025-04-03", - "last_updated": "2025-04-03", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.02, "output": 0 }, - "limit": { "context": 128000, "output": 16384 } - }, - "@cf/baai/bge-large-en-v1.5": { - "id": "@cf/baai/bge-large-en-v1.5", - "name": "BGE Large EN v1.5", - "family": "bge", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "release_date": "2025-04-03", - "last_updated": "2025-04-03", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.2, "output": 0 }, - "limit": { "context": 128000, "output": 16384 } - }, - "@cf/baai/bge-reranker-base": { - "id": "@cf/baai/bge-reranker-base", - "name": "BGE Reranker Base", - "family": "bge", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "release_date": "2025-04-09", - "last_updated": "2025-04-09", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.0031, "output": 0 }, - "limit": { "context": 128000, "output": 16384 } - }, - "@cf/baai/bge-m3": { - "id": "@cf/baai/bge-m3", + "baai/bge-m3": { + "id": "baai/bge-m3", "name": "BGE M3", "family": "bge", "attachment": false, "reasoning": false, "tool_call": false, - "temperature": true, - "release_date": "2025-04-03", - "last_updated": "2025-04-03", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.012, "output": 0 }, - "limit": { "context": 128000, "output": 16384 } - }, - "@cf/pipecat-ai/smart-turn-v2": { - "id": "@cf/pipecat-ai/smart-turn-v2", - "name": "Pipecat Smart Turn v2", - "family": "smart-turn", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "release_date": "2025-11-14", - "last_updated": "2025-11-14", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 128000, "output": 16384 } - }, - "@cf/moonshotai/kimi-k2.5": { - "id": "@cf/moonshotai/kimi-k2.5", - "name": "Kimi K2.5", - "family": "kimi", - "attachment": true, - "reasoning": true, - "tool_call": true, - "interleaved": { "field": "reasoning_content" }, - "structured_output": true, - "temperature": true, - "knowledge": "2025-01", - "release_date": "2026-01-27", - "last_updated": "2026-01-27", - "modalities": { "input": ["text", "image"], "output": ["text"] }, + "temperature": false, + "release_date": "2024-01-30", + "last_updated": "2026-04-30", + "modalities": { + "input": ["text"], + "output": ["text"] + }, "open_weights": true, - "cost": { "input": 0.6, "output": 3, "cache_read": 0.1 }, - "limit": { "context": 256000, "output": 256000 } + "limit": { + "context": 8192, + "output": 1024 + }, + "cost": { + "input": 0, + "output": 0 + } }, - "@cf/deepgram/aura-2-en": { - "id": "@cf/deepgram/aura-2-en", - "name": "Deepgram Aura 2 (EN)", - "family": "aura", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "release_date": "2025-11-14", - "last_updated": "2025-11-14", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 128000, "output": 16384 } - }, - "@cf/deepgram/nova-3": { - "id": "@cf/deepgram/nova-3", - "name": "Deepgram Nova 3", - "family": "nova", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "release_date": "2025-11-14", - "last_updated": "2025-11-14", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 128000, "output": 16384 } - }, - "@cf/deepgram/aura-2-es": { - "id": "@cf/deepgram/aura-2-es", - "name": "Deepgram Aura 2 (ES)", - "family": "aura", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "release_date": "2025-11-14", - "last_updated": "2025-11-14", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 128000, "output": 16384 } - }, - "@cf/mistral/mistral-7b-instruct-v0.1": { - "id": "@cf/mistral/mistral-7b-instruct-v0.1", - "name": "Mistral 7B Instruct v0.1", - "family": "mistral", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "release_date": "2025-04-03", - "last_updated": "2025-04-03", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.11, "output": 0.19 }, - "limit": { "context": 128000, "output": 16384 } - }, - "@cf/aisingapore/gemma-sea-lion-v4-27b-it": { - "id": "@cf/aisingapore/gemma-sea-lion-v4-27b-it", - "name": "Gemma SEA-LION v4 27B IT", - "family": "gemma", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "release_date": "2025-09-25", - "last_updated": "2025-09-25", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.35, "output": 0.56 }, - "limit": { "context": 128000, "output": 16384 } - }, - "@cf/meta/llama-3.3-70b-instruct-fp8-fast": { - "id": "@cf/meta/llama-3.3-70b-instruct-fp8-fast", - "name": "Llama 3.3 70B Instruct FP8 Fast", - "family": "llama", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "release_date": "2025-04-03", - "last_updated": "2025-04-03", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.29, "output": 2.25 }, - "limit": { "context": 128000, "output": 16384 } - }, - "@cf/meta/llama-3-8b-instruct-awq": { - "id": "@cf/meta/llama-3-8b-instruct-awq", - "name": "Llama 3 8B Instruct AWQ", - "family": "llama", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "release_date": "2025-04-03", - "last_updated": "2025-04-03", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.12, "output": 0.27 }, - "limit": { "context": 128000, "output": 16384 } - }, - "@cf/meta/llama-3.2-1b-instruct": { - "id": "@cf/meta/llama-3.2-1b-instruct", - "name": "Llama 3.2 1B Instruct", - "family": "llama", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "release_date": "2025-04-03", - "last_updated": "2025-04-03", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.027, "output": 0.2 }, - "limit": { "context": 128000, "output": 16384 } - }, - "@cf/meta/m2m100-1.2b": { - "id": "@cf/meta/m2m100-1.2b", - "name": "M2M100 1.2B", - "family": "m2m", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "release_date": "2025-04-03", - "last_updated": "2025-04-03", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.34, "output": 0.34 }, - "limit": { "context": 128000, "output": 16384 } - }, - "@cf/meta/llama-3.1-8b-instruct": { - "id": "@cf/meta/llama-3.1-8b-instruct", - "name": "Llama 3.1 8B Instruct", - "family": "llama", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "release_date": "2025-04-03", - "last_updated": "2025-04-03", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.28, "output": 0.8299999999999998 }, - "limit": { "context": 128000, "output": 16384 } - }, - "@cf/meta/llama-4-scout-17b-16e-instruct": { - "id": "@cf/meta/llama-4-scout-17b-16e-instruct", - "name": "Llama 4 Scout 17B 16E Instruct", - "family": "llama", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "release_date": "2025-04-16", - "last_updated": "2025-04-16", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.27, "output": 0.85 }, - "limit": { "context": 128000, "output": 16384 } - }, - "@cf/meta/llama-3.2-11b-vision-instruct": { - "id": "@cf/meta/llama-3.2-11b-vision-instruct", - "name": "Llama 3.2 11B Vision Instruct", - "family": "llama", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "release_date": "2025-04-03", - "last_updated": "2025-04-03", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.049, "output": 0.68 }, - "limit": { "context": 128000, "output": 16384 } - }, - "@cf/meta/llama-3-8b-instruct": { - "id": "@cf/meta/llama-3-8b-instruct", - "name": "Llama 3 8B Instruct", - "family": "llama", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "release_date": "2025-04-03", - "last_updated": "2025-04-03", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.28, "output": 0.83 }, - "limit": { "context": 128000, "output": 16384 } - }, - "@cf/meta/llama-guard-3-8b": { - "id": "@cf/meta/llama-guard-3-8b", - "name": "Llama Guard 3 8B", - "family": "llama", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "release_date": "2025-04-03", - "last_updated": "2025-04-03", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.48, "output": 0.03 }, - "limit": { "context": 128000, "output": 16384 } - }, - "@cf/meta/llama-3.2-3b-instruct": { - "id": "@cf/meta/llama-3.2-3b-instruct", - "name": "Llama 3.2 3B Instruct", - "family": "llama", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "release_date": "2025-04-03", - "last_updated": "2025-04-03", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.051, "output": 0.34 }, - "limit": { "context": 128000, "output": 16384 } - }, - "@cf/meta/llama-3.1-8b-instruct-awq": { - "id": "@cf/meta/llama-3.1-8b-instruct-awq", - "name": "Llama 3.1 8B Instruct AWQ", - "family": "llama", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "release_date": "2025-04-03", - "last_updated": "2025-04-03", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.12, "output": 0.27 }, - "limit": { "context": 128000, "output": 16384 } - }, - "@cf/meta/llama-3.1-8b-instruct-fp8": { - "id": "@cf/meta/llama-3.1-8b-instruct-fp8", - "name": "Llama 3.1 8B Instruct FP8", - "family": "llama", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "release_date": "2025-04-03", - "last_updated": "2025-04-03", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.15, "output": 0.29 }, - "limit": { "context": 128000, "output": 16384 } - }, - "@cf/meta/llama-2-7b-chat-fp16": { - "id": "@cf/meta/llama-2-7b-chat-fp16", - "name": "Llama 2 7B Chat FP16", - "family": "llama", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "release_date": "2025-04-03", - "last_updated": "2025-04-03", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.56, "output": 6.67 }, - "limit": { "context": 128000, "output": 16384 } - }, - "@cf/pfnet/plamo-embedding-1b": { - "id": "@cf/pfnet/plamo-embedding-1b", - "name": "PLaMo Embedding 1B", - "family": "plamo", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "release_date": "2025-09-25", - "last_updated": "2025-09-25", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.019, "output": 0 }, - "limit": { "context": 128000, "output": 16384 } - }, - "@cf/mistralai/mistral-small-3.1-24b-instruct": { - "id": "@cf/mistralai/mistral-small-3.1-24b-instruct", - "name": "Mistral Small 3.1 24B Instruct", - "family": "mistral-small", - "attachment": false, - "reasoning": false, - "tool_call": false, - "temperature": true, - "release_date": "2025-04-11", - "last_updated": "2025-04-11", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.35, "output": 0.56 }, - "limit": { "context": 128000, "output": 16384 } - } - } - }, - "siliconflow": { - "id": "siliconflow", - "env": ["SILICONFLOW_API_KEY"], - "npm": "@ai-sdk/openai-compatible", - "api": "https://api.siliconflow.com/v1", - "name": "SiliconFlow", - "doc": "https://cloud.siliconflow.com/models", - "models": { - "THUDM/GLM-Z1-32B-0414": { - "id": "THUDM/GLM-Z1-32B-0414", - "name": "THUDM/GLM-Z1-32B-0414", - "family": "glm-z", - "attachment": false, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-04-18", - "last_updated": "2025-11-25", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.14, "output": 0.57 }, - "limit": { "context": 131000, "output": 131000 } - }, - "THUDM/GLM-Z1-9B-0414": { - "id": "THUDM/GLM-Z1-9B-0414", - "name": "THUDM/GLM-Z1-9B-0414", - "family": "glm-z", - "attachment": false, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-04-18", - "last_updated": "2025-11-25", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.086, "output": 0.086 }, - "limit": { "context": 131000, "output": 131000 } - }, - "THUDM/GLM-4-32B-0414": { - "id": "THUDM/GLM-4-32B-0414", - "name": "THUDM/GLM-4-32B-0414", - "family": "glm", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-04-18", - "last_updated": "2025-11-25", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.27, "output": 0.27 }, - "limit": { "context": 33000, "output": 33000 } - }, - "THUDM/GLM-4-9B-0414": { - "id": "THUDM/GLM-4-9B-0414", - "name": "THUDM/GLM-4-9B-0414", - "family": "glm", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-04-18", - "last_updated": "2025-11-25", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.086, "output": 0.086 }, - "limit": { "context": 33000, "output": 33000 } - }, - "openai/gpt-oss-120b": { - "id": "openai/gpt-oss-120b", - "name": "openai/gpt-oss-120b", - "family": "gpt-oss", - "attachment": false, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-08-13", - "last_updated": "2025-11-25", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.05, "output": 0.45 }, - "limit": { "context": 131000, "output": 8000 } - }, - "openai/gpt-oss-20b": { - "id": "openai/gpt-oss-20b", - "name": "openai/gpt-oss-20b", - "family": "gpt-oss", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-08-13", - "last_updated": "2025-11-25", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.04, "output": 0.18 }, - "limit": { "context": 131000, "output": 8000 } - }, - "zai-org/GLM-4.5-Air": { - "id": "zai-org/GLM-4.5-Air", - "name": "zai-org/GLM-4.5-Air", - "family": "glm-air", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-07-28", - "last_updated": "2025-11-25", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.14, "output": 0.86 }, - "limit": { "context": 131000, "output": 131000 } - }, - "zai-org/GLM-4.7": { - "id": "zai-org/GLM-4.7", - "name": "zai-org/GLM-4.7", - "family": "glm", - "attachment": false, - "reasoning": true, - "tool_call": true, - "interleaved": { "field": "reasoning_content" }, - "structured_output": true, - "temperature": true, - "release_date": "2025-12-22", - "last_updated": "2025-12-22", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.6, "output": 2.2 }, - "limit": { "context": 205000, "output": 205000 } - }, - "zai-org/GLM-4.6V": { - "id": "zai-org/GLM-4.6V", - "name": "zai-org/GLM-4.6V", - "family": "glm", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": false, - "temperature": true, - "release_date": "2025-12-07", - "last_updated": "2025-12-07", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.3, "output": 0.9 }, - "limit": { "context": 131000, "output": 131000 } - }, - "zai-org/GLM-4.5V": { - "id": "zai-org/GLM-4.5V", - "name": "zai-org/GLM-4.5V", - "family": "glm", - "attachment": true, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-08-13", - "last_updated": "2025-11-25", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.14, "output": 0.86 }, - "limit": { "context": 66000, "output": 66000 } - }, - "zai-org/GLM-4.5": { - "id": "zai-org/GLM-4.5", - "name": "zai-org/GLM-4.5", - "family": "glm", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-07-28", - "last_updated": "2025-11-25", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.4, "output": 2 }, - "limit": { "context": 131000, "output": 131000 } - }, - "zai-org/GLM-5": { - "id": "zai-org/GLM-5", - "name": "zai-org/GLM-5", - "family": "glm", - "attachment": false, - "reasoning": true, - "tool_call": true, - "interleaved": { "field": "reasoning_content" }, - "structured_output": true, - "temperature": true, - "release_date": "2026-02-12", - "last_updated": "2026-02-12", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 1, "output": 3.2 }, - "limit": { "context": 205000, "output": 205000 } - }, - "zai-org/GLM-4.6": { - "id": "zai-org/GLM-4.6", - "name": "zai-org/GLM-4.6", - "family": "glm", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-10-04", - "last_updated": "2025-11-25", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.5, "output": 1.9 }, - "limit": { "context": 205000, "output": 205000 } - }, - "nex-agi/DeepSeek-V3.1-Nex-N1": { - "id": "nex-agi/DeepSeek-V3.1-Nex-N1", - "name": "nex-agi/DeepSeek-V3.1-Nex-N1", - "family": "deepseek", - "attachment": false, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-01-01", - "last_updated": "2025-11-25", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.5, "output": 2 }, - "limit": { "context": 131000, "output": 131000 } - }, - "stepfun-ai/Step-3.5-Flash": { - "id": "stepfun-ai/Step-3.5-Flash", - "name": "stepfun-ai/Step-3.5-Flash", - "family": "step", - "attachment": false, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2026-02-11", - "last_updated": "2026-02-11", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.1, "output": 0.3 }, - "limit": { "context": 262000, "output": 262000 } - }, - "baidu/ERNIE-4.5-300B-A47B": { - "id": "baidu/ERNIE-4.5-300B-A47B", - "name": "baidu/ERNIE-4.5-300B-A47B", - "family": "ernie", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-07-02", - "last_updated": "2025-11-25", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.28, "output": 1.1 }, - "limit": { "context": 131000, "output": 131000 } - }, - "meta-llama/Meta-Llama-3.1-8B-Instruct": { - "id": "meta-llama/Meta-Llama-3.1-8B-Instruct", - "name": "meta-llama/Meta-Llama-3.1-8B-Instruct", - "family": "llama", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-04-23", - "last_updated": "2025-11-25", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.06, "output": 0.06 }, - "limit": { "context": 33000, "output": 4000 } - }, - "MiniMaxAI/MiniMax-M2.1": { - "id": "MiniMaxAI/MiniMax-M2.1", - "name": "MiniMaxAI/MiniMax-M2.1", - "family": "minimax", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-12-23", - "last_updated": "2025-12-23", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.3, "output": 1.2 }, - "limit": { "context": 197000, "output": 131000 } - }, - "MiniMaxAI/MiniMax-M2.5": { - "id": "MiniMaxAI/MiniMax-M2.5", - "name": "MiniMaxAI/MiniMax-M2.5", - "family": "minimax", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": false, - "temperature": true, - "release_date": "2026-02-15", - "last_updated": "2026-02-15", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.3, "output": 1.2 }, - "limit": { "context": 197000, "output": 131000 } - }, - "deepseek-ai/deepseek-vl2": { - "id": "deepseek-ai/deepseek-vl2", - "name": "deepseek-ai/deepseek-vl2", - "family": "deepseek", - "attachment": true, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2024-12-13", - "last_updated": "2025-11-25", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.15, "output": 0.15 }, - "limit": { "context": 4000, "output": 4000 } - }, - "deepseek-ai/DeepSeek-R1-Distill-Qwen-32B": { - "id": "deepseek-ai/DeepSeek-R1-Distill-Qwen-32B", - "name": "deepseek-ai/DeepSeek-R1-Distill-Qwen-32B", - "family": "qwen", - "attachment": false, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-01-20", - "last_updated": "2025-11-25", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.18, "output": 0.18 }, - "limit": { "context": 131000, "output": 131000 } - }, - "deepseek-ai/DeepSeek-V3.1": { - "id": "deepseek-ai/DeepSeek-V3.1", - "name": "deepseek-ai/DeepSeek-V3.1", - "family": "deepseek", - "attachment": false, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-08-25", - "last_updated": "2025-11-25", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.27, "output": 1 }, - "limit": { "context": 164000, "output": 164000 } - }, - "deepseek-ai/DeepSeek-V3.2-Exp": { - "id": "deepseek-ai/DeepSeek-V3.2-Exp", - "name": "deepseek-ai/DeepSeek-V3.2-Exp", - "family": "deepseek", - "attachment": false, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-10-10", - "last_updated": "2025-11-25", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.27, "output": 0.41 }, - "limit": { "context": 164000, "output": 164000 } - }, - "deepseek-ai/DeepSeek-R1": { - "id": "deepseek-ai/DeepSeek-R1", - "name": "deepseek-ai/DeepSeek-R1", - "family": "deepseek-thinking", - "attachment": false, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-05-28", - "last_updated": "2025-11-25", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.5, "output": 2.18 }, - "limit": { "context": 164000, "output": 164000 } - }, - "deepseek-ai/DeepSeek-V3.1-Terminus": { - "id": "deepseek-ai/DeepSeek-V3.1-Terminus", - "name": "deepseek-ai/DeepSeek-V3.1-Terminus", - "family": "deepseek", - "attachment": false, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-09-29", - "last_updated": "2025-11-25", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.27, "output": 1 }, - "limit": { "context": 164000, "output": 164000 } - }, - "deepseek-ai/DeepSeek-R1-Distill-Qwen-14B": { - "id": "deepseek-ai/DeepSeek-R1-Distill-Qwen-14B", - "name": "deepseek-ai/DeepSeek-R1-Distill-Qwen-14B", - "family": "qwen", - "attachment": false, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-01-20", - "last_updated": "2025-11-25", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.1, "output": 0.1 }, - "limit": { "context": 131000, "output": 131000 } - }, - "deepseek-ai/DeepSeek-V3.2": { - "id": "deepseek-ai/DeepSeek-V3.2", - "name": "deepseek-ai/DeepSeek-V3.2", - "family": "deepseek", - "attachment": false, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-12-03", - "last_updated": "2025-12-03", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.27, "output": 0.42 }, - "limit": { "context": 164000, "output": 164000 } - }, - "deepseek-ai/DeepSeek-V3": { - "id": "deepseek-ai/DeepSeek-V3", - "name": "deepseek-ai/DeepSeek-V3", - "family": "deepseek", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2024-12-26", - "last_updated": "2025-11-25", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.25, "output": 1 }, - "limit": { "context": 164000, "output": 164000 } - }, - "ByteDance-Seed/Seed-OSS-36B-Instruct": { - "id": "ByteDance-Seed/Seed-OSS-36B-Instruct", + "bytedance/seed-oss-36b-instruct": { + "id": "bytedance/seed-oss-36b-instruct", "name": "ByteDance-Seed/Seed-OSS-36B-Instruct", "family": "seed", "attachment": false, @@ -62631,822 +82645,314 @@ "temperature": true, "release_date": "2025-09-04", "last_updated": "2025-11-25", - "modalities": { "input": ["text"], "output": ["text"] }, + "modalities": { + "input": ["text"], + "output": ["text"] + }, "open_weights": false, - "cost": { "input": 0.21, "output": 0.57 }, - "limit": { "context": 262000, "output": 262000 } + "limit": { + "context": 262000, + "output": 262000 + }, + "cost": { + "input": 0, + "output": 0 + } }, - "Qwen/Qwen2.5-Coder-32B-Instruct": { - "id": "Qwen/Qwen2.5-Coder-32B-Instruct", - "name": "Qwen/Qwen2.5-Coder-32B-Instruct", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2024-11-11", - "last_updated": "2025-11-25", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.18, "output": 0.18 }, - "limit": { "context": 33000, "output": 4000 } - }, - "Qwen/Qwen3-Omni-30B-A3B-Thinking": { - "id": "Qwen/Qwen3-Omni-30B-A3B-Thinking", - "name": "Qwen/Qwen3-Omni-30B-A3B-Thinking", - "family": "qwen", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-10-04", - "last_updated": "2025-11-25", - "modalities": { "input": ["text", "image", "audio"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.1, "output": 0.4 }, - "limit": { "context": 66000, "output": 66000 } - }, - "Qwen/Qwen3-Next-80B-A3B-Thinking": { - "id": "Qwen/Qwen3-Next-80B-A3B-Thinking", - "name": "Qwen/Qwen3-Next-80B-A3B-Thinking", - "family": "qwen", + "deepseek-ai/deepseek-v4-flash": { + "id": "deepseek-ai/deepseek-v4-flash", + "name": "DeepSeek V4 Flash", + "family": "deepseek-flash", "attachment": false, "reasoning": true, "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, "structured_output": true, "temperature": true, - "release_date": "2025-09-25", - "last_updated": "2025-11-25", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.14, "output": 0.57 }, - "limit": { "context": 262000, "output": 262000 } + "knowledge": "2025-05", + "release_date": "2026-04-24", + "last_updated": "2026-04-24", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 1048576, + "output": 393216 + }, + "cost": { + "input": 0.14, + "output": 0.28, + "cache_read": 0.028 + } }, - "Qwen/Qwen3-VL-30B-A3B-Instruct": { - "id": "Qwen/Qwen3-VL-30B-A3B-Instruct", - "name": "Qwen/Qwen3-VL-30B-A3B-Instruct", - "family": "qwen", - "attachment": true, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-10-05", - "last_updated": "2025-11-25", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.29, "output": 1 }, - "limit": { "context": 262000, "output": 262000 } - }, - "Qwen/Qwen3-VL-235B-A22B-Thinking": { - "id": "Qwen/Qwen3-VL-235B-A22B-Thinking", - "name": "Qwen/Qwen3-VL-235B-A22B-Thinking", - "family": "qwen", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-10-04", - "last_updated": "2025-11-25", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.45, "output": 3.5 }, - "limit": { "context": 262000, "output": 262000 } - }, - "Qwen/Qwen3-30B-A3B-Thinking-2507": { - "id": "Qwen/Qwen3-30B-A3B-Thinking-2507", - "name": "Qwen/Qwen3-30B-A3B-Thinking-2507", - "family": "qwen", + "deepseek-ai/deepseek-v4-pro": { + "id": "deepseek-ai/deepseek-v4-pro", + "name": "DeepSeek V4 Pro", + "family": "deepseek-thinking", "attachment": false, "reasoning": true, "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, "structured_output": true, "temperature": true, - "release_date": "2025-07-31", - "last_updated": "2025-11-25", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.09, "output": 0.3 }, - "limit": { "context": 262000, "output": 131000 } - }, - "Qwen/Qwen2.5-14B-Instruct": { - "id": "Qwen/Qwen2.5-14B-Instruct", - "name": "Qwen/Qwen2.5-14B-Instruct", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2024-09-18", - "last_updated": "2025-11-25", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.1, "output": 0.1 }, - "limit": { "context": 33000, "output": 4000 } - }, - "Qwen/Qwen3-32B": { - "id": "Qwen/Qwen3-32B", - "name": "Qwen/Qwen3-32B", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-04-30", - "last_updated": "2025-11-25", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.14, "output": 0.57 }, - "limit": { "context": 131000, "output": 131000 } - }, - "Qwen/Qwen3-14B": { - "id": "Qwen/Qwen3-14B", - "name": "Qwen/Qwen3-14B", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-04-30", - "last_updated": "2025-11-25", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.07, "output": 0.28 }, - "limit": { "context": 131000, "output": 131000 } - }, - "Qwen/Qwen3-235B-A22B": { - "id": "Qwen/Qwen3-235B-A22B", - "name": "Qwen/Qwen3-235B-A22B", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-04-30", - "last_updated": "2025-11-25", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.35, "output": 1.42 }, - "limit": { "context": 131000, "output": 131000 } - }, - "Qwen/Qwen2.5-72B-Instruct-128K": { - "id": "Qwen/Qwen2.5-72B-Instruct-128K", - "name": "Qwen/Qwen2.5-72B-Instruct-128K", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2024-09-18", - "last_updated": "2025-11-25", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.59, "output": 0.59 }, - "limit": { "context": 131000, "output": 4000 } - }, - "Qwen/Qwen3-235B-A22B-Thinking-2507": { - "id": "Qwen/Qwen3-235B-A22B-Thinking-2507", - "name": "Qwen/Qwen3-235B-A22B-Thinking-2507", - "family": "qwen", - "attachment": false, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-07-28", - "last_updated": "2025-11-25", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.13, "output": 0.6 }, - "limit": { "context": 262000, "output": 262000 } - }, - "Qwen/Qwen3-Next-80B-A3B-Instruct": { - "id": "Qwen/Qwen3-Next-80B-A3B-Instruct", - "name": "Qwen/Qwen3-Next-80B-A3B-Instruct", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-09-18", - "last_updated": "2025-11-25", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.14, "output": 1.4 }, - "limit": { "context": 262000, "output": 262000 } - }, - "Qwen/Qwen2.5-VL-72B-Instruct": { - "id": "Qwen/Qwen2.5-VL-72B-Instruct", - "name": "Qwen/Qwen2.5-VL-72B-Instruct", - "family": "qwen", - "attachment": true, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-01-28", - "last_updated": "2025-11-25", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.59, "output": 0.59 }, - "limit": { "context": 131000, "output": 4000 } - }, - "Qwen/Qwen3-VL-8B-Thinking": { - "id": "Qwen/Qwen3-VL-8B-Thinking", - "name": "Qwen/Qwen3-VL-8B-Thinking", - "family": "qwen", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-10-15", - "last_updated": "2025-11-25", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.18, "output": 2 }, - "limit": { "context": 262000, "output": 262000 } - }, - "Qwen/Qwen3-Omni-30B-A3B-Captioner": { - "id": "Qwen/Qwen3-Omni-30B-A3B-Captioner", - "name": "Qwen/Qwen3-Omni-30B-A3B-Captioner", - "family": "qwen", - "attachment": true, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-10-04", - "last_updated": "2025-11-25", - "modalities": { "input": ["audio"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.1, "output": 0.4 }, - "limit": { "context": 66000, "output": 66000 } - }, - "Qwen/Qwen3-VL-30B-A3B-Thinking": { - "id": "Qwen/Qwen3-VL-30B-A3B-Thinking", - "name": "Qwen/Qwen3-VL-30B-A3B-Thinking", - "family": "qwen", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-10-11", - "last_updated": "2025-11-25", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.29, "output": 1 }, - "limit": { "context": 262000, "output": 262000 } - }, - "Qwen/Qwen2.5-VL-7B-Instruct": { - "id": "Qwen/Qwen2.5-VL-7B-Instruct", - "name": "Qwen/Qwen2.5-VL-7B-Instruct", - "family": "qwen", - "attachment": true, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-01-28", - "last_updated": "2025-11-25", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.05, "output": 0.05 }, - "limit": { "context": 33000, "output": 4000 } - }, - "Qwen/Qwen2.5-VL-32B-Instruct": { - "id": "Qwen/Qwen2.5-VL-32B-Instruct", - "name": "Qwen/Qwen2.5-VL-32B-Instruct", - "family": "qwen", - "attachment": true, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-03-24", - "last_updated": "2025-11-25", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.27, "output": 0.27 }, - "limit": { "context": 131000, "output": 131000 } - }, - "Qwen/Qwen3-Coder-30B-A3B-Instruct": { - "id": "Qwen/Qwen3-Coder-30B-A3B-Instruct", - "name": "Qwen/Qwen3-Coder-30B-A3B-Instruct", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-08-01", - "last_updated": "2025-11-25", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.07, "output": 0.28 }, - "limit": { "context": 262000, "output": 262000 } - }, - "Qwen/Qwen3-VL-8B-Instruct": { - "id": "Qwen/Qwen3-VL-8B-Instruct", - "name": "Qwen/Qwen3-VL-8B-Instruct", - "family": "qwen", - "attachment": true, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-10-15", - "last_updated": "2025-11-25", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.18, "output": 0.68 }, - "limit": { "context": 262000, "output": 262000 } - }, - "Qwen/Qwen3-8B": { - "id": "Qwen/Qwen3-8B", - "name": "Qwen/Qwen3-8B", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-04-30", - "last_updated": "2025-11-25", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.06, "output": 0.06 }, - "limit": { "context": 131000, "output": 131000 } - }, - "Qwen/QwQ-32B": { - "id": "Qwen/QwQ-32B", - "name": "Qwen/QwQ-32B", - "family": "qwen", - "attachment": false, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-03-06", - "last_updated": "2025-11-25", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.15, "output": 0.58 }, - "limit": { "context": 131000, "output": 131000 } - }, - "Qwen/Qwen3-Coder-480B-A35B-Instruct": { - "id": "Qwen/Qwen3-Coder-480B-A35B-Instruct", - "name": "Qwen/Qwen3-Coder-480B-A35B-Instruct", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-07-31", - "last_updated": "2025-11-25", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.25, "output": 1 }, - "limit": { "context": 262000, "output": 262000 } - }, - "Qwen/Qwen3-VL-32B-Instruct": { - "id": "Qwen/Qwen3-VL-32B-Instruct", - "name": "Qwen/Qwen3-VL-32B-Instruct", - "family": "qwen", - "attachment": true, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-10-21", - "last_updated": "2025-11-25", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.2, "output": 0.6 }, - "limit": { "context": 262000, "output": 262000 } - }, - "Qwen/Qwen3-30B-A3B-Instruct-2507": { - "id": "Qwen/Qwen3-30B-A3B-Instruct-2507", - "name": "Qwen/Qwen3-30B-A3B-Instruct-2507", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-07-30", - "last_updated": "2025-11-25", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.09, "output": 0.3 }, - "limit": { "context": 262000, "output": 262000 } - }, - "Qwen/Qwen3-Omni-30B-A3B-Instruct": { - "id": "Qwen/Qwen3-Omni-30B-A3B-Instruct", - "name": "Qwen/Qwen3-Omni-30B-A3B-Instruct", - "family": "qwen", - "attachment": true, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-10-04", - "last_updated": "2025-11-25", - "modalities": { "input": ["text", "image", "audio"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.1, "output": 0.4 }, - "limit": { "context": 66000, "output": 66000 } - }, - "Qwen/Qwen2.5-7B-Instruct": { - "id": "Qwen/Qwen2.5-7B-Instruct", - "name": "Qwen/Qwen2.5-7B-Instruct", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2024-09-18", - "last_updated": "2025-11-25", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.05, "output": 0.05 }, - "limit": { "context": 33000, "output": 4000 } - }, - "Qwen/Qwen3-VL-235B-A22B-Instruct": { - "id": "Qwen/Qwen3-VL-235B-A22B-Instruct", - "name": "Qwen/Qwen3-VL-235B-A22B-Instruct", - "family": "qwen", - "attachment": true, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-10-04", - "last_updated": "2025-11-25", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.3, "output": 1.5 }, - "limit": { "context": 262000, "output": 262000 } - }, - "Qwen/Qwen2.5-72B-Instruct": { - "id": "Qwen/Qwen2.5-72B-Instruct", - "name": "Qwen/Qwen2.5-72B-Instruct", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2024-09-18", - "last_updated": "2025-11-25", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.59, "output": 0.59 }, - "limit": { "context": 33000, "output": 4000 } - }, - "Qwen/Qwen3-VL-32B-Thinking": { - "id": "Qwen/Qwen3-VL-32B-Thinking", - "name": "Qwen/Qwen3-VL-32B-Thinking", - "family": "qwen", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-10-21", - "last_updated": "2025-11-25", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.2, "output": 1.5 }, - "limit": { "context": 262000, "output": 262000 } - }, - "Qwen/Qwen2.5-32B-Instruct": { - "id": "Qwen/Qwen2.5-32B-Instruct", - "name": "Qwen/Qwen2.5-32B-Instruct", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2024-09-19", - "last_updated": "2025-11-25", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.18, "output": 0.18 }, - "limit": { "context": 33000, "output": 4000 } - }, - "Qwen/Qwen3-235B-A22B-Instruct-2507": { - "id": "Qwen/Qwen3-235B-A22B-Instruct-2507", - "name": "Qwen/Qwen3-235B-A22B-Instruct-2507", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-07-23", - "last_updated": "2025-11-25", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.09, "output": 0.6 }, - "limit": { "context": 262000, "output": 262000 } - }, - "inclusionAI/Ling-flash-2.0": { - "id": "inclusionAI/Ling-flash-2.0", - "name": "inclusionAI/Ling-flash-2.0", - "family": "ling", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-09-18", - "last_updated": "2025-11-25", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.14, "output": 0.57 }, - "limit": { "context": 131000, "output": 131000 } - }, - "inclusionAI/Ring-flash-2.0": { - "id": "inclusionAI/Ring-flash-2.0", - "name": "inclusionAI/Ring-flash-2.0", - "family": "ring", - "attachment": false, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-09-29", - "last_updated": "2025-11-25", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.14, "output": 0.57 }, - "limit": { "context": 131000, "output": 131000 } - }, - "inclusionAI/Ling-mini-2.0": { - "id": "inclusionAI/Ling-mini-2.0", - "name": "inclusionAI/Ling-mini-2.0", - "family": "ling", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-09-10", - "last_updated": "2025-11-25", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.07, "output": 0.28 }, - "limit": { "context": 131000, "output": 131000 } - }, - "moonshotai/Kimi-K2-Instruct": { - "id": "moonshotai/Kimi-K2-Instruct", - "name": "moonshotai/Kimi-K2-Instruct", - "family": "kimi", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-07-13", - "last_updated": "2025-11-25", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.58, "output": 2.29 }, - "limit": { "context": 131000, "output": 131000 } - }, - "moonshotai/Kimi-K2.5": { - "id": "moonshotai/Kimi-K2.5", - "name": "moonshotai/Kimi-K2.5", - "family": "kimi", - "attachment": false, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2026-01-27", - "last_updated": "2026-01-27", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.55, "output": 3 }, - "limit": { "context": 262000, "output": 262000 } - }, - "moonshotai/Kimi-K2-Instruct-0905": { - "id": "moonshotai/Kimi-K2-Instruct-0905", - "name": "moonshotai/Kimi-K2-Instruct-0905", - "family": "kimi", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-09-08", - "last_updated": "2025-11-25", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.4, "output": 2 }, - "limit": { "context": 262000, "output": 262000 } - }, - "moonshotai/Kimi-K2-Thinking": { - "id": "moonshotai/Kimi-K2-Thinking", - "name": "moonshotai/Kimi-K2-Thinking", - "family": "kimi-thinking", - "attachment": false, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-11-07", - "last_updated": "2025-11-25", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.55, "output": 2.5 }, - "limit": { "context": 262000, "output": 262000 } - }, - "tencent/Hunyuan-MT-7B": { - "id": "tencent/Hunyuan-MT-7B", - "name": "tencent/Hunyuan-MT-7B", - "family": "hunyuan", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-09-18", - "last_updated": "2025-11-25", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 33000, "output": 33000 } - }, - "tencent/Hunyuan-A13B-Instruct": { - "id": "tencent/Hunyuan-A13B-Instruct", - "name": "tencent/Hunyuan-A13B-Instruct", - "family": "hunyuan", - "attachment": false, - "reasoning": false, - "tool_call": true, - "structured_output": true, - "temperature": true, - "release_date": "2025-06-30", - "last_updated": "2025-11-25", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.14, "output": 0.57 }, - "limit": { "context": 131000, "output": 131000 } + "knowledge": "2025-05", + "release_date": "2026-04-24", + "last_updated": "2026-04-24", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 1048576, + "output": 393216 + }, + "cost": { + "input": 1.74, + "output": 3.48, + "cache_read": 0.145 + } } } }, - "alibaba-coding-plan": { - "id": "alibaba-coding-plan", - "env": ["ALIBABA_CODING_PLAN_API_KEY"], + "inference": { + "id": "inference", + "env": ["INFERENCE_API_KEY"], "npm": "@ai-sdk/openai-compatible", - "api": "https://coding-intl.dashscope.aliyuncs.com/v1", - "name": "Alibaba Coding Plan", - "doc": "https://www.alibabacloud.com/help/en/model-studio/coding-plan", + "api": "https://inference.net/v1", + "name": "Inference", + "doc": "https://inference.net/models", "models": { - "qwen3.5-plus": { - "id": "qwen3.5-plus", - "name": "Qwen3.5 Plus", - "family": "qwen", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-04", - "release_date": "2026-02-16", - "last_updated": "2026-02-16", - "modalities": { "input": ["text", "image", "video"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0, "output": 0, "cache_read": 0, "cache_write": 0 }, - "limit": { "context": 1000000, "output": 65536 } - }, - "qwen3-coder-next": { - "id": "qwen3-coder-next", - "name": "Qwen3 Coder Next", - "family": "qwen", + "mistral/mistral-nemo-12b-instruct": { + "id": "mistral/mistral-nemo-12b-instruct", + "name": "Mistral Nemo 12B Instruct", + "family": "mistral-nemo", "attachment": false, "reasoning": false, "tool_call": true, - "structured_output": true, "temperature": true, - "release_date": "2026-02-03", - "last_updated": "2026-02-03", - "modalities": { "input": ["text"], "output": ["text"] }, + "knowledge": "2024-12", + "release_date": "2025-01-01", + "last_updated": "2025-01-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, "open_weights": true, - "cost": { "input": 0, "output": 0, "cache_read": 0, "cache_write": 0 }, - "limit": { "context": 262144, "output": 65536 } + "limit": { + "context": 16000, + "output": 4096 + }, + "cost": { + "input": 0.038, + "output": 0.1 + } }, - "kimi-k2.5": { - "id": "kimi-k2.5", - "name": "Kimi K2.5", - "family": "kimi", + "meta/llama-3.2-11b-vision-instruct": { + "id": "meta/llama-3.2-11b-vision-instruct", + "name": "Llama 3.2 11B Vision Instruct", + "family": "llama", "attachment": true, - "reasoning": true, + "reasoning": false, "tool_call": true, - "interleaved": { "field": "reasoning_content" }, "temperature": true, - "knowledge": "2025-01", - "release_date": "2026-01-27", - "last_updated": "2026-01-27", - "modalities": { "input": ["text", "image", "video"], "output": ["text"] }, + "knowledge": "2023-12", + "release_date": "2025-01-01", + "last_updated": "2025-01-01", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, "open_weights": true, - "cost": { "input": 0, "output": 0, "cache_read": 0, "cache_write": 0 }, - "limit": { "context": 262144, "output": 32768 } + "limit": { + "context": 16000, + "output": 4096 + }, + "cost": { + "input": 0.055, + "output": 0.055 + } }, - "MiniMax-M2.5": { - "id": "MiniMax-M2.5", - "name": "MiniMax-M2.5", - "family": "minimax", - "attachment": false, - "reasoning": true, - "tool_call": true, - "interleaved": { "field": "reasoning_content" }, - "temperature": true, - "release_date": "2026-02-12", - "last_updated": "2026-02-12", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0, "cache_read": 0, "cache_write": 0 }, - "limit": { "context": 196608, "input": 196601, "output": 24576 } - }, - "glm-5": { - "id": "glm-5", - "name": "GLM-5", - "family": "glm", - "attachment": false, - "reasoning": true, - "tool_call": true, - "interleaved": { "field": "reasoning_content" }, - "temperature": true, - "release_date": "2026-02-11", - "last_updated": "2026-02-11", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0, "output": 0, "cache_read": 0, "cache_write": 0 }, - "limit": { "context": 202752, "output": 16384 } - }, - "qwen3-coder-plus": { - "id": "qwen3-coder-plus", - "name": "Qwen3 Coder Plus", - "family": "qwen", + "meta/llama-3.2-1b-instruct": { + "id": "meta/llama-3.2-1b-instruct", + "name": "Llama 3.2 1B Instruct", + "family": "llama", "attachment": false, "reasoning": false, "tool_call": true, "temperature": true, - "knowledge": "2025-04", - "release_date": "2025-07-23", - "last_updated": "2025-07-23", - "modalities": { "input": ["text"], "output": ["text"] }, + "knowledge": "2023-12", + "release_date": "2025-01-01", + "last_updated": "2025-01-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, "open_weights": true, - "cost": { "input": 0, "output": 0, "cache_read": 0, "cache_write": 0 }, - "limit": { "context": 1000000, "output": 65536 } + "limit": { + "context": 16000, + "output": 4096 + }, + "cost": { + "input": 0.01, + "output": 0.01 + } }, - "glm-4.7": { - "id": "glm-4.7", - "name": "GLM-4.7", - "family": "glm", - "attachment": false, - "reasoning": true, - "tool_call": true, - "interleaved": { "field": "reasoning_content" }, - "temperature": true, - "knowledge": "2025-04", - "release_date": "2025-12-22", - "last_updated": "2025-12-22", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0, "cache_read": 0, "cache_write": 0 }, - "limit": { "context": 202752, "output": 16384 } - }, - "qwen3-max-2026-01-23": { - "id": "qwen3-max-2026-01-23", - "name": "Qwen3 Max", - "family": "qwen", + "meta/llama-3.2-3b-instruct": { + "id": "meta/llama-3.2-3b-instruct", + "name": "Llama 3.2 3B Instruct", + "family": "llama", "attachment": false, "reasoning": false, "tool_call": true, "temperature": true, - "knowledge": "2025-04", - "release_date": "2026-01-23", - "last_updated": "2026-01-23", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0, "output": 0, "cache_read": 0, "cache_write": 0 }, - "limit": { "context": 262144, "output": 32768 } + "knowledge": "2023-12", + "release_date": "2025-01-01", + "last_updated": "2025-01-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 16000, + "output": 4096 + }, + "cost": { + "input": 0.02, + "output": 0.02 + } + }, + "meta/llama-3.1-8b-instruct": { + "id": "meta/llama-3.1-8b-instruct", + "name": "Llama 3.1 8B Instruct", + "family": "llama", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2023-12", + "release_date": "2025-01-01", + "last_updated": "2025-01-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 16000, + "output": 4096 + }, + "cost": { + "input": 0.025, + "output": 0.025 + } + }, + "qwen/qwen-2.5-7b-vision-instruct": { + "id": "qwen/qwen-2.5-7b-vision-instruct", + "name": "Qwen 2.5 7B Vision Instruct", + "family": "qwen", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-12", + "release_date": "2025-01-01", + "last_updated": "2025-01-01", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 125000, + "output": 4096 + }, + "cost": { + "input": 0.2, + "output": 0.2 + } + }, + "qwen/qwen3-embedding-4b": { + "id": "qwen/qwen3-embedding-4b", + "name": "Qwen 3 Embedding 4B", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": false, + "knowledge": "2024-12", + "release_date": "2025-01-01", + "last_updated": "2025-01-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 32000, + "output": 2048 + }, + "cost": { + "input": 0.01, + "output": 0 + } + }, + "google/gemma-3": { + "id": "google/gemma-3", + "name": "Google Gemma 3", + "family": "gemma", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-12", + "release_date": "2025-01-01", + "last_updated": "2025-01-01", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 125000, + "output": 4096 + }, + "cost": { + "input": 0.15, + "output": 0.3 + } + }, + "osmosis/osmosis-structure-0.6b": { + "id": "osmosis/osmosis-structure-0.6b", + "name": "Osmosis Structure 0.6B", + "family": "osmosis", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-12", + "release_date": "2025-01-01", + "last_updated": "2025-01-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 4000, + "output": 2048 + }, + "cost": { + "input": 0.1, + "output": 0.5 + } } } }, @@ -63458,19 +82964,29 @@ "name": "Inception", "doc": "https://platform.inceptionlabs.ai/docs", "models": { - "mercury-edit": { - "id": "mercury-edit", - "name": "Mercury Edit", + "mercury-edit-2": { + "id": "mercury-edit-2", + "name": "Mercury Edit 2", "attachment": false, "reasoning": true, "tool_call": false, "temperature": true, - "release_date": "2026-02-24", - "last_updated": "2026-02-24", - "modalities": { "input": ["text"], "output": ["text"] }, + "release_date": "2026-03-30", + "last_updated": "2026-03-30", + "modalities": { + "input": ["text"], + "output": ["text"] + }, "open_weights": false, - "cost": { "input": 0.25, "output": 0.75, "cache_read": 0.025 }, - "limit": { "context": 128000, "output": 8192 } + "limit": { + "context": 128000, + "output": 8192 + }, + "cost": { + "input": 0.25, + "output": 0.75, + "cache_read": 0.025 + } }, "mercury-2": { "id": "mercury-2", @@ -63484,702 +83000,388 @@ "knowledge": "2025-01-01", "release_date": "2026-02-24", "last_updated": "2026-02-24", - "modalities": { "input": ["text"], "output": ["text"] }, + "modalities": { + "input": ["text"], + "output": ["text"] + }, "open_weights": false, - "cost": { "input": 0.25, "output": 0.75, "cache_read": 0.025 }, - "limit": { "context": 128000, "output": 50000 } - }, - "mercury-coder": { - "id": "mercury-coder", - "name": "Mercury Coder", - "family": "mercury", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2023-10", - "release_date": "2025-02-26", - "last_updated": "2025-07-31", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.25, "output": 1, "cache_read": 0.25, "cache_write": 1 }, - "limit": { "context": 128000, "output": 16384 } - }, - "mercury": { - "id": "mercury", - "name": "Mercury", - "family": "mercury", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2023-10", - "release_date": "2025-06-26", - "last_updated": "2025-07-31", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.25, "output": 1, "cache_read": 0.25, "cache_write": 1 }, - "limit": { "context": 128000, "output": 16384 } + "limit": { + "context": 128000, + "output": 50000 + }, + "cost": { + "input": 0.25, + "output": 0.75, + "cache_read": 0.025 + } } } }, - "zhipuai-coding-plan": { - "id": "zhipuai-coding-plan", - "env": ["ZHIPU_API_KEY"], - "npm": "@ai-sdk/openai-compatible", - "api": "https://open.bigmodel.cn/api/coding/paas/v4", - "name": "Zhipu AI Coding Plan", - "doc": "https://docs.bigmodel.cn/cn/coding-plan/overview", + "openai": { + "id": "openai", + "env": ["OPENAI_API_KEY"], + "npm": "@ai-sdk/openai", + "name": "OpenAI", + "doc": "https://platform.openai.com/docs/models", "models": { - "glm-5.1": { - "id": "glm-5.1", - "name": "GLM-5.1", - "family": "glm", - "attachment": false, - "reasoning": true, - "tool_call": true, - "interleaved": { "field": "reasoning_content" }, - "structured_output": true, - "temperature": true, - "release_date": "2026-03-27", - "last_updated": "2026-03-27", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0, "output": 0, "cache_read": 0, "cache_write": 0 }, - "limit": { "context": 200000, "output": 131072 } - }, - "glm-4.6v-flash": { - "id": "glm-4.6v-flash", - "name": "GLM-4.6V-Flash", - "family": "glm", + "gpt-5.1-codex-max": { + "id": "gpt-5.1-codex-max", + "name": "GPT-5.1 Codex Max", + "family": "gpt-codex", "attachment": true, "reasoning": true, "tool_call": true, - "temperature": true, - "knowledge": "2025-04", - "release_date": "2025-12-08", - "last_updated": "2025-12-08", - "modalities": { "input": ["text", "image", "video"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 128000, "output": 32768 } - }, - "glm-4.7": { - "id": "glm-4.7", - "name": "GLM-4.7", - "family": "glm", - "attachment": false, - "reasoning": true, - "tool_call": true, - "interleaved": { "field": "reasoning_content" }, - "temperature": true, - "knowledge": "2025-04", - "release_date": "2025-12-22", - "last_updated": "2025-12-22", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0, "cache_read": 0, "cache_write": 0 }, - "limit": { "context": 204800, "output": 131072 } - }, - "glm-4.5v": { - "id": "glm-4.5v", - "name": "GLM-4.5V", - "family": "glm", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-04", - "release_date": "2025-08-11", - "last_updated": "2025-08-11", - "modalities": { "input": ["text", "image", "video"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 64000, "output": 16384 } - }, - "glm-4.5-air": { - "id": "glm-4.5-air", - "name": "GLM-4.5-Air", - "family": "glm-air", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-04", - "release_date": "2025-07-28", - "last_updated": "2025-07-28", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0, "cache_read": 0, "cache_write": 0 }, - "limit": { "context": 131072, "output": 98304 } - }, - "glm-5": { - "id": "glm-5", - "name": "GLM-5", - "family": "glm", - "attachment": false, - "reasoning": true, - "tool_call": true, - "interleaved": { "field": "reasoning_content" }, - "temperature": true, - "release_date": "2026-02-11", - "last_updated": "2026-02-11", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0, "cache_read": 0, "cache_write": 0 }, - "limit": { "context": 204800, "output": 131072 } - }, - "glm-4.5-flash": { - "id": "glm-4.5-flash", - "name": "GLM-4.5-Flash", - "family": "glm-flash", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-04", - "release_date": "2025-07-28", - "last_updated": "2025-07-28", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0, "cache_read": 0, "cache_write": 0 }, - "limit": { "context": 131072, "output": 98304 } - }, - "glm-4.6v": { - "id": "glm-4.6v", - "name": "GLM-4.6V", - "family": "glm", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-04", - "release_date": "2025-12-08", - "last_updated": "2025-12-08", - "modalities": { "input": ["text", "image", "video"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0 }, - "limit": { "context": 128000, "output": 32768 } - }, - "glm-4.6": { - "id": "glm-4.6", - "name": "GLM-4.6", - "family": "glm", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-04", - "release_date": "2025-09-30", - "last_updated": "2025-09-30", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0, "cache_read": 0, "cache_write": 0 }, - "limit": { "context": 204800, "output": 131072 } - }, - "glm-4.7-flashx": { - "id": "glm-4.7-flashx", - "name": "GLM-4.7-FlashX", - "family": "glm-flash", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-04", - "release_date": "2026-01-19", - "last_updated": "2026-01-19", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.07, "output": 0.4, "cache_read": 0.01, "cache_write": 0 }, - "limit": { "context": 200000, "output": 131072 } - }, - "glm-4.5": { - "id": "glm-4.5", - "name": "GLM-4.5", - "family": "glm", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-04", - "release_date": "2025-07-28", - "last_updated": "2025-07-28", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0, "cache_read": 0, "cache_write": 0 }, - "limit": { "context": 131072, "output": 98304 } - }, - "glm-5-turbo": { - "id": "glm-5-turbo", - "name": "GLM-5-Turbo", - "family": "glm", - "attachment": false, - "reasoning": true, - "tool_call": true, - "interleaved": { "field": "reasoning_content" }, - "structured_output": true, - "temperature": true, - "release_date": "2026-03-16", - "last_updated": "2026-03-16", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0, "output": 0, "cache_read": 0, "cache_write": 0 }, - "limit": { "context": 200000, "output": 131072 } - }, - "glm-4.7-flash": { - "id": "glm-4.7-flash", - "name": "GLM-4.7-Flash", - "family": "glm-flash", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-04", - "release_date": "2026-01-19", - "last_updated": "2026-01-19", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0, "cache_read": 0, "cache_write": 0 }, - "limit": { "context": 200000, "output": 131072 } - } - } - }, - "moonshotai-cn": { - "id": "moonshotai-cn", - "env": ["MOONSHOT_API_KEY"], - "npm": "@ai-sdk/openai-compatible", - "api": "https://api.moonshot.cn/v1", - "name": "Moonshot AI (China)", - "doc": "https://platform.moonshot.cn/docs/api/chat", - "models": { - "kimi-k2-0711-preview": { - "id": "kimi-k2-0711-preview", - "name": "Kimi K2 0711", - "family": "kimi", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-10", - "release_date": "2025-07-14", - "last_updated": "2025-07-14", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.6, "output": 2.5, "cache_read": 0.15 }, - "limit": { "context": 131072, "output": 16384 } - }, - "kimi-k2-turbo-preview": { - "id": "kimi-k2-turbo-preview", - "name": "Kimi K2 Turbo", - "family": "kimi", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-10", - "release_date": "2025-09-05", - "last_updated": "2025-09-05", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 2.4, "output": 10, "cache_read": 0.6 }, - "limit": { "context": 262144, "output": 262144 } - }, - "kimi-k2-0905-preview": { - "id": "kimi-k2-0905-preview", - "name": "Kimi K2 0905", - "family": "kimi", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-10", - "release_date": "2025-09-05", - "last_updated": "2025-09-05", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.6, "output": 2.5, "cache_read": 0.15 }, - "limit": { "context": 262144, "output": 262144 } - }, - "kimi-k2-thinking-turbo": { - "id": "kimi-k2-thinking-turbo", - "name": "Kimi K2 Thinking Turbo", - "family": "kimi-thinking", - "attachment": false, - "reasoning": true, - "tool_call": true, - "interleaved": { "field": "reasoning_content" }, - "temperature": true, - "knowledge": "2024-08", - "release_date": "2025-11-06", - "last_updated": "2025-11-06", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 1.15, "output": 8, "cache_read": 0.15 }, - "limit": { "context": 262144, "output": 262144 } - }, - "kimi-k2.5": { - "id": "kimi-k2.5", - "name": "Kimi K2.5", - "family": "kimi", - "attachment": false, - "reasoning": true, - "tool_call": true, - "interleaved": { "field": "reasoning_content" }, "structured_output": true, "temperature": false, - "knowledge": "2025-01", - "release_date": "2026-01", - "last_updated": "2026-01", - "modalities": { "input": ["text", "image", "video"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.6, "output": 3, "cache_read": 0.1 }, - "limit": { "context": 262144, "output": 262144 } + "knowledge": "2024-09-30", + "release_date": "2025-11-13", + "last_updated": "2025-11-13", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "input": 272000, + "output": 128000 + }, + "cost": { + "input": 1.25, + "output": 10, + "cache_read": 0.125 + } }, - "kimi-k2-thinking": { - "id": "kimi-k2-thinking", - "name": "Kimi K2 Thinking", - "family": "kimi-thinking", - "attachment": false, - "reasoning": true, - "tool_call": true, - "interleaved": { "field": "reasoning_content" }, - "temperature": true, - "knowledge": "2024-08", - "release_date": "2025-11-06", - "last_updated": "2025-11-06", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.6, "output": 2.5, "cache_read": 0.15 }, - "limit": { "context": 262144, "output": 262144 } - } - } - }, - "fireworks-ai": { - "id": "fireworks-ai", - "env": ["FIREWORKS_API_KEY"], - "npm": "@ai-sdk/openai-compatible", - "api": "https://api.fireworks.ai/inference/v1/", - "name": "Fireworks AI", - "doc": "https://fireworks.ai/docs/", - "models": { - "accounts/fireworks/routers/kimi-k2p5-turbo": { - "id": "accounts/fireworks/routers/kimi-k2p5-turbo", - "name": "Kimi K2.5 Turbo", - "family": "kimi-thinking", - "attachment": false, - "reasoning": true, - "tool_call": true, - "interleaved": { "field": "reasoning_content" }, - "temperature": true, - "knowledge": "2025-01", - "release_date": "2026-01-27", - "last_updated": "2026-01-27", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0, "output": 0, "cache_read": 0 }, - "limit": { "context": 256000, "output": 256000 } - }, - "accounts/fireworks/models/kimi-k2p5": { - "id": "accounts/fireworks/models/kimi-k2p5", - "name": "Kimi K2.5", - "family": "kimi-thinking", - "attachment": false, - "reasoning": true, - "tool_call": true, - "interleaved": { "field": "reasoning_content" }, - "temperature": true, - "knowledge": "2025-01", - "release_date": "2026-01-27", - "last_updated": "2026-01-27", - "modalities": { "input": ["text", "image", "video"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.6, "output": 3, "cache_read": 0.1 }, - "limit": { "context": 256000, "output": 256000 } - }, - "accounts/fireworks/models/kimi-k2-thinking": { - "id": "accounts/fireworks/models/kimi-k2-thinking", - "name": "Kimi K2 Thinking", - "family": "kimi-thinking", - "attachment": false, - "reasoning": true, - "tool_call": true, - "interleaved": { "field": "reasoning_content" }, - "temperature": true, - "release_date": "2025-11-06", - "last_updated": "2025-11-06", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.6, "output": 2.5, "cache_read": 0.3 }, - "limit": { "context": 256000, "output": 256000 } - }, - "accounts/fireworks/models/deepseek-v3p1": { - "id": "accounts/fireworks/models/deepseek-v3p1", - "name": "DeepSeek V3.1", - "family": "deepseek", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-07", - "release_date": "2025-08-21", - "last_updated": "2025-08-21", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.56, "output": 1.68 }, - "limit": { "context": 163840, "output": 163840 } - }, - "accounts/fireworks/models/minimax-m2p1": { - "id": "accounts/fireworks/models/minimax-m2p1", - "name": "MiniMax-M2.1", - "family": "minimax", - "attachment": false, - "reasoning": true, - "tool_call": true, - "interleaved": { "field": "reasoning_content" }, - "temperature": true, - "release_date": "2025-12-23", - "last_updated": "2025-12-23", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.3, "output": 1.2, "cache_read": 0.03 }, - "limit": { "context": 200000, "output": 200000 } - }, - "accounts/fireworks/models/minimax-m2p5": { - "id": "accounts/fireworks/models/minimax-m2p5", - "name": "MiniMax-M2.5", - "family": "minimax", - "attachment": false, - "reasoning": true, - "tool_call": true, - "interleaved": { "field": "reasoning_content" }, - "temperature": true, - "release_date": "2026-02-12", - "last_updated": "2026-02-12", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.3, "output": 1.2, "cache_read": 0.03 }, - "limit": { "context": 196608, "output": 196608 } - }, - "accounts/fireworks/models/gpt-oss-120b": { - "id": "accounts/fireworks/models/gpt-oss-120b", - "name": "GPT OSS 120B", - "family": "gpt-oss", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2025-08-05", - "last_updated": "2025-08-05", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.15, "output": 0.6 }, - "limit": { "context": 131072, "output": 32768 } - }, - "accounts/fireworks/models/glm-4p7": { - "id": "accounts/fireworks/models/glm-4p7", - "name": "GLM 4.7", - "family": "glm", - "attachment": false, - "reasoning": true, - "tool_call": true, - "interleaved": { "field": "reasoning_content" }, - "temperature": true, - "knowledge": "2025-04", - "release_date": "2025-12-22", - "last_updated": "2025-12-22", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.6, "output": 2.2, "cache_read": 0.3 }, - "limit": { "context": 198000, "output": 198000 } - }, - "accounts/fireworks/models/deepseek-v3p2": { - "id": "accounts/fireworks/models/deepseek-v3p2", - "name": "DeepSeek V3.2", - "family": "deepseek", - "attachment": false, - "reasoning": true, - "tool_call": true, - "interleaved": { "field": "reasoning_content" }, - "temperature": true, - "knowledge": "2025-09", - "release_date": "2025-12-01", - "last_updated": "2025-12-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.56, "output": 1.68, "cache_read": 0.28 }, - "limit": { "context": 160000, "output": 160000 } - }, - "accounts/fireworks/models/glm-4p5": { - "id": "accounts/fireworks/models/glm-4p5", - "name": "GLM 4.5", - "family": "glm", - "attachment": false, - "reasoning": true, - "tool_call": true, - "interleaved": { "field": "reasoning_content" }, - "temperature": true, - "knowledge": "2025-04", - "release_date": "2025-07-29", - "last_updated": "2025-07-29", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.55, "output": 2.19 }, - "limit": { "context": 131072, "output": 131072 } - }, - "accounts/fireworks/models/glm-5": { - "id": "accounts/fireworks/models/glm-5", - "name": "GLM 5", - "family": "glm", - "attachment": false, - "reasoning": true, - "tool_call": true, - "interleaved": { "field": "reasoning_content" }, - "temperature": true, - "release_date": "2026-02-11", - "last_updated": "2026-02-11", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 1, "output": 3.2, "cache_read": 0.5 }, - "limit": { "context": 202752, "output": 131072 } - }, - "accounts/fireworks/models/glm-4p5-air": { - "id": "accounts/fireworks/models/glm-4p5-air", - "name": "GLM 4.5 Air", - "family": "glm-air", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-04", - "release_date": "2025-08-01", - "last_updated": "2025-08-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.22, "output": 0.88 }, - "limit": { "context": 131072, "output": 131072 } - }, - "accounts/fireworks/models/gpt-oss-20b": { - "id": "accounts/fireworks/models/gpt-oss-20b", - "name": "GPT OSS 20B", - "family": "gpt-oss", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2025-08-05", - "last_updated": "2025-08-05", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.05, "output": 0.2 }, - "limit": { "context": 131072, "output": 32768 } - }, - "accounts/fireworks/models/kimi-k2-instruct": { - "id": "accounts/fireworks/models/kimi-k2-instruct", - "name": "Kimi K2 Instruct", - "family": "kimi", - "attachment": false, + "gpt-4o-2024-05-13": { + "id": "gpt-4o-2024-05-13", + "name": "GPT-4o (2024-05-13)", + "family": "gpt", + "attachment": true, "reasoning": false, "tool_call": true, + "structured_output": true, "temperature": true, - "knowledge": "2024-10", - "release_date": "2025-07-11", - "last_updated": "2025-07-11", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 1, "output": 3 }, - "limit": { "context": 128000, "output": 16384 } - } - } - }, - "opencode-go": { - "id": "opencode-go", - "env": ["OPENCODE_API_KEY"], - "npm": "@ai-sdk/openai-compatible", - "api": "https://opencode.ai/zen/go/v1", - "name": "OpenCode Go", - "doc": "https://opencode.ai/docs/zen", - "models": { - "kimi-k2.5": { - "id": "kimi-k2.5", - "name": "Kimi K2.5", - "family": "kimi", + "knowledge": "2023-09", + "release_date": "2024-05-13", + "last_updated": "2024-05-13", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 4096 + }, + "cost": { + "input": 5, + "output": 15 + } + }, + "o1-mini": { + "id": "o1-mini", + "name": "o1-mini", + "family": "o-mini", + "attachment": false, + "reasoning": true, + "tool_call": false, + "structured_output": true, + "temperature": false, + "knowledge": "2023-09", + "release_date": "2024-09-12", + "last_updated": "2024-09-12", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 65536 + }, + "cost": { + "input": 1.1, + "output": 4.4, + "cache_read": 0.55 + } + }, + "gpt-5.2-pro": { + "id": "gpt-5.2-pro", + "name": "GPT-5.2 Pro", + "family": "gpt-pro", "attachment": true, "reasoning": true, "tool_call": true, - "interleaved": { "field": "reasoning_content" }, - "temperature": true, - "knowledge": "2024-10", - "release_date": "2026-01-27", - "last_updated": "2026-01-27", - "modalities": { "input": ["text", "image", "video"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.6, "output": 3, "cache_read": 0.1 }, - "limit": { "context": 262144, "output": 65536 } + "structured_output": false, + "temperature": false, + "knowledge": "2025-08-31", + "release_date": "2025-12-11", + "last_updated": "2025-12-11", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "input": 272000, + "output": 128000 + }, + "cost": { + "input": 21, + "output": 168 + } }, - "minimax-m2.7": { - "id": "minimax-m2.7", - "name": "MiniMax M2.7", - "family": "minimax-m2.7", + "text-embedding-3-large": { + "id": "text-embedding-3-large", + "name": "text-embedding-3-large", + "family": "text-embedding", "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": false, + "knowledge": "2024-01", + "release_date": "2024-01-25", + "last_updated": "2024-01-25", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 8191, + "output": 3072 + }, + "cost": { + "input": 0.13, + "output": 0 + } + }, + "gpt-5.3-chat-latest": { + "id": "gpt-5.3-chat-latest", + "name": "GPT-5.3 Chat (latest)", + "family": "gpt", + "attachment": true, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2025-08-31", + "release_date": "2026-03-03", + "last_updated": "2026-03-03", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 16384 + }, + "cost": { + "input": 1.75, + "output": 14, + "cache_read": 0.175 + } + }, + "gpt-5.5": { + "id": "gpt-5.5", + "name": "GPT-5.5", + "family": "gpt", + "attachment": true, "reasoning": true, "tool_call": true, - "temperature": true, - "knowledge": "2025-01", - "release_date": "2026-03-18", - "last_updated": "2026-03-18", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.3, "output": 1.2, "cache_read": 0.06 }, - "limit": { "context": 204800, "output": 131072 }, - "provider": { "npm": "@ai-sdk/anthropic" } + "structured_output": true, + "temperature": false, + "knowledge": "2025-12-01", + "release_date": "2026-04-23", + "last_updated": "2026-04-23", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1050000, + "input": 922000, + "output": 128000 + }, + "experimental": { + "modes": { + "fast": { + "cost": { + "input": 12.5, + "output": 75, + "cache_read": 1.25 + }, + "provider": { + "body": { + "service_tier": "priority" + } + } + } + } + }, + "cost": { + "input": 5, + "output": 30, + "cache_read": 0.5, + "tiers": [ + { + "input": 10, + "output": 45, + "cache_read": 1, + "tier": { + "type": "context", + "size": 272000 + } + } + ], + "context_over_200k": { + "input": 10, + "output": 45, + "cache_read": 1 + } + } }, - "glm-5": { - "id": "glm-5", - "name": "GLM-5", - "family": "glm", - "attachment": false, + "gpt-5-mini": { + "id": "gpt-5-mini", + "name": "GPT-5 Mini", + "family": "gpt-mini", + "attachment": true, "reasoning": true, "tool_call": true, - "interleaved": { "field": "reasoning_content" }, - "temperature": true, - "knowledge": "2025-04", - "release_date": "2026-02-11", - "last_updated": "2026-02-11", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 1, "output": 3.2, "cache_read": 0.2 }, - "limit": { "context": 204800, "output": 131072 } + "structured_output": true, + "temperature": false, + "knowledge": "2024-05-30", + "release_date": "2025-08-07", + "last_updated": "2025-08-07", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "input": 272000, + "output": 128000 + }, + "cost": { + "input": 0.25, + "output": 2, + "cache_read": 0.025 + } }, - "minimax-m2.5": { - "id": "minimax-m2.5", - "name": "MiniMax M2.5", - "family": "minimax-m2.5", - "attachment": false, + "gpt-5-nano": { + "id": "gpt-5-nano", + "name": "GPT-5 Nano", + "family": "gpt-nano", + "attachment": true, "reasoning": true, "tool_call": true, + "structured_output": true, + "temperature": false, + "knowledge": "2024-05-30", + "release_date": "2025-08-07", + "last_updated": "2025-08-07", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "input": 272000, + "output": 128000 + }, + "cost": { + "input": 0.05, + "output": 0.4, + "cache_read": 0.005 + } + }, + "gpt-5.3-codex": { + "id": "gpt-5.3-codex", + "name": "GPT-5.3 Codex", + "family": "gpt-codex", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": false, + "knowledge": "2025-08-31", + "release_date": "2026-02-05", + "last_updated": "2026-02-05", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "input": 272000, + "output": 128000 + }, + "cost": { + "input": 1.75, + "output": 14, + "cache_read": 0.175 + } + }, + "gpt-4-turbo": { + "id": "gpt-4-turbo", + "name": "GPT-4 Turbo", + "family": "gpt", + "attachment": true, + "reasoning": false, + "tool_call": true, + "structured_output": false, "temperature": true, - "knowledge": "2025-01", - "release_date": "2026-02-12", - "last_updated": "2026-02-12", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.3, "output": 1.2, "cache_read": 0.03 }, - "limit": { "context": 204800, "output": 131072 }, - "provider": { "npm": "@ai-sdk/anthropic" } - } - } - }, - "abacus": { - "id": "abacus", - "env": ["ABACUS_API_KEY"], - "npm": "@ai-sdk/openai-compatible", - "api": "https://routellm.abacus.ai/v1", - "name": "Abacus", - "doc": "https://abacus.ai/help/api", - "models": { - "gpt-5.2-codex": { - "id": "gpt-5.2-codex", - "name": "GPT-5.2 Codex", + "knowledge": "2023-12", + "release_date": "2023-11-06", + "last_updated": "2024-04-09", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 4096 + }, + "cost": { + "input": 10, + "output": 30 + } + }, + "text-embedding-ada-002": { + "id": "text-embedding-ada-002", + "name": "text-embedding-ada-002", + "family": "text-embedding", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": false, + "knowledge": "2022-12", + "release_date": "2022-12-15", + "last_updated": "2022-12-15", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 8192, + "output": 1536 + }, + "cost": { + "input": 0.1, + "output": 0 + } + }, + "gpt-5.2": { + "id": "gpt-5.2", + "name": "GPT-5.2", "family": "gpt", "attachment": true, "reasoning": true, @@ -64189,41 +83391,526 @@ "knowledge": "2025-08-31", "release_date": "2025-12-11", "last_updated": "2025-12-11", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, "open_weights": false, - "cost": { "input": 1.75, "output": 14 }, - "limit": { "context": 400000, "input": 272000, "output": 128000 } + "limit": { + "context": 400000, + "input": 272000, + "output": 128000 + }, + "cost": { + "input": 1.75, + "output": 14, + "cache_read": 0.175 + } }, - "llama-3.3-70b-versatile": { - "id": "llama-3.3-70b-versatile", - "name": "Llama 3.3 70B Versatile", - "family": "llama", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "release_date": "2024-12-06", - "last_updated": "2024-12-06", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.59, "output": 0.79 }, - "limit": { "context": 128000, "output": 32768 } - }, - "claude-opus-4-5-20251101": { - "id": "claude-opus-4-5-20251101", - "name": "Claude Opus 4.5", - "family": "claude-opus", + "o3-pro": { + "id": "o3-pro", + "name": "o3-pro", + "family": "o-pro", "attachment": true, "reasoning": true, "tool_call": true, - "temperature": true, - "knowledge": "2025-03-31", - "release_date": "2025-11-01", - "last_updated": "2025-11-01", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, + "structured_output": true, + "temperature": false, + "knowledge": "2024-05", + "release_date": "2025-06-10", + "last_updated": "2025-06-10", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, "open_weights": false, - "cost": { "input": 5, "output": 25 }, - "limit": { "context": 200000, "output": 64000 } + "limit": { + "context": 200000, + "output": 100000 + }, + "cost": { + "input": 20, + "output": 80 + } + }, + "gpt-4o-mini": { + "id": "gpt-4o-mini", + "name": "GPT-4o mini", + "family": "gpt-mini", + "attachment": true, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2023-09", + "release_date": "2024-07-18", + "last_updated": "2024-07-18", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 16384 + }, + "cost": { + "input": 0.15, + "output": 0.6, + "cache_read": 0.08 + } + }, + "o4-mini-deep-research": { + "id": "o4-mini-deep-research", + "name": "o4-mini-deep-research", + "family": "o-mini", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": false, + "knowledge": "2024-05", + "release_date": "2024-06-26", + "last_updated": "2024-06-26", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 100000 + }, + "cost": { + "input": 2, + "output": 8, + "cache_read": 0.5 + } + }, + "gpt-5.4-mini": { + "id": "gpt-5.4-mini", + "name": "GPT-5.4 mini", + "family": "gpt-mini", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": false, + "knowledge": "2025-08-31", + "release_date": "2026-03-17", + "last_updated": "2026-03-17", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "input": 272000, + "output": 128000 + }, + "experimental": { + "modes": { + "fast": { + "cost": { + "input": 1.5, + "output": 9, + "cache_read": 0.15 + }, + "provider": { + "body": { + "service_tier": "priority" + } + } + } + } + }, + "cost": { + "input": 0.75, + "output": 4.5, + "cache_read": 0.075 + } + }, + "o4-mini": { + "id": "o4-mini", + "name": "o4-mini", + "family": "o-mini", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": false, + "knowledge": "2024-05", + "release_date": "2025-04-16", + "last_updated": "2025-04-16", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 100000 + }, + "cost": { + "input": 1.1, + "output": 4.4, + "cache_read": 0.28 + } + }, + "gpt-5.4-nano": { + "id": "gpt-5.4-nano", + "name": "GPT-5.4 nano", + "family": "gpt-nano", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": false, + "knowledge": "2025-08-31", + "release_date": "2026-03-17", + "last_updated": "2026-03-17", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "input": 272000, + "output": 128000 + }, + "cost": { + "input": 0.2, + "output": 1.25, + "cache_read": 0.02 + } + }, + "gpt-image-1": { + "id": "gpt-image-1", + "name": "gpt-image-1", + "family": "gpt-image", + "attachment": true, + "reasoning": false, + "tool_call": false, + "temperature": false, + "release_date": "2025-04-24", + "last_updated": "2025-04-24", + "modalities": { + "input": ["text", "image"], + "output": ["image"] + }, + "open_weights": false, + "limit": { + "context": 0, + "input": 0, + "output": 0 + } + }, + "gpt-5.2-codex": { + "id": "gpt-5.2-codex", + "name": "GPT-5.2 Codex", + "family": "gpt-codex", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": false, + "knowledge": "2025-08-31", + "release_date": "2025-12-11", + "last_updated": "2025-12-11", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "input": 272000, + "output": 128000 + }, + "cost": { + "input": 1.75, + "output": 14, + "cache_read": 0.175 + } + }, + "gpt-5.2-chat-latest": { + "id": "gpt-5.2-chat-latest", + "name": "GPT-5.2 Chat", + "family": "gpt-codex", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": false, + "knowledge": "2025-08-31", + "release_date": "2025-12-11", + "last_updated": "2025-12-11", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 16384 + }, + "cost": { + "input": 1.75, + "output": 14, + "cache_read": 0.175 + } + }, + "gpt-5.1-codex-mini": { + "id": "gpt-5.1-codex-mini", + "name": "GPT-5.1 Codex mini", + "family": "gpt-codex", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": false, + "knowledge": "2024-09-30", + "release_date": "2025-11-13", + "last_updated": "2025-11-13", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "input": 272000, + "output": 128000 + }, + "cost": { + "input": 0.25, + "output": 2, + "cache_read": 0.025 + } + }, + "o1-preview": { + "id": "o1-preview", + "name": "o1-preview", + "family": "o", + "attachment": false, + "reasoning": true, + "tool_call": false, + "temperature": true, + "knowledge": "2023-09", + "release_date": "2024-09-12", + "last_updated": "2024-09-12", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 32768 + }, + "cost": { + "input": 15, + "output": 60, + "cache_read": 7.5 + } + }, + "gpt-4o-2024-08-06": { + "id": "gpt-4o-2024-08-06", + "name": "GPT-4o (2024-08-06)", + "family": "gpt", + "attachment": true, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2023-09", + "release_date": "2024-08-06", + "last_updated": "2024-08-06", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 16384 + }, + "cost": { + "input": 2.5, + "output": 10, + "cache_read": 1.25 + } + }, + "gpt-5.1": { + "id": "gpt-5.1", + "name": "GPT-5.1", + "family": "gpt", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": false, + "knowledge": "2024-09-30", + "release_date": "2025-11-13", + "last_updated": "2025-11-13", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "input": 272000, + "output": 128000 + }, + "cost": { + "input": 1.25, + "output": 10, + "cache_read": 0.13 + } + }, + "gpt-image-1-mini": { + "id": "gpt-image-1-mini", + "name": "gpt-image-1-mini", + "family": "gpt-image", + "attachment": true, + "reasoning": false, + "tool_call": false, + "temperature": false, + "release_date": "2025-09-26", + "last_updated": "2025-09-26", + "modalities": { + "input": ["text", "image"], + "output": ["text", "image"] + }, + "open_weights": false, + "limit": { + "context": 0, + "input": 0, + "output": 0 + } + }, + "o1": { + "id": "o1", + "name": "o1", + "family": "o", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": false, + "knowledge": "2023-09", + "release_date": "2024-12-05", + "last_updated": "2024-12-05", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 100000 + }, + "cost": { + "input": 15, + "output": 60, + "cache_read": 7.5 + } + }, + "gpt-5.4-pro": { + "id": "gpt-5.4-pro", + "name": "GPT-5.4 Pro", + "family": "gpt-pro", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": false, + "temperature": false, + "knowledge": "2025-08-31", + "release_date": "2026-03-05", + "last_updated": "2026-03-05", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1050000, + "input": 922000, + "output": 128000 + }, + "cost": { + "input": 30, + "output": 180, + "tiers": [ + { + "input": 60, + "output": 270, + "tier": { + "type": "context", + "size": 272000 + } + } + ], + "context_over_200k": { + "input": 60, + "output": 270 + } + } + }, + "gpt-3.5-turbo": { + "id": "gpt-3.5-turbo", + "name": "GPT-3.5-turbo", + "family": "gpt", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "temperature": true, + "knowledge": "2021-09-01", + "release_date": "2023-03-01", + "last_updated": "2023-11-06", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 16385, + "output": 4096 + }, + "cost": { + "input": 0.5, + "output": 1.5, + "cache_read": 1.25 + } + }, + "o3-deep-research": { + "id": "o3-deep-research", + "name": "o3-deep-research", + "family": "o", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": false, + "knowledge": "2024-05", + "release_date": "2024-06-26", + "last_updated": "2024-06-26", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 100000 + }, + "cost": { + "input": 10, + "output": 40, + "cache_read": 2.5 + } }, "o3-mini": { "id": "o3-mini", @@ -64232,304 +83919,130 @@ "attachment": false, "reasoning": true, "tool_call": true, + "structured_output": true, "temperature": false, "knowledge": "2024-05", "release_date": "2024-12-20", "last_updated": "2025-01-29", - "modalities": { "input": ["text"], "output": ["text"] }, + "modalities": { + "input": ["text"], + "output": ["text"] + }, "open_weights": false, - "cost": { "input": 1.1, "output": 4.4 }, - "limit": { "context": 200000, "output": 100000 } + "limit": { + "context": 200000, + "output": 100000 + }, + "cost": { + "input": 1.1, + "output": 4.4, + "cache_read": 0.55 + } }, - "gpt-5.2-chat-latest": { - "id": "gpt-5.2-chat-latest", - "name": "GPT-5.2 Chat Latest", - "family": "gpt", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2024-09-30", - "release_date": "2026-01-01", - "last_updated": "2026-01-01", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.75, "output": 14 }, - "limit": { "context": 400000, "output": 128000 } - }, - "gpt-5": { - "id": "gpt-5", - "name": "GPT-5", - "family": "gpt", - "attachment": true, - "reasoning": true, - "tool_call": true, + "text-embedding-3-small": { + "id": "text-embedding-3-small", + "name": "text-embedding-3-small", + "family": "text-embedding", + "attachment": false, + "reasoning": false, + "tool_call": false, "temperature": false, - "knowledge": "2024-09-30", - "release_date": "2025-08-07", - "last_updated": "2025-08-07", - "modalities": { "input": ["text", "image"], "output": ["text"] }, + "knowledge": "2024-01", + "release_date": "2024-01-25", + "last_updated": "2024-01-25", + "modalities": { + "input": ["text"], + "output": ["text"] + }, "open_weights": false, - "cost": { "input": 1.25, "output": 10 }, - "limit": { "context": 400000, "output": 128000 } + "limit": { + "context": 8191, + "output": 1536 + }, + "cost": { + "input": 0.02, + "output": 0 + } }, - "claude-opus-4-20250514": { - "id": "claude-opus-4-20250514", - "name": "Claude Opus 4", - "family": "claude-opus", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2025-05-14", - "last_updated": "2025-05-14", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 15, "output": 75 }, - "limit": { "context": 200000, "output": 32000 } - }, - "gemini-3.1-pro-preview": { - "id": "gemini-3.1-pro-preview", - "name": "Gemini 3.1 Pro Preview", - "family": "gemini-pro", + "o1-pro": { + "id": "o1-pro", + "name": "o1-pro", + "family": "o-pro", "attachment": true, "reasoning": true, "tool_call": true, "structured_output": true, - "temperature": true, - "knowledge": "2025-01", - "release_date": "2026-02-19", - "last_updated": "2026-02-19", - "modalities": { "input": ["text", "image", "video", "audio", "pdf"], "output": ["text"] }, + "temperature": false, + "knowledge": "2023-09", + "release_date": "2025-03-19", + "last_updated": "2025-03-19", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, "open_weights": false, - "cost": { "input": 2, "output": 12 }, - "limit": { "context": 1048576, "output": 65536 } + "limit": { + "context": 200000, + "output": 100000 + }, + "cost": { + "input": 150, + "output": 600 + } }, - "claude-3-7-sonnet-20250219": { - "id": "claude-3-7-sonnet-20250219", - "name": "Claude Sonnet 3.7", - "family": "claude-sonnet", + "gpt-4": { + "id": "gpt-4", + "name": "GPT-4", + "family": "gpt", "attachment": true, - "reasoning": true, + "reasoning": false, "tool_call": true, + "structured_output": false, "temperature": true, - "knowledge": "2024-10-31", - "release_date": "2025-02-19", - "last_updated": "2025-02-19", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, + "knowledge": "2023-11", + "release_date": "2023-11-06", + "last_updated": "2024-04-09", + "modalities": { + "input": ["text"], + "output": ["text"] + }, "open_weights": false, - "cost": { "input": 3, "output": 15 }, - "limit": { "context": 200000, "output": 64000 } + "limit": { + "context": 8192, + "output": 8192 + }, + "cost": { + "input": 30, + "output": 60 + } }, - "kimi-k2.5": { - "id": "kimi-k2.5", - "name": "Kimi K2.5", - "family": "kimi", + "gpt-5-codex": { + "id": "gpt-5-codex", + "name": "GPT-5-Codex", + "family": "gpt-codex", "attachment": false, "reasoning": true, "tool_call": true, "structured_output": true, - "temperature": true, - "knowledge": "2025-01", - "release_date": "2026-01", - "last_updated": "2026-01", - "modalities": { "input": ["text", "image", "video"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.6, "output": 3 }, - "limit": { "context": 262144, "output": 32768 } - }, - "grok-4-fast-non-reasoning": { - "id": "grok-4-fast-non-reasoning", - "name": "Grok 4 Fast (Non-Reasoning)", - "family": "grok", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "release_date": "2025-07-09", - "last_updated": "2025-07-09", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.2, "output": 0.5 }, - "limit": { "context": 2000000, "output": 16384 } - }, - "grok-code-fast-1": { - "id": "grok-code-fast-1", - "name": "Grok Code Fast 1", - "family": "grok", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "release_date": "2025-09-01", - "last_updated": "2025-09-01", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.2, "output": 1.5 }, - "limit": { "context": 256000, "output": 16384 } - }, - "gpt-5.3-codex": { - "id": "gpt-5.3-codex", - "name": "GPT-5.3 Codex", - "family": "gpt", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": false, - "knowledge": "2025-08-31", - "release_date": "2026-02-05", - "last_updated": "2026-02-05", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.75, "output": 14 }, - "limit": { "context": 400000, "input": 272000, "output": 128000 } - }, - "gpt-5-mini": { - "id": "gpt-5-mini", - "name": "GPT-5 Mini", - "family": "gpt-mini", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": false, - "knowledge": "2024-05-30", - "release_date": "2025-08-07", - "last_updated": "2025-08-07", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.25, "output": 2 }, - "limit": { "context": 400000, "output": 128000 } - }, - "claude-opus-4-6": { - "id": "claude-opus-4-6", - "name": "Claude Opus 4.6", - "family": "claude-opus", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-05", - "release_date": "2026-02-05", - "last_updated": "2026-02-05", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 5, "output": 25 }, - "limit": { "context": 200000, "output": 128000 } - }, - "claude-sonnet-4-5-20250929": { - "id": "claude-sonnet-4-5-20250929", - "name": "Claude Sonnet 4.5", - "family": "claude-sonnet", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-07-31", - "release_date": "2025-09-29", - "last_updated": "2025-09-29", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 3, "output": 15 }, - "limit": { "context": 200000, "output": 64000 } - }, - "gpt-4o-mini": { - "id": "gpt-4o-mini", - "name": "GPT-4o Mini", - "family": "gpt", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-04", - "release_date": "2024-07-18", - "last_updated": "2024-07-18", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.15, "output": 0.6 }, - "limit": { "context": 128000, "output": 16384 } - }, - "gpt-5.1-codex-max": { - "id": "gpt-5.1-codex-max", - "name": "GPT-5.1 Codex Max", - "family": "gpt", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, "temperature": false, "knowledge": "2024-09-30", - "release_date": "2025-11-13", - "last_updated": "2025-11-13", - "modalities": { "input": ["text", "image"], "output": ["text"] }, + "release_date": "2025-09-15", + "last_updated": "2025-09-15", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, "open_weights": false, - "cost": { "input": 1.25, "output": 10 }, - "limit": { "context": 400000, "input": 272000, "output": 128000 } - }, - "claude-sonnet-4-6": { - "id": "claude-sonnet-4-6", - "name": "Claude Sonnet 4.6", - "family": "claude-sonnet", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-08", - "release_date": "2026-02-17", - "last_updated": "2026-02-17", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 3, "output": 15 }, - "limit": { "context": 200000, "output": 64000 } - }, - "gpt-4.1": { - "id": "gpt-4.1", - "name": "GPT-4.1", - "family": "gpt", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-04", - "release_date": "2025-04-14", - "last_updated": "2025-04-14", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 2, "output": 8 }, - "limit": { "context": 1047576, "output": 32768 } - }, - "gpt-5.1-chat-latest": { - "id": "gpt-5.1-chat-latest", - "name": "GPT-5.1 Chat Latest", - "family": "gpt", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": false, - "knowledge": "2024-09-30", - "release_date": "2025-11-13", - "last_updated": "2025-11-13", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.25, "output": 10 }, - "limit": { "context": 400000, "output": 128000 } - }, - "gpt-5.3-codex-xhigh": { - "id": "gpt-5.3-codex-xhigh", - "name": "GPT-5.3 Codex XHigh", - "family": "gpt", - "attachment": true, - "reasoning": true, - "tool_call": true, - "structured_output": true, - "temperature": false, - "knowledge": "2025-08-31", - "release_date": "2026-02-05", - "last_updated": "2026-02-05", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.75, "output": 14 }, - "limit": { "context": 400000, "input": 272000, "output": 128000 } + "limit": { + "context": 400000, + "input": 272000, + "output": 128000 + }, + "cost": { + "input": 1.25, + "output": 10, + "cache_read": 0.125 + } }, "gpt-5.4": { "id": "gpt-5.4", @@ -64543,10 +84056,156 @@ "knowledge": "2025-08-31", "release_date": "2026-03-05", "last_updated": "2026-03-05", - "modalities": { "input": ["text", "image"], "output": ["text"] }, + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, "open_weights": false, - "cost": { "input": 2.5, "output": 15 }, - "limit": { "context": 1050000, "input": 922000, "output": 128000 } + "limit": { + "context": 1050000, + "input": 922000, + "output": 128000 + }, + "experimental": { + "modes": { + "fast": { + "cost": { + "input": 5, + "output": 30, + "cache_read": 0.5 + }, + "provider": { + "body": { + "service_tier": "priority" + } + } + } + } + }, + "cost": { + "input": 2.5, + "output": 15, + "cache_read": 0.25, + "tiers": [ + { + "input": 5, + "output": 22.5, + "cache_read": 0.5, + "tier": { + "type": "context", + "size": 272000 + } + } + ], + "context_over_200k": { + "input": 5, + "output": 22.5, + "cache_read": 0.5 + } + } + }, + "gpt-5.1-chat-latest": { + "id": "gpt-5.1-chat-latest", + "name": "GPT-5.1 Chat", + "family": "gpt-codex", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": false, + "knowledge": "2024-09-30", + "release_date": "2025-11-13", + "last_updated": "2025-11-13", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 16384 + }, + "cost": { + "input": 1.25, + "output": 10, + "cache_read": 0.125 + } + }, + "gpt-5.3-codex-spark": { + "id": "gpt-5.3-codex-spark", + "name": "GPT-5.3 Codex Spark", + "family": "gpt-codex-spark", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": false, + "knowledge": "2025-08-31", + "release_date": "2026-02-05", + "last_updated": "2026-02-05", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "input": 100000, + "output": 32000 + }, + "cost": { + "input": 1.75, + "output": 14, + "cache_read": 0.175 + } + }, + "chatgpt-image-latest": { + "id": "chatgpt-image-latest", + "name": "chatgpt-image-latest", + "family": "gpt-image", + "attachment": true, + "reasoning": false, + "tool_call": false, + "temperature": false, + "release_date": "2025-12-16", + "last_updated": "2025-12-16", + "modalities": { + "input": ["text", "image"], + "output": ["text", "image"] + }, + "open_weights": false, + "limit": { + "context": 0, + "input": 0, + "output": 0 + } + }, + "gpt-4.1-nano": { + "id": "gpt-4.1-nano", + "name": "GPT-4.1 nano", + "family": "gpt-nano", + "attachment": true, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2024-04", + "release_date": "2025-04-14", + "last_updated": "2025-04-14", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1047576, + "output": 32768 + }, + "cost": { + "input": 0.1, + "output": 0.4, + "cache_read": 0.03 + } }, "o3": { "id": "o3", @@ -64555,152 +84214,278 @@ "attachment": true, "reasoning": true, "tool_call": true, + "structured_output": true, "temperature": false, "knowledge": "2024-05", "release_date": "2025-04-16", "last_updated": "2025-04-16", - "modalities": { "input": ["text", "image"], "output": ["text"] }, + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, "open_weights": false, - "cost": { "input": 2, "output": 8 }, - "limit": { "context": 200000, "output": 100000 } + "limit": { + "context": 200000, + "output": 100000 + }, + "cost": { + "input": 2, + "output": 8, + "cache_read": 0.5 + } }, - "grok-4-1-fast-non-reasoning": { - "id": "grok-4-1-fast-non-reasoning", - "name": "Grok 4.1 Fast (Non-Reasoning)", - "family": "grok", + "gpt-5-pro": { + "id": "gpt-5-pro", + "name": "GPT-5 Pro", + "family": "gpt-pro", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": false, + "knowledge": "2024-09-30", + "release_date": "2025-10-06", + "last_updated": "2025-10-06", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "input": 272000, + "output": 272000 + }, + "cost": { + "input": 15, + "output": 120 + } + }, + "gpt-4o": { + "id": "gpt-4o", + "name": "GPT-4o", + "family": "gpt", "attachment": true, "reasoning": false, "tool_call": true, + "structured_output": true, "temperature": true, - "release_date": "2025-11-17", - "last_updated": "2025-11-17", - "modalities": { "input": ["text", "image"], "output": ["text"] }, + "knowledge": "2023-09", + "release_date": "2024-05-13", + "last_updated": "2024-08-06", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, "open_weights": false, - "cost": { "input": 0.2, "output": 0.5 }, - "limit": { "context": 2000000, "output": 16384 } + "limit": { + "context": 128000, + "output": 16384 + }, + "cost": { + "input": 2.5, + "output": 10, + "cache_read": 1.25 + } }, - "gpt-5.3-chat-latest": { - "id": "gpt-5.3-chat-latest", - "name": "GPT-5.3 Chat Latest", + "gpt-5": { + "id": "gpt-5", + "name": "GPT-5", "family": "gpt", "attachment": true, "reasoning": true, "tool_call": true, - "temperature": true, - "release_date": "2026-03-01", - "last_updated": "2026-03-01", - "modalities": { "input": ["text", "image"], "output": ["text"] }, + "structured_output": true, + "temperature": false, + "knowledge": "2024-09-30", + "release_date": "2025-08-07", + "last_updated": "2025-08-07", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, "open_weights": false, - "cost": { "input": 1.75, "output": 14 }, - "limit": { "context": 400000, "output": 128000 } + "limit": { + "context": 400000, + "input": 272000, + "output": 128000 + }, + "cost": { + "input": 1.25, + "output": 10, + "cache_read": 0.125 + } }, - "claude-sonnet-4-20250514": { - "id": "claude-sonnet-4-20250514", - "name": "Claude Sonnet 4", - "family": "claude-sonnet", + "gpt-5-chat-latest": { + "id": "gpt-5-chat-latest", + "name": "GPT-5 Chat (latest)", + "family": "gpt-codex", + "attachment": true, + "reasoning": true, + "tool_call": false, + "structured_output": true, + "temperature": true, + "knowledge": "2024-09-30", + "release_date": "2025-08-07", + "last_updated": "2025-08-07", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "input": 272000, + "output": 128000 + }, + "cost": { + "input": 1.25, + "output": 10 + } + }, + "gpt-image-1.5": { + "id": "gpt-image-1.5", + "name": "gpt-image-1.5", + "family": "gpt-image", + "attachment": true, + "reasoning": false, + "tool_call": false, + "temperature": false, + "release_date": "2025-11-25", + "last_updated": "2025-11-25", + "modalities": { + "input": ["text", "image"], + "output": ["text", "image"] + }, + "open_weights": false, + "limit": { + "context": 0, + "input": 0, + "output": 0 + } + }, + "gpt-5.5-pro": { + "id": "gpt-5.5-pro", + "name": "GPT-5.5 Pro", + "family": "gpt-pro", "attachment": true, "reasoning": true, "tool_call": true, - "temperature": true, - "release_date": "2025-05-14", - "last_updated": "2025-05-14", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, + "structured_output": true, + "temperature": false, + "knowledge": "2025-12-01", + "release_date": "2026-04-23", + "last_updated": "2026-04-23", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, "open_weights": false, - "cost": { "input": 3, "output": 15 }, - "limit": { "context": 200000, "output": 64000 } + "limit": { + "context": 1050000, + "input": 922000, + "output": 128000 + }, + "cost": { + "input": 30, + "output": 180, + "tiers": [ + { + "input": 60, + "output": 270, + "tier": { + "type": "context", + "size": 272000 + } + } + ], + "context_over_200k": { + "input": 60, + "output": 270 + } + } }, - "grok-4-0709": { - "id": "grok-4-0709", - "name": "Grok 4", - "family": "grok", + "gpt-4.1": { + "id": "gpt-4.1", + "name": "GPT-4.1", + "family": "gpt", "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2025-07-09", - "last_updated": "2025-07-09", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 3, "output": 15 }, - "limit": { "context": 256000, "output": 16384 } - }, - "gemini-3-flash-preview": { - "id": "gemini-3-flash-preview", - "name": "Gemini 3 Flash Preview", - "family": "gemini-flash", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-01", - "release_date": "2025-12-17", - "last_updated": "2025-12-17", - "modalities": { "input": ["text", "image", "audio", "video", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.5, "output": 3 }, - "limit": { "context": 1048576, "output": 65536 } - }, - "gemini-2.5-pro": { - "id": "gemini-2.5-pro", - "name": "Gemini 2.5 Pro", - "family": "gemini-pro", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "knowledge": "2025-01", - "release_date": "2025-03-25", - "last_updated": "2025-03-25", - "modalities": { "input": ["text", "image", "audio", "video", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 1.25, "output": 10 }, - "limit": { "context": 1048576, "output": 65536 } - }, - "claude-opus-4-1-20250805": { - "id": "claude-opus-4-1-20250805", - "name": "Claude Opus 4.1", - "family": "claude-opus", - "attachment": true, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2025-08-05", - "last_updated": "2025-08-05", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 15, "output": 75 }, - "limit": { "context": 200000, "output": 32000 } - }, - "kimi-k2-turbo-preview": { - "id": "kimi-k2-turbo-preview", - "name": "Kimi K2 Turbo Preview", - "family": "kimi", - "attachment": false, "reasoning": false, "tool_call": true, + "structured_output": true, "temperature": true, - "release_date": "2025-07-08", - "last_updated": "2025-07-08", - "modalities": { "input": ["text"], "output": ["text"] }, + "knowledge": "2024-04", + "release_date": "2025-04-14", + "last_updated": "2025-04-14", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, "open_weights": false, - "cost": { "input": 0.15, "output": 8 }, - "limit": { "context": 256000, "output": 8192 } + "limit": { + "context": 1047576, + "output": 32768 + }, + "cost": { + "input": 2, + "output": 8, + "cache_read": 0.5 + } }, - "gemini-2.5-flash": { - "id": "gemini-2.5-flash", - "name": "Gemini 2.5 Flash", - "family": "gemini-flash", + "gpt-4.1-mini": { + "id": "gpt-4.1-mini", + "name": "GPT-4.1 mini", + "family": "gpt-mini", + "attachment": true, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2024-04", + "release_date": "2025-04-14", + "last_updated": "2025-04-14", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1047576, + "output": 32768 + }, + "cost": { + "input": 0.4, + "output": 1.6, + "cache_read": 0.1 + } + }, + "gpt-5.1-codex": { + "id": "gpt-5.1-codex", + "name": "GPT-5.1 Codex", + "family": "gpt-codex", "attachment": true, "reasoning": true, "tool_call": true, - "temperature": true, - "knowledge": "2025-01", - "release_date": "2025-03-20", - "last_updated": "2025-06-05", - "modalities": { "input": ["text", "image", "audio", "video", "pdf"], "output": ["text"] }, + "structured_output": true, + "temperature": false, + "knowledge": "2024-09-30", + "release_date": "2025-11-13", + "last_updated": "2025-11-13", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, "open_weights": false, - "cost": { "input": 0.3, "output": 2.5 }, - "limit": { "context": 1048576, "output": 65536 } + "limit": { + "context": 400000, + "input": 272000, + "output": 128000 + }, + "cost": { + "input": 1.25, + "output": 10, + "cache_read": 0.125 + } }, "gpt-4o-2024-11-20": { "id": "gpt-4o-2024-11-20", @@ -64709,80 +84494,197 @@ "attachment": true, "reasoning": false, "tool_call": true, + "structured_output": true, "temperature": true, - "knowledge": "2024-10", + "knowledge": "2023-09", "release_date": "2024-11-20", "last_updated": "2024-11-20", - "modalities": { "input": ["text", "image", "audio"], "output": ["text"] }, + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, "open_weights": false, - "cost": { "input": 2.5, "output": 10 }, - "limit": { "context": 128000, "output": 16384 } - }, - "gpt-5.2": { - "id": "gpt-5.2", - "name": "GPT-5.2", - "family": "gpt", + "limit": { + "context": 128000, + "output": 16384 + }, + "cost": { + "input": 2.5, + "output": 10, + "cache_read": 1.25 + } + } + } + }, + "requesty": { + "id": "requesty", + "env": ["REQUESTY_API_KEY"], + "npm": "@ai-sdk/openai-compatible", + "api": "https://router.requesty.ai/v1", + "name": "Requesty", + "doc": "https://requesty.ai/solution/llm-routing/models", + "models": { + "xai/grok-4-fast": { + "id": "xai/grok-4-fast", + "name": "Grok 4 Fast", + "family": "grok", "attachment": true, "reasoning": true, "tool_call": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2025-09-19", + "last_updated": "2025-09-19", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 2000000, + "output": 64000 + }, + "cost": { + "input": 0.2, + "output": 0.5, + "cache_read": 0.05, + "cache_write": 0.2 + } + }, + "xai/grok-4": { + "id": "xai/grok-4", + "name": "Grok 4", + "family": "grok", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2025-09-09", + "last_updated": "2025-09-09", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 256000, + "output": 64000 + }, + "cost": { + "input": 3, + "output": 15, + "cache_read": 0.75, + "cache_write": 3 + } + }, + "openai/gpt-5.1-codex-max": { + "id": "openai/gpt-5.1-codex-max", + "name": "GPT-5.1-Codex-Max", + "family": "gpt-codex", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2024-09-30", + "release_date": "2025-11-13", + "last_updated": "2025-11-13", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "output": 128000 + }, + "cost": { + "input": 1.1, + "output": 9, + "cache_read": 0.11 + } + }, + "openai/gpt-5-chat": { + "id": "openai/gpt-5-chat", + "name": "GPT-5 Chat (latest)", + "family": "gpt-codex", + "attachment": true, + "reasoning": true, + "tool_call": false, + "structured_output": true, + "temperature": true, + "knowledge": "2024-09-30", + "release_date": "2025-08-07", + "last_updated": "2025-08-07", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "output": 128000 + }, + "cost": { + "input": 1.25, + "output": 10 + } + }, + "openai/gpt-5.2-pro": { + "id": "openai/gpt-5.2-pro", + "name": "GPT-5.2 Pro", + "family": "gpt-pro", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, "temperature": false, "knowledge": "2025-08-31", "release_date": "2025-12-11", "last_updated": "2025-12-11", - "modalities": { "input": ["text", "image"], "output": ["text"] }, + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, "open_weights": false, - "cost": { "input": 1.75, "output": 14 }, - "limit": { "context": 400000, "output": 128000 } + "limit": { + "context": 400000, + "output": 128000 + }, + "cost": { + "input": 21, + "output": 168 + } }, - "gpt-5.1": { - "id": "gpt-5.1", - "name": "GPT-5.1", - "family": "gpt", + "openai/gpt-5-mini": { + "id": "openai/gpt-5-mini", + "name": "GPT-5 Mini", + "family": "gpt-mini", "attachment": true, "reasoning": true, "tool_call": true, "temperature": false, - "knowledge": "2024-09-30", - "release_date": "2025-11-13", - "last_updated": "2025-11-13", - "modalities": { "input": ["text", "image"], "output": ["text"] }, + "knowledge": "2024-05-30", + "release_date": "2025-08-07", + "last_updated": "2025-08-07", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, "open_weights": false, - "cost": { "input": 1.25, "output": 10 }, - "limit": { "context": 400000, "output": 128000 } + "limit": { + "context": 128000, + "output": 32000 + }, + "cost": { + "input": 0.25, + "output": 2, + "cache_read": 0.03 + } }, - "gpt-4.1-mini": { - "id": "gpt-4.1-mini", - "name": "GPT-4.1 Mini", - "family": "gpt", - "attachment": true, - "reasoning": false, - "tool_call": true, - "temperature": true, - "knowledge": "2024-04", - "release_date": "2025-04-14", - "last_updated": "2025-04-14", - "modalities": { "input": ["text", "image"], "output": ["text"] }, - "open_weights": false, - "cost": { "input": 0.4, "output": 1.6 }, - "limit": { "context": 1047576, "output": 32768 } - }, - "qwen-2.5-coder-32b": { - "id": "qwen-2.5-coder-32b", - "name": "Qwen 2.5 Coder 32B", - "family": "qwen", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "release_date": "2024-11-11", - "last_updated": "2024-11-11", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.79, "output": 0.79 }, - "limit": { "context": 128000, "output": 8192 } - }, - "gpt-5-nano": { - "id": "gpt-5-nano", + "openai/gpt-5-nano": { + "id": "openai/gpt-5-nano", "name": "GPT-5 Nano", "family": "gpt-nano", "attachment": true, @@ -64792,26 +84694,18421 @@ "knowledge": "2024-05-30", "release_date": "2025-08-07", "last_updated": "2025-08-07", - "modalities": { "input": ["text", "image"], "output": ["text"] }, + "modalities": { + "input": ["text"], + "output": ["text"] + }, "open_weights": false, - "cost": { "input": 0.05, "output": 0.4 }, - "limit": { "context": 400000, "output": 128000 } + "limit": { + "context": 16000, + "output": 4000 + }, + "cost": { + "input": 0.05, + "output": 0.4, + "cache_read": 0.01 + } }, - "gemini-3.1-flash-lite-preview": { - "id": "gemini-3.1-flash-lite-preview", + "openai/gpt-5.3-codex": { + "id": "openai/gpt-5.3-codex", + "name": "GPT-5.3-Codex", + "family": "gpt-codex", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": false, + "knowledge": "2025-08-31", + "release_date": "2026-02-24", + "last_updated": "2026-02-24", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "output": 128000 + }, + "cost": { + "input": 1.75, + "output": 14, + "cache_read": 0.175 + } + }, + "openai/gpt-4o-mini": { + "id": "openai/gpt-4o-mini", + "name": "GPT-4o Mini", + "family": "gpt-mini", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2024-07-18", + "last_updated": "2024-07-18", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 16384 + }, + "cost": { + "input": 0.15, + "output": 0.6, + "cache_read": 0.08 + } + }, + "openai/gpt-5.1-chat": { + "id": "openai/gpt-5.1-chat", + "name": "GPT-5.1 Chat", + "family": "gpt-codex", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2024-09-30", + "release_date": "2025-11-13", + "last_updated": "2025-11-13", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 16384 + }, + "cost": { + "input": 1.25, + "output": 10, + "cache_read": 0.125 + } + }, + "openai/o4-mini": { + "id": "openai/o4-mini", + "name": "o4 Mini", + "family": "o-mini", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-06", + "release_date": "2025-04-16", + "last_updated": "2025-04-16", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 100000 + }, + "cost": { + "input": 1.1, + "output": 4.4, + "cache_read": 0.28 + } + }, + "openai/gpt-5.2-codex": { + "id": "openai/gpt-5.2-codex", + "name": "GPT-5.2-Codex", + "family": "gpt-codex", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2025-08-31", + "release_date": "2026-01-14", + "last_updated": "2026-01-14", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "output": 128000 + }, + "cost": { + "input": 1.75, + "output": 14, + "cache_read": 0.175 + } + }, + "openai/gpt-5.1-codex-mini": { + "id": "openai/gpt-5.1-codex-mini", + "name": "GPT-5.1-Codex-Mini", + "family": "gpt-codex", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2024-09-30", + "release_date": "2025-11-13", + "last_updated": "2025-11-13", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "output": 100000 + }, + "cost": { + "input": 0.25, + "output": 2, + "cache_read": 0.025 + } + }, + "openai/gpt-5-image": { + "id": "openai/gpt-5-image", + "name": "GPT-5 Image", + "family": "gpt", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2024-10-01", + "release_date": "2025-10-14", + "last_updated": "2025-10-14", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text", "image"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "output": 128000 + }, + "cost": { + "input": 5, + "output": 10, + "cache_read": 1.25 + } + }, + "openai/gpt-5.1": { + "id": "openai/gpt-5.1", + "name": "GPT-5.1", + "family": "gpt", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2024-09-30", + "release_date": "2025-11-13", + "last_updated": "2025-11-13", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "output": 128000 + }, + "cost": { + "input": 1.25, + "output": 10, + "cache_read": 0.125 + } + }, + "openai/gpt-5.4-pro": { + "id": "openai/gpt-5.4-pro", + "name": "GPT-5.4 Pro", + "family": "gpt-pro", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": false, + "temperature": false, + "knowledge": "2025-08-31", + "release_date": "2026-03-05", + "last_updated": "2026-03-05", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1050000, + "input": 922000, + "output": 128000 + }, + "cost": { + "input": 30, + "output": 180, + "cache_read": 30 + } + }, + "openai/gpt-5-codex": { + "id": "openai/gpt-5-codex", + "name": "GPT-5 Codex", + "family": "gpt-codex", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2024-10-01", + "release_date": "2025-09-15", + "last_updated": "2025-09-15", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "output": 128000 + }, + "cost": { + "input": 1.25, + "output": 10, + "cache_read": 0.125 + } + }, + "openai/gpt-5": { + "id": "openai/gpt-5", + "name": "GPT-5", + "family": "gpt", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": false, + "knowledge": "2024-09-30", + "release_date": "2025-08-07", + "last_updated": "2025-08-07", + "modalities": { + "input": ["text", "audio", "image", "video"], + "output": ["text", "audio", "image"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "output": 128000 + }, + "cost": { + "input": 1.25, + "output": 10, + "cache_read": 0.13 + } + }, + "openai/gpt-4.1-mini": { + "id": "openai/gpt-4.1-mini", + "name": "GPT-4.1 Mini", + "family": "gpt-mini", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-04", + "release_date": "2025-04-14", + "last_updated": "2025-04-14", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1047576, + "output": 32768 + }, + "cost": { + "input": 0.4, + "output": 1.6, + "cache_read": 0.1 + } + }, + "openai/gpt-5.1-codex": { + "id": "openai/gpt-5.1-codex", + "name": "GPT-5.1-Codex", + "family": "gpt-codex", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2024-09-30", + "release_date": "2025-11-13", + "last_updated": "2025-11-13", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "output": 128000 + }, + "cost": { + "input": 1.25, + "output": 10, + "cache_read": 0.125 + } + }, + "google/gemini-3-flash-preview": { + "id": "google/gemini-3-flash-preview", + "name": "Gemini 3 Flash", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2025-12-17", + "last_updated": "2025-12-17", + "modalities": { + "input": ["text", "image", "audio", "video", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1048576, + "output": 65536 + }, + "cost": { + "input": 0.5, + "output": 3, + "cache_read": 0.05, + "cache_write": 1 + } + }, + "google/gemini-3-pro-preview": { + "id": "google/gemini-3-pro-preview", + "name": "Gemini 3 Pro", + "family": "gemini-pro", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2025-11-18", + "last_updated": "2025-11-18", + "modalities": { + "input": ["text", "image", "audio", "video", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1048576, + "output": 65536 + }, + "cost": { + "input": 2, + "output": 12, + "cache_read": 0.2, + "cache_write": 4.5 + } + }, + "google/gemini-2.5-flash": { + "id": "google/gemini-2.5-flash", + "name": "Gemini 2.5 Flash", + "family": "gemini-flash", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2025-06-17", + "last_updated": "2025-06-17", + "modalities": { + "input": ["text", "image", "audio", "video", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1048576, + "output": 65536 + }, + "cost": { + "input": 0.3, + "output": 2.5, + "cache_read": 0.075, + "cache_write": 0.55 + } + }, + "anthropic/claude-haiku-4-5": { + "id": "anthropic/claude-haiku-4-5", + "name": "Claude Haiku 4.5", + "family": "claude-haiku", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-02-01", + "release_date": "2025-10-15", + "last_updated": "2025-10-15", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 62000 + }, + "cost": { + "input": 1, + "output": 5, + "cache_read": 0.1, + "cache_write": 1.25 + } + }, + "anthropic/claude-sonnet-4-6": { + "id": "anthropic/claude-sonnet-4-6", + "name": "Claude Sonnet 4.6", + "family": "claude-sonnet", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2025-08-31", + "release_date": "2026-02-17", + "last_updated": "2026-02-17", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000000, + "output": 128000 + }, + "cost": { + "input": 3, + "output": 15, + "cache_read": 0.3, + "cache_write": 3.75, + "tiers": [ + { + "input": 6, + "output": 22.5, + "cache_read": 0.6, + "cache_write": 7.5, + "tier": { + "type": "context", + "size": 200000 + } + } + ], + "context_over_200k": { + "input": 6, + "output": 22.5, + "cache_read": 0.6, + "cache_write": 7.5 + } + } + }, + "anthropic/claude-3-7-sonnet": { + "id": "anthropic/claude-3-7-sonnet", + "name": "Claude Sonnet 3.7", + "family": "claude-sonnet", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-01", + "release_date": "2025-02-19", + "last_updated": "2025-02-19", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 64000 + }, + "cost": { + "input": 3, + "output": 15, + "cache_read": 0.3, + "cache_write": 3.75 + } + }, + "anthropic/claude-opus-4-5": { + "id": "anthropic/claude-opus-4-5", + "name": "Claude Opus 4.5", + "family": "claude-opus", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-03-31", + "release_date": "2025-11-24", + "last_updated": "2025-11-24", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 64000 + }, + "cost": { + "input": 5, + "output": 25, + "cache_read": 0.5, + "cache_write": 6.25 + } + }, + "anthropic/claude-opus-4": { + "id": "anthropic/claude-opus-4", + "name": "Claude Opus 4", + "family": "claude-opus", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-03-31", + "release_date": "2025-05-22", + "last_updated": "2025-05-22", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 32000 + }, + "cost": { + "input": 15, + "output": 75, + "cache_read": 1.5, + "cache_write": 18.75 + } + }, + "anthropic/claude-opus-4-6": { + "id": "anthropic/claude-opus-4-6", + "name": "Claude Opus 4.6", + "family": "claude-opus", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2025-05-31", + "release_date": "2026-02-05", + "last_updated": "2026-02-05", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000000, + "output": 128000 + }, + "cost": { + "input": 5, + "output": 25, + "cache_read": 0.5, + "cache_write": 6.25, + "tiers": [ + { + "input": 10, + "output": 37.5, + "cache_read": 1, + "cache_write": 12.5, + "tier": { + "type": "context", + "size": 200000 + } + } + ], + "context_over_200k": { + "input": 10, + "output": 37.5, + "cache_read": 1, + "cache_write": 12.5 + } + } + }, + "openai/gpt-5.2-chat": { + "id": "openai/gpt-5.2-chat", + "name": "GPT-5.2 Chat", + "family": "gpt-codex", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": false, + "knowledge": "2025-08-31", + "release_date": "2025-12-11", + "last_updated": "2025-12-11", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 16384 + }, + "cost": { + "input": 1.75, + "output": 14, + "cache_read": 0.175 + } + }, + "openai/gpt-5.2": { + "id": "openai/gpt-5.2", + "name": "GPT-5.2", + "family": "gpt", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": false, + "knowledge": "2025-08-31", + "release_date": "2025-12-11", + "last_updated": "2025-12-11", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "output": 128000 + }, + "cost": { + "input": 1.75, + "output": 14, + "cache_read": 0.175 + } + }, + "openai/gpt-5.4": { + "id": "openai/gpt-5.4", + "name": "GPT-5.4", + "family": "gpt", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": false, + "knowledge": "2025-08-31", + "release_date": "2026-03-05", + "last_updated": "2026-03-05", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1050000, + "input": 922000, + "output": 128000 + }, + "cost": { + "input": 2.5, + "output": 15, + "cache_read": 0.25, + "context_over_200k": { + "input": 5, + "output": 22.5, + "cache_read": 0.5 + }, + "tiers": [ + { + "input": 5, + "output": 22.5, + "cache_read": 0.5, + "tier": { + "type": "context", + "size": 272000 + } + } + ] + } + }, + "openai/gpt-5-pro": { + "id": "openai/gpt-5-pro", + "name": "GPT-5 Pro", + "family": "gpt-pro", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": false, + "knowledge": "2024-09-30", + "release_date": "2025-10-06", + "last_updated": "2025-10-06", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "output": 272000 + }, + "cost": { + "input": 15, + "output": 120 + } + }, + "openai/gpt-4.1": { + "id": "openai/gpt-4.1", + "name": "GPT-4.1", + "family": "gpt", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-04", + "release_date": "2025-04-14", + "last_updated": "2025-04-14", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1047576, + "output": 32768 + }, + "cost": { + "input": 2, + "output": 8, + "cache_read": 0.5 + } + }, + "google/gemini-2.5-pro": { + "id": "google/gemini-2.5-pro", + "name": "Gemini 2.5 Pro", + "family": "gemini-pro", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2025-03-20", + "last_updated": "2025-06-05", + "modalities": { + "input": ["text", "image", "audio", "video", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1048576, + "output": 65536 + }, + "cost": { + "input": 1.25, + "output": 10, + "cache_read": 0.31, + "cache_write": 2.375, + "context_over_200k": { + "input": 2.5, + "output": 15, + "cache_read": 0.25 + }, + "tiers": [ + { + "input": 2.5, + "output": 15, + "cache_read": 0.25, + "tier": { + "type": "context", + "size": 200000 + } + } + ] + } + }, + "anthropic/claude-opus-4-1": { + "id": "anthropic/claude-opus-4-1", + "name": "Claude Opus 4.1", + "family": "claude-opus", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-03-31", + "release_date": "2025-08-05", + "last_updated": "2025-08-05", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 32000 + }, + "cost": { + "input": 15, + "output": 75, + "cache_read": 1.5, + "cache_write": 18.75 + } + }, + "anthropic/claude-sonnet-4": { + "id": "anthropic/claude-sonnet-4", + "name": "Claude Sonnet 4", + "family": "claude-sonnet", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-03-31", + "release_date": "2025-05-22", + "last_updated": "2025-05-22", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 64000 + }, + "cost": { + "input": 3, + "output": 15, + "cache_read": 0.3, + "cache_write": 3.75 + } + }, + "anthropic/claude-sonnet-4-5": { + "id": "anthropic/claude-sonnet-4-5", + "name": "Claude Sonnet 4.5", + "family": "claude-sonnet", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-07-31", + "release_date": "2025-09-29", + "last_updated": "2025-09-29", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000000, + "output": 64000 + }, + "cost": { + "input": 3, + "output": 15, + "cache_read": 0.3, + "cache_write": 3.75 + } + } + } + }, + "digitalocean": { + "id": "digitalocean", + "env": ["DIGITALOCEAN_ACCESS_TOKEN"], + "npm": "@ai-sdk/openai-compatible", + "api": "https://inference.do-ai.run/v1", + "name": "DigitalOcean", + "doc": "https://docs.digitalocean.com/products/gradient-ai-platform/details/models/", + "models": { + "openai-gpt-4o-mini": { + "id": "openai-gpt-4o-mini", + "name": "GPT-4o mini", + "family": "gpt-mini", + "attachment": true, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2023-09", + "release_date": "2024-07-18", + "last_updated": "2024-07-18", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 16384 + }, + "cost": { + "input": 0.15, + "output": 0.6, + "cache_read": 0.075 + } + }, + "multi-qa-mpnet-base-dot-v1": { + "id": "multi-qa-mpnet-base-dot-v1", + "name": "Multi-QA-mpnet-base-dot-v1", + "family": "text-embedding", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": false, + "release_date": "2021-08-30", + "last_updated": "2026-04-16", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 512, + "output": 768 + }, + "cost": { + "input": 0.009, + "output": 0 + } + }, + "kimi-k2.5": { + "id": "kimi-k2.5", + "name": "Kimi K2.5", + "family": "kimi", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "structured_output": true, + "temperature": false, + "knowledge": "2025-01", + "release_date": "2026-01", + "last_updated": "2026-04-16", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 32768 + }, + "cost": { + "input": 0.5, + "output": 2.7 + } + }, + "nemotron-3-nano-omni": { + "id": "nemotron-3-nano-omni", + "name": "Nemotron Nano 3 Omni", + "family": "nemotron", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2026-04-28", + "last_updated": "2026-04-30", + "modalities": { + "input": ["text", "image", "video", "audio"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 65536, + "output": 65536 + }, + "cost": { + "input": 0.5, + "output": 0.9 + } + }, + "llama3-8b-instruct": { + "id": "llama3-8b-instruct", + "name": "Llama 3.1 Instruct (8B)", + "family": "llama", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2023-12", + "release_date": "2024-07-23", + "last_updated": "2024-07-23", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 131072 + }, + "cost": { + "input": 0.198, + "output": 0.198 + } + }, + "anthropic-claude-opus-4.7": { + "id": "anthropic-claude-opus-4.7", + "name": "Claude Opus 4.7", + "family": "claude-opus", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": false, + "knowledge": "2026-01-31", + "release_date": "2026-04-16", + "last_updated": "2026-04-16", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000000, + "output": 128000 + }, + "cost": { + "input": 5, + "output": 25, + "cache_read": 0.5, + "cache_write": 6.25 + } + }, + "anthropic-claude-sonnet-4": { + "id": "anthropic-claude-sonnet-4", + "name": "Claude Sonnet 4", + "family": "claude-sonnet", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-03-31", + "release_date": "2025-05-22", + "last_updated": "2025-05-22", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000000, + "output": 64000 + }, + "cost": { + "input": 3, + "output": 15, + "cache_read": 0.3, + "cache_write": 3.75, + "tiers": [ + { + "input": 6, + "output": 22.5, + "cache_read": 0.3, + "cache_write": 3.75, + "tier": { + "type": "context", + "size": 200000 + } + } + ], + "context_over_200k": { + "input": 6, + "output": 22.5, + "cache_read": 0.3, + "cache_write": 3.75 + } + } + }, + "wan2-2-t2v-a14b": { + "id": "wan2-2-t2v-a14b", + "name": "Wan2.2-T2V-A14B", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": false, + "release_date": "2025-07-28", + "last_updated": "2026-04-30", + "modalities": { + "input": ["text"], + "output": ["video"] + }, + "open_weights": true, + "limit": { + "context": 100, + "output": 1 + }, + "cost": { + "input": 0.6, + "output": 0 + } + }, + "qwen-2.5-14b-instruct": { + "id": "qwen-2.5-14b-instruct", + "name": "Qwen 2.5 14B Instruct", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-09", + "release_date": "2024-09-19", + "last_updated": "2024-09-19", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 131072 + } + }, + "openai-gpt-5.4": { + "id": "openai-gpt-5.4", + "name": "GPT-5.4", + "family": "gpt", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": false, + "knowledge": "2025-08-31", + "release_date": "2026-03-05", + "last_updated": "2026-03-05", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000000, + "output": 128000 + }, + "cost": { + "input": 2.5, + "output": 15, + "cache_read": 0.25 + } + }, + "qwen3.5-397b-a17b": { + "id": "qwen3.5-397b-a17b", + "name": "Qwen 3.5 397B A17B", + "family": "qwen3.5", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2026-02-15", + "last_updated": "2026-04-30", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 81920 + }, + "cost": { + "input": 0.55, + "output": 3.5 + } + }, + "openai-o3": { + "id": "openai-o3", + "name": "o3", + "family": "o", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": false, + "knowledge": "2024-05", + "release_date": "2025-04-16", + "last_updated": "2025-04-16", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 100000 + }, + "cost": { + "input": 2, + "output": 8, + "cache_read": 0.5 + } + }, + "e5-large-v2": { + "id": "e5-large-v2", + "name": "E5 Large v2", + "family": "text-embedding", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": false, + "release_date": "2023-05-19", + "last_updated": "2026-04-30", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 512, + "output": 1024 + }, + "cost": { + "input": 0.02, + "output": 0 + } + }, + "openai-gpt-5.2-pro": { + "id": "openai-gpt-5.2-pro", + "name": "GPT-5.2 pro", + "family": "gpt-pro", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": false, + "knowledge": "2025-08-31", + "release_date": "2025-12-11", + "last_updated": "2025-12-11", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "output": 128000 + }, + "cost": { + "input": 21, + "output": 168 + } + }, + "glm-5": { + "id": "glm-5", + "name": "GLM 5", + "family": "glm", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "release_date": "2026-02-11", + "last_updated": "2026-04-16", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 202752, + "output": 128000 + }, + "cost": { + "input": 1, + "output": 3.2 + } + }, + "openai-gpt-5.4-nano": { + "id": "openai-gpt-5.4-nano", + "name": "GPT-5.4 nano", + "family": "gpt-nano", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": false, + "knowledge": "2025-08-31", + "release_date": "2026-03-17", + "last_updated": "2026-03-17", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "output": 128000 + }, + "cost": { + "input": 0.2, + "output": 1.25, + "cache_read": 0.02 + } + }, + "mistral-7b-instruct-v0.3": { + "id": "mistral-7b-instruct-v0.3", + "name": "Mistral 7B Instruct v0.3", + "family": "mistral", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "release_date": "2024-05-22", + "last_updated": "2024-05-22", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 32768, + "output": 32768 + } + }, + "llama3.3-70b-instruct": { + "id": "llama3.3-70b-instruct", + "name": "Llama 3.3 Instruct 70B", + "family": "llama", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2023-12", + "release_date": "2024-12-06", + "last_updated": "2024-12-06", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 128000 + }, + "cost": { + "input": 0.65, + "output": 0.65 + } + }, + "mistral-3-14B": { + "id": "mistral-3-14B", + "name": "Ministral 3 14B Instruct", + "family": "ministral", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-12-15", + "last_updated": "2026-04-30", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 128000 + }, + "cost": { + "input": 0.2, + "output": 0.2 + } + }, + "deepseek-r1-distill-llama-70b": { + "id": "deepseek-r1-distill-llama-70b", + "name": "DeepSeek R1 Distill Llama 70B", + "family": "deepseek-thinking", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-01-30", + "last_updated": "2025-01-30", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 32768 + }, + "cost": { + "input": 0.99, + "output": 0.99 + } + }, + "alibaba-qwen3-32b": { + "id": "alibaba-qwen3-32b", + "name": "Qwen3-32B", + "family": "qwen", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-04-30", + "last_updated": "2026-04-16", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131000, + "output": 40960 + }, + "cost": { + "input": 0.25, + "output": 0.55 + } + }, + "anthropic-claude-opus-4.5": { + "id": "anthropic-claude-opus-4.5", + "name": "Claude Opus 4.5", + "family": "claude-opus", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-03-31", + "release_date": "2025-11-24", + "last_updated": "2025-11-24", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 64000 + }, + "cost": { + "input": 5, + "output": 25, + "cache_read": 0.5, + "cache_write": 6.25 + } + }, + "openai-o1": { + "id": "openai-o1", + "name": "o1", + "family": "o", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": false, + "knowledge": "2023-09", + "release_date": "2024-12-05", + "last_updated": "2024-12-05", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 100000 + }, + "cost": { + "input": 15, + "output": 60, + "cache_read": 7.5 + } + }, + "anthropic-claude-3-opus": { + "id": "anthropic-claude-3-opus", + "name": "Claude 3 Opus", + "family": "claude-opus", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2023-08", + "release_date": "2024-02-29", + "last_updated": "2024-02-29", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 4096 + }, + "status": "deprecated", + "cost": { + "input": 15, + "output": 75, + "cache_read": 1.5, + "cache_write": 18.75 + } + }, + "stable-diffusion-3.5-large": { + "id": "stable-diffusion-3.5-large", + "name": "Stable Diffusion 3.5 Large", + "family": "stable-diffusion", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": false, + "release_date": "2024-10-22", + "last_updated": "2026-04-30", + "modalities": { + "input": ["text"], + "output": ["image"] + }, + "open_weights": true, + "limit": { + "context": 256, + "output": 1 + }, + "cost": { + "input": 0.08, + "output": 0 + } + }, + "openai-gpt-5-nano": { + "id": "openai-gpt-5-nano", + "name": "GPT-5 nano", + "family": "gpt-nano", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": false, + "knowledge": "2024-05-30", + "release_date": "2025-08-07", + "last_updated": "2025-08-07", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "output": 128000 + }, + "cost": { + "input": 0.05, + "output": 0.4, + "cache_read": 0.005 + } + }, + "llama-4-maverick": { + "id": "llama-4-maverick", + "name": "Llama 4 Maverick 17B 128E Instruct", + "family": "llama", + "attachment": true, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2024-08", + "release_date": "2025-04-05", + "last_updated": "2026-04-30", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 1000000, + "output": 16384 + }, + "cost": { + "input": 0.25, + "output": 0.87 + } + }, + "anthropic-claude-4.5-sonnet": { + "id": "anthropic-claude-4.5-sonnet", + "name": "Claude Sonnet 4.5", + "family": "claude-sonnet", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-07-31", + "release_date": "2025-09-29", + "last_updated": "2025-09-29", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000000, + "output": 64000 + }, + "cost": { + "input": 3, + "output": 15, + "cache_read": 0.3, + "cache_write": 3.75, + "tiers": [ + { + "input": 6, + "output": 22.5, + "cache_read": 0.3, + "cache_write": 3.75, + "tier": { + "type": "context", + "size": 200000 + } + } + ], + "context_over_200k": { + "input": 6, + "output": 22.5, + "cache_read": 0.3, + "cache_write": 3.75 + } + } + }, + "qwen3-embedding-0.6b": { + "id": "qwen3-embedding-0.6b", + "name": "Qwen3 Embedding 0.6B", + "family": "text-embedding", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": false, + "release_date": "2025-06-03", + "last_updated": "2026-04-16", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 8000, + "output": 1024 + }, + "status": "beta", + "cost": { + "input": 0.04, + "output": 0 + } + }, + "anthropic-claude-4.5-haiku": { + "id": "anthropic-claude-4.5-haiku", + "name": "Claude Haiku 4.5", + "family": "claude-haiku", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-02-28", + "release_date": "2025-10-15", + "last_updated": "2025-10-15", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 64000 + }, + "cost": { + "input": 1, + "output": 5, + "cache_read": 1, + "cache_write": 1.25 + } + }, + "gte-large-en-v1.5": { + "id": "gte-large-en-v1.5", + "name": "GTE Large (v1.5)", + "family": "text-embedding", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": false, + "release_date": "2024-03-27", + "last_updated": "2026-04-16", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 8192, + "output": 1024 + }, + "cost": { + "input": 0.09, + "output": 0 + } + }, + "openai-gpt-4.1": { + "id": "openai-gpt-4.1", + "name": "GPT-4.1", + "family": "gpt", + "attachment": true, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2024-04", + "release_date": "2025-04-14", + "last_updated": "2025-04-14", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1047576, + "output": 32768 + }, + "cost": { + "input": 2, + "output": 8, + "cache_read": 0.5 + } + }, + "anthropic-claude-3.5-haiku": { + "id": "anthropic-claude-3.5-haiku", + "name": "Claude 3.5 Haiku", + "family": "claude-haiku", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-07", + "release_date": "2024-11-05", + "last_updated": "2024-11-05", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 8192 + }, + "status": "deprecated", + "cost": { + "input": 0.8, + "output": 4, + "cache_read": 0.08, + "cache_write": 1 + } + }, + "openai-gpt-5.2": { + "id": "openai-gpt-5.2", + "name": "GPT-5.2", + "family": "gpt", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": false, + "knowledge": "2025-08-31", + "release_date": "2025-12-11", + "last_updated": "2025-12-11", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "output": 128000 + }, + "cost": { + "input": 1.75, + "output": 14, + "cache_read": 0.175 + } + }, + "deepseek-3.2": { + "id": "deepseek-3.2", + "name": "DeepSeek V3.2", + "family": "deepseek", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "temperature": true, + "knowledge": "2024-12", + "release_date": "2025-12-02", + "last_updated": "2026-04-30", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 64000 + }, + "cost": { + "input": 0.5, + "output": 1.6 + } + }, + "nemotron-3-nano-30b": { + "id": "nemotron-3-nano-30b", + "name": "Nemotron 3 Nano 30B A3B", + "family": "nemotron", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2025-04-14", + "last_updated": "2025-04-14", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 262144 + } + }, + "anthropic-claude-opus-4": { + "id": "anthropic-claude-opus-4", + "name": "Claude Opus 4", + "family": "claude-opus", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-03-31", + "release_date": "2025-05-22", + "last_updated": "2025-05-22", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 32000 + }, + "cost": { + "input": 15, + "output": 75, + "cache_read": 1.5, + "cache_write": 18.75 + } + }, + "openai-gpt-oss-20b": { + "id": "openai-gpt-oss-20b", + "name": "gpt-oss-20b", + "family": "gpt-oss", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2024-06", + "release_date": "2025-08-05", + "last_updated": "2026-04-16", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 131072 + }, + "cost": { + "input": 0.05, + "output": 0.45 + } + }, + "qwen3-coder-flash": { + "id": "qwen3-coder-flash", + "name": "Qwen3 Coder Flash", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-07-28", + "last_updated": "2026-04-30", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 65536 + }, + "cost": { + "input": 0.45, + "output": 1.7 + } + }, + "openai-o3-mini": { + "id": "openai-o3-mini", + "name": "o3-mini", + "family": "o-mini", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": false, + "knowledge": "2024-05", + "release_date": "2024-12-20", + "last_updated": "2025-01-29", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 100000 + }, + "cost": { + "input": 1.1, + "output": 4.4, + "cache_read": 0.55 + } + }, + "openai-gpt-oss-120b": { + "id": "openai-gpt-oss-120b", + "name": "gpt-oss-120b", + "family": "gpt-oss", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "structured_output": true, + "temperature": true, + "knowledge": "2024-06", + "release_date": "2025-08-05", + "last_updated": "2026-04-16", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 131072 + }, + "cost": { + "input": 0.1, + "output": 0.7 + } + }, + "gemma-4-31B-it": { + "id": "gemma-4-31B-it", + "name": "Gemma 4 31B", + "family": "gemma", + "attachment": true, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2026-04-22", + "last_updated": "2026-04-30", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 256000, + "output": 8192 + }, + "cost": { + "input": 0.18, + "output": 0.5 + } + }, + "nemotron-nano-12b-v2-vl": { + "id": "nemotron-nano-12b-v2-vl", + "name": "Nemotron Nano 12B v2 VL", + "family": "nemotron", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2025-12-01", + "last_updated": "2026-04-30", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 16384 + }, + "cost": { + "input": 0.2, + "output": 0.6 + } + }, + "anthropic-claude-4.1-opus": { + "id": "anthropic-claude-4.1-opus", + "name": "Claude Opus 4.1", + "family": "claude-opus", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-03-31", + "release_date": "2025-08-05", + "last_updated": "2025-08-05", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 32000 + }, + "cost": { + "input": 15, + "output": 75, + "cache_read": 1.5, + "cache_write": 18.75 + } + }, + "kimi-k2.6": { + "id": "kimi-k2.6", + "name": "Kimi K2.6", + "family": "kimi", + "attachment": true, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "structured_output": true, + "temperature": false, + "knowledge": "2025-01", + "release_date": "2026-04-21", + "last_updated": "2026-04-21", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 262144 + }, + "cost": { + "input": 0.95, + "output": 4 + } + }, + "openai-gpt-image-2": { + "id": "openai-gpt-image-2", + "name": "GPT Image 2", + "family": "gpt-image", + "attachment": true, + "reasoning": false, + "tool_call": false, + "temperature": false, + "release_date": "2025-04-24", + "last_updated": "2025-04-24", + "modalities": { + "input": ["text", "image"], + "output": ["image"] + }, + "open_weights": false, + "limit": { + "context": 0, + "output": 0 + } + }, + "anthropic-claude-4.6-sonnet": { + "id": "anthropic-claude-4.6-sonnet", + "name": "Claude Sonnet 4.6", + "family": "claude-sonnet", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-08-31", + "release_date": "2026-02-17", + "last_updated": "2026-03-13", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000000, + "output": 64000 + }, + "cost": { + "input": 3, + "output": 15, + "cache_read": 0.3, + "cache_write": 3.75, + "tiers": [ + { + "input": 6, + "output": 22.5, + "cache_read": 0.3, + "cache_write": 3.75, + "tier": { + "type": "context", + "size": 200000 + } + } + ], + "context_over_200k": { + "input": 6, + "output": 22.5, + "cache_read": 0.3, + "cache_write": 3.75 + } + } + }, + "openai-gpt-5-mini": { + "id": "openai-gpt-5-mini", + "name": "GPT-5 mini", + "family": "gpt-mini", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": false, + "knowledge": "2024-05-30", + "release_date": "2025-08-07", + "last_updated": "2025-08-07", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "output": 128000 + }, + "cost": { + "input": 0.25, + "output": 2, + "cache_read": 0.025 + } + }, + "anthropic-claude-haiku-4.5": { + "id": "anthropic-claude-haiku-4.5", + "name": "Claude Haiku 4.5", + "family": "claude-haiku", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-02-28", + "release_date": "2025-10-15", + "last_updated": "2025-10-15", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 64000 + }, + "cost": { + "input": 1, + "output": 5, + "cache_read": 1, + "cache_write": 1.25 + } + }, + "deepseek-v4-pro": { + "id": "deepseek-v4-pro", + "name": "DeepSeek V4 Pro", + "family": "deepseek-thinking", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "structured_output": true, + "temperature": true, + "knowledge": "2025-05", + "release_date": "2026-04-24", + "last_updated": "2026-04-24", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 1048576, + "output": 393216 + }, + "cost": { + "input": 1.74, + "output": 3.48 + } + }, + "ministral-3-8b-instruct-2512": { + "id": "ministral-3-8b-instruct-2512", + "name": "Ministral 3 8B", + "family": "ministral", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "release_date": "2025-12-15", + "last_updated": "2025-12-15", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 262144 + } + }, + "minimax-m2.5": { + "id": "minimax-m2.5", + "name": "MiniMax M2.5", + "family": "minimax-m2.5", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-08", + "release_date": "2026-02-12", + "last_updated": "2026-04-16", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 204800, + "output": 128000 + }, + "status": "beta", + "cost": { + "input": 0.3, + "output": 1.2 + } + }, + "openai-gpt-image-1": { + "id": "openai-gpt-image-1", + "name": "GPT Image 1", + "family": "gpt-image", + "attachment": true, + "reasoning": false, + "tool_call": false, + "temperature": false, + "release_date": "2025-04-24", + "last_updated": "2025-04-24", + "modalities": { + "input": ["text", "image"], + "output": ["image"] + }, + "open_weights": false, + "limit": { + "context": 0, + "output": 0 + }, + "cost": { + "input": 5, + "output": 40, + "cache_read": 1.25 + } + }, + "openai-gpt-5.5": { + "id": "openai-gpt-5.5", + "name": "GPT-5.5", + "family": "gpt", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": false, + "knowledge": "2025-12-01", + "release_date": "2026-04-23", + "last_updated": "2026-04-30", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000000, + "output": 128000 + }, + "cost": { + "input": 5, + "output": 30, + "cache_read": 0.5, + "tiers": [ + { + "input": 10, + "output": 45, + "cache_read": 1, + "tier": { + "type": "context", + "size": 272000 + } + } + ], + "context_over_200k": { + "input": 10, + "output": 45, + "cache_read": 1 + } + } + }, + "nvidia-nemotron-3-super-120b": { + "id": "nvidia-nemotron-3-super-120b", + "name": "Nemotron-3-Super-120B", + "family": "nemotron", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2026-02", + "release_date": "2026-03-11", + "last_updated": "2026-04-16", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 256000, + "output": 32768 + }, + "status": "beta", + "cost": { + "input": 0.3, + "output": 0.65 + } + }, + "openai-gpt-5.4-pro": { + "id": "openai-gpt-5.4-pro", + "name": "GPT-5.4 pro", + "family": "gpt-pro", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": false, + "knowledge": "2025-08-31", + "release_date": "2026-03-05", + "last_updated": "2026-03-05", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "output": 128000 + }, + "cost": { + "input": 30, + "output": 180 + } + }, + "all-mini-lm-l6-v2": { + "id": "all-mini-lm-l6-v2", + "name": "All-MiniLM-L6-v2", + "family": "text-embedding", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": false, + "release_date": "2021-08-30", + "last_updated": "2026-04-16", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 256, + "output": 384 + }, + "cost": { + "input": 0.009, + "output": 0 + } + }, + "bge-m3": { + "id": "bge-m3", + "name": "BGE M3", + "family": "bge", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": false, + "release_date": "2024-01-30", + "last_updated": "2026-04-30", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 8192, + "output": 1024 + }, + "cost": { + "input": 0.02, + "output": 0 + } + }, + "openai-gpt-5.1-codex-max": { + "id": "openai-gpt-5.1-codex-max", + "name": "GPT-5.1 Codex Max", + "family": "gpt-codex", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": false, + "knowledge": "2024-09-30", + "release_date": "2025-11-13", + "last_updated": "2025-11-13", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "output": 128000 + }, + "cost": { + "input": 1.25, + "output": 10, + "cache_read": 0.125 + } + }, + "anthropic-claude-opus-4.6": { + "id": "anthropic-claude-opus-4.6", + "name": "Claude Opus 4.6", + "family": "claude-opus", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-05-31", + "release_date": "2026-02-05", + "last_updated": "2026-03-13", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000000, + "output": 128000 + }, + "cost": { + "input": 5, + "output": 25, + "cache_read": 0.5, + "cache_write": 6.25, + "tiers": [ + { + "input": 10, + "output": 37.5, + "cache_read": 0.5, + "cache_write": 6.25, + "tier": { + "type": "context", + "size": 200000 + } + } + ], + "context_over_200k": { + "input": 10, + "output": 37.5, + "cache_read": 0.5, + "cache_write": 6.25 + } + } + }, + "openai-gpt-4o": { + "id": "openai-gpt-4o", + "name": "GPT-4o", + "family": "gpt", + "attachment": true, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2023-09", + "release_date": "2024-05-13", + "last_updated": "2024-08-06", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 16384 + }, + "cost": { + "input": 2.5, + "output": 10, + "cache_read": 1.25 + } + }, + "openai-gpt-5.4-mini": { + "id": "openai-gpt-5.4-mini", + "name": "GPT-5.4 mini", + "family": "gpt-mini", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": false, + "knowledge": "2025-08-31", + "release_date": "2026-03-17", + "last_updated": "2026-03-17", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "output": 128000 + }, + "cost": { + "input": 0.75, + "output": 4.5, + "cache_read": 0.075 + } + }, + "openai-gpt-5": { + "id": "openai-gpt-5", + "name": "GPT-5", + "family": "gpt", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": false, + "knowledge": "2024-09-30", + "release_date": "2025-08-07", + "last_updated": "2025-08-07", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "output": 128000 + }, + "cost": { + "input": 1.25, + "output": 10, + "cache_read": 0.125 + } + }, + "arcee-trinity-large-thinking": { + "id": "arcee-trinity-large-thinking", + "name": "Trinity Large Thinking", + "family": "trinity", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2026-04-02", + "last_updated": "2026-04-16", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 256000, + "output": 128000 + }, + "status": "beta", + "cost": { + "input": 0.25, + "output": 0.9, + "cache_read": 0.06 + } + }, + "mistral-nemo-instruct-2407": { + "id": "mistral-nemo-instruct-2407", + "name": "Mistral Nemo Instruct", + "family": "mistral", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "release_date": "2024-07-18", + "last_updated": "2024-07-18", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 16384 + }, + "status": "deprecated", + "cost": { + "input": 0.3, + "output": 0.3 + } + }, + "deepseek-v3": { + "id": "deepseek-v3", + "name": "DeepSeek V3", + "family": "deepseek", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-07", + "release_date": "2024-12-26", + "last_updated": "2025-03-24", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 163840, + "output": 131072 + } + }, + "bge-reranker-v2-m3": { + "id": "bge-reranker-v2-m3", + "name": "BGE Reranker v2 M3", + "family": "bge", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": false, + "release_date": "2024-03-12", + "last_updated": "2026-04-30", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 8192, + "output": 1 + }, + "cost": { + "input": 0.01, + "output": 0 + } + }, + "anthropic-claude-3.7-sonnet": { + "id": "anthropic-claude-3.7-sonnet", + "name": "Claude 3.7 Sonnet", + "family": "claude-sonnet", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-11", + "release_date": "2025-02-24", + "last_updated": "2025-02-24", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 64000 + }, + "status": "deprecated", + "cost": { + "input": 3, + "output": 15, + "cache_read": 0.3, + "cache_write": 3.75 + } + }, + "qwen3-tts-voicedesign": { + "id": "qwen3-tts-voicedesign", + "name": "Qwen3 TTS VoiceDesign", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": false, + "release_date": "2026-04-21", + "last_updated": "2026-04-30", + "modalities": { + "input": ["text"], + "output": ["audio"] + }, + "open_weights": true, + "limit": { + "context": 32768, + "output": 1 + } + }, + "openai-gpt-image-1.5": { + "id": "openai-gpt-image-1.5", + "name": "GPT Image 1.5", + "family": "gpt-image", + "attachment": true, + "reasoning": false, + "tool_call": false, + "temperature": false, + "release_date": "2025-11-25", + "last_updated": "2025-11-25", + "modalities": { + "input": ["text", "image"], + "output": ["image"] + }, + "open_weights": false, + "limit": { + "context": 0, + "output": 0 + }, + "cost": { + "input": 5, + "output": 10, + "cache_read": 1 + } + }, + "openai-gpt-5.3-codex": { + "id": "openai-gpt-5.3-codex", + "name": "GPT-5.3 Codex", + "family": "gpt-codex", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": false, + "knowledge": "2025-08-31", + "release_date": "2026-02-05", + "last_updated": "2026-02-05", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "output": 128000 + }, + "cost": { + "input": 1.75, + "output": 14, + "cache_read": 0.175 + } + }, + "anthropic-claude-3.5-sonnet": { + "id": "anthropic-claude-3.5-sonnet", + "name": "Claude 3.5 Sonnet", + "family": "claude-sonnet", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-04", + "release_date": "2024-06-20", + "last_updated": "2024-10-22", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 8192 + }, + "status": "deprecated", + "cost": { + "input": 3, + "output": 15, + "cache_read": 0.3, + "cache_write": 3.75 + } + }, + "fal-ai/fast-sdxl": { + "id": "fal-ai/fast-sdxl", + "name": "Fast SDXL", + "family": "stable-diffusion", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": false, + "release_date": "2023-07-26", + "last_updated": "2026-04-16", + "modalities": { + "input": ["text"], + "output": ["image"] + }, + "open_weights": true, + "limit": { + "context": 0, + "output": 0 + } + }, + "fal-ai/flux/schnell": { + "id": "fal-ai/flux/schnell", + "name": "FLUX.1 [schnell]", + "family": "flux", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": false, + "release_date": "2024-08-01", + "last_updated": "2026-04-16", + "modalities": { + "input": ["text"], + "output": ["image"] + }, + "open_weights": true, + "limit": { + "context": 0, + "output": 0 + } + }, + "fal-ai/elevenlabs/tts/multilingual-v2": { + "id": "fal-ai/elevenlabs/tts/multilingual-v2", + "name": "ElevenLabs Multilingual TTS v2", + "family": "elevenlabs", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": false, + "release_date": "2023-08-22", + "last_updated": "2026-04-16", + "modalities": { + "input": ["text"], + "output": ["audio"] + }, + "open_weights": false, + "limit": { + "context": 0, + "output": 0 + } + }, + "fal-ai/stable-audio-25/text-to-audio": { + "id": "fal-ai/stable-audio-25/text-to-audio", + "name": "Stable Audio 2.5 (Text-to-Audio)", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": false, + "release_date": "2025-10-08", + "last_updated": "2026-04-16", + "modalities": { + "input": ["text"], + "output": ["audio"] + }, + "open_weights": false, + "limit": { + "context": 0, + "output": 0 + } + } + } + }, + "vultr": { + "id": "vultr", + "env": ["VULTR_API_KEY"], + "npm": "@ai-sdk/openai-compatible", + "api": "https://api.vultrinference.com/v1", + "name": "Vultr", + "doc": "https://api.vultrinference.com/", + "models": { + "MiniMax-M2.5": { + "id": "MiniMax-M2.5", + "name": "MiniMax M2.5", + "family": "minimax", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-09", + "release_date": "2025-02-11", + "last_updated": "2025-02-11", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 194000, + "output": 4096 + }, + "cost": { + "input": 0.3, + "output": 1.2 + } + }, + "GLM-5-FP8": { + "id": "GLM-5-FP8", + "name": "GLM 5 FP8", + "family": "glm", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-05", + "release_date": "2026-02-11", + "last_updated": "2026-02-11", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 200000, + "output": 131072 + }, + "cost": { + "input": 0.85, + "output": 3.1 + } + }, + "DeepSeek-V3.2": { + "id": "DeepSeek-V3.2", + "name": "DeepSeek V3.2", + "family": "deepseek", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-07", + "release_date": "2025-12-01", + "last_updated": "2025-12-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 127000, + "output": 4096 + }, + "cost": { + "input": 0.55, + "output": 1.65 + } + }, + "gpt-oss-120b": { + "id": "gpt-oss-120b", + "name": "GPT OSS 120B", + "family": "gpt-oss", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-06", + "release_date": "2025-08-05", + "last_updated": "2025-08-05", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 129000, + "output": 4096 + }, + "cost": { + "input": 0.15, + "output": 0.6 + } + }, + "Kimi-K2.5": { + "id": "Kimi-K2.5", + "name": "Kimi K2 Instruct", + "family": "kimi", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-04", + "release_date": "2026-01-27", + "last_updated": "2026-01-27", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 254000, + "output": 32768 + }, + "cost": { + "input": 0.55, + "output": 2.75 + } + } + } + }, + "alibaba-coding-plan-cn": { + "id": "alibaba-coding-plan-cn", + "env": ["ALIBABA_CODING_PLAN_API_KEY"], + "npm": "@ai-sdk/openai-compatible", + "api": "https://coding.dashscope.aliyuncs.com/v1", + "name": "Alibaba Coding Plan (China)", + "doc": "https://help.aliyun.com/zh/model-studio/coding-plan", + "models": { + "qwen3-coder-plus": { + "id": "qwen3-coder-plus", + "name": "Qwen3 Coder Plus", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-07-23", + "last_updated": "2025-07-23", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 1000000, + "output": 65536 + }, + "cost": { + "input": 0, + "output": 0, + "cache_read": 0, + "cache_write": 0 + } + }, + "kimi-k2.5": { + "id": "kimi-k2.5", + "name": "Kimi K2.5", + "family": "kimi", + "attachment": true, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2026-01-27", + "last_updated": "2026-01-27", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 32768 + }, + "cost": { + "input": 0, + "output": 0, + "cache_read": 0, + "cache_write": 0 + } + }, + "glm-4.7": { + "id": "glm-4.7", + "name": "GLM-4.7", + "family": "glm", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-12-22", + "last_updated": "2025-12-22", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 202752, + "output": 16384 + }, + "cost": { + "input": 0, + "output": 0, + "cache_read": 0, + "cache_write": 0 + } + }, + "glm-5": { + "id": "glm-5", + "name": "GLM-5", + "family": "glm", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "temperature": true, + "release_date": "2026-02-11", + "last_updated": "2026-02-11", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 202752, + "output": 16384 + }, + "cost": { + "input": 0, + "output": 0, + "cache_read": 0, + "cache_write": 0 + } + }, + "MiniMax-M2.5": { + "id": "MiniMax-M2.5", + "name": "MiniMax-M2.5", + "family": "minimax", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "temperature": true, + "release_date": "2026-02-12", + "last_updated": "2026-02-12", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 196608, + "output": 24576 + }, + "cost": { + "input": 0, + "output": 0, + "cache_read": 0, + "cache_write": 0 + } + }, + "qwen3.6-plus": { + "id": "qwen3.6-plus", + "name": "Qwen3.6 Plus", + "family": "qwen", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2026-04-02", + "last_updated": "2026-04-02", + "modalities": { + "input": ["text", "image", "video"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000000, + "output": 65536 + }, + "cost": { + "input": 0, + "output": 0, + "cache_read": 0, + "cache_write": 0 + } + }, + "qwen3-max-2026-01-23": { + "id": "qwen3-max-2026-01-23", + "name": "Qwen3 Max", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2026-01-23", + "last_updated": "2026-01-23", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 262144, + "output": 32768 + }, + "cost": { + "input": 0, + "output": 0, + "cache_read": 0, + "cache_write": 0 + } + }, + "qwen3-coder-next": { + "id": "qwen3-coder-next", + "name": "Qwen3 Coder Next", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2026-02-03", + "last_updated": "2026-02-03", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 65536 + }, + "cost": { + "input": 0, + "output": 0, + "cache_read": 0, + "cache_write": 0 + } + }, + "qwen3.5-plus": { + "id": "qwen3.5-plus", + "name": "Qwen3.5 Plus", + "family": "qwen", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2026-02-16", + "last_updated": "2026-02-16", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000000, + "output": 65536 + }, + "cost": { + "input": 0, + "output": 0, + "cache_read": 0, + "cache_write": 0 + } + } + } + }, + "mistral": { + "id": "mistral", + "env": ["MISTRAL_API_KEY"], + "npm": "@ai-sdk/mistral", + "name": "Mistral", + "doc": "https://docs.mistral.ai/getting-started/models/", + "models": { + "mistral-small-latest": { + "id": "mistral-small-latest", + "name": "Mistral Small (latest)", + "family": "mistral-small", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-06", + "release_date": "2026-03-16", + "last_updated": "2026-03-16", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 256000, + "output": 256000 + }, + "cost": { + "input": 0.15, + "output": 0.6 + } + }, + "mistral-nemo": { + "id": "mistral-nemo", + "name": "Mistral Nemo", + "family": "mistral-nemo", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-07", + "release_date": "2024-07-01", + "last_updated": "2024-07-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 128000 + }, + "cost": { + "input": 0.15, + "output": 0.15 + } + }, + "mistral-large-2512": { + "id": "mistral-large-2512", + "name": "Mistral Large 3", + "family": "mistral-large", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-11", + "release_date": "2024-11-01", + "last_updated": "2025-12-02", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 262144 + }, + "cost": { + "input": 0.5, + "output": 1.5 + } + }, + "labs-devstral-small-2512": { + "id": "labs-devstral-small-2512", + "name": "Devstral Small 2", + "family": "devstral", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-12", + "release_date": "2025-12-09", + "last_updated": "2025-12-09", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 256000, + "output": 256000 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "devstral-2512": { + "id": "devstral-2512", + "name": "Devstral 2", + "family": "devstral", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-12", + "release_date": "2025-12-09", + "last_updated": "2025-12-09", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 262144 + }, + "cost": { + "input": 0.4, + "output": 2 + } + }, + "magistral-medium-latest": { + "id": "magistral-medium-latest", + "name": "Magistral Medium (latest)", + "family": "magistral-medium", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-06", + "release_date": "2025-03-17", + "last_updated": "2025-03-20", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 16384 + }, + "cost": { + "input": 2, + "output": 5 + } + }, + "open-mixtral-8x7b": { + "id": "open-mixtral-8x7b", + "name": "Mixtral 8x7B", + "family": "mixtral", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-01", + "release_date": "2023-12-11", + "last_updated": "2023-12-11", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 32000, + "output": 32000 + }, + "cost": { + "input": 0.7, + "output": 0.7 + } + }, + "pixtral-large-latest": { + "id": "pixtral-large-latest", + "name": "Pixtral Large (latest)", + "family": "pixtral", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-11", + "release_date": "2024-11-01", + "last_updated": "2024-11-04", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 128000 + }, + "cost": { + "input": 2, + "output": 6 + } + }, + "mistral-large-2411": { + "id": "mistral-large-2411", + "name": "Mistral Large 2.1", + "family": "mistral-large", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-11", + "release_date": "2024-11-01", + "last_updated": "2024-11-04", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 16384 + }, + "cost": { + "input": 2, + "output": 6 + } + }, + "codestral-latest": { + "id": "codestral-latest", + "name": "Codestral (latest)", + "family": "codestral", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2024-05-29", + "last_updated": "2025-01-04", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 256000, + "output": 4096 + }, + "cost": { + "input": 0.3, + "output": 0.9 + } + }, + "mistral-large-latest": { + "id": "mistral-large-latest", + "name": "Mistral Large (latest)", + "family": "mistral-large", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-11", + "release_date": "2024-11-01", + "last_updated": "2025-12-02", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 262144 + }, + "cost": { + "input": 0.5, + "output": 1.5 + } + }, + "mistral-small-2506": { + "id": "mistral-small-2506", + "name": "Mistral Small 3.2", + "family": "mistral-small", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-03", + "release_date": "2025-06-20", + "last_updated": "2025-06-20", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 16384 + }, + "cost": { + "input": 0.1, + "output": 0.3 + } + }, + "pixtral-12b": { + "id": "pixtral-12b", + "name": "Pixtral 12B", + "family": "pixtral", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-09", + "release_date": "2024-09-01", + "last_updated": "2024-09-01", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 128000 + }, + "cost": { + "input": 0.15, + "output": 0.15 + } + }, + "ministral-8b-latest": { + "id": "ministral-8b-latest", + "name": "Ministral 8B (latest)", + "family": "ministral", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2024-10-01", + "last_updated": "2024-10-04", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 128000 + }, + "cost": { + "input": 0.1, + "output": 0.1 + } + }, + "mistral-embed": { + "id": "mistral-embed", + "name": "Mistral Embed", + "family": "mistral-embed", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": false, + "release_date": "2023-12-11", + "last_updated": "2023-12-11", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 8000, + "output": 3072 + }, + "cost": { + "input": 0.1, + "output": 0 + } + }, + "magistral-small": { + "id": "magistral-small", + "name": "Magistral Small", + "family": "magistral-small", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-06", + "release_date": "2025-03-17", + "last_updated": "2025-03-17", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 128000 + }, + "cost": { + "input": 0.5, + "output": 1.5 + } + }, + "mistral-small-2603": { + "id": "mistral-small-2603", + "name": "Mistral Small 4", + "family": "mistral-small", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-06", + "release_date": "2026-03-16", + "last_updated": "2026-03-16", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 256000, + "output": 256000 + }, + "cost": { + "input": 0.15, + "output": 0.6 + } + }, + "ministral-3b-latest": { + "id": "ministral-3b-latest", + "name": "Ministral 3B (latest)", + "family": "ministral", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2024-10-01", + "last_updated": "2024-10-04", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 128000 + }, + "cost": { + "input": 0.04, + "output": 0.04 + } + }, + "open-mixtral-8x22b": { + "id": "open-mixtral-8x22b", + "name": "Mixtral 8x22B", + "family": "mixtral", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-04", + "release_date": "2024-04-17", + "last_updated": "2024-04-17", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 64000, + "output": 64000 + }, + "cost": { + "input": 2, + "output": 6 + } + }, + "mistral-medium-2604": { + "id": "mistral-medium-2604", + "name": "Mistral Medium 3.5", + "family": "mistral-medium", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2026-04-29", + "last_updated": "2026-04-29", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 262144 + }, + "cost": { + "input": 1.5, + "output": 7.5 + } + }, + "devstral-small-2505": { + "id": "devstral-small-2505", + "name": "Devstral Small 2505", + "family": "devstral", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-05", + "release_date": "2025-05-07", + "last_updated": "2025-05-07", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 128000 + }, + "cost": { + "input": 0.1, + "output": 0.3 + } + }, + "devstral-medium-2507": { + "id": "devstral-medium-2507", + "name": "Devstral Medium", + "family": "devstral", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-05", + "release_date": "2025-07-10", + "last_updated": "2025-07-10", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 128000 + }, + "cost": { + "input": 0.4, + "output": 2 + } + }, + "open-mistral-7b": { + "id": "open-mistral-7b", + "name": "Mistral 7B", + "family": "mistral", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2023-12", + "release_date": "2023-09-27", + "last_updated": "2023-09-27", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 8000, + "output": 8000 + }, + "cost": { + "input": 0.25, + "output": 0.25 + } + }, + "devstral-medium-latest": { + "id": "devstral-medium-latest", + "name": "Devstral 2 (latest)", + "family": "devstral", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-12", + "release_date": "2025-12-02", + "last_updated": "2025-12-02", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 262144 + }, + "cost": { + "input": 0.4, + "output": 2 + } + }, + "mistral-medium-2505": { + "id": "mistral-medium-2505", + "name": "Mistral Medium 3", + "family": "mistral-medium", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-05", + "release_date": "2025-05-07", + "last_updated": "2025-05-07", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 131072, + "output": 131072 + }, + "cost": { + "input": 0.4, + "output": 2 + } + }, + "devstral-small-2507": { + "id": "devstral-small-2507", + "name": "Devstral Small", + "family": "devstral", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-05", + "release_date": "2025-07-10", + "last_updated": "2025-07-10", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 128000 + }, + "cost": { + "input": 0.1, + "output": 0.3 + } + }, + "mistral-medium-2508": { + "id": "mistral-medium-2508", + "name": "Mistral Medium 3.1", + "family": "mistral-medium", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-05", + "release_date": "2025-08-12", + "last_updated": "2025-08-12", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 262144, + "output": 262144 + }, + "cost": { + "input": 0.4, + "output": 2 + } + }, + "mistral-medium-latest": { + "id": "mistral-medium-latest", + "name": "Mistral Medium (latest)", + "family": "mistral-medium", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2026-04-29", + "last_updated": "2026-04-29", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 262144 + }, + "cost": { + "input": 1.5, + "output": 7.5 + } + } + } + }, + "ovhcloud": { + "id": "ovhcloud", + "env": ["OVHCLOUD_API_KEY"], + "npm": "@ai-sdk/openai-compatible", + "api": "https://oai.endpoints.kepler.ai.cloud.ovh.net/v1", + "name": "OVHcloud AI Endpoints", + "doc": "https://www.ovhcloud.com/en/public-cloud/ai-endpoints/catalog//", + "models": { + "meta-llama-3_3-70b-instruct": { + "id": "meta-llama-3_3-70b-instruct", + "name": "Meta-Llama-3_3-70B-Instruct", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-04-01", + "last_updated": "2025-04-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 131072 + }, + "cost": { + "input": 0.74, + "output": 0.74 + } + }, + "mistral-7b-instruct-v0.3": { + "id": "mistral-7b-instruct-v0.3", + "name": "Mistral-7B-Instruct-v0.3", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-04-01", + "last_updated": "2025-04-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 65536, + "output": 65536 + }, + "cost": { + "input": 0.11, + "output": 0.11 + } + }, + "qwen3-32b": { + "id": "qwen3-32b", + "name": "Qwen3-32B", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-07-16", + "last_updated": "2025-07-16", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 32768, + "output": 32768 + }, + "cost": { + "input": 0.09, + "output": 0.25 + } + }, + "qwen2.5-vl-72b-instruct": { + "id": "qwen2.5-vl-72b-instruct", + "name": "Qwen2.5-VL-72B-Instruct", + "attachment": true, + "reasoning": false, + "tool_call": false, + "structured_output": true, + "temperature": true, + "release_date": "2025-03-31", + "last_updated": "2025-03-31", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 32768, + "output": 32768 + }, + "cost": { + "input": 1.01, + "output": 1.01 + } + }, + "qwen3-coder-30b-a3b-instruct": { + "id": "qwen3-coder-30b-a3b-instruct", + "name": "Qwen3-Coder-30B-A3B-Instruct", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-10-28", + "last_updated": "2025-10-28", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 262144 + }, + "cost": { + "input": 0.07, + "output": 0.26 + } + }, + "gpt-oss-20b": { + "id": "gpt-oss-20b", + "name": "gpt-oss-20b", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "release_date": "2025-08-28", + "last_updated": "2025-08-28", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 131072 + }, + "cost": { + "input": 0.05, + "output": 0.18 + } + }, + "mistral-small-3.2-24b-instruct-2506": { + "id": "mistral-small-3.2-24b-instruct-2506", + "name": "Mistral-Small-3.2-24B-Instruct-2506", + "attachment": true, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-07-16", + "last_updated": "2025-07-16", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 131072 + }, + "cost": { + "input": 0.1, + "output": 0.31 + } + }, + "qwen3.5-9b": { + "id": "qwen3.5-9b", + "name": "Qwen3.5-9B", + "attachment": true, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2026-02-15", + "last_updated": "2026-02-15", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 262144 + }, + "cost": { + "input": 0.1, + "output": 0.15 + } + }, + "gpt-oss-120b": { + "id": "gpt-oss-120b", + "name": "gpt-oss-120b", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "release_date": "2025-08-28", + "last_updated": "2025-08-28", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 131072 + }, + "cost": { + "input": 0.09, + "output": 0.47 + } + }, + "mistral-nemo-instruct-2407": { + "id": "mistral-nemo-instruct-2407", + "name": "Mistral-Nemo-Instruct-2407", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2024-11-20", + "last_updated": "2024-11-20", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 65536, + "output": 65536 + }, + "cost": { + "input": 0.14, + "output": 0.14 + } + }, + "llama-3.1-8b-instruct": { + "id": "llama-3.1-8b-instruct", + "name": "Llama-3.1-8B-Instruct", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-06-11", + "last_updated": "2025-06-11", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 131072 + }, + "cost": { + "input": 0.11, + "output": 0.11 + } + } + } + }, + "friendli": { + "id": "friendli", + "env": ["FRIENDLI_TOKEN"], + "npm": "@ai-sdk/openai-compatible", + "api": "https://api.friendli.ai/serverless/v1", + "name": "Friendli", + "doc": "https://friendli.ai/docs/guides/serverless_endpoints/introduction", + "models": { + "Qwen/Qwen3-235B-A22B-Instruct-2507": { + "id": "Qwen/Qwen3-235B-A22B-Instruct-2507", + "name": "Qwen3 235B A22B Instruct 2507", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-07-29", + "last_updated": "2026-01-29", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 262144 + }, + "cost": { + "input": 0.2, + "output": 0.8 + } + }, + "zai-org/GLM-5.1": { + "id": "zai-org/GLM-5.1", + "name": "GLM-5.1", + "family": "glm", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "structured_output": true, + "temperature": true, + "release_date": "2026-04-07", + "last_updated": "2026-04-07", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 202752, + "output": 202752 + }, + "cost": { + "input": 1.4, + "output": 4.4, + "cache_read": 0.26 + } + }, + "zai-org/GLM-5": { + "id": "zai-org/GLM-5", + "name": "GLM-5", + "family": "glm", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "structured_output": true, + "temperature": true, + "release_date": "2026-02-12", + "last_updated": "2026-02-12", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 202752, + "output": 202752 + }, + "cost": { + "input": 1, + "output": 3.2, + "cache_read": 0.5 + } + }, + "meta-llama/Llama-3.3-70B-Instruct": { + "id": "meta-llama/Llama-3.3-70B-Instruct", + "name": "Llama 3.3 70B Instruct", + "family": "llama", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2024-08-01", + "last_updated": "2025-12-23", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 131072 + }, + "cost": { + "input": 0.6, + "output": 0.6 + } + }, + "meta-llama/Llama-3.1-8B-Instruct": { + "id": "meta-llama/Llama-3.1-8B-Instruct", + "name": "Llama 3.1 8B Instruct", + "family": "llama", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2024-08-01", + "last_updated": "2025-12-23", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 8000 + }, + "cost": { + "input": 0.1, + "output": 0.1 + } + }, + "MiniMaxAI/MiniMax-M2.5": { + "id": "MiniMaxAI/MiniMax-M2.5", + "name": "MiniMax-M2.5", + "family": "minimax", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "structured_output": true, + "temperature": true, + "release_date": "2026-02-12", + "last_updated": "2026-02-12", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 196608, + "output": 196608 + }, + "cost": { + "input": 0.3, + "output": 1.2, + "cache_read": 0.06 + } + } + } + }, + "cortecs": { + "id": "cortecs", + "env": ["CORTECS_API_KEY"], + "npm": "@ai-sdk/openai-compatible", + "api": "https://api.cortecs.ai/v1", + "name": "Cortecs", + "doc": "https://api.cortecs.ai/v1/models", + "models": { + "minimax-m2.7": { + "id": "minimax-m2.7", + "name": "MiniMax-m2.7", + "family": "minimax", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2026-03-18", + "last_updated": "2026-03-18", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 202752, + "output": 196072 + }, + "cost": { + "input": 0.47, + "output": 1.4 + } + }, + "claude-haiku-4-5": { + "id": "claude-haiku-4-5", + "name": "Claude Haiku 4.5", + "family": "claude-haiku", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-02-28", + "release_date": "2025-10-15", + "last_updated": "2025-10-15", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 200000 + }, + "cost": { + "input": 1.09, + "output": 5.43 + } + }, + "qwen3-235b-a22b-instruct-2507": { + "id": "qwen3-235b-a22b-instruct-2507", + "name": "Qwen3 235B A22B Instruct 2507", + "family": "qwen", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-07-23", + "last_updated": "2025-07-23", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131000, + "output": 131000 + }, + "cost": { + "input": 0.062, + "output": 0.408 + } + }, + "kimi-k2.5": { + "id": "kimi-k2.5", + "name": "Kimi K2.5", + "family": "kimi-thinking", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2026-01-27", + "last_updated": "2026-01-27", + "modalities": { + "input": ["text", "image", "video"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 256000, + "output": 256000 + }, + "cost": { + "input": 0.55, + "output": 2.76 + } + }, + "deepseek-v3-0324": { + "id": "deepseek-v3-0324", + "name": "DeepSeek V3 0324", + "family": "deepseek", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-07", + "release_date": "2025-03-24", + "last_updated": "2025-03-24", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 128000 + }, + "cost": { + "input": 0.551, + "output": 1.654 + } + }, + "glm-4.7": { + "id": "glm-4.7", + "name": "GLM 4.7", + "family": "glm", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-12-22", + "last_updated": "2025-12-22", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 198000, + "output": 198000 + }, + "cost": { + "input": 0.45, + "output": 2.23 + } + }, + "claude-opus4-7": { + "id": "claude-opus4-7", + "name": "Claude Opus 4.7", + "family": "claude-opus", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": false, + "knowledge": "2026-01-31", + "release_date": "2026-04-16", + "last_updated": "2026-04-16", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000000, + "output": 128000 + }, + "cost": { + "input": 5.6, + "output": 27.99, + "cache_read": 0.56, + "cache_write": 6.99 + } + }, + "glm-5": { + "id": "glm-5", + "name": "GLM 5", + "family": "glm", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "temperature": true, + "release_date": "2026-02-11", + "last_updated": "2026-02-11", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 202752, + "output": 202752 + }, + "cost": { + "input": 1.08, + "output": 3.44 + } + }, + "nova-pro-v1": { + "id": "nova-pro-v1", + "name": "Nova Pro 1.0", + "family": "nova-pro", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-04", + "release_date": "2024-12-03", + "last_updated": "2024-12-03", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 300000, + "output": 5000 + }, + "cost": { + "input": 1.016, + "output": 4.061 + } + }, + "devstral-2512": { + "id": "devstral-2512", + "name": "Devstral 2 2512", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-12", + "release_date": "2025-12-09", + "last_updated": "2025-12-09", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262000, + "output": 262000 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "qwen3-32b": { + "id": "qwen3-32b", + "name": "Qwen3 32B", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-12", + "release_date": "2025-04-29", + "last_updated": "2025-04-29", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 16384, + "output": 16384 + }, + "cost": { + "input": 0.099, + "output": 0.33 + } + }, + "codestral-2508": { + "id": "codestral-2508", + "name": "Codestral 2508", + "family": "mistral", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-03", + "release_date": "2025-07-30", + "last_updated": "2025-07-30", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 256000, + "output": 256000 + }, + "cost": { + "input": 0.3, + "output": 0.9, + "cache_read": 0.03 + } + }, + "claude-4-5-sonnet": { + "id": "claude-4-5-sonnet", + "name": "Claude 4.5 Sonnet", + "family": "claude-sonnet", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-07-31", + "release_date": "2025-09-29", + "last_updated": "2025-09-29", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 200000 + }, + "cost": { + "input": 3.259, + "output": 16.296 + } + }, + "kimi-k2-instruct": { + "id": "kimi-k2-instruct", + "name": "Kimi K2 Instruct", + "family": "kimi", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-07", + "release_date": "2025-07-11", + "last_updated": "2025-09-05", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131000, + "output": 131000 + }, + "cost": { + "input": 0.551, + "output": 2.646 + } + }, + "nemotron-3-super-120b-a12b": { + "id": "nemotron-3-super-120b-a12b", + "name": "Nemotron 3 Super 120B A12B", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-12", + "release_date": "2026-03-11", + "last_updated": "2026-03-11", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 262144 + }, + "cost": { + "input": 0.266, + "output": 0.799 + } + }, + "minimax-m2": { + "id": "minimax-m2", + "name": "MiniMax-M2", + "family": "minimax", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "temperature": true, + "knowledge": "2024-11", + "release_date": "2025-10-27", + "last_updated": "2025-10-27", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 400000, + "output": 400000 + }, + "cost": { + "input": 0.39, + "output": 1.57 + } + }, + "gemini-2.5-pro": { + "id": "gemini-2.5-pro", + "name": "Gemini 2.5 Pro", + "family": "gemini-pro", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2025-03-20", + "last_updated": "2025-06-17", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1048576, + "output": 65535 + }, + "cost": { + "input": 1.654, + "output": 11.024 + } + }, + "claude-opus4-6": { + "id": "claude-opus4-6", + "name": "Claude Opus 4.6", + "family": "claude-opus", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-05-31", + "release_date": "2026-02-05", + "last_updated": "2026-03-13", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000000, + "output": 1000000 + }, + "cost": { + "input": 5.98, + "output": 29.89 + } + }, + "devstral-small-2512": { + "id": "devstral-small-2512", + "name": "Devstral Small 2 2512", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-12", + "release_date": "2025-12-09", + "last_updated": "2025-12-09", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262000, + "output": 262000 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "minimax-m2.1": { + "id": "minimax-m2.1", + "name": "MiniMax-M2.1", + "family": "minimax", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "temperature": true, + "release_date": "2025-12-23", + "last_updated": "2025-12-23", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 196000, + "output": 196000 + }, + "cost": { + "input": 0.34, + "output": 1.34 + } + }, + "glm-5.1": { + "id": "glm-5.1", + "name": "GLM-5.1", + "family": "glm", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "structured_output": true, + "temperature": true, + "release_date": "2026-04-14", + "last_updated": "2026-04-14", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 204800, + "output": 131072 + }, + "cost": { + "input": 1.31, + "output": 4.1, + "cache_read": 0.24 + } + }, + "glm-4.5": { + "id": "glm-4.5", + "name": "GLM 4.5", + "family": "glm", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-07-29", + "last_updated": "2025-07-29", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 131072 + }, + "cost": { + "input": 0.67, + "output": 2.46 + } + }, + "claude-opus4-5": { + "id": "claude-opus4-5", + "name": "Claude Opus 4.5", + "family": "claude-opus", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-03-31", + "release_date": "2025-11-24", + "last_updated": "2025-11-24", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 200000 + }, + "cost": { + "input": 5.98, + "output": 29.89 + } + }, + "claude-sonnet-4": { + "id": "claude-sonnet-4", + "name": "Claude Sonnet 4", + "family": "claude-sonnet", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-03", + "release_date": "2025-05-22", + "last_updated": "2025-05-22", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 64000 + }, + "cost": { + "input": 3.307, + "output": 16.536 + } + }, + "qwen3-next-80b-a3b-thinking": { + "id": "qwen3-next-80b-a3b-thinking", + "name": "Qwen3 Next 80B A3B Thinking", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-09-11", + "last_updated": "2025-09-11", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 128000 + }, + "cost": { + "input": 0.164, + "output": 1.311 + } + }, + "glm-4.5-air": { + "id": "glm-4.5-air", + "name": "GLM 4.5 Air", + "family": "glm-air", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-08-01", + "last_updated": "2025-08-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 131072 + }, + "cost": { + "input": 0.22, + "output": 1.34 + } + }, + "kimi-k2.6": { + "id": "kimi-k2.6", + "name": "Kimi K2.6", + "family": "kimi-thinking", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "temperature": true, + "release_date": "2026-04-17", + "last_updated": "2026-04-17", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 256000, + "output": 256000 + }, + "cost": { + "input": 0.81, + "output": 3.54, + "cache_read": 0.2 + } + }, + "qwen3-coder-next": { + "id": "qwen3-coder-next", + "name": "Qwen3 Coder Next 80B", + "family": "qwen", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2026-02-04", + "last_updated": "2026-02-04", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 256000, + "output": 65536 + }, + "cost": { + "input": 0.158, + "output": 0.84 + } + }, + "claude-4-6-sonnet": { + "id": "claude-4-6-sonnet", + "name": "Claude Sonnet 4.6", + "family": "claude-sonnet", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-08-31", + "release_date": "2026-02-17", + "last_updated": "2026-03-13", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000000, + "output": 1000000 + }, + "cost": { + "input": 3.59, + "output": 17.92 + } + }, + "qwen3-coder-480b-a35b-instruct": { + "id": "qwen3-coder-480b-a35b-instruct", + "name": "Qwen3 Coder 480B A35B Instruct", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2025-07-25", + "last_updated": "2025-07-25", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262000, + "output": 262000 + }, + "cost": { + "input": 0.441, + "output": 1.984 + } + }, + "mixtral-8x7B-instruct-v0.1": { + "id": "mixtral-8x7B-instruct-v0.1", + "name": "Mixtral 8x7B Instruct v0.1", + "attachment": false, + "reasoning": true, + "tool_call": false, + "temperature": true, + "knowledge": "2023-09", + "release_date": "2023-12-11", + "last_updated": "2023-12-11", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 32000, + "output": 32000 + }, + "cost": { + "input": 0.438, + "output": 0.68 + } + }, + "hermes-4-70b": { + "id": "hermes-4-70b", + "name": "Hermes 4 70B", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2023-12", + "release_date": "2025-08-26", + "last_updated": "2025-08-26", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 128000 + }, + "cost": { + "input": 0.116, + "output": 0.358 + } + }, + "minimax-m2.5": { + "id": "minimax-m2.5", + "name": "MiniMax-M2.5", + "family": "minimax", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "temperature": true, + "release_date": "2026-02-12", + "last_updated": "2026-02-12", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 196608, + "output": 196608 + }, + "cost": { + "input": 0.32, + "output": 1.18 + } + }, + "deepseek-v3.2": { + "id": "deepseek-v3.2", + "name": "DeepSeek V3.2", + "family": "deepseek", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-07", + "release_date": "2025-12-01", + "last_updated": "2025-12-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 163840, + "output": 163840 + }, + "cost": { + "input": 0.266, + "output": 0.444 + } + }, + "intellect-3": { + "id": "intellect-3", + "name": "INTELLECT 3", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-11", + "release_date": "2025-11-26", + "last_updated": "2025-11-26", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 128000 + }, + "cost": { + "input": 0.219, + "output": 1.202 + } + }, + "glm-4.7-flash": { + "id": "glm-4.7-flash", + "name": "GLM-4.7-Flash", + "family": "glm", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-08-08", + "last_updated": "2025-08-08", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 203000, + "output": 203000 + }, + "cost": { + "input": 0.09, + "output": 0.53 + } + }, + "gpt-oss-120b": { + "id": "gpt-oss-120b", + "name": "GPT Oss 120b", + "family": "gpt-oss", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-01", + "release_date": "2025-08-05", + "last_updated": "2025-08-05", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 128000 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "qwen-2.5-72b-instruct": { + "id": "qwen-2.5-72b-instruct", + "name": "Qwen2.5 72B Instruct", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-06", + "release_date": "2024-09-19", + "last_updated": "2024-09-19", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 33000, + "output": 33000 + }, + "cost": { + "input": 0.062, + "output": 0.231 + } + }, + "deepseek-r1-0528": { + "id": "deepseek-r1-0528", + "name": "DeepSeek R1 0528", + "family": "deepseek-thinking", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-07", + "release_date": "2025-05-28", + "last_updated": "2025-05-28", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 164000, + "output": 164000 + }, + "cost": { + "input": 0.585, + "output": 2.307 + } + }, + "gpt-4.1": { + "id": "gpt-4.1", + "name": "GPT 4.1", + "family": "gpt", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-06", + "release_date": "2025-04-14", + "last_updated": "2025-04-14", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1047576, + "output": 32768 + }, + "cost": { + "input": 2.354, + "output": 9.417 + } + }, + "kimi-k2-thinking": { + "id": "kimi-k2-thinking", + "name": "Kimi K2 Thinking", + "attachment": true, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "temperature": true, + "knowledge": "2025-12", + "release_date": "2025-12-08", + "last_updated": "2025-12-08", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262000, + "output": 262000 + }, + "cost": { + "input": 0.656, + "output": 2.731 + } + }, + "llama-3.1-405b-instruct": { + "id": "llama-3.1-405b-instruct", + "name": "Llama 3.1 405B Instruct", + "family": "llama", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2023-12", + "release_date": "2024-07-23", + "last_updated": "2024-07-23", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 128000 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "qwen3.5-122b-a10b": { + "id": "qwen3.5-122b-a10b", + "name": "Qwen3.5 122B A10B", + "family": "qwen", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2026-01", + "release_date": "2026-02-24", + "last_updated": "2026-02-24", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 262144 + }, + "cost": { + "input": 0.444, + "output": 3.106 + } + }, + "llama-3.3-70b-instruct": { + "id": "llama-3.3-70b-instruct", + "name": "Llama 3.3 70B Instruct", + "family": "llama", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2023-12", + "release_date": "2024-12-06", + "last_updated": "2024-12-06", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131000, + "output": 131000 + }, + "cost": { + "input": 0.089, + "output": 0.275 + } + }, + "mistral-large-2512": { + "id": "mistral-large-2512", + "name": "Mistral Large 3 2512", + "family": "mistral-large", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-12", + "release_date": "2025-12-01", + "last_updated": "2025-12-01", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 256000, + "output": 256000 + }, + "cost": { + "input": 0.5, + "output": 1.5, + "cache_read": 0.05 + } + }, + "qwen3.5-397b-a17b": { + "id": "qwen3.5-397b-a17b", + "name": "Qwen3.5 397B A17B", + "family": "qwen", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2026-01", + "release_date": "2026-02-16", + "last_updated": "2026-02-16", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 250000, + "output": 250000 + }, + "cost": { + "input": 0.6, + "output": 3.6 + } + }, + "deepseek-v4-flash": { + "id": "deepseek-v4-flash", + "name": "DeepSeek V4 Flash", + "family": "deepseek-flash", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "temperature": true, + "knowledge": "2025-05", + "release_date": "2026-04-24", + "last_updated": "2026-04-24", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 1048576, + "output": 384000 + }, + "cost": { + "input": 0.133, + "output": 0.266, + "cache_read": 0.028 + } + }, + "deepseek-v4-pro": { + "id": "deepseek-v4-pro", + "name": "DeepSeek V4 Pro", + "family": "deepseek-thinking", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "temperature": true, + "knowledge": "2025-05", + "release_date": "2026-04-24", + "last_updated": "2026-04-24", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 1048576, + "output": 384000 + }, + "cost": { + "input": 1.553, + "output": 3.106, + "cache_read": 0.145 + } + }, + "qwen3-coder-30b-a3b-instruct": { + "id": "qwen3-coder-30b-a3b-instruct", + "name": "Qwen3 Coder 30B A3B Instruct", + "family": "qwen", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-07-31", + "last_updated": "2025-07-31", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262000, + "output": 262000 + }, + "cost": { + "input": 0.053, + "output": 0.222 + } + } + } + }, + "siliconflow": { + "id": "siliconflow", + "env": ["SILICONFLOW_API_KEY"], + "npm": "@ai-sdk/openai-compatible", + "api": "https://api.siliconflow.com/v1", + "name": "SiliconFlow", + "doc": "https://cloud.siliconflow.com/models", + "models": { + "nex-agi/DeepSeek-V3.1-Nex-N1": { + "id": "nex-agi/DeepSeek-V3.1-Nex-N1", + "name": "nex-agi/DeepSeek-V3.1-Nex-N1", + "family": "deepseek", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-01-01", + "last_updated": "2025-11-25", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 131000, + "output": 131000 + }, + "cost": { + "input": 0.5, + "output": 2 + } + }, + "Qwen/Qwen2.5-VL-72B-Instruct": { + "id": "Qwen/Qwen2.5-VL-72B-Instruct", + "name": "Qwen/Qwen2.5-VL-72B-Instruct", + "family": "qwen", + "attachment": true, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-01-28", + "last_updated": "2025-11-25", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 131000, + "output": 4000 + }, + "cost": { + "input": 0.59, + "output": 0.59 + } + }, + "Qwen/Qwen3-VL-32B-Thinking": { + "id": "Qwen/Qwen3-VL-32B-Thinking", + "name": "Qwen/Qwen3-VL-32B-Thinking", + "family": "qwen", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-10-21", + "last_updated": "2025-11-25", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 262000, + "output": 262000 + }, + "cost": { + "input": 0.2, + "output": 1.5 + } + }, + "Qwen/Qwen3-30B-A3B-Thinking-2507": { + "id": "Qwen/Qwen3-30B-A3B-Thinking-2507", + "name": "Qwen/Qwen3-30B-A3B-Thinking-2507", + "family": "qwen", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-07-31", + "last_updated": "2025-11-25", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 262000, + "output": 131000 + }, + "cost": { + "input": 0.09, + "output": 0.3 + } + }, + "Qwen/Qwen3-VL-235B-A22B-Thinking": { + "id": "Qwen/Qwen3-VL-235B-A22B-Thinking", + "name": "Qwen/Qwen3-VL-235B-A22B-Thinking", + "family": "qwen", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-10-04", + "last_updated": "2025-11-25", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 262000, + "output": 262000 + }, + "cost": { + "input": 0.45, + "output": 3.5 + } + }, + "Qwen/Qwen2.5-7B-Instruct": { + "id": "Qwen/Qwen2.5-7B-Instruct", + "name": "Qwen/Qwen2.5-7B-Instruct", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2024-09-18", + "last_updated": "2025-11-25", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 33000, + "output": 4000 + }, + "cost": { + "input": 0.05, + "output": 0.05 + } + }, + "Qwen/Qwen2.5-Coder-32B-Instruct": { + "id": "Qwen/Qwen2.5-Coder-32B-Instruct", + "name": "Qwen/Qwen2.5-Coder-32B-Instruct", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2024-11-11", + "last_updated": "2025-11-25", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 33000, + "output": 4000 + }, + "cost": { + "input": 0.18, + "output": 0.18 + } + }, + "Qwen/Qwen3-VL-30B-A3B-Instruct": { + "id": "Qwen/Qwen3-VL-30B-A3B-Instruct", + "name": "Qwen/Qwen3-VL-30B-A3B-Instruct", + "family": "qwen", + "attachment": true, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-10-05", + "last_updated": "2025-11-25", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 262000, + "output": 262000 + }, + "cost": { + "input": 0.29, + "output": 1 + } + }, + "Qwen/QwQ-32B": { + "id": "Qwen/QwQ-32B", + "name": "Qwen/QwQ-32B", + "family": "qwen", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-03-06", + "last_updated": "2025-11-25", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 131000, + "output": 131000 + }, + "cost": { + "input": 0.15, + "output": 0.58 + } + }, + "Qwen/Qwen3-235B-A22B": { + "id": "Qwen/Qwen3-235B-A22B", + "name": "Qwen/Qwen3-235B-A22B", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-04-30", + "last_updated": "2025-11-25", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 131000, + "output": 131000 + }, + "cost": { + "input": 0.35, + "output": 1.42 + } + }, + "Qwen/Qwen3-Omni-30B-A3B-Captioner": { + "id": "Qwen/Qwen3-Omni-30B-A3B-Captioner", + "name": "Qwen/Qwen3-Omni-30B-A3B-Captioner", + "family": "qwen", + "attachment": true, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-10-04", + "last_updated": "2025-11-25", + "modalities": { + "input": ["audio"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 66000, + "output": 66000 + }, + "cost": { + "input": 0.1, + "output": 0.4 + } + }, + "Qwen/Qwen3-VL-8B-Thinking": { + "id": "Qwen/Qwen3-VL-8B-Thinking", + "name": "Qwen/Qwen3-VL-8B-Thinking", + "family": "qwen", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-10-15", + "last_updated": "2025-11-25", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 262000, + "output": 262000 + }, + "cost": { + "input": 0.18, + "output": 2 + } + }, + "Qwen/Qwen2.5-VL-7B-Instruct": { + "id": "Qwen/Qwen2.5-VL-7B-Instruct", + "name": "Qwen/Qwen2.5-VL-7B-Instruct", + "family": "qwen", + "attachment": true, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-01-28", + "last_updated": "2025-11-25", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 33000, + "output": 4000 + }, + "cost": { + "input": 0.05, + "output": 0.05 + } + }, + "Qwen/Qwen3-Next-80B-A3B-Instruct": { + "id": "Qwen/Qwen3-Next-80B-A3B-Instruct", + "name": "Qwen/Qwen3-Next-80B-A3B-Instruct", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-09-18", + "last_updated": "2025-11-25", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 262000, + "output": 262000 + }, + "cost": { + "input": 0.14, + "output": 1.4 + } + }, + "Qwen/Qwen3-8B": { + "id": "Qwen/Qwen3-8B", + "name": "Qwen/Qwen3-8B", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-04-30", + "last_updated": "2025-11-25", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 131000, + "output": 131000 + }, + "cost": { + "input": 0.06, + "output": 0.06 + } + }, + "Qwen/Qwen3-30B-A3B-Instruct-2507": { + "id": "Qwen/Qwen3-30B-A3B-Instruct-2507", + "name": "Qwen/Qwen3-30B-A3B-Instruct-2507", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-07-30", + "last_updated": "2025-11-25", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 262000, + "output": 262000 + }, + "cost": { + "input": 0.09, + "output": 0.3 + } + }, + "Qwen/Qwen3-235B-A22B-Instruct-2507": { + "id": "Qwen/Qwen3-235B-A22B-Instruct-2507", + "name": "Qwen/Qwen3-235B-A22B-Instruct-2507", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-07-23", + "last_updated": "2025-11-25", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 262000, + "output": 262000 + }, + "cost": { + "input": 0.09, + "output": 0.6 + } + }, + "Qwen/Qwen3-32B": { + "id": "Qwen/Qwen3-32B", + "name": "Qwen/Qwen3-32B", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-04-30", + "last_updated": "2025-11-25", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 131000, + "output": 131000 + }, + "cost": { + "input": 0.14, + "output": 0.57 + } + }, + "Qwen/Qwen3-Coder-30B-A3B-Instruct": { + "id": "Qwen/Qwen3-Coder-30B-A3B-Instruct", + "name": "Qwen/Qwen3-Coder-30B-A3B-Instruct", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-08-01", + "last_updated": "2025-11-25", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 262000, + "output": 262000 + }, + "cost": { + "input": 0.07, + "output": 0.28 + } + }, + "Qwen/Qwen3-Omni-30B-A3B-Instruct": { + "id": "Qwen/Qwen3-Omni-30B-A3B-Instruct", + "name": "Qwen/Qwen3-Omni-30B-A3B-Instruct", + "family": "qwen", + "attachment": true, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-10-04", + "last_updated": "2025-11-25", + "modalities": { + "input": ["text", "image", "audio"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 66000, + "output": 66000 + }, + "cost": { + "input": 0.1, + "output": 0.4 + } + }, + "Qwen/Qwen3-14B": { + "id": "Qwen/Qwen3-14B", + "name": "Qwen/Qwen3-14B", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-04-30", + "last_updated": "2025-11-25", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 131000, + "output": 131000 + }, + "cost": { + "input": 0.07, + "output": 0.28 + } + }, + "Qwen/Qwen2.5-72B-Instruct-128K": { + "id": "Qwen/Qwen2.5-72B-Instruct-128K", + "name": "Qwen/Qwen2.5-72B-Instruct-128K", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2024-09-18", + "last_updated": "2025-11-25", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 131000, + "output": 4000 + }, + "cost": { + "input": 0.59, + "output": 0.59 + } + }, + "Qwen/Qwen2.5-32B-Instruct": { + "id": "Qwen/Qwen2.5-32B-Instruct", + "name": "Qwen/Qwen2.5-32B-Instruct", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2024-09-19", + "last_updated": "2025-11-25", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 33000, + "output": 4000 + }, + "cost": { + "input": 0.18, + "output": 0.18 + } + }, + "Qwen/Qwen3-235B-A22B-Thinking-2507": { + "id": "Qwen/Qwen3-235B-A22B-Thinking-2507", + "name": "Qwen/Qwen3-235B-A22B-Thinking-2507", + "family": "qwen", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-07-28", + "last_updated": "2025-11-25", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 262000, + "output": 262000 + }, + "cost": { + "input": 0.13, + "output": 0.6 + } + }, + "Qwen/Qwen3-Omni-30B-A3B-Thinking": { + "id": "Qwen/Qwen3-Omni-30B-A3B-Thinking", + "name": "Qwen/Qwen3-Omni-30B-A3B-Thinking", + "family": "qwen", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-10-04", + "last_updated": "2025-11-25", + "modalities": { + "input": ["text", "image", "audio"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 66000, + "output": 66000 + }, + "cost": { + "input": 0.1, + "output": 0.4 + } + }, + "Qwen/Qwen2.5-VL-32B-Instruct": { + "id": "Qwen/Qwen2.5-VL-32B-Instruct", + "name": "Qwen/Qwen2.5-VL-32B-Instruct", + "family": "qwen", + "attachment": true, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-03-24", + "last_updated": "2025-11-25", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 131000, + "output": 131000 + }, + "cost": { + "input": 0.27, + "output": 0.27 + } + }, + "Qwen/Qwen3-Next-80B-A3B-Thinking": { + "id": "Qwen/Qwen3-Next-80B-A3B-Thinking", + "name": "Qwen/Qwen3-Next-80B-A3B-Thinking", + "family": "qwen", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-09-25", + "last_updated": "2025-11-25", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 262000, + "output": 262000 + }, + "cost": { + "input": 0.14, + "output": 0.57 + } + }, + "Qwen/Qwen3-VL-235B-A22B-Instruct": { + "id": "Qwen/Qwen3-VL-235B-A22B-Instruct", + "name": "Qwen/Qwen3-VL-235B-A22B-Instruct", + "family": "qwen", + "attachment": true, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-10-04", + "last_updated": "2025-11-25", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 262000, + "output": 262000 + }, + "cost": { + "input": 0.3, + "output": 1.5 + } + }, + "Qwen/Qwen2.5-14B-Instruct": { + "id": "Qwen/Qwen2.5-14B-Instruct", + "name": "Qwen/Qwen2.5-14B-Instruct", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2024-09-18", + "last_updated": "2025-11-25", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 33000, + "output": 4000 + }, + "cost": { + "input": 0.1, + "output": 0.1 + } + }, + "Qwen/Qwen3-VL-30B-A3B-Thinking": { + "id": "Qwen/Qwen3-VL-30B-A3B-Thinking", + "name": "Qwen/Qwen3-VL-30B-A3B-Thinking", + "family": "qwen", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-10-11", + "last_updated": "2025-11-25", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 262000, + "output": 262000 + }, + "cost": { + "input": 0.29, + "output": 1 + } + }, + "Qwen/Qwen3-VL-32B-Instruct": { + "id": "Qwen/Qwen3-VL-32B-Instruct", + "name": "Qwen/Qwen3-VL-32B-Instruct", + "family": "qwen", + "attachment": true, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-10-21", + "last_updated": "2025-11-25", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 262000, + "output": 262000 + }, + "cost": { + "input": 0.2, + "output": 0.6 + } + }, + "Qwen/Qwen3-VL-8B-Instruct": { + "id": "Qwen/Qwen3-VL-8B-Instruct", + "name": "Qwen/Qwen3-VL-8B-Instruct", + "family": "qwen", + "attachment": true, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-10-15", + "last_updated": "2025-11-25", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 262000, + "output": 262000 + }, + "cost": { + "input": 0.18, + "output": 0.68 + } + }, + "Qwen/Qwen3-Coder-480B-A35B-Instruct": { + "id": "Qwen/Qwen3-Coder-480B-A35B-Instruct", + "name": "Qwen/Qwen3-Coder-480B-A35B-Instruct", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-07-31", + "last_updated": "2025-11-25", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 262000, + "output": 262000 + }, + "cost": { + "input": 0.25, + "output": 1 + } + }, + "Qwen/Qwen2.5-72B-Instruct": { + "id": "Qwen/Qwen2.5-72B-Instruct", + "name": "Qwen/Qwen2.5-72B-Instruct", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2024-09-18", + "last_updated": "2025-11-25", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 33000, + "output": 4000 + }, + "cost": { + "input": 0.59, + "output": 0.59 + } + }, + "stepfun-ai/Step-3.5-Flash": { + "id": "stepfun-ai/Step-3.5-Flash", + "name": "stepfun-ai/Step-3.5-Flash", + "family": "step", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2026-02-11", + "last_updated": "2026-02-11", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 262000, + "output": 262000 + }, + "cost": { + "input": 0.1, + "output": 0.3 + } + }, + "zai-org/GLM-4.5": { + "id": "zai-org/GLM-4.5", + "name": "zai-org/GLM-4.5", + "family": "glm", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-07-28", + "last_updated": "2025-11-25", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 131000, + "output": 131000 + }, + "cost": { + "input": 0.4, + "output": 2 + } + }, + "zai-org/GLM-5V-Turbo": { + "id": "zai-org/GLM-5V-Turbo", + "name": "zai-org/GLM-5V-Turbo", + "family": "glm", + "attachment": true, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "temperature": true, + "release_date": "2026-04-01", + "last_updated": "2026-04-01", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 131072 + }, + "cost": { + "input": 1.2, + "output": 4, + "cache_write": 0 + } + }, + "zai-org/GLM-4.7": { + "id": "zai-org/GLM-4.7", + "name": "zai-org/GLM-4.7", + "family": "glm", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "structured_output": true, + "temperature": true, + "release_date": "2025-12-22", + "last_updated": "2025-12-22", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 205000, + "output": 205000 + }, + "cost": { + "input": 0.6, + "output": 2.2 + } + }, + "zai-org/GLM-5.1": { + "id": "zai-org/GLM-5.1", + "name": "zai-org/GLM-5.1", + "family": "glm", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "structured_output": true, + "temperature": true, + "release_date": "2026-04-08", + "last_updated": "2026-04-08", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 205000, + "output": 205000 + }, + "cost": { + "input": 1.4, + "output": 4.4, + "cache_write": 0 + } + }, + "zai-org/GLM-4.5-Air": { + "id": "zai-org/GLM-4.5-Air", + "name": "zai-org/GLM-4.5-Air", + "family": "glm-air", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-07-28", + "last_updated": "2025-11-25", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 131000, + "output": 131000 + }, + "cost": { + "input": 0.14, + "output": 0.86 + } + }, + "zai-org/GLM-5": { + "id": "zai-org/GLM-5", + "name": "zai-org/GLM-5", + "family": "glm", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "structured_output": true, + "temperature": true, + "release_date": "2026-02-12", + "last_updated": "2026-02-12", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 205000, + "output": 205000 + }, + "cost": { + "input": 1, + "output": 3.2 + } + }, + "zai-org/GLM-4.6V": { + "id": "zai-org/GLM-4.6V", + "name": "zai-org/GLM-4.6V", + "family": "glm", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": false, + "temperature": true, + "release_date": "2025-12-07", + "last_updated": "2025-12-07", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 131000, + "output": 131000 + }, + "cost": { + "input": 0.3, + "output": 0.9 + } + }, + "zai-org/GLM-4.6": { + "id": "zai-org/GLM-4.6", + "name": "zai-org/GLM-4.6", + "family": "glm", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-10-04", + "last_updated": "2025-11-25", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 205000, + "output": 205000 + }, + "cost": { + "input": 0.5, + "output": 1.9 + } + }, + "zai-org/GLM-4.5V": { + "id": "zai-org/GLM-4.5V", + "name": "zai-org/GLM-4.5V", + "family": "glm", + "attachment": true, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-08-13", + "last_updated": "2025-11-25", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 66000, + "output": 66000 + }, + "cost": { + "input": 0.14, + "output": 0.86 + } + }, + "meta-llama/Meta-Llama-3.1-8B-Instruct": { + "id": "meta-llama/Meta-Llama-3.1-8B-Instruct", + "name": "meta-llama/Meta-Llama-3.1-8B-Instruct", + "family": "llama", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-04-23", + "last_updated": "2025-11-25", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 33000, + "output": 4000 + }, + "cost": { + "input": 0.06, + "output": 0.06 + } + }, + "inclusionAI/Ring-flash-2.0": { + "id": "inclusionAI/Ring-flash-2.0", + "name": "inclusionAI/Ring-flash-2.0", + "family": "ring", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-09-29", + "last_updated": "2025-11-25", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 131000, + "output": 131000 + }, + "cost": { + "input": 0.14, + "output": 0.57 + } + }, + "inclusionAI/Ling-mini-2.0": { + "id": "inclusionAI/Ling-mini-2.0", + "name": "inclusionAI/Ling-mini-2.0", + "family": "ling", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-09-10", + "last_updated": "2025-11-25", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 131000, + "output": 131000 + }, + "cost": { + "input": 0.07, + "output": 0.28 + } + }, + "inclusionAI/Ling-flash-2.0": { + "id": "inclusionAI/Ling-flash-2.0", + "name": "inclusionAI/Ling-flash-2.0", + "family": "ling", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-09-18", + "last_updated": "2025-11-25", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 131000, + "output": 131000 + }, + "cost": { + "input": 0.14, + "output": 0.57 + } + }, + "tencent/Hunyuan-A13B-Instruct": { + "id": "tencent/Hunyuan-A13B-Instruct", + "name": "tencent/Hunyuan-A13B-Instruct", + "family": "hunyuan", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-06-30", + "last_updated": "2025-11-25", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 131000, + "output": 131000 + }, + "cost": { + "input": 0.14, + "output": 0.57 + } + }, + "tencent/Hunyuan-MT-7B": { + "id": "tencent/Hunyuan-MT-7B", + "name": "tencent/Hunyuan-MT-7B", + "family": "hunyuan", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-09-18", + "last_updated": "2025-11-25", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 33000, + "output": 33000 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "deepseek-ai/DeepSeek-V3.1": { + "id": "deepseek-ai/DeepSeek-V3.1", + "name": "deepseek-ai/DeepSeek-V3.1", + "family": "deepseek", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-08-25", + "last_updated": "2025-11-25", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 164000, + "output": 164000 + }, + "cost": { + "input": 0.27, + "output": 1 + } + }, + "deepseek-ai/deepseek-vl2": { + "id": "deepseek-ai/deepseek-vl2", + "name": "deepseek-ai/deepseek-vl2", + "family": "deepseek", + "attachment": true, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2024-12-13", + "last_updated": "2025-11-25", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 4000, + "output": 4000 + }, + "cost": { + "input": 0.15, + "output": 0.15 + } + }, + "deepseek-ai/DeepSeek-V3": { + "id": "deepseek-ai/DeepSeek-V3", + "name": "deepseek-ai/DeepSeek-V3", + "family": "deepseek", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2024-12-26", + "last_updated": "2025-11-25", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 164000, + "output": 164000 + }, + "cost": { + "input": 0.25, + "output": 1 + } + }, + "deepseek-ai/DeepSeek-R1-Distill-Qwen-32B": { + "id": "deepseek-ai/DeepSeek-R1-Distill-Qwen-32B", + "name": "deepseek-ai/DeepSeek-R1-Distill-Qwen-32B", + "family": "qwen", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-01-20", + "last_updated": "2025-11-25", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 131000, + "output": 131000 + }, + "cost": { + "input": 0.18, + "output": 0.18 + } + }, + "deepseek-ai/DeepSeek-R1": { + "id": "deepseek-ai/DeepSeek-R1", + "name": "deepseek-ai/DeepSeek-R1", + "family": "deepseek-thinking", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-05-28", + "last_updated": "2025-11-25", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 164000, + "output": 164000 + }, + "cost": { + "input": 0.5, + "output": 2.18 + } + }, + "deepseek-ai/DeepSeek-R1-Distill-Qwen-14B": { + "id": "deepseek-ai/DeepSeek-R1-Distill-Qwen-14B", + "name": "deepseek-ai/DeepSeek-R1-Distill-Qwen-14B", + "family": "qwen", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-01-20", + "last_updated": "2025-11-25", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 131000, + "output": 131000 + }, + "cost": { + "input": 0.1, + "output": 0.1 + } + }, + "deepseek-ai/DeepSeek-V3.2-Exp": { + "id": "deepseek-ai/DeepSeek-V3.2-Exp", + "name": "deepseek-ai/DeepSeek-V3.2-Exp", + "family": "deepseek", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-10-10", + "last_updated": "2025-11-25", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 164000, + "output": 164000 + }, + "cost": { + "input": 0.27, + "output": 0.41 + } + }, + "deepseek-ai/DeepSeek-V3.2": { + "id": "deepseek-ai/DeepSeek-V3.2", + "name": "deepseek-ai/DeepSeek-V3.2", + "family": "deepseek", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-12-03", + "last_updated": "2025-12-03", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 164000, + "output": 164000 + }, + "cost": { + "input": 0.27, + "output": 0.42 + } + }, + "deepseek-ai/DeepSeek-V3.1-Terminus": { + "id": "deepseek-ai/DeepSeek-V3.1-Terminus", + "name": "deepseek-ai/DeepSeek-V3.1-Terminus", + "family": "deepseek", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-09-29", + "last_updated": "2025-11-25", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 164000, + "output": 164000 + }, + "cost": { + "input": 0.27, + "output": 1 + } + }, + "openai/gpt-oss-20b": { + "id": "openai/gpt-oss-20b", + "name": "openai/gpt-oss-20b", + "family": "gpt-oss", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-08-13", + "last_updated": "2025-11-25", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 131000, + "output": 8000 + }, + "cost": { + "input": 0.04, + "output": 0.18 + } + }, + "openai/gpt-oss-120b": { + "id": "openai/gpt-oss-120b", + "name": "openai/gpt-oss-120b", + "family": "gpt-oss", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-08-13", + "last_updated": "2025-11-25", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 131000, + "output": 8000 + }, + "cost": { + "input": 0.05, + "output": 0.45 + } + }, + "baidu/ERNIE-4.5-300B-A47B": { + "id": "baidu/ERNIE-4.5-300B-A47B", + "name": "baidu/ERNIE-4.5-300B-A47B", + "family": "ernie", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-07-02", + "last_updated": "2025-11-25", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 131000, + "output": 131000 + }, + "cost": { + "input": 0.28, + "output": 1.1 + } + }, + "THUDM/GLM-Z1-9B-0414": { + "id": "THUDM/GLM-Z1-9B-0414", + "name": "THUDM/GLM-Z1-9B-0414", + "family": "glm-z", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-04-18", + "last_updated": "2025-11-25", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 131000, + "output": 131000 + }, + "cost": { + "input": 0.086, + "output": 0.086 + } + }, + "THUDM/GLM-4-9B-0414": { + "id": "THUDM/GLM-4-9B-0414", + "name": "THUDM/GLM-4-9B-0414", + "family": "glm", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-04-18", + "last_updated": "2025-11-25", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 33000, + "output": 33000 + }, + "cost": { + "input": 0.086, + "output": 0.086 + } + }, + "THUDM/GLM-4-32B-0414": { + "id": "THUDM/GLM-4-32B-0414", + "name": "THUDM/GLM-4-32B-0414", + "family": "glm", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-04-18", + "last_updated": "2025-11-25", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 33000, + "output": 33000 + }, + "cost": { + "input": 0.27, + "output": 0.27 + } + }, + "THUDM/GLM-Z1-32B-0414": { + "id": "THUDM/GLM-Z1-32B-0414", + "name": "THUDM/GLM-Z1-32B-0414", + "family": "glm-z", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-04-18", + "last_updated": "2025-11-25", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 131000, + "output": 131000 + }, + "cost": { + "input": 0.14, + "output": 0.57 + } + }, + "moonshotai/Kimi-K2-Thinking": { + "id": "moonshotai/Kimi-K2-Thinking", + "name": "moonshotai/Kimi-K2-Thinking", + "family": "kimi-thinking", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-11-07", + "last_updated": "2025-11-25", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 262000, + "output": 262000 + }, + "cost": { + "input": 0.55, + "output": 2.5 + } + }, + "moonshotai/Kimi-K2.6": { + "id": "moonshotai/Kimi-K2.6", + "name": "moonshotai/Kimi-K2.6", + "family": "kimi", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "structured_output": true, + "temperature": true, + "release_date": "2026-04-21", + "last_updated": "2026-04-21", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262000, + "output": 262000 + }, + "cost": { + "input": 0.95, + "output": 4, + "cache_read": 0.16 + } + }, + "moonshotai/Kimi-K2-Instruct": { + "id": "moonshotai/Kimi-K2-Instruct", + "name": "moonshotai/Kimi-K2-Instruct", + "family": "kimi", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-07-13", + "last_updated": "2025-11-25", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 131000, + "output": 131000 + }, + "cost": { + "input": 0.58, + "output": 2.29 + } + }, + "moonshotai/Kimi-K2-Instruct-0905": { + "id": "moonshotai/Kimi-K2-Instruct-0905", + "name": "moonshotai/Kimi-K2-Instruct-0905", + "family": "kimi", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-09-08", + "last_updated": "2025-11-25", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 262000, + "output": 262000 + }, + "cost": { + "input": 0.4, + "output": 2 + } + }, + "moonshotai/Kimi-K2.5": { + "id": "moonshotai/Kimi-K2.5", + "name": "moonshotai/Kimi-K2.5", + "family": "kimi", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "structured_output": true, + "temperature": true, + "release_date": "2026-01-27", + "last_updated": "2026-01-27", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262000, + "output": 262000 + }, + "cost": { + "input": 0.45, + "output": 2.25 + } + }, + "MiniMaxAI/MiniMax-M2.5": { + "id": "MiniMaxAI/MiniMax-M2.5", + "name": "MiniMaxAI/MiniMax-M2.5", + "family": "minimax", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": false, + "temperature": true, + "release_date": "2026-02-15", + "last_updated": "2026-02-15", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 197000, + "output": 131000 + }, + "cost": { + "input": 0.3, + "output": 1.2 + } + }, + "MiniMaxAI/MiniMax-M2.1": { + "id": "MiniMaxAI/MiniMax-M2.1", + "name": "MiniMaxAI/MiniMax-M2.1", + "family": "minimax", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-12-23", + "last_updated": "2025-12-23", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 197000, + "output": 131000 + }, + "cost": { + "input": 0.3, + "output": 1.2 + } + }, + "ByteDance-Seed/Seed-OSS-36B-Instruct": { + "id": "ByteDance-Seed/Seed-OSS-36B-Instruct", + "name": "ByteDance-Seed/Seed-OSS-36B-Instruct", + "family": "seed", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-09-04", + "last_updated": "2025-11-25", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 262000, + "output": 262000 + }, + "cost": { + "input": 0.21, + "output": 0.57 + } + } + } + }, + "vercel": { + "id": "vercel", + "env": ["AI_GATEWAY_API_KEY"], + "npm": "@ai-sdk/gateway", + "name": "Vercel AI Gateway", + "doc": "https://github.com/vercel/ai/tree/5eb85cc45a259553501f535b8ac79a77d0e79223/packages/gateway", + "models": { + "alibaba/qwen3-coder-plus": { + "id": "alibaba/qwen3-coder-plus", + "name": "Qwen3 Coder Plus", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-07-23", + "last_updated": "2025-07-23", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 1000000, + "output": 1000000 + }, + "cost": { + "input": 1, + "output": 5 + } + }, + "alibaba/qwen3.6-27b": { + "id": "alibaba/qwen3.6-27b", + "name": "Qwen 3.6 27B", + "family": "qwen3.6", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2026-04-22", + "last_updated": "2026-05-01", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 256000, + "output": 256000 + }, + "cost": { + "input": 0.6, + "output": 3.5999999999999996 + } + }, + "alibaba/qwen3-embedding-8b": { + "id": "alibaba/qwen3-embedding-8b", + "name": "Qwen3 Embedding 8B", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": false, + "release_date": "2025-06-05", + "last_updated": "2025-06-05", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 32768, + "output": 32768 + }, + "cost": { + "input": 0.05, + "output": 0 + } + }, + "alibaba/qwen-3-30b": { + "id": "alibaba/qwen-3-30b", + "name": "Qwen3-30B-A3B", + "family": "qwen", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-04", + "last_updated": "2025-04", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 40960, + "output": 16384 + }, + "cost": { + "input": 0.08, + "output": 0.29 + } + }, + "alibaba/qwen-3-235b": { + "id": "alibaba/qwen-3-235b", + "name": "Qwen3 235B A22B Instruct 2507", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-04", + "last_updated": "2025-04", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 40960, + "output": 16384 + }, + "cost": { + "input": 0.13, + "output": 0.6 + } + }, + "alibaba/qwen3.5-flash": { + "id": "alibaba/qwen3.5-flash", + "name": "Qwen 3.5 Flash", + "family": "qwen", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2026-02-24", + "last_updated": "2026-02-24", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000000, + "output": 64000 + }, + "cost": { + "input": 0.1, + "output": 0.4, + "cache_read": 0.001, + "cache_write": 0.125 + } + }, + "alibaba/qwen3.6-plus": { + "id": "alibaba/qwen3.6-plus", + "name": "Qwen 3.6 Plus", + "family": "qwen", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2026-04-02", + "last_updated": "2026-04-03", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000000, + "output": 64000 + }, + "cost": { + "input": 0.5, + "output": 3, + "cache_read": 0.09999999999999999, + "cache_write": 0.625 + } + }, + "alibaba/qwen3-max": { + "id": "alibaba/qwen3-max", + "name": "Qwen3 Max", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-09-23", + "last_updated": "2025-09-23", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 262144, + "output": 32768 + }, + "cost": { + "input": 1.2, + "output": 6 + } + }, + "alibaba/qwen3-embedding-0.6b": { + "id": "alibaba/qwen3-embedding-0.6b", + "name": "Qwen3 Embedding 0.6B", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": false, + "release_date": "2025-11-14", + "last_updated": "2025-11-14", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 32768, + "output": 32768 + }, + "cost": { + "input": 0.01, + "output": 0 + } + }, + "alibaba/qwen-3-32b": { + "id": "alibaba/qwen-3-32b", + "name": "Qwen 3.32B", + "family": "qwen", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-04", + "last_updated": "2025-04", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 40960, + "output": 16384 + }, + "cost": { + "input": 0.1, + "output": 0.3 + } + }, + "alibaba/qwen-3.6-max-preview": { + "id": "alibaba/qwen-3.6-max-preview", + "name": "Qwen 3.6 Max Preview", + "family": "qwen", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2026-04-20", + "last_updated": "2026-04-24", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 240000, + "output": 64000 + }, + "cost": { + "input": 1.3, + "output": 7.8, + "cache_read": 0.26, + "cache_write": 1.625 + } + }, + "alibaba/qwen3-next-80b-a3b-thinking": { + "id": "alibaba/qwen3-next-80b-a3b-thinking", + "name": "Qwen3 Next 80B A3B Thinking", + "family": "qwen", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-09", + "release_date": "2025-09-12", + "last_updated": "2025-09-12", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 65536 + }, + "cost": { + "input": 0.15, + "output": 1.5 + } + }, + "alibaba/qwen3-vl-thinking": { + "id": "alibaba/qwen3-vl-thinking", + "name": "Qwen3 VL Thinking", + "family": "qwen", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-09", + "release_date": "2025-09-24", + "last_updated": "2025-09-24", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 129024 + }, + "cost": { + "input": 0.7, + "output": 8.4 + } + }, + "alibaba/qwen3-235b-a22b-thinking": { + "id": "alibaba/qwen3-235b-a22b-thinking", + "name": "Qwen3 235B A22B Thinking 2507", + "family": "qwen", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-04", + "last_updated": "2025-04", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 262114, + "output": 262114 + }, + "cost": { + "input": 0.3, + "output": 2.9 + } + }, + "alibaba/qwen3-next-80b-a3b-instruct": { + "id": "alibaba/qwen3-next-80b-a3b-instruct", + "name": "Qwen3 Next 80B A3B Instruct", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-09-12", + "last_updated": "2025-09-12", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 32768 + }, + "cost": { + "input": 0.09, + "output": 1.1 + } + }, + "alibaba/qwen3-coder-next": { + "id": "alibaba/qwen3-coder-next", + "name": "Qwen3 Coder Next", + "family": "qwen", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2025-07-22", + "last_updated": "2026-02-19", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 256000, + "output": 256000 + }, + "cost": { + "input": 0.5, + "output": 1.2 + } + }, + "alibaba/qwen3-embedding-4b": { + "id": "alibaba/qwen3-embedding-4b", + "name": "Qwen3 Embedding 4B", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": false, + "release_date": "2025-06-05", + "last_updated": "2025-06-05", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 32768, + "output": 32768 + }, + "cost": { + "input": 0.02, + "output": 0 + } + }, + "alibaba/qwen3-max-thinking": { + "id": "alibaba/qwen3-max-thinking", + "name": "Qwen 3 Max Thinking", + "family": "qwen", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2025-01", + "last_updated": "2025-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 256000, + "output": 65536 + }, + "cost": { + "input": 1.2, + "output": 6, + "cache_read": 0.24 + } + }, + "alibaba/qwen3-vl-235b-a22b-instruct": { + "id": "alibaba/qwen3-vl-235b-a22b-instruct", + "name": "Qwen3 VL 235B A22B Instruct", + "family": "qwen", + "attachment": true, + "reasoning": false, + "tool_call": false, + "temperature": true, + "release_date": "2025-09-24", + "last_updated": "2026-05-01", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 131072, + "output": 129024 + }, + "cost": { + "input": 0.39999999999999997, + "output": 1.5999999999999999 + } + }, + "alibaba/qwen3-coder": { + "id": "alibaba/qwen3-coder", + "name": "Qwen3 Coder 480B A35B Instruct", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-04", + "last_updated": "2025-04", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 262144, + "output": 66536 + }, + "cost": { + "input": 0.38, + "output": 1.53 + } + }, + "alibaba/qwen3-max-preview": { + "id": "alibaba/qwen3-max-preview", + "name": "Qwen3 Max Preview", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-09-23", + "last_updated": "2025-09-23", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 262144, + "output": 32768 + }, + "cost": { + "input": 1.2, + "output": 6, + "cache_read": 0.24 + } + }, + "alibaba/qwen3.5-plus": { + "id": "alibaba/qwen3.5-plus", + "name": "Qwen 3.5 Plus", + "family": "qwen", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2026-02-16", + "last_updated": "2026-02-19", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000000, + "output": 64000 + }, + "cost": { + "input": 0.4, + "output": 2.4, + "cache_read": 0.04, + "cache_write": 0.5 + } + }, + "alibaba/qwen-3-14b": { + "id": "alibaba/qwen-3-14b", + "name": "Qwen3-14B", + "family": "qwen", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-04", + "last_updated": "2025-04", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 40960, + "output": 16384 + }, + "cost": { + "input": 0.06, + "output": 0.24 + } + }, + "alibaba/qwen3-vl-instruct": { + "id": "alibaba/qwen3-vl-instruct", + "name": "Qwen3 VL Instruct", + "family": "qwen", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-09-24", + "last_updated": "2025-09-24", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 129024 + }, + "cost": { + "input": 0.7, + "output": 2.8 + } + }, + "alibaba/qwen3-coder-30b-a3b": { + "id": "alibaba/qwen3-coder-30b-a3b", + "name": "Qwen 3 Coder 30B A3B Instruct", + "family": "qwen", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-04", + "last_updated": "2025-04", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 160000, + "output": 32768 + }, + "cost": { + "input": 0.07, + "output": 0.27 + } + }, + "perplexity/sonar-pro": { + "id": "perplexity/sonar-pro", + "name": "Sonar Pro", + "family": "sonar-pro", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-09", + "release_date": "2025-02-19", + "last_updated": "2025-02-19", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 8000 + }, + "cost": { + "input": 3, + "output": 15 + } + }, + "perplexity/sonar": { + "id": "perplexity/sonar", + "name": "Sonar", + "family": "sonar", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-02", + "release_date": "2025-02-19", + "last_updated": "2025-02-19", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 127000, + "output": 8000 + }, + "cost": { + "input": 1, + "output": 1 + } + }, + "perplexity/sonar-reasoning": { + "id": "perplexity/sonar-reasoning", + "name": "Sonar Reasoning", + "family": "sonar-reasoning", + "attachment": false, + "reasoning": true, + "tool_call": false, + "temperature": true, + "knowledge": "2025-09", + "release_date": "2025-02-19", + "last_updated": "2025-02-19", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 127000, + "output": 8000 + }, + "cost": { + "input": 1, + "output": 5 + } + }, + "perplexity/sonar-reasoning-pro": { + "id": "perplexity/sonar-reasoning-pro", + "name": "Sonar Reasoning Pro", + "family": "sonar-reasoning", + "attachment": false, + "reasoning": true, + "tool_call": false, + "temperature": true, + "knowledge": "2025-09", + "release_date": "2025-02-19", + "last_updated": "2025-02-19", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 127000, + "output": 8000 + }, + "cost": { + "input": 2, + "output": 8 + } + }, + "deepseek/deepseek-v3.2-thinking": { + "id": "deepseek/deepseek-v3.2-thinking", + "name": "DeepSeek V3.2 Thinking", + "family": "deepseek-thinking", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": true, + "temperature": true, + "knowledge": "2024-07", + "release_date": "2025-12-01", + "last_updated": "2025-12-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 64000 + }, + "cost": { + "input": 0.28, + "output": 0.42, + "cache_read": 0.03 + } + }, + "deepseek/deepseek-v3.2-exp": { + "id": "deepseek/deepseek-v3.2-exp", + "name": "DeepSeek V3.2 Exp", + "family": "deepseek", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-09", + "release_date": "2025-09-29", + "last_updated": "2025-09-29", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 163840, + "output": 163840 + }, + "cost": { + "input": 0.27, + "output": 0.4 + } + }, + "deepseek/deepseek-v3.1": { + "id": "deepseek/deepseek-v3.1", + "name": "DeepSeek-V3.1", + "family": "deepseek", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-07", + "release_date": "2025-08-21", + "last_updated": "2025-08-21", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 163840, + "output": 128000 + }, + "cost": { + "input": 0.3, + "output": 1 + } + }, + "deepseek/deepseek-v4-flash": { + "id": "deepseek/deepseek-v4-flash", + "name": "DeepSeek V4 Flash", + "family": "deepseek", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2026-04-23", + "last_updated": "2026-04-24", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 1000000, + "output": 384000 + }, + "cost": { + "input": 0.14, + "output": 0.28, + "cache_read": 0.028 + } + }, + "deepseek/deepseek-v4-pro": { + "id": "deepseek/deepseek-v4-pro", + "name": "DeepSeek V4 Pro", + "family": "deepseek", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2026-04-23", + "last_updated": "2026-04-24", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 1000000, + "output": 384000 + }, + "cost": { + "input": 1.74, + "output": 3.48, + "cache_read": 0.145 + } + }, + "deepseek/deepseek-v3.2": { + "id": "deepseek/deepseek-v3.2", + "name": "DeepSeek V3.2", + "family": "deepseek", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "knowledge": "2024-07", + "release_date": "2025-12-01", + "last_updated": "2025-12-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 163842, + "output": 8000 + }, + "cost": { + "input": 0.27, + "output": 0.4, + "cache_read": 0.22 + } + }, + "deepseek/deepseek-v3": { + "id": "deepseek/deepseek-v3", + "name": "DeepSeek V3 0324", + "family": "deepseek", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-07", + "release_date": "2024-12-26", + "last_updated": "2024-12-26", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 163840, + "output": 16384 + }, + "cost": { + "input": 0.77, + "output": 0.77 + } + }, + "deepseek/deepseek-v3.1-terminus": { + "id": "deepseek/deepseek-v3.1-terminus", + "name": "DeepSeek V3.1 Terminus", + "family": "deepseek", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-07", + "release_date": "2025-09-22", + "last_updated": "2025-09-22", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 65536 + }, + "cost": { + "input": 0.27, + "output": 1 + } + }, + "deepseek/deepseek-r1": { + "id": "deepseek/deepseek-r1", + "name": "DeepSeek-R1", + "family": "deepseek-thinking", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-07", + "release_date": "2025-01-20", + "last_updated": "2025-05-29", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 32768 + }, + "cost": { + "input": 1.35, + "output": 5.4 + } + }, + "arcee-ai/trinity-mini": { + "id": "arcee-ai/trinity-mini", + "name": "Trinity Mini", + "family": "trinity", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2025-12", + "last_updated": "2025-12", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 131072, + "output": 131072 + }, + "cost": { + "input": 0.05, + "output": 0.15 + } + }, + "arcee-ai/trinity-large-thinking": { + "id": "arcee-ai/trinity-large-thinking", + "name": "Trinity Large Thinking", + "family": "trinity", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2026-04-01", + "last_updated": "2026-04-03", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262100, + "output": 80000 + }, + "cost": { + "input": 0.25, + "output": 0.8999999999999999 + } + }, + "arcee-ai/trinity-large-preview": { + "id": "arcee-ai/trinity-large-preview", + "name": "Trinity Large Preview", + "family": "trinity", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2025-01", + "last_updated": "2025-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 131000, + "output": 131000 + }, + "cost": { + "input": 0.25, + "output": 1 + } + }, + "recraft/recraft-v3": { + "id": "recraft/recraft-v3", + "name": "Recraft V3", + "family": "recraft", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": false, + "release_date": "2024-10", + "last_updated": "2024-10", + "modalities": { + "input": ["text"], + "output": ["image"] + }, + "open_weights": false, + "limit": { + "context": 512, + "output": 0 + } + }, + "recraft/recraft-v2": { + "id": "recraft/recraft-v2", + "name": "Recraft V2", + "family": "recraft", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": false, + "release_date": "2024-03", + "last_updated": "2024-03", + "modalities": { + "input": ["text"], + "output": ["image"] + }, + "open_weights": false, + "limit": { + "context": 512, + "output": 0 + } + }, + "voyage/voyage-3-large": { + "id": "voyage/voyage-3-large", + "name": "voyage-3-large", + "family": "voyage", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": false, + "release_date": "2024-09", + "last_updated": "2024-09", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 8192, + "output": 1536 + }, + "cost": { + "input": 0.18, + "output": 0 + } + }, + "voyage/voyage-4-large": { + "id": "voyage/voyage-4-large", + "name": "voyage-4-large", + "family": "voyage", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "release_date": "2026-03-06", + "last_updated": "2026-03-06", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 32000, + "output": 0 + } + }, + "voyage/voyage-3.5-lite": { + "id": "voyage/voyage-3.5-lite", + "name": "voyage-3.5-lite", + "family": "voyage", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": false, + "release_date": "2025-05-20", + "last_updated": "2025-05-20", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 8192, + "output": 1536 + }, + "cost": { + "input": 0.02, + "output": 0 + } + }, + "voyage/voyage-code-3": { + "id": "voyage/voyage-code-3", + "name": "voyage-code-3", + "family": "voyage", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": false, + "release_date": "2024-09", + "last_updated": "2024-09", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 8192, + "output": 1536 + }, + "cost": { + "input": 0.18, + "output": 0 + } + }, + "voyage/voyage-finance-2": { + "id": "voyage/voyage-finance-2", + "name": "voyage-finance-2", + "family": "voyage", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": false, + "release_date": "2024-03", + "last_updated": "2024-03", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 8192, + "output": 1536 + }, + "cost": { + "input": 0.12, + "output": 0 + } + }, + "voyage/voyage-4-lite": { + "id": "voyage/voyage-4-lite", + "name": "voyage-4-lite", + "family": "voyage", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "release_date": "2026-03-06", + "last_updated": "2026-03-06", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 32000, + "output": 0 + } + }, + "voyage/voyage-4": { + "id": "voyage/voyage-4", + "name": "voyage-4", + "family": "voyage", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "release_date": "2026-03-06", + "last_updated": "2026-03-06", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 32000, + "output": 0 + } + }, + "voyage/voyage-code-2": { + "id": "voyage/voyage-code-2", + "name": "voyage-code-2", + "family": "voyage", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": false, + "release_date": "2024-01", + "last_updated": "2024-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 8192, + "output": 1536 + }, + "cost": { + "input": 0.12, + "output": 0 + } + }, + "voyage/voyage-law-2": { + "id": "voyage/voyage-law-2", + "name": "voyage-law-2", + "family": "voyage", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": false, + "release_date": "2024-03", + "last_updated": "2024-03", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 8192, + "output": 1536 + }, + "cost": { + "input": 0.12, + "output": 0 + } + }, + "voyage/voyage-3.5": { + "id": "voyage/voyage-3.5", + "name": "voyage-3.5", + "family": "voyage", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": false, + "release_date": "2025-05-20", + "last_updated": "2025-05-20", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 8192, + "output": 1536 + }, + "cost": { + "input": 0.06, + "output": 0 + } + }, + "morph/morph-v3-large": { + "id": "morph/morph-v3-large", + "name": "Morph v3 Large", + "family": "morph", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": false, + "release_date": "2024-08-15", + "last_updated": "2024-08-15", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 32000, + "output": 32000 + }, + "cost": { + "input": 0.9, + "output": 1.9 + } + }, + "morph/morph-v3-fast": { + "id": "morph/morph-v3-fast", + "name": "Morph v3 Fast", + "family": "morph", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": false, + "release_date": "2024-08-15", + "last_updated": "2024-08-15", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 16000, + "output": 16000 + }, + "cost": { + "input": 0.8, + "output": 1.2 + } + }, + "zai/glm-5v-turbo": { + "id": "zai/glm-5v-turbo", + "name": "GLM 5V Turbo", + "family": "glm", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2026-04-01", + "last_updated": "2026-04-03", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 128000 + }, + "cost": { + "input": 1.2, + "output": 4, + "cache_read": 0.24 + } + }, + "zai/glm-4.7": { + "id": "zai/glm-4.7", + "name": "GLM 4.7", + "family": "glm", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": true, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2025-12-22", + "last_updated": "2025-12-22", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 202752, + "output": 120000 + }, + "cost": { + "input": 0.43, + "output": 1.75, + "cache_read": 0.08 + } + }, + "zai/glm-5": { + "id": "zai/glm-5", + "name": "GLM-5", + "family": "glm", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2026-02-12", + "last_updated": "2026-02-19", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 202800, + "output": 131072 + }, + "cost": { + "input": 1, + "output": 3.2, + "cache_read": 0.2 + } + }, + "zai/glm-4.7-flashx": { + "id": "zai/glm-4.7-flashx", + "name": "GLM 4.7 FlashX", + "family": "glm-flash", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2025-01", + "last_updated": "2025-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 200000, + "output": 128000 + }, + "cost": { + "input": 0.06, + "output": 0.4, + "cache_read": 0.01 + } + }, + "zai/glm-5.1": { + "id": "zai/glm-5.1", + "name": "GLM 5.1", + "family": "glm", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2026-04-07", + "last_updated": "2026-04-16", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 202752, + "output": 202752 + }, + "cost": { + "input": 1.4, + "output": 4.4, + "cache_read": 0.26 + } + }, + "zai/glm-4.6v-flash": { + "id": "zai/glm-4.6v-flash", + "name": "GLM-4.6V-Flash", + "family": "glm", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2025-09-30", + "last_updated": "2025-09-30", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 24000 + } + }, + "zai/glm-4.5": { + "id": "zai/glm-4.5", + "name": "GLM 4.5", + "family": "glm", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": true, + "temperature": true, + "knowledge": "2025-07", + "release_date": "2025-07-28", + "last_updated": "2025-07-28", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 131072 + }, + "cost": { + "input": 0.6, + "output": 2.2 + } + }, + "zai/glm-4.5-air": { + "id": "zai/glm-4.5-air", + "name": "GLM 4.5 Air", + "family": "glm-air", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-07-28", + "last_updated": "2025-07-28", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 96000 + }, + "cost": { + "input": 0.2, + "output": 1.1 + } + }, + "zai/glm-5-turbo": { + "id": "zai/glm-5-turbo", + "name": "GLM 5 Turbo", + "family": "glm", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2026-03-15", + "last_updated": "2026-03-17", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 202800, + "output": 131100 + }, + "cost": { + "input": 1.2, + "output": 4, + "cache_read": 0.24 + } + }, + "zai/glm-4.5v": { + "id": "zai/glm-4.5v", + "name": "GLM 4.5V", + "family": "glm", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-08", + "release_date": "2025-08-11", + "last_updated": "2025-08-11", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 66000, + "output": 66000 + }, + "cost": { + "input": 0.6, + "output": 1.8 + } + }, + "zai/glm-4.6": { + "id": "zai/glm-4.6", + "name": "GLM 4.6", + "family": "glm", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-09-30", + "last_updated": "2025-09-30", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 200000, + "output": 96000 + }, + "cost": { + "input": 0.45, + "output": 1.8 + } + }, + "zai/glm-4.6v": { + "id": "zai/glm-4.6v", + "name": "GLM-4.6V", + "family": "glm", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2025-09-30", + "last_updated": "2025-09-30", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 24000 + }, + "cost": { + "input": 0.3, + "output": 0.9, + "cache_read": 0.05 + } + }, + "zai/glm-4.7-flash": { + "id": "zai/glm-4.7-flash", + "name": "GLM 4.7 Flash", + "family": "glm", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2026-03-13", + "last_updated": "2026-03-13", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 131000 + }, + "cost": { + "input": 0.07, + "output": 0.39999999999999997 + } + }, + "cohere/command-a": { + "id": "cohere/command-a", + "name": "Command A", + "family": "command", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2025-03-13", + "last_updated": "2025-03-13", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 256000, + "output": 8000 + }, + "cost": { + "input": 2.5, + "output": 10 + } + }, + "cohere/embed-v4.0": { + "id": "cohere/embed-v4.0", + "name": "Embed v4.0", + "family": "cohere-embed", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": false, + "release_date": "2025-04-15", + "last_updated": "2025-04-15", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 8192, + "output": 1536 + }, + "cost": { + "input": 0.12, + "output": 0 + } + }, + "prime-intellect/intellect-3": { + "id": "prime-intellect/intellect-3", + "name": "INTELLECT 3", + "family": "intellect", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2025-11-26", + "last_updated": "2025-11-26", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 131072, + "output": 131072 + }, + "cost": { + "input": 0.2, + "output": 1.1 + } + }, + "xai/grok-4.3": { + "id": "xai/grok-4.3", + "name": "Grok 4.3", + "family": "grok", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2026-04-30", + "last_updated": "2026-05-01", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000000, + "output": 1000000 + }, + "cost": { + "input": 1.25, + "output": 2.5, + "cache_read": 0.19999999999999998 + } + }, + "xai/grok-4.20-non-reasoning": { + "id": "xai/grok-4.20-non-reasoning", + "name": "Grok 4.20 Non-Reasoning", + "family": "grok", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "release_date": "2026-03-09", + "last_updated": "2026-03-23", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 2000000, + "output": 2000000 + }, + "cost": { + "input": 2, + "output": 6, + "cache_read": 0.19999999999999998 + } + }, + "xai/grok-4.20-non-reasoning-beta": { + "id": "xai/grok-4.20-non-reasoning-beta", + "name": "Grok 4.20 Beta Non-Reasoning", + "family": "grok", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "release_date": "2026-03-11", + "last_updated": "2026-03-13", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 2000000, + "output": 2000000 + }, + "cost": { + "input": 2, + "output": 6, + "cache_read": 0.19999999999999998 + } + }, + "xai/grok-4.20-reasoning": { + "id": "xai/grok-4.20-reasoning", + "name": "Grok 4.20 Reasoning", + "family": "grok", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2026-03-09", + "last_updated": "2026-03-23", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 2000000, + "output": 2000000 + }, + "cost": { + "input": 2, + "output": 6, + "cache_read": 0.19999999999999998 + } + }, + "xai/grok-imagine-image": { + "id": "xai/grok-imagine-image", + "name": "Grok Imagine Image", + "family": "grok", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "release_date": "2026-01-28", + "last_updated": "2026-02-19", + "modalities": { + "input": ["text"], + "output": ["text", "image"] + }, + "open_weights": false, + "limit": { + "context": 0, + "output": 0 + } + }, + "xai/grok-4.20-multi-agent-beta": { + "id": "xai/grok-4.20-multi-agent-beta", + "name": "Grok 4.20 Multi Agent Beta", + "family": "grok", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2026-03-11", + "last_updated": "2026-03-13", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 2000000, + "output": 2000000 + }, + "cost": { + "input": 2, + "output": 6, + "cache_read": 0.19999999999999998 + } + }, + "xai/grok-imagine-image-pro": { + "id": "xai/grok-imagine-image-pro", + "name": "Grok Imagine Image Pro", + "family": "grok", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "release_date": "2026-01-28", + "last_updated": "2026-02-19", + "modalities": { + "input": ["text"], + "output": ["text", "image"] + }, + "open_weights": false, + "limit": { + "context": 0, + "output": 0 + } + }, + "xai/grok-4-fast-reasoning": { + "id": "xai/grok-4-fast-reasoning", + "name": "Grok 4 Fast Reasoning", + "family": "grok", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2025-07-09", + "last_updated": "2025-07-09", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 2000000, + "output": 256000 + }, + "cost": { + "input": 0.2, + "output": 0.5, + "cache_read": 0.05 + } + }, + "xai/grok-4.1-fast-non-reasoning": { + "id": "xai/grok-4.1-fast-non-reasoning", + "name": "Grok 4.1 Fast Non-Reasoning", + "family": "grok", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2025-07-09", + "last_updated": "2025-07-09", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 2000000, + "output": 30000 + }, + "cost": { + "input": 0.2, + "output": 0.5, + "cache_read": 0.05 + } + }, + "xai/grok-4.20-reasoning-beta": { + "id": "xai/grok-4.20-reasoning-beta", + "name": "Grok 4.20 Beta Reasoning", + "family": "grok", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2026-03-11", + "last_updated": "2026-03-13", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 2000000, + "output": 2000000 + }, + "cost": { + "input": 2, + "output": 6, + "cache_read": 0.19999999999999998 + } + }, + "xai/grok-4.20-multi-agent": { + "id": "xai/grok-4.20-multi-agent", + "name": "Grok 4.20 Multi-Agent", + "family": "grok", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2026-03-09", + "last_updated": "2026-03-23", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 2000000, + "output": 2000000 + }, + "cost": { + "input": 2, + "output": 6, + "cache_read": 0.19999999999999998 + } + }, + "xai/grok-4.1-fast-reasoning": { + "id": "xai/grok-4.1-fast-reasoning", + "name": "Grok 4.1 Fast Reasoning", + "family": "grok", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2025-07-09", + "last_updated": "2025-07-09", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 2000000, + "output": 30000 + }, + "cost": { + "input": 0.2, + "output": 0.5, + "cache_read": 0.05 + } + }, + "xai/grok-4-fast-non-reasoning": { + "id": "xai/grok-4-fast-non-reasoning", + "name": "Grok 4 Fast (Non-Reasoning)", + "family": "grok", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-07", + "release_date": "2025-09-19", + "last_updated": "2025-09-19", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 2000000, + "output": 30000 + }, + "cost": { + "input": 0.2, + "output": 0.5, + "cache_read": 0.05 + } + }, + "xai/grok-3": { + "id": "xai/grok-3", + "name": "Grok 3", + "family": "grok", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-11", + "release_date": "2025-02-17", + "last_updated": "2025-02-17", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 131072, + "output": 8192 + }, + "cost": { + "input": 3, + "output": 15, + "cache_read": 0.75 + } + }, + "xai/grok-3-mini": { + "id": "xai/grok-3-mini", + "name": "Grok 3 Mini", + "family": "grok", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-11", + "release_date": "2025-02-17", + "last_updated": "2025-02-17", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 131072, + "output": 8192 + }, + "cost": { + "input": 0.3, + "output": 0.5, + "reasoning": 0.5, + "cache_read": 0.075 + } + }, + "xai/grok-2-vision": { + "id": "xai/grok-2-vision", + "name": "Grok 2 Vision", + "family": "grok", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-08", + "release_date": "2024-08-20", + "last_updated": "2024-08-20", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 8192, + "output": 4096 + }, + "cost": { + "input": 2, + "output": 10, + "cache_read": 2 + } + }, + "xai/grok-4": { + "id": "xai/grok-4", + "name": "Grok 4", + "family": "grok", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-07", + "release_date": "2025-07-09", + "last_updated": "2025-07-09", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 256000, + "output": 64000 + }, + "cost": { + "input": 3, + "output": 15, + "reasoning": 15, + "cache_read": 0.75 + } + }, + "xai/grok-code-fast-1": { + "id": "xai/grok-code-fast-1", + "name": "Grok Code Fast 1", + "family": "grok", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2023-10", + "release_date": "2025-08-28", + "last_updated": "2025-08-28", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 256000, + "output": 10000 + }, + "cost": { + "input": 0.2, + "output": 1.5, + "cache_read": 0.02 + } + }, + "xai/grok-3-fast": { + "id": "xai/grok-3-fast", + "name": "Grok 3 Fast", + "family": "grok", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-11", + "release_date": "2025-02-17", + "last_updated": "2025-02-17", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 131072, + "output": 8192 + }, + "cost": { + "input": 5, + "output": 25, + "cache_read": 1.25 + } + }, + "xai/grok-3-mini-fast": { + "id": "xai/grok-3-mini-fast", + "name": "Grok 3 Mini Fast", + "family": "grok", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-11", + "release_date": "2025-02-17", + "last_updated": "2025-02-17", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 131072, + "output": 8192 + }, + "cost": { + "input": 0.6, + "output": 4, + "reasoning": 4, + "cache_read": 0.15 + } + }, + "nvidia/nemotron-3-super-120b-a12b": { + "id": "nvidia/nemotron-3-super-120b-a12b", + "name": "NVIDIA Nemotron 3 Super 120B A12B", + "family": "nemotron", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "release_date": "2026-03-18", + "last_updated": "2026-03-30", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 256000, + "output": 32000 + }, + "cost": { + "input": 0.15, + "output": 0.65 + } + }, + "nvidia/nemotron-3-nano-30b-a3b": { + "id": "nvidia/nemotron-3-nano-30b-a3b", + "name": "Nemotron 3 Nano 30B A3B", + "family": "nemotron", + "attachment": false, + "reasoning": true, + "tool_call": false, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2024-12", + "last_updated": "2024-12", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 262144, + "output": 262144 + }, + "cost": { + "input": 0.06, + "output": 0.24 + } + }, + "nvidia/nemotron-nano-12b-v2-vl": { + "id": "nvidia/nemotron-nano-12b-v2-vl", + "name": "Nvidia Nemotron Nano 12B V2 VL", + "family": "nemotron", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2024-12", + "last_updated": "2024-12", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 131072, + "output": 131072 + }, + "cost": { + "input": 0.2, + "output": 0.6 + } + }, + "nvidia/nemotron-nano-9b-v2": { + "id": "nvidia/nemotron-nano-9b-v2", + "name": "Nvidia Nemotron Nano 9B V2", + "family": "nemotron", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2025-08-18", + "last_updated": "2025-08-18", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 131072, + "output": 131072 + }, + "cost": { + "input": 0.04, + "output": 0.16 + } + }, + "inception/mercury-edit-2": { + "id": "inception/mercury-edit-2", + "name": "Mercury Edit 2", + "attachment": false, + "reasoning": true, + "tool_call": false, + "temperature": true, + "release_date": "2026-03-30", + "last_updated": "2026-03-30", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 8192 + }, + "cost": { + "input": 0.25, + "output": 0.75, + "cache_read": 0.025 + } + }, + "inception/mercury-2": { + "id": "inception/mercury-2", + "name": "Mercury 2", + "family": "mercury", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2026-02-24", + "last_updated": "2026-03-06", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 128000 + }, + "cost": { + "input": 0.25, + "output": 0.75, + "cache_read": 0.024999999999999998 + } + }, + "inception/mercury-coder-small": { + "id": "inception/mercury-coder-small", + "name": "Mercury Coder Small Beta", + "family": "mercury", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "release_date": "2025-02-26", + "last_updated": "2026-05-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 32000, + "output": 16384 + }, + "cost": { + "input": 0.25, + "output": 1 + } + }, + "openai/gpt-5.1-codex-max": { + "id": "openai/gpt-5.1-codex-max", + "name": "GPT 5.1 Codex Max", + "family": "gpt", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2025-08-07", + "last_updated": "2025-08-07", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "input": 272000, + "output": 128000 + }, + "cost": { + "input": 1.25, + "output": 10, + "cache_read": 0.13 + } + }, + "openai/gpt-5.2-chat": { + "id": "openai/gpt-5.2-chat", + "name": "GPT-5.2 Chat", + "family": "gpt", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2025-08-07", + "last_updated": "2025-08-07", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "input": 111616, + "output": 16384 + }, + "cost": { + "input": 1.75, + "output": 14, + "cache_read": 0.18 + } + }, + "openai/gpt-4o-mini-search-preview": { + "id": "openai/gpt-4o-mini-search-preview", + "name": "GPT 4o Mini Search Preview", + "family": "gpt-mini", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "temperature": true, + "knowledge": "2023-09", + "release_date": "2025-01", + "last_updated": "2025-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "input": 111616, + "output": 16384 + }, + "cost": { + "input": 0.15, + "output": 0.6 + } + }, + "openai/codex-mini": { + "id": "openai/codex-mini", + "name": "Codex Mini", + "family": "gpt-codex-mini", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2025-05-16", + "last_updated": "2025-05-16", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "input": 100000, + "output": 100000 + }, + "cost": { + "input": 1.5, + "output": 6, + "cache_read": 0.38 + } + }, + "openai/gpt-5-chat": { + "id": "openai/gpt-5-chat", + "name": "GPT-5 Chat", + "family": "gpt", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2025-08-07", + "last_updated": "2025-08-07", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text", "image"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "input": 111616, + "output": 16384 + }, + "cost": { + "input": 1.25, + "output": 10, + "cache_read": 0.13 + } + }, + "openai/gpt-5.3-chat": { + "id": "openai/gpt-5.3-chat", + "name": "GPT-5.3 Chat", + "family": "gpt", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2026-03-03", + "last_updated": "2026-03-06", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "input": 111616, + "output": 16384 + }, + "cost": { + "input": 1.75, + "output": 14, + "cache_read": 0.175 + } + }, + "openai/gpt-5.2-pro": { + "id": "openai/gpt-5.2-pro", + "name": "GPT 5.2 ", + "family": "gpt", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2025-08-07", + "last_updated": "2025-08-07", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "input": 272000, + "output": 128000 + }, + "cost": { + "input": 21, + "output": 168 + } + }, + "openai/text-embedding-3-large": { + "id": "openai/text-embedding-3-large", + "name": "text-embedding-3-large", + "family": "text-embedding", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": false, + "release_date": "2024-01-25", + "last_updated": "2024-01-25", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 8192, + "input": 6656, + "output": 1536 + }, + "cost": { + "input": 0.13, + "output": 0 + } + }, + "openai/gpt-5.5": { + "id": "openai/gpt-5.5", + "name": "GPT 5.5", + "family": "gpt", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2026-04-24", + "last_updated": "2026-04-24", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000000, + "input": 872000, + "output": 128000 + }, + "cost": { + "input": 5, + "output": 30, + "cache_read": 0.5 + } + }, + "openai/gpt-5.3-codex": { + "id": "openai/gpt-5.3-codex", + "name": "GPT 5.3 Codex", + "family": "gpt", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2026-02-24", + "last_updated": "2026-02-24", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "input": 272000, + "output": 128000 + }, + "cost": { + "input": 1.75, + "output": 14, + "cache_read": 0.175 + } + }, + "openai/text-embedding-ada-002": { + "id": "openai/text-embedding-ada-002", + "name": "text-embedding-ada-002", + "family": "text-embedding", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": false, + "release_date": "2022-12-15", + "last_updated": "2022-12-15", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 8192, + "input": 6656, + "output": 1536 + }, + "cost": { + "input": 0.1, + "output": 0 + } + }, + "openai/gpt-5.2": { + "id": "openai/gpt-5.2", + "name": "GPT-5.2", + "family": "gpt", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2025-08-07", + "last_updated": "2025-08-07", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "input": 272000, + "output": 128000 + }, + "cost": { + "input": 1.75, + "output": 14, + "cache_read": 0.18 + } + }, + "openai/o3-pro": { + "id": "openai/o3-pro", + "name": "o3 Pro", + "family": "o-pro", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": false, + "knowledge": "2024-10", + "release_date": "2025-04-16", + "last_updated": "2025-04-16", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "input": 100000, + "output": 100000 + }, + "cost": { + "input": 20, + "output": 80 + } + }, + "openai/gpt-5.4-mini": { + "id": "openai/gpt-5.4-mini", + "name": "GPT 5.4 Mini", + "family": "gpt", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2026-03-17", + "last_updated": "2026-03-17", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "input": 272000, + "output": 128000 + }, + "cost": { + "input": 0.75, + "output": 4.5, + "cache_read": 0.075 + } + }, + "openai/gpt-5.4-nano": { + "id": "openai/gpt-5.4-nano", + "name": "GPT 5.4 Nano", + "family": "gpt", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2026-03-17", + "last_updated": "2026-03-17", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "input": 272000, + "output": 128000 + }, + "cost": { + "input": 0.19999999999999998, + "output": 1.25, + "cache_read": 0.02 + } + }, + "openai/gpt-5.2-codex": { + "id": "openai/gpt-5.2-codex", + "name": "GPT-5.2-Codex", + "family": "gpt-codex", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2025-12", + "last_updated": "2025-12", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "input": 272000, + "output": 128000 + }, + "cost": { + "input": 1.75, + "output": 14, + "cache_read": 0.175 + } + }, + "openai/gpt-5.1-codex-mini": { + "id": "openai/gpt-5.1-codex-mini", + "name": "GPT-5.1 Codex mini", + "family": "gpt", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2025-05-16", + "last_updated": "2025-05-16", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "input": 272000, + "output": 128000 + }, + "cost": { + "input": 0.25, + "output": 2, + "cache_read": 0.03 + } + }, + "openai/gpt-5.1-thinking": { + "id": "openai/gpt-5.1-thinking", + "name": "GPT 5.1 Thinking", + "family": "gpt", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": false, + "knowledge": "2024-10", + "release_date": "2025-08-07", + "last_updated": "2025-08-07", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text", "image"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "input": 272000, + "output": 128000 + }, + "cost": { + "input": 1.25, + "output": 10, + "cache_read": 0.13 + } + }, + "openai/gpt-5.4-pro": { + "id": "openai/gpt-5.4-pro", + "name": "GPT 5.4 Pro", + "family": "gpt", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2026-03-05", + "last_updated": "2026-03-06", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1050000, + "input": 922000, + "output": 128000 + }, + "cost": { + "input": 30, + "output": 180 + } + }, + "openai/gpt-3.5-turbo": { + "id": "openai/gpt-3.5-turbo", + "name": "GPT-3.5 Turbo", + "family": "gpt", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "knowledge": "2021-09", + "release_date": "2023-03-01", + "last_updated": "2023-03-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 16385, + "input": 12289, + "output": 4096 + }, + "cost": { + "input": 0.5, + "output": 1.5 + } + }, + "openai/o3-deep-research": { + "id": "openai/o3-deep-research", + "name": "o3-deep-research", + "family": "o", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": false, + "knowledge": "2024-10", + "release_date": "2024-06-26", + "last_updated": "2024-06-26", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "input": 100000, + "output": 100000 + }, + "cost": { + "input": 10, + "output": 40, + "cache_read": 2.5 + } + }, + "openai/text-embedding-3-small": { + "id": "openai/text-embedding-3-small", + "name": "text-embedding-3-small", + "family": "text-embedding", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": false, + "release_date": "2024-01-25", + "last_updated": "2024-01-25", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 8192, + "input": 6656, + "output": 1536 + }, + "cost": { + "input": 0.02, + "output": 0 + } + }, + "openai/gpt-5.4": { + "id": "openai/gpt-5.4", + "name": "GPT 5.4", + "family": "gpt", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2026-03-05", + "last_updated": "2026-03-06", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1050000, + "input": 922000, + "output": 128000 + }, + "cost": { + "input": 2.5, + "output": 15, + "cache_read": 0.25 + } + }, + "openai/gpt-oss-20b": { + "id": "openai/gpt-oss-20b", + "name": "GPT OSS 20B", + "family": "gpt-oss", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2025-08-05", + "last_updated": "2025-08-05", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "input": 98304, + "output": 32768 + }, + "cost": { + "input": 0.07, + "output": 0.3 + } + }, + "openai/gpt-5-pro": { + "id": "openai/gpt-5-pro", + "name": "GPT-5 pro", + "family": "gpt", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2025-08-07", + "last_updated": "2025-08-07", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text", "image"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "input": 128000, + "output": 272000 + }, + "cost": { + "input": 15, + "output": 120 + } + }, + "openai/gpt-oss-safeguard-20b": { + "id": "openai/gpt-oss-safeguard-20b", + "name": "gpt-oss-safeguard-20b", + "family": "gpt-oss", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2024-12-01", + "last_updated": "2024-12-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 131072, + "input": 65536, + "output": 65536 + }, + "cost": { + "input": 0.08, + "output": 0.3, + "cache_read": 0.04 + } + }, + "openai/gpt-oss-120b": { + "id": "openai/gpt-oss-120b", + "name": "GPT OSS 120B", + "family": "gpt-oss", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2025-08-05", + "last_updated": "2025-08-05", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 131072 + }, + "cost": { + "input": 0.1, + "output": 0.5 + } + }, + "openai/gpt-5.5-pro": { + "id": "openai/gpt-5.5-pro", + "name": "GPT 5.5 Pro", + "family": "gpt", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2026-04-24", + "last_updated": "2026-04-24", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000000, + "input": 872000, + "output": 128000 + }, + "cost": { + "input": 30, + "output": 180 + } + }, + "openai/gpt-3.5-turbo-instruct": { + "id": "openai/gpt-3.5-turbo-instruct", + "name": "GPT-3.5 Turbo Instruct", + "family": "gpt", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "knowledge": "2021-09", + "release_date": "2023-03-01", + "last_updated": "2023-03-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 8192, + "input": 4096, + "output": 4096 + }, + "cost": { + "input": 1.5, + "output": 2 + } + }, + "openai/gpt-5.1-instant": { + "id": "openai/gpt-5.1-instant", + "name": "GPT-5.1 Instant", + "family": "gpt", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2025-08-07", + "last_updated": "2025-08-07", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text", "image"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "input": 111616, + "output": 16384 + }, + "cost": { + "input": 1.25, + "output": 10, + "cache_read": 0.13 + } + }, + "openai/gpt-5.1-codex": { + "id": "openai/gpt-5.1-codex", + "name": "GPT-5.1-Codex", + "family": "gpt", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2025-08-07", + "last_updated": "2025-08-07", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "input": 272000, + "output": 128000 + }, + "cost": { + "input": 1.25, + "output": 10, + "cache_read": 0.13 + } + }, + "openai/gpt-4.1-mini": { + "id": "openai/gpt-4.1-mini", + "name": "GPT-4.1 mini", + "family": "gpt-mini", + "attachment": true, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2024-04", + "release_date": "2025-04-14", + "last_updated": "2025-04-14", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1047576, + "output": 32768 + }, + "cost": { + "input": 0.4, + "output": 1.6, + "cache_read": 0.1 + } + }, + "openai/gpt-4.1": { + "id": "openai/gpt-4.1", + "name": "GPT-4.1", + "family": "gpt", + "attachment": true, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2024-04", + "release_date": "2025-04-14", + "last_updated": "2025-04-14", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1047576, + "output": 32768 + }, + "cost": { + "input": 2, + "output": 8, + "cache_read": 0.5 + } + }, + "openai/gpt-5": { + "id": "openai/gpt-5", + "name": "GPT-5", + "family": "gpt", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": false, + "knowledge": "2024-09-30", + "release_date": "2025-08-07", + "last_updated": "2025-08-07", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "input": 272000, + "output": 128000 + }, + "cost": { + "input": 1.25, + "output": 10, + "cache_read": 0.125 + } + }, + "openai/gpt-4o": { + "id": "openai/gpt-4o", + "name": "GPT-4o", + "family": "gpt", + "attachment": true, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2023-09", + "release_date": "2024-05-13", + "last_updated": "2024-08-06", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 16384 + }, + "cost": { + "input": 2.5, + "output": 10, + "cache_read": 1.25 + } + }, + "openai/o3": { + "id": "openai/o3", + "name": "o3", + "family": "o", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": false, + "knowledge": "2024-05", + "release_date": "2025-04-16", + "last_updated": "2025-04-16", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 100000 + }, + "cost": { + "input": 2, + "output": 8, + "cache_read": 0.5 + } + }, + "openai/gpt-4.1-nano": { + "id": "openai/gpt-4.1-nano", + "name": "GPT-4.1 nano", + "family": "gpt-nano", + "attachment": true, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2024-04", + "release_date": "2025-04-14", + "last_updated": "2025-04-14", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1047576, + "output": 32768 + }, + "cost": { + "input": 0.1, + "output": 0.4, + "cache_read": 0.03 + } + }, + "openai/gpt-5-codex": { + "id": "openai/gpt-5-codex", + "name": "GPT-5-Codex", + "family": "gpt-codex", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": false, + "knowledge": "2024-09-30", + "release_date": "2025-09-15", + "last_updated": "2025-09-15", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "input": 272000, + "output": 128000 + }, + "cost": { + "input": 1.25, + "output": 10, + "cache_read": 0.125 + } + }, + "openai/o3-mini": { + "id": "openai/o3-mini", + "name": "o3-mini", + "family": "o-mini", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": false, + "knowledge": "2024-05", + "release_date": "2024-12-20", + "last_updated": "2025-01-29", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 100000 + }, + "cost": { + "input": 1.1, + "output": 4.4, + "cache_read": 0.55 + } + }, + "openai/o1": { + "id": "openai/o1", + "name": "o1", + "family": "o", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": false, + "knowledge": "2023-09", + "release_date": "2024-12-05", + "last_updated": "2024-12-05", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 100000 + }, + "cost": { + "input": 15, + "output": 60, + "cache_read": 7.5 + } + }, + "openai/o4-mini": { + "id": "openai/o4-mini", + "name": "o4-mini", + "family": "o-mini", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": false, + "knowledge": "2024-05", + "release_date": "2025-04-16", + "last_updated": "2025-04-16", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 100000 + }, + "cost": { + "input": 1.1, + "output": 4.4, + "cache_read": 0.28 + } + }, + "openai/gpt-4o-mini": { + "id": "openai/gpt-4o-mini", + "name": "GPT-4o mini", + "family": "gpt-mini", + "attachment": true, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2023-09", + "release_date": "2024-07-18", + "last_updated": "2024-07-18", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 16384 + }, + "cost": { + "input": 0.15, + "output": 0.6, + "cache_read": 0.08 + } + }, + "openai/gpt-4-turbo": { + "id": "openai/gpt-4-turbo", + "name": "GPT-4 Turbo", + "family": "gpt", + "attachment": true, + "reasoning": false, + "tool_call": true, + "structured_output": false, + "temperature": true, + "knowledge": "2023-12", + "release_date": "2023-11-06", + "last_updated": "2024-04-09", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 4096 + }, + "cost": { + "input": 10, + "output": 30 + } + }, + "openai/gpt-5-nano": { + "id": "openai/gpt-5-nano", + "name": "GPT-5 Nano", + "family": "gpt-nano", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": false, + "knowledge": "2024-05-30", + "release_date": "2025-08-07", + "last_updated": "2025-08-07", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "input": 272000, + "output": 128000 + }, + "cost": { + "input": 0.05, + "output": 0.4, + "cache_read": 0.005 + } + }, + "openai/gpt-5-mini": { + "id": "openai/gpt-5-mini", + "name": "GPT-5 Mini", + "family": "gpt-mini", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": false, + "knowledge": "2024-05-30", + "release_date": "2025-08-07", + "last_updated": "2025-08-07", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "input": 272000, + "output": 128000 + }, + "cost": { + "input": 0.25, + "output": 2, + "cache_read": 0.025 + } + }, + "amazon/titan-embed-text-v2": { + "id": "amazon/titan-embed-text-v2", + "name": "Titan Text Embeddings V2", + "family": "titan-embed", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": false, + "release_date": "2024-04", + "last_updated": "2024-04", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 8192, + "output": 1536 + }, + "cost": { + "input": 0.02, + "output": 0 + } + }, + "amazon/nova-2-lite": { + "id": "amazon/nova-2-lite", + "name": "Nova 2 Lite", + "family": "nova", + "attachment": true, + "reasoning": true, + "tool_call": false, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2024-12-01", + "last_updated": "2024-12-01", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000000, + "output": 1000000 + }, + "cost": { + "input": 0.3, + "output": 2.5 + } + }, + "amazon/nova-pro": { + "id": "amazon/nova-pro", + "name": "Nova Pro", + "family": "nova-pro", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2024-12-03", + "last_updated": "2024-12-03", + "modalities": { + "input": ["text", "image", "video"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 300000, + "output": 8192 + }, + "cost": { + "input": 0.8, + "output": 3.2, + "cache_read": 0.2 + } + }, + "amazon/nova-lite": { + "id": "amazon/nova-lite", + "name": "Nova Lite", + "family": "nova-lite", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2024-12-03", + "last_updated": "2024-12-03", + "modalities": { + "input": ["text", "image", "video"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 300000, + "output": 8192 + }, + "cost": { + "input": 0.06, + "output": 0.24, + "cache_read": 0.015 + } + }, + "amazon/nova-micro": { + "id": "amazon/nova-micro", + "name": "Nova Micro", + "family": "nova-micro", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2024-12-03", + "last_updated": "2024-12-03", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 8192 + }, + "cost": { + "input": 0.035, + "output": 0.14, + "cache_read": 0.00875 + } + }, + "mistral/mistral-nemo": { + "id": "mistral/mistral-nemo", + "name": "Mistral Nemo", + "family": "mistral-nemo", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-04", + "release_date": "2024-07-01", + "last_updated": "2024-07-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 60288, + "output": 16000 + }, + "cost": { + "input": 0.04, + "output": 0.17 + } + }, + "mistral/ministral-14b": { + "id": "mistral/ministral-14b", + "name": "Ministral 14B", + "family": "ministral", + "attachment": true, + "reasoning": false, + "tool_call": false, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2025-12-01", + "last_updated": "2025-12-01", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 256000, + "output": 256000 + }, + "cost": { + "input": 0.2, + "output": 0.2 + } + }, + "mistral/codestral-embed": { + "id": "mistral/codestral-embed", + "name": "Codestral Embed", + "family": "codestral-embed", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": false, + "release_date": "2025-05-28", + "last_updated": "2025-05-28", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 8192, + "output": 1536 + }, + "cost": { + "input": 0.15, + "output": 0 + } + }, + "mistral/mistral-medium": { + "id": "mistral/mistral-medium", + "name": "Mistral Medium 3.1", + "family": "mistral-medium", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2025-05-07", + "last_updated": "2025-05-07", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 64000 + }, + "cost": { + "input": 0.4, + "output": 2 + } + }, + "mistral/mistral-embed": { + "id": "mistral/mistral-embed", + "name": "Mistral Embed", + "family": "mistral-embed", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": false, + "release_date": "2023-12-11", + "last_updated": "2023-12-11", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 8192, + "output": 1536 + }, + "cost": { + "input": 0.1, + "output": 0 + } + }, + "mistral/devstral-2": { + "id": "mistral/devstral-2", + "name": "Devstral 2", + "family": "devstral", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2025-12-09", + "last_updated": "2025-12-09", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 256000, + "output": 256000 + } + }, + "mistral/mistral-large-3": { + "id": "mistral/mistral-large-3", + "name": "Mistral Large 3", + "family": "mistral-large", + "attachment": true, + "reasoning": false, + "tool_call": false, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2025-12-02", + "last_updated": "2025-12-02", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 256000, + "output": 256000 + }, + "cost": { + "input": 0.5, + "output": 1.5 + } + }, + "mistral/devstral-small-2": { + "id": "mistral/devstral-small-2", + "name": "Devstral Small 2", + "family": "devstral", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2025-05-07", + "last_updated": "2025-05-07", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 256000, + "output": 256000 + } + }, + "mistral/devstral-small": { + "id": "mistral/devstral-small", + "name": "Devstral Small 1.1", + "family": "devstral", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2025-05-07", + "last_updated": "2025-05-07", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 64000 + }, + "cost": { + "input": 0.1, + "output": 0.3 + } + }, + "mistral/ministral-8b": { + "id": "mistral/ministral-8b", + "name": "Ministral 8B (latest)", + "family": "ministral", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2024-10-01", + "last_updated": "2024-10-04", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 128000 + }, + "cost": { + "input": 0.1, + "output": 0.1 + } + }, + "mistral/magistral-medium": { + "id": "mistral/magistral-medium", + "name": "Magistral Medium (latest)", + "family": "magistral-medium", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-06", + "release_date": "2025-03-17", + "last_updated": "2025-03-20", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 16384 + }, + "cost": { + "input": 2, + "output": 5 + } + }, + "mistral/mistral-small": { + "id": "mistral/mistral-small", + "name": "Mistral Small (latest)", + "family": "mistral-small", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-06", + "release_date": "2026-03-16", + "last_updated": "2026-03-16", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 256000, + "output": 256000 + }, + "cost": { + "input": 0.15, + "output": 0.6 + } + }, + "mistral/magistral-small": { + "id": "mistral/magistral-small", + "name": "Magistral Small", + "family": "magistral-small", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-06", + "release_date": "2025-03-17", + "last_updated": "2025-03-17", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 128000 + }, + "cost": { + "input": 0.5, + "output": 1.5 + } + }, + "mistral/pixtral-12b": { + "id": "mistral/pixtral-12b", + "name": "Pixtral 12B", + "family": "pixtral", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-09", + "release_date": "2024-09-01", + "last_updated": "2024-09-01", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 128000 + }, + "cost": { + "input": 0.15, + "output": 0.15 + } + }, + "mistral/mixtral-8x22b-instruct": { + "id": "mistral/mixtral-8x22b-instruct", + "name": "Mixtral 8x22B", + "family": "mixtral", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-04", + "release_date": "2024-04-17", + "last_updated": "2024-04-17", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 64000, + "output": 64000 + }, + "cost": { + "input": 2, + "output": 6 + } + }, + "mistral/pixtral-large": { + "id": "mistral/pixtral-large", + "name": "Pixtral Large (latest)", + "family": "pixtral", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-11", + "release_date": "2024-11-01", + "last_updated": "2024-11-04", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 128000 + }, + "cost": { + "input": 2, + "output": 6 + } + }, + "mistral/ministral-3b": { + "id": "mistral/ministral-3b", + "name": "Ministral 3B (latest)", + "family": "ministral", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2024-10-01", + "last_updated": "2024-10-04", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 128000 + }, + "cost": { + "input": 0.04, + "output": 0.04 + } + }, + "mistral/codestral": { + "id": "mistral/codestral", + "name": "Codestral (latest)", + "family": "codestral", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2024-05-29", + "last_updated": "2025-01-04", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 256000, + "output": 4096 + }, + "cost": { + "input": 0.3, + "output": 0.9 + } + }, + "meta/llama-3.2-1b": { + "id": "meta/llama-3.2-1b", + "name": "Llama 3.2 1B Instruct", + "family": "llama", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "knowledge": "2023-12", + "release_date": "2024-09-18", + "last_updated": "2024-09-18", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 8192 + }, + "cost": { + "input": 0.1, + "output": 0.1 + } + }, + "meta/llama-3.1-8b": { + "id": "meta/llama-3.1-8b", + "name": "Llama 3.1 8B Instruct", + "family": "llama", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2023-12", + "release_date": "2024-07-23", + "last_updated": "2024-07-23", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 131072, + "output": 16384 + }, + "cost": { + "input": 0.03, + "output": 0.05 + } + }, + "meta/llama-3.2-90b": { + "id": "meta/llama-3.2-90b", + "name": "Llama 3.2 90B Vision Instruct", + "family": "llama", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2023-12", + "release_date": "2024-09-25", + "last_updated": "2024-09-25", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 8192 + }, + "cost": { + "input": 0.72, + "output": 0.72 + } + }, + "meta/llama-3.2-3b": { + "id": "meta/llama-3.2-3b", + "name": "Llama 3.2 3B Instruct", + "family": "llama", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "knowledge": "2023-12", + "release_date": "2024-09-18", + "last_updated": "2024-09-18", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 8192 + }, + "cost": { + "input": 0.15, + "output": 0.15 + } + }, + "meta/llama-3.2-11b": { + "id": "meta/llama-3.2-11b", + "name": "Llama 3.2 11B Vision Instruct", + "family": "llama", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2023-12", + "release_date": "2024-09-25", + "last_updated": "2024-09-25", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 8192 + }, + "cost": { + "input": 0.16, + "output": 0.16 + } + }, + "meta/llama-3.1-70b": { + "id": "meta/llama-3.1-70b", + "name": "Llama 3.1 70B Instruct", + "family": "llama", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2023-12", + "release_date": "2024-07-23", + "last_updated": "2024-07-23", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 131072, + "output": 16384 + }, + "cost": { + "input": 0.4, + "output": 0.4 + } + }, + "meta/llama-3.3-70b": { + "id": "meta/llama-3.3-70b", + "name": "Llama-3.3-70B-Instruct", + "family": "llama", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2023-12", + "release_date": "2024-12-06", + "last_updated": "2024-12-06", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 4096 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "meta/llama-4-maverick": { + "id": "meta/llama-4-maverick", + "name": "Llama-4-Maverick-17B-128E-Instruct-FP8", + "family": "llama", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-08", + "release_date": "2025-04-05", + "last_updated": "2025-04-05", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 4096 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "meta/llama-4-scout": { + "id": "meta/llama-4-scout", + "name": "Llama-4-Scout-17B-16E-Instruct-FP8", + "family": "llama", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-08", + "release_date": "2025-04-05", + "last_updated": "2025-04-05", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 4096 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "vercel/v0-1.5-md": { + "id": "vercel/v0-1.5-md", + "name": "v0-1.5-md", + "family": "v0", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2025-06-09", + "last_updated": "2025-06-09", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 32000 + }, + "cost": { + "input": 3, + "output": 15 + } + }, + "vercel/v0-1.0-md": { + "id": "vercel/v0-1.0-md", + "name": "v0-1.0-md", + "family": "v0", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2025-05-22", + "last_updated": "2025-05-22", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 32000 + }, + "cost": { + "input": 3, + "output": 15 + } + }, + "minimax/minimax-m2.7": { + "id": "minimax/minimax-m2.7", + "name": "Minimax M2.7", + "family": "minimax", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2026-03-18", + "last_updated": "2026-03-18", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 204800, + "output": 131000 + }, + "cost": { + "input": 0.3, + "output": 1.2, + "cache_read": 0.06, + "cache_write": 0.375 + } + }, + "minimax/minimax-m2.7-highspeed": { + "id": "minimax/minimax-m2.7-highspeed", + "name": "MiniMax M2.7 High Speed", + "family": "minimax", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2026-03-18", + "last_updated": "2026-03-18", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 204800, + "output": 131100 + }, + "cost": { + "input": 0.6, + "output": 2.4, + "cache_read": 0.06, + "cache_write": 0.375 + } + }, + "minimax/minimax-m2": { + "id": "minimax/minimax-m2", + "name": "MiniMax M2", + "family": "minimax", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": true, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2025-10-27", + "last_updated": "2025-10-27", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262114, + "output": 262114 + }, + "cost": { + "input": 0.27, + "output": 1.15, + "cache_read": 0.03, + "cache_write": 0.38 + } + }, + "minimax/minimax-m2.1": { + "id": "minimax/minimax-m2.1", + "name": "MiniMax M2.1", + "family": "minimax", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": true, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2025-10-27", + "last_updated": "2025-10-27", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 204800, + "output": 131072 + }, + "cost": { + "input": 0.3, + "output": 1.2, + "cache_read": 0.03, + "cache_write": 0.38 + } + }, + "minimax/minimax-m2.1-lightning": { + "id": "minimax/minimax-m2.1-lightning", + "name": "MiniMax M2.1 Lightning", + "family": "minimax", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2025-10-27", + "last_updated": "2025-10-27", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 204800, + "output": 131072 + }, + "cost": { + "input": 0.3, + "output": 2.4, + "cache_read": 0.03, + "cache_write": 0.38 + } + }, + "minimax/minimax-m2.5": { + "id": "minimax/minimax-m2.5", + "name": "MiniMax M2.5", + "family": "minimax", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2026-02-12", + "last_updated": "2026-02-19", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 204800, + "output": 131000 + }, + "cost": { + "input": 0.3, + "output": 1.2, + "cache_read": 0.03, + "cache_write": 0.375 + } + }, + "minimax/minimax-m2.5-highspeed": { + "id": "minimax/minimax-m2.5-highspeed", + "name": "MiniMax M2.5 High Speed", + "family": "minimax", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2026-02-12", + "last_updated": "2026-03-13", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 0, + "output": 0 + }, + "cost": { + "input": 0.6, + "output": 2.4, + "cache_read": 0.03, + "cache_write": 0.375 + } + }, + "kwaipilot/kat-coder-pro-v1": { + "id": "kwaipilot/kat-coder-pro-v1", + "name": "KAT-Coder-Pro V1", + "family": "kat-coder", + "attachment": false, + "reasoning": true, + "tool_call": false, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2025-10-24", + "last_updated": "2025-10-24", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 256000, + "output": 32000 + } + }, + "kwaipilot/kat-coder-pro-v2": { + "id": "kwaipilot/kat-coder-pro-v2", + "name": "Kat Coder Pro V2", + "family": "kat-coder", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2026-03-27", + "last_updated": "2026-03-30", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 256000, + "output": 256000 + }, + "cost": { + "input": 0.3, + "output": 1.2, + "cache_read": 0.06 + } + }, + "google/gemini-2.5-flash-lite-preview-09-2025": { + "id": "google/gemini-2.5-flash-lite-preview-09-2025", + "name": "Gemini 2.5 Flash Lite Preview 09-25", + "family": "gemini-flash-lite", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2025-09-25", + "last_updated": "2025-09-25", + "modalities": { + "input": ["text", "image", "audio", "video", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1048576, + "output": 65536 + }, + "cost": { + "input": 0.1, + "output": 0.4, + "cache_read": 0.01 + } + }, + "google/gemini-3.1-flash-lite-preview": { + "id": "google/gemini-3.1-flash-lite-preview", "name": "Gemini 3.1 Flash Lite Preview", + "family": "gemini", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2026-03-03", + "last_updated": "2026-03-06", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000000, + "output": 65000 + }, + "cost": { + "input": 0.25, + "output": 1.5, + "cache_read": 0.025, + "cache_write": 1 + } + }, + "google/gemini-3-pro-image": { + "id": "google/gemini-3-pro-image", + "name": "Nano Banana Pro (Gemini 3 Pro Image)", + "family": "gemini-pro", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "knowledge": "2025-03", + "release_date": "2025-09", + "last_updated": "2025-09", + "modalities": { + "input": ["text"], + "output": ["text", "image"] + }, + "open_weights": false, + "limit": { + "context": 65536, + "output": 32768 + }, + "cost": { + "input": 2, + "output": 120 + } + }, + "google/gemini-3.1-pro-preview": { + "id": "google/gemini-3.1-pro-preview", + "name": "Gemini 3.1 Pro Preview", + "family": "gemini", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2026-02-19", + "last_updated": "2026-02-24", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000000, + "output": 64000 + }, + "cost": { + "input": 2, + "output": 12, + "cache_read": 0.2 + } + }, + "google/gemini-3-pro-preview": { + "id": "google/gemini-3-pro-preview", + "name": "Gemini 3 Pro Preview", + "family": "gemini-pro", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2025-11-18", + "last_updated": "2025-11-18", + "modalities": { + "input": ["text", "image", "video", "audio", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000000, + "output": 64000 + }, + "cost": { + "input": 2, + "output": 12, + "cache_read": 0.2, + "tiers": [ + { + "input": 4, + "output": 18, + "cache_read": 0.4, + "tier": { + "type": "context", + "size": 200000 + } + } + ], + "context_over_200k": { + "input": 4, + "output": 18, + "cache_read": 0.4 + } + } + }, + "google/imagen-4.0-ultra-generate-001": { + "id": "google/imagen-4.0-ultra-generate-001", + "name": "Imagen 4 Ultra", + "family": "imagen", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": false, + "release_date": "2025-05-24", + "last_updated": "2025-05-24", + "modalities": { + "input": ["text"], + "output": ["image"] + }, + "open_weights": false, + "limit": { + "context": 480, + "output": 0 + } + }, + "google/gemini-embedding-001": { + "id": "google/gemini-embedding-001", + "name": "Gemini Embedding 001", + "family": "gemini-embedding", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": false, + "release_date": "2025-05-20", + "last_updated": "2025-05-20", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 8192, + "output": 1536 + }, + "cost": { + "input": 0.15, + "output": 0 + } + }, + "google/gemma-4-31b-it": { + "id": "google/gemma-4-31b-it", + "name": "Gemma 4 31B IT", + "family": "gemma", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2026-04-02", + "last_updated": "2026-04-03", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 262144, + "output": 131072 + }, + "cost": { + "input": 0.14, + "output": 0.39999999999999997 + } + }, + "google/gemini-2.5-flash-image": { + "id": "google/gemini-2.5-flash-image", + "name": "Nano Banana (Gemini 2.5 Flash Image)", + "family": "gemini-flash", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2025-03-20", + "last_updated": "2025-03-20", + "modalities": { + "input": ["text"], + "output": ["text", "image"] + }, + "open_weights": false, + "limit": { + "context": 32768, + "output": 32768 + }, + "cost": { + "input": 0.3, + "output": 2.5 + } + }, + "google/text-embedding-005": { + "id": "google/text-embedding-005", + "name": "Text Embedding 005", + "family": "text-embedding", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": false, + "release_date": "2024-08", + "last_updated": "2024-08", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 8192, + "output": 1536 + }, + "cost": { + "input": 0.03, + "output": 0 + } + }, + "google/text-multilingual-embedding-002": { + "id": "google/text-multilingual-embedding-002", + "name": "Text Multilingual Embedding 002", + "family": "text-embedding", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": false, + "release_date": "2024-03", + "last_updated": "2024-03", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 8192, + "output": 1536 + }, + "cost": { + "input": 0.03, + "output": 0 + } + }, + "google/gemini-3.1-flash-image-preview": { + "id": "google/gemini-3.1-flash-image-preview", + "name": "Gemini 3.1 Flash Image Preview (Nano Banana 2)", + "family": "gemini", + "attachment": true, + "reasoning": true, + "tool_call": false, + "temperature": true, + "release_date": "2026-02-26", + "last_updated": "2026-03-06", + "modalities": { + "input": ["text", "image"], + "output": ["text", "image"] + }, + "open_weights": false, + "limit": { + "context": 131072, + "output": 32768 + }, + "cost": { + "input": 0.5, + "output": 3 + } + }, + "google/gemini-3.1-flash-lite": { + "id": "google/gemini-3.1-flash-lite", + "name": "Gemini 3.1 Flash Lite", + "family": "gemini", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2026-05-07", + "last_updated": "2026-05-08", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000000, + "output": 65000 + }, + "cost": { + "input": 0.25, + "output": 1.5, + "cache_read": 0.03 + } + }, + "google/gemini-3-flash": { + "id": "google/gemini-3-flash", + "name": "Gemini 3 Flash", + "family": "gemini-flash", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-03", + "release_date": "2025-12-17", + "last_updated": "2025-12-17", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000000, + "output": 64000 + }, + "cost": { + "input": 0.5, + "output": 3, + "cache_read": 0.05 + } + }, + "google/imagen-4.0-generate-001": { + "id": "google/imagen-4.0-generate-001", + "name": "Imagen 4", + "family": "imagen", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": false, + "release_date": "2025-05-22", + "last_updated": "2025-05-22", + "modalities": { + "input": ["text"], + "output": ["image"] + }, + "open_weights": false, + "limit": { + "context": 480, + "output": 0 + } + }, + "google/gemini-2.5-flash-preview-09-2025": { + "id": "google/gemini-2.5-flash-preview-09-2025", + "name": "Gemini 2.5 Flash Preview 09-25", + "family": "gemini-flash", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2025-09-25", + "last_updated": "2025-09-25", + "modalities": { + "input": ["text", "image", "audio", "video", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1048576, + "output": 65536 + }, + "cost": { + "input": 0.3, + "output": 2.5, + "cache_read": 0.03, + "cache_write": 0.383 + } + }, + "google/gemini-embedding-2": { + "id": "google/gemini-embedding-2", + "name": "Gemini Embedding 2", + "family": "gemini-embedding", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "release_date": "2026-03-10", + "last_updated": "2026-03-23", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 0, + "output": 0 + } + }, + "google/gemma-4-26b-a4b-it": { + "id": "google/gemma-4-26b-a4b-it", + "name": "Gemma 4 26B A4B IT", + "family": "gemma", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2026-04-02", + "last_updated": "2026-04-03", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 262144, + "output": 131072 + }, + "cost": { + "input": 0.13, + "output": 0.39999999999999997 + } + }, + "google/imagen-4.0-fast-generate-001": { + "id": "google/imagen-4.0-fast-generate-001", + "name": "Imagen 4 Fast", + "family": "imagen", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": false, + "release_date": "2025-06", + "last_updated": "2025-06", + "modalities": { + "input": ["text"], + "output": ["image"] + }, + "open_weights": false, + "limit": { + "context": 480, + "output": 0 + } + }, + "google/gemini-2.5-flash-lite": { + "id": "google/gemini-2.5-flash-lite", + "name": "Gemini 2.5 Flash Lite", + "family": "gemini-flash-lite", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2025-06-17", + "last_updated": "2025-06-17", + "modalities": { + "input": ["text", "image", "audio", "video", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1048576, + "output": 65536 + }, + "cost": { + "input": 0.1, + "output": 0.4, + "cache_read": 0.01 + } + }, + "google/gemini-2.5-flash-image-preview": { + "id": "google/gemini-2.5-flash-image-preview", + "name": "Nano Banana Preview (Gemini 2.5 Flash Image Preview)", + "family": "gemini-flash", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2025-03-20", + "last_updated": "2025-03-20", + "modalities": { + "input": ["text"], + "output": ["text", "image"] + }, + "open_weights": false, + "limit": { + "context": 32768, + "output": 32768 + }, + "cost": { + "input": 0.3, + "output": 2.5 + } + }, + "google/gemini-2.0-flash-lite": { + "id": "google/gemini-2.0-flash-lite", + "name": "Gemini 2.0 Flash Lite", + "family": "gemini-flash-lite", + "attachment": true, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2024-06", + "release_date": "2024-12-11", + "last_updated": "2024-12-11", + "modalities": { + "input": ["text", "image", "audio", "video", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1048576, + "output": 8192 + }, + "cost": { + "input": 0.075, + "output": 0.3 + } + }, + "google/gemini-2.5-flash": { + "id": "google/gemini-2.5-flash", + "name": "Gemini 2.5 Flash", "family": "gemini-flash", "attachment": true, "reasoning": true, "tool_call": true, "structured_output": true, "temperature": true, - "release_date": "2026-03-01", - "last_updated": "2026-03-01", - "modalities": { "input": ["text", "image", "audio", "video", "pdf"], "output": ["text"] }, + "knowledge": "2025-01", + "release_date": "2025-03-20", + "last_updated": "2025-06-05", + "modalities": { + "input": ["text", "image", "audio", "video", "pdf"], + "output": ["text"] + }, "open_weights": false, - "cost": { "input": 0.25, "output": 1.5, "cache_read": 0.025, "cache_write": 1 }, - "limit": { "context": 1048576, "output": 65536 } + "limit": { + "context": 1048576, + "output": 65536 + }, + "cost": { + "input": 0.3, + "output": 2.5, + "cache_read": 0.03, + "input_audio": 1 + } + }, + "google/gemini-2.5-pro": { + "id": "google/gemini-2.5-pro", + "name": "Gemini 2.5 Pro", + "family": "gemini-pro", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2025-03-20", + "last_updated": "2025-06-05", + "modalities": { + "input": ["text", "image", "audio", "video", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1048576, + "output": 65536 + }, + "cost": { + "input": 1.25, + "output": 10, + "cache_read": 0.125, + "tiers": [ + { + "input": 2.5, + "output": 15, + "cache_read": 0.25, + "tier": { + "type": "context", + "size": 200000 + } + } + ], + "context_over_200k": { + "input": 2.5, + "output": 15, + "cache_read": 0.25 + } + } + }, + "google/gemini-2.0-flash": { + "id": "google/gemini-2.0-flash", + "name": "Gemini 2.0 Flash", + "family": "gemini-flash", + "attachment": true, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2024-06", + "release_date": "2024-12-11", + "last_updated": "2024-12-11", + "modalities": { + "input": ["text", "image", "audio", "video", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1048576, + "output": 8192 + }, + "cost": { + "input": 0.1, + "output": 0.4, + "cache_read": 0.025 + } + }, + "moonshotai/kimi-k2-turbo": { + "id": "moonshotai/kimi-k2-turbo", + "name": "Kimi K2 Turbo", + "family": "kimi", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-08", + "release_date": "2025-09-05", + "last_updated": "2025-09-05", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 256000, + "output": 16384 + }, + "cost": { + "input": 2.4, + "output": 10 + } + }, + "moonshotai/kimi-k2.5": { + "id": "moonshotai/kimi-k2.5", + "name": "Kimi K2.5", + "family": "kimi", + "attachment": true, + "reasoning": true, + "tool_call": true, + "interleaved": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2026-01-26", + "last_updated": "2026-01-26", + "modalities": { + "input": ["text", "image", "video"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 262144 + }, + "cost": { + "input": 0.6, + "output": 1.2 + } + }, + "moonshotai/kimi-k2-thinking-turbo": { + "id": "moonshotai/kimi-k2-thinking-turbo", + "name": "Kimi K2 Thinking Turbo", + "family": "kimi-thinking", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": true, + "temperature": true, + "knowledge": "2024-08", + "release_date": "2025-11-06", + "last_updated": "2025-11-06", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 262114, + "output": 262114 + }, + "cost": { + "input": 1.15, + "output": 8, + "cache_read": 0.15 + } + }, + "moonshotai/kimi-k2-0905": { + "id": "moonshotai/kimi-k2-0905", + "name": "Kimi K2 0905", + "family": "kimi", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2025-09-05", + "last_updated": "2025-09-05", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 131072, + "output": 16384 + }, + "cost": { + "input": 0.6, + "output": 2.5 + } + }, + "moonshotai/kimi-k2.6": { + "id": "moonshotai/kimi-k2.6", + "name": "Kimi K2.6", + "family": "kimi-k2.6", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2026-04-20", + "last_updated": "2026-04-24", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262000, + "output": 262000 + }, + "cost": { + "input": 0.95, + "output": 4, + "cache_read": 0.16 + } + }, + "moonshotai/kimi-k2-thinking": { + "id": "moonshotai/kimi-k2-thinking", + "name": "Kimi K2 Thinking", + "family": "kimi-thinking", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": true, + "temperature": true, + "knowledge": "2024-08", + "release_date": "2025-11-06", + "last_updated": "2025-11-06", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 216144, + "output": 216144 + }, + "cost": { + "input": 0.47, + "output": 2, + "cache_read": 0.14 + } + }, + "moonshotai/kimi-k2": { + "id": "moonshotai/kimi-k2", + "name": "Kimi K2 Instruct", + "family": "kimi", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2025-07-14", + "last_updated": "2025-07-14", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 16384 + }, + "status": "deprecated", + "cost": { + "input": 1, + "output": 3 + } + }, + "interfaze/interfaze-beta": { + "id": "interfaze/interfaze-beta", + "name": "Interfaze Beta", + "attachment": false, + "reasoning": true, + "tool_call": false, + "temperature": true, + "release_date": "2025-10-07", + "last_updated": "2026-04-29", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000000, + "output": 32000 + }, + "cost": { + "input": 1.5, + "output": 3.5 + } + }, + "anthropic/claude-3.5-sonnet-20240620": { + "id": "anthropic/claude-3.5-sonnet-20240620", + "name": "Claude 3.5 Sonnet (2024-06-20)", + "family": "claude-sonnet", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-04", + "release_date": "2024-06-20", + "last_updated": "2024-06-20", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 8192 + }, + "cost": { + "input": 3, + "output": 15 + } + }, + "anthropic/claude-opus-4.6": { + "id": "anthropic/claude-opus-4.6", + "name": "Claude Opus 4.6", + "family": "claude-opus", + "attachment": true, + "reasoning": true, + "tool_call": true, + "interleaved": true, + "temperature": true, + "knowledge": "2025-05-31", + "release_date": "2026-02", + "last_updated": "2026-02", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000000, + "output": 128000 + }, + "cost": { + "input": 5, + "output": 25, + "cache_read": 0.5, + "cache_write": 6.25 + } + }, + "anthropic/claude-opus-4.7": { + "id": "anthropic/claude-opus-4.7", + "name": "Claude Opus 4.7", + "family": "claude-opus", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": false, + "release_date": "2026-04-16", + "last_updated": "2026-04-16", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000000, + "output": 128000 + }, + "cost": { + "input": 5, + "output": 25, + "cache_read": 0.5, + "cache_write": 6.25 + } + }, + "anthropic/claude-opus-4.5": { + "id": "anthropic/claude-opus-4.5", + "name": "Claude Opus 4.5", + "family": "claude-opus", + "attachment": true, + "reasoning": true, + "tool_call": true, + "interleaved": true, + "temperature": true, + "knowledge": "2025-03-31", + "release_date": "2025-11-24", + "last_updated": "2025-11-24", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 64000 + }, + "cost": { + "input": 5, + "output": 25, + "cache_read": 0.5, + "cache_write": 18.75 + } + }, + "anthropic/claude-haiku-4.5": { + "id": "anthropic/claude-haiku-4.5", + "name": "Claude Haiku 4.5", + "family": "claude-haiku", + "attachment": true, + "reasoning": true, + "tool_call": true, + "interleaved": true, + "temperature": true, + "knowledge": "2025-02-28", + "release_date": "2025-10-15", + "last_updated": "2025-10-15", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 64000 + }, + "cost": { + "input": 1, + "output": 5, + "cache_read": 0.1, + "cache_write": 1.25 + } + }, + "anthropic/claude-sonnet-4.6": { + "id": "anthropic/claude-sonnet-4.6", + "name": "Claude Sonnet 4.6", + "family": "claude-sonnet", + "attachment": true, + "reasoning": true, + "tool_call": true, + "interleaved": true, + "temperature": true, + "knowledge": "2025-08-31", + "release_date": "2026-02-17", + "last_updated": "2026-02-17", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000000, + "output": 128000 + }, + "cost": { + "input": 3, + "output": 15, + "cache_read": 0.3, + "cache_write": 3.75, + "tiers": [ + { + "input": 6, + "output": 22.5, + "cache_read": 0.6, + "cache_write": 7.5, + "tier": { + "type": "context", + "size": 200000 + } + } + ], + "context_over_200k": { + "input": 6, + "output": 22.5, + "cache_read": 0.6, + "cache_write": 7.5 + } + } + }, + "anthropic/claude-3-opus": { + "id": "anthropic/claude-3-opus", + "name": "Claude Opus 3", + "family": "claude-opus", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2023-08-31", + "release_date": "2024-02-29", + "last_updated": "2024-02-29", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 4096 + }, + "cost": { + "input": 15, + "output": 75, + "cache_read": 1.5, + "cache_write": 18.75 + } + }, + "anthropic/claude-3.5-haiku": { + "id": "anthropic/claude-3.5-haiku", + "name": "Claude Haiku 3.5", + "family": "claude-haiku", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-07-31", + "release_date": "2024-10-22", + "last_updated": "2024-10-22", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 8192 + }, + "cost": { + "input": 0.8, + "output": 4, + "cache_read": 0.08, + "cache_write": 1 + } + }, + "anthropic/claude-opus-4": { + "id": "anthropic/claude-opus-4", + "name": "Claude Opus 4", + "family": "claude-opus", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-03-31", + "release_date": "2025-05-22", + "last_updated": "2025-05-22", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 32000 + }, + "cost": { + "input": 15, + "output": 75, + "cache_read": 1.5, + "cache_write": 18.75 + } + }, + "anthropic/claude-3-haiku": { + "id": "anthropic/claude-3-haiku", + "name": "Claude Haiku 3", + "family": "claude-haiku", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2023-08-31", + "release_date": "2024-03-13", + "last_updated": "2024-03-13", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 4096 + }, + "cost": { + "input": 0.25, + "output": 1.25, + "cache_read": 0.03, + "cache_write": 0.3 + } + }, + "anthropic/claude-sonnet-4.5": { + "id": "anthropic/claude-sonnet-4.5", + "name": "Claude Sonnet 4.5", + "family": "claude-sonnet", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-07-31", + "release_date": "2025-09-29", + "last_updated": "2025-09-29", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 64000 + }, + "cost": { + "input": 3, + "output": 15, + "cache_read": 0.3, + "cache_write": 3.75 + } + }, + "anthropic/claude-sonnet-4": { + "id": "anthropic/claude-sonnet-4", + "name": "Claude Sonnet 4", + "family": "claude-sonnet", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-03-31", + "release_date": "2025-05-22", + "last_updated": "2025-05-22", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 64000 + }, + "cost": { + "input": 3, + "output": 15, + "cache_read": 0.3, + "cache_write": 3.75 + } + }, + "anthropic/claude-3.5-sonnet": { + "id": "anthropic/claude-3.5-sonnet", + "name": "Claude Sonnet 3.5 v2", + "family": "claude-sonnet", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-04-30", + "release_date": "2024-10-22", + "last_updated": "2024-10-22", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 8192 + }, + "cost": { + "input": 3, + "output": 15, + "cache_read": 0.3, + "cache_write": 3.75 + } + }, + "anthropic/claude-3.7-sonnet": { + "id": "anthropic/claude-3.7-sonnet", + "name": "Claude Sonnet 3.7", + "family": "claude-sonnet", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-10-31", + "release_date": "2025-02-19", + "last_updated": "2025-02-19", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 64000 + }, + "cost": { + "input": 3, + "output": 15, + "cache_read": 0.3, + "cache_write": 3.75 + } + }, + "anthropic/claude-opus-4.1": { + "id": "anthropic/claude-opus-4.1", + "name": "Claude Opus 4", + "family": "claude-opus", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-03-31", + "release_date": "2025-05-22", + "last_updated": "2025-05-22", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 32000 + }, + "cost": { + "input": 15, + "output": 75, + "cache_read": 1.5, + "cache_write": 18.75 + } + }, + "xiaomi/mimo-v2.5-pro": { + "id": "xiaomi/mimo-v2.5-pro", + "name": "MiMo V2.5 Pro", + "family": "mimo-v2.5-pro", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2026-04-22", + "last_updated": "2026-05-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1050000, + "output": 131000 + }, + "cost": { + "input": 1, + "output": 3, + "cache_read": 0.19999999999999998 + } + }, + "xiaomi/mimo-v2.5": { + "id": "xiaomi/mimo-v2.5", + "name": "MiMo M2.5", + "family": "mimo-v2.5", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2026-04-22", + "last_updated": "2026-05-01", + "modalities": { + "input": ["text", "image", "audio", "video"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1050000, + "output": 131100 + }, + "cost": { + "input": 0.39999999999999997, + "output": 2, + "cache_read": 0.08 + } + }, + "xiaomi/mimo-v2-pro": { + "id": "xiaomi/mimo-v2-pro", + "name": "MiMo V2 Pro", + "family": "mimo", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2026-03-18", + "last_updated": "2026-03-20", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000000, + "output": 128000 + }, + "cost": { + "input": 1, + "output": 3, + "cache_read": 0.19999999999999998 + } + }, + "xiaomi/mimo-v2-flash": { + "id": "xiaomi/mimo-v2-flash", + "name": "MiMo V2 Flash", + "family": "mimo", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2025-12-17", + "last_updated": "2025-12-17", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 262144, + "output": 32000 + }, + "cost": { + "input": 0.1, + "output": 0.29 + } + }, + "bytedance/seed-1.6": { + "id": "bytedance/seed-1.6", + "name": "Seed 1.6", + "family": "seed", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2025-09", + "last_updated": "2025-09", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 256000, + "output": 32000 + }, + "cost": { + "input": 0.25, + "output": 2, + "cache_read": 0.05 + } + }, + "bytedance/seed-1.8": { + "id": "bytedance/seed-1.8", + "name": "Seed 1.8", + "family": "seed", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2025-10", + "last_updated": "2025-10", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 256000, + "output": 64000 + }, + "cost": { + "input": 0.25, + "output": 2, + "cache_read": 0.05 + } + }, + "meituan/longcat-flash-chat": { + "id": "meituan/longcat-flash-chat", + "name": "LongCat Flash Chat", + "family": "longcat", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2025-08-30", + "last_updated": "2025-08-30", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 8192 + } + }, + "meituan/longcat-flash-thinking": { + "id": "meituan/longcat-flash-thinking", + "name": "LongCat Flash Thinking", + "family": "longcat", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2025-09-23", + "last_updated": "2025-09-23", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 8192 + }, + "cost": { + "input": 0.15, + "output": 1.5 + } + }, + "meituan/longcat-flash-thinking-2601": { + "id": "meituan/longcat-flash-thinking-2601", + "name": "LongCat Flash Thinking 2601", + "family": "longcat", + "attachment": false, + "reasoning": true, + "tool_call": false, + "temperature": true, + "release_date": "2026-03-13", + "last_updated": "2026-03-13", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 32768, + "output": 32768 + } + }, + "bfl/flux-pro-1.0-fill": { + "id": "bfl/flux-pro-1.0-fill", + "name": "FLUX.1 Fill [pro]", + "family": "flux", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": false, + "release_date": "2024-10", + "last_updated": "2024-10", + "modalities": { + "input": ["text"], + "output": ["image"] + }, + "open_weights": false, + "limit": { + "context": 512, + "output": 0 + } + }, + "bfl/flux-pro-1.1": { + "id": "bfl/flux-pro-1.1", + "name": "FLUX1.1 [pro]", + "family": "flux", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": false, + "release_date": "2024-10", + "last_updated": "2024-10", + "modalities": { + "input": ["text"], + "output": ["image"] + }, + "open_weights": false, + "limit": { + "context": 512, + "output": 0 + } + }, + "bfl/flux-kontext-pro": { + "id": "bfl/flux-kontext-pro", + "name": "FLUX.1 Kontext Pro", + "family": "flux", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": false, + "release_date": "2025-06", + "last_updated": "2025-06", + "modalities": { + "input": ["text"], + "output": ["image"] + }, + "open_weights": false, + "limit": { + "context": 512, + "output": 0 + } + }, + "bfl/flux-kontext-max": { + "id": "bfl/flux-kontext-max", + "name": "FLUX.1 Kontext Max", + "family": "flux", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": false, + "release_date": "2025-06", + "last_updated": "2025-06", + "modalities": { + "input": ["text"], + "output": ["image"] + }, + "open_weights": false, + "limit": { + "context": 512, + "output": 0 + } + }, + "bfl/flux-pro-1.1-ultra": { + "id": "bfl/flux-pro-1.1-ultra", + "name": "FLUX1.1 [pro] Ultra", + "family": "flux", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": false, + "release_date": "2024-11", + "last_updated": "2024-11", + "modalities": { + "input": ["text"], + "output": ["image"] + }, + "open_weights": false, + "limit": { + "context": 512, + "output": 0 + } + } + } + }, + "minimax": { + "id": "minimax", + "env": ["MINIMAX_API_KEY"], + "npm": "@ai-sdk/anthropic", + "api": "https://api.minimax.io/anthropic/v1", + "name": "MiniMax (minimax.io)", + "doc": "https://platform.minimax.io/docs/guides/quickstart", + "models": { + "MiniMax-M2": { + "id": "MiniMax-M2", + "name": "MiniMax-M2", + "family": "minimax", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2025-10-27", + "last_updated": "2025-10-27", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 196608, + "output": 128000 + }, + "cost": { + "input": 0.3, + "output": 1.2 + } + }, + "MiniMax-M2.5": { + "id": "MiniMax-M2.5", + "name": "MiniMax-M2.5", + "family": "minimax", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2026-02-12", + "last_updated": "2026-02-12", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 204800, + "output": 131072 + }, + "cost": { + "input": 0.3, + "output": 1.2, + "cache_read": 0.03, + "cache_write": 0.375 + } + }, + "MiniMax-M2.7": { + "id": "MiniMax-M2.7", + "name": "MiniMax-M2.7", + "family": "minimax", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2026-03-18", + "last_updated": "2026-03-18", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 204800, + "output": 131072 + }, + "cost": { + "input": 0.3, + "output": 1.2, + "cache_read": 0.06, + "cache_write": 0.375 + } + }, + "MiniMax-M2.7-highspeed": { + "id": "MiniMax-M2.7-highspeed", + "name": "MiniMax-M2.7-highspeed", + "family": "minimax", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2026-03-18", + "last_updated": "2026-03-18", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 204800, + "output": 131072 + }, + "cost": { + "input": 0.6, + "output": 2.4, + "cache_read": 0.06, + "cache_write": 0.375 + } + }, + "MiniMax-M2.1": { + "id": "MiniMax-M2.1", + "name": "MiniMax-M2.1", + "family": "minimax", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2025-12-23", + "last_updated": "2025-12-23", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 204800, + "output": 131072 + }, + "cost": { + "input": 0.3, + "output": 1.2 + } + }, + "MiniMax-M2.5-highspeed": { + "id": "MiniMax-M2.5-highspeed", + "name": "MiniMax-M2.5-highspeed", + "family": "minimax", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2026-02-13", + "last_updated": "2026-02-13", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 204800, + "output": 131072 + }, + "cost": { + "input": 0.6, + "output": 2.4, + "cache_read": 0.06, + "cache_write": 0.375 + } + } + } + }, + "llmgateway": { + "id": "llmgateway", + "env": ["LLMGATEWAY_API_KEY"], + "npm": "@ai-sdk/openai-compatible", + "api": "https://api.llmgateway.io/v1", + "name": "LLM Gateway", + "doc": "https://llmgateway.io/docs", + "models": { + "gpt-4o-mini-search-preview": { + "id": "gpt-4o-mini-search-preview", + "name": "GPT-4o Mini Search Preview", + "family": "gpt", + "attachment": true, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "temperature": true, + "release_date": "2024-10-01", + "last_updated": "2024-10-01", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 16384 + }, + "cost": { + "input": 0.15, + "output": 0.6 + } + }, + "grok-4-1-fast-reasoning": { + "id": "grok-4-1-fast-reasoning", + "name": "Grok 4.1 Fast Reasoning", + "family": "grok", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-11-19", + "last_updated": "2025-11-19", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 2000000, + "output": 30000 + }, + "cost": { + "input": 0.2, + "output": 0.5, + "cache_read": 0.05 + } + }, + "qwen3-235b-a22b-instruct-2507": { + "id": "qwen3-235b-a22b-instruct-2507", + "name": "Qwen3 235B A22B Instruct (2507)", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-07-08", + "last_updated": "2025-07-08", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 8192 + }, + "cost": { + "input": 0.8, + "output": 2.4 + } + }, + "llama-4-scout": { + "id": "llama-4-scout", + "name": "Llama 4 Scout", + "family": "llama", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": false, + "temperature": true, + "release_date": "2025-04-05", + "last_updated": "2025-04-05", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 32768, + "output": 16384 + }, + "status": "beta", + "cost": { + "input": 0.18, + "output": 0.59 + } + }, + "hermes-2-pro-llama-3-8b": { + "id": "hermes-2-pro-llama-3-8b", + "name": "Hermes 2 Pro Llama 3 8B", + "family": "hermes", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "temperature": true, + "release_date": "2024-05-27", + "last_updated": "2024-05-27", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 8192, + "output": 8192 + }, + "cost": { + "input": 0.14, + "output": 0.14 + } + }, + "qwen-coder-plus": { + "id": "qwen-coder-plus", + "name": "Qwen Coder Plus", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2024-09-18", + "last_updated": "2024-09-18", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 131072, + "output": 8192 + }, + "cost": { + "input": 0.5, + "output": 1 + } + }, + "auto": { + "id": "auto", + "name": "Auto Route", + "family": "auto", + "attachment": true, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2024-01-01", + "last_updated": "2024-01-01", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 16384 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "glm-4.6v-flashx": { + "id": "glm-4.6v-flashx", + "name": "GLM-4.6V FlashX", + "family": "glm", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-12-08", + "last_updated": "2025-12-08", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 16000 + }, + "cost": { + "input": 0.04, + "output": 0.4, + "cache_read": 0 + } + }, + "gemma-2-27b-it-together": { + "id": "gemma-2-27b-it-together", + "name": "Gemma 2 27B IT", + "family": "gemma", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "temperature": true, + "release_date": "2024-06-27", + "last_updated": "2024-06-27", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 8192, + "output": 16384 + }, + "cost": { + "input": 0.08, + "output": 0.08 + } + }, + "codestral-2508": { + "id": "codestral-2508", + "name": "Codestral", + "family": "mistral", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": true, + "temperature": true, + "release_date": "2025-07-30", + "last_updated": "2025-07-30", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 256000, + "output": 16384 + }, + "cost": { + "input": 0.3, + "output": 0.9 + } + }, + "gemma-3-1b-it": { + "id": "gemma-3-1b-it", + "name": "Gemma 3 1B IT", + "family": "gemma", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "temperature": true, + "release_date": "2025-03-12", + "last_updated": "2025-03-12", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 1000000, + "output": 16384 + }, + "cost": { + "input": 0.08, + "output": 0.3 + } + }, + "glm-4-32b-0414-128k": { + "id": "glm-4-32b-0414-128k", + "name": "GLM-4 32B (0414-128k)", + "family": "glm", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-04-14", + "last_updated": "2025-04-14", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 16384 + }, + "cost": { + "input": 0.1, + "output": 0.1 + } + }, + "seed-1-6-flash-250715": { + "id": "seed-1-6-flash-250715", + "name": "Seed 1.6 Flash (250715)", + "family": "seed", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-07-26", + "last_updated": "2025-07-26", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 256000, + "output": 8192 + }, + "cost": { + "input": 0.07, + "output": 0.3, + "cache_read": 0.01 + } + }, + "seed-1-6-250615": { + "id": "seed-1-6-250615", + "name": "Seed 1.6 (250615)", + "family": "seed", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-06-25", + "last_updated": "2025-06-25", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 256000, + "output": 8192 + }, + "cost": { + "input": 0.25, + "output": 2, + "cache_read": 0.05 + } + }, + "qwen3-vl-235b-a22b-thinking": { + "id": "qwen3-vl-235b-a22b-thinking", + "name": "Qwen3 VL 235B A22B Thinking", + "family": "qwen", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-09-15", + "last_updated": "2025-09-15", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 8192 + }, + "cost": { + "input": 0.8, + "output": 2.4 + } + }, + "qwen3-vl-30b-a3b-thinking": { + "id": "qwen3-vl-30b-a3b-thinking", + "name": "Qwen3 VL 30B A3B Thinking", + "family": "qwen", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-10-02", + "last_updated": "2025-10-02", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 8192 + }, + "cost": { + "input": 0.1, + "output": 0.1 + } + }, + "qwen2-5-vl-32b-instruct": { + "id": "qwen2-5-vl-32b-instruct", + "name": "Qwen2.5 VL 32B Instruct", + "family": "qwen", + "attachment": true, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-03-15", + "last_updated": "2025-03-15", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 8192 + }, + "cost": { + "input": 0.3, + "output": 0.3 + } + }, + "qwen3-vl-8b-instruct": { + "id": "qwen3-vl-8b-instruct", + "name": "Qwen3 VL 8B Instruct", + "family": "qwen", + "attachment": true, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "temperature": true, + "release_date": "2025-08-19", + "last_updated": "2025-08-19", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 8192 + }, + "cost": { + "input": 0.1, + "output": 0.1 + } + }, + "claude-3-7-sonnet": { + "id": "claude-3-7-sonnet", + "name": "Claude 3.7 Sonnet", + "family": "claude", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": false, + "temperature": true, + "release_date": "2025-02-24", + "last_updated": "2025-02-24", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 8192 + }, + "cost": { + "input": 3, + "output": 15, + "cache_read": 0.3 + } + }, + "gemini-pro-latest": { + "id": "gemini-pro-latest", + "name": "Gemini Pro Latest", + "family": "gemini", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2026-02-27", + "last_updated": "2026-02-27", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1048576, + "output": 65536 + }, + "cost": { + "input": 2, + "output": 12, + "cache_read": 0.2 + } + }, + "claude-3-5-haiku": { + "id": "claude-3-5-haiku", + "name": "Claude 3.5 Haiku", + "family": "claude", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": false, + "temperature": true, + "release_date": "2024-10-22", + "last_updated": "2024-10-22", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 8192 + }, + "status": "deprecated", + "cost": { + "input": 0.8, + "output": 4, + "cache_read": 0.08 + } + }, + "qwen-max-latest": { + "id": "qwen-max-latest", + "name": "Qwen Max Latest", + "family": "qwen", + "attachment": true, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-01-25", + "last_updated": "2025-01-25", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 32768, + "output": 8192 + }, + "cost": { + "input": 1.6, + "output": 6.4 + } + }, + "glm-4.6v-flash": { + "id": "glm-4.6v-flash", + "name": "GLM-4.6V Flash", + "family": "glm", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-12-08", + "last_updated": "2025-12-08", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 16000 + }, + "status": "beta", + "cost": { + "input": 0, + "output": 0 + } + }, + "qwen3-30b-a3b-instruct-2507": { + "id": "qwen3-30b-a3b-instruct-2507", + "name": "Qwen3 30B A3B Instruct (2507)", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-07-08", + "last_updated": "2025-07-08", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 8192 + }, + "cost": { + "input": 0.1, + "output": 0.1 + } + }, + "minimax-text-01": { + "id": "minimax-text-01", + "name": "MiniMax Text 01", + "family": "minimax", + "attachment": false, + "reasoning": true, + "tool_call": false, + "structured_output": false, + "temperature": true, + "release_date": "2025-01-15", + "last_updated": "2025-01-15", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 1000000, + "output": 131072 + }, + "cost": { + "input": 0.2, + "output": 1.1 + } + }, + "qwen3-32b-fp8": { + "id": "qwen3-32b-fp8", + "name": "Qwen3 32B FP8", + "family": "qwen", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-04-28", + "last_updated": "2025-04-28", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 8192 + }, + "cost": { + "input": 0.1, + "output": 0.1 + } + }, + "llama-4-scout-17b-instruct": { + "id": "llama-4-scout-17b-instruct", + "name": "Llama 4 Scout 17B Instruct", + "family": "llama", + "attachment": true, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "temperature": true, + "release_date": "2025-04-05", + "last_updated": "2025-04-05", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 8192, + "output": 2048 + }, + "cost": { + "input": 0.17, + "output": 0.66 + } + }, + "qwen3-4b-fp8": { + "id": "qwen3-4b-fp8", + "name": "Qwen3 4B FP8", + "family": "qwen", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-04-28", + "last_updated": "2025-04-28", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 8192 + }, + "cost": { + "input": 0.03, + "output": 0.05 + } + }, + "ministral-8b-2512": { + "id": "ministral-8b-2512", + "name": "Ministral 8B", + "family": "mistral", + "attachment": true, + "reasoning": false, + "tool_call": false, + "structured_output": true, + "temperature": true, + "release_date": "2025-12-02", + "last_updated": "2025-12-02", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 8192 + }, + "cost": { + "input": 0.15, + "output": 0.15 + } + }, + "gemma-3-27b": { + "id": "gemma-3-27b", + "name": "Gemma 3 27B", + "family": "gemma", + "attachment": true, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "temperature": true, + "release_date": "2025-03-12", + "last_updated": "2025-03-12", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 16384 + }, + "cost": { + "input": 0.27, + "output": 0.27 + } + }, + "qwen3-vl-flash": { + "id": "qwen3-vl-flash", + "name": "Qwen3 VL Flash", + "family": "qwen", + "attachment": true, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-10-09", + "last_updated": "2025-10-09", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000000, + "output": 32000 + }, + "cost": { + "input": 0.05, + "output": 0.4, + "cache_read": 0.01 + } + }, + "llama-3.1-70b-instruct": { + "id": "llama-3.1-70b-instruct", + "name": "Llama 3.1 70B Instruct", + "family": "llama", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "temperature": true, + "release_date": "2024-07-23", + "last_updated": "2024-07-23", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 2048 + }, + "status": "beta", + "cost": { + "input": 0.72, + "output": 0.72 + } + }, + "seed-1-8-251228": { + "id": "seed-1-8-251228", + "name": "Seed 1.8 (251228)", + "family": "seed", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-12-18", + "last_updated": "2025-12-18", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 256000, + "output": 8192 + }, + "cost": { + "input": 0.25, + "output": 2, + "cache_read": 0.05 + } + }, + "qwen3-235b-a22b-thinking-2507": { + "id": "qwen3-235b-a22b-thinking-2507", + "name": "Qwen3 235B A22B Thinking (2507)", + "family": "qwen", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-07-08", + "last_updated": "2025-07-08", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 8192 + }, + "cost": { + "input": 0.8, + "output": 2.4 + } + }, + "seed-1-6-250915": { + "id": "seed-1-6-250915", + "name": "Seed 1.6 (250915)", + "family": "seed", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-09-15", + "last_updated": "2025-09-15", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 256000, + "output": 8192 + }, + "cost": { + "input": 0.25, + "output": 2, + "cache_read": 0.05 + } + }, + "glm-4.5-x": { + "id": "glm-4.5-x", + "name": "GLM-4.5 X", + "family": "glm", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-07-28", + "last_updated": "2025-07-28", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 16384 + }, + "status": "beta", + "cost": { + "input": 2.2, + "output": 8.9, + "cache_read": 0.45 + } + }, + "qwen3-30b-a3b-thinking-2507": { + "id": "qwen3-30b-a3b-thinking-2507", + "name": "Qwen3 30B A3B Thinking (2507)", + "family": "qwen", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-07-08", + "last_updated": "2025-07-08", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 8192 + }, + "cost": { + "input": 0.1, + "output": 0.1 + } + }, + "grok-4-fast-reasoning": { + "id": "grok-4-fast-reasoning", + "name": "Grok 4 Fast Reasoning", + "family": "grok", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-07-09", + "last_updated": "2025-07-09", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 2000000, + "output": 30000 + }, + "cost": { + "input": 0.2, + "output": 0.5, + "cache_read": 0.05 + } + }, + "deepseek-v3.1": { + "id": "deepseek-v3.1", + "name": "DeepSeek V3.1", + "family": "deepseek", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-08-21", + "last_updated": "2025-08-21", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 32768 + }, + "cost": { + "input": 0.56, + "output": 1.68, + "cache_read": 0.11 + } + }, + "ministral-3b-2512": { + "id": "ministral-3b-2512", + "name": "Ministral 3B", + "family": "mistral", + "attachment": true, + "reasoning": false, + "tool_call": false, + "structured_output": true, + "temperature": true, + "release_date": "2025-12-02", + "last_updated": "2025-12-02", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 8192 + }, + "cost": { + "input": 0.1, + "output": 0.1 + } + }, + "qwen-plus-latest": { + "id": "qwen-plus-latest", + "name": "Qwen Plus Latest", + "family": "qwen", + "attachment": true, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-01-25", + "last_updated": "2025-01-25", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 131072, + "output": 8192 + }, + "cost": { + "input": 0.3, + "output": 0.9 + } + }, + "llama-3.1-nemotron-ultra-253b": { + "id": "llama-3.1-nemotron-ultra-253b", + "name": "Llama 3.1 Nemotron Ultra 253B", + "family": "llama", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": true, + "temperature": true, + "release_date": "2025-04-07", + "last_updated": "2025-04-07", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 8192 + }, + "cost": { + "input": 0.6, + "output": 1.8 + } + }, + "llama-4-maverick-17b-instruct": { + "id": "llama-4-maverick-17b-instruct", + "name": "Llama 4 Maverick 17B Instruct", + "family": "llama", + "attachment": true, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "temperature": true, + "release_date": "2025-04-05", + "last_updated": "2025-04-05", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 8192, + "output": 2048 + }, + "cost": { + "input": 0.24, + "output": 0.97 + } + }, + "grok-4-0709": { + "id": "grok-4-0709", + "name": "Grok 4 (0709)", + "family": "grok", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-07-09", + "last_updated": "2025-07-09", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 256000, + "output": 256000 + }, + "cost": { + "input": 3, + "output": 15 + } + }, + "qwen3-30b-a3b-fp8": { + "id": "qwen3-30b-a3b-fp8", + "name": "Qwen3 30B A3B FP8", + "family": "qwen", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-04-28", + "last_updated": "2025-04-28", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 8192 + }, + "cost": { + "input": 0.1, + "output": 0.1 + } + }, + "minimax-m2.1-lightning": { + "id": "minimax-m2.1-lightning", + "name": "MiniMax M2.1 Lightning", + "family": "minimax", + "attachment": false, + "reasoning": true, + "tool_call": false, + "structured_output": false, + "temperature": true, + "release_date": "2025-12-23", + "last_updated": "2025-12-23", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 196608, + "output": 131072 + }, + "cost": { + "input": 0.12, + "output": 0.48 + } + }, + "qwen3-max-2026-01-23": { + "id": "qwen3-max-2026-01-23", + "name": "Qwen3 Max (2026-01-23)", + "family": "qwen", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2026-01-23", + "last_updated": "2026-01-23", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 256000, + "output": 32800 + }, + "cost": { + "input": 3, + "output": 15, + "cache_read": 0.6 + } + }, + "llama-3.2-3b-instruct": { + "id": "llama-3.2-3b-instruct", + "name": "Llama 3.2 3B Instruct", + "family": "llama", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": true, + "temperature": true, + "release_date": "2024-09-18", + "last_updated": "2024-09-18", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 32768, + "output": 32000 + }, + "cost": { + "input": 0.03, + "output": 0.05 + } + }, + "qwen3-coder-next": { + "id": "qwen3-coder-next", + "name": "Qwen3 Coder Next", + "family": "qwen", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-10-15", + "last_updated": "2025-10-15", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 262144, + "output": 65536 + }, + "cost": { + "input": 0.8, + "output": 4 + } + }, + "gpt-4o-search-preview": { + "id": "gpt-4o-search-preview", + "name": "GPT-4o Search Preview", + "family": "gpt", + "attachment": true, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "temperature": true, + "release_date": "2024-10-01", + "last_updated": "2024-10-01", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 16384 + }, + "cost": { + "input": 2.5, + "output": 10 + } + }, + "custom": { + "id": "custom", + "name": "Custom Model", + "family": "auto", + "attachment": true, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2024-01-01", + "last_updated": "2024-01-01", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 16384 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "qwen3-vl-30b-a3b-instruct": { + "id": "qwen3-vl-30b-a3b-instruct", + "name": "Qwen3 VL 30B A3B Instruct", + "family": "qwen", + "attachment": true, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-10-02", + "last_updated": "2025-10-02", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 8192 + }, + "cost": { + "input": 0.1, + "output": 0.1 + } + }, + "deepseek-v3.2": { + "id": "deepseek-v3.2", + "name": "DeepSeek V3.2", + "family": "deepseek", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-09-29", + "last_updated": "2025-09-29", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 163840, + "output": 16384 + }, + "cost": { + "input": 0.28, + "output": 0.42, + "cache_read": 0.03 + } + }, + "qwen3-235b-a22b-fp8": { + "id": "qwen3-235b-a22b-fp8", + "name": "Qwen3 235B A22B FP8", + "family": "qwen", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-04-28", + "last_updated": "2025-04-28", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 8192 + }, + "cost": { + "input": 0.5, + "output": 2.5 + } + }, + "gpt-oss-20b": { + "id": "gpt-oss-20b", + "name": "GPT OSS 20B", + "family": "gpt-oss", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-08-05", + "last_updated": "2025-08-05", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 131072, + "output": 32766 + }, + "cost": { + "input": 0.1, + "output": 0.5 + } + }, + "kimi-k2": { + "id": "kimi-k2", + "name": "Kimi K2", + "family": "kimi", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-07-11", + "last_updated": "2025-07-11", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 16384 + }, + "cost": { + "input": 1, + "output": 3, + "cache_read": 0.5 + } + }, + "llama-3-8b-instruct": { + "id": "llama-3-8b-instruct", + "name": "Llama 3 8B Instruct", + "family": "llama", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": true, + "temperature": true, + "release_date": "2025-04-03", + "last_updated": "2025-04-03", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 8192, + "output": 8192 + }, + "cost": { + "input": 0.04, + "output": 0.04 + } + }, + "qwen3-vl-235b-a22b-instruct": { + "id": "qwen3-vl-235b-a22b-instruct", + "name": "Qwen3 VL 235B A22B Instruct", + "family": "qwen", + "attachment": true, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-09-15", + "last_updated": "2025-09-15", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 8192 + }, + "cost": { + "input": 0.8, + "output": 2.4 + } + }, + "gpt-oss-120b": { + "id": "gpt-oss-120b", + "name": "GPT OSS 120B", + "family": "gpt-oss", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-08-05", + "last_updated": "2025-08-05", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 131072, + "output": 32766 + }, + "cost": { + "input": 0.15, + "output": 0.75 + } + }, + "qwen25-coder-7b": { + "id": "qwen25-coder-7b", + "name": "Qwen2.5 Coder 7B", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": true, + "temperature": true, + "release_date": "2024-09-19", + "last_updated": "2024-09-19", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 8192 + }, + "cost": { + "input": 0.05, + "output": 0.05 + } + }, + "llama-3.1-8b-instruct": { + "id": "llama-3.1-8b-instruct", + "name": "Llama 3.1 8B Instruct", + "family": "llama", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2024-07-23", + "last_updated": "2024-07-23", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 2048 + }, + "status": "beta", + "cost": { + "input": 0.22, + "output": 0.22 + } + }, + "llama-3-70b-instruct": { + "id": "llama-3-70b-instruct", + "name": "Llama 3 70B Instruct", + "family": "llama", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": true, + "temperature": true, + "release_date": "2024-04-18", + "last_updated": "2024-04-18", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 8192, + "output": 8000 + }, + "cost": { + "input": 0.51, + "output": 0.74 + } + }, + "deepseek-r1-0528": { + "id": "deepseek-r1-0528", + "name": "DeepSeek R1 (0528)", + "family": "deepseek", + "attachment": false, + "reasoning": true, + "tool_call": false, + "structured_output": false, + "temperature": true, + "release_date": "2025-05-28", + "last_updated": "2025-05-28", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 64000, + "output": 16384 + }, + "status": "beta", + "cost": { + "input": 0.8, + "output": 2.4 + } + }, + "glm-4.5-airx": { + "id": "glm-4.5-airx", + "name": "GLM-4.5 AirX", + "family": "glm", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-07-28", + "last_updated": "2025-07-28", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 16384 + }, + "cost": { + "input": 1.1, + "output": 4.5, + "cache_read": 0.22 + } + }, + "ministral-14b-2512": { + "id": "ministral-14b-2512", + "name": "Ministral 14B", + "family": "mistral", + "attachment": true, + "reasoning": false, + "tool_call": false, + "structured_output": true, + "temperature": true, + "release_date": "2025-12-02", + "last_updated": "2025-12-02", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 8192 + }, + "cost": { + "input": 0.2, + "output": 0.2 + } + }, + "llama-3.2-11b-instruct": { + "id": "llama-3.2-11b-instruct", + "name": "Llama 3.2 11B Instruct", + "family": "llama", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": true, + "temperature": true, + "release_date": "2024-09-25", + "last_updated": "2024-09-25", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 8192 + }, + "cost": { + "input": 0.07, + "output": 0.33 + } + }, + "claude-3-opus": { + "id": "claude-3-opus", + "name": "Claude 3 Opus", + "family": "claude", + "attachment": true, + "reasoning": false, + "tool_call": true, + "structured_output": false, + "temperature": true, + "release_date": "2024-03-04", + "last_updated": "2024-03-04", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 4096 + }, + "cost": { + "input": 15, + "output": 75, + "cache_read": 1.5 + } + }, + "minimax-m2.7": { + "id": "minimax-m2.7", + "name": "MiniMax-M2.7", + "family": "minimax", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2026-03-18", + "last_updated": "2026-03-18", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 204800, + "output": 131072 + }, + "cost": { + "input": 0.3, + "output": 1.2, + "cache_read": 0.06, + "cache_write": 0.375 + } + }, + "grok-4-20-beta-0309-non-reasoning": { + "id": "grok-4-20-beta-0309-non-reasoning", + "name": "Grok 4.20 (Non-Reasoning)", + "family": "grok", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "release_date": "2026-03-09", + "last_updated": "2026-03-09", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 2000000, + "output": 30000 + }, + "cost": { + "input": 2, + "output": 6, + "cache_read": 0.2, + "context_over_200k": { + "input": 4, + "output": 12, + "cache_read": 0.4 + }, + "tiers": [ + { + "input": 4, + "output": 12, + "cache_read": 0.4, + "tier": { + "type": "context", + "size": 200000 + } + } + ] + } + }, + "qwen3-coder-plus": { + "id": "qwen3-coder-plus", + "name": "Qwen3 Coder Plus", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-07-23", + "last_updated": "2025-07-23", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 1048576, + "output": 65536 + }, + "cost": { + "input": 1, + "output": 5 + } + }, + "claude-haiku-4-5": { + "id": "claude-haiku-4-5", + "name": "Claude Haiku 4.5 (latest)", + "family": "claude-haiku", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-02-28", + "release_date": "2025-10-15", + "last_updated": "2025-10-15", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 64000 + }, + "cost": { + "input": 1, + "output": 5, + "cache_read": 0.1, + "cache_write": 1.25 + } + }, + "claude-opus-4-5-20251101": { + "id": "claude-opus-4-5-20251101", + "name": "Claude Opus 4.5", + "family": "claude-opus", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-03-31", + "release_date": "2025-11-01", + "last_updated": "2025-11-01", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 64000 + }, + "cost": { + "input": 5, + "output": 25, + "cache_read": 0.5, + "cache_write": 6.25 + } + }, + "gemini-2.5-flash-lite-preview-09-2025": { + "id": "gemini-2.5-flash-lite-preview-09-2025", + "name": "Gemini 2.5 Flash Lite Preview 09-25", + "family": "gemini-flash-lite", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2025-09-25", + "last_updated": "2025-09-25", + "modalities": { + "input": ["text", "image", "audio", "video", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1048576, + "output": 65536 + }, + "cost": { + "input": 0.1, + "output": 0.4, + "cache_read": 0.025 + } + }, + "kimi-k2.5": { + "id": "kimi-k2.5", + "name": "Kimi K2.5", + "family": "kimi-k2.5", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "structured_output": true, + "temperature": false, + "knowledge": "2025-01", + "release_date": "2026-01", + "last_updated": "2026-01", + "modalities": { + "input": ["text", "image", "video"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 262144 + }, + "cost": { + "input": 0.6, + "output": 3, + "cache_read": 0.1 + } + }, + "llama-3.3-70b-instruct": { + "id": "llama-3.3-70b-instruct", + "name": "Llama-3.3-70B-Instruct", + "family": "llama", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2023-12", + "release_date": "2024-12-06", + "last_updated": "2024-12-06", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 4096 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "mistral-large-2512": { + "id": "mistral-large-2512", + "name": "Mistral Large 3", + "family": "mistral-large", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-11", + "release_date": "2024-11-01", + "last_updated": "2025-12-02", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 262144 + }, + "cost": { + "input": 0.5, + "output": 1.5 + } + }, + "glm-4.7": { + "id": "glm-4.7", + "name": "GLM-4.7", + "family": "glm", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-12-22", + "last_updated": "2025-12-22", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 204800, + "output": 131072 + }, + "cost": { + "input": 0.6, + "output": 2.2, + "cache_read": 0.11, + "cache_write": 0 + } + }, + "minimax-m2.7-highspeed": { + "id": "minimax-m2.7-highspeed", + "name": "MiniMax-M2.7-highspeed", + "family": "minimax", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2026-03-18", + "last_updated": "2026-03-18", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 204800, + "output": 131072 + }, + "cost": { + "input": 0.6, + "output": 2.4, + "cache_read": 0.06, + "cache_write": 0.375 + } + }, + "mimo-v2.5-pro": { + "id": "mimo-v2.5-pro", + "name": "MiMo-V2.5-Pro", + "family": "mimo", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "temperature": true, + "knowledge": "2024-12", + "release_date": "2026-04-22", + "last_updated": "2026-04-22", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 1048576, + "output": 131072 + }, + "cost": { + "input": 1, + "output": 3, + "cache_read": 0.2, + "context_over_200k": { + "input": 2, + "output": 6, + "cache_read": 0.4 + }, + "tiers": [ + { + "input": 2, + "output": 6, + "cache_read": 0.4, + "tier": { + "type": "context", + "size": 256000 + } + } + ] + } + }, + "gemma-3n-e4b-it": { + "id": "gemma-3n-e4b-it", + "name": "Gemma 3n 4B", + "family": "gemma", + "attachment": true, + "reasoning": false, + "tool_call": false, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2025-05-20", + "last_updated": "2025-05-20", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 8192, + "output": 2000 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "claude-3-5-sonnet-20241022": { + "id": "claude-3-5-sonnet-20241022", + "name": "Claude Sonnet 3.5 v2", + "family": "claude-sonnet", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-04-30", + "release_date": "2024-10-22", + "last_updated": "2024-10-22", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 8192 + }, + "cost": { + "input": 3, + "output": 15, + "cache_read": 0.3, + "cache_write": 3.75 + } + }, + "gpt-5.2-pro": { + "id": "gpt-5.2-pro", + "name": "GPT-5.2 Pro", + "family": "gpt-pro", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": false, + "temperature": false, + "knowledge": "2025-08-31", + "release_date": "2025-12-11", + "last_updated": "2025-12-11", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "input": 272000, + "output": 128000 + }, + "cost": { + "input": 21, + "output": 168 + } + }, + "qwq-plus": { + "id": "qwq-plus", + "name": "QwQ Plus", + "family": "qwen", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-04", + "release_date": "2025-03-05", + "last_updated": "2025-03-05", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 131072, + "output": 8192 + }, + "cost": { + "input": 0.8, + "output": 2.4 + } + }, + "gemini-3.1-flash-lite-preview": { + "id": "gemini-3.1-flash-lite-preview", + "name": "Gemini 3.1 Flash Lite Preview", + "family": "gemini-flash-lite", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2026-03-03", + "last_updated": "2026-03-03", + "modalities": { + "input": ["text", "image", "video", "audio", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1048576, + "output": 65536 + }, + "cost": { + "input": 0.25, + "output": 1.5, + "cache_read": 0.025, + "input_audio": 0.5 + } + }, + "qwen-vl-plus": { + "id": "qwen-vl-plus", + "name": "Qwen-VL Plus", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-04", + "release_date": "2024-01-25", + "last_updated": "2025-08-15", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 131072, + "output": 8192 + }, + "cost": { + "input": 0.21, + "output": 0.63 + } + }, + "glm-5": { + "id": "glm-5", + "name": "GLM-5", + "family": "glm", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "temperature": true, + "release_date": "2026-02-11", + "last_updated": "2026-02-11", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 204800, + "output": 131072 + }, + "cost": { + "input": 1, + "output": 3.2, + "cache_read": 0.2, + "cache_write": 0 + } + }, + "devstral-2512": { + "id": "devstral-2512", + "name": "Devstral 2", + "family": "devstral", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-12", + "release_date": "2025-12-09", + "last_updated": "2025-12-09", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 262144 + }, + "cost": { + "input": 0.4, + "output": 2 + } + }, + "qwen3-32b": { + "id": "qwen3-32b", + "name": "Qwen3 32B", + "family": "qwen", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-04", + "last_updated": "2025-04", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 16384 + }, + "cost": { + "input": 0.7, + "output": 2.8, + "reasoning": 8.4 + } + }, + "claude-sonnet-4-6": { + "id": "claude-sonnet-4-6", + "name": "Claude Sonnet 4.6", + "family": "claude-sonnet", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-08-31", + "release_date": "2026-02-17", + "last_updated": "2026-03-13", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000000, + "output": 64000 + }, + "cost": { + "input": 3, + "output": 15, + "cache_read": 0.3, + "cache_write": 3.75 + } + }, + "glm-4.7-flashx": { + "id": "glm-4.7-flashx", + "name": "GLM-4.7-FlashX", + "family": "glm-flash", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2026-01-19", + "last_updated": "2026-01-19", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 200000, + "output": 131072 + }, + "cost": { + "input": 0.07, + "output": 0.4, + "cache_read": 0.01, + "cache_write": 0 + } + }, + "gemini-3.1-pro-preview": { + "id": "gemini-3.1-pro-preview", + "name": "Gemini 3.1 Pro Preview", + "family": "gemini-pro", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2026-02-19", + "last_updated": "2026-02-19", + "modalities": { + "input": ["text", "image", "video", "audio", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1048576, + "output": 65536 + }, + "cost": { + "input": 2, + "output": 12, + "cache_read": 0.2, + "context_over_200k": { + "input": 4, + "output": 18, + "cache_read": 0.4 + }, + "tiers": [ + { + "input": 4, + "output": 18, + "cache_read": 0.4, + "tier": { + "type": "context", + "size": 200000 + } + } + ] + } + }, + "qwen35-397b-a17b": { + "id": "qwen35-397b-a17b", + "name": "Qwen3.5 397B-A17B", + "family": "qwen", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2026-02-15", + "last_updated": "2026-02-15", + "modalities": { + "input": ["text", "image", "video", "audio"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 65536 + }, + "cost": { + "input": 0.6, + "output": 3.6 + } + }, + "qwen-max": { + "id": "qwen-max", + "name": "Qwen Max", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-04", + "release_date": "2024-04-03", + "last_updated": "2025-01-25", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 32768, + "output": 8192 + }, + "cost": { + "input": 1.6, + "output": 6.4 + } + }, + "gpt-5.3-chat-latest": { + "id": "gpt-5.3-chat-latest", + "name": "GPT-5.3 Chat (latest)", + "family": "gpt", + "attachment": true, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2025-08-31", + "release_date": "2026-03-03", + "last_updated": "2026-03-03", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 16384 + }, + "cost": { + "input": 1.75, + "output": 14, + "cache_read": 0.175 + } + }, + "gemini-2.0-flash": { + "id": "gemini-2.0-flash", + "name": "Gemini 2.0 Flash", + "family": "gemini-flash", + "attachment": true, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2024-06", + "release_date": "2024-12-11", + "last_updated": "2024-12-11", + "modalities": { + "input": ["text", "image", "audio", "video", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1048576, + "output": 8192 + }, + "cost": { + "input": 0.1, + "output": 0.4, + "cache_read": 0.025 + } + }, + "gemini-3-flash-preview": { + "id": "gemini-3-flash-preview", + "name": "Gemini 3 Flash Preview", + "family": "gemini-flash", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2025-12-17", + "last_updated": "2025-12-17", + "modalities": { + "input": ["text", "image", "video", "audio", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1048576, + "output": 65536 + }, + "cost": { + "input": 0.5, + "output": 3, + "cache_read": 0.05, + "input_audio": 1 + } + }, + "qwen-plus": { + "id": "qwen-plus", + "name": "Qwen Plus", + "family": "qwen", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-04", + "release_date": "2024-01-25", + "last_updated": "2025-09-11", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000000, + "output": 32768 + }, + "cost": { + "input": 0.4, + "output": 1.2, + "reasoning": 4 + } + }, + "gpt-5.5": { + "id": "gpt-5.5", + "name": "GPT-5.5", + "family": "gpt", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": false, + "knowledge": "2025-12-01", + "release_date": "2026-04-23", + "last_updated": "2026-04-23", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1050000, + "input": 922000, + "output": 128000 + }, + "experimental": { + "modes": { + "fast": { + "cost": { + "input": 12.5, + "output": 75, + "cache_read": 1.25 + }, + "provider": { + "body": { + "service_tier": "priority" + } + } + } + } + }, + "cost": { + "input": 5, + "output": 30, + "cache_read": 0.5, + "context_over_200k": { + "input": 10, + "output": 45, + "cache_read": 1 + }, + "tiers": [ + { + "input": 10, + "output": 45, + "cache_read": 1, + "tier": { + "type": "context", + "size": 272000 + } + } + ] + } + }, + "qwen3.6-35b-a3b": { + "id": "qwen3.6-35b-a3b", + "name": "Qwen3.6 35B-A3B", + "family": "qwen", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2026-04-17", + "last_updated": "2026-04-17", + "modalities": { + "input": ["text", "image", "video", "audio"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 65536 + }, + "cost": { + "input": 0.248, + "output": 1.485 + } + }, + "qwen-omni-turbo": { + "id": "qwen-omni-turbo", + "name": "Qwen-Omni Turbo", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-04", + "release_date": "2025-01-19", + "last_updated": "2025-03-26", + "modalities": { + "input": ["text", "image", "audio", "video"], + "output": ["text", "audio"] + }, + "open_weights": false, + "limit": { + "context": 32768, + "output": 2048 + }, + "cost": { + "input": 0.07, + "output": 0.27, + "input_audio": 4.44, + "output_audio": 8.89 + } + }, + "claude-opus-4-7": { + "id": "claude-opus-4-7", + "name": "Claude Opus 4.7", + "family": "claude-opus", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": false, + "knowledge": "2026-01-31", + "release_date": "2026-04-16", + "last_updated": "2026-04-16", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000000, + "output": 128000 + }, + "cost": { + "input": 5, + "output": 25, + "cache_read": 0.5, + "cache_write": 6.25 + } + }, + "gpt-5-mini": { + "id": "gpt-5-mini", + "name": "GPT-5 Mini", + "family": "gpt-mini", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": false, + "knowledge": "2024-05-30", + "release_date": "2025-08-07", + "last_updated": "2025-08-07", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "input": 272000, + "output": 128000 + }, + "cost": { + "input": 0.25, + "output": 2, + "cache_read": 0.025 + } + }, + "gpt-5-nano": { + "id": "gpt-5-nano", + "name": "GPT-5 Nano", + "family": "gpt-nano", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": false, + "knowledge": "2024-05-30", + "release_date": "2025-08-07", + "last_updated": "2025-08-07", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "input": 272000, + "output": 128000 + }, + "cost": { + "input": 0.05, + "output": 0.4, + "cache_read": 0.005 + } + }, + "mimo-v2-omni": { + "id": "mimo-v2-omni", + "name": "MiMo-V2-Omni", + "family": "mimo", + "attachment": true, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "temperature": true, + "knowledge": "2024-12", + "release_date": "2026-03-18", + "last_updated": "2026-03-18", + "modalities": { + "input": ["text", "image", "audio", "video", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 262144, + "output": 131072 + }, + "cost": { + "input": 0.4, + "output": 2, + "cache_read": 0.08 + } + }, + "gpt-5.3-codex": { + "id": "gpt-5.3-codex", + "name": "GPT-5.3 Codex", + "family": "gpt-codex", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": false, + "knowledge": "2025-08-31", + "release_date": "2026-02-05", + "last_updated": "2026-02-05", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "input": 272000, + "output": 128000 + }, + "cost": { + "input": 1.75, + "output": 14, + "cache_read": 0.175 + } + }, + "minimax-m2": { + "id": "minimax-m2", + "name": "MiniMax-M2", + "family": "minimax", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2025-10-27", + "last_updated": "2025-10-27", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 196608, + "output": 128000 + }, + "cost": { + "input": 0.3, + "output": 1.2 + } + }, + "claude-sonnet-4-5-20250929": { + "id": "claude-sonnet-4-5-20250929", + "name": "Claude Sonnet 4.5", + "family": "claude-sonnet", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-07-31", + "release_date": "2025-09-29", + "last_updated": "2025-09-29", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 64000 + }, + "cost": { + "input": 3, + "output": 15, + "cache_read": 0.3, + "cache_write": 3.75 + } + }, + "qwen-flash": { + "id": "qwen-flash", + "name": "Qwen Flash", + "family": "qwen", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-04", + "release_date": "2025-07-28", + "last_updated": "2025-07-28", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000000, + "output": 32768 + }, + "cost": { + "input": 0.05, + "output": 0.4 + } + }, + "gpt-4-turbo": { + "id": "gpt-4-turbo", + "name": "GPT-4 Turbo", + "family": "gpt", + "attachment": true, + "reasoning": false, + "tool_call": true, + "structured_output": false, + "temperature": true, + "knowledge": "2023-12", + "release_date": "2023-11-06", + "last_updated": "2024-04-09", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 4096 + }, + "cost": { + "input": 10, + "output": 30 + } + }, + "gemini-2.5-pro": { + "id": "gemini-2.5-pro", + "name": "Gemini 2.5 Pro", + "family": "gemini-pro", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2025-03-20", + "last_updated": "2025-06-05", + "modalities": { + "input": ["text", "image", "audio", "video", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1048576, + "output": 65536 + }, + "cost": { + "input": 1.25, + "output": 10, + "cache_read": 0.125, + "context_over_200k": { + "input": 2.5, + "output": 15, + "cache_read": 0.25 + }, + "tiers": [ + { + "input": 2.5, + "output": 15, + "cache_read": 0.25, + "tier": { + "type": "context", + "size": 200000 + } + } + ] + } + }, + "mimo-v2.5": { + "id": "mimo-v2.5", + "name": "MiMo-V2.5", + "family": "mimo", + "attachment": true, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "temperature": true, + "knowledge": "2024-12", + "release_date": "2026-04-22", + "last_updated": "2026-04-22", + "modalities": { + "input": ["text", "image", "audio", "video"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 1048576, + "output": 131072 + }, + "cost": { + "input": 0.4, + "output": 2, + "cache_read": 0.08, + "context_over_200k": { + "input": 0.8, + "output": 4, + "cache_read": 0.16 + }, + "tiers": [ + { + "input": 0.8, + "output": 4, + "cache_read": 0.16, + "tier": { + "type": "context", + "size": 256000 + } + } + ] + } + }, + "grok-4-1-fast-non-reasoning": { + "id": "grok-4-1-fast-non-reasoning", + "name": "Grok 4.1 Fast (Non-Reasoning)", + "family": "grok", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-07", + "release_date": "2025-11-19", + "last_updated": "2025-11-19", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 2000000, + "output": 30000 + }, + "cost": { + "input": 0.2, + "output": 0.5, + "cache_read": 0.05 + } + }, + "sonar-pro": { + "id": "sonar-pro", + "name": "Sonar Pro", + "family": "sonar-pro", + "attachment": true, + "reasoning": false, + "tool_call": false, + "temperature": true, + "knowledge": "2025-09-01", + "release_date": "2024-01-01", + "last_updated": "2025-09-01", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 8192 + }, + "cost": { + "input": 3, + "output": 15 + } + }, + "pixtral-large-latest": { + "id": "pixtral-large-latest", + "name": "Pixtral Large (latest)", + "family": "pixtral", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-11", + "release_date": "2024-11-01", + "last_updated": "2024-11-04", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 128000 + }, + "cost": { + "input": 2, + "output": 6 + } + }, + "gpt-5.2": { + "id": "gpt-5.2", + "name": "GPT-5.2", + "family": "gpt", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": false, + "knowledge": "2025-08-31", + "release_date": "2025-12-11", + "last_updated": "2025-12-11", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "input": 272000, + "output": 128000 + }, + "cost": { + "input": 1.75, + "output": 14, + "cache_read": 0.175 + } + }, + "grok-4-20-beta-0309-reasoning": { + "id": "grok-4-20-beta-0309-reasoning", + "name": "Grok 4.20 (Reasoning)", + "family": "grok", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2026-03-09", + "last_updated": "2026-03-09", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 2000000, + "output": 30000 + }, + "cost": { + "input": 2, + "output": 6, + "cache_read": 0.2, + "context_over_200k": { + "input": 4, + "output": 12, + "cache_read": 0.4 + }, + "tiers": [ + { + "input": 4, + "output": 12, + "cache_read": 0.4, + "tier": { + "type": "context", + "size": 200000 + } + } + ] + } + }, + "gpt-4o-mini": { + "id": "gpt-4o-mini", + "name": "GPT-4o mini", + "family": "gpt-mini", + "attachment": true, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2023-09", + "release_date": "2024-07-18", + "last_updated": "2024-07-18", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 16384 + }, + "cost": { + "input": 0.15, + "output": 0.6, + "cache_read": 0.08 + } + }, + "qwen3.6-plus": { + "id": "qwen3.6-plus", + "name": "Qwen3.6 Plus", + "family": "qwen", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2026-04-02", + "last_updated": "2026-04-02", + "modalities": { + "input": ["text", "image", "video"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000000, + "output": 65536 + }, + "cost": { + "input": 0.5, + "output": 3, + "cache_read": 0.05, + "cache_write": 0.625, + "context_over_200k": { + "input": 2, + "output": 6, + "cache_read": 0.2, + "cache_write": 2.5 + }, + "tiers": [ + { + "input": 2, + "output": 6, + "cache_read": 0.2, + "cache_write": 2.5, + "tier": { + "type": "context", + "size": 256000 + } + } + ] + } + }, + "gpt-5.4-mini": { + "id": "gpt-5.4-mini", + "name": "GPT-5.4 mini", + "family": "gpt-mini", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": false, + "knowledge": "2025-08-31", + "release_date": "2026-03-17", + "last_updated": "2026-03-17", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "input": 272000, + "output": 128000 + }, + "cost": { + "input": 0.75, + "output": 4.5, + "cache_read": 0.075 + } + }, + "qwen3-max": { + "id": "qwen3-max", + "name": "Qwen3 Max", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-09-23", + "last_updated": "2025-09-23", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 262144, + "output": 65536 + }, + "cost": { + "input": 1.2, + "output": 6 + } + }, + "minimax-m2.1": { + "id": "minimax-m2.1", + "name": "MiniMax-M2.1", + "family": "minimax", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2025-12-23", + "last_updated": "2025-12-23", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 204800, + "output": 131072 + }, + "cost": { + "input": 0.3, + "output": 1.2 + } + }, + "glm-5.1": { + "id": "glm-5.1", + "name": "GLM-5.1", + "family": "glm", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "structured_output": true, + "temperature": true, + "release_date": "2026-03-27", + "last_updated": "2026-03-27", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 131072 + }, + "cost": { + "input": 6, + "output": 24, + "cache_read": 1.3, + "cache_write": 0 + } + }, + "o4-mini": { + "id": "o4-mini", + "name": "o4-mini", + "family": "o-mini", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": false, + "knowledge": "2024-05", + "release_date": "2025-04-16", + "last_updated": "2025-04-16", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 100000 + }, + "cost": { + "input": 1.1, + "output": 4.4, + "cache_read": 0.28 + } + }, + "gpt-5.4-nano": { + "id": "gpt-5.4-nano", + "name": "GPT-5.4 nano", + "family": "gpt-nano", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": false, + "knowledge": "2025-08-31", + "release_date": "2026-03-17", + "last_updated": "2026-03-17", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "input": 272000, + "output": 128000 + }, + "cost": { + "input": 0.2, + "output": 1.25, + "cache_read": 0.02 + } + }, + "glm-4.5": { + "id": "glm-4.5", + "name": "GLM-4.5", + "family": "glm", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-07-28", + "last_updated": "2025-07-28", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 98304 + }, + "cost": { + "input": 0.6, + "output": 2.2, + "cache_read": 0.11, + "cache_write": 0 + } + }, + "mistral-large-latest": { + "id": "mistral-large-latest", + "name": "Mistral Large (latest)", + "family": "mistral-large", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-11", + "release_date": "2024-11-01", + "last_updated": "2025-12-02", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 262144 + }, + "cost": { + "input": 0.5, + "output": 1.5 + } + }, + "mistral-small-2506": { + "id": "mistral-small-2506", + "name": "Mistral Small 3.2", + "family": "mistral-small", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-03", + "release_date": "2025-06-20", + "last_updated": "2025-06-20", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 16384 + }, + "cost": { + "input": 0.1, + "output": 0.3 + } + }, + "gemma-3-12b-it": { + "id": "gemma-3-12b-it", + "name": "Gemma 3 12B", + "family": "gemma", + "attachment": true, + "reasoning": false, + "tool_call": false, + "structured_output": true, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2025-03-13", + "last_updated": "2025-03-13", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 32768, + "output": 8192 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "gpt-5.2-codex": { + "id": "gpt-5.2-codex", + "name": "GPT-5.2 Codex", + "family": "gpt-codex", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": false, + "knowledge": "2025-08-31", + "release_date": "2025-12-11", + "last_updated": "2025-12-11", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "input": 272000, + "output": 128000 + }, + "cost": { + "input": 1.75, + "output": 14, + "cache_read": 0.175 + } + }, + "gemini-2.5-flash": { + "id": "gemini-2.5-flash", + "name": "Gemini 2.5 Flash", + "family": "gemini-flash", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2025-03-20", + "last_updated": "2025-06-05", + "modalities": { + "input": ["text", "image", "audio", "video", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1048576, + "output": 65536 + }, + "cost": { + "input": 0.3, + "output": 2.5, + "cache_read": 0.03, + "input_audio": 1 + } + }, + "gpt-5.2-chat-latest": { + "id": "gpt-5.2-chat-latest", + "name": "GPT-5.2 Chat", + "family": "gpt-codex", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": false, + "knowledge": "2025-08-31", + "release_date": "2025-12-11", + "last_updated": "2025-12-11", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 16384 + }, + "cost": { + "input": 1.75, + "output": 14, + "cache_read": 0.175 + } + }, + "gemma-3n-e2b-it": { + "id": "gemma-3n-e2b-it", + "name": "Gemma 3n 2B", + "family": "gemma", + "attachment": true, + "reasoning": false, + "tool_call": false, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2025-07-09", + "last_updated": "2025-07-09", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 8192, + "output": 2000 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "gpt-5.1-codex-mini": { + "id": "gpt-5.1-codex-mini", + "name": "GPT-5.1 Codex mini", + "family": "gpt-codex", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": false, + "knowledge": "2024-09-30", + "release_date": "2025-11-13", + "last_updated": "2025-11-13", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "input": 272000, + "output": 128000 + }, + "cost": { + "input": 0.25, + "output": 2, + "cache_read": 0.025 + } + }, + "grok-4-fast": { + "id": "grok-4-fast", + "name": "Grok 4 Fast", + "family": "grok", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-07", + "release_date": "2025-09-19", + "last_updated": "2025-09-19", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 2000000, + "output": 30000 + }, + "cost": { + "input": 0.2, + "output": 0.5, + "cache_read": 0.05 + } + }, + "gemini-3.1-flash-lite": { + "id": "gemini-3.1-flash-lite", + "name": "Gemini 3.1 Flash Lite", + "family": "gemini-flash-lite", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2026-05-07", + "last_updated": "2026-05-07", + "modalities": { + "input": ["text", "image", "video", "audio", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1048576, + "output": 65536 + }, + "cost": { + "input": 0.25, + "output": 1.5, + "cache_read": 0.025, + "input_audio": 0.5 + } + }, + "qwen3-next-80b-a3b-thinking": { + "id": "qwen3-next-80b-a3b-thinking", + "name": "Qwen3-Next 80B-A3B (Thinking)", + "family": "qwen", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-09", + "last_updated": "2025-09", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 32768 + }, + "cost": { + "input": 0.5, + "output": 6 + } + }, + "grok-code-fast-1": { + "id": "grok-code-fast-1", + "name": "Grok Code Fast 1", + "family": "grok", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2023-10", + "release_date": "2025-08-28", + "last_updated": "2025-08-28", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 256000, + "output": 10000 + }, + "cost": { + "input": 0.2, + "output": 1.5, + "cache_read": 0.02 + } + }, + "gpt-5.1": { + "id": "gpt-5.1", + "name": "GPT-5.1", + "family": "gpt", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": false, + "knowledge": "2024-09-30", + "release_date": "2025-11-13", + "last_updated": "2025-11-13", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "input": 272000, + "output": 128000 + }, + "cost": { + "input": 1.25, + "output": 10, + "cache_read": 0.13 + } + }, + "gemma-3-4b-it": { + "id": "gemma-3-4b-it", + "name": "Gemma 3 4B", + "family": "gemma", + "attachment": true, + "reasoning": false, + "tool_call": false, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2025-03-13", + "last_updated": "2025-03-13", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 32768, + "output": 8192 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "kimi-k2-thinking-turbo": { + "id": "kimi-k2-thinking-turbo", + "name": "Kimi K2 Thinking Turbo", + "family": "kimi-thinking", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "temperature": true, + "knowledge": "2024-08", + "release_date": "2025-11-06", + "last_updated": "2025-11-06", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 262144 + }, + "cost": { + "input": 1.15, + "output": 8, + "cache_read": 0.15 + } + }, + "o1": { + "id": "o1", + "name": "o1", + "family": "o", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": false, + "knowledge": "2023-09", + "release_date": "2024-12-05", + "last_updated": "2024-12-05", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 100000 + }, + "cost": { + "input": 15, + "output": 60, + "cache_read": 7.5 + } + }, + "glm-4.5-air": { + "id": "glm-4.5-air", + "name": "GLM-4.5-Air", + "family": "glm-air", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-07-28", + "last_updated": "2025-07-28", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 98304 + }, + "cost": { + "input": 0.2, + "output": 1.1, + "cache_read": 0.03, + "cache_write": 0 + } + }, + "gpt-5.4-pro": { + "id": "gpt-5.4-pro", + "name": "GPT-5.4 Pro", + "family": "gpt-pro", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": false, + "temperature": false, + "knowledge": "2025-08-31", + "release_date": "2026-03-05", + "last_updated": "2026-03-05", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1050000, + "input": 922000, + "output": 128000 + }, + "cost": { + "input": 30, + "output": 180 + } + }, + "gpt-3.5-turbo": { + "id": "gpt-3.5-turbo", + "name": "GPT-3.5-turbo", + "family": "gpt", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "temperature": true, + "knowledge": "2021-09-01", + "release_date": "2023-03-01", + "last_updated": "2023-11-06", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 16385, + "output": 4096 + }, + "cost": { + "input": 0.5, + "output": 1.5, + "cache_read": 1.25 + } + }, + "o3-mini": { + "id": "o3-mini", + "name": "o3-mini", + "family": "o-mini", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": false, + "knowledge": "2024-05", + "release_date": "2024-12-20", + "last_updated": "2025-01-29", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 100000 + }, + "cost": { + "input": 1.1, + "output": 4.4, + "cache_read": 0.55 + } + }, + "qwen-vl-max": { + "id": "qwen-vl-max", + "name": "Qwen-VL Max", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-04", + "release_date": "2024-04-08", + "last_updated": "2025-08-13", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 131072, + "output": 8192 + }, + "cost": { + "input": 0.8, + "output": 3.2 + } + }, + "sonar": { + "id": "sonar", + "name": "Sonar", + "family": "sonar", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "knowledge": "2025-09-01", + "release_date": "2024-01-01", + "last_updated": "2025-09-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 4096 + }, + "cost": { + "input": 1, + "output": 1 + } + }, + "qwen3-coder-flash": { + "id": "qwen3-coder-flash", + "name": "Qwen3 Coder Flash", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-07-28", + "last_updated": "2025-07-28", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000000, + "output": 65536 + }, + "cost": { + "input": 0.3, + "output": 1.5 + } + }, + "grok-4-3": { + "id": "grok-4-3", + "name": "Grok 4.3", + "family": "grok", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2026-05-01", + "last_updated": "2026-05-01", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000000, + "output": 30000 + }, + "cost": { + "input": 1.25, + "output": 2.5, + "cache_read": 0.2, + "context_over_200k": { + "input": 2.5, + "output": 5, + "cache_read": 0.4 + }, + "tiers": [ + { + "input": 2.5, + "output": 5, + "cache_read": 0.4, + "tier": { + "type": "context", + "size": 200000 + } + } + ] + } + }, + "glm-4.5v": { + "id": "glm-4.5v", + "name": "GLM-4.5V", + "family": "glm", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-08-11", + "last_updated": "2025-08-11", + "modalities": { + "input": ["text", "image", "video"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 64000, + "output": 16384 + }, + "cost": { + "input": 0.6, + "output": 1.8 + } + }, + "deepseek-v4-flash": { + "id": "deepseek-v4-flash", + "name": "DeepSeek V4 Flash", + "family": "deepseek-flash", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "structured_output": true, + "temperature": true, + "knowledge": "2025-05", + "release_date": "2026-04-24", + "last_updated": "2026-04-24", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 1000000, + "output": 384000 + }, + "cost": { + "input": 0.14, + "output": 0.28, + "cache_read": 0.028 + } + }, + "grok-4": { + "id": "grok-4", + "name": "Grok 4", + "family": "grok", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-07", + "release_date": "2025-07-09", + "last_updated": "2025-07-09", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 256000, + "output": 64000 + }, + "cost": { + "input": 3, + "output": 15, + "reasoning": 15, + "cache_read": 0.75 + } + }, + "qwen3-next-80b-a3b-instruct": { + "id": "qwen3-next-80b-a3b-instruct", + "name": "Qwen3-Next 80B-A3B Instruct", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-09", + "last_updated": "2025-09", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 32768 + }, + "cost": { + "input": 0.5, + "output": 2 + } + }, + "gpt-4": { + "id": "gpt-4", + "name": "GPT-4", + "family": "gpt", + "attachment": true, + "reasoning": false, + "tool_call": true, + "structured_output": false, + "temperature": true, + "knowledge": "2023-11", + "release_date": "2023-11-06", + "last_updated": "2024-04-09", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 8192, + "output": 8192 + }, + "cost": { + "input": 30, + "output": 60 + } + }, + "glm-4.6": { + "id": "glm-4.6", + "name": "GLM-4.6", + "family": "glm", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-09-30", + "last_updated": "2025-09-30", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 204800, + "output": 131072 + }, + "cost": { + "input": 0.6, + "output": 2.2, + "cache_read": 0.11, + "cache_write": 0 + } + }, + "kimi-k2.6": { + "id": "kimi-k2.6", + "name": "Kimi K2.6", + "family": "kimi-k2.6", + "attachment": true, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "structured_output": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2026-04-21", + "last_updated": "2026-04-21", + "modalities": { + "input": ["text", "image", "video"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 262144 + }, + "cost": { + "input": 0.95, + "output": 4, + "cache_read": 0.16 + } + }, + "glm-4.6v": { + "id": "glm-4.6v", + "name": "GLM-4.6V", + "family": "glm", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-12-08", + "last_updated": "2025-12-08", + "modalities": { + "input": ["text", "image", "video"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 32768 + }, + "cost": { + "input": 0.3, + "output": 0.9 + } + }, + "claude-opus-4-1-20250805": { + "id": "claude-opus-4-1-20250805", + "name": "Claude Opus 4.1", + "family": "claude-opus", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-03-31", + "release_date": "2025-08-05", + "last_updated": "2025-08-05", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 32000 + }, + "cost": { + "input": 15, + "output": 75, + "cache_read": 1.5, + "cache_write": 18.75 + } + }, + "gpt-5.4": { + "id": "gpt-5.4", + "name": "GPT-5.4", + "family": "gpt", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": false, + "knowledge": "2025-08-31", + "release_date": "2026-03-05", + "last_updated": "2026-03-05", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1050000, + "input": 922000, + "output": 128000 + }, + "cost": { + "input": 2.5, + "output": 15, + "cache_read": 0.25 + } }, "claude-haiku-4-5-20251001": { "id": "claude-haiku-4-5-20251001", @@ -64824,74 +103121,5673 @@ "knowledge": "2025-02-28", "release_date": "2025-10-15", "last_updated": "2025-10-15", - "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, "open_weights": false, - "cost": { "input": 1, "output": 5 }, - "limit": { "context": 200000, "output": 64000 } + "limit": { + "context": 200000, + "output": 64000 + }, + "cost": { + "input": 1, + "output": 5, + "cache_read": 0.1, + "cache_write": 1.25 + } }, - "qwen3-max": { - "id": "qwen3-max", - "name": "Qwen3 Max", + "glm-4.5-flash": { + "id": "glm-4.5-flash", + "name": "GLM-4.5-Flash", + "family": "glm-flash", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-07-28", + "last_updated": "2025-07-28", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 98304 + }, + "cost": { + "input": 0, + "output": 0, + "cache_read": 0, + "cache_write": 0 + } + }, + "qwen3-vl-plus": { + "id": "qwen3-vl-plus", + "name": "Qwen3-VL Plus", "family": "qwen", "attachment": false, "reasoning": true, "tool_call": true, "temperature": true, - "release_date": "2025-05-28", - "last_updated": "2025-05-28", - "modalities": { "input": ["text"], "output": ["text"] }, + "knowledge": "2025-04", + "release_date": "2025-09-23", + "last_updated": "2025-09-23", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, "open_weights": false, - "cost": { "input": 1.2, "output": 6 }, - "limit": { "context": 131072, "output": 16384 } + "limit": { + "context": 262144, + "output": 32768 + }, + "cost": { + "input": 0.2, + "output": 1.6, + "reasoning": 4.8 + } }, - "o3-pro": { - "id": "o3-pro", - "name": "o3-pro", - "family": "o-pro", + "grok-4-1-fast": { + "id": "grok-4-1-fast", + "name": "Grok 4.1 Fast", + "family": "grok", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-07", + "release_date": "2025-11-19", + "last_updated": "2025-11-19", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 2000000, + "output": 30000 + }, + "cost": { + "input": 0.2, + "output": 0.5, + "cache_read": 0.05 + } + }, + "claude-sonnet-4-20250514": { + "id": "claude-sonnet-4-20250514", + "name": "Claude Sonnet 4", + "family": "claude-sonnet", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-03-31", + "release_date": "2025-05-22", + "last_updated": "2025-05-22", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 64000 + }, + "cost": { + "input": 3, + "output": 15, + "cache_read": 0.3, + "cache_write": 3.75 + } + }, + "qwen3-coder-480b-a35b-instruct": { + "id": "qwen3-coder-480b-a35b-instruct", + "name": "Qwen3-Coder 480B-A35B Instruct", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-04", + "last_updated": "2025-04", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 65536 + }, + "cost": { + "input": 1.5, + "output": 7.5 + } + }, + "claude-opus-4-6": { + "id": "claude-opus-4-6", + "name": "Claude Opus 4.6", + "family": "claude-opus", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-05-31", + "release_date": "2026-02-05", + "last_updated": "2026-03-13", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000000, + "output": 128000 + }, + "cost": { + "input": 5, + "output": 25, + "cache_read": 0.5, + "cache_write": 6.25 + } + }, + "deepseek-v4-pro": { + "id": "deepseek-v4-pro", + "name": "DeepSeek V4 Pro", + "family": "deepseek-thinking", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "structured_output": true, + "temperature": true, + "knowledge": "2025-05", + "release_date": "2026-04-24", + "last_updated": "2026-04-24", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 1000000, + "output": 384000 + }, + "cost": { + "input": 1.74, + "output": 3.48, + "cache_read": 0.145 + } + }, + "gpt-4.1-nano": { + "id": "gpt-4.1-nano", + "name": "GPT-4.1 nano", + "family": "gpt-nano", + "attachment": true, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2024-04", + "release_date": "2025-04-14", + "last_updated": "2025-04-14", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1047576, + "output": 32768 + }, + "cost": { + "input": 0.1, + "output": 0.4, + "cache_read": 0.03 + } + }, + "claude-3-7-sonnet-20250219": { + "id": "claude-3-7-sonnet-20250219", + "name": "Claude Sonnet 3.7", + "family": "claude-sonnet", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-10-31", + "release_date": "2025-02-19", + "last_updated": "2025-02-19", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 64000 + }, + "cost": { + "input": 3, + "output": 15, + "cache_read": 0.3, + "cache_write": 3.75 + } + }, + "qwen3-coder-30b-a3b-instruct": { + "id": "qwen3-coder-30b-a3b-instruct", + "name": "Qwen3-Coder 30B-A3B Instruct", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-04", + "last_updated": "2025-04", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 65536 + }, + "cost": { + "input": 0.45, + "output": 2.25 + } + }, + "minimax-m2.5": { + "id": "minimax-m2.5", + "name": "MiniMax-M2.5", + "family": "minimax", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2026-02-12", + "last_updated": "2026-02-12", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 204800, + "output": 131072 + }, + "cost": { + "input": 0.3, + "output": 1.2, + "cache_read": 0.03, + "cache_write": 0.375 + } + }, + "mimo-v2-pro": { + "id": "mimo-v2-pro", + "name": "MiMo-V2-Pro", + "family": "mimo", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "temperature": true, + "knowledge": "2024-12", + "release_date": "2026-03-18", + "last_updated": "2026-03-18", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1048576, + "output": 131072 + }, + "cost": { + "input": 1, + "output": 3, + "cache_read": 0.2, + "context_over_200k": { + "input": 2, + "output": 6, + "cache_read": 0.4 + }, + "tiers": [ + { + "input": 2, + "output": 6, + "cache_read": 0.4, + "tier": { + "type": "context", + "size": 256000 + } + } + ] + } + }, + "o3": { + "id": "o3", + "name": "o3", + "family": "o", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": false, + "knowledge": "2024-05", + "release_date": "2025-04-16", + "last_updated": "2025-04-16", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 100000 + }, + "cost": { + "input": 2, + "output": 8, + "cache_read": 0.5 + } + }, + "gpt-5-pro": { + "id": "gpt-5-pro", + "name": "GPT-5 Pro", + "family": "gpt-pro", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": false, + "knowledge": "2024-09-30", + "release_date": "2025-10-06", + "last_updated": "2025-10-06", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "input": 272000, + "output": 272000 + }, + "cost": { + "input": 15, + "output": 120 + } + }, + "gpt-4o": { + "id": "gpt-4o", + "name": "GPT-4o", + "family": "gpt", + "attachment": true, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2023-09", + "release_date": "2024-05-13", + "last_updated": "2024-08-06", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 16384 + }, + "cost": { + "input": 2.5, + "output": 10, + "cache_read": 1.25 + } + }, + "minimax-m2.5-highspeed": { + "id": "minimax-m2.5-highspeed", + "name": "MiniMax-M2.5-highspeed", + "family": "minimax", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2026-02-13", + "last_updated": "2026-02-13", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 204800, + "output": 131072 + }, + "cost": { + "input": 0.6, + "output": 2.4, + "cache_read": 0.06, + "cache_write": 0.375 + } + }, + "qwen-turbo": { + "id": "qwen-turbo", + "name": "Qwen Turbo", + "family": "qwen", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-04", + "release_date": "2024-11-01", + "last_updated": "2025-04-28", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000000, + "output": 16384 + }, + "cost": { + "input": 0.05, + "output": 0.2, + "reasoning": 0.5 + } + }, + "claude-sonnet-4-5": { + "id": "claude-sonnet-4-5", + "name": "Claude Sonnet 4.5 (latest)", + "family": "claude-sonnet", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-07-31", + "release_date": "2025-09-29", + "last_updated": "2025-09-29", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 64000 + }, + "cost": { + "input": 3, + "output": 15, + "cache_read": 0.3, + "cache_write": 3.75 + } + }, + "gemini-2.5-flash-lite": { + "id": "gemini-2.5-flash-lite", + "name": "Gemini 2.5 Flash Lite", + "family": "gemini-flash-lite", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2025-06-17", + "last_updated": "2025-06-17", + "modalities": { + "input": ["text", "image", "audio", "video", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1048576, + "output": 65536 + }, + "cost": { + "input": 0.1, + "output": 0.4, + "cache_read": 0.01, + "input_audio": 0.3 + } + }, + "gpt-5": { + "id": "gpt-5", + "name": "GPT-5", + "family": "gpt", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": false, + "knowledge": "2024-09-30", + "release_date": "2025-08-07", + "last_updated": "2025-08-07", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "input": 272000, + "output": 128000 + }, + "cost": { + "input": 1.25, + "output": 10, + "cache_read": 0.125 + } + }, + "glm-4.7-flash": { + "id": "glm-4.7-flash", + "name": "GLM-4.7-Flash", + "family": "glm-flash", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2026-01-19", + "last_updated": "2026-01-19", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 200000, + "output": 131072 + }, + "cost": { + "input": 0, + "output": 0, + "cache_read": 0, + "cache_write": 0 + } + }, + "mimo-v2-flash": { + "id": "mimo-v2-flash", + "name": "MiMo-V2-Flash", + "family": "mimo", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "temperature": true, + "knowledge": "2024-12-01", + "release_date": "2025-12-16", + "last_updated": "2026-02-04", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 65536 + }, + "cost": { + "input": 0.1, + "output": 0.3, + "cache_read": 0.01 + } + }, + "qwen3.6-max-preview": { + "id": "qwen3.6-max-preview", + "name": "Qwen3.6 Max Preview", + "family": "qwen", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2026-04-20", + "last_updated": "2026-04-20", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 262144, + "output": 65536 + }, + "cost": { + "input": 1.3, + "output": 7.8, + "cache_read": 0.13, + "cache_write": 1.625 + } + }, + "gpt-5-chat-latest": { + "id": "gpt-5-chat-latest", + "name": "GPT-5 Chat (latest)", + "family": "gpt-codex", + "attachment": true, + "reasoning": true, + "tool_call": false, + "structured_output": true, + "temperature": true, + "knowledge": "2024-09-30", + "release_date": "2025-08-07", + "last_updated": "2025-08-07", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "input": 272000, + "output": 128000 + }, + "cost": { + "input": 1.25, + "output": 10 + } + }, + "claude-opus-4-20250514": { + "id": "claude-opus-4-20250514", + "name": "Claude Opus 4", + "family": "claude-opus", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-03-31", + "release_date": "2025-05-22", + "last_updated": "2025-05-22", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 32000 + }, + "cost": { + "input": 15, + "output": 75, + "cache_read": 1.5, + "cache_write": 18.75 + } + }, + "qwen2-5-vl-72b-instruct": { + "id": "qwen2-5-vl-72b-instruct", + "name": "Qwen2.5-VL 72B Instruct", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-04", + "release_date": "2024-09", + "last_updated": "2024-09", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 8192 + }, + "cost": { + "input": 2.8, + "output": 8.4 + } + }, + "gpt-5.5-pro": { + "id": "gpt-5.5-pro", + "name": "GPT-5.5 Pro", + "family": "gpt-pro", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": false, + "knowledge": "2025-12-01", + "release_date": "2026-04-23", + "last_updated": "2026-04-23", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1050000, + "input": 922000, + "output": 128000 + }, + "cost": { + "input": 30, + "output": 180, + "context_over_200k": { + "input": 60, + "output": 270 + }, + "tiers": [ + { + "input": 60, + "output": 270, + "tier": { + "type": "context", + "size": 272000 + } + } + ] + } + }, + "gpt-4.1": { + "id": "gpt-4.1", + "name": "GPT-4.1", + "family": "gpt", + "attachment": true, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2024-04", + "release_date": "2025-04-14", + "last_updated": "2025-04-14", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1047576, + "output": 32768 + }, + "cost": { + "input": 2, + "output": 8, + "cache_read": 0.5 + } + }, + "devstral-small-2507": { + "id": "devstral-small-2507", + "name": "Devstral Small", + "family": "devstral", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-05", + "release_date": "2025-07-10", + "last_updated": "2025-07-10", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 128000 + }, + "cost": { + "input": 0.1, + "output": 0.3 + } + }, + "kimi-k2-thinking": { + "id": "kimi-k2-thinking", + "name": "Kimi K2 Thinking", + "family": "kimi-thinking", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "temperature": true, + "knowledge": "2024-08", + "release_date": "2025-11-06", + "last_updated": "2025-11-06", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 262144 + }, + "cost": { + "input": 0.6, + "output": 2.5, + "cache_read": 0.15 + } + }, + "gemini-2.0-flash-lite": { + "id": "gemini-2.0-flash-lite", + "name": "Gemini 2.0 Flash Lite", + "family": "gemini-flash-lite", + "attachment": true, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2024-06", + "release_date": "2024-12-11", + "last_updated": "2024-12-11", + "modalities": { + "input": ["text", "image", "audio", "video", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1048576, + "output": 8192 + }, + "cost": { + "input": 0.075, + "output": 0.3 + } + }, + "gpt-4.1-mini": { + "id": "gpt-4.1-mini", + "name": "GPT-4.1 mini", + "family": "gpt-mini", + "attachment": true, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2024-04", + "release_date": "2025-04-14", + "last_updated": "2025-04-14", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1047576, + "output": 32768 + }, + "cost": { + "input": 0.4, + "output": 1.6, + "cache_read": 0.1 + } + }, + "gpt-5.1-codex": { + "id": "gpt-5.1-codex", + "name": "GPT-5.1 Codex", + "family": "gpt-codex", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": false, + "knowledge": "2024-09-30", + "release_date": "2025-11-13", + "last_updated": "2025-11-13", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "input": 272000, + "output": 128000 + }, + "cost": { + "input": 1.25, + "output": 10, + "cache_read": 0.125 + } + }, + "grok-3": { + "id": "grok-3", + "name": "Grok 3", + "family": "grok", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-11", + "release_date": "2025-02-17", + "last_updated": "2025-02-17", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 131072, + "output": 8192 + }, + "cost": { + "input": 3, + "output": 15, + "cache_read": 0.75 + } + }, + "grok-4-fast-non-reasoning": { + "id": "grok-4-fast-non-reasoning", + "name": "Grok 4 Fast (Non-Reasoning)", + "family": "grok", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-07", + "release_date": "2025-09-19", + "last_updated": "2025-09-19", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 2000000, + "output": 30000 + }, + "cost": { + "input": 0.2, + "output": 0.5, + "cache_read": 0.05 + } + }, + "sonar-reasoning-pro": { + "id": "sonar-reasoning-pro", + "name": "Sonar Reasoning Pro", + "family": "sonar-reasoning", + "attachment": true, + "reasoning": true, + "tool_call": false, + "temperature": true, + "knowledge": "2025-09-01", + "release_date": "2024-01-01", + "last_updated": "2025-09-01", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 4096 + }, + "cost": { + "input": 2, + "output": 8 + } + } + } + }, + "google-vertex": { + "id": "google-vertex", + "env": ["GOOGLE_VERTEX_PROJECT", "GOOGLE_VERTEX_LOCATION", "GOOGLE_APPLICATION_CREDENTIALS"], + "npm": "@ai-sdk/google-vertex", + "name": "Vertex", + "doc": "https://cloud.google.com/vertex-ai/generative-ai/docs/models", + "models": { + "gemini-2.0-flash": { + "id": "gemini-2.0-flash", + "name": "Gemini 2.0 Flash", + "family": "gemini-flash", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-06", + "release_date": "2024-12-11", + "last_updated": "2024-12-11", + "modalities": { + "input": ["text", "image", "audio", "video", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1048576, + "output": 8192 + }, + "cost": { + "input": 0.15, + "output": 0.6, + "cache_read": 0.025 + } + }, + "gemini-3-pro-preview": { + "id": "gemini-3-pro-preview", + "name": "Gemini 3 Pro Preview", + "family": "gemini-pro", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2025-11-18", + "last_updated": "2025-11-18", + "modalities": { + "input": ["text", "image", "video", "audio", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1048576, + "output": 65536 + }, + "cost": { + "input": 2, + "output": 12, + "cache_read": 0.2, + "tiers": [ + { + "input": 4, + "output": 18, + "cache_read": 0.4, + "tier": { + "type": "context", + "size": 200000 + } + } + ], + "context_over_200k": { + "input": 4, + "output": 18, + "cache_read": 0.4 + } + } + }, + "gemini-flash-latest": { + "id": "gemini-flash-latest", + "name": "Gemini Flash Latest", + "family": "gemini-flash", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2025-09-25", + "last_updated": "2025-09-25", + "modalities": { + "input": ["text", "image", "audio", "video", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1048576, + "output": 65536 + }, + "cost": { + "input": 0.3, + "output": 2.5, + "cache_read": 0.075, + "cache_write": 0.383 + } + }, + "gemini-2.5-flash-lite-preview-06-17": { + "id": "gemini-2.5-flash-lite-preview-06-17", + "name": "Gemini 2.5 Flash Lite Preview 06-17", + "family": "gemini-flash-lite", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2025-06-17", + "last_updated": "2025-06-17", + "modalities": { + "input": ["text", "image", "audio", "video", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 65536, + "output": 65536 + }, + "cost": { + "input": 0.1, + "output": 0.4, + "cache_read": 0.025 + } + }, + "gemini-2.5-flash": { + "id": "gemini-2.5-flash", + "name": "Gemini 2.5 Flash", + "family": "gemini-flash", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2025-06-17", + "last_updated": "2025-06-17", + "modalities": { + "input": ["text", "image", "audio", "video", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1048576, + "output": 65536 + }, + "cost": { + "input": 0.3, + "output": 2.5, + "cache_read": 0.075, + "cache_write": 0.383 + } + }, + "gemini-2.5-flash-preview-09-2025": { + "id": "gemini-2.5-flash-preview-09-2025", + "name": "Gemini 2.5 Flash Preview 09-25", + "family": "gemini-flash", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2025-09-25", + "last_updated": "2025-09-25", + "modalities": { + "input": ["text", "image", "audio", "video", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1048576, + "output": 65536 + }, + "cost": { + "input": 0.3, + "output": 2.5, + "cache_read": 0.075, + "cache_write": 0.383 + } + }, + "zai-org/glm-5-maas": { + "id": "zai-org/glm-5-maas", + "name": "GLM-5", + "family": "glm", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "temperature": true, + "release_date": "2026-02-11", + "last_updated": "2026-02-11", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 202752, + "output": 131072 + }, + "provider": { + "npm": "@ai-sdk/openai-compatible", + "api": "https://${GOOGLE_VERTEX_ENDPOINT}/v1/projects/${GOOGLE_VERTEX_PROJECT}/locations/${GOOGLE_VERTEX_LOCATION}/endpoints/openapi" + }, + "cost": { + "input": 1, + "output": 3.2, + "cache_read": 0.1 + } + }, + "zai-org/glm-4.7-maas": { + "id": "zai-org/glm-4.7-maas", + "name": "GLM-4.7", + "family": "glm", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "structured_output": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2026-01-06", + "last_updated": "2026-01-06", + "modalities": { + "input": ["text", "pdf"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 200000, + "output": 128000 + }, + "provider": { + "npm": "@ai-sdk/openai-compatible", + "api": "https://${GOOGLE_VERTEX_ENDPOINT}/v1/projects/${GOOGLE_VERTEX_PROJECT}/locations/${GOOGLE_VERTEX_LOCATION}/endpoints/openapi" + }, + "cost": { + "input": 0.6, + "output": 2.2 + } + }, + "deepseek-ai/deepseek-v3.2-maas": { + "id": "deepseek-ai/deepseek-v3.2-maas", + "name": "DeepSeek V3.2", + "family": "deepseek", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-12-17", + "last_updated": "2026-04-04", + "modalities": { + "input": ["text", "pdf"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 163840, + "output": 65536 + }, + "provider": { + "npm": "@ai-sdk/openai-compatible", + "api": "https://${GOOGLE_VERTEX_ENDPOINT}/v1/projects/${GOOGLE_VERTEX_PROJECT}/locations/${GOOGLE_VERTEX_LOCATION}/endpoints/openapi" + }, + "cost": { + "input": 0.56, + "output": 1.68, + "cache_read": 0.056 + } + }, + "deepseek-ai/deepseek-v3.1-maas": { + "id": "deepseek-ai/deepseek-v3.1-maas", + "name": "DeepSeek V3.1", + "family": "deepseek", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-08-28", + "last_updated": "2025-08-28", + "modalities": { + "input": ["text", "pdf"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 163840, + "output": 32768 + }, + "provider": { + "npm": "@ai-sdk/openai-compatible", + "api": "https://${GOOGLE_VERTEX_ENDPOINT}/v1/projects/${GOOGLE_VERTEX_PROJECT}/locations/${GOOGLE_VERTEX_LOCATION}/endpoints/openapi" + }, + "cost": { + "input": 0.6, + "output": 1.7 + } + }, + "openai/gpt-oss-120b-maas": { + "id": "openai/gpt-oss-120b-maas", + "name": "GPT OSS 120B", + "family": "gpt-oss", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2025-08-05", + "last_updated": "2025-08-05", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 32768 + }, + "cost": { + "input": 0.09, + "output": 0.36 + } + }, + "openai/gpt-oss-20b-maas": { + "id": "openai/gpt-oss-20b-maas", + "name": "GPT OSS 20B", + "family": "gpt-oss", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2025-08-05", + "last_updated": "2025-08-05", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 32768 + }, + "cost": { + "input": 0.07, + "output": 0.25 + } + }, + "meta/llama-3.3-70b-instruct-maas": { + "id": "meta/llama-3.3-70b-instruct-maas", + "name": "Llama 3.3 70B Instruct", + "family": "llama", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2023-12", + "release_date": "2025-04-29", + "last_updated": "2025-04-29", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 8192 + }, + "provider": { + "npm": "@ai-sdk/openai-compatible", + "api": "https://${GOOGLE_VERTEX_ENDPOINT}/v1/projects/${GOOGLE_VERTEX_PROJECT}/locations/${GOOGLE_VERTEX_LOCATION}/endpoints/openapi" + }, + "cost": { + "input": 0.72, + "output": 0.72 + } + }, + "meta/llama-4-maverick-17b-128e-instruct-maas": { + "id": "meta/llama-4-maverick-17b-128e-instruct-maas", + "name": "Llama 4 Maverick 17B 128E Instruct", + "family": "llama", + "attachment": true, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2024-08", + "release_date": "2025-04-29", + "last_updated": "2025-04-29", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 524288, + "output": 8192 + }, + "provider": { + "npm": "@ai-sdk/openai-compatible", + "api": "https://${GOOGLE_VERTEX_ENDPOINT}/v1/projects/${GOOGLE_VERTEX_PROJECT}/locations/${GOOGLE_VERTEX_LOCATION}/endpoints/openapi" + }, + "cost": { + "input": 0.35, + "output": 1.15 + } + }, + "qwen/qwen3-235b-a22b-instruct-2507-maas": { + "id": "qwen/qwen3-235b-a22b-instruct-2507-maas", + "name": "Qwen3 235B A22B Instruct", + "family": "qwen", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-08-13", + "last_updated": "2025-08-13", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 16384 + }, + "provider": { + "npm": "@ai-sdk/openai-compatible", + "api": "https://${GOOGLE_VERTEX_ENDPOINT}/v1/projects/${GOOGLE_VERTEX_PROJECT}/locations/${GOOGLE_VERTEX_LOCATION}/endpoints/openapi" + }, + "cost": { + "input": 0.22, + "output": 0.88 + } + }, + "moonshotai/kimi-k2-thinking-maas": { + "id": "moonshotai/kimi-k2-thinking-maas", + "name": "Kimi K2 Thinking", + "family": "kimi-thinking", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "structured_output": true, + "temperature": true, + "knowledge": "2024-08", + "release_date": "2025-11-13", + "last_updated": "2025-11-13", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 262144 + }, + "provider": { + "npm": "@ai-sdk/openai-compatible", + "api": "https://${GOOGLE_VERTEX_ENDPOINT}/v1/projects/${GOOGLE_VERTEX_PROJECT}/locations/${GOOGLE_VERTEX_LOCATION}/endpoints/openapi" + }, + "cost": { + "input": 0.6, + "output": 2.5 + } + }, + "gemini-flash-lite-latest": { + "id": "gemini-flash-lite-latest", + "name": "Gemini Flash-Lite Latest", + "family": "gemini-flash-lite", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2025-09-25", + "last_updated": "2025-09-25", + "modalities": { + "input": ["text", "image", "audio", "video", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1048576, + "output": 65536 + }, + "cost": { + "input": 0.1, + "output": 0.4, + "cache_read": 0.025 + } + }, + "gemini-2.5-pro-preview-05-06": { + "id": "gemini-2.5-pro-preview-05-06", + "name": "Gemini 2.5 Pro Preview 05-06", + "family": "gemini-pro", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2025-05-06", + "last_updated": "2025-05-06", + "modalities": { + "input": ["text", "image", "audio", "video", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1048576, + "output": 65536 + }, + "cost": { + "input": 1.25, + "output": 10, + "cache_read": 0.31 + } + }, + "claude-haiku-4-5@20251001": { + "id": "claude-haiku-4-5@20251001", + "name": "Claude Haiku 4.5", + "family": "claude-haiku", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-02-28", + "release_date": "2025-10-15", + "last_updated": "2025-10-15", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 64000 + }, + "provider": { + "npm": "@ai-sdk/google-vertex/anthropic" + }, + "cost": { + "input": 1, + "output": 5, + "cache_read": 0.1, + "cache_write": 1.25 + } + }, + "gemini-3.1-pro-preview-customtools": { + "id": "gemini-3.1-pro-preview-customtools", + "name": "Gemini 3.1 Pro Preview Custom Tools", + "family": "gemini-pro", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2026-02-19", + "last_updated": "2026-02-19", + "modalities": { + "input": ["text", "image", "video", "audio", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1048576, + "output": 65536 + }, + "cost": { + "input": 2, + "output": 12, + "cache_read": 0.2, + "context_over_200k": { + "input": 4, + "output": 18, + "cache_read": 0.4 + }, + "tiers": [ + { + "input": 4, + "output": 18, + "cache_read": 0.4, + "tier": { + "type": "context", + "size": 200000 + } + } + ] + } + }, + "claude-sonnet-4-6@default": { + "id": "claude-sonnet-4-6@default", + "name": "Claude Sonnet 4.6", + "family": "claude-sonnet", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-08-31", + "release_date": "2026-02-17", + "last_updated": "2026-03-13", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 64000 + }, + "provider": { + "npm": "@ai-sdk/google-vertex/anthropic" + }, + "cost": { + "input": 3, + "output": 15, + "cache_read": 0.3, + "cache_write": 3.75, + "context_over_200k": { + "input": 6, + "output": 22.5, + "cache_read": 0.6, + "cache_write": 7.5 + }, + "tiers": [ + { + "input": 6, + "output": 22.5, + "cache_read": 0.6, + "cache_write": 7.5, + "tier": { + "type": "context", + "size": 200000 + } + } + ] + } + }, + "gemini-2.5-flash-lite-preview-09-2025": { + "id": "gemini-2.5-flash-lite-preview-09-2025", + "name": "Gemini 2.5 Flash Lite Preview 09-25", + "family": "gemini-flash-lite", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2025-09-25", + "last_updated": "2025-09-25", + "modalities": { + "input": ["text", "image", "audio", "video", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1048576, + "output": 65536 + }, + "cost": { + "input": 0.1, + "output": 0.4, + "cache_read": 0.025 + } + }, + "claude-3-5-haiku@20241022": { + "id": "claude-3-5-haiku@20241022", + "name": "Claude Haiku 3.5", + "family": "claude-haiku", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-07-31", + "release_date": "2024-10-22", + "last_updated": "2024-10-22", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 8192 + }, + "provider": { + "npm": "@ai-sdk/google-vertex/anthropic" + }, + "cost": { + "input": 0.8, + "output": 4, + "cache_read": 0.08, + "cache_write": 1 + } + }, + "gemini-3.1-flash-lite-preview": { + "id": "gemini-3.1-flash-lite-preview", + "name": "Gemini 3.1 Flash Lite Preview", + "family": "gemini-flash-lite", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2026-03-03", + "last_updated": "2026-03-03", + "modalities": { + "input": ["text", "image", "video", "audio", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1048576, + "output": 65536 + }, + "cost": { + "input": 0.25, + "output": 1.5, + "cache_read": 0.025, + "input_audio": 0.5 + } + }, + "claude-3-5-sonnet@20241022": { + "id": "claude-3-5-sonnet@20241022", + "name": "Claude Sonnet 3.5 v2", + "family": "claude-sonnet", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-04-30", + "release_date": "2024-10-22", + "last_updated": "2024-10-22", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 8192 + }, + "provider": { + "npm": "@ai-sdk/google-vertex/anthropic" + }, + "cost": { + "input": 3, + "output": 15, + "cache_read": 0.3, + "cache_write": 3.75 + } + }, + "gemini-3.1-pro-preview": { + "id": "gemini-3.1-pro-preview", + "name": "Gemini 3.1 Pro Preview", + "family": "gemini-pro", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2026-02-19", + "last_updated": "2026-02-19", + "modalities": { + "input": ["text", "image", "video", "audio", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1048576, + "output": 65536 + }, + "cost": { + "input": 2, + "output": 12, + "cache_read": 0.2, + "context_over_200k": { + "input": 4, + "output": 18, + "cache_read": 0.4 + }, + "tiers": [ + { + "input": 4, + "output": 18, + "cache_read": 0.4, + "tier": { + "type": "context", + "size": 200000 + } + } + ] + } + }, + "claude-opus-4-1@20250805": { + "id": "claude-opus-4-1@20250805", + "name": "Claude Opus 4.1", + "family": "claude-opus", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-03-31", + "release_date": "2025-08-05", + "last_updated": "2025-08-05", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 32000 + }, + "provider": { + "npm": "@ai-sdk/google-vertex/anthropic" + }, + "cost": { + "input": 15, + "output": 75, + "cache_read": 1.5, + "cache_write": 18.75 + } + }, + "gemini-3-flash-preview": { + "id": "gemini-3-flash-preview", + "name": "Gemini 3 Flash Preview", + "family": "gemini-flash", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2025-12-17", + "last_updated": "2025-12-17", + "modalities": { + "input": ["text", "image", "video", "audio", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1048576, + "output": 65536 + }, + "cost": { + "input": 0.5, + "output": 3, + "cache_read": 0.05, + "input_audio": 1 + } + }, + "gemini-2.5-flash-preview-05-20": { + "id": "gemini-2.5-flash-preview-05-20", + "name": "Gemini 2.5 Flash Preview 05-20", + "family": "gemini-flash", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2025-05-20", + "last_updated": "2025-05-20", + "modalities": { + "input": ["text", "image", "audio", "video", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1048576, + "output": 65536 + }, + "cost": { + "input": 0.15, + "output": 0.6, + "cache_read": 0.0375 + } + }, + "gemini-embedding-001": { + "id": "gemini-embedding-001", + "name": "Gemini Embedding 001", + "family": "gemini", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": false, + "knowledge": "2025-05", + "release_date": "2025-05-20", + "last_updated": "2025-05-20", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 2048, + "output": 3072 + }, + "cost": { + "input": 0.15, + "output": 0 + } + }, + "gemini-2.5-pro": { + "id": "gemini-2.5-pro", + "name": "Gemini 2.5 Pro", + "family": "gemini-pro", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2025-03-20", + "last_updated": "2025-06-05", + "modalities": { + "input": ["text", "image", "audio", "video", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1048576, + "output": 65536 + }, + "cost": { + "input": 1.25, + "output": 10, + "cache_read": 0.125, + "context_over_200k": { + "input": 2.5, + "output": 15, + "cache_read": 0.25 + }, + "tiers": [ + { + "input": 2.5, + "output": 15, + "cache_read": 0.25, + "tier": { + "type": "context", + "size": 200000 + } + } + ] + } + }, + "gemini-2.5-pro-preview-06-05": { + "id": "gemini-2.5-pro-preview-06-05", + "name": "Gemini 2.5 Pro Preview 06-05", + "family": "gemini-pro", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2025-06-05", + "last_updated": "2025-06-05", + "modalities": { + "input": ["text", "image", "audio", "video", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1048576, + "output": 65536 + }, + "cost": { + "input": 1.25, + "output": 10, + "cache_read": 0.31 + } + }, + "claude-sonnet-4@20250514": { + "id": "claude-sonnet-4@20250514", + "name": "Claude Sonnet 4", + "family": "claude-sonnet", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-03-31", + "release_date": "2025-05-22", + "last_updated": "2025-05-22", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 64000 + }, + "provider": { + "npm": "@ai-sdk/google-vertex/anthropic" + }, + "cost": { + "input": 3, + "output": 15, + "cache_read": 0.3, + "cache_write": 3.75 + } + }, + "gemini-3.1-flash-lite": { + "id": "gemini-3.1-flash-lite", + "name": "Gemini 3.1 Flash Lite", + "family": "gemini-flash-lite", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2026-05-07", + "last_updated": "2026-05-07", + "modalities": { + "input": ["text", "image", "video", "audio", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1048576, + "output": 65536 + }, + "cost": { + "input": 0.25, + "output": 1.5, + "cache_read": 0.025, + "input_audio": 0.5 + } + }, + "claude-3-7-sonnet@20250219": { + "id": "claude-3-7-sonnet@20250219", + "name": "Claude Sonnet 3.7", + "family": "claude-sonnet", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-10-31", + "release_date": "2025-02-19", + "last_updated": "2025-02-19", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 64000 + }, + "provider": { + "npm": "@ai-sdk/google-vertex/anthropic" + }, + "cost": { + "input": 3, + "output": 15, + "cache_read": 0.3, + "cache_write": 3.75 + } + }, + "claude-opus-4@20250514": { + "id": "claude-opus-4@20250514", + "name": "Claude Opus 4", + "family": "claude-opus", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-03-31", + "release_date": "2025-05-22", + "last_updated": "2025-05-22", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 32000 + }, + "provider": { + "npm": "@ai-sdk/google-vertex/anthropic" + }, + "cost": { + "input": 15, + "output": 75, + "cache_read": 1.5, + "cache_write": 18.75 + } + }, + "claude-opus-4-5@20251101": { + "id": "claude-opus-4-5@20251101", + "name": "Claude Opus 4.5", + "family": "claude-opus", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-03-31", + "release_date": "2025-11-01", + "last_updated": "2025-11-01", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 64000 + }, + "provider": { + "npm": "@ai-sdk/google-vertex/anthropic" + }, + "cost": { + "input": 5, + "output": 25, + "cache_read": 0.5, + "cache_write": 6.25 + } + }, + "gemini-2.5-flash-preview-04-17": { + "id": "gemini-2.5-flash-preview-04-17", + "name": "Gemini 2.5 Flash Preview 04-17", + "family": "gemini-flash", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2025-04-17", + "last_updated": "2025-04-17", + "modalities": { + "input": ["text", "image", "audio", "video", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1048576, + "output": 65536 + }, + "cost": { + "input": 0.15, + "output": 0.6, + "cache_read": 0.0375 + } + }, + "claude-sonnet-4-5@20250929": { + "id": "claude-sonnet-4-5@20250929", + "name": "Claude Sonnet 4.5", + "family": "claude-sonnet", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-07-31", + "release_date": "2025-09-29", + "last_updated": "2025-09-29", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 64000 + }, + "provider": { + "npm": "@ai-sdk/google-vertex/anthropic" + }, + "cost": { + "input": 3, + "output": 15, + "cache_read": 0.3, + "cache_write": 3.75 + } + }, + "gemini-2.5-flash-lite": { + "id": "gemini-2.5-flash-lite", + "name": "Gemini 2.5 Flash Lite", + "family": "gemini-flash-lite", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2025-06-17", + "last_updated": "2025-06-17", + "modalities": { + "input": ["text", "image", "audio", "video", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1048576, + "output": 65536 + }, + "cost": { + "input": 0.1, + "output": 0.4, + "cache_read": 0.01, + "input_audio": 0.3 + } + }, + "claude-opus-4-6@default": { + "id": "claude-opus-4-6@default", + "name": "Claude Opus 4.6", + "family": "claude-opus", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-05-31", + "release_date": "2026-02-05", + "last_updated": "2026-03-13", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000000, + "output": 128000 + }, + "provider": { + "npm": "@ai-sdk/google-vertex/anthropic" + }, + "cost": { + "input": 5, + "output": 25, + "cache_read": 0.5, + "cache_write": 6.25, + "context_over_200k": { + "input": 10, + "output": 37.5, + "cache_read": 1, + "cache_write": 12.5 + }, + "tiers": [ + { + "input": 10, + "output": 37.5, + "cache_read": 1, + "cache_write": 12.5, + "tier": { + "type": "context", + "size": 200000 + } + } + ] + } + }, + "gemini-2.0-flash-lite": { + "id": "gemini-2.0-flash-lite", + "name": "Gemini 2.0 Flash Lite", + "family": "gemini-flash-lite", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-06", + "release_date": "2024-12-11", + "last_updated": "2024-12-11", + "modalities": { + "input": ["text", "image", "audio", "video", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1048576, + "output": 8192 + }, + "cost": { + "input": 0.075, + "output": 0.3 + } + }, + "claude-opus-4-7@default": { + "id": "claude-opus-4-7@default", + "name": "Claude Opus 4.7", + "family": "claude-opus", "attachment": true, "reasoning": true, "tool_call": true, "temperature": false, - "knowledge": "2024-05", - "release_date": "2025-06-10", - "last_updated": "2025-06-10", - "modalities": { "input": ["text", "image"], "output": ["text"] }, + "knowledge": "2026-01-31", + "release_date": "2026-04-16", + "last_updated": "2026-04-16", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, "open_weights": false, - "cost": { "input": 20, "output": 40 }, - "limit": { "context": 200000, "output": 100000 } + "limit": { + "context": 1000000, + "output": 128000 + }, + "provider": { + "npm": "@ai-sdk/google-vertex/anthropic" + }, + "cost": { + "input": 5, + "output": 25, + "cache_read": 0.5, + "cache_write": 6.25, + "context_over_200k": { + "input": 10, + "output": 37.5, + "cache_read": 1, + "cache_write": 12.5 + }, + "tiers": [ + { + "input": 10, + "output": 37.5, + "cache_read": 1, + "cache_write": 12.5, + "tier": { + "type": "context", + "size": 200000 + } + } + ] + } + } + } + }, + "cloudflare-workers-ai": { + "id": "cloudflare-workers-ai", + "env": ["CLOUDFLARE_ACCOUNT_ID", "CLOUDFLARE_API_KEY"], + "npm": "@ai-sdk/openai-compatible", + "api": "https://api.cloudflare.com/client/v4/accounts/${CLOUDFLARE_ACCOUNT_ID}/ai/v1", + "name": "Cloudflare Workers AI", + "doc": "https://developers.cloudflare.com/workers-ai/models/", + "models": { + "@cf/zai-org/glm-4.7-flash": { + "id": "@cf/zai-org/glm-4.7-flash", + "name": "GLM-4.7-Flash", + "family": "glm-flash", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2026-01-19", + "last_updated": "2026-01-19", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 131072 + }, + "cost": { + "input": 0.06, + "output": 0.4 + } }, - "gpt-4.1-nano": { - "id": "gpt-4.1-nano", - "name": "GPT-4.1 Nano", + "@cf/nvidia/nemotron-3-120b-a12b": { + "id": "@cf/nvidia/nemotron-3-120b-a12b", + "name": "Nemotron 3 Super 120B", + "family": "nemotron", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "temperature": true, + "release_date": "2026-03-11", + "last_updated": "2026-03-11", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 256000, + "output": 256000 + }, + "cost": { + "input": 0.5, + "output": 1.5 + } + }, + "@cf/openai/gpt-oss-20b": { + "id": "@cf/openai/gpt-oss-20b", + "name": "GPT OSS 20B", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2025-08-05", + "last_updated": "2025-08-05", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 16384 + }, + "cost": { + "input": 0.2, + "output": 0.3 + } + }, + "@cf/openai/gpt-oss-120b": { + "id": "@cf/openai/gpt-oss-120b", + "name": "GPT OSS 120B", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2025-08-05", + "last_updated": "2025-08-05", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 16384 + }, + "cost": { + "input": 0.35, + "output": 0.75 + } + }, + "@cf/meta/llama-4-scout-17b-16e-instruct": { + "id": "@cf/meta/llama-4-scout-17b-16e-instruct", + "name": "Llama 4 Scout 17B 16E Instruct", + "family": "llama", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "release_date": "2025-04-16", + "last_updated": "2025-04-16", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 16384 + }, + "cost": { + "input": 0.27, + "output": 0.85 + } + }, + "@cf/google/gemma-4-26b-a4b-it": { + "id": "@cf/google/gemma-4-26b-a4b-it", + "name": "Gemma 4 26B A4B IT", + "family": "gemma", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2025-12-15", + "last_updated": "2025-12-15", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 256000, + "output": 16384 + }, + "cost": { + "input": 0.1, + "output": 0.3 + } + }, + "@cf/moonshotai/kimi-k2.5": { + "id": "@cf/moonshotai/kimi-k2.5", + "name": "Kimi K2.5", + "family": "kimi", + "attachment": true, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "structured_output": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2026-01-27", + "last_updated": "2026-01-27", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 256000, + "output": 256000 + }, + "cost": { + "input": 0.6, + "output": 3, + "cache_read": 0.1 + } + }, + "@cf/moonshotai/kimi-k2.6": { + "id": "@cf/moonshotai/kimi-k2.6", + "name": "Kimi K2.6", + "family": "kimi", + "attachment": true, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "structured_output": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2026-04-20", + "last_updated": "2026-04-20", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 256000, + "output": 256000 + }, + "cost": { + "input": 0.95, + "output": 4, + "cache_read": 0.16 + } + } + } + }, + "groq": { + "id": "groq", + "env": ["GROQ_API_KEY"], + "npm": "@ai-sdk/groq", + "name": "Groq", + "doc": "https://console.groq.com/docs/models", + "models": { + "gemma2-9b-it": { + "id": "gemma2-9b-it", + "name": "Gemma 2 9B", + "family": "gemma", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-06", + "release_date": "2024-06-27", + "last_updated": "2024-06-27", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 8192, + "output": 8192 + }, + "status": "deprecated", + "cost": { + "input": 0.2, + "output": 0.2 + } + }, + "mistral-saba-24b": { + "id": "mistral-saba-24b", + "name": "Mistral Saba 24B", + "family": "mistral", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-08", + "release_date": "2025-02-06", + "last_updated": "2025-02-06", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 32768, + "output": 32768 + }, + "status": "deprecated", + "cost": { + "input": 0.79, + "output": 0.79 + } + }, + "deepseek-r1-distill-llama-70b": { + "id": "deepseek-r1-distill-llama-70b", + "name": "DeepSeek R1 Distill Llama 70B", + "family": "deepseek-thinking", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-07", + "release_date": "2025-01-20", + "last_updated": "2025-01-20", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 8192 + }, + "status": "deprecated", + "cost": { + "input": 0.75, + "output": 0.99 + } + }, + "llama-guard-3-8b": { + "id": "llama-guard-3-8b", + "name": "Llama Guard 3 8B", + "family": "llama", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "release_date": "2024-07-23", + "last_updated": "2024-07-23", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 8192, + "output": 8192 + }, + "status": "deprecated", + "cost": { + "input": 0.2, + "output": 0.2 + } + }, + "llama-3.3-70b-versatile": { + "id": "llama-3.3-70b-versatile", + "name": "Llama 3.3 70B Versatile", + "family": "llama", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2023-12", + "release_date": "2024-12-06", + "last_updated": "2024-12-06", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 32768 + }, + "cost": { + "input": 0.59, + "output": 0.79 + } + }, + "allam-2-7b": { + "id": "allam-2-7b", + "name": "ALLaM-2-7b", + "family": "allam", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "knowledge": "2024-09", + "release_date": "2024-09", + "last_updated": "2024-09", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 4096, + "output": 4096 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "whisper-large-v3": { + "id": "whisper-large-v3", + "name": "Whisper Large V3", + "family": "whisper", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "knowledge": "2023-09", + "release_date": "2023-09-01", + "last_updated": "2025-09-05", + "modalities": { + "input": ["audio"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 448, + "output": 448 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "llama-3.1-8b-instant": { + "id": "llama-3.1-8b-instant", + "name": "Llama 3.1 8B Instant", + "family": "llama", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2023-12", + "release_date": "2024-07-23", + "last_updated": "2024-07-23", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 131072 + }, + "cost": { + "input": 0.05, + "output": 0.08 + } + }, + "llama3-70b-8192": { + "id": "llama3-70b-8192", + "name": "Llama 3 70B", + "family": "llama", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2023-03", + "release_date": "2024-04-18", + "last_updated": "2024-04-18", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 8192, + "output": 8192 + }, + "status": "deprecated", + "cost": { + "input": 0.59, + "output": 0.79 + } + }, + "qwen-qwq-32b": { + "id": "qwen-qwq-32b", + "name": "Qwen QwQ 32B", + "family": "qwen", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-09", + "release_date": "2024-11-27", + "last_updated": "2024-11-27", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 16384 + }, + "status": "deprecated", + "cost": { + "input": 0.29, + "output": 0.39 + } + }, + "whisper-large-v3-turbo": { + "id": "whisper-large-v3-turbo", + "name": "Whisper Large v3 Turbo", + "family": "whisper", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2024-10-01", + "last_updated": "2024-10-01", + "modalities": { + "input": ["audio"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 448, + "output": 448 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "llama3-8b-8192": { + "id": "llama3-8b-8192", + "name": "Llama 3 8B", + "family": "llama", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2023-03", + "release_date": "2024-04-18", + "last_updated": "2024-04-18", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 8192, + "output": 8192 + }, + "status": "deprecated", + "cost": { + "input": 0.05, + "output": 0.08 + } + }, + "canopylabs/orpheus-arabic-saudi": { + "id": "canopylabs/orpheus-arabic-saudi", + "name": "Orpheus Arabic Saudi", + "family": "canopylabs", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "knowledge": "2025-12-16", + "release_date": "2025-12-16", + "last_updated": "2025-12-16", + "modalities": { + "input": ["text"], + "output": ["audio"] + }, + "open_weights": false, + "limit": { + "context": 4000, + "output": 50000 + }, + "cost": { + "input": 40, + "output": 0 + } + }, + "canopylabs/orpheus-v1-english": { + "id": "canopylabs/orpheus-v1-english", + "name": "Orpheus V1 English", + "family": "canopylabs", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "knowledge": "2025-12-19", + "release_date": "2025-12-19", + "last_updated": "2025-12-19", + "modalities": { + "input": ["text"], + "output": ["audio"] + }, + "open_weights": false, + "limit": { + "context": 4000, + "output": 50000 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "meta-llama/llama-4-scout-17b-16e-instruct": { + "id": "meta-llama/llama-4-scout-17b-16e-instruct", + "name": "Llama 4 Scout 17B", + "family": "llama", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2024-08", + "release_date": "2025-04-05", + "last_updated": "2025-04-05", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 8192 + }, + "cost": { + "input": 0.11, + "output": 0.34 + } + }, + "meta-llama/llama-prompt-guard-2-22m": { + "id": "meta-llama/llama-prompt-guard-2-22m", + "name": "Llama Prompt Guard 2 22M", + "family": "llama", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2024-10-01", + "last_updated": "2024-10-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 512, + "output": 512 + }, + "cost": { + "input": 0.03, + "output": 0.03 + } + }, + "meta-llama/llama-guard-4-12b": { + "id": "meta-llama/llama-guard-4-12b", + "name": "Llama Guard 4 12B", + "family": "llama", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "release_date": "2025-04-05", + "last_updated": "2025-04-05", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 1024 + }, + "status": "deprecated", + "cost": { + "input": 0.2, + "output": 0.2 + } + }, + "meta-llama/llama-4-maverick-17b-128e-instruct": { + "id": "meta-llama/llama-4-maverick-17b-128e-instruct", + "name": "Llama 4 Maverick 17B", + "family": "llama", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2024-08", + "release_date": "2025-04-05", + "last_updated": "2025-04-05", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 8192 + }, + "status": "deprecated", + "cost": { + "input": 0.2, + "output": 0.6 + } + }, + "meta-llama/llama-prompt-guard-2-86m": { + "id": "meta-llama/llama-prompt-guard-2-86m", + "name": "Llama Prompt Guard 2 86M", + "family": "llama", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2024-10-01", + "last_updated": "2024-10-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 512, + "output": 512 + }, + "cost": { + "input": 0.04, + "output": 0.04 + } + }, + "openai/gpt-oss-20b": { + "id": "openai/gpt-oss-20b", + "name": "GPT OSS 20B", + "family": "gpt-oss", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-08-05", + "last_updated": "2025-08-05", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 65536 + }, + "cost": { + "input": 0.075, + "output": 0.3 + } + }, + "openai/gpt-oss-safeguard-20b": { + "id": "openai/gpt-oss-safeguard-20b", + "name": "Safety GPT OSS 20B", + "family": "gpt-oss", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2025-03-05", + "last_updated": "2025-03-05", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 65536 + }, + "cost": { + "input": 0.075, + "output": 0.3, + "cache_read": 0.037 + } + }, + "openai/gpt-oss-120b": { + "id": "openai/gpt-oss-120b", + "name": "GPT OSS 120B", + "family": "gpt-oss", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-08-05", + "last_updated": "2025-08-05", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 65536 + }, + "cost": { + "input": 0.15, + "output": 0.6 + } + }, + "qwen/qwen3-32b": { + "id": "qwen/qwen3-32b", + "name": "Qwen3 32B", + "family": "qwen", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-11-08", + "release_date": "2024-12-23", + "last_updated": "2024-12-23", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 40960 + }, + "cost": { + "input": 0.29, + "output": 0.59 + } + }, + "groq/compound": { + "id": "groq/compound", + "name": "Compound", + "family": "groq", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-09-04", + "release_date": "2025-09-04", + "last_updated": "2025-09-04", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 131072, + "output": 8192 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "groq/compound-mini": { + "id": "groq/compound-mini", + "name": "Compound Mini", + "family": "groq", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-09-04", + "release_date": "2025-09-04", + "last_updated": "2025-09-04", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 131072, + "output": 8192 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "moonshotai/kimi-k2-instruct": { + "id": "moonshotai/kimi-k2-instruct", + "name": "Kimi K2 Instruct", + "family": "kimi", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2025-07-14", + "last_updated": "2025-07-14", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 16384 + }, + "status": "deprecated", + "cost": { + "input": 1, + "output": 3 + } + }, + "moonshotai/kimi-k2-instruct-0905": { + "id": "moonshotai/kimi-k2-instruct-0905", + "name": "Kimi K2 Instruct 0905", + "family": "kimi", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2025-09-05", + "last_updated": "2025-09-05", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 16384 + }, + "cost": { + "input": 1, + "output": 3 + } + } + } + }, + "azure": { + "id": "azure", + "env": ["AZURE_RESOURCE_NAME", "AZURE_API_KEY"], + "npm": "@ai-sdk/azure", + "name": "Azure", + "doc": "https://learn.microsoft.com/en-us/azure/ai-services/openai/concepts/models", + "models": { + "mistral-nemo": { + "id": "mistral-nemo", + "name": "Mistral Nemo", + "family": "mistral-nemo", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-07", + "release_date": "2024-07-18", + "last_updated": "2024-07-18", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 128000 + }, + "cost": { + "input": 0.15, + "output": 0.15 + } + }, + "gpt-5.2-chat": { + "id": "gpt-5.2-chat", + "name": "GPT-5.2 Chat", + "family": "gpt-codex", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": false, + "knowledge": "2025-08-31", + "release_date": "2025-12-11", + "last_updated": "2025-12-11", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 16384 + }, + "cost": { + "input": 1.75, + "output": 14, + "cache_read": 0.175 + } + }, + "codex-mini": { + "id": "codex-mini", + "name": "Codex Mini", + "family": "gpt-codex-mini", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": false, + "knowledge": "2024-04", + "release_date": "2025-05-16", + "last_updated": "2025-05-16", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 100000 + }, + "cost": { + "input": 1.5, + "output": 6, + "cache_read": 0.375 + } + }, + "phi-4-multimodal": { + "id": "phi-4-multimodal", + "name": "Phi-4-multimodal", + "family": "phi", + "attachment": true, + "reasoning": false, + "tool_call": false, + "temperature": true, + "knowledge": "2023-10", + "release_date": "2024-12-11", + "last_updated": "2024-12-11", + "modalities": { + "input": ["text", "image", "audio"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 4096 + }, + "cost": { + "input": 0.08, + "output": 0.32, + "input_audio": 4 + } + }, + "phi-3.5-mini-instruct": { + "id": "phi-3.5-mini-instruct", + "name": "Phi-3.5-mini-instruct", + "family": "phi", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "knowledge": "2023-10", + "release_date": "2024-08-20", + "last_updated": "2024-08-20", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 4096 + }, + "cost": { + "input": 0.13, + "output": 0.52 + } + }, + "llama-4-scout-17b-16e-instruct": { + "id": "llama-4-scout-17b-16e-instruct", + "name": "Llama 4 Scout 17B 16E Instruct", + "family": "llama", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-08", + "release_date": "2025-04-05", + "last_updated": "2025-04-05", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 8192 + }, + "cost": { + "input": 0.2, + "output": 0.78 + } + }, + "grok-4-1-fast-reasoning": { + "id": "grok-4-1-fast-reasoning", + "name": "Grok 4.1 Fast (Reasoning)", + "family": "grok", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2025-06-27", + "last_updated": "2025-06-27", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "input": 128000, + "output": 8192 + }, + "status": "beta", + "cost": { + "input": 0.2, + "output": 0.5, + "cache_read": 0.05 + } + }, + "phi-3-medium-4k-instruct": { + "id": "phi-3-medium-4k-instruct", + "name": "Phi-3-medium-instruct (4k)", + "family": "phi", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "knowledge": "2023-10", + "release_date": "2024-04-23", + "last_updated": "2024-04-23", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 4096, + "output": 1024 + }, + "cost": { + "input": 0.17, + "output": 0.68 + } + }, + "ministral-3b": { + "id": "ministral-3b", + "name": "Ministral 3B", + "family": "ministral", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-03", + "release_date": "2024-10-22", + "last_updated": "2024-10-22", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 8192 + }, + "cost": { + "input": 0.04, + "output": 0.04 + } + }, + "claude-haiku-4-5": { + "id": "claude-haiku-4-5", + "name": "Claude Haiku 4.5", + "family": "claude-haiku", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2025-02-31", + "release_date": "2025-11-18", + "last_updated": "2025-11-18", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 64000 + }, + "provider": { + "npm": "@ai-sdk/anthropic", + "api": "https://${AZURE_RESOURCE_NAME}.services.ai.azure.com/anthropic/v1" + }, + "cost": { + "input": 1, + "output": 5, + "cache_read": 0.1, + "cache_write": 1.25 + } + }, + "meta-llama-3.1-8b-instruct": { + "id": "meta-llama-3.1-8b-instruct", + "name": "Meta-Llama-3.1-8B-Instruct", + "family": "llama", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2023-12", + "release_date": "2024-07-23", + "last_updated": "2024-07-23", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 32768 + }, + "cost": { + "input": 0.3, + "output": 0.61 + } + }, + "kimi-k2.5": { + "id": "kimi-k2.5", + "name": "Kimi K2.5", + "family": "kimi", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": true, + "structured_output": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2026-02-06", + "last_updated": "2026-02-06", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 262144 + }, + "provider": { + "npm": "@ai-sdk/openai-compatible", + "api": "https://${AZURE_RESOURCE_NAME}.services.ai.azure.com/models", + "shape": "completions" + }, + "cost": { + "input": 0.6, + "output": 3 + } + }, + "llama-3.3-70b-instruct": { + "id": "llama-3.3-70b-instruct", + "name": "Llama-3.3-70B-Instruct", + "family": "llama", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2023-12", + "release_date": "2024-12-06", + "last_updated": "2024-12-06", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 32768 + }, + "cost": { + "input": 0.71, + "output": 0.71 + } + }, + "deepseek-v3-0324": { + "id": "deepseek-v3-0324", + "name": "DeepSeek-V3-0324", + "family": "deepseek", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-07", + "release_date": "2025-03-24", + "last_updated": "2025-03-24", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 131072 + }, + "cost": { + "input": 1.14, + "output": 4.56 + } + }, + "gpt-5-chat": { + "id": "gpt-5-chat", + "name": "GPT-5 Chat", + "family": "gpt-codex", + "attachment": true, + "reasoning": true, + "tool_call": false, + "temperature": false, + "knowledge": "2024-10-24", + "release_date": "2025-08-07", + "last_updated": "2025-08-07", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 16384 + }, + "cost": { + "input": 1.25, + "output": 10, + "cache_read": 0.13 + } + }, + "phi-3.5-moe-instruct": { + "id": "phi-3.5-moe-instruct", + "name": "Phi-3.5-MoE-instruct", + "family": "phi", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "knowledge": "2023-10", + "release_date": "2024-08-20", + "last_updated": "2024-08-20", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 4096 + }, + "cost": { + "input": 0.16, + "output": 0.64 + } + }, + "gpt-5.3-chat": { + "id": "gpt-5.3-chat", + "name": "GPT-5.3 Chat", + "family": "gpt-codex", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": false, + "knowledge": "2025-08-31", + "release_date": "2026-03-03", + "last_updated": "2026-03-03", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 16384 + }, + "cost": { + "input": 1.75, + "output": 14, + "cache_read": 0.175 + } + }, + "o1-mini": { + "id": "o1-mini", + "name": "o1-mini", + "family": "o-mini", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": false, + "knowledge": "2023-09", + "release_date": "2024-09-12", + "last_updated": "2024-09-12", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 65536 + }, + "cost": { + "input": 1.1, + "output": 4.4, + "cache_read": 0.55 + } + }, + "text-embedding-3-large": { + "id": "text-embedding-3-large", + "name": "text-embedding-3-large", + "family": "text-embedding", + "attachment": false, + "reasoning": false, + "tool_call": false, + "release_date": "2024-01-25", + "last_updated": "2024-01-25", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 8191, + "output": 3072 + }, + "cost": { + "input": 0.13, + "output": 0 + } + }, + "phi-3-mini-128k-instruct": { + "id": "phi-3-mini-128k-instruct", + "name": "Phi-3-mini-instruct (128k)", + "family": "phi", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "knowledge": "2023-10", + "release_date": "2024-04-23", + "last_updated": "2024-04-23", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 4096 + }, + "cost": { + "input": 0.13, + "output": 0.52 + } + }, + "phi-4-reasoning": { + "id": "phi-4-reasoning", + "name": "Phi-4-reasoning", + "family": "phi", + "attachment": false, + "reasoning": true, + "tool_call": false, + "temperature": true, + "knowledge": "2023-10", + "release_date": "2024-12-11", + "last_updated": "2024-12-11", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 32000, + "output": 4096 + }, + "cost": { + "input": 0.125, + "output": 0.5 + } + }, + "gpt-5-mini": { + "id": "gpt-5-mini", + "name": "GPT-5 Mini", + "family": "gpt-mini", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": false, + "knowledge": "2024-05-30", + "release_date": "2025-08-07", + "last_updated": "2025-08-07", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 272000, + "output": 128000 + }, + "cost": { + "input": 0.25, + "output": 2, + "cache_read": 0.03 + } + }, + "gpt-5-nano": { + "id": "gpt-5-nano", + "name": "GPT-5 Nano", + "family": "gpt-nano", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": false, + "knowledge": "2024-05-30", + "release_date": "2025-08-07", + "last_updated": "2025-08-07", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 272000, + "output": 128000 + }, + "cost": { + "input": 0.05, + "output": 0.4, + "cache_read": 0.01 + } + }, + "meta-llama-3-70b-instruct": { + "id": "meta-llama-3-70b-instruct", + "name": "Meta-Llama-3-70B-Instruct", + "family": "llama", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "knowledge": "2023-12", + "release_date": "2024-04-18", + "last_updated": "2024-04-18", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 8192, + "output": 2048 + }, + "cost": { + "input": 2.68, + "output": 3.54 + } + }, + "phi-3-small-8k-instruct": { + "id": "phi-3-small-8k-instruct", + "name": "Phi-3-small-instruct (8k)", + "family": "phi", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "knowledge": "2023-10", + "release_date": "2024-04-23", + "last_updated": "2024-04-23", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 8192, + "output": 2048 + }, + "cost": { + "input": 0.15, + "output": 0.6 + } + }, + "gpt-5.3-codex": { + "id": "gpt-5.3-codex", + "name": "GPT-5.3 Codex", + "family": "gpt-codex", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": false, + "knowledge": "2025-08-31", + "release_date": "2026-02-24", + "last_updated": "2026-02-24", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "output": 128000 + }, + "cost": { + "input": 1.75, + "output": 14, + "cache_read": 0.175 + } + }, + "text-embedding-ada-002": { + "id": "text-embedding-ada-002", + "name": "text-embedding-ada-002", + "family": "text-embedding", + "attachment": false, + "reasoning": false, + "tool_call": false, + "release_date": "2022-12-15", + "last_updated": "2022-12-15", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 8192, + "output": 1536 + }, + "cost": { + "input": 0.1, + "output": 0 + } + }, + "llama-3.2-90b-vision-instruct": { + "id": "llama-3.2-90b-vision-instruct", + "name": "Llama-3.2-90B-Vision-Instruct", + "family": "llama", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2023-12", + "release_date": "2024-09-25", + "last_updated": "2024-09-25", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 8192 + }, + "cost": { + "input": 2.04, + "output": 2.04 + } + }, + "deepseek-r1": { + "id": "deepseek-r1", + "name": "DeepSeek-R1", + "family": "deepseek-thinking", + "attachment": false, + "reasoning": true, + "tool_call": false, + "temperature": true, + "knowledge": "2024-07", + "release_date": "2025-01-20", + "last_updated": "2025-01-20", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 163840, + "output": 163840 + }, + "cost": { + "input": 1.35, + "output": 5.4 + } + }, + "grok-4-1-fast-non-reasoning": { + "id": "grok-4-1-fast-non-reasoning", + "name": "Grok 4.1 Fast (Non-Reasoning)", + "family": "grok", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "release_date": "2025-06-27", + "last_updated": "2025-06-27", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "input": 128000, + "output": 8192 + }, + "status": "beta", + "cost": { + "input": 0.2, + "output": 0.5, + "cache_read": 0.05 + } + }, + "deepseek-v3.2-speciale": { + "id": "deepseek-v3.2-speciale", + "name": "DeepSeek-V3.2-Speciale", + "family": "deepseek", + "attachment": false, + "reasoning": true, + "tool_call": false, + "temperature": true, + "knowledge": "2024-07", + "release_date": "2025-12-01", + "last_updated": "2025-12-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 128000 + }, + "cost": { + "input": 0.58, + "output": 1.68 + } + }, + "gpt-5.2": { + "id": "gpt-5.2", + "name": "GPT-5.2", + "family": "gpt", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": false, + "knowledge": "2025-08-31", + "release_date": "2025-12-11", + "last_updated": "2025-12-11", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "output": 128000 + }, + "cost": { + "input": 1.75, + "output": 14, + "cache_read": 0.125 + } + }, + "mistral-large-2411": { + "id": "mistral-large-2411", + "name": "Mistral Large 24.11", + "family": "mistral-large", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-09", + "release_date": "2024-11-01", + "last_updated": "2024-11-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 32768 + }, + "cost": { + "input": 2, + "output": 6 + } + }, + "claude-opus-4-1": { + "id": "claude-opus-4-1", + "name": "Claude Opus 4.1", + "family": "claude-opus", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2025-03-31", + "release_date": "2025-11-18", + "last_updated": "2025-11-18", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 32000 + }, + "provider": { + "npm": "@ai-sdk/anthropic", + "api": "https://${AZURE_RESOURCE_NAME}.services.ai.azure.com/anthropic/v1" + }, + "cost": { + "input": 15, + "output": 75, + "cache_read": 1.5, + "cache_write": 18.75 + } + }, + "cohere-command-a": { + "id": "cohere-command-a", + "name": "Command A", + "family": "command-a", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-06-01", + "release_date": "2025-03-13", + "last_updated": "2025-03-13", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 256000, + "output": 8000 + }, + "cost": { + "input": 2.5, + "output": 10 + } + }, + "llama-3.2-11b-vision-instruct": { + "id": "llama-3.2-11b-vision-instruct", + "name": "Llama-3.2-11B-Vision-Instruct", + "family": "llama", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2023-12", + "release_date": "2024-09-25", + "last_updated": "2024-09-25", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 8192 + }, + "cost": { + "input": 0.37, + "output": 0.37 + } + }, + "meta-llama-3.1-405b-instruct": { + "id": "meta-llama-3.1-405b-instruct", + "name": "Meta-Llama-3.1-405B-Instruct", + "family": "llama", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2023-12", + "release_date": "2024-07-23", + "last_updated": "2024-07-23", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 32768 + }, + "cost": { + "input": 5.33, + "output": 16 + } + }, + "gpt-5.1-chat": { + "id": "gpt-5.1-chat", + "name": "GPT-5.1 Chat", + "family": "gpt-codex", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": false, + "knowledge": "2024-09-30", + "release_date": "2025-11-14", + "last_updated": "2025-11-14", + "modalities": { + "input": ["text", "image", "audio"], + "output": ["text", "image", "audio"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 16384 + }, + "cost": { + "input": 1.25, + "output": 10, + "cache_read": 0.125 + } + }, + "gpt-4-turbo-vision": { + "id": "gpt-4-turbo-vision", + "name": "GPT-4 Turbo Vision", "family": "gpt", "attachment": true, "reasoning": false, "tool_call": true, "temperature": true, - "knowledge": "2024-04", - "release_date": "2025-04-14", - "last_updated": "2025-04-14", - "modalities": { "input": ["text", "image"], "output": ["text"] }, + "knowledge": "2023-11", + "release_date": "2023-11-06", + "last_updated": "2024-04-09", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, "open_weights": false, - "cost": { "input": 0.1, "output": 0.4 }, - "limit": { "context": 1047576, "output": 32768 } + "limit": { + "context": 128000, + "output": 4096 + }, + "cost": { + "input": 10, + "output": 30 + } }, - "gpt-5-codex": { - "id": "gpt-5-codex", - "name": "GPT-5 Codex", - "family": "gpt", + "gpt-5.2-codex": { + "id": "gpt-5.2-codex", + "name": "GPT-5.2 Codex", + "family": "gpt-codex", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": false, + "knowledge": "2025-08-31", + "release_date": "2026-01-14", + "last_updated": "2026-01-14", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "output": 128000 + }, + "cost": { + "input": 1.75, + "output": 14, + "cache_read": 0.175 + } + }, + "cohere-embed-v-4-0": { + "id": "cohere-embed-v-4-0", + "name": "Embed v4", + "family": "cohere-embed", + "attachment": true, + "reasoning": false, + "tool_call": false, + "temperature": false, + "release_date": "2025-04-15", + "last_updated": "2025-04-15", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 1536 + }, + "cost": { + "input": 0.12, + "output": 0 + } + }, + "gpt-5.1-codex-mini": { + "id": "gpt-5.1-codex-mini", + "name": "GPT-5.1 Codex Mini", + "family": "gpt-codex", "attachment": false, "reasoning": true, "tool_call": true, "structured_output": true, "temperature": false, "knowledge": "2024-09-30", + "release_date": "2025-11-14", + "last_updated": "2025-11-14", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "output": 128000 + }, + "cost": { + "input": 0.25, + "output": 2, + "cache_read": 0.025 + } + }, + "gpt-3.5-turbo-0125": { + "id": "gpt-3.5-turbo-0125", + "name": "GPT-3.5 Turbo 0125", + "family": "gpt", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "knowledge": "2021-08", + "release_date": "2024-01-25", + "last_updated": "2024-01-25", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 16384, + "output": 16384 + }, + "cost": { + "input": 0.5, + "output": 1.5 + } + }, + "o1-preview": { + "id": "o1-preview", + "name": "o1-preview", + "family": "o", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": false, + "knowledge": "2023-09", + "release_date": "2024-09-12", + "last_updated": "2024-09-12", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 32768 + }, + "cost": { + "input": 16.5, + "output": 66, + "cache_read": 8.25 + } + }, + "cohere-embed-v3-multilingual": { + "id": "cohere-embed-v3-multilingual", + "name": "Embed v3 Multilingual", + "family": "cohere-embed", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": false, + "release_date": "2023-11-07", + "last_updated": "2023-11-07", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 512, + "output": 1024 + }, + "cost": { + "input": 0.1, + "output": 0 + } + }, + "grok-4-20-non-reasoning": { + "id": "grok-4-20-non-reasoning", + "name": "Grok 4.20 (Non-Reasoning)", + "family": "grok", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-09", + "release_date": "2026-04-08", + "last_updated": "2026-04-08", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 262000, + "output": 8192 + }, + "status": "beta", + "cost": { + "input": 2, + "output": 6 + } + }, + "gpt-5.1": { + "id": "gpt-5.1", + "name": "GPT-5.1", + "family": "gpt", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": false, + "knowledge": "2024-09-30", + "release_date": "2025-11-14", + "last_updated": "2025-11-14", + "modalities": { + "input": ["text", "image", "audio"], + "output": ["text", "image", "audio"] + }, + "open_weights": false, + "limit": { + "context": 272000, + "output": 128000 + }, + "cost": { + "input": 1.25, + "output": 10, + "cache_read": 0.125 + } + }, + "grok-4-fast-reasoning": { + "id": "grok-4-fast-reasoning", + "name": "Grok 4 Fast (Reasoning)", + "family": "grok", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-07", + "release_date": "2025-09-19", + "last_updated": "2025-09-19", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 2000000, + "output": 30000 + }, + "cost": { + "input": 0.2, + "output": 0.5, + "cache_read": 0.05 + } + }, + "o1": { + "id": "o1", + "name": "o1", + "family": "o", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": false, + "knowledge": "2023-09", + "release_date": "2024-12-05", + "last_updated": "2024-12-05", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 100000 + }, + "cost": { + "input": 15, + "output": 60, + "cache_read": 7.5 + } + }, + "mistral-small-2503": { + "id": "mistral-small-2503", + "name": "Mistral Small 3.1", + "family": "mistral-small", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-09", + "release_date": "2025-03-01", + "last_updated": "2025-03-01", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 32768 + }, + "cost": { + "input": 0.1, + "output": 0.3 + } + }, + "model-router": { + "id": "model-router", + "name": "Model Router", + "family": "model-router", + "attachment": true, + "reasoning": false, + "tool_call": true, + "release_date": "2025-05-19", + "last_updated": "2025-11-18", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 16384 + }, + "cost": { + "input": 0.14, + "output": 0 + } + }, + "gpt-3.5-turbo-1106": { + "id": "gpt-3.5-turbo-1106", + "name": "GPT-3.5 Turbo 1106", + "family": "gpt", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "knowledge": "2021-08", + "release_date": "2023-11-06", + "last_updated": "2023-11-06", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 16384, + "output": 16384 + }, + "cost": { + "input": 1, + "output": 2 + } + }, + "text-embedding-3-small": { + "id": "text-embedding-3-small", + "name": "text-embedding-3-small", + "family": "text-embedding", + "attachment": false, + "reasoning": false, + "tool_call": false, + "release_date": "2024-01-25", + "last_updated": "2024-01-25", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 8191, + "output": 1536 + }, + "cost": { + "input": 0.02, + "output": 0 + } + }, + "deepseek-v3.1": { + "id": "deepseek-v3.1", + "name": "DeepSeek-V3.1", + "family": "deepseek", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-07", + "release_date": "2025-08-21", + "last_updated": "2025-08-21", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 131072 + }, + "cost": { + "input": 0.56, + "output": 1.68 + } + }, + "claude-opus-4-5": { + "id": "claude-opus-4-5", + "name": "Claude Opus 4.5", + "family": "claude-opus", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-03-31", + "release_date": "2025-11-24", + "last_updated": "2025-08-01", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 64000 + }, + "provider": { + "npm": "@ai-sdk/anthropic", + "api": "https://${AZURE_RESOURCE_NAME}.services.ai.azure.com/anthropic/v1" + }, + "cost": { + "input": 5, + "output": 25, + "cache_read": 0.5, + "cache_write": 6.25 + } + }, + "phi-3-mini-4k-instruct": { + "id": "phi-3-mini-4k-instruct", + "name": "Phi-3-mini-instruct (4k)", + "family": "phi", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "knowledge": "2023-10", + "release_date": "2024-04-23", + "last_updated": "2024-04-23", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 4096, + "output": 1024 + }, + "cost": { + "input": 0.13, + "output": 0.52 + } + }, + "meta-llama-3.1-70b-instruct": { + "id": "meta-llama-3.1-70b-instruct", + "name": "Meta-Llama-3.1-70B-Instruct", + "family": "llama", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2023-12", + "release_date": "2024-07-23", + "last_updated": "2024-07-23", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 32768 + }, + "cost": { + "input": 2.68, + "output": 3.54 + } + }, + "phi-4-mini-reasoning": { + "id": "phi-4-mini-reasoning", + "name": "Phi-4-mini-reasoning", + "family": "phi", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2023-10", + "release_date": "2024-12-11", + "last_updated": "2024-12-11", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 4096 + }, + "cost": { + "input": 0.075, + "output": 0.3 + } + }, + "gpt-4": { + "id": "gpt-4", + "name": "GPT-4", + "family": "gpt", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2023-11", + "release_date": "2023-03-14", + "last_updated": "2023-03-14", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 8192, + "output": 8192 + }, + "cost": { + "input": 60, + "output": 120 + } + }, + "meta-llama-3-8b-instruct": { + "id": "meta-llama-3-8b-instruct", + "name": "Meta-Llama-3-8B-Instruct", + "family": "llama", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "knowledge": "2023-12", + "release_date": "2024-04-18", + "last_updated": "2024-04-18", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 8192, + "output": 2048 + }, + "cost": { + "input": 0.3, + "output": 0.61 + } + }, + "kimi-k2.6": { + "id": "kimi-k2.6", + "name": "Kimi K2.6", + "family": "kimi", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": true, + "structured_output": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2026-04-22", + "last_updated": "2026-04-22", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 262144 + }, + "provider": { + "npm": "@ai-sdk/openai-compatible", + "api": "https://${AZURE_RESOURCE_NAME}.services.ai.azure.com/models", + "shape": "completions" + }, + "cost": { + "input": 0.95, + "output": 4 + } + }, + "gpt-5-codex": { + "id": "gpt-5-codex", + "name": "GPT-5-Codex", + "family": "gpt-codex", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": false, + "knowledge": "2024-09-30", "release_date": "2025-09-15", "last_updated": "2025-09-15", - "modalities": { "input": ["text", "image"], "output": ["text"] }, + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, "open_weights": false, - "cost": { "input": 1.25, "output": 10 }, - "limit": { "context": 400000, "input": 272000, "output": 128000 } + "limit": { + "context": 400000, + "output": 128000 + }, + "cost": { + "input": 1.25, + "output": 10, + "cache_read": 0.13 + } + }, + "phi-4-mini": { + "id": "phi-4-mini", + "name": "Phi-4-mini", + "family": "phi", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2023-10", + "release_date": "2024-12-11", + "last_updated": "2024-12-11", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 4096 + }, + "cost": { + "input": 0.075, + "output": 0.3 + } + }, + "grok-4-20-reasoning": { + "id": "grok-4-20-reasoning", + "name": "Grok 4.20 (Reasoning)", + "family": "grok", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-09", + "release_date": "2026-04-08", + "last_updated": "2026-04-08", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 262000, + "output": 8192 + }, + "status": "beta", + "cost": { + "input": 2, + "output": 6 + } + }, + "gpt-3.5-turbo-0301": { + "id": "gpt-3.5-turbo-0301", + "name": "GPT-3.5 Turbo 0301", + "family": "gpt", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "knowledge": "2021-08", + "release_date": "2023-03-01", + "last_updated": "2023-03-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 4096, + "output": 4096 + }, + "cost": { + "input": 1.5, + "output": 2 + } + }, + "claude-opus-4-6": { + "id": "claude-opus-4-6", + "name": "Claude Opus 4.6", + "family": "claude-opus", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-05-31", + "release_date": "2026-02-05", + "last_updated": "2026-02-05", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 128000 + }, + "provider": { + "npm": "@ai-sdk/anthropic", + "api": "https://${AZURE_RESOURCE_NAME}.services.ai.azure.com/anthropic/v1" + }, + "cost": { + "input": 5, + "output": 25, + "cache_read": 0.5, + "cache_write": 6.25, + "tiers": [ + { + "input": 10, + "output": 37.5, + "cache_read": 1, + "cache_write": 12.5, + "tier": { + "type": "context", + "size": 200000 + } + } + ], + "context_over_200k": { + "input": 10, + "output": 37.5, + "cache_read": 1, + "cache_write": 12.5 + } + } + }, + "phi-3-small-128k-instruct": { + "id": "phi-3-small-128k-instruct", + "name": "Phi-3-small-instruct (128k)", + "family": "phi", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "knowledge": "2023-10", + "release_date": "2024-04-23", + "last_updated": "2024-04-23", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 4096 + }, + "cost": { + "input": 0.15, + "output": 0.6 + } + }, + "deepseek-v3.2": { + "id": "deepseek-v3.2", + "name": "DeepSeek-V3.2", + "family": "deepseek", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-07", + "release_date": "2025-12-01", + "last_updated": "2025-12-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 128000 + }, + "cost": { + "input": 0.58, + "output": 1.68 + } + }, + "phi-3-medium-128k-instruct": { + "id": "phi-3-medium-128k-instruct", + "name": "Phi-3-medium-instruct (128k)", + "family": "phi", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "knowledge": "2023-10", + "release_date": "2024-04-23", + "last_updated": "2024-04-23", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 4096 + }, + "cost": { + "input": 0.17, + "output": 0.68 + } + }, + "gpt-3.5-turbo-0613": { + "id": "gpt-3.5-turbo-0613", + "name": "GPT-3.5 Turbo 0613", + "family": "gpt", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "knowledge": "2021-08", + "release_date": "2023-06-13", + "last_updated": "2023-06-13", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 16384, + "output": 16384 + }, + "cost": { + "input": 3, + "output": 4 + } + }, + "claude-sonnet-4-5": { + "id": "claude-sonnet-4-5", + "name": "Claude Sonnet 4.5", + "family": "claude-sonnet", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2025-07-31", + "release_date": "2025-11-18", + "last_updated": "2025-11-18", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 64000 + }, + "provider": { + "npm": "@ai-sdk/anthropic", + "api": "https://${AZURE_RESOURCE_NAME}.services.ai.azure.com/anthropic/v1" + }, + "cost": { + "input": 3, + "output": 15, + "cache_read": 0.3, + "cache_write": 3.75 + } + }, + "phi-4": { + "id": "phi-4", + "name": "Phi-4", + "family": "phi", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "knowledge": "2023-10", + "release_date": "2024-12-11", + "last_updated": "2024-12-11", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 4096 + }, + "cost": { + "input": 0.125, + "output": 0.5 + } + }, + "gpt-5": { + "id": "gpt-5", + "name": "GPT-5", + "family": "gpt", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": false, + "knowledge": "2024-09-30", + "release_date": "2025-08-07", + "last_updated": "2025-08-07", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 272000, + "output": 128000 + }, + "cost": { + "input": 1.25, + "output": 10, + "cache_read": 0.13 + } + }, + "gpt-4-32k": { + "id": "gpt-4-32k", + "name": "GPT-4 32K", + "family": "gpt", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2023-11", + "release_date": "2023-03-14", + "last_updated": "2023-03-14", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 32768, + "output": 32768 + }, + "cost": { + "input": 60, + "output": 120 + } + }, + "cohere-embed-v3-english": { + "id": "cohere-embed-v3-english", + "name": "Embed v3 English", + "family": "cohere-embed", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": false, + "release_date": "2023-11-07", + "last_updated": "2023-11-07", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 512, + "output": 1024 + }, + "cost": { + "input": 0.1, + "output": 0 + } + }, + "phi-4-reasoning-plus": { + "id": "phi-4-reasoning-plus", + "name": "Phi-4-reasoning-plus", + "family": "phi", + "attachment": false, + "reasoning": true, + "tool_call": false, + "temperature": true, + "knowledge": "2023-10", + "release_date": "2024-12-11", + "last_updated": "2024-12-11", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 32000, + "output": 4096 + }, + "cost": { + "input": 0.125, + "output": 0.5 + } + }, + "mistral-medium-2505": { + "id": "mistral-medium-2505", + "name": "Mistral Medium 3", + "family": "mistral-medium", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-05", + "release_date": "2025-05-07", + "last_updated": "2025-05-07", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 128000 + }, + "cost": { + "input": 0.4, + "output": 2 + } + }, + "gpt-3.5-turbo-instruct": { + "id": "gpt-3.5-turbo-instruct", + "name": "GPT-3.5 Turbo Instruct", + "family": "gpt", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "knowledge": "2021-08", + "release_date": "2023-09-21", + "last_updated": "2023-09-21", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 4096, + "output": 4096 + }, + "cost": { + "input": 1.5, + "output": 2 + } + }, + "deepseek-r1-0528": { + "id": "deepseek-r1-0528", + "name": "DeepSeek-R1-0528", + "family": "deepseek-thinking", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-07", + "release_date": "2025-05-28", + "last_updated": "2025-05-28", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 163840, + "output": 163840 + }, + "cost": { + "input": 1.35, + "output": 5.4 + } + }, + "kimi-k2-thinking": { + "id": "kimi-k2-thinking", + "name": "Kimi K2 Thinking", + "family": "kimi-thinking", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": true, + "temperature": true, + "knowledge": "2024-08", + "release_date": "2025-11-06", + "last_updated": "2025-12-02", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 262144 + }, + "cost": { + "input": 0.6, + "output": 2.5, + "cache_read": 0.15 + } + }, + "gpt-5.1-codex": { + "id": "gpt-5.1-codex", + "name": "GPT-5.1 Codex", + "family": "gpt-codex", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": false, + "knowledge": "2024-09-30", + "release_date": "2025-11-14", + "last_updated": "2025-11-14", + "modalities": { + "input": ["text", "image", "audio"], + "output": ["text", "image", "audio"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "output": 128000 + }, + "cost": { + "input": 1.25, + "output": 10, + "cache_read": 0.125 + } + }, + "codestral-2501": { + "id": "codestral-2501", + "name": "Codestral 25.01", + "family": "codestral", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-03", + "release_date": "2025-01-01", + "last_updated": "2025-01-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 256000, + "output": 256000 + }, + "cost": { + "input": 0.3, + "output": 0.9 + } + }, + "llama-4-maverick-17b-128e-instruct-fp8": { + "id": "llama-4-maverick-17b-128e-instruct-fp8", + "name": "Llama 4 Maverick 17B 128E Instruct FP8", + "family": "llama", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-08", + "release_date": "2025-04-05", + "last_updated": "2025-04-05", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 8192 + }, + "cost": { + "input": 0.25, + "output": 1 + } + }, + "mai-ds-r1": { + "id": "mai-ds-r1", + "name": "MAI-DS-R1", + "family": "mai", + "attachment": false, + "reasoning": true, + "tool_call": false, + "temperature": true, + "knowledge": "2024-06", + "release_date": "2025-01-20", + "last_updated": "2025-01-20", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 8192 + }, + "cost": { + "input": 1.35, + "output": 5.4 + } + }, + "gpt-5.1-codex-max": { + "id": "gpt-5.1-codex-max", + "name": "GPT-5.1 Codex Max", + "family": "gpt-codex", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": false, + "knowledge": "2024-09-30", + "release_date": "2025-11-13", + "last_updated": "2025-11-13", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "output": 128000 + }, + "cost": { + "input": 1.25, + "output": 10, + "cache_read": 0.125 + } + }, + "claude-sonnet-4-6": { + "id": "claude-sonnet-4-6", + "name": "Claude Sonnet 4.6", + "family": "claude-sonnet", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2025-08-31", + "release_date": "2026-02-17", + "last_updated": "2026-03-13", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000000, + "output": 64000 + }, + "provider": { + "npm": "@ai-sdk/anthropic", + "api": "https://${AZURE_RESOURCE_NAME}.services.ai.azure.com/anthropic/v1" + }, + "cost": { + "input": 3, + "output": 15, + "cache_read": 0.3, + "cache_write": 3.75 + } + }, + "gpt-5.5": { + "id": "gpt-5.5", + "name": "GPT-5.5", + "family": "gpt", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": false, + "knowledge": "2025-12-01", + "release_date": "2026-04-24", + "last_updated": "2026-04-24", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1050000, + "input": 922000, + "output": 128000 + }, + "cost": { + "input": 5, + "output": 30, + "cache_read": 0.5, + "context_over_200k": { + "input": 10, + "output": 45, + "cache_read": 1 + }, + "tiers": [ + { + "input": 10, + "output": 45, + "cache_read": 1, + "tier": { + "type": "context", + "size": 272000 + } + } + ] + } + }, + "gpt-4-turbo": { + "id": "gpt-4-turbo", + "name": "GPT-4 Turbo", + "family": "gpt", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2023-12", + "release_date": "2023-11-06", + "last_updated": "2024-04-09", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 4096 + }, + "cost": { + "input": 10, + "output": 30 + } + }, + "gpt-4o-mini": { + "id": "gpt-4o-mini", + "name": "GPT-4o mini", + "family": "gpt-mini", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2023-09", + "release_date": "2024-07-18", + "last_updated": "2024-07-18", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 16384 + }, + "cost": { + "input": 0.15, + "output": 0.6, + "cache_read": 0.08 + } + }, + "gpt-5.4-mini": { + "id": "gpt-5.4-mini", + "name": "GPT-5.4 Mini", + "family": "gpt-mini", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": false, + "knowledge": "2025-08-31", + "release_date": "2026-03-17", + "last_updated": "2026-03-17", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "input": 272000, + "output": 128000 + }, + "cost": { + "input": 0.75, + "output": 4.5, + "cache_read": 0.075 + } + }, + "cohere-command-r-08-2024": { + "id": "cohere-command-r-08-2024", + "name": "Command R", + "family": "command-r", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-06-01", + "release_date": "2024-08-30", + "last_updated": "2024-08-30", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 4000 + }, + "cost": { + "input": 0.15, + "output": 0.6 + } }, "o4-mini": { "id": "o4-mini", @@ -64904,179 +108800,5024 @@ "knowledge": "2024-05", "release_date": "2025-04-16", "last_updated": "2025-04-16", - "modalities": { "input": ["text", "image"], "output": ["text"] }, + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, "open_weights": false, - "cost": { "input": 1.1, "output": 4.4 }, - "limit": { "context": 200000, "output": 100000 } + "limit": { + "context": 200000, + "output": 100000 + }, + "cost": { + "input": 1.1, + "output": 4.4, + "cache_read": 0.28 + } }, - "route-llm": { - "id": "route-llm", - "name": "Route LLM", - "family": "gpt", + "gpt-5.4-nano": { + "id": "gpt-5.4-nano", + "name": "GPT-5.4 Nano", + "family": "gpt-nano", "attachment": true, - "reasoning": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": false, + "knowledge": "2025-08-31", + "release_date": "2026-03-17", + "last_updated": "2026-03-17", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "input": 272000, + "output": 128000 + }, + "cost": { + "input": 0.2, + "output": 1.25, + "cache_read": 0.02 + } + }, + "grok-code-fast-1": { + "id": "grok-code-fast-1", + "name": "Grok Code Fast 1", + "family": "grok", + "attachment": false, + "reasoning": true, "tool_call": true, "temperature": true, - "knowledge": "2024-10", - "release_date": "2024-01-01", - "last_updated": "2024-01-01", - "modalities": { "input": ["text", "image"], "output": ["text"] }, + "knowledge": "2023-10", + "release_date": "2025-08-28", + "last_updated": "2025-08-28", + "modalities": { + "input": ["text"], + "output": ["text"] + }, "open_weights": false, - "cost": { "input": 3, "output": 15 }, - "limit": { "context": 128000, "output": 16384 } + "limit": { + "context": 256000, + "output": 10000 + }, + "cost": { + "input": 0.2, + "output": 1.5, + "cache_read": 0.02 + } }, - "gpt-5.1-codex": { - "id": "gpt-5.1-codex", - "name": "GPT-5.1 Codex", + "gpt-5.4-pro": { + "id": "gpt-5.4-pro", + "name": "GPT-5.4 Pro", + "family": "gpt-pro", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": false, + "temperature": false, + "knowledge": "2025-08-31", + "release_date": "2026-03-05", + "last_updated": "2026-03-05", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1050000, + "input": 922000, + "output": 128000 + }, + "cost": { + "input": 30, + "output": 180, + "context_over_200k": { + "input": 60, + "output": 270 + }, + "tiers": [ + { + "input": 60, + "output": 270, + "tier": { + "type": "context", + "size": 272000 + } + } + ] + } + }, + "o3-mini": { + "id": "o3-mini", + "name": "o3-mini", + "family": "o-mini", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": false, + "knowledge": "2024-05", + "release_date": "2024-12-20", + "last_updated": "2025-01-29", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 100000 + }, + "cost": { + "input": 1.1, + "output": 4.4, + "cache_read": 0.55 + } + }, + "grok-4": { + "id": "grok-4", + "name": "Grok 4", + "family": "grok", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-07", + "release_date": "2025-07-09", + "last_updated": "2025-07-09", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 256000, + "output": 64000 + }, + "cost": { + "input": 3, + "output": 15, + "reasoning": 15, + "cache_read": 0.75 + } + }, + "gpt-5.4": { + "id": "gpt-5.4", + "name": "GPT-5.4", "family": "gpt", "attachment": true, "reasoning": true, "tool_call": true, "structured_output": true, "temperature": false, - "knowledge": "2024-09-30", - "release_date": "2025-11-13", - "last_updated": "2025-11-13", - "modalities": { "input": ["text", "image"], "output": ["text"] }, + "knowledge": "2025-08-31", + "release_date": "2026-03-05", + "last_updated": "2026-03-05", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, "open_weights": false, - "cost": { "input": 1.25, "output": 10 }, - "limit": { "context": 400000, "input": 272000, "output": 128000 } + "limit": { + "context": 1050000, + "input": 922000, + "output": 128000 + }, + "cost": { + "input": 2.5, + "output": 15, + "cache_read": 0.25, + "context_over_200k": { + "input": 5, + "output": 22.5, + "cache_read": 0.5 + }, + "tiers": [ + { + "input": 5, + "output": 22.5, + "cache_read": 0.5, + "tier": { + "type": "context", + "size": 272000 + } + } + ] + } }, - "openai/gpt-oss-120b": { - "id": "openai/gpt-oss-120b", - "name": "GPT-OSS 120B", - "family": "gpt-oss", + "gpt-4.1-nano": { + "id": "gpt-4.1-nano", + "name": "GPT-4.1 nano", + "family": "gpt-nano", "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-04", + "release_date": "2025-04-14", + "last_updated": "2025-04-14", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1047576, + "output": 32768 + }, + "cost": { + "input": 0.1, + "output": 0.4, + "cache_read": 0.03 + } + }, + "grok-3-mini": { + "id": "grok-3-mini", + "name": "Grok 3 Mini", + "family": "grok", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-11", + "release_date": "2025-02-17", + "last_updated": "2025-02-17", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 131072, + "output": 8192 + }, + "cost": { + "input": 0.3, + "output": 0.5, + "reasoning": 0.5, + "cache_read": 0.075 + } + }, + "o3": { + "id": "o3", + "name": "o3", + "family": "o", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": false, + "knowledge": "2024-05", + "release_date": "2025-04-16", + "last_updated": "2025-04-16", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 100000 + }, + "cost": { + "input": 2, + "output": 8, + "cache_read": 0.5 + } + }, + "gpt-5-pro": { + "id": "gpt-5-pro", + "name": "GPT-5 Pro", + "family": "gpt-pro", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": false, + "knowledge": "2024-09-30", + "release_date": "2025-10-06", + "last_updated": "2025-10-06", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "output": 272000 + }, + "cost": { + "input": 15, + "output": 120 + } + }, + "gpt-4o": { + "id": "gpt-4o", + "name": "GPT-4o", + "family": "gpt", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2023-09", + "release_date": "2024-05-13", + "last_updated": "2024-08-06", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 16384 + }, + "cost": { + "input": 2.5, + "output": 10, + "cache_read": 1.25 + } + }, + "cohere-command-r-plus-08-2024": { + "id": "cohere-command-r-plus-08-2024", + "name": "Command R+", + "family": "command-r", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-06-01", + "release_date": "2024-08-30", + "last_updated": "2024-08-30", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 4000 + }, + "cost": { + "input": 2.5, + "output": 10 + } + }, + "gpt-4.1": { + "id": "gpt-4.1", + "name": "GPT-4.1", + "family": "gpt", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-04", + "release_date": "2025-04-14", + "last_updated": "2025-04-14", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1047576, + "output": 32768 + }, + "cost": { + "input": 2, + "output": 8, + "cache_read": 0.5 + } + }, + "gpt-4.1-mini": { + "id": "gpt-4.1-mini", + "name": "GPT-4.1 mini", + "family": "gpt-mini", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-04", + "release_date": "2025-04-14", + "last_updated": "2025-04-14", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1047576, + "output": 32768 + }, + "cost": { + "input": 0.4, + "output": 1.6, + "cache_read": 0.1 + } + }, + "grok-3": { + "id": "grok-3", + "name": "Grok 3", + "family": "grok", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-11", + "release_date": "2025-02-17", + "last_updated": "2025-02-17", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 131072, + "output": 8192 + }, + "cost": { + "input": 3, + "output": 15, + "cache_read": 0.75 + } + }, + "grok-4-fast-non-reasoning": { + "id": "grok-4-fast-non-reasoning", + "name": "Grok 4 Fast (Non-Reasoning)", + "family": "grok", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-07", + "release_date": "2025-09-19", + "last_updated": "2025-09-19", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 2000000, + "output": 30000 + }, + "cost": { + "input": 0.2, + "output": 0.5, + "cache_read": 0.05 + } + } + } + }, + "fastrouter": { + "id": "fastrouter", + "env": ["FASTROUTER_API_KEY"], + "npm": "@ai-sdk/openai-compatible", + "api": "https://go.fastrouter.ai/api/v1", + "name": "FastRouter", + "doc": "https://fastrouter.ai/models", + "models": { + "x-ai/grok-4": { + "id": "x-ai/grok-4", + "name": "Grok 4", + "family": "grok", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-07", + "release_date": "2025-07-09", + "last_updated": "2025-07-09", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 256000, + "output": 64000 + }, + "cost": { + "input": 3, + "output": 15, + "cache_read": 0.75, + "cache_write": 15 + } + }, + "deepseek-ai/deepseek-r1-distill-llama-70b": { + "id": "deepseek-ai/deepseek-r1-distill-llama-70b", + "name": "DeepSeek R1 Distill Llama 70B", + "family": "deepseek-thinking", + "attachment": false, + "reasoning": true, + "tool_call": false, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2025-01-23", + "last_updated": "2025-01-23", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 131072 + }, + "cost": { + "input": 0.03, + "output": 0.14 + } + }, + "openai/gpt-5-mini": { + "id": "openai/gpt-5-mini", + "name": "GPT-5 Mini", + "family": "gpt-mini", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-10-01", + "release_date": "2025-08-07", + "last_updated": "2025-08-07", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "output": 128000 + }, + "cost": { + "input": 0.25, + "output": 2, + "cache_read": 0.025 + } + }, + "openai/gpt-5-nano": { + "id": "openai/gpt-5-nano", + "name": "GPT-5 Nano", + "family": "gpt-nano", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-10-01", + "release_date": "2025-08-07", + "last_updated": "2025-08-07", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "output": 128000 + }, + "cost": { + "input": 0.05, + "output": 0.4, + "cache_read": 0.005 + } + }, + "openai/gpt-oss-20b": { + "id": "openai/gpt-oss-20b", + "name": "GPT OSS 20B", + "family": "gpt-oss", + "attachment": false, "reasoning": true, "tool_call": true, "temperature": true, "release_date": "2025-08-05", "last_updated": "2025-08-05", - "modalities": { "input": ["text", "image"], "output": ["text"] }, + "modalities": { + "input": ["text"], + "output": ["text"] + }, "open_weights": true, - "cost": { "input": 0.08, "output": 0.44 }, - "limit": { "context": 128000, "output": 32768 } + "limit": { + "context": 131072, + "output": 65536 + }, + "cost": { + "input": 0.05, + "output": 0.2 + } }, - "deepseek/deepseek-v3.1": { - "id": "deepseek/deepseek-v3.1", - "name": "DeepSeek V3.1", - "family": "deepseek", + "openai/gpt-5": { + "id": "openai/gpt-5", + "name": "GPT-5", + "family": "gpt", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-10-01", + "release_date": "2025-08-07", + "last_updated": "2025-08-07", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "output": 128000 + }, + "cost": { + "input": 1.25, + "output": 10, + "cache_read": 0.125 + } + }, + "openai/gpt-oss-120b": { + "id": "openai/gpt-oss-120b", + "name": "GPT OSS 120B", + "family": "gpt-oss", "attachment": false, "reasoning": true, "tool_call": true, "temperature": true, - "release_date": "2025-01-20", - "last_updated": "2025-01-20", - "modalities": { "input": ["text"], "output": ["text"] }, + "release_date": "2025-08-05", + "last_updated": "2025-08-05", + "modalities": { + "input": ["text"], + "output": ["text"] + }, "open_weights": true, - "cost": { "input": 0.55, "output": 1.66 }, - "limit": { "context": 128000, "output": 8192 } + "limit": { + "context": 131072, + "output": 32768 + }, + "cost": { + "input": 0.15, + "output": 0.6 + } }, - "zai-org/glm-4.5": { - "id": "zai-org/glm-4.5", - "name": "GLM-4.5", - "family": "glm", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2025-07-28", - "last_updated": "2025-07-28", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.6, "output": 2.2 }, - "limit": { "context": 128000, "output": 8192 } - }, - "zai-org/glm-4.6": { - "id": "zai-org/glm-4.6", - "name": "GLM-4.6", - "family": "glm", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "release_date": "2025-03-01", - "last_updated": "2025-03-01", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.6, "output": 2.2 }, - "limit": { "context": 128000, "output": 8192 } - }, - "zai-org/glm-5": { - "id": "zai-org/glm-5", + "z-ai/glm-5": { + "id": "z-ai/glm-5", "name": "GLM-5", "family": "glm", "attachment": false, "reasoning": true, "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, "temperature": true, "release_date": "2026-02-11", "last_updated": "2026-02-11", - "modalities": { "input": ["text"], "output": ["text"] }, + "modalities": { + "input": ["text"], + "output": ["text"] + }, "open_weights": true, - "cost": { "input": 1, "output": 3.2 }, - "limit": { "context": 204800, "output": 131072 } + "limit": { + "context": 204800, + "output": 131072 + }, + "cost": { + "input": 0.95, + "output": 3.15 + } }, - "zai-org/glm-4.7": { - "id": "zai-org/glm-4.7", - "name": "GLM-4.7", + "qwen/qwen3-coder": { + "id": "qwen/qwen3-coder", + "name": "Qwen3 Coder", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-07-23", + "last_updated": "2025-07-23", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 66536 + }, + "cost": { + "input": 0.3, + "output": 1.2 + } + }, + "google/gemini-2.5-pro": { + "id": "google/gemini-2.5-pro", + "name": "Gemini 2.5 Pro", + "family": "gemini-pro", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2025-06-17", + "last_updated": "2025-06-17", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1048576, + "output": 65536 + }, + "cost": { + "input": 1.25, + "output": 10, + "cache_read": 0.31 + } + }, + "google/gemini-2.5-flash": { + "id": "google/gemini-2.5-flash", + "name": "Gemini 2.5 Flash", + "family": "gemini-flash", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2025-06-17", + "last_updated": "2025-06-17", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1048576, + "output": 65536 + }, + "cost": { + "input": 0.3, + "output": 2.5, + "cache_read": 0.0375 + } + }, + "moonshotai/kimi-k2": { + "id": "moonshotai/kimi-k2", + "name": "Kimi K2", + "family": "kimi", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2025-07-11", + "last_updated": "2025-07-11", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 32768 + }, + "cost": { + "input": 0.55, + "output": 2.2 + } + }, + "openai/gpt-4.1": { + "id": "openai/gpt-4.1", + "name": "GPT-4.1", + "family": "gpt", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-04", + "release_date": "2025-04-14", + "last_updated": "2025-04-14", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1047576, + "output": 32768 + }, + "cost": { + "input": 2, + "output": 8, + "cache_read": 0.5 + } + }, + "anthropic/claude-opus-4.1": { + "id": "anthropic/claude-opus-4.1", + "name": "Claude Opus 4.1", + "family": "claude-opus", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-03-31", + "release_date": "2025-08-05", + "last_updated": "2025-08-05", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 32000 + }, + "cost": { + "input": 15, + "output": 75, + "cache_read": 1.5, + "cache_write": 18.75 + } + }, + "anthropic/claude-sonnet-4": { + "id": "anthropic/claude-sonnet-4", + "name": "Claude Sonnet 4", + "family": "claude-sonnet", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-03-31", + "release_date": "2025-05-22", + "last_updated": "2025-05-22", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 64000 + }, + "cost": { + "input": 3, + "output": 15, + "cache_read": 0.3, + "cache_write": 3.75 + } + } + } + }, + "stackit": { + "id": "stackit", + "env": ["STACKIT_API_KEY"], + "npm": "@ai-sdk/openai-compatible", + "api": "https://api.openai-compat.model-serving.eu01.onstackit.cloud/v1", + "name": "STACKIT", + "doc": "https://docs.stackit.cloud/products/data-and-ai/ai-model-serving/basics/available-shared-models", + "models": { + "Qwen/Qwen3-VL-Embedding-8B": { + "id": "Qwen/Qwen3-VL-Embedding-8B", + "name": "Qwen3-VL Embedding 8B", + "family": "qwen", + "attachment": true, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "temperature": false, + "release_date": "2026-02-05", + "last_updated": "2026-02-05", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 32000, + "output": 4096 + }, + "cost": { + "input": 0.09, + "output": 0.09 + } + }, + "Qwen/Qwen3-VL-235B-A22B-Instruct-FP8": { + "id": "Qwen/Qwen3-VL-235B-A22B-Instruct-FP8", + "name": "Qwen3-VL 235B", + "family": "qwen", + "attachment": true, + "reasoning": false, + "tool_call": true, + "structured_output": false, + "temperature": true, + "release_date": "2024-11-01", + "last_updated": "2024-11-01", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 218000, + "output": 8192 + }, + "cost": { + "input": 1.64, + "output": 1.91 + } + }, + "neuralmagic/Meta-Llama-3.1-8B-Instruct-FP8": { + "id": "neuralmagic/Meta-Llama-3.1-8B-Instruct-FP8", + "name": "Llama 3.1 8B", + "family": "llama", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2024-07-23", + "last_updated": "2024-07-23", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 8192 + }, + "cost": { + "input": 0.16, + "output": 0.27 + } + }, + "neuralmagic/Mistral-Nemo-Instruct-2407-FP8": { + "id": "neuralmagic/Mistral-Nemo-Instruct-2407-FP8", + "name": "Mistral Nemo", + "family": "mistral", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": false, + "temperature": true, + "release_date": "2024-07-01", + "last_updated": "2024-07-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 8192 + }, + "cost": { + "input": 0.49, + "output": 0.71 + } + }, + "openai/gpt-oss-120b": { + "id": "openai/gpt-oss-120b", + "name": "GPT-OSS 120B", + "family": "gpt", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": false, + "temperature": true, + "release_date": "2025-08-05", + "last_updated": "2025-08-05", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131000, + "output": 8192 + }, + "cost": { + "input": 0.49, + "output": 0.71 + } + }, + "cortecs/Llama-3.3-70B-Instruct-FP8-Dynamic": { + "id": "cortecs/Llama-3.3-70B-Instruct-FP8-Dynamic", + "name": "Llama 3.3 70B", + "family": "llama", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": false, + "temperature": true, + "release_date": "2024-12-05", + "last_updated": "2024-12-05", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 8192 + }, + "cost": { + "input": 0.49, + "output": 0.71 + } + }, + "google/gemma-3-27b-it": { + "id": "google/gemma-3-27b-it", + "name": "Gemma 3 27B", + "family": "gemma", + "attachment": true, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "temperature": true, + "release_date": "2025-05-17", + "last_updated": "2025-05-17", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 37000, + "output": 8192 + }, + "cost": { + "input": 0.49, + "output": 0.71 + } + }, + "intfloat/e5-mistral-7b-instruct": { + "id": "intfloat/e5-mistral-7b-instruct", + "name": "E5 Mistral 7B", + "family": "mistral", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "temperature": false, + "release_date": "2023-12-11", + "last_updated": "2023-12-11", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 4096, + "output": 4096 + }, + "cost": { + "input": 0.02, + "output": 0.02 + } + } + } + }, + "tencent-coding-plan": { + "id": "tencent-coding-plan", + "env": ["TENCENT_CODING_PLAN_API_KEY"], + "npm": "@ai-sdk/openai-compatible", + "api": "https://api.lkeap.cloud.tencent.com/coding/v3", + "name": "Tencent Coding Plan (China)", + "doc": "https://cloud.tencent.com/document/product/1772/128947", + "models": { + "kimi-k2.5": { + "id": "kimi-k2.5", + "name": "Kimi-K2.5", + "family": "kimi", + "attachment": true, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2026-01-27", + "last_updated": "2026-01-27", + "modalities": { + "input": ["text", "image", "video"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 32768 + }, + "cost": { + "input": 0, + "output": 0, + "cache_read": 0, + "cache_write": 0 + } + }, + "glm-5": { + "id": "glm-5", + "name": "GLM-5", + "family": "glm", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "temperature": true, + "release_date": "2026-02-11", + "last_updated": "2026-02-11", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 202752, + "output": 16384 + }, + "cost": { + "input": 0, + "output": 0, + "cache_read": 0, + "cache_write": 0 + } + }, + "hunyuan-turbos": { + "id": "hunyuan-turbos", + "name": "Hunyuan-TurboS", + "family": "hunyuan", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "release_date": "2026-03-08", + "last_updated": "2026-03-08", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 131072, + "output": 16384 + }, + "cost": { + "input": 0, + "output": 0, + "cache_read": 0, + "cache_write": 0 + } + }, + "hunyuan-t1": { + "id": "hunyuan-t1", + "name": "Hunyuan-T1", + "family": "hunyuan", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "temperature": true, + "release_date": "2026-03-08", + "last_updated": "2026-03-08", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 131072, + "output": 16384 + }, + "cost": { + "input": 0, + "output": 0, + "cache_read": 0, + "cache_write": 0 + } + }, + "hunyuan-2.0-instruct": { + "id": "hunyuan-2.0-instruct", + "name": "Tencent HY 2.0 Instruct", + "family": "hunyuan", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "release_date": "2026-03-08", + "last_updated": "2026-03-08", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 131072, + "output": 16384 + }, + "cost": { + "input": 0, + "output": 0, + "cache_read": 0, + "cache_write": 0 + } + }, + "minimax-m2.5": { + "id": "minimax-m2.5", + "name": "MiniMax-M2.5", + "family": "minimax", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "temperature": true, + "release_date": "2026-02-12", + "last_updated": "2026-02-12", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 204800, + "output": 32768 + }, + "cost": { + "input": 0, + "output": 0, + "cache_read": 0, + "cache_write": 0 + } + }, + "tc-code-latest": { + "id": "tc-code-latest", + "name": "Auto", + "family": "auto", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "release_date": "2026-03-08", + "last_updated": "2026-03-08", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 131072, + "output": 16384 + }, + "cost": { + "input": 0, + "output": 0, + "cache_read": 0, + "cache_write": 0 + } + }, + "hunyuan-2.0-thinking": { + "id": "hunyuan-2.0-thinking", + "name": "Tencent HY 2.0 Think", + "family": "hunyuan", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "temperature": true, + "release_date": "2026-03-08", + "last_updated": "2026-03-08", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 131072, + "output": 16384 + }, + "cost": { + "input": 0, + "output": 0, + "cache_read": 0, + "cache_write": 0 + } + } + } + }, + "privatemode-ai": { + "id": "privatemode-ai", + "env": ["PRIVATEMODE_API_KEY", "PRIVATEMODE_ENDPOINT"], + "npm": "@ai-sdk/openai-compatible", + "api": "http://localhost:8080/v1", + "name": "Privatemode AI", + "doc": "https://docs.privatemode.ai/api/overview", + "models": { + "gemma-3-27b": { + "id": "gemma-3-27b", + "name": "Gemma 3 27B", + "family": "gemma", + "attachment": true, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2024-08", + "release_date": "2025-03-12", + "last_updated": "2025-03-12", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 8192 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "whisper-large-v3": { + "id": "whisper-large-v3", + "name": "Whisper large-v3", + "family": "whisper", + "attachment": true, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "temperature": true, + "knowledge": "2023-09", + "release_date": "2023-09-01", + "last_updated": "2023-09-01", + "modalities": { + "input": ["audio"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 0, + "output": 4096 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "qwen3-embedding-4b": { + "id": "qwen3-embedding-4b", + "name": "Qwen3-Embedding 4B", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": false, + "structured_output": false, + "temperature": true, + "knowledge": "2025-06", + "release_date": "2025-06-06", + "last_updated": "2025-06-06", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 32000, + "output": 2560 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "gpt-oss-120b": { + "id": "gpt-oss-120b", + "name": "gpt-oss-120b", + "family": "gpt-oss", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2025-08", + "release_date": "2025-08-04", + "last_updated": "2025-08-14", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 128000 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "qwen3-coder-30b-a3b": { + "id": "qwen3-coder-30b-a3b", + "name": "Qwen3-Coder 30B-A3B", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-04", + "last_updated": "2025-04", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 32768 + }, + "cost": { + "input": 0, + "output": 0 + } + } + } + }, + "google": { + "id": "google", + "env": ["GOOGLE_GENERATIVE_AI_API_KEY", "GEMINI_API_KEY"], + "npm": "@ai-sdk/google", + "name": "Google", + "doc": "https://ai.google.dev/gemini-api/docs/models", + "models": { + "gemini-flash-lite-latest": { + "id": "gemini-flash-lite-latest", + "name": "Gemini Flash-Lite Latest", + "family": "gemini-flash-lite", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2025-09-25", + "last_updated": "2025-09-25", + "modalities": { + "input": ["text", "image", "audio", "video", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1048576, + "output": 65536 + }, + "cost": { + "input": 0.1, + "output": 0.4, + "cache_read": 0.025 + } + }, + "gemini-2.5-pro-preview-05-06": { + "id": "gemini-2.5-pro-preview-05-06", + "name": "Gemini 2.5 Pro Preview 05-06", + "family": "gemini-pro", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2025-05-06", + "last_updated": "2025-05-06", + "modalities": { + "input": ["text", "image", "audio", "video", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1048576, + "output": 65536 + }, + "cost": { + "input": 1.25, + "output": 10, + "cache_read": 0.31 + } + }, + "gemini-live-2.5-flash-preview-native-audio": { + "id": "gemini-live-2.5-flash-preview-native-audio", + "name": "Gemini Live 2.5 Flash Preview Native Audio", + "family": "gemini-flash", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": false, + "knowledge": "2025-01", + "release_date": "2025-06-17", + "last_updated": "2025-09-18", + "modalities": { + "input": ["text", "audio", "video"], + "output": ["text", "audio"] + }, + "open_weights": false, + "limit": { + "context": 131072, + "output": 65536 + }, + "cost": { + "input": 0.5, + "output": 2, + "input_audio": 3, + "output_audio": 12 + } + }, + "gemini-3.1-pro-preview-customtools": { + "id": "gemini-3.1-pro-preview-customtools", + "name": "Gemini 3.1 Pro Preview Custom Tools", + "family": "gemini-pro", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2026-02-19", + "last_updated": "2026-02-19", + "modalities": { + "input": ["text", "image", "video", "audio", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1048576, + "output": 65536 + }, + "cost": { + "input": 2, + "output": 12, + "cache_read": 0.2, + "tiers": [ + { + "input": 4, + "output": 18, + "cache_read": 0.4, + "tier": { + "type": "context", + "size": 200000 + } + } + ], + "context_over_200k": { + "input": 4, + "output": 18, + "cache_read": 0.4 + } + } + }, + "gemini-2.5-flash-lite-preview-09-2025": { + "id": "gemini-2.5-flash-lite-preview-09-2025", + "name": "Gemini 2.5 Flash Lite Preview 09-25", + "family": "gemini-flash-lite", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2025-09-25", + "last_updated": "2025-09-25", + "modalities": { + "input": ["text", "image", "audio", "video", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1048576, + "output": 65536 + }, + "cost": { + "input": 0.1, + "output": 0.4, + "cache_read": 0.025 + } + }, + "gemini-1.5-flash": { + "id": "gemini-1.5-flash", + "name": "Gemini 1.5 Flash", + "family": "gemini-flash", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-04", + "release_date": "2024-05-14", + "last_updated": "2024-05-14", + "modalities": { + "input": ["text", "image", "audio", "video"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000000, + "output": 8192 + }, + "cost": { + "input": 0.075, + "output": 0.3, + "cache_read": 0.01875 + } + }, + "gemini-1.5-pro": { + "id": "gemini-1.5-pro", + "name": "Gemini 1.5 Pro", + "family": "gemini-pro", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-04", + "release_date": "2024-02-15", + "last_updated": "2024-02-15", + "modalities": { + "input": ["text", "image", "audio", "video"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000000, + "output": 8192 + }, + "cost": { + "input": 1.25, + "output": 5, + "cache_read": 0.3125 + } + }, + "gemma-3n-e4b-it": { + "id": "gemma-3n-e4b-it", + "name": "Gemma 3n 4B", + "family": "gemma", + "attachment": true, + "reasoning": false, + "tool_call": false, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2025-05-20", + "last_updated": "2025-05-20", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 8192, + "output": 2000 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "gemini-3.1-flash-lite-preview": { + "id": "gemini-3.1-flash-lite-preview", + "name": "Gemini 3.1 Flash Lite Preview", + "family": "gemini-flash-lite", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2026-03-03", + "last_updated": "2026-03-03", + "modalities": { + "input": ["text", "image", "video", "audio", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1048576, + "output": 65536 + }, + "cost": { + "input": 0.25, + "output": 1.5, + "cache_read": 0.025, + "input_audio": 0.5 + } + }, + "gemini-3.1-pro-preview": { + "id": "gemini-3.1-pro-preview", + "name": "Gemini 3.1 Pro Preview", + "family": "gemini-pro", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2026-02-19", + "last_updated": "2026-02-19", + "modalities": { + "input": ["text", "image", "video", "audio", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1048576, + "output": 65536 + }, + "cost": { + "input": 2, + "output": 12, + "cache_read": 0.2, + "tiers": [ + { + "input": 4, + "output": 18, + "cache_read": 0.4, + "tier": { + "type": "context", + "size": 200000 + } + } + ], + "context_over_200k": { + "input": 4, + "output": 18, + "cache_read": 0.4 + } + } + }, + "gemini-2.0-flash": { + "id": "gemini-2.0-flash", + "name": "Gemini 2.0 Flash", + "family": "gemini-flash", + "attachment": true, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2024-06", + "release_date": "2024-12-11", + "last_updated": "2024-12-11", + "modalities": { + "input": ["text", "image", "audio", "video", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1048576, + "output": 8192 + }, + "cost": { + "input": 0.1, + "output": 0.4, + "cache_read": 0.025 + } + }, + "gemini-3-flash-preview": { + "id": "gemini-3-flash-preview", + "name": "Gemini 3 Flash Preview", + "family": "gemini-flash", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2025-12-17", + "last_updated": "2025-12-17", + "modalities": { + "input": ["text", "image", "video", "audio", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1048576, + "output": 65536 + }, + "cost": { + "input": 0.5, + "output": 3, + "cache_read": 0.05, + "input_audio": 1 + } + }, + "gemini-2.5-flash-preview-tts": { + "id": "gemini-2.5-flash-preview-tts", + "name": "Gemini 2.5 Flash Preview TTS", + "family": "gemini-flash", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": false, + "knowledge": "2025-01", + "release_date": "2025-05-01", + "last_updated": "2025-05-01", + "modalities": { + "input": ["text"], + "output": ["audio"] + }, + "open_weights": false, + "limit": { + "context": 8000, + "output": 16000 + }, + "cost": { + "input": 0.5, + "output": 10 + } + }, + "gemini-3-pro-preview": { + "id": "gemini-3-pro-preview", + "name": "Gemini 3 Pro Preview", + "family": "gemini-pro", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2025-11-18", + "last_updated": "2025-11-18", + "modalities": { + "input": ["text", "image", "video", "audio", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000000, + "output": 64000 + }, + "cost": { + "input": 2, + "output": 12, + "cache_read": 0.2, + "tiers": [ + { + "input": 4, + "output": 18, + "cache_read": 0.4, + "tier": { + "type": "context", + "size": 200000 + } + } + ], + "context_over_200k": { + "input": 4, + "output": 18, + "cache_read": 0.4 + } + } + }, + "gemini-2.5-flash-preview-05-20": { + "id": "gemini-2.5-flash-preview-05-20", + "name": "Gemini 2.5 Flash Preview 05-20", + "family": "gemini-flash", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2025-05-20", + "last_updated": "2025-05-20", + "modalities": { + "input": ["text", "image", "audio", "video", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1048576, + "output": 65536 + }, + "cost": { + "input": 0.15, + "output": 0.6, + "cache_read": 0.0375 + } + }, + "gemini-embedding-001": { + "id": "gemini-embedding-001", + "name": "Gemini Embedding 001", + "family": "gemini", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": false, + "knowledge": "2025-05", + "release_date": "2025-05-20", + "last_updated": "2025-05-20", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 2048, + "output": 3072 + }, + "cost": { + "input": 0.15, + "output": 0 + } + }, + "gemini-2.5-pro": { + "id": "gemini-2.5-pro", + "name": "Gemini 2.5 Pro", + "family": "gemini-pro", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2025-03-20", + "last_updated": "2025-06-05", + "modalities": { + "input": ["text", "image", "audio", "video", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1048576, + "output": 65536 + }, + "cost": { + "input": 1.25, + "output": 10, + "cache_read": 0.125, + "tiers": [ + { + "input": 2.5, + "output": 15, + "cache_read": 0.25, + "tier": { + "type": "context", + "size": 200000 + } + } + ], + "context_over_200k": { + "input": 2.5, + "output": 15, + "cache_read": 0.25 + } + } + }, + "gemini-flash-latest": { + "id": "gemini-flash-latest", + "name": "Gemini Flash Latest", + "family": "gemini-flash", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2025-09-25", + "last_updated": "2025-09-25", + "modalities": { + "input": ["text", "image", "audio", "video", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1048576, + "output": 65536 + }, + "cost": { + "input": 0.3, + "output": 2.5, + "cache_read": 0.075, + "input_audio": 1 + } + }, + "gemma-4-31b-it": { + "id": "gemma-4-31b-it", + "name": "Gemma 4 31B", + "family": "gemma", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2026-04-02", + "last_updated": "2026-04-02", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 256000, + "output": 8192 + } + }, + "gemini-2.5-pro-preview-06-05": { + "id": "gemini-2.5-pro-preview-06-05", + "name": "Gemini 2.5 Pro Preview 06-05", + "family": "gemini-pro", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2025-06-05", + "last_updated": "2025-06-05", + "modalities": { + "input": ["text", "image", "audio", "video", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1048576, + "output": 65536 + }, + "cost": { + "input": 1.25, + "output": 10, + "cache_read": 0.31 + } + }, + "gemini-2.5-flash-image": { + "id": "gemini-2.5-flash-image", + "name": "Gemini 2.5 Flash Image", + "family": "gemini-flash", + "attachment": true, + "reasoning": true, + "tool_call": false, + "temperature": true, + "knowledge": "2025-06", + "release_date": "2025-08-26", + "last_updated": "2025-08-26", + "modalities": { + "input": ["text", "image"], + "output": ["text", "image"] + }, + "open_weights": false, + "limit": { + "context": 32768, + "output": 32768 + }, + "cost": { + "input": 0.3, + "output": 30, + "cache_read": 0.075 + } + }, + "gemini-2.5-flash-lite-preview-06-17": { + "id": "gemini-2.5-flash-lite-preview-06-17", + "name": "Gemini 2.5 Flash Lite Preview 06-17", + "family": "gemini-flash-lite", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2025-06-17", + "last_updated": "2025-06-17", + "modalities": { + "input": ["text", "image", "audio", "video", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1048576, + "output": 65536 + }, + "cost": { + "input": 0.1, + "output": 0.4, + "cache_read": 0.025, + "input_audio": 0.3 + } + }, + "gemma-3-12b-it": { + "id": "gemma-3-12b-it", + "name": "Gemma 3 12B", + "family": "gemma", + "attachment": true, + "reasoning": false, + "tool_call": false, + "structured_output": true, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2025-03-13", + "last_updated": "2025-03-13", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 32768, + "output": 8192 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "gemini-2.5-flash": { + "id": "gemini-2.5-flash", + "name": "Gemini 2.5 Flash", + "family": "gemini-flash", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2025-03-20", + "last_updated": "2025-06-05", + "modalities": { + "input": ["text", "image", "audio", "video", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1048576, + "output": 65536 + }, + "cost": { + "input": 0.3, + "output": 2.5, + "cache_read": 0.03, + "input_audio": 1 + } + }, + "gemma-3n-e2b-it": { + "id": "gemma-3n-e2b-it", + "name": "Gemma 3n 2B", + "family": "gemma", + "attachment": true, + "reasoning": false, + "tool_call": false, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2025-07-09", + "last_updated": "2025-07-09", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 8192, + "output": 2000 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "gemini-3.1-flash-image-preview": { + "id": "gemini-3.1-flash-image-preview", + "name": "Gemini 3.1 Flash Image (Preview)", + "family": "gemini-flash", + "attachment": true, + "reasoning": true, + "tool_call": false, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2026-02-26", + "last_updated": "2026-02-26", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text", "image"] + }, + "open_weights": false, + "limit": { + "context": 131072, + "output": 32768 + }, + "cost": { + "input": 0.5, + "output": 60 + } + }, + "gemini-3.1-flash-lite": { + "id": "gemini-3.1-flash-lite", + "name": "Gemini 3.1 Flash Lite", + "family": "gemini-flash-lite", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2026-05-07", + "last_updated": "2026-05-07", + "modalities": { + "input": ["text", "image", "video", "audio", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1048576, + "output": 65536 + }, + "cost": { + "input": 0.25, + "output": 1.5, + "cache_read": 0.025, + "input_audio": 0.5 + } + }, + "gemma-3-4b-it": { + "id": "gemma-3-4b-it", + "name": "Gemma 3 4B", + "family": "gemma", + "attachment": true, + "reasoning": false, + "tool_call": false, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2025-03-13", + "last_updated": "2025-03-13", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 32768, + "output": 8192 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "gemini-2.5-flash-preview-04-17": { + "id": "gemini-2.5-flash-preview-04-17", + "name": "Gemini 2.5 Flash Preview 04-17", + "family": "gemini-flash", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2025-04-17", + "last_updated": "2025-04-17", + "modalities": { + "input": ["text", "image", "audio", "video", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1048576, + "output": 65536 + }, + "cost": { + "input": 0.15, + "output": 0.6, + "cache_read": 0.0375 + } + }, + "gemini-2.5-pro-preview-tts": { + "id": "gemini-2.5-pro-preview-tts", + "name": "Gemini 2.5 Pro Preview TTS", + "family": "gemini-flash", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": false, + "knowledge": "2025-01", + "release_date": "2025-05-01", + "last_updated": "2025-05-01", + "modalities": { + "input": ["text"], + "output": ["audio"] + }, + "open_weights": false, + "limit": { + "context": 8000, + "output": 16000 + }, + "cost": { + "input": 1, + "output": 20 + } + }, + "gemini-2.5-flash-preview-09-2025": { + "id": "gemini-2.5-flash-preview-09-2025", + "name": "Gemini 2.5 Flash Preview 09-25", + "family": "gemini-flash", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2025-09-25", + "last_updated": "2025-09-25", + "modalities": { + "input": ["text", "image", "audio", "video", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1048576, + "output": 65536 + }, + "cost": { + "input": 0.3, + "output": 2.5, + "cache_read": 0.075, + "input_audio": 1 + } + }, + "gemma-3-27b-it": { + "id": "gemma-3-27b-it", + "name": "Gemma 3 27B", + "family": "gemma", + "attachment": true, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2025-03-12", + "last_updated": "2025-03-12", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 8192 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "gemma-4-26b-a4b-it": { + "id": "gemma-4-26b-a4b-it", + "name": "Gemma 4 26B", + "family": "gemma", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2026-04-02", + "last_updated": "2026-04-02", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 256000, + "output": 8192 + } + }, + "gemini-2.5-flash-lite": { + "id": "gemini-2.5-flash-lite", + "name": "Gemini 2.5 Flash Lite", + "family": "gemini-flash-lite", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2025-06-17", + "last_updated": "2025-06-17", + "modalities": { + "input": ["text", "image", "audio", "video", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1048576, + "output": 65536 + }, + "cost": { + "input": 0.1, + "output": 0.4, + "cache_read": 0.01, + "input_audio": 0.3 + } + }, + "gemini-2.5-flash-image-preview": { + "id": "gemini-2.5-flash-image-preview", + "name": "Gemini 2.5 Flash Image (Preview)", + "family": "gemini-flash", + "attachment": true, + "reasoning": true, + "tool_call": false, + "temperature": true, + "knowledge": "2025-06", + "release_date": "2025-08-26", + "last_updated": "2025-08-26", + "modalities": { + "input": ["text", "image"], + "output": ["text", "image"] + }, + "open_weights": false, + "limit": { + "context": 32768, + "output": 32768 + }, + "cost": { + "input": 0.3, + "output": 30, + "cache_read": 0.075 + } + }, + "gemini-1.5-flash-8b": { + "id": "gemini-1.5-flash-8b", + "name": "Gemini 1.5 Flash-8B", + "family": "gemini-flash", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-04", + "release_date": "2024-10-03", + "last_updated": "2024-10-03", + "modalities": { + "input": ["text", "image", "audio", "video"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000000, + "output": 8192 + }, + "cost": { + "input": 0.0375, + "output": 0.15, + "cache_read": 0.01 + } + }, + "gemini-live-2.5-flash": { + "id": "gemini-live-2.5-flash", + "name": "Gemini Live 2.5 Flash", + "family": "gemini-flash", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2025-09-01", + "last_updated": "2025-09-01", + "modalities": { + "input": ["text", "image", "audio", "video"], + "output": ["text", "audio"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 8000 + }, + "cost": { + "input": 0.5, + "output": 2, + "input_audio": 3, + "output_audio": 12 + } + }, + "gemini-2.0-flash-lite": { + "id": "gemini-2.0-flash-lite", + "name": "Gemini 2.0 Flash Lite", + "family": "gemini-flash-lite", + "attachment": true, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2024-06", + "release_date": "2024-12-11", + "last_updated": "2024-12-11", + "modalities": { + "input": ["text", "image", "audio", "video", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1048576, + "output": 8192 + }, + "cost": { + "input": 0.075, + "output": 0.3 + } + } + } + }, + "drun": { + "id": "drun", + "env": ["DRUN_API_KEY"], + "npm": "@ai-sdk/openai-compatible", + "api": "https://chat.d.run/v1", + "name": "D.Run (China)", + "doc": "https://www.d.run", + "models": { + "public/deepseek-r1": { + "id": "public/deepseek-r1", + "name": "DeepSeek R1", + "family": "deepseek-thinking", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "temperature": true, + "knowledge": "2024-12", + "release_date": "2025-01-20", + "last_updated": "2025-01-20", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 32000 + }, + "cost": { + "input": 0.55, + "output": 2.2 + } + }, + "public/minimax-m25": { + "id": "public/minimax-m25", + "name": "MiniMax M2.5", + "family": "minimax", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_details" + }, + "temperature": true, + "release_date": "2025-03-01", + "last_updated": "2025-03-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 204800, + "output": 131072 + }, + "cost": { + "input": 0.29, + "output": 1.16 + } + }, + "public/deepseek-v3": { + "id": "public/deepseek-v3", + "name": "DeepSeek V3", + "family": "deepseek", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-07", + "release_date": "2024-12-26", + "last_updated": "2024-12-26", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 8192 + }, + "cost": { + "input": 0.28, + "output": 1.1 + } + } + } + }, + "moonshotai": { + "id": "moonshotai", + "env": ["MOONSHOT_API_KEY"], + "npm": "@ai-sdk/openai-compatible", + "api": "https://api.moonshot.ai/v1", + "name": "Moonshot AI", + "doc": "https://platform.moonshot.ai/docs/api/chat", + "models": { + "kimi-k2-0905-preview": { + "id": "kimi-k2-0905-preview", + "name": "Kimi K2 0905", + "family": "kimi", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2025-09-05", + "last_updated": "2025-09-05", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 262144 + }, + "cost": { + "input": 0.6, + "output": 2.5, + "cache_read": 0.15 + } + }, + "kimi-k2.5": { + "id": "kimi-k2.5", + "name": "Kimi K2.5", + "family": "kimi-k2.5", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "structured_output": true, + "temperature": false, + "knowledge": "2025-01", + "release_date": "2026-01", + "last_updated": "2026-01", + "modalities": { + "input": ["text", "image", "video"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 262144 + }, + "cost": { + "input": 0.6, + "output": 3, + "cache_read": 0.1 + } + }, + "kimi-k2-thinking-turbo": { + "id": "kimi-k2-thinking-turbo", + "name": "Kimi K2 Thinking Turbo", + "family": "kimi-thinking", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "temperature": true, + "knowledge": "2024-08", + "release_date": "2025-11-06", + "last_updated": "2025-11-06", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 262144 + }, + "cost": { + "input": 1.15, + "output": 8, + "cache_read": 0.15 + } + }, + "kimi-k2.6": { + "id": "kimi-k2.6", + "name": "Kimi K2.6", + "family": "kimi-k2.6", + "attachment": true, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "structured_output": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2026-04-21", + "last_updated": "2026-04-21", + "modalities": { + "input": ["text", "image", "video"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 262144 + }, + "cost": { + "input": 0.95, + "output": 4, + "cache_read": 0.16 + } + }, + "kimi-k2-turbo-preview": { + "id": "kimi-k2-turbo-preview", + "name": "Kimi K2 Turbo", + "family": "kimi", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2025-09-05", + "last_updated": "2025-09-05", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 262144 + }, + "cost": { + "input": 2.4, + "output": 10, + "cache_read": 0.6 + } + }, + "kimi-k2-0711-preview": { + "id": "kimi-k2-0711-preview", + "name": "Kimi K2 0711", + "family": "kimi", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2025-07-14", + "last_updated": "2025-07-14", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 16384 + }, + "cost": { + "input": 0.6, + "output": 2.5, + "cache_read": 0.15 + } + }, + "kimi-k2-thinking": { + "id": "kimi-k2-thinking", + "name": "Kimi K2 Thinking", + "family": "kimi-thinking", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "temperature": true, + "knowledge": "2024-08", + "release_date": "2025-11-06", + "last_updated": "2025-11-06", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 262144 + }, + "cost": { + "input": 0.6, + "output": 2.5, + "cache_read": 0.15 + } + } + } + }, + "berget": { + "id": "berget", + "env": ["BERGET_API_KEY"], + "npm": "@ai-sdk/openai-compatible", + "api": "https://api.berget.ai/v1", + "name": "Berget.AI", + "doc": "https://api.berget.ai", + "models": { + "zai-org/GLM-4.7": { + "id": "zai-org/GLM-4.7", + "name": "GLM 4.7", + "family": "glm", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2025-12", + "release_date": "2026-01-19", + "last_updated": "2026-01-19", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 8192 + }, + "cost": { + "input": 0.77, + "output": 2.75 + } + }, + "mistralai/Mistral-Small-3.2-24B-Instruct-2506": { + "id": "mistralai/Mistral-Small-3.2-24B-Instruct-2506", + "name": "Mistral Small 3.2 24B Instruct 2506", + "family": "mistral-small", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2025-09", + "release_date": "2025-10-01", + "last_updated": "2025-10-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 32000, + "output": 8192 + }, + "cost": { + "input": 0.33, + "output": 0.33 + } + }, + "mistralai/Mistral-Medium-3.5-128B": { + "id": "mistralai/Mistral-Medium-3.5-128B", + "name": "Mistral Medium 3.5 128B", + "family": "mistral-medium", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2026-04", + "release_date": "2026-04-29", + "last_updated": "2026-04-29", + "modalities": { + "input": ["image", "text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 131072 + }, + "cost": { + "input": 1.65, + "output": 5.5 + } + }, + "meta-llama/Llama-3.3-70B-Instruct": { + "id": "meta-llama/Llama-3.3-70B-Instruct", + "name": "Llama 3.3 70B Instruct", + "family": "llama", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2023-12", + "release_date": "2025-04-27", + "last_updated": "2025-04-27", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 8192 + }, + "cost": { + "input": 0.99, + "output": 0.99 + } + }, + "openai/gpt-oss-120b": { + "id": "openai/gpt-oss-120b", + "name": "GPT-OSS-120B", + "family": "gpt-oss", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2025-08", + "release_date": "2025-08-05", + "last_updated": "2025-08-05", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 8192 + }, + "cost": { + "input": 0.44, + "output": 0.99 + } + }, + "google/gemma-4-31B-it": { + "id": "google/gemma-4-31B-it", + "name": "Gemma 4 31B Instruct", + "family": "gemma", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2025-12", + "release_date": "2026-04-02", + "last_updated": "2026-04-02", + "modalities": { + "input": ["audio", "image", "text", "video"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 8192 + }, + "cost": { + "input": 0.275, + "output": 0.55 + } + } + } + }, + "github-models": { + "id": "github-models", + "env": ["GITHUB_TOKEN"], + "npm": "@ai-sdk/openai-compatible", + "api": "https://models.github.ai/inference", + "name": "GitHub Models", + "doc": "https://docs.github.com/en/github-models", + "models": { + "deepseek/deepseek-v3-0324": { + "id": "deepseek/deepseek-v3-0324", + "name": "DeepSeek-V3-0324", + "family": "deepseek", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-06", + "release_date": "2025-03-24", + "last_updated": "2025-03-24", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 8192 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "deepseek/deepseek-r1": { + "id": "deepseek/deepseek-r1", + "name": "DeepSeek-R1", + "family": "deepseek-thinking", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-06", + "release_date": "2025-01-20", + "last_updated": "2025-01-20", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 65536, + "output": 8192 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "deepseek/deepseek-r1-0528": { + "id": "deepseek/deepseek-r1-0528", + "name": "DeepSeek-R1-0528", + "family": "deepseek-thinking", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-06", + "release_date": "2025-05-28", + "last_updated": "2025-05-28", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 65536, + "output": 8192 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "ai21-labs/ai21-jamba-1.5-mini": { + "id": "ai21-labs/ai21-jamba-1.5-mini", + "name": "AI21 Jamba 1.5 Mini", + "family": "jamba", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-03", + "release_date": "2024-08-29", + "last_updated": "2024-08-29", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 256000, + "output": 4096 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "ai21-labs/ai21-jamba-1.5-large": { + "id": "ai21-labs/ai21-jamba-1.5-large", + "name": "AI21 Jamba 1.5 Large", + "family": "jamba", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-03", + "release_date": "2024-08-29", + "last_updated": "2024-08-29", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 256000, + "output": 4096 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "microsoft/phi-3.5-mini-instruct": { + "id": "microsoft/phi-3.5-mini-instruct", + "name": "Phi-3.5-mini instruct (128k)", + "family": "phi", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2023-10", + "release_date": "2024-08-20", + "last_updated": "2024-08-20", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 4096 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "microsoft/phi-3-medium-4k-instruct": { + "id": "microsoft/phi-3-medium-4k-instruct", + "name": "Phi-3-medium instruct (4k)", + "family": "phi", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2023-10", + "release_date": "2024-04-23", + "last_updated": "2024-04-23", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 4096, + "output": 1024 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "microsoft/phi-3.5-moe-instruct": { + "id": "microsoft/phi-3.5-moe-instruct", + "name": "Phi-3.5-MoE instruct (128k)", + "family": "phi", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2023-10", + "release_date": "2024-08-20", + "last_updated": "2024-08-20", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 4096 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "microsoft/phi-3-mini-128k-instruct": { + "id": "microsoft/phi-3-mini-128k-instruct", + "name": "Phi-3-mini instruct (128k)", + "family": "phi", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2023-10", + "release_date": "2024-04-23", + "last_updated": "2024-04-23", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 4096 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "microsoft/phi-4-mini-instruct": { + "id": "microsoft/phi-4-mini-instruct", + "name": "Phi-4-mini-instruct", + "family": "phi", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2023-10", + "release_date": "2024-12-11", + "last_updated": "2024-12-11", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 4096 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "microsoft/phi-4-reasoning": { + "id": "microsoft/phi-4-reasoning", + "name": "Phi-4-Reasoning", + "family": "phi", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2023-10", + "release_date": "2024-12-11", + "last_updated": "2024-12-11", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 4096 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "microsoft/phi-3-small-8k-instruct": { + "id": "microsoft/phi-3-small-8k-instruct", + "name": "Phi-3-small instruct (8k)", + "family": "phi", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2023-10", + "release_date": "2024-04-23", + "last_updated": "2024-04-23", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 8192, + "output": 2048 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "microsoft/phi-3.5-vision-instruct": { + "id": "microsoft/phi-3.5-vision-instruct", + "name": "Phi-3.5-vision instruct (128k)", + "family": "phi", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2023-10", + "release_date": "2024-08-20", + "last_updated": "2024-08-20", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 4096 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "microsoft/phi-3-mini-4k-instruct": { + "id": "microsoft/phi-3-mini-4k-instruct", + "name": "Phi-3-mini instruct (4k)", + "family": "phi", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2023-10", + "release_date": "2024-04-23", + "last_updated": "2024-04-23", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 4096, + "output": 1024 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "microsoft/phi-4-mini-reasoning": { + "id": "microsoft/phi-4-mini-reasoning", + "name": "Phi-4-mini-reasoning", + "family": "phi", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2023-10", + "release_date": "2024-12-11", + "last_updated": "2024-12-11", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 4096 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "microsoft/phi-3-small-128k-instruct": { + "id": "microsoft/phi-3-small-128k-instruct", + "name": "Phi-3-small instruct (128k)", + "family": "phi", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2023-10", + "release_date": "2024-04-23", + "last_updated": "2024-04-23", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 4096 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "microsoft/phi-3-medium-128k-instruct": { + "id": "microsoft/phi-3-medium-128k-instruct", + "name": "Phi-3-medium instruct (128k)", + "family": "phi", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2023-10", + "release_date": "2024-04-23", + "last_updated": "2024-04-23", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 4096 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "microsoft/phi-4": { + "id": "microsoft/phi-4", + "name": "Phi-4", + "family": "phi", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2023-10", + "release_date": "2024-12-11", + "last_updated": "2024-12-11", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 16000, + "output": 4096 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "microsoft/phi-4-multimodal-instruct": { + "id": "microsoft/phi-4-multimodal-instruct", + "name": "Phi-4-multimodal-instruct", + "family": "phi", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2023-10", + "release_date": "2024-12-11", + "last_updated": "2024-12-11", + "modalities": { + "input": ["text", "image", "audio"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 4096 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "microsoft/mai-ds-r1": { + "id": "microsoft/mai-ds-r1", + "name": "MAI-DS-R1", + "family": "mai", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-06", + "release_date": "2025-01-20", + "last_updated": "2025-01-20", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 65536, + "output": 8192 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "cohere/cohere-command-r-08-2024": { + "id": "cohere/cohere-command-r-08-2024", + "name": "Cohere Command R 08-2024", + "family": "command-r", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-03", + "release_date": "2024-08-01", + "last_updated": "2024-08-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 4096 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "cohere/cohere-command-a": { + "id": "cohere/cohere-command-a", + "name": "Cohere Command A", + "family": "command-a", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-03", + "release_date": "2024-11-01", + "last_updated": "2024-11-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 4096 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "cohere/cohere-command-r-plus": { + "id": "cohere/cohere-command-r-plus", + "name": "Cohere Command R+", + "family": "command-r", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-03", + "release_date": "2024-04-04", + "last_updated": "2024-08-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 4096 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "cohere/cohere-command-r": { + "id": "cohere/cohere-command-r", + "name": "Cohere Command R", + "family": "command-r", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-03", + "release_date": "2024-03-11", + "last_updated": "2024-08-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 4096 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "cohere/cohere-command-r-plus-08-2024": { + "id": "cohere/cohere-command-r-plus-08-2024", + "name": "Cohere Command R+ 08-2024", + "family": "command-r", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-03", + "release_date": "2024-08-01", + "last_updated": "2024-08-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 4096 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "xai/grok-3-mini": { + "id": "xai/grok-3-mini", + "name": "Grok 3 Mini", + "family": "grok", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2024-12-09", + "last_updated": "2024-12-09", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 8192 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "xai/grok-3": { + "id": "xai/grok-3", + "name": "Grok 3", + "family": "grok", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2024-12-09", + "last_updated": "2024-12-09", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 8192 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "openai/o1-mini": { + "id": "openai/o1-mini", + "name": "OpenAI o1-mini", + "family": "o-mini", + "attachment": false, + "reasoning": true, + "tool_call": false, + "temperature": false, + "knowledge": "2023-10", + "release_date": "2024-09-12", + "last_updated": "2024-12-17", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 65536 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "openai/gpt-4o-mini": { + "id": "openai/gpt-4o-mini", + "name": "GPT-4o mini", + "family": "gpt-mini", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2023-10", + "release_date": "2024-07-18", + "last_updated": "2024-07-18", + "modalities": { + "input": ["text", "image", "audio"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 16384 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "openai/o4-mini": { + "id": "openai/o4-mini", + "name": "OpenAI o4-mini", + "family": "o-mini", + "attachment": false, + "reasoning": true, + "tool_call": false, + "temperature": false, + "knowledge": "2024-04", + "release_date": "2025-01-31", + "last_updated": "2025-01-31", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 100000 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "openai/o1-preview": { + "id": "openai/o1-preview", + "name": "OpenAI o1-preview", + "family": "o", + "attachment": false, + "reasoning": true, + "tool_call": false, + "temperature": false, + "knowledge": "2023-10", + "release_date": "2024-09-12", + "last_updated": "2024-09-12", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 32768 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "openai/o1": { + "id": "openai/o1", + "name": "OpenAI o1", + "family": "o", + "attachment": false, + "reasoning": true, + "tool_call": false, + "temperature": false, + "knowledge": "2023-10", + "release_date": "2024-09-12", + "last_updated": "2024-12-17", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 100000 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "openai/o3-mini": { + "id": "openai/o3-mini", + "name": "OpenAI o3-mini", + "family": "o-mini", + "attachment": false, + "reasoning": true, + "tool_call": false, + "temperature": false, + "knowledge": "2024-04", + "release_date": "2025-01-31", + "last_updated": "2025-01-31", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 100000 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "openai/gpt-4.1-nano": { + "id": "openai/gpt-4.1-nano", + "name": "GPT-4.1-nano", + "family": "gpt-nano", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-04", + "release_date": "2025-04-14", + "last_updated": "2025-04-14", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 16384 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "openai/o3": { + "id": "openai/o3", + "name": "OpenAI o3", + "family": "o", + "attachment": false, + "reasoning": true, + "tool_call": false, + "temperature": false, + "knowledge": "2024-04", + "release_date": "2025-01-31", + "last_updated": "2025-01-31", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 100000 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "openai/gpt-4o": { + "id": "openai/gpt-4o", + "name": "GPT-4o", + "family": "gpt", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2023-10", + "release_date": "2024-05-13", + "last_updated": "2024-05-13", + "modalities": { + "input": ["text", "image", "audio"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 16384 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "openai/gpt-4.1": { + "id": "openai/gpt-4.1", + "name": "GPT-4.1", + "family": "gpt", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-04", + "release_date": "2025-04-14", + "last_updated": "2025-04-14", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 16384 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "openai/gpt-4.1-mini": { + "id": "openai/gpt-4.1-mini", + "name": "GPT-4.1-mini", + "family": "gpt-mini", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-04", + "release_date": "2025-04-14", + "last_updated": "2025-04-14", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 16384 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "meta/llama-4-scout-17b-16e-instruct": { + "id": "meta/llama-4-scout-17b-16e-instruct", + "name": "Llama 4 Scout 17B 16E Instruct", + "family": "llama", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-12", + "release_date": "2025-01-31", + "last_updated": "2025-01-31", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 8192 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "meta/meta-llama-3.1-8b-instruct": { + "id": "meta/meta-llama-3.1-8b-instruct", + "name": "Meta-Llama-3.1-8B-Instruct", + "family": "llama", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2023-12", + "release_date": "2024-07-23", + "last_updated": "2024-07-23", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 32768 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "meta/llama-3.3-70b-instruct": { + "id": "meta/llama-3.3-70b-instruct", + "name": "Llama-3.3-70B-Instruct", + "family": "llama", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2023-12", + "release_date": "2024-12-06", + "last_updated": "2024-12-06", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 32768 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "meta/meta-llama-3-70b-instruct": { + "id": "meta/meta-llama-3-70b-instruct", + "name": "Meta-Llama-3-70B-Instruct", + "family": "llama", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2023-12", + "release_date": "2024-04-18", + "last_updated": "2024-04-18", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 8192, + "output": 2048 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "meta/llama-3.2-90b-vision-instruct": { + "id": "meta/llama-3.2-90b-vision-instruct", + "name": "Llama-3.2-90B-Vision-Instruct", + "family": "llama", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2023-12", + "release_date": "2024-09-25", + "last_updated": "2024-09-25", + "modalities": { + "input": ["text", "image", "audio"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 8192 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "meta/llama-3.2-11b-vision-instruct": { + "id": "meta/llama-3.2-11b-vision-instruct", + "name": "Llama-3.2-11B-Vision-Instruct", + "family": "llama", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2023-12", + "release_date": "2024-09-25", + "last_updated": "2024-09-25", + "modalities": { + "input": ["text", "image", "audio"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 8192 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "meta/meta-llama-3.1-405b-instruct": { + "id": "meta/meta-llama-3.1-405b-instruct", + "name": "Meta-Llama-3.1-405B-Instruct", + "family": "llama", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2023-12", + "release_date": "2024-07-23", + "last_updated": "2024-07-23", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 32768 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "meta/meta-llama-3.1-70b-instruct": { + "id": "meta/meta-llama-3.1-70b-instruct", + "name": "Meta-Llama-3.1-70B-Instruct", + "family": "llama", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2023-12", + "release_date": "2024-07-23", + "last_updated": "2024-07-23", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 32768 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "meta/meta-llama-3-8b-instruct": { + "id": "meta/meta-llama-3-8b-instruct", + "name": "Meta-Llama-3-8B-Instruct", + "family": "llama", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2023-12", + "release_date": "2024-04-18", + "last_updated": "2024-04-18", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 8192, + "output": 2048 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "meta/llama-4-maverick-17b-128e-instruct-fp8": { + "id": "meta/llama-4-maverick-17b-128e-instruct-fp8", + "name": "Llama 4 Maverick 17B 128E Instruct FP8", + "family": "llama", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-12", + "release_date": "2025-01-31", + "last_updated": "2025-01-31", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 8192 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "core42/jais-30b-chat": { + "id": "core42/jais-30b-chat", + "name": "JAIS 30b Chat", + "family": "jais", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2023-03", + "release_date": "2023-08-30", + "last_updated": "2023-08-30", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 8192, + "output": 2048 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "mistral-ai/mistral-nemo": { + "id": "mistral-ai/mistral-nemo", + "name": "Mistral Nemo", + "family": "mistral-nemo", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-03", + "release_date": "2024-07-18", + "last_updated": "2024-07-18", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 8192 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "mistral-ai/ministral-3b": { + "id": "mistral-ai/ministral-3b", + "name": "Ministral 3B", + "family": "ministral", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-03", + "release_date": "2024-10-22", + "last_updated": "2024-10-22", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 8192 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "mistral-ai/mistral-large-2411": { + "id": "mistral-ai/mistral-large-2411", + "name": "Mistral Large 24.11", + "family": "mistral-large", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-09", + "release_date": "2024-11-01", + "last_updated": "2024-11-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 32768 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "mistral-ai/mistral-small-2503": { + "id": "mistral-ai/mistral-small-2503", + "name": "Mistral Small 3.1", + "family": "mistral-small", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-09", + "release_date": "2025-03-01", + "last_updated": "2025-03-01", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 32768 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "mistral-ai/mistral-medium-2505": { + "id": "mistral-ai/mistral-medium-2505", + "name": "Mistral Medium 3 (25.05)", + "family": "mistral-medium", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-09", + "release_date": "2025-05-01", + "last_updated": "2025-05-01", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 32768 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "mistral-ai/codestral-2501": { + "id": "mistral-ai/codestral-2501", + "name": "Codestral 25.01", + "family": "codestral", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-03", + "release_date": "2025-01-01", + "last_updated": "2025-01-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 32000, + "output": 8192 + }, + "cost": { + "input": 0, + "output": 0 + } + } + } + }, + "neuralwatt": { + "id": "neuralwatt", + "env": ["NEURALWATT_API_KEY"], + "npm": "@ai-sdk/openai-compatible", + "api": "https://api.neuralwatt.com/v1", + "name": "Neuralwatt", + "doc": "https://portal.neuralwatt.com/docs", + "models": { + "glm-5-fast": { + "id": "glm-5-fast", + "name": "GLM 5 Fast", "family": "glm", "attachment": false, "reasoning": false, "tool_call": true, "temperature": true, - "release_date": "2025-06-01", - "last_updated": "2025-06-01", - "modalities": { "input": ["text"], "output": ["text"] }, + "release_date": "2026-04-07", + "last_updated": "2026-04-07", + "modalities": { + "input": ["text"], + "output": ["text"] + }, "open_weights": true, - "cost": { "input": 0.6, "output": 2.2 }, - "limit": { "context": 128000, "output": 8192 } + "limit": { + "context": 200000, + "output": 200000 + }, + "cost": { + "input": 1.1, + "output": 3.6 + } }, - "meta-llama/Meta-Llama-3.1-8B-Instruct": { - "id": "meta-llama/Meta-Llama-3.1-8B-Instruct", - "name": "Llama 3.1 8B Instruct", - "family": "llama", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "release_date": "2024-07-23", - "last_updated": "2024-07-23", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.02, "output": 0.05 }, - "limit": { "context": 128000, "output": 4096 } - }, - "meta-llama/Meta-Llama-3.1-405B-Instruct-Turbo": { - "id": "meta-llama/Meta-Llama-3.1-405B-Instruct-Turbo", - "name": "Llama 3.1 405B Instruct Turbo", - "family": "llama", - "attachment": false, - "reasoning": false, - "tool_call": true, - "temperature": true, - "release_date": "2024-07-23", - "last_updated": "2024-07-23", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 3.5, "output": 3.5 }, - "limit": { "context": 128000, "output": 4096 } - }, - "meta-llama/Llama-4-Maverick-17B-128E-Instruct-FP8": { - "id": "meta-llama/Llama-4-Maverick-17B-128E-Instruct-FP8", - "name": "Llama 4 Maverick 17B 128E Instruct FP8", - "family": "llama", + "kimi-k2.6-fast": { + "id": "kimi-k2.6-fast", + "name": "Kimi K2.6 Fast", + "family": "kimi", "attachment": true, "reasoning": false, "tool_call": true, "temperature": true, - "knowledge": "2024-08", - "release_date": "2025-04-05", - "last_updated": "2025-04-05", - "modalities": { "input": ["text", "image"], "output": ["text"] }, + "release_date": "2026-04-21", + "last_updated": "2026-04-21", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, "open_weights": true, - "cost": { "input": 0.14, "output": 0.59 }, - "limit": { "context": 1000000, "output": 32768 } + "limit": { + "context": 262144, + "output": 262144 + }, + "cost": { + "input": 0.69, + "output": 3.22 + } + }, + "qwen3.5-397b-fast": { + "id": "qwen3.5-397b-fast", + "name": "Qwen3.5 397B Fast", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "release_date": "2026-02-01", + "last_updated": "2026-02-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 262144 + }, + "cost": { + "input": 0.69, + "output": 4.14 + } + }, + "glm-5.1-fast": { + "id": "glm-5.1-fast", + "name": "GLM 5.1 Fast", + "family": "glm", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "release_date": "2026-04-07", + "last_updated": "2026-04-07", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 200000, + "output": 200000 + }, + "cost": { + "input": 1.1, + "output": 3.6 + } + }, + "qwen3.6-35b-fast": { + "id": "qwen3.6-35b-fast", + "name": "Qwen3.6 35B Fast", + "family": "qwen3.6", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "release_date": "2026-04-01", + "last_updated": "2026-04-01", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 131072 + }, + "cost": { + "input": 0.05, + "output": 0.1 + } + }, + "kimi-k2.5-fast": { + "id": "kimi-k2.5-fast", + "name": "Kimi K2.5 Fast", + "family": "kimi", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "release_date": "2026-01-27", + "last_updated": "2026-01-27", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 262144 + }, + "cost": { + "input": 0.52, + "output": 2.59 + } + }, + "Qwen/Qwen3.5-397B-A17B-FP8": { + "id": "Qwen/Qwen3.5-397B-A17B-FP8", + "name": "Qwen3.5 397B A17B FP8", + "family": "qwen", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "temperature": true, + "release_date": "2026-02-01", + "last_updated": "2026-02-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 262144 + }, + "cost": { + "input": 0.69, + "output": 4.14 + } + }, + "Qwen/Qwen3.6-35B-A3B": { + "id": "Qwen/Qwen3.6-35B-A3B", + "name": "Qwen3.6 35B A3B", + "family": "qwen3.6", + "attachment": true, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "temperature": true, + "release_date": "2026-04-01", + "last_updated": "2026-04-01", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 131072 + }, + "cost": { + "input": 0.05, + "output": 0.1 + } + }, + "zai-org/GLM-5.1-FP8": { + "id": "zai-org/GLM-5.1-FP8", + "name": "GLM 5.1 FP8", + "family": "glm", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "temperature": true, + "release_date": "2026-04-07", + "last_updated": "2026-04-07", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 200000, + "output": 200000 + }, + "cost": { + "input": 1.1, + "output": 3.6 + } + }, + "mistralai/Devstral-Small-2-24B-Instruct-2512": { + "id": "mistralai/Devstral-Small-2-24B-Instruct-2512", + "name": "Devstral Small 2 24B Instruct 2512", + "family": "devstral", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "release_date": "2025-12-09", + "last_updated": "2025-12-09", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 262144 + }, + "cost": { + "input": 0.12, + "output": 0.35 + } + }, + "openai/gpt-oss-20b": { + "id": "openai/gpt-oss-20b", + "name": "GPT OSS 20B", + "family": "gpt-oss", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2025-08-05", + "last_updated": "2025-08-05", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 16384, + "output": 16384 + }, + "cost": { + "input": 0.03, + "output": 0.16 + } + }, + "moonshotai/Kimi-K2.6": { + "id": "moonshotai/Kimi-K2.6", + "name": "Kimi K2.6", + "family": "kimi", + "attachment": true, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "temperature": true, + "release_date": "2026-04-21", + "last_updated": "2026-04-21", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 262144 + }, + "cost": { + "input": 0.69, + "output": 3.22 + } + }, + "moonshotai/Kimi-K2.5": { + "id": "moonshotai/Kimi-K2.5", + "name": "Kimi K2.5", + "family": "kimi", + "attachment": true, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "temperature": true, + "release_date": "2026-01-27", + "last_updated": "2026-01-27", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 262144 + }, + "cost": { + "input": 0.52, + "output": 2.59 + } + }, + "MiniMaxAI/MiniMax-M2.5": { + "id": "MiniMaxAI/MiniMax-M2.5", + "name": "MiniMax M2.5", + "family": "minimax", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "temperature": true, + "release_date": "2026-02-12", + "last_updated": "2026-02-12", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 196608, + "output": 196608 + }, + "cost": { + "input": 0.35, + "output": 1.38 + } + } + } + }, + "sarvam": { + "id": "sarvam", + "env": ["SARVAM_API_KEY"], + "npm": "@ai-sdk/openai-compatible", + "api": "https://api.sarvam.ai/v1", + "name": "Sarvam AI", + "doc": "https://docs.sarvam.ai/api-reference-docs/getting-started/models", + "models": { + "sarvam-105b": { + "id": "sarvam-105b", + "name": "Sarvam-105B", + "family": "sarvam", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "temperature": true, + "release_date": "2026-02-18", + "last_updated": "2026-03-06", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 131072 + } + }, + "sarvam-30b": { + "id": "sarvam-30b", + "name": "Sarvam-30B", + "family": "sarvam", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "temperature": true, + "release_date": "2026-02-18", + "last_updated": "2026-03-06", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 65536, + "output": 65536 + } + } + } + }, + "togetherai": { + "id": "togetherai", + "env": ["TOGETHER_API_KEY"], + "npm": "@ai-sdk/togetherai", + "name": "Together AI", + "doc": "https://docs.together.ai/docs/serverless-models", + "models": { + "essentialai/Rnj-1-Instruct": { + "id": "essentialai/Rnj-1-Instruct", + "name": "Rnj-1 Instruct", + "family": "rnj", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2025-12-05", + "last_updated": "2025-12-05", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 32768, + "output": 32768 + }, + "cost": { + "input": 0.15, + "output": 0.15 + } + }, + "Qwen/Qwen3.5-397B-A17B": { + "id": "Qwen/Qwen3.5-397B-A17B", + "name": "Qwen3.5 397B A17B", + "family": "qwen", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2026-02-16", + "last_updated": "2026-02-16", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 130000 + }, + "cost": { + "input": 0.6, + "output": 3.6 + } + }, + "Qwen/Qwen3.6-Plus": { + "id": "Qwen/Qwen3.6-Plus", + "name": "Qwen3.6 Plus", + "family": "qwen", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2026-04-30", + "last_updated": "2026-04-30", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 1000000, + "output": 500000 + }, + "cost": { + "input": 0.5, + "output": 3 + } + }, + "Qwen/Qwen3-Coder-Next-FP8": { + "id": "Qwen/Qwen3-Coder-Next-FP8", + "name": "Qwen3 Coder Next FP8", + "family": "qwen", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2026-02-03", + "release_date": "2026-02-03", + "last_updated": "2026-02-03", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 262144 + }, + "cost": { + "input": 0.5, + "output": 1.2 + } + }, + "Qwen/Qwen3-235B-A22B-Instruct-2507-tput": { + "id": "Qwen/Qwen3-235B-A22B-Instruct-2507-tput", + "name": "Qwen3 235B A22B Instruct 2507 FP8", + "family": "qwen", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-07", + "release_date": "2025-07-25", + "last_updated": "2025-07-25", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 262144 + }, + "cost": { + "input": 0.2, + "output": 0.6 + } + }, + "Qwen/Qwen3-Coder-480B-A35B-Instruct-FP8": { + "id": "Qwen/Qwen3-Coder-480B-A35B-Instruct-FP8", + "name": "Qwen3 Coder 480B A35B Instruct", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-07-23", + "last_updated": "2025-07-23", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 262144 + }, + "cost": { + "input": 2, + "output": 2 + } + }, + "zai-org/GLM-5.1": { + "id": "zai-org/GLM-5.1", + "name": "GLM-5.1", + "family": "glm", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2025-11", + "release_date": "2026-04-07", + "last_updated": "2026-04-07", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 202752, + "output": 131072 + }, + "cost": { + "input": 1.4, + "output": 4.4 + } + }, + "meta-llama/Llama-3.3-70B-Instruct-Turbo": { + "id": "meta-llama/Llama-3.3-70B-Instruct-Turbo", + "name": "Llama 3.3 70B", + "family": "llama", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2023-12", + "release_date": "2024-12-06", + "last_updated": "2024-12-06", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 131072 + }, + "cost": { + "input": 0.88, + "output": 0.88 + } + }, + "deepseek-ai/DeepSeek-V3": { + "id": "deepseek-ai/DeepSeek-V3", + "name": "DeepSeek V3", + "family": "deepseek", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-07", + "release_date": "2025-01-20", + "last_updated": "2025-05-29", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 131072 + }, + "cost": { + "input": 1.25, + "output": 1.25 + } }, "deepseek-ai/DeepSeek-R1": { "id": "deepseek-ai/DeepSeek-R1", @@ -65084,119 +113825,3474 @@ "family": "deepseek-thinking", "attachment": false, "reasoning": true, - "tool_call": true, + "tool_call": false, "temperature": true, - "release_date": "2025-01-20", - "last_updated": "2025-01-20", - "modalities": { "input": ["text"], "output": ["text"] }, + "knowledge": "2024-07", + "release_date": "2024-12-26", + "last_updated": "2025-03-24", + "modalities": { + "input": ["text"], + "output": ["text"] + }, "open_weights": true, - "cost": { "input": 3, "output": 7 }, - "limit": { "context": 128000, "output": 8192 } + "limit": { + "context": 163839, + "output": 163839 + }, + "cost": { + "input": 3, + "output": 7 + } }, - "deepseek-ai/DeepSeek-V3.1-Terminus": { - "id": "deepseek-ai/DeepSeek-V3.1-Terminus", - "name": "DeepSeek V3.1 Terminus", + "deepseek-ai/DeepSeek-V3-1": { + "id": "deepseek-ai/DeepSeek-V3-1", + "name": "DeepSeek V3.1", "family": "deepseek", "attachment": false, "reasoning": true, "tool_call": true, "temperature": true, - "release_date": "2025-06-01", - "last_updated": "2025-06-01", - "modalities": { "input": ["text"], "output": ["text"] }, + "knowledge": "2025-08", + "release_date": "2025-08-21", + "last_updated": "2025-08-21", + "modalities": { + "input": ["text"], + "output": ["text"] + }, "open_weights": true, - "cost": { "input": 0.27, "output": 1 }, - "limit": { "context": 128000, "output": 8192 } + "limit": { + "context": 131072, + "output": 131072 + }, + "cost": { + "input": 0.6, + "output": 1.7 + } }, - "deepseek-ai/DeepSeek-V3.2": { - "id": "deepseek-ai/DeepSeek-V3.2", - "name": "DeepSeek V3.2", + "deepseek-ai/DeepSeek-V4-Pro": { + "id": "deepseek-ai/DeepSeek-V4-Pro", + "name": "DeepSeek V4 Pro", "family": "deepseek", "attachment": false, "reasoning": true, "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "structured_output": true, "temperature": true, - "release_date": "2025-06-15", - "last_updated": "2025-06-15", - "modalities": { "input": ["text"], "output": ["text"] }, + "release_date": "2026-04-24", + "last_updated": "2026-04-24", + "modalities": { + "input": ["text"], + "output": ["text"] + }, "open_weights": true, - "cost": { "input": 0.27, "output": 0.4 }, - "limit": { "context": 128000, "output": 8192 } + "limit": { + "context": 512000, + "output": 384000 + }, + "cost": { + "input": 2.1, + "output": 4.4, + "cache_read": 0.2 + } }, - "Qwen/Qwen3-32B": { - "id": "Qwen/Qwen3-32B", - "name": "Qwen3 32B", + "openai/gpt-oss-120b": { + "id": "openai/gpt-oss-120b", + "name": "GPT OSS 120B", + "family": "gpt-oss", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-08", + "release_date": "2025-08-05", + "last_updated": "2025-08-05", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 131072 + }, + "cost": { + "input": 0.15, + "output": 0.6 + } + }, + "google/gemma-4-31B-it": { + "id": "google/gemma-4-31B-it", + "name": "Gemma 4 31B Instruct", + "family": "gemma", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2026-04-07", + "last_updated": "2026-04-07", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 131072 + }, + "cost": { + "input": 0.2, + "output": 0.5 + } + }, + "moonshotai/Kimi-K2.6": { + "id": "moonshotai/Kimi-K2.6", + "name": "Kimi K2.6", + "family": "kimi-k2.6", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2026-04-21", + "last_updated": "2026-04-21", + "modalities": { + "input": ["text", "image", "video"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 131000 + }, + "cost": { + "input": 1.2, + "output": 4.5, + "cache_read": 0.2 + } + }, + "moonshotai/Kimi-K2.5": { + "id": "moonshotai/Kimi-K2.5", + "name": "Kimi K2.5", + "family": "kimi", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": true, + "temperature": true, + "knowledge": "2026-01", + "release_date": "2026-01-27", + "last_updated": "2026-01-27", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 262144 + }, + "cost": { + "input": 0.5, + "output": 2.8 + } + }, + "MiniMaxAI/MiniMax-M2.5": { + "id": "MiniMaxAI/MiniMax-M2.5", + "name": "MiniMax-M2.5", + "family": "minimax", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2026-02-12", + "last_updated": "2026-02-12", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 204800, + "output": 131072 + }, + "cost": { + "input": 0.3, + "output": 1.2, + "cache_read": 0.06 + } + }, + "MiniMaxAI/MiniMax-M2.7": { + "id": "MiniMaxAI/MiniMax-M2.7", + "name": "MiniMax-M2.7", + "family": "minimax", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2026-03-18", + "last_updated": "2026-03-18", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 202752, + "output": 131072 + }, + "cost": { + "input": 0.3, + "output": 1.2, + "cache_read": 0.06 + } + } + } + }, + "qihang-ai": { + "id": "qihang-ai", + "env": ["QIHANG_API_KEY"], + "npm": "@ai-sdk/openai-compatible", + "api": "https://api.qhaigc.net/v1", + "name": "QiHang", + "doc": "https://www.qhaigc.net/docs", + "models": { + "claude-opus-4-5-20251101": { + "id": "claude-opus-4-5-20251101", + "name": "Claude Opus 4.5", + "family": "claude-opus", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-03", + "release_date": "2025-11-01", + "last_updated": "2025-11-01", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 32000 + }, + "cost": { + "input": 0.71, + "output": 3.57 + } + }, + "gemini-3-flash-preview": { + "id": "gemini-3-flash-preview", + "name": "Gemini 3 Flash Preview", + "family": "gemini-flash", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2025-12-17", + "last_updated": "2025-12-17", + "modalities": { + "input": ["text", "image", "video", "audio", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1048576, + "output": 65536 + }, + "cost": { + "input": 0.07, + "output": 0.43, + "tiers": [ + { + "input": 0.07, + "output": 0.43, + "tier": { + "type": "context", + "size": 200000 + } + } + ], + "context_over_200k": { + "input": 0.07, + "output": 0.43 + } + } + }, + "gpt-5-mini": { + "id": "gpt-5-mini", + "name": "GPT-5-Mini", + "family": "gpt-mini", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-09-30", + "release_date": "2025-09-15", + "last_updated": "2025-09-15", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 64000 + }, + "cost": { + "input": 0.04, + "output": 0.29 + } + }, + "gemini-3-pro-preview": { + "id": "gemini-3-pro-preview", + "name": "Gemini 3 Pro Preview", + "family": "gemini-pro", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-11", + "release_date": "2025-11-19", + "last_updated": "2025-11-19", + "modalities": { + "input": ["text", "image", "audio", "video"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000000, + "output": 65000 + }, + "cost": { + "input": 0.57, + "output": 3.43 + } + }, + "claude-sonnet-4-5-20250929": { + "id": "claude-sonnet-4-5-20250929", + "name": "Claude Sonnet 4.5", + "family": "claude-sonnet", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-07-31", + "release_date": "2025-09-29", + "last_updated": "2025-09-29", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 64000 + }, + "cost": { + "input": 0.43, + "output": 2.14 + } + }, + "gpt-5.2": { + "id": "gpt-5.2", + "name": "GPT-5.2", + "family": "gpt", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2025-08-31", + "release_date": "2025-12-11", + "last_updated": "2025-12-11", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "input": 272000, + "output": 128000 + }, + "cost": { + "input": 0.25, + "output": 2 + } + }, + "gpt-5.2-codex": { + "id": "gpt-5.2-codex", + "name": "GPT-5.2 Codex", + "family": "gpt-codex", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": false, + "knowledge": "2025-08-31", + "release_date": "2025-12-11", + "last_updated": "2025-12-11", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "input": 272000, + "output": 128000 + }, + "cost": { + "input": 0.14, + "output": 1.14 + } + }, + "gemini-2.5-flash": { + "id": "gemini-2.5-flash", + "name": "Gemini 2.5 Flash", + "family": "gemini-flash", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2025-12-17", + "last_updated": "2025-12-17", + "modalities": { + "input": ["text", "image", "video", "audio", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1048576, + "output": 65536 + }, + "cost": { + "input": 0.09, + "output": 0.71, + "tiers": [ + { + "input": 0.09, + "output": 0.71, + "tier": { + "type": "context", + "size": 200000 + } + } + ], + "context_over_200k": { + "input": 0.09, + "output": 0.71 + } + } + }, + "claude-haiku-4-5-20251001": { + "id": "claude-haiku-4-5-20251001", + "name": "Claude Haiku 4.5", + "family": "claude-haiku", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-07-31", + "release_date": "2025-10-01", + "last_updated": "2025-10-01", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 64000 + }, + "cost": { + "input": 0.14, + "output": 0.71 + } + } + } + }, + "tencent-tokenhub": { + "id": "tencent-tokenhub", + "env": ["TENCENT_TOKENHUB_API_KEY"], + "npm": "@ai-sdk/openai-compatible", + "api": "https://tokenhub.tencentmaas.com/v1", + "name": "Tencent TokenHub", + "doc": "https://cloud.tencent.com/document/product/1823/130050", + "models": { + "hy3-preview": { + "id": "hy3-preview", + "name": "Hy3 preview", + "family": "Hy", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2026-04-20", + "last_updated": "2026-04-20", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 256000, + "output": 64000 + }, + "cost": { + "input": 0, + "output": 0, + "cache_read": 0, + "cache_write": 0 + } + } + } + }, + "anthropic": { + "id": "anthropic", + "env": ["ANTHROPIC_API_KEY"], + "npm": "@ai-sdk/anthropic", + "name": "Anthropic", + "doc": "https://docs.anthropic.com/en/docs/about-claude/models", + "models": { + "claude-3-sonnet-20240229": { + "id": "claude-3-sonnet-20240229", + "name": "Claude Sonnet 3", + "family": "claude-sonnet", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2023-08-31", + "release_date": "2024-03-04", + "last_updated": "2024-03-04", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 4096 + }, + "cost": { + "input": 3, + "output": 15, + "cache_read": 0.3, + "cache_write": 0.3 + } + }, + "claude-haiku-4-5": { + "id": "claude-haiku-4-5", + "name": "Claude Haiku 4.5 (latest)", + "family": "claude-haiku", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-02-28", + "release_date": "2025-10-15", + "last_updated": "2025-10-15", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 64000 + }, + "cost": { + "input": 1, + "output": 5, + "cache_read": 0.1, + "cache_write": 1.25 + } + }, + "claude-opus-4-5-20251101": { + "id": "claude-opus-4-5-20251101", + "name": "Claude Opus 4.5", + "family": "claude-opus", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-03-31", + "release_date": "2025-11-01", + "last_updated": "2025-11-01", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 64000 + }, + "cost": { + "input": 5, + "output": 25, + "cache_read": 0.5, + "cache_write": 6.25 + } + }, + "claude-3-opus-20240229": { + "id": "claude-3-opus-20240229", + "name": "Claude Opus 3", + "family": "claude-opus", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2023-08-31", + "release_date": "2024-02-29", + "last_updated": "2024-02-29", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 4096 + }, + "cost": { + "input": 15, + "output": 75, + "cache_read": 1.5, + "cache_write": 18.75 + } + }, + "claude-3-5-haiku-20241022": { + "id": "claude-3-5-haiku-20241022", + "name": "Claude Haiku 3.5", + "family": "claude-haiku", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-07-31", + "release_date": "2024-10-22", + "last_updated": "2024-10-22", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 8192 + }, + "cost": { + "input": 0.8, + "output": 4, + "cache_read": 0.08, + "cache_write": 1 + } + }, + "claude-3-5-sonnet-20241022": { + "id": "claude-3-5-sonnet-20241022", + "name": "Claude Sonnet 3.5 v2", + "family": "claude-sonnet", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-04-30", + "release_date": "2024-10-22", + "last_updated": "2024-10-22", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 8192 + }, + "cost": { + "input": 3, + "output": 15, + "cache_read": 0.3, + "cache_write": 3.75 + } + }, + "claude-sonnet-4-6": { + "id": "claude-sonnet-4-6", + "name": "Claude Sonnet 4.6", + "family": "claude-sonnet", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-08-31", + "release_date": "2026-02-17", + "last_updated": "2026-03-13", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000000, + "output": 64000 + }, + "cost": { + "input": 3, + "output": 15, + "cache_read": 0.3, + "cache_write": 3.75 + } + }, + "claude-opus-4-0": { + "id": "claude-opus-4-0", + "name": "Claude Opus 4 (latest)", + "family": "claude-opus", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-03-31", + "release_date": "2025-05-22", + "last_updated": "2025-05-22", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 32000 + }, + "cost": { + "input": 15, + "output": 75, + "cache_read": 1.5, + "cache_write": 18.75 + } + }, + "claude-opus-4-7": { + "id": "claude-opus-4-7", + "name": "Claude Opus 4.7", + "family": "claude-opus", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": false, + "knowledge": "2026-01-31", + "release_date": "2026-04-16", + "last_updated": "2026-04-16", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000000, + "output": 128000 + }, + "experimental": { + "modes": { + "fast": { + "cost": { + "input": 30, + "output": 150, + "cache_read": 3, + "cache_write": 37.5 + }, + "provider": { + "body": { + "speed": "fast" + }, + "headers": { + "anthropic-beta": "fast-mode-2026-02-01" + } + } + } + } + }, + "cost": { + "input": 5, + "output": 25, + "cache_read": 0.5, + "cache_write": 6.25 + } + }, + "claude-3-haiku-20240307": { + "id": "claude-3-haiku-20240307", + "name": "Claude Haiku 3", + "family": "claude-haiku", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2023-08-31", + "release_date": "2024-03-13", + "last_updated": "2024-03-13", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 4096 + }, + "cost": { + "input": 0.25, + "output": 1.25, + "cache_read": 0.03, + "cache_write": 0.3 + } + }, + "claude-sonnet-4-5-20250929": { + "id": "claude-sonnet-4-5-20250929", + "name": "Claude Sonnet 4.5", + "family": "claude-sonnet", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-07-31", + "release_date": "2025-09-29", + "last_updated": "2025-09-29", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 64000 + }, + "cost": { + "input": 3, + "output": 15, + "cache_read": 0.3, + "cache_write": 3.75 + } + }, + "claude-3-5-haiku-latest": { + "id": "claude-3-5-haiku-latest", + "name": "Claude Haiku 3.5 (latest)", + "family": "claude-haiku", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-07-31", + "release_date": "2024-10-22", + "last_updated": "2024-10-22", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 8192 + }, + "cost": { + "input": 0.8, + "output": 4, + "cache_read": 0.08, + "cache_write": 1 + } + }, + "claude-opus-4-1": { + "id": "claude-opus-4-1", + "name": "Claude Opus 4.1 (latest)", + "family": "claude-opus", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-03-31", + "release_date": "2025-08-05", + "last_updated": "2025-08-05", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 32000 + }, + "cost": { + "input": 15, + "output": 75, + "cache_read": 1.5, + "cache_write": 18.75 + } + }, + "claude-sonnet-4-0": { + "id": "claude-sonnet-4-0", + "name": "Claude Sonnet 4 (latest)", + "family": "claude-sonnet", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-03-31", + "release_date": "2025-05-22", + "last_updated": "2025-05-22", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 64000 + }, + "cost": { + "input": 3, + "output": 15, + "cache_read": 0.3, + "cache_write": 3.75 + } + }, + "claude-3-5-sonnet-20240620": { + "id": "claude-3-5-sonnet-20240620", + "name": "Claude Sonnet 3.5", + "family": "claude-sonnet", + "attachment": true, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2024-04-30", + "release_date": "2024-06-20", + "last_updated": "2024-06-20", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 8192 + }, + "cost": { + "input": 3, + "output": 15, + "cache_read": 0.3, + "cache_write": 3.75 + } + }, + "claude-opus-4-5": { + "id": "claude-opus-4-5", + "name": "Claude Opus 4.5 (latest)", + "family": "claude-opus", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-03-31", + "release_date": "2025-11-24", + "last_updated": "2025-11-24", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 64000 + }, + "cost": { + "input": 5, + "output": 25, + "cache_read": 0.5, + "cache_write": 6.25 + } + }, + "claude-opus-4-1-20250805": { + "id": "claude-opus-4-1-20250805", + "name": "Claude Opus 4.1", + "family": "claude-opus", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-03-31", + "release_date": "2025-08-05", + "last_updated": "2025-08-05", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 32000 + }, + "cost": { + "input": 15, + "output": 75, + "cache_read": 1.5, + "cache_write": 18.75 + } + }, + "claude-haiku-4-5-20251001": { + "id": "claude-haiku-4-5-20251001", + "name": "Claude Haiku 4.5", + "family": "claude-haiku", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-02-28", + "release_date": "2025-10-15", + "last_updated": "2025-10-15", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 64000 + }, + "cost": { + "input": 1, + "output": 5, + "cache_read": 0.1, + "cache_write": 1.25 + } + }, + "claude-sonnet-4-20250514": { + "id": "claude-sonnet-4-20250514", + "name": "Claude Sonnet 4", + "family": "claude-sonnet", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-03-31", + "release_date": "2025-05-22", + "last_updated": "2025-05-22", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 64000 + }, + "cost": { + "input": 3, + "output": 15, + "cache_read": 0.3, + "cache_write": 3.75 + } + }, + "claude-opus-4-6": { + "id": "claude-opus-4-6", + "name": "Claude Opus 4.6", + "family": "claude-opus", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-05-31", + "release_date": "2026-02-05", + "last_updated": "2026-03-13", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000000, + "output": 128000 + }, + "experimental": { + "modes": { + "fast": { + "cost": { + "input": 30, + "output": 150, + "cache_read": 3, + "cache_write": 37.5 + }, + "provider": { + "body": { + "speed": "fast" + }, + "headers": { + "anthropic-beta": "fast-mode-2026-02-01" + } + } + } + } + }, + "cost": { + "input": 5, + "output": 25, + "cache_read": 0.5, + "cache_write": 6.25 + } + }, + "claude-3-7-sonnet-20250219": { + "id": "claude-3-7-sonnet-20250219", + "name": "Claude Sonnet 3.7", + "family": "claude-sonnet", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-10-31", + "release_date": "2025-02-19", + "last_updated": "2025-02-19", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 64000 + }, + "cost": { + "input": 3, + "output": 15, + "cache_read": 0.3, + "cache_write": 3.75 + } + }, + "claude-sonnet-4-5": { + "id": "claude-sonnet-4-5", + "name": "Claude Sonnet 4.5 (latest)", + "family": "claude-sonnet", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-07-31", + "release_date": "2025-09-29", + "last_updated": "2025-09-29", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 64000 + }, + "cost": { + "input": 3, + "output": 15, + "cache_read": 0.3, + "cache_write": 3.75 + } + }, + "claude-opus-4-20250514": { + "id": "claude-opus-4-20250514", + "name": "Claude Opus 4", + "family": "claude-opus", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-03-31", + "release_date": "2025-05-22", + "last_updated": "2025-05-22", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 32000 + }, + "cost": { + "input": 15, + "output": 75, + "cache_read": 1.5, + "cache_write": 18.75 + } + } + } + }, + "modelscope": { + "id": "modelscope", + "env": ["MODELSCOPE_API_KEY"], + "npm": "@ai-sdk/openai-compatible", + "api": "https://api-inference.modelscope.cn/v1", + "name": "ModelScope", + "doc": "https://modelscope.cn/docs/model-service/API-Inference/intro", + "models": { + "Qwen/Qwen3-30B-A3B-Thinking-2507": { + "id": "Qwen/Qwen3-30B-A3B-Thinking-2507", + "name": "Qwen3 30B A3B Thinking 2507", "family": "qwen", "attachment": false, "reasoning": true, "tool_call": true, "temperature": true, - "release_date": "2025-04-29", - "last_updated": "2025-04-29", - "modalities": { "input": ["text"], "output": ["text"] }, + "knowledge": "2025-04", + "release_date": "2025-07-30", + "last_updated": "2025-07-30", + "modalities": { + "input": ["text"], + "output": ["text"] + }, "open_weights": true, - "cost": { "input": 0.09, "output": 0.29 }, - "limit": { "context": 128000, "output": 8192 } + "limit": { + "context": 262144, + "output": 32768 + }, + "cost": { + "input": 0, + "output": 0 + } }, - "Qwen/qwen3-coder-480b-a35b-instruct": { - "id": "Qwen/qwen3-coder-480b-a35b-instruct", - "name": "Qwen3 Coder 480B A35B Instruct", - "family": "qwen", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2025-07-22", - "last_updated": "2025-07-22", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.29, "output": 1.2 }, - "limit": { "context": 262144, "output": 65536 } - }, - "Qwen/QwQ-32B": { - "id": "Qwen/QwQ-32B", - "name": "QwQ 32B", - "family": "qwen", - "attachment": false, - "reasoning": true, - "tool_call": true, - "temperature": true, - "release_date": "2024-11-28", - "last_updated": "2024-11-28", - "modalities": { "input": ["text"], "output": ["text"] }, - "open_weights": true, - "cost": { "input": 0.4, "output": 0.4 }, - "limit": { "context": 32768, "output": 32768 } - }, - "Qwen/Qwen2.5-72B-Instruct": { - "id": "Qwen/Qwen2.5-72B-Instruct", - "name": "Qwen 2.5 72B Instruct", + "Qwen/Qwen3-30B-A3B-Instruct-2507": { + "id": "Qwen/Qwen3-30B-A3B-Instruct-2507", + "name": "Qwen3 30B A3B Instruct 2507", "family": "qwen", "attachment": false, "reasoning": false, "tool_call": true, "temperature": true, - "release_date": "2024-09-19", - "last_updated": "2024-09-19", - "modalities": { "input": ["text"], "output": ["text"] }, + "knowledge": "2025-04", + "release_date": "2025-07-30", + "last_updated": "2025-07-30", + "modalities": { + "input": ["text"], + "output": ["text"] + }, "open_weights": true, - "cost": { "input": 0.11, "output": 0.38 }, - "limit": { "context": 128000, "output": 8192 } + "limit": { + "context": 262144, + "output": 16384 + }, + "cost": { + "input": 0, + "output": 0 + } }, "Qwen/Qwen3-235B-A22B-Instruct-2507": { "id": "Qwen/Qwen3-235B-A22B-Instruct-2507", - "name": "Qwen3 235B A22B Instruct", + "name": "Qwen3 235B A22B Instruct 2507", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-04-28", + "last_updated": "2025-07-21", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 131072 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "Qwen/Qwen3-Coder-30B-A3B-Instruct": { + "id": "Qwen/Qwen3-Coder-30B-A3B-Instruct", + "name": "Qwen3 Coder 30B A3B Instruct", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-07-31", + "last_updated": "2025-07-31", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 65536 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "Qwen/Qwen3-235B-A22B-Thinking-2507": { + "id": "Qwen/Qwen3-235B-A22B-Thinking-2507", + "name": "Qwen3-235B-A22B-Thinking-2507", "family": "qwen", "attachment": false, "reasoning": true, "tool_call": true, "temperature": true, - "release_date": "2025-07-01", - "last_updated": "2025-07-01", - "modalities": { "input": ["text"], "output": ["text"] }, + "knowledge": "2025-04", + "release_date": "2025-07-25", + "last_updated": "2025-07-25", + "modalities": { + "input": ["text"], + "output": ["text"] + }, "open_weights": true, - "cost": { "input": 0.13, "output": 0.6 }, - "limit": { "context": 262144, "output": 8192 } + "limit": { + "context": 262144, + "output": 131072 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "ZhipuAI/GLM-4.5": { + "id": "ZhipuAI/GLM-4.5", + "name": "GLM-4.5", + "family": "glm", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-07-28", + "last_updated": "2025-07-28", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 98304 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "ZhipuAI/GLM-4.6": { + "id": "ZhipuAI/GLM-4.6", + "name": "GLM-4.6", + "family": "glm", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-07", + "release_date": "2025-09-30", + "last_updated": "2025-09-30", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 202752, + "output": 98304 + }, + "cost": { + "input": 0, + "output": 0 + } + } + } + }, + "hpc-ai": { + "id": "hpc-ai", + "env": ["HPC_AI_API_KEY"], + "npm": "@ai-sdk/openai-compatible", + "api": "https://api.hpc-ai.com/inference/v1", + "name": "HPC-AI", + "doc": "https://www.hpc-ai.com/doc/docs/quickstart/", + "models": { + "zai-org/glm-5.1": { + "id": "zai-org/glm-5.1", + "name": "GLM 5.1", + "family": "glm", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "structured_output": true, + "temperature": true, + "release_date": "2026-04-08", + "last_updated": "2026-04-08", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 202000, + "output": 202000 + }, + "cost": { + "input": 0.66, + "output": 2, + "cache_read": 0.12 + } + }, + "minimax/minimax-m2.5": { + "id": "minimax/minimax-m2.5", + "name": "MiniMax M2.5", + "family": "minimax-m2.5", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": false, + "temperature": true, + "release_date": "2026-02-12", + "last_updated": "2026-03-25", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 1000000, + "output": 131072 + }, + "cost": { + "input": 0.14, + "output": 0.56, + "cache_read": 0.014 + } + }, + "moonshotai/kimi-k2.5": { + "id": "moonshotai/kimi-k2.5", + "name": "Kimi K2.5", + "family": "kimi", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "structured_output": true, + "temperature": false, + "knowledge": "2025-01-01", + "release_date": "2026-01-01", + "last_updated": "2026-03-25", + "modalities": { + "input": ["text", "image", "video"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 262144 + }, + "cost": { + "input": 0.21, + "output": 1, + "cache_read": 0.03 + } + } + } + }, + "gitlab": { + "id": "gitlab", + "env": ["GITLAB_TOKEN"], + "npm": "gitlab-ai-provider", + "name": "GitLab Duo", + "doc": "https://docs.gitlab.com/user/duo_agent_platform/", + "models": { + "duo-chat-gpt-5-4-nano": { + "id": "duo-chat-gpt-5-4-nano", + "name": "Agentic Chat (GPT-5.4 Nano)", + "family": "gpt-nano", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": false, + "knowledge": "2025-08-31", + "release_date": "2026-03-17", + "last_updated": "2026-03-17", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "input": 272000, + "output": 128000 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "duo-chat-gpt-5-mini": { + "id": "duo-chat-gpt-5-mini", + "name": "Agentic Chat (GPT-5 Mini)", + "family": "gpt-mini", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": false, + "knowledge": "2024-05-30", + "release_date": "2026-01-22", + "last_updated": "2026-01-22", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "input": 272000, + "output": 128000 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "duo-chat-sonnet-4-6": { + "id": "duo-chat-sonnet-4-6", + "name": "Agentic Chat (Claude Sonnet 4.6)", + "family": "claude-sonnet", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-08-31", + "release_date": "2026-02-17", + "last_updated": "2026-02-17", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000000, + "output": 64000 + }, + "cost": { + "input": 0, + "output": 0, + "cache_read": 0, + "cache_write": 0 + } + }, + "duo-chat-gpt-5-2": { + "id": "duo-chat-gpt-5-2", + "name": "Agentic Chat (GPT-5.2)", + "family": "gpt", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": false, + "knowledge": "2025-08-31", + "release_date": "2026-01-23", + "last_updated": "2026-01-23", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "input": 272000, + "output": 128000 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "duo-chat-gpt-5-codex": { + "id": "duo-chat-gpt-5-codex", + "name": "Agentic Chat (GPT-5 Codex)", + "family": "gpt-codex", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": false, + "knowledge": "2024-09-30", + "release_date": "2026-01-22", + "last_updated": "2026-01-22", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "input": 272000, + "output": 128000 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "duo-chat-gpt-5-1": { + "id": "duo-chat-gpt-5-1", + "name": "Agentic Chat (GPT-5.1)", + "family": "gpt", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": false, + "knowledge": "2024-09-30", + "release_date": "2026-01-22", + "last_updated": "2026-01-22", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "input": 272000, + "output": 128000 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "duo-chat-gpt-5-2-codex": { + "id": "duo-chat-gpt-5-2-codex", + "name": "Agentic Chat (GPT-5.2 Codex)", + "family": "gpt-codex", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": false, + "knowledge": "2025-08-31", + "release_date": "2026-01-22", + "last_updated": "2026-01-22", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "input": 272000, + "output": 128000 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "duo-chat-sonnet-4-5": { + "id": "duo-chat-sonnet-4-5", + "name": "Agentic Chat (Claude Sonnet 4.5)", + "family": "claude-sonnet", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-07-31", + "release_date": "2026-01-08", + "last_updated": "2026-01-08", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 64000 + }, + "cost": { + "input": 0, + "output": 0, + "cache_read": 0, + "cache_write": 0 + } + }, + "duo-chat-gpt-5-4": { + "id": "duo-chat-gpt-5-4", + "name": "Agentic Chat (GPT-5.4)", + "family": "gpt", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": false, + "knowledge": "2025-08-31", + "release_date": "2026-03-05", + "last_updated": "2026-03-05", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1050000, + "input": 922000, + "output": 128000 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "duo-chat-haiku-4-5": { + "id": "duo-chat-haiku-4-5", + "name": "Agentic Chat (Claude Haiku 4.5)", + "family": "claude-haiku", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-02-28", + "release_date": "2026-01-08", + "last_updated": "2026-01-08", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 64000 + }, + "cost": { + "input": 0, + "output": 0, + "cache_read": 0, + "cache_write": 0 + } + }, + "duo-chat-gpt-5-3-codex": { + "id": "duo-chat-gpt-5-3-codex", + "name": "Agentic Chat (GPT-5.3 Codex)", + "family": "gpt-codex", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": false, + "knowledge": "2025-08-31", + "release_date": "2026-02-05", + "last_updated": "2026-02-05", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "input": 272000, + "output": 128000 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "duo-chat-gpt-5-4-mini": { + "id": "duo-chat-gpt-5-4-mini", + "name": "Agentic Chat (GPT-5.4 Mini)", + "family": "gpt-mini", + "attachment": true, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": false, + "knowledge": "2025-08-31", + "release_date": "2026-03-17", + "last_updated": "2026-03-17", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 400000, + "input": 272000, + "output": 128000 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "duo-chat-opus-4-7": { + "id": "duo-chat-opus-4-7", + "name": "Agentic Chat (Claude Opus 4.7)", + "family": "claude-opus", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": false, + "knowledge": "2026-01-31", + "release_date": "2026-04-16", + "last_updated": "2026-04-16", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000000, + "output": 64000 + }, + "cost": { + "input": 0, + "output": 0, + "cache_read": 0, + "cache_write": 0 + } + }, + "duo-chat-opus-4-5": { + "id": "duo-chat-opus-4-5", + "name": "Agentic Chat (Claude Opus 4.5)", + "family": "claude-opus", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-03-31", + "release_date": "2026-01-08", + "last_updated": "2026-01-08", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 64000 + }, + "cost": { + "input": 0, + "output": 0, + "cache_read": 0, + "cache_write": 0 + } + }, + "duo-chat-opus-4-6": { + "id": "duo-chat-opus-4-6", + "name": "Agentic Chat (Claude Opus 4.6)", + "family": "claude-opus", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-05-31", + "release_date": "2026-02-05", + "last_updated": "2026-02-05", + "modalities": { + "input": ["text", "image", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000000, + "output": 64000 + }, + "cost": { + "input": 0, + "output": 0, + "cache_read": 0, + "cache_write": 0 + } + } + } + }, + "xiaomi": { + "id": "xiaomi", + "env": ["XIAOMI_API_KEY"], + "npm": "@ai-sdk/openai-compatible", + "api": "https://api.xiaomimimo.com/v1", + "name": "Xiaomi", + "doc": "https://platform.xiaomimimo.com/#/docs", + "models": { + "mimo-v2.5-pro": { + "id": "mimo-v2.5-pro", + "name": "MiMo-V2.5-Pro", + "family": "mimo", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "temperature": true, + "knowledge": "2024-12", + "release_date": "2026-04-22", + "last_updated": "2026-04-22", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 1048576, + "output": 131072 + }, + "cost": { + "input": 1, + "output": 3, + "cache_read": 0.2, + "tiers": [ + { + "input": 2, + "output": 6, + "cache_read": 0.4, + "tier": { + "type": "context", + "size": 256000 + } + } + ], + "context_over_200k": { + "input": 2, + "output": 6, + "cache_read": 0.4 + } + } + }, + "mimo-v2-omni": { + "id": "mimo-v2-omni", + "name": "MiMo-V2-Omni", + "family": "mimo", + "attachment": true, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "temperature": true, + "knowledge": "2024-12", + "release_date": "2026-03-18", + "last_updated": "2026-03-18", + "modalities": { + "input": ["text", "image", "audio", "video", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 262144, + "output": 131072 + }, + "cost": { + "input": 0.4, + "output": 2, + "cache_read": 0.08 + } + }, + "mimo-v2.5": { + "id": "mimo-v2.5", + "name": "MiMo-V2.5", + "family": "mimo", + "attachment": true, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "temperature": true, + "knowledge": "2024-12", + "release_date": "2026-04-22", + "last_updated": "2026-04-22", + "modalities": { + "input": ["text", "image", "audio", "video"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 1048576, + "output": 131072 + }, + "cost": { + "input": 0.4, + "output": 2, + "cache_read": 0.08, + "tiers": [ + { + "input": 0.8, + "output": 4, + "cache_read": 0.16, + "tier": { + "type": "context", + "size": 256000 + } + } + ], + "context_over_200k": { + "input": 0.8, + "output": 4, + "cache_read": 0.16 + } + } + }, + "mimo-v2-pro": { + "id": "mimo-v2-pro", + "name": "MiMo-V2-Pro", + "family": "mimo", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "temperature": true, + "knowledge": "2024-12", + "release_date": "2026-03-18", + "last_updated": "2026-03-18", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1048576, + "output": 131072 + }, + "cost": { + "input": 1, + "output": 3, + "cache_read": 0.2, + "tiers": [ + { + "input": 2, + "output": 6, + "cache_read": 0.4, + "tier": { + "type": "context", + "size": 256000 + } + } + ], + "context_over_200k": { + "input": 2, + "output": 6, + "cache_read": 0.4 + } + } + }, + "mimo-v2-flash": { + "id": "mimo-v2-flash", + "name": "MiMo-V2-Flash", + "family": "mimo", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "temperature": true, + "knowledge": "2024-12-01", + "release_date": "2025-12-16", + "last_updated": "2026-02-04", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 65536 + }, + "cost": { + "input": 0.1, + "output": 0.3, + "cache_read": 0.01 + } + } + } + }, + "clarifai": { + "id": "clarifai", + "env": ["CLARIFAI_PAT"], + "npm": "@ai-sdk/openai-compatible", + "api": "https://api.clarifai.com/v2/ext/openai/v1", + "name": "Clarifai", + "doc": "https://docs.clarifai.com/compute/inference/", + "models": { + "arcee_ai/AFM/models/trinity-mini": { + "id": "arcee_ai/AFM/models/trinity-mini", + "name": "Trinity Mini", + "family": "trinity-mini", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2024-10", + "release_date": "2025-12", + "last_updated": "2026-02-25", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 131072 + }, + "cost": { + "input": 0.045, + "output": 0.15 + } + }, + "mistralai/completion/models/Ministral-3-14B-Reasoning-2512": { + "id": "mistralai/completion/models/Ministral-3-14B-Reasoning-2512", + "name": "Ministral 3 14B Reasoning 2512", + "family": "ministral", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-12", + "release_date": "2025-12-01", + "last_updated": "2025-12-12", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 262144 + }, + "cost": { + "input": 2.5, + "output": 1.7 + } + }, + "mistralai/completion/models/Ministral-3-3B-Reasoning-2512": { + "id": "mistralai/completion/models/Ministral-3-3B-Reasoning-2512", + "name": "Ministral 3 3B Reasoning 2512", + "family": "ministral", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2025-12", + "last_updated": "2026-02-25", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 262144 + }, + "cost": { + "input": 1.039, + "output": 0.54825 + } + }, + "deepseek-ai/deepseek-ocr/models/DeepSeek-OCR": { + "id": "deepseek-ai/deepseek-ocr/models/DeepSeek-OCR", + "name": "DeepSeek OCR", + "family": "deepseek", + "attachment": true, + "reasoning": false, + "tool_call": false, + "temperature": true, + "release_date": "2025-10-20", + "last_updated": "2026-02-25", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 8192, + "output": 8192 + }, + "cost": { + "input": 0.2, + "output": 0.7 + } + }, + "openai/chat-completion/models/gpt-oss-20b": { + "id": "openai/chat-completion/models/gpt-oss-20b", + "name": "GPT OSS 20B", + "family": "gpt-oss", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2025-08-05", + "last_updated": "2025-12-12", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 16384 + }, + "cost": { + "input": 0.045, + "output": 0.18 + } + }, + "openai/chat-completion/models/gpt-oss-120b-high-throughput": { + "id": "openai/chat-completion/models/gpt-oss-120b-high-throughput", + "name": "GPT OSS 120B High Throughput", + "family": "gpt-oss", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2025-08-05", + "last_updated": "2026-02-25", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 16384 + }, + "cost": { + "input": 0.09, + "output": 0.36 + } + }, + "minimaxai/chat-completion/models/MiniMax-M2_5-high-throughput": { + "id": "minimaxai/chat-completion/models/MiniMax-M2_5-high-throughput", + "name": "MiniMax-M2.5 High Throughput", + "family": "minimax", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2026-02-12", + "last_updated": "2026-02-25", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 204800, + "output": 131072 + }, + "cost": { + "input": 0.3, + "output": 1.2 + } + }, + "qwen/qwenCoder/models/Qwen3-Coder-30B-A3B-Instruct": { + "id": "qwen/qwenCoder/models/Qwen3-Coder-30B-A3B-Instruct", + "name": "Qwen3 Coder 30B A3B Instruct", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-07-31", + "last_updated": "2026-02-12", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 65536 + }, + "cost": { + "input": 0.11458, + "output": 0.74812 + } + }, + "qwen/qwenLM/models/Qwen3-30B-A3B-Thinking-2507": { + "id": "qwen/qwenLM/models/Qwen3-30B-A3B-Thinking-2507", + "name": "Qwen3 30B A3B Thinking 2507", + "family": "qwen", + "attachment": false, + "reasoning": true, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-07-31", + "last_updated": "2026-02-25", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 131072 + }, + "cost": { + "input": 0.36, + "output": 1.3 + } + }, + "qwen/qwenLM/models/Qwen3-30B-A3B-Instruct-2507": { + "id": "qwen/qwenLM/models/Qwen3-30B-A3B-Instruct-2507", + "name": "Qwen3 30B A3B Instruct 2507", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": true, + "structured_output": true, + "temperature": true, + "release_date": "2025-07-30", + "last_updated": "2026-02-25", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 262144 + }, + "cost": { + "input": 0.3, + "output": 0.5 + } + }, + "clarifai/main/models/mm-poly-8b": { + "id": "clarifai/main/models/mm-poly-8b", + "name": "MM Poly 8B", + "family": "mm-poly", + "attachment": true, + "reasoning": false, + "tool_call": false, + "temperature": true, + "release_date": "2025-06", + "last_updated": "2026-02-25", + "modalities": { + "input": ["text", "image", "video"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 32768, + "output": 4096 + }, + "cost": { + "input": 0.658, + "output": 1.11 + } + }, + "moonshotai/chat-completion/models/Kimi-K2_6": { + "id": "moonshotai/chat-completion/models/Kimi-K2_6", + "name": "Kimi K2.6", + "family": "kimi-k2.6", + "attachment": true, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "structured_output": true, + "temperature": true, + "knowledge": "2025-01", + "release_date": "2026-04-21", + "last_updated": "2026-04-21", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 262144 + }, + "cost": { + "input": 0.95, + "output": 4 + } + } + } + }, + "minimax-cn": { + "id": "minimax-cn", + "env": ["MINIMAX_API_KEY"], + "npm": "@ai-sdk/anthropic", + "api": "https://api.minimaxi.com/anthropic/v1", + "name": "MiniMax (minimaxi.com)", + "doc": "https://platform.minimaxi.com/docs/guides/quickstart", + "models": { + "MiniMax-M2": { + "id": "MiniMax-M2", + "name": "MiniMax-M2", + "family": "minimax", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2025-10-27", + "last_updated": "2025-10-27", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 196608, + "output": 128000 + }, + "cost": { + "input": 0.3, + "output": 1.2 + } + }, + "MiniMax-M2.5": { + "id": "MiniMax-M2.5", + "name": "MiniMax-M2.5", + "family": "minimax", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2026-02-12", + "last_updated": "2026-02-12", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 204800, + "output": 131072 + }, + "cost": { + "input": 0.3, + "output": 1.2, + "cache_read": 0.03, + "cache_write": 0.375 + } + }, + "MiniMax-M2.7": { + "id": "MiniMax-M2.7", + "name": "MiniMax-M2.7", + "family": "minimax", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2026-03-18", + "last_updated": "2026-03-18", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 204800, + "output": 131072 + }, + "cost": { + "input": 0.3, + "output": 1.2, + "cache_read": 0.06, + "cache_write": 0.375 + } + }, + "MiniMax-M2.7-highspeed": { + "id": "MiniMax-M2.7-highspeed", + "name": "MiniMax-M2.7-highspeed", + "family": "minimax", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2026-03-18", + "last_updated": "2026-03-18", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 204800, + "output": 131072 + }, + "cost": { + "input": 0.6, + "output": 2.4, + "cache_read": 0.06, + "cache_write": 0.375 + } + }, + "MiniMax-M2.1": { + "id": "MiniMax-M2.1", + "name": "MiniMax-M2.1", + "family": "minimax", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2025-12-23", + "last_updated": "2025-12-23", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 204800, + "output": 131072 + }, + "cost": { + "input": 0.3, + "output": 1.2 + } + }, + "MiniMax-M2.5-highspeed": { + "id": "MiniMax-M2.5-highspeed", + "name": "MiniMax-M2.5-highspeed", + "family": "minimax", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2026-02-13", + "last_updated": "2026-02-13", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 204800, + "output": 131072 + }, + "cost": { + "input": 0.6, + "output": 2.4, + "cache_read": 0.06, + "cache_write": 0.375 + } + } + } + }, + "regolo-ai": { + "id": "regolo-ai", + "env": ["REGOLO_API_KEY"], + "npm": "@ai-sdk/openai-compatible", + "api": "https://api.regolo.ai/v1", + "name": "Regolo AI", + "doc": "https://docs.regolo.ai/", + "models": { + "mistral-small3.2": { + "id": "mistral-small3.2", + "name": "Mistral Small 3.2", + "family": "mistral-small", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2025-01-31", + "last_updated": "2025-01-31", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 120000, + "output": 120000 + }, + "cost": { + "input": 0.5, + "output": 2.2 + } + }, + "qwen3-embedding-8b": { + "id": "qwen3-embedding-8b", + "name": "Qwen3-Embedding-8B", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": false, + "release_date": "2026-02-01", + "last_updated": "2026-02-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 32768, + "output": 8192 + }, + "cost": { + "input": 0.1, + "output": 0.1 + } + }, + "llama-3.3-70b-instruct": { + "id": "llama-3.3-70b-instruct", + "name": "Llama 3.3 70B Instruct", + "family": "llama", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "release_date": "2025-04-28", + "last_updated": "2025-04-28", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 16384 + }, + "cost": { + "input": 0.6, + "output": 2.7 + } + }, + "qwen3-reranker-4b": { + "id": "qwen3-reranker-4b", + "name": "Qwen3-Reranker-4B", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": false, + "release_date": "2026-02-01", + "last_updated": "2026-02-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 32768, + "output": 8192 + }, + "cost": { + "input": 0.12, + "output": 0.12 + } + }, + "mistral-small-4-119b": { + "id": "mistral-small-4-119b", + "name": "Mistral Small 4 119B", + "family": "mistral-small", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2026-03-15", + "last_updated": "2026-03-15", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 256000, + "output": 16384 + }, + "cost": { + "input": 0.75, + "output": 3 + } + }, + "qwen3.5-122b": { + "id": "qwen3.5-122b", + "name": "Qwen3.5-122B", + "family": "qwen", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2026-02-01", + "last_updated": "2026-02-01", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 16384 + }, + "cost": { + "input": 0.9, + "output": 3.6 + } + }, + "qwen-image": { + "id": "qwen-image", + "name": "Qwen-Image", + "family": "qwen", + "attachment": false, + "reasoning": false, + "tool_call": false, + "temperature": true, + "release_date": "2026-03-01", + "last_updated": "2026-03-01", + "modalities": { + "input": ["text"], + "output": ["image"] + }, + "open_weights": false, + "limit": { + "context": 8192, + "output": 4096 + }, + "cost": { + "input": 0.5, + "output": 2 + } + }, + "qwen3-coder-next": { + "id": "qwen3-coder-next", + "name": "Qwen3-Coder-Next", + "family": "qwen", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2026-03-01", + "last_updated": "2026-03-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 16384 + }, + "cost": { + "input": 0.3, + "output": 1.2 + } + }, + "minimax-m2.5": { + "id": "minimax-m2.5", + "name": "MiniMax 2.5", + "family": "minimax", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2026-03-10", + "last_updated": "2026-03-10", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 190000, + "output": 64000 + }, + "cost": { + "input": 0.8, + "output": 3.5 + } + }, + "gpt-oss-20b": { + "id": "gpt-oss-20b", + "name": "GPT-OSS-20B", + "family": "gpt-oss", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2026-03-01", + "last_updated": "2026-03-01", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 16384 + }, + "cost": { + "input": 0.4, + "output": 1.8 + } + }, + "qwen3.5-9b": { + "id": "qwen3.5-9b", + "name": "Qwen3.5-9B", + "family": "qwen", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2026-02-01", + "last_updated": "2026-02-01", + "modalities": { + "input": ["text", "image"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 8192 + }, + "cost": { + "input": 0.15, + "output": 0.6 + } + }, + "gpt-oss-120b": { + "id": "gpt-oss-120b", + "name": "GPT-OSS-120B", + "family": "gpt-oss", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2025-08-05", + "last_updated": "2025-08-05", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 128000, + "output": 16384 + }, + "cost": { + "input": 1, + "output": 4.2 + } + }, + "llama-3.1-8b-instruct": { + "id": "llama-3.1-8b-instruct", + "name": "Llama 3.1 8B Instruct", + "family": "llama", + "attachment": false, + "reasoning": false, + "tool_call": true, + "temperature": true, + "release_date": "2025-04-07", + "last_updated": "2025-04-07", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 120000, + "output": 120000 + }, + "cost": { + "input": 0.05, + "output": 0.25 + } + } + } + }, + "xiaomi-token-plan-ams": { + "id": "xiaomi-token-plan-ams", + "env": ["XIAOMI_API_KEY"], + "npm": "@ai-sdk/openai-compatible", + "api": "https://token-plan-ams.xiaomimimo.com/v1", + "name": "Xiaomi Token Plan (Europe)", + "doc": "https://platform.xiaomimimo.com/#/docs", + "models": { + "mimo-v2-tts": { + "id": "mimo-v2-tts", + "name": "MiMo-V2-TTS", + "family": "mimo", + "attachment": false, + "reasoning": false, + "tool_call": false, + "release_date": "2026-03-18", + "last_updated": "2026-03-18", + "modalities": { + "input": ["text"], + "output": ["audio"] + }, + "open_weights": true, + "limit": { + "context": 8192, + "output": 16384 + }, + "cost": { + "input": 0, + "output": 0 + } + }, + "mimo-v2-flash": { + "id": "mimo-v2-flash", + "name": "MiMo-V2-Flash", + "family": "mimo", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "temperature": true, + "knowledge": "2024-12-01", + "release_date": "2025-12-16", + "last_updated": "2026-02-04", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 262144, + "output": 65536 + }, + "cost": { + "input": 0, + "output": 0, + "cache_read": 0 + } + }, + "mimo-v2-pro": { + "id": "mimo-v2-pro", + "name": "MiMo-V2-Pro", + "family": "mimo", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "temperature": true, + "knowledge": "2024-12", + "release_date": "2026-03-18", + "last_updated": "2026-03-18", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1048576, + "output": 131072 + }, + "cost": { + "input": 0, + "output": 0, + "cache_read": 0 + } + }, + "mimo-v2.5": { + "id": "mimo-v2.5", + "name": "MiMo-V2.5", + "family": "mimo", + "attachment": true, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "temperature": true, + "knowledge": "2024-12", + "release_date": "2026-04-22", + "last_updated": "2026-04-22", + "modalities": { + "input": ["text", "image", "audio", "video"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 1048576, + "output": 131072 + }, + "cost": { + "input": 0, + "output": 0, + "cache_read": 0 + } + }, + "mimo-v2-omni": { + "id": "mimo-v2-omni", + "name": "MiMo-V2-Omni", + "family": "mimo", + "attachment": true, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "temperature": true, + "knowledge": "2024-12", + "release_date": "2026-03-18", + "last_updated": "2026-03-18", + "modalities": { + "input": ["text", "image", "audio", "video", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 262144, + "output": 131072 + }, + "cost": { + "input": 0, + "output": 0, + "cache_read": 0 + } + }, + "mimo-v2.5-pro": { + "id": "mimo-v2.5-pro", + "name": "MiMo-V2.5-Pro", + "family": "mimo", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "temperature": true, + "knowledge": "2024-12", + "release_date": "2026-04-22", + "last_updated": "2026-04-22", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 1048576, + "output": 131072 + }, + "cost": { + "input": 0, + "output": 0, + "cache_read": 0 + } + } + } + }, + "zhipuai": { + "id": "zhipuai", + "env": ["ZHIPU_API_KEY"], + "npm": "@ai-sdk/openai-compatible", + "api": "https://open.bigmodel.cn/api/paas/v4", + "name": "Zhipu AI", + "doc": "https://docs.z.ai/guides/overview/pricing", + "models": { + "glm-5v-turbo": { + "id": "glm-5v-turbo", + "name": "GLM-5V-Turbo", + "family": "glm", + "attachment": true, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "temperature": true, + "release_date": "2026-04-01", + "last_updated": "2026-04-01", + "modalities": { + "input": ["text", "image", "video", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 131072 + }, + "cost": { + "input": 5, + "output": 22, + "cache_read": 1.2, + "cache_write": 0 + } + }, + "glm-5": { + "id": "glm-5", + "name": "GLM-5", + "family": "glm", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "temperature": true, + "release_date": "2026-02-11", + "last_updated": "2026-02-11", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 204800, + "output": 131072 + }, + "cost": { + "input": 1, + "output": 3.2, + "cache_read": 0.2, + "cache_write": 0 + } + }, + "glm-5.1": { + "id": "glm-5.1", + "name": "GLM-5.1", + "family": "glm", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "structured_output": true, + "temperature": true, + "release_date": "2026-03-27", + "last_updated": "2026-03-27", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 200000, + "output": 131072 + }, + "cost": { + "input": 6, + "output": 24, + "cache_read": 1.3, + "cache_write": 0 + } + }, + "glm-4.7-flash": { + "id": "glm-4.7-flash", + "name": "GLM-4.7-Flash", + "family": "glm-flash", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2026-01-19", + "last_updated": "2026-01-19", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 200000, + "output": 131072 + }, + "cost": { + "input": 0, + "output": 0, + "cache_read": 0, + "cache_write": 0 + } + }, + "glm-4.5-flash": { + "id": "glm-4.5-flash", + "name": "GLM-4.5-Flash", + "family": "glm-flash", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-07-28", + "last_updated": "2025-07-28", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 98304 + }, + "cost": { + "input": 0, + "output": 0, + "cache_read": 0, + "cache_write": 0 + } + }, + "glm-4.6v": { + "id": "glm-4.6v", + "name": "GLM-4.6V", + "family": "glm", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-12-08", + "last_updated": "2025-12-08", + "modalities": { + "input": ["text", "image", "video"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 128000, + "output": 32768 + }, + "cost": { + "input": 0.3, + "output": 0.9 + } + }, + "glm-4.6": { + "id": "glm-4.6", + "name": "GLM-4.6", + "family": "glm", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-09-30", + "last_updated": "2025-09-30", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 204800, + "output": 131072 + }, + "cost": { + "input": 0.6, + "output": 2.2, + "cache_read": 0.11, + "cache_write": 0 + } + }, + "glm-4.5v": { + "id": "glm-4.5v", + "name": "GLM-4.5V", + "family": "glm", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-08-11", + "last_updated": "2025-08-11", + "modalities": { + "input": ["text", "image", "video"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 64000, + "output": 16384 + }, + "cost": { + "input": 0.6, + "output": 1.8 + } + }, + "glm-4.5-air": { + "id": "glm-4.5-air", + "name": "GLM-4.5-Air", + "family": "glm-air", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-07-28", + "last_updated": "2025-07-28", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 98304 + }, + "cost": { + "input": 0.2, + "output": 1.1, + "cache_read": 0.03, + "cache_write": 0 + } + }, + "glm-4.5": { + "id": "glm-4.5", + "name": "GLM-4.5", + "family": "glm", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-07-28", + "last_updated": "2025-07-28", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 131072, + "output": 98304 + }, + "cost": { + "input": 0.6, + "output": 2.2, + "cache_read": 0.11, + "cache_write": 0 + } + }, + "glm-4.7-flashx": { + "id": "glm-4.7-flashx", + "name": "GLM-4.7-FlashX", + "family": "glm-flash", + "attachment": false, + "reasoning": true, + "tool_call": true, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2026-01-19", + "last_updated": "2026-01-19", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 200000, + "output": 131072 + }, + "cost": { + "input": 0.07, + "output": 0.4, + "cache_read": 0.01, + "cache_write": 0 + } + }, + "glm-4.7": { + "id": "glm-4.7", + "name": "GLM-4.7", + "family": "glm", + "attachment": false, + "reasoning": true, + "tool_call": true, + "interleaved": { + "field": "reasoning_content" + }, + "temperature": true, + "knowledge": "2025-04", + "release_date": "2025-12-22", + "last_updated": "2025-12-22", + "modalities": { + "input": ["text"], + "output": ["text"] + }, + "open_weights": true, + "limit": { + "context": 204800, + "output": 131072 + }, + "cost": { + "input": 0.6, + "output": 2.2, + "cache_read": 0.11, + "cache_write": 0 + } + } + } + }, + "nova": { + "id": "nova", + "env": ["NOVA_API_KEY"], + "npm": "@ai-sdk/openai-compatible", + "api": "https://api.nova.amazon.com/v1", + "name": "Nova", + "doc": "https://nova.amazon.com/dev/documentation", + "models": { + "nova-2-lite-v1": { + "id": "nova-2-lite-v1", + "name": "Nova 2 Lite", + "family": "nova-lite", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2025-12-01", + "last_updated": "2025-12-01", + "modalities": { + "input": ["text", "image", "video", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000000, + "output": 64000 + }, + "cost": { + "input": 0, + "output": 0, + "reasoning": 0 + } + }, + "nova-2-pro-v1": { + "id": "nova-2-pro-v1", + "name": "Nova 2 Pro", + "family": "nova-pro", + "attachment": true, + "reasoning": true, + "tool_call": true, + "temperature": true, + "release_date": "2025-12-03", + "last_updated": "2026-01-03", + "modalities": { + "input": ["text", "image", "video", "pdf"], + "output": ["text"] + }, + "open_weights": false, + "limit": { + "context": 1000000, + "output": 64000 + }, + "cost": { + "input": 0, + "output": 0, + "reasoning": 0 + } } } } diff --git a/packages/opencode/test/tool/registry.test.ts b/packages/opencode/test/tool/registry.test.ts index b2beda70ca..f00b7f5a08 100644 --- a/packages/opencode/test/tool/registry.test.ts +++ b/packages/opencode/test/tool/registry.test.ts @@ -6,7 +6,6 @@ import { Effect, Layer, Result, Schema } from "effect" import { CrossSpawnSpawner } from "@opencode-ai/core/cross-spawn-spawner" import { ToolRegistry } from "@/tool/registry" import { Tool } from "@/tool/tool" -import { Flag } from "@opencode-ai/core/flag/flag" import { disposeAllInstances, TestInstance } from "../fixture/fixture" import { testEffect } from "../lib/effect" import { TestConfig } from "../fixture/config" @@ -31,46 +30,47 @@ import { Reference } from "@/reference/reference" import { ProviderID, ModelID } from "@/provider/schema" import { ToolJsonSchema } from "@/tool/json-schema" import { MessageID, SessionID } from "@/session/schema" +import { RuntimeFlags } from "@/effect/runtime-flags" const node = CrossSpawnSpawner.defaultLayer -const originalExperimentalScout = Flag.OPENCODE_EXPERIMENTAL_SCOUT const configLayer = TestConfig.layer({ directories: () => InstanceState.directory.pipe(Effect.map((dir) => [path.join(dir, ".opencode")])), }) -const registryLayer = ToolRegistry.layer.pipe( - Layer.provide(configLayer), - Layer.provide(Plugin.defaultLayer), - Layer.provide(Question.defaultLayer), - Layer.provide(Todo.defaultLayer), - Layer.provide(Skill.defaultLayer), - Layer.provide(Agent.defaultLayer), - Layer.provide(Session.defaultLayer), - Layer.provide(Provider.defaultLayer), - Layer.provide(Git.defaultLayer), - Layer.provide(Reference.defaultLayer), - Layer.provide(LSP.defaultLayer), - Layer.provide(Instruction.defaultLayer), - Layer.provide(AppFileSystem.defaultLayer), - Layer.provide(Bus.layer), - Layer.provide(FetchHttpClient.layer), - Layer.provide(Format.defaultLayer), - Layer.provide(node), - Layer.provide(Ripgrep.defaultLayer), - Layer.provide(Truncate.defaultLayer), -) +const registryLayer = (flags: Partial = {}) => + ToolRegistry.layer.pipe( + Layer.provide(configLayer), + Layer.provide(Plugin.defaultLayer), + Layer.provide(Question.defaultLayer), + Layer.provide(Todo.defaultLayer), + Layer.provide(Skill.defaultLayer), + Layer.provide(Agent.defaultLayer), + Layer.provide(Session.defaultLayer), + Layer.provide(Provider.defaultLayer), + Layer.provide(Git.defaultLayer), + Layer.provide(Reference.defaultLayer), + Layer.provide(LSP.defaultLayer), + Layer.provide(Instruction.defaultLayer), + Layer.provide(AppFileSystem.defaultLayer), + Layer.provide(Bus.layer), + Layer.provide(FetchHttpClient.layer), + Layer.provide(Format.defaultLayer), + Layer.provide(node), + Layer.provide(Ripgrep.defaultLayer), + Layer.provide(Truncate.defaultLayer), + Layer.provide(RuntimeFlags.layer(flags)), + ) -const it = testEffect(Layer.mergeAll(registryLayer, node, Agent.defaultLayer)) +const it = testEffect(Layer.mergeAll(registryLayer(), node, Agent.defaultLayer)) +const scout = testEffect(Layer.mergeAll(registryLayer({ experimentalScout: true }), node, Agent.defaultLayer)) afterEach(async () => { - Flag.OPENCODE_EXPERIMENTAL_SCOUT = originalExperimentalScout await disposeAllInstances() }) describe("tool.registry", () => { it.instance("hides repo research tools unless experimental", () => Effect.gen(function* () { - Flag.OPENCODE_EXPERIMENTAL_SCOUT = false const registry = yield* ToolRegistry.Service const ids = yield* registry.ids() @@ -79,9 +79,8 @@ describe("tool.registry", () => { }), ) - it.instance("shows repo research tools when experimental scout is enabled", () => + scout.instance("shows repo research tools when experimental scout is enabled", () => Effect.gen(function* () { - Flag.OPENCODE_EXPERIMENTAL_SCOUT = true const registry = yield* ToolRegistry.Service const ids = yield* registry.ids() diff --git a/packages/opencode/test/v2/plugin/provider-sdk-matching.test.ts b/packages/opencode/test/v2/plugin/provider-sdk-matching.test.ts deleted file mode 100644 index 8cd362d284..0000000000 --- a/packages/opencode/test/v2/plugin/provider-sdk-matching.test.ts +++ /dev/null @@ -1,98 +0,0 @@ -import { describe, expect } from "bun:test" -import { Effect } from "effect" -import { AlibabaPlugin } from "@opencode-ai/core/plugin/provider/alibaba" -import { AmazonBedrockPlugin } from "@opencode-ai/core/plugin/provider/amazon-bedrock" -import { AnthropicPlugin } from "@opencode-ai/core/plugin/provider/anthropic" -import { AzurePlugin } from "@opencode-ai/core/plugin/provider/azure" -import { CerebrasPlugin } from "@opencode-ai/core/plugin/provider/cerebras" -import { CoherePlugin } from "@opencode-ai/core/plugin/provider/cohere" -import { DeepInfraPlugin } from "@opencode-ai/core/plugin/provider/deepinfra" -import { GatewayPlugin } from "@opencode-ai/core/plugin/provider/gateway" -import { GithubCopilotPlugin } from "@opencode-ai/core/plugin/provider/github-copilot" -import { GooglePlugin } from "@opencode-ai/core/plugin/provider/google" -import { GoogleVertexAnthropicPlugin, GoogleVertexPlugin } from "@opencode-ai/core/plugin/provider/google-vertex" -import { GroqPlugin } from "@opencode-ai/core/plugin/provider/groq" -import { MistralPlugin } from "@opencode-ai/core/plugin/provider/mistral" -import { OpenAIPlugin } from "@opencode-ai/core/plugin/provider/openai" -import { OpenAICompatiblePlugin } from "@opencode-ai/core/plugin/provider/openai-compatible" -import { OpenRouterPlugin } from "@opencode-ai/core/plugin/provider/openrouter" -import { PerplexityPlugin } from "@opencode-ai/core/plugin/provider/perplexity" -import { TogetherAIPlugin } from "@opencode-ai/core/plugin/provider/togetherai" -import { VercelPlugin } from "@opencode-ai/core/plugin/provider/vercel" -import { VenicePlugin } from "@opencode-ai/core/plugin/provider/venice" -import { XAIPlugin } from "@opencode-ai/core/plugin/provider/xai" -import { PluginV2 } from "@opencode-ai/core/plugin" -import { it, model } from "../../../../core/test/v2/plugin/provider-helper" - -const cases = [ - { name: "AlibabaPlugin", plugin: AlibabaPlugin, providerID: "custom", package: "@ai-sdk/alibaba" }, - { - name: "AmazonBedrockPlugin", - plugin: AmazonBedrockPlugin, - providerID: "custom", - package: "@ai-sdk/amazon-bedrock", - options: { bearerToken: "token" }, - }, - { name: "AnthropicPlugin", plugin: AnthropicPlugin, providerID: "custom", package: "@ai-sdk/anthropic" }, - { name: "AzurePlugin", plugin: AzurePlugin, providerID: "custom", package: "@ai-sdk/azure" }, - { name: "CerebrasPlugin", plugin: CerebrasPlugin, providerID: "custom", package: "@ai-sdk/cerebras" }, - { name: "CoherePlugin", plugin: CoherePlugin, providerID: "custom", package: "@ai-sdk/cohere" }, - { name: "DeepInfraPlugin", plugin: DeepInfraPlugin, providerID: "custom", package: "@ai-sdk/deepinfra" }, - { name: "GatewayPlugin", plugin: GatewayPlugin, providerID: "vercel", package: "@ai-sdk/gateway" }, - { name: "GithubCopilotPlugin", plugin: GithubCopilotPlugin, providerID: "custom", package: "@ai-sdk/github-copilot" }, - { name: "GooglePlugin", plugin: GooglePlugin, providerID: "custom", package: "@ai-sdk/google" }, - { - name: "GoogleVertexPlugin", - plugin: GoogleVertexPlugin, - providerID: "custom", - package: "@ai-sdk/google-vertex", - options: { project: "project" }, - }, - { - name: "GoogleVertexAnthropicPlugin", - plugin: GoogleVertexAnthropicPlugin, - providerID: "custom", - package: "@ai-sdk/google-vertex/anthropic", - options: { project: "project" }, - }, - { name: "GroqPlugin", plugin: GroqPlugin, providerID: "custom", package: "@ai-sdk/groq" }, - { name: "MistralPlugin", plugin: MistralPlugin, providerID: "custom", package: "@ai-sdk/mistral" }, - { name: "OpenAIPlugin", plugin: OpenAIPlugin, providerID: "custom", package: "@ai-sdk/openai" }, - { - name: "OpenAICompatiblePlugin", - plugin: OpenAICompatiblePlugin, - providerID: "custom", - package: "@ai-sdk/openai-compatible", - }, - { name: "OpenRouterPlugin", plugin: OpenRouterPlugin, providerID: "custom", package: "@openrouter/ai-sdk-provider" }, - { name: "PerplexityPlugin", plugin: PerplexityPlugin, providerID: "custom", package: "@ai-sdk/perplexity" }, - { name: "TogetherAIPlugin", plugin: TogetherAIPlugin, providerID: "custom", package: "@ai-sdk/togetherai" }, - { name: "VercelPlugin", plugin: VercelPlugin, providerID: "custom", package: "@ai-sdk/vercel" }, - { name: "VenicePlugin", plugin: VenicePlugin, providerID: "custom", package: "venice-ai-sdk-provider" }, - { name: "XAIPlugin", plugin: XAIPlugin, providerID: "custom", package: "@ai-sdk/xai" }, -] - -describe("provider SDK package matching", () => { - for (const item of cases) { - it.effect(`${item.name} creates an SDK only for its package`, () => - Effect.gen(function* () { - const plugin = yield* PluginV2.Service - yield* plugin.add(item.plugin) - - const ignored = yield* plugin.trigger( - "aisdk.sdk", - { model: model(item.providerID, "model"), package: "unmatched-package", options: item.options ?? {} }, - {}, - ) - expect(ignored.sdk).toBeUndefined() - - const result = yield* plugin.trigger( - "aisdk.sdk", - { model: model(item.providerID, "model"), package: item.package, options: item.options ?? {} }, - {}, - ) - expect(result.sdk).toBeDefined() - }), - ) - } -}) diff --git a/packages/opencode/test/v2/session-message-updater.test.ts b/packages/opencode/test/v2/session-message-updater.test.ts index 180483937c..44ac031eda 100644 --- a/packages/opencode/test/v2/session-message-updater.test.ts +++ b/packages/opencode/test/v2/session-message-updater.test.ts @@ -2,8 +2,7 @@ import { expect, test } from "bun:test" import * as DateTime from "effect/DateTime" import { SessionID } from "../../src/session/schema" import { EventV2 } from "../../src/v2/event" -import { ModelV2 } from "@opencode-ai/core/model" -import { ProviderV2 } from "@opencode-ai/core/provider" +import { Modelv2 } from "../../src/v2/model" import { SessionEvent } from "../../src/v2/session-event" import { SessionMessageUpdater } from "../../src/v2/session-message-updater" @@ -19,9 +18,9 @@ test("step snapshots carry over to assistant messages", () => { timestamp: DateTime.makeUnsafe(1), agent: "build", model: { - id: ModelV2.ID.make("model"), - providerID: ProviderV2.ID.make("provider"), - variant: ModelV2.VariantID.make("default"), + id: Modelv2.ID.make("model"), + providerID: Modelv2.ProviderID.make("provider"), + variant: Modelv2.VariantID.make("default"), }, snapshot: "before", }, @@ -63,9 +62,9 @@ test("text ended populates assistant text content", () => { timestamp: DateTime.makeUnsafe(1), agent: "build", model: { - id: ModelV2.ID.make("model"), - providerID: ProviderV2.ID.make("provider"), - variant: ModelV2.VariantID.make("default"), + id: Modelv2.ID.make("model"), + providerID: Modelv2.ProviderID.make("provider"), + variant: Modelv2.VariantID.make("default"), }, }, } satisfies SessionEvent.Event) @@ -107,9 +106,9 @@ test("tool completion stores completed timestamp", () => { timestamp: DateTime.makeUnsafe(1), agent: "build", model: { - id: ModelV2.ID.make("model"), - providerID: ProviderV2.ID.make("provider"), - variant: ModelV2.VariantID.make("default"), + id: Modelv2.ID.make("model"), + providerID: Modelv2.ProviderID.make("provider"), + variant: Modelv2.VariantID.make("default"), }, }, } satisfies SessionEvent.Event)