diff --git a/packages/core/src/family.ts b/packages/core/src/family.ts index 3eaec99af2..363c4617e1 100644 --- a/packages/core/src/family.ts +++ b/packages/core/src/family.ts @@ -449,3 +449,20 @@ export function inferKimiFamily(...values: string[]): ModelFamily | undefined { if (/kimi[\s_-]*k3/.test(target)) return "kimi-k3"; return undefined; } + +// Families named after image/video generators (e.g. "flux", "sora") are strictly +// output-modality families: a name/id substring match against one of these is only +// valid when the model's own declared output modalities agree. This stops a model +// that merely shares a name with an image or video generator (e.g. Deepgram's ASR +// model "flux", which outputs text) from being stamped with that generator's family. +const IMAGE_FAMILIES = new Set([ + "dall-e", "flux", "imagen", "recraft", "stable-diffusion", "ideogram", "dreamshaper", "gpt-image", "nano-banana", +]); + +const VIDEO_FAMILIES = new Set(["sora", "veo", "runway", "dream-machine", "ray"]); + +export function familyMatchesModalities(family: ModelFamily, outputModalities: string[]): boolean { + if (IMAGE_FAMILIES.has(family)) return outputModalities.includes("image"); + if (VIDEO_FAMILIES.has(family)) return outputModalities.includes("video"); + return true; +} diff --git a/packages/core/src/sync/index.ts b/packages/core/src/sync/index.ts index 3b8c8fce97..ebc3128fb4 100644 --- a/packages/core/src/sync/index.ts +++ b/packages/core/src/sync/index.ts @@ -77,7 +77,12 @@ export interface SyncProvider { existing(id: string): ExistingModel | undefined; authored(id: string): ExistingModel | undefined; }, - ): { id: string; model: SyncedModel; metadata?: { id: string; model: SyncedMetadata } } | undefined; + ): { + id: string; + model: SyncedModel; + metadata?: { id: string; model: SyncedMetadata }; + header?: string; + } | undefined; } export interface SyncResult { @@ -165,7 +170,7 @@ export async function syncProvider( const { models: existing, brokenSymlinks } = existingState; let { modelMetadata } = existingState; const sourceModels = provider.parseModels(await provider.fetchModels()); - const desired = new Map; content: string }>(); + const desired = new Map; content: string; header: string }>(); const desiredMetadata = new Map; content: string }>(); const skippedRemote: string[] = []; @@ -242,9 +247,14 @@ export async function syncProvider( throw parsed.error; } + // An existing file's leading comment block always wins (it may have been + // hand-edited); a provider-supplied header only seeds a file lacking one so it + // survives the next sync as that file's preserved leading comment. + const header = existing.get(relativePath)?.header || translated.header || ""; desired.set(relativePath, { model: parsed.data, - content: (existing.get(relativePath)?.header ?? "") + formatToml(parsed.data), + content: header + formatToml(parsed.data), + header, }); } @@ -315,7 +325,11 @@ export async function syncProvider( continue; } - if (!(provider.sameModel?.(current.authored, file.model) ?? sameModel(relativePath, current.authored, file.model))) { + // A provider-supplied header (e.g. documenting a native pricing unit) that isn't + // yet present on disk must be written even when the model data itself is unchanged, + // or the comment would never reach an existing file. + const headerMissing = current.header === "" && file.header !== ""; + if (headerMissing || !(provider.sameModel?.(current.authored, file.model) ?? sameModel(relativePath, current.authored, file.model))) { if (options.newOnly) { unchanged++; continue; diff --git a/packages/core/src/sync/providers/cloudflare-workers-ai.ts b/packages/core/src/sync/providers/cloudflare-workers-ai.ts index 252e9ae9cb..2302c3b8fb 100644 --- a/packages/core/src/sync/providers/cloudflare-workers-ai.ts +++ b/packages/core/src/sync/providers/cloudflare-workers-ai.ts @@ -58,11 +58,197 @@ const CloudflareResponse = z.object({ type CloudflareModel = z.infer; +// Native `ai/models/search` shape (no `format` param). Everything schema-relevant +// lives in the sparse `properties[]` array; see `flattenProperties`. +const NativeModel = z.object({ + id: z.string(), + name: z.string(), + description: z.string(), + task: z.object({ name: z.string() }), + created_at: z.string(), + properties: z.array( + z.object({ + property_id: z.string(), + value: z.unknown(), + }), + ), +}); + +const NativeResponse = z.object({ + result: z.array(NativeModel), +}).passthrough(); + +// The merged fetch result: every openrouter-format model, every native-format model, +// tagged so `parseModels`/`translateModel` know which reshape path to take. +const WorkersAiFetchResultSchema = z.object({ + openrouter: z.array(CloudflareModel), + native: z.array(NativeModel), +}); +type WorkersAiFetchResult = z.infer; + +type WorkersAiSourceModel = + | { format: "openrouter"; model: CloudflareModel } + | { format: "native"; model: NativeModel }; +export type NativeModel = z.infer; + +const NativePrice = z.object({ + unit: z.string(), + price: z.number(), + currency: z.string(), +}); + +type TaskModality = "text" | "audio" | "image" | "video" | "pdf"; + +// task.name -> modalities. Covers all 10 native task classes observed on the +// `ai/models/search` endpoint (see the plan this leaf inherits from). +export const TASK_MODALITIES: Record = { + "Text Generation": { input: ["text"], output: ["text"] }, + "Text Embeddings": { input: ["text"], output: ["text"] }, + "Text Classification": { input: ["text"], output: ["text"] }, + Translation: { input: ["text"], output: ["text"] }, + Summarization: { input: ["text"], output: ["text"] }, + "Automatic Speech Recognition": { input: ["audio"], output: ["text"] }, + "Text-to-Speech": { input: ["text"], output: ["audio"] }, + "Image-to-Text": { input: ["image", "text"], output: ["text"] }, + "Text-to-Image": { input: ["text"], output: ["image"] }, + "Image Classification": { input: ["image"], output: ["text"] }, + "Dumb Pipe": { input: ["audio"], output: ["text"] }, +}; + +// Native price is per-MILLION tokens; `price()` in openrouter.ts multiplies its +// string input by 1e6, so divide by 1e6 here to round-trip to the same per-token cost. +function tokenPriceString(amount: number) { + return String(amount / 1_000_000); +} + +function tokenSidePrice(amount: number | undefined, sibling: number | undefined) { + if (amount !== undefined) return tokenPriceString(amount); + return sibling !== undefined ? "0" : "-1"; +} + +export function flattenProperties(model: NativeModel): Record { + return Object.fromEntries(model.properties.map((property) => [property.property_id, property.value])); +} + +function parsePrices(value: unknown): z.infer[] { + const parsed = z.array(NativePrice).safeParse(value); + return parsed.success ? parsed.data : []; +} + +export function reshapeNative(model: NativeModel): OpenRouterModel { + const properties = flattenProperties(model); + const modalities = TASK_MODALITIES[model.task.name]; + if (modalities === undefined) { + throw new Error(`Unknown Cloudflare Workers AI native task: ${model.task.name}`); + } + + // Neither API shape reports an output-token limit or open-weights status for any + // model; fabricating them (0 / false) rather than skipping the model matches this + // codebase's existing practice for a provider that doesn't report a required field + // (see e.g. digitalocean.ts, chutes.ts, wandb.ts for output; chutes/digitalocean/ + // pioneer/llmgateway/vercel for open_weights). + const contextWindow = typeof properties.context_window === "string" + ? Number(properties.context_window) + : undefined; + + const prices = parsePrices(properties.price); + const tokenPrice = (unit: string) => prices.find((entry) => entry.unit === unit)?.price; + const inputTokenPrice = tokenPrice("per M input tokens"); + const outputTokenPrice = tokenPrice("per M output tokens"); + const cachedInputTokenPrice = tokenPrice("per M cached input tokens"); + + const supported_parameters: string[] = []; + if (properties.function_calling === "true") supported_parameters.push("tools", "tool_choice"); + if (properties.reasoning === "true") supported_parameters.push("reasoning"); + + // Native has no separate display name (unlike openrouter's "Publisher: Model"); the + // slug in `name` is the only human-readable identifier available. + const record: OpenRouterModel = { + id: model.name, + name: model.name, + created: Math.floor(new Date(`${model.created_at.replace(" ", "T")}Z`).getTime() / 1000), + hugging_face_id: null, + knowledge_cutoff: null, + context_length: contextWindow ?? 0, + architecture: { input_modalities: modalities.input, output_modalities: modalities.output }, + pricing: { + // Absent token pricing (audio/image-priced or free models) is deliberately left + // unfabricated: "-1" mirrors OpenRouter's own unavailable-price sentinel and keeps + // `price()` from inventing a false token cost. When only one side of a token + // price pair is present (e.g. an embeddings model has no output tokens), the + // other side is a real "0", not a fabrication -- there is nothing to bill. + prompt: tokenSidePrice(inputTokenPrice, outputTokenPrice), + completion: tokenSidePrice(outputTokenPrice, inputTokenPrice), + input_cache_read: cachedInputTokenPrice !== undefined ? tokenPriceString(cachedInputTokenPrice) : undefined, + }, + top_provider: { + context_length: contextWindow ?? 0, + max_completion_tokens: null, + }, + supported_parameters, + }; + + return record; +} + +// `cost.input_audio`/`cost.output_audio` are documented (README, schema.ts) as "per +// million audio tokens", but Cloudflare's native API never reports a token count for +// audio -- only a per-minute or per-1k-character price. Converting would require +// fabricating a tokens-per-minute constant the API doesn't provide, so these fields +// instead carry the true native unit, and `audioPricingHeader` documents that unit as +// a leading TOML comment (see `providers/evroc/models/openai/whisper-large-v3-turbo.toml` +// for the existing repo precedent of this same native-unit-with-comment pattern). +function findAudioPrice(prices: z.infer[], units: readonly string[]) { + for (const unit of units) { + const entry = prices.find((price) => price.unit === unit); + if (entry !== undefined) return entry; + } + return undefined; +} + +function audioPricingHeader(unit: string): string { + return `# ${unit}\n`; +} + +// Audio/1k-character pricing (ASR, TTS) is outside the token-priced OpenRouter +// shape and must be applied to the built model after `buildWorkersAiModel`. +// Image-priced units (`per step`, `per 512 by 512 tile`, `per inference request`) +// and no-price models are left untouched: no token cost is invented for them. +export function applyAudioPricing( + model: SyncedModel, + native: NativeModel, +): { model: SyncedModel; header?: string } { + const modalities = TASK_MODALITIES[native.task.name]; + const prices = parsePrices(flattenProperties(native).price); + const inputAudio = findAudioPrice(prices, ["per audio minute", "per audio minute (websocket)"]); + const outputAudio = findAudioPrice(prices, ["per audio minute", "per 1k characters"]); + + if (modalities?.input.includes("audio") && inputAudio !== undefined) { + return { + model: { + ...model, + cost: { input: 0, output: 0, ...model.cost, input_audio: inputAudio.price }, + } as SyncedModel, + header: audioPricingHeader(inputAudio.unit), + }; + } + if (modalities?.output.includes("audio") && outputAudio !== undefined) { + return { + model: { + ...model, + cost: { input: 0, output: 0, ...model.cost, output_audio: outputAudio.price }, + } as SyncedModel, + header: audioPricingHeader(outputAudio.unit), + }; + } + return { model }; +} + export const cloudflareWorkersAi = { id: "cloudflare-workers-ai", name: "Cloudflare Workers AI", modelsDir: "providers/cloudflare-workers-ai/models", - async fetchModels() { + async fetchModels(): Promise { const accountID = process.env.CLOUDFLARE_WORKERS_AI_SYNC_ACCOUNT_ID; const token = process.env.CLOUDFLARE_WORKERS_AI_SYNC_API_TOKEN; if (accountID === undefined || token === undefined) { @@ -71,52 +257,77 @@ export const cloudflareWorkersAi = { ); } - const first = await fetchPage(accountID, token, 1); - const models = parseCloudflareModels(first); - const pageInfo = CloudflareOpenRouterResponse.safeParse(first).success - ? CloudflareOpenRouterResponse.parse(first).result_info - : undefined; + const [openrouter, native] = await Promise.all([ + fetchAllOpenRouterModels(accountID, token), + fetchAllNativeModels(accountID, token), + ]); - for (let page = 2; page <= (pageInfo?.total_pages ?? 1); page++) { - models.push(...parseCloudflareModels(await fetchPage(accountID, token, page))); - } - - return { data: models }; + return { openrouter, native }; }, parseModels(raw) { - return parseCloudflareModels(raw); + const { openrouter, native } = WorkersAiFetchResultSchema.parse(raw); + // Merge by id: native fills the whole catalog, openrouter's rich chat-model records + // (structured_output, temperature, max_completion_tokens, hugging_face_id) win where + // both formats report the same model, so populate native first and let the + // openrouter pass overwrite matching keys. + const byID = new Map(); + for (const model of native) byID.set(stripWorkersAiPrefix(model.name), { format: "native", model }); + for (const model of openrouter) byID.set(stripWorkersAiPrefix(model.id), { format: "openrouter", model }); + return [...byID.values()]; }, - translateModel(model, context) { - const normalized = normalizeModel(model); - const id = normalized.id.replace(/^workers-ai\//, ""); + translateModel(source, context) { + if (source.format === "native") { + const parsed = OpenRouterModel.parse(reshapeNative(source.model)); + const id = stripWorkersAiPrefix(parsed.id); + const { model, header } = applyAudioPricing( + buildWorkersAiModel(parsed, context.existing(id), source.model.description.trim()), + source.model, + ); + return { id, model, header }; + } + + const normalized = normalizeModel(source.model); + const id = stripWorkersAiPrefix(normalized.id); return { id, model: buildWorkersAiModel(normalized, context.existing(id)), }; }, -} satisfies SyncProvider; +} satisfies SyncProvider; export function buildWorkersAiModel( model: z.infer, existing: ExistingModel | undefined, + nativeDescription?: string, ): SyncedModel { + const baseModel = existing?.base_model ?? resolveCloudflareBaseModel(model); + + // Neither Cloudflare API shape reports a context window for every model (the native + // `ai/models/search` endpoint omits it for e.g. Whisper); `reshapeNative` fabricates + // `context_length = 0` rather than skip the model (see the comment there). Once a + // base_model resolves, that fabricated 0 must not out-compete the base metadata's + // real 448/448 -- so when context is unknown, don't fall back to a preserved + // `existing.limit.output` for `max_completion_tokens` either, since that value may + // itself be a fabricated 0 carried over from a prior sync round. + const contextKnown = model.context_length > 0; + const source = { ...model, name: existing?.name ?? model.name, top_provider: { ...model.top_provider, - max_completion_tokens: existing?.limit?.output ?? model.top_provider.max_completion_tokens, + max_completion_tokens: contextKnown + ? existing?.limit?.output ?? model.top_provider.max_completion_tokens + : null, }, }; const synced = { - ...buildOpenRouterModel( - source, - existing, - existing?.base_model ?? resolveCloudflareBaseModel(model), - ), + ...buildOpenRouterModel(source, existing, baseModel, nativeDescription), reasoning_options: existing?.reasoning_options, }; - if ("base_model" in synced) return synced; + if ("base_model" in synced) { + return contextKnown ? synced : withoutFabricatedLimits(synced); + } return { ...synced, name: existing?.name ?? synced.name, @@ -129,8 +340,22 @@ export function buildWorkersAiModel( }; } +// Once base_model resolves, an override `limit.context`/`limit.output` of exactly 0 +// is always a fabricated placeholder (no real model has a zero-token limit) -- drop it +// so the field inherits the base metadata's real value instead of clobbering it. +function withoutFabricatedLimits(synced: SyncedModel & { base_model: string }): SyncedModel { + if (!("limit" in synced) || synced.limit === undefined) return synced; + + const limit = { ...synced.limit }; + if (limit.context === 0) delete limit.context; + if (limit.output === 0) delete limit.output; + + const { limit: _unused, ...rest } = synced; + return Object.keys(limit).length > 0 ? { ...rest, limit } : rest; +} + export function resolveCloudflareBaseModel(model: z.infer) { - const [, publisher] = model.id.replace(/^workers-ai\//, "").split("/"); + const [, publisher] = stripWorkersAiPrefix(model.id).split("/"); if (publisher === undefined) return undefined; const metadataPublisher = METADATA_PUBLISHERS[publisher]; @@ -150,19 +375,88 @@ export function resolveCloudflareBaseModel(model: z.infer identityTokens(file).every((token) => identity.has(token))); - return matches.length === 1 ? `${metadataPublisher}/${matches[0]}` : undefined; + const match = mostSpecificMatch(matches); + return match === undefined ? undefined : `${metadataPublisher}/${match}`; +} + +// Among subset-matching candidates (e.g. "whisper-large-v3" and "whisper-large-v3-turbo" +// both matching "@cf/openai/whisper-large-v3-turbo"), prefer the one with the most +// identity tokens -- the most specific match. A genuine tie keeps the prior +// conservative behavior of returning no match. +export function mostSpecificMatch(matches: string[]): string | undefined { + if (matches.length === 0) return undefined; + if (matches.length === 1) return matches[0]; + + let best: string | undefined; + let bestCount = -1; + let tied = false; + for (const file of matches) { + const count = identityTokens(file).length; + if (count > bestCount) { + best = file; + bestCount = count; + tied = false; + } else if (count === bestCount) { + tied = true; + } + } + + return tied ? undefined : best; } function identityTokens(value: string) { return value.toLowerCase().match(/[a-z]+|\d+(?:\.\d+)?/g) ?? []; } -async function fetchPage(accountID: string, token: string, page: number) { +// Strips the AI Gateway `workers-ai/` routing prefix Cloudflare's openrouter-format +// endpoint puts on every id; native `name`s never carry it. Doubles as the merge key +// for matching an openrouter-format record against its native counterpart. +function stripWorkersAiPrefix(id: string): string { + return id.replace(/^workers-ai\//, ""); +} + +async function fetchAllOpenRouterModels(accountID: string, token: string): Promise { + const first = await fetchOpenRouterPage(accountID, token, 1); + const models = parseCloudflareModels(first); + const pageInfo = CloudflareOpenRouterResponse.safeParse(first).success + ? CloudflareOpenRouterResponse.parse(first).result_info + : undefined; + + for (let page = 2; page <= (pageInfo?.total_pages ?? 1); page++) { + models.push(...parseCloudflareModels(await fetchOpenRouterPage(accountID, token, page))); + } + + return models; +} + +// Native pagination reports no `total_pages` (and `total_count` is the GLOBAL catalog, +// not this token's) -- page until the API returns an empty result array. +async function fetchAllNativeModels(accountID: string, token: string): Promise { + const models: NativeModel[] = []; + for (let page = 1; ; page++) { + const pageModels = NativeResponse.parse(await fetchNativePage(accountID, token, page)).result; + if (pageModels.length === 0) break; + models.push(...pageModels); + } + return models; +} + +async function fetchOpenRouterPage(accountID: string, token: string, page: number) { const url = new URL(`${API_BASE}/${accountID}/ai/models/search`); url.searchParams.set("format", "openrouter"); url.searchParams.set("per_page", "1000"); url.searchParams.set("page", String(page)); + return fetchModelsPage(url, token); +} + +async function fetchNativePage(accountID: string, token: string, page: number) { + const url = new URL(`${API_BASE}/${accountID}/ai/models/search`); + url.searchParams.set("per_page", "100"); + url.searchParams.set("page", String(page)); + return fetchModelsPage(url, token); +} +async function fetchModelsPage(url: URL, token: string) { const response = await fetch(url, { headers: { Authorization: `Bearer ${token}` }, }); diff --git a/packages/core/src/sync/providers/openrouter.ts b/packages/core/src/sync/providers/openrouter.ts index 41ffc0ffb4..8aa5ec44e1 100644 --- a/packages/core/src/sync/providers/openrouter.ts +++ b/packages/core/src/sync/providers/openrouter.ts @@ -3,7 +3,7 @@ import { readFileSync, readdirSync } from "node:fs"; import path from "node:path"; import { describeModel } from "../../describe.js"; -import { inferKimiFamily, ModelFamilyValues } from "../../family.js"; +import { familyMatchesModalities, inferKimiFamily, ModelFamilyValues } from "../../family.js"; import type { ExistingModel, SyncProvider, SyncedFullModel, SyncedModel } from "../index.js"; const API_ENDPOINT = "https://openrouter.ai/api/v1/models"; @@ -150,7 +150,7 @@ function modalities(values: string[], fallback: Modality[]): Modality[] { return [...new Set(result.length > 0 ? result : fallback)]; } -function inferFamily(model: OpenRouterModel, name: string) { +function inferFamily(model: OpenRouterModel, name: string, outputModalities: string[]) { const kimiFamily = inferKimiFamily(model.id, name); if (kimiFamily !== undefined) return kimiFamily; @@ -158,6 +158,7 @@ function inferFamily(model: OpenRouterModel, name: string) { return [...ModelFamilyValues] .sort((a, b) => b.length - a.length) .find((family) => { + if (!familyMatchesModalities(family, outputModalities)) return false; const value = family.toLowerCase().replace(/[.*+?^${}()|[\]\\]/g, "\\$&"); if (family === "o") { return new RegExp(`(^|[^a-z0-9])${value}(?=\\d|$|[^a-z0-9])`).test(target); @@ -170,6 +171,7 @@ export function buildOpenRouterModel( model: OpenRouterModel, existing: ExistingModel | undefined, baseModel?: string, + nativeDescription?: string, ): SyncedModel { const params = new Set(model.supported_parameters); const name = model.name.replace(/^[^:]+:\s+/, ""); @@ -184,9 +186,15 @@ export function buildOpenRouterModel( const reasoning_options = openRouterReasoningOptions(model.reasoning) ?? (reasoning ? existing?.reasoning_options : undefined); const context = model.context_length; - const family = inferFamily(model, name); + const family = inferFamily(model, name, output); const releaseDate = dateFromTimestamp(model.created); - const familyValue = existing?.family === "o" && family !== "o" + // A previously-synced family that no longer matches this model's declared output + // modalities (e.g. a stale "flux" on a model that doesn't output images) is not + // preserved -- it was wrong when it was written, and the freshly inferred family + // (possibly undefined) replaces it, the same way the pre-existing "o" escape hatch + // below lets a freshly inferred family override a stale one. + const staleFamily = existing?.family !== undefined && !familyMatchesModalities(existing.family, output); + const familyValue = staleFamily || (existing?.family === "o" && family !== "o") ? family : (existing?.family ?? family); const attachment = input.some((value) => value !== "text"); @@ -216,7 +224,11 @@ export function buildOpenRouterModel( return factorBaseModel( canonical, { - name: baseModel !== undefined || model.id.endsWith(":free") || canonicalOverride === canonical + // A caller-resolved baseModel (e.g. cloudflare-workers-ai's fuzzy identity-token + // match) may carry a real vendor display name worth keeping as an override -- + // but only when it says something beyond the bare model id (native Cloudflare + // records have no separate display name, so their `name` is just the id slug). + name: (baseModel !== undefined && name !== model.id) || model.id.endsWith(":free") || canonicalOverride === canonical ? name : undefined, description: existing?.description ?? describeModel({ @@ -249,7 +261,15 @@ export function buildOpenRouterModel( return { name, - description: existing?.description ?? describeModel({ + // A native-API-supplied description is provider-accurate text; it wins over both + // a previously synced description and the heuristic fallback (see cloudflare-workers-ai's + // reshapeNative, which is the only current source of nativeDescription). This is a + // deliberate exception to the "existing wins" convention every other provider follows: + // there is no hand-edit escape hatch for description on a native-sourced, non-base_model + // record -- the next sync always overwrites it with the API's text. Necessary because the + // "existing" value for these records is itself sync-generated (never hand-corrected), so + // existing-wins would let a wrong heuristic description win forever with no way to self-correct. + description: nativeDescription ?? existing?.description ?? describeModel({ id: model.id, name, family: familyValue, diff --git a/packages/core/test/fixtures/cloudflare-workers-ai-native.json b/packages/core/test/fixtures/cloudflare-workers-ai-native.json new file mode 100644 index 0000000000..4d4cfb9232 --- /dev/null +++ b/packages/core/test/fixtures/cloudflare-workers-ai-native.json @@ -0,0 +1 @@ +{"success":true,"result":[{"id":"fe8904cf-e20e-4884-b829-ed7cec0a01cb","source":1,"name":"@cf/pipecat-ai/smart-turn-v2","description":"An open source, community-driven, native audio turn detection model in 2nd version","task":{"id":"ccb1ca5a-043d-41a7-8a3b-61017b2796fd","name":"Dumb Pipe","description":"Internal - Dumb Pipe models don't use tensors"},"created_at":"2025-08-04 10:08:04.219","tags":[],"properties":[{"property_id":"async_queue","value":"true"},{"property_id":"price","value":[{"unit":"per audio minute","price":0.000338,"currency":"USD"}]},{"property_id":"realtime","value":"true"}]},{"id":"f9f2250b-1048-4a52-9910-d0bf976616a1","source":1,"name":"@cf/openai/gpt-oss-120b","description":"OpenAI’s open-weight models designed for powerful reasoning, agentic tasks, and versatile developer use cases – gpt-oss-120b is for production, general purpose, high reasoning use-cases.","task":{"id":"c329a1f9-323d-4e91-b2aa-582dd4188d34","name":"Text Generation","description":"Family of generative text models, such as large language models (LLM), that can be adapted for a variety of natural language tasks."},"created_at":"2025-08-05 10:27:29.131","tags":[],"properties":[{"property_id":"context_window","value":"128000"},{"property_id":"price","value":[{"unit":"per M input tokens","price":0.35,"currency":"USD"},{"unit":"per M output tokens","price":0.75,"currency":"USD"}]},{"property_id":"function_calling","value":"true"},{"property_id":"reasoning","value":"true"}]},{"id":"eed32bc1-8775-4985-89ce-dd1405508ad8","source":1,"name":"@cf/baai/bge-m3","description":"Multi-Functionality, Multi-Linguality, and Multi-Granularity embeddings model.","task":{"id":"0137cdcf-162a-4108-94f2-1ca59e8c65ee","name":"Text Embeddings","description":"Feature extraction models transform raw data into numerical features that can be processed while preserving the information in the original dataset. These models are ideal as part of building vector search applications or Retrieval Augmented Generation workflows with Large Language Models (LLM)."},"created_at":"2024-05-22 19:27:09.781","tags":[],"properties":[{"property_id":"context_window","value":"60000"},{"property_id":"price","value":[{"unit":"per M input tokens","price":0.0118,"currency":"USD"}]}]},{"id":"eaf31752-a074-441f-8b70-d593255d2811","source":1,"name":"@cf/huggingface/distilbert-sst-2-int8","description":"Distilled BERT model that was finetuned on SST-2 for sentiment classification","task":{"id":"19606750-23ed-4371-aab2-c20349b53a60","name":"Text Classification","description":"Sentiment analysis or text classification is a common NLP task that classifies a text input into labels or classes."},"created_at":"2023-09-25 19:21:11.898","tags":[],"properties":[{"property_id":"price","value":[{"unit":"per M input tokens","price":0.0263,"currency":"USD"}]},{"property_id":"info","value":"https://huggingface.co/Intel/distilbert-base-uncased-finetuned-sst-2-english-int8-static"}]},{"id":"e8e8abe4-a372-4c13-815f-4688ba655c8e","source":1,"name":"@cf/google/gemma-2b-it-lora","description":"This is a Gemma-2B base model that Cloudflare dedicates for inference with LoRA adapters. Gemma is a family of lightweight, state-of-the-art open models from Google, built from the same research and technology used to create the Gemini models.","task":{"id":"c329a1f9-323d-4e91-b2aa-582dd4188d34","name":"Text Generation","description":"Family of generative text models, such as large language models (LLM), that can be adapted for a variety of natural language tasks."},"created_at":"2024-04-02 00:19:34.669","tags":[],"properties":[{"property_id":"beta","value":"true"},{"property_id":"context_window","value":"8192"},{"property_id":"lora","value":"true"}]},{"id":"e580c765-810c-4da3-936c-a2808892f14c","source":1,"name":"@cf/black-forest-labs/flux-2-klein-9b","description":"FLUX.2 [klein] 9B is a 9 billion parameter model that can generate images from text descriptions and supports multi-reference editing capabilities.","task":{"id":"3d6e1f35-341b-4915-a6c8-9a7142a9033a","name":"Text-to-Image","description":"Generates images from input text. These models can be used to generate and modify images based on text prompts."},"created_at":"2026-01-14 12:55:54.294","tags":[],"properties":[{"property_id":"partner","value":"true"},{"property_id":"terms","value":"https://bfl.ai/legal/terms-of-service"}]},{"id":"d9dc8363-66f4-4bb0-8641-464ee7bfc131","source":1,"name":"@cf/meta/llama-3.2-3b-instruct","description":"The Llama 3.2 instruction-tuned text only models are optimized for multilingual dialogue use cases, including agentic retrieval and summarization tasks.","task":{"id":"c329a1f9-323d-4e91-b2aa-582dd4188d34","name":"Text Generation","description":"Family of generative text models, such as large language models (LLM), that can be adapted for a variety of natural language tasks."},"created_at":"2024-09-25 20:05:43.986","tags":[],"properties":[{"property_id":"price","value":[{"unit":"per M input tokens","price":0.0509,"currency":"USD"},{"unit":"per M output tokens","price":0.335,"currency":"USD"}]},{"property_id":"context_window","value":"80000"},{"property_id":"lora","value":"true"},{"property_id":"terms","value":"https://github.com/meta-llama/llama-models/blob/main/models/llama3_2/LICENSE"}]},{"id":"cc80437b-9a8d-4f1a-9c77-9aaf0d226922","source":1,"name":"@cf/meta/llama-guard-3-8b","description":"Llama Guard 3 is a Llama-3.1-8B pretrained model, fine-tuned for content safety classification. Similar to previous versions, it can be used to classify content in both LLM inputs (prompt classification) and in LLM responses (response classification). It acts as an LLM – it generates text in its output that indicates whether a given prompt or response is safe or unsafe, and if unsafe, it also lists the content categories violated.","task":{"id":"c329a1f9-323d-4e91-b2aa-582dd4188d34","name":"Text Generation","description":"Family of generative text models, such as large language models (LLM), that can be adapted for a variety of natural language tasks."},"created_at":"2025-01-22 23:26:23.495","tags":["moderation","safety","content-filtering","guardrails"],"properties":[{"property_id":"context_window","value":"131072"},{"property_id":"price","value":[{"unit":"per M input tokens","price":0.484,"currency":"USD"},{"unit":"per M output tokens","price":0.03,"currency":"USD"}]},{"property_id":"lora","value":"true"}]},{"id":"cb254e3b-372b-4d4e-8526-ada79940427a","source":1,"name":"@cf/qwen/qwen3-embedding-0.6b","description":"The Qwen3 Embedding model series is the latest proprietary model of the Qwen family, specifically designed for text embedding and ranking tasks. ","task":{"id":"0137cdcf-162a-4108-94f2-1ca59e8c65ee","name":"Text Embeddings","description":"Feature extraction models transform raw data into numerical features that can be processed while preserving the information in the original dataset. These models are ideal as part of building vector search applications or Retrieval Augmented Generation workflows with Large Language Models (LLM)."},"created_at":"2025-06-18 20:23:22.086","tags":[],"properties":[{"property_id":"context_window","value":"8192"},{"property_id":"price","value":[{"unit":"per M input tokens","price":0.0118,"currency":"USD"}]}]},{"id":"c837b2ac-4d9b-4d37-8811-34de60f0c44f","source":1,"name":"@cf/myshell-ai/melotts","description":"MeloTTS is a high-quality multi-lingual text-to-speech library by MyShell.ai.","task":{"id":"b52660a1-9a95-4ab2-8b1d-f232be34604a","name":"Text-to-Speech","description":"Text-to-Speech (TTS) is the task of generating natural sounding speech given text input. TTS models can be extended to have a single model that generates speech for multiple speakers and multiple languages."},"created_at":"2024-07-19 15:51:04.819","tags":[],"properties":[{"property_id":"price","value":[{"unit":"per audio minute","price":0.000205,"currency":"USD"}]}]},{"id":"c58c317b-0c15-4bda-abb6-93e275f282d9","source":1,"name":"@cf/mistral/mistral-7b-instruct-v0.2-lora","description":"The Mistral-7B-Instruct-v0.2 Large Language Model (LLM) is an instruct fine-tuned version of the Mistral-7B-v0.2.","task":{"id":"c329a1f9-323d-4e91-b2aa-582dd4188d34","name":"Text Generation","description":"Family of generative text models, such as large language models (LLM), that can be adapted for a variety of natural language tasks."},"created_at":"2024-04-01 22:14:40.529","tags":[],"properties":[{"property_id":"beta","value":"true"},{"property_id":"context_window","value":"15000"},{"property_id":"lora","value":"true"}]},{"id":"c5255b94-2161-4779-bd25-54f061829a2a","source":1,"name":"@cf/deepgram/aura-2-es","description":"Aura-2 is a context-aware text-to-speech (TTS) model that applies natural pacing, expressiveness, and fillers based on the context of the provided text. The quality of your text input directly impacts the naturalness of the audio output.","task":{"id":"b52660a1-9a95-4ab2-8b1d-f232be34604a","name":"Text-to-Speech","description":"Text-to-Speech (TTS) is the task of generating natural sounding speech given text input. TTS models can be extended to have a single model that generates speech for multiple speakers and multiple languages."},"created_at":"2025-10-09 22:42:37.002","tags":[],"properties":[{"property_id":"async_queue","value":"true"},{"property_id":"price","value":[{"unit":"per 1k characters","price":0.03,"currency":"USD"}]},{"property_id":"partner","value":"true"},{"property_id":"terms","value":"https://deepgram.com/terms"},{"property_id":"realtime","value":"true"}]},{"id":"c29c7295-ff20-4b9b-bdcc-25136c19b21d","source":1,"name":"@cf/moonshotai/kimi-k2.7-code","description":"Kimi K2.7 is a frontier-scale open-source 1T parameter model with a 262.1k context window, multi-turn tool calling, vision inputs, and structured outputs for agentic workloads.","task":{"id":"c329a1f9-323d-4e91-b2aa-582dd4188d34","name":"Text Generation","description":"Family of generative text models, such as large language models (LLM), that can be adapted for a variety of natural language tasks."},"created_at":"2026-06-12 11:45:20.582","tags":[],"properties":[{"property_id":"context_window","value":"262144"},{"property_id":"price","value":[{"unit":"per M input tokens","price":0.95,"currency":"USD"},{"unit":"per M output tokens","price":4,"currency":"USD"},{"unit":"per M cached input tokens","price":0.19,"currency":"USD"}]},{"property_id":"function_calling","value":"true"},{"property_id":"reasoning","value":"true"},{"property_id":"terms","value":"https://huggingface.co/moonshotai/Kimi-K2.7-Code/blob/main/LICENSE"},{"property_id":"vision","value":"true"}]},{"id":"c1c12ce4-c36a-4aa6-8da4-f63ba4b8984d","source":1,"name":"@cf/openai/whisper","description":"Whisper is a general-purpose speech recognition model. It is trained on a large dataset of diverse audio and is also a multitasking model that can perform multilingual speech recognition, speech translation, and language identification.","task":{"id":"dfce1c48-2a81-462e-a7fd-de97ce985207","name":"Automatic Speech Recognition","description":"Automatic speech recognition (ASR) models convert a speech signal, typically an audio input, to text."},"created_at":"2023-09-25 19:21:11.898","tags":[],"properties":[{"property_id":"price","value":[{"unit":"per audio minute","price":0.000453,"currency":"USD"}]},{"property_id":"info","value":"https://openai.com/research/whisper"}]},{"id":"bc2b61f6-7eb3-4cdf-94f5-ffc128bd6aa4","source":1,"name":"@cf/pfnet/plamo-embedding-1b","description":"PLaMo-Embedding-1B is a Japanese text embedding model developed by Preferred Networks, Inc.\n\nIt can convert Japanese text input into numerical vectors and can be used for a wide range of applications, including information retrieval, text classification, and clustering.","task":{"id":"0137cdcf-162a-4108-94f2-1ca59e8c65ee","name":"Text Embeddings","description":"Feature extraction models transform raw data into numerical features that can be processed while preserving the information in the original dataset. These models are ideal as part of building vector search applications or Retrieval Augmented Generation workflows with Large Language Models (LLM)."},"created_at":"2025-09-24 18:42:05.576","tags":[],"properties":[{"property_id":"price","value":[{"unit":"per M input tokens","price":0.0186,"currency":"USD"}]}]},{"id":"af274959-cb47-4ba8-9d8e-5a0a58b6b402","source":1,"name":"@cf/llava-hf/llava-1.5-7b-hf","description":"LLaVA is an open-source chatbot trained by fine-tuning LLaMA/Vicuna on GPT-generated multimodal instruction-following data. It is an auto-regressive language model, based on the transformer architecture.","task":{"id":"882a91d1-c331-4eec-bdad-834c919942a8","name":"Image-to-Text","description":"Image to text models output a text from a given image. Image captioning or optical character recognition can be considered as the most common applications of image to text."},"created_at":"2024-05-01 18:00:39.971","tags":[],"properties":[{"property_id":"beta","value":"true"}]},{"id":"ad01ab83-baf8-4e7b-8fed-a0a219d4eb45","source":1,"name":"@cf/deepseek-ai/deepseek-r1-distill-qwen-32b","description":"DeepSeek-R1-Distill-Qwen-32B is a model distilled from DeepSeek-R1 based on Qwen2.5. It outperforms OpenAI-o1-mini across various benchmarks, achieving new state-of-the-art results for dense models.","task":{"id":"c329a1f9-323d-4e91-b2aa-582dd4188d34","name":"Text Generation","description":"Family of generative text models, such as large language models (LLM), that can be adapted for a variety of natural language tasks."},"created_at":"2025-01-22 19:48:55.776","tags":[],"properties":[{"property_id":"context_window","value":"80000"},{"property_id":"price","value":[{"unit":"per M input tokens","price":0.497,"currency":"USD"},{"unit":"per M output tokens","price":4.881,"currency":"USD"}]},{"property_id":"reasoning","value":"true"},{"property_id":"terms","value":"https://github.com/deepseek-ai/DeepSeek-R1/blob/main/LICENSE"}]},{"id":"a9abaef0-3031-47ad-8790-d311d8684c6c","source":1,"name":"@cf/runwayml/stable-diffusion-v1-5-inpainting","description":"Stable Diffusion Inpainting is a latent text-to-image diffusion model capable of generating photo-realistic images given any text input, with the extra capability of inpainting the pictures by using a mask.","task":{"id":"3d6e1f35-341b-4915-a6c8-9a7142a9033a","name":"Text-to-Image","description":"Generates images from input text. These models can be used to generate and modify images based on text prompts."},"created_at":"2024-02-27 17:23:57.528","tags":[],"properties":[{"property_id":"beta","value":"true"},{"property_id":"price","value":[{"unit":"per step","price":0,"currency":"USD"}]},{"property_id":"info","value":"https://huggingface.co/runwayml/stable-diffusion-inpainting"},{"property_id":"terms","value":"https://github.com/runwayml/stable-diffusion/blob/main/LICENSE"}]},{"id":"a2a2afba-b609-4325-8c41-5791ce962239","source":1,"name":"@cf/deepgram/flux","description":"Flux is the first conversational speech recognition model built specifically for voice agents.","task":{"id":"dfce1c48-2a81-462e-a7fd-de97ce985207","name":"Automatic Speech Recognition","description":"Automatic speech recognition (ASR) models convert a speech signal, typically an audio input, to text."},"created_at":"2025-09-29 21:07:55.114","tags":[],"properties":[{"property_id":"price","value":[{"unit":"per audio minute (websocket)","price":0.0077,"currency":"USD"}]},{"property_id":"partner","value":"true"},{"property_id":"terms","value":"https://deepgram.com/terms"},{"property_id":"realtime","value":"true"}]},{"id":"a226909f-eef8-4265-a3a0-90db0422762e","source":1,"name":"@cf/deepgram/nova-3","description":"Transcribe audio using Deepgram’s speech-to-text model","task":{"id":"dfce1c48-2a81-462e-a7fd-de97ce985207","name":"Automatic Speech Recognition","description":"Automatic speech recognition (ASR) models convert a speech signal, typically an audio input, to text."},"created_at":"2025-06-05 16:05:15.199","tags":[],"properties":[{"property_id":"async_queue","value":"true"},{"property_id":"price","value":[{"unit":"per audio minute","price":0.0052,"currency":"USD"},{"unit":"per audio minute (websocket)","price":0.0092,"currency":"USD"}]},{"property_id":"partner","value":"true"},{"property_id":"terms","value":"https://deepgram.com/terms"},{"property_id":"realtime","value":"true"}]},{"id":"9e087485-23dc-47fa-997d-f5bfafc0c7cc","source":1,"name":"@cf/black-forest-labs/flux-1-schnell","description":"FLUX.1 [schnell] is a 12 billion parameter rectified flow transformer capable of generating images from text descriptions. ","task":{"id":"3d6e1f35-341b-4915-a6c8-9a7142a9033a","name":"Text-to-Image","description":"Generates images from input text. These models can be used to generate and modify images based on text prompts."},"created_at":"2024-08-29 16:37:39.541","tags":[],"properties":[{"property_id":"price","value":[{"unit":"per 512 by 512 tile","price":0.0000528,"currency":"USD"},{"unit":"per step","price":0.000106,"currency":"USD"}]},{"property_id":"terms","value":"https://bfl.ai/legal/terms-of-service"}]},{"id":"9b9c87c6-d4b7-494c-b177-87feab5904db","source":1,"name":"@cf/meta/llama-3.1-8b-instruct-fp8","description":"Llama 3.1 8B quantized to FP8 precision","task":{"id":"c329a1f9-323d-4e91-b2aa-582dd4188d34","name":"Text Generation","description":"Family of generative text models, such as large language models (LLM), that can be adapted for a variety of natural language tasks."},"created_at":"2024-07-25 17:28:43.328","tags":[],"properties":[{"property_id":"price","value":[{"unit":"per M input tokens","price":0.152,"currency":"USD"},{"unit":"per M output tokens","price":0.287,"currency":"USD"}]},{"property_id":"context_window","value":"32000"},{"property_id":"terms","value":"https://github.com/meta-llama/llama-models/blob/main/models/llama3_1/LICENSE"}]},{"id":"906a57fd-b018-4d6c-a43e-a296d4cc5839","source":1,"name":"@cf/meta/llama-3.2-1b-instruct","description":"The Llama 3.2 instruction-tuned text only models are optimized for multilingual dialogue use cases, including agentic retrieval and summarization tasks.","task":{"id":"c329a1f9-323d-4e91-b2aa-582dd4188d34","name":"Text Generation","description":"Family of generative text models, such as large language models (LLM), that can be adapted for a variety of natural language tasks."},"created_at":"2024-09-25 21:36:32.050","tags":[],"properties":[{"property_id":"price","value":[{"unit":"per M input tokens","price":0.027,"currency":"USD"},{"unit":"per M output tokens","price":0.201,"currency":"USD"}]},{"property_id":"context_window","value":"60000"},{"property_id":"terms","value":"https://github.com/meta-llama/llama-models/blob/main/models/llama3_2/LICENSE"}]},{"id":"8a5d00bd-de28-4a28-b37a-ce46d01ebaeb","source":1,"name":"@cf/moonshotai/kimi-k2.6","description":"Kimi K2.6 is a frontier-scale open-source 1T parameter model with a 262.1k context window, multi-turn tool calling, vision inputs, and structured outputs for agentic workloads.","task":{"id":"c329a1f9-323d-4e91-b2aa-582dd4188d34","name":"Text Generation","description":"Family of generative text models, such as large language models (LLM), that can be adapted for a variety of natural language tasks."},"created_at":"2026-04-20 01:40:35.001","tags":[],"properties":[{"property_id":"async_queue","value":"true"},{"property_id":"context_window","value":"262144"},{"property_id":"function_calling","value":"true"},{"property_id":"reasoning","value":"true"},{"property_id":"terms","value":"https://huggingface.co/moonshotai/Kimi-K2.6/blob/main/LICENSE"},{"property_id":"vision","value":"true"},{"property_id":"price","value":[{"unit":"per M input tokens","price":0.95,"currency":"USD"},{"unit":"per M output tokens","price":4,"currency":"USD"},{"unit":"per M cached input tokens","price":0.16,"currency":"USD"}]}]},{"id":"86b3e51a-4b05-43fa-a403-0f27821919d2","source":1,"name":"@cf/zai-org/glm-4.7-flash","description":"GLM-4.7-Flash is a fast and efficient multilingual text generation model with a 131,072 token context window. Optimized for dialogue, instruction-following, and multi-turn tool calling across 100+ languages.","task":{"id":"c329a1f9-323d-4e91-b2aa-582dd4188d34","name":"Text Generation","description":"Family of generative text models, such as large language models (LLM), that can be adapted for a variety of natural language tasks."},"created_at":"2026-01-28 16:04:39.346","tags":[],"properties":[{"property_id":"context_window","value":"131072"},{"property_id":"price","value":[{"unit":"per M input tokens","price":0.0605,"currency":"USD"},{"unit":"per M output tokens","price":0.4,"currency":"USD"}]},{"property_id":"function_calling","value":"true"},{"property_id":"reasoning","value":"true"}]},{"id":"7f9a76e1-d120-48dd-a565-101d328bbb02","source":1,"name":"@cf/microsoft/resnet-50","description":"50 layers deep image classification CNN trained on more than 1M images from ImageNet","task":{"id":"00cd182b-bf30-4fc4-8481-84a3ab349657","name":"Image Classification","description":"Image classification models take an image input and assigns it labels or classes."},"created_at":"2023-09-25 19:21:11.898","tags":[],"properties":[{"property_id":"price","value":[{"unit":"per inference request","price":0.00000251,"currency":"USD"}]},{"property_id":"info","value":"https://www.microsoft.com/en-us/research/blog/microsoft-vision-model-resnet-50-combines-web-scale-data-and-multi-task-learning-to-achieve-state-of-the-art/"}]},{"id":"7f797b20-3eb0-44fd-b571-6cbbaa3c423b","source":1,"name":"@cf/bytedance/stable-diffusion-xl-lightning","description":"SDXL-Lightning is a lightning-fast text-to-image generation model. It can generate high-quality 1024px images in a few steps.","task":{"id":"3d6e1f35-341b-4915-a6c8-9a7142a9033a","name":"Text-to-Image","description":"Generates images from input text. These models can be used to generate and modify images based on text prompts."},"created_at":"2024-02-27 17:41:29.578","tags":[],"properties":[{"property_id":"beta","value":"true"},{"property_id":"price","value":[{"unit":"per step","price":0,"currency":"USD"}]},{"property_id":"info","value":"https://huggingface.co/ByteDance/SDXL-Lightning"}]},{"id":"7ed8d8e8-6040-4680-843a-aef402d6b013","source":1,"name":"@cf/meta-llama/llama-2-7b-chat-hf-lora","description":"This is a Llama2 base model that Cloudflare dedicated for inference with LoRA adapters. Llama 2 is a collection of pretrained and fine-tuned generative text models ranging in scale from 7 billion to 70 billion parameters. This is the repository for the 7B fine-tuned model, optimized for dialogue use cases and converted for the Hugging Face Transformers format. ","task":{"id":"c329a1f9-323d-4e91-b2aa-582dd4188d34","name":"Text Generation","description":"Family of generative text models, such as large language models (LLM), that can be adapted for a variety of natural language tasks."},"created_at":"2024-04-02 00:17:18.579","tags":[],"properties":[{"property_id":"beta","value":"true"},{"property_id":"context_window","value":"8192"},{"property_id":"lora","value":"true"}]},{"id":"7a143886-c9bb-4a1c-be95-377b1973bc3b","source":1,"name":"@cf/meta/llama-3.3-70b-instruct-fp8-fast","description":"Llama 3.3 70B quantized to fp8 precision, optimized to be faster.","task":{"id":"c329a1f9-323d-4e91-b2aa-582dd4188d34","name":"Text Generation","description":"Family of generative text models, such as large language models (LLM), that can be adapted for a variety of natural language tasks."},"created_at":"2024-12-06 17:09:18.338","tags":[],"properties":[{"property_id":"async_queue","value":"true"},{"property_id":"context_window","value":"24000"},{"property_id":"price","value":[{"unit":"per M input tokens","price":0.293,"currency":"USD"},{"unit":"per M output tokens","price":2.253,"currency":"USD"}]},{"property_id":"function_calling","value":"true"},{"property_id":"terms","value":"https://github.com/meta-llama/llama-models/blob/main/models/llama3_3/LICENSE"}]},{"id":"7952d0cc-cb00-4e10-be02-667565c2ee0f","source":1,"name":"@cf/ibm-granite/granite-4.0-h-micro","description":"Granite 4.0 instruct models deliver strong performance across benchmarks, achieving industry-leading results in key agentic tasks like instruction following and function calling. These efficiencies make the models well-suited for a wide range of use cases like retrieval-augmented generation (RAG), multi-agent workflows, and edge deployments.","task":{"id":"c329a1f9-323d-4e91-b2aa-582dd4188d34","name":"Text Generation","description":"Family of generative text models, such as large language models (LLM), that can be adapted for a variety of natural language tasks."},"created_at":"2025-10-07 18:46:29.436","tags":[],"properties":[{"property_id":"context_window","value":"131000"},{"property_id":"price","value":[{"unit":"per M input tokens","price":0.017,"currency":"USD"},{"unit":"per M output tokens","price":0.112,"currency":"USD"}]},{"property_id":"function_calling","value":"true"}]},{"id":"7912c0ab-542e-44b9-b9ee-3113d226a8b5","source":1,"name":"@cf/lykon/dreamshaper-8-lcm","description":"Stable Diffusion model that has been fine-tuned to be better at photorealism without sacrificing range.","task":{"id":"3d6e1f35-341b-4915-a6c8-9a7142a9033a","name":"Text-to-Image","description":"Generates images from input text. These models can be used to generate and modify images based on text prompts."},"created_at":"2024-02-27 17:40:38.881","tags":[],"properties":[{"property_id":"info","value":"https://huggingface.co/Lykon/DreamShaper"}]},{"id":"724608fa-983e-495d-b95c-340d6b7e78be","source":1,"name":"@cf/leonardo/phoenix-1.0","description":"Phoenix 1.0 is a model by Leonardo.Ai that generates images with exceptional prompt adherence and coherent text.","task":{"id":"3d6e1f35-341b-4915-a6c8-9a7142a9033a","name":"Text-to-Image","description":"Generates images from input text. These models can be used to generate and modify images based on text prompts."},"created_at":"2025-08-25 18:12:18.073","tags":[],"properties":[{"property_id":"price","value":[{"unit":"per 512 by 512 tile","price":0.00583,"currency":"USD"},{"unit":"per step","price":0.00011,"currency":"USD"}]},{"property_id":"partner","value":"true"},{"property_id":"terms","value":"https://leonardo.ai/terms-of-service/"}]},{"id":"6d52253a-b731-4a03-b203-cde2d4fae871","source":1,"name":"@cf/stabilityai/stable-diffusion-xl-base-1.0","description":"Diffusion-based text-to-image generative model by Stability AI. Generates and modify images based on text prompts.","task":{"id":"3d6e1f35-341b-4915-a6c8-9a7142a9033a","name":"Text-to-Image","description":"Generates images from input text. These models can be used to generate and modify images based on text prompts."},"created_at":"2023-11-10 10:54:43.694","tags":[],"properties":[{"property_id":"beta","value":"true"},{"property_id":"price","value":[{"unit":"per step","price":0,"currency":"USD"}]},{"property_id":"info","value":"https://stability.ai/stable-diffusion"},{"property_id":"terms","value":"https://huggingface.co/stabilityai/stable-diffusion-xl-base-1.0/blob/main/LICENSE.md"}]},{"id":"617e7ec3-bf8d-4088-a863-4f89582d91b5","source":1,"name":"@cf/meta/m2m100-1.2b","description":"Multilingual encoder-decoder (seq-to-seq) model trained for Many-to-Many multilingual translation","task":{"id":"f57d07cb-9087-487a-bbbf-bc3e17fecc4b","name":"Translation","description":"Translation models convert a sequence of text from one language to another."},"created_at":"2023-09-25 19:21:11.898","tags":[],"properties":[{"property_id":"async_queue","value":"true"},{"property_id":"price","value":[{"unit":"per M input tokens","price":0.342,"currency":"USD"},{"unit":"per M output tokens","price":0.342,"currency":"USD"}]},{"property_id":"info","value":"https://github.com/facebookresearch/fairseq/tree/main/examples/m2m_100"},{"property_id":"languages","value":"english, chinese, french, spanish, arabic, russian, german, japanese, portuguese, hindi"},{"property_id":"terms","value":"https://github.com/facebookresearch/fairseq/blob/main/LICENSE"}]},{"id":"60920ed4-cf72-449a-a0f3-a38456b78262","source":1,"name":"@cf/ai4bharat/indictrans2-en-indic-1B","description":"IndicTrans2 is the first open-source transformer-based multilingual NMT model that supports high-quality translations across all the 22 scheduled Indic languages","task":{"id":"f57d07cb-9087-487a-bbbf-bc3e17fecc4b","name":"Translation","description":"Translation models convert a sequence of text from one language to another."},"created_at":"2025-09-23 18:19:17.382","tags":[],"properties":[{"property_id":"price","value":[{"unit":"per M input tokens","price":0.342,"currency":"USD"},{"unit":"per M output tokens","price":0.342,"currency":"USD"}]}]},{"id":"5cdffa8e-1b1e-48e8-85f1-ab9b943cdd32","source":1,"name":"@cf/black-forest-labs/flux-2-klein-4b","description":"FLUX.2 [klein] is an ultra-fast, distilled image model. It unifies image generation and editing in a single model, delivering state-of-the-art quality enabling interactive workflows, real-time previews, and latency-critical applications.","task":{"id":"3d6e1f35-341b-4915-a6c8-9a7142a9033a","name":"Text-to-Image","description":"Generates images from input text. These models can be used to generate and modify images based on text prompts."},"created_at":"2026-01-14 12:54:55.024","tags":[],"properties":[{"property_id":"partner","value":"true"},{"property_id":"terms","value":"https://bfl.ai/legal/terms-of-service"}]},{"id":"57fbd08a-a4c4-411c-910d-b9459ff36c20","source":1,"name":"@cf/baai/bge-small-en-v1.5","description":"BAAI general embedding (Small) model that transforms any given text into a 384-dimensional vector","task":{"id":"0137cdcf-162a-4108-94f2-1ca59e8c65ee","name":"Text Embeddings","description":"Feature extraction models transform raw data into numerical features that can be processed while preserving the information in the original dataset. These models are ideal as part of building vector search applications or Retrieval Augmented Generation workflows with Large Language Models (LLM)."},"created_at":"2023-11-07 15:43:58.042","tags":[],"properties":[{"property_id":"async_queue","value":"true"},{"property_id":"price","value":[{"unit":"per M input tokens","price":0.0202,"currency":"USD"}]},{"property_id":"info","value":"https://huggingface.co/BAAI/bge-small-en-v1.5"},{"property_id":"max_input_tokens","value":"512"},{"property_id":"output_dimensions","value":"384"}]},{"id":"51b71d5b-8bc0-4489-a107-95e542b69914","source":1,"name":"@cf/qwen/qwen2.5-coder-32b-instruct","description":"Qwen2.5-Coder is the latest series of Code-Specific Qwen large language models (formerly known as CodeQwen). As of now, Qwen2.5-Coder has covered six mainstream model sizes, 0.5, 1.5, 3, 7, 14, 32 billion parameters, to meet the needs of different developers. Qwen2.5-Coder brings the following improvements upon CodeQwen1.5:","task":{"id":"c329a1f9-323d-4e91-b2aa-582dd4188d34","name":"Text Generation","description":"Family of generative text models, such as large language models (LLM), that can be adapted for a variety of natural language tasks."},"created_at":"2025-02-27 00:31:43.829","tags":[],"properties":[{"property_id":"context_window","value":"32768"},{"property_id":"price","value":[{"unit":"per M input tokens","price":0.66,"currency":"USD"},{"unit":"per M output tokens","price":1,"currency":"USD"}]},{"property_id":"lora","value":"true"}]},{"id":"4edc7dfe-de78-4156-890c-85b79227694e","source":1,"name":"@cf/zai-org/glm-5.2","description":"Z.ai's flagship agentic coding model","task":{"id":"c329a1f9-323d-4e91-b2aa-582dd4188d34","name":"Text Generation","description":"Family of generative text models, such as large language models (LLM), that can be adapted for a variety of natural language tasks."},"created_at":"2026-06-15 09:51:05.921","tags":[],"properties":[{"property_id":"context_window","value":"262144"},{"property_id":"price","value":[{"unit":"per M input tokens","price":1.4,"currency":"USD"},{"unit":"per M output tokens","price":4.4,"currency":"USD"},{"unit":"per M cached input tokens","price":0.26,"currency":"USD"}]},{"property_id":"function_calling","value":"true"},{"property_id":"reasoning","value":"true"}]},{"id":"43dbadb4-2b0a-47e9-8479-34a49b971f1e","source":1,"name":"@cf/nvidia/nemotron-3-120b-a12b","description":"NVIDIA Nemotron 3 Super is a hybrid MoE model with leading accuracy for multi-agent applications and specialized agentic AI systems.","task":{"id":"c329a1f9-323d-4e91-b2aa-582dd4188d34","name":"Text Generation","description":"Family of generative text models, such as large language models (LLM), that can be adapted for a variety of natural language tasks."},"created_at":"2026-02-24 23:22:47.215","tags":[],"properties":[{"property_id":"context_window","value":"256000"},{"property_id":"price","value":[{"unit":"per M input tokens","price":0.5,"currency":"USD"},{"unit":"per M output tokens","price":1.5,"currency":"USD"}]},{"property_id":"function_calling","value":"true"},{"property_id":"reasoning","value":"true"},{"property_id":"terms","value":"https://www.nvidia.com/en-us/agreements/enterprise-software/nvidia-nemotron-open-model-license/"}]},{"id":"429b9e8b-d99e-44de-91ad-706cf8183658","source":1,"name":"@cf/baai/bge-base-en-v1.5","description":"BAAI general embedding (Base) model that transforms any given text into a 768-dimensional vector","task":{"id":"0137cdcf-162a-4108-94f2-1ca59e8c65ee","name":"Text Embeddings","description":"Feature extraction models transform raw data into numerical features that can be processed while preserving the information in the original dataset. These models are ideal as part of building vector search applications or Retrieval Augmented Generation workflows with Large Language Models (LLM)."},"created_at":"2023-09-25 19:21:11.898","tags":[],"properties":[{"property_id":"async_queue","value":"true"},{"property_id":"context_window","value":"153600"},{"property_id":"price","value":[{"unit":"per M input tokens","price":0.0666,"currency":"USD"}]},{"property_id":"info","value":"https://huggingface.co/BAAI/bge-base-en-v1.5"},{"property_id":"max_input_tokens","value":"512"},{"property_id":"output_dimensions","value":"768"}]},{"id":"41ca173f-72d5-4420-8915-49e835d2676e","source":1,"name":"@cf/aisingapore/gemma-sea-lion-v4-27b-it","description":"SEA-LION stands for Southeast Asian Languages In One Network, which is a collection of Large Language Models (LLMs) which have been pretrained and instruct-tuned for the Southeast Asia (SEA) region.","task":{"id":"c329a1f9-323d-4e91-b2aa-582dd4188d34","name":"Text Generation","description":"Family of generative text models, such as large language models (LLM), that can be adapted for a variety of natural language tasks."},"created_at":"2025-09-23 19:27:30.468","tags":[],"properties":[{"property_id":"context_window","value":"128000"},{"property_id":"price","value":[{"unit":"per M input tokens","price":0.351,"currency":"USD"},{"unit":"per M output tokens","price":0.555,"currency":"USD"}]}]},{"id":"4090e54c-eee4-4221-b410-10c1c0f92f17","source":1,"name":"@cf/qwen/qwen3-30b-a3b-fp8","description":"Qwen3 is the latest generation of large language models in Qwen series, offering a comprehensive suite of dense and mixture-of-experts (MoE) models. Built upon extensive training, Qwen3 delivers groundbreaking advancements in reasoning, instruction-following, agent capabilities, and multilingual support.","task":{"id":"c329a1f9-323d-4e91-b2aa-582dd4188d34","name":"Text Generation","description":"Family of generative text models, such as large language models (LLM), that can be adapted for a variety of natural language tasks."},"created_at":"2025-04-30 21:36:10.009","tags":[],"properties":[{"property_id":"async_queue","value":"true"},{"property_id":"context_window","value":"32768"},{"property_id":"price","value":[{"unit":"per M input tokens","price":0.0509,"currency":"USD"},{"unit":"per M output tokens","price":0.335,"currency":"USD"}]},{"property_id":"function_calling","value":"true"},{"property_id":"reasoning","value":"true"}]},{"id":"3ae8936e-593e-4fb2-85ee-95dd8a057588","source":1,"name":"@cf/black-forest-labs/flux-2-dev","description":"FLUX.2 [dev] is an image model from Black Forest Labs where you can generate highly realistic and detailed images, with multi-reference support.","task":{"id":"3d6e1f35-341b-4915-a6c8-9a7142a9033a","name":"Text-to-Image","description":"Generates images from input text. These models can be used to generate and modify images based on text prompts."},"created_at":"2025-11-24 15:44:06.050","tags":[],"properties":[{"property_id":"partner","value":"true"},{"property_id":"terms","value":"https://bfl.ai/legal/terms-of-service"}]},{"id":"337170b7-bd2f-4631-9a57-688b579cf6d3","source":1,"name":"@cf/google/gemma-7b-it-lora","description":" This is a Gemma-7B base model that Cloudflare dedicates for inference with LoRA adapters. Gemma is a family of lightweight, state-of-the-art open models from Google, built from the same research and technology used to create the Gemini models.","task":{"id":"c329a1f9-323d-4e91-b2aa-582dd4188d34","name":"Text Generation","description":"Family of generative text models, such as large language models (LLM), that can be adapted for a variety of natural language tasks."},"created_at":"2024-04-02 00:20:19.633","tags":[],"properties":[{"property_id":"beta","value":"true"},{"property_id":"context_window","value":"3500"},{"property_id":"lora","value":"true"}]},{"id":"328adb49-4a7d-43e3-a2d5-802ae8100fe7","source":1,"name":"@cf/google/gemma-4-26b-a4b-it","description":"Gemma 4 is Google's most intelligent family of open models, built from Gemini 3 research to maximize intelligence-per-parameter.","task":{"id":"c329a1f9-323d-4e91-b2aa-582dd4188d34","name":"Text Generation","description":"Family of generative text models, such as large language models (LLM), that can be adapted for a variety of natural language tasks."},"created_at":"2026-04-02 15:05:22.642","tags":[],"properties":[{"property_id":"async_queue","value":"false"},{"property_id":"context_window","value":"256000"},{"property_id":"price","value":[{"unit":"per M input tokens","price":0.1,"currency":"USD"},{"unit":"per M output tokens","price":0.3,"currency":"USD"}]},{"property_id":"function_calling","value":"true"},{"property_id":"reasoning","value":"true"},{"property_id":"terms","value":"https://ai.google.dev/gemma/docs/gemma_4_license"},{"property_id":"vision","value":"true"}]},{"id":"31690291-ebdc-4f98-bcfc-a44844e215b7","source":1,"name":"@cf/mistralai/mistral-small-3.1-24b-instruct","description":"Building upon Mistral Small 3 (2501), Mistral Small 3.1 (2503) adds state-of-the-art vision understanding and enhances long context capabilities up to 128k tokens without compromising text performance. With 24 billion parameters, this model achieves top-tier capabilities in both text and vision tasks.","task":{"id":"c329a1f9-323d-4e91-b2aa-582dd4188d34","name":"Text Generation","description":"Family of generative text models, such as large language models (LLM), that can be adapted for a variety of natural language tasks."},"created_at":"2025-03-18 03:28:37.890","tags":[],"properties":[{"property_id":"context_window","value":"128000"},{"property_id":"price","value":[{"unit":"per M input tokens","price":0.351,"currency":"USD"},{"unit":"per M output tokens","price":0.555,"currency":"USD"}]},{"property_id":"function_calling","value":"true"}]},{"id":"2cbc033b-ded8-4e02-bbb2-47cf05d5cfe5","source":1,"name":"@cf/meta/llama-3.2-11b-vision-instruct","description":" The Llama 3.2-Vision instruction-tuned models are optimized for visual recognition, image reasoning, captioning, and answering general questions about an image.","task":{"id":"c329a1f9-323d-4e91-b2aa-582dd4188d34","name":"Text Generation","description":"Family of generative text models, such as large language models (LLM), that can be adapted for a variety of natural language tasks."},"created_at":"2024-09-25 05:36:04.547","tags":[],"properties":[{"property_id":"context_window","value":"128000"},{"property_id":"price","value":[{"unit":"per M input tokens","price":0.0485,"currency":"USD"},{"unit":"per M output tokens","price":0.676,"currency":"USD"}]},{"property_id":"lora","value":"true"},{"property_id":"terms","value":"https://github.com/meta-llama/llama-models/blob/main/models/llama3_2/LICENSE"},{"property_id":"vision","value":"true"}]},{"id":"2169496d-9c0e-4e49-8399-c44ee66bff7d","source":1,"name":"@cf/openai/whisper-tiny-en","description":"Whisper is a pre-trained model for automatic speech recognition (ASR) and speech translation. Trained on 680k hours of labelled data, Whisper models demonstrate a strong ability to generalize to many datasets and domains without the need for fine-tuning. This is the English-only version of the Whisper Tiny model which was trained on the task of speech recognition.","task":{"id":"dfce1c48-2a81-462e-a7fd-de97ce985207","name":"Automatic Speech Recognition","description":"Automatic speech recognition (ASR) models convert a speech signal, typically an audio input, to text."},"created_at":"2024-04-22 20:59:02.731","tags":[],"properties":[{"property_id":"beta","value":"true"}]},{"id":"200f0812-148c-48c1-915d-fb3277a94a08","source":1,"name":"@cf/openai/whisper-large-v3-turbo","description":"Whisper is a pre-trained model for automatic speech recognition (ASR) and speech translation. ","task":{"id":"dfce1c48-2a81-462e-a7fd-de97ce985207","name":"Automatic Speech Recognition","description":"Automatic speech recognition (ASR) models convert a speech signal, typically an audio input, to text."},"created_at":"2024-05-22 00:02:18.656","tags":[],"properties":[{"property_id":"async_queue","value":"true"},{"property_id":"price","value":[{"unit":"per audio minute","price":0.000513,"currency":"USD"}]}]},{"id":"1f55679f-009e-4456-aa4f-049a62b4b6a0","source":1,"name":"@cf/deepgram/aura-1","description":"Aura is a context-aware text-to-speech (TTS) model that applies natural pacing, expressiveness, and fillers based on the context of the provided text. The quality of your text input directly impacts the naturalness of the audio output.","task":{"id":"b52660a1-9a95-4ab2-8b1d-f232be34604a","name":"Text-to-Speech","description":"Text-to-Speech (TTS) is the task of generating natural sounding speech given text input. TTS models can be extended to have a single model that generates speech for multiple speakers and multiple languages."},"created_at":"2025-08-27 01:18:18.880","tags":[],"properties":[{"property_id":"async_queue","value":"true"},{"property_id":"price","value":[{"unit":"per 1k characters","price":0.015,"currency":"USD"}]},{"property_id":"partner","value":"true"},{"property_id":"terms","value":"https://deepgram.com/terms"},{"property_id":"realtime","value":"true"}]},{"id":"19547f04-7a6a-4f87-bf2c-f5e32fb12dc5","source":1,"name":"@cf/runwayml/stable-diffusion-v1-5-img2img","description":"Stable Diffusion is a latent text-to-image diffusion model capable of generating photo-realistic images. Img2img generate a new image from an input image with Stable Diffusion. ","task":{"id":"3d6e1f35-341b-4915-a6c8-9a7142a9033a","name":"Text-to-Image","description":"Generates images from input text. These models can be used to generate and modify images based on text prompts."},"created_at":"2024-02-27 17:32:28.581","tags":[],"properties":[{"property_id":"beta","value":"true"},{"property_id":"price","value":[{"unit":"per step","price":0,"currency":"USD"}]},{"property_id":"info","value":"https://huggingface.co/runwayml/stable-diffusion-v1-5"},{"property_id":"terms","value":"https://github.com/runwayml/stable-diffusion/blob/main/LICENSE"}]},{"id":"188a4e1e-253e-46d0-9616-0bf8c149763f","source":1,"name":"@cf/openai/gpt-oss-20b","description":"OpenAI’s open-weight models designed for powerful reasoning, agentic tasks, and versatile developer use cases – gpt-oss-20b is for lower latency, and local or specialized use-cases.","task":{"id":"c329a1f9-323d-4e91-b2aa-582dd4188d34","name":"Text Generation","description":"Family of generative text models, such as large language models (LLM), that can be adapted for a variety of natural language tasks."},"created_at":"2025-08-05 10:49:53.265","tags":[],"properties":[{"property_id":"context_window","value":"128000"},{"property_id":"price","value":[{"unit":"per M input tokens","price":0.2,"currency":"USD"},{"unit":"per M output tokens","price":0.3,"currency":"USD"}]},{"property_id":"function_calling","value":"true"},{"property_id":"reasoning","value":"true"}]},{"id":"15631501-2742-4346-a469-22fe202188a2","source":1,"name":"@cf/google/embeddinggemma-300m","description":"EmbeddingGemma is a 300M parameter, state-of-the-art for its size, open embedding model from Google, built from Gemma 3 (with T5Gemma initialization) and the same research and technology used to create Gemini models. EmbeddingGemma produces vector representations of text, making it well-suited for search and retrieval tasks, including classification, clustering, and semantic similarity search. This model was trained with data in 100+ spoken languages.","task":{"id":"0137cdcf-162a-4108-94f2-1ca59e8c65ee","name":"Text Embeddings","description":"Feature extraction models transform raw data into numerical features that can be processed while preserving the information in the original dataset. These models are ideal as part of building vector search applications or Retrieval Augmented Generation workflows with Large Language Models (LLM)."},"created_at":"2025-09-04 16:38:44.980","tags":[],"properties":[]},{"id":"145337e7-cec3-4ebb-8e78-16ddfc75e580","source":1,"name":"@cf/baai/bge-reranker-base","description":"Different from embedding model, reranker uses question and document as input and directly output similarity instead of embedding. You can get a relevance score by inputting query and passage to the reranker. And the score can be mapped to a float value in [0,1] by sigmoid function.\n\n","task":{"id":"19606750-23ed-4371-aab2-c20349b53a60","name":"Text Classification","description":"Sentiment analysis or text classification is a common NLP task that classifies a text input into labels or classes."},"created_at":"2025-02-14 12:28:19.009","tags":[],"properties":[{"property_id":"price","value":[{"unit":"per M input tokens","price":0.00311,"currency":"USD"}]}]},{"id":"1161560b-87f9-4795-afb3-a905cf21bcf8","source":1,"name":"@cf/moondream/moondream3.1-9B-A2B","description":"Moondream 3 is a fast, efficient 9B mixture-of-experts vision language model (2B active parameters) that delivers frontier-level visual reasoning for tasks like object detection, pointing, OCR, and structured output.","task":{"id":"882a91d1-c331-4eec-bdad-834c919942a8","name":"Image-to-Text","description":"Image to text models output a text from a given image. Image captioning or optical character recognition can be considered as the most common applications of image to text."},"created_at":"2026-07-07 14:39:02.726","tags":[],"properties":[{"property_id":"price","value":[{"unit":"per M input tokens","price":0.3,"currency":"USD"},{"unit":"per M output tokens","price":1,"currency":"USD"}]},{"property_id":"terms","value":"https://moondream.ai/licenses/model/1.0"},{"property_id":"vision","value":"true"}]},{"id":"0e372c11-8720-46c9-a02d-666188a22dae","source":1,"name":"@cf/leonardo/lucid-origin","description":"Lucid Origin from Leonardo.AI is their most adaptable and prompt-responsive model to date. Whether you're generating images with sharp graphic design, stunning full-HD renders, or highly specific creative direction, it adheres closely to your prompts, renders text with accuracy, and supports a wide array of visual styles and aesthetics – from stylized concept art to crisp product mockups.\n","task":{"id":"3d6e1f35-341b-4915-a6c8-9a7142a9033a","name":"Text-to-Image","description":"Generates images from input text. These models can be used to generate and modify images based on text prompts."},"created_at":"2025-08-25 19:21:28.770","tags":[],"properties":[{"property_id":"price","value":[{"unit":"per 512 by 512 tile","price":0.007,"currency":"USD"},{"unit":"per step","price":0.000132,"currency":"USD"}]},{"property_id":"partner","value":"true"},{"property_id":"terms","value":"https://leonardo.ai/terms-of-service/"}]},{"id":"06455e78-19f7-487b-93cd-c05a3dd07813","source":1,"name":"@cf/meta/llama-4-scout-17b-16e-instruct","description":"Meta's Llama 4 Scout is a 17 billion parameter model with 16 experts that is natively multimodal. These models leverage a mixture-of-experts architecture to offer industry-leading performance in text and image understanding.","task":{"id":"c329a1f9-323d-4e91-b2aa-582dd4188d34","name":"Text Generation","description":"Family of generative text models, such as large language models (LLM), that can be adapted for a variety of natural language tasks."},"created_at":"2025-04-05 20:25:56.137","tags":[],"properties":[{"property_id":"async_queue","value":"true"},{"property_id":"context_window","value":"131000"},{"property_id":"price","value":[{"unit":"per M input tokens","price":0.27,"currency":"USD"},{"unit":"per M output tokens","price":0.85,"currency":"USD"}]},{"property_id":"function_calling","value":"true"},{"property_id":"terms","value":"https://github.com/meta-llama/llama-models/blob/main/models/llama4/LICENSE"},{"property_id":"vision","value":"true"}]},{"id":"02c16efa-29f5-4304-8e6c-3d188889f875","source":1,"name":"@cf/qwen/qwq-32b","description":"QwQ is the reasoning model of the Qwen series. Compared with conventional instruction-tuned models, QwQ, which is capable of thinking and reasoning, can achieve significantly enhanced performance in downstream tasks, especially hard problems. QwQ-32B is the medium-sized reasoning model, which is capable of achieving competitive performance against state-of-the-art reasoning models, e.g., DeepSeek-R1, o1-mini.","task":{"id":"c329a1f9-323d-4e91-b2aa-582dd4188d34","name":"Text Generation","description":"Family of generative text models, such as large language models (LLM), that can be adapted for a variety of natural language tasks."},"created_at":"2025-03-05 21:52:40.974","tags":[],"properties":[{"property_id":"context_window","value":"24000"},{"property_id":"price","value":[{"unit":"per M input tokens","price":0.66,"currency":"USD"},{"unit":"per M output tokens","price":1,"currency":"USD"}]},{"property_id":"lora","value":"true"},{"property_id":"reasoning","value":"true"}]},{"id":"01bc2fb0-4bca-4598-b985-d2584a3f46c0","source":1,"name":"@cf/baai/bge-large-en-v1.5","description":"BAAI general embedding (Large) model that transforms any given text into a 1024-dimensional vector","task":{"id":"0137cdcf-162a-4108-94f2-1ca59e8c65ee","name":"Text Embeddings","description":"Feature extraction models transform raw data into numerical features that can be processed while preserving the information in the original dataset. These models are ideal as part of building vector search applications or Retrieval Augmented Generation workflows with Large Language Models (LLM)."},"created_at":"2023-11-07 15:43:58.042","tags":[],"properties":[{"property_id":"async_queue","value":"true"},{"property_id":"price","value":[{"unit":"per M input tokens","price":0.204,"currency":"USD"}]},{"property_id":"info","value":"https://huggingface.co/BAAI/bge-large-en-v1.5"},{"property_id":"max_input_tokens","value":"512"},{"property_id":"output_dimensions","value":"1024"}]},{"id":"01564c52-8717-47dc-8efd-907a2ca18301","source":1,"name":"@cf/deepgram/aura-2-en","description":"Aura-2 is a context-aware text-to-speech (TTS) model that applies natural pacing, expressiveness, and fillers based on the context of the provided text. The quality of your text input directly impacts the naturalness of the audio output.","task":{"id":"b52660a1-9a95-4ab2-8b1d-f232be34604a","name":"Text-to-Speech","description":"Text-to-Speech (TTS) is the task of generating natural sounding speech given text input. TTS models can be extended to have a single model that generates speech for multiple speakers and multiple languages."},"created_at":"2025-10-09 22:19:34.483","tags":[],"properties":[{"property_id":"async_queue","value":"true"},{"property_id":"price","value":[{"unit":"per 1k characters","price":0.03,"currency":"USD"}]},{"property_id":"partner","value":"true"},{"property_id":"terms","value":"https://deepgram.com/terms"},{"property_id":"realtime","value":"true"}]}],"errors":[],"messages":[],"result_info":{"count":61,"page":1,"per_page":100,"total_count":269}} \ No newline at end of file diff --git a/packages/core/test/sync.test.ts b/packages/core/test/sync.test.ts index 61357f3636..472a572e84 100644 --- a/packages/core/test/sync.test.ts +++ b/packages/core/test/sync.test.ts @@ -1,15 +1,24 @@ import { expect, test } from "bun:test"; -import { mkdtemp, readFile, rm } from "node:fs/promises"; +import { mkdir, mkdtemp, readFile, rm } from "node:fs/promises"; import { tmpdir } from "node:os"; import path from "node:path"; -import { formatToml, preserveReasoningOptions, syncProvider, type SyncProvider } from "../src/sync/index.js"; +import { formatToml, preserveReasoningOptions, syncProvider, type ExistingModel, type SyncProvider } from "../src/sync/index.js"; import { anthropic, buildAnthropicModel, parseAnthropicPricing, type AnthropicModel, } from "../src/sync/providers/anthropic.js"; +import { + applyAudioPricing, + buildWorkersAiModel, + cloudflareWorkersAi, + mostSpecificMatch, + reshapeNative, + resolveCloudflareBaseModel, + type NativeModel, +} from "../src/sync/providers/cloudflare-workers-ai.js"; import { buildDeepInfraModel, type DeepInfraModel } from "../src/sync/providers/deepinfra.js"; import { buildDigitalOceanModel, @@ -28,9 +37,10 @@ import { import { buildOpenRouterModel, openrouter, + OpenRouterModel, resolveCanonicalBaseModel, - type OpenRouterModel, } from "../src/sync/providers/openrouter.js"; +import { familyMatchesModalities } from "../src/family.js"; import { buildLLMGatewayModel, type LLMGatewayModel } from "../src/sync/providers/llmgateway.js"; import { openai, parseOpenAIModels } from "../src/sync/providers/openai.js"; import { resolveVeniceBaseModel } from "../src/sync/providers/venice.js"; @@ -1197,6 +1207,83 @@ test("preserves the authored header comment block when rewriting a changed model } }); +test("writes a provider-supplied header once and preserves it on a later unrelated sync", async () => { + const dir = await mkdtemp(path.join(tmpdir(), "sync-header-seed-")); + const modelsDir = path.join(dir, "providers", "example", "models"); + await Bun.write(path.join(modelsDir, "example-model.toml"), [ + 'name = "Example Model"', + 'release_date = "2026-01-01"', + 'last_updated = "2026-01-01"', + "attachment = false", + "reasoning = false", + "tool_call = true", + "open_weights = false", + "", + "[cost]", + "input = 1", + "output = 2", + "output_audio = 0.03", + "", + "[limit]", + "context = 1_000", + "output = 100", + "", + "[modalities]", + 'input = ["text"]', + 'output = ["audio"]', + "", + ].join("\n")); + + const provider: SyncProvider<{ id: string }> = { + id: "example", + name: "Example", + modelsDir, + deleteMissing: false, + async fetchModels() { + return [{ id: "example-model" }]; + }, + parseModels(raw) { + return raw as { id: string }[]; + }, + translateModel(model) { + return { + id: model.id, + model: { + name: "Example Model", + description: "Example model used to verify sync header seeding behavior", + release_date: "2026-01-01", + last_updated: "2026-01-01", + attachment: false, + reasoning: false, + tool_call: true, + open_weights: false, + cost: { input: 1, output: 2, output_audio: 0.03 }, + limit: { context: 1_000, output: 100 }, + modalities: { input: ["text"], output: ["audio"] }, + }, + header: "# per 1k characters\n", + }; + }, + }; + + try { + const first = await syncProvider(provider); + expect(first.updated).toBe(1); + const afterFirst = await readFile(path.join(modelsDir, "example-model.toml"), "utf8"); + expect(afterFirst).toStartWith("# per 1k characters\n"); + expect([...afterFirst.matchAll(/# per 1k characters/g)]).toHaveLength(1); + + const second = await syncProvider(provider); + expect(second.updated).toBe(0); + expect(second.unchanged).toBe(1); + const afterSecond = await readFile(path.join(modelsDir, "example-model.toml"), "utf8"); + expect(afterSecond).toBe(afterFirst); + expect([...afterSecond.matchAll(/# per 1k characters/g)]).toHaveLength(1); + } finally { + await rm(dir, { recursive: true, force: true }); + } +}); + test("retains authored data when OpenRouter reports an unavailable stub", () => { const authored = { name: "Claude Fable Latest", @@ -1348,3 +1435,280 @@ function openRouterModel(overrides: Partial = {}): OpenRouterMo ...overrides, }; } + +test("reshapes all Cloudflare Workers AI native fixture records into valid models", async () => { + const fixture = await Bun.file( + path.join(import.meta.dirname, "fixtures", "cloudflare-workers-ai-native.json"), + ).json() as { result: NativeModel[] }; + + const byID = new Map>(); + let valid = 0; + for (const native of fixture.result) { + const parsed = OpenRouterModel.parse(reshapeNative(native)); + const model = buildWorkersAiModel(parsed, undefined); + expect(model).toBeDefined(); + valid++; + byID.set(native.name, model); + } + + expect(valid).toBe(61); + + // No native record reports open_weights; every model fakes it to false, unless a + // matching base_model entry (e.g. gpt-oss-120b -> openai/gpt-oss-120b) supplies + // the real value instead. + for (const id of ["@cf/baai/bge-m3", "@cf/meta/m2m100-1.2b", "@cf/openai/whisper"]) { + expect(byID.get(id)?.open_weights).toBe(false); + } + + // No native record reports an output-token limit; it falls back to context when + // known (matching openrouter.ts's own fallback), or to 0 when context is also + // unknown. + expect(byID.get("@cf/baai/bge-m3")?.limit?.output).toBe(60_000); + + // Neither model's native record reports context_window, so both fake to 0. + for (const id of ["@cf/openai/whisper", "@cf/meta/m2m100-1.2b"]) { + expect(byID.get(id)?.limit?.context).toBe(0); + expect(byID.get(id)?.limit?.output).toBe(0); + } +}); + +test("round-trips exact Cloudflare Workers AI native token pricing", async () => { + const fixture = await Bun.file( + path.join(import.meta.dirname, "fixtures", "cloudflare-workers-ai-native.json"), + ).json() as { result: NativeModel[] }; + const byName = new Map(fixture.result.map((model) => [model.name, model])); + + const gptOss120b = byName.get("@cf/openai/gpt-oss-120b"); + const bgeM3 = byName.get("@cf/baai/bge-m3"); + const m2m100 = byName.get("@cf/meta/m2m100-1.2b"); + if (gptOss120b === undefined || bgeM3 === undefined || m2m100 === undefined) { + throw new Error("Fixture is missing an expected model"); + } + + const buildCost = (native: NativeModel) => { + return buildWorkersAiModel(OpenRouterModel.parse(reshapeNative(native)), undefined).cost; + }; + + expect(buildCost(gptOss120b)).toMatchObject({ input: 0.35, output: 0.75 }); + expect(buildCost(bgeM3)).toMatchObject({ input: 0.0118 }); + expect(buildCost(m2m100)).toMatchObject({ input: 0.342, output: 0.342 }); +}); + +test("applyAudioPricing documents the native pricing unit as a leading-comment header", async () => { + const fixture = await Bun.file( + path.join(import.meta.dirname, "fixtures", "cloudflare-workers-ai-native.json"), + ).json() as { result: NativeModel[] }; + const whisper = fixture.result.find((model) => model.name === "@cf/openai/whisper"); + const aura1 = fixture.result.find((model) => model.name === "@cf/deepgram/aura-1"); + if (whisper === undefined || aura1 === undefined) throw new Error("Fixture is missing an expected model"); + + // Cloudflare's native API reports these as "per audio minute" / "per 1k characters", + // never as a token count -- input_audio/output_audio carry that true native value + // (see cloudflare-workers-ai.ts), and applyAudioPricing must surface the exact unit + // string so the sync can document it instead of the schema's "per million tokens". + const asr = applyAudioPricing(buildWorkersAiModel(OpenRouterModel.parse(reshapeNative(whisper)), undefined), whisper); + expect(asr.model.cost).toMatchObject({ input_audio: 0.000453 }); + expect(asr.header).toBe("# per audio minute\n"); + + const tts = applyAudioPricing(buildWorkersAiModel(OpenRouterModel.parse(reshapeNative(aura1)), undefined), aura1); + expect(tts.model.cost).toMatchObject({ output_audio: 0.015 }); + expect(tts.header).toBe("# per 1k characters\n"); +}); + +test("resolveCloudflareBaseModel prefers the most-specific subset match", () => { + // Both "whisper-large-v3" (4 tokens) and "whisper-large-v3-turbo" (5 tokens) subset-match + // @cf/openai/whisper-large-v3-turbo; the more specific one should win instead of the + // ambiguous match falling back to an inline definition. + expect( + resolveCloudflareBaseModel( + openRouterModel({ id: "workers-ai/@cf/openai/whisper-large-v3-turbo", name: "Whisper Large v3 Turbo" }), + ), + ).toBe("openai/whisper-large-v3-turbo"); +}); + +test("mostSpecificMatch falls back to no match on a genuine tie", () => { + // "whisper-large-v3" (4 tokens) and "whisper-tiny-en" (3 tokens) aren't a tie -- the + // 4-token candidate wins. + expect(mostSpecificMatch(["whisper-large-v3", "whisper-tiny-en"])).toBe("whisper-large-v3"); + + // Two equally-specific candidates (3 tokens each); neither is more specific than the + // other, so the conservative no-match fallback applies. + expect(mostSpecificMatch(["whisper-large-v3", "whisper-large-v4"])).toBeUndefined(); +}); + +test("buildWorkersAiModel emits whisper-large-v3-turbo as a base_model pointer", async () => { + const fixture = await Bun.file( + path.join(import.meta.dirname, "fixtures", "cloudflare-workers-ai-native.json"), + ).json() as { result: NativeModel[] }; + const native = fixture.result.find((model) => model.name === "@cf/openai/whisper-large-v3-turbo"); + if (native === undefined) throw new Error("Fixture is missing whisper-large-v3-turbo"); + + const model = buildWorkersAiModel(OpenRouterModel.parse(reshapeNative(native)), undefined); + + expect("base_model" in model && model.base_model).toBe("openai/whisper-large-v3-turbo"); + + // The native record fabricates context_length=0 (Cloudflare reports no context window + // for Whisper) and has no real display name (its `name` is just the id slug). None of + // that fabricated/placeholder data should surface as an override once base_model + // resolves -- open_weights, limit.context, limit.output, and name must all be absent + // so they inherit the base metadata's true=true, 448, 448, and "Whisper Large v3 Turbo". + expect(model).not.toHaveProperty("open_weights"); + expect(model).not.toHaveProperty("name"); + expect((model as { limit?: { context?: number; output?: number } }).limit?.context).toBeUndefined(); + expect((model as { limit?: { context?: number; output?: number } }).limit?.output).toBeUndefined(); +}); + +test("Cloudflare Workers AI native sync prefers the native API description and never stamps an audio ASR model with an image family", async () => { + // Regression for @cf/deepgram/flux: its id/name contains "flux", which both + // describe.ts's image-model heuristic and openrouter.ts's family-name substring + // match used to mistake for the Black Forest Labs image model, even though flux is + // audio-in/text-out speech recognition. The fix threads the native API's own + // description through (which correctly describes it as an ASR model) and blocks a + // family whose name implies an image/video output modality from matching a model + // that doesn't declare that modality. + const fixture = await Bun.file( + path.join(import.meta.dirname, "fixtures", "cloudflare-workers-ai-native.json"), + ).json() as { result: NativeModel[] }; + const flux = fixture.result.find((model) => model.name === "@cf/deepgram/flux"); + if (flux === undefined) throw new Error("Fixture is missing @cf/deepgram/flux"); + + const context = { existing: () => undefined, authored: () => undefined }; + const translated = cloudflareWorkersAi.translateModel({ format: "native", model: flux }, context); + if (translated === undefined) throw new Error("translateModel returned no result for flux"); + + expect(translated.model.description).toBe(flux.description); + expect(translated.model.description).not.toContain("Image model"); + expect((translated.model as { family?: string }).family).toBeUndefined(); +}); + +test("Cloudflare Workers AI native sync clears a previously-synced stale image family that no longer matches the model's modalities", async () => { + // A prior sync (before this fix) wrote family="flux" into flux.toml. Regenerating + // must not preserve that stale value just because it's already on the existing + // file -- the family-value fallback (`existing?.family ?? family`) would otherwise + // keep "flux" forever once it's written once. + const fixture = await Bun.file( + path.join(import.meta.dirname, "fixtures", "cloudflare-workers-ai-native.json"), + ).json() as { result: NativeModel[] }; + const flux = fixture.result.find((model) => model.name === "@cf/deepgram/flux"); + if (flux === undefined) throw new Error("Fixture is missing @cf/deepgram/flux"); + + const staleExisting = { family: "flux" } as ExistingModel; + const context = { + existing: (id: string) => id === "@cf/deepgram/flux" ? staleExisting : undefined, + authored: () => undefined, + }; + const translated = cloudflareWorkersAi.translateModel({ format: "native", model: flux }, context); + if (translated === undefined) throw new Error("translateModel returned no result for flux"); + + expect((translated.model as { family?: string }).family).toBeUndefined(); +}); + +test("Cloudflare Workers AI native sync surfaces the native description for other native models with real API text", async () => { + const fixture = await Bun.file( + path.join(import.meta.dirname, "fixtures", "cloudflare-workers-ai-native.json"), + ).json() as { result: NativeModel[] }; + const byName = new Map(fixture.result.map((model) => [model.name, model])); + const context = { existing: () => undefined, authored: () => undefined }; + + for (const id of [ + "@cf/deepgram/nova-3", + "@cf/deepgram/aura-1", + "@cf/deepgram/aura-2-en", + "@cf/deepgram/aura-2-es", + "@cf/myshell-ai/melotts", + "@cf/pipecat-ai/smart-turn-v2", + "@cf/openai/whisper", + ]) { + const native = byName.get(id); + if (native === undefined) throw new Error(`Fixture is missing ${id}`); + const translated = cloudflareWorkersAi.translateModel({ format: "native", model: native }, context); + if (translated === undefined) throw new Error(`translateModel returned no result for ${id}`); + expect(translated.model.description).toBe(native.description); + } +}); + +test("familyMatchesModalities rejects an image/video family when the model doesn't declare that output modality", () => { + expect(familyMatchesModalities("flux", ["text"])).toBe(false); + expect(familyMatchesModalities("flux", ["image"])).toBe(true); + expect(familyMatchesModalities("sora", ["text"])).toBe(false); + expect(familyMatchesModalities("sora", ["video"])).toBe(true); + // A non-modality-gated family (e.g. a text chat family) is unaffected. + expect(familyMatchesModalities("gpt", ["text"])).toBe(true); +}); + +test("merges Cloudflare Workers AI openrouter and native formats, openrouter winning on overlap", async () => { + const fixture = await Bun.file( + path.join(import.meta.dirname, "fixtures", "cloudflare-workers-ai-native.json"), + ).json() as { result: NativeModel[] }; + + const nativeOnly = fixture.result.find((model) => model.name === "@cf/openai/whisper"); + const nativeOverlap = fixture.result.find((model) => model.name === "@cf/openai/gpt-oss-120b"); + if (nativeOnly === undefined || nativeOverlap === undefined) { + throw new Error("Fixture is missing an expected model"); + } + + // A richer openrouter-format record for the same id as `nativeOverlap`, carrying fields + // (hugging_face_id) the native format never reports. + const openrouterOverlap = { + id: "workers-ai/@cf/openai/gpt-oss-120b", + name: "OpenAI: gpt-oss-120b", + created: 1_700_000_000, + hugging_face_id: "openai/gpt-oss-120b", + context_length: 128_000, + max_output_length: 16_384, + pricing: { prompt: "0.00000035", completion: "0.00000075" }, + }; + + const sourceModels = cloudflareWorkersAi.parseModels({ + openrouter: [openrouterOverlap], + native: [nativeOnly, nativeOverlap], + }); + + expect(sourceModels).toHaveLength(2); + + const overlap = sourceModels.find((source) => source.model.name.includes("gpt-oss-120b")); + const onlyNative = sourceModels.find((source) => source.format === "native" && source.model.name === "@cf/openai/whisper"); + expect(overlap?.format).toBe("openrouter"); + expect(onlyNative).toBeDefined(); +}); + +test("translateModel dispatches native and openrouter source models through their respective reshape paths", () => { + const context = { existing: () => undefined, authored: () => undefined }; + + const nativeSource = { + format: "native" as const, + model: { + id: "11111111-1111-1111-1111-111111111111", + name: "@cf/baai/bge-m3", + description: "Embeddings model", + task: { name: "Text Embeddings" }, + created_at: "2024-05-22 00:00:00.000", + properties: [ + { property_id: "context_window", value: "60000" }, + { property_id: "price", value: [{ unit: "per M input tokens", price: 0.0118, currency: "USD" }] }, + ], + }, + }; + const nativeTranslated = cloudflareWorkersAi.translateModel(nativeSource, context); + expect(nativeTranslated?.id).toBe("@cf/baai/bge-m3"); + expect(nativeTranslated?.model.cost).toMatchObject({ input: 0.0118 }); + expect(nativeTranslated?.model.open_weights).toBe(false); + + const openrouterSource = { + format: "openrouter" as const, + model: { + id: "workers-ai/@cf/meta/llama-3.1-8b-instruct-fp8", + name: "Meta: Llama 3.1 8B Instruct FP8", + created: 1_700_000_000, + hugging_face_id: null, + knowledge_cutoff: null, + context_length: 32_000, + architecture: { input_modalities: ["text"], output_modalities: ["text"] }, + pricing: { prompt: "0.000000152", completion: "0.000000287" }, + top_provider: { context_length: 32_000, max_completion_tokens: 4_096 }, + supported_parameters: [], + }, + }; + const openrouterTranslated = cloudflareWorkersAi.translateModel(openrouterSource, context); + expect(openrouterTranslated?.id).toBe("@cf/meta/llama-3.1-8b-instruct-fp8"); +}); diff --git a/providers/cloudflare-ai-gateway/README.md b/providers/cloudflare-ai-gateway/README.md index 06d13eee89..3884a7ece4 100644 --- a/providers/cloudflare-ai-gateway/README.md +++ b/providers/cloudflare-ai-gateway/README.md @@ -1,255 +1,36 @@ -# Cloudflare AI Gateway Provider +# Cloudflare AI Gateway -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 proxies multiple upstream model providers behind a single endpoint. This provider surfaces the subset of that catalog that's kept in-repo. -## Overview - -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. - -## Directory Structure +## Catalog layout ``` -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"] +providers/cloudflare-ai-gateway/models/ +├── anthropic/ # hand-maintained +├── openai/ # hand-maintained +└── workers-ai/ # mirrored from providers/cloudflare-workers-ai ``` -### 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 +### `workers-ai/` -**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 +`workers-ai/@cf` is a symlink to `../../../cloudflare-workers-ai/models/@cf`. AIG's Workers AI catalog is the Cloudflare Workers AI catalog by construction -- there's no separate sync, no separate PR, no chance of drift. When the hourly `cloudflare-workers-ai` sync opens a PR that changes TOMLs under `providers/cloudflare-workers-ai/models/@cf/`, merging it updates AIG's `workers-ai/` catalog on the next deploy via `followSymlinks: true` in the build glob. -## Usage +The scope of `workers-ai/` therefore tracks the WAI sync exactly: whatever `bun models:sync cloudflare-workers-ai` produces, AIG surfaces. Broadening WAI's source (e.g. to cover embeddings, ASR, TTS) automatically broadens AIG. -### Prerequisites +### `openai/` and `anthropic/` -- 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 +These subtrees are hand-authored TOMLs for the OpenAI- and Anthropic-compatible routes AIG exposes. They're intentionally curated rather than synced, and are not touched by any model sync provider. -### Running the Scripts +## Provider configuration -Run scripts individually or in sequence: +`provider.toml` uses the `ai-gateway-provider` npm package, which posts to AIG's +universal endpoint (`https://gateway.ai.cloudflare.com/v1/{account}/{gateway}`). -```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 -``` - -### Configuration - -Edit `scripts/utils.sh` to customize: - -1. **Add a provider to include all models**: -```bash -INCLUDE_ALL_PROVIDERS="workers-ai replicate my-new-provider" -``` - -2. **Add a well-known model**: -```bash -WELL_KNOWN_MODELS=( - # ... existing patterns ... - "openai/gpt-5$" -) -``` - -3. **Skip a namespace**: -```bash -SKIP_NAMESPACES="replicate/replicate-internal my-provider/internal" -``` - -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" -} -``` - -## 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` - -**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. - -**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` - -## Cross-Referencing Logic - -For OpenAI and Anthropic models, the scripts map Cloudflare model IDs to canonical provider filenames: - -**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` - -**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 - -The TOML generation script automatically: -- Removes models that are no longer in the API response -- Cleans up empty directories -- Maintains a clean models directory - -## Troubleshooting - -**API errors**: -- Verify environment variables are set correctly -- Check API token has necessary permissions -- Ensure Gateway ID matches your Cloudflare configuration - -**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` - -**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 - -## Provider Configuration - -The `provider.toml` file defines how OpenCode connects to Cloudflare AI 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/" -doc = "https://developers.cloudflare.com/ai-gateway/" -``` +Required env vars: `CLOUDFLARE_API_TOKEN`, `CLOUDFLARE_ACCOUNT_ID`, `CLOUDFLARE_GATEWAY_ID`. -## Additional Resources +## References -- [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/) +- [Cloudflare AI Gateway](https://developers.cloudflare.com/ai-gateway/) +- [OpenAI compatibility](https://developers.cloudflare.com/ai-gateway/usage/providers/openai/) +- [Anthropic compatibility](https://developers.cloudflare.com/ai-gateway/usage/providers/anthropic/) +- [Workers AI catalog](https://developers.cloudflare.com/workers-ai/models/) 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 ed90d10f0b..0000000000 --- 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 9f880a4c20..0000000000 --- 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 36a05bd0bf..0000000000 --- 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/workers-ai/@cf b/providers/cloudflare-ai-gateway/models/workers-ai/@cf new file mode 120000 index 0000000000..ddb6d9311c --- /dev/null +++ b/providers/cloudflare-ai-gateway/models/workers-ai/@cf @@ -0,0 +1 @@ +../../../cloudflare-workers-ai/models/@cf \ No newline at end of file diff --git a/providers/cloudflare-ai-gateway/models/workers-ai/@cf/ai4bharat/indictrans2-en-indic-1B.toml b/providers/cloudflare-ai-gateway/models/workers-ai/@cf/ai4bharat/indictrans2-en-indic-1B.toml deleted file mode 100644 index 53c290b3e8..0000000000 --- a/providers/cloudflare-ai-gateway/models/workers-ai/@cf/ai4bharat/indictrans2-en-indic-1B.toml +++ /dev/null @@ -1,22 +0,0 @@ -name = "IndicTrans2 EN-Indic 1B" -description = "General-purpose chat model for instruction following, writing, and analysis" -family = "indictrans" -release_date = "2025-09-25" -last_updated = "2025-09-25" -attachment = false -reasoning = false -temperature = true -tool_call = false -open_weights = false - -[cost] -input = 0.34 -output = 0.34 - -[limit] -context = 128000 -output = 16384 - -[modalities] -input = ["text"] -output = ["text"] 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 78b80a2dbb..0000000000 --- a/providers/cloudflare-ai-gateway/models/workers-ai/@cf/aisingapore/gemma-sea-lion-v4-27b-it.toml +++ /dev/null @@ -1,22 +0,0 @@ -name = "Gemma SEA-LION v4 27B IT" -description = "Open Gemma instruction model for efficient chat and self-hosted deployments" -family = "gemma" -release_date = "2025-09-25" -last_updated = "2025-09-25" -attachment = false -reasoning = false -temperature = true -tool_call = false -open_weights = false - -[cost] -input = 0.35 -output = 0.56 - -[limit] -context = 128000 -output = 16384 - -[modalities] -input = ["text"] -output = ["text"] diff --git a/providers/cloudflare-ai-gateway/models/workers-ai/@cf/baai/bge-base-en-v1.5.toml b/providers/cloudflare-ai-gateway/models/workers-ai/@cf/baai/bge-base-en-v1.5.toml deleted file mode 100644 index 50395bd259..0000000000 --- a/providers/cloudflare-ai-gateway/models/workers-ai/@cf/baai/bge-base-en-v1.5.toml +++ /dev/null @@ -1,22 +0,0 @@ -name = "BGE Base EN v1.5" -description = "General-purpose chat model for instruction following, writing, and analysis" -family = "bge" -release_date = "2025-04-03" -last_updated = "2025-04-03" -attachment = false -reasoning = false -temperature = true -tool_call = false -open_weights = false - -[cost] -input = 0.067 -output = 0 - -[limit] -context = 128000 -output = 16384 - -[modalities] -input = ["text"] -output = ["text"] diff --git a/providers/cloudflare-ai-gateway/models/workers-ai/@cf/baai/bge-large-en-v1.5.toml b/providers/cloudflare-ai-gateway/models/workers-ai/@cf/baai/bge-large-en-v1.5.toml deleted file mode 100644 index 561a3ea140..0000000000 --- a/providers/cloudflare-ai-gateway/models/workers-ai/@cf/baai/bge-large-en-v1.5.toml +++ /dev/null @@ -1,22 +0,0 @@ -name = "BGE Large EN v1.5" -description = "Flagship model for demanding analysis, coding, and production agent workflows" -family = "bge" -release_date = "2025-04-03" -last_updated = "2025-04-03" -attachment = false -reasoning = false -temperature = true -tool_call = false -open_weights = false - -[cost] -input = 0.2 -output = 0 - -[limit] -context = 128000 -output = 16384 - -[modalities] -input = ["text"] -output = ["text"] diff --git a/providers/cloudflare-ai-gateway/models/workers-ai/@cf/baai/bge-m3.toml b/providers/cloudflare-ai-gateway/models/workers-ai/@cf/baai/bge-m3.toml deleted file mode 100644 index 320ced9c56..0000000000 --- a/providers/cloudflare-ai-gateway/models/workers-ai/@cf/baai/bge-m3.toml +++ /dev/null @@ -1,22 +0,0 @@ -name = "BGE M3" -description = "Flagship model for demanding analysis, coding, and production agent workflows" -family = "bge" -release_date = "2025-04-03" -last_updated = "2025-04-03" -attachment = false -reasoning = false -temperature = true -tool_call = false -open_weights = false - -[cost] -input = 0.012 -output = 0 - -[limit] -context = 128000 -output = 16384 - -[modalities] -input = ["text"] -output = ["text"] diff --git a/providers/cloudflare-ai-gateway/models/workers-ai/@cf/baai/bge-reranker-base.toml b/providers/cloudflare-ai-gateway/models/workers-ai/@cf/baai/bge-reranker-base.toml deleted file mode 100644 index 4847191c81..0000000000 --- a/providers/cloudflare-ai-gateway/models/workers-ai/@cf/baai/bge-reranker-base.toml +++ /dev/null @@ -1,22 +0,0 @@ -name = "BGE Reranker Base" -description = "Reranking model for improving retrieval quality in search and recommendation systems" -family = "bge" -release_date = "2025-04-09" -last_updated = "2025-04-09" -attachment = false -reasoning = false -temperature = true -tool_call = false -open_weights = false - -[cost] -input = 0.0031 -output = 0 - -[limit] -context = 128000 -output = 16384 - -[modalities] -input = ["text"] -output = ["text"] diff --git a/providers/cloudflare-ai-gateway/models/workers-ai/@cf/baai/bge-small-en-v1.5.toml b/providers/cloudflare-ai-gateway/models/workers-ai/@cf/baai/bge-small-en-v1.5.toml deleted file mode 100644 index 0be3f8ade4..0000000000 --- a/providers/cloudflare-ai-gateway/models/workers-ai/@cf/baai/bge-small-en-v1.5.toml +++ /dev/null @@ -1,22 +0,0 @@ -name = "BGE Small EN v1.5" -description = "Efficient model for low-latency assistance, extraction, and routine automation" -family = "bge" -release_date = "2025-04-03" -last_updated = "2025-04-03" -attachment = false -reasoning = false -temperature = true -tool_call = false -open_weights = false - -[cost] -input = 0.02 -output = 0 - -[limit] -context = 128000 -output = 16384 - -[modalities] -input = ["text"] -output = ["text"] diff --git a/providers/cloudflare-ai-gateway/models/workers-ai/@cf/deepgram/aura-2-en.toml b/providers/cloudflare-ai-gateway/models/workers-ai/@cf/deepgram/aura-2-en.toml deleted file mode 100644 index ef62aaf0f8..0000000000 --- a/providers/cloudflare-ai-gateway/models/workers-ai/@cf/deepgram/aura-2-en.toml +++ /dev/null @@ -1,22 +0,0 @@ -name = "Deepgram Aura 2 (EN)" -description = "General-purpose chat model for instruction following, writing, and analysis" -family = "aura" -release_date = "2025-11-14" -last_updated = "2025-11-14" -attachment = false -reasoning = false -temperature = true -tool_call = false -open_weights = false - -[cost] -input = 0 -output = 0 - -[limit] -context = 128000 -output = 16384 - -[modalities] -input = ["text"] -output = ["text"] diff --git a/providers/cloudflare-ai-gateway/models/workers-ai/@cf/deepgram/aura-2-es.toml b/providers/cloudflare-ai-gateway/models/workers-ai/@cf/deepgram/aura-2-es.toml deleted file mode 100644 index 554e48a4f0..0000000000 --- a/providers/cloudflare-ai-gateway/models/workers-ai/@cf/deepgram/aura-2-es.toml +++ /dev/null @@ -1,22 +0,0 @@ -name = "Deepgram Aura 2 (ES)" -description = "General-purpose chat model for instruction following, writing, and analysis" -family = "aura" -release_date = "2025-11-14" -last_updated = "2025-11-14" -attachment = false -reasoning = false -temperature = true -tool_call = false -open_weights = false - -[cost] -input = 0 -output = 0 - -[limit] -context = 128000 -output = 16384 - -[modalities] -input = ["text"] -output = ["text"] diff --git a/providers/cloudflare-ai-gateway/models/workers-ai/@cf/deepgram/nova-3.toml b/providers/cloudflare-ai-gateway/models/workers-ai/@cf/deepgram/nova-3.toml deleted file mode 100644 index 9df4a0493b..0000000000 --- a/providers/cloudflare-ai-gateway/models/workers-ai/@cf/deepgram/nova-3.toml +++ /dev/null @@ -1,22 +0,0 @@ -name = "Deepgram Nova 3" -description = "General-purpose chat model for instruction following, writing, and analysis" -family = "nova" -release_date = "2025-11-14" -last_updated = "2025-11-14" -attachment = false -reasoning = false -temperature = true -tool_call = false -open_weights = false - -[cost] -input = 0 -output = 0 - -[limit] -context = 128000 -output = 16384 - -[modalities] -input = ["text"] -output = ["text"] 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 d55d2b356e..0000000000 --- a/providers/cloudflare-ai-gateway/models/workers-ai/@cf/deepseek-ai/deepseek-r1-distill-qwen-32b.toml +++ /dev/null @@ -1,22 +0,0 @@ -name = "DeepSeek R1 Distill Qwen 32B" -description = "Qwen reasoning model for deliberate problem solving, math, and coding" -family = "deepseek-thinking" -release_date = "2025-04-03" -last_updated = "2025-04-03" -attachment = false -reasoning = false -temperature = true -tool_call = false -open_weights = false - -[cost] -input = 0.5 -output = 4.88 - -[limit] -context = 128000 -output = 16384 - -[modalities] -input = ["text"] -output = ["text"] diff --git a/providers/cloudflare-ai-gateway/models/workers-ai/@cf/facebook/bart-large-cnn.toml b/providers/cloudflare-ai-gateway/models/workers-ai/@cf/facebook/bart-large-cnn.toml deleted file mode 100644 index ca5bd15c40..0000000000 --- a/providers/cloudflare-ai-gateway/models/workers-ai/@cf/facebook/bart-large-cnn.toml +++ /dev/null @@ -1,22 +0,0 @@ -name = "BART Large CNN" -description = "Flagship model for demanding analysis, coding, and production agent workflows" -family = "bart" -release_date = "2025-04-09" -last_updated = "2025-04-09" -attachment = false -reasoning = false -temperature = true -tool_call = false -open_weights = false - -[cost] -input = 0 -output = 0 - -[limit] -context = 128000 -output = 16384 - -[modalities] -input = ["text"] -output = ["text"] diff --git a/providers/cloudflare-ai-gateway/models/workers-ai/@cf/google/gemma-3-12b-it.toml b/providers/cloudflare-ai-gateway/models/workers-ai/@cf/google/gemma-3-12b-it.toml deleted file mode 100644 index 9de47f0d21..0000000000 --- a/providers/cloudflare-ai-gateway/models/workers-ai/@cf/google/gemma-3-12b-it.toml +++ /dev/null @@ -1,22 +0,0 @@ -name = "Gemma 3 12B IT" -description = "Open Gemma instruction model for efficient chat and self-hosted deployments" -family = "gemma" -release_date = "2025-04-11" -last_updated = "2025-04-11" -attachment = false -reasoning = false -temperature = true -tool_call = false -open_weights = false - -[cost] -input = 0.35 -output = 0.56 - -[limit] -context = 128000 -output = 16384 - -[modalities] -input = ["text"] -output = ["text"] diff --git a/providers/cloudflare-ai-gateway/models/workers-ai/@cf/huggingface/distilbert-sst-2-int8.toml b/providers/cloudflare-ai-gateway/models/workers-ai/@cf/huggingface/distilbert-sst-2-int8.toml deleted file mode 100644 index 1379684346..0000000000 --- a/providers/cloudflare-ai-gateway/models/workers-ai/@cf/huggingface/distilbert-sst-2-int8.toml +++ /dev/null @@ -1,22 +0,0 @@ -name = "DistilBERT SST-2 INT8" -description = "General-purpose chat model for instruction following, writing, and analysis" -family = "distilbert" -release_date = "2025-04-03" -last_updated = "2025-04-03" -attachment = false -reasoning = false -temperature = true -tool_call = false -open_weights = false - -[cost] -input = 0.026 -output = 0 - -[limit] -context = 128000 -output = 16384 - -[modalities] -input = ["text"] -output = ["text"] 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 48851b3d73..0000000000 --- a/providers/cloudflare-ai-gateway/models/workers-ai/@cf/ibm-granite/granite-4.0-h-micro.toml +++ /dev/null @@ -1,22 +0,0 @@ -name = "IBM Granite 4.0 H Micro" -description = "Efficient model for low-latency assistance, extraction, and routine automation" -family = "granite" -release_date = "2025-10-15" -last_updated = "2025-10-15" -attachment = false -reasoning = false -temperature = true -tool_call = false -open_weights = false - -[cost] -input = 0.017 -output = 0.11 - -[limit] -context = 128000 -output = 16384 - -[modalities] -input = ["text"] -output = ["text"] diff --git a/providers/cloudflare-ai-gateway/models/workers-ai/@cf/meta/llama-2-7b-chat-fp16.toml b/providers/cloudflare-ai-gateway/models/workers-ai/@cf/meta/llama-2-7b-chat-fp16.toml deleted file mode 100644 index d48b8fc4e0..0000000000 --- a/providers/cloudflare-ai-gateway/models/workers-ai/@cf/meta/llama-2-7b-chat-fp16.toml +++ /dev/null @@ -1,22 +0,0 @@ -name = "Llama 2 7B Chat FP16" -description = "Open Llama instruction model for multilingual chat, reasoning, and coding" -family = "llama" -release_date = "2025-04-03" -last_updated = "2025-04-03" -attachment = false -reasoning = false -temperature = true -tool_call = false -open_weights = false - -[cost] -input = 0.56 -output = 6.67 - -[limit] -context = 128000 -output = 16384 - -[modalities] -input = ["text"] -output = ["text"] diff --git a/providers/cloudflare-ai-gateway/models/workers-ai/@cf/meta/llama-3-8b-instruct-awq.toml b/providers/cloudflare-ai-gateway/models/workers-ai/@cf/meta/llama-3-8b-instruct-awq.toml deleted file mode 100644 index 2864286bd4..0000000000 --- a/providers/cloudflare-ai-gateway/models/workers-ai/@cf/meta/llama-3-8b-instruct-awq.toml +++ /dev/null @@ -1,22 +0,0 @@ -name = "Llama 3 8B Instruct AWQ" -description = "Open Llama instruction model for multilingual chat, reasoning, and coding" -family = "llama" -release_date = "2025-04-03" -last_updated = "2025-04-03" -attachment = false -reasoning = false -temperature = true -tool_call = false -open_weights = false - -[cost] -input = 0.12 -output = 0.27 - -[limit] -context = 128000 -output = 16384 - -[modalities] -input = ["text"] -output = ["text"] diff --git a/providers/cloudflare-ai-gateway/models/workers-ai/@cf/meta/llama-3-8b-instruct.toml b/providers/cloudflare-ai-gateway/models/workers-ai/@cf/meta/llama-3-8b-instruct.toml deleted file mode 100644 index 125198fb74..0000000000 --- a/providers/cloudflare-ai-gateway/models/workers-ai/@cf/meta/llama-3-8b-instruct.toml +++ /dev/null @@ -1,22 +0,0 @@ -name = "Llama 3 8B Instruct" -description = "Open Llama instruction model for multilingual chat, reasoning, and coding" -family = "llama" -release_date = "2025-04-03" -last_updated = "2025-04-03" -attachment = false -reasoning = false -temperature = true -tool_call = false -open_weights = false - -[cost] -input = 0.28 -output = 0.83 - -[limit] -context = 128000 -output = 16384 - -[modalities] -input = ["text"] -output = ["text"] diff --git a/providers/cloudflare-ai-gateway/models/workers-ai/@cf/meta/llama-3.1-8b-instruct-awq.toml b/providers/cloudflare-ai-gateway/models/workers-ai/@cf/meta/llama-3.1-8b-instruct-awq.toml deleted file mode 100644 index 0c764f06c6..0000000000 --- a/providers/cloudflare-ai-gateway/models/workers-ai/@cf/meta/llama-3.1-8b-instruct-awq.toml +++ /dev/null @@ -1,22 +0,0 @@ -name = "Llama 3.1 8B Instruct AWQ" -description = "Open Llama instruction model for multilingual chat, reasoning, and coding" -family = "llama" -release_date = "2025-04-03" -last_updated = "2025-04-03" -attachment = false -reasoning = false -temperature = true -tool_call = false -open_weights = false - -[cost] -input = 0.12 -output = 0.27 - -[limit] -context = 128000 -output = 16384 - -[modalities] -input = ["text"] -output = ["text"] 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 57df0b8fb1..0000000000 --- a/providers/cloudflare-ai-gateway/models/workers-ai/@cf/meta/llama-3.1-8b-instruct-fp8.toml +++ /dev/null @@ -1,22 +0,0 @@ -name = "Llama 3.1 8B Instruct FP8" -description = "Open Llama instruction model for multilingual chat, reasoning, and coding" -family = "llama" -release_date = "2025-04-03" -last_updated = "2025-04-03" -attachment = false -reasoning = false -temperature = true -tool_call = false -open_weights = false - -[cost] -input = 0.15 -output = 0.29 - -[limit] -context = 128000 -output = 16384 - -[modalities] -input = ["text"] -output = ["text"] diff --git a/providers/cloudflare-ai-gateway/models/workers-ai/@cf/meta/llama-3.1-8b-instruct.toml b/providers/cloudflare-ai-gateway/models/workers-ai/@cf/meta/llama-3.1-8b-instruct.toml deleted file mode 100644 index 6db81c336e..0000000000 --- a/providers/cloudflare-ai-gateway/models/workers-ai/@cf/meta/llama-3.1-8b-instruct.toml +++ /dev/null @@ -1,22 +0,0 @@ -name = "Llama 3.1 8B Instruct" -description = "Open Llama instruction model for multilingual chat, reasoning, and coding" -family = "llama" -release_date = "2025-04-03" -last_updated = "2025-04-03" -attachment = false -reasoning = false -temperature = true -tool_call = false -open_weights = false - -[cost] -input = 0.28 -output = 0.8299999999999999 - -[limit] -context = 128000 -output = 16384 - -[modalities] -input = ["text"] -output = ["text"] 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 75023bc81e..0000000000 --- a/providers/cloudflare-ai-gateway/models/workers-ai/@cf/meta/llama-3.2-11b-vision-instruct.toml +++ /dev/null @@ -1,22 +0,0 @@ -name = "Llama 3.2 11B Vision Instruct" -description = "Open Llama instruction model for multilingual chat, reasoning, and coding" -family = "llama" -release_date = "2025-04-03" -last_updated = "2025-04-03" -attachment = false -reasoning = false -temperature = true -tool_call = false -open_weights = false - -[cost] -input = 0.049 -output = 0.68 - -[limit] -context = 128000 -output = 16384 - -[modalities] -input = ["text"] -output = ["text"] 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 4e66eff7eb..0000000000 --- a/providers/cloudflare-ai-gateway/models/workers-ai/@cf/meta/llama-3.2-1b-instruct.toml +++ /dev/null @@ -1,22 +0,0 @@ -name = "Llama 3.2 1B Instruct" -description = "Open Llama instruction model for multilingual chat, reasoning, and coding" -family = "llama" -release_date = "2025-04-03" -last_updated = "2025-04-03" -attachment = false -reasoning = false -temperature = true -tool_call = false -open_weights = false - -[cost] -input = 0.027 -output = 0.2 - -[limit] -context = 128000 -output = 16384 - -[modalities] -input = ["text"] -output = ["text"] 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 bfc251c8c1..0000000000 --- a/providers/cloudflare-ai-gateway/models/workers-ai/@cf/meta/llama-3.2-3b-instruct.toml +++ /dev/null @@ -1,22 +0,0 @@ -name = "Llama 3.2 3B Instruct" -description = "Open Llama instruction model for multilingual chat, reasoning, and coding" -family = "llama" -release_date = "2025-04-03" -last_updated = "2025-04-03" -attachment = false -reasoning = false -temperature = true -tool_call = false -open_weights = false - -[cost] -input = 0.051 -output = 0.34 - -[limit] -context = 128000 -output = 16384 - -[modalities] -input = ["text"] -output = ["text"] 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 3aabf88ba9..0000000000 --- a/providers/cloudflare-ai-gateway/models/workers-ai/@cf/meta/llama-3.3-70b-instruct-fp8-fast.toml +++ /dev/null @@ -1,22 +0,0 @@ -name = "Llama 3.3 70B Instruct FP8 Fast" -description = "Compact Llama instruction model for fast chat and local deployment" -family = "llama" -release_date = "2025-04-03" -last_updated = "2025-04-03" -attachment = false -reasoning = false -temperature = true -tool_call = false -open_weights = false - -[cost] -input = 0.29 -output = 2.25 - -[limit] -context = 128000 -output = 16384 - -[modalities] -input = ["text"] -output = ["text"] 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 ee5907a104..0000000000 --- a/providers/cloudflare-ai-gateway/models/workers-ai/@cf/meta/llama-4-scout-17b-16e-instruct.toml +++ /dev/null @@ -1,22 +0,0 @@ -name = "Llama 4 Scout 17B 16E Instruct" -description = "Open multimodal Llama model for long-context analysis and efficient agents" -family = "llama" -release_date = "2025-04-16" -last_updated = "2025-04-16" -attachment = false -reasoning = false -temperature = true -tool_call = false -open_weights = false - -[cost] -input = 0.27 -output = 0.85 - -[limit] -context = 128000 -output = 16384 - -[modalities] -input = ["text"] -output = ["text"] 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 9fae81e8de..0000000000 --- a/providers/cloudflare-ai-gateway/models/workers-ai/@cf/meta/llama-guard-3-8b.toml +++ /dev/null @@ -1,22 +0,0 @@ -name = "Llama Guard 3 8B" -description = "Safety model for policy screening, moderation, and risk-aware routing workflows" -family = "llama" -release_date = "2025-04-03" -last_updated = "2025-04-03" -attachment = false -reasoning = false -temperature = true -tool_call = false -open_weights = false - -[cost] -input = 0.48 -output = 0.03 - -[limit] -context = 128000 -output = 16384 - -[modalities] -input = ["text"] -output = ["text"] diff --git a/providers/cloudflare-ai-gateway/models/workers-ai/@cf/meta/m2m100-1.2b.toml b/providers/cloudflare-ai-gateway/models/workers-ai/@cf/meta/m2m100-1.2b.toml deleted file mode 100644 index 3a53893ce5..0000000000 --- a/providers/cloudflare-ai-gateway/models/workers-ai/@cf/meta/m2m100-1.2b.toml +++ /dev/null @@ -1,22 +0,0 @@ -name = "M2M100 1.2B" -description = "General-purpose chat model for instruction following, writing, and analysis" -family = "m2m" -release_date = "2025-04-03" -last_updated = "2025-04-03" -attachment = false -reasoning = false -temperature = true -tool_call = false -open_weights = false - -[cost] -input = 0.34 -output = 0.34 - -[limit] -context = 128000 -output = 16384 - -[modalities] -input = ["text"] -output = ["text"] diff --git a/providers/cloudflare-ai-gateway/models/workers-ai/@cf/mistral/mistral-7b-instruct-v0.1.toml b/providers/cloudflare-ai-gateway/models/workers-ai/@cf/mistral/mistral-7b-instruct-v0.1.toml deleted file mode 100644 index e2aae716f4..0000000000 --- a/providers/cloudflare-ai-gateway/models/workers-ai/@cf/mistral/mistral-7b-instruct-v0.1.toml +++ /dev/null @@ -1,22 +0,0 @@ -name = "Mistral 7B Instruct v0.1" -description = "Mistral model for multilingual chat, reasoning, and tool-assisted workflows" -family = "mistral" -release_date = "2025-04-03" -last_updated = "2025-04-03" -attachment = false -reasoning = false -temperature = true -tool_call = false -open_weights = false - -[cost] -input = 0.11 -output = 0.19 - -[limit] -context = 128000 -output = 16384 - -[modalities] -input = ["text"] -output = ["text"] 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 c3b5a82fc7..0000000000 --- a/providers/cloudflare-ai-gateway/models/workers-ai/@cf/mistralai/mistral-small-3.1-24b-instruct.toml +++ /dev/null @@ -1,22 +0,0 @@ -name = "Mistral Small 3.1 24B Instruct" -description = "Efficient Mistral model for fast chat, extraction, and production assistants" -family = "mistral-small" -release_date = "2025-04-11" -last_updated = "2025-04-11" -attachment = false -reasoning = false -temperature = true -tool_call = false -open_weights = false - -[cost] -input = 0.35 -output = 0.56 - -[limit] -context = 128000 -output = 16384 - -[modalities] -input = ["text"] -output = ["text"] diff --git a/providers/cloudflare-ai-gateway/models/workers-ai/@cf/moonshotai/kimi-k2.5.toml b/providers/cloudflare-ai-gateway/models/workers-ai/@cf/moonshotai/kimi-k2.5.toml deleted file mode 100644 index 9613f91163..0000000000 --- a/providers/cloudflare-ai-gateway/models/workers-ai/@cf/moonshotai/kimi-k2.5.toml +++ /dev/null @@ -1,32 +0,0 @@ -# Raw Workers AI input uses `reasoning_effort = low|medium|high` and -# `chat_template_kwargs.enable_thinking = true|false`. -# https://developers.cloudflare.com/workers-ai/models/kimi-k2.5/sync-input.json (accessed 2026-06-25) -name = "Kimi K2.5" -description = "Kimi multimodal agent model for visual understanding, coding, and planning" -family = "kimi-k2" -release_date = "2026-01-27" -last_updated = "2026-01-27" -attachment = true -reasoning = true -reasoning_options = [{ type = "toggle" }, { type = "effort", values = ["low", "medium", "high"] }] -structured_output = true -temperature = true -tool_call = true -knowledge = "2025-01" -open_weights = true - -[interleaved] -field = "reasoning_content" - -[cost] -input = 0.60 -output = 3.00 -cache_read = 0.10 - -[limit] -context = 256_000 -output = 256_000 - -[modalities] -input = ["text", "image"] -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 cf4d101366..0000000000 --- a/providers/cloudflare-ai-gateway/models/workers-ai/@cf/moonshotai/kimi-k2.6.toml +++ /dev/null @@ -1,32 +0,0 @@ -# Raw Workers AI input uses `reasoning_effort = low|medium|high` and -# `chat_template_kwargs.thinking = true|false`. -# https://developers.cloudflare.com/workers-ai/models/kimi-k2.6/sync-input.json (accessed 2026-06-25) -name = "Kimi K2.6" -description = "Kimi multimodal agent model for visual understanding, coding, and planning" -family = "kimi-k2" -release_date = "2026-04-20" -last_updated = "2026-04-20" -attachment = true -reasoning = true -reasoning_options = [{ type = "toggle" }, { type = "effort", values = ["low", "medium", "high"] }] -structured_output = true -temperature = true -tool_call = true -knowledge = "2025-01" -open_weights = true - -[interleaved] -field = "reasoning_content" - -[cost] -input = 0.95 -output = 4.00 -cache_read = 0.16 - -[limit] -context = 256_000 -output = 256_000 - -[modalities] -input = ["text", "image"] -output = ["text"] diff --git a/providers/cloudflare-ai-gateway/models/workers-ai/@cf/myshell-ai/melotts.toml b/providers/cloudflare-ai-gateway/models/workers-ai/@cf/myshell-ai/melotts.toml deleted file mode 100644 index 6ed68939ea..0000000000 --- a/providers/cloudflare-ai-gateway/models/workers-ai/@cf/myshell-ai/melotts.toml +++ /dev/null @@ -1,22 +0,0 @@ -name = "MyShell MeloTTS" -description = "General-purpose chat model for instruction following, writing, and analysis" -family = "melotts" -release_date = "2025-11-14" -last_updated = "2025-11-14" -attachment = false -reasoning = false -temperature = true -tool_call = false -open_weights = false - -[cost] -input = 0 -output = 0 - -[limit] -context = 128000 -output = 16384 - -[modalities] -input = ["text"] -output = ["text"] 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 ff30964364..0000000000 --- a/providers/cloudflare-ai-gateway/models/workers-ai/@cf/nvidia/nemotron-3-120b-a12b.toml +++ /dev/null @@ -1,29 +0,0 @@ -# Raw Workers AI input uses `reasoning_effort = low|medium|high` and -# `chat_template_kwargs.enable_thinking = true|false`. -# https://developers.cloudflare.com/workers-ai/models/nemotron-3-120b-a12b/sync-input.json (accessed 2026-06-25) -name = "Nemotron 3 Super 120B" -base_model = "nvidia/nemotron-3-super-120b-a12b" -family = "nemotron" -release_date = "2026-03-11" -last_updated = "2026-03-11" -attachment = false -reasoning = true -reasoning_options = [{ type = "toggle" }, { type = "effort", values = ["low", "medium", "high"] }] -temperature = true -tool_call = true -open_weights = true - -[interleaved] -field = "reasoning_content" - -[cost] -input = 0.50 -output = 1.50 - -[limit] -context = 256_000 -output = 256_000 - -[modalities] -input = ["text"] -output = ["text"] 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 19319dc60c..0000000000 --- a/providers/cloudflare-ai-gateway/models/workers-ai/@cf/openai/gpt-oss-120b.toml +++ /dev/null @@ -1,21 +0,0 @@ -name = "GPT OSS 120B" -description = "Open-weight GPT model for self-hosted reasoning and instruction-following workloads" -release_date = "2025-08-05" -last_updated = "2025-08-05" -attachment = false -reasoning = false -temperature = true -tool_call = false -open_weights = false - -[cost] -input = 0.35 -output = 0.75 - -[limit] -context = 128000 -output = 16384 - -[modalities] -input = ["text"] -output = ["text"] 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 471f1a3394..0000000000 --- a/providers/cloudflare-ai-gateway/models/workers-ai/@cf/openai/gpt-oss-20b.toml +++ /dev/null @@ -1,21 +0,0 @@ -name = "GPT OSS 20B" -description = "Open-weight GPT model for self-hosted reasoning and instruction-following workloads" -release_date = "2025-08-05" -last_updated = "2025-08-05" -attachment = false -reasoning = false -temperature = true -tool_call = false -open_weights = false - -[cost] -input = 0.2 -output = 0.3 - -[limit] -context = 128000 -output = 16384 - -[modalities] -input = ["text"] -output = ["text"] diff --git a/providers/cloudflare-ai-gateway/models/workers-ai/@cf/pfnet/plamo-embedding-1b.toml b/providers/cloudflare-ai-gateway/models/workers-ai/@cf/pfnet/plamo-embedding-1b.toml deleted file mode 100644 index 6e67eab6d0..0000000000 --- a/providers/cloudflare-ai-gateway/models/workers-ai/@cf/pfnet/plamo-embedding-1b.toml +++ /dev/null @@ -1,22 +0,0 @@ -name = "PLaMo Embedding 1B" -description = "Embedding model for semantic search, retrieval, clustering, and ranking pipelines" -family = "plamo" -release_date = "2025-09-25" -last_updated = "2025-09-25" -attachment = false -reasoning = false -temperature = true -tool_call = false -open_weights = false - -[cost] -input = 0.019 -output = 0 - -[limit] -context = 128000 -output = 16384 - -[modalities] -input = ["text"] -output = ["text"] diff --git a/providers/cloudflare-ai-gateway/models/workers-ai/@cf/pipecat-ai/smart-turn-v2.toml b/providers/cloudflare-ai-gateway/models/workers-ai/@cf/pipecat-ai/smart-turn-v2.toml deleted file mode 100644 index cdb5b7acf7..0000000000 --- a/providers/cloudflare-ai-gateway/models/workers-ai/@cf/pipecat-ai/smart-turn-v2.toml +++ /dev/null @@ -1,22 +0,0 @@ -name = "Pipecat Smart Turn v2" -description = "General-purpose chat model for instruction following, writing, and analysis" -family = "smart-turn" -release_date = "2025-11-14" -last_updated = "2025-11-14" -attachment = false -reasoning = false -temperature = true -tool_call = false -open_weights = false - -[cost] -input = 0 -output = 0 - -[limit] -context = 128000 -output = 16384 - -[modalities] -input = ["text"] -output = ["text"] 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 d16f926bc7..0000000000 --- a/providers/cloudflare-ai-gateway/models/workers-ai/@cf/qwen/qwen2.5-coder-32b-instruct.toml +++ /dev/null @@ -1,22 +0,0 @@ -name = "Qwen 2.5 Coder 32B Instruct" -description = "Qwen coding model for software agents, repository edits, and code reasoning" -family = "qwen" -release_date = "2025-04-11" -last_updated = "2025-04-11" -attachment = false -reasoning = false -temperature = true -tool_call = false -open_weights = false - -[cost] -input = 0.66 -output = 1 - -[limit] -context = 128000 -output = 16384 - -[modalities] -input = ["text"] -output = ["text"] 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 aee429e3b0..0000000000 --- a/providers/cloudflare-ai-gateway/models/workers-ai/@cf/qwen/qwen3-30b-a3b-fp8.toml +++ /dev/null @@ -1,22 +0,0 @@ -name = "Qwen3 30B A3B FP8" -description = "Qwen instruction model for multilingual chat, reasoning, and tool use" -family = "qwen" -release_date = "2025-11-14" -last_updated = "2025-11-14" -attachment = false -reasoning = false -temperature = true -tool_call = false -open_weights = false - -[cost] -input = 0.051 -output = 0.34 - -[limit] -context = 128000 -output = 16384 - -[modalities] -input = ["text"] -output = ["text"] diff --git a/providers/cloudflare-ai-gateway/models/workers-ai/@cf/qwen/qwen3-embedding-0.6b.toml b/providers/cloudflare-ai-gateway/models/workers-ai/@cf/qwen/qwen3-embedding-0.6b.toml deleted file mode 100644 index 8585d29c60..0000000000 --- a/providers/cloudflare-ai-gateway/models/workers-ai/@cf/qwen/qwen3-embedding-0.6b.toml +++ /dev/null @@ -1,22 +0,0 @@ -name = "Qwen3 Embedding 0.6B" -description = "Embedding model for semantic search, retrieval, clustering, and ranking pipelines" -family = "qwen" -release_date = "2025-11-14" -last_updated = "2025-11-14" -attachment = false -reasoning = false -temperature = true -tool_call = false -open_weights = false - -[cost] -input = 0.012 -output = 0 - -[limit] -context = 128000 -output = 16384 - -[modalities] -input = ["text"] -output = ["text"] 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 010260c3c0..0000000000 --- a/providers/cloudflare-ai-gateway/models/workers-ai/@cf/qwen/qwq-32b.toml +++ /dev/null @@ -1,22 +0,0 @@ -name = "QwQ 32B" -description = "Qwen reasoning model for deliberate problem solving, math, and coding" -family = "qwen" -release_date = "2025-04-11" -last_updated = "2025-04-11" -attachment = false -reasoning = false -temperature = true -tool_call = false -open_weights = false - -[cost] -input = 0.66 -output = 1 - -[limit] -context = 128000 -output = 16384 - -[modalities] -input = ["text"] -output = ["text"] 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 461d1fd202..0000000000 --- a/providers/cloudflare-ai-gateway/models/workers-ai/@cf/zai-org/glm-4.7-flash.toml +++ /dev/null @@ -1,27 +0,0 @@ -# Raw Workers AI input uses `reasoning_effort = low|medium|high` and -# `chat_template_kwargs.enable_thinking = true|false`. -# https://developers.cloudflare.com/workers-ai/models/glm-4.7-flash/sync-input.json (accessed 2026-06-25) -name = "GLM-4.7-Flash" -description = "Efficient GLM model for fast reasoning, coding, and agent workflows" -family = "glm-flash" -release_date = "2026-01-19" -last_updated = "2026-01-19" -attachment = false -reasoning = true -reasoning_options = [{ type = "toggle" }, { type = "effort", values = ["low", "medium", "high"] }] -temperature = true -tool_call = true -knowledge = "2025-04" -open_weights = true - -[cost] -input = 0.06 -output = 0.40 - -[limit] -context = 131_072 -output = 131_072 - -[modalities] -input = ["text"] -output = ["text"] 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 fe4d6b28b4..0000000000 --- a/providers/cloudflare-ai-gateway/models/workers-ai/@cf/zai-org/glm-5.2.toml +++ /dev/null @@ -1,15 +0,0 @@ -# Raw Workers AI input uses `reasoning_effort = low|medium|high` and -# `chat_template_kwargs.enable_thinking = true|false`. -# https://developers.cloudflare.com/workers-ai/models/glm-5.2/sync-input.json (accessed 2026-07-13) -base_model = "zhipuai/glm-5.2" -name = "Glm 5.2" -reasoning_options = [{ type = "toggle" }, { type = "effort", values = ["low", "medium", "high"] }] - -[cost] -input = 1.4 -output = 4.4 -cache_read = 0.26 - -[limit] -context = 262_144 -output = 262_144 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 3695f7e933..0000000000 --- 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 311c4b3c2f..0000000000 --- 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 29ab0514c9..0000000000 --- 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 3a11f938e5..0000000000 --- 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 -} diff --git a/providers/cloudflare-workers-ai/models/@cf/ai4bharat/indictrans2-en-indic-1B.toml b/providers/cloudflare-workers-ai/models/@cf/ai4bharat/indictrans2-en-indic-1B.toml new file mode 100644 index 0000000000..fe3d238a2e --- /dev/null +++ b/providers/cloudflare-workers-ai/models/@cf/ai4bharat/indictrans2-en-indic-1B.toml @@ -0,0 +1,22 @@ +name = "@cf/ai4bharat/indictrans2-en-indic-1B" +description = "IndicTrans2 is the first open-source transformer-based multilingual NMT model that supports high-quality translations across all the 22 scheduled Indic languages" +release_date = "2025-09-23" +last_updated = "2025-09-23" +attachment = false +reasoning = false +temperature = false +tool_call = false +structured_output = false +open_weights = false + +[cost] +input = 0.342 +output = 0.342 + +[limit] +context = 0 +output = 0 + +[modalities] +input = ["text"] +output = ["text"] diff --git a/providers/cloudflare-workers-ai/models/@cf/baai/bge-base-en-v1.5.toml b/providers/cloudflare-workers-ai/models/@cf/baai/bge-base-en-v1.5.toml new file mode 100644 index 0000000000..e62ead9283 --- /dev/null +++ b/providers/cloudflare-workers-ai/models/@cf/baai/bge-base-en-v1.5.toml @@ -0,0 +1,23 @@ +name = "@cf/baai/bge-base-en-v1.5" +description = "BAAI general embedding (Base) model that transforms any given text into a 768-dimensional vector" +family = "bge" +release_date = "2023-09-25" +last_updated = "2023-09-25" +attachment = false +reasoning = false +temperature = false +tool_call = false +structured_output = false +open_weights = false + +[cost] +input = 0.0666 +output = 0 + +[limit] +context = 153_600 +output = 153_600 + +[modalities] +input = ["text"] +output = ["text"] diff --git a/providers/cloudflare-workers-ai/models/@cf/baai/bge-large-en-v1.5.toml b/providers/cloudflare-workers-ai/models/@cf/baai/bge-large-en-v1.5.toml new file mode 100644 index 0000000000..e1848465e9 --- /dev/null +++ b/providers/cloudflare-workers-ai/models/@cf/baai/bge-large-en-v1.5.toml @@ -0,0 +1,23 @@ +name = "@cf/baai/bge-large-en-v1.5" +description = "BAAI general embedding (Large) model that transforms any given text into a 1024-dimensional vector" +family = "bge" +release_date = "2023-11-07" +last_updated = "2023-11-07" +attachment = false +reasoning = false +temperature = false +tool_call = false +structured_output = false +open_weights = false + +[cost] +input = 0.204 +output = 0 + +[limit] +context = 0 +output = 0 + +[modalities] +input = ["text"] +output = ["text"] diff --git a/providers/cloudflare-workers-ai/models/@cf/baai/bge-m3.toml b/providers/cloudflare-workers-ai/models/@cf/baai/bge-m3.toml new file mode 100644 index 0000000000..dc4292a977 --- /dev/null +++ b/providers/cloudflare-workers-ai/models/@cf/baai/bge-m3.toml @@ -0,0 +1,23 @@ +name = "@cf/baai/bge-m3" +description = "Multi-Functionality, Multi-Linguality, and Multi-Granularity embeddings model." +family = "bge" +release_date = "2024-05-22" +last_updated = "2024-05-22" +attachment = false +reasoning = false +temperature = false +tool_call = false +structured_output = false +open_weights = false + +[cost] +input = 0.0118 +output = 0 + +[limit] +context = 60_000 +output = 60_000 + +[modalities] +input = ["text"] +output = ["text"] diff --git a/providers/cloudflare-workers-ai/models/@cf/baai/bge-reranker-base.toml b/providers/cloudflare-workers-ai/models/@cf/baai/bge-reranker-base.toml new file mode 100644 index 0000000000..41fd807c7f --- /dev/null +++ b/providers/cloudflare-workers-ai/models/@cf/baai/bge-reranker-base.toml @@ -0,0 +1,23 @@ +name = "@cf/baai/bge-reranker-base" +description = "Different from embedding model, reranker uses question and document as input and directly output similarity instead of embedding. You can get a relevance score by inputting query and passage to the reranker. And the score can be mapped to a float value in [0,1] by sigmoid function." +family = "bge" +release_date = "2025-02-14" +last_updated = "2025-02-14" +attachment = false +reasoning = false +temperature = false +tool_call = false +structured_output = false +open_weights = false + +[cost] +input = 0.00311 +output = 0 + +[limit] +context = 0 +output = 0 + +[modalities] +input = ["text"] +output = ["text"] diff --git a/providers/cloudflare-workers-ai/models/@cf/baai/bge-small-en-v1.5.toml b/providers/cloudflare-workers-ai/models/@cf/baai/bge-small-en-v1.5.toml new file mode 100644 index 0000000000..31c2b20ee9 --- /dev/null +++ b/providers/cloudflare-workers-ai/models/@cf/baai/bge-small-en-v1.5.toml @@ -0,0 +1,23 @@ +name = "@cf/baai/bge-small-en-v1.5" +description = "BAAI general embedding (Small) model that transforms any given text into a 384-dimensional vector" +family = "bge" +release_date = "2023-11-07" +last_updated = "2023-11-07" +attachment = false +reasoning = false +temperature = false +tool_call = false +structured_output = false +open_weights = false + +[cost] +input = 0.0202 +output = 0 + +[limit] +context = 0 +output = 0 + +[modalities] +input = ["text"] +output = ["text"] diff --git a/providers/cloudflare-workers-ai/models/@cf/black-forest-labs/flux-1-schnell.toml b/providers/cloudflare-workers-ai/models/@cf/black-forest-labs/flux-1-schnell.toml new file mode 100644 index 0000000000..d698a6ce9c --- /dev/null +++ b/providers/cloudflare-workers-ai/models/@cf/black-forest-labs/flux-1-schnell.toml @@ -0,0 +1,19 @@ +name = "@cf/black-forest-labs/flux-1-schnell" +description = "FLUX.1 [schnell] is a 12 billion parameter rectified flow transformer capable of generating images from text descriptions." +family = "flux" +release_date = "2024-08-29" +last_updated = "2024-08-29" +attachment = false +reasoning = false +temperature = false +tool_call = false +structured_output = false +open_weights = false + +[limit] +context = 0 +output = 0 + +[modalities] +input = ["text"] +output = ["image"] diff --git a/providers/cloudflare-workers-ai/models/@cf/black-forest-labs/flux-2-dev.toml b/providers/cloudflare-workers-ai/models/@cf/black-forest-labs/flux-2-dev.toml new file mode 100644 index 0000000000..0ce2172683 --- /dev/null +++ b/providers/cloudflare-workers-ai/models/@cf/black-forest-labs/flux-2-dev.toml @@ -0,0 +1,19 @@ +name = "@cf/black-forest-labs/flux-2-dev" +description = "FLUX.2 [dev] is an image model from Black Forest Labs where you can generate highly realistic and detailed images, with multi-reference support." +family = "flux" +release_date = "2025-11-24" +last_updated = "2025-11-24" +attachment = false +reasoning = false +temperature = false +tool_call = false +structured_output = false +open_weights = false + +[limit] +context = 0 +output = 0 + +[modalities] +input = ["text"] +output = ["image"] diff --git a/providers/cloudflare-workers-ai/models/@cf/black-forest-labs/flux-2-klein-4b.toml b/providers/cloudflare-workers-ai/models/@cf/black-forest-labs/flux-2-klein-4b.toml new file mode 100644 index 0000000000..8fa816da38 --- /dev/null +++ b/providers/cloudflare-workers-ai/models/@cf/black-forest-labs/flux-2-klein-4b.toml @@ -0,0 +1,19 @@ +name = "@cf/black-forest-labs/flux-2-klein-4b" +description = "FLUX.2 [klein] is an ultra-fast, distilled image model. It unifies image generation and editing in a single model, delivering state-of-the-art quality enabling interactive workflows, real-time previews, and latency-critical applications." +family = "flux" +release_date = "2026-01-14" +last_updated = "2026-01-14" +attachment = false +reasoning = false +temperature = false +tool_call = false +structured_output = false +open_weights = false + +[limit] +context = 0 +output = 0 + +[modalities] +input = ["text"] +output = ["image"] diff --git a/providers/cloudflare-workers-ai/models/@cf/black-forest-labs/flux-2-klein-9b.toml b/providers/cloudflare-workers-ai/models/@cf/black-forest-labs/flux-2-klein-9b.toml new file mode 100644 index 0000000000..4a030d8f87 --- /dev/null +++ b/providers/cloudflare-workers-ai/models/@cf/black-forest-labs/flux-2-klein-9b.toml @@ -0,0 +1,19 @@ +name = "@cf/black-forest-labs/flux-2-klein-9b" +description = "FLUX.2 [klein] 9B is a 9 billion parameter model that can generate images from text descriptions and supports multi-reference editing capabilities." +family = "flux" +release_date = "2026-01-14" +last_updated = "2026-01-14" +attachment = false +reasoning = false +temperature = false +tool_call = false +structured_output = false +open_weights = false + +[limit] +context = 0 +output = 0 + +[modalities] +input = ["text"] +output = ["image"] diff --git a/providers/cloudflare-workers-ai/models/@cf/bytedance/stable-diffusion-xl-lightning.toml b/providers/cloudflare-workers-ai/models/@cf/bytedance/stable-diffusion-xl-lightning.toml new file mode 100644 index 0000000000..2e24fa2a1f --- /dev/null +++ b/providers/cloudflare-workers-ai/models/@cf/bytedance/stable-diffusion-xl-lightning.toml @@ -0,0 +1,19 @@ +name = "@cf/bytedance/stable-diffusion-xl-lightning" +description = "SDXL-Lightning is a lightning-fast text-to-image generation model. It can generate high-quality 1024px images in a few steps." +family = "stable-diffusion" +release_date = "2024-02-27" +last_updated = "2024-02-27" +attachment = false +reasoning = false +temperature = false +tool_call = false +structured_output = false +open_weights = false + +[limit] +context = 0 +output = 0 + +[modalities] +input = ["text"] +output = ["image"] diff --git a/providers/cloudflare-workers-ai/models/@cf/deepgram/aura-1.toml b/providers/cloudflare-workers-ai/models/@cf/deepgram/aura-1.toml new file mode 100644 index 0000000000..0f3c0d6feb --- /dev/null +++ b/providers/cloudflare-workers-ai/models/@cf/deepgram/aura-1.toml @@ -0,0 +1,25 @@ +# per 1k characters +name = "@cf/deepgram/aura-1" +description = "Aura is a context-aware text-to-speech (TTS) model that applies natural pacing, expressiveness, and fillers based on the context of the provided text. The quality of your text input directly impacts the naturalness of the audio output." +family = "aura" +release_date = "2025-08-27" +last_updated = "2025-08-27" +attachment = false +reasoning = false +temperature = false +tool_call = false +structured_output = false +open_weights = false + +[cost] +input = 0 +output = 0 +output_audio = 0.015 + +[limit] +context = 0 +output = 0 + +[modalities] +input = ["text"] +output = ["audio"] diff --git a/providers/cloudflare-workers-ai/models/@cf/deepgram/aura-2-en.toml b/providers/cloudflare-workers-ai/models/@cf/deepgram/aura-2-en.toml new file mode 100644 index 0000000000..d3e4d4fa12 --- /dev/null +++ b/providers/cloudflare-workers-ai/models/@cf/deepgram/aura-2-en.toml @@ -0,0 +1,25 @@ +# per 1k characters +name = "@cf/deepgram/aura-2-en" +description = "Aura-2 is a context-aware text-to-speech (TTS) model that applies natural pacing, expressiveness, and fillers based on the context of the provided text. The quality of your text input directly impacts the naturalness of the audio output." +family = "aura" +release_date = "2025-10-09" +last_updated = "2025-10-09" +attachment = false +reasoning = false +temperature = false +tool_call = false +structured_output = false +open_weights = false + +[cost] +input = 0 +output = 0 +output_audio = 0.03 + +[limit] +context = 0 +output = 0 + +[modalities] +input = ["text"] +output = ["audio"] diff --git a/providers/cloudflare-workers-ai/models/@cf/deepgram/aura-2-es.toml b/providers/cloudflare-workers-ai/models/@cf/deepgram/aura-2-es.toml new file mode 100644 index 0000000000..9368f676f6 --- /dev/null +++ b/providers/cloudflare-workers-ai/models/@cf/deepgram/aura-2-es.toml @@ -0,0 +1,25 @@ +# per 1k characters +name = "@cf/deepgram/aura-2-es" +description = "Aura-2 is a context-aware text-to-speech (TTS) model that applies natural pacing, expressiveness, and fillers based on the context of the provided text. The quality of your text input directly impacts the naturalness of the audio output." +family = "aura" +release_date = "2025-10-09" +last_updated = "2025-10-09" +attachment = false +reasoning = false +temperature = false +tool_call = false +structured_output = false +open_weights = false + +[cost] +input = 0 +output = 0 +output_audio = 0.03 + +[limit] +context = 0 +output = 0 + +[modalities] +input = ["text"] +output = ["audio"] diff --git a/providers/cloudflare-workers-ai/models/@cf/deepgram/flux.toml b/providers/cloudflare-workers-ai/models/@cf/deepgram/flux.toml new file mode 100644 index 0000000000..07bdf4d28d --- /dev/null +++ b/providers/cloudflare-workers-ai/models/@cf/deepgram/flux.toml @@ -0,0 +1,24 @@ +# per audio minute (websocket) +name = "@cf/deepgram/flux" +description = "Flux is the first conversational speech recognition model built specifically for voice agents." +release_date = "2025-09-29" +last_updated = "2025-09-29" +attachment = true +reasoning = false +temperature = false +tool_call = false +structured_output = false +open_weights = false + +[cost] +input = 0 +output = 0 +input_audio = 0.0077 + +[limit] +context = 0 +output = 0 + +[modalities] +input = ["audio"] +output = ["text"] diff --git a/providers/cloudflare-workers-ai/models/@cf/deepgram/nova-3.toml b/providers/cloudflare-workers-ai/models/@cf/deepgram/nova-3.toml new file mode 100644 index 0000000000..e9531f93e2 --- /dev/null +++ b/providers/cloudflare-workers-ai/models/@cf/deepgram/nova-3.toml @@ -0,0 +1,25 @@ +# per audio minute +name = "@cf/deepgram/nova-3" +description = "Transcribe audio using Deepgram’s speech-to-text model" +family = "nova" +release_date = "2025-06-05" +last_updated = "2025-06-05" +attachment = true +reasoning = false +temperature = false +tool_call = false +structured_output = false +open_weights = false + +[cost] +input = 0 +output = 0 +input_audio = 0.0052 + +[limit] +context = 0 +output = 0 + +[modalities] +input = ["audio"] +output = ["text"] diff --git a/providers/cloudflare-workers-ai/models/@cf/google/embeddinggemma-300m.toml b/providers/cloudflare-workers-ai/models/@cf/google/embeddinggemma-300m.toml new file mode 100644 index 0000000000..8155eeee70 --- /dev/null +++ b/providers/cloudflare-workers-ai/models/@cf/google/embeddinggemma-300m.toml @@ -0,0 +1,18 @@ +name = "@cf/google/embeddinggemma-300m" +description = "EmbeddingGemma is a 300M parameter, state-of-the-art for its size, open embedding model from Google, built from Gemma 3 (with T5Gemma initialization) and the same research and technology used to create Gemini models. EmbeddingGemma produces vector representations of text, making it well-suited for search and retrieval tasks, including classification, clustering, and semantic similarity search. This model was trained with data in 100+ spoken languages." +release_date = "2025-09-04" +last_updated = "2025-09-04" +attachment = false +reasoning = false +temperature = false +tool_call = false +structured_output = false +open_weights = false + +[limit] +context = 0 +output = 0 + +[modalities] +input = ["text"] +output = ["text"] diff --git a/providers/cloudflare-workers-ai/models/@cf/google/gemma-2b-it-lora.toml b/providers/cloudflare-workers-ai/models/@cf/google/gemma-2b-it-lora.toml new file mode 100644 index 0000000000..f9e5bdf72d --- /dev/null +++ b/providers/cloudflare-workers-ai/models/@cf/google/gemma-2b-it-lora.toml @@ -0,0 +1,19 @@ +name = "@cf/google/gemma-2b-it-lora" +description = "This is a Gemma-2B base model that Cloudflare dedicates for inference with LoRA adapters. Gemma is a family of lightweight, state-of-the-art open models from Google, built from the same research and technology used to create the Gemini models." +family = "gemma" +release_date = "2024-04-02" +last_updated = "2024-04-02" +attachment = false +reasoning = false +temperature = false +tool_call = false +structured_output = false +open_weights = false + +[limit] +context = 8_192 +output = 8_192 + +[modalities] +input = ["text"] +output = ["text"] diff --git a/providers/cloudflare-workers-ai/models/@cf/google/gemma-7b-it-lora.toml b/providers/cloudflare-workers-ai/models/@cf/google/gemma-7b-it-lora.toml new file mode 100644 index 0000000000..254cc16710 --- /dev/null +++ b/providers/cloudflare-workers-ai/models/@cf/google/gemma-7b-it-lora.toml @@ -0,0 +1,19 @@ +name = "@cf/google/gemma-7b-it-lora" +description = "This is a Gemma-7B base model that Cloudflare dedicates for inference with LoRA adapters. Gemma is a family of lightweight, state-of-the-art open models from Google, built from the same research and technology used to create the Gemini models." +family = "gemma" +release_date = "2024-04-02" +last_updated = "2024-04-02" +attachment = false +reasoning = false +temperature = false +tool_call = false +structured_output = false +open_weights = false + +[limit] +context = 3_500 +output = 3_500 + +[modalities] +input = ["text"] +output = ["text"] diff --git a/providers/cloudflare-workers-ai/models/@cf/huggingface/distilbert-sst-2-int8.toml b/providers/cloudflare-workers-ai/models/@cf/huggingface/distilbert-sst-2-int8.toml new file mode 100644 index 0000000000..54f4f8310f --- /dev/null +++ b/providers/cloudflare-workers-ai/models/@cf/huggingface/distilbert-sst-2-int8.toml @@ -0,0 +1,23 @@ +name = "@cf/huggingface/distilbert-sst-2-int8" +description = "Distilled BERT model that was finetuned on SST-2 for sentiment classification" +family = "distilbert" +release_date = "2023-09-25" +last_updated = "2023-09-25" +attachment = false +reasoning = false +temperature = false +tool_call = false +structured_output = false +open_weights = false + +[cost] +input = 0.0263 +output = 0 + +[limit] +context = 0 +output = 0 + +[modalities] +input = ["text"] +output = ["text"] diff --git a/providers/cloudflare-workers-ai/models/@cf/leonardo/lucid-origin.toml b/providers/cloudflare-workers-ai/models/@cf/leonardo/lucid-origin.toml new file mode 100644 index 0000000000..a6435f253a --- /dev/null +++ b/providers/cloudflare-workers-ai/models/@cf/leonardo/lucid-origin.toml @@ -0,0 +1,19 @@ +name = "@cf/leonardo/lucid-origin" +description = "Lucid Origin from Leonardo.AI is their most adaptable and prompt-responsive model to date. Whether you're generating images with sharp graphic design, stunning full-HD renders, or highly specific creative direction, it adheres closely to your prompts, renders text with accuracy, and supports a wide array of visual styles and aesthetics – from stylized concept art to crisp product mockups." +family = "lucid" +release_date = "2025-08-25" +last_updated = "2025-08-25" +attachment = false +reasoning = false +temperature = false +tool_call = false +structured_output = false +open_weights = false + +[limit] +context = 0 +output = 0 + +[modalities] +input = ["text"] +output = ["image"] diff --git a/providers/cloudflare-workers-ai/models/@cf/leonardo/phoenix-1.0.toml b/providers/cloudflare-workers-ai/models/@cf/leonardo/phoenix-1.0.toml new file mode 100644 index 0000000000..8993dec6dc --- /dev/null +++ b/providers/cloudflare-workers-ai/models/@cf/leonardo/phoenix-1.0.toml @@ -0,0 +1,19 @@ +name = "@cf/leonardo/phoenix-1.0" +description = "Phoenix 1.0 is a model by Leonardo.Ai that generates images with exceptional prompt adherence and coherent text." +family = "phoenix" +release_date = "2025-08-25" +last_updated = "2025-08-25" +attachment = false +reasoning = false +temperature = false +tool_call = false +structured_output = false +open_weights = false + +[limit] +context = 0 +output = 0 + +[modalities] +input = ["text"] +output = ["image"] diff --git a/providers/cloudflare-workers-ai/models/@cf/llava-hf/llava-1.5-7b-hf.toml b/providers/cloudflare-workers-ai/models/@cf/llava-hf/llava-1.5-7b-hf.toml new file mode 100644 index 0000000000..95f47177a4 --- /dev/null +++ b/providers/cloudflare-workers-ai/models/@cf/llava-hf/llava-1.5-7b-hf.toml @@ -0,0 +1,19 @@ +name = "@cf/llava-hf/llava-1.5-7b-hf" +description = "LLaVA is an open-source chatbot trained by fine-tuning LLaMA/Vicuna on GPT-generated multimodal instruction-following data. It is an auto-regressive language model, based on the transformer architecture." +family = "llava" +release_date = "2024-05-01" +last_updated = "2024-05-01" +attachment = true +reasoning = false +temperature = false +tool_call = false +structured_output = false +open_weights = false + +[limit] +context = 0 +output = 0 + +[modalities] +input = ["image", "text"] +output = ["text"] diff --git a/providers/cloudflare-workers-ai/models/@cf/lykon/dreamshaper-8-lcm.toml b/providers/cloudflare-workers-ai/models/@cf/lykon/dreamshaper-8-lcm.toml new file mode 100644 index 0000000000..d7713f88a9 --- /dev/null +++ b/providers/cloudflare-workers-ai/models/@cf/lykon/dreamshaper-8-lcm.toml @@ -0,0 +1,19 @@ +name = "@cf/lykon/dreamshaper-8-lcm" +description = "Stable Diffusion model that has been fine-tuned to be better at photorealism without sacrificing range." +family = "dreamshaper" +release_date = "2024-02-27" +last_updated = "2024-02-27" +attachment = false +reasoning = false +temperature = false +tool_call = false +structured_output = false +open_weights = false + +[limit] +context = 0 +output = 0 + +[modalities] +input = ["text"] +output = ["image"] diff --git a/providers/cloudflare-workers-ai/models/@cf/meta-llama/llama-2-7b-chat-hf-lora.toml b/providers/cloudflare-workers-ai/models/@cf/meta-llama/llama-2-7b-chat-hf-lora.toml new file mode 100644 index 0000000000..82387b7a66 --- /dev/null +++ b/providers/cloudflare-workers-ai/models/@cf/meta-llama/llama-2-7b-chat-hf-lora.toml @@ -0,0 +1,19 @@ +name = "@cf/meta-llama/llama-2-7b-chat-hf-lora" +description = "This is a Llama2 base model that Cloudflare dedicated for inference with LoRA adapters. Llama 2 is a collection of pretrained and fine-tuned generative text models ranging in scale from 7 billion to 70 billion parameters. This is the repository for the 7B fine-tuned model, optimized for dialogue use cases and converted for the Hugging Face Transformers format." +family = "llama" +release_date = "2024-04-02" +last_updated = "2024-04-02" +attachment = false +reasoning = false +temperature = false +tool_call = false +structured_output = false +open_weights = false + +[limit] +context = 8_192 +output = 8_192 + +[modalities] +input = ["text"] +output = ["text"] diff --git a/providers/cloudflare-workers-ai/models/@cf/meta/m2m100-1.2b.toml b/providers/cloudflare-workers-ai/models/@cf/meta/m2m100-1.2b.toml new file mode 100644 index 0000000000..e57149f685 --- /dev/null +++ b/providers/cloudflare-workers-ai/models/@cf/meta/m2m100-1.2b.toml @@ -0,0 +1,22 @@ +name = "@cf/meta/m2m100-1.2b" +description = "Multilingual encoder-decoder (seq-to-seq) model trained for Many-to-Many multilingual translation" +release_date = "2023-09-25" +last_updated = "2023-09-25" +attachment = false +reasoning = false +temperature = false +tool_call = false +structured_output = false +open_weights = false + +[cost] +input = 0.342 +output = 0.342 + +[limit] +context = 0 +output = 0 + +[modalities] +input = ["text"] +output = ["text"] diff --git a/providers/cloudflare-workers-ai/models/@cf/microsoft/resnet-50.toml b/providers/cloudflare-workers-ai/models/@cf/microsoft/resnet-50.toml new file mode 100644 index 0000000000..343b495cc9 --- /dev/null +++ b/providers/cloudflare-workers-ai/models/@cf/microsoft/resnet-50.toml @@ -0,0 +1,19 @@ +name = "@cf/microsoft/resnet-50" +description = "50 layers deep image classification CNN trained on more than 1M images from ImageNet" +family = "resnet" +release_date = "2023-09-25" +last_updated = "2023-09-25" +attachment = true +reasoning = false +temperature = false +tool_call = false +structured_output = false +open_weights = false + +[limit] +context = 0 +output = 0 + +[modalities] +input = ["image"] +output = ["text"] diff --git a/providers/cloudflare-workers-ai/models/@cf/mistral/mistral-7b-instruct-v0.2-lora.toml b/providers/cloudflare-workers-ai/models/@cf/mistral/mistral-7b-instruct-v0.2-lora.toml new file mode 100644 index 0000000000..5cb06a707e --- /dev/null +++ b/providers/cloudflare-workers-ai/models/@cf/mistral/mistral-7b-instruct-v0.2-lora.toml @@ -0,0 +1,19 @@ +name = "@cf/mistral/mistral-7b-instruct-v0.2-lora" +description = "The Mistral-7B-Instruct-v0.2 Large Language Model (LLM) is an instruct fine-tuned version of the Mistral-7B-v0.2." +family = "mistral" +release_date = "2024-04-01" +last_updated = "2024-04-01" +attachment = false +reasoning = false +temperature = false +tool_call = false +structured_output = false +open_weights = false + +[limit] +context = 15_000 +output = 15_000 + +[modalities] +input = ["text"] +output = ["text"] diff --git a/providers/cloudflare-workers-ai/models/@cf/moondream/moondream3.1-9B-A2B.toml b/providers/cloudflare-workers-ai/models/@cf/moondream/moondream3.1-9B-A2B.toml new file mode 100644 index 0000000000..e975f5ce05 --- /dev/null +++ b/providers/cloudflare-workers-ai/models/@cf/moondream/moondream3.1-9B-A2B.toml @@ -0,0 +1,22 @@ +name = "@cf/moondream/moondream3.1-9B-A2B" +description = "Moondream 3 is a fast, efficient 9B mixture-of-experts vision language model (2B active parameters) that delivers frontier-level visual reasoning for tasks like object detection, pointing, OCR, and structured output." +release_date = "2026-07-07" +last_updated = "2026-07-07" +attachment = true +reasoning = false +temperature = false +tool_call = false +structured_output = false +open_weights = false + +[cost] +input = 0.3 +output = 1 + +[limit] +context = 0 +output = 0 + +[modalities] +input = ["image", "text"] +output = ["text"] diff --git a/providers/cloudflare-workers-ai/models/@cf/myshell-ai/melotts.toml b/providers/cloudflare-workers-ai/models/@cf/myshell-ai/melotts.toml new file mode 100644 index 0000000000..4dd933bc79 --- /dev/null +++ b/providers/cloudflare-workers-ai/models/@cf/myshell-ai/melotts.toml @@ -0,0 +1,25 @@ +# per audio minute +name = "@cf/myshell-ai/melotts" +description = "MeloTTS is a high-quality multi-lingual text-to-speech library by MyShell.ai." +family = "melotts" +release_date = "2024-07-19" +last_updated = "2024-07-19" +attachment = false +reasoning = false +temperature = false +tool_call = false +structured_output = false +open_weights = false + +[cost] +input = 0 +output = 0 +output_audio = 0.000205 + +[limit] +context = 0 +output = 0 + +[modalities] +input = ["text"] +output = ["audio"] diff --git a/providers/cloudflare-workers-ai/models/@cf/openai/whisper-large-v3-turbo.toml b/providers/cloudflare-workers-ai/models/@cf/openai/whisper-large-v3-turbo.toml new file mode 100644 index 0000000000..a9ff3da10b --- /dev/null +++ b/providers/cloudflare-workers-ai/models/@cf/openai/whisper-large-v3-turbo.toml @@ -0,0 +1,11 @@ +# per audio minute +base_model = "openai/whisper-large-v3-turbo" +description = "Speech transcription model for accurate audio-to-text and captioning workflows" +attachment = true +temperature = false +structured_output = false + +[cost] +input = 0 +output = 0 +input_audio = 0.000513 diff --git a/providers/cloudflare-workers-ai/models/@cf/openai/whisper-tiny-en.toml b/providers/cloudflare-workers-ai/models/@cf/openai/whisper-tiny-en.toml new file mode 100644 index 0000000000..43b631767a --- /dev/null +++ b/providers/cloudflare-workers-ai/models/@cf/openai/whisper-tiny-en.toml @@ -0,0 +1,19 @@ +name = "@cf/openai/whisper-tiny-en" +description = "Whisper is a pre-trained model for automatic speech recognition (ASR) and speech translation. Trained on 680k hours of labelled data, Whisper models demonstrate a strong ability to generalize to many datasets and domains without the need for fine-tuning. This is the English-only version of the Whisper Tiny model which was trained on the task of speech recognition." +family = "whisper" +release_date = "2024-04-22" +last_updated = "2024-04-22" +attachment = true +reasoning = false +temperature = false +tool_call = false +structured_output = false +open_weights = false + +[limit] +context = 0 +output = 0 + +[modalities] +input = ["audio"] +output = ["text"] diff --git a/providers/cloudflare-workers-ai/models/@cf/openai/whisper.toml b/providers/cloudflare-workers-ai/models/@cf/openai/whisper.toml new file mode 100644 index 0000000000..6365cd4b65 --- /dev/null +++ b/providers/cloudflare-workers-ai/models/@cf/openai/whisper.toml @@ -0,0 +1,25 @@ +# per audio minute +name = "@cf/openai/whisper" +description = "Whisper is a general-purpose speech recognition model. It is trained on a large dataset of diverse audio and is also a multitasking model that can perform multilingual speech recognition, speech translation, and language identification." +family = "whisper" +release_date = "2023-09-25" +last_updated = "2023-09-25" +attachment = true +reasoning = false +temperature = false +tool_call = false +structured_output = false +open_weights = false + +[cost] +input = 0 +output = 0 +input_audio = 0.000453 + +[limit] +context = 0 +output = 0 + +[modalities] +input = ["audio"] +output = ["text"] diff --git a/providers/cloudflare-workers-ai/models/@cf/pfnet/plamo-embedding-1b.toml b/providers/cloudflare-workers-ai/models/@cf/pfnet/plamo-embedding-1b.toml new file mode 100644 index 0000000000..20ac01d3bb --- /dev/null +++ b/providers/cloudflare-workers-ai/models/@cf/pfnet/plamo-embedding-1b.toml @@ -0,0 +1,23 @@ +name = "@cf/pfnet/plamo-embedding-1b" +description = "PLaMo-Embedding-1B is a Japanese text embedding model developed by Preferred Networks, Inc.\n\nIt can convert Japanese text input into numerical vectors and can be used for a wide range of applications, including information retrieval, text classification, and clustering." +family = "plamo" +release_date = "2025-09-24" +last_updated = "2025-09-24" +attachment = false +reasoning = false +temperature = false +tool_call = false +structured_output = false +open_weights = false + +[cost] +input = 0.0186 +output = 0 + +[limit] +context = 0 +output = 0 + +[modalities] +input = ["text"] +output = ["text"] diff --git a/providers/cloudflare-workers-ai/models/@cf/pipecat-ai/smart-turn-v2.toml b/providers/cloudflare-workers-ai/models/@cf/pipecat-ai/smart-turn-v2.toml new file mode 100644 index 0000000000..12162cb7f4 --- /dev/null +++ b/providers/cloudflare-workers-ai/models/@cf/pipecat-ai/smart-turn-v2.toml @@ -0,0 +1,25 @@ +# per audio minute +name = "@cf/pipecat-ai/smart-turn-v2" +description = "An open source, community-driven, native audio turn detection model in 2nd version" +family = "smart-turn" +release_date = "2025-08-04" +last_updated = "2025-08-04" +attachment = true +reasoning = false +temperature = false +tool_call = false +structured_output = false +open_weights = false + +[cost] +input = 0 +output = 0 +input_audio = 0.000338 + +[limit] +context = 0 +output = 0 + +[modalities] +input = ["audio"] +output = ["text"] diff --git a/providers/cloudflare-workers-ai/models/@cf/qwen/qwen3-embedding-0.6b.toml b/providers/cloudflare-workers-ai/models/@cf/qwen/qwen3-embedding-0.6b.toml new file mode 100644 index 0000000000..6d2c640d0c --- /dev/null +++ b/providers/cloudflare-workers-ai/models/@cf/qwen/qwen3-embedding-0.6b.toml @@ -0,0 +1,23 @@ +name = "@cf/qwen/qwen3-embedding-0.6b" +description = "The Qwen3 Embedding model series is the latest proprietary model of the Qwen family, specifically designed for text embedding and ranking tasks." +family = "qwen" +release_date = "2025-06-18" +last_updated = "2025-06-18" +attachment = false +reasoning = false +temperature = false +tool_call = false +structured_output = false +open_weights = false + +[cost] +input = 0.0118 +output = 0 + +[limit] +context = 8_192 +output = 8_192 + +[modalities] +input = ["text"] +output = ["text"] diff --git a/providers/cloudflare-workers-ai/models/@cf/runwayml/stable-diffusion-v1-5-img2img.toml b/providers/cloudflare-workers-ai/models/@cf/runwayml/stable-diffusion-v1-5-img2img.toml new file mode 100644 index 0000000000..553ff4662c --- /dev/null +++ b/providers/cloudflare-workers-ai/models/@cf/runwayml/stable-diffusion-v1-5-img2img.toml @@ -0,0 +1,19 @@ +name = "@cf/runwayml/stable-diffusion-v1-5-img2img" +description = "Stable Diffusion is a latent text-to-image diffusion model capable of generating photo-realistic images. Img2img generate a new image from an input image with Stable Diffusion." +family = "stable-diffusion" +release_date = "2024-02-27" +last_updated = "2024-02-27" +attachment = false +reasoning = false +temperature = false +tool_call = false +structured_output = false +open_weights = false + +[limit] +context = 0 +output = 0 + +[modalities] +input = ["text"] +output = ["image"] diff --git a/providers/cloudflare-workers-ai/models/@cf/runwayml/stable-diffusion-v1-5-inpainting.toml b/providers/cloudflare-workers-ai/models/@cf/runwayml/stable-diffusion-v1-5-inpainting.toml new file mode 100644 index 0000000000..58e2e530a7 --- /dev/null +++ b/providers/cloudflare-workers-ai/models/@cf/runwayml/stable-diffusion-v1-5-inpainting.toml @@ -0,0 +1,19 @@ +name = "@cf/runwayml/stable-diffusion-v1-5-inpainting" +description = "Stable Diffusion Inpainting is a latent text-to-image diffusion model capable of generating photo-realistic images given any text input, with the extra capability of inpainting the pictures by using a mask." +family = "stable-diffusion" +release_date = "2024-02-27" +last_updated = "2024-02-27" +attachment = false +reasoning = false +temperature = false +tool_call = false +structured_output = false +open_weights = false + +[limit] +context = 0 +output = 0 + +[modalities] +input = ["text"] +output = ["image"] diff --git a/providers/cloudflare-workers-ai/models/@cf/stabilityai/stable-diffusion-xl-base-1.0.toml b/providers/cloudflare-workers-ai/models/@cf/stabilityai/stable-diffusion-xl-base-1.0.toml new file mode 100644 index 0000000000..0ec26e7987 --- /dev/null +++ b/providers/cloudflare-workers-ai/models/@cf/stabilityai/stable-diffusion-xl-base-1.0.toml @@ -0,0 +1,19 @@ +name = "@cf/stabilityai/stable-diffusion-xl-base-1.0" +description = "Diffusion-based text-to-image generative model by Stability AI. Generates and modify images based on text prompts." +family = "stable-diffusion" +release_date = "2023-11-10" +last_updated = "2023-11-10" +attachment = false +reasoning = false +temperature = false +tool_call = false +structured_output = false +open_weights = false + +[limit] +context = 0 +output = 0 + +[modalities] +input = ["text"] +output = ["image"] diff --git a/providers/cloudflare-workers-ai/models/@cf/zai-org/glm-4.7-flash.toml b/providers/cloudflare-workers-ai/models/@cf/zai-org/glm-4.7-flash.toml index 197fa7c94b..e2b003ca0a 100644 --- a/providers/cloudflare-workers-ai/models/@cf/zai-org/glm-4.7-flash.toml +++ b/providers/cloudflare-workers-ai/models/@cf/zai-org/glm-4.7-flash.toml @@ -1,32 +1,23 @@ # 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/glm-4.7-flash/sync-input.json (accessed 2026-06-25) - -name = "GLM-4.7-Flash" +base_model = "zhipuai/glm-4.7-flash" description = "Efficient GLM model for fast reasoning, coding, and agent workflows" -family = "glm-flash" -release_date = "2026-01-19" -last_updated = "2026-01-19" -attachment = false -reasoning = true -reasoning_options = [{ type = "toggle" }, { type = "effort", values = ["low", "medium", "high"] }] -temperature = true -tool_call = true structured_output = true -knowledge = "2025-04" -open_weights = true [interleaved] field = "reasoning_content" +[[reasoning_options]] +type = "toggle" + +[[reasoning_options]] +type = "effort" +values = ["low", "medium", "high"] + [cost] input = 0.0605 output = 0.4 [limit] context = 131_072 -output = 131_072 - -[modalities] -input = ["text"] -output = ["text"] diff --git a/providers/cloudflare-workers-ai/models/@cf/zai-org/glm-5.2.toml b/providers/cloudflare-workers-ai/models/@cf/zai-org/glm-5.2.toml index e9d69e953b..fe4d6b28b4 100644 --- a/providers/cloudflare-workers-ai/models/@cf/zai-org/glm-5.2.toml +++ b/providers/cloudflare-workers-ai/models/@cf/zai-org/glm-5.2.toml @@ -1,3 +1,6 @@ +# Raw Workers AI input uses `reasoning_effort = low|medium|high` and +# `chat_template_kwargs.enable_thinking = true|false`. +# https://developers.cloudflare.com/workers-ai/models/glm-5.2/sync-input.json (accessed 2026-07-13) base_model = "zhipuai/glm-5.2" name = "Glm 5.2" reasoning_options = [{ type = "toggle" }, { type = "effort", values = ["low", "medium", "high"] }]