add sync script for openrouter, sync openrouter models
This commit is contained in:
File diff suppressed because one or more lines are too long
+2
-1
@@ -24,7 +24,8 @@
|
||||
"vercel:generate": "bun ./packages/core/script/generate-vercel.ts",
|
||||
"wandb:generate": "bun ./packages/core/script/generate-wandb.ts",
|
||||
"digitalocean:generate": "bun ./packages/core/script/generate-digitalocean.ts",
|
||||
"ambient:generate": "bun ./packages/core/script/generate-ambient.ts"
|
||||
"ambient:generate": "bun ./packages/core/script/generate-ambient.ts",
|
||||
"openrouter:sync": "bun ./packages/core/script/sync-openrouter.ts"
|
||||
},
|
||||
"dependencies": {
|
||||
"@cloudflare/workers-types": "^4.20260424.1",
|
||||
|
||||
@@ -0,0 +1,309 @@
|
||||
#!/usr/bin/env bun
|
||||
|
||||
import path from "node:path";
|
||||
import { mkdir, rm } from "node:fs/promises";
|
||||
import { z } from "zod";
|
||||
|
||||
import { ModelFamilyValues } from "../src/family.js";
|
||||
import { AuthoredModel, AuthoredModelShape } from "../src/schema.js";
|
||||
|
||||
const API_ENDPOINT = "https://openrouter.ai/api/v1/models";
|
||||
|
||||
const OpenRouterModel = z
|
||||
.object({
|
||||
id: z.string(),
|
||||
name: z.string(),
|
||||
created: z.number(),
|
||||
hugging_face_id: z.string().nullable(),
|
||||
knowledge_cutoff: z.string().nullable(),
|
||||
context_length: z.number(),
|
||||
architecture: z.object({
|
||||
input_modalities: z.array(z.string()),
|
||||
output_modalities: z.array(z.string()),
|
||||
}),
|
||||
pricing: z
|
||||
.object({
|
||||
prompt: z.string(),
|
||||
completion: z.string(),
|
||||
internal_reasoning: z.string().optional(),
|
||||
input_cache_read: z.string().optional(),
|
||||
input_cache_write: z.string().optional(),
|
||||
}),
|
||||
top_provider: z.object({
|
||||
context_length: z.number().nullable(),
|
||||
max_completion_tokens: z.number().nullable(),
|
||||
}),
|
||||
supported_parameters: z.array(z.string()),
|
||||
});
|
||||
|
||||
const OpenRouterResponse = z
|
||||
.object({
|
||||
data: z.array(OpenRouterModel),
|
||||
})
|
||||
.passthrough();
|
||||
|
||||
const ExistingModel = AuthoredModelShape.partial()
|
||||
.extend({
|
||||
extends: z
|
||||
.object({
|
||||
from: z.string(),
|
||||
omit: z.array(z.string()).optional(),
|
||||
})
|
||||
.strict()
|
||||
.optional(),
|
||||
})
|
||||
.strict();
|
||||
|
||||
type OpenRouterModel = z.infer<typeof OpenRouterModel>;
|
||||
type ExistingModel = z.infer<typeof ExistingModel>;
|
||||
|
||||
function dateFromTimestamp(timestamp: number | undefined) {
|
||||
if (timestamp === undefined) return new Date().toISOString().slice(0, 10);
|
||||
return new Date(timestamp * 1000).toISOString().slice(0, 10);
|
||||
}
|
||||
|
||||
function formatInteger(n: number) {
|
||||
return String(n).replace(/\B(?=(\d{3})+(?!\d))/g, "_");
|
||||
}
|
||||
|
||||
function quote(value: string) {
|
||||
return `"${value.replaceAll("\\", "\\\\").replaceAll('"', '\\"')}"`;
|
||||
}
|
||||
|
||||
function price(value: string | undefined) {
|
||||
if (value === undefined) return undefined;
|
||||
const number = Number(value);
|
||||
return Number.isFinite(number) && number >= 0
|
||||
? Math.round(number * 1_000_000_000_000) / 1_000_000
|
||||
: undefined;
|
||||
}
|
||||
|
||||
function modality(value: string) {
|
||||
return value === "file" ? "pdf" : value;
|
||||
}
|
||||
|
||||
function modalities(values: string[] | undefined, fallback: string[]) {
|
||||
const allowed = new Set(["text", "audio", "image", "video", "pdf"]);
|
||||
const result = (values ?? fallback)
|
||||
.map((value) => modality(value.toLowerCase()))
|
||||
.filter((value) => allowed.has(value));
|
||||
return [...new Set(result.length > 0 ? result : fallback)];
|
||||
}
|
||||
|
||||
function inferFamily(model: OpenRouterModel, name: string) {
|
||||
const target = `${model.id} ${name}`.toLowerCase();
|
||||
return [...ModelFamilyValues]
|
||||
.sort((a, b) => b.length - a.length)
|
||||
.find((family) => target.includes(family.toLowerCase()));
|
||||
}
|
||||
|
||||
function buildModel(model: OpenRouterModel, existing: ExistingModel | undefined) {
|
||||
const params = new Set(model.supported_parameters ?? []);
|
||||
const name = model.name.replace(/^[^:]+:\s+/, "");
|
||||
const input = modalities(model.architecture?.input_modalities, ["text"]);
|
||||
const output = modalities(model.architecture?.output_modalities, ["text"]);
|
||||
const prompt = price(model.pricing?.prompt);
|
||||
const completion = price(model.pricing?.completion);
|
||||
const reasoning = params.has("reasoning") || params.has("include_reasoning");
|
||||
const context = model.top_provider?.context_length ?? model.context_length ?? 0;
|
||||
const maxOutput = model.top_provider?.max_completion_tokens ?? existing?.limit?.output ?? context;
|
||||
|
||||
return {
|
||||
name,
|
||||
family: existing?.family ?? inferFamily(model, name),
|
||||
release_date: dateFromTimestamp(model.created),
|
||||
last_updated: dateFromTimestamp(model.created),
|
||||
attachment: input.some((value) => value !== "text"),
|
||||
reasoning,
|
||||
temperature: params.has("temperature"),
|
||||
tool_call: params.has("tools") || params.has("tool_choice"),
|
||||
structured_output:
|
||||
params.has("structured_outputs") || params.has("response_format"),
|
||||
knowledge: model.knowledge_cutoff?.slice(0, 10) ?? existing?.knowledge,
|
||||
open_weights: Boolean(model.hugging_face_id),
|
||||
status: existing?.status,
|
||||
interleaved: existing?.interleaved,
|
||||
cost:
|
||||
prompt !== undefined && completion !== undefined
|
||||
? {
|
||||
input: prompt,
|
||||
output: completion,
|
||||
reasoning: reasoning ? price(model.pricing?.internal_reasoning) : undefined,
|
||||
cache_read: price(model.pricing?.input_cache_read),
|
||||
cache_write: price(model.pricing?.input_cache_write),
|
||||
tiers: existing?.cost?.tiers,
|
||||
}
|
||||
: existing?.cost,
|
||||
limit: {
|
||||
context,
|
||||
input: existing?.limit?.input,
|
||||
output: maxOutput,
|
||||
},
|
||||
modalities: { input, output },
|
||||
};
|
||||
}
|
||||
|
||||
function formatToml(model: ReturnType<typeof buildModel>) {
|
||||
const lines: string[] = [];
|
||||
|
||||
lines.push(`name = ${quote(model.name)}`);
|
||||
if (model.family) lines.push(`family = ${quote(model.family)}`);
|
||||
lines.push(`release_date = ${quote(model.release_date)}`);
|
||||
lines.push(`last_updated = ${quote(model.last_updated)}`);
|
||||
lines.push(`attachment = ${model.attachment}`);
|
||||
lines.push(`reasoning = ${model.reasoning}`);
|
||||
lines.push(`temperature = ${model.temperature}`);
|
||||
lines.push(`tool_call = ${model.tool_call}`);
|
||||
lines.push(`structured_output = ${model.structured_output}`);
|
||||
if (model.knowledge) lines.push(`knowledge = ${quote(model.knowledge)}`);
|
||||
lines.push(`open_weights = ${model.open_weights}`);
|
||||
if (model.status) lines.push(`status = ${quote(model.status)}`);
|
||||
|
||||
if (model.interleaved !== undefined) {
|
||||
lines.push("");
|
||||
if (model.interleaved === true) {
|
||||
lines.push("interleaved = true");
|
||||
} else {
|
||||
lines.push("[interleaved]");
|
||||
lines.push(`field = ${quote(model.interleaved.field)}`);
|
||||
}
|
||||
}
|
||||
|
||||
if (model.cost) {
|
||||
lines.push("");
|
||||
lines.push("[cost]");
|
||||
if (model.cost.input !== undefined) lines.push(`input = ${model.cost.input}`);
|
||||
if (model.cost.output !== undefined) lines.push(`output = ${model.cost.output}`);
|
||||
if (model.cost.reasoning !== undefined) {
|
||||
lines.push(`reasoning = ${model.cost.reasoning}`);
|
||||
}
|
||||
if (model.cost.cache_read !== undefined) {
|
||||
lines.push(`cache_read = ${model.cost.cache_read}`);
|
||||
}
|
||||
if (model.cost.cache_write !== undefined) {
|
||||
lines.push(`cache_write = ${model.cost.cache_write}`);
|
||||
}
|
||||
|
||||
for (const tier of model.cost.tiers ?? []) {
|
||||
lines.push("");
|
||||
lines.push("[[cost.tiers]]");
|
||||
lines.push(`tier = { size = ${formatInteger(tier.tier.size)} }`);
|
||||
if (tier.input !== undefined) lines.push(`input = ${tier.input}`);
|
||||
if (tier.output !== undefined) lines.push(`output = ${tier.output}`);
|
||||
if (tier.cache_read !== undefined) lines.push(`cache_read = ${tier.cache_read}`);
|
||||
if (tier.cache_write !== undefined) lines.push(`cache_write = ${tier.cache_write}`);
|
||||
}
|
||||
}
|
||||
|
||||
lines.push("");
|
||||
lines.push("[limit]");
|
||||
lines.push(`context = ${formatInteger(model.limit.context)}`);
|
||||
if (model.limit.input !== undefined) {
|
||||
lines.push(`input = ${formatInteger(model.limit.input)}`);
|
||||
}
|
||||
lines.push(`output = ${formatInteger(model.limit.output)}`);
|
||||
|
||||
lines.push("");
|
||||
lines.push("[modalities]");
|
||||
lines.push(`input = [${model.modalities.input.map(quote).join(", ")}]`);
|
||||
lines.push(`output = [${model.modalities.output.map(quote).join(", ")}]`);
|
||||
|
||||
return `${lines.join("\n")}\n`;
|
||||
}
|
||||
|
||||
async function main() {
|
||||
const dryRun = process.argv.includes("--dry-run");
|
||||
const modelsDir = path.join(
|
||||
import.meta.dirname,
|
||||
"..",
|
||||
"..",
|
||||
"..",
|
||||
"providers",
|
||||
"openrouter",
|
||||
"models",
|
||||
);
|
||||
const headers = process.env.OPENROUTER_API_KEY
|
||||
? { Authorization: `Bearer ${process.env.OPENROUTER_API_KEY}` }
|
||||
: undefined;
|
||||
|
||||
const response = await fetch(API_ENDPOINT, { headers });
|
||||
if (!response.ok) {
|
||||
throw new Error(`OpenRouter request failed: ${response.status} ${response.statusText}`);
|
||||
}
|
||||
|
||||
const parsed = OpenRouterResponse.safeParse(await response.json());
|
||||
if (!parsed.success) throw parsed.error;
|
||||
|
||||
const existingFiles = new Set<string>();
|
||||
for await (const file of new Bun.Glob("**/*.toml").scan({ cwd: modelsDir })) {
|
||||
existingFiles.add(file);
|
||||
}
|
||||
|
||||
let created = 0;
|
||||
let updated = 0;
|
||||
let removed = 0;
|
||||
let unchanged = 0;
|
||||
const apiFiles = new Set<string>();
|
||||
|
||||
for (const apiModel of parsed.data.data) {
|
||||
const relativePath = `${apiModel.id}.toml`;
|
||||
const filePath = path.join(modelsDir, relativePath);
|
||||
const file = Bun.file(filePath);
|
||||
const current = await file.exists() ? await file.text() : undefined;
|
||||
const existing = current === undefined
|
||||
? undefined
|
||||
: ExistingModel.parse(Bun.TOML.parse(current));
|
||||
const model = buildModel(apiModel, existing);
|
||||
const next = formatToml(model);
|
||||
|
||||
const valid = AuthoredModel.safeParse({
|
||||
id: relativePath.slice(0, -5),
|
||||
...Bun.TOML.parse(next),
|
||||
});
|
||||
if (!valid.success) {
|
||||
valid.error.cause = { relativePath };
|
||||
throw valid.error;
|
||||
}
|
||||
|
||||
apiFiles.add(relativePath);
|
||||
|
||||
if (current === undefined) {
|
||||
created++;
|
||||
if (dryRun) {
|
||||
console.log(`Would create ${relativePath}`);
|
||||
} else {
|
||||
await mkdir(path.dirname(filePath), { recursive: true });
|
||||
await Bun.write(filePath, next);
|
||||
}
|
||||
continue;
|
||||
}
|
||||
|
||||
if (current !== next) {
|
||||
updated++;
|
||||
if (dryRun) {
|
||||
console.log(`Would update ${relativePath}`);
|
||||
} else {
|
||||
await Bun.write(filePath, next);
|
||||
}
|
||||
} else {
|
||||
unchanged++;
|
||||
}
|
||||
}
|
||||
|
||||
for (const relativePath of existingFiles) {
|
||||
if (apiFiles.has(relativePath)) continue;
|
||||
|
||||
removed++;
|
||||
if (dryRun) {
|
||||
console.log(`Would remove ${relativePath}`);
|
||||
} else {
|
||||
await rm(path.join(modelsDir, relativePath));
|
||||
}
|
||||
}
|
||||
|
||||
console.log(
|
||||
`${dryRun ? "Dry run: " : ""}${created} created, ${updated} updated, ${removed} removed, ${unchanged} unchanged`,
|
||||
);
|
||||
}
|
||||
|
||||
await main();
|
||||
@@ -0,0 +1,23 @@
|
||||
name = "Jamba Large 1.7"
|
||||
family = "jamba"
|
||||
release_date = "2025-08-08"
|
||||
last_updated = "2025-08-08"
|
||||
attachment = false
|
||||
reasoning = false
|
||||
temperature = true
|
||||
tool_call = true
|
||||
structured_output = true
|
||||
knowledge = "2024-08-31"
|
||||
open_weights = true
|
||||
|
||||
[cost]
|
||||
input = 2
|
||||
output = 8
|
||||
|
||||
[limit]
|
||||
context = 256_000
|
||||
output = 4_096
|
||||
|
||||
[modalities]
|
||||
input = ["text"]
|
||||
output = ["text"]
|
||||
@@ -0,0 +1,22 @@
|
||||
name = "Aion-1.0-Mini"
|
||||
family = "o"
|
||||
release_date = "2025-02-04"
|
||||
last_updated = "2025-02-04"
|
||||
attachment = false
|
||||
reasoning = true
|
||||
temperature = true
|
||||
tool_call = false
|
||||
structured_output = false
|
||||
open_weights = true
|
||||
|
||||
[cost]
|
||||
input = 0.7
|
||||
output = 1.4
|
||||
|
||||
[limit]
|
||||
context = 131_072
|
||||
output = 32_768
|
||||
|
||||
[modalities]
|
||||
input = ["text"]
|
||||
output = ["text"]
|
||||
@@ -0,0 +1,22 @@
|
||||
name = "Aion-1.0"
|
||||
family = "o"
|
||||
release_date = "2025-02-04"
|
||||
last_updated = "2025-02-04"
|
||||
attachment = false
|
||||
reasoning = true
|
||||
temperature = true
|
||||
tool_call = false
|
||||
structured_output = false
|
||||
open_weights = false
|
||||
|
||||
[cost]
|
||||
input = 4
|
||||
output = 8
|
||||
|
||||
[limit]
|
||||
context = 131_072
|
||||
output = 32_768
|
||||
|
||||
[modalities]
|
||||
input = ["text"]
|
||||
output = ["text"]
|
||||
@@ -0,0 +1,23 @@
|
||||
name = "Aion-2.0"
|
||||
family = "o"
|
||||
release_date = "2026-02-23"
|
||||
last_updated = "2026-02-23"
|
||||
attachment = false
|
||||
reasoning = true
|
||||
temperature = true
|
||||
tool_call = false
|
||||
structured_output = false
|
||||
open_weights = false
|
||||
|
||||
[cost]
|
||||
input = 0.8
|
||||
output = 1.6
|
||||
cache_read = 0.2
|
||||
|
||||
[limit]
|
||||
context = 131_072
|
||||
output = 32_768
|
||||
|
||||
[modalities]
|
||||
input = ["text"]
|
||||
output = ["text"]
|
||||
@@ -0,0 +1,23 @@
|
||||
name = "Aion-RP 1.0 (8B)"
|
||||
family = "llama"
|
||||
release_date = "2025-02-04"
|
||||
last_updated = "2025-02-04"
|
||||
attachment = false
|
||||
reasoning = false
|
||||
temperature = true
|
||||
tool_call = false
|
||||
structured_output = false
|
||||
knowledge = "2023-12-31"
|
||||
open_weights = false
|
||||
|
||||
[cost]
|
||||
input = 0.8
|
||||
output = 1.6
|
||||
|
||||
[limit]
|
||||
context = 32_768
|
||||
output = 32_768
|
||||
|
||||
[modalities]
|
||||
input = ["text"]
|
||||
output = ["text"]
|
||||
@@ -0,0 +1,23 @@
|
||||
name = "CodeLLaMa 7B Instruct Solidity"
|
||||
family = "llama"
|
||||
release_date = "2025-04-14"
|
||||
last_updated = "2025-04-14"
|
||||
attachment = false
|
||||
reasoning = false
|
||||
temperature = true
|
||||
tool_call = false
|
||||
structured_output = false
|
||||
knowledge = "2023-06-30"
|
||||
open_weights = true
|
||||
|
||||
[cost]
|
||||
input = 0.8
|
||||
output = 1.2
|
||||
|
||||
[limit]
|
||||
context = 4_096
|
||||
output = 4_096
|
||||
|
||||
[modalities]
|
||||
input = ["text"]
|
||||
output = ["text"]
|
||||
@@ -0,0 +1,24 @@
|
||||
name = "Tongyi DeepResearch 30B A3B"
|
||||
family = "yi"
|
||||
release_date = "2025-09-18"
|
||||
last_updated = "2025-09-18"
|
||||
attachment = false
|
||||
reasoning = true
|
||||
temperature = true
|
||||
tool_call = true
|
||||
structured_output = true
|
||||
knowledge = "2025-03-31"
|
||||
open_weights = true
|
||||
|
||||
[cost]
|
||||
input = 0.09
|
||||
output = 0.45
|
||||
cache_read = 0.09
|
||||
|
||||
[limit]
|
||||
context = 131_072
|
||||
output = 131_072
|
||||
|
||||
[modalities]
|
||||
input = ["text"]
|
||||
output = ["text"]
|
||||
@@ -0,0 +1,22 @@
|
||||
name = "Olmo 3 32B Think"
|
||||
family = "allenai"
|
||||
release_date = "2025-11-21"
|
||||
last_updated = "2025-11-21"
|
||||
attachment = false
|
||||
reasoning = true
|
||||
temperature = true
|
||||
tool_call = false
|
||||
structured_output = true
|
||||
open_weights = true
|
||||
|
||||
[cost]
|
||||
input = 0.15
|
||||
output = 0.5
|
||||
|
||||
[limit]
|
||||
context = 65_536
|
||||
output = 65_536
|
||||
|
||||
[modalities]
|
||||
input = ["text"]
|
||||
output = ["text"]
|
||||
@@ -0,0 +1,22 @@
|
||||
name = "Nova 2 Lite"
|
||||
family = "nova"
|
||||
release_date = "2025-12-02"
|
||||
last_updated = "2025-12-02"
|
||||
attachment = true
|
||||
reasoning = true
|
||||
temperature = true
|
||||
tool_call = true
|
||||
structured_output = false
|
||||
open_weights = false
|
||||
|
||||
[cost]
|
||||
input = 0.3
|
||||
output = 2.5
|
||||
|
||||
[limit]
|
||||
context = 1_000_000
|
||||
output = 65_535
|
||||
|
||||
[modalities]
|
||||
input = ["text", "image", "video", "pdf"]
|
||||
output = ["text"]
|
||||
@@ -0,0 +1,23 @@
|
||||
name = "Nova Lite 1.0"
|
||||
family = "nova-lite"
|
||||
release_date = "2024-12-05"
|
||||
last_updated = "2024-12-05"
|
||||
attachment = true
|
||||
reasoning = false
|
||||
temperature = true
|
||||
tool_call = true
|
||||
structured_output = false
|
||||
knowledge = "2024-10-31"
|
||||
open_weights = false
|
||||
|
||||
[cost]
|
||||
input = 0.06
|
||||
output = 0.24
|
||||
|
||||
[limit]
|
||||
context = 300_000
|
||||
output = 5_120
|
||||
|
||||
[modalities]
|
||||
input = ["text", "image"]
|
||||
output = ["text"]
|
||||
@@ -0,0 +1,23 @@
|
||||
name = "Nova Micro 1.0"
|
||||
family = "nova-micro"
|
||||
release_date = "2024-12-05"
|
||||
last_updated = "2024-12-05"
|
||||
attachment = false
|
||||
reasoning = false
|
||||
temperature = true
|
||||
tool_call = true
|
||||
structured_output = false
|
||||
knowledge = "2024-10-31"
|
||||
open_weights = false
|
||||
|
||||
[cost]
|
||||
input = 0.035
|
||||
output = 0.14
|
||||
|
||||
[limit]
|
||||
context = 128_000
|
||||
output = 5_120
|
||||
|
||||
[modalities]
|
||||
input = ["text"]
|
||||
output = ["text"]
|
||||
@@ -0,0 +1,23 @@
|
||||
name = "Nova Premier 1.0"
|
||||
family = "nova"
|
||||
release_date = "2025-10-31"
|
||||
last_updated = "2025-10-31"
|
||||
attachment = true
|
||||
reasoning = false
|
||||
temperature = true
|
||||
tool_call = true
|
||||
structured_output = false
|
||||
open_weights = false
|
||||
|
||||
[cost]
|
||||
input = 2.5
|
||||
output = 12.5
|
||||
cache_read = 0.625
|
||||
|
||||
[limit]
|
||||
context = 1_000_000
|
||||
output = 32_000
|
||||
|
||||
[modalities]
|
||||
input = ["text", "image"]
|
||||
output = ["text"]
|
||||
@@ -0,0 +1,23 @@
|
||||
name = "Nova Pro 1.0"
|
||||
family = "nova-pro"
|
||||
release_date = "2024-12-05"
|
||||
last_updated = "2024-12-05"
|
||||
attachment = true
|
||||
reasoning = false
|
||||
temperature = true
|
||||
tool_call = true
|
||||
structured_output = false
|
||||
knowledge = "2024-10-31"
|
||||
open_weights = false
|
||||
|
||||
[cost]
|
||||
input = 0.8
|
||||
output = 3.2
|
||||
|
||||
[limit]
|
||||
context = 300_000
|
||||
output = 5_120
|
||||
|
||||
[modalities]
|
||||
input = ["text", "image"]
|
||||
output = ["text"]
|
||||
@@ -0,0 +1,23 @@
|
||||
name = "Magnum v4 72B"
|
||||
family = "o"
|
||||
release_date = "2024-10-22"
|
||||
last_updated = "2024-10-22"
|
||||
attachment = false
|
||||
reasoning = false
|
||||
temperature = true
|
||||
tool_call = false
|
||||
structured_output = true
|
||||
knowledge = "2024-06-30"
|
||||
open_weights = true
|
||||
|
||||
[cost]
|
||||
input = 3
|
||||
output = 5
|
||||
|
||||
[limit]
|
||||
context = 16_384
|
||||
output = 2_048
|
||||
|
||||
[modalities]
|
||||
input = ["text"]
|
||||
output = ["text"]
|
||||
@@ -0,0 +1,25 @@
|
||||
name = "Claude 3 Haiku"
|
||||
family = "claude"
|
||||
release_date = "2024-03-13"
|
||||
last_updated = "2024-03-13"
|
||||
attachment = true
|
||||
reasoning = false
|
||||
temperature = true
|
||||
tool_call = true
|
||||
structured_output = false
|
||||
knowledge = "2023-08-31"
|
||||
open_weights = false
|
||||
|
||||
[cost]
|
||||
input = 0.25
|
||||
output = 1.25
|
||||
cache_read = 0.03
|
||||
cache_write = 0.3
|
||||
|
||||
[limit]
|
||||
context = 200_000
|
||||
output = 4_096
|
||||
|
||||
[modalities]
|
||||
input = ["text", "image"]
|
||||
output = ["text"]
|
||||
@@ -1,2 +1,25 @@
|
||||
[extends]
|
||||
from = "anthropic/claude-3-5-haiku-20241022"
|
||||
name = "Claude 3.5 Haiku"
|
||||
family = "claude"
|
||||
release_date = "2024-11-04"
|
||||
last_updated = "2024-11-04"
|
||||
attachment = true
|
||||
reasoning = false
|
||||
temperature = true
|
||||
tool_call = true
|
||||
structured_output = false
|
||||
knowledge = "2024-07-31"
|
||||
open_weights = false
|
||||
|
||||
[cost]
|
||||
input = 0.8
|
||||
output = 4
|
||||
cache_read = 0.08
|
||||
cache_write = 1
|
||||
|
||||
[limit]
|
||||
context = 200_000
|
||||
output = 8_192
|
||||
|
||||
[modalities]
|
||||
input = ["text", "image"]
|
||||
output = ["text"]
|
||||
|
||||
@@ -11,9 +11,9 @@ knowledge = "2025-02-28"
|
||||
open_weights = false
|
||||
|
||||
[cost]
|
||||
input = 1.00
|
||||
output = 5.00
|
||||
cache_read = 0.10
|
||||
input = 1
|
||||
output = 5
|
||||
cache_read = 0.1
|
||||
cache_write = 1.25
|
||||
|
||||
[limit]
|
||||
|
||||
@@ -7,13 +7,13 @@ reasoning = true
|
||||
temperature = true
|
||||
tool_call = true
|
||||
structured_output = true
|
||||
knowledge = "2025-03-31"
|
||||
knowledge = "2025-01-31"
|
||||
open_weights = false
|
||||
|
||||
[cost]
|
||||
input = 15.00
|
||||
output = 75.00
|
||||
cache_read = 1.50
|
||||
input = 15
|
||||
output = 75
|
||||
cache_read = 1.5
|
||||
cache_write = 18.75
|
||||
|
||||
[limit]
|
||||
@@ -21,5 +21,5 @@ context = 200_000
|
||||
output = 32_000
|
||||
|
||||
[modalities]
|
||||
input = ["text", "image", "pdf"]
|
||||
input = ["image", "text", "pdf"]
|
||||
output = ["text"]
|
||||
|
||||
@@ -11,15 +11,15 @@ knowledge = "2025-05-30"
|
||||
open_weights = false
|
||||
|
||||
[cost]
|
||||
input = 5.00
|
||||
output = 25.00
|
||||
cache_read = 0.50
|
||||
input = 5
|
||||
output = 25
|
||||
cache_read = 0.5
|
||||
cache_write = 6.25
|
||||
|
||||
[limit]
|
||||
context = 200_000
|
||||
output = 32_000
|
||||
output = 64_000
|
||||
|
||||
[modalities]
|
||||
input = ["text", "image", "pdf"]
|
||||
input = ["pdf", "image", "text"]
|
||||
output = ["text"]
|
||||
|
||||
@@ -0,0 +1,24 @@
|
||||
name = "Claude Opus 4.6 (Fast)"
|
||||
family = "claude-opus"
|
||||
release_date = "2026-04-07"
|
||||
last_updated = "2026-04-07"
|
||||
attachment = true
|
||||
reasoning = true
|
||||
temperature = true
|
||||
tool_call = true
|
||||
structured_output = true
|
||||
open_weights = false
|
||||
|
||||
[cost]
|
||||
input = 30
|
||||
output = 150
|
||||
cache_read = 3
|
||||
cache_write = 37.5
|
||||
|
||||
[limit]
|
||||
context = 1_000_000
|
||||
output = 128_000
|
||||
|
||||
[modalities]
|
||||
input = ["text", "image", "pdf"]
|
||||
output = ["text"]
|
||||
@@ -1,7 +1,7 @@
|
||||
name = "Claude Opus 4.6"
|
||||
family = "claude-opus"
|
||||
release_date = "2026-02-05"
|
||||
last_updated = "2026-02-05"
|
||||
release_date = "2026-02-04"
|
||||
last_updated = "2026-02-04"
|
||||
attachment = true
|
||||
reasoning = true
|
||||
temperature = true
|
||||
@@ -11,17 +11,17 @@ knowledge = "2025-05-31"
|
||||
open_weights = false
|
||||
|
||||
[cost]
|
||||
input = 5.00
|
||||
output = 25.00
|
||||
cache_read = 0.50
|
||||
input = 5
|
||||
output = 25
|
||||
cache_read = 0.5
|
||||
cache_write = 6.25
|
||||
|
||||
[[cost.tiers]]
|
||||
tier = { size = 200_000 }
|
||||
input = 10.00
|
||||
output = 37.50
|
||||
cache_read = 1.00
|
||||
cache_write = 12.50
|
||||
input = 10
|
||||
output = 37.5
|
||||
cache_read = 1
|
||||
cache_write = 12.5
|
||||
|
||||
[limit]
|
||||
context = 1_000_000
|
||||
|
||||
@@ -0,0 +1,24 @@
|
||||
name = "Claude Opus 4.7 (Fast)"
|
||||
family = "claude-opus"
|
||||
release_date = "2026-05-12"
|
||||
last_updated = "2026-05-12"
|
||||
attachment = true
|
||||
reasoning = true
|
||||
temperature = false
|
||||
tool_call = true
|
||||
structured_output = true
|
||||
open_weights = false
|
||||
|
||||
[cost]
|
||||
input = 30
|
||||
output = 150
|
||||
cache_read = 3
|
||||
cache_write = 37.5
|
||||
|
||||
[limit]
|
||||
context = 1_000_000
|
||||
output = 128_000
|
||||
|
||||
[modalities]
|
||||
input = ["text", "image", "pdf"]
|
||||
output = ["text"]
|
||||
@@ -11,17 +11,17 @@ knowledge = "2026-01-31"
|
||||
open_weights = false
|
||||
|
||||
[cost]
|
||||
input = 5.00
|
||||
output = 25.00
|
||||
cache_read = 0.50
|
||||
input = 5
|
||||
output = 25
|
||||
cache_read = 0.5
|
||||
cache_write = 6.25
|
||||
|
||||
[[cost.tiers]]
|
||||
tier = { size = 200_000 }
|
||||
input = 10.00
|
||||
output = 37.50
|
||||
cache_read = 1.00
|
||||
cache_write = 12.50
|
||||
input = 10
|
||||
output = 37.5
|
||||
cache_read = 1
|
||||
cache_write = 12.5
|
||||
|
||||
[limit]
|
||||
context = 1_000_000
|
||||
|
||||
@@ -1,2 +1,25 @@
|
||||
[extends]
|
||||
from = "anthropic/claude-opus-4-20250514"
|
||||
name = "Claude Opus 4"
|
||||
family = "claude-opus"
|
||||
release_date = "2025-05-22"
|
||||
last_updated = "2025-05-22"
|
||||
attachment = true
|
||||
reasoning = true
|
||||
temperature = true
|
||||
tool_call = true
|
||||
structured_output = false
|
||||
knowledge = "2025-01-31"
|
||||
open_weights = false
|
||||
|
||||
[cost]
|
||||
input = 15
|
||||
output = 75
|
||||
cache_read = 1.5
|
||||
cache_write = 18.75
|
||||
|
||||
[limit]
|
||||
context = 200_000
|
||||
output = 32_000
|
||||
|
||||
[modalities]
|
||||
input = ["image", "text", "pdf"]
|
||||
output = ["text"]
|
||||
|
||||
@@ -7,21 +7,21 @@ reasoning = true
|
||||
temperature = true
|
||||
tool_call = true
|
||||
structured_output = true
|
||||
knowledge = "2025-07-31"
|
||||
knowledge = "2025-01-31"
|
||||
open_weights = false
|
||||
|
||||
[cost]
|
||||
input = 3.00
|
||||
output = 15.00
|
||||
cache_read = 0.30
|
||||
input = 3
|
||||
output = 15
|
||||
cache_read = 0.3
|
||||
cache_write = 3.75
|
||||
|
||||
[[cost.tiers]]
|
||||
tier = { size = 200_000 }
|
||||
input = 6.00
|
||||
output = 22.50
|
||||
cache_read = 0.60
|
||||
cache_write = 7.50
|
||||
input = 6
|
||||
output = 22.5
|
||||
cache_read = 0.6
|
||||
cache_write = 7.5
|
||||
|
||||
[limit]
|
||||
context = 1_000_000
|
||||
|
||||
@@ -11,22 +11,22 @@ knowledge = "2025-08-31"
|
||||
open_weights = false
|
||||
|
||||
[cost]
|
||||
input = 3.00
|
||||
output = 15.00
|
||||
cache_read = 0.30
|
||||
input = 3
|
||||
output = 15
|
||||
cache_read = 0.3
|
||||
cache_write = 3.75
|
||||
|
||||
[[cost.tiers]]
|
||||
tier = { size = 200_000 }
|
||||
input = 6.00
|
||||
output = 22.50
|
||||
cache_read = 0.60
|
||||
cache_write = 7.50
|
||||
input = 6
|
||||
output = 22.5
|
||||
cache_read = 0.6
|
||||
cache_write = 7.5
|
||||
|
||||
[limit]
|
||||
context = 1_000_000
|
||||
output = 128_000
|
||||
|
||||
[modalities]
|
||||
input = ["text", "image"]
|
||||
input = ["text", "image", "pdf"]
|
||||
output = ["text"]
|
||||
|
||||
@@ -6,26 +6,27 @@ attachment = true
|
||||
reasoning = true
|
||||
temperature = true
|
||||
tool_call = true
|
||||
knowledge = "2025-03-31"
|
||||
structured_output = false
|
||||
knowledge = "2025-01-31"
|
||||
open_weights = false
|
||||
|
||||
[cost]
|
||||
input = 3.00
|
||||
output = 15.00
|
||||
cache_read = 0.30
|
||||
input = 3
|
||||
output = 15
|
||||
cache_read = 0.3
|
||||
cache_write = 3.75
|
||||
|
||||
[[cost.tiers]]
|
||||
tier = { size = 200_000 }
|
||||
input = 6.00
|
||||
output = 22.50
|
||||
cache_read = 0.60
|
||||
cache_write = 7.50
|
||||
input = 6
|
||||
output = 22.5
|
||||
cache_read = 0.6
|
||||
cache_write = 7.5
|
||||
|
||||
[limit]
|
||||
context = 200_000
|
||||
context = 1_000_000
|
||||
output = 64_000
|
||||
|
||||
[modalities]
|
||||
input = ["text", "image", "pdf"]
|
||||
input = ["image", "text", "pdf"]
|
||||
output = ["text"]
|
||||
|
||||
@@ -0,0 +1,23 @@
|
||||
name = "Coder Large"
|
||||
family = "o"
|
||||
release_date = "2025-05-05"
|
||||
last_updated = "2025-05-05"
|
||||
attachment = false
|
||||
reasoning = false
|
||||
temperature = true
|
||||
tool_call = false
|
||||
structured_output = false
|
||||
knowledge = "2025-03-31"
|
||||
open_weights = false
|
||||
|
||||
[cost]
|
||||
input = 0.5
|
||||
output = 0.8
|
||||
|
||||
[limit]
|
||||
context = 32_768
|
||||
output = 32_768
|
||||
|
||||
[modalities]
|
||||
input = ["text"]
|
||||
output = ["text"]
|
||||
@@ -0,0 +1,23 @@
|
||||
name = "Maestro Reasoning"
|
||||
family = "o"
|
||||
release_date = "2025-05-05"
|
||||
last_updated = "2025-05-05"
|
||||
attachment = false
|
||||
reasoning = false
|
||||
temperature = true
|
||||
tool_call = false
|
||||
structured_output = false
|
||||
knowledge = "2025-03-31"
|
||||
open_weights = false
|
||||
|
||||
[cost]
|
||||
input = 0.9
|
||||
output = 3.3
|
||||
|
||||
[limit]
|
||||
context = 131_072
|
||||
output = 32_000
|
||||
|
||||
[modalities]
|
||||
input = ["text"]
|
||||
output = ["text"]
|
||||
@@ -0,0 +1,23 @@
|
||||
name = "Spotlight"
|
||||
family = "o"
|
||||
release_date = "2025-05-05"
|
||||
last_updated = "2025-05-05"
|
||||
attachment = true
|
||||
reasoning = false
|
||||
temperature = true
|
||||
tool_call = false
|
||||
structured_output = false
|
||||
knowledge = "2025-03-31"
|
||||
open_weights = false
|
||||
|
||||
[cost]
|
||||
input = 0.18
|
||||
output = 0.18
|
||||
|
||||
[limit]
|
||||
context = 131_072
|
||||
output = 65_537
|
||||
|
||||
[modalities]
|
||||
input = ["image", "text"]
|
||||
output = ["text"]
|
||||
+6
-8
@@ -1,23 +1,21 @@
|
||||
name = "Trinity Large Preview"
|
||||
family = "trinity"
|
||||
release_date = "2026-01-28"
|
||||
last_updated = "2026-01-28"
|
||||
release_date = "2026-01-27"
|
||||
last_updated = "2026-01-27"
|
||||
attachment = false
|
||||
reasoning = false
|
||||
temperature = true
|
||||
# may be inaccurate
|
||||
knowledge = "2025-06"
|
||||
tool_call = true
|
||||
structured_output = true
|
||||
open_weights = true
|
||||
|
||||
[cost]
|
||||
input = 0.00
|
||||
output = 0.00
|
||||
input = 0.15
|
||||
output = 0.45
|
||||
|
||||
[limit]
|
||||
context = 131_072
|
||||
output = 131_072
|
||||
context = 131_000
|
||||
output = 131_000
|
||||
|
||||
[modalities]
|
||||
input = ["text"]
|
||||
@@ -1,20 +1,22 @@
|
||||
name = "Trinity Large Thinking"
|
||||
family = "trinity"
|
||||
release_date = "2026-04-01"
|
||||
last_updated = "2026-04-01"
|
||||
attachment = false
|
||||
reasoning = true
|
||||
tool_call = true
|
||||
temperature = true
|
||||
release_date = "2026-04-01"
|
||||
last_updated = "2026-04-03"
|
||||
tool_call = true
|
||||
structured_output = true
|
||||
open_weights = true
|
||||
|
||||
[cost]
|
||||
input = 0.22
|
||||
output = 0.85
|
||||
cache_read = 0.06
|
||||
|
||||
[limit]
|
||||
context = 262_144
|
||||
output = 80_000
|
||||
output = 262_144
|
||||
|
||||
[modalities]
|
||||
input = ["text"]
|
||||
|
||||
@@ -0,0 +1,22 @@
|
||||
name = "Trinity Large Thinking (free)"
|
||||
family = "trinity"
|
||||
release_date = "2026-04-01"
|
||||
last_updated = "2026-04-01"
|
||||
attachment = false
|
||||
reasoning = true
|
||||
temperature = true
|
||||
tool_call = true
|
||||
structured_output = false
|
||||
open_weights = true
|
||||
|
||||
[cost]
|
||||
input = 0
|
||||
output = 0
|
||||
|
||||
[limit]
|
||||
context = 262_144
|
||||
output = 80_000
|
||||
|
||||
[modalities]
|
||||
input = ["text"]
|
||||
output = ["text"]
|
||||
+7
-7
@@ -1,7 +1,7 @@
|
||||
name = "GPT OSS 120B (exacto)"
|
||||
family = "gpt-oss"
|
||||
release_date = "2025-08-05"
|
||||
last_updated = "2025-08-05"
|
||||
name = "Trinity Mini"
|
||||
family = "trinity-mini"
|
||||
release_date = "2025-12-01"
|
||||
last_updated = "2025-12-01"
|
||||
attachment = false
|
||||
reasoning = true
|
||||
temperature = true
|
||||
@@ -10,12 +10,12 @@ structured_output = true
|
||||
open_weights = true
|
||||
|
||||
[cost]
|
||||
input = 0.05
|
||||
output = 0.24
|
||||
input = 0.045
|
||||
output = 0.15
|
||||
|
||||
[limit]
|
||||
context = 131_072
|
||||
output = 32_768
|
||||
output = 131_072
|
||||
|
||||
[modalities]
|
||||
input = ["text"]
|
||||
@@ -0,0 +1,23 @@
|
||||
name = "Virtuoso Large"
|
||||
family = "o"
|
||||
release_date = "2025-05-05"
|
||||
last_updated = "2025-05-05"
|
||||
attachment = false
|
||||
reasoning = false
|
||||
temperature = true
|
||||
tool_call = true
|
||||
structured_output = false
|
||||
knowledge = "2025-03-31"
|
||||
open_weights = false
|
||||
|
||||
[cost]
|
||||
input = 0.75
|
||||
output = 1.2
|
||||
|
||||
[limit]
|
||||
context = 131_072
|
||||
output = 64_000
|
||||
|
||||
[modalities]
|
||||
input = ["text"]
|
||||
output = ["text"]
|
||||
@@ -0,0 +1,22 @@
|
||||
name = "CoBuddy (free)"
|
||||
family = "o"
|
||||
release_date = "2026-05-06"
|
||||
last_updated = "2026-05-06"
|
||||
attachment = false
|
||||
reasoning = true
|
||||
temperature = false
|
||||
tool_call = true
|
||||
structured_output = false
|
||||
open_weights = false
|
||||
|
||||
[cost]
|
||||
input = 0
|
||||
output = 0
|
||||
|
||||
[limit]
|
||||
context = 131_072
|
||||
output = 65_536
|
||||
|
||||
[modalities]
|
||||
input = ["text"]
|
||||
output = ["text"]
|
||||
@@ -0,0 +1,23 @@
|
||||
name = "ERNIE 4.5 21B A3B Thinking"
|
||||
family = "ernie"
|
||||
release_date = "2025-10-09"
|
||||
last_updated = "2025-10-09"
|
||||
attachment = false
|
||||
reasoning = true
|
||||
temperature = true
|
||||
tool_call = false
|
||||
structured_output = false
|
||||
knowledge = "2025-03-31"
|
||||
open_weights = true
|
||||
|
||||
[cost]
|
||||
input = 0.07
|
||||
output = 0.28
|
||||
|
||||
[limit]
|
||||
context = 131_072
|
||||
output = 65_536
|
||||
|
||||
[modalities]
|
||||
input = ["text"]
|
||||
output = ["text"]
|
||||
@@ -0,0 +1,23 @@
|
||||
name = "ERNIE 4.5 21B A3B"
|
||||
family = "ernie"
|
||||
release_date = "2025-08-12"
|
||||
last_updated = "2025-08-12"
|
||||
attachment = false
|
||||
reasoning = false
|
||||
temperature = true
|
||||
tool_call = true
|
||||
structured_output = false
|
||||
knowledge = "2025-03-31"
|
||||
open_weights = true
|
||||
|
||||
[cost]
|
||||
input = 0.07
|
||||
output = 0.28
|
||||
|
||||
[limit]
|
||||
context = 120_000
|
||||
output = 8_000
|
||||
|
||||
[modalities]
|
||||
input = ["text"]
|
||||
output = ["text"]
|
||||
@@ -0,0 +1,23 @@
|
||||
name = "ERNIE 4.5 300B A47B "
|
||||
family = "ernie"
|
||||
release_date = "2025-06-30"
|
||||
last_updated = "2025-06-30"
|
||||
attachment = false
|
||||
reasoning = false
|
||||
temperature = true
|
||||
tool_call = false
|
||||
structured_output = false
|
||||
knowledge = "2025-03-31"
|
||||
open_weights = true
|
||||
|
||||
[cost]
|
||||
input = 0.28
|
||||
output = 1.1
|
||||
|
||||
[limit]
|
||||
context = 123_000
|
||||
output = 12_000
|
||||
|
||||
[modalities]
|
||||
input = ["text"]
|
||||
output = ["text"]
|
||||
@@ -0,0 +1,23 @@
|
||||
name = "ERNIE 4.5 VL 28B A3B"
|
||||
family = "ernie"
|
||||
release_date = "2025-08-12"
|
||||
last_updated = "2025-08-12"
|
||||
attachment = true
|
||||
reasoning = true
|
||||
temperature = true
|
||||
tool_call = true
|
||||
structured_output = false
|
||||
knowledge = "2025-03-31"
|
||||
open_weights = true
|
||||
|
||||
[cost]
|
||||
input = 0.14
|
||||
output = 0.56
|
||||
|
||||
[limit]
|
||||
context = 30_000
|
||||
output = 8_000
|
||||
|
||||
[modalities]
|
||||
input = ["text", "image"]
|
||||
output = ["text"]
|
||||
@@ -0,0 +1,23 @@
|
||||
name = "ERNIE 4.5 VL 424B A47B "
|
||||
family = "ernie"
|
||||
release_date = "2025-06-30"
|
||||
last_updated = "2025-06-30"
|
||||
attachment = true
|
||||
reasoning = true
|
||||
temperature = true
|
||||
tool_call = false
|
||||
structured_output = false
|
||||
knowledge = "2025-03-31"
|
||||
open_weights = true
|
||||
|
||||
[cost]
|
||||
input = 0.42
|
||||
output = 1.25
|
||||
|
||||
[limit]
|
||||
context = 123_000
|
||||
output = 16_000
|
||||
|
||||
[modalities]
|
||||
input = ["image", "text"]
|
||||
output = ["text"]
|
||||
@@ -0,0 +1,22 @@
|
||||
name = "Qianfan-OCR-Fast"
|
||||
family = "o"
|
||||
release_date = "2026-04-20"
|
||||
last_updated = "2026-04-20"
|
||||
attachment = true
|
||||
reasoning = true
|
||||
temperature = true
|
||||
tool_call = false
|
||||
structured_output = false
|
||||
open_weights = false
|
||||
|
||||
[cost]
|
||||
input = 0.68
|
||||
output = 2.81
|
||||
|
||||
[limit]
|
||||
context = 65_536
|
||||
output = 28_672
|
||||
|
||||
[modalities]
|
||||
input = ["image", "text"]
|
||||
output = ["text"]
|
||||
@@ -1,23 +0,0 @@
|
||||
name = "FLUX.2 Flex"
|
||||
family = "flux"
|
||||
release_date = "2025-11-25"
|
||||
last_updated = "2026-01-31"
|
||||
attachment = false
|
||||
reasoning = false
|
||||
temperature = true
|
||||
# may be inaccurate
|
||||
knowledge = "2025-06"
|
||||
tool_call = false
|
||||
open_weights = false
|
||||
|
||||
[cost]
|
||||
input = 0.00
|
||||
output = 0.00
|
||||
|
||||
[limit]
|
||||
context = 67_344
|
||||
output = 67_344
|
||||
|
||||
[modalities]
|
||||
input = ["image","text"]
|
||||
output = ["image"]
|
||||
@@ -1,23 +0,0 @@
|
||||
name = "FLUX.2 Klein 4B"
|
||||
family = "flux"
|
||||
release_date = "2026-01-14"
|
||||
last_updated = "2026-01-31"
|
||||
attachment = false
|
||||
reasoning = false
|
||||
temperature = true
|
||||
# may be inaccurate
|
||||
knowledge = "2025-06"
|
||||
tool_call = false
|
||||
open_weights = true
|
||||
|
||||
[cost]
|
||||
input = 0.00
|
||||
output = 0.00
|
||||
|
||||
[limit]
|
||||
context = 40_960
|
||||
output = 40_960
|
||||
|
||||
[modalities]
|
||||
input = ["image","text"]
|
||||
output = ["image"]
|
||||
@@ -1,23 +0,0 @@
|
||||
name = "FLUX.2 Max"
|
||||
family = "flux"
|
||||
release_date = "2025-12-16"
|
||||
last_updated = "2026-01-31"
|
||||
attachment = false
|
||||
reasoning = false
|
||||
temperature = true
|
||||
# may be inaccurate
|
||||
knowledge = "2025-06"
|
||||
tool_call = false
|
||||
open_weights = false
|
||||
|
||||
[cost]
|
||||
input = 0.00
|
||||
output = 0.00
|
||||
|
||||
[limit]
|
||||
context = 46_864
|
||||
output = 46_864
|
||||
|
||||
[modalities]
|
||||
input = ["image","text"]
|
||||
output = ["image"]
|
||||
@@ -1,23 +0,0 @@
|
||||
name = "FLUX.2 Pro"
|
||||
family = "flux"
|
||||
release_date = "2025-11-25"
|
||||
last_updated = "2026-01-31"
|
||||
attachment = false
|
||||
reasoning = false
|
||||
temperature = true
|
||||
# may be inaccurate
|
||||
knowledge = "2025-06"
|
||||
tool_call = false
|
||||
open_weights = false
|
||||
|
||||
[cost]
|
||||
input = 0.00
|
||||
output = 0.00
|
||||
|
||||
[limit]
|
||||
context = 46_864
|
||||
output = 46_864
|
||||
|
||||
[modalities]
|
||||
input = ["image","text"]
|
||||
output = ["image"]
|
||||
@@ -0,0 +1,22 @@
|
||||
name = "Seed 1.6 Flash"
|
||||
family = "seed"
|
||||
release_date = "2025-12-23"
|
||||
last_updated = "2025-12-23"
|
||||
attachment = true
|
||||
reasoning = true
|
||||
temperature = true
|
||||
tool_call = true
|
||||
structured_output = true
|
||||
open_weights = false
|
||||
|
||||
[cost]
|
||||
input = 0.075
|
||||
output = 0.3
|
||||
|
||||
[limit]
|
||||
context = 262_144
|
||||
output = 32_768
|
||||
|
||||
[modalities]
|
||||
input = ["image", "text", "video"]
|
||||
output = ["text"]
|
||||
@@ -0,0 +1,22 @@
|
||||
name = "Seed 1.6"
|
||||
family = "seed"
|
||||
release_date = "2025-12-23"
|
||||
last_updated = "2025-12-23"
|
||||
attachment = true
|
||||
reasoning = true
|
||||
temperature = true
|
||||
tool_call = true
|
||||
structured_output = true
|
||||
open_weights = false
|
||||
|
||||
[cost]
|
||||
input = 0.25
|
||||
output = 2
|
||||
|
||||
[limit]
|
||||
context = 262_144
|
||||
output = 32_768
|
||||
|
||||
[modalities]
|
||||
input = ["image", "text", "video"]
|
||||
output = ["text"]
|
||||
@@ -0,0 +1,22 @@
|
||||
name = "Seed-2.0-Lite"
|
||||
family = "seed"
|
||||
release_date = "2026-03-10"
|
||||
last_updated = "2026-03-10"
|
||||
attachment = true
|
||||
reasoning = true
|
||||
temperature = true
|
||||
tool_call = true
|
||||
structured_output = true
|
||||
open_weights = false
|
||||
|
||||
[cost]
|
||||
input = 0.25
|
||||
output = 2
|
||||
|
||||
[limit]
|
||||
context = 262_144
|
||||
output = 131_072
|
||||
|
||||
[modalities]
|
||||
input = ["text", "image", "video"]
|
||||
output = ["text"]
|
||||
@@ -0,0 +1,22 @@
|
||||
name = "Seed-2.0-Mini"
|
||||
family = "seed"
|
||||
release_date = "2026-02-26"
|
||||
last_updated = "2026-02-26"
|
||||
attachment = true
|
||||
reasoning = true
|
||||
temperature = true
|
||||
tool_call = true
|
||||
structured_output = true
|
||||
open_weights = false
|
||||
|
||||
[cost]
|
||||
input = 0.1
|
||||
output = 0.4
|
||||
|
||||
[limit]
|
||||
context = 262_144
|
||||
output = 131_072
|
||||
|
||||
[modalities]
|
||||
input = ["text", "image", "video"]
|
||||
output = ["text"]
|
||||
@@ -1,23 +0,0 @@
|
||||
name = "Seedream 4.5"
|
||||
family = "seed"
|
||||
release_date = "2025-12-23"
|
||||
last_updated = "2026-01-31"
|
||||
attachment = false
|
||||
reasoning = false
|
||||
temperature = true
|
||||
# may be inaccurate
|
||||
knowledge = "2025-06"
|
||||
tool_call = false
|
||||
open_weights = true
|
||||
|
||||
[cost]
|
||||
input = 0.00
|
||||
output = 0.00
|
||||
|
||||
[limit]
|
||||
context = 4_096
|
||||
output = 4_096
|
||||
|
||||
[modalities]
|
||||
input = ["image","text"]
|
||||
output = ["image"]
|
||||
@@ -0,0 +1,23 @@
|
||||
name = "UI-TARS 7B "
|
||||
release_date = "2025-07-22"
|
||||
last_updated = "2025-07-22"
|
||||
attachment = true
|
||||
reasoning = false
|
||||
temperature = true
|
||||
tool_call = false
|
||||
structured_output = false
|
||||
knowledge = "2025-01-31"
|
||||
open_weights = true
|
||||
|
||||
[cost]
|
||||
input = 0.1
|
||||
output = 0.2
|
||||
cache_read = 0.1
|
||||
|
||||
[limit]
|
||||
context = 128_000
|
||||
output = 2_048
|
||||
|
||||
[modalities]
|
||||
input = ["image", "text"]
|
||||
output = ["text"]
|
||||
+4
-5
@@ -1,19 +1,18 @@
|
||||
name = "Uncensored (free)"
|
||||
family = "mistral"
|
||||
release_date = "2025-07-09"
|
||||
last_updated = "2026-01-31"
|
||||
last_updated = "2025-07-09"
|
||||
attachment = false
|
||||
reasoning = false
|
||||
temperature = true
|
||||
# may be inaccurate
|
||||
knowledge = "2025-06"
|
||||
tool_call = false
|
||||
structured_output = true
|
||||
knowledge = "2024-04-30"
|
||||
open_weights = true
|
||||
|
||||
[cost]
|
||||
input = 0.00
|
||||
output = 0.00
|
||||
input = 0
|
||||
output = 0
|
||||
|
||||
[limit]
|
||||
context = 32_768
|
||||
|
||||
+9
-8
@@ -1,22 +1,23 @@
|
||||
name = "Gemma 3 12B (free)"
|
||||
family = "gemma"
|
||||
name = "Command A"
|
||||
family = "command-a"
|
||||
release_date = "2025-03-13"
|
||||
last_updated = "2025-03-13"
|
||||
attachment = true
|
||||
attachment = false
|
||||
reasoning = false
|
||||
temperature = true
|
||||
knowledge = "2024-10"
|
||||
tool_call = false
|
||||
structured_output = true
|
||||
knowledge = "2024-08-31"
|
||||
open_weights = true
|
||||
|
||||
[cost]
|
||||
input = 0
|
||||
output = 0
|
||||
input = 2.5
|
||||
output = 10
|
||||
|
||||
[limit]
|
||||
context = 32_768
|
||||
context = 256_000
|
||||
output = 8_192
|
||||
|
||||
[modalities]
|
||||
input = ["text", "image"]
|
||||
input = ["text"]
|
||||
output = ["text"]
|
||||
@@ -0,0 +1,23 @@
|
||||
name = "Command R (08-2024)"
|
||||
family = "command-r"
|
||||
release_date = "2024-08-30"
|
||||
last_updated = "2024-08-30"
|
||||
attachment = false
|
||||
reasoning = false
|
||||
temperature = true
|
||||
tool_call = true
|
||||
structured_output = true
|
||||
knowledge = "2024-03-31"
|
||||
open_weights = false
|
||||
|
||||
[cost]
|
||||
input = 0.15
|
||||
output = 0.6
|
||||
|
||||
[limit]
|
||||
context = 128_000
|
||||
output = 4_000
|
||||
|
||||
[modalities]
|
||||
input = ["text"]
|
||||
output = ["text"]
|
||||
@@ -0,0 +1,23 @@
|
||||
name = "Command R+ (08-2024)"
|
||||
family = "command-r"
|
||||
release_date = "2024-08-30"
|
||||
last_updated = "2024-08-30"
|
||||
attachment = false
|
||||
reasoning = false
|
||||
temperature = true
|
||||
tool_call = true
|
||||
structured_output = true
|
||||
knowledge = "2024-03-31"
|
||||
open_weights = false
|
||||
|
||||
[cost]
|
||||
input = 2.5
|
||||
output = 10
|
||||
|
||||
[limit]
|
||||
context = 128_000
|
||||
output = 4_000
|
||||
|
||||
[modalities]
|
||||
input = ["text"]
|
||||
output = ["text"]
|
||||
@@ -0,0 +1,23 @@
|
||||
name = "Command R7B (12-2024)"
|
||||
family = "command-r"
|
||||
release_date = "2024-12-14"
|
||||
last_updated = "2024-12-14"
|
||||
attachment = false
|
||||
reasoning = false
|
||||
temperature = true
|
||||
tool_call = false
|
||||
structured_output = true
|
||||
knowledge = "2024-08-31"
|
||||
open_weights = false
|
||||
|
||||
[cost]
|
||||
input = 0.0375
|
||||
output = 0.15
|
||||
|
||||
[limit]
|
||||
context = 128_000
|
||||
output = 4_000
|
||||
|
||||
[modalities]
|
||||
input = ["text"]
|
||||
output = ["text"]
|
||||
@@ -0,0 +1,22 @@
|
||||
name = "Cogito v2.1 671B"
|
||||
family = "cogito"
|
||||
release_date = "2025-11-13"
|
||||
last_updated = "2025-11-13"
|
||||
attachment = false
|
||||
reasoning = true
|
||||
temperature = true
|
||||
tool_call = false
|
||||
structured_output = true
|
||||
open_weights = false
|
||||
|
||||
[cost]
|
||||
input = 1.25
|
||||
output = 1.25
|
||||
|
||||
[limit]
|
||||
context = 128_000
|
||||
output = 128_000
|
||||
|
||||
[modalities]
|
||||
input = ["text"]
|
||||
output = ["text"]
|
||||
@@ -1,4 +1,3 @@
|
||||
id = "deepseek/deepseek-chat-v3-0324:free"
|
||||
name = "DeepSeek V3 0324"
|
||||
family = "deepseek"
|
||||
release_date = "2025-03-24"
|
||||
@@ -6,13 +5,20 @@ last_updated = "2025-03-24"
|
||||
attachment = false
|
||||
reasoning = false
|
||||
temperature = true
|
||||
knowledge = "2024-10"
|
||||
tool_call = false
|
||||
tool_call = true
|
||||
structured_output = true
|
||||
knowledge = "2024-07-31"
|
||||
open_weights = true
|
||||
cost = { input = 0, output = 0 }
|
||||
limit = { context = 16384, output = 8192 }
|
||||
|
||||
[cost]
|
||||
input = 0.2
|
||||
output = 0.77
|
||||
cache_read = 0.135
|
||||
|
||||
[limit]
|
||||
context = 163_840
|
||||
output = 16_384
|
||||
|
||||
[modalities]
|
||||
input = ["text"]
|
||||
output = ["text"]
|
||||
output = ["text"]
|
||||
|
||||
@@ -1,22 +1,23 @@
|
||||
name = "DeepSeek-V3.1"
|
||||
name = "DeepSeek V3.1"
|
||||
family = "deepseek"
|
||||
release_date = "2025-08-21"
|
||||
last_updated = "2025-08-21"
|
||||
attachment = false
|
||||
reasoning = true
|
||||
temperature = true
|
||||
knowledge = "2025-07"
|
||||
tool_call = true
|
||||
structured_output = true
|
||||
knowledge = "2025-03-31"
|
||||
open_weights = true
|
||||
|
||||
[cost]
|
||||
input = 0.20
|
||||
output = 0.80
|
||||
input = 0.21
|
||||
output = 0.79
|
||||
cache_read = 0.13
|
||||
|
||||
[limit]
|
||||
context = 163_840
|
||||
output = 163_840
|
||||
output = 32_768
|
||||
|
||||
[modalities]
|
||||
input = ["text"]
|
||||
|
||||
@@ -0,0 +1,23 @@
|
||||
name = "DeepSeek V3"
|
||||
family = "deepseek"
|
||||
release_date = "2024-12-26"
|
||||
last_updated = "2024-12-26"
|
||||
attachment = false
|
||||
reasoning = false
|
||||
temperature = true
|
||||
tool_call = true
|
||||
structured_output = true
|
||||
knowledge = "2024-07-31"
|
||||
open_weights = true
|
||||
|
||||
[cost]
|
||||
input = 0.32
|
||||
output = 0.89
|
||||
|
||||
[limit]
|
||||
context = 163_840
|
||||
output = 16_384
|
||||
|
||||
[modalities]
|
||||
input = ["text"]
|
||||
output = ["text"]
|
||||
@@ -0,0 +1,24 @@
|
||||
name = "R1 0528"
|
||||
family = "deepseek"
|
||||
release_date = "2025-05-28"
|
||||
last_updated = "2025-05-28"
|
||||
attachment = false
|
||||
reasoning = true
|
||||
temperature = true
|
||||
tool_call = true
|
||||
structured_output = true
|
||||
knowledge = "2025-03-31"
|
||||
open_weights = true
|
||||
|
||||
[cost]
|
||||
input = 0.5
|
||||
output = 2.15
|
||||
cache_read = 0.35
|
||||
|
||||
[limit]
|
||||
context = 163_840
|
||||
output = 32_768
|
||||
|
||||
[modalities]
|
||||
input = ["text"]
|
||||
output = ["text"]
|
||||
@@ -1,18 +1,23 @@
|
||||
id = "deepseek/deepseek-r1-distill-llama-70b:free"
|
||||
name = "DeepSeek R1 Distill Llama 70B"
|
||||
name = "R1 Distill Llama 70B"
|
||||
family = "deepseek-thinking"
|
||||
release_date = "2025-01-23"
|
||||
last_updated = "2025-01-23"
|
||||
attachment = false
|
||||
reasoning = true
|
||||
temperature = true
|
||||
knowledge = "2024-10"
|
||||
tool_call = false
|
||||
structured_output = true
|
||||
knowledge = "2024-07-31"
|
||||
open_weights = true
|
||||
cost = { input = 0, output = 0 }
|
||||
limit = { context = 8192, output = 8192 }
|
||||
|
||||
[cost]
|
||||
input = 0.7
|
||||
output = 0.8
|
||||
|
||||
[limit]
|
||||
context = 131_072
|
||||
output = 16_384
|
||||
|
||||
[modalities]
|
||||
input = ["text"]
|
||||
output = ["text"]
|
||||
output = ["text"]
|
||||
|
||||
@@ -0,0 +1,23 @@
|
||||
name = "R1 Distill Qwen 32B"
|
||||
family = "deepseek"
|
||||
release_date = "2025-01-29"
|
||||
last_updated = "2025-01-29"
|
||||
attachment = false
|
||||
reasoning = true
|
||||
temperature = true
|
||||
tool_call = false
|
||||
structured_output = true
|
||||
knowledge = "2024-07-31"
|
||||
open_weights = true
|
||||
|
||||
[cost]
|
||||
input = 0.29
|
||||
output = 0.29
|
||||
|
||||
[limit]
|
||||
context = 32_768
|
||||
output = 32_768
|
||||
|
||||
[modalities]
|
||||
input = ["text"]
|
||||
output = ["text"]
|
||||
@@ -1,18 +1,18 @@
|
||||
name = "DeepSeek: R1"
|
||||
name = "R1"
|
||||
family = "deepseek-thinking"
|
||||
release_date = "2025-01-20"
|
||||
last_updated = "2025-01-20"
|
||||
attachment = false
|
||||
reasoning = true
|
||||
temperature = true
|
||||
knowledge = "2024-07"
|
||||
tool_call = true
|
||||
structured_output = false
|
||||
knowledge = "2024-07-31"
|
||||
open_weights = true
|
||||
|
||||
[cost]
|
||||
input = 0.70
|
||||
output = 2.50
|
||||
input = 0.7
|
||||
output = 2.5
|
||||
|
||||
[limit]
|
||||
context = 64_000
|
||||
|
||||
@@ -5,18 +5,19 @@ last_updated = "2025-09-22"
|
||||
attachment = false
|
||||
reasoning = true
|
||||
temperature = true
|
||||
knowledge = "2025-07"
|
||||
tool_call = true
|
||||
structured_output = true
|
||||
knowledge = "2025-03-31"
|
||||
open_weights = true
|
||||
|
||||
[cost]
|
||||
input = 0.27
|
||||
output = 1.00
|
||||
output = 0.95
|
||||
cache_read = 0.13
|
||||
|
||||
[limit]
|
||||
context = 131_072
|
||||
output = 65_536
|
||||
context = 163_840
|
||||
output = 32_768
|
||||
|
||||
[modalities]
|
||||
input = ["text"]
|
||||
|
||||
+6
-6
@@ -1,21 +1,21 @@
|
||||
name = "DeepSeek V3.1 Terminus (exacto)"
|
||||
name = "DeepSeek V3.2 Exp"
|
||||
family = "deepseek"
|
||||
release_date = "2025-09-22"
|
||||
last_updated = "2025-09-22"
|
||||
release_date = "2025-09-29"
|
||||
last_updated = "2025-09-29"
|
||||
attachment = false
|
||||
reasoning = true
|
||||
temperature = true
|
||||
knowledge = "2025-07"
|
||||
tool_call = true
|
||||
structured_output = true
|
||||
knowledge = "2025-07-31"
|
||||
open_weights = true
|
||||
|
||||
[cost]
|
||||
input = 0.27
|
||||
output = 1.00
|
||||
output = 0.41
|
||||
|
||||
[limit]
|
||||
context = 131_072
|
||||
context = 163_840
|
||||
output = 65_536
|
||||
|
||||
[modalities]
|
||||
@@ -5,18 +5,19 @@ last_updated = "2025-12-01"
|
||||
attachment = false
|
||||
reasoning = true
|
||||
temperature = true
|
||||
knowledge = "2024-07"
|
||||
tool_call = true
|
||||
tool_call = false
|
||||
structured_output = true
|
||||
knowledge = "2024-07"
|
||||
open_weights = true
|
||||
|
||||
[cost]
|
||||
input = 0.27
|
||||
output = 0.41
|
||||
input = 0.287
|
||||
output = 0.431
|
||||
cache_read = 0.058
|
||||
|
||||
[limit]
|
||||
context = 163_840
|
||||
output = 65_536
|
||||
output = 163_840
|
||||
|
||||
[modalities]
|
||||
input = ["text"]
|
||||
|
||||
@@ -5,17 +5,18 @@ last_updated = "2025-12-01"
|
||||
attachment = false
|
||||
reasoning = true
|
||||
temperature = true
|
||||
knowledge = "2024-07"
|
||||
tool_call = true
|
||||
structured_output = true
|
||||
knowledge = "2024-07"
|
||||
open_weights = true
|
||||
|
||||
[cost]
|
||||
input = 0.28
|
||||
output = 0.40
|
||||
input = 0.252
|
||||
output = 0.378
|
||||
cache_read = 0.0252
|
||||
|
||||
[limit]
|
||||
context = 163_840
|
||||
context = 131_072
|
||||
output = 65_536
|
||||
|
||||
[modalities]
|
||||
|
||||
@@ -1,11 +1,26 @@
|
||||
name = "DeepSeek V4 Flash"
|
||||
family = "deepseek"
|
||||
release_date = "2026-04-24"
|
||||
last_updated = "2026-04-24"
|
||||
attachment = false
|
||||
|
||||
[extends]
|
||||
from = "deepseek/deepseek-v4-flash"
|
||||
reasoning = true
|
||||
temperature = true
|
||||
tool_call = true
|
||||
structured_output = true
|
||||
open_weights = true
|
||||
|
||||
[interleaved]
|
||||
field = "reasoning_content"
|
||||
|
||||
[cost]
|
||||
input = 0.126
|
||||
output = 0.252
|
||||
cache_read = 0.0252
|
||||
|
||||
[limit]
|
||||
context = 1_048_576
|
||||
output = 393_216
|
||||
output = 131_072
|
||||
|
||||
[modalities]
|
||||
input = ["text"]
|
||||
output = ["text"]
|
||||
|
||||
@@ -0,0 +1,22 @@
|
||||
name = "DeepSeek V4 Flash (free)"
|
||||
family = "deepseek"
|
||||
release_date = "2026-04-24"
|
||||
last_updated = "2026-04-24"
|
||||
attachment = false
|
||||
reasoning = true
|
||||
temperature = false
|
||||
tool_call = true
|
||||
structured_output = false
|
||||
open_weights = true
|
||||
|
||||
[cost]
|
||||
input = 0
|
||||
output = 0
|
||||
|
||||
[limit]
|
||||
context = 1_048_576
|
||||
output = 384_000
|
||||
|
||||
[modalities]
|
||||
input = ["text"]
|
||||
output = ["text"]
|
||||
@@ -1,11 +1,26 @@
|
||||
name = "DeepSeek V4 Pro"
|
||||
family = "deepseek"
|
||||
release_date = "2026-04-24"
|
||||
last_updated = "2026-04-24"
|
||||
attachment = false
|
||||
|
||||
[extends]
|
||||
from = "deepseek/deepseek-v4-pro"
|
||||
reasoning = true
|
||||
temperature = true
|
||||
tool_call = true
|
||||
structured_output = true
|
||||
open_weights = true
|
||||
|
||||
[interleaved]
|
||||
field = "reasoning_content"
|
||||
|
||||
[cost]
|
||||
input = 0.435
|
||||
output = 0.87
|
||||
cache_read = 0.003625
|
||||
|
||||
[limit]
|
||||
context = 1_048_576
|
||||
output = 393_216
|
||||
output = 384_000
|
||||
|
||||
[modalities]
|
||||
input = ["text"]
|
||||
output = ["text"]
|
||||
|
||||
@@ -0,0 +1,22 @@
|
||||
name = "Rnj 1 Instruct"
|
||||
family = "rnj"
|
||||
release_date = "2025-12-07"
|
||||
last_updated = "2025-12-07"
|
||||
attachment = false
|
||||
reasoning = false
|
||||
temperature = true
|
||||
tool_call = true
|
||||
structured_output = true
|
||||
open_weights = true
|
||||
|
||||
[cost]
|
||||
input = 0.15
|
||||
output = 0.15
|
||||
|
||||
[limit]
|
||||
context = 32_768
|
||||
output = 32_768
|
||||
|
||||
[modalities]
|
||||
input = ["text"]
|
||||
output = ["text"]
|
||||
@@ -1,24 +1,25 @@
|
||||
name = "Gemini 2.0 Flash"
|
||||
family = "gemini-flash"
|
||||
release_date = "2024-12-11"
|
||||
last_updated = "2024-12-11"
|
||||
release_date = "2025-02-05"
|
||||
last_updated = "2025-02-05"
|
||||
attachment = true
|
||||
reasoning = false
|
||||
temperature = true
|
||||
knowledge = "2024-06"
|
||||
tool_call = true
|
||||
structured_output = true
|
||||
knowledge = "2024-08-31"
|
||||
open_weights = false
|
||||
|
||||
[cost]
|
||||
input = 0.10
|
||||
output = 0.40
|
||||
input = 0.1
|
||||
output = 0.4
|
||||
cache_read = 0.025
|
||||
cache_write = 0.083333
|
||||
|
||||
[limit]
|
||||
context = 1_048_576
|
||||
output = 8_192
|
||||
|
||||
[modalities]
|
||||
input = ["text", "image", "audio", "video", "pdf"]
|
||||
input = ["text", "image", "pdf", "audio", "video"]
|
||||
output = ["text"]
|
||||
|
||||
@@ -0,0 +1,23 @@
|
||||
name = "Gemini 2.0 Flash Lite"
|
||||
family = "gemini"
|
||||
release_date = "2025-02-25"
|
||||
last_updated = "2025-02-25"
|
||||
attachment = true
|
||||
reasoning = false
|
||||
temperature = true
|
||||
tool_call = true
|
||||
structured_output = true
|
||||
knowledge = "2024-08-31"
|
||||
open_weights = false
|
||||
|
||||
[cost]
|
||||
input = 0.075
|
||||
output = 0.3
|
||||
|
||||
[limit]
|
||||
context = 1_048_576
|
||||
output = 8_192
|
||||
|
||||
[modalities]
|
||||
input = ["text", "image", "pdf", "audio", "video"]
|
||||
output = ["text"]
|
||||
@@ -0,0 +1,25 @@
|
||||
name = "Nano Banana (Gemini 2.5 Flash Image)"
|
||||
family = "gemini"
|
||||
release_date = "2025-10-07"
|
||||
last_updated = "2025-10-07"
|
||||
attachment = true
|
||||
reasoning = false
|
||||
temperature = true
|
||||
tool_call = false
|
||||
structured_output = true
|
||||
knowledge = "2025-01-31"
|
||||
open_weights = false
|
||||
|
||||
[cost]
|
||||
input = 0.3
|
||||
output = 2.5
|
||||
cache_read = 0.03
|
||||
cache_write = 0.083333
|
||||
|
||||
[limit]
|
||||
context = 32_768
|
||||
output = 32_768
|
||||
|
||||
[modalities]
|
||||
input = ["image", "text"]
|
||||
output = ["image", "text"]
|
||||
@@ -1,24 +1,26 @@
|
||||
name = "Gemini 2.5 Flash Lite Preview 09-25"
|
||||
name = "Gemini 2.5 Flash Lite Preview 09-2025"
|
||||
family = "gemini-flash-lite"
|
||||
release_date = "2025-09-25"
|
||||
last_updated = "2025-09-25"
|
||||
attachment = true
|
||||
reasoning = true
|
||||
temperature = true
|
||||
knowledge = "2025-01"
|
||||
tool_call = true
|
||||
structured_output = true
|
||||
knowledge = "2025-01-31"
|
||||
open_weights = false
|
||||
|
||||
[cost]
|
||||
input = 0.10
|
||||
output = 0.40
|
||||
cache_read = 0.025
|
||||
input = 0.1
|
||||
output = 0.4
|
||||
reasoning = 0.4
|
||||
cache_read = 0.01
|
||||
cache_write = 0.083333
|
||||
|
||||
[limit]
|
||||
context = 1_048_576
|
||||
output = 65_536
|
||||
output = 65_535
|
||||
|
||||
[modalities]
|
||||
input = ["text", "image", "audio", "video", "pdf"]
|
||||
input = ["text", "image", "pdf", "audio", "video"]
|
||||
output = ["text"]
|
||||
|
||||
@@ -1,24 +1,26 @@
|
||||
name = "Gemini 2.5 Flash Lite"
|
||||
family = "gemini-flash-lite"
|
||||
release_date = "2025-06-17"
|
||||
last_updated = "2025-06-17"
|
||||
release_date = "2025-07-22"
|
||||
last_updated = "2025-07-22"
|
||||
attachment = true
|
||||
reasoning = true
|
||||
temperature = true
|
||||
knowledge = "2025-01"
|
||||
tool_call = true
|
||||
structured_output = true
|
||||
knowledge = "2025-01-31"
|
||||
open_weights = false
|
||||
|
||||
[cost]
|
||||
input = 0.10
|
||||
output = 0.40
|
||||
cache_read = 0.025
|
||||
input = 0.1
|
||||
output = 0.4
|
||||
reasoning = 0.4
|
||||
cache_read = 0.01
|
||||
cache_write = 0.083333
|
||||
|
||||
[limit]
|
||||
context = 1_048_576
|
||||
output = 65_536
|
||||
output = 65_535
|
||||
|
||||
[modalities]
|
||||
input = ["text", "image", "audio", "video", "pdf"]
|
||||
output = ["text"]
|
||||
input = ["text", "image", "pdf", "audio", "video"]
|
||||
output = ["text"]
|
||||
|
||||
@@ -1,24 +1,26 @@
|
||||
name = "Gemini 2.5 Flash"
|
||||
family = "gemini-flash"
|
||||
release_date = "2025-07-17"
|
||||
last_updated = "2025-07-17"
|
||||
release_date = "2025-06-17"
|
||||
last_updated = "2025-06-17"
|
||||
attachment = true
|
||||
reasoning = true
|
||||
temperature = true
|
||||
knowledge = "2025-01"
|
||||
tool_call = true
|
||||
structured_output = true
|
||||
knowledge = "2025-01-31"
|
||||
open_weights = false
|
||||
|
||||
[cost]
|
||||
input = 0.30
|
||||
output = 2.50
|
||||
cache_read = 0.0375
|
||||
input = 0.3
|
||||
output = 2.5
|
||||
reasoning = 2.5
|
||||
cache_read = 0.03
|
||||
cache_write = 0.083333
|
||||
|
||||
[limit]
|
||||
context = 1_048_576
|
||||
output = 65_536
|
||||
output = 65_535
|
||||
|
||||
[modalities]
|
||||
input = ["text", "image", "audio", "video", "pdf"]
|
||||
output = ["text"]
|
||||
input = ["pdf", "image", "text", "audio", "video"]
|
||||
output = ["text"]
|
||||
|
||||
@@ -1,24 +1,26 @@
|
||||
name = "Gemini 2.5 Pro Preview 05-06"
|
||||
family = "gemini-pro"
|
||||
release_date = "2025-05-06"
|
||||
last_updated = "2025-05-06"
|
||||
release_date = "2025-05-07"
|
||||
last_updated = "2025-05-07"
|
||||
attachment = true
|
||||
reasoning = true
|
||||
temperature = true
|
||||
knowledge = "2025-01"
|
||||
tool_call = true
|
||||
structured_output = true
|
||||
knowledge = "2025-01-31"
|
||||
open_weights = false
|
||||
|
||||
[cost]
|
||||
input = 1.25
|
||||
output = 10.00
|
||||
cache_read = 0.31
|
||||
output = 10
|
||||
reasoning = 10
|
||||
cache_read = 0.125
|
||||
cache_write = 0.375
|
||||
|
||||
[limit]
|
||||
context = 1_048_576
|
||||
output = 65_536
|
||||
output = 65_535
|
||||
|
||||
[modalities]
|
||||
input = ["text", "image", "audio", "video", "pdf"]
|
||||
input = ["text", "image", "pdf", "audio", "video"]
|
||||
output = ["text"]
|
||||
|
||||
+7
-5
@@ -1,24 +1,26 @@
|
||||
name = "Gemini 2.5 Pro Preview 06-05"
|
||||
family = "gemini-pro"
|
||||
family = "gemini"
|
||||
release_date = "2025-06-05"
|
||||
last_updated = "2025-06-05"
|
||||
attachment = true
|
||||
reasoning = true
|
||||
temperature = true
|
||||
knowledge = "2025-01"
|
||||
tool_call = true
|
||||
structured_output = true
|
||||
knowledge = "2025-01-31"
|
||||
open_weights = false
|
||||
|
||||
[cost]
|
||||
input = 1.25
|
||||
output = 10.00
|
||||
cache_read = 0.31
|
||||
output = 10
|
||||
reasoning = 10
|
||||
cache_read = 0.125
|
||||
cache_write = 0.375
|
||||
|
||||
[limit]
|
||||
context = 1_048_576
|
||||
output = 65_536
|
||||
|
||||
[modalities]
|
||||
input = ["text", "image", "audio", "video", "pdf"]
|
||||
input = ["pdf", "image", "text", "audio"]
|
||||
output = ["text"]
|
||||
@@ -1,2 +1,26 @@
|
||||
[extends]
|
||||
from = "google/gemini-2.5-pro"
|
||||
name = "Gemini 2.5 Pro"
|
||||
family = "gemini"
|
||||
release_date = "2025-06-17"
|
||||
last_updated = "2025-06-17"
|
||||
attachment = true
|
||||
reasoning = true
|
||||
temperature = true
|
||||
tool_call = true
|
||||
structured_output = true
|
||||
knowledge = "2025-01-31"
|
||||
open_weights = false
|
||||
|
||||
[cost]
|
||||
input = 1.25
|
||||
output = 10
|
||||
reasoning = 10
|
||||
cache_read = 0.125
|
||||
cache_write = 0.375
|
||||
|
||||
[limit]
|
||||
context = 1_048_576
|
||||
output = 65_536
|
||||
|
||||
[modalities]
|
||||
input = ["text", "image", "pdf", "audio", "video"]
|
||||
output = ["text"]
|
||||
|
||||
@@ -5,23 +5,25 @@ last_updated = "2025-12-17"
|
||||
attachment = true
|
||||
reasoning = true
|
||||
temperature = true
|
||||
knowledge = "2025-01"
|
||||
tool_call = true
|
||||
structured_output = true
|
||||
knowledge = "2025-01"
|
||||
open_weights = false
|
||||
|
||||
[interleaved]
|
||||
field = "reasoning_details"
|
||||
|
||||
[cost]
|
||||
input = 0.50
|
||||
output = 3.00
|
||||
input = 0.5
|
||||
output = 3
|
||||
reasoning = 3
|
||||
cache_read = 0.05
|
||||
cache_write = 0.083333
|
||||
|
||||
[limit]
|
||||
context = 1_048_576
|
||||
output = 65_536
|
||||
|
||||
[modalities]
|
||||
input = ["text", "image", "audio", "video", "pdf"]
|
||||
input = ["text", "image", "pdf", "audio", "video"]
|
||||
output = ["text"]
|
||||
|
||||
@@ -0,0 +1,25 @@
|
||||
name = "Nano Banana Pro (Gemini 3 Pro Image Preview)"
|
||||
family = "gemini"
|
||||
release_date = "2025-11-20"
|
||||
last_updated = "2025-11-20"
|
||||
attachment = true
|
||||
reasoning = true
|
||||
temperature = true
|
||||
tool_call = false
|
||||
structured_output = true
|
||||
open_weights = false
|
||||
|
||||
[cost]
|
||||
input = 2
|
||||
output = 12
|
||||
reasoning = 12
|
||||
cache_read = 0.2
|
||||
cache_write = 0.375
|
||||
|
||||
[limit]
|
||||
context = 65_536
|
||||
output = 32_768
|
||||
|
||||
[modalities]
|
||||
input = ["image", "text"]
|
||||
output = ["image", "text"]
|
||||
@@ -1,26 +0,0 @@
|
||||
name = "Gemini 3 Pro Preview"
|
||||
family = "gemini-pro"
|
||||
release_date = "2025-11-18"
|
||||
last_updated = "2025-11"
|
||||
attachment = true
|
||||
reasoning = true
|
||||
temperature = true
|
||||
knowledge = "2025-01"
|
||||
tool_call = true
|
||||
structured_output = true
|
||||
open_weights = false
|
||||
|
||||
[interleaved]
|
||||
field = "reasoning_details"
|
||||
|
||||
[cost]
|
||||
input = 2.00
|
||||
output = 12.00
|
||||
|
||||
[limit]
|
||||
context = 1_050_000
|
||||
output = 66_000
|
||||
|
||||
[modalities]
|
||||
input = ["text", "image", "audio", "video", "pdf"]
|
||||
output = ["text"]
|
||||
@@ -1,23 +1,23 @@
|
||||
name = "Gemini 3.1 Flash Image Preview (Nano Banana 2)"
|
||||
name = "Nano Banana 2 (Gemini 3.1 Flash Image Preview)"
|
||||
family = "gemini-flash"
|
||||
release_date = "2026-02-26"
|
||||
last_updated = "2026-02-26"
|
||||
attachment = true
|
||||
reasoning = true
|
||||
temperature = true
|
||||
knowledge = "2025-01"
|
||||
tool_call = false
|
||||
structured_output = true
|
||||
knowledge = "2025-01"
|
||||
open_weights = false
|
||||
|
||||
[cost]
|
||||
input = 0.50
|
||||
output = 3.00
|
||||
input = 0.5
|
||||
output = 3
|
||||
|
||||
[limit]
|
||||
context = 65_536
|
||||
output = 65_536
|
||||
|
||||
[modalities]
|
||||
input = ["text", "image"]
|
||||
output = ["text", "image"]
|
||||
input = ["image", "text"]
|
||||
output = ["image", "text"]
|
||||
|
||||
@@ -14,13 +14,11 @@ input = 0.25
|
||||
output = 1.5
|
||||
reasoning = 1.5
|
||||
cache_read = 0.025
|
||||
cache_write = 0.083
|
||||
input_audio = 0.5
|
||||
output_audio = 0.5
|
||||
cache_write = 0.083333
|
||||
|
||||
[limit]
|
||||
context = 1048576
|
||||
output = 65536
|
||||
context = 1_048_576
|
||||
output = 65_536
|
||||
|
||||
[modalities]
|
||||
input = ["text", "image", "video", "pdf", "audio"]
|
||||
|
||||
@@ -0,0 +1,25 @@
|
||||
name = "Gemini 3.1 Flash Lite"
|
||||
family = "gemini"
|
||||
release_date = "2026-05-07"
|
||||
last_updated = "2026-05-07"
|
||||
attachment = true
|
||||
reasoning = true
|
||||
temperature = true
|
||||
tool_call = true
|
||||
structured_output = true
|
||||
open_weights = false
|
||||
|
||||
[cost]
|
||||
input = 0.25
|
||||
output = 1.5
|
||||
reasoning = 1.5
|
||||
cache_read = 0.025
|
||||
cache_write = 0.083333
|
||||
|
||||
[limit]
|
||||
context = 1_048_576
|
||||
output = 65_536
|
||||
|
||||
[modalities]
|
||||
input = ["text", "image", "video", "pdf", "audio"]
|
||||
output = ["text"]
|
||||
@@ -1,33 +1,35 @@
|
||||
name = "Gemini 3.1 Pro Preview Custom Tools"
|
||||
family = "gemini-pro"
|
||||
release_date = "2026-02-19"
|
||||
last_updated = "2026-02-19"
|
||||
release_date = "2026-02-25"
|
||||
last_updated = "2026-02-25"
|
||||
attachment = true
|
||||
reasoning = true
|
||||
temperature = true
|
||||
knowledge = "2025-01"
|
||||
tool_call = true
|
||||
structured_output = true
|
||||
knowledge = "2025-01"
|
||||
open_weights = false
|
||||
|
||||
[interleaved]
|
||||
field = "reasoning_details"
|
||||
|
||||
[cost]
|
||||
input = 2.00
|
||||
output = 12.00
|
||||
reasoning = 12.00
|
||||
input = 2
|
||||
output = 12
|
||||
reasoning = 12
|
||||
cache_read = 0.2
|
||||
cache_write = 0.375
|
||||
|
||||
[[cost.tiers]]
|
||||
tier = { size = 200_000 }
|
||||
input = 4.00
|
||||
output = 18.00
|
||||
cache_read = 0.40
|
||||
input = 4
|
||||
output = 18
|
||||
cache_read = 0.4
|
||||
|
||||
[limit]
|
||||
context = 1_048_576
|
||||
output = 65_536
|
||||
|
||||
[modalities]
|
||||
input = ["text", "image", "audio", "video", "pdf"]
|
||||
input = ["text", "audio", "image", "video", "pdf"]
|
||||
output = ["text"]
|
||||
|
||||
@@ -5,29 +5,31 @@ last_updated = "2026-02-19"
|
||||
attachment = true
|
||||
reasoning = true
|
||||
temperature = true
|
||||
knowledge = "2025-01"
|
||||
tool_call = true
|
||||
structured_output = true
|
||||
knowledge = "2025-01"
|
||||
open_weights = false
|
||||
|
||||
[interleaved]
|
||||
field = "reasoning_details"
|
||||
|
||||
[cost]
|
||||
input = 2.00
|
||||
output = 12.00
|
||||
reasoning = 12.00
|
||||
input = 2
|
||||
output = 12
|
||||
reasoning = 12
|
||||
cache_read = 0.2
|
||||
cache_write = 0.375
|
||||
|
||||
[[cost.tiers]]
|
||||
tier = { size = 200_000 }
|
||||
input = 4.00
|
||||
output = 18.00
|
||||
cache_read = 0.40
|
||||
input = 4
|
||||
output = 18
|
||||
cache_read = 0.4
|
||||
|
||||
[limit]
|
||||
context = 1_048_576
|
||||
output = 65_536
|
||||
|
||||
[modalities]
|
||||
input = ["text", "image", "audio", "video", "pdf"]
|
||||
input = ["audio", "pdf", "image", "text", "video"]
|
||||
output = ["text"]
|
||||
|
||||
+8
-7
@@ -1,21 +1,22 @@
|
||||
name = "Gemma 2 9B"
|
||||
name = "Gemma 2 27B"
|
||||
family = "gemma"
|
||||
release_date = "2024-06-28"
|
||||
last_updated = "2024-06-28"
|
||||
release_date = "2024-07-13"
|
||||
last_updated = "2024-07-13"
|
||||
attachment = false
|
||||
reasoning = false
|
||||
temperature = true
|
||||
knowledge = "2024-06"
|
||||
tool_call = false
|
||||
structured_output = true
|
||||
knowledge = "2024-06-30"
|
||||
open_weights = true
|
||||
|
||||
[cost]
|
||||
input = 0.03
|
||||
output = 0.09
|
||||
input = 0.65
|
||||
output = 0.65
|
||||
|
||||
[limit]
|
||||
context = 8_192
|
||||
output = 8_192
|
||||
output = 2_048
|
||||
|
||||
[modalities]
|
||||
input = ["text"]
|
||||
@@ -5,18 +5,18 @@ last_updated = "2025-03-13"
|
||||
attachment = true
|
||||
reasoning = false
|
||||
temperature = true
|
||||
knowledge = "2024-10"
|
||||
tool_call = false
|
||||
tool_call = true
|
||||
structured_output = true
|
||||
knowledge = "2024-08-31"
|
||||
open_weights = true
|
||||
|
||||
[cost]
|
||||
input = 0.03
|
||||
output = 0.10
|
||||
input = 0.04
|
||||
output = 0.13
|
||||
|
||||
[limit]
|
||||
context = 131_072
|
||||
output = 131_072
|
||||
output = 16_384
|
||||
|
||||
[modalities]
|
||||
input = ["text", "image"]
|
||||
|
||||
@@ -5,18 +5,18 @@ last_updated = "2025-03-12"
|
||||
attachment = true
|
||||
reasoning = false
|
||||
temperature = true
|
||||
knowledge = "2024-10"
|
||||
tool_call = true
|
||||
structured_output = true
|
||||
knowledge = "2024-08-31"
|
||||
open_weights = true
|
||||
|
||||
[cost]
|
||||
input = 0.04
|
||||
output = 0.15
|
||||
input = 0.08
|
||||
output = 0.16
|
||||
|
||||
[limit]
|
||||
context = 96_000
|
||||
output = 96_000
|
||||
context = 131_072
|
||||
output = 16_384
|
||||
|
||||
[modalities]
|
||||
input = ["text", "image"]
|
||||
|
||||
@@ -1,22 +0,0 @@
|
||||
name = "Gemma 3 27B (free)"
|
||||
family = "gemma"
|
||||
release_date = "2025-03-12"
|
||||
last_updated = "2025-03-12"
|
||||
attachment = true
|
||||
reasoning = false
|
||||
temperature = true
|
||||
knowledge = "2024-10"
|
||||
tool_call = true
|
||||
open_weights = true
|
||||
|
||||
[cost]
|
||||
input = 0
|
||||
output = 0
|
||||
|
||||
[limit]
|
||||
context = 131_072
|
||||
output = 8_192
|
||||
|
||||
[modalities]
|
||||
input = ["text", "image"]
|
||||
output = ["text"]
|
||||
@@ -5,17 +5,18 @@ last_updated = "2025-03-13"
|
||||
attachment = true
|
||||
reasoning = false
|
||||
temperature = true
|
||||
knowledge = "2024-10"
|
||||
tool_call = false
|
||||
structured_output = true
|
||||
knowledge = "2024-08-31"
|
||||
open_weights = true
|
||||
|
||||
[cost]
|
||||
input = 0.01703
|
||||
output = 0.06815
|
||||
input = 0.04
|
||||
output = 0.08
|
||||
|
||||
[limit]
|
||||
context = 96_000
|
||||
output = 96_000
|
||||
context = 131_072
|
||||
output = 16_384
|
||||
|
||||
[modalities]
|
||||
input = ["text", "image"]
|
||||
|
||||
@@ -1,22 +0,0 @@
|
||||
name = "Gemma 3 4B (free)"
|
||||
family = "gemma"
|
||||
release_date = "2025-03-13"
|
||||
last_updated = "2025-03-13"
|
||||
attachment = true
|
||||
reasoning = false
|
||||
temperature = true
|
||||
knowledge = "2024-10"
|
||||
tool_call = false
|
||||
open_weights = true
|
||||
|
||||
[cost]
|
||||
input = 0
|
||||
output = 0
|
||||
|
||||
[limit]
|
||||
context = 32_768
|
||||
output = 8_192
|
||||
|
||||
[modalities]
|
||||
input = ["text", "image"]
|
||||
output = ["text"]
|
||||
@@ -1,22 +0,0 @@
|
||||
name = "Gemma 3n 2B (free)"
|
||||
family = "gemma"
|
||||
release_date = "2025-07-09"
|
||||
last_updated = "2025-07-09"
|
||||
attachment = true
|
||||
reasoning = false
|
||||
temperature = true
|
||||
knowledge = "2024-06"
|
||||
tool_call = false
|
||||
open_weights = true
|
||||
|
||||
[cost]
|
||||
input = 0.00
|
||||
output = 0.00
|
||||
|
||||
[limit]
|
||||
context = 8_192
|
||||
output = 2_000
|
||||
|
||||
[modalities]
|
||||
input = ["text"]
|
||||
output = ["text"]
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user