From 214141f88faf9dfacd9b4e6784ae911b251682b0 Mon Sep 17 00:00:00 2001 From: ASMAE20 Date: Fri, 31 Jul 2026 15:56:00 +0100 Subject: [PATCH 1/6] feat(sync): add Cortecs model sync --- packages/core/src/sync/index.ts | 5 +- packages/core/src/sync/providers/cortecs.ts | 135 ++++++++++++++++++ providers/cortecs/models/apertus-70b.toml | 23 +++ .../cortecs/models/claude-4-5-sonnet.toml | 24 ++-- .../cortecs/models/claude-4-6-sonnet.toml | 21 ++- .../cortecs/models/claude-haiku-4-5.toml | 34 ++--- providers/cortecs/models/claude-opus-5.toml | 15 ++ providers/cortecs/models/claude-opus4-5.toml | 21 ++- providers/cortecs/models/claude-opus4-6.toml | 21 ++- providers/cortecs/models/claude-opus4-7.toml | 19 +-- providers/cortecs/models/claude-opus4-8.toml | 20 +-- providers/cortecs/models/claude-sonnet-4.toml | 21 +-- providers/cortecs/models/claude-sonnet-5.toml | 15 ++ providers/cortecs/models/codestral-2508.toml | 11 +- .../models/cosmos3-super-reasoner.toml | 23 +++ .../cortecs/models/deepseek-chat-v3.1.toml | 24 ++++ .../cortecs/models/deepseek-r1-0528.toml | 12 +- .../cortecs/models/deepseek-v3-0324.toml | 24 ---- providers/cortecs/models/deepseek-v3.2.toml | 12 +- .../cortecs/models/deepseek-v4-flash.toml | 13 +- providers/cortecs/models/deepseek-v4-pro.toml | 13 +- providers/cortecs/models/devstral-2512.toml | 21 +-- .../cortecs/models/gemini-2.5-flash.toml | 14 ++ providers/cortecs/models/gemini-2.5-pro.toml | 23 +-- .../cortecs/models/gemini-3.1-flash-lite.toml | 14 ++ .../cortecs/models/gemini-3.5-flash.toml | 14 ++ providers/cortecs/models/gemma-3-27b-it.toml | 23 +++ .../cortecs/models/gemma-4-26b-a4b-it.toml | 10 ++ providers/cortecs/models/gemma-4-31b-it.toml | 10 ++ providers/cortecs/models/glm-4.5-air.toml | 24 ---- providers/cortecs/models/glm-4.5.toml | 27 ---- providers/cortecs/models/glm-4.7-flash.toml | 22 +-- providers/cortecs/models/glm-4.7.toml | 28 ++-- providers/cortecs/models/glm-5-turbo.toml | 9 +- providers/cortecs/models/glm-5.1.toml | 24 +--- providers/cortecs/models/glm-5.2.toml | 16 ++- providers/cortecs/models/glm-5.toml | 26 ++-- providers/cortecs/models/glm-5v-turbo.toml | 13 +- providers/cortecs/models/gpt-4.1-mini.toml | 15 ++ providers/cortecs/models/gpt-4.1-nano.toml | 12 ++ providers/cortecs/models/gpt-4.1.toml | 25 +--- providers/cortecs/models/gpt-4o-mini.toml | 15 ++ providers/cortecs/models/gpt-4o.toml | 15 ++ providers/cortecs/models/gpt-5-mini.toml | 11 ++ providers/cortecs/models/gpt-5-nano.toml | 11 ++ providers/cortecs/models/gpt-5.1.toml | 11 ++ providers/cortecs/models/gpt-5.4.toml | 18 +-- providers/cortecs/models/gpt-5.6-luna.toml | 13 ++ providers/cortecs/models/gpt-5.6-sol.toml | 13 ++ providers/cortecs/models/gpt-5.6-terra.toml | 13 ++ providers/cortecs/models/gpt-5.toml | 11 ++ providers/cortecs/models/gpt-oss-120b.toml | 28 ++-- providers/cortecs/models/gpt-oss-20b.toml | 10 ++ .../models/gpt-oss-safeguard-120b.toml | 10 ++ providers/cortecs/models/hermes-4-405b.toml | 22 +++ providers/cortecs/models/hermes-4-70b.toml | 12 +- providers/cortecs/models/holo2-30b-a3b.toml | 23 +++ providers/cortecs/models/hy3.toml | 17 --- providers/cortecs/models/intellect-3.toml | 24 ---- .../cortecs/models/kimi-k2-instruct.toml | 24 ---- .../cortecs/models/kimi-k2-thinking.toml | 26 ---- providers/cortecs/models/kimi-k2.5.toml | 31 ++-- providers/cortecs/models/kimi-k2.6.toml | 30 ++-- providers/cortecs/models/kimi-k2.7-code.toml | 9 +- providers/cortecs/models/kimi-k3.toml | 2 +- .../models/llama-3.1-405b-instruct.toml | 15 +- .../cortecs/models/llama-3.1-8b-instruct.toml | 23 +++ .../llama-3.1-nemotron-ultra-253b-v1.toml | 23 +++ .../models/llama-3.3-70b-instruct.toml | 6 +- .../cortecs/models/llama-4-maverick.toml | 7 - .../cortecs/models/magistral-medium-2509.toml | 24 ++++ .../cortecs/models/magistral-small-2509.toml | 24 ++++ providers/cortecs/models/minicpm-v-4.5.toml | 22 +++ providers/cortecs/models/minimax-m2.1.toml | 25 +--- providers/cortecs/models/minimax-m2.5.toml | 28 ++-- providers/cortecs/models/minimax-m2.7.toml | 22 +-- providers/cortecs/models/minimax-m2.toml | 26 +--- providers/cortecs/models/minimax-m3.toml | 13 +- .../cortecs/models/ministral-14b-2512.toml | 23 +++ .../cortecs/models/ministral-3b-2512.toml | 23 +++ .../cortecs/models/ministral-8b-2512.toml | 23 +++ .../models/mistral-7b-instruct-v0.2.toml | 22 +++ .../models/mistral-7b-instruct-v0.3.toml | 22 +++ .../cortecs/models/mistral-large-2402.toml | 23 +++ .../cortecs/models/mistral-large-2512.toml | 11 +- .../cortecs/models/mistral-medium-2508.toml | 24 ++++ .../cortecs/models/mistral-medium-3.5.toml | 23 +++ .../models/mistral-nemo-instruct-2407.toml | 23 +++ .../cortecs/models/mistral-small-2503.toml | 22 +++ .../cortecs/models/mistral-small-2506.toml | 12 ++ .../cortecs/models/mistral-small-2603.toml | 12 ++ .../mistral-small-3.2-24b-instruct-2506.toml | 22 +++ .../models/mixtral-8x7B-instruct-v0.1.toml | 11 +- .../models/nemotron-3-super-120b-a12b.toml | 23 +-- .../cortecs/models/nemotron-nano-v2-12b.toml | 23 +++ providers/cortecs/models/nova-2-lite.toml | 23 +++ providers/cortecs/models/nova-lite-v1.toml | 23 +++ providers/cortecs/models/nova-micro-v1.toml | 23 +++ providers/cortecs/models/nova-pro-v1.toml | 17 +-- .../nvidia-nemotron-3-nano-30b-a3b.toml | 23 +++ .../models/nvidia-nemotron-3-nano-omni.toml | 23 +++ .../cortecs/models/pixtral-12b-2409.toml | 23 +++ .../cortecs/models/pixtral-large-2502.toml | 23 +++ .../cortecs/models/qwen-2.5-72b-instruct.toml | 23 --- .../models/qwen2.5-vl-72b-instruct.toml | 23 +++ .../models/qwen3-235b-a22b-instruct-2507.toml | 14 +- .../models/qwen3-30b-a3b-instruct-2507.toml | 23 +++ providers/cortecs/models/qwen3-32b.toml | 23 +-- .../models/qwen3-coder-30b-a3b-instruct.toml | 10 +- .../qwen3-coder-480b-a35b-instruct.toml | 24 ---- .../cortecs/models/qwen3-coder-next.toml | 11 +- .../models/qwen3-next-80b-a3b-thinking.toml | 20 +-- .../cortecs/models/qwen3-vl-235b-a22b.toml | 24 ++++ .../cortecs/models/qwen3.5-122b-a10b.toml | 11 +- .../cortecs/models/qwen3.5-397b-a17b.toml | 12 +- providers/cortecs/models/qwen3.5-9b.toml | 13 ++ providers/cortecs/models/qwen3.6-27b.toml | 13 ++ providers/cortecs/models/qwen3.6-35b-a3b.toml | 13 ++ .../cortecs/models/qwen3guard-gen-0.6b.toml | 22 +++ .../cortecs/models/qwen3guard-gen-8b.toml | 22 +++ .../cortecs/models/voxtral-small-2507.toml | 23 +++ 121 files changed, 1648 insertions(+), 729 deletions(-) create mode 100644 packages/core/src/sync/providers/cortecs.ts create mode 100644 providers/cortecs/models/apertus-70b.toml create mode 100644 providers/cortecs/models/claude-opus-5.toml create mode 100644 providers/cortecs/models/claude-sonnet-5.toml create mode 100644 providers/cortecs/models/cosmos3-super-reasoner.toml create mode 100644 providers/cortecs/models/deepseek-chat-v3.1.toml delete mode 100644 providers/cortecs/models/deepseek-v3-0324.toml create mode 100644 providers/cortecs/models/gemini-2.5-flash.toml create mode 100644 providers/cortecs/models/gemini-3.1-flash-lite.toml create mode 100644 providers/cortecs/models/gemini-3.5-flash.toml create mode 100644 providers/cortecs/models/gemma-3-27b-it.toml create mode 100644 providers/cortecs/models/gemma-4-26b-a4b-it.toml create mode 100644 providers/cortecs/models/gemma-4-31b-it.toml delete mode 100644 providers/cortecs/models/glm-4.5-air.toml delete mode 100644 providers/cortecs/models/glm-4.5.toml create mode 100644 providers/cortecs/models/gpt-4.1-mini.toml create mode 100644 providers/cortecs/models/gpt-4.1-nano.toml create mode 100644 providers/cortecs/models/gpt-4o-mini.toml create mode 100644 providers/cortecs/models/gpt-4o.toml create mode 100644 providers/cortecs/models/gpt-5-mini.toml create mode 100644 providers/cortecs/models/gpt-5-nano.toml create mode 100644 providers/cortecs/models/gpt-5.1.toml create mode 100644 providers/cortecs/models/gpt-5.6-luna.toml create mode 100644 providers/cortecs/models/gpt-5.6-sol.toml create mode 100644 providers/cortecs/models/gpt-5.6-terra.toml create mode 100644 providers/cortecs/models/gpt-5.toml create mode 100644 providers/cortecs/models/gpt-oss-20b.toml create mode 100644 providers/cortecs/models/gpt-oss-safeguard-120b.toml create mode 100644 providers/cortecs/models/hermes-4-405b.toml create mode 100644 providers/cortecs/models/holo2-30b-a3b.toml delete mode 100644 providers/cortecs/models/hy3.toml delete mode 100644 providers/cortecs/models/intellect-3.toml delete mode 100644 providers/cortecs/models/kimi-k2-instruct.toml delete mode 100644 providers/cortecs/models/kimi-k2-thinking.toml create mode 100644 providers/cortecs/models/llama-3.1-8b-instruct.toml create mode 100644 providers/cortecs/models/llama-3.1-nemotron-ultra-253b-v1.toml delete mode 100644 providers/cortecs/models/llama-4-maverick.toml create mode 100644 providers/cortecs/models/magistral-medium-2509.toml create mode 100644 providers/cortecs/models/magistral-small-2509.toml create mode 100644 providers/cortecs/models/minicpm-v-4.5.toml create mode 100644 providers/cortecs/models/ministral-14b-2512.toml create mode 100644 providers/cortecs/models/ministral-3b-2512.toml create mode 100644 providers/cortecs/models/ministral-8b-2512.toml create mode 100644 providers/cortecs/models/mistral-7b-instruct-v0.2.toml create mode 100644 providers/cortecs/models/mistral-7b-instruct-v0.3.toml create mode 100644 providers/cortecs/models/mistral-large-2402.toml create mode 100644 providers/cortecs/models/mistral-medium-2508.toml create mode 100644 providers/cortecs/models/mistral-medium-3.5.toml create mode 100644 providers/cortecs/models/mistral-nemo-instruct-2407.toml create mode 100644 providers/cortecs/models/mistral-small-2503.toml create mode 100644 providers/cortecs/models/mistral-small-2506.toml create mode 100644 providers/cortecs/models/mistral-small-2603.toml create mode 100644 providers/cortecs/models/mistral-small-3.2-24b-instruct-2506.toml create mode 100644 providers/cortecs/models/nemotron-nano-v2-12b.toml create mode 100644 providers/cortecs/models/nova-2-lite.toml create mode 100644 providers/cortecs/models/nova-lite-v1.toml create mode 100644 providers/cortecs/models/nova-micro-v1.toml create mode 100644 providers/cortecs/models/nvidia-nemotron-3-nano-30b-a3b.toml create mode 100644 providers/cortecs/models/nvidia-nemotron-3-nano-omni.toml create mode 100644 providers/cortecs/models/pixtral-12b-2409.toml create mode 100644 providers/cortecs/models/pixtral-large-2502.toml delete mode 100644 providers/cortecs/models/qwen-2.5-72b-instruct.toml create mode 100644 providers/cortecs/models/qwen2.5-vl-72b-instruct.toml create mode 100644 providers/cortecs/models/qwen3-30b-a3b-instruct-2507.toml delete mode 100644 providers/cortecs/models/qwen3-coder-480b-a35b-instruct.toml create mode 100644 providers/cortecs/models/qwen3-vl-235b-a22b.toml create mode 100644 providers/cortecs/models/qwen3.5-9b.toml create mode 100644 providers/cortecs/models/qwen3.6-27b.toml create mode 100644 providers/cortecs/models/qwen3.6-35b-a3b.toml create mode 100644 providers/cortecs/models/qwen3guard-gen-0.6b.toml create mode 100644 providers/cortecs/models/qwen3guard-gen-8b.toml create mode 100644 providers/cortecs/models/voxtral-small-2507.toml diff --git a/packages/core/src/sync/index.ts b/packages/core/src/sync/index.ts index a119ccbd74..2a61454aa2 100644 --- a/packages/core/src/sync/index.ts +++ b/packages/core/src/sync/index.ts @@ -30,6 +30,7 @@ import { vercel } from "./providers/vercel.js"; import { venice } from "./providers/venice.js"; import { wandb } from "./providers/wandb.js"; import { xai } from "./providers/xai.js"; +import { cortecs } from "./providers/cortecs.js"; const ExistingModelType = AuthoredModelShape.partial() .extend({ @@ -134,6 +135,7 @@ export const providers: { venice: SyncProvider; wandb: SyncProvider; xai: SyncProvider; + cortecs: SyncProvider; } = { ambient, anthropic, @@ -160,6 +162,7 @@ export const providers: { venice, wandb, xai, + cortecs, }; export const groups = { @@ -175,7 +178,7 @@ export const groups = { "vercel", ], cloudflare: ["cloudflare-workers-ai"], - direct: ["ambient", "anthropic", "baseten", "chutes", "deepinfra", "digitalocean", "google", "hyper", "openai", "ovhcloud", "pioneer", "tinfoil", "venice", "wandb", "xai"], + direct: ["ambient", "anthropic", "baseten", "chutes", "deepinfra", "digitalocean", "google", "hyper", "openai", "ovhcloud", "pioneer", "tinfoil", "venice", "wandb", "xai", "cortecs"], } as const; type ProviderID = keyof typeof providers; diff --git a/packages/core/src/sync/providers/cortecs.ts b/packages/core/src/sync/providers/cortecs.ts new file mode 100644 index 0000000000..001ace05d5 --- /dev/null +++ b/packages/core/src/sync/providers/cortecs.ts @@ -0,0 +1,135 @@ +import { z } from "zod"; + +import { describeModel } from "../../describe.js"; +import type { ExistingModel, SyncProvider, SyncedFullModel, SyncedModel } from "../index.js"; +import { factorBaseModel, resolveModelMetadataBaseModel } from "./openrouter.js"; + +const API_ENDPOINT = "https://api.cortecs.ai/v1/models"; +// Cortecs publishes its default catalog prices in EUR per million tokens. +// Exchange rate used by the existing Cortecs entries, as of 2026-07-30. +const EUR_TO_USD = 1.114; + +const CortecsModality = z.enum(["text", "audio", "image", "video", "pdf"]); + +export const CortecsModel = z.object({ + id: z.string().min(1), + created: z.number().int().nonnegative(), + description: z.string().optional(), + pricing: z.object({ + currency: z.literal("EUR"), + input_token: z.number().nonnegative(), + output_token: z.number().nonnegative(), + cache_read_cost: z.number().nonnegative().optional(), + cache_write_cost: z.number().nonnegative().optional(), + }).passthrough(), + context_size: z.number().int().positive(), + input_modalities: z.array(CortecsModality).default(["text"]), + output_modalities: z.array(CortecsModality).default(["text"]), + supported_features: z.array(z.string()).default([]), +}).passthrough(); + +export const CortecsResponse = z.object({ + object: z.literal("list"), + data: z.array(CortecsModel), +}).passthrough(); + +export type CortecsModel = z.infer; + +export const cortecs = { + id: "cortecs", + name: "Cortecs", + modelsDir: "providers/cortecs/models", + deleteMissing: true, + async fetchModels() { + const response = await fetch(API_ENDPOINT); + if (!response.ok) { + throw new Error(`Cortecs models request failed: ${response.status} ${response.statusText}`); + } + return response.json(); + }, + parseModels(raw) { + return CortecsResponse.parse(raw).data; + }, + translateModel(model, context) { + return { id: model.id, model: buildCortecsModel(model, context.existing(model.id)) }; + }, +} satisfies SyncProvider; + +function dateFromTimestamp(timestamp: number) { + return new Date(timestamp * 1_000).toISOString().slice(0, 10); +} + +function usd(value: number | undefined) { + if (value === undefined) return undefined; + return Math.round(value * EUR_TO_USD * 1_000) / 1_000; +} + +export function buildCortecsModel(model: CortecsModel, existing: ExistingModel | undefined): SyncedModel { + const features = new Set(model.supported_features); + const input = model.input_modalities; + const output = model.output_modalities; + const reasoning = features.has("reasoning"); + const limit = { + context: model.context_size, + input: existing?.limit?.input, + output: existing?.limit?.output ?? model.context_size, + }; + const cost = { + input: usd(model.pricing.input_token), + output: usd(model.pricing.output_token), + cache_read: usd(model.pricing.cache_read_cost) ?? existing?.cost?.cache_read, + cache_write: usd(model.pricing.cache_write_cost) ?? existing?.cost?.cache_write, + reasoning: existing?.cost?.reasoning, + tiers: existing?.cost?.tiers, + }; + const canonical = existing?.base_model ?? resolveModelMetadataBaseModel(model.id); + + if (canonical !== undefined) { + return factorBaseModel(canonical, { + description: existing?.description, + attachment: input.some((value) => value !== "text"), + reasoning, + reasoning_options: reasoning ? existing?.reasoning_options ?? [] : undefined, + temperature: existing?.temperature, + tool_call: features.has("tools"), + structured_output: features.has("json_mode"), + status: existing?.status, + interleaved: existing?.interleaved, + limit, + modalities: { input, output }, + cost, + }, limit, existing?.base_model_omit); + } + + const family = existing?.family; + return { + name: existing?.name ?? model.id, + description: existing?.description ?? model.description ?? describeModel({ + id: model.id, + name: model.id, + family, + reasoning, + tool_call: features.has("tools"), + structured_output: features.has("json_mode"), + open_weights: existing?.open_weights ?? false, + limit, + modalities: { input, output }, + }), + family, + release_date: existing?.release_date ?? dateFromTimestamp(model.created), + last_updated: existing?.last_updated ?? dateFromTimestamp(model.created), + attachment: input.some((value) => value !== "text"), + reasoning, + reasoning_options: reasoning ? existing?.reasoning_options ?? [] : undefined, + temperature: existing?.temperature ?? false, + tool_call: features.has("tools"), + structured_output: features.has("json_mode"), + knowledge: existing?.knowledge, + open_weights: existing?.open_weights ?? false, + status: existing?.status, + interleaved: existing?.interleaved, + cost, + limit, + modalities: { input, output }, + } satisfies SyncedFullModel; +} \ No newline at end of file diff --git a/providers/cortecs/models/apertus-70b.toml b/providers/cortecs/models/apertus-70b.toml new file mode 100644 index 0000000000..84e15f30c3 --- /dev/null +++ b/providers/cortecs/models/apertus-70b.toml @@ -0,0 +1,23 @@ +name = "apertus-70b" +description = "Apertus 70B is an open, multilingual language model designed for research, long-context reasoning, and sovereignty-focused AI systems." +release_date = "2026-07-08" +last_updated = "2026-07-08" +attachment = false +reasoning = true +temperature = false +tool_call = true +structured_output = false +open_weights = false +reasoning_options = [] + +[cost] +input = 1.393 +output = 2.228 + +[limit] +context = 65_536 +output = 65_536 + +[modalities] +input = ["text"] +output = ["text"] diff --git a/providers/cortecs/models/claude-4-5-sonnet.toml b/providers/cortecs/models/claude-4-5-sonnet.toml index 2998f5e300..9b2c90bacf 100644 --- a/providers/cortecs/models/claude-4-5-sonnet.toml +++ b/providers/cortecs/models/claude-4-5-sonnet.toml @@ -1,28 +1,34 @@ name = "Claude 4.5 Sonnet" description = "Balanced Claude model for coding, analysis, agent workflows, and cost control" -# Cortecs maps `reasoning_effort = low|medium|high` and -# `thinking.budget_tokens >= 1024`; unsupported fields may be silently ignored. -# https://api.cortecs.ai/v1/models (accessed 2026-06-25) family = "claude-sonnet" release_date = "2025-09-29" last_updated = "2025-09-29" -knowledge = "2025-07-31" attachment = true reasoning = true -reasoning_options = [{ type = "effort", values = ["low", "medium", "high"] }, { type = "budget_tokens", min = 1_024 }] -tool_call = true temperature = true +tool_call = true +structured_output = true +knowledge = "2025-07-31" open_weights = false +[[reasoning_options]] +type = "effort" +values = ["low", "medium", "high"] + +[[reasoning_options]] +type = "budget_tokens" +min = 1_024 [cost] -input = 3.259 -output = 16.296 +input = 2.989 +output = 14.945 +cache_read = 0.326 +cache_write = 4.078 [limit] context = 200_000 output = 200_000 [modalities] -input = ["text", "image", "pdf"] +input = ["text", "image"] output = ["text"] diff --git a/providers/cortecs/models/claude-4-6-sonnet.toml b/providers/cortecs/models/claude-4-6-sonnet.toml index 463e15b24e..89a8f70303 100644 --- a/providers/cortecs/models/claude-4-6-sonnet.toml +++ b/providers/cortecs/models/claude-4-6-sonnet.toml @@ -1,27 +1,34 @@ name = "Claude Sonnet 4.6" description = "Balanced Claude model for coding, analysis, agent workflows, and cost control" -# Cortecs maps `reasoning_effort = low|medium|high` and -# `thinking.budget_tokens >= 1024`; unsupported fields may be silently ignored. -# https://api.cortecs.ai/v1/models (accessed 2026-06-25) family = "claude-sonnet" release_date = "2026-02-17" last_updated = "2026-03-13" attachment = true reasoning = true -reasoning_options = [{ type = "effort", values = ["low", "medium", "high"] }, { type = "budget_tokens", min = 1_024 }] temperature = true tool_call = true +structured_output = true knowledge = "2025-08-31" open_weights = false +[[reasoning_options]] +type = "effort" +values = ["low", "medium", "high"] + +[[reasoning_options]] +type = "budget_tokens" +min = 1_024 + [cost] -input = 3.59 -output = 17.92 +input = 3.196 +output = 15.94 +cache_read = 0.32 +cache_write = 3.999 [limit] context = 1_000_000 output = 1_000_000 [modalities] -input = ["text", "image", "pdf"] +input = ["text", "image"] output = ["text"] diff --git a/providers/cortecs/models/claude-haiku-4-5.toml b/providers/cortecs/models/claude-haiku-4-5.toml index ae1150475b..b949ca1c12 100644 --- a/providers/cortecs/models/claude-haiku-4-5.toml +++ b/providers/cortecs/models/claude-haiku-4-5.toml @@ -1,27 +1,23 @@ -name = "Claude Haiku 4.5" +base_model = "anthropic/claude-haiku-4-5" description = "Fast Claude model for responsive assistance, classification, and lightweight agents" -# Cortecs maps `reasoning_effort = low|medium|high` and -# `thinking.budget_tokens >= 1024`; unsupported fields may be silently ignored. -# https://api.cortecs.ai/v1/models (accessed 2026-06-25) -family = "claude-haiku" -release_date = "2025-10-15" -last_updated = "2025-10-15" -attachment = true -reasoning = true -reasoning_options = [{ type = "effort", values = ["low", "medium", "high"] }, { type = "budget_tokens", min = 1_024 }] -temperature = true -tool_call = true -knowledge = "2025-02-28" -open_weights = false +structured_output = true + +[[reasoning_options]] +type = "effort" +values = ["low", "medium", "high"] + +[[reasoning_options]] +type = "budget_tokens" +min = 1_024 [cost] -input = 1.09 -output = 5.43 +input = 0.996 +output = 4.982 +cache_read = 0.099 +cache_write = 1.186 [limit] -context = 200_000 output = 200_000 [modalities] -input = ["text", "image", "pdf"] -output = ["text"] +input = ["text", "image"] diff --git a/providers/cortecs/models/claude-opus-5.toml b/providers/cortecs/models/claude-opus-5.toml new file mode 100644 index 0000000000..b3f42c86c5 --- /dev/null +++ b/providers/cortecs/models/claude-opus-5.toml @@ -0,0 +1,15 @@ +base_model = "anthropic/claude-opus-5" +structured_output = true +reasoning_options = [] + +[cost] +input = 5.5 +output = 27.498 +cache_read = 0.55 +cache_write = 6.874 + +[limit] +output = 1_000_000 + +[modalities] +input = ["text", "image"] diff --git a/providers/cortecs/models/claude-opus4-5.toml b/providers/cortecs/models/claude-opus4-5.toml index 779f0209d4..636958f684 100644 --- a/providers/cortecs/models/claude-opus4-5.toml +++ b/providers/cortecs/models/claude-opus4-5.toml @@ -1,27 +1,34 @@ name = "Claude Opus 4.5" description = "Flagship Claude model for deep reasoning, coding, and long-horizon agents" -# Cortecs maps `reasoning_effort = low|medium|high` and -# `thinking.budget_tokens >= 1024`; unsupported fields may be silently ignored. -# https://api.cortecs.ai/v1/models (accessed 2026-06-25) family = "claude-opus" release_date = "2025-11-24" last_updated = "2025-11-24" attachment = true reasoning = true -reasoning_options = [{ type = "effort", values = ["low", "medium", "high"] }, { type = "budget_tokens", min = 1_024 }] temperature = true tool_call = true +structured_output = true knowledge = "2025-03-31" open_weights = false +[[reasoning_options]] +type = "effort" +values = ["low", "medium", "high"] + +[[reasoning_options]] +type = "budget_tokens" +min = 1_024 + [cost] -input = 5.98 -output = 29.89 +input = 5.313 +output = 26.568 +cache_read = 0.531 +cache_write = 6.645 [limit] context = 200_000 output = 200_000 [modalities] -input = ["text", "image", "pdf"] +input = ["text", "image"] output = ["text"] diff --git a/providers/cortecs/models/claude-opus4-6.toml b/providers/cortecs/models/claude-opus4-6.toml index f7acd7d2c9..037d2a6e39 100644 --- a/providers/cortecs/models/claude-opus4-6.toml +++ b/providers/cortecs/models/claude-opus4-6.toml @@ -1,27 +1,34 @@ name = "Claude Opus 4.6" description = "Flagship Claude model for deep reasoning, coding, and long-horizon agents" -# Cortecs maps `reasoning_effort = low|medium|high` and -# `thinking.budget_tokens >= 1024`; unsupported fields may be silently ignored. -# https://api.cortecs.ai/v1/models (accessed 2026-06-25) family = "claude-opus" release_date = "2026-02-05" last_updated = "2026-03-13" attachment = true reasoning = true -reasoning_options = [{ type = "effort", values = ["low", "medium", "high"] }, { type = "budget_tokens", min = 1_024 }] temperature = true tool_call = true +structured_output = true knowledge = "2025-05-31" open_weights = false +[[reasoning_options]] +type = "effort" +values = ["low", "medium", "high"] + +[[reasoning_options]] +type = "budget_tokens" +min = 1_024 + [cost] -input = 5.98 -output = 29.89 +input = 5.313 +output = 26.561 +cache_read = 0.531 +cache_write = 6.645 [limit] context = 1_000_000 output = 1_000_000 [modalities] -input = ["text", "image", "pdf"] +input = ["text", "image"] output = ["text"] diff --git a/providers/cortecs/models/claude-opus4-7.toml b/providers/cortecs/models/claude-opus4-7.toml index a607f98870..d018ca0d24 100644 --- a/providers/cortecs/models/claude-opus4-7.toml +++ b/providers/cortecs/models/claude-opus4-7.toml @@ -1,29 +1,30 @@ name = "Claude Opus 4.7" description = "Flagship Claude model for deep reasoning, coding, and long-horizon agents" -# Cortecs maps `reasoning_effort = low|medium|high` to -# `output_config.effort`; no explicit budget is exposed for this model. -# https://api.cortecs.ai/v1/models (accessed 2026-06-25) family = "claude-opus" release_date = "2026-04-16" last_updated = "2026-04-16" attachment = true reasoning = true -reasoning_options = [{ type = "effort", values = ["low", "medium", "high"] }] temperature = false tool_call = true +structured_output = true knowledge = "2026-01-31" open_weights = false +[[reasoning_options]] +type = "effort" +values = ["low", "medium", "high"] + [cost] -input = 5.60 -output = 27.99 -cache_read = 0.56 -cache_write = 6.99 +input = 5.437 +output = 27.186 +cache_read = 0.544 +cache_write = 6.797 [limit] context = 1_000_000 output = 128_000 [modalities] -input = ["text", "image", "pdf"] +input = ["text", "image"] output = ["text"] diff --git a/providers/cortecs/models/claude-opus4-8.toml b/providers/cortecs/models/claude-opus4-8.toml index 2a78c94e5a..b3fca61855 100644 --- a/providers/cortecs/models/claude-opus4-8.toml +++ b/providers/cortecs/models/claude-opus4-8.toml @@ -1,11 +1,15 @@ base_model = "anthropic/claude-opus-4-8" -# Cortecs maps `reasoning_effort = low|medium|high` to -# `output_config.effort`; no explicit budget is exposed for this model. -# https://api.cortecs.ai/v1/models (accessed 2026-06-25) -reasoning_options = [{ type = "effort", values = ["low", "medium", "high"] }] +structured_output = true + +[[reasoning_options]] +type = "effort" +values = ["low", "medium", "high"] [cost] -input = 5.64 -output = 28.198 -cache_read = 0.563 -cache_write = 7.049 +input = 5.437 +output = 27.186 +cache_read = 0.544 +cache_write = 6.797 + +[modalities] +input = ["text", "image"] diff --git a/providers/cortecs/models/claude-sonnet-4.toml b/providers/cortecs/models/claude-sonnet-4.toml index 05daba2439..17a8091bba 100644 --- a/providers/cortecs/models/claude-sonnet-4.toml +++ b/providers/cortecs/models/claude-sonnet-4.toml @@ -3,22 +3,25 @@ description = "Balanced Claude model for coding, analysis, agent workflows, and family = "claude-sonnet" release_date = "2025-05-22" last_updated = "2025-05-22" -knowledge = "2025-03" -attachment = false -reasoning = false -tool_call = true +attachment = true +reasoning = true temperature = true +tool_call = true +structured_output = true +knowledge = "2025-03" open_weights = false - +reasoning_options = [] [cost] -input = 3.307 -output = 16.536 +input = 2.898 +output = 14.493 +cache_read = 0.29 +cache_write = 3.624 [limit] context = 200_000 output = 64_000 [modalities] -input = ["text", "image", "pdf"] -output = ["text"] \ No newline at end of file +input = ["text", "image"] +output = ["text"] diff --git a/providers/cortecs/models/claude-sonnet-5.toml b/providers/cortecs/models/claude-sonnet-5.toml new file mode 100644 index 0000000000..efc9903ea4 --- /dev/null +++ b/providers/cortecs/models/claude-sonnet-5.toml @@ -0,0 +1,15 @@ +base_model = "anthropic/claude-sonnet-5" +structured_output = true +reasoning_options = [] + +[cost] +input = 2.2 +output = 11 +cache_read = 0.219 +cache_write = 2.749 + +[limit] +output = 1_000_000 + +[modalities] +input = ["text", "image"] diff --git a/providers/cortecs/models/codestral-2508.toml b/providers/cortecs/models/codestral-2508.toml index 248b6cf888..f9547b3dd4 100644 --- a/providers/cortecs/models/codestral-2508.toml +++ b/providers/cortecs/models/codestral-2508.toml @@ -3,17 +3,18 @@ description = "Mistral coding model for code completion, generation, and develop family = "mistral" release_date = "2025-07-30" last_updated = "2025-07-30" -knowledge = "2025-03" attachment = false reasoning = false -tool_call = true temperature = true +tool_call = true +structured_output = true +knowledge = "2025-03" open_weights = true [cost] -input = 0.3 -output = 0.9 -cache_read = 0.03 +input = 0.334 +output = 1.003 +cache_read = 0.033 [limit] context = 256_000 diff --git a/providers/cortecs/models/cosmos3-super-reasoner.toml b/providers/cortecs/models/cosmos3-super-reasoner.toml new file mode 100644 index 0000000000..61bc01e31d --- /dev/null +++ b/providers/cortecs/models/cosmos3-super-reasoner.toml @@ -0,0 +1,23 @@ +name = "cosmos3-super-reasoner" +description = "Cosmos3 Super Reasoner is a high-capacity reasoning model designed for complex multi-agent tasks and advanced physical AI understanding." +release_date = "2026-06-02" +last_updated = "2026-06-02" +attachment = false +reasoning = true +temperature = false +tool_call = true +structured_output = true +open_weights = false +reasoning_options = [] + +[cost] +input = 0.099 +output = 0.296 + +[limit] +context = 256_000 +output = 256_000 + +[modalities] +input = ["text"] +output = ["text"] diff --git a/providers/cortecs/models/deepseek-chat-v3.1.toml b/providers/cortecs/models/deepseek-chat-v3.1.toml new file mode 100644 index 0000000000..e50acacb2d --- /dev/null +++ b/providers/cortecs/models/deepseek-chat-v3.1.toml @@ -0,0 +1,24 @@ +name = "deepseek-chat-v3.1" +description = "DeepSeek-V3.1 is a large hybrid reasoning model supporting both thinking and non-thinking modes, optimized for fast reasoning, tool use, and agentic workflows." +release_date = "2026-03-26" +last_updated = "2026-03-26" +attachment = false +reasoning = true +temperature = false +tool_call = true +structured_output = true +open_weights = false +reasoning_options = [] + +[cost] +input = 0.197 +output = 0.791 +cache_read = 0.049 + +[limit] +context = 164_000 +output = 164_000 + +[modalities] +input = ["text"] +output = ["text"] diff --git a/providers/cortecs/models/deepseek-r1-0528.toml b/providers/cortecs/models/deepseek-r1-0528.toml index acf9189393..f25f45005b 100644 --- a/providers/cortecs/models/deepseek-r1-0528.toml +++ b/providers/cortecs/models/deepseek-r1-0528.toml @@ -3,17 +3,19 @@ description = "DeepSeek reasoning model for multi-step analysis, math, coding, a family = "deepseek-thinking" release_date = "2025-05-28" last_updated = "2025-05-28" -knowledge = "2024-07" attachment = false reasoning = true -reasoning_options = [] -tool_call = true temperature = true +tool_call = true +structured_output = true +knowledge = "2024-07" open_weights = true +reasoning_options = [] [cost] -input = 0.585 -output = 2.307 +input = 0.652 +output = 2.57 +cache_read = 0.163 [limit] context = 164_000 diff --git a/providers/cortecs/models/deepseek-v3-0324.toml b/providers/cortecs/models/deepseek-v3-0324.toml deleted file mode 100644 index 814edea1a8..0000000000 --- a/providers/cortecs/models/deepseek-v3-0324.toml +++ /dev/null @@ -1,24 +0,0 @@ -name = "DeepSeek V3 0324" -description = "DeepSeek chat model for instruction following, coding, and analysis" -family = "deepseek" -release_date = "2025-03-24" -last_updated = "2025-03-24" -knowledge = "2024-07" -attachment = false -reasoning = false -tool_call = true -temperature = true -open_weights = true - - -[cost] -input = 0.551 -output = 1.654 - -[limit] -context = 128_000 -output = 128_000 - -[modalities] -input = ["text"] -output = ["text"] \ No newline at end of file diff --git a/providers/cortecs/models/deepseek-v3.2.toml b/providers/cortecs/models/deepseek-v3.2.toml index 3041e03774..bbae00eb8c 100644 --- a/providers/cortecs/models/deepseek-v3.2.toml +++ b/providers/cortecs/models/deepseek-v3.2.toml @@ -3,17 +3,19 @@ description = "DeepSeek chat model for instruction following, coding, and analys family = "deepseek" release_date = "2025-12-01" last_updated = "2025-12-01" -knowledge = "2024-07" attachment = false reasoning = true -reasoning_options = [] -tool_call = true temperature = true +tool_call = true +structured_output = true +knowledge = "2024-07" open_weights = true +reasoning_options = [] [cost] -input = 0.266 -output = 0.444 +input = 0.296 +output = 0.495 +cache_read = 0.075 [limit] context = 163_840 diff --git a/providers/cortecs/models/deepseek-v4-flash.toml b/providers/cortecs/models/deepseek-v4-flash.toml index 0737271382..1d75a3fccb 100644 --- a/providers/cortecs/models/deepseek-v4-flash.toml +++ b/providers/cortecs/models/deepseek-v4-flash.toml @@ -1,16 +1,17 @@ base_model = "deepseek/deepseek-v4-flash" -# Cortecs Chat maps `reasoning_effort = low|medium|high`; no budget is exposed. -# https://api.cortecs.ai/v1/models (accessed 2026-06-25) base_model_omit = ["structured_output"] -reasoning_options = [{ type = "effort", values = ["low", "medium", "high"] }] [interleaved] field = "reasoning_content" +[[reasoning_options]] +type = "effort" +values = ["low", "medium", "high"] + [cost] -input = 0.133 -output = 0.266 -cache_read = 0.0028 +input = 0.148 +output = 0.296 +cache_read = 0.037 [limit] context = 1_048_576 diff --git a/providers/cortecs/models/deepseek-v4-pro.toml b/providers/cortecs/models/deepseek-v4-pro.toml index 74f1cba5de..f30ccf184d 100644 --- a/providers/cortecs/models/deepseek-v4-pro.toml +++ b/providers/cortecs/models/deepseek-v4-pro.toml @@ -1,16 +1,17 @@ base_model = "deepseek/deepseek-v4-pro" -# Cortecs Chat maps `reasoning_effort = low|medium|high`; no budget is exposed. -# https://api.cortecs.ai/v1/models (accessed 2026-06-25) base_model_omit = ["structured_output"] -reasoning_options = [{ type = "effort", values = ["low", "medium", "high"] }] [interleaved] field = "reasoning_content" +[[reasoning_options]] +type = "effort" +values = ["low", "medium", "high"] + [cost] -input = 1.553 -output = 3.106 -cache_read = 0.003625 +input = 1.73 +output = 3.46 +cache_read = 0.432 [limit] context = 1_048_576 diff --git a/providers/cortecs/models/devstral-2512.toml b/providers/cortecs/models/devstral-2512.toml index aa83b4edb1..833006d927 100644 --- a/providers/cortecs/models/devstral-2512.toml +++ b/providers/cortecs/models/devstral-2512.toml @@ -1,23 +1,12 @@ -name = "Devstral 2 2512" +base_model = "mistral/devstral-2512" description = "Mistral coding agent model for repository tasks and software engineering workflows" -release_date = "2025-12-09" -last_updated = "2025-12-09" -knowledge = "2025-12" -attachment = false -reasoning = false -tool_call = true -temperature = true -open_weights = true - +structured_output = true [cost] -input = 0 -output = 0 +input = 0.446 +output = 2.228 +cache_read = 0.045 [limit] context = 262_000 output = 262_000 - -[modalities] -input = ["text"] -output = ["text"] \ No newline at end of file diff --git a/providers/cortecs/models/gemini-2.5-flash.toml b/providers/cortecs/models/gemini-2.5-flash.toml new file mode 100644 index 0000000000..17f8d09329 --- /dev/null +++ b/providers/cortecs/models/gemini-2.5-flash.toml @@ -0,0 +1,14 @@ +base_model = "google/gemini-2.5-flash" +reasoning_options = [] + +[cost] +input = 0.299 +output = 2.491 +cache_read = 0.029 +cache_write = 0.097 + +[limit] +output = 1_048_576 + +[modalities] +input = ["text", "image", "audio"] diff --git a/providers/cortecs/models/gemini-2.5-pro.toml b/providers/cortecs/models/gemini-2.5-pro.toml index 70c17b2180..b5fcdcaa34 100644 --- a/providers/cortecs/models/gemini-2.5-pro.toml +++ b/providers/cortecs/models/gemini-2.5-pro.toml @@ -1,24 +1,15 @@ -name = "Gemini 2.5 Pro" +base_model = "google/gemini-2.5-pro" description = "Advanced Gemini model for complex reasoning, coding, and multimodal analysis" -family = "gemini-pro" -release_date = "2025-03-20" -last_updated = "2025-06-17" -knowledge = "2025-01" -attachment = false -reasoning = false -tool_call = true -temperature = true -open_weights = false - +reasoning_options = [] [cost] -input = 1.654 -output = 11.024 +input = 1.495 +output = 9.964 +cache_read = 0.242 +cache_write = 0.434 [limit] -context = 1_048_576 output = 65_535 [modalities] -input = ["text", "image"] -output = ["text"] \ No newline at end of file +input = ["text", "image", "audio"] diff --git a/providers/cortecs/models/gemini-3.1-flash-lite.toml b/providers/cortecs/models/gemini-3.1-flash-lite.toml new file mode 100644 index 0000000000..e7d859c978 --- /dev/null +++ b/providers/cortecs/models/gemini-3.1-flash-lite.toml @@ -0,0 +1,14 @@ +base_model = "google/gemini-3.1-flash-lite" +reasoning_options = [] + +[cost] +input = 0.272 +output = 1.631 +cache_read = 0.025 +cache_write = 0.082 + +[limit] +output = 1_048_576 + +[modalities] +input = ["text", "image", "audio"] diff --git a/providers/cortecs/models/gemini-3.5-flash.toml b/providers/cortecs/models/gemini-3.5-flash.toml new file mode 100644 index 0000000000..6fe5c06dc7 --- /dev/null +++ b/providers/cortecs/models/gemini-3.5-flash.toml @@ -0,0 +1,14 @@ +base_model = "google/gemini-3.5-flash" +reasoning_options = [] + +[cost] +input = 1.483 +output = 8.898 +cache_read = 0.148 +cache_write = 0.988 + +[limit] +output = 1_048_576 + +[modalities] +input = ["text", "image", "audio"] diff --git a/providers/cortecs/models/gemma-3-27b-it.toml b/providers/cortecs/models/gemma-3-27b-it.toml new file mode 100644 index 0000000000..29c974f0a5 --- /dev/null +++ b/providers/cortecs/models/gemma-3-27b-it.toml @@ -0,0 +1,23 @@ +name = "gemma-3-27b-it" +description = "Gemma 3 is a family of lightweight, multimodal models from Google, supporting text and image inputs, multilingual capabilities, and a 131K context window." +release_date = "2025-03-12" +last_updated = "2025-03-12" +attachment = true +reasoning = true +temperature = false +tool_call = false +structured_output = true +open_weights = false +reasoning_options = [] + +[cost] +input = 0.099 +output = 0.299 + +[limit] +context = 131_000 +output = 131_000 + +[modalities] +input = ["text", "image"] +output = ["text"] diff --git a/providers/cortecs/models/gemma-4-26b-a4b-it.toml b/providers/cortecs/models/gemma-4-26b-a4b-it.toml new file mode 100644 index 0000000000..dd9940d78d --- /dev/null +++ b/providers/cortecs/models/gemma-4-26b-a4b-it.toml @@ -0,0 +1,10 @@ +base_model = "google/gemma-4-26b-a4b-it" +reasoning_options = [] + +[cost] +input = 0.111 +output = 0.557 + +[limit] +context = 262_000 +output = 262_000 diff --git a/providers/cortecs/models/gemma-4-31b-it.toml b/providers/cortecs/models/gemma-4-31b-it.toml new file mode 100644 index 0000000000..e73b09d7e6 --- /dev/null +++ b/providers/cortecs/models/gemma-4-31b-it.toml @@ -0,0 +1,10 @@ +base_model = "google/gemma-4-31b-it" +reasoning_options = [] + +[cost] +input = 0.223 +output = 0.39 + +[limit] +context = 262_000 +output = 262_000 diff --git a/providers/cortecs/models/glm-4.5-air.toml b/providers/cortecs/models/glm-4.5-air.toml deleted file mode 100644 index 43160d878d..0000000000 --- a/providers/cortecs/models/glm-4.5-air.toml +++ /dev/null @@ -1,24 +0,0 @@ -name = "GLM 4.5 Air" -description = "Efficient GLM model for fast reasoning, coding, and agent workflows" -family = "glm-air" -release_date = "2025-08-01" -last_updated = "2025-08-01" -attachment = false -reasoning = true -reasoning_options = [] -temperature = true -tool_call = true -knowledge = "2025-04" -open_weights = true - -[cost] -input = 0.22 -output = 1.34 - -[limit] -context = 131_072 -output = 131_072 - -[modalities] -input = ["text"] -output = ["text"] diff --git a/providers/cortecs/models/glm-4.5.toml b/providers/cortecs/models/glm-4.5.toml deleted file mode 100644 index afb4f2a0fa..0000000000 --- a/providers/cortecs/models/glm-4.5.toml +++ /dev/null @@ -1,27 +0,0 @@ -name = "GLM 4.5" -description = "Flagship GLM model for hybrid reasoning, coding, and agentic engineering" -family = "glm" -release_date = "2025-07-29" -last_updated = "2025-07-29" -attachment = false -reasoning = true -reasoning_options = [] -temperature = true -tool_call = true -knowledge = "2025-04" -open_weights = true - -[cost] -input = 0.67 -output = 2.46 - -[limit] -context = 131_072 -output = 131_072 - -[modalities] -input = ["text"] -output = ["text"] - -[interleaved] -field = "reasoning_content" diff --git a/providers/cortecs/models/glm-4.7-flash.toml b/providers/cortecs/models/glm-4.7-flash.toml index cd9e7598cd..de8844ecdb 100644 --- a/providers/cortecs/models/glm-4.7-flash.toml +++ b/providers/cortecs/models/glm-4.7-flash.toml @@ -1,27 +1,15 @@ -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" -release_date = "2025-08-08" -last_updated = "2025-08-08" -attachment = false -reasoning = true -reasoning_options = [] -temperature = true -tool_call = true -knowledge = "2025-04" -open_weights = true +reasoning = false +structured_output = true [interleaved] field = "reasoning_content" [cost] -input = 0.09 -output = 0.53 +input = 0.08 +output = 0.478 [limit] context = 203_000 output = 203_000 - -[modalities] -input = ["text"] -output = ["text"] diff --git a/providers/cortecs/models/glm-4.7.toml b/providers/cortecs/models/glm-4.7.toml index 44071c68a8..18cd487e49 100644 --- a/providers/cortecs/models/glm-4.7.toml +++ b/providers/cortecs/models/glm-4.7.toml @@ -1,27 +1,15 @@ -name = "GLM 4.7" +base_model = "zhipuai/glm-4.7" description = "Flagship GLM model for hybrid reasoning, coding, and agentic engineering" -family = "glm" -release_date = "2025-12-22" -last_updated = "2025-12-22" -attachment = false -reasoning = true +structured_output = true reasoning_options = [] -temperature = true -tool_call = true -knowledge = "2025-04" -open_weights = true + +[interleaved] +field = "reasoning_content" [cost] -input = 0.45 -output = 2.23 +input = 0.78 +output = 2.785 [limit] -context = 198_000 +context = 202_752 output = 198_000 - -[modalities] -input = ["text"] -output = ["text"] - -[interleaved] -field = "reasoning_content" diff --git a/providers/cortecs/models/glm-5-turbo.toml b/providers/cortecs/models/glm-5-turbo.toml index 784b143f53..573f51a6d2 100644 --- a/providers/cortecs/models/glm-5-turbo.toml +++ b/providers/cortecs/models/glm-5-turbo.toml @@ -2,7 +2,10 @@ base_model = "zhipuai/glm-5-turbo" reasoning_options = [] [cost] -input = 1.235 -output = 4.118 -cache_read = 0.308 +input = 1.186 +output = 3.955 +cache_read = 0.296 cache_write = 1.544 + +[limit] +context = 202_752 diff --git a/providers/cortecs/models/glm-5.1.toml b/providers/cortecs/models/glm-5.1.toml index 8aab7c54b8..eaa4c970ac 100644 --- a/providers/cortecs/models/glm-5.1.toml +++ b/providers/cortecs/models/glm-5.1.toml @@ -1,28 +1,14 @@ -name = "GLM-5.1" +base_model = "zhipuai/glm-5.1" description = "Flagship GLM model for hybrid reasoning, coding, and agentic engineering" -family = "glm" -release_date = "2026-04-14" -last_updated = "2026-04-14" -attachment = false -reasoning = true reasoning_options = [] -structured_output = true -temperature = true -tool_call = true -open_weights = true [interleaved] field = "reasoning_content" [cost] -input = 1.31 -output = 4.10 -cache_read = 0.24 +input = 1.384 +output = 4.348 +cache_read = 0.346 [limit] -context = 204_800 -output = 131_072 - -[modalities] -input = ["text"] -output = ["text"] +context = 202_752 diff --git a/providers/cortecs/models/glm-5.2.toml b/providers/cortecs/models/glm-5.2.toml index 305e7fbb98..030938073f 100644 --- a/providers/cortecs/models/glm-5.2.toml +++ b/providers/cortecs/models/glm-5.2.toml @@ -1,12 +1,16 @@ base_model = "zhipuai/glm-5.2" -# Cortecs Chat maps `reasoning_effort = high|max`; other efforts are not listed. -# https://api.cortecs.ai/v1/models (accessed 2026-06-25) -reasoning_options = [{ type = "effort", values = ["high", "max"]}] [interleaved] field = "reasoning_content" +[[reasoning_options]] +type = "effort" +values = ["high", "max"] + [cost] -input = 1.44 -output = 4.53 -cache_read = 0.39 +input = 1.2 +output = 4.2 +cache_read = 0.26 + +[limit] +context = 1_048_576 diff --git a/providers/cortecs/models/glm-5.toml b/providers/cortecs/models/glm-5.toml index fdc8b8093a..bad6f314b7 100644 --- a/providers/cortecs/models/glm-5.toml +++ b/providers/cortecs/models/glm-5.toml @@ -1,26 +1,16 @@ -name = "GLM 5" +base_model = "zhipuai/glm-5" description = "Flagship GLM model for hybrid reasoning, coding, and agentic engineering" -family = "glm" -release_date = "2026-02-11" -last_updated = "2026-02-11" -attachment = false -reasoning = true +structured_output = true reasoning_options = [] -temperature = true -tool_call = true -open_weights = true + +[interleaved] +field = "reasoning_content" [cost] -input = 1.08 -output = 3.44 +input = 0.988 +output = 3.164 +cache_read = 0.247 [limit] context = 202_752 output = 202_752 - -[modalities] -input = ["text"] -output = ["text"] - -[interleaved] -field = "reasoning_content" diff --git a/providers/cortecs/models/glm-5v-turbo.toml b/providers/cortecs/models/glm-5v-turbo.toml index 0dfcc2ac0d..ff6ddd94cf 100644 --- a/providers/cortecs/models/glm-5v-turbo.toml +++ b/providers/cortecs/models/glm-5v-turbo.toml @@ -1,8 +1,15 @@ base_model = "zhipuai/glm-5v-turbo" +structured_output = true reasoning_options = [] [cost] -input = 1.235 -output = 4.118 -cache_read = 0.308 +input = 1.186 +output = 3.955 +cache_read = 0.296 cache_write = 1.544 + +[limit] +context = 202_752 + +[modalities] +input = ["text", "image"] diff --git a/providers/cortecs/models/gpt-4.1-mini.toml b/providers/cortecs/models/gpt-4.1-mini.toml new file mode 100644 index 0000000000..5d24945bbc --- /dev/null +++ b/providers/cortecs/models/gpt-4.1-mini.toml @@ -0,0 +1,15 @@ +base_model = "openai/gpt-4.1-mini" +reasoning = true +structured_output = false +reasoning_options = [] + +[cost] +input = 0.434 +output = 1.704 +cache_read = 0.134 + +[limit] +output = 1_047_576 + +[modalities] +input = ["text", "image"] diff --git a/providers/cortecs/models/gpt-4.1-nano.toml b/providers/cortecs/models/gpt-4.1-nano.toml new file mode 100644 index 0000000000..f56252b55b --- /dev/null +++ b/providers/cortecs/models/gpt-4.1-nano.toml @@ -0,0 +1,12 @@ +base_model = "openai/gpt-4.1-nano" +reasoning = true +structured_output = false +reasoning_options = [] + +[cost] +input = 0.111 +output = 0.434 +cache_read = 0.056 + +[limit] +output = 1_047_576 diff --git a/providers/cortecs/models/gpt-4.1.toml b/providers/cortecs/models/gpt-4.1.toml index fd3c95da9c..255918805d 100644 --- a/providers/cortecs/models/gpt-4.1.toml +++ b/providers/cortecs/models/gpt-4.1.toml @@ -1,24 +1,13 @@ -name = "GPT 4.1" +base_model = "openai/gpt-4.1" description = "GPT model for general reasoning, writing, coding, and tool-assisted tasks" -family = "gpt" -release_date = "2025-04-14" -last_updated = "2025-04-14" -knowledge = "2024-06" -attachment = false -reasoning = false -tool_call = true -temperature = true -open_weights = false - +reasoning = true +structured_output = false +reasoning_options = [] [cost] -input = 2.354 -output = 9.417 - -[limit] -context = 1_047_576 -output = 32_768 +input = 2.192 +output = 8.769 +cache_read = 0.546 [modalities] input = ["text", "image"] -output = ["text"] \ No newline at end of file diff --git a/providers/cortecs/models/gpt-4o-mini.toml b/providers/cortecs/models/gpt-4o-mini.toml new file mode 100644 index 0000000000..d29b722471 --- /dev/null +++ b/providers/cortecs/models/gpt-4o-mini.toml @@ -0,0 +1,15 @@ +base_model = "openai/gpt-4o-mini" +reasoning = true +structured_output = false +reasoning_options = [] + +[cost] +input = 0.159 +output = 0.638 +cache_read = 0.081 + +[limit] +output = 128_000 + +[modalities] +input = ["text", "image"] diff --git a/providers/cortecs/models/gpt-4o.toml b/providers/cortecs/models/gpt-4o.toml new file mode 100644 index 0000000000..75f5a7a961 --- /dev/null +++ b/providers/cortecs/models/gpt-4o.toml @@ -0,0 +1,15 @@ +base_model = "openai/gpt-4o" +reasoning = true +structured_output = false +reasoning_options = [] + +[cost] +input = 2.659 +output = 10.635 +cache_read = 1.33 + +[limit] +output = 128_000 + +[modalities] +input = ["text", "image"] diff --git a/providers/cortecs/models/gpt-5-mini.toml b/providers/cortecs/models/gpt-5-mini.toml new file mode 100644 index 0000000000..03f713286d --- /dev/null +++ b/providers/cortecs/models/gpt-5-mini.toml @@ -0,0 +1,11 @@ +base_model = "openai/gpt-5-mini" +structured_output = false +reasoning_options = [] + +[cost] +input = 0.279 +output = 2.192 +cache_read = 0.056 + +[limit] +output = 400_000 diff --git a/providers/cortecs/models/gpt-5-nano.toml b/providers/cortecs/models/gpt-5-nano.toml new file mode 100644 index 0000000000..96684fffcf --- /dev/null +++ b/providers/cortecs/models/gpt-5-nano.toml @@ -0,0 +1,11 @@ +base_model = "openai/gpt-5-nano" +structured_output = false +reasoning_options = [] + +[cost] +input = 0.06 +output = 0.439 +cache_read = 0.019 + +[limit] +output = 400_000 diff --git a/providers/cortecs/models/gpt-5.1.toml b/providers/cortecs/models/gpt-5.1.toml new file mode 100644 index 0000000000..dff9e4b20a --- /dev/null +++ b/providers/cortecs/models/gpt-5.1.toml @@ -0,0 +1,11 @@ +base_model = "openai/gpt-5.1" +structured_output = false +reasoning_options = [] + +[cost] +input = 1.375 +output = 10.96 +cache_read = 0.156 + +[limit] +output = 400_000 diff --git a/providers/cortecs/models/gpt-5.4.toml b/providers/cortecs/models/gpt-5.4.toml index 9dbc108e74..7bd176b691 100644 --- a/providers/cortecs/models/gpt-5.4.toml +++ b/providers/cortecs/models/gpt-5.4.toml @@ -1,14 +1,14 @@ base_model = "openai/gpt-5.4" -# Cortecs Chat maps `reasoning_effort = low|medium|high`; no budget is exposed. -# https://api.cortecs.ai/v1/models (accessed 2026-06-25) base_model_omit = ["limit.input"] -reasoning_options = [{ type = "effort", values = ["low", "medium", "high"] }] + +[[reasoning_options]] +type = "effort" +values = ["low", "medium", "high"] [cost] -input = 3 -output = 16.13 -cache_read = 0.25 +input = 2.898 +output = 15.453 +cache_read = 0.242 -[limit] -context = 1_050_000 -output = 128_000 +[modalities] +input = ["text", "image"] diff --git a/providers/cortecs/models/gpt-5.6-luna.toml b/providers/cortecs/models/gpt-5.6-luna.toml new file mode 100644 index 0000000000..b826dec94c --- /dev/null +++ b/providers/cortecs/models/gpt-5.6-luna.toml @@ -0,0 +1,13 @@ +base_model = "openai/gpt-5.6-luna" +reasoning_options = [] + +[cost] +input = 1.1 +output = 6.599 +cache_read = 0.11 + +[limit] +output = 1_050_000 + +[modalities] +input = ["text", "image"] diff --git a/providers/cortecs/models/gpt-5.6-sol.toml b/providers/cortecs/models/gpt-5.6-sol.toml new file mode 100644 index 0000000000..66ac5aa228 --- /dev/null +++ b/providers/cortecs/models/gpt-5.6-sol.toml @@ -0,0 +1,13 @@ +base_model = "openai/gpt-5.6-sol" +reasoning_options = [] + +[cost] +input = 5.5 +output = 32.998 +cache_read = 0.55 + +[limit] +output = 1_050_000 + +[modalities] +input = ["text", "image"] diff --git a/providers/cortecs/models/gpt-5.6-terra.toml b/providers/cortecs/models/gpt-5.6-terra.toml new file mode 100644 index 0000000000..415122970f --- /dev/null +++ b/providers/cortecs/models/gpt-5.6-terra.toml @@ -0,0 +1,13 @@ +base_model = "openai/gpt-5.6-terra" +reasoning_options = [] + +[cost] +input = 2.749 +output = 16.498 +cache_read = 0.275 + +[limit] +output = 1_050_000 + +[modalities] +input = ["text", "image"] diff --git a/providers/cortecs/models/gpt-5.toml b/providers/cortecs/models/gpt-5.toml new file mode 100644 index 0000000000..e43465012c --- /dev/null +++ b/providers/cortecs/models/gpt-5.toml @@ -0,0 +1,11 @@ +base_model = "openai/gpt-5" +structured_output = false +reasoning_options = [] + +[cost] +input = 1.375 +output = 10.96 +cache_read = 0.156 + +[limit] +output = 400_000 diff --git a/providers/cortecs/models/gpt-oss-120b.toml b/providers/cortecs/models/gpt-oss-120b.toml index 027de59f60..e28221a9ea 100644 --- a/providers/cortecs/models/gpt-oss-120b.toml +++ b/providers/cortecs/models/gpt-oss-120b.toml @@ -1,27 +1,15 @@ -name = "GPT Oss 120b" +base_model = "openai/gpt-oss-120b" description = "Open-weight GPT model for self-hosted reasoning and instruction-following workloads" -# Cortecs Chat maps `reasoning_effort = low|medium|high`; no budget is exposed. -# https://api.cortecs.ai/v1/models (accessed 2026-06-25) -family = "gpt-oss" -release_date = "2025-08-05" -last_updated = "2025-08-05" -knowledge = "2024-01" -attachment = false -reasoning = true -reasoning_options = [{ type = "effort", values = ["low", "medium", "high"] }] -tool_call = true -temperature = true -open_weights = true +[[reasoning_options]] +type = "effort" +values = ["low", "medium", "high"] [cost] -input = 0 -output = 0 +input = 0.039 +output = 0.197 +cache_read = 0.01 [limit] -context = 128_000 +context = 131_000 output = 128_000 - -[modalities] -input = ["text"] -output = ["text"] diff --git a/providers/cortecs/models/gpt-oss-20b.toml b/providers/cortecs/models/gpt-oss-20b.toml new file mode 100644 index 0000000000..85a5b8a549 --- /dev/null +++ b/providers/cortecs/models/gpt-oss-20b.toml @@ -0,0 +1,10 @@ +base_model = "openai/gpt-oss-20b" +reasoning_options = [] + +[cost] +input = 0.045 +output = 0.167 + +[limit] +context = 131_000 +output = 131_000 diff --git a/providers/cortecs/models/gpt-oss-safeguard-120b.toml b/providers/cortecs/models/gpt-oss-safeguard-120b.toml new file mode 100644 index 0000000000..aad103c5e2 --- /dev/null +++ b/providers/cortecs/models/gpt-oss-safeguard-120b.toml @@ -0,0 +1,10 @@ +base_model = "openai/gpt-oss-safeguard-120b" +reasoning_options = [] + +[cost] +input = 0.179 +output = 0.697 + +[limit] +context = 128_000 +output = 128_000 diff --git a/providers/cortecs/models/hermes-4-405b.toml b/providers/cortecs/models/hermes-4-405b.toml new file mode 100644 index 0000000000..bca06b6647 --- /dev/null +++ b/providers/cortecs/models/hermes-4-405b.toml @@ -0,0 +1,22 @@ +name = "hermes-4-405b" +description = "Hermes 4 405B is a frontier hybrid-mode reasoning model built on Llama 3.1, optimized for advanced logic, math, coding, and structured output generation." +release_date = "2024-08-13" +last_updated = "2024-08-13" +attachment = false +reasoning = false +temperature = false +tool_call = true +structured_output = true +open_weights = false + +[cost] +input = 0.996 +output = 2.989 + +[limit] +context = 128_000 +output = 128_000 + +[modalities] +input = ["text"] +output = ["text"] diff --git a/providers/cortecs/models/hermes-4-70b.toml b/providers/cortecs/models/hermes-4-70b.toml index 4512dd0b0d..e640f0f67d 100644 --- a/providers/cortecs/models/hermes-4-70b.toml +++ b/providers/cortecs/models/hermes-4-70b.toml @@ -2,17 +2,17 @@ name = "Hermes 4 70B" description = "Reasoning model for deliberate analysis, multi-step problem solving, and tool use" release_date = "2025-08-26" last_updated = "2025-08-26" -knowledge = "2023-12" attachment = false -reasoning = true -reasoning_options = [] -tool_call = true +reasoning = false temperature = true +tool_call = true +structured_output = true +knowledge = "2023-12" open_weights = true [cost] -input = 0.116 -output = 0.358 +input = 0.129 +output = 0.399 [limit] context = 128_000 diff --git a/providers/cortecs/models/holo2-30b-a3b.toml b/providers/cortecs/models/holo2-30b-a3b.toml new file mode 100644 index 0000000000..ac14a7e23d --- /dev/null +++ b/providers/cortecs/models/holo2-30b-a3b.toml @@ -0,0 +1,23 @@ +name = "holo2-30b-a3b" +description = "Holo2 30B A3B is a text-and-vision model optimized for analyzing graphical user interfaces, including web, desktop, and mobile, and enabling agents to interpret interfaces, reason over content, and take actions." +release_date = "2025-12-10" +last_updated = "2025-12-10" +attachment = true +reasoning = true +temperature = false +tool_call = true +structured_output = true +open_weights = false +reasoning_options = [] + +[cost] +input = 0.334 +output = 0.78 + +[limit] +context = 22_000 +output = 22_000 + +[modalities] +input = ["text", "image"] +output = ["text"] diff --git a/providers/cortecs/models/hy3.toml b/providers/cortecs/models/hy3.toml deleted file mode 100644 index 994f8ca2dc..0000000000 --- a/providers/cortecs/models/hy3.toml +++ /dev/null @@ -1,17 +0,0 @@ -base_model = "tencent/hy3" -# Cortecs Chat maps OpenAI `reasoning_effort`; Hy3 accepts none/low/high -# (HF: no_think/low/high via chat_template_kwargs.reasoning_effort). -# Cortecs API prices in EUR (0.359/0.898/0.090); converted to USD/1M at -# EURUSD 1.1418 (2026-07-21). -# https://api.cortecs.ai/v1/models (accessed 2026-07-22) -# https://huggingface.co/tencent/Hy3 -structured_output = true -reasoning_options = [{ type = "effort", values = ["none", "low", "high"] }] - -[cost] -input = 0.410 -output = 1.025 -cache_read = 0.103 - -[limit] -context = 262_144 diff --git a/providers/cortecs/models/intellect-3.toml b/providers/cortecs/models/intellect-3.toml deleted file mode 100644 index 207aeffa2b..0000000000 --- a/providers/cortecs/models/intellect-3.toml +++ /dev/null @@ -1,24 +0,0 @@ -name = "INTELLECT 3" -description = "Reasoning model for deliberate analysis, multi-step problem solving, and tool use" -release_date = "2025-11-26" -last_updated = "2025-11-26" -knowledge = "2025-11" -attachment = true -reasoning = true -reasoning_options = [] -tool_call = true -temperature = true -open_weights = true - - -[cost] -input = 0.219 -output = 1.202 - -[limit] -context = 128_000 -output = 128_000 - -[modalities] -input = ["text"] -output = ["text"] diff --git a/providers/cortecs/models/kimi-k2-instruct.toml b/providers/cortecs/models/kimi-k2-instruct.toml deleted file mode 100644 index 2547be7ea5..0000000000 --- a/providers/cortecs/models/kimi-k2-instruct.toml +++ /dev/null @@ -1,24 +0,0 @@ -name = "Kimi K2 Instruct" -description = "Kimi model for long-context chat, coding, and agentic reasoning" -family = "kimi-k2" -release_date = "2025-07-11" -last_updated = "2025-09-05" -knowledge = "2024-07" -attachment = false -reasoning = false -tool_call = true -temperature = true -open_weights = true - - -[cost] -input = 0.551 -output = 2.646 - -[limit] -context = 131_000 -output = 131_000 - -[modalities] -input = ["text"] -output = ["text"] \ No newline at end of file diff --git a/providers/cortecs/models/kimi-k2-thinking.toml b/providers/cortecs/models/kimi-k2-thinking.toml deleted file mode 100644 index c3956e9045..0000000000 --- a/providers/cortecs/models/kimi-k2-thinking.toml +++ /dev/null @@ -1,26 +0,0 @@ -name = "Kimi K2 Thinking" -description = "Kimi reasoning model for long-horizon research, planning, and tool use" -release_date = "2025-12-08" -last_updated = "2025-12-08" -knowledge = "2025-12" -attachment = true -reasoning = true -reasoning_options = [] -tool_call = true -temperature = true -open_weights = true - -[interleaved] -field = "reasoning_content" - -[cost] -input = 0.656 -output = 2.731 - -[limit] -context = 262_000 -output = 262_000 - -[modalities] -input = ["text"] -output = ["text"] diff --git a/providers/cortecs/models/kimi-k2.5.toml b/providers/cortecs/models/kimi-k2.5.toml index 29a135fa08..6e9672dcb6 100644 --- a/providers/cortecs/models/kimi-k2.5.toml +++ b/providers/cortecs/models/kimi-k2.5.toml @@ -1,29 +1,20 @@ -name = "Kimi K2.5" +base_model = "moonshotai/kimi-k2.5" description = "Kimi reasoning model for long-horizon research, planning, and tool use" -# Cortecs maps `thinking.type = enabled|disabled`; no effort or budget is listed. -# https://api.cortecs.ai/v1/models (accessed 2026-06-25) -family = "kimi-thinking" -release_date = "2026-01-27" -last_updated = "2026-01-27" -knowledge = "2025-01" -attachment = false -reasoning = true -reasoning_options = [{ type = "toggle" }] temperature = true -tool_call = true -open_weights = true + +[interleaved] +field = "reasoning_content" + +[[reasoning_options]] +type = "toggle" [cost] -input = 0.55 -output = 2.76 +input = 0.495 +output = 2.768 +cache_read = 0.124 [limit] -context = 256_000 output = 256_000 [modalities] -input = ["text", "image", "video"] -output = ["text"] - -[interleaved] -field = "reasoning_content" +input = ["text", "image"] diff --git a/providers/cortecs/models/kimi-k2.6.toml b/providers/cortecs/models/kimi-k2.6.toml index b8f13eee27..629e82463b 100644 --- a/providers/cortecs/models/kimi-k2.6.toml +++ b/providers/cortecs/models/kimi-k2.6.toml @@ -1,29 +1,19 @@ -name = "Kimi K2.6" +base_model = "moonshotai/kimi-k2.6" description = "Kimi reasoning model for long-horizon research, planning, and tool use" -# Cortecs maps `thinking.type = enabled|disabled`; no effort or budget is listed. -# https://api.cortecs.ai/v1/models (accessed 2026-06-25) -family = "kimi-thinking" -release_date = "2026-04-17" -last_updated = "2026-04-17" -attachment = false -reasoning = true -reasoning_options = [{ type = "toggle" }] -temperature = true -tool_call = true -open_weights = true + +[interleaved] +field = "reasoning_content" + +[[reasoning_options]] +type = "toggle" [cost] -cache_read = 0.20 -input = 0.81 -output = 3.54 +input = 0.773 +output = 3.38 +cache_read = 0.193 [limit] -context = 256_000 output = 256_000 [modalities] input = ["text", "image"] -output = ["text"] - -[interleaved] -field = "reasoning_content" diff --git a/providers/cortecs/models/kimi-k2.7-code.toml b/providers/cortecs/models/kimi-k2.7-code.toml index 653caab5e8..77671f2c3d 100644 --- a/providers/cortecs/models/kimi-k2.7-code.toml +++ b/providers/cortecs/models/kimi-k2.7-code.toml @@ -5,6 +5,9 @@ reasoning_options = [] field = "reasoning_content" [cost] -input = 1.28 -output = 4.63 -cache_read = 0.32 +input = 0.75 +output = 3.5 +cache_read = 0.201 + +[modalities] +input = ["text", "image"] diff --git a/providers/cortecs/models/kimi-k3.toml b/providers/cortecs/models/kimi-k3.toml index b362c683a8..d3a8f2cf76 100644 --- a/providers/cortecs/models/kimi-k3.toml +++ b/providers/cortecs/models/kimi-k3.toml @@ -9,7 +9,7 @@ field = "reasoning_content" [cost] input = 3 -output = 15 +output = 14.999 [modalities] input = ["text", "image"] diff --git a/providers/cortecs/models/llama-3.1-405b-instruct.toml b/providers/cortecs/models/llama-3.1-405b-instruct.toml index c25f6cc458..cc85efa5de 100644 --- a/providers/cortecs/models/llama-3.1-405b-instruct.toml +++ b/providers/cortecs/models/llama-3.1-405b-instruct.toml @@ -3,17 +3,18 @@ description = "Open Llama instruction model for multilingual chat, reasoning, an family = "llama" release_date = "2024-07-23" last_updated = "2024-07-23" -knowledge = "2023-12" attachment = false -reasoning = false -tool_call = true +reasoning = true temperature = true +tool_call = true +structured_output = true +knowledge = "2023-12" open_weights = true - +reasoning_options = [] [cost] -input = 0 -output = 0 +input = 1.95 +output = 1.95 [limit] context = 128_000 @@ -21,4 +22,4 @@ output = 128_000 [modalities] input = ["text"] -output = ["text"] \ No newline at end of file +output = ["text"] diff --git a/providers/cortecs/models/llama-3.1-8b-instruct.toml b/providers/cortecs/models/llama-3.1-8b-instruct.toml new file mode 100644 index 0000000000..7b6ad92c78 --- /dev/null +++ b/providers/cortecs/models/llama-3.1-8b-instruct.toml @@ -0,0 +1,23 @@ +name = "llama-3.1-8b-instruct" +description = "Optimized for dialogue, this LLM by Meta outperforms other open-source chat models in benchmarks while prioritizing helpfulness and safety." +release_date = "2024-04-09" +last_updated = "2024-04-09" +attachment = false +reasoning = true +temperature = false +tool_call = true +structured_output = true +open_weights = false +reasoning_options = [] + +[cost] +input = 0.167 +output = 0.167 + +[limit] +context = 128_000 +output = 128_000 + +[modalities] +input = ["text"] +output = ["text"] diff --git a/providers/cortecs/models/llama-3.1-nemotron-ultra-253b-v1.toml b/providers/cortecs/models/llama-3.1-nemotron-ultra-253b-v1.toml new file mode 100644 index 0000000000..7b81f53f5b --- /dev/null +++ b/providers/cortecs/models/llama-3.1-nemotron-ultra-253b-v1.toml @@ -0,0 +1,23 @@ +name = "llama-3.1-nemotron-ultra-253b-v1" +description = "A reasoning-optimized LLM based on Llama 3.1, Nemotron Ultra 253B delivers strong performance in tasks like RAG and tool use, with high efficiency and reduced latency." +release_date = "2025-04-07" +last_updated = "2025-04-07" +attachment = false +reasoning = true +temperature = false +tool_call = true +structured_output = true +open_weights = false +reasoning_options = [] + +[cost] +input = 0.598 +output = 1.794 + +[limit] +context = 128_000 +output = 128_000 + +[modalities] +input = ["text"] +output = ["text"] diff --git a/providers/cortecs/models/llama-3.3-70b-instruct.toml b/providers/cortecs/models/llama-3.3-70b-instruct.toml index 0074929273..2242bc444a 100644 --- a/providers/cortecs/models/llama-3.3-70b-instruct.toml +++ b/providers/cortecs/models/llama-3.3-70b-instruct.toml @@ -1,12 +1,12 @@ base_model = "meta/llama-3.3-70b-instruct" -name = "Llama 3.3 70B Instruct" attachment = false reasoning = true +structured_output = true reasoning_options = [] [cost] -input = 0.089 -output = 0.275 +input = 0.129 +output = 0.399 [limit] context = 131_000 diff --git a/providers/cortecs/models/llama-4-maverick.toml b/providers/cortecs/models/llama-4-maverick.toml deleted file mode 100644 index cec8b806b3..0000000000 --- a/providers/cortecs/models/llama-4-maverick.toml +++ /dev/null @@ -1,7 +0,0 @@ -base_model = "meta/llama-4-maverick-17b-instruct" - -[cost] -input = 0.124 -output = 0.603 -cache_read = 0.03 -cache_write = 0.151 \ No newline at end of file diff --git a/providers/cortecs/models/magistral-medium-2509.toml b/providers/cortecs/models/magistral-medium-2509.toml new file mode 100644 index 0000000000..26ea55ac8c --- /dev/null +++ b/providers/cortecs/models/magistral-medium-2509.toml @@ -0,0 +1,24 @@ +name = "magistral-medium-2509" +description = "Magistral Medium 2509 is a frontier-class reasoning model with vision support, delivering transparent, multilingual reasoning and a 15% performance boost over its predecessor." +release_date = "2025-09-18" +last_updated = "2025-09-18" +attachment = true +reasoning = true +temperature = false +tool_call = true +structured_output = true +open_weights = false +reasoning_options = [] + +[cost] +input = 2.228 +output = 5.57 +cache_read = 0.223 + +[limit] +context = 128_000 +output = 128_000 + +[modalities] +input = ["text", "image"] +output = ["text"] diff --git a/providers/cortecs/models/magistral-small-2509.toml b/providers/cortecs/models/magistral-small-2509.toml new file mode 100644 index 0000000000..6259f2a37e --- /dev/null +++ b/providers/cortecs/models/magistral-small-2509.toml @@ -0,0 +1,24 @@ +name = "magistral-small-2509" +description = "Magistral Small 2509 is a 24B-parameter open-weight reasoning model with vision support, offering a 15% performance boost and improved multimodal reasoning over its predecessor." +release_date = "2025-09-18" +last_updated = "2025-09-18" +attachment = true +reasoning = true +temperature = false +tool_call = true +structured_output = true +open_weights = false +reasoning_options = [] + +[cost] +input = 0.557 +output = 1.671 +cache_read = 0.056 + +[limit] +context = 128_000 +output = 128_000 + +[modalities] +input = ["text", "image"] +output = ["text"] diff --git a/providers/cortecs/models/minicpm-v-4.5.toml b/providers/cortecs/models/minicpm-v-4.5.toml new file mode 100644 index 0000000000..1ec22b6a6e --- /dev/null +++ b/providers/cortecs/models/minicpm-v-4.5.toml @@ -0,0 +1,22 @@ +name = "minicpm-v-4.5" +description = "MiniCPM-V 4.5 is a compact, high-performance vision-language model excelling in video understanding, OCR, and multimodal reasoning with efficient deployment." +release_date = "2026-06-02" +last_updated = "2026-06-02" +attachment = false +reasoning = false +temperature = false +tool_call = true +structured_output = true +open_weights = false + +[cost] +input = 0.651 +output = 1.097 + +[limit] +context = 32_000 +output = 32_000 + +[modalities] +input = ["text"] +output = ["text"] diff --git a/providers/cortecs/models/minimax-m2.1.toml b/providers/cortecs/models/minimax-m2.1.toml index d75abf7f9f..1e3b16ea6e 100644 --- a/providers/cortecs/models/minimax-m2.1.toml +++ b/providers/cortecs/models/minimax-m2.1.toml @@ -1,26 +1,15 @@ -name = "MiniMax-M2.1" +base_model = "minimax/MiniMax-M2.1" description = "MiniMax model for chat, coding, office work, and agentic tasks" -family = "minimax" -release_date = "2025-12-23" -last_updated = "2025-12-23" -attachment = false -reasoning = true +structured_output = true reasoning_options = [] -temperature = true -tool_call = true -open_weights = true + +[interleaved] +field = "reasoning_content" [cost] -input = 0.34 -output = 1.34 +input = 0.359 +output = 1.435 [limit] context = 196_000 output = 196_000 - -[modalities] -input = ["text"] -output = ["text"] - -[interleaved] -field = "reasoning_content" diff --git a/providers/cortecs/models/minimax-m2.5.toml b/providers/cortecs/models/minimax-m2.5.toml index 6518f06631..1f41647ea4 100644 --- a/providers/cortecs/models/minimax-m2.5.toml +++ b/providers/cortecs/models/minimax-m2.5.toml @@ -1,26 +1,16 @@ -name = "MiniMax-M2.5" +base_model = "minimax/MiniMax-M2.5" description = "MiniMax model for chat, coding, office work, and agentic tasks" -family = "minimax" -release_date = "2026-02-12" -last_updated = "2026-02-12" -attachment = false -reasoning = true +structured_output = true reasoning_options = [] -temperature = true -tool_call = true -open_weights = true + +[interleaved] +field = "reasoning_content" [cost] -input = 0.32 -output = 1.18 +input = 0.296 +output = 1.087 +cache_read = 0.03 [limit] -context = 196_608 +context = 196_680 output = 196_608 - -[modalities] -input = ["text"] -output = ["text"] - -[interleaved] -field = "reasoning_content" diff --git a/providers/cortecs/models/minimax-m2.7.toml b/providers/cortecs/models/minimax-m2.7.toml index 25badaaa22..de16979353 100644 --- a/providers/cortecs/models/minimax-m2.7.toml +++ b/providers/cortecs/models/minimax-m2.7.toml @@ -1,24 +1,12 @@ -name = "MiniMax-m2.7" +base_model = "minimax/MiniMax-M2.7" description = "MiniMax model for chat, coding, office work, and agentic tasks" -family = "minimax" -release_date = "2026-03-18" -last_updated = "2026-03-18" -attachment = false -reasoning = true -reasoning_options = [] -temperature = true -tool_call = true structured_output = true -open_weights = true +reasoning_options = [] [cost] -input = 0.47 -output = 1.40 +input = 0.668 +output = 2.674 [limit] -context = 202_752 +context = 196_608 output = 196_072 - -[modalities] -input = ["text"] -output = ["text"] diff --git a/providers/cortecs/models/minimax-m2.toml b/providers/cortecs/models/minimax-m2.toml index 11cf0ae566..6e428e287e 100644 --- a/providers/cortecs/models/minimax-m2.toml +++ b/providers/cortecs/models/minimax-m2.toml @@ -1,27 +1,15 @@ -name = "MiniMax-M2" +base_model = "minimax/MiniMax-M2" description = "MiniMax model for chat, coding, office work, and agentic tasks" -family = "minimax" -release_date = "2025-10-27" -last_updated = "2025-10-27" -attachment = false -reasoning = true +structured_output = true reasoning_options = [] -temperature = true -knowledge = "2024-11" -tool_call = true -open_weights = true + +[interleaved] +field = "reasoning_content" [cost] -input = 0.39 -output = 1.57 +input = 0.349 +output = 1.405 [limit] context = 400_000 output = 400_000 - -[modalities] -input = ["text"] -output = ["text"] - -[interleaved] -field = "reasoning_content" diff --git a/providers/cortecs/models/minimax-m3.toml b/providers/cortecs/models/minimax-m3.toml index b5f5f34f91..90344d0c90 100644 --- a/providers/cortecs/models/minimax-m3.toml +++ b/providers/cortecs/models/minimax-m3.toml @@ -1,7 +1,14 @@ base_model = "minimax/MiniMax-M3" +structured_output = true reasoning_options = [] [cost] -input = 0.355 -output = 1.775 -cache_read = 0.089 +input = 0.395 +output = 1.977 +cache_read = 0.099 + +[limit] +context = 1_048_576 + +[modalities] +input = ["text", "image"] diff --git a/providers/cortecs/models/ministral-14b-2512.toml b/providers/cortecs/models/ministral-14b-2512.toml new file mode 100644 index 0000000000..e57017e1d7 --- /dev/null +++ b/providers/cortecs/models/ministral-14b-2512.toml @@ -0,0 +1,23 @@ +name = "ministral-14b-2512" +description = "Ministral 3 14B is a frontier-level 14B multimodal model optimized for local deployment, delivering state-of-the-art text and vision reasoning with a 256K context window and strong agentic capabilities." +release_date = "2025-12-03" +last_updated = "2025-12-03" +attachment = true +reasoning = false +temperature = false +tool_call = true +structured_output = true +open_weights = false + +[cost] +input = 0.223 +output = 0.223 +cache_read = 0.022 + +[limit] +context = 256_000 +output = 256_000 + +[modalities] +input = ["text", "image"] +output = ["text"] diff --git a/providers/cortecs/models/ministral-3b-2512.toml b/providers/cortecs/models/ministral-3b-2512.toml new file mode 100644 index 0000000000..4e686e35de --- /dev/null +++ b/providers/cortecs/models/ministral-3b-2512.toml @@ -0,0 +1,23 @@ +name = "ministral-3b-2512" +description = "Ministral 3 3B is a compact, efficient multimodal model with strong language, vision capabilities, and ideal for custom fine-tuning." +release_date = "2025-12-03" +last_updated = "2025-12-03" +attachment = true +reasoning = false +temperature = false +tool_call = true +structured_output = true +open_weights = false + +[cost] +input = 0.111 +output = 0.111 +cache_read = 0.011 + +[limit] +context = 256_000 +output = 256_000 + +[modalities] +input = ["text", "image"] +output = ["text"] diff --git a/providers/cortecs/models/ministral-8b-2512.toml b/providers/cortecs/models/ministral-8b-2512.toml new file mode 100644 index 0000000000..ddbd962448 --- /dev/null +++ b/providers/cortecs/models/ministral-8b-2512.toml @@ -0,0 +1,23 @@ +name = "ministral-8b-2512" +description = "Ministral 3 8B is a balanced, efficient multimodal model offering strong text and vision capabilities, optimized for edge and local deployment." +release_date = "2025-12-03" +last_updated = "2025-12-03" +attachment = true +reasoning = false +temperature = false +tool_call = true +structured_output = true +open_weights = false + +[cost] +input = 0.167 +output = 0.167 +cache_read = 0.017 + +[limit] +context = 256_000 +output = 256_000 + +[modalities] +input = ["text", "image"] +output = ["text"] diff --git a/providers/cortecs/models/mistral-7b-instruct-v0.2.toml b/providers/cortecs/models/mistral-7b-instruct-v0.2.toml new file mode 100644 index 0000000000..eeb7abd05e --- /dev/null +++ b/providers/cortecs/models/mistral-7b-instruct-v0.2.toml @@ -0,0 +1,22 @@ +name = "mistral-7b-instruct-v0.2" +description = "Mistral 7B Instruct is a compact, 7B parameter model optimized for fast and efficient text and code generation with a 32K token context window." +release_date = "2025-05-26" +last_updated = "2025-05-26" +attachment = false +reasoning = false +temperature = false +tool_call = false +structured_output = false +open_weights = false + +[cost] +input = 0.159 +output = 0.219 + +[limit] +context = 32_000 +output = 32_000 + +[modalities] +input = ["text"] +output = ["text"] diff --git a/providers/cortecs/models/mistral-7b-instruct-v0.3.toml b/providers/cortecs/models/mistral-7b-instruct-v0.3.toml new file mode 100644 index 0000000000..9e67e8f964 --- /dev/null +++ b/providers/cortecs/models/mistral-7b-instruct-v0.3.toml @@ -0,0 +1,22 @@ +name = "mistral-7b-instruct-v0.3" +description = "Mistral-7B-Instruct-v0.3 model is a fine-tuned version of the Mistral 7B base model, optimized for instruction-following tasks. Released in 2023, it is intended for demonstration purposes and does not include built-in guardrails or moderation features." +release_date = "2025-05-26" +last_updated = "2025-05-26" +attachment = false +reasoning = false +temperature = false +tool_call = true +structured_output = true +open_weights = false + +[cost] +input = 0.111 +output = 0.111 + +[limit] +context = 127_000 +output = 127_000 + +[modalities] +input = ["text"] +output = ["text"] diff --git a/providers/cortecs/models/mistral-large-2402.toml b/providers/cortecs/models/mistral-large-2402.toml new file mode 100644 index 0000000000..5e13b1f6ca --- /dev/null +++ b/providers/cortecs/models/mistral-large-2402.toml @@ -0,0 +1,23 @@ +name = "mistral-large-2402" +description = "Mistral Large (24.02) is Mistral AI’s most advanced language model, built for complex multilingual reasoning, code generation, and deep text understanding." +release_date = "2025-05-26" +last_updated = "2025-05-26" +attachment = false +reasoning = true +temperature = false +tool_call = true +structured_output = true +open_weights = false +reasoning_options = [] + +[cost] +input = 4.284 +output = 12.952 + +[limit] +context = 32_000 +output = 32_000 + +[modalities] +input = ["text"] +output = ["text"] diff --git a/providers/cortecs/models/mistral-large-2512.toml b/providers/cortecs/models/mistral-large-2512.toml index ec9326edc8..52b4e581a2 100644 --- a/providers/cortecs/models/mistral-large-2512.toml +++ b/providers/cortecs/models/mistral-large-2512.toml @@ -1,13 +1,10 @@ base_model = "mistral/mistral-large-2512" -name = "Mistral Large 3 2512" -release_date = "2025-12-01" -last_updated = "2025-12-01" -knowledge = "2025-12" +structured_output = true [cost] -input = 0.5 -output = 1.5 -cache_read = 0.05 +input = 0.557 +output = 1.671 +cache_read = 0.056 [limit] context = 256_000 diff --git a/providers/cortecs/models/mistral-medium-2508.toml b/providers/cortecs/models/mistral-medium-2508.toml new file mode 100644 index 0000000000..e81a6c42e6 --- /dev/null +++ b/providers/cortecs/models/mistral-medium-2508.toml @@ -0,0 +1,24 @@ +name = "mistral-medium-2508" +description = "Mistral Medium 2508 is a frontier-class multimodal LLM with a 128,000 token context window, optimized for reasoning, coding, and multimodal tasks." +release_date = "2024-08-07" +last_updated = "2024-08-07" +attachment = true +reasoning = true +temperature = false +tool_call = true +structured_output = true +open_weights = false +reasoning_options = [] + +[cost] +input = 0.446 +output = 2.228 +cache_read = 0.045 + +[limit] +context = 128_000 +output = 128_000 + +[modalities] +input = ["text", "image"] +output = ["text"] diff --git a/providers/cortecs/models/mistral-medium-3.5.toml b/providers/cortecs/models/mistral-medium-3.5.toml new file mode 100644 index 0000000000..c930be77d5 --- /dev/null +++ b/providers/cortecs/models/mistral-medium-3.5.toml @@ -0,0 +1,23 @@ +name = "mistral-medium-3.5" +description = "Mistral Medium 3.5 is a frontier multimodal 128B model combining reasoning, coding, and instruction-following with strong agentic performance and efficient deployment." +release_date = "2026-04-30" +last_updated = "2026-04-30" +attachment = true +reasoning = true +temperature = false +tool_call = true +structured_output = true +open_weights = false +reasoning_options = [] + +[cost] +input = 1.671 +output = 5.57 + +[limit] +context = 256_000 +output = 256_000 + +[modalities] +input = ["text", "image"] +output = ["text"] diff --git a/providers/cortecs/models/mistral-nemo-instruct-2407.toml b/providers/cortecs/models/mistral-nemo-instruct-2407.toml new file mode 100644 index 0000000000..e3ea7d1cf4 --- /dev/null +++ b/providers/cortecs/models/mistral-nemo-instruct-2407.toml @@ -0,0 +1,23 @@ +name = "mistral-nemo-instruct-2407" +description = "A 12B parameter, instruct-tuned language model by Mistral AI and NVIDIA, designed for advanced instruction following, multi-turn conversations, and generating text and code across multiple languages." +release_date = "2024-08-07" +last_updated = "2024-08-07" +attachment = false +reasoning = false +temperature = false +tool_call = true +structured_output = true +open_weights = false + +[cost] +input = 0.145 +output = 0.145 +cache_read = 0.014 + +[limit] +context = 131_072 +output = 131_072 + +[modalities] +input = ["text"] +output = ["text"] diff --git a/providers/cortecs/models/mistral-small-2503.toml b/providers/cortecs/models/mistral-small-2503.toml new file mode 100644 index 0000000000..3a21b6e50e --- /dev/null +++ b/providers/cortecs/models/mistral-small-2503.toml @@ -0,0 +1,22 @@ +name = "mistral-small-2503" +description = "Combines advanced text and vision capabilities with 24 billion parameters, supporting multilingual tasks and long contexts up to 131k tokens, making it versatile for various applications without sacrificing performance." +release_date = "2025-03-20" +last_updated = "2025-03-20" +attachment = true +reasoning = false +temperature = false +tool_call = true +structured_output = true +open_weights = false + +[cost] +input = 0.111 +output = 0.334 + +[limit] +context = 128_000 +output = 128_000 + +[modalities] +input = ["text", "image"] +output = ["text"] diff --git a/providers/cortecs/models/mistral-small-2506.toml b/providers/cortecs/models/mistral-small-2506.toml new file mode 100644 index 0000000000..31d62603e6 --- /dev/null +++ b/providers/cortecs/models/mistral-small-2506.toml @@ -0,0 +1,12 @@ +base_model = "mistral/mistral-small-2506" +attachment = true +structured_output = true + +[cost] +input = 0.111 +output = 0.334 +cache_read = 0.011 + +[limit] +context = 131_072 +output = 131_072 diff --git a/providers/cortecs/models/mistral-small-2603.toml b/providers/cortecs/models/mistral-small-2603.toml new file mode 100644 index 0000000000..4ec4973486 --- /dev/null +++ b/providers/cortecs/models/mistral-small-2603.toml @@ -0,0 +1,12 @@ +base_model = "mistral/mistral-small-2603" +structured_output = true +reasoning_options = [] + +[cost] +input = 0.143 +output = 0.568 +cache_read = 0.014 + +[limit] +context = 262_144 +output = 262_144 diff --git a/providers/cortecs/models/mistral-small-3.2-24b-instruct-2506.toml b/providers/cortecs/models/mistral-small-3.2-24b-instruct-2506.toml new file mode 100644 index 0000000000..e98e612030 --- /dev/null +++ b/providers/cortecs/models/mistral-small-3.2-24b-instruct-2506.toml @@ -0,0 +1,22 @@ +name = "mistral-small-3.2-24b-instruct-2506" +description = "Mistral-Small-3.2-24B-Instruct-2506 is a 24B parameter instruction-tuned model with enhanced long-context support (128k) and state-of-the-art vision understanding." +release_date = "2025-05-26" +last_updated = "2025-05-26" +attachment = true +reasoning = false +temperature = false +tool_call = true +structured_output = true +open_weights = false + +[cost] +input = 0.1 +output = 0.312 + +[limit] +context = 131_000 +output = 131_000 + +[modalities] +input = ["text", "image"] +output = ["text"] diff --git a/providers/cortecs/models/mixtral-8x7B-instruct-v0.1.toml b/providers/cortecs/models/mixtral-8x7B-instruct-v0.1.toml index 21aff81407..f967e6241e 100644 --- a/providers/cortecs/models/mixtral-8x7B-instruct-v0.1.toml +++ b/providers/cortecs/models/mixtral-8x7B-instruct-v0.1.toml @@ -2,17 +2,18 @@ name = "Mixtral 8x7B Instruct v0.1" description = "Reasoning model for deliberate analysis, multi-step problem solving, and tool use" release_date = "2023-12-11" last_updated = "2023-12-11" -knowledge = "2023-09" attachment = false reasoning = true -reasoning_options = [] -tool_call = false temperature = true +tool_call = false +structured_output = true +knowledge = "2023-09" open_weights = true +reasoning_options = [] [cost] -input = 0.438 -output = 0.68 +input = 0.488 +output = 0.758 [limit] context = 32_000 diff --git a/providers/cortecs/models/nemotron-3-super-120b-a12b.toml b/providers/cortecs/models/nemotron-3-super-120b-a12b.toml index 43f86fcf83..fa3baef6b1 100644 --- a/providers/cortecs/models/nemotron-3-super-120b-a12b.toml +++ b/providers/cortecs/models/nemotron-3-super-120b-a12b.toml @@ -1,23 +1,8 @@ -name = "Nemotron 3 Super 120B A12B" base_model = "nvidia/nemotron-3-super-120b-a12b" -release_date = "2026-03-11" -last_updated = "2026-03-11" -knowledge = "2025-12" -attachment = false -reasoning = true +structured_output = true reasoning_options = [] -tool_call = true -temperature = true -open_weights = true [cost] -input = 0.266 -output = 0.799 - -[limit] -context = 262_144 -output = 262_144 - -[modalities] -input = ["text"] -output = ["text"] +input = 0.296 +output = 0.89 +cache_read = 0.075 diff --git a/providers/cortecs/models/nemotron-nano-v2-12b.toml b/providers/cortecs/models/nemotron-nano-v2-12b.toml new file mode 100644 index 0000000000..017dad0bf3 --- /dev/null +++ b/providers/cortecs/models/nemotron-nano-v2-12b.toml @@ -0,0 +1,23 @@ +name = "nemotron-nano-v2-12b" +description = "NVIDIA Nemotron Nano v2 12B is a 12-billion-parameter multimodal reasoning model designed for advanced video understanding, document intelligence, and visual reasoning, built with a hybrid Transformer-Mamba architecture for high efficiency and low latency." +release_date = "2025-10-31" +last_updated = "2025-10-31" +attachment = true +reasoning = true +temperature = false +tool_call = true +structured_output = true +open_weights = false +reasoning_options = [] + +[cost] +input = 0.24 +output = 0.707 + +[limit] +context = 128_000 +output = 128_000 + +[modalities] +input = ["text", "image"] +output = ["text"] diff --git a/providers/cortecs/models/nova-2-lite.toml b/providers/cortecs/models/nova-2-lite.toml new file mode 100644 index 0000000000..b0b23bfad4 --- /dev/null +++ b/providers/cortecs/models/nova-2-lite.toml @@ -0,0 +1,23 @@ +name = "nova-2-lite" +description = "Nova 2 Lite is an advanced multimodal reasoning model that combines efficiency and performance, delivering reliable AI for agentic workflows and enterprise applications." +release_date = "2025-12-04" +last_updated = "2025-12-04" +attachment = true +reasoning = true +temperature = false +tool_call = true +structured_output = true +open_weights = false +reasoning_options = [] + +[cost] +input = 0.373 +output = 3.144 + +[limit] +context = 1_000_000 +output = 1_000_000 + +[modalities] +input = ["text", "image"] +output = ["text"] diff --git a/providers/cortecs/models/nova-lite-v1.toml b/providers/cortecs/models/nova-lite-v1.toml new file mode 100644 index 0000000000..a0199cc23d --- /dev/null +++ b/providers/cortecs/models/nova-lite-v1.toml @@ -0,0 +1,23 @@ +name = "nova-lite-v1" +description = "Nova Lite is a fast, low-cost multimodal foundation model capable of reasoning over text, images, and video in 200+ languages." +release_date = "2025-04-14" +last_updated = "2025-04-14" +attachment = true +reasoning = true +temperature = false +tool_call = true +structured_output = true +open_weights = false +reasoning_options = [] + +[cost] +input = 0.069 +output = 0.275 + +[limit] +context = 300_000 +output = 300_000 + +[modalities] +input = ["text", "image"] +output = ["text"] diff --git a/providers/cortecs/models/nova-micro-v1.toml b/providers/cortecs/models/nova-micro-v1.toml new file mode 100644 index 0000000000..ce8595fb24 --- /dev/null +++ b/providers/cortecs/models/nova-micro-v1.toml @@ -0,0 +1,23 @@ +name = "nova-micro-v1" +description = "Nova Micro is a multilingual text-to-text foundation model with strong reasoning capabilities and broad language coverage across 200+ languages." +release_date = "2025-04-14" +last_updated = "2025-04-14" +attachment = true +reasoning = true +temperature = false +tool_call = true +structured_output = true +open_weights = false +reasoning_options = [] + +[cost] +input = 0.04 +output = 0.159 + +[limit] +context = 128_000 +output = 128_000 + +[modalities] +input = ["text", "image"] +output = ["text"] diff --git a/providers/cortecs/models/nova-pro-v1.toml b/providers/cortecs/models/nova-pro-v1.toml index c66e5e3add..09524c68f3 100644 --- a/providers/cortecs/models/nova-pro-v1.toml +++ b/providers/cortecs/models/nova-pro-v1.toml @@ -3,17 +3,18 @@ description = "Flagship model for demanding analysis, coding, and production age family = "nova-pro" release_date = "2024-12-03" last_updated = "2024-12-03" -knowledge = "2024-04" -attachment = false -reasoning = false -tool_call = true +attachment = true +reasoning = true temperature = true +tool_call = true +structured_output = true +knowledge = "2024-04" open_weights = false - +reasoning_options = [] [cost] -input = 1.016 -output = 4.061 +input = 0.918 +output = 3.671 [limit] context = 300_000 @@ -21,4 +22,4 @@ output = 5_000 [modalities] input = ["text", "image"] -output = ["text"] \ No newline at end of file +output = ["text"] diff --git a/providers/cortecs/models/nvidia-nemotron-3-nano-30b-a3b.toml b/providers/cortecs/models/nvidia-nemotron-3-nano-30b-a3b.toml new file mode 100644 index 0000000000..d1ed1aa83e --- /dev/null +++ b/providers/cortecs/models/nvidia-nemotron-3-nano-30b-a3b.toml @@ -0,0 +1,23 @@ +name = "nvidia-nemotron-3-nano-30b-a3b" +description = "Nemotron-Nano-3-30B-A3B is a compact Mixture-of-Experts model optimized for efficient reasoning, chat, and coding, with strong multilingual support and long-context RAG and agent workflows." +release_date = "2026-01-12" +last_updated = "2026-01-12" +attachment = false +reasoning = true +temperature = false +tool_call = true +structured_output = true +open_weights = false +reasoning_options = [] + +[cost] +input = 0.06 +output = 0.24 + +[limit] +context = 256_000 +output = 256_000 + +[modalities] +input = ["text"] +output = ["text"] diff --git a/providers/cortecs/models/nvidia-nemotron-3-nano-omni.toml b/providers/cortecs/models/nvidia-nemotron-3-nano-omni.toml new file mode 100644 index 0000000000..4b8a70d55a --- /dev/null +++ b/providers/cortecs/models/nvidia-nemotron-3-nano-omni.toml @@ -0,0 +1,23 @@ +name = "nvidia-nemotron-3-nano-omni" +description = "Nemotron-3-Nano-Omni is an open, efficient omni-modal reasoning model that unifies text, image, audio, and video for agentic AI workflows." +release_date = "2026-04-29" +last_updated = "2026-04-29" +attachment = false +reasoning = true +temperature = false +tool_call = true +structured_output = true +open_weights = false +reasoning_options = [] + +[cost] +input = 0.059 +output = 0.237 + +[limit] +context = 300_000 +output = 300_000 + +[modalities] +input = ["text"] +output = ["text"] diff --git a/providers/cortecs/models/pixtral-12b-2409.toml b/providers/cortecs/models/pixtral-12b-2409.toml new file mode 100644 index 0000000000..62a978e522 --- /dev/null +++ b/providers/cortecs/models/pixtral-12b-2409.toml @@ -0,0 +1,23 @@ +name = "pixtral-12b-2409" +description = "Pixtral 2409 12B is a state-of-the-art multimodal model with 12B parameters and a 400M vision encoder, natively trained on interleaved text and image data. It excels in tasks spanning vision-language reasoning, instruction following, and pure text understanding, making it highly effective for real-world multimodal applications." +release_date = "2024-11-09" +last_updated = "2024-11-09" +attachment = true +reasoning = true +temperature = false +tool_call = true +structured_output = true +open_weights = false +reasoning_options = [] + +[cost] +input = 0.223 +output = 0.223 + +[limit] +context = 128_000 +output = 128_000 + +[modalities] +input = ["text", "image"] +output = ["text"] diff --git a/providers/cortecs/models/pixtral-large-2502.toml b/providers/cortecs/models/pixtral-large-2502.toml new file mode 100644 index 0000000000..2e2fb46834 --- /dev/null +++ b/providers/cortecs/models/pixtral-large-2502.toml @@ -0,0 +1,23 @@ +name = "pixtral-large-2502" +description = "Pixtral Large (25.02) is a 124B open-weight multimodal model built on Mistral Large 2, offering advanced image understanding and strong performance across text and code tasks." +release_date = "2025-05-26" +last_updated = "2025-05-26" +attachment = true +reasoning = true +temperature = false +tool_call = true +structured_output = true +open_weights = false +reasoning_options = [] + +[cost] +input = 1.993 +output = 5.978 + +[limit] +context = 128_000 +output = 128_000 + +[modalities] +input = ["text", "image"] +output = ["text"] diff --git a/providers/cortecs/models/qwen-2.5-72b-instruct.toml b/providers/cortecs/models/qwen-2.5-72b-instruct.toml deleted file mode 100644 index d22e8a2ba0..0000000000 --- a/providers/cortecs/models/qwen-2.5-72b-instruct.toml +++ /dev/null @@ -1,23 +0,0 @@ -name = "Qwen2.5 72B Instruct" -description = "Qwen instruction model for multilingual chat, reasoning, and tool use" -family = "qwen" -release_date = "2024-09-19" -last_updated = "2024-09-19" -knowledge = "2024-06" -attachment = false -reasoning = false -tool_call = true -temperature = true -open_weights = true - -[cost] -input = 0.062 -output = 0.231 - -[limit] -context = 33_000 -output = 33_000 - -[modalities] -input = ["text"] -output = ["text"] diff --git a/providers/cortecs/models/qwen2.5-vl-72b-instruct.toml b/providers/cortecs/models/qwen2.5-vl-72b-instruct.toml new file mode 100644 index 0000000000..463981d633 --- /dev/null +++ b/providers/cortecs/models/qwen2.5-vl-72b-instruct.toml @@ -0,0 +1,23 @@ +name = "qwen2.5-vl-72b-instruct" +description = "Qwen2.5-VL is a powerful vision-language model with advanced capabilities in visual understanding, long video reasoning, and structured output generation." +release_date = "2025-01-27" +last_updated = "2025-01-27" +attachment = true +reasoning = true +temperature = false +tool_call = false +structured_output = true +open_weights = false +reasoning_options = [] + +[cost] +input = 0.25 +output = 0.747 + +[limit] +context = 32_000 +output = 32_000 + +[modalities] +input = ["text", "image"] +output = ["text"] diff --git a/providers/cortecs/models/qwen3-235b-a22b-instruct-2507.toml b/providers/cortecs/models/qwen3-235b-a22b-instruct-2507.toml index bd49acb488..cc19a30734 100644 --- a/providers/cortecs/models/qwen3-235b-a22b-instruct-2507.toml +++ b/providers/cortecs/models/qwen3-235b-a22b-instruct-2507.toml @@ -3,20 +3,22 @@ description = "Qwen instruction model for multilingual chat, reasoning, and tool family = "qwen" release_date = "2025-07-23" last_updated = "2025-07-23" -knowledge = "2025-04" attachment = false reasoning = true -reasoning_options = [] -tool_call = true temperature = true +tool_call = true +structured_output = true +knowledge = "2025-04" open_weights = true +reasoning_options = [] [cost] -input = 0.062 -output = 0.408 +input = 0.069 +output = 0.455 +cache_read = 0.018 [limit] -context = 131_000 +context = 262_000 output = 131_000 [modalities] diff --git a/providers/cortecs/models/qwen3-30b-a3b-instruct-2507.toml b/providers/cortecs/models/qwen3-30b-a3b-instruct-2507.toml new file mode 100644 index 0000000000..3b44b48f5b --- /dev/null +++ b/providers/cortecs/models/qwen3-30b-a3b-instruct-2507.toml @@ -0,0 +1,23 @@ +name = "qwen3-30b-a3b-instruct-2507" +description = "Qwen3-30B-A3B-Instruct-2507 is an advanced Mixture-of-Experts model optimized for reasoning, coding, and multilingual instruction following." +release_date = "2025-07-28" +last_updated = "2025-07-28" +attachment = false +reasoning = true +temperature = false +tool_call = true +structured_output = true +open_weights = false +reasoning_options = [] + +[cost] +input = 0.099 +output = 0.299 + +[limit] +context = 262_000 +output = 262_000 + +[modalities] +input = ["text"] +output = ["text"] diff --git a/providers/cortecs/models/qwen3-32b.toml b/providers/cortecs/models/qwen3-32b.toml index 4d795ca6b2..27f19fe110 100644 --- a/providers/cortecs/models/qwen3-32b.toml +++ b/providers/cortecs/models/qwen3-32b.toml @@ -1,24 +1,11 @@ -name = "Qwen3 32B" +base_model = "alibaba/qwen3-32b" description = "Qwen instruction model for multilingual chat, reasoning, and tool use" -family = "qwen" -release_date = "2025-04-29" -last_updated = "2025-04-29" -knowledge = "2024-12" -attachment = false -reasoning = false -tool_call = true -temperature = true -open_weights = true - +structured_output = true +reasoning_options = [] [cost] input = 0.099 -output = 0.33 +output = 0.299 [limit] -context = 16_384 -output = 16_384 - -[modalities] -input = ["text"] -output = ["text"] \ No newline at end of file +context = 40_000 diff --git a/providers/cortecs/models/qwen3-coder-30b-a3b-instruct.toml b/providers/cortecs/models/qwen3-coder-30b-a3b-instruct.toml index 9ce13fc845..a3a82b7df6 100644 --- a/providers/cortecs/models/qwen3-coder-30b-a3b-instruct.toml +++ b/providers/cortecs/models/qwen3-coder-30b-a3b-instruct.toml @@ -1,14 +1,12 @@ base_model = "alibaba/qwen3-coder-30b-a3b-instruct" -name = "Qwen3 Coder 30B A3B Instruct" -release_date = "2025-07-31" -last_updated = "2025-07-31" reasoning = true +structured_output = true reasoning_options = [] [cost] -input = 0.053 -output = 0.222 +input = 0.059 +output = 0.247 +cache_read = 0.014 [limit] -context = 262_000 output = 262_000 diff --git a/providers/cortecs/models/qwen3-coder-480b-a35b-instruct.toml b/providers/cortecs/models/qwen3-coder-480b-a35b-instruct.toml deleted file mode 100644 index fde370bc12..0000000000 --- a/providers/cortecs/models/qwen3-coder-480b-a35b-instruct.toml +++ /dev/null @@ -1,24 +0,0 @@ -name = "Qwen3 Coder 480B A35B Instruct" -description = "Qwen coding model for software agents, repository edits, and code reasoning" -family = "qwen" -release_date = "2025-07-25" -last_updated = "2025-07-25" -knowledge = "2025-01" -attachment = false -reasoning = false -tool_call = true -temperature = true -open_weights = true - - -[cost] -input = 0.441 -output = 1.984 - -[limit] -context = 262_000 -output = 262_000 - -[modalities] -input = ["text"] -output = ["text"] \ No newline at end of file diff --git a/providers/cortecs/models/qwen3-coder-next.toml b/providers/cortecs/models/qwen3-coder-next.toml index 2b3c74cb78..36f18ead84 100644 --- a/providers/cortecs/models/qwen3-coder-next.toml +++ b/providers/cortecs/models/qwen3-coder-next.toml @@ -3,17 +3,18 @@ description = "Qwen coding model for software agents, repository edits, and code family = "qwen" release_date = "2026-02-04" last_updated = "2026-02-04" -knowledge = "2025-04" attachment = false reasoning = true -reasoning_options = [] -tool_call = true temperature = true +tool_call = true +structured_output = true +knowledge = "2025-04" open_weights = true +reasoning_options = [] [cost] -input = 0.158 -output = 0.84 +input = 0.167 +output = 0.891 [limit] context = 256_000 diff --git a/providers/cortecs/models/qwen3-next-80b-a3b-thinking.toml b/providers/cortecs/models/qwen3-next-80b-a3b-thinking.toml index dd1b63f45d..d0add520f9 100644 --- a/providers/cortecs/models/qwen3-next-80b-a3b-thinking.toml +++ b/providers/cortecs/models/qwen3-next-80b-a3b-thinking.toml @@ -1,24 +1,12 @@ -name = "Qwen3 Next 80B A3B Thinking" +base_model = "alibaba/qwen3-next-80b-a3b-thinking" description = "Reasoning model for deliberate analysis, multi-step problem solving, and tool use" -release_date = "2025-09-11" -last_updated = "2025-09-11" -knowledge = "2025-04" -attachment = false -reasoning = true +structured_output = true reasoning_options = [] -tool_call = true -temperature = true -open_weights = true - [cost] -input = 0.164 -output = 1.311 +input = 0.149 +output = 1.195 [limit] context = 128_000 output = 128_000 - -[modalities] -input = ["text"] -output = ["text"] diff --git a/providers/cortecs/models/qwen3-vl-235b-a22b.toml b/providers/cortecs/models/qwen3-vl-235b-a22b.toml new file mode 100644 index 0000000000..c19268e2d7 --- /dev/null +++ b/providers/cortecs/models/qwen3-vl-235b-a22b.toml @@ -0,0 +1,24 @@ +name = "qwen3-vl-235b-a22b" +description = "Qwen3 VL 235B A22B is a 235B-parameter MoE vision-language flagship model (≈22B active) designed for frontier-level multimodal understanding across text, images, documents, and long videos." +release_date = "2026-01-13" +last_updated = "2026-01-13" +attachment = true +reasoning = true +temperature = false +tool_call = true +structured_output = true +open_weights = false +reasoning_options = [] + +[cost] +input = 0.207 +output = 1.878 +cache_read = 0.052 + +[limit] +context = 256_000 +output = 256_000 + +[modalities] +input = ["text", "image"] +output = ["text"] diff --git a/providers/cortecs/models/qwen3.5-122b-a10b.toml b/providers/cortecs/models/qwen3.5-122b-a10b.toml index c0c7090c1e..ab646dfbd1 100644 --- a/providers/cortecs/models/qwen3.5-122b-a10b.toml +++ b/providers/cortecs/models/qwen3.5-122b-a10b.toml @@ -1,15 +1,12 @@ base_model = "alibaba/qwen3.5-122b-a10b" base_model_omit = ["structured_output"] -reasoning_options = [] -name = "Qwen3.5 122B A10B" -release_date = "2026-02-24" -last_updated = "2026-02-24" attachment = false -knowledge = "2026-01" +reasoning_options = [] [cost] -input = 0.444 -output = 3.106 +input = 0.495 +output = 3.46 +cache_read = 0.124 [limit] output = 262_144 diff --git a/providers/cortecs/models/qwen3.5-397b-a17b.toml b/providers/cortecs/models/qwen3.5-397b-a17b.toml index 1c8f0a0c4a..a2ce4e256d 100644 --- a/providers/cortecs/models/qwen3.5-397b-a17b.toml +++ b/providers/cortecs/models/qwen3.5-397b-a17b.toml @@ -1,18 +1,14 @@ base_model = "alibaba/qwen3.5-397b-a17b" base_model_omit = ["structured_output"] -reasoning_options = [] -name = "Qwen3.5 397B A17B" -release_date = "2026-02-16" -last_updated = "2026-02-16" attachment = false -knowledge = "2026-01" +reasoning_options = [] [cost] -input = 0.6 -output = 3.6 +input = 0.668 +output = 4.01 [limit] -context = 250_000 +context = 262_000 output = 250_000 [modalities] diff --git a/providers/cortecs/models/qwen3.5-9b.toml b/providers/cortecs/models/qwen3.5-9b.toml new file mode 100644 index 0000000000..8af99a5718 --- /dev/null +++ b/providers/cortecs/models/qwen3.5-9b.toml @@ -0,0 +1,13 @@ +base_model = "alibaba/qwen3.5-9b" +attachment = true +reasoning_options = [] + +[cost] +input = 0.111 +output = 0.167 + +[limit] +output = 262_144 + +[modalities] +input = ["text", "image"] diff --git a/providers/cortecs/models/qwen3.6-27b.toml b/providers/cortecs/models/qwen3.6-27b.toml new file mode 100644 index 0000000000..dc5b852218 --- /dev/null +++ b/providers/cortecs/models/qwen3.6-27b.toml @@ -0,0 +1,13 @@ +base_model = "alibaba/qwen3.6-27b" +reasoning_options = [] + +[cost] +input = 0.446 +output = 3.008 + +[limit] +context = 262_000 +output = 262_000 + +[modalities] +input = ["text", "image"] diff --git a/providers/cortecs/models/qwen3.6-35b-a3b.toml b/providers/cortecs/models/qwen3.6-35b-a3b.toml new file mode 100644 index 0000000000..2c3a0bd470 --- /dev/null +++ b/providers/cortecs/models/qwen3.6-35b-a3b.toml @@ -0,0 +1,13 @@ +base_model = "alibaba/qwen3.6-35b-a3b" +reasoning_options = [] + +[cost] +input = 0.167 +output = 0.557 + +[limit] +context = 262_000 +output = 262_000 + +[modalities] +input = ["text", "image"] diff --git a/providers/cortecs/models/qwen3guard-gen-0.6b.toml b/providers/cortecs/models/qwen3guard-gen-0.6b.toml new file mode 100644 index 0000000000..e74f24fc1e --- /dev/null +++ b/providers/cortecs/models/qwen3guard-gen-0.6b.toml @@ -0,0 +1,22 @@ +name = "qwen3guard-gen-0.6b" +description = "Qwen3Guard-Gen-0.6B is a lightweight multilingual safety moderation model that classifies prompts and responses into safe, controversial, or unsafe categories." +release_date = "2026-02-04" +last_updated = "2026-02-04" +attachment = false +reasoning = false +temperature = false +tool_call = false +structured_output = false +open_weights = false + +[cost] +input = 0 +output = 0 + +[limit] +context = 32_000 +output = 32_000 + +[modalities] +input = ["text"] +output = ["text"] diff --git a/providers/cortecs/models/qwen3guard-gen-8b.toml b/providers/cortecs/models/qwen3guard-gen-8b.toml new file mode 100644 index 0000000000..e749c5af1d --- /dev/null +++ b/providers/cortecs/models/qwen3guard-gen-8b.toml @@ -0,0 +1,22 @@ +name = "qwen3guard-gen-8b" +description = "Qwen3Guard-Gen-8B is a large-scale multilingual safety moderation model designed for high-accuracy prompt and response classification." +release_date = "2026-02-04" +last_updated = "2026-02-04" +attachment = false +reasoning = false +temperature = false +tool_call = false +structured_output = false +open_weights = false + +[cost] +input = 0 +output = 0 + +[limit] +context = 32_000 +output = 32_000 + +[modalities] +input = ["text"] +output = ["text"] diff --git a/providers/cortecs/models/voxtral-small-2507.toml b/providers/cortecs/models/voxtral-small-2507.toml new file mode 100644 index 0000000000..f8ce5732ff --- /dev/null +++ b/providers/cortecs/models/voxtral-small-2507.toml @@ -0,0 +1,23 @@ +name = "voxtral-small-2507" +description = "Voxtral Small is a multimodal model with audio input, combining advanced speech capabilities with strong text performance for transcription, translation, and audio understanding." +release_date = "2026-02-02" +last_updated = "2026-02-02" +attachment = true +reasoning = false +temperature = false +tool_call = true +structured_output = true +open_weights = false + +[cost] +input = 0.111 +output = 0.334 +cache_read = 0.011 + +[limit] +context = 32_000 +output = 32_000 + +[modalities] +input = ["text", "audio"] +output = ["text"] From f38fa767a0d6249ee5212d7a384849a12230dda3 Mon Sep 17 00:00:00 2001 From: ASMAE20 Date: Fri, 31 Jul 2026 16:33:47 +0100 Subject: [PATCH 2/6] fix: review bot comments --- packages/core/src/sync/providers/cortecs.ts | 54 +++++++++++++++---- .../cortecs/models/claude-4-5-sonnet.toml | 13 +---- .../cortecs/models/claude-4-6-sonnet.toml | 13 +---- providers/cortecs/models/claude-opus-5.toml | 9 +++- providers/cortecs/models/claude-opus4-5.toml | 13 +---- providers/cortecs/models/claude-opus4-6.toml | 13 +---- providers/cortecs/models/claude-opus4-7.toml | 20 ++----- providers/cortecs/models/claude-opus4-8.toml | 4 ++ providers/cortecs/models/claude-sonnet-4.toml | 25 ++++----- providers/cortecs/models/claude-sonnet-5.toml | 9 +++- .../cortecs/models/deepseek-chat-v3.1.toml | 5 +- .../cortecs/models/deepseek-r1-0528.toml | 5 +- providers/cortecs/models/deepseek-v3.2.toml | 5 +- providers/cortecs/models/glm-4.7-flash.toml | 2 +- providers/cortecs/models/gpt-4.1-mini.toml | 2 - providers/cortecs/models/gpt-4.1-nano.toml | 2 - providers/cortecs/models/gpt-4.1.toml | 2 - providers/cortecs/models/gpt-4o-mini.toml | 2 - providers/cortecs/models/gpt-4o.toml | 2 - providers/cortecs/models/gpt-5-mini.toml | 5 +- providers/cortecs/models/gpt-5-nano.toml | 5 +- providers/cortecs/models/gpt-5.1.toml | 5 +- providers/cortecs/models/gpt-5.6-luna.toml | 5 +- providers/cortecs/models/gpt-5.6-sol.toml | 5 +- providers/cortecs/models/gpt-5.6-terra.toml | 5 +- providers/cortecs/models/gpt-5.toml | 5 +- providers/cortecs/models/gpt-oss-20b.toml | 5 +- .../models/gpt-oss-safeguard-120b.toml | 5 +- .../models/llama-3.3-70b-instruct.toml | 2 - .../models/qwen3-coder-30b-a3b-instruct.toml | 2 - 30 files changed, 131 insertions(+), 118 deletions(-) diff --git a/packages/core/src/sync/providers/cortecs.ts b/packages/core/src/sync/providers/cortecs.ts index 001ace05d5..253f98a172 100644 --- a/packages/core/src/sync/providers/cortecs.ts +++ b/packages/core/src/sync/providers/cortecs.ts @@ -5,6 +5,9 @@ import type { ExistingModel, SyncProvider, SyncedFullModel, SyncedModel } from " import { factorBaseModel, resolveModelMetadataBaseModel } from "./openrouter.js"; const API_ENDPOINT = "https://api.cortecs.ai/v1/models"; +const CANONICAL_BASE_MODEL_EXCEPTIONS = { + "claude-sonnet-4": "anthropic/claude-sonnet-4-0", +} as const; // Cortecs publishes its default catalog prices in EUR per million tokens. // Exchange rate used by the existing Cortecs entries, as of 2026-07-30. const EUR_TO_USD = 1.114; @@ -51,7 +54,10 @@ export const cortecs = { return CortecsResponse.parse(raw).data; }, translateModel(model, context) { - return { id: model.id, model: buildCortecsModel(model, context.existing(model.id)) }; + return { + id: model.id, + model: buildCortecsModel(model, context.existing(model.id), context.authored(model.id)), + }; }, } satisfies SyncProvider; @@ -64,15 +70,24 @@ function usd(value: number | undefined) { return Math.round(value * EUR_TO_USD * 1_000) / 1_000; } -export function buildCortecsModel(model: CortecsModel, existing: ExistingModel | undefined): SyncedModel { +export function buildCortecsModel( + model: CortecsModel, + existing: ExistingModel | undefined, + authored: ExistingModel | undefined, +): SyncedModel { const features = new Set(model.supported_features); const input = model.input_modalities; const output = model.output_modalities; - const reasoning = features.has("reasoning"); + const canonical = existing?.base_model ?? resolveCortecsBaseModel(model.id); + const sourceReasoning = features.has("reasoning"); + const reasoning = canonical === undefined ? sourceReasoning : existing?.reasoning ?? sourceReasoning; + const reasoningOptions = canonical === undefined + ? (sourceReasoning ? existing?.reasoning_options ?? [] : undefined) + : (existing?.reasoning === true ? existing.reasoning_options : undefined); const limit = { context: model.context_size, input: existing?.limit?.input, - output: existing?.limit?.output ?? model.context_size, + output: authored?.limit?.output, }; const cost = { input: usd(model.pricing.input_token), @@ -82,14 +97,12 @@ export function buildCortecsModel(model: CortecsModel, existing: ExistingModel | reasoning: existing?.cost?.reasoning, tiers: existing?.cost?.tiers, }; - const canonical = existing?.base_model ?? resolveModelMetadataBaseModel(model.id); - if (canonical !== undefined) { return factorBaseModel(canonical, { description: existing?.description, attachment: input.some((value) => value !== "text"), - reasoning, - reasoning_options: reasoning ? existing?.reasoning_options ?? [] : undefined, + reasoning: undefined, + reasoning_options: reasoningOptions, temperature: existing?.temperature, tool_call: features.has("tools"), structured_output: features.has("json_mode"), @@ -120,7 +133,7 @@ export function buildCortecsModel(model: CortecsModel, existing: ExistingModel | last_updated: existing?.last_updated ?? dateFromTimestamp(model.created), attachment: input.some((value) => value !== "text"), reasoning, - reasoning_options: reasoning ? existing?.reasoning_options ?? [] : undefined, + reasoning_options: reasoningOptions, temperature: existing?.temperature ?? false, tool_call: features.has("tools"), structured_output: features.has("json_mode"), @@ -132,4 +145,25 @@ export function buildCortecsModel(model: CortecsModel, existing: ExistingModel | limit, modalities: { input, output }, } satisfies SyncedFullModel; -} \ No newline at end of file +} + +function resolveCortecsBaseModel(modelID: string) { + const exception = CANONICAL_BASE_MODEL_EXCEPTIONS[ + modelID as keyof typeof CANONICAL_BASE_MODEL_EXCEPTIONS + ]; + if (exception !== undefined) return resolveModelMetadataBaseModel(exception); + + const trailingFamily = /^claude-(\d+)-(\d+)-(opus|sonnet|haiku)$/.exec(modelID); + if (trailingFamily !== null) { + const [, major, minor, family] = trailingFamily; + return resolveModelMetadataBaseModel(`anthropic/claude-${family}-${major}-${minor}`); + } + + const compactFamily = /^claude-(opus|sonnet|haiku)(\d+)-(\d+)$/.exec(modelID); + if (compactFamily !== null) { + const [, family, major, minor] = compactFamily; + return resolveModelMetadataBaseModel(`anthropic/claude-${family}-${major}-${minor}`); + } + + return resolveModelMetadataBaseModel(modelID); +} diff --git a/providers/cortecs/models/claude-4-5-sonnet.toml b/providers/cortecs/models/claude-4-5-sonnet.toml index 9b2c90bacf..dcbdccfe18 100644 --- a/providers/cortecs/models/claude-4-5-sonnet.toml +++ b/providers/cortecs/models/claude-4-5-sonnet.toml @@ -1,15 +1,6 @@ -name = "Claude 4.5 Sonnet" +base_model = "anthropic/claude-sonnet-4-5" description = "Balanced Claude model for coding, analysis, agent workflows, and cost control" -family = "claude-sonnet" -release_date = "2025-09-29" -last_updated = "2025-09-29" -attachment = true -reasoning = true -temperature = true -tool_call = true structured_output = true -knowledge = "2025-07-31" -open_weights = false [[reasoning_options]] type = "effort" @@ -26,9 +17,7 @@ cache_read = 0.326 cache_write = 4.078 [limit] -context = 200_000 output = 200_000 [modalities] input = ["text", "image"] -output = ["text"] diff --git a/providers/cortecs/models/claude-4-6-sonnet.toml b/providers/cortecs/models/claude-4-6-sonnet.toml index 89a8f70303..a362064d1c 100644 --- a/providers/cortecs/models/claude-4-6-sonnet.toml +++ b/providers/cortecs/models/claude-4-6-sonnet.toml @@ -1,15 +1,6 @@ -name = "Claude Sonnet 4.6" +base_model = "anthropic/claude-sonnet-4-6" description = "Balanced Claude model for coding, analysis, agent workflows, and cost control" -family = "claude-sonnet" -release_date = "2026-02-17" -last_updated = "2026-03-13" -attachment = true -reasoning = true -temperature = true -tool_call = true structured_output = true -knowledge = "2025-08-31" -open_weights = false [[reasoning_options]] type = "effort" @@ -26,9 +17,7 @@ cache_read = 0.32 cache_write = 3.999 [limit] -context = 1_000_000 output = 1_000_000 [modalities] input = ["text", "image"] -output = ["text"] diff --git a/providers/cortecs/models/claude-opus-5.toml b/providers/cortecs/models/claude-opus-5.toml index b3f42c86c5..30ea95e6a2 100644 --- a/providers/cortecs/models/claude-opus-5.toml +++ b/providers/cortecs/models/claude-opus-5.toml @@ -1,6 +1,13 @@ base_model = "anthropic/claude-opus-5" structured_output = true -reasoning_options = [] + +[[reasoning_options]] +type = "effort" +values = ["low", "medium", "high"] + +[[reasoning_options]] +type = "budget_tokens" +min = 1_024 [cost] input = 5.5 diff --git a/providers/cortecs/models/claude-opus4-5.toml b/providers/cortecs/models/claude-opus4-5.toml index 636958f684..e79b9bea47 100644 --- a/providers/cortecs/models/claude-opus4-5.toml +++ b/providers/cortecs/models/claude-opus4-5.toml @@ -1,15 +1,6 @@ -name = "Claude Opus 4.5" +base_model = "anthropic/claude-opus-4-5" description = "Flagship Claude model for deep reasoning, coding, and long-horizon agents" -family = "claude-opus" -release_date = "2025-11-24" -last_updated = "2025-11-24" -attachment = true -reasoning = true -temperature = true -tool_call = true structured_output = true -knowledge = "2025-03-31" -open_weights = false [[reasoning_options]] type = "effort" @@ -26,9 +17,7 @@ cache_read = 0.531 cache_write = 6.645 [limit] -context = 200_000 output = 200_000 [modalities] input = ["text", "image"] -output = ["text"] diff --git a/providers/cortecs/models/claude-opus4-6.toml b/providers/cortecs/models/claude-opus4-6.toml index 037d2a6e39..ef61043afb 100644 --- a/providers/cortecs/models/claude-opus4-6.toml +++ b/providers/cortecs/models/claude-opus4-6.toml @@ -1,15 +1,6 @@ -name = "Claude Opus 4.6" +base_model = "anthropic/claude-opus-4-6" description = "Flagship Claude model for deep reasoning, coding, and long-horizon agents" -family = "claude-opus" -release_date = "2026-02-05" -last_updated = "2026-03-13" -attachment = true -reasoning = true -temperature = true -tool_call = true structured_output = true -knowledge = "2025-05-31" -open_weights = false [[reasoning_options]] type = "effort" @@ -26,9 +17,7 @@ cache_read = 0.531 cache_write = 6.645 [limit] -context = 1_000_000 output = 1_000_000 [modalities] input = ["text", "image"] -output = ["text"] diff --git a/providers/cortecs/models/claude-opus4-7.toml b/providers/cortecs/models/claude-opus4-7.toml index d018ca0d24..ddc83b4cac 100644 --- a/providers/cortecs/models/claude-opus4-7.toml +++ b/providers/cortecs/models/claude-opus4-7.toml @@ -1,30 +1,20 @@ -name = "Claude Opus 4.7" +base_model = "anthropic/claude-opus-4-7" description = "Flagship Claude model for deep reasoning, coding, and long-horizon agents" -family = "claude-opus" -release_date = "2026-04-16" -last_updated = "2026-04-16" -attachment = true -reasoning = true -temperature = false -tool_call = true structured_output = true -knowledge = "2026-01-31" -open_weights = false [[reasoning_options]] type = "effort" values = ["low", "medium", "high"] +[[reasoning_options]] +type = "budget_tokens" +min = 1_024 + [cost] input = 5.437 output = 27.186 cache_read = 0.544 cache_write = 6.797 -[limit] -context = 1_000_000 -output = 128_000 - [modalities] input = ["text", "image"] -output = ["text"] diff --git a/providers/cortecs/models/claude-opus4-8.toml b/providers/cortecs/models/claude-opus4-8.toml index b3fca61855..adca0296e3 100644 --- a/providers/cortecs/models/claude-opus4-8.toml +++ b/providers/cortecs/models/claude-opus4-8.toml @@ -5,6 +5,10 @@ structured_output = true type = "effort" values = ["low", "medium", "high"] +[[reasoning_options]] +type = "budget_tokens" +min = 1_024 + [cost] input = 5.437 output = 27.186 diff --git a/providers/cortecs/models/claude-sonnet-4.toml b/providers/cortecs/models/claude-sonnet-4.toml index 17a8091bba..8996adbf7d 100644 --- a/providers/cortecs/models/claude-sonnet-4.toml +++ b/providers/cortecs/models/claude-sonnet-4.toml @@ -1,16 +1,14 @@ -name = "Claude Sonnet 4" +base_model = "anthropic/claude-sonnet-4-0" description = "Balanced Claude model for coding, analysis, agent workflows, and cost control" -family = "claude-sonnet" -release_date = "2025-05-22" -last_updated = "2025-05-22" -attachment = true -reasoning = true -temperature = true -tool_call = true structured_output = true -knowledge = "2025-03" -open_weights = false -reasoning_options = [] + +[[reasoning_options]] +type = "effort" +values = ["low", "medium", "high"] + +[[reasoning_options]] +type = "budget_tokens" +min = 1_024 [cost] input = 2.898 @@ -18,10 +16,5 @@ output = 14.493 cache_read = 0.29 cache_write = 3.624 -[limit] -context = 200_000 -output = 64_000 - [modalities] input = ["text", "image"] -output = ["text"] diff --git a/providers/cortecs/models/claude-sonnet-5.toml b/providers/cortecs/models/claude-sonnet-5.toml index efc9903ea4..94f2c8cc3b 100644 --- a/providers/cortecs/models/claude-sonnet-5.toml +++ b/providers/cortecs/models/claude-sonnet-5.toml @@ -1,6 +1,13 @@ base_model = "anthropic/claude-sonnet-5" structured_output = true -reasoning_options = [] + +[[reasoning_options]] +type = "effort" +values = ["low", "medium", "high"] + +[[reasoning_options]] +type = "budget_tokens" +min = 1_024 [cost] input = 2.2 diff --git a/providers/cortecs/models/deepseek-chat-v3.1.toml b/providers/cortecs/models/deepseek-chat-v3.1.toml index e50acacb2d..33cd909dcf 100644 --- a/providers/cortecs/models/deepseek-chat-v3.1.toml +++ b/providers/cortecs/models/deepseek-chat-v3.1.toml @@ -8,7 +8,10 @@ temperature = false tool_call = true structured_output = true open_weights = false -reasoning_options = [] + +[[reasoning_options]] +type = "effort" +values = ["low", "medium", "high"] [cost] input = 0.197 diff --git a/providers/cortecs/models/deepseek-r1-0528.toml b/providers/cortecs/models/deepseek-r1-0528.toml index f25f45005b..6922ad9d38 100644 --- a/providers/cortecs/models/deepseek-r1-0528.toml +++ b/providers/cortecs/models/deepseek-r1-0528.toml @@ -10,7 +10,10 @@ tool_call = true structured_output = true knowledge = "2024-07" open_weights = true -reasoning_options = [] + +[[reasoning_options]] +type = "effort" +values = ["low", "medium", "high"] [cost] input = 0.652 diff --git a/providers/cortecs/models/deepseek-v3.2.toml b/providers/cortecs/models/deepseek-v3.2.toml index bbae00eb8c..a7a442fb32 100644 --- a/providers/cortecs/models/deepseek-v3.2.toml +++ b/providers/cortecs/models/deepseek-v3.2.toml @@ -10,7 +10,10 @@ tool_call = true structured_output = true knowledge = "2024-07" open_weights = true -reasoning_options = [] + +[[reasoning_options]] +type = "effort" +values = ["low", "medium", "high"] [cost] input = 0.296 diff --git a/providers/cortecs/models/glm-4.7-flash.toml b/providers/cortecs/models/glm-4.7-flash.toml index de8844ecdb..f739f88bdf 100644 --- a/providers/cortecs/models/glm-4.7-flash.toml +++ b/providers/cortecs/models/glm-4.7-flash.toml @@ -1,7 +1,7 @@ base_model = "zhipuai/glm-4.7-flash" description = "Efficient GLM model for fast reasoning, coding, and agent workflows" -reasoning = false structured_output = true +reasoning_options = [] [interleaved] field = "reasoning_content" diff --git a/providers/cortecs/models/gpt-4.1-mini.toml b/providers/cortecs/models/gpt-4.1-mini.toml index 5d24945bbc..9c8840d630 100644 --- a/providers/cortecs/models/gpt-4.1-mini.toml +++ b/providers/cortecs/models/gpt-4.1-mini.toml @@ -1,7 +1,5 @@ base_model = "openai/gpt-4.1-mini" -reasoning = true structured_output = false -reasoning_options = [] [cost] input = 0.434 diff --git a/providers/cortecs/models/gpt-4.1-nano.toml b/providers/cortecs/models/gpt-4.1-nano.toml index f56252b55b..f2f678a0ac 100644 --- a/providers/cortecs/models/gpt-4.1-nano.toml +++ b/providers/cortecs/models/gpt-4.1-nano.toml @@ -1,7 +1,5 @@ base_model = "openai/gpt-4.1-nano" -reasoning = true structured_output = false -reasoning_options = [] [cost] input = 0.111 diff --git a/providers/cortecs/models/gpt-4.1.toml b/providers/cortecs/models/gpt-4.1.toml index 255918805d..84b6bddd54 100644 --- a/providers/cortecs/models/gpt-4.1.toml +++ b/providers/cortecs/models/gpt-4.1.toml @@ -1,8 +1,6 @@ base_model = "openai/gpt-4.1" description = "GPT model for general reasoning, writing, coding, and tool-assisted tasks" -reasoning = true structured_output = false -reasoning_options = [] [cost] input = 2.192 diff --git a/providers/cortecs/models/gpt-4o-mini.toml b/providers/cortecs/models/gpt-4o-mini.toml index d29b722471..7792656c8f 100644 --- a/providers/cortecs/models/gpt-4o-mini.toml +++ b/providers/cortecs/models/gpt-4o-mini.toml @@ -1,7 +1,5 @@ base_model = "openai/gpt-4o-mini" -reasoning = true structured_output = false -reasoning_options = [] [cost] input = 0.159 diff --git a/providers/cortecs/models/gpt-4o.toml b/providers/cortecs/models/gpt-4o.toml index 75f5a7a961..eeea5e7f41 100644 --- a/providers/cortecs/models/gpt-4o.toml +++ b/providers/cortecs/models/gpt-4o.toml @@ -1,7 +1,5 @@ base_model = "openai/gpt-4o" -reasoning = true structured_output = false -reasoning_options = [] [cost] input = 2.659 diff --git a/providers/cortecs/models/gpt-5-mini.toml b/providers/cortecs/models/gpt-5-mini.toml index 03f713286d..e23c43c914 100644 --- a/providers/cortecs/models/gpt-5-mini.toml +++ b/providers/cortecs/models/gpt-5-mini.toml @@ -1,6 +1,9 @@ base_model = "openai/gpt-5-mini" structured_output = false -reasoning_options = [] + +[[reasoning_options]] +type = "effort" +values = ["low", "medium", "high"] [cost] input = 0.279 diff --git a/providers/cortecs/models/gpt-5-nano.toml b/providers/cortecs/models/gpt-5-nano.toml index 96684fffcf..b2d796c604 100644 --- a/providers/cortecs/models/gpt-5-nano.toml +++ b/providers/cortecs/models/gpt-5-nano.toml @@ -1,6 +1,9 @@ base_model = "openai/gpt-5-nano" structured_output = false -reasoning_options = [] + +[[reasoning_options]] +type = "effort" +values = ["low", "medium", "high"] [cost] input = 0.06 diff --git a/providers/cortecs/models/gpt-5.1.toml b/providers/cortecs/models/gpt-5.1.toml index dff9e4b20a..c03a65e1b7 100644 --- a/providers/cortecs/models/gpt-5.1.toml +++ b/providers/cortecs/models/gpt-5.1.toml @@ -1,6 +1,9 @@ base_model = "openai/gpt-5.1" structured_output = false -reasoning_options = [] + +[[reasoning_options]] +type = "effort" +values = ["low", "medium", "high"] [cost] input = 1.375 diff --git a/providers/cortecs/models/gpt-5.6-luna.toml b/providers/cortecs/models/gpt-5.6-luna.toml index b826dec94c..66c10bec00 100644 --- a/providers/cortecs/models/gpt-5.6-luna.toml +++ b/providers/cortecs/models/gpt-5.6-luna.toml @@ -1,5 +1,8 @@ base_model = "openai/gpt-5.6-luna" -reasoning_options = [] + +[[reasoning_options]] +type = "effort" +values = ["low", "medium", "high"] [cost] input = 1.1 diff --git a/providers/cortecs/models/gpt-5.6-sol.toml b/providers/cortecs/models/gpt-5.6-sol.toml index 66ac5aa228..2cde59b712 100644 --- a/providers/cortecs/models/gpt-5.6-sol.toml +++ b/providers/cortecs/models/gpt-5.6-sol.toml @@ -1,5 +1,8 @@ base_model = "openai/gpt-5.6-sol" -reasoning_options = [] + +[[reasoning_options]] +type = "effort" +values = ["low", "medium", "high"] [cost] input = 5.5 diff --git a/providers/cortecs/models/gpt-5.6-terra.toml b/providers/cortecs/models/gpt-5.6-terra.toml index 415122970f..27fded7324 100644 --- a/providers/cortecs/models/gpt-5.6-terra.toml +++ b/providers/cortecs/models/gpt-5.6-terra.toml @@ -1,5 +1,8 @@ base_model = "openai/gpt-5.6-terra" -reasoning_options = [] + +[[reasoning_options]] +type = "effort" +values = ["low", "medium", "high"] [cost] input = 2.749 diff --git a/providers/cortecs/models/gpt-5.toml b/providers/cortecs/models/gpt-5.toml index e43465012c..32fd3f83da 100644 --- a/providers/cortecs/models/gpt-5.toml +++ b/providers/cortecs/models/gpt-5.toml @@ -1,6 +1,9 @@ base_model = "openai/gpt-5" structured_output = false -reasoning_options = [] + +[[reasoning_options]] +type = "effort" +values = ["low", "medium", "high"] [cost] input = 1.375 diff --git a/providers/cortecs/models/gpt-oss-20b.toml b/providers/cortecs/models/gpt-oss-20b.toml index 85a5b8a549..4fb1f55cb7 100644 --- a/providers/cortecs/models/gpt-oss-20b.toml +++ b/providers/cortecs/models/gpt-oss-20b.toml @@ -1,5 +1,8 @@ base_model = "openai/gpt-oss-20b" -reasoning_options = [] + +[[reasoning_options]] +type = "effort" +values = ["low", "medium", "high"] [cost] input = 0.045 diff --git a/providers/cortecs/models/gpt-oss-safeguard-120b.toml b/providers/cortecs/models/gpt-oss-safeguard-120b.toml index aad103c5e2..8789fbc555 100644 --- a/providers/cortecs/models/gpt-oss-safeguard-120b.toml +++ b/providers/cortecs/models/gpt-oss-safeguard-120b.toml @@ -1,5 +1,8 @@ base_model = "openai/gpt-oss-safeguard-120b" -reasoning_options = [] + +[[reasoning_options]] +type = "effort" +values = ["low", "medium", "high"] [cost] input = 0.179 diff --git a/providers/cortecs/models/llama-3.3-70b-instruct.toml b/providers/cortecs/models/llama-3.3-70b-instruct.toml index 2242bc444a..cb054b806d 100644 --- a/providers/cortecs/models/llama-3.3-70b-instruct.toml +++ b/providers/cortecs/models/llama-3.3-70b-instruct.toml @@ -1,8 +1,6 @@ base_model = "meta/llama-3.3-70b-instruct" attachment = false -reasoning = true structured_output = true -reasoning_options = [] [cost] input = 0.129 diff --git a/providers/cortecs/models/qwen3-coder-30b-a3b-instruct.toml b/providers/cortecs/models/qwen3-coder-30b-a3b-instruct.toml index a3a82b7df6..9912d97eb3 100644 --- a/providers/cortecs/models/qwen3-coder-30b-a3b-instruct.toml +++ b/providers/cortecs/models/qwen3-coder-30b-a3b-instruct.toml @@ -1,7 +1,5 @@ base_model = "alibaba/qwen3-coder-30b-a3b-instruct" -reasoning = true structured_output = true -reasoning_options = [] [cost] input = 0.059 From febf353fce39041d1a7203e4954a7d1c8124c5f2 Mon Sep 17 00:00:00 2001 From: ASMAE20 Date: Mon, 3 Aug 2026 10:28:38 +0100 Subject: [PATCH 3/6] fix: model update --- .../cortecs/models/deepseek-chat-v3.1.toml | 27 ------------------- .../models/deepseek-v4-flash-0731.toml | 10 +++++++ providers/cortecs/models/gpt-oss-120b.toml | 4 +-- .../cortecs/models/magistral-medium-2509.toml | 24 ----------------- .../cortecs/models/magistral-small-2509.toml | 24 ----------------- .../models/mistral-nemo-instruct-2407.toml | 2 +- .../cortecs/models/mistral-small-2506.toml | 12 --------- .../models/nemotron-3-super-120b-a12b.toml | 8 ------ .../models/qwen3-coder-30b-a3b-instruct.toml | 4 +-- .../cortecs/models/qwen3-vl-235b-a22b.toml | 4 +-- providers/cortecs/models/qwen3.5-9b.toml | 1 - 11 files changed, 17 insertions(+), 103 deletions(-) delete mode 100644 providers/cortecs/models/deepseek-chat-v3.1.toml create mode 100644 providers/cortecs/models/deepseek-v4-flash-0731.toml delete mode 100644 providers/cortecs/models/magistral-medium-2509.toml delete mode 100644 providers/cortecs/models/magistral-small-2509.toml delete mode 100644 providers/cortecs/models/mistral-small-2506.toml delete mode 100644 providers/cortecs/models/nemotron-3-super-120b-a12b.toml diff --git a/providers/cortecs/models/deepseek-chat-v3.1.toml b/providers/cortecs/models/deepseek-chat-v3.1.toml deleted file mode 100644 index 33cd909dcf..0000000000 --- a/providers/cortecs/models/deepseek-chat-v3.1.toml +++ /dev/null @@ -1,27 +0,0 @@ -name = "deepseek-chat-v3.1" -description = "DeepSeek-V3.1 is a large hybrid reasoning model supporting both thinking and non-thinking modes, optimized for fast reasoning, tool use, and agentic workflows." -release_date = "2026-03-26" -last_updated = "2026-03-26" -attachment = false -reasoning = true -temperature = false -tool_call = true -structured_output = true -open_weights = false - -[[reasoning_options]] -type = "effort" -values = ["low", "medium", "high"] - -[cost] -input = 0.197 -output = 0.791 -cache_read = 0.049 - -[limit] -context = 164_000 -output = 164_000 - -[modalities] -input = ["text"] -output = ["text"] diff --git a/providers/cortecs/models/deepseek-v4-flash-0731.toml b/providers/cortecs/models/deepseek-v4-flash-0731.toml new file mode 100644 index 0000000000..87110603f5 --- /dev/null +++ b/providers/cortecs/models/deepseek-v4-flash-0731.toml @@ -0,0 +1,10 @@ +base_model = "deepseek/deepseek-v4-flash-0731" +reasoning_options = [] + +[cost] +input = 0.25 +output = 0.3 +cache_read = 0.062 + +[limit] +context = 1_048_576 diff --git a/providers/cortecs/models/gpt-oss-120b.toml b/providers/cortecs/models/gpt-oss-120b.toml index e28221a9ea..7391e05e7e 100644 --- a/providers/cortecs/models/gpt-oss-120b.toml +++ b/providers/cortecs/models/gpt-oss-120b.toml @@ -6,8 +6,8 @@ type = "effort" values = ["low", "medium", "high"] [cost] -input = 0.039 -output = 0.197 +input = 0.089 +output = 0.446 cache_read = 0.01 [limit] diff --git a/providers/cortecs/models/magistral-medium-2509.toml b/providers/cortecs/models/magistral-medium-2509.toml deleted file mode 100644 index 26ea55ac8c..0000000000 --- a/providers/cortecs/models/magistral-medium-2509.toml +++ /dev/null @@ -1,24 +0,0 @@ -name = "magistral-medium-2509" -description = "Magistral Medium 2509 is a frontier-class reasoning model with vision support, delivering transparent, multilingual reasoning and a 15% performance boost over its predecessor." -release_date = "2025-09-18" -last_updated = "2025-09-18" -attachment = true -reasoning = true -temperature = false -tool_call = true -structured_output = true -open_weights = false -reasoning_options = [] - -[cost] -input = 2.228 -output = 5.57 -cache_read = 0.223 - -[limit] -context = 128_000 -output = 128_000 - -[modalities] -input = ["text", "image"] -output = ["text"] diff --git a/providers/cortecs/models/magistral-small-2509.toml b/providers/cortecs/models/magistral-small-2509.toml deleted file mode 100644 index 6259f2a37e..0000000000 --- a/providers/cortecs/models/magistral-small-2509.toml +++ /dev/null @@ -1,24 +0,0 @@ -name = "magistral-small-2509" -description = "Magistral Small 2509 is a 24B-parameter open-weight reasoning model with vision support, offering a 15% performance boost and improved multimodal reasoning over its predecessor." -release_date = "2025-09-18" -last_updated = "2025-09-18" -attachment = true -reasoning = true -temperature = false -tool_call = true -structured_output = true -open_weights = false -reasoning_options = [] - -[cost] -input = 0.557 -output = 1.671 -cache_read = 0.056 - -[limit] -context = 128_000 -output = 128_000 - -[modalities] -input = ["text", "image"] -output = ["text"] diff --git a/providers/cortecs/models/mistral-nemo-instruct-2407.toml b/providers/cortecs/models/mistral-nemo-instruct-2407.toml index e3ea7d1cf4..6b38bfabf3 100644 --- a/providers/cortecs/models/mistral-nemo-instruct-2407.toml +++ b/providers/cortecs/models/mistral-nemo-instruct-2407.toml @@ -15,7 +15,7 @@ output = 0.145 cache_read = 0.014 [limit] -context = 131_072 +context = 128_000 output = 131_072 [modalities] diff --git a/providers/cortecs/models/mistral-small-2506.toml b/providers/cortecs/models/mistral-small-2506.toml deleted file mode 100644 index 31d62603e6..0000000000 --- a/providers/cortecs/models/mistral-small-2506.toml +++ /dev/null @@ -1,12 +0,0 @@ -base_model = "mistral/mistral-small-2506" -attachment = true -structured_output = true - -[cost] -input = 0.111 -output = 0.334 -cache_read = 0.011 - -[limit] -context = 131_072 -output = 131_072 diff --git a/providers/cortecs/models/nemotron-3-super-120b-a12b.toml b/providers/cortecs/models/nemotron-3-super-120b-a12b.toml deleted file mode 100644 index fa3baef6b1..0000000000 --- a/providers/cortecs/models/nemotron-3-super-120b-a12b.toml +++ /dev/null @@ -1,8 +0,0 @@ -base_model = "nvidia/nemotron-3-super-120b-a12b" -structured_output = true -reasoning_options = [] - -[cost] -input = 0.296 -output = 0.89 -cache_read = 0.075 diff --git a/providers/cortecs/models/qwen3-coder-30b-a3b-instruct.toml b/providers/cortecs/models/qwen3-coder-30b-a3b-instruct.toml index 9912d97eb3..09bb3833a2 100644 --- a/providers/cortecs/models/qwen3-coder-30b-a3b-instruct.toml +++ b/providers/cortecs/models/qwen3-coder-30b-a3b-instruct.toml @@ -2,8 +2,8 @@ base_model = "alibaba/qwen3-coder-30b-a3b-instruct" structured_output = true [cost] -input = 0.059 -output = 0.247 +input = 0.067 +output = 0.245 cache_read = 0.014 [limit] diff --git a/providers/cortecs/models/qwen3-vl-235b-a22b.toml b/providers/cortecs/models/qwen3-vl-235b-a22b.toml index c19268e2d7..b6a11040be 100644 --- a/providers/cortecs/models/qwen3-vl-235b-a22b.toml +++ b/providers/cortecs/models/qwen3-vl-235b-a22b.toml @@ -11,8 +11,8 @@ open_weights = false reasoning_options = [] [cost] -input = 0.207 -output = 1.878 +input = 0.617 +output = 3.119 cache_read = 0.052 [limit] diff --git a/providers/cortecs/models/qwen3.5-9b.toml b/providers/cortecs/models/qwen3.5-9b.toml index 8af99a5718..9cfd9d5d5a 100644 --- a/providers/cortecs/models/qwen3.5-9b.toml +++ b/providers/cortecs/models/qwen3.5-9b.toml @@ -1,5 +1,4 @@ base_model = "alibaba/qwen3.5-9b" -attachment = true reasoning_options = [] [cost] From 1e9de3e77f32f278b20291ec4cc93a23c1f56084 Mon Sep 17 00:00:00 2001 From: ASMAE20 Date: Wed, 5 Aug 2026 13:30:59 +0100 Subject: [PATCH 4/6] fix: output field --- packages/core/src/sync/providers/cortecs.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/core/src/sync/providers/cortecs.ts b/packages/core/src/sync/providers/cortecs.ts index 253f98a172..563c48d93a 100644 --- a/packages/core/src/sync/providers/cortecs.ts +++ b/packages/core/src/sync/providers/cortecs.ts @@ -87,7 +87,7 @@ export function buildCortecsModel( const limit = { context: model.context_size, input: existing?.limit?.input, - output: authored?.limit?.output, + output: authored?.limit?.output ?? model.context_size, }; const cost = { input: usd(model.pricing.input_token), From 9dfa1f088af4f1a083950c42639f450af70c6b71 Mon Sep 17 00:00:00 2001 From: ASMAE20 Date: Wed, 5 Aug 2026 13:33:51 +0100 Subject: [PATCH 5/6] fix: model update --- providers/cortecs/models/claude-opus4-7.toml | 3 +++ providers/cortecs/models/claude-opus4-8.toml | 3 +++ providers/cortecs/models/claude-sonnet-4.toml | 3 +++ providers/cortecs/models/deepseek-v4-flash-0731.toml | 1 + providers/cortecs/models/deepseek-v4-flash.toml | 1 + providers/cortecs/models/deepseek-v4-pro.toml | 1 + providers/cortecs/models/glm-5-turbo.toml | 1 + providers/cortecs/models/glm-5.1.toml | 1 + providers/cortecs/models/glm-5.2.toml | 1 + providers/cortecs/models/glm-5v-turbo.toml | 1 + providers/cortecs/models/gpt-4.1.toml | 3 +++ providers/cortecs/models/gpt-5.4.toml | 3 +++ providers/cortecs/models/kimi-k3.toml | 3 +++ providers/cortecs/models/minimax-m3.toml | 1 + providers/cortecs/models/qwen3-32b.toml | 1 + 15 files changed, 27 insertions(+) diff --git a/providers/cortecs/models/claude-opus4-7.toml b/providers/cortecs/models/claude-opus4-7.toml index ddc83b4cac..3208457cd6 100644 --- a/providers/cortecs/models/claude-opus4-7.toml +++ b/providers/cortecs/models/claude-opus4-7.toml @@ -16,5 +16,8 @@ output = 27.186 cache_read = 0.544 cache_write = 6.797 +[limit] +output = 1_000_000 + [modalities] input = ["text", "image"] diff --git a/providers/cortecs/models/claude-opus4-8.toml b/providers/cortecs/models/claude-opus4-8.toml index adca0296e3..2f0993ec9c 100644 --- a/providers/cortecs/models/claude-opus4-8.toml +++ b/providers/cortecs/models/claude-opus4-8.toml @@ -15,5 +15,8 @@ output = 27.186 cache_read = 0.544 cache_write = 6.797 +[limit] +output = 1_000_000 + [modalities] input = ["text", "image"] diff --git a/providers/cortecs/models/claude-sonnet-4.toml b/providers/cortecs/models/claude-sonnet-4.toml index 8996adbf7d..a90031c2f6 100644 --- a/providers/cortecs/models/claude-sonnet-4.toml +++ b/providers/cortecs/models/claude-sonnet-4.toml @@ -16,5 +16,8 @@ output = 14.493 cache_read = 0.29 cache_write = 3.624 +[limit] +output = 200_000 + [modalities] input = ["text", "image"] diff --git a/providers/cortecs/models/deepseek-v4-flash-0731.toml b/providers/cortecs/models/deepseek-v4-flash-0731.toml index 87110603f5..d1c3e6e401 100644 --- a/providers/cortecs/models/deepseek-v4-flash-0731.toml +++ b/providers/cortecs/models/deepseek-v4-flash-0731.toml @@ -8,3 +8,4 @@ cache_read = 0.062 [limit] context = 1_048_576 +output = 1_048_576 diff --git a/providers/cortecs/models/deepseek-v4-flash.toml b/providers/cortecs/models/deepseek-v4-flash.toml index 1d75a3fccb..b0369575e2 100644 --- a/providers/cortecs/models/deepseek-v4-flash.toml +++ b/providers/cortecs/models/deepseek-v4-flash.toml @@ -15,3 +15,4 @@ cache_read = 0.037 [limit] context = 1_048_576 +output = 1_048_576 diff --git a/providers/cortecs/models/deepseek-v4-pro.toml b/providers/cortecs/models/deepseek-v4-pro.toml index f30ccf184d..7fcc764658 100644 --- a/providers/cortecs/models/deepseek-v4-pro.toml +++ b/providers/cortecs/models/deepseek-v4-pro.toml @@ -15,3 +15,4 @@ cache_read = 0.432 [limit] context = 1_048_576 +output = 1_048_576 diff --git a/providers/cortecs/models/glm-5-turbo.toml b/providers/cortecs/models/glm-5-turbo.toml index 573f51a6d2..19c915b56f 100644 --- a/providers/cortecs/models/glm-5-turbo.toml +++ b/providers/cortecs/models/glm-5-turbo.toml @@ -9,3 +9,4 @@ cache_write = 1.544 [limit] context = 202_752 +output = 202_752 diff --git a/providers/cortecs/models/glm-5.1.toml b/providers/cortecs/models/glm-5.1.toml index eaa4c970ac..98fcb2cd4d 100644 --- a/providers/cortecs/models/glm-5.1.toml +++ b/providers/cortecs/models/glm-5.1.toml @@ -12,3 +12,4 @@ cache_read = 0.346 [limit] context = 202_752 +output = 202_752 diff --git a/providers/cortecs/models/glm-5.2.toml b/providers/cortecs/models/glm-5.2.toml index 030938073f..48706497a1 100644 --- a/providers/cortecs/models/glm-5.2.toml +++ b/providers/cortecs/models/glm-5.2.toml @@ -14,3 +14,4 @@ cache_read = 0.26 [limit] context = 1_048_576 +output = 1_048_576 diff --git a/providers/cortecs/models/glm-5v-turbo.toml b/providers/cortecs/models/glm-5v-turbo.toml index ff6ddd94cf..033265446b 100644 --- a/providers/cortecs/models/glm-5v-turbo.toml +++ b/providers/cortecs/models/glm-5v-turbo.toml @@ -10,6 +10,7 @@ cache_write = 1.544 [limit] context = 202_752 +output = 202_752 [modalities] input = ["text", "image"] diff --git a/providers/cortecs/models/gpt-4.1.toml b/providers/cortecs/models/gpt-4.1.toml index 84b6bddd54..f04a5a4b16 100644 --- a/providers/cortecs/models/gpt-4.1.toml +++ b/providers/cortecs/models/gpt-4.1.toml @@ -7,5 +7,8 @@ input = 2.192 output = 8.769 cache_read = 0.546 +[limit] +output = 1_047_576 + [modalities] input = ["text", "image"] diff --git a/providers/cortecs/models/gpt-5.4.toml b/providers/cortecs/models/gpt-5.4.toml index 7bd176b691..662683f69c 100644 --- a/providers/cortecs/models/gpt-5.4.toml +++ b/providers/cortecs/models/gpt-5.4.toml @@ -10,5 +10,8 @@ input = 2.898 output = 15.453 cache_read = 0.242 +[limit] +output = 1_050_000 + [modalities] input = ["text", "image"] diff --git a/providers/cortecs/models/kimi-k3.toml b/providers/cortecs/models/kimi-k3.toml index d3a8f2cf76..002c2338ef 100644 --- a/providers/cortecs/models/kimi-k3.toml +++ b/providers/cortecs/models/kimi-k3.toml @@ -11,5 +11,8 @@ field = "reasoning_content" input = 3 output = 14.999 +[limit] +output = 1_048_576 + [modalities] input = ["text", "image"] diff --git a/providers/cortecs/models/minimax-m3.toml b/providers/cortecs/models/minimax-m3.toml index 90344d0c90..8201c1a880 100644 --- a/providers/cortecs/models/minimax-m3.toml +++ b/providers/cortecs/models/minimax-m3.toml @@ -9,6 +9,7 @@ cache_read = 0.099 [limit] context = 1_048_576 +output = 1_048_576 [modalities] input = ["text", "image"] diff --git a/providers/cortecs/models/qwen3-32b.toml b/providers/cortecs/models/qwen3-32b.toml index 27f19fe110..23c4b00ad5 100644 --- a/providers/cortecs/models/qwen3-32b.toml +++ b/providers/cortecs/models/qwen3-32b.toml @@ -9,3 +9,4 @@ output = 0.299 [limit] context = 40_000 +output = 40_000 From af4f925bae6b1b30b75200954dec3e163c3b12e3 Mon Sep 17 00:00:00 2001 From: Aiden Cline Date: Wed, 5 Aug 2026 10:04:29 -0500 Subject: [PATCH 6/6] test(sync): preserve Cortecs reasoning options --- packages/core/src/sync/index.ts | 8 ++++---- packages/core/test/sync.test.ts | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/packages/core/src/sync/index.ts b/packages/core/src/sync/index.ts index 27594113ed..a29c5aca5f 100644 --- a/packages/core/src/sync/index.ts +++ b/packages/core/src/sync/index.ts @@ -10,6 +10,7 @@ import { anthropic } from "./providers/anthropic.js"; import { baseten } from "./providers/baseten.js"; import { chutes } from "./providers/chutes.js"; import { cloudflareWorkersAi } from "./providers/cloudflare-workers-ai.js"; +import { cortecs } from "./providers/cortecs.js"; import { crossmodel } from "./providers/crossmodel.js"; import { deepinfra } from "./providers/deepinfra.js"; import { digitalocean } from "./providers/digitalocean.js"; @@ -32,7 +33,6 @@ import { vercel } from "./providers/vercel.js"; import { venice } from "./providers/venice.js"; import { wandb } from "./providers/wandb.js"; import { xai } from "./providers/xai.js"; -import { cortecs } from "./providers/cortecs.js"; const ExistingModelType = AuthoredModelShape.partial() .extend({ @@ -117,6 +117,7 @@ export const providers: { baseten: SyncProvider; chutes: SyncProvider; "cloudflare-workers-ai": SyncProvider; + cortecs: SyncProvider; crossmodel: SyncProvider; deepinfra: SyncProvider; digitalocean: SyncProvider; @@ -139,13 +140,13 @@ export const providers: { venice: SyncProvider; wandb: SyncProvider; xai: SyncProvider; - cortecs: SyncProvider; } = { ambient, anthropic, baseten, chutes, "cloudflare-workers-ai": cloudflareWorkersAi, + cortecs, crossmodel, deepinfra, digitalocean, @@ -168,7 +169,6 @@ export const providers: { venice, wandb, xai, - cortecs, }; export const groups = { @@ -186,7 +186,7 @@ export const groups = { "vercel", ], cloudflare: ["cloudflare-workers-ai"], - direct: ["ambient", "anthropic", "baseten", "chutes", "deepinfra", "digitalocean", "google", "hyper", "openai", "ovhcloud", "pioneer", "tinfoil", "venice", "wandb", "xai", "cortecs"], + direct: ["ambient", "anthropic", "baseten", "chutes", "cortecs", "deepinfra", "digitalocean", "google", "hyper", "openai", "ovhcloud", "pioneer", "tinfoil", "venice", "wandb", "xai"], } as const; type ProviderID = keyof typeof providers; diff --git a/packages/core/test/sync.test.ts b/packages/core/test/sync.test.ts index 85edd3e71f..9e7d40d678 100644 --- a/packages/core/test/sync.test.ts +++ b/packages/core/test/sync.test.ts @@ -10,11 +10,11 @@ import { parseAnthropicPricing, type AnthropicModel, } from "../src/sync/providers/anthropic.js"; +import { buildCortecsModel, type CortecsModel } from "../src/sync/providers/cortecs.js"; import { buildCrossModel, type CrossModelModel, } from "../src/sync/providers/crossmodel.js"; -import { buildCortecsModel, type CortecsModel } from "../src/sync/providers/cortecs.js"; import { buildDeepInfraModel, type DeepInfraModel } from "../src/sync/providers/deepinfra.js"; import { buildDigitalOceanModel,