diff --git a/package.json b/package.json index cb013bfc0b2..95ce5abd3cf 100644 --- a/package.json +++ b/package.json @@ -25,6 +25,7 @@ "chutes:sync": "bun ./packages/core/script/sync-models.ts chutes", "databricks:generate": "bun ./packages/core/script/generate-databricks.ts", "helicone:generate": "bun ./packages/core/script/generate-helicone.ts", + "cloudflare-ai-gateway:generate": "bun ./packages/core/script/generate-cloudflare-ai-gateway.ts", "huggingface:sync": "bun ./packages/core/script/sync-models.ts huggingface", "kilo:sync": "bun ./packages/core/script/sync-models.ts kilo", "llmgateway:sync": "bun ./packages/core/script/sync-models.ts llmgateway", diff --git a/packages/core/script/generate-cloudflare-ai-gateway.ts b/packages/core/script/generate-cloudflare-ai-gateway.ts new file mode 100644 index 00000000000..f44c36e38c9 --- /dev/null +++ b/packages/core/script/generate-cloudflare-ai-gateway.ts @@ -0,0 +1,417 @@ +#!/usr/bin/env bun +// +// Regenerate the cloudflare-ai-gateway provider model TOMLs from Cloudflare's own sources, +// with human curation reduced to providers/cloudflare-ai-gateway/curation.toml. +// +// Scope: proxied third-party models only (anthropic, openai, google, xai, alibaba, deepseek, +// moonshotai, …). Cloudflare's own Workers AI (@cf/...) models are a different pathway — hosted +// on Cloudflare, CF-token auth, model agreements — and live in their own provider, +// providers/cloudflare-workers-ai, so they are deliberately not mirrored here. +// +// Source of truth (live): +// - GET /accounts/{id}/ai/catalog/models — canonical dotted model_id, name, description, +// context_length, max_output_tokens, and pricing (flat or context-tiered). +// +// curation.toml holds only what that source cannot express: structured_output (a quality +// judgement — Cloudflare advertises response_format broadly but several models do not honour +// it), reasoning_options (the catalog has no reasoning schema), limit divergences, and a skip +// list for catalog ids with no lab file (or not reachable via unified billing). +// +// Env: CLOUDFLARE_API_TOKEN, CLOUDFLARE_ACCOUNT_ID +// CF_AIG_FIXTURE_DIR (optional) — read cached catalog* JSON instead of the network. +// +// Usage: +// CLOUDFLARE_API_TOKEN=… CLOUDFLARE_ACCOUNT_ID=… bun run cloudflare-ai-gateway:generate +// bun run cloudflare-ai-gateway:generate --check # fail if the tree would change + +import path from "node:path"; +import { readdirSync, readFileSync, statSync, existsSync, rmSync } from "node:fs"; +import { z } from "zod"; +import { formatToml } from "../src/sync/index.ts"; + +const PROVIDER_DIR = path.join( + import.meta.dirname, "..", "..", "..", "providers", "cloudflare-ai-gateway", +); +const MODELS_DIR = path.join(PROVIDER_DIR, "models"); +const MODELS_ROOT = path.join(import.meta.dirname, "..", "..", "..", "models"); +const CURATION_PATH = path.join(PROVIDER_DIR, "curation.toml"); + +const TEXT_GENERATION = "Text Generation"; + +// Proxied providers that Cloudflare fronts with a *native* passthrough route rather than the +// gateway's generic OpenAI-compatible transform: Anthropic keeps the Messages API, OpenAI keeps +// the Responses API. Advertise each model's native SDK so consumers route to the endpoint that +// serves it best instead of falling back to the provider default (ai-gateway-provider). Other +// third-party providers Cloudflare only exposes over the compat route inherit that default. +// https://developers.cloudflare.com/ai-gateway/usage/providers/anthropic/ +// https://developers.cloudflare.com/ai-gateway/usage/providers/openai/ +const NATIVE_NPM: Record = { + anthropic: "@ai-sdk/anthropic", + openai: "@ai-sdk/openai", +}; +function nativeNpm(id: string): string | undefined { + return NATIVE_NPM[id.split("/")[0]!]; +} + +// --------------------------------------------------------------------------- +// curation.toml schema +// --------------------------------------------------------------------------- +const ReasoningOption = z.record(z.any()); +const CuratedModel = z + .object({ + base_model: z.string().min(1).optional(), + structured_output: z.boolean().optional(), + reasoning_options: z.array(ReasoningOption).optional(), + limit: z.record(z.number()).optional(), + interleaved: z + .union([z.literal(true), z.object({ field: z.enum(["reasoning_content", "reasoning_details"]) }).strict()]) + .optional(), + // Leading `#` comment lines, e.g. a toggle/effort wire-path note (AGENTS.md requires one + // for every `toggle` reasoning option) or a source citation. Rendered verbatim above the + // generated fields so hand-verified host behavior survives every regeneration. + note: z.array(z.string()).optional(), + }) + .strict(); + +const Curation = z + .object({ + skip: z.array(z.string()).default([]), + models: z.record(CuratedModel).default({}), + }) + .strict(); + +// --------------------------------------------------------------------------- +// Fetch (with fixture fallback) +// --------------------------------------------------------------------------- +async function fetchAllPages(url: string, token: string, perPage: number) { + const out: any[] = []; + for (let page = 1; page < 50; page++) { + const res = await fetch(`${url}?page=${page}&per_page=${perPage}`, { + headers: { Authorization: `Bearer ${token}` }, + }); + if (!res.ok) throw new Error(`Fetch failed ${res.status} ${res.statusText} for ${url}`); + const json: any = await res.json(); + out.push(...(json.result ?? [])); + const total = json.result_info?.total_count ?? out.length; + if (out.length >= total || (json.result ?? []).length === 0) break; + } + return out; +} + +// Fetch with retry on 429/5xx. raw.githubusercontent.com rate-limits bursts, so honour +// Retry-After when present and otherwise back off exponentially. Returns the Response; +// callers decide how to treat a final !ok (throw vs. tolerate). +async function fetchWithRetry(url: string, init?: RequestInit, tries = 5): Promise { + let delay = 500; + for (let attempt = 1; ; attempt++) { + const res = await fetch(url, init); + if (res.ok || (res.status !== 429 && res.status < 500) || attempt >= tries) return res; + const retryAfter = Number(res.headers.get("retry-after")); + const wait = Number.isFinite(retryAfter) && retryAfter > 0 ? retryAfter * 1000 : delay; + await new Promise((r) => setTimeout(r, wait)); + delay = Math.min(delay * 2, 8000); + } +} + +// Run async tasks with bounded concurrency to avoid tripping rate limits. +async function mapLimit(items: T[], limit: number, fn: (item: T) => Promise): Promise { + const results = new Array(items.length); + let next = 0; + const workers = Array.from({ length: Math.min(limit, items.length) }, async () => { + while (true) { + const i = next++; + if (i >= items.length) break; + results[i] = await fn(items[i]!); + } + }); + await Promise.all(workers); + return results; +} + +// Load rows from every fixture file whose name starts with prefix, de-duplicated by their +// catalog model_id. Dedup guards against overlapping snapshot files inflating the model set. +function loadFixtureRows(dir: string, prefix: string): any[] { + const byId = new Map(); + for (const f of readdirSync(dir).filter((f) => f.startsWith(prefix) && f.endsWith(".json"))) { + for (const row of JSON.parse(readFileSync(path.join(dir, f), "utf8")).result ?? []) { + const key = row.model_id ?? row.name ?? JSON.stringify(row); + byId.set(key, row); + } + } + return [...byId.values()]; +} + +async function loadProxied() { + const fixtureDir = process.env.CF_AIG_FIXTURE_DIR; + if (fixtureDir) return loadFixtureRows(fixtureDir, "catalog"); + const token = process.env.CLOUDFLARE_API_TOKEN; + const account = process.env.CLOUDFLARE_ACCOUNT_ID; + if (!token || !account) { + throw new Error( + "Set CLOUDFLARE_API_TOKEN + CLOUDFLARE_ACCOUNT_ID (or CF_AIG_FIXTURE_DIR for offline runs).", + ); + } + const base = `https://api.cloudflare.com/client/v4/accounts/${account}/ai`; + return fetchAllPages(`${base}/catalog/models`, token, 50); +} + +// Load the per-model catalog schema for a proxied model. The list endpoint omits `schema`; +// the single-model schema endpoint returns schema.input, from which reasoning_options are +// derivable for OpenAI-compatible providers (xai, alibaba, openai). Providers whose schema +// is their native shape (google, anthropic, deepseek, moonshotai) return no reasoning +// property — those fall back to curation.toml. Returns schema.input or undefined. +async function loadCatalogSchemaInput(id: string): Promise { + const fixtureDir = process.env.CF_AIG_FIXTURE_DIR; + if (fixtureDir) { + const p = path.join(fixtureDir, "schema", `${id.replace(/\//g, "_")}.json`); + if (!existsSync(p)) return undefined; // schema is optional per-model + return JSON.parse(readFileSync(p, "utf8")).result?.schema?.input; + } + const token = process.env.CLOUDFLARE_API_TOKEN!; + const account = process.env.CLOUDFLARE_ACCOUNT_ID!; + const res = await fetchWithRetry( + `https://api.cloudflare.com/client/v4/accounts/${account}/ai/catalog/models/${id}/schema`, + { headers: { Authorization: `Bearer ${token}` } }, + ); + if (!res.ok) return undefined; // treat missing schema as "not derivable" + return ((await res.json()) as any).result?.schema?.input; +} + +// Read the `reasoning` flag from a base lab file (models/.toml). A base model that +// declares reasoning=true MUST carry reasoning_options in the provider file (schema validates +// this), so we hard-fail when neither the catalog schema nor curation can supply them. +function baseReasoning(base: string): boolean { + const p = path.join(MODELS_ROOT, `${base}.toml`); + if (!existsSync(p)) return false; + return (Bun.TOML.parse(readFileSync(p, "utf8")) as any).reasoning === true; +} + +// --------------------------------------------------------------------------- +// Pricing → cost +// --------------------------------------------------------------------------- +const FLAT_KEYS: Record = { + "Input tokens (per 1M)": "input", + "Output tokens (per 1M)": "output", + "Cached input tokens (per 1M)": "cache_read", + "Cache creation tokens (per 1M)": "cache_write", +}; +const TIER_RE = /^(Input|Output|Cached input)\s*(<=?|>=?)\s*(\d+)k\s*\(per 1M\)$/; +const TIER_FIELD: Record = { + Input: "input", + Output: "output", + "Cached input": "cache_read", +}; + +function proxiedCost(pricing: Record, id: string, warnings: string[]) { + const base: Record = {}; + for (const [key, value] of Object.entries(pricing)) { + if (FLAT_KEYS[key]) { + base[FLAT_KEYS[key]] = value; + continue; + } + const m = key.match(TIER_RE); + if (m) { + const [, label, op] = m; + const field = TIER_FIELD[label!]!; + // Cloudflare AI Gateway entries don't carry tiered pricing (unsupported here). Fold the + // lower/default-context band (op "<") into the flat rate and drop the higher-context bands. + if (op!.startsWith("<")) base[field] = value; + continue; + } + warnings.push(`${id}: unmapped pricing key "${key}"`); + } + return { ...base }; +} + +// Derive reasoning_options from a docs schema.input by walking every named property. +function deriveReasoningOptions(schemaInput: unknown): Array> { + let hasToggle = false; + let effortValues: string[] | undefined; + + const visit = (node: unknown) => { + if (Array.isArray(node)) { + node.forEach(visit); + return; + } + if (!node || typeof node !== "object") return; + for (const [key, value] of Object.entries(node as Record)) { + if (key === "properties" && value && typeof value === "object") { + for (const [propName, propSchema] of Object.entries(value as Record)) { + if (propName === "enable_thinking" || propName === "thinking") hasToggle = true; + if (propName === "effort" || propName === "reasoning_effort") { + let enumVals: string[] | undefined = propSchema?.enum; + if (!enumVals) { + for (const branch of [...(propSchema?.anyOf ?? []), ...(propSchema?.oneOf ?? [])]) { + if (Array.isArray(branch?.enum)) enumVals = branch.enum; + } + } + if (enumVals) effortValues = enumVals; + } + visit(propSchema); + } + } else { + visit(value); + } + } + }; + visit(schemaInput); + + const opts: Array> = []; + if (hasToggle) opts.push({ type: "toggle" }); + if (effortValues) opts.push({ type: "effort", values: effortValues }); + return opts; +} + +// Prepend curated leading `#` comment lines (a toggle/effort wire-path note, a source +// citation, etc.) above the generated content. AGENTS.md requires one for every `toggle` +// reasoning option since sync strips mid-file comments on every regeneration. +function withNote(note: string[] | undefined, content: string): string { + if (!note || note.length === 0) return content; + return `${note.map((line) => `# ${line}`).join("\n")}\n\n${content}`; +} + +// --------------------------------------------------------------------------- +// base_model resolution +// --------------------------------------------------------------------------- +function labFileExists(id: string): boolean { + return existsSync(path.join(MODELS_ROOT, `${id}.toml`)); +} +function autoResolveBase(catalogId: string): string | null { + if (labFileExists(catalogId)) return catalogId; + const dashed = catalogId.replace(/\./g, "-"); + if (labFileExists(dashed)) return dashed; + return null; +} + +// --------------------------------------------------------------------------- +// Main +// --------------------------------------------------------------------------- +function walkToml(dir: string): string[] { + if (!existsSync(dir)) return []; + return readdirSync(dir).flatMap((e) => { + const p = path.join(dir, e); + return statSync(p).isDirectory() ? walkToml(p) : p.endsWith(".toml") ? [p] : []; + }); +} + +async function main() { + const check = process.argv.includes("--check"); + + const parsed = Curation.safeParse(Bun.TOML.parse(readFileSync(CURATION_PATH, "utf8"))); + if (!parsed.success) { + console.error("Invalid curation.toml:", parsed.error.issues); + process.exit(1); + } + const curation = parsed.data; + const skip = new Set(curation.skip); + const errors: string[] = []; + const warnings: string[] = []; + + const proxied = await loadProxied(); + const proxiedTextGen = proxied.filter((m) => m.task === TEXT_GENERATION); + + const wanted = new Map(); // absolute path -> content + + // Fetch per-model schemas up front for the proxied models we'll actually emit, with bounded + // concurrency so the catalog/docs endpoints don't rate-limit us. + const proxiedEmit = proxiedTextGen.filter((m) => !skip.has(m.model_id)); + const schemaInputs = new Map(); + await mapLimit(proxiedEmit, 6, async (m) => { + schemaInputs.set(m.model_id, await loadCatalogSchemaInput(m.model_id)); + }); + + // --- proxied models --- + for (const m of proxiedTextGen) { + const id: string = m.model_id; + if (skip.has(id)) continue; + const cur = curation.models[id] ?? {}; + const base = cur.base_model ?? autoResolveBase(id); + if (!base) { + errors.push(`proxied ${id}: no lab file and no curation base_model (add to skip or map it)`); + continue; + } + // name/description are inherited from base_model (models.dev's canonical copy); + // the catalog only carries Cloudflare's own casing/marketing variants. + const model: Record = { base_model: base }; + if (cur.structured_output !== undefined) model.structured_output = cur.structured_output; + if (cur.interleaved !== undefined) model.interleaved = cur.interleaved; + + // reasoning_options: only meaningful when the base actually reasons. The catalog schema + // advertises reasoning_effort for some non-reasoning models (gpt-4.1, gpt-4o) — schema + // acceptance is not capability, so gate on the base's reasoning flag. When the base does + // reason, prefer the per-model catalog schema, then curation, and fail loudly if neither + // supplies a shape (the schema requires reasoning_options whenever reasoning=true). + if (baseReasoning(base)) { + const derivedRo = deriveReasoningOptions(schemaInputs.get(id)); + if (cur.reasoning_options !== undefined) model.reasoning_options = cur.reasoning_options; + else if (derivedRo.length > 0) model.reasoning_options = derivedRo; + else { + errors.push( + `proxied ${id}: base ${base} has reasoning=true but no reasoning_options ` + + `(catalog schema exposes none; add reasoning_options to curation.toml)`, + ); + continue; + } + } + + const cost = proxiedCost(m.pricing ?? {}, id, warnings); + if (Object.keys(cost).length === 0) errors.push(`proxied ${id}: catalog pricing empty`); + model.cost = cost; + + // limit.output: the catalog's max_output_tokens is not a reliable ceiling — verified wrong + // against lab/first-party for gpt-5, gpt-5.5, and claude-haiku-4.5 (all understated by + // 4-8x). Only context_length has checked out, so that's all we auto-derive; output is + // either curated explicitly or left to inherit from base_model. + const limit: Record = {}; + if (m.context_length != null) limit.context = m.context_length; + if (cur.limit) Object.assign(limit, cur.limit); // curation overrides/adds (e.g. served output) + if (Object.keys(limit).length) model.limit = limit; + + const npm = nativeNpm(id); + if (npm) model.provider = { npm }; + + wanted.set(path.join(MODELS_DIR, `${id}.toml`), withNote(cur.note, formatToml(model as any))); + } + + // Guards: a curation model id that no longer appears in the live feed (warn only). + const liveIds = new Set(proxiedTextGen.map((m) => m.model_id)); + for (const id of Object.keys(curation.models)) { + if (!liveIds.has(id)) warnings.push(`curation id not in live feed: ${id}`); + } + + if (errors.length > 0) { + console.error("Errors:\n" + errors.map((e) => ` - ${e}`).join("\n")); + process.exit(1); + } + for (const w of warnings) console.warn(`warning: ${w}`); + + const existing = new Set(walkToml(MODELS_DIR)); + const wantedPaths = new Set(wanted.keys()); + const toRemove = [...existing].filter((p) => !wantedPaths.has(p)); + + if (check) { + let changed = 0; + for (const [p, content] of wanted) { + const cur = existing.has(p) ? readFileSync(p, "utf8") : undefined; + if (cur !== content) { console.error(`would change: ${path.relative(MODELS_DIR, p)}`); changed++; } + } + for (const p of toRemove) { console.error(`would remove: ${path.relative(MODELS_DIR, p)}`); changed++; } + if (changed > 0) { console.error(`--check: ${changed} file(s) out of date`); process.exit(1); } + console.log("--check: up to date"); + return; + } + + let changed = 0; + for (const [p, content] of wanted) { + const cur = existing.has(p) ? readFileSync(p, "utf8") : undefined; + if (cur !== content) { await Bun.write(p, content); changed++; } + } + for (const p of toRemove) { rmSync(p); changed++; } + + console.log( + `cloudflare-ai-gateway: ${wanted.size} proxied model(s) ` + + `(${changed} written/removed, ${skip.size} skipped, ${warnings.length} warning(s)).`, + ); +} + +await main(); diff --git a/providers/cloudflare-ai-gateway/README.md b/providers/cloudflare-ai-gateway/README.md index 06d13eee891..c12b859de6a 100644 --- a/providers/cloudflare-ai-gateway/README.md +++ b/providers/cloudflare-ai-gateway/README.md @@ -1,255 +1,123 @@ # Cloudflare AI Gateway Provider -This provider enables model management for Cloudflare AI Gateway, which acts as a unified proxy for multiple AI providers (OpenAI, Anthropic, Workers AI, Replicate, etc.). +Cloudflare AI Gateway relays third-party labs (Anthropic, OpenAI, Google, xAI, Alibaba, +DeepSeek, Moonshot, …) through a single endpoint. This provider's model files are **derived** +from Cloudflare's own live catalog, with human curation reduced to the few things the catalog +can't express. -## Overview +**Scope: proxied third-party models only.** Cloudflare's own Workers AI (`@cf/...`) models are +a different pathway — hosted on Cloudflare, CF-token auth, per-model agreements — and live in +their own provider, [`cloudflare-workers-ai`](../cloudflare-workers-ai/). They are deliberately +not mirrored here. -Cloudflare AI Gateway provides a compatibility layer that allows you to access models from various providers through a single endpoint. This provider automatically fetches available models from the Cloudflare API and generates TOML configuration files for use in the models.dev system. +## How it works -## Directory Structure - -``` -cloudflare-ai-gateway/ -├── data/ -│ ├── api_response.json # Cached API response from Cloudflare -│ └── model_names.json # Human-readable name mappings -├── models/ # Generated TOML files -│ ├── anthropic/ -│ ├── openai/ -│ ├── replicate/ -│ └── workers-ai/ -├── scripts/ -│ ├── 01_fetch_model_data.sh # Fetches models from Cloudflare API -│ ├── 02_generate_model_names.sh # Updates model name mappings -│ ├── 03_generate_model_toml.sh # Generates TOML files -│ └── utils.sh # Shared utility functions -├── provider.toml # Provider configuration -└── README.md # This file -``` - -## How It Works - -### 1. Model Fetching (01_fetch_model_data.sh) - -This script fetches the list of available models from the Cloudflare AI Gateway API: - -- **API Endpoint**: `https://gateway.ai.cloudflare.com/v1/{ACCOUNT_ID}/{GATEWAY_ID}/compat/models` -- **Authentication**: Uses `CLOUDFLARE_API_TOKEN` for authorization -- **Output**: Saves the API response to `data/api_response.json` - -The API returns model data including: -- Model ID (e.g., `openai/gpt-4o`, `anthropic/claude-3.5-sonnet`) -- Cost per token (input and output) -- Creation timestamp -- Other metadata - -### 2. Model Name Generation (02_generate_model_names.sh) - -This script manages the `data/model_names.json` file, which maps model IDs to human-readable names: - -- Reads from `data/api_response.json` -- Adds new model IDs to `model_names.json` (if not already present) -- Preserves existing name mappings -- Filters models based on configuration in `utils.sh` - -**Model Filtering**: -- Includes ALL models from: `workers-ai`, `replicate` -- Includes ONLY well-known models from: `openai`, `anthropic` -- Skips namespaces: `replicate/replicate-internal` -- Skips specific models: `aura-1`, `whisper` - -### 3. TOML Generation (03_generate_model_toml.sh) - -This script generates TOML configuration files for each model: - -**Two Generation Strategies**: - -1. **Cross-referencing** (for OpenAI and Anthropic): - - Copies TOML files from the source provider directories - - Maps Cloudflare model names to canonical provider names - - Example: `anthropic/claude-3.5-sonnet` → `../../anthropic/models/claude-3-5-sonnet-20241022.toml` - -2. **Auto-generation** (for Workers AI and Replicate): - - Generates TOML files with default values - - Uses cost and metadata from the API response - - Converts cost per token → cost per million tokens - - Sets default capabilities (context length, modalities, etc.) - -**Generated TOML Structure**: -```toml -name = "Model Name" -release_date = "2024-01-01" -last_updated = "2024-01-01" -attachment = false -reasoning = false -temperature = true -tool_call = false -open_weights = false - -[cost] -input = 0.15 # USD per 1M input tokens -output = 0.60 # USD per 1M output tokens - -[limit] -context = 128000 # Max context tokens -output = 16384 # Max output tokens - -[modalities] -input = ["text"] -output = ["text"] -``` - -### 4. Utilities (utils.sh) - -Shared configuration and helper functions: - -**Configuration**: -- `INCLUDE_ALL_PROVIDERS`: Providers to include all models from -- `CROSS_REFERENCE_PROVIDERS`: Providers to copy from source directories -- `WELL_KNOWN_MODELS`: Regex patterns for specific models to include -- `SKIP_NAMESPACES`: Namespaces to exclude -- `SKIP_MODELS`: Specific models to exclude - -**Helper Functions**: -- `should_include_model()`: Determines if a model should be included -- `get_mapped_name()`: Maps Cloudflare names to source provider names -- `find_source_file()`: Locates source TOML files for cross-referencing - -## Usage - -### Prerequisites - -- Cloudflare account with AI Gateway configured -- Required environment variables: - - `CLOUDFLARE_API_TOKEN`: Your Cloudflare API token - - `CLOUDFLARE_ACCOUNT_ID`: Your Cloudflare account ID - - `CLOUDFLARE_GATEWAY_ID`: Your AI Gateway name/ID - -### Running the Scripts - -Run scripts individually or in sequence: +One command regenerates every model TOML: ```bash -# Step 1: Fetch model data from Cloudflare API -cd scripts -CLOUDFLARE_API_TOKEN=xxx \ -CLOUDFLARE_ACCOUNT_ID=xxx \ -CLOUDFLARE_GATEWAY_ID=xxx \ -./01_fetch_model_data.sh - -# Step 2: Update model name mappings -./02_generate_model_names.sh - -# Step 3: Generate TOML files -./03_generate_model_toml.sh +CLOUDFLARE_API_TOKEN=xxx CLOUDFLARE_ACCOUNT_ID=xxx bun run cloudflare-ai-gateway:generate ``` -### Configuration +It reads two live Cloudflare sources plus one local curation file: -Edit `scripts/utils.sh` to customize: +- **Proxied catalog** — `GET /accounts/{id}/ai/catalog/models`. The source of truth: one + canonical (dotted) `model_id` per model, description, context/output limits, and pricing. + This is why ids look like `anthropic/claude-haiku-4.5`, not `claude-haiku-4-5`. +- **Per-model catalog schema** — `GET /accounts/{id}/ai/catalog/models/{id}/schema`. Used to + derive `reasoning_options` for providers whose schema is OpenAI-compatible (xAI, Alibaba, + OpenAI). Native-format providers (Google, Anthropic, DeepSeek, Moonshot) don't expose the + knob here — those fall back to curation (see below). -1. **Add a provider to include all models**: -```bash -INCLUDE_ALL_PROVIDERS="workers-ai replicate my-new-provider" -``` +Everything the generator can read is derived: `cost`, `limit.context`, and `reasoning_options`. +`name` and `description` are intentionally **not** written — they inherit from `base_model` +(models.dev's canonical copy), since the catalog only carries Cloudflare's own casing and +marketing copy. Anthropic/OpenAI also get a `[provider] npm` pointing at their native SDK so +consumers route to the Messages/Responses endpoint rather than the generic compat transform. -2. **Add a well-known model**: -```bash -WELL_KNOWN_MODELS=( - # ... existing patterns ... - "openai/gpt-5$" -) -``` +The generator emits override-only `base_model` stubs (see the repo `AGENTS.md`): the lab +metadata lives under `models//`, and each provider file only records real deltas. -3. **Skip a namespace**: -```bash -SKIP_NAMESPACES="replicate/replicate-internal my-provider/internal" -``` +### `--check` -4. **Cross-reference a provider**: ```bash -CROSS_REFERENCE_PROVIDERS="openai anthropic google" -``` - -### Model Name Mappings - -Edit `data/model_names.json` to provide human-readable names: - -```json -{ - "workers-ai/llama-3-8b-instruct": "Llama 3 8B Instruct", - "openai/gpt-4o": "GPT-4o", - "anthropic/claude-3.5-sonnet": "Claude 3.5 Sonnet" -} +bun run cloudflare-ai-gateway:generate --check ``` -## Model ID Format - -Cloudflare uses BOTH dots and hyphens in model IDs (the API returns both formats): -- **OpenAI**: `openai/gpt-5.1` OR `openai/gpt-5-1`, `openai/gpt-3.5-turbo` OR `openai/gpt-3-5-turbo` -- **Anthropic**: `anthropic/claude-3.5-sonnet` OR `anthropic/claude-3-5-sonnet`, `anthropic/claude-haiku-4-5` -- **Workers AI**: `workers-ai/@cf/meta/llama-3-8b-instruct` -- **Replicate**: `replicate/meta/meta-llama-3-70b-instruct` +Exits non-zero if the committed TOMLs are out of date with the live catalog + curation. +Used in CI. -**Important**: The API returns duplicate models with different naming conventions (dots vs hyphens). The WELL_KNOWN_MODELS patterns handle both formats using `[\.-]` regex to match either a dot or hyphen. +### Offline / fixtures -**File Path Conversion**: -- Dots are preserved in filenames: `openai/gpt-5.1.toml` -- Workers AI special handling: `workers-ai/@cf/meta/llama` → `workers-ai/llama.toml` +Set `CF_AIG_FIXTURE_DIR` to a directory of cached responses to run without network access +(used in tests). It expects: -## Cross-Referencing Logic +- `catalog_*.json` — paginated `ai/catalog/models` responses +- `schema/_.json` — one per-model catalog schema response -For OpenAI and Anthropic models, the scripts map Cloudflare model IDs to canonical provider filenames: +## curation.toml -**Anthropic Mappings**: -- `claude-3.5-sonnet` → `claude-3-5-sonnet-20241022.toml` -- `claude-3.5-haiku` → `claude-3-5-haiku-latest.toml` -- `claude-3-opus` → `claude-3-opus-20240229.toml` +The only hand-authored file. It holds what the catalog cannot express, or where a live +quality judgement overrides what a schema merely advertises: -**OpenAI Mappings**: -- `gpt-5.1` → `gpt-5.1.toml` -- `gpt-3.5-turbo` → `gpt-3.5-turbo.toml` - -This ensures consistency with the canonical provider definitions while supporting Cloudflare's naming conventions. - -## Cleanup +```toml +# Catalog Text-Generation ids we intentionally don't publish: no lab file to map to, or +# not reachable via unified billing (BYOK-only). +skip = ["google/gemini-3.1-pro", "thinkingmachines/inkling", ...] + +# reasoning_options for native-format providers whose shape the catalog schema doesn't expose. +[models."alibaba/qwen3.7-plus"] +note = ["Toggle: enable_thinking true|false.", "Budget: thinking_budget (integer)."] +reasoning_options = [{ type = "toggle" }, { type = "budget_tokens" }] + +# structured_output is a live-tested judgement, not a schema claim. +[models."anthropic/claude-sonnet-4.5"] +structured_output = true +limit = { context = 1000000 } +reasoning_options = [{ type = "budget_tokens", min = 1024 }] +``` -The TOML generation script automatically: -- Removes models that are no longer in the API response -- Cleans up empty directories -- Maintains a clean models directory +### What belongs in curation vs. what's derived -## Troubleshooting +| Field | Source | +| --- | --- | +| `cost`, `limit.context` | derived (catalog) | +| `name`, `description`, `tool_call`, `attachment` | inherited from `base_model` (never written) | +| `base_model` | auto-resolved from `model_id`; curated only when the file name differs | +| `reasoning_options` | derived from the per-model `schema.input`; curated for native-format providers and always-on reasoners | +| `structured_output` | curated — a live-tested judgement (schema acceptance ≠ conformance) | +| `[provider] npm` | derived — `@ai-sdk/anthropic` / `@ai-sdk/openai` for the native-passthrough families | -**API errors**: -- Verify environment variables are set correctly -- Check API token has necessary permissions -- Ensure Gateway ID matches your Cloudflare configuration +`reasoning_options` is only written when the `base_model` declares `reasoning = true`; the +schema forbids it otherwise. When a reasoning model has no derivable and no curated shape, +the generator hard-fails rather than ship an invalid file. -**Missing models**: -- Check if the model is filtered by `utils.sh` configuration -- Review `WELL_KNOWN_MODELS` patterns -- Verify the model exists in `data/api_response.json` +### Adding a model -**Cross-referencing failures**: -- Ensure source provider directories exist (e.g., `../openai/models/`) -- Check model name mappings in `get_mapped_name()` -- Verify source TOML files exist with correct names +1. Confirm it appears in `ai/catalog/models`. +2. If its canonical lab metadata is missing, add it under `models//.toml`. +3. For a model with a matching lab file, nothing more is needed — the generator auto-resolves + `base_model`. Add a `skip` entry instead if there's no lab file to map to, or if the model + isn't reachable via unified billing. +4. If it's a reasoning model whose knob the schema doesn't expose, add `reasoning_options`. +5. Run the generator; `bun validate` must pass. -## Provider Configuration +## Provider configuration -The `provider.toml` file defines how OpenCode connects to Cloudflare AI Gateway: +`provider.toml` defines how models.dev connects to the gateway: ```toml name = "Cloudflare AI Gateway" env = ["CLOUDFLARE_API_TOKEN", "CLOUDFLARE_ACCOUNT_ID", "CLOUDFLARE_GATEWAY_ID"] -npm = "@ai-sdk/openai-compatible" -api = "https://gateway.ai.cloudflare.com/v1/${CLOUDFLARE_ACCOUNT_ID}/${CLOUDFLARE_GATEWAY_ID}/compat/" +npm = "ai-gateway-provider" doc = "https://developers.cloudflare.com/ai-gateway/" ``` -## Additional Resources +It is hand-authored and not touched by the generator. + +## Known limitations -- [Cloudflare AI Gateway Documentation](https://developers.cloudflare.com/ai-gateway/) -- [OpenAI Compatibility API](https://developers.cloudflare.com/ai-gateway/providers/openai/) -- [Vercel AI SDK](https://sdk.vercel.ai/) +- `reasoning_options` for native-format providers (Google, Anthropic, DeepSeek, Moonshot) + can't be derived from Cloudflare's schema and must be curated. New reasoning models from + these providers hard-fail until their knob is added to `curation.toml`. +- `structured_output` requires a live conformance test when adding a model; the schema + advertises `response_format` even for models that don't honour it. diff --git a/providers/cloudflare-ai-gateway/curation.toml b/providers/cloudflare-ai-gateway/curation.toml new file mode 100644 index 00000000000..8772ea87336 --- /dev/null +++ b/providers/cloudflare-ai-gateway/curation.toml @@ -0,0 +1,195 @@ +# Cloudflare AI Gateway - human curation layer (proxied third-party models only). +# +# The generator derives id, name, description, cost, and limit.context from the Cloudflare +# catalog. This file holds only what the catalog cannot express: +# - base_model: any proxied id whose canonical file name differs from its catalog id. +# - structured_output: a quality judgement. Cloudflare advertises response_format for +# nearly every model, but several do not honour it, so this stays hand-set. +# - reasoning_options: the catalog has no reasoning schema, so reasoning shapes are curated. +# - interleaved: whether a wire returns reasoning content as a separate field. Never +# inheritable from base_model (this deployment's wire format can differ from the lab's). +# - limit.output: the catalog's max_output_tokens is not a reliable ceiling (verified wrong +# against lab/first-party for several models), so output is hand-curated; only +# limit.context is auto-derived. +# - note: leading `#` comment lines (wire-path docs, source citations) that would otherwise +# be lost on every regeneration. +# - skip: catalog ids with no lab file, or not reachable via unified billing (BYOK-only). +# Consumed by: bun run cloudflare-ai-gateway:generate + +# Proxied Text-Generation catalog ids with no lab file under models/ (cannot publish yet). +skip = [ + "google/gemini-3-flash", + "google/gemini-3.1-pro", + "xai/grok-4.20-multi-agent-0309", + "thinkingmachines/inkling-256k", + "minimax/m2.7", + "minimax/m3", + "thinkingmachines/inkling", + "google/gemini-2.5-flash-lite", + "google/gemini-2.5-flash", + "google/gemini-2.5-pro", + "google/gemini-3.1-flash-lite", + "google/gemini-3.5-flash-lite", + "google/gemini-3.5-flash", + "google/gemini-3.6-flash", + "google/gemini-3.7-flash", +] + +[models."anthropic/claude-fable-5"] +structured_output = true +reasoning_options = [{ type = "effort", values = ["low", "medium", "high", "xhigh", "max"] }] + +[models."anthropic/claude-haiku-4.5"] +structured_output = true +reasoning_options = [{ type = "budget_tokens", min = 1024 }] + +[models."anthropic/claude-opus-4.5"] +structured_output = true +reasoning_options = [{ type = "effort", values = ["low", "medium", "high"] }, { type = "budget_tokens", min = 1024 }] + +[models."anthropic/claude-opus-4.6"] +structured_output = true +reasoning_options = [{ type = "effort", values = ["low", "medium", "high", "max"] }, { type = "budget_tokens", min = 1024 }] + +[models."anthropic/claude-opus-4.7"] +structured_output = true +reasoning_options = [{ type = "effort", values = ["low", "medium", "high", "xhigh", "max"] }] + +[models."anthropic/claude-opus-4.8"] +structured_output = true +reasoning_options = [{ type = "effort", values = ["low", "medium", "high", "xhigh", "max"] }] + +[models."anthropic/claude-opus-5"] +structured_output = true +reasoning_options = [{ type = "effort", values = ["low", "medium", "high", "xhigh", "max"] }] + +[models."anthropic/claude-sonnet-4.5"] +structured_output = true +limit = { context = 1000000 } +reasoning_options = [{ type = "budget_tokens", min = 1024 }] + +[models."anthropic/claude-sonnet-4.6"] +structured_output = true +limit = { context = 1000000, output = 128000 } +reasoning_options = [{ type = "effort", values = ["low", "medium", "high", "max"] }, { type = "budget_tokens", min = 1024 }] + +[models."anthropic/claude-sonnet-5"] +structured_output = true +note = ["Toggle: thinking.type = adaptive|disabled.", "Effort: output_config.effort = low|medium|high|xhigh|max."] +reasoning_options = [{ type = "toggle" }, { type = "effort", values = ["low", "medium", "high", "xhigh", "max"] }] + +[models."openai/gpt-5"] +reasoning_options = [{ type = "effort", values = ["minimal", "low", "medium", "high"] }] + +[models."openai/gpt-5-mini"] +reasoning_options = [{ type = "effort", values = ["minimal", "low", "medium", "high"] }] + +[models."openai/gpt-5-nano"] +reasoning_options = [{ type = "effort", values = ["minimal", "low", "medium", "high"] }] + +[models."openai/gpt-5.1"] +reasoning_options = [{ type = "effort", values = ["none", "low", "medium", "high"] }] + +[models."openai/gpt-5.4"] +reasoning_options = [{ type = "effort", values = ["none", "low", "medium", "high", "xhigh"] }] + +[models."openai/gpt-5.4-mini"] +reasoning_options = [{ type = "effort", values = ["none", "low", "medium", "high", "xhigh"] }] + +[models."openai/gpt-5.4-nano"] +reasoning_options = [{ type = "effort", values = ["none", "low", "medium", "high", "xhigh"] }] + +[models."openai/gpt-5.4-pro"] +reasoning_options = [{ type = "effort", values = ["medium", "high", "xhigh"] }] + +[models."openai/gpt-5.5"] +reasoning_options = [{ type = "effort", values = ["none", "low", "medium", "high", "xhigh"] }] + +[models."openai/gpt-5.5-pro"] +reasoning_options = [{ type = "effort", values = ["medium", "high", "xhigh"] }] + +[models."openai/gpt-5.6-luna"] +reasoning_options = [{ type = "effort", values = ["none", "low", "medium", "high", "xhigh", "max"] }] + +[models."openai/gpt-5.6-sol"] +reasoning_options = [{ type = "effort", values = ["none", "low", "medium", "high", "xhigh", "max"] }] + +[models."openai/gpt-5.6-terra"] +reasoning_options = [{ type = "effort", values = ["none", "low", "medium", "high", "xhigh", "max"] }] + +[models."openai/o3"] +reasoning_options = [{ type = "effort", values = ["low", "medium", "high"] }] + +[models."openai/o3-mini"] +reasoning_options = [{ type = "effort", values = ["low", "medium", "high"] }] + +[models."openai/o4-mini"] +reasoning_options = [{ type = "effort", values = ["low", "medium", "high"] }] + +# Proxied reasoning models whose reasoning shape the Cloudflare catalog schema does not +# expose (native-format providers). Values mirror models.dev's merge-gateway provider, which +# proxies the same upstreams. Google uses thinkingConfig.thinkingBudget / thinking_level. +# +# DeepSeek: toggle-only would only be correct if AI Gateway drops the effort field on this +# route (merge-gateway's own toggle-only shape is backed by a live-tested selected-route +# comment specific to *their* relay, not evidence about Cloudflare's). Absent host-specific +# proof that Cloudflare strips it, match the lab + Workers AI baseline: toggle + high/max. +[models."deepseek/deepseek-v4-pro"] +note = ["Toggle: thinking.type = enabled|disabled.", "Effort: reasoning_effort = high|max."] +reasoning_options = [{ type = "toggle" }, { type = "effort", values = ["high", "max"] }] + +# Alibaba is a first-party lab; the catalog's OpenAI-compat schema exposes a generic +# `reasoning_effort` enum, but Alibaba's real API (see providers/alibaba/models/qwen3.7-plus.toml) +# is toggle + budget_tokens, not graded effort. Match the lab shape per AGENTS.md. +[models."alibaba/qwen3.7-plus"] +note = ["Toggle: enable_thinking true|false.", "Budget: thinking_budget (integer reasoning tokens)."] +reasoning_options = [{ type = "toggle" }, { type = "budget_tokens" }] + +[models."alibaba/qwen3.5-397b-a17b"] +note = ["Toggle: enable_thinking true|false.", "Budget: thinking_budget (integer reasoning tokens)."] +reasoning_options = [{ type = "toggle" }, { type = "budget_tokens" }] + +[models."alibaba/qwen3.7-max"] +note = ["Toggle: enable_thinking true|false.", "Budget: thinking_budget (integer reasoning tokens)."] +reasoning_options = [{ type = "toggle" }, { type = "budget_tokens" }] + +# providers/alibaba/models/qwen3.8-max.toml: hybrid toggle, low|medium|xhigh effort (high +# aliases to xhigh), and a 0..262144 budget that cannot combine with effort. +[models."alibaba/qwen3.8-max"] +note = [ + "Toggle: enable_thinking true|false (hybrid).", + "Effort: reasoning_effort = low|medium|xhigh (default xhigh); high accepted as alias -> xhigh.", + "Budget: thinking_budget (0..262144) cannot be combined with reasoning_effort.", +] +interleaved = { field = "reasoning_content" } +reasoning_options = [ + { type = "toggle" }, + { type = "effort", values = ["low", "medium", "xhigh"] }, + { type = "budget_tokens", min = 0, max = 262_144 }, +] + +# xAI Grok 4.6: the first-party API (providers/xai/models/grok-4.6.toml) includes xhigh, but +# Cloudflare's gateway route rejects it (verified live: reasoning_effort accepts only +# low|medium|high, code 7003) — a host delta, so match what the CF route actually accepts. +[models."xai/grok-4.6"] +reasoning_options = [{ type = "effort", values = ["low", "medium", "high"] }] + +# First-party xAI Grok 4.20 (Reasoning) is always-on with no caller control +# (providers/xai/models/grok-4.20-0309-reasoning.toml: reasoning_options = []). +[models."xai/grok-4.20-0309-reasoning"] +reasoning_options = [] + +[models."moonshotai/kimi-k3"] +note = [ + "API: thinking.type = enabled|disabled|adaptive; in adaptive mode the", + "reasoning depth is set by output_config.effort = low|high|max.", +] +reasoning_options = [{ type = "toggle" }, { type = "effort", values = ["low", "high", "max"] }] + +[models."thinkingmachines/inkling"] +note = [ + "Tinker's Anthropic-compatible route: thinking.type = adaptive|disabled toggles reasoning;", + "output_config.effort = low|medium|high|xhigh|max sets effort.", +] +reasoning_options = [{ type = "toggle" }, { type = "effort", values = ["low", "medium", "high", "xhigh", "max"] }] +limit = { output = 65_536 } diff --git a/providers/cloudflare-ai-gateway/data/api_response.json b/providers/cloudflare-ai-gateway/data/api_response.json deleted file mode 100644 index ed90d10f0bd..00000000000 --- a/providers/cloudflare-ai-gateway/data/api_response.json +++ /dev/null @@ -1 +0,0 @@ -{"object":"list","data":[{"id":"google-ai-studio/gemini-3-flash-preview","object":"model","created_at":1766046035,"cost_in":5e-7,"cost_out":0.000003,"owned_by":"google-ai-studio"},{"id":"google-ai-studio/gemini-3-flash-preview-20251217","object":"model","created_at":1766046035,"cost_in":5e-7,"cost_out":0.000003,"owned_by":"google-ai-studio"},{"id":"mistral/mistral-small-creative-20251216","object":"model","created_at":1766046034,"cost_in":1e-7,"cost_out":3e-7,"owned_by":"mistral"},{"id":"openrouter/google/gemini-3-flash-preview","object":"model","created_at":1766046034,"cost_in":5e-7,"cost_out":0.000003,"owned_by":"openrouter"},{"id":"openrouter/mistralai/mistral-small-creative","object":"model","created_at":1766046033,"cost_in":1e-7,"cost_out":3e-7,"owned_by":"openrouter"},{"id":"mistral/mistral-small-creative","object":"model","created_at":1766046033,"cost_in":1e-7,"cost_out":3e-7,"owned_by":"mistral"},{"id":"openai/gpt-5.2-chat-latest","object":"model","created_at":1766046032,"cost_in":0.00000175,"cost_out":0.000014,"owned_by":"openai"},{"id":"azure-openai/kimi-k2-thinking","object":"model","created_at":1766046031,"cost_in":6e-7,"cost_out":0.0000025,"owned_by":"azure-openai"},{"id":"azure-openai/deepseek-v3.2","object":"model","created_at":1766046031,"cost_in":2.8e-7,"cost_out":4.2e-7,"owned_by":"azure-openai"},{"id":"azure-openai/gpt-5.2-chat","object":"model","created_at":1766046030,"cost_in":0.00000175,"cost_out":0.000014,"owned_by":"azure-openai"},{"id":"azure-openai/deepseek-v3.2-speciale","object":"model","created_at":1766046030,"cost_in":2.8e-7,"cost_out":4.2e-7,"owned_by":"azure-openai"},{"id":"aws-bedrock/moonshot.kimi-k2-thinking","object":"model","created_at":1766046029,"cost_in":6e-7,"cost_out":0.0000025,"owned_by":"aws-bedrock"},{"id":"aws-bedrock/mistral.ministral-3-14b-instruct","object":"model","created_at":1766046028,"cost_in":2e-7,"cost_out":2e-7,"owned_by":"aws-bedrock"},{"id":"aws-bedrock/openai.gpt-oss-safeguard-120b","object":"model","created_at":1766046028,"cost_in":1.5e-7,"cost_out":6e-7,"owned_by":"aws-bedrock"},{"id":"aws-bedrock/nvidia.nemotron-nano-9b-v2","object":"model","created_at":1766046027,"cost_in":6e-8,"cost_out":2.3e-7,"owned_by":"aws-bedrock"},{"id":"aws-bedrock/mistral.mixtral-8x7b-instruct-v0:1","object":"model","created_at":1766046026,"cost_in":7e-7,"cost_out":7e-7,"owned_by":"aws-bedrock"},{"id":"aws-bedrock/amazon.titan-text-express-v1:0:8k","object":"model","created_at":1766046026,"cost_in":2e-7,"cost_out":6e-7,"owned_by":"aws-bedrock"},{"id":"aws-bedrock/mistral.mistral-7b-instruct-v0:2","object":"model","created_at":1766046025,"cost_in":1.1e-7,"cost_out":1.1e-7,"owned_by":"aws-bedrock"},{"id":"aws-bedrock/openai.gpt-oss-safeguard-20b","object":"model","created_at":1766046024,"cost_in":7e-8,"cost_out":2e-7,"owned_by":"aws-bedrock"},{"id":"aws-bedrock/openai.gpt-oss-20b-1:0","object":"model","created_at":1766046024,"cost_in":7e-8,"cost_out":3e-7,"owned_by":"aws-bedrock"},{"id":"aws-bedrock/mistral.voxtral-mini-3b-2507","object":"model","created_at":1766046023,"cost_in":4e-8,"cost_out":4e-8,"owned_by":"aws-bedrock"},{"id":"aws-bedrock/amazon.nova-2-lite-v1:0","object":"model","created_at":1766046023,"cost_in":3.3e-7,"cost_out":0.00000275,"owned_by":"aws-bedrock"},{"id":"aws-bedrock/mistral.ministral-3-8b-instruct","object":"model","created_at":1766046022,"cost_in":1.5e-7,"cost_out":1.5e-7,"owned_by":"aws-bedrock"},{"id":"aws-bedrock/openai.gpt-oss-120b-1:0","object":"model","created_at":1766046021,"cost_in":1.5e-7,"cost_out":6e-7,"owned_by":"aws-bedrock"},{"id":"aws-bedrock/mistral.voxtral-small-24b-2507","object":"model","created_at":1766046021,"cost_in":1.5e-7,"cost_out":3.5e-7,"owned_by":"aws-bedrock"},{"id":"aws-bedrock/nvidia.nemotron-nano-12b-v2","object":"model","created_at":1766046020,"cost_in":2e-7,"cost_out":6e-7,"owned_by":"aws-bedrock"},{"id":"aws-bedrock/google.gemma-3-12b-it","object":"model","created_at":1766046020,"cost_in":5e-8,"cost_out":1e-7,"owned_by":"aws-bedrock"},{"id":"aws-bedrock/google.gemma-3-27b-it","object":"model","created_at":1766046019,"cost_in":1.2e-7,"cost_out":2e-7,"owned_by":"aws-bedrock"},{"id":"aws-bedrock/qwen.qwen3-vl-235b-a22b","object":"model","created_at":1766046018,"cost_in":3e-7,"cost_out":0.0000015,"owned_by":"aws-bedrock"},{"id":"aws-bedrock/mistral.mistral-large-2402-v1:0","object":"model","created_at":1766046018,"cost_in":5e-7,"cost_out":0.0000015,"owned_by":"aws-bedrock"},{"id":"aws-bedrock/minimax.minimax-m2","object":"model","created_at":1766046017,"cost_in":3e-7,"cost_out":0.0000012,"owned_by":"aws-bedrock"},{"id":"aws-bedrock/qwen.qwen3-next-80b-a3b","object":"model","created_at":1766046017,"cost_in":1.4e-7,"cost_out":0.0000014,"owned_by":"aws-bedrock"},{"id":"aws-bedrock/google.gemma-3-4b-it","object":"model","created_at":1766046016,"cost_in":4e-8,"cost_out":8e-8,"owned_by":"aws-bedrock"},{"id":"azure-openai/gpt-5.2","object":"model","created_at":1766046015,"cost_in":0.00000175,"cost_out":0.000014,"owned_by":"azure-openai"},{"id":"openrouter/openai/gpt-5.2","object":"model","created_at":1765485979,"cost_in":0.00000175,"cost_out":0.000014,"owned_by":"openrouter"},{"id":"openai/gpt-5.2","object":"model","created_at":1765485979,"cost_in":0.00000175,"cost_out":0.000014,"owned_by":"openai"},{"id":"openai/gpt-5.2-20251211","object":"model","created_at":1765485979,"cost_in":0.00000175,"cost_out":0.000014,"owned_by":"openai"},{"id":"openai/gpt-5.2-pro","object":"model","created_at":1765485978,"cost_in":0.000021,"cost_out":0.000168,"owned_by":"openai"},{"id":"openai/gpt-5.2-pro-20251211","object":"model","created_at":1765485978,"cost_in":0.000021,"cost_out":0.000168,"owned_by":"openai"},{"id":"openai/gpt-5.2-chat","object":"model","created_at":1765485977,"cost_in":0.00000175,"cost_out":0.000014,"owned_by":"openai"},{"id":"openai/gpt-5.2-chat-20251211","object":"model","created_at":1765485977,"cost_in":0.00000175,"cost_out":0.000014,"owned_by":"openai"},{"id":"openrouter/openai/gpt-5.2-pro","object":"model","created_at":1765485977,"cost_in":0.000021,"cost_out":0.000168,"owned_by":"openrouter"},{"id":"mistral/mistral-small-2506","object":"model","created_at":1765485976,"cost_in":1e-7,"cost_out":3e-7,"owned_by":"mistral"},{"id":"openrouter/openai/gpt-5.2-chat","object":"model","created_at":1765485976,"cost_in":0.00000175,"cost_out":0.000014,"owned_by":"openrouter"},{"id":"mistral/labs-devstral-small-2512","object":"model","created_at":1765485975,"cost_in":1e-7,"cost_out":3e-7,"owned_by":"mistral"},{"id":"openrouter/mistralai/devstral-2512","object":"model","created_at":1765485975,"cost_in":1.5e-7,"cost_out":6e-7,"owned_by":"openrouter"},{"id":"mistral/devstral-2512","object":"model","created_at":1765485975,"cost_in":1.5e-7,"cost_out":6e-7,"owned_by":"mistral"},{"id":"mistral/devstral-medium-latest","object":"model","created_at":1765485974,"cost_in":4e-7,"cost_out":0.000002,"owned_by":"mistral"},{"id":"grok/grok-4-1-fast-reasoning-latest","object":"model","created_at":1765280191,"cost_in":2e-7,"cost_out":5e-7,"owned_by":"grok"},{"id":"grok/grok-4-1-fast-reasoning","object":"model","created_at":1765280190,"cost_in":2e-7,"cost_out":5e-7,"owned_by":"grok"},{"id":"grok/grok-4-fast-reasoning-latest","object":"model","created_at":1765280189,"cost_in":2e-7,"cost_out":5e-7,"owned_by":"grok"},{"id":"azure-openai/gpt-5.1-codex-max","object":"model","created_at":1765277063,"cost_in":0.00000125,"cost_out":0.00001,"owned_by":"azure-openai"},{"id":"azure-openai/gpt-5.1-chat-2025-11-13","object":"model","created_at":1765277062,"cost_in":0.00000125,"cost_out":0.00001,"owned_by":"azure-openai"},{"id":"openrouter/z-ai/glm-4.6v","object":"model","created_at":1765277061,"cost_in":3e-7,"cost_out":9e-7,"owned_by":"openrouter"},{"id":"grok/grok-4-fast-reasoning","object":"model","created_at":1765277061,"cost_in":2e-7,"cost_out":5e-7,"owned_by":"grok"},{"id":"openrouter/relace/relace-search","object":"model","created_at":1765277060,"cost_in":0.000001,"cost_out":0.000003,"owned_by":"openrouter"},{"id":"azure-openai/gpt-5-pro","object":"model","created_at":1765277059,"cost_in":0.000015,"cost_out":0.00012,"owned_by":"azure-openai"},{"id":"openrouter/essentialai/rnj-1-instruct","object":"model","created_at":1765277059,"cost_in":1.5e-7,"cost_out":1.5e-7,"owned_by":"openrouter"},{"id":"openrouter/openai/gpt-5.1-codex-max","object":"model","created_at":1765277058,"cost_in":0.00000125,"cost_out":0.00001,"owned_by":"openrouter"},{"id":"openai/gpt-5.1-codex-max-20251204","object":"model","created_at":1765277058,"cost_in":0.00000125,"cost_out":0.00001,"owned_by":"openai"},{"id":"openai/gpt-5.1-codex-max","object":"model","created_at":1765277057,"cost_in":0.00000125,"cost_out":0.00001,"owned_by":"openai"},{"id":"openrouter/mistralai/ministral-3b-2512","object":"model","created_at":1765277056,"cost_in":1e-7,"cost_out":1e-7,"owned_by":"openrouter"},{"id":"mistral/ministral-3b-2512","object":"model","created_at":1765277056,"cost_in":1e-7,"cost_out":1e-7,"owned_by":"mistral"},{"id":"openrouter/mistralai/ministral-8b-2512","object":"model","created_at":1765277055,"cost_in":1.5e-7,"cost_out":1.5e-7,"owned_by":"openrouter"},{"id":"mistral/ministral-8b-2512","object":"model","created_at":1765277055,"cost_in":1.5e-7,"cost_out":1.5e-7,"owned_by":"mistral"},{"id":"mistral/ministral-14b-2512","object":"model","created_at":1765277054,"cost_in":2e-7,"cost_out":2e-7,"owned_by":"mistral"},{"id":"openrouter/amazon/nova-2-lite-v1","object":"model","created_at":1765277053,"cost_in":3e-7,"cost_out":0.0000025,"owned_by":"openrouter"},{"id":"openrouter/mistralai/ministral-14b-2512","object":"model","created_at":1765277053,"cost_in":2e-7,"cost_out":2e-7,"owned_by":"openrouter"},{"id":"mistral/mistral-large-2512","object":"model","created_at":1765277052,"cost_in":5e-7,"cost_out":0.0000015,"owned_by":"mistral"},{"id":"openrouter/arcee-ai/trinity-mini","object":"model","created_at":1765277051,"cost_in":4.5e-8,"cost_out":1.5e-7,"owned_by":"openrouter"},{"id":"openrouter/mistralai/mistral-large-2512","object":"model","created_at":1765277051,"cost_in":5e-7,"cost_out":0.0000015,"owned_by":"openrouter"},{"id":"deepseek/deepseek-v3.2","object":"model","created_at":1765277050,"cost_in":2.6e-7,"cost_out":3.8e-7,"owned_by":"deepseek"},{"id":"deepseek/deepseek-v3.2-20251201","object":"model","created_at":1765277050,"cost_in":2.6e-7,"cost_out":3.8e-7,"owned_by":"deepseek"},{"id":"openrouter/deepseek/deepseek-v3.2","object":"model","created_at":1765277049,"cost_in":2.6e-7,"cost_out":3.8e-7,"owned_by":"openrouter"},{"id":"deepseek/deepseek-v3.2-speciale","object":"model","created_at":1765277048,"cost_in":2.7e-7,"cost_out":4.1e-7,"owned_by":"deepseek"},{"id":"deepseek/deepseek-v3.2-speciale-20251201","object":"model","created_at":1765277048,"cost_in":2.7e-7,"cost_out":4.1e-7,"owned_by":"deepseek"},{"id":"openrouter/deepseek/deepseek-v3.2-speciale","object":"model","created_at":1765277047,"cost_in":2.7e-7,"cost_out":4.1e-7,"owned_by":"openrouter"},{"id":"azure-openai/phi-4-reasoning-plus","object":"model","created_at":1765277046,"cost_in":1.25e-7,"cost_out":5e-7,"owned_by":"azure-openai"},{"id":"azure-openai/mai-ds-r1","object":"model","created_at":1765277046,"cost_in":0.00000135,"cost_out":0.0000054,"owned_by":"azure-openai"},{"id":"azure-openai/phi-3-medium-4k-instruct","object":"model","created_at":1765277045,"cost_in":1.7e-7,"cost_out":6.8e-7,"owned_by":"azure-openai"},{"id":"azure-openai/phi-4-reasoning","object":"model","created_at":1765277045,"cost_in":1.25e-7,"cost_out":5e-7,"owned_by":"azure-openai"},{"id":"azure-openai/meta-llama-3.1-8b-instruct","object":"model","created_at":1765277044,"cost_in":3e-7,"cost_out":6.1e-7,"owned_by":"azure-openai"},{"id":"azure-openai/phi-3.5-moe-instruct","object":"model","created_at":1765277043,"cost_in":1.6e-7,"cost_out":6.4e-7,"owned_by":"azure-openai"},{"id":"azure-openai/llama-4-scout-17b-16e-instruct","object":"model","created_at":1765277043,"cost_in":2e-7,"cost_out":7.8e-7,"owned_by":"azure-openai"},{"id":"azure-openai/phi-4-multimodal","object":"model","created_at":1765277042,"cost_in":8e-8,"cost_out":3.2e-7,"owned_by":"azure-openai"},{"id":"azure-openai/meta-llama-3-8b-instruct","object":"model","created_at":1765277042,"cost_in":3e-7,"cost_out":6.1e-7,"owned_by":"azure-openai"},{"id":"azure-openai/phi-3-mini-128k-instruct","object":"model","created_at":1765277041,"cost_in":1.3e-7,"cost_out":5.2e-7,"owned_by":"azure-openai"},{"id":"azure-openai/llama-3.3-70b-instruct","object":"model","created_at":1765277040,"cost_in":7.1e-7,"cost_out":7.1e-7,"owned_by":"azure-openai"},{"id":"azure-openai/llama-3.2-90b-vision-instruct","object":"model","created_at":1765277040,"cost_in":0.00000204,"cost_out":0.00000204,"owned_by":"azure-openai"},{"id":"azure-openai/phi-3.5-mini-instruct","object":"model","created_at":1765277039,"cost_in":1.3e-7,"cost_out":5.2e-7,"owned_by":"azure-openai"},{"id":"azure-openai/phi-3-small-8k-instruct","object":"model","created_at":1765277038,"cost_in":1.5e-7,"cost_out":6e-7,"owned_by":"azure-openai"},{"id":"azure-openai/meta-llama-3.1-70b-instruct","object":"model","created_at":1765277038,"cost_in":0.00000268,"cost_out":0.00000354,"owned_by":"azure-openai"},{"id":"azure-openai/phi-4-mini-reasoning","object":"model","created_at":1765277037,"cost_in":7.5e-8,"cost_out":3e-7,"owned_by":"azure-openai"},{"id":"azure-openai/meta-llama-3-70b-instruct","object":"model","created_at":1765277037,"cost_in":0.00000268,"cost_out":0.00000354,"owned_by":"azure-openai"},{"id":"azure-openai/phi-4","object":"model","created_at":1765277036,"cost_in":1.25e-7,"cost_out":5e-7,"owned_by":"azure-openai"},{"id":"azure-openai/phi-3-small-128k-instruct","object":"model","created_at":1765277035,"cost_in":1.5e-7,"cost_out":6e-7,"owned_by":"azure-openai"},{"id":"azure-openai/llama-4-maverick-17b-128e-instruct-fp8","object":"model","created_at":1765277035,"cost_in":2.5e-7,"cost_out":0.000001,"owned_by":"azure-openai"},{"id":"azure-openai/meta-llama-3.1-405b-instruct","object":"model","created_at":1765277034,"cost_in":0.00000533,"cost_out":0.000016,"owned_by":"azure-openai"},{"id":"azure-openai/phi-3-mini-4k-instruct","object":"model","created_at":1765277034,"cost_in":1.3e-7,"cost_out":5.2e-7,"owned_by":"azure-openai"},{"id":"azure-openai/phi-4-mini","object":"model","created_at":1765277033,"cost_in":7.5e-8,"cost_out":3e-7,"owned_by":"azure-openai"},{"id":"azure-openai/phi-3-medium-128k-instruct","object":"model","created_at":1765277032,"cost_in":1.7e-7,"cost_out":6.8e-7,"owned_by":"azure-openai"},{"id":"azure-openai/llama-3.2-11b-vision-instruct","object":"model","created_at":1765277032,"cost_in":3.7e-7,"cost_out":3.7e-7,"owned_by":"azure-openai"},{"id":"azure-openai/mistral-small-2503","object":"model","created_at":1765277031,"cost_in":1e-7,"cost_out":3e-7,"owned_by":"azure-openai"},{"id":"azure-openai/mistral-large-2411","object":"model","created_at":1765277030,"cost_in":0.000002,"cost_out":0.000006,"owned_by":"azure-openai"},{"id":"azure-openai/codestral-2501","object":"model","created_at":1765277030,"cost_in":3e-7,"cost_out":9e-7,"owned_by":"azure-openai"},{"id":"azure-openai/ministral-3b","object":"model","created_at":1765277029,"cost_in":4e-8,"cost_out":4e-8,"owned_by":"azure-openai"},{"id":"azure-openai/mistral-nemo","object":"model","created_at":1765277029,"cost_in":1.5e-7,"cost_out":1.5e-7,"owned_by":"azure-openai"},{"id":"azure-openai/mistral-medium-2505","object":"model","created_at":1765277028,"cost_in":4e-7,"cost_out":0.000002,"owned_by":"azure-openai"},{"id":"azure-openai/model-router","object":"model","created_at":1765277027,"cost_in":1.4e-7,"cost_out":0,"owned_by":"azure-openai"},{"id":"azure-openai/text-embedding-ada-002","object":"model","created_at":1765277027,"cost_in":1e-7,"cost_out":0,"owned_by":"azure-openai"},{"id":"azure-openai/grok-3-mini","object":"model","created_at":1765277025,"cost_in":3e-7,"cost_out":5e-7,"owned_by":"azure-openai"},{"id":"azure-openai/cohere-embed-v3-english","object":"model","created_at":1765277025,"cost_in":1e-7,"cost_out":0,"owned_by":"azure-openai"},{"id":"azure-openai/cohere-command-r-plus-08-2024","object":"model","created_at":1765277024,"cost_in":0.0000025,"cost_out":0.00001,"owned_by":"azure-openai"},{"id":"azure-openai/grok-3","object":"model","created_at":1765277024,"cost_in":0.000003,"cost_out":0.000015,"owned_by":"azure-openai"},{"id":"azure-openai/cohere-command-a","object":"model","created_at":1765277023,"cost_in":0.0000025,"cost_out":0.00001,"owned_by":"azure-openai"},{"id":"azure-openai/cohere-embed-v3-multilingual","object":"model","created_at":1765277022,"cost_in":1e-7,"cost_out":0,"owned_by":"azure-openai"},{"id":"azure-openai/grok-code-fast-1","object":"model","created_at":1765277022,"cost_in":2e-7,"cost_out":0.0000015,"owned_by":"azure-openai"},{"id":"azure-openai/cohere-command-r-08-2024","object":"model","created_at":1765277021,"cost_in":1.5e-7,"cost_out":6e-7,"owned_by":"azure-openai"},{"id":"azure-openai/grok-4","object":"model","created_at":1765277021,"cost_in":0.000003,"cost_out":0.000015,"owned_by":"azure-openai"},{"id":"azure-openai/cohere-embed-v-4-0","object":"model","created_at":1765277020,"cost_in":1.2e-7,"cost_out":0,"owned_by":"azure-openai"},{"id":"azure-openai/grok-4-fast-non-reasoning","object":"model","created_at":1765277019,"cost_in":2e-7,"cost_out":5e-7,"owned_by":"azure-openai"},{"id":"azure-openai/grok-4-fast-reasoning","object":"model","created_at":1765277019,"cost_in":2e-7,"cost_out":5e-7,"owned_by":"azure-openai"},{"id":"azure-openai/deepseek-v3-0324","object":"model","created_at":1765277018,"cost_in":0.00000114,"cost_out":0.00000456,"owned_by":"azure-openai"},{"id":"azure-openai/deepseek-r1","object":"model","created_at":1765277017,"cost_in":0.00000135,"cost_out":0.0000054,"owned_by":"azure-openai"},{"id":"azure-openai/deepseek-v3.1","object":"model","created_at":1765277017,"cost_in":5.6e-7,"cost_out":0.00000168,"owned_by":"azure-openai"},{"id":"anthropic/claude-opus-4-5-20251101","object":"model","created_at":1765277016,"cost_in":0.000005,"cost_out":0.000025,"owned_by":"anthropic"},{"id":"azure-openai/deepseek-r1-0528","object":"model","created_at":1765277016,"cost_in":0.00000135,"cost_out":0.0000054,"owned_by":"azure-openai"},{"id":"openrouter/prime-intellect/intellect-3","object":"model","created_at":1765277015,"cost_in":2e-7,"cost_out":0.0000011,"owned_by":"openrouter"},{"id":"aws-bedrock/global.anthropic.claude-opus-4-5-20251101-v1:0","object":"model","created_at":1765277014,"cost_in":0.000005,"cost_out":0.000025,"owned_by":"aws-bedrock"},{"id":"openrouter/tngtech/tng-r1t-chimera","object":"model","created_at":1765277014,"cost_in":3e-7,"cost_out":0.0000012,"owned_by":"openrouter"},{"id":"aws-bedrock/anthropic.claude-opus-4-5-20251101-v1:0","object":"model","created_at":1765277013,"cost_in":0.000005,"cost_out":0.000025,"owned_by":"aws-bedrock"},{"id":"azure-openai/claude-opus-4-5","object":"model","created_at":1765277013,"cost_in":0.000005,"cost_out":0.000025,"owned_by":"azure-openai"},{"id":"anthropic/claude-opus-4-5","object":"model","created_at":1764012659,"cost_in":0.000005,"cost_out":0.000025,"owned_by":"anthropic"},{"id":"anthropic/claude-4.5-opus-20251124","object":"model","created_at":1764012658,"cost_in":0.000005,"cost_out":0.000025,"owned_by":"anthropic"},{"id":"anthropic/claude-opus-4.5","object":"model","created_at":1764012657,"cost_in":0.000005,"cost_out":0.000025,"owned_by":"anthropic"},{"id":"openrouter/anthropic/claude-opus-4.5","object":"model","created_at":1764012656,"cost_in":0.000005,"cost_out":0.000025,"owned_by":"openrouter"},{"id":"openrouter/allenai/olmo-3-7b-think","object":"model","created_at":1763969558,"cost_in":1.2e-7,"cost_out":2e-7,"owned_by":"openrouter"},{"id":"openrouter/allenai/olmo-3-7b-instruct","object":"model","created_at":1763969557,"cost_in":1e-7,"cost_out":2e-7,"owned_by":"openrouter"},{"id":"google-ai-studio/gemini-3-pro-image-preview-20251120","object":"model","created_at":1763969556,"cost_in":0.000002,"cost_out":0.000012,"owned_by":"google-ai-studio"},{"id":"openrouter/allenai/olmo-3-32b-think","object":"model","created_at":1763969556,"cost_in":3e-7,"cost_out":5.5e-7,"owned_by":"openrouter"},{"id":"openrouter/google/gemini-3-pro-image-preview","object":"model","created_at":1763969555,"cost_in":0.000002,"cost_out":0.000012,"owned_by":"openrouter"},{"id":"google-ai-studio/gemini-3-pro-image-preview","object":"model","created_at":1763969555,"cost_in":0.000002,"cost_out":0.000012,"owned_by":"google-ai-studio"},{"id":"grok/grok-4-1-fast","object":"model","created_at":1763969554,"cost_in":2e-7,"cost_out":5e-7,"owned_by":"grok"},{"id":"grok/grok-4-1-fast-non-reasoning","object":"model","created_at":1763969554,"cost_in":2e-7,"cost_out":5e-7,"owned_by":"grok"},{"id":"grok/grok-4.1-fast-non-reasoning","object":"model","created_at":1763969553,"cost_in":2e-7,"cost_out":5e-7,"owned_by":"grok"},{"id":"grok/grok-4.1-fast","object":"model","created_at":1763969553,"cost_in":2e-7,"cost_out":5e-7,"owned_by":"grok"},{"id":"openrouter/x-ai/grok-4.1-fast","object":"model","created_at":1763969552,"cost_in":2e-7,"cost_out":5e-7,"owned_by":"openrouter"},{"id":"azure-openai/claude-haiku-4-5","object":"model","created_at":1763969551,"cost_in":0.000001,"cost_out":0.000005,"owned_by":"azure-openai"},{"id":"azure-openai/claude-sonnet-4-5","object":"model","created_at":1763969551,"cost_in":0.000003,"cost_out":0.000015,"owned_by":"azure-openai"},{"id":"openrouter/deepcogito/cogito-v2.1-671b","object":"model","created_at":1763969550,"cost_in":0.00000125,"cost_out":0.00000125,"owned_by":"openrouter"},{"id":"azure-openai/claude-opus-4-1","object":"model","created_at":1763969550,"cost_in":0.000015,"cost_out":0.000075,"owned_by":"azure-openai"},{"id":"google-vertex-ai/gemini-3-pro-preview","object":"model","created_at":1763969549,"cost_in":0.000002,"cost_out":0.000012,"owned_by":"google-vertex-ai"},{"id":"google-ai-studio/gemini-3-pro-preview","object":"model","created_at":1763485223,"cost_in":0.000002,"cost_out":0.000012,"owned_by":"google-ai-studio"},{"id":"google-ai-studio/gemini-3-pro-preview-20251117","object":"model","created_at":1763485223,"cost_in":0.000002,"cost_out":0.000012,"owned_by":"google-ai-studio"},{"id":"openrouter/openrouter/sherlock-dash-alpha","object":"model","created_at":1763485222,"cost_in":0,"cost_out":0,"owned_by":"openrouter"},{"id":"openai/gpt-5.1-chat-latest","object":"model","created_at":1763485222,"cost_in":0.00000125,"cost_out":0.00001,"owned_by":"openai"},{"id":"openrouter/google/gemini-3-pro-preview","object":"model","created_at":1763485222,"cost_in":0.000002,"cost_out":0.000012,"owned_by":"openrouter"},{"id":"openrouter/openrouter/sherlock-think-alpha","object":"model","created_at":1763485221,"cost_in":0,"cost_out":0,"owned_by":"openrouter"},{"id":"azure-openai/gpt-5.1-chat","object":"model","created_at":1763153830,"cost_in":0.00000125,"cost_out":0.00001,"owned_by":"azure-openai"},{"id":"azure-openai/gpt-5.1-codex-mini","object":"model","created_at":1763153829,"cost_in":2.5e-7,"cost_out":0.000002,"owned_by":"azure-openai"},{"id":"azure-openai/gpt-5.1","object":"model","created_at":1763153829,"cost_in":0.00000125,"cost_out":0.00001,"owned_by":"azure-openai"},{"id":"azure-openai/gpt-5.1-codex","object":"model","created_at":1763153828,"cost_in":0.00000125,"cost_out":0.00001,"owned_by":"azure-openai"},{"id":"openai/gpt-5.1-codex-mini-20251113","object":"model","created_at":1763110159,"cost_in":2.5e-7,"cost_out":0.000002,"owned_by":"openai"},{"id":"openrouter/openai/gpt-5.1-codex-mini","object":"model","created_at":1763110158,"cost_in":2.5e-7,"cost_out":0.000002,"owned_by":"openrouter"},{"id":"openai/gpt-5.1-codex-mini","object":"model","created_at":1763110158,"cost_in":2.5e-7,"cost_out":0.000002,"owned_by":"openai"},{"id":"openai/gpt-5.1-codex","object":"model","created_at":1763110157,"cost_in":0.00000125,"cost_out":0.00001,"owned_by":"openai"},{"id":"openai/gpt-5.1-codex-20251113","object":"model","created_at":1763110157,"cost_in":0.00000125,"cost_out":0.00001,"owned_by":"openai"},{"id":"openrouter/openai/gpt-5.1-codex","object":"model","created_at":1763110156,"cost_in":0.00000125,"cost_out":0.00001,"owned_by":"openrouter"},{"id":"openai/gpt-5.1-chat","object":"model","created_at":1763110155,"cost_in":0.00000125,"cost_out":0.00001,"owned_by":"openai"},{"id":"openai/gpt-5.1-chat-20251113","object":"model","created_at":1763110155,"cost_in":0.00000125,"cost_out":0.00001,"owned_by":"openai"},{"id":"openai/gpt-5.1-20251113","object":"model","created_at":1763110154,"cost_in":0.00000125,"cost_out":0.00001,"owned_by":"openai"},{"id":"openrouter/openai/gpt-5.1-chat","object":"model","created_at":1763110154,"cost_in":0.00000125,"cost_out":0.00001,"owned_by":"openrouter"},{"id":"openrouter/openai/gpt-5.1","object":"model","created_at":1763110153,"cost_in":0.00000125,"cost_out":0.00001,"owned_by":"openrouter"},{"id":"openai/gpt-5.1","object":"model","created_at":1763110153,"cost_in":0.00000125,"cost_out":0.00001,"owned_by":"openai"},{"id":"workers-ai/@cf/qwen/qwen3-embedding-0.6b","object":"model","created_at":1763110152,"cost_in":1.2e-8,"cost_out":0,"owned_by":"workers-ai"},{"id":"openrouter/kwaipilot/kat-coder-pro:free","object":"model","created_at":1763110151,"cost_in":0,"cost_out":0,"owned_by":"openrouter"},{"id":"workers-ai/@cf/qwen/qwen3-30b-a3b-fp8","object":"model","created_at":1763110151,"cost_in":5.1e-8,"cost_out":3.4e-7,"owned_by":"workers-ai"},{"id":"openrouter/moonshotai/kimi-linear-48b-a3b-instruct","object":"model","created_at":1763110150,"cost_in":7e-7,"cost_out":9e-7,"owned_by":"openrouter"},{"id":"azure-openai/gpt-5-codex","object":"model","created_at":1763110150,"cost_in":0.00000125,"cost_out":0.00001,"owned_by":"azure-openai"},{"id":"openrouter/moonshotai/kimi-k2-thinking","object":"model","created_at":1763110149,"cost_in":4.5e-7,"cost_out":0.00000235,"owned_by":"openrouter"},{"id":"openrouter/openrouter/polaris-alpha","object":"model","created_at":1763110149,"cost_in":0,"cost_out":0,"owned_by":"openrouter"},{"id":"workers-ai/@cf/deepgram/aura-2-en","object":"model","created_at":1763110148,"cost_in":0,"cost_out":0,"owned_by":"workers-ai"},{"id":"workers-ai/@cf/openai/whisper-large-v3-turbo","object":"model","created_at":1763110147,"cost_in":0,"cost_out":0,"owned_by":"workers-ai"},{"id":"workers-ai/@cf/deepgram/aura-1","object":"model","created_at":1763110147,"cost_in":0,"cost_out":0,"owned_by":"workers-ai"},{"id":"workers-ai/@cf/openai/whisper","object":"model","created_at":1763110146,"cost_in":0,"cost_out":0,"owned_by":"workers-ai"},{"id":"workers-ai/@cf/deepgram/nova-3","object":"model","created_at":1763110146,"cost_in":0,"cost_out":0,"owned_by":"workers-ai"},{"id":"workers-ai/@cf/deepgram/aura-2-es","object":"model","created_at":1763110145,"cost_in":0,"cost_out":0,"owned_by":"workers-ai"},{"id":"workers-ai/@cf/pipecat-ai/smart-turn-v2","object":"model","created_at":1763110144,"cost_in":0,"cost_out":0,"owned_by":"workers-ai"},{"id":"workers-ai/@cf/myshell-ai/melotts","object":"model","created_at":1763110144,"cost_in":0,"cost_out":0,"owned_by":"workers-ai"},{"id":"openrouter/perplexity/sonar-pro-search","object":"model","created_at":1763110143,"cost_in":0.000003,"cost_out":0.000015,"owned_by":"openrouter"},{"id":"openrouter/amazon/nova-premier-v1","object":"model","created_at":1763110143,"cost_in":0.0000025,"cost_out":0.0000125,"owned_by":"openrouter"},{"id":"mistral/voxtral-small-24b-2507","object":"model","created_at":1763110142,"cost_in":1e-7,"cost_out":3e-7,"owned_by":"mistral"},{"id":"cerebras/zai-glm-4.6","object":"model","created_at":1763110142,"cost_in":0,"cost_out":0,"owned_by":"cerebras"},{"id":"openrouter/mistralai/voxtral-small-24b-2507","object":"model","created_at":1763110141,"cost_in":1e-7,"cost_out":3e-7,"owned_by":"openrouter"},{"id":"ideogram/v_upscale","object":"model","created_at":1763110140,"cost_in":0.06,"cost_out":0,"owned_by":"ideogram"},{"id":"ideogram/v_describe","object":"model","created_at":1763110140,"cost_in":0.01,"cost_out":0,"owned_by":"ideogram"},{"id":"ideogram/v_3_custom","object":"model","created_at":1763110139,"cost_in":0,"cost_out":0.12,"owned_by":"ideogram"},{"id":"ideogram/v_3_custom_quality","object":"model","created_at":1763110139,"cost_in":0,"cost_out":0.18,"owned_by":"ideogram"},{"id":"ideogram/v_1","object":"model","created_at":1763110138,"cost_in":0,"cost_out":0.06,"owned_by":"ideogram"},{"id":"ideogram/v_3_custom_turbo","object":"model","created_at":1763110138,"cost_in":0,"cost_out":0.06,"owned_by":"ideogram"},{"id":"ideogram/v_1_turbo","object":"model","created_at":1763110137,"cost_in":0,"cost_out":0.02,"owned_by":"ideogram"},{"id":"ideogram/v_2a_turbo","object":"model","created_at":1763110136,"cost_in":0,"cost_out":0.025,"owned_by":"ideogram"},{"id":"ideogram/v_2a","object":"model","created_at":1763110136,"cost_in":0,"cost_out":0.04,"owned_by":"ideogram"},{"id":"ideogram/v_2_turbo","object":"model","created_at":1763110135,"cost_in":0,"cost_out":0.05,"owned_by":"ideogram"},{"id":"ideogram/v_2","object":"model","created_at":1763110135,"cost_in":0,"cost_out":0.08,"owned_by":"ideogram"},{"id":"ideogram/v_3_character","object":"model","created_at":1763110134,"cost_in":0,"cost_out":0.15,"owned_by":"ideogram"},{"id":"ideogram/v_3_quality_character","object":"model","created_at":1763110134,"cost_in":0,"cost_out":0.2,"owned_by":"ideogram"},{"id":"ideogram/v_3_turbo_character","object":"model","created_at":1763110133,"cost_in":0,"cost_out":0.1,"owned_by":"ideogram"},{"id":"ideogram/v_3","object":"model","created_at":1763110132,"cost_in":0,"cost_out":0.06,"owned_by":"ideogram"},{"id":"ideogram/v_3_quality","object":"model","created_at":1763110132,"cost_in":0,"cost_out":0.09,"owned_by":"ideogram"},{"id":"ideogram/v_3_flash","object":"model","created_at":1763110131,"cost_in":0,"cost_out":0.03,"owned_by":"ideogram"},{"id":"ideogram/v_3_turbo","object":"model","created_at":1763110131,"cost_in":0,"cost_out":0.03,"owned_by":"ideogram"},{"id":"baseten/deepseek-ai/deepseek-v3-0324","object":"model","created_at":1763110130,"cost_in":7.7e-7,"cost_out":7.7e-7,"owned_by":"baseten"},{"id":"baseten/deepseek-ai/deepseek-v3.1","object":"model","created_at":1763110129,"cost_in":5e-7,"cost_out":0.0000015,"owned_by":"baseten"},{"id":"baseten/deepseek-ai/deepseek-r1-0528","object":"model","created_at":1763110129,"cost_in":0.00000255,"cost_out":0.00000595,"owned_by":"baseten"},{"id":"baseten/moonshotai/kimi-k2-instruct-0905","object":"model","created_at":1763110128,"cost_in":6e-7,"cost_out":0.0000025,"owned_by":"baseten"},{"id":"baseten/moonshotai/kimi-k2-instruct-0711","object":"model","created_at":1763110128,"cost_in":6e-7,"cost_out":0.0000025,"owned_by":"baseten"},{"id":"baseten/qwen/qwen3-coder-480b-a35b-instruct","object":"model","created_at":1763110127,"cost_in":3.8e-7,"cost_out":0.00000153,"owned_by":"baseten"},{"id":"baseten/qwen/qwen3-235b-a22b-instruct-2507","object":"model","created_at":1763110127,"cost_in":2.2e-7,"cost_out":8e-7,"owned_by":"baseten"},{"id":"baseten/openai/gpt-oss-120b","object":"model","created_at":1763110126,"cost_in":1e-7,"cost_out":5e-7,"owned_by":"baseten"},{"id":"openrouter/nvidia/nemotron-nano-12b-v2-vl","object":"model","created_at":1763110125,"cost_in":2e-7,"cost_out":6e-7,"owned_by":"openrouter"},{"id":"baseten/zai-org/glm-4.6","object":"model","created_at":1763110125,"cost_in":6e-7,"cost_out":0.0000022,"owned_by":"baseten"},{"id":"openrouter/openai/gpt-oss-safeguard-20b","object":"model","created_at":1763110124,"cost_in":7.5e-8,"cost_out":3e-7,"owned_by":"openrouter"},{"id":"openai/gpt-oss-safeguard-20b","object":"model","created_at":1763110124,"cost_in":7.5e-8,"cost_out":3e-7,"owned_by":"openai"},{"id":"aws-bedrock/qwen.qwen3-235b-a22b-2507-v1:0","object":"model","created_at":1763110123,"cost_in":2.2e-7,"cost_out":8.8e-7,"owned_by":"aws-bedrock"},{"id":"huggingface/MiniMaxAI/MiniMax-M2","object":"model","created_at":1763110123,"cost_in":3e-7,"cost_out":0.0000012,"owned_by":"huggingface"},{"id":"aws-bedrock/qwen.qwen3-coder-480b-a35b-v1:0","object":"model","created_at":1763110122,"cost_in":2.2e-7,"cost_out":0.0000018,"owned_by":"aws-bedrock"},{"id":"aws-bedrock/deepseek.v3-v1:0","object":"model","created_at":1763110121,"cost_in":5.8e-7,"cost_out":0.00000168,"owned_by":"aws-bedrock"},{"id":"aws-bedrock/qwen.qwen3-32b-v1:0","object":"model","created_at":1763110121,"cost_in":1.5e-7,"cost_out":6e-7,"owned_by":"aws-bedrock"},{"id":"openrouter/minimax/minimax-m2","object":"model","created_at":1763110120,"cost_in":2e-7,"cost_out":0.000001,"owned_by":"openrouter"},{"id":"aws-bedrock/qwen.qwen3-coder-30b-a3b-v1:0","object":"model","created_at":1763110120,"cost_in":1.5e-7,"cost_out":6e-7,"owned_by":"aws-bedrock"},{"id":"openrouter/liquid/lfm-2.2-6b","object":"model","created_at":1763110119,"cost_in":5e-8,"cost_out":1e-7,"owned_by":"openrouter"},{"id":"openrouter/minimax/minimax-m2:free","object":"model","created_at":1763110119,"cost_in":0,"cost_out":0,"owned_by":"openrouter"},{"id":"openrouter/liquid/lfm2-8b-a1b","object":"model","created_at":1763110118,"cost_in":5e-8,"cost_out":1e-7,"owned_by":"openrouter"},{"id":"openrouter/qwen/qwen3-coder:exacto","object":"model","created_at":1763110117,"cost_in":3.8e-7,"cost_out":0.00000153,"owned_by":"openrouter"},{"id":"openrouter/qwen/qwen3-vl-32b-instruct","object":"model","created_at":1763110117,"cost_in":5e-7,"cost_out":0.0000015,"owned_by":"openrouter"},{"id":"openrouter/openai/gpt-oss-120b:exacto","object":"model","created_at":1763110116,"cost_in":5e-8,"cost_out":2.4e-7,"owned_by":"openrouter"},{"id":"openai/gpt-oss-120b:exacto","object":"model","created_at":1763110116,"cost_in":5e-8,"cost_out":2.4e-7,"owned_by":"openai"},{"id":"deepseek/deepseek-v3.1-terminus:exacto","object":"model","created_at":1763110115,"cost_in":2.7e-7,"cost_out":0.000001,"owned_by":"deepseek"},{"id":"openrouter/moonshotai/kimi-k2-0905:exacto","object":"model","created_at":1763110115,"cost_in":6e-7,"cost_out":0.0000025,"owned_by":"openrouter"},{"id":"openrouter/deepseek/deepseek-v3.1-terminus:exacto","object":"model","created_at":1763110114,"cost_in":2.7e-7,"cost_out":0.000001,"owned_by":"openrouter"},{"id":"google-vertex-ai/gemini-embedding-001","object":"model","created_at":1763110113,"cost_in":1.5e-7,"cost_out":0,"owned_by":"google-vertex-ai"},{"id":"openrouter/z-ai/glm-4.6:exacto","object":"model","created_at":1763110113,"cost_in":4.5e-7,"cost_out":0.0000019,"owned_by":"openrouter"},{"id":"huggingface/Qwen/Qwen3-Embedding-8B","object":"model","created_at":1763110111,"cost_in":1e-8,"cost_out":0,"owned_by":"huggingface"},{"id":"huggingface/Qwen/Qwen3-Embedding-4B","object":"model","created_at":1763110111,"cost_in":1e-8,"cost_out":0,"owned_by":"huggingface"},{"id":"openrouter/ibm-granite/granite-4.0-h-micro","object":"model","created_at":1763110110,"cost_in":1.7e-8,"cost_out":1.1e-7,"owned_by":"openrouter"},{"id":"google-ai-studio/gemini-embedding-001","object":"model","created_at":1763110110,"cost_in":1.5e-7,"cost_out":0,"owned_by":"google-ai-studio"},{"id":"openrouter/deepcogito/cogito-v2-preview-llama-405b","object":"model","created_at":1763110109,"cost_in":0.0000035,"cost_out":0.0000035,"owned_by":"openrouter"},{"id":"openrouter/inclusionai/ring-1t","object":"model","created_at":1763110109,"cost_in":5.7e-7,"cost_out":0.00000228,"owned_by":"openrouter"},{"id":"openrouter/deepcogito/cogito-v2-preview-llama-405B","object":"model","created_at":1763110108,"cost_in":0.0000035,"cost_out":0.0000035,"owned_by":"openrouter"},{"id":"openai/gpt-5-image-mini","object":"model","created_at":1763110107,"cost_in":0.0000025,"cost_out":0.000002,"owned_by":"openai"},{"id":"openrouter/deepcogito/cogito-v2-preview-llama-70b","object":"model","created_at":1763110107,"cost_in":8.8e-7,"cost_out":8.8e-7,"owned_by":"openrouter"},{"id":"anthropic/claude-opus-4-0","object":"model","created_at":1763110106,"cost_in":0.000015,"cost_out":0.000075,"owned_by":"anthropic"},{"id":"openrouter/openai/gpt-5-image-mini","object":"model","created_at":1763110106,"cost_in":0.0000025,"cost_out":0.000002,"owned_by":"openrouter"},{"id":"anthropic/claude-haiku-4-5","object":"model","created_at":1763110105,"cost_in":0.000001,"cost_out":0.000005,"owned_by":"anthropic"},{"id":"anthropic/claude-opus-4-1","object":"model","created_at":1763110105,"cost_in":0.000015,"cost_out":0.000075,"owned_by":"anthropic"},{"id":"anthropic/claude-3-5-haiku-latest","object":"model","created_at":1763110104,"cost_in":8e-7,"cost_out":0.000004,"owned_by":"anthropic"},{"id":"anthropic/claude-3-7-sonnet-latest","object":"model","created_at":1763110103,"cost_in":0.000003,"cost_out":0.000015,"owned_by":"anthropic"},{"id":"anthropic/claude-sonnet-4-5","object":"model","created_at":1763110103,"cost_in":0.000003,"cost_out":0.000015,"owned_by":"anthropic"},{"id":"aws-bedrock/anthropic.claude-haiku-4-5-20251001-v1:0","object":"model","created_at":1763110102,"cost_in":0.000001,"cost_out":0.000005,"owned_by":"aws-bedrock"},{"id":"anthropic/claude-sonnet-4-0","object":"model","created_at":1763110102,"cost_in":0.000003,"cost_out":0.000015,"owned_by":"anthropic"},{"id":"openrouter/anthropic/claude-4.5-haiku","object":"model","created_at":1763110101,"cost_in":0.000001,"cost_out":0.000005,"owned_by":"openrouter"},{"id":"openrouter/openai/gpt-5-image","object":"model","created_at":1763110100,"cost_in":0.00001,"cost_out":0.00001,"owned_by":"openrouter"},{"id":"openai/gpt-5-image","object":"model","created_at":1763110100,"cost_in":0.00001,"cost_out":0.00001,"owned_by":"openai"},{"id":"anthropic/claude-haiku-4-5-20251001","object":"model","created_at":1763110099,"cost_in":0.000001,"cost_out":0.000005,"owned_by":"anthropic"},{"id":"anthropic/claude-haiku-4.5","object":"model","created_at":1763110098,"cost_in":0.000001,"cost_out":0.000005,"owned_by":"anthropic"},{"id":"anthropic/claude-4.5-haiku-20251001","object":"model","created_at":1763110098,"cost_in":0.000001,"cost_out":0.000005,"owned_by":"anthropic"},{"id":"google-vertex-ai/gemini-2.5-flash-lite-preview-09-2025","object":"model","created_at":1763110097,"cost_in":1e-7,"cost_out":4e-7,"owned_by":"google-vertex-ai"},{"id":"openrouter/anthropic/claude-haiku-4.5","object":"model","created_at":1763110097,"cost_in":0.000001,"cost_out":0.000005,"owned_by":"openrouter"},{"id":"google-vertex-ai/gemini-2.5-flash-lite","object":"model","created_at":1763110096,"cost_in":1e-7,"cost_out":4e-7,"owned_by":"google-vertex-ai"},{"id":"google-vertex-ai/gemini-2.5-flash-preview-09-2025","object":"model","created_at":1763110096,"cost_in":3e-7,"cost_out":0.0000025,"owned_by":"google-vertex-ai"},{"id":"google-vertex-ai/gemini-flash-latest","object":"model","created_at":1763110095,"cost_in":3e-7,"cost_out":0.0000025,"owned_by":"google-vertex-ai"},{"id":"google-ai-studio/gemini-2.5-pro-preview-tts","object":"model","created_at":1763110094,"cost_in":0.000001,"cost_out":0.00002,"owned_by":"google-ai-studio"},{"id":"google-vertex-ai/gemini-flash-lite-latest","object":"model","created_at":1763110094,"cost_in":1e-7,"cost_out":4e-7,"owned_by":"google-vertex-ai"},{"id":"google-ai-studio/gemini-2.5-flash-preview-tts","object":"model","created_at":1763110093,"cost_in":5e-7,"cost_out":0.00001,"owned_by":"google-ai-studio"},{"id":"google-ai-studio/gemini-live-2.5-flash","object":"model","created_at":1763110093,"cost_in":5e-7,"cost_out":0.000002,"owned_by":"google-ai-studio"},{"id":"openrouter/openai/o4-mini-deep-research","object":"model","created_at":1763110092,"cost_in":0.000002,"cost_out":0.000008,"owned_by":"openrouter"},{"id":"openai/o4-mini-deep-research-2025-06-26","object":"model","created_at":1763110092,"cost_in":0.000002,"cost_out":0.000008,"owned_by":"openai"},{"id":"openai/o3-deep-research-2025-06-26","object":"model","created_at":1763110091,"cost_in":0.00001,"cost_out":0.00004,"owned_by":"openai"},{"id":"openrouter/qwen/qwen3-vl-8b-instruct","object":"model","created_at":1763110090,"cost_in":6.4e-8,"cost_out":4e-7,"owned_by":"openrouter"},{"id":"openrouter/openai/o3-deep-research","object":"model","created_at":1763110090,"cost_in":0.00001,"cost_out":0.00004,"owned_by":"openrouter"},{"id":"openrouter/qwen/qwen3-vl-8b-thinking","object":"model","created_at":1763110089,"cost_in":1.8e-7,"cost_out":0.0000021,"owned_by":"openrouter"},{"id":"openrouter/nvidia/llama-3.3-nemotron-super-49b-v1.5","object":"model","created_at":1763110088,"cost_in":1e-7,"cost_out":4e-7,"owned_by":"openrouter"},{"id":"openrouter/inclusionai/ling-1t","object":"model","created_at":1763110088,"cost_in":5.7e-7,"cost_out":0.00000228,"owned_by":"openrouter"},{"id":"openrouter/qwen/qwen3-vl-30b-a3b-instruct","object":"model","created_at":1763110087,"cost_in":1.5e-7,"cost_out":6e-7,"owned_by":"openrouter"},{"id":"openrouter/baidu/ernie-4.5-21b-a3b-thinking","object":"model","created_at":1763110087,"cost_in":5.6e-8,"cost_out":2.24e-7,"owned_by":"openrouter"},{"id":"huggingface/zai-org/glm-4.6","object":"model","created_at":1763110086,"cost_in":6e-7,"cost_out":0.0000022,"owned_by":"huggingface"},{"id":"openrouter/qwen/qwen3-vl-30b-a3b-thinking","object":"model","created_at":1763110086,"cost_in":1.6e-7,"cost_out":8e-7,"owned_by":"openrouter"},{"id":"huggingface/moonshotai/kimi-k2-instruct-0905","object":"model","created_at":1763110083,"cost_in":0.000001,"cost_out":0.000003,"owned_by":"huggingface"},{"id":"huggingface/qwen/qwen3-coder-480b-a35b-instruct","object":"model","created_at":1763110078,"cost_in":0.000002,"cost_out":0.000002,"owned_by":"huggingface"},{"id":"huggingface/deepseek-ai/deepseek-r1-0528","object":"model","created_at":1763110077,"cost_in":0.000003,"cost_out":0.000005,"owned_by":"huggingface"},{"id":"workers-ai/@cf/ibm-granite/granite-4.0-h-micro","object":"model","created_at":1760573431,"cost_in":1.7e-8,"cost_out":1.1e-7,"owned_by":"workers-ai"},{"id":"openrouter/google/gemini-2.5-flash-image","object":"model","created_at":1759957487,"cost_in":3e-7,"cost_out":0.0000025,"owned_by":"openrouter"},{"id":"google-ai-studio/gemini-2.5-flash-image","object":"model","created_at":1759957487,"cost_in":3e-7,"cost_out":0.0000025,"owned_by":"google-ai-studio"},{"id":"openai/gpt-5-pro","object":"model","created_at":1759957486,"cost_in":0.000015,"cost_out":0.00012,"owned_by":"openai"},{"id":"openai/gpt-5-pro-2025-10-06","object":"model","created_at":1759957486,"cost_in":0.000015,"cost_out":0.00012,"owned_by":"openai"},{"id":"huggingface/zai-org/GLM-4.6","object":"model","created_at":1759957485,"cost_in":6e-7,"cost_out":0.0000022,"owned_by":"huggingface"},{"id":"openrouter/openai/gpt-5-pro","object":"model","created_at":1759957485,"cost_in":0.000015,"cost_out":0.00012,"owned_by":"openrouter"},{"id":"aws-bedrock/anthropic.claude-sonnet-4-5-20250929-v1:0","object":"model","created_at":1759957484,"cost_in":0.000003,"cost_out":0.000015,"owned_by":"aws-bedrock"},{"id":"aws-bedrock/anthropic.claude-sonnet-4-5-20250929","object":"model","created_at":1759957483,"cost_in":0.000003,"cost_out":0.000015,"owned_by":"aws-bedrock"},{"id":"openrouter/z-ai/glm-4.6","object":"model","created_at":1759957483,"cost_in":3.9e-7,"cost_out":0.0000019,"owned_by":"openrouter"},{"id":"openrouter/anthropic/claude-sonnet-4.5","object":"model","created_at":1759957482,"cost_in":0.000003,"cost_out":0.000015,"owned_by":"openrouter"},{"id":"anthropic/claude-sonnet-4.5","object":"model","created_at":1759957482,"cost_in":0.000003,"cost_out":0.000015,"owned_by":"anthropic"},{"id":"anthropic/claude-4.5-sonnet-20250929","object":"model","created_at":1759957481,"cost_in":0.000003,"cost_out":0.000015,"owned_by":"anthropic"},{"id":"anthropic/claude-sonnet-4-5-20250929","object":"model","created_at":1759957481,"cost_in":0.000003,"cost_out":0.000015,"owned_by":"anthropic"},{"id":"anthropic/claude-4.5-sonnet","object":"model","created_at":1759957480,"cost_in":0.000003,"cost_out":0.000015,"owned_by":"anthropic"},{"id":"google-ai-studio/gemini-live-2.5-flash-preview-native-audio","object":"model","created_at":1759957479,"cost_in":5e-7,"cost_out":0.000002,"owned_by":"google-ai-studio"},{"id":"openrouter/anthropic/claude-4.5-sonnet","object":"model","created_at":1759957479,"cost_in":0.000003,"cost_out":0.000015,"owned_by":"openrouter"},{"id":"google-ai-studio/gemini-flash-lite-latest","object":"model","created_at":1759957478,"cost_in":1e-7,"cost_out":4e-7,"owned_by":"google-ai-studio"},{"id":"google-ai-studio/gemini-flash-latest","object":"model","created_at":1759957478,"cost_in":3e-7,"cost_out":0.0000025,"owned_by":"google-ai-studio"},{"id":"openrouter/deepseek/deepseek-v3.2-exp","object":"model","created_at":1759957477,"cost_in":2.1e-7,"cost_out":3.2e-7,"owned_by":"openrouter"},{"id":"deepseek/deepseek-v3.2-exp","object":"model","created_at":1759957477,"cost_in":2.1e-7,"cost_out":3.2e-7,"owned_by":"deepseek"},{"id":"openrouter/thedrummer/cydonia-24b-v4.1","object":"model","created_at":1759957476,"cost_in":3e-7,"cost_out":5e-7,"owned_by":"openrouter"},{"id":"google-ai-studio/gemini-2.5-flash-lite-preview-09-2025","object":"model","created_at":1759957475,"cost_in":1e-7,"cost_out":4e-7,"owned_by":"google-ai-studio"},{"id":"openrouter/relace/relace-apply-3","object":"model","created_at":1759957475,"cost_in":8.5e-7,"cost_out":0.00000125,"owned_by":"openrouter"},{"id":"google-ai-studio/gemini-2.5-flash-preview-09-2025","object":"model","created_at":1759957474,"cost_in":3e-7,"cost_out":0.0000025,"owned_by":"google-ai-studio"},{"id":"openrouter/google/gemini-2.5-flash-lite-preview-09-2025","object":"model","created_at":1759957474,"cost_in":1e-7,"cost_out":4e-7,"owned_by":"openrouter"},{"id":"openrouter/x-ai/grok-4-fast","object":"model","created_at":1759957473,"cost_in":2e-7,"cost_out":5e-7,"owned_by":"openrouter"},{"id":"openrouter/google/gemini-2.5-flash-preview-09-2025","object":"model","created_at":1759957473,"cost_in":3e-7,"cost_out":0.0000025,"owned_by":"openrouter"},{"id":"huggingface/Qwen/Qwen3-Next-80B-A3B-Thinking","object":"model","created_at":1759957472,"cost_in":3e-7,"cost_out":0.000002,"owned_by":"huggingface"},{"id":"huggingface/moonshotai/Kimi-K2-Instruct-0905","object":"model","created_at":1759957472,"cost_in":0.000001,"cost_out":0.000003,"owned_by":"huggingface"},{"id":"huggingface/Qwen/Qwen3-Next-80B-A3B-Instruct","object":"model","created_at":1759957471,"cost_in":2.5e-7,"cost_out":0.000001,"owned_by":"huggingface"},{"id":"grok/grok-4-fast","object":"model","created_at":1759957470,"cost_in":2e-7,"cost_out":5e-7,"owned_by":"grok"},{"id":"grok/grok-4-fast-non-reasoning","object":"model","created_at":1759957470,"cost_in":2e-7,"cost_out":5e-7,"owned_by":"grok"},{"id":"openrouter/qwen/qwen3-vl-235b-a22b-thinking","object":"model","created_at":1759957469,"cost_in":3e-7,"cost_out":0.0000012,"owned_by":"openrouter"},{"id":"openrouter/qwen/qwen3-vl-235b-a22b-instruct","object":"model","created_at":1759957469,"cost_in":2e-7,"cost_out":0.0000012,"owned_by":"openrouter"},{"id":"openrouter/openai/gpt-5-codex","object":"model","created_at":1759957468,"cost_in":0.00000125,"cost_out":0.00001,"owned_by":"openrouter"},{"id":"openai/gpt-5-codex","object":"model","created_at":1759957468,"cost_in":0.00000125,"cost_out":0.00001,"owned_by":"openai"},{"id":"workers-ai/@cf/pfnet/plamo-embedding-1b","object":"model","created_at":1758845446,"cost_in":1.9e-8,"cost_out":0,"owned_by":"workers-ai"},{"id":"workers-ai/@cf/ai4bharat/indictrans2-en-indic-1B","object":"model","created_at":1758845446,"cost_in":3.4e-7,"cost_out":3.4e-7,"owned_by":"workers-ai"},{"id":"workers-ai/@cf/aisingapore/gemma-sea-lion-v4-27b-it","object":"model","created_at":1758845446,"cost_in":3.5e-7,"cost_out":5.6e-7,"owned_by":"workers-ai"},{"id":"openrouter/deepseek/deepseek-v3.1-terminus","object":"model","created_at":1758646221,"cost_in":2.1e-7,"cost_out":7.9e-7,"owned_by":"openrouter"},{"id":"deepseek/deepseek-v3.1-terminus","object":"model","created_at":1758646221,"cost_in":2.1e-7,"cost_out":7.9e-7,"owned_by":"deepseek"},{"id":"openrouter/alibaba/tongyi-deepresearch-30b-a3b","object":"model","created_at":1758646220,"cost_in":9e-8,"cost_out":4e-7,"owned_by":"openrouter"},{"id":"openrouter/x-ai/grok-4-fast:free","object":"model","created_at":1758646220,"cost_in":0,"cost_out":0,"owned_by":"openrouter"},{"id":"openrouter/qwen/qwen3-coder-flash","object":"model","created_at":1758646219,"cost_in":3e-7,"cost_out":0.0000015,"owned_by":"openrouter"},{"id":"openrouter/arcee-ai/afm-4.5b","object":"model","created_at":1758646218,"cost_in":4.8e-8,"cost_out":1.5e-7,"owned_by":"openrouter"},{"id":"openrouter/qwen/qwen3-coder-plus","object":"model","created_at":1758646218,"cost_in":0.000001,"cost_out":0.000005,"owned_by":"openrouter"},{"id":"openrouter/qwen/qwen-plus-2025-07-28:thinking","object":"model","created_at":1758646217,"cost_in":4e-7,"cost_out":0.000004,"owned_by":"openrouter"},{"id":"openrouter/opengvlab/internvl3-78b","object":"model","created_at":1758646217,"cost_in":1e-7,"cost_out":3.9e-7,"owned_by":"openrouter"},{"id":"openrouter/qwen/qwen-plus-2025-07-28","object":"model","created_at":1758646216,"cost_in":4e-7,"cost_out":0.0000012,"owned_by":"openrouter"},{"id":"openrouter/qwen/qwen3-next-80b-a3b-instruct","object":"model","created_at":1758646215,"cost_in":9e-8,"cost_out":0.0000011,"owned_by":"openrouter"},{"id":"openrouter/qwen/qwen3-next-80b-a3b-thinking","object":"model","created_at":1758646215,"cost_in":1.2e-7,"cost_out":0.0000012,"owned_by":"openrouter"},{"id":"openrouter/nvidia/nemotron-nano-9b-v2","object":"model","created_at":1758646214,"cost_in":4e-8,"cost_out":1.6e-7,"owned_by":"openrouter"},{"id":"openrouter/meituan/longcat-flash-chat","object":"model","created_at":1758646214,"cost_in":1.5e-7,"cost_out":7.5e-7,"owned_by":"openrouter"},{"id":"openrouter/allenai/molmo-7b-d","object":"model","created_at":1758646213,"cost_in":1e-7,"cost_out":2e-7,"owned_by":"openrouter"},{"id":"openrouter/openrouter/sonoma-dusk-alpha","object":"model","created_at":1758646212,"cost_in":0,"cost_out":0,"owned_by":"openrouter"},{"id":"openrouter/openrouter/sonoma-sky-alpha","object":"model","created_at":1758646212,"cost_in":0,"cost_out":0,"owned_by":"openrouter"},{"id":"openrouter/bytedance/seed-oss-36b-instruct","object":"model","created_at":1758646211,"cost_in":1.6e-7,"cost_out":6.5e-7,"owned_by":"openrouter"},{"id":"openrouter/stepfun-ai/step3","object":"model","created_at":1758646211,"cost_in":5.7e-7,"cost_out":0.00000142,"owned_by":"openrouter"},{"id":"openrouter/qwen/qwen3-max","object":"model","created_at":1758646210,"cost_in":0.0000012,"cost_out":0.000006,"owned_by":"openrouter"},{"id":"groq/moonshotai/kimi-k2-instruct-0905","object":"model","created_at":1758646210,"cost_in":0.000001,"cost_out":0.000003,"owned_by":"groq"},{"id":"openrouter/moonshotai/kimi-k2-0905","object":"model","created_at":1758646209,"cost_in":3.9e-7,"cost_out":0.0000019,"owned_by":"openrouter"},{"id":"openrouter/deepcogito/cogito-v2-preview-llama-109b-moe","object":"model","created_at":1758646208,"cost_in":1.8e-7,"cost_out":5.9e-7,"owned_by":"openrouter"},{"id":"openrouter/deepcogito/cogito-v2-preview-deepseek-671b","object":"model","created_at":1758646208,"cost_in":0.00000125,"cost_out":0.00000125,"owned_by":"openrouter"},{"id":"openrouter/qwen/qwen3-30b-a3b-thinking-2507","object":"model","created_at":1758646207,"cost_in":5.1e-8,"cost_out":3.4e-7,"owned_by":"openrouter"},{"id":"openrouter/moonshotai/kimi-dev-72b","object":"model","created_at":1758646207,"cost_in":2.9e-7,"cost_out":0.00000115,"owned_by":"openrouter"},{"id":"openrouter/qwen/qwen3-coder-30b-a3b-instruct","object":"model","created_at":1758646206,"cost_in":6e-8,"cost_out":2.5e-7,"owned_by":"openrouter"},{"id":"google-vertex-ai/gemini-2.5-flash","object":"model","created_at":1758646204,"cost_in":3e-7,"cost_out":0.0000025,"owned_by":"google-vertex-ai"},{"id":"mistral/mistral-medium-2505","object":"model","created_at":1758646203,"cost_in":4e-7,"cost_out":0.000002,"owned_by":"mistral"},{"id":"cerebras/qwen-3-235b-a22b-instruct-2507","object":"model","created_at":1758646203,"cost_in":6e-7,"cost_out":0.0000012,"owned_by":"cerebras"},{"id":"mistral/mistral-medium-2508","object":"model","created_at":1758646202,"cost_in":4e-7,"cost_out":0.000002,"owned_by":"mistral"},{"id":"cerebras/gpt-oss-120b","object":"model","created_at":1758646201,"cost_in":2.5e-7,"cost_out":6.9e-7,"owned_by":"cerebras"},{"id":"cerebras/qwen-3-coder-480b","object":"model","created_at":1758646201,"cost_in":0.000002,"cost_out":0.000002,"owned_by":"cerebras"},{"id":"openrouter/google/gemini-2.5-flash-image-preview:free","object":"model","created_at":1756254618,"cost_in":0,"cost_out":0,"owned_by":"openrouter"},{"id":"openrouter/google/gemini-2.5-flash-image-preview","object":"model","created_at":1756254618,"cost_in":3e-7,"cost_out":0.0000025,"owned_by":"openrouter"},{"id":"openrouter/x-ai/grok-code-fast-1","object":"model","created_at":1756254618,"cost_in":2e-7,"cost_out":0.0000015,"owned_by":"openrouter"},{"id":"openrouter/nousresearch/hermes-4-405b","object":"model","created_at":1756254618,"cost_in":3e-7,"cost_out":0.0000012,"owned_by":"openrouter"},{"id":"openrouter/nousresearch/hermes-4-70b","object":"model","created_at":1756254618,"cost_in":1.1e-7,"cost_out":3.8e-7,"owned_by":"openrouter"},{"id":"google-ai-studio/gemini-2.5-flash-image-preview","object":"model","created_at":1756254011,"cost_in":3e-7,"cost_out":0.0000025,"owned_by":"google-ai-studio"},{"id":"grok/grok-code-fast-1","object":"model","created_at":1756254011,"cost_in":2e-7,"cost_out":0.0000015,"owned_by":"grok"},{"id":"google-ai-studio/gemini-2.5-flash-image-preview:free","object":"model","created_at":1756254011,"cost_in":0,"cost_out":0,"owned_by":"google-ai-studio"},{"id":"openrouter/google/gemma-2-9b-it","object":"model","created_at":1756168273,"cost_in":3e-8,"cost_out":9e-8,"owned_by":"openrouter"},{"id":"openrouter/qwen/qwen2.5-vl-72b-instruct","object":"model","created_at":1756168272,"cost_in":3e-8,"cost_out":1.3e-7,"owned_by":"openrouter"},{"id":"openrouter/mistralai/mistral-small-24b-instruct-2501","object":"model","created_at":1756168272,"cost_in":3e-8,"cost_out":1.1e-7,"owned_by":"openrouter"},{"id":"openrouter/deepseek/deepseek-r1-distill-llama-70b","object":"model","created_at":1756168272,"cost_in":3e-8,"cost_out":1.3e-7,"owned_by":"openrouter"},{"id":"openrouter/deepseek/deepseek-chat","object":"model","created_at":1756168272,"cost_in":3e-7,"cost_out":0.0000012,"owned_by":"openrouter"},{"id":"openrouter/qwen/qwen-2.5-coder-32b-instruct","object":"model","created_at":1756168272,"cost_in":3e-8,"cost_out":1.1e-7,"owned_by":"openrouter"},{"id":"openrouter/qwen/qwen-2.5-72b-instruct","object":"model","created_at":1756168272,"cost_in":7e-8,"cost_out":2.6e-7,"owned_by":"openrouter"},{"id":"openrouter/moonshotai/kimi-vl-a3b-thinking","object":"model","created_at":1756168271,"cost_in":2e-8,"cost_out":8e-8,"owned_by":"openrouter"},{"id":"openrouter/deepseek/deepseek-v3-base","object":"model","created_at":1756168271,"cost_in":1.99919e-7,"cost_out":8.00064e-7,"owned_by":"openrouter"},{"id":"openrouter/qwen/qwen2.5-vl-32b-instruct","object":"model","created_at":1756168271,"cost_in":5e-8,"cost_out":2.2e-7,"owned_by":"openrouter"},{"id":"openrouter/deepseek/deepseek-chat-v3-0324","object":"model","created_at":1756168271,"cost_in":1.5e-7,"cost_out":7.5e-7,"owned_by":"openrouter"},{"id":"openrouter/mistralai/mistral-small-3.1-24b-instruct","object":"model","created_at":1756168271,"cost_in":3e-8,"cost_out":1.1e-7,"owned_by":"openrouter"},{"id":"openrouter/google/gemma-3-12b-it","object":"model","created_at":1756168271,"cost_in":3e-8,"cost_out":1e-7,"owned_by":"openrouter"},{"id":"openrouter/google/gemma-3-27b-it","object":"model","created_at":1756168271,"cost_in":4e-8,"cost_out":1.5e-7,"owned_by":"openrouter"},{"id":"openrouter/thedrummer/skyfall-36b-v2","object":"model","created_at":1756168271,"cost_in":5.5e-7,"cost_out":8e-7,"owned_by":"openrouter"},{"id":"openrouter/cognitivecomputations/dolphin3.0-r1-mistral-24b","object":"model","created_at":1756168271,"cost_in":1e-8,"cost_out":5e-8,"owned_by":"openrouter"},{"id":"openrouter/deepseek/deepseek-r1-0528","object":"model","created_at":1756168270,"cost_in":4e-7,"cost_out":0.00000175,"owned_by":"openrouter"},{"id":"openrouter/mistralai/devstral-small-2505","object":"model","created_at":1756168270,"cost_in":6e-8,"cost_out":1.2e-7,"owned_by":"openrouter"},{"id":"openrouter/nousresearch/deephermes-3-mistral-24b-preview","object":"model","created_at":1756168270,"cost_in":5e-8,"cost_out":2e-7,"owned_by":"openrouter"},{"id":"openrouter/qwen/qwen3-30b-a3b","object":"model","created_at":1756168270,"cost_in":6e-8,"cost_out":2.2e-7,"owned_by":"openrouter"},{"id":"openrouter/qwen/qwen3-32b","object":"model","created_at":1756168270,"cost_in":8e-8,"cost_out":2.4e-7,"owned_by":"openrouter"},{"id":"openrouter/tngtech/deepseek-r1t-chimera","object":"model","created_at":1756168270,"cost_in":3e-7,"cost_out":0.0000012,"owned_by":"openrouter"},{"id":"openrouter/thudm/glm-z1-32b","object":"model","created_at":1756168270,"cost_in":5e-8,"cost_out":2.2e-7,"owned_by":"openrouter"},{"id":"openrouter/microsoft/mai-ds-r1","object":"model","created_at":1756168270,"cost_in":3e-7,"cost_out":0.0000012,"owned_by":"openrouter"},{"id":"openrouter/shisa-ai/shisa-v2-llama3.3-70b","object":"model","created_at":1756168270,"cost_in":5e-8,"cost_out":2.2e-7,"owned_by":"openrouter"},{"id":"openrouter/arliai/qwq-32b-arliai-rpr-v1","object":"model","created_at":1756168270,"cost_in":3e-8,"cost_out":1.1e-7,"owned_by":"openrouter"},{"id":"openrouter/qwen/qwen3-30b-a3b-instruct-2507","object":"model","created_at":1756168269,"cost_in":8e-8,"cost_out":3.3e-7,"owned_by":"openrouter"},{"id":"openrouter/z-ai/glm-4.5","object":"model","created_at":1756168269,"cost_in":3.5e-7,"cost_out":0.00000155,"owned_by":"openrouter"},{"id":"openrouter/qwen/qwen3-235b-a22b-thinking-2507","object":"model","created_at":1756168269,"cost_in":1.1e-7,"cost_out":6e-7,"owned_by":"openrouter"},{"id":"openrouter/qwen/qwen3-235b-a22b-2507","object":"model","created_at":1756168269,"cost_in":7.1e-8,"cost_out":4.63e-7,"owned_by":"openrouter"},{"id":"mistral/mistral-small-24b-instruct-2501","object":"model","created_at":1756167663,"cost_in":3e-8,"cost_out":1.1e-7,"owned_by":"mistral"},{"id":"deepseek/deepseek-chat","object":"model","created_at":1756167663,"cost_in":3e-7,"cost_out":0.0000012,"owned_by":"deepseek"},{"id":"deepseek/deepseek-r1-distill-llama-70b","object":"model","created_at":1756167663,"cost_in":3e-8,"cost_out":1.3e-7,"owned_by":"deepseek"},{"id":"google-ai-studio/gemma-2-9b-it","object":"model","created_at":1756167663,"cost_in":3e-8,"cost_out":9e-8,"owned_by":"google-ai-studio"},{"id":"deepseek/deepseek-r1-0528","object":"model","created_at":1756167662,"cost_in":4e-7,"cost_out":0.00000175,"owned_by":"deepseek"},{"id":"mistral/devstral-small-2505","object":"model","created_at":1756167662,"cost_in":6e-8,"cost_out":1.2e-7,"owned_by":"mistral"},{"id":"deepseek/tngtech/deepseek-r1t-chimera","object":"model","created_at":1756167662,"cost_in":1.7992692e-7,"cost_out":7.200576e-7,"owned_by":"deepseek"},{"id":"deepseek/deepseek-v3-base","object":"model","created_at":1756167662,"cost_in":1.99919e-7,"cost_out":8.00064e-7,"owned_by":"deepseek"},{"id":"deepseek/deepseek-chat-v3-0324","object":"model","created_at":1756167662,"cost_in":1.5e-7,"cost_out":7.5e-7,"owned_by":"deepseek"},{"id":"mistral/mistral-small-3.1-24b-instruct","object":"model","created_at":1756167662,"cost_in":3e-8,"cost_out":1.1e-7,"owned_by":"mistral"},{"id":"google-ai-studio/gemma-3-12b-it","object":"model","created_at":1756167662,"cost_in":3e-8,"cost_out":1e-7,"owned_by":"google-ai-studio"},{"id":"google-ai-studio/gemma-3-27b-it","object":"model","created_at":1756167662,"cost_in":4e-8,"cost_out":1.5e-7,"owned_by":"google-ai-studio"},{"id":"openrouter/alpindale/goliath-120b","object":"model","created_at":1755995442,"cost_in":0.000006,"cost_out":0.000008,"owned_by":"openrouter"},{"id":"openrouter/mancer/weaver","object":"model","created_at":1755995442,"cost_in":7.5e-7,"cost_out":0.000001,"owned_by":"openrouter"},{"id":"openrouter/undi95/remm-slerp-l2-13b","object":"model","created_at":1755995442,"cost_in":4.5e-7,"cost_out":6.5e-7,"owned_by":"openrouter"},{"id":"openrouter/anthracite-org/magnum-v4-72b","object":"model","created_at":1755995440,"cost_in":0.000003,"cost_out":0.000005,"owned_by":"openrouter"},{"id":"openrouter/thedrummer/rocinante-12b","object":"model","created_at":1755995440,"cost_in":1.7e-7,"cost_out":4.3e-7,"owned_by":"openrouter"},{"id":"openrouter/meta-llama/llama-3.2-11b-vision-instruct","object":"model","created_at":1755995440,"cost_in":4.9e-8,"cost_out":4.9e-8,"owned_by":"openrouter"},{"id":"openrouter/neversleep/llama-3.1-lumimaid-8b","object":"model","created_at":1755995440,"cost_in":9e-8,"cost_out":6e-7,"owned_by":"openrouter"},{"id":"openrouter/cognitivecomputations/dolphin3.0-mistral-24b","object":"model","created_at":1755995439,"cost_in":4e-8,"cost_out":1.7e-7,"owned_by":"openrouter"},{"id":"openrouter/deepseek/deepseek-r1-distill-qwen-14b","object":"model","created_at":1755995439,"cost_in":1.2e-7,"cost_out":1.2e-7,"owned_by":"openrouter"},{"id":"openrouter/anthropic/claude-3.7-sonnet","object":"model","created_at":1755995438,"cost_in":0.000003,"cost_out":0.000015,"owned_by":"openrouter"},{"id":"openrouter/thudm/glm-4-32b","object":"model","created_at":1755995437,"cost_in":5.5e-7,"cost_out":0.00000166,"owned_by":"openrouter"},{"id":"openrouter/mistralai/mistral-small-3.2-24b-instruct","object":"model","created_at":1755995436,"cost_in":6e-8,"cost_out":1.8e-7,"owned_by":"openrouter"},{"id":"openrouter/google/gemma-3n-e4b-it","object":"model","created_at":1755995436,"cost_in":2e-8,"cost_out":4e-8,"owned_by":"openrouter"},{"id":"openrouter/z-ai/glm-4.5v","object":"model","created_at":1755995435,"cost_in":4.8e-7,"cost_out":0.00000144,"owned_by":"openrouter"},{"id":"openrouter/openai/gpt-oss-120b","object":"model","created_at":1755995435,"cost_in":3.9e-8,"cost_out":1.9e-7,"owned_by":"openrouter"},{"id":"openrouter/openai/gpt-oss-20b","object":"model","created_at":1755995435,"cost_in":3e-8,"cost_out":1.4e-7,"owned_by":"openrouter"},{"id":"openrouter/qwen/qwen3-coder","object":"model","created_at":1755995435,"cost_in":2.2e-7,"cost_out":9.5e-7,"owned_by":"openrouter"},{"id":"openrouter/moonshotai/kimi-k2","object":"model","created_at":1755995435,"cost_in":4.56e-7,"cost_out":0.00000184,"owned_by":"openrouter"},{"id":"cerebras-ai/qwen-3-coder-480b","object":"model","created_at":1755950596,"cost_in":0.000002,"cost_out":0.000002,"owned_by":"cerebras-ai"},{"id":"deepseek/deepseek-chat-v3.1:thinking","object":"model","created_at":1755950596,"cost_in":5.5e-7,"cost_out":0.00000219,"owned_by":"deepseek"},{"id":"openai/o3-mini-2025-01-31","object":"model","created_at":1755950595,"cost_in":0.0000011,"cost_out":0.0000044,"owned_by":"openai"},{"id":"deepseek/deepseek-chat-v3","object":"model","created_at":1755950595,"cost_in":3e-7,"cost_out":0.0000012,"owned_by":"deepseek"},{"id":"cerebras-ai/gpt-oss-120b","object":"model","created_at":1755950595,"cost_in":2.5e-7,"cost_out":6.9e-7,"owned_by":"cerebras-ai"},{"id":"mistral/mistral-saba-2502","object":"model","created_at":1755950594,"cost_in":2e-7,"cost_out":6e-7,"owned_by":"mistral"},{"id":"openai/o3-mini-high-2025-01-31","object":"model","created_at":1755950594,"cost_in":0.0000011,"cost_out":0.0000044,"owned_by":"openai"},{"id":"mistral/mistral-small-3.1-24b-instruct-2503","object":"model","created_at":1755950593,"cost_in":3e-8,"cost_out":1.1e-7,"owned_by":"mistral"},{"id":"openai/gpt-4o-mini-search-preview-2025-03-11","object":"model","created_at":1755950593,"cost_in":1.5e-7,"cost_out":6e-7,"owned_by":"openai"},{"id":"openai/gpt-4o-search-preview-2025-03-11","object":"model","created_at":1755950593,"cost_in":0.0000025,"cost_out":0.00001,"owned_by":"openai"},{"id":"openai/o4-mini-high-2025-04-16","object":"model","created_at":1755950592,"cost_in":0.0000011,"cost_out":0.0000044,"owned_by":"openai"},{"id":"openai/o3-2025-04-16","object":"model","created_at":1755950592,"cost_in":0.000002,"cost_out":0.000008,"owned_by":"openai"},{"id":"openai/o4-mini-2025-04-16","object":"model","created_at":1755950592,"cost_in":0.0000011,"cost_out":0.0000044,"owned_by":"openai"},{"id":"anthropic/claude-4-opus-20250522","object":"model","created_at":1755950591,"cost_in":0.000015,"cost_out":0.000075,"owned_by":"anthropic"},{"id":"anthropic/claude-4-sonnet-20250522","object":"model","created_at":1755950591,"cost_in":0.000003,"cost_out":0.000015,"owned_by":"anthropic"},{"id":"grok/grok-4-07-09","object":"model","created_at":1755950590,"cost_in":0.000003,"cost_out":0.000015,"owned_by":"grok"},{"id":"mistral/mistral-small-3.2-24b-instruct-2506","object":"model","created_at":1755950590,"cost_in":6e-8,"cost_out":1.8e-7,"owned_by":"mistral"},{"id":"openai/o3-pro-2025-06-10","object":"model","created_at":1755950590,"cost_in":0.00002,"cost_out":0.00008,"owned_by":"openai"},{"id":"openai/gpt-5-nano-2025-08-07","object":"model","created_at":1755950589,"cost_in":5e-8,"cost_out":4e-7,"owned_by":"openai"},{"id":"anthropic/claude-4.1-opus-20250805","object":"model","created_at":1755950589,"cost_in":0.000015,"cost_out":0.000075,"owned_by":"anthropic"},{"id":"openai/gpt-5-chat-2025-08-07","object":"model","created_at":1755950588,"cost_in":0.00000125,"cost_out":0.00001,"owned_by":"openai"},{"id":"openai/gpt-5-2025-08-07","object":"model","created_at":1755950588,"cost_in":0.00000125,"cost_out":0.00001,"owned_by":"openai"},{"id":"openai/gpt-5-mini-2025-08-07","object":"model","created_at":1755950588,"cost_in":2.5e-7,"cost_out":0.000002,"owned_by":"openai"},{"id":"google-vertex-ai/gemini-2.5-flash-preview-04-17","object":"model","created_at":1755950587,"cost_in":1.5e-7,"cost_out":6e-7,"owned_by":"google-vertex-ai"},{"id":"google-vertex-ai/gemini-2.5-flash-lite-preview-06-17","object":"model","created_at":1755950587,"cost_in":1e-7,"cost_out":4e-7,"owned_by":"google-vertex-ai"},{"id":"google-vertex-ai/gemini-2.0-flash","object":"model","created_at":1755950586,"cost_in":1e-7,"cost_out":4e-7,"owned_by":"google-vertex-ai"},{"id":"google-vertex-ai/gemini-2.5-flash-preview-05-20","object":"model","created_at":1755950586,"cost_in":1.5e-7,"cost_out":6e-7,"owned_by":"google-vertex-ai"},{"id":"google-vertex-ai/gemini-2.5-pro-preview-05-06","object":"model","created_at":1755950586,"cost_in":0.00000125,"cost_out":0.00001,"owned_by":"google-vertex-ai"},{"id":"google-vertex-ai/gemini-2.5-pro","object":"model","created_at":1755950585,"cost_in":0.00000125,"cost_out":0.00001,"owned_by":"google-vertex-ai"},{"id":"google-vertex-ai/gemini-2.0-flash-lite","object":"model","created_at":1755950585,"cost_in":7.5e-8,"cost_out":3e-7,"owned_by":"google-vertex-ai"},{"id":"google-vertex-ai/gemini-2.5-pro-preview-06-05","object":"model","created_at":1755950585,"cost_in":0.00000125,"cost_out":0.00001,"owned_by":"google-vertex-ai"},{"id":"openrouter/mistralai/devstral-medium-2507","object":"model","created_at":1755950584,"cost_in":4e-7,"cost_out":0.000002,"owned_by":"openrouter"},{"id":"openrouter/nousresearch/deephermes-3-llama-3-8b-preview","object":"model","created_at":1755950584,"cost_in":3e-8,"cost_out":1.1e-7,"owned_by":"openrouter"},{"id":"openrouter/featherless/qwerky-72b","object":"model","created_at":1755950583,"cost_in":0,"cost_out":0,"owned_by":"openrouter"},{"id":"openrouter/google/gemini-2.5-pro-preview-06-05","object":"model","created_at":1755950583,"cost_in":0.00000125,"cost_out":0.00001,"owned_by":"openrouter"},{"id":"openrouter/mistralai/devstral-small-2507","object":"model","created_at":1755950583,"cost_in":1e-7,"cost_out":3e-7,"owned_by":"openrouter"},{"id":"openai/o4-mini-deep-research","object":"model","created_at":1755950582,"cost_in":0.000002,"cost_out":0.000008,"owned_by":"openai"},{"id":"openai/o3-deep-research","object":"model","created_at":1755950582,"cost_in":0.00001,"cost_out":0.00004,"owned_by":"openai"},{"id":"mistral/devstral-medium-2507","object":"model","created_at":1755950581,"cost_in":4e-7,"cost_out":0.000002,"owned_by":"mistral"},{"id":"openai/codex-mini-latest","object":"model","created_at":1755950581,"cost_in":0.0000015,"cost_out":0.000006,"owned_by":"openai"},{"id":"openai/gpt-5-chat-latest","object":"model","created_at":1755950581,"cost_in":0.00000125,"cost_out":0.00001,"owned_by":"openai"},{"id":"mistral/magistral-medium-latest","object":"model","created_at":1755950580,"cost_in":0.000002,"cost_out":0.000005,"owned_by":"mistral"},{"id":"mistral/magistral-small","object":"model","created_at":1755950580,"cost_in":5e-7,"cost_out":0.0000015,"owned_by":"mistral"},{"id":"mistral/devstral-small-2507","object":"model","created_at":1755950580,"cost_in":7e-8,"cost_out":2.8e-7,"owned_by":"mistral"},{"id":"huggingface/Qwen/Qwen3-Coder-480B-A35B-Instruct","object":"model","created_at":1755950579,"cost_in":0.000002,"cost_out":0.000002,"owned_by":"huggingface"},{"id":"huggingface/moonshotai/Kimi-K2-Instruct","object":"model","created_at":1755950579,"cost_in":0.000001,"cost_out":0.000003,"owned_by":"huggingface"},{"id":"huggingface/zai-org/GLM-4.5-Air","object":"model","created_at":1755950578,"cost_in":2e-7,"cost_out":0.0000011,"owned_by":"huggingface"},{"id":"huggingface/zai-org/GLM-4.5","object":"model","created_at":1755950578,"cost_in":6e-7,"cost_out":0.0000022,"owned_by":"huggingface"},{"id":"huggingface/Qwen/Qwen3-235B-A22B-Thinking-2507","object":"model","created_at":1755950578,"cost_in":3e-7,"cost_out":0.000003,"owned_by":"huggingface"},{"id":"huggingface/deepseek-ai/DeepSeek-R1-0528","object":"model","created_at":1755950577,"cost_in":0.000003,"cost_out":0.000005,"owned_by":"huggingface"},{"id":"huggingface/deepseek-ai/Deepseek-V3-0324","object":"model","created_at":1755950577,"cost_in":0.00000125,"cost_out":0.00000125,"owned_by":"huggingface"},{"id":"groq/meta-llama/llama-guard-4-12b","object":"model","created_at":1755950576,"cost_in":2e-7,"cost_out":2e-7,"owned_by":"groq"},{"id":"groq/qwen/qwen3-32b","object":"model","created_at":1755950576,"cost_in":2.9e-7,"cost_out":5.9e-7,"owned_by":"groq"},{"id":"groq/moonshotai/kimi-k2-instruct","object":"model","created_at":1755950576,"cost_in":0.000001,"cost_out":0.000003,"owned_by":"groq"},{"id":"groq/mistral-saba-24b","object":"model","created_at":1755950575,"cost_in":7.9e-7,"cost_out":7.9e-7,"owned_by":"groq"},{"id":"groq/openai/gpt-oss-120b","object":"model","created_at":1755950575,"cost_in":1.5e-7,"cost_out":7.5e-7,"owned_by":"groq"},{"id":"groq/openai/gpt-oss-20b","object":"model","created_at":1755950575,"cost_in":1e-7,"cost_out":5e-7,"owned_by":"groq"},{"id":"groq/deepseek-r1-distill-llama-70b","object":"model","created_at":1755950574,"cost_in":7.5e-7,"cost_out":9.9e-7,"owned_by":"groq"},{"id":"groq/qwen-qwq-32b","object":"model","created_at":1755950574,"cost_in":2.9e-7,"cost_out":3.9e-7,"owned_by":"groq"},{"id":"grok/grok-2-latest","object":"model","created_at":1755950573,"cost_in":0.000002,"cost_out":0.00001,"owned_by":"grok"},{"id":"grok/grok-3-mini-fast-latest","object":"model","created_at":1755950573,"cost_in":6e-7,"cost_out":0.000004,"owned_by":"grok"},{"id":"grok/grok-3-latest","object":"model","created_at":1755950573,"cost_in":0.000003,"cost_out":0.000015,"owned_by":"grok"},{"id":"grok/grok-3-mini-fast","object":"model","created_at":1755950572,"cost_in":6e-7,"cost_out":0.000004,"owned_by":"grok"},{"id":"grok/grok-3-fast","object":"model","created_at":1755950572,"cost_in":0.000005,"cost_out":0.000025,"owned_by":"grok"},{"id":"grok/grok-3-fast-latest","object":"model","created_at":1755950572,"cost_in":0.000005,"cost_out":0.000025,"owned_by":"grok"},{"id":"grok/grok-2-vision","object":"model","created_at":1755950571,"cost_in":0.000002,"cost_out":0.00001,"owned_by":"grok"},{"id":"grok/grok-2","object":"model","created_at":1755950571,"cost_in":0.000002,"cost_out":0.00001,"owned_by":"grok"},{"id":"google-ai-studio/gemini-1.5-flash-8b","object":"model","created_at":1755950570,"cost_in":3.75e-8,"cost_out":1.5e-7,"owned_by":"google-ai-studio"},{"id":"grok/grok-3-mini-latest","object":"model","created_at":1755950570,"cost_in":3e-7,"cost_out":5e-7,"owned_by":"grok"},{"id":"grok/grok-2-vision-latest","object":"model","created_at":1755950570,"cost_in":0.000002,"cost_out":0.00001,"owned_by":"grok"},{"id":"google-ai-studio/gemini-2.0-flash-lite","object":"model","created_at":1755950569,"cost_in":7.5e-8,"cost_out":3e-7,"owned_by":"google-ai-studio"},{"id":"google-ai-studio/gemini-1.5-flash","object":"model","created_at":1755950569,"cost_in":7.5e-8,"cost_out":3e-7,"owned_by":"google-ai-studio"},{"id":"azure-openai/o3-mini","object":"model","created_at":1755950568,"cost_in":0.0000011,"cost_out":0.0000044,"owned_by":"azure-openai"},{"id":"azure-openai/o4-mini","object":"model","created_at":1755950568,"cost_in":0.0000011,"cost_out":0.0000044,"owned_by":"azure-openai"},{"id":"google-ai-studio/gemini-1.5-pro","object":"model","created_at":1755950568,"cost_in":0.00000125,"cost_out":0.000005,"owned_by":"google-ai-studio"},{"id":"azure-openai/o3","object":"model","created_at":1755950567,"cost_in":0.000002,"cost_out":0.000008,"owned_by":"azure-openai"},{"id":"azure-openai/o1","object":"model","created_at":1755950567,"cost_in":0.000015,"cost_out":0.00006,"owned_by":"azure-openai"},{"id":"azure-openai/gpt-3.5-turbo-0301","object":"model","created_at":1755950567,"cost_in":0.0000015,"cost_out":0.000002,"owned_by":"azure-openai"},{"id":"azure-openai/gpt-5-chat","object":"model","created_at":1755950566,"cost_in":0.00000125,"cost_out":0.00001,"owned_by":"azure-openai"},{"id":"azure-openai/gpt-4.1-mini","object":"model","created_at":1755950566,"cost_in":4e-7,"cost_out":0.0000016,"owned_by":"azure-openai"},{"id":"azure-openai/gpt-3.5-turbo-instruct","object":"model","created_at":1755950565,"cost_in":0.0000015,"cost_out":0.000002,"owned_by":"azure-openai"},{"id":"azure-openai/o1-mini","object":"model","created_at":1755950565,"cost_in":0.0000011,"cost_out":0.0000044,"owned_by":"azure-openai"},{"id":"azure-openai/gpt-4o","object":"model","created_at":1755950565,"cost_in":0.0000025,"cost_out":0.00001,"owned_by":"azure-openai"},{"id":"azure-openai/gpt-4.1-nano","object":"model","created_at":1755950564,"cost_in":1e-7,"cost_out":4e-7,"owned_by":"azure-openai"},{"id":"azure-openai/gpt-4.1","object":"model","created_at":1755950564,"cost_in":0.000002,"cost_out":0.000008,"owned_by":"azure-openai"},{"id":"azure-openai/o1-preview","object":"model","created_at":1755950563,"cost_in":0.0000165,"cost_out":0.000066,"owned_by":"azure-openai"},{"id":"azure-openai/gpt-4-turbo","object":"model","created_at":1755950563,"cost_in":0.00001,"cost_out":0.00003,"owned_by":"azure-openai"},{"id":"azure-openai/gpt-5-nano","object":"model","created_at":1755950563,"cost_in":5e-8,"cost_out":4e-7,"owned_by":"azure-openai"},{"id":"azure-openai/codex-mini","object":"model","created_at":1755950562,"cost_in":0.0000015,"cost_out":0.000006,"owned_by":"azure-openai"},{"id":"azure-openai/gpt-4-turbo-vision","object":"model","created_at":1755950562,"cost_in":0.00001,"cost_out":0.00003,"owned_by":"azure-openai"},{"id":"azure-openai/gpt-3.5-turbo-0613","object":"model","created_at":1755950562,"cost_in":0.000003,"cost_out":0.000004,"owned_by":"azure-openai"},{"id":"azure-openai/gpt-5","object":"model","created_at":1755950561,"cost_in":0.00000125,"cost_out":0.00001,"owned_by":"azure-openai"},{"id":"azure-openai/gpt-5-mini","object":"model","created_at":1755950561,"cost_in":2.5e-7,"cost_out":0.000002,"owned_by":"azure-openai"},{"id":"aws-bedrock/meta.llama3-2-11b-instruct-v1:0","object":"model","created_at":1755950560,"cost_in":1.6e-7,"cost_out":1.6e-7,"owned_by":"aws-bedrock"},{"id":"aws-bedrock/amazon.nova-micro-v1:0","object":"model","created_at":1755950560,"cost_in":3.5e-8,"cost_out":1.4e-7,"owned_by":"aws-bedrock"},{"id":"anthropic/claude-opus-4-1-20250805","object":"model","created_at":1755950560,"cost_in":0.000015,"cost_out":0.000075,"owned_by":"anthropic"},{"id":"aws-bedrock/anthropic.claude-sonnet-4-20250514-v1:0","object":"model","created_at":1755950559,"cost_in":0.000003,"cost_out":0.000015,"owned_by":"aws-bedrock"},{"id":"aws-bedrock/anthropic.claude-opus-4-1-20250805-v1:0","object":"model","created_at":1755950559,"cost_in":0.000015,"cost_out":0.000075,"owned_by":"aws-bedrock"},{"id":"aws-bedrock/anthropic.claude-3-opus-20240229-v1:0","object":"model","created_at":1755950558,"cost_in":0.000015,"cost_out":0.000075,"owned_by":"aws-bedrock"},{"id":"aws-bedrock/anthropic.claude-3-5-sonnet-20240620-v1:0","object":"model","created_at":1755950558,"cost_in":0.000003,"cost_out":0.000015,"owned_by":"aws-bedrock"},{"id":"aws-bedrock/meta.llama3-3-70b-instruct-v1:0","object":"model","created_at":1755950558,"cost_in":7.2e-7,"cost_out":7.2e-7,"owned_by":"aws-bedrock"},{"id":"aws-bedrock/ai21.jamba-1-5-large-v1:0","object":"model","created_at":1755950557,"cost_in":0.000002,"cost_out":0.000008,"owned_by":"aws-bedrock"},{"id":"aws-bedrock/anthropic.claude-v2","object":"model","created_at":1755950557,"cost_in":0.000008,"cost_out":0.000024,"owned_by":"aws-bedrock"},{"id":"aws-bedrock/meta.llama3-70b-instruct-v1:0","object":"model","created_at":1755950556,"cost_in":0.00000265,"cost_out":0.0000035,"owned_by":"aws-bedrock"},{"id":"aws-bedrock/cohere.command-r-plus-v1:0","object":"model","created_at":1755950556,"cost_in":0.000003,"cost_out":0.000015,"owned_by":"aws-bedrock"},{"id":"aws-bedrock/meta.llama3-2-90b-instruct-v1:0","object":"model","created_at":1755950556,"cost_in":7.2e-7,"cost_out":7.2e-7,"owned_by":"aws-bedrock"},{"id":"aws-bedrock/anthropic.claude-3-sonnet-20240229-v1:0","object":"model","created_at":1755950555,"cost_in":0.000003,"cost_out":0.000015,"owned_by":"aws-bedrock"},{"id":"aws-bedrock/meta.llama4-scout-17b-instruct-v1:0","object":"model","created_at":1755950555,"cost_in":1.7e-7,"cost_out":6.6e-7,"owned_by":"aws-bedrock"},{"id":"aws-bedrock/amazon.nova-premier-v1:0","object":"model","created_at":1755950554,"cost_in":0.0000025,"cost_out":0.0000125,"owned_by":"aws-bedrock"},{"id":"aws-bedrock/meta.llama3-8b-instruct-v1:0","object":"model","created_at":1755950554,"cost_in":3e-7,"cost_out":6e-7,"owned_by":"aws-bedrock"},{"id":"aws-bedrock/cohere.command-r-v1:0","object":"model","created_at":1755950554,"cost_in":5e-7,"cost_out":0.0000015,"owned_by":"aws-bedrock"},{"id":"aws-bedrock/amazon.nova-lite-v1:0","object":"model","created_at":1755950553,"cost_in":6e-8,"cost_out":2.4e-7,"owned_by":"aws-bedrock"},{"id":"aws-bedrock/deepseek.r1-v1:0","object":"model","created_at":1755950553,"cost_in":0.00000135,"cost_out":0.0000054,"owned_by":"aws-bedrock"},{"id":"aws-bedrock/anthropic.claude-3-haiku-20240307-v1:0","object":"model","created_at":1755950553,"cost_in":2.5e-7,"cost_out":0.00000125,"owned_by":"aws-bedrock"},{"id":"aws-bedrock/meta.llama3-1-8b-instruct-v1:0","object":"model","created_at":1755950552,"cost_in":2.2e-7,"cost_out":2.2e-7,"owned_by":"aws-bedrock"},{"id":"aws-bedrock/anthropic.claude-3-5-sonnet-20241022-v2:0","object":"model","created_at":1755950552,"cost_in":0.000003,"cost_out":0.000015,"owned_by":"aws-bedrock"},{"id":"aws-bedrock/meta.llama4-maverick-17b-instruct-v1:0","object":"model","created_at":1755950551,"cost_in":2.4e-7,"cost_out":9.7e-7,"owned_by":"aws-bedrock"},{"id":"aws-bedrock/anthropic.claude-instant-v1","object":"model","created_at":1755950551,"cost_in":8e-7,"cost_out":0.0000024,"owned_by":"aws-bedrock"},{"id":"aws-bedrock/meta.llama3-1-70b-instruct-v1:0","object":"model","created_at":1755950551,"cost_in":7.2e-7,"cost_out":7.2e-7,"owned_by":"aws-bedrock"},{"id":"aws-bedrock/ai21.jamba-1-5-mini-v1:0","object":"model","created_at":1755950550,"cost_in":2e-7,"cost_out":4e-7,"owned_by":"aws-bedrock"},{"id":"aws-bedrock/anthropic.claude-opus-4-20250514-v1:0","object":"model","created_at":1755950550,"cost_in":0.000015,"cost_out":0.000075,"owned_by":"aws-bedrock"},{"id":"aws-bedrock/cohere.command-light-text-v14","object":"model","created_at":1755950549,"cost_in":3e-7,"cost_out":6e-7,"owned_by":"aws-bedrock"},{"id":"aws-bedrock/meta.llama3-2-3b-instruct-v1:0","object":"model","created_at":1755950549,"cost_in":1.5e-7,"cost_out":1.5e-7,"owned_by":"aws-bedrock"},{"id":"aws-bedrock/anthropic.claude-v2:1","object":"model","created_at":1755950549,"cost_in":0.000008,"cost_out":0.000024,"owned_by":"aws-bedrock"},{"id":"aws-bedrock/anthropic.claude-3-7-sonnet-20250219-v1:0","object":"model","created_at":1755950548,"cost_in":0.000003,"cost_out":0.000015,"owned_by":"aws-bedrock"},{"id":"aws-bedrock/amazon.nova-pro-v1:0","object":"model","created_at":1755950548,"cost_in":8e-7,"cost_out":0.0000032,"owned_by":"aws-bedrock"},{"id":"aws-bedrock/meta.llama3-2-1b-instruct-v1:0","object":"model","created_at":1755950548,"cost_in":1e-7,"cost_out":1e-7,"owned_by":"aws-bedrock"},{"id":"workers-ai/llama-3.1-8b-instruct","object":"model","created_at":1755950547,"cost_in":0.28,"cost_out":0.83,"owned_by":"workers-ai"},{"id":"aws-bedrock/anthropic.claude-3-5-haiku-20241022-v1:0","object":"model","created_at":1755950547,"cost_in":8e-7,"cost_out":0.000004,"owned_by":"aws-bedrock"},{"id":"workers-ai/llama-3.2-11b-vision-instruct","object":"model","created_at":1755950546,"cost_in":0.049,"cost_out":0.68,"owned_by":"workers-ai"},{"id":"workers-ai/bge-large-en-v1.5","object":"model","created_at":1755950546,"cost_in":0.2,"cost_out":0,"owned_by":"workers-ai"},{"id":"workers-ai/bge-base-en-v1.5","object":"model","created_at":1755950546,"cost_in":0.067,"cost_out":0,"owned_by":"workers-ai"},{"id":"workers-ai/llama-3.1-8b-instruct-awq","object":"model","created_at":1755950545,"cost_in":0.12,"cost_out":0.27,"owned_by":"workers-ai"},{"id":"workers-ai/llama-3-8b-instruct-awq","object":"model","created_at":1755950545,"cost_in":0.12,"cost_out":0.27,"owned_by":"workers-ai"},{"id":"workers-ai/bge-small-en-v1.5","object":"model","created_at":1755950544,"cost_in":0.02,"cost_out":0,"owned_by":"workers-ai"},{"id":"workers-ai/m2m100-1.2b","object":"model","created_at":1755950544,"cost_in":0.34,"cost_out":0.34,"owned_by":"workers-ai"},{"id":"workers-ai/llama-3.3-70b-instruct-fp8-fast","object":"model","created_at":1755950544,"cost_in":0.29,"cost_out":2.25,"owned_by":"workers-ai"},{"id":"workers-ai/llama-3.2-1b-instruct","object":"model","created_at":1755950543,"cost_in":0.027,"cost_out":0.2,"owned_by":"workers-ai"},{"id":"workers-ai/llama-3.1-8b-instruct-fp8","object":"model","created_at":1755950543,"cost_in":0.15,"cost_out":0.29,"owned_by":"workers-ai"},{"id":"workers-ai/distilbert-sst-2-int8","object":"model","created_at":1755950542,"cost_in":0.026,"cost_out":0,"owned_by":"workers-ai"},{"id":"workers-ai/llama-3.2-3b-instruct","object":"model","created_at":1755950542,"cost_in":0.051,"cost_out":0.34,"owned_by":"workers-ai"},{"id":"workers-ai/deepseek-r1-distill-qwen-32b","object":"model","created_at":1755950542,"cost_in":0.5,"cost_out":4.88,"owned_by":"workers-ai"},{"id":"workers-ai/llama-3-8b-instruct","object":"model","created_at":1755950541,"cost_in":0.28,"cost_out":0.83,"owned_by":"workers-ai"},{"id":"workers-ai/llama-2-7b-chat-fp16","object":"model","created_at":1755950541,"cost_in":0.56,"cost_out":6.67,"owned_by":"workers-ai"},{"id":"workers-ai/mistral-7b-instruct-v0.1","object":"model","created_at":1755950541,"cost_in":0.11,"cost_out":0.19,"owned_by":"workers-ai"},{"id":"workers-ai/bge-m3","object":"model","created_at":1755950540,"cost_in":0.012,"cost_out":0,"owned_by":"workers-ai"},{"id":"workers-ai/llama-guard-3-8b","object":"model","created_at":1755950540,"cost_in":0.48,"cost_out":0.03,"owned_by":"workers-ai"},{"id":"openrouter/deepseek/deepseek-chat-v3.1","object":"model","created_at":1755822610,"cost_in":1.5e-7,"cost_out":7.5e-7,"owned_by":"openrouter"},{"id":"deepseek/deepseek-chat-v3.1","object":"model","created_at":1755822007,"cost_in":1.5e-7,"cost_out":7.5e-7,"owned_by":"deepseek"},{"id":"openrouter/neversleep/noromaid-20b","object":"model","created_at":1755736216,"cost_in":0.000001,"cost_out":0.00000175,"owned_by":"openrouter"},{"id":"openrouter/deepseek/deepseek-v3.1-base","object":"model","created_at":1755736212,"cost_in":2.5e-7,"cost_out":0.000001,"owned_by":"openrouter"},{"id":"deepseek/deepseek-v3.1-base","object":"model","created_at":1755735607,"cost_in":2.5e-7,"cost_out":0.000001,"owned_by":"deepseek"},{"id":"openrouter/openai/gpt-4o-audio-preview","object":"model","created_at":1755649817,"cost_in":0.0000025,"cost_out":0.00001,"owned_by":"openrouter"},{"id":"openai/gpt-4o-audio-preview","object":"model","created_at":1755649213,"cost_in":0.0000025,"cost_out":0.00001,"owned_by":"openai"},{"id":"openai/gpt-oss-120b","object":"model","created_at":1755562860,"cost_in":3.9e-8,"cost_out":1.9e-7,"owned_by":"openai"},{"id":"openai/gpt-oss-20b","object":"model","created_at":1755562860,"cost_in":3e-8,"cost_out":1.4e-7,"owned_by":"openai"},{"id":"openrouter/baidu/ernie-4.5-vl-424b-a47b","object":"model","created_at":1755477041,"cost_in":3.36e-7,"cost_out":0.000001,"owned_by":"openrouter"},{"id":"mistral/mistral-small-3.2-24b-instruct","object":"model","created_at":1755476438,"cost_in":6e-8,"cost_out":1.8e-7,"owned_by":"mistral"},{"id":"openrouter/baidu/ernie-4.5-vl-28b-a3b","object":"model","created_at":1755304259,"cost_in":1.12e-7,"cost_out":4.48e-7,"owned_by":"openrouter"},{"id":"openrouter/baidu/ernie-4.5-21b-a3b","object":"model","created_at":1755304259,"cost_in":5.6e-8,"cost_out":2.24e-7,"owned_by":"openrouter"},{"id":"openrouter/mistralai/mistral-medium-3.1","object":"model","created_at":1755131433,"cost_in":4e-7,"cost_out":0.000002,"owned_by":"openrouter"},{"id":"mistral/mistral-medium-3.1","object":"model","created_at":1755130831,"cost_in":4e-7,"cost_out":0.000002,"owned_by":"mistral"},{"id":"openrouter/gryphe/mythomax-l2-13b","object":"model","created_at":1755045070,"cost_in":6e-8,"cost_out":6e-8,"owned_by":"openrouter"},{"id":"openrouter/google/gemma-2-27b-it","object":"model","created_at":1755045069,"cost_in":6.5e-7,"cost_out":6.5e-7,"owned_by":"openrouter"},{"id":"openrouter/thedrummer/unslopnemo-12b","object":"model","created_at":1755045068,"cost_in":4e-7,"cost_out":4e-7,"owned_by":"openrouter"},{"id":"openrouter/microsoft/phi-4","object":"model","created_at":1755045067,"cost_in":6e-8,"cost_out":1.4e-7,"owned_by":"openrouter"},{"id":"openrouter/cohere/command-a","object":"model","created_at":1755045066,"cost_in":0.0000025,"cost_out":0.00001,"owned_by":"openrouter"},{"id":"openrouter/thedrummer/anubis-70b-v1.1","object":"model","created_at":1755045064,"cost_in":7.5e-7,"cost_out":0.000001,"owned_by":"openrouter"},{"id":"google-ai-studio/gemma-2-27b-it","object":"model","created_at":1755044450,"cost_in":6.5e-7,"cost_out":6.5e-7,"owned_by":"google-ai-studio"},{"id":"cohere/command-a","object":"model","created_at":1755044449,"cost_in":0.0000025,"cost_out":0.00001,"owned_by":"cohere"},{"id":"openrouter/meta-llama/llama-guard-4-12b","object":"model","created_at":1754958665,"cost_in":1.8e-7,"cost_out":1.8e-7,"owned_by":"openrouter"},{"id":"openrouter/pygmalionai/mythalion-13b","object":"model","created_at":1754699414,"cost_in":7e-7,"cost_out":0.0000011,"owned_by":"openrouter"},{"id":"openrouter/ai21/jamba-large-1.7","object":"model","created_at":1754699413,"cost_in":0.000002,"cost_out":0.000008,"owned_by":"openrouter"},{"id":"openrouter/ai21/jamba-mini-1.7","object":"model","created_at":1754699413,"cost_in":2e-7,"cost_out":4e-7,"owned_by":"openrouter"},{"id":"openrouter/alfredpros/codellama-7b-instruct-solidity","object":"model","created_at":1754699413,"cost_in":8e-7,"cost_out":0.0000012,"owned_by":"openrouter"},{"id":"openrouter/openai/gpt-5","object":"model","created_at":1754613013,"cost_in":0.00000125,"cost_out":0.00001,"owned_by":"openrouter"},{"id":"openrouter/openai/gpt-5-nano","object":"model","created_at":1754613013,"cost_in":5e-8,"cost_out":4e-7,"owned_by":"openrouter"},{"id":"openrouter/openai/gpt-5-mini","object":"model","created_at":1754613013,"cost_in":2.5e-7,"cost_out":0.000002,"owned_by":"openrouter"},{"id":"openrouter/openai/gpt-5-chat","object":"model","created_at":1754613013,"cost_in":0.00000125,"cost_out":0.00001,"owned_by":"openrouter"},{"id":"openai/gpt-5-mini","object":"model","created_at":1754612410,"cost_in":2.5e-7,"cost_out":0.000002,"owned_by":"openai"},{"id":"openai/gpt-5-chat","object":"model","created_at":1754612410,"cost_in":0.00000125,"cost_out":0.00001,"owned_by":"openai"},{"id":"openai/gpt-5-nano","object":"model","created_at":1754612410,"cost_in":5e-8,"cost_out":4e-7,"owned_by":"openai"},{"id":"openai/gpt-5","object":"model","created_at":1754612410,"cost_in":0.00000125,"cost_out":0.00001,"owned_by":"openai"},{"id":"openrouter/openai/gpt-oss-20b:free","object":"model","created_at":1754526652,"cost_in":0,"cost_out":0,"owned_by":"openrouter"},{"id":"openai/gpt-oss-20b:free","object":"model","created_at":1754526043,"cost_in":0,"cost_out":0,"owned_by":"openai"},{"id":"openrouter/anthropic/claude-opus-4.1","object":"model","created_at":1754440250,"cost_in":0.000015,"cost_out":0.000075,"owned_by":"openrouter"},{"id":"anthropic/claude-opus-4.1","object":"model","created_at":1754439646,"cost_in":0.000015,"cost_out":0.000075,"owned_by":"anthropic"},{"id":"workers-ai/@cf/openai/gpt-oss-120b","object":"model","created_at":1754439044,"cost_in":3.5e-7,"cost_out":7.5e-7,"owned_by":"workers-ai"},{"id":"workers-ai/@cf/openai/gpt-oss-20b","object":"model","created_at":1754439044,"cost_in":2e-7,"cost_out":3e-7,"owned_by":"workers-ai"},{"id":"openrouter/z-ai/glm-4.5-air","object":"model","created_at":1754181044,"cost_in":1.04e-7,"cost_out":6.8e-7,"owned_by":"openrouter"},{"id":"openrouter/infermatic/mn-inferor-12b","object":"model","created_at":1754094656,"cost_in":6e-7,"cost_out":0.000001,"owned_by":"openrouter"},{"id":"openrouter/openrouter/horizon-beta","object":"model","created_at":1754094655,"cost_in":0,"cost_out":0,"owned_by":"openrouter"},{"id":"openrouter/mistralai/codestral-2508","object":"model","created_at":1754094655,"cost_in":3e-7,"cost_out":9e-7,"owned_by":"openrouter"},{"id":"openrouter/morph/morph-v3-large","object":"model","created_at":1754094655,"cost_in":9e-7,"cost_out":0.0000019,"owned_by":"openrouter"},{"id":"openrouter/morph/morph-v3-fast","object":"model","created_at":1754094655,"cost_in":8e-7,"cost_out":0.0000012,"owned_by":"openrouter"},{"id":"mistral/codestral-2508","object":"model","created_at":1754094051,"cost_in":3e-7,"cost_out":9e-7,"owned_by":"mistral"},{"id":"openrouter/openrouter/horizon-alpha","object":"model","created_at":1753921814,"cost_in":0,"cost_out":0,"owned_by":"openrouter"},{"id":"openrouter/z-ai/glm-4.5-air:free","object":"model","created_at":1753835412,"cost_in":0,"cost_out":0,"owned_by":"openrouter"},{"id":"openrouter/z-ai/glm-4-32b","object":"model","created_at":1753576252,"cost_in":1e-7,"cost_out":1e-7,"owned_by":"openrouter"},{"id":"openrouter/qwen/qwen3-235b-a22b-2507:free","object":"model","created_at":1753489827,"cost_in":0,"cost_out":0,"owned_by":"openrouter"},{"id":"openrouter/qwen/qwen3-coder:free","object":"model","created_at":1753317044,"cost_in":0,"cost_out":0,"owned_by":"openrouter"},{"id":"openrouter/google/gemini-2.5-flash-lite","object":"model","created_at":1753230623,"cost_in":1e-7,"cost_out":4e-7,"owned_by":"openrouter"},{"id":"openrouter/qwen/qwen3-235b-a22b-07-25","object":"model","created_at":1753230623,"cost_in":1.5e-7,"cost_out":8.5e-7,"owned_by":"openrouter"},{"id":"openrouter/qwen/qwen3-235b-a22b-07-25:free","object":"model","created_at":1753230623,"cost_in":0,"cost_out":0,"owned_by":"openrouter"},{"id":"openrouter/bytedance/ui-tars-1.5-7b","object":"model","created_at":1753230623,"cost_in":1e-7,"cost_out":2e-7,"owned_by":"openrouter"},{"id":"openrouter/tngtech/deepseek-r1t2-chimera","object":"model","created_at":1753230623,"cost_in":3e-7,"cost_out":0.0000012,"owned_by":"openrouter"},{"id":"openrouter/thedrummer/valkyrie-49b-v1","object":"model","created_at":1753230623,"cost_in":6.5e-7,"cost_out":0.000001,"owned_by":"openrouter"},{"id":"google-ai-studio/gemini-2.5-flash-lite","object":"model","created_at":1753230021,"cost_in":1e-7,"cost_out":4e-7,"owned_by":"google-ai-studio"},{"id":"deepseek/tngtech/deepseek-r1t2-chimera","object":"model","created_at":1753230021,"cost_in":3.02e-7,"cost_out":3.02e-7,"owned_by":"deepseek"},{"id":"openrouter/mistralai/magistral-small-2506","object":"model","created_at":1752798639,"cost_in":5e-7,"cost_out":0.0000015,"owned_by":"openrouter"},{"id":"mistral/magistral-small-2506","object":"model","created_at":1752798035,"cost_in":5e-7,"cost_out":0.0000015,"owned_by":"mistral"},{"id":"openrouter/sarvamai/sarvam-m","object":"model","created_at":1752625830,"cost_in":2.2e-8,"cost_out":2.2e-8,"owned_by":"openrouter"},{"id":"openrouter/agentica-org/deepcoder-14b-preview","object":"model","created_at":1752625830,"cost_in":1.5e-8,"cost_out":1.5e-8,"owned_by":"openrouter"},{"id":"openrouter/rekaai/reka-flash-3","object":"model","created_at":1752625830,"cost_in":0,"cost_out":0,"owned_by":"openrouter"},{"id":"openrouter/mistralai/devstral-small","object":"model","created_at":1752625829,"cost_in":7e-8,"cost_out":2.8e-7,"owned_by":"openrouter"},{"id":"openrouter/tencent/hunyuan-a13b-instruct","object":"model","created_at":1752625829,"cost_in":1.4e-7,"cost_out":5.7e-7,"owned_by":"openrouter"},{"id":"mistral/devstral-small","object":"model","created_at":1752625223,"cost_in":7e-8,"cost_out":2.8e-7,"owned_by":"mistral"},{"id":"openrouter/mistralai/mistral-nemo","object":"model","created_at":1752539441,"cost_in":2e-8,"cost_out":4e-8,"owned_by":"openrouter"},{"id":"mistral/mistral-nemo","object":"model","created_at":1752538831,"cost_in":2e-8,"cost_out":4e-8,"owned_by":"mistral"},{"id":"openrouter/deepseek/deepseek-r1","object":"model","created_at":1752453019,"cost_in":3e-7,"cost_out":0.0000012,"owned_by":"openrouter"},{"id":"openrouter/moonshotai/kimi-k2:free","object":"model","created_at":1752453017,"cost_in":0,"cost_out":0,"owned_by":"openrouter"},{"id":"deepseek/deepseek-r1","object":"model","created_at":1752452413,"cost_in":3e-7,"cost_out":0.0000012,"owned_by":"deepseek"},{"id":"openrouter/switchpoint/router","object":"model","created_at":1752280262,"cost_in":8.5e-7,"cost_out":0.0000034,"owned_by":"openrouter"},{"id":"openrouter/thudm/glm-4.1v-9b-thinking","object":"model","created_at":1752280262,"cost_in":2.8e-8,"cost_out":1.104e-7,"owned_by":"openrouter"},{"id":"openrouter/mistralai/devstral-small-2505:free","object":"model","created_at":1752193833,"cost_in":0,"cost_out":0,"owned_by":"openrouter"},{"id":"openrouter/x-ai/grok-4","object":"model","created_at":1752193832,"cost_in":0.000003,"cost_out":0.000015,"owned_by":"openrouter"},{"id":"openrouter/mistralai/devstral-medium","object":"model","created_at":1752193832,"cost_in":4e-7,"cost_out":0.000002,"owned_by":"openrouter"},{"id":"openrouter/cognitivecomputations/dolphin-mistral-24b-venice-edition:free","object":"model","created_at":1752193832,"cost_in":0,"cost_out":0,"owned_by":"openrouter"},{"id":"mistral/devstral-small-2505:free","object":"model","created_at":1752193226,"cost_in":0,"cost_out":0,"owned_by":"mistral"},{"id":"grok/grok-4","object":"model","created_at":1752193225,"cost_in":0.000003,"cost_out":0.000015,"owned_by":"grok"},{"id":"mistral/devstral-medium","object":"model","created_at":1752193225,"cost_in":4e-7,"cost_out":0.000002,"owned_by":"mistral"},{"id":"openrouter/google/gemma-3n-e2b-it:free","object":"model","created_at":1752107411,"cost_in":0,"cost_out":0,"owned_by":"openrouter"},{"id":"google-ai-studio/gemma-3n-e2b-it:free","object":"model","created_at":1752106827,"cost_in":0,"cost_out":0,"owned_by":"google-ai-studio"},{"id":"openrouter/thedrummer/anubis-pro-105b-v1","object":"model","created_at":1752021028,"cost_in":5e-7,"cost_out":0.000001,"owned_by":"openrouter"},{"id":"openrouter/tencent/hunyuan-a13b-instruct:free","object":"model","created_at":1752021027,"cost_in":0,"cost_out":0,"owned_by":"openrouter"},{"id":"openrouter/tngtech/deepseek-r1t2-chimera:free","object":"model","created_at":1752021027,"cost_in":0,"cost_out":0,"owned_by":"openrouter"},{"id":"deepseek/tngtech/deepseek-r1t2-chimera:free","object":"model","created_at":1752020451,"cost_in":0,"cost_out":0,"owned_by":"deepseek"},{"id":"openrouter/neversleep/llama-3-lumimaid-8b","object":"model","created_at":1751934621,"cost_in":8e-7,"cost_out":0.0000012,"owned_by":"openrouter"},{"id":"openrouter/meta-llama/llama-3.3-70b-instruct","object":"model","created_at":1751675447,"cost_in":1e-7,"cost_out":3.2e-7,"owned_by":"openrouter"},{"id":"openrouter/meta-llama/llama-3.1-8b-instruct","object":"model","created_at":1751675447,"cost_in":2e-8,"cost_out":3e-8,"owned_by":"openrouter"},{"id":"openrouter/nousresearch/hermes-3-llama-3.1-70b","object":"model","created_at":1751502665,"cost_in":3e-7,"cost_out":3e-7,"owned_by":"openrouter"},{"id":"openrouter/baidu/ernie-4.5-300b-a47b","object":"model","created_at":1751502663,"cost_in":2.24e-7,"cost_out":8.8e-7,"owned_by":"openrouter"},{"id":"openrouter/inception/mercury-coder","object":"model","created_at":1751502663,"cost_in":2.5e-7,"cost_out":0.000001,"owned_by":"openrouter"},{"id":"openrouter/openrouter/cypher-alpha:free","object":"model","created_at":1751416237,"cost_in":0,"cost_out":0,"owned_by":"openrouter"},{"id":"openrouter/inception/mercury","object":"model","created_at":1751243443,"cost_in":2.5e-7,"cost_out":0.000001,"owned_by":"openrouter"},{"id":"openrouter/morph/morph-v2","object":"model","created_at":1750984216,"cost_in":0.0000012,"cost_out":0.0000027,"owned_by":"openrouter"},{"id":"google-ai-studio/gemma-3n-e4b-it","object":"model","created_at":1750983614,"cost_in":2e-8,"cost_out":4e-8,"owned_by":"google-ai-studio"},{"id":"openrouter/meta-llama/llama-3.2-3b-instruct","object":"model","created_at":1750897845,"cost_in":2e-8,"cost_out":2e-8,"owned_by":"openrouter"},{"id":"openrouter/sao10k/l3.1-euryale-70b","object":"model","created_at":1750897845,"cost_in":6.5e-7,"cost_out":7.5e-7,"owned_by":"openrouter"},{"id":"openrouter/qwen/qwq-32b","object":"model","created_at":1750897844,"cost_in":1.5e-7,"cost_out":4e-7,"owned_by":"openrouter"},{"id":"openrouter/deepseek/deepseek-r1-distill-qwen-32b","object":"model","created_at":1750897844,"cost_in":2.4e-7,"cost_out":2.4e-7,"owned_by":"openrouter"},{"id":"openrouter/sao10k/l3.3-euryale-70b","object":"model","created_at":1750897844,"cost_in":6.5e-7,"cost_out":7.5e-7,"owned_by":"openrouter"},{"id":"openrouter/deepseek/deepseek-r1-0528-qwen3-8b","object":"model","created_at":1750897843,"cost_in":2e-8,"cost_out":1e-7,"owned_by":"openrouter"},{"id":"openrouter/opengvlab/internvl3-2b","object":"model","created_at":1750897843,"cost_in":5e-8,"cost_out":1e-7,"owned_by":"openrouter"},{"id":"openrouter/opengvlab/internvl3-14b","object":"model","created_at":1750897843,"cost_in":2e-7,"cost_out":4e-7,"owned_by":"openrouter"},{"id":"deepseek/deepseek-r1-distill-qwen-32b","object":"model","created_at":1750897242,"cost_in":2.4e-7,"cost_out":2.4e-7,"owned_by":"deepseek"},{"id":"deepseek/deepseek-r1-0528-qwen3-8b","object":"model","created_at":1750897241,"cost_in":2e-8,"cost_out":1e-7,"owned_by":"deepseek"},{"id":"openrouter/minimax/minimax-m1:extended","object":"model","created_at":1750725043,"cost_in":0,"cost_out":0,"owned_by":"openrouter"},{"id":"anthropic/claude-sonnet-4-20250514","object":"model","created_at":1750721758,"cost_in":0.000003,"cost_out":0.000015,"owned_by":"anthropic"},{"id":"google-ai-studio/gemini-2.5-pro-preview-06-05","object":"model","created_at":1750721727,"cost_in":0.00000125,"cost_out":0.00001,"owned_by":"google-ai-studio"},{"id":"google-ai-studio/models/gemini-2.5-pro-preview-06-05","object":"model","created_at":1750721715,"cost_in":0.00000125,"cost_out":0.00001,"owned_by":"google-ai-studio"},{"id":"google-ai-studio/models/gemini-2.5-flash","object":"model","created_at":1750721613,"cost_in":3e-7,"cost_out":0.0000025,"owned_by":"google-ai-studio"},{"id":"google-ai-studio/models/gemini-2.5-flash-preview-05-20","object":"model","created_at":1750721583,"cost_in":3e-7,"cost_out":0.0000025,"owned_by":"google-ai-studio"},{"id":"google-ai-studio/models/gemini-2.5-flash-preview-04-17","object":"model","created_at":1750721556,"cost_in":3e-7,"cost_out":0.0000025,"owned_by":"google-ai-studio"},{"id":"google-ai-studio/gemini-2.5-flash-preview-04-17","object":"model","created_at":1750721544,"cost_in":1.5e-7,"cost_out":6e-7,"owned_by":"google-ai-studio"},{"id":"anthropic/claude-opus-4-20250514","object":"model","created_at":1750721368,"cost_in":0.000015,"cost_out":0.000075,"owned_by":"anthropic"},{"id":"openrouter/mistralai/mistral-small-3.2-24b-instruct:free","object":"model","created_at":1750552239,"cost_in":0,"cost_out":0,"owned_by":"openrouter"},{"id":"mistral/mistral-small-3.2-24b-instruct:free","object":"model","created_at":1750551636,"cost_in":0,"cost_out":0,"owned_by":"mistral"},{"id":"openrouter/x-ai/grok-3","object":"model","created_at":1750465867,"cost_in":0.000003,"cost_out":0.000015,"owned_by":"openrouter"},{"id":"openrouter/x-ai/grok-3-mini","object":"model","created_at":1750465867,"cost_in":3e-7,"cost_out":5e-7,"owned_by":"openrouter"},{"id":"grok/grok-3-mini","object":"model","created_at":1750465263,"cost_in":3e-7,"cost_out":5e-7,"owned_by":"grok"},{"id":"grok/grok-3","object":"model","created_at":1750465263,"cost_in":0.000003,"cost_out":0.000015,"owned_by":"grok"},{"id":"openai/gpt-4.1","object":"model","created_at":1750292423,"cost_in":0.000002,"cost_out":0.000008,"owned_by":"openai"},{"id":"openrouter/google/gemini-2.5-flash-lite-preview-06-17","object":"model","created_at":1750206630,"cost_in":1e-7,"cost_out":4e-7,"owned_by":"openrouter"},{"id":"openrouter/google/gemini-2.5-flash","object":"model","created_at":1750206630,"cost_in":3e-7,"cost_out":0.0000025,"owned_by":"openrouter"},{"id":"openrouter/minimax/minimax-m1","object":"model","created_at":1750206630,"cost_in":4e-7,"cost_out":0.0000022,"owned_by":"openrouter"},{"id":"openrouter/google/gemini-2.5-pro","object":"model","created_at":1750206630,"cost_in":0.00000125,"cost_out":0.00001,"owned_by":"openrouter"},{"id":"google-ai-studio/gemini-2.5-flash-lite-preview-06-17","object":"model","created_at":1750206028,"cost_in":1e-7,"cost_out":4e-7,"owned_by":"google-ai-studio"},{"id":"google-ai-studio/gemini-2.5-flash","object":"model","created_at":1750206028,"cost_in":3e-7,"cost_out":0.0000025,"owned_by":"google-ai-studio"},{"id":"google-ai-studio/gemini-2.5-pro","object":"model","created_at":1750206028,"cost_in":0.00000125,"cost_out":0.00001,"owned_by":"google-ai-studio"},{"id":"openrouter/moonshotai/kimi-dev-72b:free","object":"model","created_at":1750120259,"cost_in":0,"cost_out":0,"owned_by":"openrouter"},{"id":"openrouter/openai/o3-pro","object":"model","created_at":1749688233,"cost_in":0.00002,"cost_out":0.00008,"owned_by":"openrouter"},{"id":"openai/o3-pro","object":"model","created_at":1749687630,"cost_in":0.00002,"cost_out":0.00008,"owned_by":"openai"},{"id":"openrouter/openai/o3","object":"model","created_at":1749601823,"cost_in":0.000002,"cost_out":0.000008,"owned_by":"openrouter"},{"id":"openrouter/mistralai/magistral-medium-2506:thinking","object":"model","created_at":1749601821,"cost_in":0.000002,"cost_out":0.000005,"owned_by":"openrouter"},{"id":"openrouter/mistralai/magistral-medium-2506","object":"model","created_at":1749601821,"cost_in":0.000002,"cost_out":0.000005,"owned_by":"openrouter"},{"id":"mistral/magistral-medium-2506","object":"model","created_at":1749601213,"cost_in":0.000002,"cost_out":0.000005,"owned_by":"mistral"},{"id":"mistral/magistral-medium-2506:thinking","object":"model","created_at":1749601213,"cost_in":0.000002,"cost_out":0.000005,"owned_by":"mistral"},{"id":"openai/o3","object":"model","created_at":1749601213,"cost_in":0.000002,"cost_out":0.000008,"owned_by":"openai"},{"id":"openrouter/qwen/qwen3-14b","object":"model","created_at":1749256222,"cost_in":5e-8,"cost_out":2.2e-7,"owned_by":"openrouter"},{"id":"openrouter/google/gemini-2.5-pro-preview-05-06","object":"model","created_at":1749169822,"cost_in":0.00000125,"cost_out":0.00001,"owned_by":"openrouter"},{"id":"google-ai-studio/gemini-2.5-pro-preview-05-06","object":"model","created_at":1749169220,"cost_in":0.00000125,"cost_out":0.00001,"owned_by":"google-ai-studio"},{"id":"openrouter/sentientagi/dobby-mini-unhinged-plus-llama-3.1-8b","object":"model","created_at":1749083421,"cost_in":2e-7,"cost_out":2e-7,"owned_by":"openrouter"},{"id":"openrouter/qwen/qwen3-235b-a22b","object":"model","created_at":1748997062,"cost_in":1.8e-7,"cost_out":5.4e-7,"owned_by":"openrouter"},{"id":"openai/gpt-4o-2024-05-13","object":"model","created_at":1748996457,"cost_in":0.000005,"cost_out":0.000015,"owned_by":"openai"},{"id":"openai/gpt-3.5-turbo-0613","object":"model","created_at":1748996457,"cost_in":0.000001,"cost_out":0.000002,"owned_by":"openai"},{"id":"openai/gpt-3.5-turbo-1106","object":"model","created_at":1748996457,"cost_in":0.000001,"cost_out":0.000002,"owned_by":"openai"},{"id":"openai/gpt-4-1106-preview","object":"model","created_at":1748996457,"cost_in":0.00001,"cost_out":0.00003,"owned_by":"openai"},{"id":"google-ai-studio/models/gemini-2.0-flash-lite","object":"model","created_at":1748975324,"cost_in":7.5e-8,"cost_out":3e-7,"owned_by":"google-ai-studio"},{"id":"openrouter/meta-llama/llama-4-maverick","object":"model","created_at":1748910651,"cost_in":1.5e-7,"cost_out":6e-7,"owned_by":"openrouter"},{"id":"openrouter/microsoft/wizardlm-2-8x22b","object":"model","created_at":1748824221,"cost_in":4.8e-7,"cost_out":4.8e-7,"owned_by":"openrouter"},{"id":"openrouter/deepseek/deepseek-r1-distill-qwen-7b","object":"model","created_at":1748651432,"cost_in":1e-7,"cost_out":2e-7,"owned_by":"openrouter"},{"id":"deepseek/deepseek-r1-distill-qwen-7b","object":"model","created_at":1748650830,"cost_in":1e-7,"cost_out":2e-7,"owned_by":"deepseek"},{"id":"openrouter/deepseek/deepseek-r1-0528-qwen3-8b:free","object":"model","created_at":1748565010,"cost_in":0,"cost_out":0,"owned_by":"openrouter"},{"id":"deepseek/deepseek-r1-0528-qwen3-8b:free","object":"model","created_at":1748564406,"cost_in":0,"cost_out":0,"owned_by":"deepseek"},{"id":"openrouter/microsoft/phi-3-medium-128k-instruct","object":"model","created_at":1748478651,"cost_in":0.000001,"cost_out":0.000001,"owned_by":"openrouter"},{"id":"openrouter/mistralai/mixtral-8x22b-instruct","object":"model","created_at":1748478651,"cost_in":0.000002,"cost_out":0.000006,"owned_by":"openrouter"},{"id":"openrouter/qwen/qwq-32b-preview","object":"model","created_at":1748478650,"cost_in":2e-7,"cost_out":2e-7,"owned_by":"openrouter"},{"id":"openrouter/microsoft/phi-3.5-mini-128k-instruct","object":"model","created_at":1748478650,"cost_in":1e-7,"cost_out":1e-7,"owned_by":"openrouter"},{"id":"openrouter/sarvamai/sarvam-m:free","object":"model","created_at":1748478648,"cost_in":0,"cost_out":0,"owned_by":"openrouter"},{"id":"openrouter/google/gemma-2b-it","object":"model","created_at":1748478648,"cost_in":1e-7,"cost_out":1e-7,"owned_by":"openrouter"},{"id":"openrouter/deepseek/deepseek-r1-0528:free","object":"model","created_at":1748478648,"cost_in":0,"cost_out":0,"owned_by":"openrouter"},{"id":"mistral/mixtral-8x22b-instruct","object":"model","created_at":1748478046,"cost_in":0.000002,"cost_out":0.000006,"owned_by":"mistral"},{"id":"deepseek/deepseek-r1-0528:free","object":"model","created_at":1748478044,"cost_in":0,"cost_out":0,"owned_by":"deepseek"},{"id":"google-ai-studio/gemma-2b-it","object":"model","created_at":1748478044,"cost_in":1e-7,"cost_out":1e-7,"owned_by":"google-ai-studio"},{"id":"openrouter/nvidia/llama-3.1-nemotron-ultra-253b-v1","object":"model","created_at":1748392236,"cost_in":6e-7,"cost_out":0.0000018,"owned_by":"openrouter"},{"id":"openrouter/anthropic/claude-opus-4","object":"model","created_at":1747960215,"cost_in":0.000015,"cost_out":0.000075,"owned_by":"openrouter"},{"id":"openrouter/anthropic/claude-sonnet-4","object":"model","created_at":1747960215,"cost_in":0.000003,"cost_out":0.000015,"owned_by":"openrouter"},{"id":"anthropic/claude-sonnet-4","object":"model","created_at":1747959614,"cost_in":0.000003,"cost_out":0.000015,"owned_by":"anthropic"},{"id":"anthropic/claude-opus-4","object":"model","created_at":1747959614,"cost_in":0.000015,"cost_out":0.000075,"owned_by":"anthropic"},{"id":"openrouter/mistralai/devstral-small:free","object":"model","created_at":1747873826,"cost_in":0,"cost_out":0,"owned_by":"openrouter"},{"id":"mistral/devstral-small:free","object":"model","created_at":1747873222,"cost_in":0,"cost_out":0,"owned_by":"mistral"},{"id":"google-ai-studio/gemini-2.0-flash","object":"model","created_at":1747834257,"cost_in":1e-7,"cost_out":4e-7,"owned_by":"google-ai-studio"},{"id":"openrouter/google/gemini-2.5-flash-preview-05-20","object":"model","created_at":1747787418,"cost_in":1.5e-7,"cost_out":6e-7,"owned_by":"openrouter"},{"id":"openrouter/google/gemini-2.5-flash-preview-05-20:thinking","object":"model","created_at":1747787418,"cost_in":1.5e-7,"cost_out":0.0000035,"owned_by":"openrouter"},{"id":"openrouter/google/gemma-3n-e4b-it:free","object":"model","created_at":1747787418,"cost_in":0,"cost_out":0,"owned_by":"openrouter"},{"id":"google-ai-studio/gemini-2.5-flash-preview-05-20:thinking","object":"model","created_at":1747786817,"cost_in":1.5e-7,"cost_out":0.0000035,"owned_by":"google-ai-studio"},{"id":"google-ai-studio/gemini-2.5-flash-preview-05-20","object":"model","created_at":1747786817,"cost_in":1.5e-7,"cost_out":6e-7,"owned_by":"google-ai-studio"},{"id":"google-ai-studio/gemma-3n-e4b-it:free","object":"model","created_at":1747786817,"cost_in":0,"cost_out":0,"owned_by":"google-ai-studio"},{"id":"openrouter/nousresearch/hermes-3-llama-3.1-405b","object":"model","created_at":1747701005,"cost_in":0.000001,"cost_out":0.000001,"owned_by":"openrouter"},{"id":"openrouter/neversleep/llama-3-lumimaid-8b:extended","object":"model","created_at":1747441849,"cost_in":2e-7,"cost_out":0.00000125,"owned_by":"openrouter"},{"id":"openrouter/neversleep/llama-3.1-lumimaid-70b","object":"model","created_at":1747441848,"cost_in":0.0000025,"cost_out":0.000003,"owned_by":"openrouter"},{"id":"openrouter/openai/codex-mini","object":"model","created_at":1747441847,"cost_in":0.0000015,"cost_out":0.000006,"owned_by":"openrouter"},{"id":"openai/codex-mini","object":"model","created_at":1747441244,"cost_in":0.0000015,"cost_out":0.000006,"owned_by":"openai"},{"id":"openrouter/qwen/qwen-2.5-7b-instruct","object":"model","created_at":1747355451,"cost_in":4e-8,"cost_out":1e-7,"owned_by":"openrouter"},{"id":"openrouter/meta-llama/llama-3.3-8b-instruct:free","object":"model","created_at":1747355447,"cost_in":0,"cost_out":0,"owned_by":"openrouter"},{"id":"openrouter/deepseek/deepseek-prover-v2","object":"model","created_at":1747096240,"cost_in":5e-7,"cost_out":0.00000218,"owned_by":"openrouter"},{"id":"deepseek/deepseek-prover-v2","object":"model","created_at":1747095632,"cost_in":5e-7,"cost_out":0.00000218,"owned_by":"deepseek"},{"id":"openrouter/nousresearch/deephermes-3-mistral-24b-preview:free","object":"model","created_at":1746837061,"cost_in":0,"cost_out":0,"owned_by":"openrouter"},{"id":"openrouter/mistralai/mistral-medium-3","object":"model","created_at":1746664221,"cost_in":4e-7,"cost_out":0.000002,"owned_by":"openrouter"},{"id":"mistral/mistral-medium-3","object":"model","created_at":1746663621,"cost_in":4e-7,"cost_out":0.000002,"owned_by":"mistral"},{"id":"openrouter/google/gemini-2.5-pro-preview","object":"model","created_at":1746577840,"cost_in":0.00000125,"cost_out":0.00001,"owned_by":"openrouter"},{"id":"google-ai-studio/gemini-2.5-pro-preview","object":"model","created_at":1746577233,"cost_in":0.00000125,"cost_out":0.00001,"owned_by":"google-ai-studio"},{"id":"openrouter/arcee-ai/maestro-reasoning","object":"model","created_at":1746491433,"cost_in":9e-7,"cost_out":0.0000033,"owned_by":"openrouter"},{"id":"openrouter/arcee-ai/virtuoso-large","object":"model","created_at":1746491433,"cost_in":7.5e-7,"cost_out":0.0000012,"owned_by":"openrouter"},{"id":"openrouter/arcee-ai/spotlight","object":"model","created_at":1746491433,"cost_in":1.8e-7,"cost_out":1.8e-7,"owned_by":"openrouter"},{"id":"openrouter/arcee-ai/caller-large","object":"model","created_at":1746491433,"cost_in":5.5e-7,"cost_out":8.5e-7,"owned_by":"openrouter"},{"id":"openrouter/arcee-ai/coder-large","object":"model","created_at":1746491433,"cost_in":5e-7,"cost_out":8e-7,"owned_by":"openrouter"},{"id":"openrouter/arcee-ai/virtuoso-medium-v2","object":"model","created_at":1746491433,"cost_in":5e-7,"cost_out":8e-7,"owned_by":"openrouter"},{"id":"openrouter/arcee-ai/arcee-blitz","object":"model","created_at":1746491433,"cost_in":4.5e-7,"cost_out":7.5e-7,"owned_by":"openrouter"},{"id":"openrouter/eva-unit-01/eva-qwen-2.5-72b","object":"model","created_at":1746318648,"cost_in":0.000004,"cost_out":0.000006,"owned_by":"openrouter"},{"id":"openrouter/microsoft/phi-4-reasoning-plus","object":"model","created_at":1746232222,"cost_in":7e-8,"cost_out":3.5e-7,"owned_by":"openrouter"},{"id":"openrouter/meta-llama/llama-3.2-90b-vision-instruct","object":"model","created_at":1746145862,"cost_in":3.5e-7,"cost_out":4e-7,"owned_by":"openrouter"},{"id":"openrouter/microsoft/phi-4-reasoning-plus:free","object":"model","created_at":1746145858,"cost_in":0,"cost_out":0,"owned_by":"openrouter"},{"id":"openrouter/microsoft/phi-4-reasoning:free","object":"model","created_at":1746145858,"cost_in":0,"cost_out":0,"owned_by":"openrouter"},{"id":"openrouter/allenai/olmo-7b-instruct","object":"model","created_at":1746059409,"cost_in":8e-8,"cost_out":2.4e-7,"owned_by":"openrouter"},{"id":"openrouter/deepseek/deepseek-coder","object":"model","created_at":1746059409,"cost_in":4e-8,"cost_out":1.2e-7,"owned_by":"openrouter"},{"id":"openrouter/mistralai/mixtral-8x7b-instruct","object":"model","created_at":1746059409,"cost_in":5.4e-7,"cost_out":5.4e-7,"owned_by":"openrouter"},{"id":"openrouter/undi95/toppy-m-7b","object":"model","created_at":1746059409,"cost_in":8e-7,"cost_out":0.0000012,"owned_by":"openrouter"},{"id":"openrouter/mistralai/mistral-7b-instruct-v0.1","object":"model","created_at":1746059409,"cost_in":1.1e-7,"cost_out":1.9e-7,"owned_by":"openrouter"},{"id":"openrouter/meta-llama/llama-guard-3-8b","object":"model","created_at":1746059408,"cost_in":2e-8,"cost_out":6e-8,"owned_by":"openrouter"},{"id":"openrouter/meta-llama/llama-3.2-1b-instruct","object":"model","created_at":1746059408,"cost_in":2.7e-8,"cost_out":2e-7,"owned_by":"openrouter"},{"id":"openrouter/qwen/qwen3-4b:free","object":"model","created_at":1746059407,"cost_in":0,"cost_out":0,"owned_by":"openrouter"},{"id":"openrouter/inception/mercury-coder-small-beta","object":"model","created_at":1746059407,"cost_in":2.5e-7,"cost_out":0.000001,"owned_by":"openrouter"},{"id":"openrouter/qwen/qwen3-0.6b-04-28:free","object":"model","created_at":1746059407,"cost_in":0,"cost_out":0,"owned_by":"openrouter"},{"id":"openrouter/deepseek/deepseek-prover-v2:free","object":"model","created_at":1746059407,"cost_in":0,"cost_out":0,"owned_by":"openrouter"},{"id":"openrouter/opengvlab/internvl3-14b:free","object":"model","created_at":1746059407,"cost_in":0,"cost_out":0,"owned_by":"openrouter"},{"id":"openrouter/opengvlab/internvl3-2b:free","object":"model","created_at":1746059407,"cost_in":0,"cost_out":0,"owned_by":"openrouter"},{"id":"openrouter/qwen/qwen3-8b","object":"model","created_at":1746059407,"cost_in":2.8e-8,"cost_out":1.104e-7,"owned_by":"openrouter"},{"id":"openrouter/qwen/qwen2.5-coder-7b-instruct","object":"model","created_at":1746059407,"cost_in":3e-8,"cost_out":9e-8,"owned_by":"openrouter"},{"id":"openrouter/nvidia/llama-3.3-nemotron-super-49b-v1","object":"model","created_at":1746059407,"cost_in":1.3e-7,"cost_out":4e-7,"owned_by":"openrouter"},{"id":"openrouter/qwen/qwen3-1.7b:free","object":"model","created_at":1746059406,"cost_in":0,"cost_out":0,"owned_by":"openrouter"},{"id":"deepseek/deepseek-coder","object":"model","created_at":1746058805,"cost_in":4e-8,"cost_out":1.2e-7,"owned_by":"deepseek"},{"id":"mistral/mixtral-8x7b-instruct","object":"model","created_at":1746058805,"cost_in":5.4e-7,"cost_out":5.4e-7,"owned_by":"mistral"},{"id":"mistral/mistral-7b-instruct-v0.1","object":"model","created_at":1746058805,"cost_in":1.1e-7,"cost_out":1.9e-7,"owned_by":"mistral"},{"id":"deepseek/deepseek-prover-v2:free","object":"model","created_at":1746058804,"cost_in":0,"cost_out":0,"owned_by":"deepseek"},{"id":"openrouter/qwen/qwen3-32b:free","object":"model","created_at":1745886623,"cost_in":0,"cost_out":0,"owned_by":"openrouter"},{"id":"openrouter/qwen/qwen3-30b-a3b:free","object":"model","created_at":1745886623,"cost_in":0,"cost_out":0,"owned_by":"openrouter"},{"id":"openrouter/qwen/qwen3-14b:free","object":"model","created_at":1745886623,"cost_in":0,"cost_out":0,"owned_by":"openrouter"},{"id":"openrouter/qwen/qwen3-8b:free","object":"model","created_at":1745886623,"cost_in":0,"cost_out":0,"owned_by":"openrouter"},{"id":"openrouter/qwen/qwen3-235b-a22b:free","object":"model","created_at":1745886623,"cost_in":0,"cost_out":0,"owned_by":"openrouter"},{"id":"openrouter/mistralai/mistral-7b-instruct","object":"model","created_at":1745886623,"cost_in":2.8e-8,"cost_out":5.4e-8,"owned_by":"openrouter"},{"id":"mistral/mistral-7b-instruct","object":"model","created_at":1745886021,"cost_in":2.8e-8,"cost_out":5.4e-8,"owned_by":"mistral"},{"id":"openrouter/mistralai/mistral-7b-instruct-v0.3","object":"model","created_at":1745800218,"cost_in":2e-7,"cost_out":2e-7,"owned_by":"openrouter"},{"id":"openrouter/tngtech/deepseek-r1t-chimera:free","object":"model","created_at":1745800216,"cost_in":0,"cost_out":0,"owned_by":"openrouter"},{"id":"mistral/mistral-7b-instruct-v0.3","object":"model","created_at":1745799615,"cost_in":2e-7,"cost_out":2e-7,"owned_by":"mistral"},{"id":"deepseek/tngtech/deepseek-r1t-chimera:free","object":"model","created_at":1745799614,"cost_in":0,"cost_out":0,"owned_by":"deepseek"},{"id":"openrouter/thudm/glm-4-9b:free","object":"model","created_at":1745627408,"cost_in":0,"cost_out":0,"owned_by":"openrouter"},{"id":"openrouter/thudm/glm-z1-rumination-32b","object":"model","created_at":1745627408,"cost_in":2.4e-7,"cost_out":2.4e-7,"owned_by":"openrouter"},{"id":"openrouter/thudm/glm-z1-9b:free","object":"model","created_at":1745627408,"cost_in":0,"cost_out":0,"owned_by":"openrouter"},{"id":"openrouter/google/gemini-2.5-pro-exp-03-25","object":"model","created_at":1745627408,"cost_in":0,"cost_out":0,"owned_by":"openrouter"},{"id":"google-ai-studio/gemini-2.5-pro-exp-03-25","object":"model","created_at":1745626806,"cost_in":0,"cost_out":0,"owned_by":"google-ai-studio"},{"id":"openrouter/meta-llama/llama-2-13b-chat","object":"model","created_at":1745541053,"cost_in":3e-7,"cost_out":3e-7,"owned_by":"openrouter"},{"id":"openrouter/meta-llama/llama-3.1-70b-instruct","object":"model","created_at":1745368236,"cost_in":4e-7,"cost_out":4e-7,"owned_by":"openrouter"},{"id":"openrouter/alpindale/magnum-72b","object":"model","created_at":1745281862,"cost_in":0.000004,"cost_out":0.000006,"owned_by":"openrouter"},{"id":"openrouter/neversleep/llama-3-lumimaid-70b","object":"model","created_at":1745281862,"cost_in":0.000004,"cost_out":0.000006,"owned_by":"openrouter"},{"id":"openrouter/microsoft/mai-ds-r1:free","object":"model","created_at":1745281855,"cost_in":0,"cost_out":0,"owned_by":"openrouter"},{"id":"openrouter/meta-llama/llama-3.1-405b:free","object":"model","created_at":1745195445,"cost_in":0,"cost_out":0,"owned_by":"openrouter"},{"id":"openrouter/thudm/glm-4-32b:free","object":"model","created_at":1744936278,"cost_in":0,"cost_out":0,"owned_by":"openrouter"},{"id":"openrouter/google/gemini-2.5-flash-preview:thinking","object":"model","created_at":1744936278,"cost_in":1.5e-7,"cost_out":0.0000035,"owned_by":"openrouter"},{"id":"openrouter/thudm/glm-z1-32b:free","object":"model","created_at":1744936278,"cost_in":0,"cost_out":0,"owned_by":"openrouter"},{"id":"openrouter/google/gemini-2.5-flash-preview","object":"model","created_at":1744936278,"cost_in":1.5e-7,"cost_out":6e-7,"owned_by":"openrouter"},{"id":"google-ai-studio/gemini-2.5-flash-preview:thinking","object":"model","created_at":1744935668,"cost_in":1.5e-7,"cost_out":0.0000035,"owned_by":"google-ai-studio"},{"id":"google-ai-studio/gemini-2.5-flash-preview","object":"model","created_at":1744935668,"cost_in":1.5e-7,"cost_out":6e-7,"owned_by":"google-ai-studio"},{"id":"openrouter/openai/o4-mini-high","object":"model","created_at":1744849833,"cost_in":0.0000011,"cost_out":0.0000044,"owned_by":"openrouter"},{"id":"openrouter/openai/o4-mini","object":"model","created_at":1744849833,"cost_in":0.0000011,"cost_out":0.0000044,"owned_by":"openrouter"},{"id":"openai/o4-mini-high","object":"model","created_at":1744849228,"cost_in":0.0000011,"cost_out":0.0000044,"owned_by":"openai"},{"id":"openai/o4-mini","object":"model","created_at":1744849228,"cost_in":0.0000011,"cost_out":0.0000044,"owned_by":"openai"},{"id":"workers-ai/@cf/meta/llama-4-scout-17b-16e-instruct","object":"model","created_at":1744848624,"cost_in":2.7e-7,"cost_out":8.5e-7,"owned_by":"workers-ai"},{"id":"openrouter/shisa-ai/shisa-v2-llama3.3-70b:free","object":"model","created_at":1744763422,"cost_in":0,"cost_out":0,"owned_by":"openrouter"},{"id":"openrouter/eleutherai/llemma_7b","object":"model","created_at":1744677051,"cost_in":8e-7,"cost_out":0.0000012,"owned_by":"openrouter"},{"id":"openrouter/openai/gpt-4.1-mini","object":"model","created_at":1744677051,"cost_in":4e-7,"cost_out":0.0000016,"owned_by":"openrouter"},{"id":"openrouter/openai/gpt-4.1-nano","object":"model","created_at":1744677050,"cost_in":1e-7,"cost_out":4e-7,"owned_by":"openrouter"},{"id":"openrouter/openai/gpt-4.1","object":"model","created_at":1744677050,"cost_in":0.000002,"cost_out":0.000008,"owned_by":"openrouter"},{"id":"openai/gpt-4.1-nano","object":"model","created_at":1744676442,"cost_in":1e-7,"cost_out":4e-7,"owned_by":"openai"},{"id":"openai/gpt-4.1-mini","object":"model","created_at":1744656645,"cost_in":4e-7,"cost_out":0.0000016,"owned_by":"openai"},{"id":"openai/gpt-4.1-nano-2025-04-14","object":"model","created_at":1744653446,"cost_in":1e-7,"cost_out":4e-7,"owned_by":"openai"},{"id":"openai/gpt-4.1-2025-04-14","object":"model","created_at":1744653427,"cost_in":0.000002,"cost_out":0.000008,"owned_by":"openai"},{"id":"openai/gpt-4.1-mini-2025-04-14","object":"model","created_at":1744653406,"cost_in":4e-7,"cost_out":0.0000016,"owned_by":"openai"},{"id":"openrouter/arliai/qwq-32b-arliai-rpr-v1:free","object":"model","created_at":1744590626,"cost_in":0,"cost_out":0,"owned_by":"openrouter"},{"id":"openrouter/agentica-org/deepcoder-14b-preview:free","object":"model","created_at":1744590626,"cost_in":0,"cost_out":0,"owned_by":"openrouter"},{"id":"openrouter/meta-llama/llama-3-70b-instruct","object":"model","created_at":1744417870,"cost_in":3e-7,"cost_out":4e-7,"owned_by":"openrouter"},{"id":"openrouter/sao10k/l3-lunaris-8b","object":"model","created_at":1744417868,"cost_in":4e-8,"cost_out":5e-8,"owned_by":"openrouter"},{"id":"openrouter/meta-llama/llama-4-scout","object":"model","created_at":1744417862,"cost_in":8e-8,"cost_out":3e-7,"owned_by":"openrouter"},{"id":"workers-ai/@cf/qwen/qwen2.5-coder-32b-instruct","object":"model","created_at":1744416644,"cost_in":6.6e-7,"cost_out":0.000001,"owned_by":"workers-ai"},{"id":"workers-ai/@cf/mistralai/mistral-small-3.1-24b-instruct","object":"model","created_at":1744416644,"cost_in":3.5e-7,"cost_out":5.6e-7,"owned_by":"workers-ai"},{"id":"workers-ai/@cf/google/gemma-3-12b-it","object":"model","created_at":1744416644,"cost_in":3.5e-7,"cost_out":5.6e-7,"owned_by":"workers-ai"},{"id":"workers-ai/@cf/qwen/qwq-32b","object":"model","created_at":1744416644,"cost_in":6.6e-7,"cost_out":0.000001,"owned_by":"workers-ai"},{"id":"openrouter/moonshotai/kimi-vl-a3b-thinking:free","object":"model","created_at":1744331467,"cost_in":0,"cost_out":0,"owned_by":"openrouter"},{"id":"openrouter/openrouter/optimus-alpha","object":"model","created_at":1744331467,"cost_in":0,"cost_out":0,"owned_by":"openrouter"},{"id":"groq/meta-llama/llama-4-scout-17b-16e-instruct","object":"model","created_at":1744308680,"cost_in":1.1e-7,"cost_out":3.4e-7,"owned_by":"groq"},{"id":"groq/meta-llama/llama-4-maverick-17b-128e-instruct","object":"model","created_at":1744308497,"cost_in":2e-7,"cost_out":6e-7,"owned_by":"groq"},{"id":"grok/grok-3-mini-beta","object":"model","created_at":1744308429,"cost_in":3e-7,"cost_out":5e-7,"owned_by":"grok"},{"id":"grok/grok-3-fast-beta","object":"model","created_at":1744308414,"cost_in":0.000005,"cost_out":0.000025,"owned_by":"grok"},{"id":"grok/grok-3-mini-fast-beta","object":"model","created_at":1744308404,"cost_in":6e-7,"cost_out":0.000004,"owned_by":"grok"},{"id":"grok/grok-3-mini-fast-high-beta","object":"model","created_at":1744308389,"cost_in":6e-7,"cost_out":0.000004,"owned_by":"grok"},{"id":"grok/grok-3-mini-high-beta","object":"model","created_at":1744308370,"cost_in":3e-7,"cost_out":5e-7,"owned_by":"grok"},{"id":"azure-openai/gpt-4.5-preview-2025-02-27","object":"model","created_at":1744308210,"cost_in":0.000075,"cost_out":0.00015,"owned_by":"azure-openai"},{"id":"openai/gpt-4.5-preview-2025-02-27","object":"model","created_at":1744308165,"cost_in":0.000075,"cost_out":0.00015,"owned_by":"openai"},{"id":"openai/gpt-4.5-2025-02-21-alpha","object":"model","created_at":1744308147,"cost_in":0.000075,"cost_out":0.00015,"owned_by":"openai"},{"id":"openai/gpt-4.5-2025","object":"model","created_at":1744308130,"cost_in":0.000075,"cost_out":0.00015,"owned_by":"openai"},{"id":"openrouter/x-ai/grok-3-beta","object":"model","created_at":1744245025,"cost_in":0.000003,"cost_out":0.000015,"owned_by":"openrouter"},{"id":"openrouter/x-ai/grok-3-mini-beta","object":"model","created_at":1744245025,"cost_in":3e-7,"cost_out":5e-7,"owned_by":"openrouter"},{"id":"grok/grok-3-beta","object":"model","created_at":1744244413,"cost_in":0.000003,"cost_out":0.000015,"owned_by":"grok"},{"id":"workers-ai/@cf/facebook/bart-large-cnn","object":"model","created_at":1744243807,"cost_in":0,"cost_out":0,"owned_by":"workers-ai"},{"id":"workers-ai/@cf/baai/bge-reranker-base","object":"model","created_at":1744243807,"cost_in":3.1e-9,"cost_out":0,"owned_by":"workers-ai"},{"id":"openrouter/nvidia/llama-3.3-nemotron-super-49b-v1:free","object":"model","created_at":1744158648,"cost_in":0,"cost_out":0,"owned_by":"openrouter"},{"id":"openrouter/nvidia/llama-3.1-nemotron-nano-8b-v1:free","object":"model","created_at":1744158648,"cost_in":0,"cost_out":0,"owned_by":"openrouter"},{"id":"openrouter/nvidia/llama-3.1-nemotron-ultra-253b-v1:free","object":"model","created_at":1744158648,"cost_in":0,"cost_out":0,"owned_by":"openrouter"},{"id":"openrouter/tokyotech-llm/llama-3.1-swallow-8b-instruct-v0.3","object":"model","created_at":1744072213,"cost_in":1e-7,"cost_out":2e-7,"owned_by":"openrouter"},{"id":"openrouter/nousresearch/nous-hermes-llama2-13b","object":"model","created_at":1743899450,"cost_in":1.8e-7,"cost_out":1.8e-7,"owned_by":"openrouter"},{"id":"openrouter/meta-llama/llama-4-scout:free","object":"model","created_at":1743899439,"cost_in":0,"cost_out":0,"owned_by":"openrouter"},{"id":"openrouter/meta-llama/llama-4-maverick:free","object":"model","created_at":1743899439,"cost_in":0,"cost_out":0,"owned_by":"openrouter"},{"id":"openrouter/qwen/qwen-2.5-7b-instruct:free","object":"model","created_at":1743813028,"cost_in":0,"cost_out":0,"owned_by":"openrouter"},{"id":"openrouter/steelskull/l3.3-electra-r1-70b","object":"model","created_at":1743813024,"cost_in":7e-7,"cost_out":9.5e-7,"owned_by":"openrouter"},{"id":"openrouter/latitudegames/wayfarer-large-70b-llama-3.3","object":"model","created_at":1743813024,"cost_in":8e-7,"cost_out":9e-7,"owned_by":"openrouter"},{"id":"openrouter/google/gemini-2.5-pro-preview-03-25","object":"model","created_at":1743813023,"cost_in":0.00000125,"cost_out":0.00001,"owned_by":"openrouter"},{"id":"google-ai-studio/gemini-2.5-pro-preview-03-25","object":"model","created_at":1743812413,"cost_in":0.00000125,"cost_out":0.00001,"owned_by":"google-ai-studio"},{"id":"openrouter/openchat/openchat-7b","object":"model","created_at":1743726662,"cost_in":7e-8,"cost_out":7e-8,"owned_by":"openrouter"},{"id":"openrouter/all-hands/openhands-lm-32b-v0.1","object":"model","created_at":1743726655,"cost_in":0.0000026,"cost_out":0.0000034,"owned_by":"openrouter"},{"id":"openrouter/openrouter/quasar-alpha","object":"model","created_at":1743726654,"cost_in":0,"cost_out":0,"owned_by":"openrouter"},{"id":"workers-ai/@cf/meta/llama-guard-3-8b","object":"model","created_at":1743686418,"cost_in":4.8e-7,"cost_out":3e-8,"owned_by":"workers-ai"},{"id":"workers-ai/@cf/deepseek-ai/deepseek-r1-distill-qwen-32b","object":"model","created_at":1743686418,"cost_in":5e-7,"cost_out":0.00000488,"owned_by":"workers-ai"},{"id":"workers-ai/@cf/mistral/mistral-7b-instruct-v0.1","object":"model","created_at":1743686418,"cost_in":1.1e-7,"cost_out":1.9e-7,"owned_by":"workers-ai"},{"id":"workers-ai/@cf/meta/llama-3.2-1b-instruct","object":"model","created_at":1743686418,"cost_in":2.7e-8,"cost_out":2e-7,"owned_by":"workers-ai"},{"id":"workers-ai/@cf/meta/llama-3.1-8b-instruct-fp8","object":"model","created_at":1743686418,"cost_in":1.5e-7,"cost_out":2.9e-7,"owned_by":"workers-ai"},{"id":"workers-ai/@cf/baai/bge-base-en-v1.5","object":"model","created_at":1743686418,"cost_in":6.7e-8,"cost_out":0,"owned_by":"workers-ai"},{"id":"workers-ai/@cf/meta/llama-3.1-8b-instruct","object":"model","created_at":1743686418,"cost_in":2.8e-7,"cost_out":8.299999999999999e-7,"owned_by":"workers-ai"},{"id":"workers-ai/@cf/baai/bge-small-en-v1.5","object":"model","created_at":1743686418,"cost_in":2e-8,"cost_out":0,"owned_by":"workers-ai"},{"id":"workers-ai/@cf/meta/m2m100-1.2b","object":"model","created_at":1743686418,"cost_in":3.4e-7,"cost_out":3.4e-7,"owned_by":"workers-ai"},{"id":"workers-ai/@cf/meta/llama-3.3-70b-instruct-fp8-fast","object":"model","created_at":1743686418,"cost_in":2.9e-7,"cost_out":0.00000225,"owned_by":"workers-ai"},{"id":"workers-ai/@cf/meta/llama-3.1-8b-instruct-awq","object":"model","created_at":1743686418,"cost_in":1.2e-7,"cost_out":2.7e-7,"owned_by":"workers-ai"},{"id":"workers-ai/@cf/baai/bge-large-en-v1.5","object":"model","created_at":1743686418,"cost_in":2e-7,"cost_out":0,"owned_by":"workers-ai"},{"id":"workers-ai/@cf/meta/llama-3.2-11b-vision-instruct","object":"model","created_at":1743686418,"cost_in":4.9e-8,"cost_out":6.8e-7,"owned_by":"workers-ai"},{"id":"workers-ai/@cf/meta/llama-3-8b-instruct-awq","object":"model","created_at":1743686418,"cost_in":1.2e-7,"cost_out":2.7e-7,"owned_by":"workers-ai"},{"id":"workers-ai/@cf/meta/llama-3.2-3b-instruct","object":"model","created_at":1743686417,"cost_in":5.1e-8,"cost_out":3.4e-7,"owned_by":"workers-ai"},{"id":"workers-ai/@cf/baai/bge-m3","object":"model","created_at":1743686417,"cost_in":1.2e-8,"cost_out":0,"owned_by":"workers-ai"},{"id":"workers-ai/@cf/huggingface/distilbert-sst-2-int8","object":"model","created_at":1743686417,"cost_in":2.6e-8,"cost_out":0,"owned_by":"workers-ai"},{"id":"workers-ai/@cf/meta/llama-3-8b-instruct","object":"model","created_at":1743686417,"cost_in":2.8e-7,"cost_out":8.3e-7,"owned_by":"workers-ai"},{"id":"workers-ai/@cf/meta/llama-2-7b-chat-fp16","object":"model","created_at":1743686417,"cost_in":5.6e-7,"cost_out":0.00000667,"owned_by":"workers-ai"},{"id":"openrouter/cohere/command-r","object":"model","created_at":1743639683,"cost_in":5e-7,"cost_out":0.0000015,"owned_by":"openrouter"},{"id":"openrouter/cohere/command-r-03-2024","object":"model","created_at":1743639683,"cost_in":5e-7,"cost_out":0.0000015,"owned_by":"openrouter"},{"id":"openrouter/cohere/command-r-plus","object":"model","created_at":1743639682,"cost_in":0.000003,"cost_out":0.000015,"owned_by":"openrouter"},{"id":"openrouter/cohere/command","object":"model","created_at":1743639682,"cost_in":0.000001,"cost_out":0.000002,"owned_by":"openrouter"},{"id":"openrouter/cohere/command-r-plus-04-2024","object":"model","created_at":1743639682,"cost_in":0.000003,"cost_out":0.000015,"owned_by":"openrouter"},{"id":"openrouter/sao10k/l3-euryale-70b","object":"model","created_at":1743639681,"cost_in":0.00000148,"cost_out":0.00000148,"owned_by":"openrouter"},{"id":"openrouter/cohere/command-r-08-2024","object":"model","created_at":1743639680,"cost_in":1.5e-7,"cost_out":6e-7,"owned_by":"openrouter"},{"id":"openrouter/cohere/command-r-plus-08-2024","object":"model","created_at":1743639680,"cost_in":0.0000025,"cost_out":0.00001,"owned_by":"openrouter"},{"id":"cohere/command-r-plus","object":"model","created_at":1743639069,"cost_in":0.000003,"cost_out":0.000015,"owned_by":"cohere"},{"id":"cohere/command-r-plus-04-2024","object":"model","created_at":1743639069,"cost_in":0.000003,"cost_out":0.000015,"owned_by":"cohere"},{"id":"cohere/command-r","object":"model","created_at":1743639069,"cost_in":5e-7,"cost_out":0.0000015,"owned_by":"cohere"},{"id":"cohere/command","object":"model","created_at":1743639069,"cost_in":0.000001,"cost_out":0.000002,"owned_by":"cohere"},{"id":"cohere/command-r-03-2024","object":"model","created_at":1743639069,"cost_in":5e-7,"cost_out":0.0000015,"owned_by":"cohere"},{"id":"cohere/command-r-plus-08-2024","object":"model","created_at":1743639068,"cost_in":0.0000025,"cost_out":0.00001,"owned_by":"cohere"},{"id":"cohere/command-r-08-2024","object":"model","created_at":1743639068,"cost_in":1.5e-7,"cost_out":6e-7,"owned_by":"cohere"},{"id":"google-ai-studio/gemini-2.0-flash-exp-image-generation","object":"model","created_at":1743549839,"cost_in":1e-7,"cost_out":4e-7,"owned_by":"google-ai-studio"},{"id":"mistral/open-codestral-mamba","object":"model","created_at":1743549786,"cost_in":3e-7,"cost_out":9e-7,"owned_by":"mistral"},{"id":"mistral/mistral-small-2503","object":"model","created_at":1743549744,"cost_in":1e-7,"cost_out":3e-7,"owned_by":"mistral"},{"id":"google-vertex-ai/mistral-small-2503","object":"model","created_at":1743549724,"cost_in":1e-7,"cost_out":3e-7,"owned_by":"google-vertex-ai"},{"id":"aws-bedrock/amazon.titan-text-express-v1","object":"model","created_at":1743549570,"cost_in":2e-7,"cost_out":6e-7,"owned_by":"aws-bedrock"},{"id":"aws-bedrock/cohere.command-text-v14","object":"model","created_at":1743549523,"cost_in":0.0000015,"cost_out":0.000002,"owned_by":"aws-bedrock"},{"id":"aws-bedrock/ai21.jamba-1-5-large-v1","object":"model","created_at":1743549477,"cost_in":0.000002,"cost_out":0.000008,"owned_by":"aws-bedrock"},{"id":"aws-bedrock/eu.amazon.nova-pro-v1","object":"model","created_at":1743549392,"cost_in":8e-7,"cost_out":0,"owned_by":"aws-bedrock"},{"id":"aws-bedrock/anthropic.claude-3-sonnet-20240229-v1","object":"model","created_at":1743549291,"cost_in":0.000003,"cost_out":0.000015,"owned_by":"aws-bedrock"},{"id":"mistral/ministral-8b-2410","object":"model","created_at":1743549224,"cost_in":1e-7,"cost_out":1e-7,"owned_by":"mistral"},{"id":"mistral/mistral-large-2402","object":"model","created_at":1743549192,"cost_in":0.000002,"cost_out":0.000006,"owned_by":"mistral"},{"id":"google-ai-studio/gemini-2.0-flash-thinking","object":"model","created_at":1743547534,"cost_in":1e-7,"cost_out":7e-7,"owned_by":"google-ai-studio"},{"id":"google-ai-studio/gemini-2.0-flash-exp","object":"model","created_at":1743547468,"cost_in":1e-7,"cost_out":4e-7,"owned_by":"google-ai-studio"},{"id":"openrouter/mistral/ministral-8b","object":"model","created_at":1743466820,"cost_in":1e-7,"cost_out":1e-7,"owned_by":"openrouter"},{"id":"openrouter/deepseek/deepseek-v3-base:free","object":"model","created_at":1743294058,"cost_in":0,"cost_out":0,"owned_by":"openrouter"},{"id":"deepseek/deepseek-v3-base:free","object":"model","created_at":1743293450,"cost_in":0,"cost_out":0,"owned_by":"deepseek"},{"id":"openrouter/scb10x/llama3.1-typhoon2-70b-instruct","object":"model","created_at":1743207646,"cost_in":8.8e-7,"cost_out":8.8e-7,"owned_by":"openrouter"},{"id":"openrouter/scb10x/llama3.1-typhoon2-8b-instruct","object":"model","created_at":1743207646,"cost_in":1.8e-7,"cost_out":1.8e-7,"owned_by":"openrouter"},{"id":"openrouter/google/gemma-3-4b-it","object":"model","created_at":1743207646,"cost_in":1.703e-8,"cost_out":6.8154e-8,"owned_by":"openrouter"},{"id":"google-ai-studio/gemma-3-4b-it","object":"model","created_at":1743207041,"cost_in":1.703e-8,"cost_out":6.8154e-8,"owned_by":"google-ai-studio"},{"id":"openrouter/qwen/qwen-2.5-vl-7b-instruct:free","object":"model","created_at":1743034825,"cost_in":0,"cost_out":0,"owned_by":"openrouter"},{"id":"openrouter/qwen/qwen2.5-vl-3b-instruct:free","object":"model","created_at":1743034821,"cost_in":0,"cost_out":0,"owned_by":"openrouter"},{"id":"openrouter/bytedance-research/ui-tars-72b:free","object":"model","created_at":1743034821,"cost_in":0,"cost_out":0,"owned_by":"openrouter"},{"id":"openrouter/allenai/molmo-7b-d:free","object":"model","created_at":1743034820,"cost_in":0,"cost_out":0,"owned_by":"openrouter"},{"id":"openrouter/featherless/qwerky-72b:free","object":"model","created_at":1742948453,"cost_in":0,"cost_out":0,"owned_by":"openrouter"},{"id":"openrouter/google/gemini-2.5-pro-exp-03-25:free","object":"model","created_at":1742948453,"cost_in":0,"cost_out":0,"owned_by":"openrouter"},{"id":"google-ai-studio/gemini-2.5-pro-exp-03-25:free","object":"model","created_at":1742947844,"cost_in":0,"cost_out":0,"owned_by":"google-ai-studio"},{"id":"openrouter/deepseek/deepseek-chat-v3-0324:free","object":"model","created_at":1742862048,"cost_in":0,"cost_out":0,"owned_by":"openrouter"},{"id":"openrouter/qwen/qwen2.5-vl-32b-instruct:free","object":"model","created_at":1742862048,"cost_in":0,"cost_out":0,"owned_by":"openrouter"},{"id":"deepseek/deepseek-chat-v3-0324:free","object":"model","created_at":1742861444,"cost_in":0,"cost_out":0,"owned_by":"deepseek"},{"id":"openrouter/openai/o1-pro","object":"model","created_at":1742602856,"cost_in":0.00015,"cost_out":0.0006,"owned_by":"openrouter"},{"id":"openai/o1-pro","object":"model","created_at":1742602246,"cost_in":0.00015,"cost_out":0.0006,"owned_by":"openai"},{"id":"openrouter/mistralai/mistral-small-3.1-24b-instruct:free","object":"model","created_at":1742430072,"cost_in":0,"cost_out":0,"owned_by":"openrouter"},{"id":"mistral/mistral-small-3.1-24b-instruct:free","object":"model","created_at":1742429465,"cost_in":0,"cost_out":0,"owned_by":"mistral"},{"id":"openrouter/allenai/olmo-2-0325-32b-instruct","object":"model","created_at":1742343661,"cost_in":5e-8,"cost_out":2e-7,"owned_by":"openrouter"},{"id":"openrouter/microsoft/phi-4-multimodal-instruct","object":"model","created_at":1742343661,"cost_in":5e-8,"cost_out":1e-7,"owned_by":"openrouter"},{"id":"openrouter/open-r1/olympiccoder-32b:free","object":"model","created_at":1742084443,"cost_in":0,"cost_out":0,"owned_by":"openrouter"},{"id":"openrouter/open-r1/olympiccoder-7b:free","object":"model","created_at":1742084443,"cost_in":0,"cost_out":0,"owned_by":"openrouter"},{"id":"openrouter/google/gemma-3-1b-it:free","object":"model","created_at":1741998037,"cost_in":0,"cost_out":0,"owned_by":"openrouter"},{"id":"google-ai-studio/gemma-3-1b-it:free","object":"model","created_at":1741997430,"cost_in":0,"cost_out":0,"owned_by":"google-ai-studio"},{"id":"openrouter/mistralai/mistral-7b-instruct-v0.2","object":"model","created_at":1741911650,"cost_in":2e-7,"cost_out":2e-7,"owned_by":"openrouter"},{"id":"openrouter/qwen/qwen-2.5-vl-72b-instruct","object":"model","created_at":1741911647,"cost_in":6e-7,"cost_out":6e-7,"owned_by":"openrouter"},{"id":"openrouter/cohere/command-a-03-2025","object":"model","created_at":1741911644,"cost_in":0.0000025,"cost_out":0.00001,"owned_by":"openrouter"},{"id":"openrouter/google/gemma-3-12b-it:free","object":"model","created_at":1741911644,"cost_in":0,"cost_out":0,"owned_by":"openrouter"},{"id":"openrouter/ai21/jamba-1.6-mini","object":"model","created_at":1741911644,"cost_in":2e-7,"cost_out":4e-7,"owned_by":"openrouter"},{"id":"openrouter/ai21/jamba-1.6-large","object":"model","created_at":1741911644,"cost_in":0.000002,"cost_out":0.000008,"owned_by":"openrouter"},{"id":"openrouter/google/gemma-3-4b-it:free","object":"model","created_at":1741911644,"cost_in":0,"cost_out":0,"owned_by":"openrouter"},{"id":"mistral/mistral-7b-instruct-v0.2","object":"model","created_at":1741911040,"cost_in":2e-7,"cost_out":2e-7,"owned_by":"mistral"},{"id":"google-ai-studio/gemma-3-12b-it:free","object":"model","created_at":1741911037,"cost_in":0,"cost_out":0,"owned_by":"google-ai-studio"},{"id":"google-ai-studio/gemma-3-4b-it:free","object":"model","created_at":1741911037,"cost_in":0,"cost_out":0,"owned_by":"google-ai-studio"},{"id":"cohere/command-a-03-2025","object":"model","created_at":1741906755,"cost_in":0.0000025,"cost_out":0.00001,"owned_by":"cohere"},{"id":"openrouter/qwen/qwen-2.5-72b-instruct:free","object":"model","created_at":1741825269,"cost_in":0,"cost_out":0,"owned_by":"openrouter"},{"id":"openrouter/qwen/qwq-32b-preview:free","object":"model","created_at":1741825268,"cost_in":0,"cost_out":0,"owned_by":"openrouter"},{"id":"openrouter/deepseek/deepseek-r1-distill-qwen-14b:free","object":"model","created_at":1741825267,"cost_in":0,"cost_out":0,"owned_by":"openrouter"},{"id":"openrouter/openai/gpt-4o-mini-search-preview","object":"model","created_at":1741825266,"cost_in":1.5e-7,"cost_out":6e-7,"owned_by":"openrouter"},{"id":"openrouter/google/gemma-3-27b-it:free","object":"model","created_at":1741825265,"cost_in":0,"cost_out":0,"owned_by":"openrouter"},{"id":"openrouter/tokyotech-llm/llama-3.1-swallow-70b-instruct-v0.3","object":"model","created_at":1741825265,"cost_in":6e-7,"cost_out":0.0000012,"owned_by":"openrouter"},{"id":"openrouter/rekaai/reka-flash-3:free","object":"model","created_at":1741825265,"cost_in":0,"cost_out":0,"owned_by":"openrouter"},{"id":"openrouter/openai/gpt-4o-search-preview","object":"model","created_at":1741825265,"cost_in":0.0000025,"cost_out":0.00001,"owned_by":"openrouter"},{"id":"openai/gpt-4o-search-preview","object":"model","created_at":1741824658,"cost_in":0.0000025,"cost_out":0.00001,"owned_by":"openai"},{"id":"google-ai-studio/gemma-3-27b-it:free","object":"model","created_at":1741824658,"cost_in":0,"cost_out":0,"owned_by":"google-ai-studio"},{"id":"openai/gpt-4o-mini-search-preview","object":"model","created_at":1741824658,"cost_in":1.5e-7,"cost_out":6e-7,"owned_by":"openai"},{"id":"deepseek/deepseek-r1-distill-qwen-14b:free","object":"model","created_at":1741824658,"cost_in":0,"cost_out":0,"owned_by":"deepseek"},{"id":"openrouter/qwen/qwen-2.5-vl-7b-instruct","object":"model","created_at":1741738869,"cost_in":2e-7,"cost_out":2e-7,"owned_by":"openrouter"},{"id":"replicate/deepseek-ai/deepseek-r1","object":"model","created_at":1741730907,"cost_in":0.00001,"cost_out":0.00001,"owned_by":"replicate"},{"id":"groq/deepseek-r1-distill-llama-70b-specdec","object":"model","created_at":1741730814,"cost_in":7.5e-7,"cost_out":9.9e-7,"owned_by":"groq"},{"id":"groq/deepseek-r1-distill-qwen-32b","object":"model","created_at":1741730772,"cost_in":2.9e-7,"cost_out":3.9e-7,"owned_by":"groq"},{"id":"openrouter/deepseek/deepseek-r1-zero","object":"model","created_at":1741719217,"cost_in":0,"cost_out":0,"owned_by":"openrouter"},{"id":"mistral/mistral-small-2501","object":"model","created_at":1741719183,"cost_in":1e-7,"cost_out":3e-7,"owned_by":"mistral"},{"id":"mistral/mistral-large-pixtral-2411","object":"model","created_at":1741718815,"cost_in":0.000002,"cost_out":0.000006,"owned_by":"mistral"},{"id":"openrouter/deepseek/deepseek-r1-distill-qwen-32b:free","object":"model","created_at":1741652424,"cost_in":0,"cost_out":0,"owned_by":"openrouter"},{"id":"deepseek/deepseek-r1-distill-qwen-14b","object":"model","created_at":1741651816,"cost_in":1.2e-7,"cost_out":1.2e-7,"owned_by":"deepseek"},{"id":"deepseek/deepseek-r1-distill-qwen-32b:free","object":"model","created_at":1741651816,"cost_in":0,"cost_out":0,"owned_by":"deepseek"},{"id":"openrouter/qwen/qwen-vl-max","object":"model","created_at":1741479671,"cost_in":8e-7,"cost_out":0.0000032,"owned_by":"openrouter"},{"id":"openrouter/qwen/qwen-vl-plus","object":"model","created_at":1741393219,"cost_in":2.1e-7,"cost_out":6.3e-7,"owned_by":"openrouter"},{"id":"openrouter/perplexity/sonar-deep-research","object":"model","created_at":1741393218,"cost_in":0.000002,"cost_out":0.000008,"owned_by":"openrouter"},{"id":"openrouter/perplexity/sonar-pro","object":"model","created_at":1741393218,"cost_in":0.000003,"cost_out":0.000015,"owned_by":"openrouter"},{"id":"openrouter/perplexity/sonar-reasoning-pro","object":"model","created_at":1741393218,"cost_in":0.000002,"cost_out":0.000008,"owned_by":"openrouter"},{"id":"perplexity-ai/sonar-deep-research","object":"model","created_at":1741392611,"cost_in":0.000002,"cost_out":0.000008,"owned_by":"perplexity-ai"},{"id":"perplexity-ai/sonar-reasoning-pro","object":"model","created_at":1741392610,"cost_in":0.000002,"cost_out":0.000008,"owned_by":"perplexity-ai"},{"id":"openrouter/deepseek/deepseek-r1-zero:free","object":"model","created_at":1741306838,"cost_in":0,"cost_out":0,"owned_by":"openrouter"},{"id":"deepseek/deepseek-r1-zero:free","object":"model","created_at":1741306234,"cost_in":0,"cost_out":0,"owned_by":"deepseek"},{"id":"openrouter/qwen/qwq-32b:free","object":"model","created_at":1741220412,"cost_in":0,"cost_out":0,"owned_by":"openrouter"},{"id":"aws-bedrock/us.anthropic.claude-3-5-sonnet-20240620-v1","object":"model","created_at":1741107902,"cost_in":0.000003,"cost_out":0.000015,"owned_by":"aws-bedrock"},{"id":"anthropic/claude-3-7-sonnet-20250219","object":"model","created_at":1741107719,"cost_in":0.000003,"cost_out":0.000015,"owned_by":"anthropic"},{"id":"openrouter/qwen/qwen2.5-32b-instruct","object":"model","created_at":1741047637,"cost_in":7.9e-7,"cost_out":7.9e-7,"owned_by":"openrouter"},{"id":"openrouter/meta-llama/llama-3-8b","object":"model","created_at":1740788443,"cost_in":5e-8,"cost_out":8e-8,"owned_by":"openrouter"},{"id":"openrouter/meta-llama/llama-3-70b","object":"model","created_at":1740788443,"cost_in":5.9e-7,"cost_out":7.9e-7,"owned_by":"openrouter"},{"id":"openrouter/qwen/qwen-2.5-coder-32b-instruct:free","object":"model","created_at":1740788442,"cost_in":0,"cost_out":0,"owned_by":"openrouter"},{"id":"openrouter/moonshotai/moonlight-16b-a3b-instruct:free","object":"model","created_at":1740788441,"cost_in":0,"cost_out":0,"owned_by":"openrouter"},{"id":"openrouter/nousresearch/deephermes-3-llama-3-8b-preview:free","object":"model","created_at":1740788441,"cost_in":0,"cost_out":0,"owned_by":"openrouter"},{"id":"openai/gpt-4o-realtime","object":"model","created_at":1740757615,"cost_in":0.000005,"cost_out":0.0000025,"owned_by":"openai"},{"id":"openrouter/openai/gpt-4.5-preview","object":"model","created_at":1740702054,"cost_in":0.000075,"cost_out":0.00015,"owned_by":"openrouter"},{"id":"openai/gpt-4.5-preview","object":"model","created_at":1740701448,"cost_in":0,"cost_out":0.00015,"owned_by":"openai"},{"id":"openrouter/anthropic/claude-3.7-sonnet:thinking","object":"model","created_at":1740529227,"cost_in":0.000003,"cost_out":0.000015,"owned_by":"openrouter"},{"id":"openrouter/google/gemini-2.0-flash-lite-001","object":"model","created_at":1740529227,"cost_in":7.5e-8,"cost_out":3e-7,"owned_by":"openrouter"},{"id":"google-ai-studio/gemini-2.0-flash-lite-001","object":"model","created_at":1740528621,"cost_in":7.5e-8,"cost_out":3e-7,"owned_by":"google-ai-studio"},{"id":"anthropic/claude-3.7-sonnet:thinking","object":"model","created_at":1740528621,"cost_in":0.000003,"cost_out":0.000015,"owned_by":"anthropic"},{"id":"openrouter/anthropic/claude-3.7-sonnet:beta","object":"model","created_at":1740442808,"cost_in":0.000003,"cost_out":0.000015,"owned_by":"openrouter"},{"id":"anthropic/claude-3.7-sonnet:beta","object":"model","created_at":1740442204,"cost_in":0.000003,"cost_out":0.000015,"owned_by":"anthropic"},{"id":"anthropic/claude-3.7-sonnet","object":"model","created_at":1740442204,"cost_in":0.000003,"cost_out":0.000015,"owned_by":"anthropic"},{"id":"openrouter/perplexity/r1-1776","object":"model","created_at":1740010838,"cost_in":0.000002,"cost_out":0.000008,"owned_by":"openrouter"},{"id":"perplexity-ai/r1-1776","object":"model","created_at":1740010232,"cost_in":0.000002,"cost_out":0.000008,"owned_by":"perplexity-ai"},{"id":"openrouter/mistralai/mistral-saba","object":"model","created_at":1739838032,"cost_in":2e-7,"cost_out":6e-7,"owned_by":"openrouter"},{"id":"mistral/mistral-saba","object":"model","created_at":1739837426,"cost_in":2e-7,"cost_out":6e-7,"owned_by":"mistral"},{"id":"openrouter/aion-labs/aion-1.0-mini","object":"model","created_at":1739578834,"cost_in":7e-7,"cost_out":0.0000014,"owned_by":"openrouter"},{"id":"openrouter/cognitivecomputations/dolphin3.0-r1-mistral-24b:free","object":"model","created_at":1739492436,"cost_in":0,"cost_out":0,"owned_by":"openrouter"},{"id":"openrouter/cognitivecomputations/dolphin3.0-mistral-24b:free","object":"model","created_at":1739492436,"cost_in":0,"cost_out":0,"owned_by":"openrouter"},{"id":"openrouter/aion-labs/aion-1.0","object":"model","created_at":1739492436,"cost_in":0.000004,"cost_out":0.000008,"owned_by":"openrouter"},{"id":"openrouter/openai/o3-mini-high","object":"model","created_at":1739406036,"cost_in":0.0000011,"cost_out":0.0000044,"owned_by":"openrouter"},{"id":"openai/o3-mini-high","object":"model","created_at":1739405433,"cost_in":0.0000011,"cost_out":0.0000044,"owned_by":"openai"},{"id":"openrouter/mistralai/mistral-nemo:free","object":"model","created_at":1739319628,"cost_in":0,"cost_out":0,"owned_by":"openrouter"},{"id":"openrouter/mistralai/mistral-small-24b-instruct-2501:free","object":"model","created_at":1739319625,"cost_in":0,"cost_out":0,"owned_by":"openrouter"},{"id":"mistral/mistral-nemo:free","object":"model","created_at":1739319021,"cost_in":0,"cost_out":0,"owned_by":"mistral"},{"id":"mistral/mistral-small-24b-instruct-2501:free","object":"model","created_at":1739319019,"cost_in":0,"cost_out":0,"owned_by":"mistral"},{"id":"openrouter/meta-llama/llama-2-70b-chat","object":"model","created_at":1739233263,"cost_in":9e-7,"cost_out":9e-7,"owned_by":"openrouter"},{"id":"openrouter/mistralai/mixtral-8x7b","object":"model","created_at":1739233262,"cost_in":6e-7,"cost_out":6e-7,"owned_by":"openrouter"},{"id":"openrouter/sao10k/fimbulvetr-11b-v2","object":"model","created_at":1739233261,"cost_in":8e-7,"cost_out":0.0000012,"owned_by":"openrouter"},{"id":"openrouter/microsoft/wizardlm-2-7b","object":"model","created_at":1739233261,"cost_in":7e-8,"cost_out":7e-8,"owned_by":"openrouter"},{"id":"openrouter/databricks/dbrx-instruct","object":"model","created_at":1739233261,"cost_in":0.0000012,"cost_out":0.0000012,"owned_by":"openrouter"},{"id":"openrouter/google/gemma-7b-it","object":"model","created_at":1739233261,"cost_in":1.5e-7,"cost_out":1.5e-7,"owned_by":"openrouter"},{"id":"openrouter/nousresearch/nous-hermes-2-mixtral-8x7b-dpo","object":"model","created_at":1739233261,"cost_in":6e-7,"cost_out":6e-7,"owned_by":"openrouter"},{"id":"openrouter/qwen/qwen-2-72b-instruct","object":"model","created_at":1739233260,"cost_in":9e-7,"cost_out":9e-7,"owned_by":"openrouter"},{"id":"openrouter/meta-llama/llama-guard-2-8b","object":"model","created_at":1739233260,"cost_in":2e-7,"cost_out":2e-7,"owned_by":"openrouter"},{"id":"openrouter/openai/o1-mini-2024-09-12","object":"model","created_at":1739233259,"cost_in":0.0000011,"cost_out":0.0000044,"owned_by":"openrouter"},{"id":"openrouter/openai/o1-mini","object":"model","created_at":1739233259,"cost_in":0.0000011,"cost_out":0.0000044,"owned_by":"openrouter"},{"id":"openrouter/nvidia/llama-3.1-nemotron-70b-instruct:free","object":"model","created_at":1739233258,"cost_in":0,"cost_out":0,"owned_by":"openrouter"},{"id":"openrouter/aion-labs/aion-rp-llama-3.1-8b","object":"model","created_at":1739233257,"cost_in":2e-7,"cost_out":2e-7,"owned_by":"openrouter"},{"id":"openrouter/perplexity/sonar","object":"model","created_at":1739233257,"cost_in":0.000001,"cost_out":0.000001,"owned_by":"openrouter"},{"id":"openrouter/openai/o3-mini","object":"model","created_at":1739233257,"cost_in":0.0000011,"cost_out":0.0000044,"owned_by":"openrouter"},{"id":"openrouter/perplexity/sonar-reasoning","object":"model","created_at":1739233257,"cost_in":0.000001,"cost_out":0.000005,"owned_by":"openrouter"},{"id":"openrouter/liquid/lfm-7b","object":"model","created_at":1739233257,"cost_in":1e-8,"cost_out":1e-8,"owned_by":"openrouter"},{"id":"openrouter/deepseek/deepseek-r1:free","object":"model","created_at":1739233257,"cost_in":0,"cost_out":0,"owned_by":"openrouter"},{"id":"openrouter/deepseek/deepseek-r1-distill-llama-70b:free","object":"model","created_at":1739233257,"cost_in":0,"cost_out":0,"owned_by":"openrouter"},{"id":"openrouter/liquid/lfm-3b","object":"model","created_at":1739233257,"cost_in":2e-8,"cost_out":2e-8,"owned_by":"openrouter"},{"id":"openrouter/deepseek/deepseek-chat:free","object":"model","created_at":1739233257,"cost_in":0,"cost_out":0,"owned_by":"openrouter"},{"id":"openrouter/sophosympatheia/rogue-rose-103b-v0.2:free","object":"model","created_at":1739233257,"cost_in":0,"cost_out":0,"owned_by":"openrouter"},{"id":"openrouter/sao10k/l3.1-70b-hanami-x1","object":"model","created_at":1739233257,"cost_in":0.000003,"cost_out":0.000003,"owned_by":"openrouter"},{"id":"openrouter/mistralai/codestral-2501","object":"model","created_at":1739233257,"cost_in":3e-7,"cost_out":9e-7,"owned_by":"openrouter"},{"id":"openrouter/minimax/minimax-01","object":"model","created_at":1739233257,"cost_in":2e-7,"cost_out":0.0000011,"owned_by":"openrouter"},{"id":"openrouter/google/gemini-2.0-flash-thinking-exp-1219:free","object":"model","created_at":1739233257,"cost_in":0,"cost_out":0,"owned_by":"openrouter"},{"id":"openrouter/meta-llama/llama-3.3-70b-instruct:free","object":"model","created_at":1739233257,"cost_in":0,"cost_out":0,"owned_by":"openrouter"},{"id":"openrouter/google/gemini-2.0-pro-exp-02-05:free","object":"model","created_at":1739233256,"cost_in":0,"cost_out":0,"owned_by":"openrouter"},{"id":"openrouter/google/gemini-2.0-flash-lite-preview-02-05:free","object":"model","created_at":1739233256,"cost_in":0,"cost_out":0,"owned_by":"openrouter"},{"id":"openrouter/google/gemini-2.0-flash-001","object":"model","created_at":1739233256,"cost_in":1e-7,"cost_out":4e-7,"owned_by":"openrouter"},{"id":"openrouter/qwen/qwen-turbo","object":"model","created_at":1739233256,"cost_in":5e-8,"cost_out":2e-7,"owned_by":"openrouter"},{"id":"openrouter/qwen/qwen-vl-plus:free","object":"model","created_at":1739233256,"cost_in":0,"cost_out":0,"owned_by":"openrouter"},{"id":"openrouter/deepseek/deepseek-r1-distill-llama-8b","object":"model","created_at":1739233256,"cost_in":4e-8,"cost_out":4e-8,"owned_by":"openrouter"},{"id":"openrouter/allenai/llama-3.1-tulu-3-405b","object":"model","created_at":1739233256,"cost_in":0.000005,"cost_out":0.00001,"owned_by":"openrouter"},{"id":"openrouter/qwen/qwen-plus","object":"model","created_at":1739233256,"cost_in":4e-7,"cost_out":0.0000012,"owned_by":"openrouter"},{"id":"openrouter/qwen/qwen-max","object":"model","created_at":1739233256,"cost_in":0.0000016,"cost_out":0.0000064,"owned_by":"openrouter"},{"id":"openrouter/deepseek/deepseek-r1-distill-qwen-1.5b","object":"model","created_at":1739233256,"cost_in":1.8e-7,"cost_out":1.8e-7,"owned_by":"openrouter"},{"id":"openrouter/qwen/qwen2.5-vl-72b-instruct:free","object":"model","created_at":1739233256,"cost_in":0,"cost_out":0,"owned_by":"openrouter"},{"id":"mistral/mixtral-8x7b","object":"model","created_at":1739232653,"cost_in":6e-7,"cost_out":6e-7,"owned_by":"mistral"},{"id":"google-ai-studio/gemini-pro","object":"model","created_at":1739232653,"cost_in":5e-7,"cost_out":0.0000015,"owned_by":"google-ai-studio"},{"id":"anthropic/claude-2.0","object":"model","created_at":1739232653,"cost_in":0.000008,"cost_out":0.000024,"owned_by":"anthropic"},{"id":"openai/gpt-3.5-turbo","object":"model","created_at":1739232653,"cost_in":5e-7,"cost_out":0.0000015,"owned_by":"openai"},{"id":"openai/gpt-4o","object":"model","created_at":1739232652,"cost_in":0.0000025,"cost_out":0.00001,"owned_by":"openai"},{"id":"google-ai-studio/gemma-7b-it","object":"model","created_at":1739232652,"cost_in":1.5e-7,"cost_out":1.5e-7,"owned_by":"google-ai-studio"},{"id":"google-ai-studio/gemini-2.0-flash-thinking-exp-1219:free","object":"model","created_at":1739232651,"cost_in":0,"cost_out":0,"owned_by":"google-ai-studio"},{"id":"openai/o1-mini-2024-09-12","object":"model","created_at":1739232651,"cost_in":0.0000011,"cost_out":0.0000044,"owned_by":"openai"},{"id":"openai/o1-mini","object":"model","created_at":1739232651,"cost_in":0.0000011,"cost_out":0.0000044,"owned_by":"openai"},{"id":"google-ai-studio/gemini-2.0-flash-lite-preview-02-05:free","object":"model","created_at":1739232650,"cost_in":0,"cost_out":0,"owned_by":"google-ai-studio"},{"id":"deepseek/deepseek-r1-distill-qwen-1.5b","object":"model","created_at":1739232650,"cost_in":1.8e-7,"cost_out":1.8e-7,"owned_by":"deepseek"},{"id":"deepseek/deepseek-r1-distill-llama-8b","object":"model","created_at":1739232650,"cost_in":4e-8,"cost_out":4e-8,"owned_by":"deepseek"},{"id":"google-ai-studio/gemini-2.0-flash-001","object":"model","created_at":1739232650,"cost_in":1e-7,"cost_out":4e-7,"owned_by":"google-ai-studio"},{"id":"google-ai-studio/gemini-2.0-pro-exp-02-05:free","object":"model","created_at":1739232650,"cost_in":0,"cost_out":0,"owned_by":"google-ai-studio"},{"id":"deepseek/deepseek-r1-distill-llama-70b:free","object":"model","created_at":1739232650,"cost_in":0,"cost_out":0,"owned_by":"deepseek"},{"id":"perplexity-ai/sonar-reasoning","object":"model","created_at":1739232650,"cost_in":0.000001,"cost_out":0.000005,"owned_by":"perplexity-ai"},{"id":"deepseek/deepseek-chat:free","object":"model","created_at":1739232650,"cost_in":0,"cost_out":0,"owned_by":"deepseek"},{"id":"deepseek/deepseek-r1:free","object":"model","created_at":1739232650,"cost_in":0,"cost_out":0,"owned_by":"deepseek"},{"id":"mistral/codestral-2501","object":"model","created_at":1739232650,"cost_in":3e-7,"cost_out":9e-7,"owned_by":"mistral"},{"id":"azure-openai/gpt-3.5-turbo-0125","object":"model","created_at":1738807115,"cost_in":5e-7,"cost_out":0.0000015,"owned_by":"azure-openai"},{"id":"azure-openai/text-embedding-3-large","object":"model","created_at":1738807015,"cost_in":1.3e-7,"cost_out":0,"owned_by":"azure-openai"},{"id":"openai/o1-2024-12-17","object":"model","created_at":1738806987,"cost_in":0.000015,"cost_out":0.00006,"owned_by":"openai"},{"id":"google-vertex-ai/mistral-large-2411","object":"model","created_at":1738806951,"cost_in":0.000002,"cost_out":0.000006,"owned_by":"google-vertex-ai"},{"id":"cerebras/llama3.1-8b","object":"model","created_at":1738806921,"cost_in":1.0000000000000001e-7,"cost_out":1.0000000000000001e-7,"owned_by":"cerebras"},{"id":"cerebras/llama-3.3-70b","object":"model","created_at":1738806901,"cost_in":8.5e-7,"cost_out":0.0000012,"owned_by":"cerebras"},{"id":"aws-bedrock/anthropic.claude-3-5-sonnet-20241022-v2","object":"model","created_at":1738806764,"cost_in":0.000003,"cost_out":0.000015,"owned_by":"aws-bedrock"},{"id":"aws-bedrock/anthropic.claude-3-haiku-20240307-v1","object":"model","created_at":1738806705,"cost_in":2.5e-7,"cost_out":0.00000125,"owned_by":"aws-bedrock"},{"id":"azure-openai/gpt-4-32k","object":"model","created_at":1738806612,"cost_in":0.00006,"cost_out":0.00012,"owned_by":"azure-openai"},{"id":"google-vertex-ai/codestral-2501","object":"model","created_at":1738806568,"cost_in":3e-7,"cost_out":9.000000000000001e-7,"owned_by":"google-vertex-ai"},{"id":"replicate/meta/meta-llama-3-8b-instruct","object":"model","created_at":1738806509,"cost_in":5.0000000000000004e-8,"cost_out":2.5e-7,"owned_by":"replicate"},{"id":"deepseek/deepseek-reasoner","object":"model","created_at":1738806446,"cost_in":2.8e-7,"cost_out":4.2e-7,"owned_by":"deepseek"},{"id":"perplexity-ai/sonar","object":"model","created_at":1738806346,"cost_in":0.000001,"cost_out":0.000001,"owned_by":"perplexity-ai"},{"id":"perplexity-ai/sonar-pro","object":"model","created_at":1738806329,"cost_in":0.000003,"cost_out":0.000015,"owned_by":"perplexity-ai"},{"id":"openai/o3-mini","object":"model","created_at":1738805917,"cost_in":0.0000011,"cost_out":0.0000044,"owned_by":"openai"},{"id":"deepseek/deepseek-chat-v2.5","object":"model","created_at":1736267346,"cost_in":0.000002,"cost_out":0.000002,"owned_by":"deepseek"},{"id":"anthropic/claude-3.5-haiku","object":"model","created_at":1736267344,"cost_in":8e-7,"cost_out":0.000004,"owned_by":"anthropic"},{"id":"anthropic/claude-3.5-haiku:beta","object":"model","created_at":1736267344,"cost_in":8e-7,"cost_out":0.000004,"owned_by":"anthropic"},{"id":"google-ai-studio/gemini-2.0-flash-exp:free","object":"model","created_at":1736267343,"cost_in":0,"cost_out":0,"owned_by":"google-ai-studio"},{"id":"google-ai-studio/gemini-exp-1206:free","object":"model","created_at":1736267343,"cost_in":0,"cost_out":0,"owned_by":"google-ai-studio"},{"id":"anthropic/claude-3.5-haiku-20241022:beta","object":"model","created_at":1736267343,"cost_in":8e-7,"cost_out":0.000004,"owned_by":"anthropic"},{"id":"anthropic/claude-3.5-haiku-20241022","object":"model","created_at":1736267343,"cost_in":8e-7,"cost_out":0.000004,"owned_by":"anthropic"},{"id":"cohere/command-r7b-12-2024","object":"model","created_at":1736267342,"cost_in":3.75e-8,"cost_out":1.5e-7,"owned_by":"cohere"},{"id":"openai/o1","object":"model","created_at":1736267342,"cost_in":0.000015,"cost_out":0.00006,"owned_by":"openai"},{"id":"google-ai-studio/gemini-2.0-flash-thinking-exp:free","object":"model","created_at":1736267342,"cost_in":0,"cost_out":0,"owned_by":"google-ai-studio"},{"id":"openrouter/meta-llama/llama-3-8b-instruct","object":"model","created_at":1736267292,"cost_in":3e-8,"cost_out":6e-8,"owned_by":"openrouter"},{"id":"openrouter/deepseek/deepseek-chat-v2.5","object":"model","created_at":1736267291,"cost_in":0.000002,"cost_out":0.000002,"owned_by":"openrouter"},{"id":"openrouter/nousresearch/hermes-2-pro-llama-3-8b","object":"model","created_at":1736267290,"cost_in":2.5e-8,"cost_out":8e-8,"owned_by":"openrouter"},{"id":"openrouter/meta-llama/llama-3.1-405b-instruct","object":"model","created_at":1736267288,"cost_in":0.0000035,"cost_out":0.0000035,"owned_by":"openrouter"},{"id":"openrouter/aetherwiing/mn-starcannon-12b","object":"model","created_at":1736267287,"cost_in":8e-7,"cost_out":0.0000012,"owned_by":"openrouter"},{"id":"openrouter/nothingiisreal/mn-celeste-12b","object":"model","created_at":1736267287,"cost_in":8e-7,"cost_out":0.0000012,"owned_by":"openrouter"},{"id":"openrouter/liquid/lfm-40b","object":"model","created_at":1736267285,"cost_in":1.5e-7,"cost_out":1.5e-7,"owned_by":"openrouter"},{"id":"openrouter/nvidia/llama-3.1-nemotron-70b-instruct","object":"model","created_at":1736267284,"cost_in":0.0000012,"cost_out":0.0000012,"owned_by":"openrouter"},{"id":"openrouter/anthracite-org/magnum-v2-72b","object":"model","created_at":1736267284,"cost_in":0.000003,"cost_out":0.000003,"owned_by":"openrouter"},{"id":"openrouter/eva-unit-01/eva-qwen-2.5-32b","object":"model","created_at":1736267283,"cost_in":0.0000026,"cost_out":0.0000034,"owned_by":"openrouter"},{"id":"openrouter/anthropic/claude-3.5-haiku-20241022","object":"model","created_at":1736267283,"cost_in":8e-7,"cost_out":0.000004,"owned_by":"openrouter"},{"id":"openrouter/anthropic/claude-3.5-haiku:beta","object":"model","created_at":1736267283,"cost_in":8e-7,"cost_out":0.000004,"owned_by":"openrouter"},{"id":"openrouter/anthropic/claude-3.5-haiku","object":"model","created_at":1736267283,"cost_in":8e-7,"cost_out":0.000004,"owned_by":"openrouter"},{"id":"openrouter/anthropic/claude-3.5-haiku-20241022:beta","object":"model","created_at":1736267283,"cost_in":8e-7,"cost_out":0.000004,"owned_by":"openrouter"},{"id":"openrouter/x-ai/grok-2-vision-1212","object":"model","created_at":1736267282,"cost_in":0.000002,"cost_out":0.00001,"owned_by":"openrouter"},{"id":"openrouter/google/gemini-exp-1206:free","object":"model","created_at":1736267282,"cost_in":0,"cost_out":0,"owned_by":"openrouter"},{"id":"openrouter/amazon/nova-micro-v1","object":"model","created_at":1736267282,"cost_in":3.5e-8,"cost_out":1.4e-7,"owned_by":"openrouter"},{"id":"openrouter/amazon/nova-lite-v1","object":"model","created_at":1736267282,"cost_in":6e-8,"cost_out":2.4e-7,"owned_by":"openrouter"},{"id":"openrouter/amazon/nova-pro-v1","object":"model","created_at":1736267282,"cost_in":8e-7,"cost_out":0.0000032,"owned_by":"openrouter"},{"id":"openrouter/openai/o1","object":"model","created_at":1736267281,"cost_in":0.000015,"cost_out":0.00006,"owned_by":"openrouter"},{"id":"openrouter/google/gemini-2.0-flash-thinking-exp:free","object":"model","created_at":1736267281,"cost_in":0,"cost_out":0,"owned_by":"openrouter"},{"id":"openrouter/inflatebot/mn-mag-mell-r1","object":"model","created_at":1736267281,"cost_in":9e-7,"cost_out":9e-7,"owned_by":"openrouter"},{"id":"openrouter/qwen/qvq-72b-preview","object":"model","created_at":1736267281,"cost_in":2.5e-7,"cost_out":5e-7,"owned_by":"openrouter"},{"id":"openrouter/cohere/command-r7b-12-2024","object":"model","created_at":1736267281,"cost_in":3.75e-8,"cost_out":1.5e-7,"owned_by":"openrouter"},{"id":"openrouter/eva-unit-01/eva-llama-3.33-70b","object":"model","created_at":1736267281,"cost_in":0.000004,"cost_out":0.000006,"owned_by":"openrouter"},{"id":"openrouter/x-ai/grok-2-1212","object":"model","created_at":1736267281,"cost_in":0.000002,"cost_out":0.00001,"owned_by":"openrouter"},{"id":"openrouter/google/gemini-2.0-flash-exp:free","object":"model","created_at":1736267281,"cost_in":0,"cost_out":0,"owned_by":"openrouter"},{"id":"mistral/codestral-2405","object":"model","created_at":1735255232,"cost_in":2.0000000000000002e-7,"cost_out":6e-7,"owned_by":"mistral"},{"id":"groq/llama-3.2-90b-text-preview","object":"model","created_at":1735255191,"cost_in":9.000000000000001e-7,"cost_out":9.000000000000001e-7,"owned_by":"groq"},{"id":"mistral/pixtral-large-latest","object":"model","created_at":1735255159,"cost_in":0.000002,"cost_out":0.000006,"owned_by":"mistral"},{"id":"mistral/ministral-3b-latest","object":"model","created_at":1735255132,"cost_in":4e-8,"cost_out":4e-8,"owned_by":"mistral"},{"id":"groq/llama-3.2-11b-text-preview","object":"model","created_at":1735255089,"cost_in":1.8e-7,"cost_out":1.8e-7,"owned_by":"groq"},{"id":"openai/omni-moderation-latest-intents","object":"model","created_at":1735255014,"cost_in":2e-7,"cost_out":2e-7,"owned_by":"openai"},{"id":"mistral/ministral-3b-2410","object":"model","created_at":1735254936,"cost_in":4e-8,"cost_out":4e-8,"owned_by":"mistral"},{"id":"groq/llama-3.3-70b-versatile","object":"model","created_at":1735254834,"cost_in":5.9e-7,"cost_out":7.9e-7,"owned_by":"groq"},{"id":"groq/llama-3.3-70b-specdec","object":"model","created_at":1735254775,"cost_in":5.9e-7,"cost_out":9.9e-7,"owned_by":"groq"},{"id":"google-vertex-ai/jamba-1.5-mini","object":"model","created_at":1735254708,"cost_in":2.0000000000000002e-7,"cost_out":4.0000000000000003e-7,"owned_by":"google-vertex-ai"},{"id":"grok/grok-2-1212","object":"model","created_at":1735254669,"cost_in":0.000002,"cost_out":0.00001,"owned_by":"grok"},{"id":"mistral/pixtral-12b-latest","object":"model","created_at":1735254626,"cost_in":1.5e-7,"cost_out":1.5e-7,"owned_by":"mistral"},{"id":"azure-openai/gpt-4o-2024-11-20","object":"model","created_at":1735254491,"cost_in":0.0000025,"cost_out":0.00001,"owned_by":"azure-openai"},{"id":"openai/o1-2024","object":"model","created_at":1735254434,"cost_in":0.000015,"cost_out":0.00006,"owned_by":"openai"},{"id":"cohere/command-r7b","object":"model","created_at":1735254373,"cost_in":3.75e-8,"cost_out":1.5e-7,"owned_by":"cohere"},{"id":"azure-openai/gpt-4o-mini-2024-07-18","object":"model","created_at":1735253893,"cost_in":1.5e-7,"cost_out":6e-7,"owned_by":"azure-openai"},{"id":"grok/grok-2-vision-1212","object":"model","created_at":1735253858,"cost_in":0.000002,"cost_out":0.00001,"owned_by":"grok"},{"id":"google-vertex-ai/jamba-1.5-large@001","object":"model","created_at":1735253789,"cost_in":0.000002,"cost_out":0.000008,"owned_by":"google-vertex-ai"},{"id":"google-vertex-ai/claude-3-5-sonnet","object":"model","created_at":1735253702,"cost_in":0.000003,"cost_out":0.000015,"owned_by":"google-vertex-ai"},{"id":"aws-bedrock/us.anthropic.claude-3-5-haiku-20241022-v1","object":"model","created_at":1735253656,"cost_in":8.000000000000001e-7,"cost_out":0.000004,"owned_by":"aws-bedrock"},{"id":"aws-bedrock/us.anthropic.claude-3-5-sonnet-20241022-v2","object":"model","created_at":1735253615,"cost_in":0.000003,"cost_out":0.000015,"owned_by":"aws-bedrock"},{"id":"aws-bedrock/anthropic.claude-3-5-haiku-20241022-v1","object":"model","created_at":1735253536,"cost_in":8.000000000000001e-7,"cost_out":0.000004,"owned_by":"aws-bedrock"},{"id":"azure-openai/gpt-3.5-turbo-1106","object":"model","created_at":1735253455,"cost_in":0.000001,"cost_out":0.000002,"owned_by":"azure-openai"},{"id":"azure-openai/text-embedding-3-small","object":"model","created_at":1735253391,"cost_in":2e-8,"cost_out":0,"owned_by":"azure-openai"},{"id":"google-vertex-ai/mistral-nemo@2407","object":"model","created_at":1735253307,"cost_in":1.5e-7,"cost_out":1.5e-7,"owned_by":"google-vertex-ai"},{"id":"aws-bedrock/anthropic.claude-3-5-sonnet-20240620-v1","object":"model","created_at":1735253273,"cost_in":0.000003,"cost_out":0.000015,"owned_by":"aws-bedrock"},{"id":"google-vertex-ai/claude-3-5-sonnet@20240620","object":"model","created_at":1735253190,"cost_in":0.000003,"cost_out":0.000015,"owned_by":"google-vertex-ai"},{"id":"google-vertex-ai/claude-3-opus@20240229","object":"model","created_at":1735253138,"cost_in":0.000015,"cost_out":0.000075,"owned_by":"google-vertex-ai"},{"id":"google-vertex-ai/codestral@2405","object":"model","created_at":1735253092,"cost_in":2.0000000000000002e-7,"cost_out":6e-7,"owned_by":"google-vertex-ai"},{"id":"openrouter/openai/gpt-4-0314","object":"model","created_at":1732817442,"cost_in":0.00003,"cost_out":0.00006,"owned_by":"openrouter"},{"id":"openrouter/openai/gpt-3.5-turbo-0125","object":"model","created_at":1732817442,"cost_in":5e-7,"cost_out":0.0000015,"owned_by":"openrouter"},{"id":"openrouter/openai/gpt-3.5-turbo","object":"model","created_at":1732817442,"cost_in":5e-7,"cost_out":0.0000015,"owned_by":"openrouter"},{"id":"openrouter/undi95/remm-slerp-l2-13b:extended","object":"model","created_at":1732817441,"cost_in":0.000001125,"cost_out":0.000001125,"owned_by":"openrouter"},{"id":"openrouter/anthropic/claude-2.0","object":"model","created_at":1732817441,"cost_in":0.000008,"cost_out":0.000024,"owned_by":"openrouter"},{"id":"openrouter/google/palm-2-codechat-bison","object":"model","created_at":1732817441,"cost_in":0.000001,"cost_out":0.000002,"owned_by":"openrouter"},{"id":"openrouter/gryphe/mythomax-l2-13b:free","object":"model","created_at":1732817441,"cost_in":0,"cost_out":0,"owned_by":"openrouter"},{"id":"openrouter/google/palm-2-chat-bison","object":"model","created_at":1732817441,"cost_in":0.000001,"cost_out":0.000002,"owned_by":"openrouter"},{"id":"openrouter/gryphe/mythomax-l2-13b:nitro","object":"model","created_at":1732817441,"cost_in":2e-7,"cost_out":2e-7,"owned_by":"openrouter"},{"id":"openrouter/gryphe/mythomax-l2-13b:extended","object":"model","created_at":1732817441,"cost_in":0.000001125,"cost_out":0.000001125,"owned_by":"openrouter"},{"id":"openrouter/openai/gpt-4","object":"model","created_at":1732817441,"cost_in":0.00003,"cost_out":0.00006,"owned_by":"openrouter"},{"id":"openrouter/openai/gpt-3.5-turbo-instruct","object":"model","created_at":1732817440,"cost_in":0.0000015,"cost_out":0.000002,"owned_by":"openrouter"},{"id":"openrouter/openai/gpt-4-32k-0314","object":"model","created_at":1732817440,"cost_in":0.00006,"cost_out":0.00012,"owned_by":"openrouter"},{"id":"openrouter/openai/gpt-4-32k","object":"model","created_at":1732817440,"cost_in":0.00006,"cost_out":0.00012,"owned_by":"openrouter"},{"id":"openrouter/openai/gpt-3.5-turbo-16k","object":"model","created_at":1732817440,"cost_in":0.000003,"cost_out":0.000004,"owned_by":"openrouter"},{"id":"openrouter/anthropic/claude-2.0:beta","object":"model","created_at":1732817440,"cost_in":0.000008,"cost_out":0.000024,"owned_by":"openrouter"},{"id":"openrouter/huggingfaceh4/zephyr-7b-beta:free","object":"model","created_at":1732817440,"cost_in":0,"cost_out":0,"owned_by":"openrouter"},{"id":"openrouter/undi95/toppy-m-7b:nitro","object":"model","created_at":1732817439,"cost_in":7e-8,"cost_out":7e-8,"owned_by":"openrouter"},{"id":"openrouter/openrouter/auto","object":"model","created_at":1732817439,"cost_in":-1,"cost_out":-1,"owned_by":"openrouter"},{"id":"openrouter/openai/gpt-4-1106-preview","object":"model","created_at":1732817439,"cost_in":0.00001,"cost_out":0.00003,"owned_by":"openrouter"},{"id":"openrouter/google/palm-2-codechat-bison-32k","object":"model","created_at":1732817439,"cost_in":0.000001,"cost_out":0.000002,"owned_by":"openrouter"},{"id":"openrouter/google/palm-2-chat-bison-32k","object":"model","created_at":1732817439,"cost_in":0.000001,"cost_out":0.000002,"owned_by":"openrouter"},{"id":"openrouter/openai/gpt-3.5-turbo-1106","object":"model","created_at":1732817439,"cost_in":0.000001,"cost_out":0.000002,"owned_by":"openrouter"},{"id":"openrouter/jondurbin/airoboros-l2-70b","object":"model","created_at":1732817439,"cost_in":5e-7,"cost_out":5e-7,"owned_by":"openrouter"},{"id":"openrouter/xwin-lm/xwin-lm-70b","object":"model","created_at":1732817439,"cost_in":0.00000375,"cost_out":0.00000375,"owned_by":"openrouter"},{"id":"openrouter/openchat/openchat-7b:free","object":"model","created_at":1732817438,"cost_in":0,"cost_out":0,"owned_by":"openrouter"},{"id":"openrouter/anthropic/claude-2.1","object":"model","created_at":1732817438,"cost_in":0.000008,"cost_out":0.000024,"owned_by":"openrouter"},{"id":"openrouter/anthropic/claude-2:beta","object":"model","created_at":1732817438,"cost_in":0.000008,"cost_out":0.000024,"owned_by":"openrouter"},{"id":"openrouter/anthropic/claude-2.1:beta","object":"model","created_at":1732817438,"cost_in":0.000008,"cost_out":0.000024,"owned_by":"openrouter"},{"id":"openrouter/anthropic/claude-2","object":"model","created_at":1732817438,"cost_in":0.000008,"cost_out":0.000024,"owned_by":"openrouter"},{"id":"openrouter/teknium/openhermes-2.5-mistral-7b","object":"model","created_at":1732817438,"cost_in":1.7e-7,"cost_out":1.7e-7,"owned_by":"openrouter"},{"id":"openrouter/openai/gpt-4-vision-preview","object":"model","created_at":1732817438,"cost_in":0.00001,"cost_out":0.00003,"owned_by":"openrouter"},{"id":"openrouter/lizpreciatior/lzlv-70b-fp16-hf","object":"model","created_at":1732817438,"cost_in":3.5e-7,"cost_out":4e-7,"owned_by":"openrouter"},{"id":"openrouter/undi95/toppy-m-7b:free","object":"model","created_at":1732817438,"cost_in":0,"cost_out":0,"owned_by":"openrouter"},{"id":"openrouter/cognitivecomputations/dolphin-mixtral-8x7b","object":"model","created_at":1732817437,"cost_in":5e-7,"cost_out":5e-7,"owned_by":"openrouter"},{"id":"openrouter/google/gemini-pro","object":"model","created_at":1732817437,"cost_in":5e-7,"cost_out":0.0000015,"owned_by":"openrouter"},{"id":"openrouter/google/gemini-pro-vision","object":"model","created_at":1732817437,"cost_in":5e-7,"cost_out":0.0000015,"owned_by":"openrouter"},{"id":"openrouter/mistralai/mixtral-8x7b-instruct:nitro","object":"model","created_at":1732817437,"cost_in":5.4e-7,"cost_out":5.4e-7,"owned_by":"openrouter"},{"id":"openrouter/anthropic/claude-3-sonnet","object":"model","created_at":1732817436,"cost_in":0.000003,"cost_out":0.000015,"owned_by":"openrouter"},{"id":"openrouter/anthropic/claude-3-opus:beta","object":"model","created_at":1732817436,"cost_in":0.000015,"cost_out":0.000075,"owned_by":"openrouter"},{"id":"openrouter/anthropic/claude-3-opus","object":"model","created_at":1732817436,"cost_in":0.000015,"cost_out":0.000075,"owned_by":"openrouter"},{"id":"openrouter/openai/gpt-3.5-turbo-0613","object":"model","created_at":1732817436,"cost_in":0.000001,"cost_out":0.000002,"owned_by":"openrouter"},{"id":"openrouter/mistralai/mistral-large","object":"model","created_at":1732817436,"cost_in":0.000002,"cost_out":0.000006,"owned_by":"openrouter"},{"id":"openrouter/openai/gpt-4-turbo-preview","object":"model","created_at":1732817436,"cost_in":0.00001,"cost_out":0.00003,"owned_by":"openrouter"},{"id":"openrouter/mistralai/mistral-small","object":"model","created_at":1732817436,"cost_in":2e-7,"cost_out":6e-7,"owned_by":"openrouter"},{"id":"openrouter/mistralai/mistral-medium","object":"model","created_at":1732817436,"cost_in":0.00000275,"cost_out":0.0000081,"owned_by":"openrouter"},{"id":"openrouter/mistralai/mistral-tiny","object":"model","created_at":1732817436,"cost_in":2.5e-7,"cost_out":2.5e-7,"owned_by":"openrouter"},{"id":"openrouter/google/gemini-pro-1.5","object":"model","created_at":1732817435,"cost_in":0.00000125,"cost_out":0.000005,"owned_by":"openrouter"},{"id":"openrouter/openai/gpt-4-turbo","object":"model","created_at":1732817435,"cost_in":0.00001,"cost_out":0.00003,"owned_by":"openrouter"},{"id":"openrouter/sophosympatheia/midnight-rose-70b","object":"model","created_at":1732817435,"cost_in":8e-7,"cost_out":8e-7,"owned_by":"openrouter"},{"id":"openrouter/anthropic/claude-3-haiku","object":"model","created_at":1732817435,"cost_in":2.5e-7,"cost_out":0.00000125,"owned_by":"openrouter"},{"id":"openrouter/anthropic/claude-3-haiku:beta","object":"model","created_at":1732817435,"cost_in":2.5e-7,"cost_out":0.00000125,"owned_by":"openrouter"},{"id":"openrouter/anthropic/claude-3-sonnet:beta","object":"model","created_at":1732817435,"cost_in":0.000003,"cost_out":0.000015,"owned_by":"openrouter"},{"id":"openrouter/meta-llama/llama-3-8b-instruct:free","object":"model","created_at":1732817434,"cost_in":0,"cost_out":0,"owned_by":"openrouter"},{"id":"openrouter/meta-llama/llama-3-8b-instruct:extended","object":"model","created_at":1732817434,"cost_in":1.875e-7,"cost_out":0.000001125,"owned_by":"openrouter"},{"id":"openrouter/meta-llama/llama-3-8b-instruct:nitro","object":"model","created_at":1732817434,"cost_in":2e-7,"cost_out":2e-7,"owned_by":"openrouter"},{"id":"openrouter/perplexity/llama-3-sonar-large-32k-online","object":"model","created_at":1732817433,"cost_in":0.000001,"cost_out":0.000001,"owned_by":"openrouter"},{"id":"openrouter/perplexity/llama-3-sonar-small-32k-chat","object":"model","created_at":1732817433,"cost_in":2e-7,"cost_out":2e-7,"owned_by":"openrouter"},{"id":"openrouter/perplexity/llama-3-sonar-large-32k-chat","object":"model","created_at":1732817433,"cost_in":0.000001,"cost_out":0.000001,"owned_by":"openrouter"},{"id":"openrouter/openai/gpt-4o-2024-05-13","object":"model","created_at":1732817433,"cost_in":0.000005,"cost_out":0.000015,"owned_by":"openrouter"},{"id":"openrouter/openai/gpt-4o","object":"model","created_at":1732817433,"cost_in":0.0000025,"cost_out":0.00001,"owned_by":"openrouter"},{"id":"openrouter/openai/gpt-4o:extended","object":"model","created_at":1732817433,"cost_in":0.000006,"cost_out":0.000018,"owned_by":"openrouter"},{"id":"openrouter/meta-llama/llama-3-70b-instruct:nitro","object":"model","created_at":1732817433,"cost_in":7.92e-7,"cost_out":7.92e-7,"owned_by":"openrouter"},{"id":"openrouter/mistralai/mistral-7b-instruct:free","object":"model","created_at":1732817432,"cost_in":0,"cost_out":0,"owned_by":"openrouter"},{"id":"openrouter/mistralai/mistral-7b-instruct:nitro","object":"model","created_at":1732817432,"cost_in":7e-8,"cost_out":7e-8,"owned_by":"openrouter"},{"id":"openrouter/microsoft/phi-3-mini-128k-instruct:free","object":"model","created_at":1732817432,"cost_in":0,"cost_out":0,"owned_by":"openrouter"},{"id":"openrouter/microsoft/phi-3-mini-128k-instruct","object":"model","created_at":1732817432,"cost_in":1e-7,"cost_out":1e-7,"owned_by":"openrouter"},{"id":"openrouter/microsoft/phi-3-medium-128k-instruct:free","object":"model","created_at":1732817432,"cost_in":0,"cost_out":0,"owned_by":"openrouter"},{"id":"openrouter/google/gemini-flash-1.5","object":"model","created_at":1732817432,"cost_in":7.5e-8,"cost_out":3e-7,"owned_by":"openrouter"},{"id":"openrouter/ai21/jamba-instruct","object":"model","created_at":1732817431,"cost_in":5e-7,"cost_out":7e-7,"owned_by":"openrouter"},{"id":"openrouter/01-ai/yi-large","object":"model","created_at":1732817431,"cost_in":0.000003,"cost_out":0.000003,"owned_by":"openrouter"},{"id":"openrouter/anthropic/claude-3.5-sonnet-20240620:beta","object":"model","created_at":1732817431,"cost_in":0.000003,"cost_out":0.000015,"owned_by":"openrouter"},{"id":"openrouter/anthropic/claude-3.5-sonnet-20240620","object":"model","created_at":1732817431,"cost_in":0.000003,"cost_out":0.000015,"owned_by":"openrouter"},{"id":"openrouter/cognitivecomputations/dolphin-mixtral-8x22b","object":"model","created_at":1732817431,"cost_in":9e-7,"cost_out":9e-7,"owned_by":"openrouter"},{"id":"openrouter/meta-llama/llama-3.1-405b-instruct:free","object":"model","created_at":1732817430,"cost_in":0,"cost_out":0,"owned_by":"openrouter"},{"id":"openrouter/mistralai/codestral-mamba","object":"model","created_at":1732817430,"cost_in":2.5e-7,"cost_out":2.5e-7,"owned_by":"openrouter"},{"id":"openrouter/openai/gpt-4o-mini-2024-07-18","object":"model","created_at":1732817430,"cost_in":1.5e-7,"cost_out":6e-7,"owned_by":"openrouter"},{"id":"openrouter/openai/gpt-4o-mini","object":"model","created_at":1732817430,"cost_in":1.5e-7,"cost_out":6e-7,"owned_by":"openrouter"},{"id":"openrouter/qwen/qwen-2-7b-instruct:free","object":"model","created_at":1732817430,"cost_in":0,"cost_out":0,"owned_by":"openrouter"},{"id":"openrouter/qwen/qwen-2-7b-instruct","object":"model","created_at":1732817430,"cost_in":5.4e-8,"cost_out":5.4e-8,"owned_by":"openrouter"},{"id":"openrouter/google/gemma-2-9b-it:free","object":"model","created_at":1732817430,"cost_in":0,"cost_out":0,"owned_by":"openrouter"},{"id":"openrouter/perplexity/llama-3.1-sonar-small-128k-online","object":"model","created_at":1732817429,"cost_in":2e-7,"cost_out":2e-7,"owned_by":"openrouter"},{"id":"openrouter/meta-llama/llama-3.1-70b-instruct:free","object":"model","created_at":1732817429,"cost_in":0,"cost_out":0,"owned_by":"openrouter"},{"id":"openrouter/perplexity/llama-3.1-sonar-small-128k-chat","object":"model","created_at":1732817429,"cost_in":2e-7,"cost_out":2e-7,"owned_by":"openrouter"},{"id":"openrouter/meta-llama/llama-3.1-70b-instruct:nitro","object":"model","created_at":1732817429,"cost_in":0.00000325,"cost_out":0.00000325,"owned_by":"openrouter"},{"id":"openrouter/meta-llama/llama-3.1-8b-instruct:free","object":"model","created_at":1732817429,"cost_in":0,"cost_out":0,"owned_by":"openrouter"},{"id":"openrouter/meta-llama/llama-3.1-405b-instruct:nitro","object":"model","created_at":1732817429,"cost_in":0.00001462,"cost_out":0.00001462,"owned_by":"openrouter"},{"id":"openrouter/ai21/jamba-1-5-mini","object":"model","created_at":1732817428,"cost_in":2e-7,"cost_out":4e-7,"owned_by":"openrouter"},{"id":"openrouter/perplexity/llama-3.1-sonar-huge-128k-online","object":"model","created_at":1732817428,"cost_in":0.000005,"cost_out":0.000005,"owned_by":"openrouter"},{"id":"openrouter/nousresearch/hermes-3-llama-3.1-405b:free","object":"model","created_at":1732817428,"cost_in":0,"cost_out":0,"owned_by":"openrouter"},{"id":"openrouter/google/gemini-pro-1.5-exp","object":"model","created_at":1732817428,"cost_in":0,"cost_out":0,"owned_by":"openrouter"},{"id":"openrouter/meta-llama/llama-3.1-405b","object":"model","created_at":1732817428,"cost_in":0.000004,"cost_out":0.000004,"owned_by":"openrouter"},{"id":"openrouter/openai/chatgpt-4o-latest","object":"model","created_at":1732817428,"cost_in":0.000005,"cost_out":0.000015,"owned_by":"openrouter"},{"id":"openrouter/openai/gpt-4o-2024-08-06","object":"model","created_at":1732817428,"cost_in":0.0000025,"cost_out":0.00001,"owned_by":"openrouter"},{"id":"openrouter/perplexity/llama-3.1-sonar-large-128k-online","object":"model","created_at":1732817428,"cost_in":0.000001,"cost_out":0.000001,"owned_by":"openrouter"},{"id":"openrouter/perplexity/llama-3.1-sonar-large-128k-chat","object":"model","created_at":1732817428,"cost_in":0.000001,"cost_out":0.000001,"owned_by":"openrouter"},{"id":"openrouter/openai/o1-preview-2024-09-12","object":"model","created_at":1732817427,"cost_in":0.000015,"cost_out":0.00006,"owned_by":"openrouter"},{"id":"openrouter/openai/o1-preview","object":"model","created_at":1732817427,"cost_in":0.000015,"cost_out":0.00006,"owned_by":"openrouter"},{"id":"openrouter/mistralai/pixtral-12b","object":"model","created_at":1732817427,"cost_in":1e-7,"cost_out":1e-7,"owned_by":"openrouter"},{"id":"openrouter/google/gemini-flash-1.5-8b-exp","object":"model","created_at":1732817427,"cost_in":0,"cost_out":0,"owned_by":"openrouter"},{"id":"openrouter/qwen/qwen-2-vl-7b-instruct","object":"model","created_at":1732817427,"cost_in":1e-7,"cost_out":1e-7,"owned_by":"openrouter"},{"id":"openrouter/google/gemini-flash-1.5-exp","object":"model","created_at":1732817427,"cost_in":0,"cost_out":0,"owned_by":"openrouter"},{"id":"openrouter/ai21/jamba-1-5-large","object":"model","created_at":1732817427,"cost_in":0.000002,"cost_out":0.000008,"owned_by":"openrouter"},{"id":"openrouter/qwen/qwen-2-vl-72b-instruct","object":"model","created_at":1732817426,"cost_in":4e-7,"cost_out":4e-7,"owned_by":"openrouter"},{"id":"openrouter/google/gemini-flash-1.5-8b","object":"model","created_at":1732817425,"cost_in":3.75e-8,"cost_out":1.5e-7,"owned_by":"openrouter"},{"id":"openrouter/inflection/inflection-3-productivity","object":"model","created_at":1732817425,"cost_in":0.0000025,"cost_out":0.00001,"owned_by":"openrouter"},{"id":"openrouter/liquid/lfm-40b:free","object":"model","created_at":1732817425,"cost_in":0,"cost_out":0,"owned_by":"openrouter"},{"id":"openrouter/meta-llama/llama-3.2-1b-instruct:free","object":"model","created_at":1732817425,"cost_in":0,"cost_out":0,"owned_by":"openrouter"},{"id":"openrouter/meta-llama/llama-3.2-3b-instruct:free","object":"model","created_at":1732817425,"cost_in":0,"cost_out":0,"owned_by":"openrouter"},{"id":"openrouter/meta-llama/llama-3.2-11b-vision-instruct:free","object":"model","created_at":1732817425,"cost_in":0,"cost_out":0,"owned_by":"openrouter"},{"id":"openrouter/meta-llama/llama-3.2-90b-vision-instruct:free","object":"model","created_at":1732817425,"cost_in":0,"cost_out":0,"owned_by":"openrouter"},{"id":"openrouter/anthropic/claude-3.5-sonnet:beta","object":"model","created_at":1732817424,"cost_in":0.000003,"cost_out":0.000015,"owned_by":"openrouter"},{"id":"openrouter/anthropic/claude-3.5-sonnet","object":"model","created_at":1732817424,"cost_in":0.000006,"cost_out":0.00003,"owned_by":"openrouter"},{"id":"openrouter/x-ai/grok-beta","object":"model","created_at":1732817424,"cost_in":0.000005,"cost_out":0.000015,"owned_by":"openrouter"},{"id":"openrouter/mistralai/ministral-8b","object":"model","created_at":1732817424,"cost_in":1e-7,"cost_out":1e-7,"owned_by":"openrouter"},{"id":"openrouter/mistralai/ministral-3b","object":"model","created_at":1732817424,"cost_in":4e-8,"cost_out":4e-8,"owned_by":"openrouter"},{"id":"openrouter/inflection/inflection-3-pi","object":"model","created_at":1732817424,"cost_in":0.0000025,"cost_out":0.00001,"owned_by":"openrouter"},{"id":"openrouter/google/gemini-exp-1114:free","object":"model","created_at":1732817423,"cost_in":0,"cost_out":0,"owned_by":"openrouter"},{"id":"openrouter/raifle/sorcererlm-8x22b","object":"model","created_at":1732817423,"cost_in":0.0000045,"cost_out":0.0000045,"owned_by":"openrouter"},{"id":"openrouter/google/gemini-exp-1121:free","object":"model","created_at":1732817422,"cost_in":0,"cost_out":0,"owned_by":"openrouter"},{"id":"openrouter/google/learnlm-1.5-pro-experimental:free","object":"model","created_at":1732817422,"cost_in":0,"cost_out":0,"owned_by":"openrouter"},{"id":"openrouter/mistralai/mistral-large-2411","object":"model","created_at":1732817422,"cost_in":0.000002,"cost_out":0.000006,"owned_by":"openrouter"},{"id":"openrouter/openai/gpt-4o-2024-11-20","object":"model","created_at":1732817422,"cost_in":0.0000025,"cost_out":0.00001,"owned_by":"openrouter"},{"id":"openrouter/mistralai/mistral-large-2407","object":"model","created_at":1732817422,"cost_in":0.000002,"cost_out":0.000006,"owned_by":"openrouter"},{"id":"openrouter/x-ai/grok-vision-beta","object":"model","created_at":1732817422,"cost_in":0.000005,"cost_out":0.000015,"owned_by":"openrouter"},{"id":"openrouter/mistralai/pixtral-large-2411","object":"model","created_at":1732817422,"cost_in":0.000002,"cost_out":0.000006,"owned_by":"openrouter"},{"id":"google-ai-studio/learnlm-1.5-pro-experimental:free","object":"model","created_at":1732233660,"cost_in":0,"cost_out":0,"owned_by":"google-ai-studio"},{"id":"google-ai-studio/gemini-exp-1114:free","object":"model","created_at":1732233660,"cost_in":0,"cost_out":0,"owned_by":"google-ai-studio"},{"id":"google-ai-studio/gemini-exp-1121:free","object":"model","created_at":1732233659,"cost_in":0,"cost_out":0,"owned_by":"google-ai-studio"},{"id":"openai/gpt-4o-2024-11-20","object":"model","created_at":1732147293,"cost_in":0.0000025,"cost_out":0.00001,"owned_by":"openai"},{"id":"grok/grok-vision-beta","object":"model","created_at":1732060901,"cost_in":0.000005,"cost_out":0.000015,"owned_by":"grok"},{"id":"mistral/mistral-large-2411","object":"model","created_at":1732060900,"cost_in":0.000002,"cost_out":0.000006,"owned_by":"mistral"},{"id":"mistral/pixtral-large-2411","object":"model","created_at":1732060900,"cost_in":0.000002,"cost_out":0.000006,"owned_by":"mistral"},{"id":"groq/llama-3.2-11b-vision-preview","object":"model","created_at":1731978494,"cost_in":1.8e-7,"cost_out":1.8e-7,"owned_by":"groq"},{"id":"azure-openai/o1-preview-2024-09-12","object":"model","created_at":1731978443,"cost_in":0.0000165,"cost_out":0.000066,"owned_by":"azure-openai"},{"id":"groq/llama-3.2-1b-preview","object":"model","created_at":1731978393,"cost_in":4e-8,"cost_out":4e-8,"owned_by":"groq"},{"id":"groq/llama-guard-3-8b","object":"model","created_at":1731978351,"cost_in":2e-7,"cost_out":2e-7,"owned_by":"groq"},{"id":"groq/llama-3.2-90b-vision-preview","object":"model","created_at":1731978318,"cost_in":9.000000000000001e-7,"cost_out":9.000000000000001e-7,"owned_by":"groq"},{"id":"mistral/mistral-large-2407","object":"model","created_at":1731978079,"cost_in":0.000002,"cost_out":0.000006,"owned_by":"mistral"},{"id":"openai/omni-moderation-latest","object":"model","created_at":1731977860,"cost_in":2e-7,"cost_out":2e-7,"owned_by":"openai"},{"id":"azure-openai/o1-mini-2024-09-12","object":"model","created_at":1731977825,"cost_in":0.0000032999999999999997,"cost_out":0.000013199999999999999,"owned_by":"azure-openai"},{"id":"mistral/ministral-8b-latest","object":"model","created_at":1731977778,"cost_in":1e-7,"cost_out":1e-7,"owned_by":"mistral"},{"id":"mistral/mistral-small-2409","object":"model","created_at":1731977740,"cost_in":2.0000000000000002e-7,"cost_out":6e-7,"owned_by":"mistral"},{"id":"google-ai-studio/gemini-exp-1114","object":"model","created_at":1731715238,"cost_in":0,"cost_out":0,"owned_by":"google-ai-studio"},{"id":"anthropic/claude-instant-1","object":"model","created_at":1730851678,"cost_in":0.00000163,"cost_out":0.0000551,"owned_by":"anthropic"},{"id":"anthropic/claude-3-5-haiku-20241022","object":"model","created_at":1730764879,"cost_in":8e-7,"cost_out":0.000004,"owned_by":"anthropic"},{"id":"anthropic/claude-3-5-haiku-20241022:beta","object":"model","created_at":1730764878,"cost_in":0.000001,"cost_out":0.000005,"owned_by":"anthropic"},{"id":"anthropic/claude-3-5-haiku:beta","object":"model","created_at":1730764878,"cost_in":0.000001,"cost_out":0.000005,"owned_by":"anthropic"},{"id":"anthropic/claude-3-5-haiku","object":"model","created_at":1730764878,"cost_in":8e-7,"cost_out":0.000004,"owned_by":"anthropic"},{"id":"grok/grok-beta","object":"model","created_at":1729900878,"cost_in":0.000005,"cost_out":0.000015,"owned_by":"grok"},{"id":"anthropic/claude-3.5-sonnet-20240620:beta","object":"model","created_at":1729728082,"cost_in":0.000003,"cost_out":0.000015,"owned_by":"anthropic"},{"id":"anthropic/claude-3.5-sonnet-20240620","object":"model","created_at":1729728081,"cost_in":0.000003,"cost_out":0.000015,"owned_by":"anthropic"},{"id":"google-ai-studio/claude-3-5-sonnet-v2@20241022","object":"model","created_at":1729728072,"cost_in":0.000003,"cost_out":0.000015,"owned_by":"google-ai-studio"},{"id":"anthropic/claude-3-5-sonnet-20241022","object":"model","created_at":1729728070,"cost_in":0.000003,"cost_out":0.000015,"owned_by":"anthropic"},{"id":"mistral/ministral-8b","object":"model","created_at":1729209668,"cost_in":1e-7,"cost_out":1e-7,"owned_by":"mistral"},{"id":"mistral/ministral-3b","object":"model","created_at":1729209668,"cost_in":4e-8,"cost_out":4e-8,"owned_by":"mistral"},{"id":"openai/gpt-3.5-turbo-0301","object":"model","created_at":1729123239,"cost_in":5e-7,"cost_out":0.0000015,"owned_by":"openai"},{"id":"groq/llama-3.2-3b-preview","object":"model","created_at":1728426942,"cost_in":6e-8,"cost_out":6e-8,"owned_by":"groq"},{"id":"replicate/meta/meta-llama-3-70b-instruct","object":"model","created_at":1728426394,"cost_in":6.5e-7,"cost_out":0.00000275,"owned_by":"replicate"},{"id":"mistral/open-mixtral-8x22b","object":"model","created_at":1728426320,"cost_in":0.000002,"cost_out":0.000006,"owned_by":"mistral"},{"id":"cohere/embed-multilingual-v3.0","object":"model","created_at":1728426181,"cost_in":1.0000000000000001e-7,"cost_out":1.0000000000000001e-7,"owned_by":"cohere"},{"id":"openai/ft:gpt-4o-2024-08-06","object":"model","created_at":1728426043,"cost_in":0.00000375,"cost_out":0.000015,"owned_by":"openai"},{"id":"mistral/open-mistral-nemo","object":"model","created_at":1728425801,"cost_in":1.5e-7,"cost_out":1.5e-7,"owned_by":"mistral"},{"id":"mistral/pixtral-12b-2409","object":"model","created_at":1728425771,"cost_in":1.5e-7,"cost_out":1.5e-7,"owned_by":"mistral"},{"id":"mistral/codestral-latest","object":"model","created_at":1728425740,"cost_in":3e-7,"cost_out":9e-7,"owned_by":"mistral"},{"id":"cohere/command-light-nightly","object":"model","created_at":1728425469,"cost_in":3e-7,"cost_out":6e-7,"owned_by":"cohere"},{"id":"cohere/command-light","object":"model","created_at":1728425451,"cost_in":3e-7,"cost_out":6e-7,"owned_by":"cohere"},{"id":"openai/babbage-002","object":"model","created_at":1728425195,"cost_in":0.0000016000000000000001,"cost_out":0.0000016000000000000001,"owned_by":"openai"},{"id":"openai/davinci-002","object":"model","created_at":1728425173,"cost_in":0.000012,"cost_out":0.000012,"owned_by":"openai"},{"id":"google-ai-studio/gemini-1.0-pro-001","object":"model","created_at":1728425136,"cost_in":5e-7,"cost_out":0.0000015,"owned_by":"google-ai-studio"},{"id":"azure-openai/gpt-4o-2024-08-06","object":"model","created_at":1728424982,"cost_in":0.00000275,"cost_out":0.000011,"owned_by":"azure-openai"},{"id":"azure-openai/gpt-35-turbo-16k","object":"model","created_at":1728424889,"cost_in":0.000001,"cost_out":0.000002,"owned_by":"azure-openai"},{"id":"azure-openai/gpt-4-turbo-2024-04-09","object":"model","created_at":1728424763,"cost_in":0.00001,"cost_out":0.00003,"owned_by":"azure-openai"},{"id":"perplexity-ai/llama-3.1-70b-instruct","object":"model","created_at":1728424698,"cost_in":0.000001,"cost_out":0.000001,"owned_by":"perplexity-ai"},{"id":"perplexity-ai/llama-3.1-8b-instruct","object":"model","created_at":1728424589,"cost_in":2.0000000000000002e-7,"cost_out":2.0000000000000002e-7,"owned_by":"perplexity-ai"},{"id":"google-ai-studio/gemini-pro-1.5","object":"model","created_at":1728345670,"cost_in":0.00000125,"cost_out":0.000005,"owned_by":"google-ai-studio"},{"id":"google-ai-studio/gemini-flash-1.5-8b","object":"model","created_at":1728000098,"cost_in":3.75e-8,"cost_out":1.5e-7,"owned_by":"google-ai-studio"},{"id":"google-ai-studio/gemini-flash-1.5-8b-exp","object":"model","created_at":1728000098,"cost_in":0,"cost_out":0,"owned_by":"google-ai-studio"},{"id":"google-ai-studio/palm-2-chat-bison","object":"model","created_at":1727827274,"cost_in":0.000001,"cost_out":0.000002,"owned_by":"google-ai-studio"},{"id":"google-ai-studio/palm-2-codechat-bison","object":"model","created_at":1727827274,"cost_in":0.000001,"cost_out":0.000002,"owned_by":"google-ai-studio"},{"id":"google-ai-studio/palm-2-chat-bison-32k","object":"model","created_at":1727827273,"cost_in":0.000001,"cost_out":0.000002,"owned_by":"google-ai-studio"},{"id":"google-ai-studio/palm-2-codechat-bison-32k","object":"model","created_at":1727827273,"cost_in":0.000001,"cost_out":0.000002,"owned_by":"google-ai-studio"},{"id":"google-ai-studio/gemini-pro-vision","object":"model","created_at":1727827272,"cost_in":5e-7,"cost_out":0.0000015,"owned_by":"google-ai-studio"},{"id":"google-ai-studio/gemini-flash-1.5","object":"model","created_at":1727827268,"cost_in":7.5e-8,"cost_out":3e-7,"owned_by":"google-ai-studio"},{"id":"google-ai-studio/gemini-1.0-pro-latest","object":"model","created_at":1727352359,"cost_in":5e-7,"cost_out":0.0000015,"owned_by":"google-ai-studio"},{"id":"perplexity-ai/mistral-7b-instruct","object":"model","created_at":1727349755,"cost_in":2e-7,"cost_out":2e-7,"owned_by":"perplexity-ai"},{"id":"groq/llama-3.1-8b-instant","object":"model","created_at":1727349027,"cost_in":5e-8,"cost_out":8e-8,"owned_by":"groq"},{"id":"replicate/meta/meta-llama-3.1-405b-instruct","object":"model","created_at":1727293998,"cost_in":0.0000095,"cost_out":0.0000095,"owned_by":"replicate"},{"id":"mistral/pixtral-12b","object":"model","created_at":1727222446,"cost_in":1e-7,"cost_out":1e-7,"owned_by":"mistral"},{"id":"mistral/mistral-small","object":"model","created_at":1726704066,"cost_in":2e-7,"cost_out":6e-7,"owned_by":"mistral"},{"id":"mistral/mistral-large","object":"model","created_at":1726704065,"cost_in":0.000002,"cost_out":0.000006,"owned_by":"mistral"},{"id":"mistral/mistral-medium","object":"model","created_at":1726704065,"cost_in":0.00000275,"cost_out":0.0000081,"owned_by":"mistral"},{"id":"mistral/pixtral-12b:free","object":"model","created_at":1726444851,"cost_in":0,"cost_out":0,"owned_by":"mistral"},{"id":"openai/o1-preview-2024-09-12","object":"model","created_at":1726185661,"cost_in":0.000015,"cost_out":0.00006,"owned_by":"openai"},{"id":"openai/o1-preview","object":"model","created_at":1726185661,"cost_in":0.000015,"cost_out":0.00006,"owned_by":"openai"},{"id":"google-ai-studio/gemini-pro-1.5-exp","object":"model","created_at":1725062434,"cost_in":0,"cost_out":0,"owned_by":"google-ai-studio"},{"id":"google-ai-studio/gemini-flash-1.5-exp","object":"model","created_at":1725062433,"cost_in":0,"cost_out":0,"owned_by":"google-ai-studio"},{"id":"google-ai-studio/gemini-flash-8b-1.5-exp","object":"model","created_at":1724976025,"cost_in":0,"cost_out":0,"owned_by":"google-ai-studio"},{"id":"google-ai-studio/gemini-1.0-pro","object":"model","created_at":1724803268,"cost_in":1.25e-7,"cost_out":3.75e-7,"owned_by":"google-ai-studio"},{"id":"replicate/replicate-internal/llama-405b-instruct-vllm","object":"model","created_at":1724798511,"cost_in":0.0000095,"cost_out":0.0000095,"owned_by":"replicate"},{"id":"groq/llama-3.1-70b","object":"model","created_at":1724797489,"cost_in":5.9e-7,"cost_out":7.9e-7,"owned_by":"groq"},{"id":"groq/Llama3-70b","object":"model","created_at":1724797101,"cost_in":5.9e-7,"cost_out":7.9e-7,"owned_by":"groq"},{"id":"azure-openai/gpt-4o-2024-05-13","object":"model","created_at":1724796480,"cost_in":0.000005,"cost_out":0.000015,"owned_by":"azure-openai"},{"id":"azure-openai/gpt-35-turbo","object":"model","created_at":1724796106,"cost_in":0.000001,"cost_out":0.000002,"owned_by":"azure-openai"},{"id":"azure-openai/gpt-4","object":"model","created_at":1724796030,"cost_in":0.00006,"cost_out":0.00012,"owned_by":"azure-openai"},{"id":"azure-openai/gpt-4o-mini","object":"model","created_at":1724795550,"cost_in":1.5e-7,"cost_out":6e-7,"owned_by":"azure-openai"},{"id":"openai/text-moderation-007","object":"model","created_at":1724794975,"cost_in":0,"cost_out":0,"owned_by":"openai"},{"id":"openai/ft:gpt-4o-mini-2024-07-18","object":"model","created_at":1724792771,"cost_in":3e-7,"cost_out":0.0000012,"owned_by":"openai"},{"id":"openai/ft:gpt-3.5-turbo-","object":"model","created_at":1724716869,"cost_in":5e-7,"cost_out":0.0000015,"owned_by":"openai"},{"id":"perplexity-ai/llama-3.1-sonar-huge-128k-online","object":"model","created_at":1723680046,"cost_in":0.000005,"cost_out":0.000005,"owned_by":"perplexity-ai"},{"id":"openai/chatgpt-4o-latest","object":"model","created_at":1723680046,"cost_in":0.000005,"cost_out":0.000015,"owned_by":"openai"},{"id":"openai/gpt-4o:extended","object":"model","created_at":1723593670,"cost_in":0.000006,"cost_out":0.000018,"owned_by":"openai"},{"id":"cohere/cohere/command-r","object":"model","created_at":1723593665,"cost_in":5e-7,"cost_out":0.0000015,"owned_by":"cohere"},{"id":"mistral/mistral-7b-instruct:free","object":"model","created_at":1723075265,"cost_in":0,"cost_out":0,"owned_by":"mistral"},{"id":"mistral/mistral-7b-instruct:nitro","object":"model","created_at":1723075264,"cost_in":7e-8,"cost_out":7e-8,"owned_by":"mistral"},{"id":"mistral/mistral-tiny","object":"model","created_at":1723075264,"cost_in":2.5e-7,"cost_out":2.5e-7,"owned_by":"mistral"},{"id":"mistral/mixtral-8x22b","object":"model","created_at":1723075263,"cost_in":0.00000108,"cost_out":0.00000108,"owned_by":"mistral"},{"id":"mistral/mixtral-8x7b-instruct:nitro","object":"model","created_at":1723075263,"cost_in":5.4e-7,"cost_out":5.4e-7,"owned_by":"mistral"},{"id":"openai/gpt-4o-2024-08-06","object":"model","created_at":1723075262,"cost_in":0.0000025,"cost_out":0.00001,"owned_by":"openai"},{"id":"mistral/codestral-mamba","object":"model","created_at":1723075262,"cost_in":2.5e-7,"cost_out":2.5e-7,"owned_by":"mistral"},{"id":"mistral/open-mixtral-8x7b","object":"model","created_at":1722988856,"cost_in":7e-7,"cost_out":7e-7,"owned_by":"mistral"},{"id":"mistral/mistral-small-latest","object":"model","created_at":1722988856,"cost_in":1e-7,"cost_out":3e-7,"owned_by":"mistral"},{"id":"mistral/mistral-medium-latest","object":"model","created_at":1722988856,"cost_in":4e-7,"cost_out":0.000002,"owned_by":"mistral"},{"id":"mistral/mistral-large-latest","object":"model","created_at":1722988856,"cost_in":5e-7,"cost_out":0.0000015,"owned_by":"mistral"},{"id":"mistral/mistral-embed","object":"model","created_at":1722988856,"cost_in":1e-7,"cost_out":0,"owned_by":"mistral"},{"id":"mistral/open-mistral-7b","object":"model","created_at":1722988855,"cost_in":2.5e-7,"cost_out":2.5e-7,"owned_by":"mistral"},{"id":"groq/mixtral-8x7b-32768","object":"model","created_at":1722902464,"cost_in":2.4e-7,"cost_out":2.4e-7,"owned_by":"groq"},{"id":"groq/gemma-7b-it","object":"model","created_at":1722902464,"cost_in":7e-8,"cost_out":7e-8,"owned_by":"groq"},{"id":"groq/llama3-70b-8192","object":"model","created_at":1722902464,"cost_in":5.9e-7,"cost_out":7.9e-7,"owned_by":"groq"},{"id":"groq/gemma2-9b-it","object":"model","created_at":1722902464,"cost_in":2e-7,"cost_out":2e-7,"owned_by":"groq"},{"id":"groq/llama3-8b-8192","object":"model","created_at":1722902464,"cost_in":5e-8,"cost_out":8e-8,"owned_by":"groq"},{"id":"groq/llama3-groq-70b-8192-tool-use-preview","object":"model","created_at":1722902464,"cost_in":8.9e-7,"cost_out":8.9e-7,"owned_by":"groq"},{"id":"groq/llama3-groq-8b-8192-tool-use-preview","object":"model","created_at":1722902464,"cost_in":1.9e-7,"cost_out":1.9e-7,"owned_by":"groq"},{"id":"openai/gpt-3.5-turbo-16k","object":"model","created_at":1722470451,"cost_in":0.000003,"cost_out":0.000004,"owned_by":"openai"},{"id":"anthropic/claude-instant-1:beta","object":"model","created_at":1722470451,"cost_in":8e-7,"cost_out":0.0000024,"owned_by":"anthropic"},{"id":"anthropic/claude-2.0:beta","object":"model","created_at":1722470451,"cost_in":0.000008,"cost_out":0.000024,"owned_by":"anthropic"},{"id":"anthropic/claude-instant-1.0","object":"model","created_at":1722470451,"cost_in":8e-7,"cost_out":0.0000024,"owned_by":"anthropic"},{"id":"anthropic/claude-1.2","object":"model","created_at":1722470451,"cost_in":0.000008,"cost_out":0.000024,"owned_by":"anthropic"},{"id":"anthropic/claude-1","object":"model","created_at":1722470451,"cost_in":0.000008,"cost_out":0.000024,"owned_by":"anthropic"},{"id":"anthropic/claude-3-haiku:beta","object":"model","created_at":1722470450,"cost_in":2.5e-7,"cost_out":0.00000125,"owned_by":"anthropic"},{"id":"anthropic/claude-3-haiku","object":"model","created_at":1722470450,"cost_in":2.5e-7,"cost_out":0.00000125,"owned_by":"anthropic"},{"id":"google-ai-studio/gemma-7b-it:nitro","object":"model","created_at":1722470450,"cost_in":7e-8,"cost_out":7e-8,"owned_by":"google-ai-studio"},{"id":"anthropic/claude-3-sonnet:beta","object":"model","created_at":1722470450,"cost_in":0.000003,"cost_out":0.000015,"owned_by":"anthropic"},{"id":"anthropic/claude-3-opus:beta","object":"model","created_at":1722470450,"cost_in":0.000015,"cost_out":0.000075,"owned_by":"anthropic"},{"id":"anthropic/claude-3-sonnet","object":"model","created_at":1722470450,"cost_in":0.000003,"cost_out":0.000015,"owned_by":"anthropic"},{"id":"anthropic/claude-3-opus","object":"model","created_at":1722470450,"cost_in":0.000015,"cost_out":0.000075,"owned_by":"anthropic"},{"id":"google-ai-studio/gemma-7b-it:free","object":"model","created_at":1722470450,"cost_in":0,"cost_out":0,"owned_by":"google-ai-studio"},{"id":"openai/gpt-4-turbo-preview","object":"model","created_at":1722470450,"cost_in":0.00001,"cost_out":0.00003,"owned_by":"openai"},{"id":"anthropic/claude-2.1:beta","object":"model","created_at":1722470450,"cost_in":0.000008,"cost_out":0.000024,"owned_by":"anthropic"},{"id":"anthropic/claude-2:beta","object":"model","created_at":1722470450,"cost_in":0.000008,"cost_out":0.000024,"owned_by":"anthropic"},{"id":"anthropic/claude-instant-1.1","object":"model","created_at":1722470450,"cost_in":8e-7,"cost_out":0.0000024,"owned_by":"anthropic"},{"id":"anthropic/claude-2.1","object":"model","created_at":1722470450,"cost_in":0.000008,"cost_out":0.000024,"owned_by":"anthropic"},{"id":"huggingface/zephyr-7b-beta:free","object":"model","created_at":1722470450,"cost_in":0,"cost_out":0,"owned_by":"huggingface"},{"id":"perplexity-ai/llama-3.1-sonar-large-128k-online","object":"model","created_at":1722470449,"cost_in":0.000001,"cost_out":0.000001,"owned_by":"perplexity-ai"},{"id":"perplexity-ai/llama-3.1-sonar-large-128k-chat","object":"model","created_at":1722470449,"cost_in":0.000001,"cost_out":0.000001,"owned_by":"perplexity-ai"},{"id":"perplexity-ai/llama-3.1-sonar-small-128k-online","object":"model","created_at":1722470449,"cost_in":2e-7,"cost_out":2e-7,"owned_by":"perplexity-ai"},{"id":"perplexity-ai/llama-3.1-sonar-small-128k-chat","object":"model","created_at":1722470449,"cost_in":2e-7,"cost_out":2e-7,"owned_by":"perplexity-ai"},{"id":"google-ai-studio/gemma-2-9b-it:free","object":"model","created_at":1722470449,"cost_in":0,"cost_out":0,"owned_by":"google-ai-studio"},{"id":"anthropic/claude-3.5-sonnet:beta","object":"model","created_at":1722470449,"cost_in":0.000003,"cost_out":0.000015,"owned_by":"anthropic"},{"id":"anthropic/claude-3.5-sonnet","object":"model","created_at":1722470449,"cost_in":0.000006,"cost_out":0.00003,"owned_by":"anthropic"},{"id":"perplexity-ai/llama-3-sonar-large-32k-online","object":"model","created_at":1722470449,"cost_in":0.000001,"cost_out":0.000001,"owned_by":"perplexity-ai"},{"id":"perplexity-ai/llama-3-sonar-large-32k-chat","object":"model","created_at":1722470449,"cost_in":0.000001,"cost_out":0.000001,"owned_by":"perplexity-ai"},{"id":"perplexity-ai/llama-3-sonar-small-32k-online","object":"model","created_at":1722470449,"cost_in":2e-7,"cost_out":2e-7,"owned_by":"perplexity-ai"},{"id":"perplexity-ai/llama-3-sonar-small-32k-chat","object":"model","created_at":1722470449,"cost_in":2e-7,"cost_out":2e-7,"owned_by":"perplexity-ai"},{"id":"openai/gpt-4o-mini-2024-07-18","object":"model","created_at":1721728859,"cost_in":1.5e-7,"cost_out":6e-7,"owned_by":"openai"},{"id":"openai/gpt-35-turbo-16k","object":"model","created_at":1721728859,"cost_in":0.000003,"cost_out":0.000004,"owned_by":"openai"},{"id":"openai/gpt-3.5-turbo-16k-0613","object":"model","created_at":1721728859,"cost_in":0.000003,"cost_out":0.000004,"owned_by":"openai"},{"id":"openai/gpt-3.5-turbo-0125","object":"model","created_at":1721728859,"cost_in":5e-7,"cost_out":0.0000015,"owned_by":"openai"},{"id":"openai/gpt-4-turbo","object":"model","created_at":1721728859,"cost_in":0.00001,"cost_out":0.00003,"owned_by":"openai"},{"id":"openai/gpt-4-turbo-2024-04-09","object":"model","created_at":1721728859,"cost_in":0.00001,"cost_out":0.00003,"owned_by":"openai"},{"id":"openai/gpt-4-turbo-0125-preview","object":"model","created_at":1721728859,"cost_in":0.00001,"cost_out":0.00003,"owned_by":"openai"},{"id":"openai/text-embedding-ada-002","object":"model","created_at":1721728859,"cost_in":1e-7,"cost_out":0,"owned_by":"openai"},{"id":"openai/text-embedding-ada","object":"model","created_at":1721728859,"cost_in":1e-7,"cost_out":0,"owned_by":"openai"},{"id":"openai/text-embedding-ada-002-v2","object":"model","created_at":1721728859,"cost_in":1e-7,"cost_out":0,"owned_by":"openai"},{"id":"openai/text-embedding-3-small","object":"model","created_at":1721728859,"cost_in":2e-8,"cost_out":0,"owned_by":"openai"},{"id":"openai/text-embedding-3-large","object":"model","created_at":1721728859,"cost_in":1.3e-7,"cost_out":0,"owned_by":"openai"},{"id":"openai/gpt-4-vision-preview","object":"model","created_at":1721728859,"cost_in":0.00001,"cost_out":0.00003,"owned_by":"openai"},{"id":"openai/gpt-35-turbo-16k-0613","object":"model","created_at":1721728859,"cost_in":0.000003,"cost_out":0.000004,"owned_by":"openai"},{"id":"openai/gpt-35-turbo","object":"model","created_at":1721728858,"cost_in":0.0000015,"cost_out":0.000002,"owned_by":"openai"},{"id":"openai/gpt-3.5-turbo-instruct","object":"model","created_at":1721728858,"cost_in":0.0000015,"cost_out":0.000002,"owned_by":"openai"},{"id":"openai/gpt-3.5-turbo-instruct-0914","object":"model","created_at":1721728858,"cost_in":0.0000015,"cost_out":0.000002,"owned_by":"openai"},{"id":"openai/gpt-4","object":"model","created_at":1721728858,"cost_in":0.00003,"cost_out":0.00006,"owned_by":"openai"},{"id":"openai/gpt-4-0314","object":"model","created_at":1721728858,"cost_in":0.00003,"cost_out":0.00006,"owned_by":"openai"},{"id":"openai/gpt-4-0613","object":"model","created_at":1721728858,"cost_in":0.00003,"cost_out":0.00006,"owned_by":"openai"},{"id":"openai/gpt-4-32k","object":"model","created_at":1721728858,"cost_in":0.00006,"cost_out":0.00012,"owned_by":"openai"},{"id":"openai/gpt-4-32k-0314","object":"model","created_at":1721728858,"cost_in":0.00006,"cost_out":0.00012,"owned_by":"openai"},{"id":"openai/gpt-4-32k-0613","object":"model","created_at":1721728858,"cost_in":0.00006,"cost_out":0.00012,"owned_by":"openai"},{"id":"openai/gpt-4-0125-preview","object":"model","created_at":1721728858,"cost_in":0.00003,"cost_out":0.00006,"owned_by":"openai"},{"id":"openai/gpt-4-1106-vision-preview","object":"model","created_at":1721728858,"cost_in":0.00001,"cost_out":0.00003,"owned_by":"openai"},{"id":"openai/gpt-4o-mini","object":"model","created_at":1721728858,"cost_in":1.5e-7,"cost_out":6e-7,"owned_by":"openai"},{"id":"google-ai-studio/gemini-1.0-pro-vision-001","object":"model","created_at":1721728857,"cost_in":1.25e-7,"cost_out":3.75e-7,"owned_by":"google-ai-studio"},{"id":"groq/llama2-70b-4096","object":"model","created_at":1721728857,"cost_in":7e-7,"cost_out":8e-7,"owned_by":"groq"},{"id":"groq/gemma-7b-8192","object":"model","created_at":1721728857,"cost_in":1e-7,"cost_out":1e-7,"owned_by":"groq"},{"id":"openai/ada","object":"model","created_at":1721728857,"cost_in":4e-7,"cost_out":4e-7,"owned_by":"openai"},{"id":"openai/text-ada-001","object":"model","created_at":1721728857,"cost_in":4e-7,"cost_out":4e-7,"owned_by":"openai"},{"id":"openai/babbage","object":"model","created_at":1721728857,"cost_in":5e-7,"cost_out":5e-7,"owned_by":"openai"},{"id":"openai/curie","object":"model","created_at":1721728857,"cost_in":0.000002,"cost_out":0.000002,"owned_by":"openai"},{"id":"openai/davinci","object":"model","created_at":1721728857,"cost_in":0.00002,"cost_out":0.00002,"owned_by":"openai"},{"id":"openai/text-curie-001","object":"model","created_at":1721728857,"cost_in":0.000002,"cost_out":0.000002,"owned_by":"openai"},{"id":"openai/text-davinci-001","object":"model","created_at":1721728857,"cost_in":0.00002,"cost_out":0.00002,"owned_by":"openai"},{"id":"openai/text-davinci-002","object":"model","created_at":1721728857,"cost_in":0.00002,"cost_out":0.00002,"owned_by":"openai"},{"id":"openai/text-davinci-003","object":"model","created_at":1721728857,"cost_in":0.00002,"cost_out":0.00002,"owned_by":"openai"},{"id":"anthropic/claude-instant-1.2","object":"model","created_at":1721728856,"cost_in":0.00000163,"cost_out":0.00000551,"owned_by":"anthropic"},{"id":"anthropic/claude-3-opus-20240229","object":"model","created_at":1721728856,"cost_in":0.000015,"cost_out":0.000075,"owned_by":"anthropic"},{"id":"anthropic/claude-v1","object":"model","created_at":1721728856,"cost_in":0.000008,"cost_out":0.000024,"owned_by":"anthropic"},{"id":"anthropic/claude-2","object":"model","created_at":1721728856,"cost_in":0.000008,"cost_out":0.000024,"owned_by":"anthropic"},{"id":"anthropic/claude-3-sonnet-20240229","object":"model","created_at":1721728856,"cost_in":0.000003,"cost_out":0.000015,"owned_by":"anthropic"},{"id":"anthropic/claude-3-5-sonnet-20240620","object":"model","created_at":1721728856,"cost_in":0.000003,"cost_out":0.000015,"owned_by":"anthropic"},{"id":"anthropic/claude-3-haiku-20240307","object":"model","created_at":1721728856,"cost_in":2.5e-7,"cost_out":0.00000125,"owned_by":"anthropic"},{"id":"azure-openai/gpt-4-turbo-preview","object":"model","created_at":1721728856,"cost_in":0.00001,"cost_out":0.00003,"owned_by":"azure-openai"},{"id":"azure-openai/gpt-45-turbo","object":"model","created_at":1721728856,"cost_in":0.00001,"cost_out":0.00003,"owned_by":"azure-openai"},{"id":"azure-openai/gpt4-turbo-preview","object":"model","created_at":1721728856,"cost_in":0.00001,"cost_out":0.00003,"owned_by":"azure-openai"},{"id":"azure-openai/gpt-4-preview-1106","object":"model","created_at":1721728856,"cost_in":0.00001,"cost_out":0.00003,"owned_by":"azure-openai"},{"id":"azure-openai/gpt-35-turbo-1106","object":"model","created_at":1721728856,"cost_in":0.0000015,"cost_out":0.000002,"owned_by":"azure-openai"},{"id":"azure-openai/gpt35","object":"model","created_at":1721728856,"cost_in":0.0000015,"cost_out":0.000002,"owned_by":"azure-openai"},{"id":"azure-openai/gpt-35-turbo-0613","object":"model","created_at":1721728856,"cost_in":0.0000015,"cost_out":0.000002,"owned_by":"azure-openai"},{"id":"azure-openai/gpt-4-vision","object":"model","created_at":1721728856,"cost_in":0.00001,"cost_out":0.00003,"owned_by":"azure-openai"},{"id":"azure-openai/gpt-35-16k","object":"model","created_at":1721728856,"cost_in":0.000003,"cost_out":0.000004,"owned_by":"azure-openai"}]} diff --git a/providers/cloudflare-ai-gateway/data/model_families.json b/providers/cloudflare-ai-gateway/data/model_families.json deleted file mode 100644 index 9f880a4c203..00000000000 --- a/providers/cloudflare-ai-gateway/data/model_families.json +++ /dev/null @@ -1,281 +0,0 @@ -{ - "_comment": "Model family mappings for Cloudflare AI Gateway models. Patterns are matched in order (first match wins).", - "patterns": [ - { - "pattern": "^openai/gpt-3\\.?5", - "family": "gpt-3.5-turbo" - }, - { - "pattern": "^openai/gpt-4o-mini", - "family": "gpt-4o-mini" - }, - { - "pattern": "^openai/gpt-4o", - "family": "gpt-4o" - }, - { - "pattern": "^openai/gpt-4\\.?1", - "family": "gpt-4.1" - }, - { - "pattern": "^openai/gpt-4-turbo", - "family": "gpt-4-turbo" - }, - { - "pattern": "^openai/gpt-4$", - "family": "gpt-4" - }, - { - "pattern": "^openai/gpt-5\\.?1-codex", - "family": "gpt-5.1-codex" - }, - { - "pattern": "^openai/gpt-5\\.?1", - "family": "gpt-5.1" - }, - { - "pattern": "^openai/gpt-5\\.?2", - "family": "gpt-5.2" - }, - { - "pattern": "^openai/gpt-5", - "family": "gpt-5" - }, - { - "pattern": "^openai/o1", - "family": "o1" - }, - { - "pattern": "^openai/o3-pro", - "family": "o3-pro" - }, - { - "pattern": "^openai/o3-mini", - "family": "o3-mini" - }, - { - "pattern": "^openai/o3", - "family": "o3" - }, - { - "pattern": "^openai/o4-mini", - "family": "o4-mini" - }, - { - "pattern": "^openai/o4", - "family": "o4" - }, - { - "pattern": "^openai/gpt-oss-120b", - "family": "gpt-oss-120b" - }, - { - "pattern": "^openai/gpt-oss-20b", - "family": "gpt-oss-20b" - }, - { - "pattern": "^anthropic/claude-sonnet-4", - "family": "claude-sonnet" - }, - { - "pattern": "^anthropic/claude-opus-4", - "family": "claude-opus" - }, - { - "pattern": "^anthropic/claude-haiku-4", - "family": "claude-haiku" - }, - { - "pattern": "^anthropic/claude-3\\.?5-sonnet", - "family": "claude-sonnet" - }, - { - "pattern": "^anthropic/claude-3\\.?5-haiku", - "family": "claude-haiku" - }, - { - "pattern": "^anthropic/claude-3-opus", - "family": "claude-opus" - }, - { - "pattern": "^anthropic/claude-3-sonnet", - "family": "claude-sonnet" - }, - { - "pattern": "^anthropic/claude-3-haiku", - "family": "claude-haiku" - }, - { - "pattern": "llama-4-scout", - "family": "llama-4-scout" - }, - { - "pattern": "llama-4-maverick", - "family": "llama-4-maverick" - }, - { - "pattern": "llama-guard-3", - "family": "llama-guard" - }, - { - "pattern": "llama-3\\.?3", - "family": "llama-3.3" - }, - { - "pattern": "llama-3\\.?2-11b-vision", - "family": "llama-3.2-vision" - }, - { - "pattern": "llama-3\\.?2", - "family": "llama-3.2" - }, - { - "pattern": "llama-3\\.?1", - "family": "llama-3.1" - }, - { - "pattern": "llama-3", - "family": "llama-3" - }, - { - "pattern": "llama-2", - "family": "llama-2" - }, - { - "pattern": "qwen3-embedding", - "family": "qwen3-embedding" - }, - { - "pattern": "qwen3-coder", - "family": "qwen3-coder" - }, - { - "pattern": "qwen3", - "family": "qwen3" - }, - { - "pattern": "qwen2\\.?5-coder", - "family": "qwen2.5-coder" - }, - { - "pattern": "qwen2\\.?5", - "family": "qwen2.5" - }, - { - "pattern": "qwq-32b", - "family": "qwq" - }, - { - "pattern": "deepseek-r1-distill", - "family": "deepseek-r1-distill-qwen" - }, - { - "pattern": "deepseek-r1", - "family": "deepseek-r1" - }, - { - "pattern": "deepseek-v3", - "family": "deepseek-v3" - }, - { - "pattern": "deepseek-coder", - "family": "deepseek-coder" - }, - { - "pattern": "deepseek", - "family": "deepseek" - }, - { - "pattern": "gemma-sea-lion", - "family": "gemma-sea-lion" - }, - { - "pattern": "gemma-3", - "family": "gemma-3" - }, - { - "pattern": "gemma-2", - "family": "gemma-2" - }, - { - "pattern": "gemma", - "family": "gemma" - }, - { - "pattern": "mistral-small-3", - "family": "mistral-small" - }, - { - "pattern": "mistral-7b", - "family": "mistral-7b" - }, - { - "pattern": "mistral", - "family": "mistral" - }, - { - "pattern": "granite-4", - "family": "granite-4" - }, - { - "pattern": "granite", - "family": "granite" - }, - { - "pattern": "bge-reranker", - "family": "bge-reranker" - }, - { - "pattern": "bge-m3", - "family": "bge-m3" - }, - { - "pattern": "bge-large", - "family": "bge-large" - }, - { - "pattern": "bge-base", - "family": "bge-base" - }, - { - "pattern": "bge-small", - "family": "bge-small" - }, - { - "pattern": "aura-2", - "family": "aura-2" - }, - { - "pattern": "nova-3", - "family": "nova" - }, - { - "pattern": "bart-large-cnn", - "family": "bart" - }, - { - "pattern": "distilbert", - "family": "distilbert" - }, - { - "pattern": "melotts", - "family": "melotts" - }, - { - "pattern": "m2m100", - "family": "m2m100" - }, - { - "pattern": "plamo-embedding", - "family": "plamo-embedding" - }, - { - "pattern": "smart-turn", - "family": "smart-turn" - }, - { - "pattern": "indictrans2", - "family": "indictrans2" - } - ] -} diff --git a/providers/cloudflare-ai-gateway/data/model_names.json b/providers/cloudflare-ai-gateway/data/model_names.json deleted file mode 100644 index 36a05bd0bf8..00000000000 --- a/providers/cloudflare-ai-gateway/data/model_names.json +++ /dev/null @@ -1,68 +0,0 @@ -{ - "anthropic/claude-3-5-haiku": "Claude 3.5 Haiku", - "anthropic/claude-3-haiku": "Claude 3 Haiku", - "anthropic/claude-3-opus": "Claude 3 Opus", - "anthropic/claude-3-sonnet": "Claude 3 Sonnet", - "anthropic/claude-3.5-haiku": "Claude 3.5 Haiku", - "anthropic/claude-3.5-sonnet": "Claude 3.5 Sonnet", - "anthropic/claude-fable-5": "Claude Fable 5", - "anthropic/claude-haiku-4-5": "Claude Haiku 4.5", - "anthropic/claude-opus-4": "Claude Opus 4", - "anthropic/claude-opus-4-1": "Claude Opus 4.1", - "anthropic/claude-opus-4-5": "Claude Opus 4.5", - "anthropic/claude-opus-4-6": "Claude Opus 4.6", - "anthropic/claude-sonnet-4": "Claude Sonnet 4", - "anthropic/claude-sonnet-4-5": "Claude Sonnet 4.5", - "openai/gpt-3.5-turbo": "GPT 3.5 Turbo", - "openai/gpt-4": "GPT 4", - "openai/gpt-4-turbo": "GPT 4 Turbo", - "openai/gpt-4o": "GPT 4o", - "openai/gpt-4o-mini": "GPT 4o Mini", - "openai/gpt-5.1": "GPT 5.1", - "openai/gpt-5.1-codex": "GPT 5.1 Codex", - "openai/gpt-5.2": "GPT 5.2", - "openai/o1": "o1", - "openai/o3": "o3", - "openai/o3-mini": "o3 Mini", - "openai/o3-pro": "o3 Pro", - "openai/o4-mini": "o4 Mini", - "workers-ai/@cf/ai4bharat/indictrans2-en-indic-1B": "IndicTrans2 EN-Indic 1B", - "workers-ai/@cf/aisingapore/gemma-sea-lion-v4-27b-it": "Gemma SEA-LION v4 27B IT", - "workers-ai/@cf/baai/bge-base-en-v1.5": "BGE Base EN v1.5", - "workers-ai/@cf/baai/bge-large-en-v1.5": "BGE Large EN v1.5", - "workers-ai/@cf/baai/bge-m3": "BGE M3", - "workers-ai/@cf/baai/bge-reranker-base": "BGE Reranker Base", - "workers-ai/@cf/baai/bge-small-en-v1.5": "BGE Small EN v1.5", - "workers-ai/@cf/deepgram/aura-2-en": "Deepgram Aura 2 (EN)", - "workers-ai/@cf/deepgram/aura-2-es": "Deepgram Aura 2 (ES)", - "workers-ai/@cf/deepgram/nova-3": "Deepgram Nova 3", - "workers-ai/@cf/deepseek-ai/deepseek-r1-distill-qwen-32b": "DeepSeek R1 Distill Qwen 32B", - "workers-ai/@cf/facebook/bart-large-cnn": "BART Large CNN", - "workers-ai/@cf/google/gemma-3-12b-it": "Gemma 3 12B IT", - "workers-ai/@cf/huggingface/distilbert-sst-2-int8": "DistilBERT SST-2 INT8", - "workers-ai/@cf/ibm-granite/granite-4.0-h-micro": "IBM Granite 4.0 H Micro", - "workers-ai/@cf/meta/llama-2-7b-chat-fp16": "Llama 2 7B Chat FP16", - "workers-ai/@cf/meta/llama-3-8b-instruct": "Llama 3 8B Instruct", - "workers-ai/@cf/meta/llama-3-8b-instruct-awq": "Llama 3 8B Instruct AWQ", - "workers-ai/@cf/meta/llama-3.1-8b-instruct": "Llama 3.1 8B Instruct", - "workers-ai/@cf/meta/llama-3.1-8b-instruct-awq": "Llama 3.1 8B Instruct AWQ", - "workers-ai/@cf/meta/llama-3.1-8b-instruct-fp8": "Llama 3.1 8B Instruct FP8", - "workers-ai/@cf/meta/llama-3.2-11b-vision-instruct": "Llama 3.2 11B Vision Instruct", - "workers-ai/@cf/meta/llama-3.2-1b-instruct": "Llama 3.2 1B Instruct", - "workers-ai/@cf/meta/llama-3.2-3b-instruct": "Llama 3.2 3B Instruct", - "workers-ai/@cf/meta/llama-3.3-70b-instruct-fp8-fast": "Llama 3.3 70B Instruct FP8 Fast", - "workers-ai/@cf/meta/llama-4-scout-17b-16e-instruct": "Llama 4 Scout 17B 16E Instruct", - "workers-ai/@cf/meta/llama-guard-3-8b": "Llama Guard 3 8B", - "workers-ai/@cf/meta/m2m100-1.2b": "M2M100 1.2B", - "workers-ai/@cf/mistral/mistral-7b-instruct-v0.1": "Mistral 7B Instruct v0.1", - "workers-ai/@cf/mistralai/mistral-small-3.1-24b-instruct": "Mistral Small 3.1 24B Instruct", - "workers-ai/@cf/myshell-ai/melotts": "MyShell MeloTTS", - "workers-ai/@cf/openai/gpt-oss-120b": "GPT OSS 120B", - "workers-ai/@cf/openai/gpt-oss-20b": "GPT OSS 20B", - "workers-ai/@cf/pfnet/plamo-embedding-1b": "PLaMo Embedding 1B", - "workers-ai/@cf/pipecat-ai/smart-turn-v2": "Pipecat Smart Turn v2", - "workers-ai/@cf/qwen/qwen2.5-coder-32b-instruct": "Qwen 2.5 Coder 32B Instruct", - "workers-ai/@cf/qwen/qwen3-30b-a3b-fp8": "Qwen3 30B A3B FP8", - "workers-ai/@cf/qwen/qwen3-embedding-0.6b": "Qwen3 Embedding 0.6B", - "workers-ai/@cf/qwen/qwq-32b": "QwQ 32B" -} \ No newline at end of file diff --git a/providers/cloudflare-ai-gateway/models/alibaba/qwen3-max.toml b/providers/cloudflare-ai-gateway/models/alibaba/qwen3-max.toml new file mode 100644 index 00000000000..dc3a538e830 --- /dev/null +++ b/providers/cloudflare-ai-gateway/models/alibaba/qwen3-max.toml @@ -0,0 +1,5 @@ +base_model = "alibaba/qwen3-max" + +[cost] +input = 1.2 +output = 6 diff --git a/providers/cloudflare-ai-gateway/models/alibaba/qwen3.5-397b-a17b.toml b/providers/cloudflare-ai-gateway/models/alibaba/qwen3.5-397b-a17b.toml new file mode 100644 index 00000000000..4cbe0a7676f --- /dev/null +++ b/providers/cloudflare-ai-gateway/models/alibaba/qwen3.5-397b-a17b.toml @@ -0,0 +1,14 @@ +# Toggle: enable_thinking true|false. +# Budget: thinking_budget (integer reasoning tokens). + +base_model = "alibaba/qwen3.5-397b-a17b" + +[[reasoning_options]] +type = "toggle" + +[[reasoning_options]] +type = "budget_tokens" + +[cost] +input = 0.6 +output = 3.6 diff --git a/providers/cloudflare-ai-gateway/models/alibaba/qwen3.7-max.toml b/providers/cloudflare-ai-gateway/models/alibaba/qwen3.7-max.toml new file mode 100644 index 00000000000..048b3667b7a --- /dev/null +++ b/providers/cloudflare-ai-gateway/models/alibaba/qwen3.7-max.toml @@ -0,0 +1,15 @@ +# Toggle: enable_thinking true|false. +# Budget: thinking_budget (integer reasoning tokens). + +base_model = "alibaba/qwen3.7-max" + +[[reasoning_options]] +type = "toggle" + +[[reasoning_options]] +type = "budget_tokens" + +[cost] +input = 1.25 +output = 3.75 +cache_read = 0.25 diff --git a/providers/cloudflare-ai-gateway/models/alibaba/qwen3.7-plus.toml b/providers/cloudflare-ai-gateway/models/alibaba/qwen3.7-plus.toml new file mode 100644 index 00000000000..28dfa595944 --- /dev/null +++ b/providers/cloudflare-ai-gateway/models/alibaba/qwen3.7-plus.toml @@ -0,0 +1,15 @@ +# Toggle: enable_thinking true|false. +# Budget: thinking_budget (integer reasoning tokens). + +base_model = "alibaba/qwen3.7-plus" + +[[reasoning_options]] +type = "toggle" + +[[reasoning_options]] +type = "budget_tokens" + +[cost] +input = 0.32 +output = 1.28 +cache_read = 0.064 diff --git a/providers/cloudflare-ai-gateway/models/alibaba/qwen3.8-max.toml b/providers/cloudflare-ai-gateway/models/alibaba/qwen3.8-max.toml new file mode 100644 index 00000000000..13aaf02b2fe --- /dev/null +++ b/providers/cloudflare-ai-gateway/models/alibaba/qwen3.8-max.toml @@ -0,0 +1,25 @@ +# Toggle: enable_thinking true|false (hybrid). +# Effort: reasoning_effort = low|medium|xhigh (default xhigh); high accepted as alias -> xhigh. +# Budget: thinking_budget (0..262144) cannot be combined with reasoning_effort. + +base_model = "alibaba/qwen3.8-max" + +[interleaved] +field = "reasoning_content" + +[[reasoning_options]] +type = "toggle" + +[[reasoning_options]] +type = "effort" +values = ["low", "medium", "xhigh"] + +[[reasoning_options]] +type = "budget_tokens" +min = 0 +max = 262_144 + +[cost] +input = 2 +output = 6 +cache_read = 0.25 diff --git a/providers/cloudflare-ai-gateway/models/anthropic/claude-fable-5.toml b/providers/cloudflare-ai-gateway/models/anthropic/claude-fable-5.toml index aa238d4e6c1..9318d6eaf18 100644 --- a/providers/cloudflare-ai-gateway/models/anthropic/claude-fable-5.toml +++ b/providers/cloudflare-ai-gateway/models/anthropic/claude-fable-5.toml @@ -1,5 +1,4 @@ base_model = "anthropic/claude-fable-5" -release_date = "2026-06-07" structured_output = true [[reasoning_options]] @@ -11,3 +10,9 @@ input = 10 output = 50 cache_read = 1 cache_write = 12.5 + +[limit] +context = 1_000_000 + +[provider] +npm = "@ai-sdk/anthropic" diff --git a/providers/cloudflare-ai-gateway/models/anthropic/claude-haiku-4.5.toml b/providers/cloudflare-ai-gateway/models/anthropic/claude-haiku-4.5.toml index 0c13b2ea392..44e01baf038 100644 --- a/providers/cloudflare-ai-gateway/models/anthropic/claude-haiku-4.5.toml +++ b/providers/cloudflare-ai-gateway/models/anthropic/claude-haiku-4.5.toml @@ -3,10 +3,16 @@ structured_output = true [[reasoning_options]] type = "budget_tokens" -min = 1024 +min = 1_024 [cost] input = 1 output = 5 cache_read = 0.1 cache_write = 1.25 + +[limit] +context = 200_000 + +[provider] +npm = "@ai-sdk/anthropic" diff --git a/providers/cloudflare-ai-gateway/models/anthropic/claude-opus-4.5.toml b/providers/cloudflare-ai-gateway/models/anthropic/claude-opus-4.5.toml index 9559252da28..15dd70026fb 100644 --- a/providers/cloudflare-ai-gateway/models/anthropic/claude-opus-4.5.toml +++ b/providers/cloudflare-ai-gateway/models/anthropic/claude-opus-4.5.toml @@ -7,10 +7,16 @@ values = ["low", "medium", "high"] [[reasoning_options]] type = "budget_tokens" -min = 1024 +min = 1_024 [cost] input = 5 output = 25 cache_read = 0.5 cache_write = 6.25 + +[limit] +context = 200_000 + +[provider] +npm = "@ai-sdk/anthropic" diff --git a/providers/cloudflare-ai-gateway/models/anthropic/claude-opus-4.6.toml b/providers/cloudflare-ai-gateway/models/anthropic/claude-opus-4.6.toml index c1d8b1e499f..28c14361326 100644 --- a/providers/cloudflare-ai-gateway/models/anthropic/claude-opus-4.6.toml +++ b/providers/cloudflare-ai-gateway/models/anthropic/claude-opus-4.6.toml @@ -1,5 +1,4 @@ base_model = "anthropic/claude-opus-4-6" -release_date = "2026-02-04" structured_output = true [[reasoning_options]] @@ -8,10 +7,16 @@ values = ["low", "medium", "high", "max"] [[reasoning_options]] type = "budget_tokens" -min = 1024 +min = 1_024 [cost] input = 5 output = 25 cache_read = 0.5 cache_write = 6.25 + +[limit] +context = 1_000_000 + +[provider] +npm = "@ai-sdk/anthropic" diff --git a/providers/cloudflare-ai-gateway/models/anthropic/claude-opus-4.7.toml b/providers/cloudflare-ai-gateway/models/anthropic/claude-opus-4.7.toml index 01d82b2c0ef..9ebd8afbd4e 100644 --- a/providers/cloudflare-ai-gateway/models/anthropic/claude-opus-4.7.toml +++ b/providers/cloudflare-ai-gateway/models/anthropic/claude-opus-4.7.toml @@ -1,5 +1,4 @@ base_model = "anthropic/claude-opus-4-7" -release_date = "2026-04-14" structured_output = true [[reasoning_options]] @@ -12,5 +11,8 @@ output = 25 cache_read = 0.5 cache_write = 6.25 +[limit] +context = 1_000_000 + [provider] npm = "@ai-sdk/anthropic" diff --git a/providers/cloudflare-ai-gateway/models/anthropic/claude-opus-4.8.toml b/providers/cloudflare-ai-gateway/models/anthropic/claude-opus-4.8.toml index a84a51ffcda..532ebdb7719 100644 --- a/providers/cloudflare-ai-gateway/models/anthropic/claude-opus-4.8.toml +++ b/providers/cloudflare-ai-gateway/models/anthropic/claude-opus-4.8.toml @@ -10,3 +10,9 @@ input = 5 output = 25 cache_read = 0.5 cache_write = 6.25 + +[limit] +context = 1_000_000 + +[provider] +npm = "@ai-sdk/anthropic" diff --git a/providers/cloudflare-ai-gateway/models/anthropic/claude-opus-5.toml b/providers/cloudflare-ai-gateway/models/anthropic/claude-opus-5.toml index 0a58cfec23a..d12b99e1248 100644 --- a/providers/cloudflare-ai-gateway/models/anthropic/claude-opus-5.toml +++ b/providers/cloudflare-ai-gateway/models/anthropic/claude-opus-5.toml @@ -10,3 +10,9 @@ input = 5 output = 25 cache_read = 0.5 cache_write = 6.25 + +[limit] +context = 1_000_000 + +[provider] +npm = "@ai-sdk/anthropic" diff --git a/providers/cloudflare-ai-gateway/models/anthropic/claude-sonnet-4.5.toml b/providers/cloudflare-ai-gateway/models/anthropic/claude-sonnet-4.5.toml index f746d2864dd..bcfe7fc5bfe 100644 --- a/providers/cloudflare-ai-gateway/models/anthropic/claude-sonnet-4.5.toml +++ b/providers/cloudflare-ai-gateway/models/anthropic/claude-sonnet-4.5.toml @@ -3,7 +3,7 @@ structured_output = true [[reasoning_options]] type = "budget_tokens" -min = 1024 +min = 1_024 [cost] input = 3 @@ -12,4 +12,7 @@ cache_read = 0.3 cache_write = 3.75 [limit] -context = 1000000 +context = 1_000_000 + +[provider] +npm = "@ai-sdk/anthropic" diff --git a/providers/cloudflare-ai-gateway/models/anthropic/claude-sonnet-4.6.toml b/providers/cloudflare-ai-gateway/models/anthropic/claude-sonnet-4.6.toml index 1e13a0d3c09..6d2daf3dc38 100644 --- a/providers/cloudflare-ai-gateway/models/anthropic/claude-sonnet-4.6.toml +++ b/providers/cloudflare-ai-gateway/models/anthropic/claude-sonnet-4.6.toml @@ -7,7 +7,7 @@ values = ["low", "medium", "high", "max"] [[reasoning_options]] type = "budget_tokens" -min = 1024 +min = 1_024 [cost] input = 3 @@ -16,8 +16,8 @@ cache_read = 0.3 cache_write = 3.75 [limit] -context = 1000000 -output = 128000 +context = 1_000_000 +output = 128_000 [provider] -npm = "ai-gateway-provider" +npm = "@ai-sdk/anthropic" diff --git a/providers/cloudflare-ai-gateway/models/anthropic/claude-sonnet-5.toml b/providers/cloudflare-ai-gateway/models/anthropic/claude-sonnet-5.toml index c42d8f67cd3..ee90ff7da02 100644 --- a/providers/cloudflare-ai-gateway/models/anthropic/claude-sonnet-5.toml +++ b/providers/cloudflare-ai-gateway/models/anthropic/claude-sonnet-5.toml @@ -1,5 +1,7 @@ +# Toggle: thinking.type = adaptive|disabled. +# Effort: output_config.effort = low|medium|high|xhigh|max. + base_model = "anthropic/claude-sonnet-5" -release_date = "2026-06-29" structured_output = true [[reasoning_options]] @@ -14,3 +16,9 @@ input = 2 output = 10 cache_read = 0.2 cache_write = 2.5 + +[limit] +context = 1_000_000 + +[provider] +npm = "@ai-sdk/anthropic" diff --git a/providers/cloudflare-ai-gateway/models/deepseek/deepseek-v4-pro.toml b/providers/cloudflare-ai-gateway/models/deepseek/deepseek-v4-pro.toml new file mode 100644 index 00000000000..069b7914863 --- /dev/null +++ b/providers/cloudflare-ai-gateway/models/deepseek/deepseek-v4-pro.toml @@ -0,0 +1,19 @@ +# Toggle: thinking.type = enabled|disabled. +# Effort: reasoning_effort = high|max. + +base_model = "deepseek/deepseek-v4-pro" + +[[reasoning_options]] +type = "toggle" + +[[reasoning_options]] +type = "effort" +values = ["high", "max"] + +[cost] +input = 1.74 +output = 3.48 +cache_read = 0.145 + +[limit] +context = 131_072 diff --git a/providers/cloudflare-ai-gateway/models/moonshotai/kimi-k3.toml b/providers/cloudflare-ai-gateway/models/moonshotai/kimi-k3.toml new file mode 100644 index 00000000000..182cafed314 --- /dev/null +++ b/providers/cloudflare-ai-gateway/models/moonshotai/kimi-k3.toml @@ -0,0 +1,19 @@ +# API: thinking.type = enabled|disabled|adaptive; in adaptive mode the +# reasoning depth is set by output_config.effort = low|high|max. + +base_model = "moonshotai/kimi-k3" + +[[reasoning_options]] +type = "toggle" + +[[reasoning_options]] +type = "effort" +values = ["low", "high", "max"] + +[cost] +input = 3 +output = 15 +cache_read = 0.3 + +[limit] +context = 1_048_576 diff --git a/providers/cloudflare-ai-gateway/models/openai/gpt-3.5-turbo.toml b/providers/cloudflare-ai-gateway/models/openai/gpt-3.5-turbo.toml deleted file mode 100644 index 102fcd1bb38..00000000000 --- a/providers/cloudflare-ai-gateway/models/openai/gpt-3.5-turbo.toml +++ /dev/null @@ -1,7 +0,0 @@ -base_model = "openai/gpt-3.5-turbo" -status = "deprecated" - -[cost] -input = 0.5 -output = 1.5 -cache_read = 0 diff --git a/providers/cloudflare-ai-gateway/models/openai/gpt-4-turbo.toml b/providers/cloudflare-ai-gateway/models/openai/gpt-4-turbo.toml deleted file mode 100644 index 361963f4146..00000000000 --- a/providers/cloudflare-ai-gateway/models/openai/gpt-4-turbo.toml +++ /dev/null @@ -1,6 +0,0 @@ -base_model = "openai/gpt-4-turbo" -status = "deprecated" - -[cost] -input = 10 -output = 30 diff --git a/providers/cloudflare-ai-gateway/models/openai/gpt-4.1-mini.toml b/providers/cloudflare-ai-gateway/models/openai/gpt-4.1-mini.toml index b2d9217542d..f163e639c9b 100644 --- a/providers/cloudflare-ai-gateway/models/openai/gpt-4.1-mini.toml +++ b/providers/cloudflare-ai-gateway/models/openai/gpt-4.1-mini.toml @@ -4,3 +4,9 @@ base_model = "openai/gpt-4.1-mini" input = 0.4 output = 1.6 cache_read = 0.1 + +[limit] +context = 1_047_576 + +[provider] +npm = "@ai-sdk/openai" diff --git a/providers/cloudflare-ai-gateway/models/openai/gpt-4.1-nano.toml b/providers/cloudflare-ai-gateway/models/openai/gpt-4.1-nano.toml index 89af98084d1..405e8dfeb51 100644 --- a/providers/cloudflare-ai-gateway/models/openai/gpt-4.1-nano.toml +++ b/providers/cloudflare-ai-gateway/models/openai/gpt-4.1-nano.toml @@ -1,7 +1,12 @@ base_model = "openai/gpt-4.1-nano" -status = "deprecated" [cost] input = 0.1 output = 0.4 cache_read = 0.025 + +[limit] +context = 1_000_000 + +[provider] +npm = "@ai-sdk/openai" diff --git a/providers/cloudflare-ai-gateway/models/openai/gpt-4.1.toml b/providers/cloudflare-ai-gateway/models/openai/gpt-4.1.toml index 1fdb518f628..6387834f06e 100644 --- a/providers/cloudflare-ai-gateway/models/openai/gpt-4.1.toml +++ b/providers/cloudflare-ai-gateway/models/openai/gpt-4.1.toml @@ -4,3 +4,9 @@ base_model = "openai/gpt-4.1" input = 2 output = 8 cache_read = 0.5 + +[limit] +context = 1_047_576 + +[provider] +npm = "@ai-sdk/openai" diff --git a/providers/cloudflare-ai-gateway/models/openai/gpt-4.toml b/providers/cloudflare-ai-gateway/models/openai/gpt-4.toml deleted file mode 100644 index e26889bc90a..00000000000 --- a/providers/cloudflare-ai-gateway/models/openai/gpt-4.toml +++ /dev/null @@ -1,6 +0,0 @@ -base_model = "openai/gpt-4" -status = "deprecated" - -[cost] -input = 30 -output = 60 diff --git a/providers/cloudflare-ai-gateway/models/openai/gpt-4o-mini.toml b/providers/cloudflare-ai-gateway/models/openai/gpt-4o-mini.toml index aeb3529a097..20f81d3ad9d 100644 --- a/providers/cloudflare-ai-gateway/models/openai/gpt-4o-mini.toml +++ b/providers/cloudflare-ai-gateway/models/openai/gpt-4o-mini.toml @@ -4,3 +4,9 @@ base_model = "openai/gpt-4o-mini" input = 0.075 output = 0.3 cache_read = 0.0375 + +[limit] +context = 128_000 + +[provider] +npm = "@ai-sdk/openai" diff --git a/providers/cloudflare-ai-gateway/models/openai/gpt-4o.toml b/providers/cloudflare-ai-gateway/models/openai/gpt-4o.toml index 4edf236d371..9d7ed7f6056 100644 --- a/providers/cloudflare-ai-gateway/models/openai/gpt-4o.toml +++ b/providers/cloudflare-ai-gateway/models/openai/gpt-4o.toml @@ -4,3 +4,9 @@ base_model = "openai/gpt-4o" input = 1.25 output = 5 cache_read = 0.625 + +[limit] +context = 128_000 + +[provider] +npm = "@ai-sdk/openai" diff --git a/providers/cloudflare-ai-gateway/models/openai/gpt-5-mini.toml b/providers/cloudflare-ai-gateway/models/openai/gpt-5-mini.toml index 7d8ba34c2d5..1605e68988b 100644 --- a/providers/cloudflare-ai-gateway/models/openai/gpt-5-mini.toml +++ b/providers/cloudflare-ai-gateway/models/openai/gpt-5-mini.toml @@ -8,3 +8,9 @@ values = ["minimal", "low", "medium", "high"] input = 0.25 output = 2 cache_read = 0.025 + +[limit] +context = 128_000 + +[provider] +npm = "@ai-sdk/openai" diff --git a/providers/cloudflare-ai-gateway/models/openai/gpt-5-nano.toml b/providers/cloudflare-ai-gateway/models/openai/gpt-5-nano.toml index b2ad8701a24..cda98469f30 100644 --- a/providers/cloudflare-ai-gateway/models/openai/gpt-5-nano.toml +++ b/providers/cloudflare-ai-gateway/models/openai/gpt-5-nano.toml @@ -8,3 +8,9 @@ values = ["minimal", "low", "medium", "high"] input = 0.05 output = 0.4 cache_read = 0.005 + +[limit] +context = 128_000 + +[provider] +npm = "@ai-sdk/openai" diff --git a/providers/cloudflare-ai-gateway/models/openai/gpt-5-pro.toml b/providers/cloudflare-ai-gateway/models/openai/gpt-5-pro.toml deleted file mode 100644 index 3d221044701..00000000000 --- a/providers/cloudflare-ai-gateway/models/openai/gpt-5-pro.toml +++ /dev/null @@ -1,9 +0,0 @@ -base_model = "openai/gpt-5-pro" - -[[reasoning_options]] -type = "effort" -values = ["high"] - -[cost] -input = 15 -output = 120 diff --git a/providers/cloudflare-ai-gateway/models/openai/gpt-5.1.toml b/providers/cloudflare-ai-gateway/models/openai/gpt-5.1.toml index f931bf0d96d..c4df45b0f47 100644 --- a/providers/cloudflare-ai-gateway/models/openai/gpt-5.1.toml +++ b/providers/cloudflare-ai-gateway/models/openai/gpt-5.1.toml @@ -8,3 +8,9 @@ values = ["none", "low", "medium", "high"] input = 1.25 output = 10 cache_read = 0.125 + +[limit] +context = 128_000 + +[provider] +npm = "@ai-sdk/openai" diff --git a/providers/cloudflare-ai-gateway/models/openai/gpt-5.2-chat-latest.toml b/providers/cloudflare-ai-gateway/models/openai/gpt-5.2-chat-latest.toml deleted file mode 100644 index cbf6a9f15a6..00000000000 --- a/providers/cloudflare-ai-gateway/models/openai/gpt-5.2-chat-latest.toml +++ /dev/null @@ -1,10 +0,0 @@ -base_model = "openai/gpt-5.2-chat-latest" - -[[reasoning_options]] -type = "effort" -values = ["medium"] - -[cost] -input = 1.75 -output = 14 -cache_read = 0.175 diff --git a/providers/cloudflare-ai-gateway/models/openai/gpt-5.2-pro.toml b/providers/cloudflare-ai-gateway/models/openai/gpt-5.2-pro.toml deleted file mode 100644 index 5cc2c7a5458..00000000000 --- a/providers/cloudflare-ai-gateway/models/openai/gpt-5.2-pro.toml +++ /dev/null @@ -1,9 +0,0 @@ -base_model = "openai/gpt-5.2-pro" - -[[reasoning_options]] -type = "effort" -values = ["medium", "high", "xhigh"] - -[cost] -input = 21 -output = 168 diff --git a/providers/cloudflare-ai-gateway/models/openai/gpt-5.2.toml b/providers/cloudflare-ai-gateway/models/openai/gpt-5.2.toml deleted file mode 100644 index 51598627dac..00000000000 --- a/providers/cloudflare-ai-gateway/models/openai/gpt-5.2.toml +++ /dev/null @@ -1,10 +0,0 @@ -base_model = "openai/gpt-5.2" - -[[reasoning_options]] -type = "effort" -values = ["none", "low", "medium", "high", "xhigh"] - -[cost] -input = 1.75 -output = 14 -cache_read = 0.175 diff --git a/providers/cloudflare-ai-gateway/models/openai/gpt-5.3-chat-latest.toml b/providers/cloudflare-ai-gateway/models/openai/gpt-5.3-chat-latest.toml deleted file mode 100644 index 197284ef5f0..00000000000 --- a/providers/cloudflare-ai-gateway/models/openai/gpt-5.3-chat-latest.toml +++ /dev/null @@ -1,6 +0,0 @@ -base_model = "openai/gpt-5.3-chat-latest" - -[cost] -input = 1.75 -output = 14 -cache_read = 0.175 diff --git a/providers/cloudflare-ai-gateway/models/openai/gpt-5.3-codex-spark.toml b/providers/cloudflare-ai-gateway/models/openai/gpt-5.3-codex-spark.toml deleted file mode 100644 index 3cdcf9b38c9..00000000000 --- a/providers/cloudflare-ai-gateway/models/openai/gpt-5.3-codex-spark.toml +++ /dev/null @@ -1,10 +0,0 @@ -base_model = "openai/gpt-5.3-codex-spark" - -[[reasoning_options]] -type = "effort" -values = ["none", "low", "medium", "high", "xhigh"] - -[cost] -input = 1.75 -output = 14 -cache_read = 0.175 diff --git a/providers/cloudflare-ai-gateway/models/openai/gpt-5.3-codex.toml b/providers/cloudflare-ai-gateway/models/openai/gpt-5.3-codex.toml deleted file mode 100644 index eded42806c2..00000000000 --- a/providers/cloudflare-ai-gateway/models/openai/gpt-5.3-codex.toml +++ /dev/null @@ -1,13 +0,0 @@ -base_model = "openai/gpt-5.3-codex" - -[[reasoning_options]] -type = "effort" -values = ["none", "low", "medium", "high", "xhigh"] - -[cost] -input = 1.75 -output = 14 -cache_read = 0.175 - -[provider] -npm = "ai-gateway-provider" diff --git a/providers/cloudflare-ai-gateway/models/openai/gpt-5.4-mini.toml b/providers/cloudflare-ai-gateway/models/openai/gpt-5.4-mini.toml index 0744ddc0397..63f61a0d979 100644 --- a/providers/cloudflare-ai-gateway/models/openai/gpt-5.4-mini.toml +++ b/providers/cloudflare-ai-gateway/models/openai/gpt-5.4-mini.toml @@ -8,3 +8,9 @@ values = ["none", "low", "medium", "high", "xhigh"] input = 0.75 output = 4.5 cache_read = 0.075 + +[limit] +context = 128_000 + +[provider] +npm = "@ai-sdk/openai" diff --git a/providers/cloudflare-ai-gateway/models/openai/gpt-5.4-nano.toml b/providers/cloudflare-ai-gateway/models/openai/gpt-5.4-nano.toml index 8d6d5218295..8c58120bfe9 100644 --- a/providers/cloudflare-ai-gateway/models/openai/gpt-5.4-nano.toml +++ b/providers/cloudflare-ai-gateway/models/openai/gpt-5.4-nano.toml @@ -8,3 +8,9 @@ values = ["none", "low", "medium", "high", "xhigh"] input = 0.2 output = 1.25 cache_read = 0.02 + +[limit] +context = 128_000 + +[provider] +npm = "@ai-sdk/openai" diff --git a/providers/cloudflare-ai-gateway/models/openai/gpt-5.4-pro.toml b/providers/cloudflare-ai-gateway/models/openai/gpt-5.4-pro.toml index f0f7a093194..7c21cb03223 100644 --- a/providers/cloudflare-ai-gateway/models/openai/gpt-5.4-pro.toml +++ b/providers/cloudflare-ai-gateway/models/openai/gpt-5.4-pro.toml @@ -8,7 +8,8 @@ values = ["medium", "high", "xhigh"] input = 30 output = 180 -[[cost.tiers]] -tier = { size = 272000 } -input = 60 -output = 270 +[limit] +context = 1_000_000 + +[provider] +npm = "@ai-sdk/openai" diff --git a/providers/cloudflare-ai-gateway/models/openai/gpt-5.4.toml b/providers/cloudflare-ai-gateway/models/openai/gpt-5.4.toml index b8012e67713..24e79cb9225 100644 --- a/providers/cloudflare-ai-gateway/models/openai/gpt-5.4.toml +++ b/providers/cloudflare-ai-gateway/models/openai/gpt-5.4.toml @@ -9,11 +9,8 @@ input = 2.5 output = 15 cache_read = 0.25 -[[cost.tiers]] -tier = { size = 272000 } -input = 5 -output = 22.5 -cache_read = 0.5 +[limit] +context = 1_000_000 [provider] -npm = "ai-gateway-provider" +npm = "@ai-sdk/openai" diff --git a/providers/cloudflare-ai-gateway/models/openai/gpt-5.5-pro.toml b/providers/cloudflare-ai-gateway/models/openai/gpt-5.5-pro.toml index 8a9f28d890b..1af7e8ae535 100644 --- a/providers/cloudflare-ai-gateway/models/openai/gpt-5.5-pro.toml +++ b/providers/cloudflare-ai-gateway/models/openai/gpt-5.5-pro.toml @@ -8,7 +8,8 @@ values = ["medium", "high", "xhigh"] input = 30 output = 180 -[[cost.tiers]] -tier = { size = 272000 } -input = 60 -output = 270 +[limit] +context = 1_000_000 + +[provider] +npm = "@ai-sdk/openai" diff --git a/providers/cloudflare-ai-gateway/models/openai/gpt-5.5.toml b/providers/cloudflare-ai-gateway/models/openai/gpt-5.5.toml index 6bc1b6d71aa..4f3987a9179 100644 --- a/providers/cloudflare-ai-gateway/models/openai/gpt-5.5.toml +++ b/providers/cloudflare-ai-gateway/models/openai/gpt-5.5.toml @@ -7,10 +7,9 @@ values = ["none", "low", "medium", "high", "xhigh"] [cost] input = 5 output = 30 -cache_read = 0.5 -[[cost.tiers]] -tier = { size = 272000 } -input = 10 -output = 45 -cache_read = 1 +[limit] +context = 1_000_000 + +[provider] +npm = "@ai-sdk/openai" diff --git a/providers/cloudflare-ai-gateway/models/openai/gpt-5.6-luna.toml b/providers/cloudflare-ai-gateway/models/openai/gpt-5.6-luna.toml index 6f607dea329..70f248f2374 100644 --- a/providers/cloudflare-ai-gateway/models/openai/gpt-5.6-luna.toml +++ b/providers/cloudflare-ai-gateway/models/openai/gpt-5.6-luna.toml @@ -1,16 +1,17 @@ -# Pricing: https://developers.openai.com/api/docs/pricing (Terra/Luna cut 2026-07-30) base_model = "openai/gpt-5.6-luna" -reasoning_options = [{ type = "effort", values = ["none", "low", "medium", "high", "xhigh", "max"] }] + +[[reasoning_options]] +type = "effort" +values = ["none", "low", "medium", "high", "xhigh", "max"] [cost] -input = 0.20 -output = 1.20 +input = 0.2 +output = 1.2 cache_read = 0.02 cache_write = 0.25 -[[cost.tiers]] -tier = { size = 272_000 } -input = 0.40 -output = 1.80 -cache_read = 0.04 -cache_write = 0.50 +[limit] +context = 1_050_000 + +[provider] +npm = "@ai-sdk/openai" diff --git a/providers/cloudflare-ai-gateway/models/openai/gpt-5.6-sol.toml b/providers/cloudflare-ai-gateway/models/openai/gpt-5.6-sol.toml index c2917934cd6..a09b4a81498 100644 --- a/providers/cloudflare-ai-gateway/models/openai/gpt-5.6-sol.toml +++ b/providers/cloudflare-ai-gateway/models/openai/gpt-5.6-sol.toml @@ -1,15 +1,17 @@ base_model = "openai/gpt-5.6-sol" -reasoning_options = [{ type = "effort", values = ["none", "low", "medium", "high", "xhigh", "max"] }] + +[[reasoning_options]] +type = "effort" +values = ["none", "low", "medium", "high", "xhigh", "max"] [cost] -input = 5.00 -output = 30.00 -cache_read = 0.50 -cache_write = 6.25 - -[[cost.tiers]] -tier = { size = 272_000 } -input = 10.00 -output = 45.00 -cache_read = 1.00 -cache_write = 12.50 +input = 2 +output = 10 +cache_read = 0.25 +cache_write = 3.125 + +[limit] +context = 1_050_000 + +[provider] +npm = "@ai-sdk/openai" diff --git a/providers/cloudflare-ai-gateway/models/openai/gpt-5.6-terra.toml b/providers/cloudflare-ai-gateway/models/openai/gpt-5.6-terra.toml index f9e37b5c110..ce1572bef6c 100644 --- a/providers/cloudflare-ai-gateway/models/openai/gpt-5.6-terra.toml +++ b/providers/cloudflare-ai-gateway/models/openai/gpt-5.6-terra.toml @@ -1,16 +1,17 @@ -# Pricing: https://developers.openai.com/api/docs/pricing (Terra/Luna cut 2026-07-30) base_model = "openai/gpt-5.6-terra" -reasoning_options = [{ type = "effort", values = ["none", "low", "medium", "high", "xhigh", "max"] }] + +[[reasoning_options]] +type = "effort" +values = ["none", "low", "medium", "high", "xhigh", "max"] [cost] -input = 2.00 -output = 12.00 -cache_read = 0.20 -cache_write = 2.50 +input = 2 +output = 12 +cache_read = 0.2 +cache_write = 2.5 + +[limit] +context = 1_050_000 -[[cost.tiers]] -tier = { size = 272_000 } -input = 4.00 -output = 18.00 -cache_read = 0.40 -cache_write = 5.00 +[provider] +npm = "@ai-sdk/openai" diff --git a/providers/cloudflare-ai-gateway/models/openai/gpt-5.6.toml b/providers/cloudflare-ai-gateway/models/openai/gpt-5.6.toml deleted file mode 100644 index 4a9d7a5db67..00000000000 --- a/providers/cloudflare-ai-gateway/models/openai/gpt-5.6.toml +++ /dev/null @@ -1,16 +0,0 @@ -base_model = "openai/gpt-5.6-sol" -name = "GPT-5.6" -reasoning_options = [{ type = "effort", values = ["none", "low", "medium", "high", "xhigh", "max"] }] - -[cost] -input = 5.00 -output = 30.00 -cache_read = 0.50 -cache_write = 6.25 - -[[cost.tiers]] -tier = { size = 272_000 } -input = 10.00 -output = 45.00 -cache_read = 1.00 -cache_write = 12.50 diff --git a/providers/cloudflare-ai-gateway/models/openai/gpt-5.toml b/providers/cloudflare-ai-gateway/models/openai/gpt-5.toml index 1042d2275ff..155700f27ea 100644 --- a/providers/cloudflare-ai-gateway/models/openai/gpt-5.toml +++ b/providers/cloudflare-ai-gateway/models/openai/gpt-5.toml @@ -1,8 +1,16 @@ base_model = "openai/gpt-5" -reasoning_options = [{ type = "effort", values = ["minimal", "low", "medium", "high"] }] +[[reasoning_options]] +type = "effort" +values = ["minimal", "low", "medium", "high"] [cost] input = 1.25 -output = 10.00 +output = 10 cache_read = 0.125 + +[limit] +context = 128_000 + +[provider] +npm = "@ai-sdk/openai" diff --git a/providers/cloudflare-ai-gateway/models/openai/o1-pro.toml b/providers/cloudflare-ai-gateway/models/openai/o1-pro.toml deleted file mode 100644 index 3909fbb8a35..00000000000 --- a/providers/cloudflare-ai-gateway/models/openai/o1-pro.toml +++ /dev/null @@ -1,10 +0,0 @@ -base_model = "openai/o1-pro" -status = "deprecated" - -[[reasoning_options]] -type = "effort" -values = ["low", "medium", "high"] - -[cost] -input = 150 -output = 600 diff --git a/providers/cloudflare-ai-gateway/models/openai/o1.toml b/providers/cloudflare-ai-gateway/models/openai/o1.toml deleted file mode 100644 index e4be0ee3a81..00000000000 --- a/providers/cloudflare-ai-gateway/models/openai/o1.toml +++ /dev/null @@ -1,11 +0,0 @@ -base_model = "openai/o1" -status = "deprecated" - -[[reasoning_options]] -type = "effort" -values = ["low", "medium", "high"] - -[cost] -input = 15 -output = 60 -cache_read = 7.5 diff --git a/providers/cloudflare-ai-gateway/models/openai/o3-mini.toml b/providers/cloudflare-ai-gateway/models/openai/o3-mini.toml index ba21d0617c6..1ba3d98c8fa 100644 --- a/providers/cloudflare-ai-gateway/models/openai/o3-mini.toml +++ b/providers/cloudflare-ai-gateway/models/openai/o3-mini.toml @@ -1,5 +1,4 @@ base_model = "openai/o3-mini" -status = "deprecated" [[reasoning_options]] type = "effort" @@ -9,3 +8,9 @@ values = ["low", "medium", "high"] input = 1.1 output = 4.4 cache_read = 0.55 + +[limit] +context = 200_000 + +[provider] +npm = "@ai-sdk/openai" diff --git a/providers/cloudflare-ai-gateway/models/openai/o3-pro.toml b/providers/cloudflare-ai-gateway/models/openai/o3-pro.toml deleted file mode 100644 index 92a2b71e852..00000000000 --- a/providers/cloudflare-ai-gateway/models/openai/o3-pro.toml +++ /dev/null @@ -1,9 +0,0 @@ -base_model = "openai/o3-pro" - -[[reasoning_options]] -type = "effort" -values = ["low", "medium", "high"] - -[cost] -input = 20 -output = 80 diff --git a/providers/cloudflare-ai-gateway/models/openai/o3.toml b/providers/cloudflare-ai-gateway/models/openai/o3.toml index 977bf918256..a0db950d579 100644 --- a/providers/cloudflare-ai-gateway/models/openai/o3.toml +++ b/providers/cloudflare-ai-gateway/models/openai/o3.toml @@ -8,3 +8,9 @@ values = ["low", "medium", "high"] input = 2 output = 8 cache_read = 0.5 + +[limit] +context = 200_000 + +[provider] +npm = "@ai-sdk/openai" diff --git a/providers/cloudflare-ai-gateway/models/openai/o4-mini.toml b/providers/cloudflare-ai-gateway/models/openai/o4-mini.toml index a0c95a4b7d5..77e4ee12385 100644 --- a/providers/cloudflare-ai-gateway/models/openai/o4-mini.toml +++ b/providers/cloudflare-ai-gateway/models/openai/o4-mini.toml @@ -1,5 +1,4 @@ base_model = "openai/o4-mini" -status = "deprecated" [[reasoning_options]] type = "effort" @@ -9,3 +8,9 @@ values = ["low", "medium", "high"] input = 1.1 output = 4.4 cache_read = 0.275 + +[limit] +context = 200_000 + +[provider] +npm = "@ai-sdk/openai" diff --git a/providers/cloudflare-ai-gateway/models/workers-ai/@cf/aisingapore/gemma-sea-lion-v4-27b-it.toml b/providers/cloudflare-ai-gateway/models/workers-ai/@cf/aisingapore/gemma-sea-lion-v4-27b-it.toml deleted file mode 100644 index 8e5628d902d..00000000000 --- a/providers/cloudflare-ai-gateway/models/workers-ai/@cf/aisingapore/gemma-sea-lion-v4-27b-it.toml +++ /dev/null @@ -1,8 +0,0 @@ -base_model = "aisingapore/gemma-sea-lion-v4-27b-it" -name = "Gemma Sea Lion V4 27B It" -description = "Open Gemma instruction model for efficient chat and self-hosted deployments" -structured_output = false - -[cost] -input = 0.351 -output = 0.555 diff --git a/providers/cloudflare-ai-gateway/models/workers-ai/@cf/deepseek-ai/deepseek-r1-distill-qwen-32b.toml b/providers/cloudflare-ai-gateway/models/workers-ai/@cf/deepseek-ai/deepseek-r1-distill-qwen-32b.toml deleted file mode 100644 index 5ed23e67dc0..00000000000 --- a/providers/cloudflare-ai-gateway/models/workers-ai/@cf/deepseek-ai/deepseek-r1-distill-qwen-32b.toml +++ /dev/null @@ -1,12 +0,0 @@ -base_model = "deepseek/deepseek-r1-distill-qwen-32b" -name = "Deepseek R1 Distill Qwen 32B" -structured_output = false -reasoning_options = [] - -[cost] -input = 0.497 -output = 4.881 - -[limit] -context = 80000 -output = 80000 diff --git a/providers/cloudflare-ai-gateway/models/workers-ai/@cf/google/gemma-4-26b-a4b-it.toml b/providers/cloudflare-ai-gateway/models/workers-ai/@cf/google/gemma-4-26b-a4b-it.toml deleted file mode 100644 index 817334b2cee..00000000000 --- a/providers/cloudflare-ai-gateway/models/workers-ai/@cf/google/gemma-4-26b-a4b-it.toml +++ /dev/null @@ -1,15 +0,0 @@ -# Native `/ai/run` accepts `reasoning_effort = low|medium|high` and -# `chat_template_kwargs.enable_thinking = true|false`; no budget is documented. -# https://developers.cloudflare.com/workers-ai/models/gemma-4-26b-a4b-it/sync-input.json (accessed 2026-06-25) - -base_model = "google/gemma-4-26b-a4b-it" -reasoning_options = [{ type = "toggle" }, { type = "effort", values = ["low", "medium", "high"] }] -interleaved = true - -[cost] -input = 0.1 -output = 0.3 - -[limit] -context = 256_000 -output = 16_384 diff --git a/providers/cloudflare-ai-gateway/models/workers-ai/@cf/ibm-granite/granite-4.0-h-micro.toml b/providers/cloudflare-ai-gateway/models/workers-ai/@cf/ibm-granite/granite-4.0-h-micro.toml deleted file mode 100644 index d0eb28744ab..00000000000 --- a/providers/cloudflare-ai-gateway/models/workers-ai/@cf/ibm-granite/granite-4.0-h-micro.toml +++ /dev/null @@ -1,12 +0,0 @@ -base_model = "ibm/granite-4-h-micro" -name = "Granite 4.0 H Micro" -description = "Efficient model for low-latency assistance, extraction, and routine automation" -structured_output = false - -[cost] -input = 0.017 -output = 0.112 - -[limit] -context = 131000 -output = 131000 diff --git a/providers/cloudflare-ai-gateway/models/workers-ai/@cf/meta/llama-3.1-8b-instruct-fp8.toml b/providers/cloudflare-ai-gateway/models/workers-ai/@cf/meta/llama-3.1-8b-instruct-fp8.toml deleted file mode 100644 index 8285aa64989..00000000000 --- a/providers/cloudflare-ai-gateway/models/workers-ai/@cf/meta/llama-3.1-8b-instruct-fp8.toml +++ /dev/null @@ -1,13 +0,0 @@ -base_model = "meta/llama-3.1-8b-instruct" -name = "Llama 3.1 8B Instruct fp8" -description = "Open Llama instruction model for multilingual chat, reasoning, and coding" -tool_call = false -structured_output = false - -[cost] -input = 0.152 -output = 0.287 - -[limit] -context = 32000 -output = 32000 diff --git a/providers/cloudflare-ai-gateway/models/workers-ai/@cf/meta/llama-3.2-11b-vision-instruct.toml b/providers/cloudflare-ai-gateway/models/workers-ai/@cf/meta/llama-3.2-11b-vision-instruct.toml deleted file mode 100644 index 9b5d6a63138..00000000000 --- a/providers/cloudflare-ai-gateway/models/workers-ai/@cf/meta/llama-3.2-11b-vision-instruct.toml +++ /dev/null @@ -1,13 +0,0 @@ -base_model = "meta/llama-3.2-11b-vision-instruct" -name = "Llama 3.2 11B Vision Instruct" -description = "Open Llama multimodal model for image understanding and text reasoning" -tool_call = false -structured_output = false - -[cost] -input = 0.0485 -output = 0.676 - -[limit] -context = 128000 -output = 128000 diff --git a/providers/cloudflare-ai-gateway/models/workers-ai/@cf/meta/llama-3.2-1b-instruct.toml b/providers/cloudflare-ai-gateway/models/workers-ai/@cf/meta/llama-3.2-1b-instruct.toml deleted file mode 100644 index 0d689377eab..00000000000 --- a/providers/cloudflare-ai-gateway/models/workers-ai/@cf/meta/llama-3.2-1b-instruct.toml +++ /dev/null @@ -1,12 +0,0 @@ -base_model = "meta/llama-3.2-1b" -name = "Llama 3.2 1B Instruct" -description = "Open Llama instruction model for multilingual chat, reasoning, and coding" -structured_output = false - -[cost] -input = 0.027 -output = 0.201 - -[limit] -context = 60_000 -output = 60_000 diff --git a/providers/cloudflare-ai-gateway/models/workers-ai/@cf/meta/llama-3.2-3b-instruct.toml b/providers/cloudflare-ai-gateway/models/workers-ai/@cf/meta/llama-3.2-3b-instruct.toml deleted file mode 100644 index 599f91ead2b..00000000000 --- a/providers/cloudflare-ai-gateway/models/workers-ai/@cf/meta/llama-3.2-3b-instruct.toml +++ /dev/null @@ -1,12 +0,0 @@ -base_model = "meta/llama-3.2-3b" -name = "Llama 3.2 3B Instruct" -description = "Open Llama instruction model for multilingual chat, reasoning, and coding" -structured_output = false - -[cost] -input = 0.0509 -output = 0.335 - -[limit] -context = 80_000 -output = 80_000 diff --git a/providers/cloudflare-ai-gateway/models/workers-ai/@cf/meta/llama-3.3-70b-instruct-fp8-fast.toml b/providers/cloudflare-ai-gateway/models/workers-ai/@cf/meta/llama-3.3-70b-instruct-fp8-fast.toml deleted file mode 100644 index d12dc71b7f6..00000000000 --- a/providers/cloudflare-ai-gateway/models/workers-ai/@cf/meta/llama-3.3-70b-instruct-fp8-fast.toml +++ /dev/null @@ -1,12 +0,0 @@ -base_model = "meta/llama-3.3-70b-instruct" -name = "Llama 3.3 70B Instruct fp8 Fast" -attachment = false -structured_output = false - -[cost] -input = 0.293 -output = 2.253 - -[limit] -context = 24_000 -output = 24_000 diff --git a/providers/cloudflare-ai-gateway/models/workers-ai/@cf/meta/llama-4-scout-17b-16e-instruct.toml b/providers/cloudflare-ai-gateway/models/workers-ai/@cf/meta/llama-4-scout-17b-16e-instruct.toml deleted file mode 100644 index d83af523011..00000000000 --- a/providers/cloudflare-ai-gateway/models/workers-ai/@cf/meta/llama-4-scout-17b-16e-instruct.toml +++ /dev/null @@ -1,10 +0,0 @@ -base_model = "meta/llama-4-scout-17b-instruct" -name = "Llama 4 Scout 17B 16E Instruct" -structured_output = false - -[cost] -input = 0.27 -output = 0.85 - -[limit] -context = 131_000 diff --git a/providers/cloudflare-ai-gateway/models/workers-ai/@cf/meta/llama-guard-3-8b.toml b/providers/cloudflare-ai-gateway/models/workers-ai/@cf/meta/llama-guard-3-8b.toml deleted file mode 100644 index ee0ac42985d..00000000000 --- a/providers/cloudflare-ai-gateway/models/workers-ai/@cf/meta/llama-guard-3-8b.toml +++ /dev/null @@ -1,12 +0,0 @@ -base_model = "meta/llama-guard-3-8b" -name = "Llama Guard 3 8B" -description = "Safety model for policy screening, moderation, and risk-aware routing workflows" -structured_output = false - -[cost] -input = 0.484 -output = 0.03 - -[limit] -context = 131072 -output = 131072 diff --git a/providers/cloudflare-ai-gateway/models/workers-ai/@cf/mistralai/mistral-small-3.1-24b-instruct.toml b/providers/cloudflare-ai-gateway/models/workers-ai/@cf/mistralai/mistral-small-3.1-24b-instruct.toml deleted file mode 100644 index ec375de88a3..00000000000 --- a/providers/cloudflare-ai-gateway/models/workers-ai/@cf/mistralai/mistral-small-3.1-24b-instruct.toml +++ /dev/null @@ -1,17 +0,0 @@ -base_model = "mistral/mistral-small-3-1-24b-instruct-2503" -name = "Mistral Small 3.1 24B Instruct" -description = "Efficient Mistral model for fast chat, extraction, and production assistants" -attachment = false -structured_output = false - -[cost] -input = 0.351 -output = 0.555 - -[limit] -context = 128000 -output = 128000 - -[modalities] -input = ["text"] -output = ["text"] diff --git a/providers/cloudflare-ai-gateway/models/workers-ai/@cf/moonshotai/kimi-k2.6.toml b/providers/cloudflare-ai-gateway/models/workers-ai/@cf/moonshotai/kimi-k2.6.toml deleted file mode 100644 index 3c4c22a8305..00000000000 --- a/providers/cloudflare-ai-gateway/models/workers-ai/@cf/moonshotai/kimi-k2.6.toml +++ /dev/null @@ -1,20 +0,0 @@ -# Native `/ai/run` accepts `reasoning_effort = low|medium|high` and -# `chat_template_kwargs.thinking = true|false`; no budget is documented. -# https://developers.cloudflare.com/workers-ai/models/kimi-k2.6/sync-input.json (accessed 2026-06-25) - -base_model = "moonshotai/kimi-k2.6" -reasoning_options = [{ type = "toggle" }, { type = "effort", values = ["low", "medium", "high"] }] - -[interleaved] -field = "reasoning_content" - -[cost] -input = 0.95 -output = 4 -cache_read = 0.16 - -[limit] -output = 256_000 - -[modalities] -input = ["text", "image"] diff --git a/providers/cloudflare-ai-gateway/models/workers-ai/@cf/moonshotai/kimi-k2.7-code.toml b/providers/cloudflare-ai-gateway/models/workers-ai/@cf/moonshotai/kimi-k2.7-code.toml deleted file mode 100644 index a06c8bc9a29..00000000000 --- a/providers/cloudflare-ai-gateway/models/workers-ai/@cf/moonshotai/kimi-k2.7-code.toml +++ /dev/null @@ -1,11 +0,0 @@ -base_model = "moonshotai/kimi-k2.7-code" -reasoning_options = [{ type = "toggle" }, { type = "effort", values = ["low", "medium", "high"] }] -temperature = true - -[cost] -input = 0.95 -output = 4 -cache_read = 0.19 - -[modalities] -input = ["text", "image"] diff --git a/providers/cloudflare-ai-gateway/models/workers-ai/@cf/nvidia/nemotron-3-120b-a12b.toml b/providers/cloudflare-ai-gateway/models/workers-ai/@cf/nvidia/nemotron-3-120b-a12b.toml deleted file mode 100644 index 554decfc2e3..00000000000 --- a/providers/cloudflare-ai-gateway/models/workers-ai/@cf/nvidia/nemotron-3-120b-a12b.toml +++ /dev/null @@ -1,17 +0,0 @@ -# Native `/ai/run` accepts `reasoning_effort = low|medium|high` and -# `chat_template_kwargs.enable_thinking = true|false`; no budget is documented. -# https://developers.cloudflare.com/workers-ai/models/nemotron-3-120b-a12b/sync-input.json (accessed 2026-06-25) - -base_model = "nvidia/nemotron-3-super-120b-a12b" -name = "Nemotron 3 Super 120B" -structured_output = true -reasoning_options = [{ type = "toggle" }, { type = "effort", values = ["low", "medium", "high"] }] -interleaved = true - -[cost] -input = 0.5 -output = 1.5 - -[limit] -context = 256_000 -output = 256_000 diff --git a/providers/cloudflare-ai-gateway/models/workers-ai/@cf/openai/gpt-oss-120b.toml b/providers/cloudflare-ai-gateway/models/workers-ai/@cf/openai/gpt-oss-120b.toml deleted file mode 100644 index 36941a91a9e..00000000000 --- a/providers/cloudflare-ai-gateway/models/workers-ai/@cf/openai/gpt-oss-120b.toml +++ /dev/null @@ -1,17 +0,0 @@ -# Native `/ai/run` schema has no reasoning control, and no model-specific -# OpenAI-compatible reasoning field was verified. No token budget is documented. -# https://developers.cloudflare.com/workers-ai/models/gpt-oss-120b/sync-input.json (accessed 2026-06-25) - -base_model = "openai/gpt-oss-120b" - -[[reasoning_options]] -type = "effort" -values = ["low", "medium", "high"] - -[cost] -input = 0.35 -output = 0.75 - -[limit] -context = 128_000 -output = 16_384 diff --git a/providers/cloudflare-ai-gateway/models/workers-ai/@cf/openai/gpt-oss-20b.toml b/providers/cloudflare-ai-gateway/models/workers-ai/@cf/openai/gpt-oss-20b.toml deleted file mode 100644 index fc4739a9fbe..00000000000 --- a/providers/cloudflare-ai-gateway/models/workers-ai/@cf/openai/gpt-oss-20b.toml +++ /dev/null @@ -1,14 +0,0 @@ -# Native `/ai/run` schema has no reasoning control, and no model-specific -# OpenAI-compatible reasoning field was verified. No token budget is documented. -# https://developers.cloudflare.com/workers-ai/models/gpt-oss-20b/sync-input.json (accessed 2026-06-25) -base_model = "openai/gpt-oss-20b" -description = "Open-weight GPT model for self-hosted reasoning and instruction-following workloads" -reasoning_options = [] - -[cost] -input = 0.2 -output = 0.3 - -[limit] -context = 128_000 -output = 16_384 diff --git a/providers/cloudflare-ai-gateway/models/workers-ai/@cf/qwen/qwen2.5-coder-32b-instruct.toml b/providers/cloudflare-ai-gateway/models/workers-ai/@cf/qwen/qwen2.5-coder-32b-instruct.toml deleted file mode 100644 index eec40970dad..00000000000 --- a/providers/cloudflare-ai-gateway/models/workers-ai/@cf/qwen/qwen2.5-coder-32b-instruct.toml +++ /dev/null @@ -1,13 +0,0 @@ -base_model = "alibaba/qwen2.5-coder-32b-instruct" -name = "Qwen2.5 Coder 32B Instruct" -description = "Qwen coding model for software agents, repository edits, and code reasoning" -tool_call = false -structured_output = false - -[cost] -input = 0.66 -output = 1 - -[limit] -context = 32768 -output = 32768 diff --git a/providers/cloudflare-ai-gateway/models/workers-ai/@cf/qwen/qwen3-30b-a3b-fp8.toml b/providers/cloudflare-ai-gateway/models/workers-ai/@cf/qwen/qwen3-30b-a3b-fp8.toml deleted file mode 100644 index bb022d2e2fd..00000000000 --- a/providers/cloudflare-ai-gateway/models/workers-ai/@cf/qwen/qwen3-30b-a3b-fp8.toml +++ /dev/null @@ -1,13 +0,0 @@ -base_model = "alibaba/qwen3-30b-a3b" -name = "Qwen3 30B A3b fp8" -description = "Qwen instruction model for multilingual chat, reasoning, and tool use" -structured_output = false -reasoning_options = [] - -[cost] -input = 0.0509 -output = 0.335 - -[limit] -context = 32768 -output = 32768 diff --git a/providers/cloudflare-ai-gateway/models/workers-ai/@cf/qwen/qwq-32b.toml b/providers/cloudflare-ai-gateway/models/workers-ai/@cf/qwen/qwq-32b.toml deleted file mode 100644 index 20df710edc8..00000000000 --- a/providers/cloudflare-ai-gateway/models/workers-ai/@cf/qwen/qwq-32b.toml +++ /dev/null @@ -1,14 +0,0 @@ -base_model = "alibaba/qwq-32b" -name = "Qwq 32B" -description = "Qwen reasoning model for deliberate problem solving, math, and coding" -tool_call = false -structured_output = false -reasoning_options = [] - -[cost] -input = 0.66 -output = 1 - -[limit] -context = 24000 -output = 24000 diff --git a/providers/cloudflare-ai-gateway/models/workers-ai/@cf/zai-org/glm-4.7-flash.toml b/providers/cloudflare-ai-gateway/models/workers-ai/@cf/zai-org/glm-4.7-flash.toml deleted file mode 100644 index e6a945f95ad..00000000000 --- a/providers/cloudflare-ai-gateway/models/workers-ai/@cf/zai-org/glm-4.7-flash.toml +++ /dev/null @@ -1,21 +0,0 @@ -base_model = "zhipuai/glm-4.7-flash" -description = "Efficient GLM model for fast reasoning, coding, and agent workflows" -structured_output = true - -[[reasoning_options]] -type = "toggle" - -[[reasoning_options]] -type = "effort" -values = ["low", "medium", "high"] - -[cost] -input = 0.0605 -output = 0.4 - -[limit] -context = 131072 -output = 131072 - -[interleaved] -field = "reasoning_content" diff --git a/providers/cloudflare-ai-gateway/models/workers-ai/@cf/zai-org/glm-5.2.toml b/providers/cloudflare-ai-gateway/models/workers-ai/@cf/zai-org/glm-5.2.toml deleted file mode 100644 index 5642ab6e4ea..00000000000 --- a/providers/cloudflare-ai-gateway/models/workers-ai/@cf/zai-org/glm-5.2.toml +++ /dev/null @@ -1,20 +0,0 @@ -# Context and output limits verified against Cloudflare Workers AI's OpenAI-compatible endpoint. -# https://developers.cloudflare.com/workers-ai/models/glm-5.2/ -base_model = "zhipuai/glm-5.2" -name = "Glm 5.2" - -[[reasoning_options]] -type = "toggle" - -[[reasoning_options]] -type = "effort" -values = ["low", "medium", "high"] - -[cost] -input = 1.4 -output = 4.4 -cache_read = 0.26 - -[limit] -context = 262_144 -output = 256_000 diff --git a/providers/cloudflare-ai-gateway/models/xai/grok-4.20-0309-non-reasoning.toml b/providers/cloudflare-ai-gateway/models/xai/grok-4.20-0309-non-reasoning.toml new file mode 100644 index 00000000000..01ea1bdaa7e --- /dev/null +++ b/providers/cloudflare-ai-gateway/models/xai/grok-4.20-0309-non-reasoning.toml @@ -0,0 +1,9 @@ +base_model = "xai/grok-4.20-0309-non-reasoning" + +[cost] +input = 2 +output = 6 +cache_read = 0.2 + +[limit] +context = 2_000_000 diff --git a/providers/cloudflare-ai-gateway/models/xai/grok-4.20-0309-reasoning.toml b/providers/cloudflare-ai-gateway/models/xai/grok-4.20-0309-reasoning.toml new file mode 100644 index 00000000000..7ee9340909e --- /dev/null +++ b/providers/cloudflare-ai-gateway/models/xai/grok-4.20-0309-reasoning.toml @@ -0,0 +1,10 @@ +base_model = "xai/grok-4.20-0309-reasoning" +reasoning_options = [] + +[cost] +input = 2 +output = 6 +cache_read = 0.2 + +[limit] +context = 2_000_000 diff --git a/providers/cloudflare-ai-gateway/models/xai/grok-4.3.toml b/providers/cloudflare-ai-gateway/models/xai/grok-4.3.toml new file mode 100644 index 00000000000..2521c3dc6a5 --- /dev/null +++ b/providers/cloudflare-ai-gateway/models/xai/grok-4.3.toml @@ -0,0 +1,13 @@ +base_model = "xai/grok-4.3" + +[[reasoning_options]] +type = "effort" +values = ["none", "low", "medium", "high"] + +[cost] +input = 1.25 +output = 2.5 +cache_read = 0.2 + +[limit] +context = 1_000_000 diff --git a/providers/cloudflare-ai-gateway/models/xai/grok-4.5.toml b/providers/cloudflare-ai-gateway/models/xai/grok-4.5.toml new file mode 100644 index 00000000000..cc4f3e39b59 --- /dev/null +++ b/providers/cloudflare-ai-gateway/models/xai/grok-4.5.toml @@ -0,0 +1,13 @@ +base_model = "xai/grok-4.5" + +[[reasoning_options]] +type = "effort" +values = ["low", "medium", "high"] + +[cost] +input = 2 +output = 6 +cache_read = 0.3 + +[limit] +context = 500_000 diff --git a/providers/cloudflare-ai-gateway/models/xai/grok-4.6.toml b/providers/cloudflare-ai-gateway/models/xai/grok-4.6.toml new file mode 100644 index 00000000000..bd56d89c029 --- /dev/null +++ b/providers/cloudflare-ai-gateway/models/xai/grok-4.6.toml @@ -0,0 +1,13 @@ +base_model = "xai/grok-4.6" + +[[reasoning_options]] +type = "effort" +values = ["low", "medium", "high"] + +[cost] +input = 2 +output = 6 +cache_read = 0.5 + +[limit] +context = 500_000 diff --git a/providers/cloudflare-ai-gateway/provider.toml b/providers/cloudflare-ai-gateway/provider.toml index 2151634917c..137082cac18 100644 --- a/providers/cloudflare-ai-gateway/provider.toml +++ b/providers/cloudflare-ai-gateway/provider.toml @@ -6,10 +6,7 @@ npm = "ai-gateway-provider" # `thinking.type`, `thinking.budget_tokens`, and `output_config.effort`. # https://developers.cloudflare.com/ai-gateway/usage/providers/openai/ (accessed 2026-06-25) # https://developers.cloudflare.com/ai-gateway/usage/providers/anthropic/ (accessed 2026-06-25) -# Unified Workers AI and third-party routes are POST `/ai/run`, -# `/ai/v1/chat/completions`, `/ai/v1/responses`, and `/ai/v1/messages`; -# `/ai/run` puts each model's native input schema under `input`. +# Other third-party providers route over the catalog-aware REST API: POST +# `/ai/v1/chat/completions`, `/ai/v1/responses`, and `/ai/v1/messages`. # https://developers.cloudflare.com/ai-gateway/usage/rest-api/ (accessed 2026-06-25) -# Workers AI model input fields are defined by each model's raw schema. -# https://developers.cloudflare.com/workers-ai/models/ (accessed 2026-06-25) doc = "https://developers.cloudflare.com/ai-gateway/" diff --git a/providers/cloudflare-ai-gateway/scripts/01_fetch_model_data.sh b/providers/cloudflare-ai-gateway/scripts/01_fetch_model_data.sh deleted file mode 100755 index 3695f7e9333..00000000000 --- a/providers/cloudflare-ai-gateway/scripts/01_fetch_model_data.sh +++ /dev/null @@ -1,73 +0,0 @@ -#!/usr/bin/env bash -# -# Generate model TOML files for Cloudflare AI Gateway -# -# This script runs the generation pipeline: -# 1. Fetch models from Cloudflare AI Gateway API -# 2. generate_model_names.sh - Updates model_names.json with new model IDs -# 3. generate_model_toml.sh - Generates TOML files for each model -# -# Required environment variables: -# CLOUDFLARE_API_TOKEN - Your Cloudflare API token -# CLOUDFLARE_ACCOUNT_ID - Your Cloudflare account ID -# CLOUDFLARE_GATEWAY_ID - Your AI Gateway name/ID -# -# Usage: -# CLOUDFLARE_API_TOKEN=xxx CLOUDFLARE_ACCOUNT_ID=xxx CLOUDFLARE_GATEWAY_ID=xxx ./generate_models.sh -# - -set -eo pipefail - -# ============================================================================= -# Step 1: Fetch models from Cloudflare AI Gateway -# ============================================================================= - -echo "=== Step 1: Fetching models from Cloudflare AI Gateway ===" - -# ============================================================================= -# Main script -# ============================================================================= - -SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" -PROVIDER_DIR="$(cd "${SCRIPT_DIR}/.." && pwd)" -DATA_DIR="${PROVIDER_DIR}/data" -API_RESPONSE_FILE="${DATA_DIR}/api_response.json" - -# Validate required environment variables -if [[ -z "${CLOUDFLARE_API_TOKEN:-}" ]]; then - echo "Error: CLOUDFLARE_API_TOKEN environment variable is required" >&2 - exit 1 -fi - -if [[ -z "${CLOUDFLARE_ACCOUNT_ID:-}" ]]; then - echo "Error: CLOUDFLARE_ACCOUNT_ID environment variable is required" >&2 - exit 1 -fi - -if [[ -z "${CLOUDFLARE_GATEWAY_ID:-}" ]]; then - echo "Error: CLOUDFLARE_GATEWAY_ID environment variable is required" >&2 - exit 1 -fi - -API_URL="https://gateway.ai.cloudflare.com/v1/${CLOUDFLARE_ACCOUNT_ID}/${CLOUDFLARE_GATEWAY_ID}/compat/models" - -mkdir -p "${DATA_DIR}" -RESPONSE=$(curl -s -H "Authorization: Bearer ${CLOUDFLARE_API_TOKEN}" "${API_URL}") - -# Check if the response is valid JSON with data -if ! echo "${RESPONSE}" | jq -e '.data' > /dev/null 2>&1; then - echo "Error: Invalid API response or no data returned" >&2 - echo "Response: ${RESPONSE}" >&2 - exit 1 -fi - -MODEL_COUNT=$(echo "${RESPONSE}" | jq '.data | length') - -if [[ "${MODEL_COUNT}" -eq 0 ]]; then - echo "Error: No models found in API response" >&2 - exit 1 -fi - -echo "Found ${MODEL_COUNT} models from API" -echo "${RESPONSE}" > "${API_RESPONSE_FILE}" -echo "Saved API response to ${API_RESPONSE_FILE}" \ No newline at end of file diff --git a/providers/cloudflare-ai-gateway/scripts/02_generate_model_names.sh b/providers/cloudflare-ai-gateway/scripts/02_generate_model_names.sh deleted file mode 100755 index 311c4b3c2f8..00000000000 --- a/providers/cloudflare-ai-gateway/scripts/02_generate_model_names.sh +++ /dev/null @@ -1,102 +0,0 @@ -#!/usr/bin/env bash -# -# Generate/update model_names.json for Cloudflare AI Gateway -# -# This script reads the API response from data/api_response.json and adds -# any new model IDs to model_names.json with the ID as a placeholder value. -# Existing entries are preserved. -# -# Usage: -# ./generate_model_names.sh -# - -set -eo pipefail - -SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" -PROVIDER_DIR="$(cd "${SCRIPT_DIR}/.." && pwd)" -source "${SCRIPT_DIR}/utils.sh" - -# ============================================================================= -# Step 2: Update model names -# ============================================================================= - -echo "" -echo "=== Step 2: Generating / adding missing model names ===" - -# ============================================================================= -# Main script -# ============================================================================= - -DATA_DIR="${PROVIDER_DIR}/data" -MODEL_NAMES_FILE="${DATA_DIR}/model_names.json" -API_RESPONSE_FILE="${DATA_DIR}/api_response.json" - -# Check if API response file exists -if [[ ! -f "${API_RESPONSE_FILE}" ]]; then - echo "Error: API response file not found at ${API_RESPONSE_FILE}" >&2 - echo "Run generate_models.sh first to fetch the API response." >&2 - exit 1 -fi - -# Check if the response is valid JSON with data -if ! jq -e '.data' "${API_RESPONSE_FILE}" > /dev/null 2>&1; then - echo "Error: Invalid API response or no data in ${API_RESPONSE_FILE}" >&2 - exit 1 -fi - -MODEL_COUNT=$(jq '.data | length' "${API_RESPONSE_FILE}") - -if [[ "${MODEL_COUNT}" -eq 0 ]]; then - echo "Error: No models found in API response" >&2 - exit 1 -fi - -echo "Found ${MODEL_COUNT} models in API response" - -# Initialize model_names.json if it doesn't exist -if [[ ! -f "${MODEL_NAMES_FILE}" ]]; then - echo "{}" > "${MODEL_NAMES_FILE}" -fi - -ADDED_COUNT=0 -SKIPPED_COUNT=0 - -# Process each model from the API response -while IFS= read -r MODEL_JSON; do - MODEL_ID=$(echo "${MODEL_JSON}" | jq -r '.id') - - # Skip empty IDs - [[ -z "${MODEL_ID}" || "${MODEL_ID}" == "null" ]] && continue - - # Check if this model should be included - if ! should_include_model "${MODEL_ID}"; then - echo "Skipping: ${MODEL_ID} (not in include list)" - ((SKIPPED_COUNT++)) || true - continue - fi - - # Check if model already exists in model_names.json - EXISTING=$(jq -r --arg id "${MODEL_ID}" '.[$id] // empty' "${MODEL_NAMES_FILE}") - - if [[ -z "${EXISTING}" ]]; then - # Add model ID to model_names.json with ID as placeholder - echo "Adding: ${MODEL_ID}" - TMP_FILE=$(mktemp) - jq --arg id "${MODEL_ID}" '.[$id] = $id' "${MODEL_NAMES_FILE}" > "${TMP_FILE}" - mv "${TMP_FILE}" "${MODEL_NAMES_FILE}" - ((ADDED_COUNT++)) || true - else - echo "Already exists: ${MODEL_ID}" - fi -done < <(jq -c '.data[]' "${API_RESPONSE_FILE}") - -TOTAL_COUNT=$(jq 'length' "${MODEL_NAMES_FILE}") - -echo "" -echo "Summary:" -echo " Models in API: ${MODEL_COUNT}" -echo " Models skipped: ${SKIPPED_COUNT}" -echo " New entries added: ${ADDED_COUNT}" -echo " Total entries in model_names.json: ${TOTAL_COUNT}" -echo "" -echo "Done! Review model_names.json and update placeholder values with human-readable names." diff --git a/providers/cloudflare-ai-gateway/scripts/03_generate_model_toml.sh b/providers/cloudflare-ai-gateway/scripts/03_generate_model_toml.sh deleted file mode 100755 index 29ab0514c9b..00000000000 --- a/providers/cloudflare-ai-gateway/scripts/03_generate_model_toml.sh +++ /dev/null @@ -1,245 +0,0 @@ -#!/usr/bin/env bash -# -# Generate model TOML files for Cloudflare AI Gateway -# -# This script reads the API response from data/api_response.json and generates -# TOML files for each model. -# -# Usage: -# ./generate_model_toml.sh -# - -set -eo pipefail - -SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" -PROVIDER_DIR="$(cd "${SCRIPT_DIR}/.." && pwd)" -source "${SCRIPT_DIR}/utils.sh" - -# ============================================================================= -# Step 3: Generate TOML files -# ============================================================================= - -echo "" -echo "=== Step 3: Generating model TOML files ===" - -# ============================================================================= -# Main script -# ============================================================================= -MODELS_DIR="${PROVIDER_DIR}/models" -DATA_DIR="${PROVIDER_DIR}/data" -PROVIDERS_DIR="${PROVIDER_DIR}/.." -MODEL_NAMES_FILE="${DATA_DIR}/model_names.json" -MODEL_FAMILIES_FILE="${DATA_DIR}/model_families.json" -API_RESPONSE_FILE="${DATA_DIR}/api_response.json" - -# Check if API response file exists -if [[ ! -f "${API_RESPONSE_FILE}" ]]; then - echo "Error: API response file not found at ${API_RESPONSE_FILE}" >&2 - echo "Run generate_models.sh first to fetch the API response." >&2 - exit 1 -fi - -# Check if the response is valid JSON with data -if ! jq -e '.data' "${API_RESPONSE_FILE}" > /dev/null 2>&1; then - echo "Error: Invalid API response or no data in ${API_RESPONSE_FILE}" >&2 - exit 1 -fi - -MODEL_COUNT=$(jq '.data | length' "${API_RESPONSE_FILE}") - -if [[ "${MODEL_COUNT}" -eq 0 ]]; then - echo "Error: No models found in API response" >&2 - exit 1 -fi - -echo "Found ${MODEL_COUNT} models in API response" - -# Create a temporary file to track API model files -API_MODEL_FILES=$(mktemp) -trap "rm -f ${API_MODEL_FILES}" EXIT - -GENERATED_COUNT=0 -SKIPPED_COUNT=0 -CROSS_REF_COUNT=0 - -# ============================================================================= -# Helper function to get model family from mapping file -# ============================================================================= -get_model_family() { - local model_id="$1" - - # Return empty if families file doesn't exist - if [[ ! -f "${MODEL_FAMILIES_FILE}" ]]; then - echo "" - return - fi - - # Try to match patterns in order - local family - family=$(jq -r --arg id "${model_id}" ' - .patterns[] | .pattern as $p | .family as $f | select($id | test($p)) | $f - ' "${MODEL_FAMILIES_FILE}" | head -n 1) - - # Return family if found, empty otherwise - if [[ -n "${family}" && "${family}" != "null" ]]; then - echo "${family}" - else - echo "" - fi -} - -# Process each model from the API response -while IFS= read -r MODEL_JSON; do - MODEL_ID=$(echo "${MODEL_JSON}" | jq -r '.id') - COST_IN=$(echo "${MODEL_JSON}" | jq -r '.cost_in // 0') - COST_OUT=$(echo "${MODEL_JSON}" | jq -r '.cost_out // 0') - CREATED_AT=$(echo "${MODEL_JSON}" | jq -r '.created_at // 0') - - # Skip empty IDs - [[ -z "${MODEL_ID}" || "${MODEL_ID}" == "null" ]] && continue - - # Check if this model should be included - if ! should_include_model "${MODEL_ID}"; then - ((SKIPPED_COUNT++)) || true - echo "Skipping: ${MODEL_ID}" - continue - fi - - ((INCLUDED_COUNT++)) || true - - # Extract provider and model name - PROVIDER=$(echo "${MODEL_ID}" | cut -d'/' -f1) - MODEL_NAME=$(echo "${MODEL_ID}" | cut -d'/' -f2-) - MODEL_PATH="${MODEL_ID}.toml" - - FULL_PATH="${MODELS_DIR}/${MODEL_PATH}" - echo "${FULL_PATH}" >> "${API_MODEL_FILES}" - - # Create directory if needed - MODEL_DIR=$(dirname "${FULL_PATH}") - mkdir -p "${MODEL_DIR}" - - # Check if we should cross-reference from source provider - SOURCE_FILE=$(find_source_file "${PROVIDER}" "${MODEL_NAME}" "${PROVIDERS_DIR}" || true); - - if [[ -n "${SOURCE_FILE}" && -f "${SOURCE_FILE}" ]]; then - echo "Cross-referencing: ${MODEL_PATH} <- ${SOURCE_FILE#${PROVIDERS_DIR}/}" - cp "${SOURCE_FILE}" "${FULL_PATH}" - ((CROSS_REF_COUNT++)) || true - else - # Generate file with defaults for workers-ai, replicate, etc. - echo "Generating: ${MODEL_PATH}" - ((GENERATED_COUNT++)) || true - - # Get display name from mapping file, or add model ID to file and use as-is - DISPLAY_NAME=$(jq -r --arg id "${MODEL_ID}" '.[$id] // empty' "${MODEL_NAMES_FILE}") - if [[ -z "${DISPLAY_NAME}" ]]; then - # Add model ID to model_names.json with ID as placeholder - TMP_FILE=$(mktemp) - jq --arg id "${MODEL_ID}" '.[$id] = $id' "${MODEL_NAMES_FILE}" > "${TMP_FILE}" - mv "${TMP_FILE}" "${MODEL_NAMES_FILE}" - DISPLAY_NAME="${MODEL_ID}" - fi - # Escape double quotes for TOML string - DISPLAY_NAME="${DISPLAY_NAME//\"/\\\"}" - - # Get model family from mapping file - MODEL_FAMILY=$(get_model_family "${MODEL_ID}") - - # Convert created_at timestamp to date (YYYY-MM-DD) - if [[ "${CREATED_AT}" != "0" && "${CREATED_AT}" != "null" ]]; then - RELEASE_DATE=$(date -r "${CREATED_AT}" +%Y-%m-%d 2>/dev/null || date -d "@${CREATED_AT}" +%Y-%m-%d 2>/dev/null || date +%Y-%m-%d) - else - RELEASE_DATE=$(date +%Y-%m-%d) - fi - - # Convert cost per token to cost per million tokens - # API returns cost per token, we need cost per 1M tokens - # Treat negative or invalid costs as 0 - # Note: jq outputs scientific notation with uppercase 'E', but bc requires lowercase 'e' - if [[ "${COST_IN}" != "0" && "${COST_IN}" != "null" ]]; then - COST_IN_BC=$(echo "${COST_IN}" | tr 'E' 'e') - COST_IN_PER_M=$(echo "${COST_IN_BC} * 1000000" | bc -l | sed 's/^\./0./' | sed 's/0*$//' | sed 's/\.$//') - # If negative, set to 0 - if (( $(echo "${COST_IN_PER_M} < 0" | bc -l) )); then - COST_IN_PER_M="0" - fi - else - COST_IN_PER_M="0" - fi - - if [[ "${COST_OUT}" != "0" && "${COST_OUT}" != "null" ]]; then - COST_OUT_BC=$(echo "${COST_OUT}" | tr 'E' 'e') - COST_OUT_PER_M=$(echo "${COST_OUT_BC} * 1000000" | bc -l | sed 's/^\./0./' | sed 's/0*$//' | sed 's/\.$//') - # If negative, set to 0 - if (( $(echo "${COST_OUT_PER_M} < 0" | bc -l) )); then - COST_OUT_PER_M="0" - fi - else - COST_OUT_PER_M="0" - fi - - # Always overwrite to ensure data is up to date - # Build the TOML content with optional family field - TOML_CONTENT="name = \"${DISPLAY_NAME}\"" - if [[ -n "${MODEL_FAMILY}" ]]; then - TOML_CONTENT="${TOML_CONTENT} -family = \"${MODEL_FAMILY}\"" - fi - TOML_CONTENT="${TOML_CONTENT} -release_date = \"${RELEASE_DATE}\" -last_updated = \"${RELEASE_DATE}\" -attachment = false -reasoning = false -temperature = true -tool_call = false -open_weights = false - -[cost] -input = ${COST_IN_PER_M} -output = ${COST_OUT_PER_M} - -[limit] -context = 128000 -output = 16384 - -[modalities] -input = [\"text\"] -output = [\"text\"]" - - echo "${TOML_CONTENT}" > "${FULL_PATH}" - fi -done < <(jq -c '.data[]' "${API_RESPONSE_FILE}") - -# Find and remove models that are not in the API response -echo "" -echo "Checking for models to remove..." -REMOVED_COUNT=0 - -# Find all existing .toml files in models directory -if [[ -d "${MODELS_DIR}" ]]; then - while IFS= read -r -d '' EXISTING_FILE; do - if ! grep -qxF "${EXISTING_FILE}" "${API_MODEL_FILES}"; then - REL_PATH="${EXISTING_FILE#${MODELS_DIR}/}" - echo "Removing model not in API: ${REL_PATH}" - rm -f "${EXISTING_FILE}" - ((REMOVED_COUNT++)) || true - fi - done < <(find "${MODELS_DIR}" -name "*.toml" -type f -print0) -fi - -# Clean up empty directories -find "${MODELS_DIR}" -type d -empty -delete 2>/dev/null || true - -FINAL_COUNT=$(find "${MODELS_DIR}" -name "*.toml" -type f | wc -l | tr -d ' ') - -echo "" -echo "Summary:" -echo " Models from API: ${MODEL_COUNT}" -echo " Models skipped (filtered): ${SKIPPED_COUNT}" -echo " Models cross-referenced: ${CROSS_REF_COUNT}" -echo " Models generated: ${GENERATED_COUNT}" -echo " Models removed: ${REMOVED_COUNT}" -echo " Total models: ${FINAL_COUNT}" -echo "" -echo "Done!" diff --git a/providers/cloudflare-ai-gateway/scripts/utils.sh b/providers/cloudflare-ai-gateway/scripts/utils.sh deleted file mode 100644 index 3a11f938e50..00000000000 --- a/providers/cloudflare-ai-gateway/scripts/utils.sh +++ /dev/null @@ -1,180 +0,0 @@ -# Shared utilities for Cloudflare AI Gateway scripts -# Source this file: source "$(dirname "${BASH_SOURCE[0]}")/utils.sh" - -# ============================================================================= -# CONFIGURATION: Providers and models to include -# ============================================================================= - -# Providers to include ALL models from (generated with defaults) -INCLUDE_ALL_PROVIDERS="workers-ai" - -# Namespaces to skip entirely (provider/namespace format) -SKIP_NAMESPACES="replicate/replicate-internal" - -# Specific models to skip (exact model IDs) -SKIP_MODELS="aura-1 whisper" - -# Providers to cross-reference from source provider files -CROSS_REFERENCE_PROVIDERS="openai anthropic" - -# For cross-referenced providers, only include these well-known models (regex patterns) -# Format: "provider/model-pattern" -# Use $ anchor for exact matches to avoid dated versions and variants -# NOTE: These patterns match the Cloudflare API format (which uses BOTH dots and hyphens) -# The filename conversion to hyphens happens in 03_generate_model_toml.sh -WELL_KNOWN_MODELS=( - # OpenAI - canonical names only, no dated versions - # API uses BOTH dots and hyphens: gpt-5.1 AND gpt-5-1, gpt-3.5-turbo AND gpt-3-5-turbo - "openai/gpt-5[\.-]2$" - "openai/gpt-5[\.-]1$" - "openai/gpt-5[\.-]1-codex$" - "openai/gpt-4o$" - "openai/gpt-4o-mini$" - "openai/gpt-4-turbo$" - "openai/gpt-4$" - "openai/gpt-3[\.-]5-turbo$" - "openai/o1$" - "openai/o3$" - "openai/o3-mini$" - "openai/o3-pro$" - "openai/o4-mini$" - - # Anthropic - canonical names only, no dated versions or duplicates - # API uses BOTH dots and hyphens: claude-3.5-sonnet AND claude-3-5-sonnet - "anthropic/claude-sonnet-4-5$" - "anthropic/claude-opus-4-6$" - "anthropic/claude-opus-4-5$" - "anthropic/claude-haiku-4-5$" - "anthropic/claude-opus-4-1$" - "anthropic/claude-sonnet-4$" - "anthropic/claude-opus-4$" - "anthropic/claude-3[\.-]5-sonnet$" - "anthropic/claude-3[\.-]5-haiku$" - "anthropic/claude-3-opus$" - "anthropic/claude-3-sonnet$" - "anthropic/claude-3-haiku$" -) - -# ============================================================================= -# Helper function to get mapped model name for source file lookup -# ============================================================================= -# This function maps Cloudflare API model names to source provider file names. -# Input: model name from API (may have dots, e.g., "claude-3.5-sonnet") -# Output: source file name (uses hyphens, e.g., "claude-3-5-sonnet-20241022") -get_mapped_name() { - local model_name="$1" - # First convert dots to hyphens for consistent lookup - local normalized_name=$(echo "${model_name}" | sed 's/\./-/g') - - case "${normalized_name}" in - # Anthropic mappings - map to source file names with date suffixes - "claude-sonnet-4-5") echo "claude-sonnet-4-5" ;; - "claude-opus-4-6") echo "claude-opus-4-6" ;; - "claude-opus-4-5") echo "claude-opus-4-5" ;; - "claude-haiku-4-5") echo "claude-haiku-4-5" ;; - "claude-opus-4-1") echo "claude-opus-4-1" ;; - "claude-sonnet-4") echo "claude-sonnet-4-0" ;; - "claude-opus-4") echo "claude-opus-4-0" ;; - "claude-3-5-sonnet") echo "claude-3-5-sonnet-20241022" ;; - "claude-3-5-haiku") echo "claude-3-5-haiku-latest" ;; - "claude-3-opus") echo "claude-3-opus-20240229" ;; - "claude-3-sonnet") echo "claude-3-sonnet-20240229" ;; - "claude-3-haiku") echo "claude-3-haiku-20240307" ;; - # OpenAI mappings - source files use dots, but we look up with hyphens - "gpt-5-1") echo "gpt-5.1" ;; - "gpt-5-2") echo "gpt-5.2" ;; - "gpt-5-1-codex") echo "gpt-5.1-codex" ;; - "gpt-3-5-turbo") echo "gpt-3.5-turbo" ;; - *) echo "${normalized_name}" ;; - esac -} - -# ============================================================================= -# Helper function to check if a model should be included -# ============================================================================= -should_include_model() { - local model_id="$1" - local provider - - # Extract provider from model ID (first path segment) - provider=$(echo "${model_id}" | cut -d'/' -f1) - - # Check if model matches any skip pattern (partial match on model name) - for skip in ${SKIP_MODELS}; do - if [[ "${model_id}" == *"${skip}"* ]]; then - return 1 # Exclude - fi - done - - # Check if model is in a skipped namespace - for ns in ${SKIP_NAMESPACES}; do - if [[ "${model_id}" == ${ns}/* ]]; then - return 1 # Exclude - fi - done - - # Check if provider is in the "include all" list - for p in ${INCLUDE_ALL_PROVIDERS}; do - if [[ "${provider}" == "${p}" ]]; then - # Special case for workers-ai: only include models with workers-ai/@cf/ prefix - if [[ "${provider}" == "workers-ai" && "${model_id}" != "workers-ai/@cf/"* ]]; then - return 1 # Exclude workers-ai models that don't have @cf/ namespace - fi - return 0 # Include - fi - done - - # Check if model matches any well-known pattern - for pattern in "${WELL_KNOWN_MODELS[@]}"; do - if echo "${model_id}" | grep -qE "^${pattern}"; then - return 0 # Include - fi - done - - # Skip - return 1 -} - -# ============================================================================= -# Helper function to find source file for cross-referenced models -# ============================================================================= -find_source_file() { - local provider="$1" - local model_name="$2" - local providers_dir="$3" - - # Check if provider is in cross-reference list - local is_cross_ref=false - for p in ${CROSS_REFERENCE_PROVIDERS}; do - if [[ "${provider}" == "${p}" ]]; then - is_cross_ref=true - break - fi - done - - if [[ "${is_cross_ref}" != "true" ]]; then - return 1 - fi - - # Get mapped name - local mapped_name - mapped_name=$(get_mapped_name "${model_name}") - - local source_file="${providers_dir}/${provider}/models/${mapped_name}.toml" - - if [[ -f "${source_file}" ]]; then - echo "${source_file}" - return 0 - fi - - # Try original name if mapping didn't work - if [[ "${mapped_name}" != "${model_name}" ]]; then - source_file="${providers_dir}/${provider}/models/${model_name}.toml" - if [[ -f "${source_file}" ]]; then - echo "${source_file}" - return 0 - fi - fi - - return 1 -}