diff --git a/.github/workflows/ci-fixer.yml b/.github/workflows/ci-fixer.yml index 9d1205a126..5a94d2a3db 100644 --- a/.github/workflows/ci-fixer.yml +++ b/.github/workflows/ci-fixer.yml @@ -160,7 +160,7 @@ jobs: Failed log excerpt: EOF cat "$LOG_FILE" - } | opencode run --agent ci-fixer -m opencode/grok-4.5 | tee "$RESPONSE_FILE" + } | opencode run --agent ci-fixer -m opencode/muse-spark-1.3 --variant xhigh | tee "$RESPONSE_FILE" - name: Check changed paths if: steps.budget.outputs.run == 'true' && steps.budget-cache.outputs.cache-hit != 'true' diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index db33eeb5df..53453bc810 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -11,7 +11,7 @@ concurrency: ${{ github.workflow }}-${{ github.ref }} jobs: deploy: if: github.repository == 'anomalyco/models.dev' - runs-on: ubuntu-latest + runs-on: blacksmith-4vcpu-ubuntu-2404 steps: - name: Checkout code uses: actions/checkout@v4 diff --git a/.github/workflows/issue-fixer.yml b/.github/workflows/issue-fixer.yml index 17a2ce9a54..4e1f144f16 100644 --- a/.github/workflows/issue-fixer.yml +++ b/.github/workflows/issue-fixer.yml @@ -60,7 +60,7 @@ jobs: + "If it is a feature request, a request to track a new kind of information, a question, or any miscellaneous non-catalog-data request, do not edit files. Respond briefly that it needs maintainer review and no automated fix was opened." ' "$ISSUE_FILE" > "$PROMPT_FILE" - opencode run --agent issue-fixer -m opencode/grok-4.5 --format json < "$PROMPT_FILE" | tee "$EVENTS_FILE" + opencode run --agent issue-fixer -m opencode/muse-spark-1.3 --variant xhigh --format json < "$PROMPT_FILE" | tee "$EVENTS_FILE" if ! jq -ers 'map(select(.type == "text") | .part.text) | last | select(length > 0)' "$EVENTS_FILE" > "$RESPONSE_FILE"; then echo "Issue fixer did not produce a final response." >&2 diff --git a/.github/workflows/opencode.yml b/.github/workflows/opencode.yml deleted file mode 100644 index 24c819769a..0000000000 --- a/.github/workflows/opencode.yml +++ /dev/null @@ -1,30 +0,0 @@ -name: opencode - -on: - issue_comment: - types: [created] - -jobs: - opencode: - if: | - github.repository == 'anomalyco/models.dev' && - ( - contains(github.event.comment.body, ' /oc') || - startsWith(github.event.comment.body, '/oc') || - contains(github.event.comment.body, ' /opencode') || - startsWith(github.event.comment.body, '/opencode') - ) - runs-on: ubuntu-latest - permissions: - contents: read - id-token: write - steps: - - name: Checkout repository - uses: actions/checkout@v4 - - - name: Run opencode - uses: anomalyco/opencode/github@latest - env: - OPENCODE_API_KEY: ${{ secrets.OPENCODE_API_KEY }} - with: - model: opencode/grok-4.5 diff --git a/.github/workflows/pr-reviewer.yml b/.github/workflows/pr-reviewer.yml index 48a5c85331..fe824e9d48 100644 --- a/.github/workflows/pr-reviewer.yml +++ b/.github/workflows/pr-reviewer.yml @@ -78,7 +78,7 @@ jobs: export PR_REVIEW_READY_FILE rm -f "$PR_REVIEW_READY_FILE" - opencode run --agent pr-reviewer -m opencode/grok-4.5 --format json <<'EOF' | tee "$EVENTS_FILE" + opencode run --agent pr-reviewer -m opencode/muse-spark-1.3 --variant xhigh --format json <<'EOF' | tee "$EVENTS_FILE" Review this pull request using the trusted reviewer instructions. Start with `.pr-review/pull-request.json`, `.pr-review/diff.patch`, `AGENTS.md`, and the contributing guidance in `README.md`. Read `sync.md`, the reasoning-options audit guide, schema code, and nearby base-revision files when relevant to the changed files. Use only the read, glob, grep, and mark-pr-ready tools. Return only the final review comment in the agent's required output format. Never include progress narration or passed-check summaries. EOF diff --git a/.github/workflows/retry-issue-fixer.yml b/.github/workflows/retry-issue-fixer.yml new file mode 100644 index 0000000000..d10a3206c9 --- /dev/null +++ b/.github/workflows/retry-issue-fixer.yml @@ -0,0 +1,102 @@ +name: Retry stalled issue fixes + +on: + schedule: + - cron: "41 */6 * * *" + workflow_dispatch: + +permissions: + contents: write + issues: read + pull-requests: read + +concurrency: + group: retry-stalled-issue-fixes + cancel-in-progress: false + +jobs: + retry: + if: github.repository == 'anomalyco/models.dev' + runs-on: ubuntu-latest + steps: + - name: Redispatch oldest issues without pull requests + env: + GH_TOKEN: ${{ github.token }} + run: | + set -euo pipefail + + cutoff="$(date -u -d '1 hour ago' '+%Y-%m-%dT%H:%M:%SZ')" + owner="${GITHUB_REPOSITORY%/*}" + repo="${GITHUB_REPOSITORY#*/}" + + issues="$({ + gh issue list \ + --repo "$GITHUB_REPOSITORY" \ + --state open \ + --label automation \ + --label model-sync \ + --label missing-model \ + --limit 1000 \ + --json number,createdAt,labels + } | jq --arg cutoff "$cutoff" ' + map(select(.createdAt <= $cutoff)) | sort_by(.createdAt) + ')" + + dispatched=0 + dispatched_issues=() + while IFS= read -r issue; do + number="$(jq -r '.number' <<< "$issue")" + provider="$(jq -r ' + [.labels[].name | select(startswith("provider:")) | ltrimstr("provider:")] + | first // empty + ' <<< "$issue")" + + if [ -z "$provider" ] || [ "$provider" = "openai" ]; then + continue + fi + + closing_prs="$(gh api graphql \ + -F owner="$owner" \ + -F repo="$repo" \ + -F number="$number" \ + -f query='query($owner: String!, $repo: String!, $number: Int!) { + repository(owner: $owner, name: $repo) { + issue(number: $number) { + closedByPullRequestsReferences(first: 1, includeClosedPrs: true) { + totalCount + } + } + } + }' \ + --jq '.data.repository.issue.closedByPullRequestsReferences.totalCount')" + + if [ "$closing_prs" -gt 0 ]; then + continue + fi + + jq -n \ + --arg provider "$provider" \ + --argjson issue_number "$number" \ + '{ + event_type: "missing-model", + client_payload: { + provider: $provider, + issue_number: $issue_number + } + }' \ + | gh api "repos/$GITHUB_REPOSITORY/dispatches" --method POST --input - + + dispatched=$((dispatched + 1)) + dispatched_issues+=("#$number") + if [ "$dispatched" -eq 3 ]; then + break + fi + done < <(jq -c '.[]' <<< "$issues") + + if [ "$dispatched" -eq 0 ]; then + echo "No stalled automated issues were eligible for retry." | tee -a "$GITHUB_STEP_SUMMARY" + else + printf 'Redispatched %d issue(s): %s\n' \ + "$dispatched" "${dispatched_issues[*]}" \ + | tee -a "$GITHUB_STEP_SUMMARY" + fi diff --git a/.github/workflows/sync-models.yml b/.github/workflows/sync-models.yml index ac9f3690bc..db4512768b 100644 --- a/.github/workflows/sync-models.yml +++ b/.github/workflows/sync-models.yml @@ -15,7 +15,7 @@ concurrency: ${{ github.workflow }}-${{ github.ref }} jobs: providers: if: github.repository == 'anomalyco/models.dev' - runs-on: ubuntu-latest + runs-on: blacksmith-4vcpu-ubuntu-2404 outputs: matrix: ${{ steps.providers.outputs.matrix }} steps: @@ -41,7 +41,7 @@ jobs: sync: needs: providers if: github.repository == 'anomalyco/models.dev' - runs-on: ubuntu-latest + runs-on: blacksmith-4vcpu-ubuntu-2404 strategy: fail-fast: false matrix: ${{ fromJSON(needs.providers.outputs.matrix) }} @@ -77,12 +77,15 @@ jobs: DEEPINFRA_API_KEY: ${{ secrets.DEEPINFRA_API_KEY }} DIGITALOCEAN_API_TOKEN: ${{ secrets.DIGITALOCEAN_API_TOKEN }} DIGITALOCEAN_ACCESS_TOKEN: ${{ secrets.DIGITALOCEAN_ACCESS_TOKEN }} + FIREWORKS_API_KEY: ${{ secrets.FIREWORKS_API_KEY }} HF_TOKEN: ${{ secrets.HF_TOKEN }} OPENROUTER_API_KEY: ${{ secrets.OPENROUTER_API_KEY }} OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }} VENICE_API_KEY: ${{ secrets.VENICE_API_KEY }} LLMGATEWAY_API_KEY: ${{ secrets.LLMGATEWAY_API_KEY }} MERGE_GATEWAY_API_KEY: ${{ secrets.MERGE_GATEWAY_API_KEY }} + MISTRAL_API_KEY: ${{ secrets.MISTRAL_API_KEY }} + NOVITA_AI_API_KEY: ${{ secrets.NOVITA_AI_API_KEY }} KILO_API_KEY: ${{ secrets.KILO_API_KEY }} GOOGLE_API_KEY: ${{ secrets.GOOGLE_API_KEY }} GEMINI_API_KEY: ${{ secrets.GEMINI_API_KEY }} diff --git a/.opencode/agent/issue-fixer.md b/.opencode/agent/issue-fixer.md index 60e48d06c5..028b11612e 100644 --- a/.opencode/agent/issue-fixer.md +++ b/.opencode/agent/issue-fixer.md @@ -25,15 +25,15 @@ Do not make code, schema, UI, documentation, or workflow changes. If the issue i When you do make a fix: -- Follow `AGENTS.md` exactly (lab vs provider, **When to use `base_model`**, **Model fields**, **Reasoning options**, override-only hosts). +- Follow `AGENTS.md` exactly (lab vs provider, **When to use `base_model`**, **Reasoning controls**, **Cost**, override-only hosts). Every model file is v2 (`schema = 2`). - Prefer the smallest correct change. - Verify every changed factual value against authoritative sources. Prefer first-party provider documentation, pricing pages, API references, model cards, or live provider catalog responses. Treat the issue as a lead, not sufficient verification by itself. - Do not broaden the issue's scope unless the additional changes are required for internal consistency and each one is independently verified. - Edit only `models/` and `providers/` TOML files. - If the host did not create the model: identify the lab model, **add** `models//.toml` when missing, then use `base_model`. Provider files are override-only — never restate identical description/modalities/structured_output/etc. Full inline only for first-party lab hosts or unique-to-host aliases per `AGENTS.md`. -- Reasoning: classify first-party lab vs multi-model relay (**not** by npm). Copy the **lab/peer option set** for that model — do not force `low`/`medium`/`high` onto DeepSeek-style `high`/`max` (or other native sets). On relays, do not use `[]` from uncertainty when lab/peers have controls. No `toggle` beside effort that includes `none`. `toggle` + graded effort without `none` OK with a **leading top-of-file** wire comment. `budget_tokens` only per `AGENTS.md`. New lab `models/` files for inheritance must include dates, capability booleans, `limit`, and `modalities`. -- Preserve provider-specific fields in provider TOMLs (`cost`, `reasoning_options`, `interleaved`, `status`, `provider`). -- Costs are USD per million tokens; convert other currencies and note rate/date in a leading comment. Context bands use `[[cost.tiers]]`, never authored `context_over_200k`. +- Reasoning: classify first-party lab vs multi-model relay (**not** by npm). Copy the **lab/peer option set** for that model — do not force `low`/`medium`/`high` onto DeepSeek-style `low`/`high`/`max` (or other native sets). On relays, do not leave out `capabilities.reasoning` controls from uncertainty when lab/peers have controls. No `toggle` beside effort that includes `none`. `toggle` + graded effort without `none` OK with a **leading top-of-file** wire comment. `budget` only per `AGENTS.md`. New lab `models/` files for inheritance must be complete: `release_date`, `open_weights`, `[capabilities]` (`tools`, `reasoning.supported`, `temperature`, `top_p`, `top_k`), `[limit]`, and `[modalities]`. +- Preserve provider-specific fields in provider TOMLs (`[cost.*]`, `capabilities.reasoning` controls, cache, `status`, `[api.*]`, `experimental`). +- Costs are USD per million tokens; convert other currencies and note rate/date in a leading comment. Context bands use `[[cost.text.input.overrides]]` / `[[cost.text.output.overrides]]` with `when = { context = { gt = … } }`. - Put durable source URLs in a leading TOML comment block when adding or changing factual data. Never put source comments between TOML sections because sync serialization removes them. - Do not run shell commands or use Bash. The workflow handles commits and pull request creation after you finish. Do not claim validation unless you actually performed it. diff --git a/.opencode/agent/pr-reviewer.md b/.opencode/agent/pr-reviewer.md index 79ae3f77db..781f5924a0 100644 --- a/.opencode/agent/pr-reviewer.md +++ b/.opencode/agent/pr-reviewer.md @@ -38,20 +38,21 @@ For model catalog changes, enforce these review rules: - Treat a missing compliant logo for a new provider as a merge blocker. The SVG must use `currentColor`, have no fixed size or hardcoded color, and preferably use a square `viewBox`. - Treat missing `base_model` as a merge blocker when the provider **did not create** the model (third-party / gateway host of a lab model). If `models//.toml` is missing but the lab model is nameable, the PR must **add** that lab entry and point `base_model` at it — full inline third-party definitions are a violation except unique-to-host / private-alias / first-party lab exceptions in `AGENTS.md`. -- Treat **redundant `base_model` overrides** as a merge blocker: after `base_model`, the file must keep only provider-specific fields and real deltas. Flag restated identical `description`, `structured_output`, `modalities`, `tool_call`, `temperature`, dates, `family`, full copied `[limit]`/`[modalities]`, etc. Allowed always when needed: `cost`, `reasoning_options`, `interleaved`, `status`, `provider`, `experimental`, and genuine overrides (different name, limits, modalities, reasoning). -- Treat missing `reasoning_options` on `reasoning = true` provider models as a merge blocker. -- Apply **`AGENTS.md` → Reasoning options** and `.opencode/skills/audit-reasoning-options/SKILL.md` exactly. +- Treat **redundant `base_model` overrides** as a merge blocker: after `base_model`, the file must keep only provider-specific fields and real deltas. Flag restated identical `description`, `modalities`, `capabilities.tools`, `temperature`, dates, `family`, full copied `[limit]`/`[modalities]`, etc. Allowed always when needed: `[cost.*]`, `capabilities.reasoning` controls, `structured_output`, cache, `status`, `[api.*]`, `experimental`, and genuine overrides (different name, limits, modalities). +- Treat any model file without `schema = 2` as a merge blocker. +- Treat missing `capabilities.reasoning` controls on reasoning provider models as a merge blocker, unless the model is affirmatively always-on with no caller control. +- Apply **`AGENTS.md` → Reasoning controls** and `.opencode/skills/audit-reasoning-options/SKILL.md` exactly. - **Classify by host role, not npm:** first-party lab (provider is the model creator) vs multi-model relay. `@ai-sdk/openai-compatible` is used by both (DeepSeek/Alibaba are labs). Do not treat every openai-compatible host as a GPT gateway. - - **Baseline = lab + same-surface peer option set for that model**, not a fixed `low`/`medium`/`high`. GPT-style relays often use L/M/H; DeepSeek V4 is `toggle` + `high`/`max`; some Qwen paths are toggle + budget. Flag inventing L/M/H when lab/peers are narrower or different. Flag `[]` on a relay only from uncertainty when lab/peers expose controls. + - **Baseline = lab + same-surface peer option set for that model**, not a fixed `low`/`medium`/`high`. GPT-style relays often use L/M/H; DeepSeek V4 is `toggle` + `low`/`high`/`max`; some Qwen paths are toggle + budget. Flag inventing L/M/H when lab/peers are narrower or different. Flag missing controls on a relay only from uncertainty when lab/peers expose controls. - **`none` vs `toggle`:** violation only when `toggle` is paired with effort that already includes `none`. `toggle` + graded effort without `none` is valid when off is a separate wire control. Every `toggle` needs a leading top-of-file wire comment. - - **`budget_tokens`:** only real reasoning budgets (legacy Anthropic extended thinking, some Alibaba/Qwen, some older Gemini). Not GPT-5.x effort-only, Claude 4.7+ adaptive effort, DeepSeek V4. No min/max from `limit.output`/context. + - **`budget`:** only real reasoning budgets (legacy Anthropic extended thinking, some Alibaba/Qwen, some older Gemini). Not GPT-5.x effort-only, Claude 4.7+ adaptive effort, DeepSeek V4. No min/max from `limit.output`/context. - Do not treat Anthropic Messages and OpenAI chat-completions (or lab vs relay) as interchangeable control surfaces. - Do not treat absence of a sync module as a blocker. Recommend one only when a context-rich provider API can authoritatively populate model data or delete models no longer served. - Data-changing PRs should cite direct provider pricing, model documentation, or API references in the PR body. Missing citations are not by themselves a merge blocker, but should be reported as a low-severity request for evidence when material factual changes otherwise cannot be reviewed. Prefer first-party sources and require each citation to state what it supports. - You cannot fetch citation URLs. Assess whether citations are present, direct, and mapped to claims, but never claim you opened a URL or verified its contents. A URL or PR assertion alone does not prove a disputed value. -- Source citations or rationale added to TOML files must be in a leading comment block above the first key because sync serialization removes comments elsewhere. A short adjacent comment that documents the exact provider request syntax for a reasoning option is allowed by `AGENTS.md`; do not confuse it with a source citation. +- Source citations or rationale added to TOML files must be in a leading comment block above the first key because sync serialization removes comments elsewhere. A short adjacent comment that documents the exact provider request syntax for reasoning controls is allowed by `AGENTS.md`; do not confuse it with a source citation. - Model IDs come from filenames and must not be authored as `id` fields. The schema is strict, and required model capabilities, costs, limits, and modalities must be present either locally or through a valid `base_model`. -- Review inherited values using the documented deep-merge rules. Arrays and primitives replace inherited values; plain objects merge; `base_model_omit` applies after merging; provider-specific fields such as `cost`, `reasoning_options`, `interleaved`, and `status` must remain provider-authored when needed. Costs must be USD/MTok (convert non-USD with a noted rate/date). +- Review inherited values using the documented deep-merge rules. Arrays and primitives replace inherited values; plain objects merge; `base_model_omit` applies after merging; provider-specific fields such as `[cost.*]`, `capabilities.reasoning` controls, `[api.*]`, and `status` must remain provider-authored when needed. Costs must be USD/MTok (convert non-USD with a noted rate/date). - For sync changes, check authoritative deletion behavior, preservation of hand-authored and `base_model` fields, provider registration, focused scope, idempotence expectations, and the validation steps documented in `sync.md`. - For workflow changes, require third-party actions in new automation to be pinned to full commit SHAs, as documented in `sync.md`. diff --git a/.opencode/skills/audit-reasoning-options/SKILL.md b/.opencode/skills/audit-reasoning-options/SKILL.md index 669d6fb4bc..2153d59045 100644 --- a/.opencode/skills/audit-reasoning-options/SKILL.md +++ b/.opencode/skills/audit-reasoning-options/SKILL.md @@ -1,33 +1,29 @@ --- name: audit-reasoning-options -description: Audit or write models.dev reasoning_options in provider TOML files and reasoning-option PRs. Use when verifying toggle, effort, budget_tokens, provider reasoning controls, or citations. +description: Audit or write models.dev reasoning controls (capabilities.reasoning) in provider TOML files and reasoning-control PRs. Use when verifying toggle, effort, budget, provider reasoning controls, or citations. --- # Audit Reasoning Options -`AGENTS.md` → **Reasoning options** is authoritative. This skill is the workflow. +`AGENTS.md` → **Reasoning controls** is authoritative. This skill is the workflow. Provider capability = this host’s HTTP request surface (not the npm package, SDK types, or UI). ## Schema shapes -```toml -[[reasoning_options]] -type = "toggle" +Controls live in the provider model file (never in `models/`): -[[reasoning_options]] -type = "effort" -values = ["low", "medium", "high"] +```toml +schema = 2 +base_model = "…" -[[reasoning_options]] -type = "budget_tokens" -min = 1_024 -max = 32_000 +[capabilities] +reasoning = { supported = true, toggle = true, effort = ["low", "medium", "high"], budget = { min = 1_024, max = 32_000 } } ``` -- `effort` values may include `null`, `none`, `minimal`, `low`, `medium`, `high`, `xhigh`, `max`, `default` — **never dump the full enum**. -- `budget_tokens` = reasoning tokens only, not `max_tokens`. Bounds only when verified. -- `[]` = model reasons, **no** caller control. Omitted = not authored (invalid once `reasoning = true`). +- `effort` values may include `none`, `minimal`, `low`, `medium`, `high`, `xhigh`, `max`, `default`, sorted low to high — **never dump the full enum**. +- `budget` = reasoning tokens only, not `max_tokens`. Use `budget = {}` when bounds aren't verified. +- `reasoning = { supported = true }` with no `toggle` / `effort` / `budget` = model reasons, **no** caller control. A relay file that leaves controls out silently inherits that, so only do it on purpose. ## Step 1 — classify the host (role, not npm) @@ -38,7 +34,7 @@ max = 32_000 **Critical:** `npm = "@ai-sdk/openai-compatible"` is used by **both** labs (DeepSeek, Alibaba) and relays. It does **not** mean “apply GPT L/M/H gateway defaults.” -- DeepSeek first-party: `thinking.type` + `reasoning_effort` `high`|`max` +- DeepSeek first-party: `thinking.type` + `reasoning_effort` `low`|`high`|`max` - Alibaba first-party: `enable_thinking` + often `thinking_budget`; Responses API may use `reasoning.effort` - A random relay of GPT-5.4: usually passthrough `reasoning_effort` with GPT-like levels @@ -53,7 +49,7 @@ Never compare a native Anthropic Messages route to an OpenAI chat-completions re - Effort values from native/peers (may be `high`/`max` only, or `low`/`medium`/`high`, or include `none`/`xhigh`, …) - Toggle if native/peers have a real on/off **and** this host forwards it - Budget only if a reasoning-budget field exists on this path -5. On relays: if native/peers have caller controls, **do not** write `[]` from uncertainty. +5. On relays: if native/peers have caller controls, **do not** leave them out from uncertainty. 6. On labs: match that lab; do not paste another lab’s enum. ### What “baseline” means @@ -65,23 +61,23 @@ It is **not** “always `low`/`medium`/`high`.” That triple is only the usual | Example | Typical options | | --- | --- | | GPT-5.4 on a relay | `effort` `none`/`low`/`medium`/`high`/`xhigh` as peers/native show | -| DeepSeek V4 on DeepSeek or a faithful relay | `toggle` + `effort` `high`/`max` | -| Qwen3.5 Plus on Alibaba | `toggle` + `budget_tokens` (chat path) | -| Always-on thinking model | `[]` | +| DeepSeek V4 on DeepSeek or a faithful relay | `toggle` + `effort` `low`/`high`/`max` | +| Qwen3.5 Plus on Alibaba | `toggle` + `budget` (chat path) | +| Always-on thinking model | no controls | ## Step 3 — toggle rules | Situation | Shape | | --- | --- | | `none` ∈ effort **and** other graded levels | `effort` only — **no** `toggle` | -| Separate on/off field + graded effort (no `none` in effort) | `toggle` + `effort` | -| Binary on/off only | `toggle` | +| Separate on/off field + graded effort (no `none` in effort) | `toggle = true` + `effort` | +| Binary on/off only | `toggle = true` | Toggle requires a **leading top-of-file** wire comment, e.g.: ```toml # Toggle: thinking.type = enabled|disabled -# Effort: reasoning_effort = high|max +# Effort: reasoning_effort = low|high|max ``` ```toml @@ -105,15 +101,15 @@ Not toggle: split model IDs; UI-only; `effort=low` as “off”; pairing `toggle | Effort/toggle/budget matching first-party lab entry on that lab | Lab docs or existing lab TOML | | Same options on a relay | Lab + peer relays, or this host docs/test; no contradiction | | Extra levels beyond lab/peers | This host docs or live meaningful effect | -| `[]` | Affirmative no control — not “I didn’t check” | +| No controls | Affirmative no control — not “I didn’t check” | ## Anti-patterns - Treating every `@ai-sdk/openai-compatible` host as a GPT L/M/H gateway - Forcing `low`/`medium`/`high` onto DeepSeek V4 (or any narrower native set) -- `[]` on a relay of a controlled reasoner from uncertainty +- No controls on a relay of a controlled reasoner from uncertainty - Full schema effort enum dumps -- Bogus `budget_tokens` / bounds from output limits +- Bogus `budget` / bounds from output limits - `toggle` + `none` inside the same effort list - Wrong wire comments in examples or files @@ -122,7 +118,7 @@ Not toggle: split model IDs; UI-only; `effort=low` as “off”; pairing `toggle 1. Classify host: first-party lab vs multi-model relay. 2. List changed models and proposed options. 3. For each: lab entry + peers → expected shape. -4. Fix invented L/M/H, false `[]`, dual none+toggle, bad budgets. +4. Fix invented L/M/H, false no-control entries, dual none+toggle, bad budgets. 5. `bun validate` when authoring. 6. PR body: host kind, wire fields, why this option set. diff --git a/AGENTS.md b/AGENTS.md index 3aaf0ed9ed..bd72c8f9c4 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -6,46 +6,133 @@ Catalog-only. This file is how to add and maintain **models** and **providers**. ```bash bun validate +bun run v1:check ``` -Run this after every catalog change. It must pass before a PR is mergeable. +Run both after every catalog change. `bun validate` must pass before a PR is mergeable; it rejects any model file without `schema = 2`. + +`bun run v1:check` (or `bun run v1:check `) protects the published v1 API (`api.json`, etc.), which is still generated from these files. It compares the v1 output with the merge-base of `origin/dev`, lists every changed field, every model added to or removed from v1, and changed files that still use generic modalities, and exits 1 if v1 changed. + +**Never break v1.** The published v1 API (`api.json` and its views) must stay backward compatible: + +- **No new modalities in v1.** v1 only allows `text`, `audio`, `image`, `video` and `pdf` (`packages/core/src/schema.ts`). v2-only values (MIME types, `embedding`, `decision`, `reranking`) must translate to one of these or stay out of v1. +- **No v1 schema changes.** Don't add, remove, rename or retype v1 fields, and don't add allowed values to existing v1 enums. Those changes go in v2. +- **Data changes inside the v1 schema** (e.g. a corrected price or URL) must be clearly sourced fixes, listed in the PR, and approved by a maintainer. Run the full `bun run v1:check` and read its output. ## Two concepts: lab models vs providers -| | Lab model metadata | Provider model | +| | Lab model file | Provider model file | | --- | --- | --- | -| **What** | Provider-agnostic facts about a model the lab built | How a specific API host serves that model | +| **What** | Facts about a model that are true on every host | How a specific API host serves that model | | **Where** | `models//.toml` | `providers//models/.../.toml` | | **Examples** | `models/anthropic/claude-opus-4-6.toml`, `models/openai/gpt-5.4.toml` | `providers/openrouter/models/anthropic/claude-opus-4.6.toml` | -| **Contains** | name, description, capabilities, modalities, limits, weights, … | `cost`, `reasoning_options`, `status`, request shape, and **only real overrides** | +| **Contains** | name, description, family, dates, modalities, base capabilities, limits, weights, … | reasoning controls, `structured_output`, cache, service tiers, cost, `status`, APIs, and **only real overrides** | - **Labs** create models (Anthropic, OpenAI, Google, DeepSeek, Alibaba, …). - **Providers** host or relay them (the lab’s own API, OpenRouter, Bedrock, a random OpenAI-compatible gateway, …). -Filename (minus `.toml`) is the model `id`. **Never** put an `id` field in the TOML. Schema is strict — unknown keys fail validation. +Filename (minus `.toml`) is the model `id`. **Never** put an `id` field in the TOML. Schema is strict (`packages/core/src/schema-v2.ts`); unknown keys fail validation. -## When to use `base_model` (blocker) +### Lab file -**If the provider did not create the model, the provider entry must use `base_model`.** +```toml +schema = 2 +name = "Claude Opus 5.5" +description = "…" +family = "claude-opus" +open_weights = false +knowledge = "2026-06" +release_date = "2026-09-22" +# last_updated: only when it differs from release_date + +[modalities] +input = ["text", "image/jpeg", "image/png", "image/gif", "image/webp", "application/pdf"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } +temperature = false +top_p = false +top_k = false + +[limit] +context = 1_000_000 +output = 128_000 +``` -1. Identify the underlying lab model. -2. If `models//.toml` is missing, **add it** under the lab that made the model, then point `base_model` at it. -3. Provider file stays override-only (see below). +Required: `name`, `description`, `open_weights`, `release_date`, `[modalities]`, `[capabilities]` (`tools`, `reasoning = { supported = … }`, and explicit `temperature`, `top_p`, `top_k`), and `[limit]`. Recommended: `family`, `knowledge`, `type` (defaults to `"chat"`; set it on `image`, `video`, `embedding`, `reranking`, `decision`, `transcription`, `speech`, `realtime` models), `license`, `links`, `weights`, `benchmarks`. + +- There is no `attachment` field. It is derived from whether `modalities.input` has anything besides text. +- Use MIME types where the lab documents them (`image/png`, `application/pdf`) instead of generic `image` / `pdf`. +- Reasoning controls, `structured_output`, cache, and service tiers never go in lab files; they are per host. + +### Provider model file ```toml -base_model = "anthropic/claude-opus-4-6" +schema = 2 +base_model = "anthropic/claude-opus-5-5" + +[capabilities] +reasoning = { supported = true, effort = ["low", "medium", "high", "xhigh", "max"] } +structured_output = true +system_updates = true +effort_updates = true +cache = { explicit = { ttl = ["5m", "1h"], max_breakpoints = 4, targets = ["tools", "system", "messages"], min_tokens = 512 } } +service_tier = ["fast"] + +[cost.text.input] +price = 4 +cache = { read = 0.2, write = { "5m" = 5, "1h" = 8 } } + +[cost.text.output] +price = 20 + +[[cost.multipliers]] +when = { service_tier = { equals = "fast" } } +factor = 2 + +[experimental.modes.fast] +body = { speed = "fast" } +``` -[cost] -input = 5.00 -output = 25.00 +- `cache = false` means the host doesn't cache prompts. Otherwise list the kinds it supports, `implicit` and/or `explicit`, each `true` or a details table. A kind that isn't listed isn't supported. If a host caches but doesn't say how, use `{ implicit = true }`; Anthropic-style caching that needs `cache_control` markers is `explicit`. +- Mid-conversation flags record what the API accepts (per its docs, confirmed live), not whether the model obeys: `system_updates` (system/developer messages after the conversation starts, sent in place), `effort_updates` (a per-turn effort change that keeps the cache, e.g. OpenAI `configuration_update`, Anthropic per-message `output_config`), `tools.updates` (adding/removing tools mid-conversation while keeping the cache, e.g. Anthropic `tool_addition`/`tool_removal`, OpenAI Responses `additional_tools`). Tool search is `tools.search`. +- These three flags default to false. Set one to `true` only when it's confirmed live on that host (docs help but aren't required: if it works live, it's true); otherwise leave it out (don't write `= false`). The v2 API always publishes them as `true` or `false`, with a left-out flag published as `false`. +- `tools.updates = true` only needs adding tools mid-conversation through the host's mechanism while keeping the cache; removal isn't required (OpenAI `additional_tools` and Kimi K3's tool-carrying system message are add-only and count). Changing the top-level `tools` list busts the cache on every lab tested so far, so that alone never counts. Note "add only" in the file comment when removal isn't supported. +- A mode without a cost takes the base prices times the multiplier for its service tier: the mode's `service_tier`, or its name when unset (OpenAI's `fast` mode sets `service_tier = "priority"`). +- Web search fees go in `[cost.web_search]`: `price` is USD per 1,000 searches (or search requests, as the host bills them). Prices by search depth are `[[cost.web_search.overrides]]` with `when = { search_context_size = { equals = "high" } }`. v1 has no web search price. +- A plain-number multiplier `factor` (`factor = 1.1`) multiplies every price, `web_search` included; the object form (`factor = { text = 1.1, audio = 1.1 }`) multiplies only the prices it names, so use it when the host's multiplier covers token prices only. +- Models v1 shouldn't publish (e.g. realtime, audio, transcription and speech models) set `v2_only = true` in their lab and provider files. v1 output leaves them out; v2-only labs still work as `base_model`. + +### APIs (`[api.]`) + +A model's `[api.]` tables (`chat-completions`, `responses`, `messages`, …) are its complete list of APIs, in order, and replace the provider's default API. Each table can set `base_url`, `sdk = { aisdk, opencodeai }` and `compatibility.reasoning_field` / `replay_reasoning`; anything left out comes from the provider (`base_url` from `api` or the SDK's default URL, `sdk.aisdk` from `npm`, `sdk.opencodeai` from the provider's `opencodeai`, but only when the table takes the provider's `npm`: a table naming another `aisdk` must name its own `opencodeai` or gets none). v1 only reads the first table, as its `provider` and `interleaved` fields. + +```toml +[api.chat-completions] +compatibility = { reasoning_field = "reasoning_content" } ``` +- `opencodeai` (provider.toml's top-level field, or `sdk.opencodeai`) is an `@opencode/ai` entry point: `@opencode/ai/providers/` (e.g. `@opencode/ai/providers/openai/chat`), or `@opencode/ai/protocols/` for APIs with no provider entry point (`openai-images`, `openai-speech`, `openai-transcription`). v1 never publishes it. +- `"none"` in `sdk.aisdk`, `sdk.opencodeai` or the provider's `opencodeai` says no package supports that API: nothing is filled in (e.g. `sdk = { aisdk = "none" }` on a decision model's `[api.systemone]`). +- Name the protocol by its wire format, not the model type. `realtime` is OpenAI's Realtime API; Google's Live API is `bidi-generate-content` and Lyria RealTime is `bidi-generate-music` (after their `BidiGenerateContent` / `BidiGenerateMusic` WebSocket methods). +- `legacy_shape = "responses" | "completions"` is v1-only: it keeps a v1 `provider.shape` that repeats the SDK's default. Sync writes and keeps it; don't add it by hand. + +## When to use `base_model` (blocker) + +**If the provider did not create the model, the provider entry must use `base_model`.** + +1. Identify the underlying lab model. +2. If `models//.toml` is missing, **add it** (a complete lab file, not a stub) under the lab that made the model, then point `base_model` at it. +3. Provider file stays override-only (see below). + ### Exceptions (full inline definition allowed) -Use a full standalone provider model TOML only when: +Use a full standalone provider model file (every required lab field plus provider fields, no `base_model`) only when: - The provider **is** the lab (first-party host of its own model), **or** -- The model is **unique to that host** — private beta alias, custom/fine-tune, or something with no sensible shared lab identity elsewhere. +- The model is **unique to that host**: private beta alias, custom/fine-tune, or something with no sensible shared lab identity elsewhere. If you can name the lab model, it belongs in `models/` and the host uses `base_model`. Do not skip creating `models/` just because the file did not exist yet. @@ -53,9 +140,9 @@ If you can name the lab model, it belongs in `models/` and the host uses `base_m After `base_model = "…"`, write **only** provider-specific fields or values that **differ** from the base. Never restate identical data. -**Do not copy from base when unchanged:** `name`, `description`, `family`, `release_date`, `knowledge`, `open_weights`, `attachment`, `reasoning`, `tool_call`, `temperature`, `structured_output`, matching `[modalities]` / `[limit]`, etc. +**Do not copy from base when unchanged:** `name`, `description`, `family`, dates, `knowledge`, `open_weights`, `temperature` / `top_p` / `top_k`, matching `[modalities]` / `[limit]`, etc. -**Usually provider-authored:** `cost`, `reasoning_options`, `interleaved`, `status`, `provider`, `experimental`, plus real deltas (smaller context, PDF-only input, different display `name`). +**Usually provider-authored:** `capabilities.reasoning` controls, `structured_output`, `cache`, `service_tier`, mid-conversation flags, `[cost.*]`, `status`, `[api.*]`, `experimental`, plus real deltas (smaller context, PDF-only input, different display `name`). Optional: @@ -65,10 +152,10 @@ base_model_omit = ["limit.input"] # drop inherited keys after merge ### Merge behavior -- Plain objects (`[limit]`, `[modalities]`, …) → deep-merge +- Plain objects (`[limit]`, `[modalities]`, `[capabilities]`, inline tables like `reasoning = { … }`) → deep-merge - Arrays and primitives → child replaces parent - Omitted fields → inherited from `models/` -- `base_model` / `base_model_omit` are parse-time only — they do not appear in generated JSON +- `base_model` / `base_model_omit` are parse-time only; they do not appear in generated JSON - Missing `base_model` target → validation error ## Adding a provider @@ -85,15 +172,20 @@ providers// ```toml name = "Example" npm = "@ai-sdk/openai-compatible" # or the native AI SDK package +opencodeai = "@opencode/ai/providers/openai-compatible" # the host's own entry point if @opencode/ai has one env = ["EXAMPLE_API_KEY"] api = "https://api.example.com/v1" # required for openai-compatible doc = "https://example.com/docs" ``` +Every provider sets `opencodeai` for its default API (`npm` + `api`); the generator doesn't guess it. Use the host's own `@opencode/ai/providers/` entry when there is one, else the generic one for the protocol (`openai-compatible`, `openai-compatible/responses`, `anthropic-compatible`), or `"none"`. + +A v1-only alias provider (for example `azure-cognitive-services`) has a `provider.toml` with `[v1_alias] provider = ""`, plus optional `env` renames for `${VAR}` templates, and no `models/` directory. Edit models in the target provider. + ### Logo (blocker for new providers) - Path: `providers//logo.svg` -- Use `currentColor` for fills/strokes — no hardcoded colors, no fixed width/height +- Use `currentColor` for fills/strokes; no hardcoded colors, no fixed width/height - Prefer square `viewBox` (e.g. `0 0 24 24`) ```svg @@ -104,90 +196,65 @@ doc = "https://example.com/docs" ### Sync modules (recommended, not a blocker) -If the provider has a rich catalog API that can populate model data or authoritatively remove models it no longer serves, add a sync module (see `sync.md`). Thin endpoints stay hand-authored. - -## Model fields - -### Required on lab metadata (`models/`) - -| Field | Notes | -| --- | --- | -| `name`, `description` | Schema-required | -| `release_date`, `last_updated` | **Required on new lab entries** (hosts inherit these) | -| `attachment`, `reasoning`, `tool_call`, `open_weights` | **Required on new lab entries** | -| `limit`, `modalities` | **Required on new lab entries** — providers must resolve `limit.context` + `limit.output` | - -When you create `models//.toml` so a third-party host can `base_model` it, author a **complete** lab file (all rows above). Do not ship name/description-only lab stubs and expect an “override-only” host of just `cost` + `reasoning_options` to validate — missing inherited required fields fail `bun validate`. - -### Required on resolved provider models +If the provider has a rich catalog API that can populate model data or authoritatively remove models it no longer serves, add a sync module (see `sync.md`). Thin endpoints stay hand-authored. Sync patches files in place: it updates the fields it owns and keeps everything else (cache, overrides, multipliers, cache TTLs). If a patch can't reproduce the synced fields, sync leaves the file and reports a notice. -After `base_model` merge (or full inline), the provider model must have: +## Lab pages (`labs//`) -| Field | Notes | -| --- | --- | -| `name`, `description` | From base or local | -| `attachment`, `reasoning`, `tool_call`, `open_weights` | Booleans | -| `release_date`, `last_updated` | Dates | -| `modalities`, `limit` | `limit.context` + `limit.output` required on providers | -| `cost` | Provider-side (unless intentionally request-only / no public price) | -| `reasoning_options` | **Required when `reasoning = true`** | - -With `base_model`, do not restate fields already correct on the lab entry. Still author `cost` and (if reasoning) `reasoning_options` on the provider file. +A lab's `logo.svg` (same rules as provider logos) and optional `lab.toml` feed the website's lab pages only; neither is in the v1 or v2 API. `lab.toml` is v2 and holds just the lab's description: -### Strongly recommended on lab metadata +```toml +schema = 2 +description = "One or two sentences on what the lab builds." +``` -| Field | Notes | -| --- | --- | -| `family` | Model family slug — set when known | -| `knowledge` | Knowledge cutoff (`YYYY-MM` or `YYYY-MM-DD`) | -| `temperature` | Whether temperature is respected | -| `structured_output` | Whether structured/JSON output is supported | -| `license`, `links`, `weights`, `benchmarks` | Enrichment | +## Cost (always USD) -### Provider-only (never put these under `models/`) +- **Token prices are USD per million tokens.** Never publish EUR, CNY, CHF, etc. as if they were USD. Convert and note rate/date in a **top-of-file** comment. +- Text prices live in `[cost.text.input]` (`price`, `cache = { read, write }`) and `[cost.text.output]` (`price`, `reasoning`). Audio/image/video use `[cost.audio.input]` etc.; non-token units set `unit` (`character`, `image`, `megapixel`, `second`, `minute`; priced per unit). +- Cache writes with several TTLs: `write = { "5m" = 6.25, "1h" = 10 }`. v1 only gets the first TTL listed. +- **Context-based pricing → overrides** keyed on `context`. The threshold is where that band starts; no duplicate thresholds. +- Service tiers, regions, and time-of-day pricing → `[[cost.multipliers]]`. -| Field | Notes | -| --- | --- | -| `cost`, `reasoning_options` | Host pricing and API controls | -| `interleaved` | Reasoning side channel on **this** API (`reasoning_content` / `reasoning_details`, or `true`) | -| `status` | Lifecycle on **this** host: `alpha` / `beta` / `deprecated` | -| `provider`, `experimental` | Request-shape overrides / experimental modes | +```toml +[cost.text.input] +price = 2.5 +cache = { read = 0.25 } -### Cost (always USD) +[[cost.text.input.overrides]] +when = { context = { gt = 272_000 } } +price = 5 +cache = { read = 0.5 } -- **All `cost` values are USD per million tokens.** Never publish EUR, CNY, CHF, etc. as if they were USD. -- Convert other currencies and note rate/date in a **top-of-file** comment. -- Optional keys on cost: `reasoning`, `cache_read`, `cache_write`, `input_audio`, `output_audio`. -- **Context-based pricing → `[[cost.tiers]]`**, not `context_over_200k`. +[cost.text.output] +price = 15 -```toml -[cost] -input = 2.50 -output = 15.00 - -[[cost.tiers]] -tier = { type = "context", size = 200_000 } -input = 5.00 -output = 22.50 +[[cost.text.output.overrides]] +when = { context = { gt = 272_000 } } +price = 22.5 ``` -- `cost.context_over_200k` is **legacy output-only**. Do **not** author it in TOML (schema rejects it on write). The generator may emit it for old consumers when a single 200k-style tier exists; **always author tiers**. -- Tier `size` is the context threshold where that band starts. No duplicate sizes. - ### Comments in TOML -Sync re-serializes many provider files and **drops every comment except a leading header block**. Put sources/rationale **above the first key**. Short comments next to a reasoning option for exact API syntax are fine when the file is not sync-owned. +Sync re-serializes many provider files and **drops every comment except a leading header block**. Put sources/rationale **above the first key** (before `schema = 2`). Short comments next to the reasoning controls for exact API syntax are fine when the file is not sync-owned. -## Reasoning options +## Reasoning controls -Any provider model with `reasoning = true` **must** set `reasoning_options` for **this host’s** API. Details: `.opencode/skills/audit-reasoning-options/SKILL.md`. +Any provider model whose resolved `capabilities.reasoning.supported` is `true` **must** author its controls for **this host’s** API in `[capabilities] reasoning = { … }`. Details: `.opencode/skills/audit-reasoning-options/SKILL.md`. + +| Key | Meaning | +| --- | --- | +| `toggle = true` | Same model ID can be turned on/off via a request field | +| `effort = [...]` | Graded levels (`none`, `minimal`, `low`, `medium`, `high`, `xhigh`, `max`), sorted low to high | +| `budget = {}` / `budget = { min = 1_024 }` | A real reasoning-token budget field | +| `default = { type = "effort", value = "high" }` | Optional default (`toggle` / `effort` / `budget`) | +| none of the above | Always-on, no caller control | ### 1. Classify the host (not the npm package) -| Host kind | Who | How to pick options | +| Host kind | Who | How to pick controls | | --- | --- | --- | | **First-party lab** | Provider **is** the lab (OpenAI, Anthropic, DeepSeek, Alibaba, Google, …) | Match that lab’s real API and existing `providers//` entries for the same generation. | -| **Multi-model relay / gateway** | Hosts many labs’ models (OpenRouter, Bedrock-as-relay, random OpenAI-compat aggregators, …) | Copy the **underlying model’s** controls from the lab entry + established same-surface peers. | +| **Multi-model relay / gateway** | Hosts many labs’ models (OpenRouter, Bedrock-as-relay, random OpenAI-compat aggregators, …) | Copy the **underlying model’s** controls from the lab’s provider entry + established same-surface peers. | **`npm = "@ai-sdk/openai-compatible"` does not mean “gateway.”** DeepSeek and Alibaba are first-party labs that use that package with **lab-specific** fields (`thinking.type`, `enable_thinking`, `thinking_budget`, …). Classify by **who runs the API**, not by the AI SDK package name. @@ -199,10 +266,10 @@ Do **not** invent a universal `low`/`medium`/`high` for every reasoner. 2. Author **that** effort list (and toggle/budget if those entries have them and this host exposes the same kind of control). 3. Common cases: - GPT-style on relays → often `low` / `medium` / `high` (add `none` / `xhigh` only if native/peers have them) - - DeepSeek V4 → `toggle` + `high` / `max` (not L/M/H; lab maps low/medium→high) - - Always-on / no control → `[]` -4. On relays: **do not** use `[]` just because you could not re-test this host. Empty means **no caller control**, not uncertainty. -5. Never invent `budget_tokens` unless this host (or the lab API it clearly proxies) has a real **reasoning** budget field. Not `max_tokens`. + - DeepSeek V4 → `toggle` + `low` / `high` / `max` (no `medium`; the lab maps minimal→low and medium/xhigh→high) + - Always-on / no control → `reasoning = { supported = true }` +4. On relays: **do not** leave controls out just because you could not re-test this host. No controls means **no caller control**, not uncertainty. +5. Never invent `budget` unless this host (or the lab API it clearly proxies) has a real **reasoning** budget field. Not `max_tokens`. ### 3. Toggle @@ -210,36 +277,39 @@ Same model ID, on and off, via a known request field. Separate `-thinking` / ins | Host control | Author | | --- | --- | -| Effort includes `none` **and** other graded levels | **Only** `effort` with `none` in `values` — **no** `toggle` | -| Separate on/off control **and** graded effort (no `none` in effort) | `toggle` **+** `effort` with the **actual** levels | -| Binary on/off only | `toggle` alone | +| Effort includes `none` **and** other graded levels | **Only** `effort` with `none`; **no** `toggle` | +| Separate on/off control **and** graded effort (no `none` in effort) | `toggle = true` **+** `effort` with the **actual** levels | +| Binary on/off only | `toggle = true` alone | Every `toggle` needs a **leading top-of-file comment** with the exact wire path (sync strips mid-file comments). ```toml # Toggle: thinking.type = enabled|disabled -# Effort: reasoning_effort = high|max -name = "DeepSeek V4 Pro" -reasoning_options = [ - { type = "toggle" }, - { type = "effort", values = ["high", "max"] }, -] +# Effort: reasoning_effort = low|high|max +schema = 2 +base_model = "deepseek/deepseek-v4-pro-0813" + +[capabilities] +reasoning = { supported = true, toggle = true, effort = ["low", "high", "max"] } ``` ```toml # Toggle: enable_thinking true|false # Budget: thinking_budget (integer reasoning tokens) -name = "Qwen3.5 Plus" -reasoning_options = [ - { type = "toggle" }, - { type = "budget_tokens" }, -] +schema = 2 +base_model = "alibaba/qwen3.5-plus" + +[capabilities] +reasoning = { supported = true, toggle = true, budget = {} } ``` ```toml -# Off is effort=none; graded levels — no toggle +# Off is effort=none; graded levels, no toggle +schema = 2 base_model = "openai/gpt-5.4" -reasoning_options = [{ type = "effort", values = ["none", "low", "medium", "high", "xhigh"] }] + +[capabilities] +reasoning = { supported = true, effort = ["none", "low", "medium", "high", "xhigh"] } ``` ## Platform naming quirks @@ -259,12 +329,14 @@ reasoning_options = [{ type = "effort", values = ["none", "low", "medium", "high ### Blockers +- [ ] Every model file is v2 (`schema = 2`) - [ ] New provider has compliant `logo.svg` - [ ] Non-lab hosts use `base_model`; missing lab metadata was **added** under `models/` when needed (complete lab file, not a stub) -- [ ] Provider `base_model` files are override-only (no duplicated identical fields; no provider-only keys under `models/`) -- [ ] `reasoning = true` ⇒ `reasoning_options` set per policy above -- [ ] Costs are USD/MTok +- [ ] Provider `base_model` files are override-only (no duplicated identical fields; no provider-only keys like reasoning controls, cache or cost in `models/`) +- [ ] Reasoning models have host-specific `capabilities.reasoning` controls per policy above +- [ ] Costs are USD - [ ] `bun validate` passes +- [ ] v1 is not broken: no new v1 modalities, fields or enum values; every `bun run v1:check` change is a sourced fix, listed in the PR and maintainer-approved ### Strongly recommended diff --git a/README.md b/README.md index f26ba19ab8..69821ccc09 100644 --- a/README.md +++ b/README.md @@ -22,6 +22,17 @@ You can access this data through an API. curl https://models.dev/api.json ``` +Specialized model types are omitted by default. Filter by one or more +comma-separated model types, or use `all` for the complete catalog: + +```bash +curl "https://models.dev/api.json?type=decision" +curl "https://models.dev/api.json?type=all" +``` + +The currently supported model type is `decision`. The `type` parameter is also +available on `models.json`, `catalog.json`, and `model-schema.json`. + Use the **Model ID** field to do a lookup on any model; it's the identifier used by [AI SDK](https://ai-sdk.dev/). Provider-agnostic model metadata is available separately: @@ -52,41 +63,41 @@ The data is stored in the repo as TOML files; organized by provider and model. T We need your help keeping the data up to date. -### Adding Model Metadata +### File Format -Model-only facts live in `models/`, using the same path-style IDs as provider models. For example, `models/openai/gpt-5.toml` defines metadata for the underlying GPT-5 model, while `providers/openai/models/gpt-5.toml` defines OpenAI-specific serving details such as pricing. +Every model file uses the v2 format and starts with `schema = 2`; `bun validate` rejects files without it. The full file schema is in `packages/core/src/schema-v2.ts`, and `AGENTS.md` has the complete contributor rules. The filename (minus `.toml`) is the model ID; never add an `id` field. -Use model metadata for provider-agnostic facts: +### Adding Model Metadata -- `name`, `family`, `release_date`, `last_updated`, `knowledge` -- `attachment`, `reasoning`, `tool_call`, `structured_output`, `temperature` -- `[limit]` defaults like context, input, and output token limits -- `[modalities]` defaults -- `open_weights`, `license`, `links`, `weights`, and `benchmarks` +Model-only facts live in `models//.toml`. For example, `models/openai/gpt-5.toml` describes the underlying GPT-5 model, while `providers/openai/models/gpt-5.toml` describes how OpenAI serves it (reasoning controls, cache, pricing). -Example: +Lab files hold only what is true on every host: ```toml +schema = 2 name = "GPT-5" +description = "Original GPT-5 workhorse for reasoning, coding, writing, and tool workflows" family = "gpt" +open_weights = false +knowledge = "2024-09-30" release_date = "2025-08-07" -last_updated = "2025-08-07" -attachment = true -reasoning = true + +[modalities] +input = ["text", "image/jpeg", "image/png", "image/gif", "image/webp"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } temperature = false -tool_call = true -structured_output = true -open_weights = false +top_p = false +top_k = false [limit] context = 400_000 input = 272_000 output = 128_000 -[modalities] -input = ["text", "image"] -output = ["text"] - [[benchmarks]] name = "Benchmark Name" score = 72.5 @@ -99,22 +110,7 @@ url = "https://huggingface.co/example/model" format = "safetensors" ``` -Provider TOMLs can inherit these facts with `base_model` and then keep only provider-specific fields or overrides: - -```toml -base_model = "openai/gpt-5" - -[cost] -input = 1.25 -output = 10.00 -cache_read = 0.125 - -[limit] -context = 200_000 # optional provider override -output = 32_000 -``` - -Provider fields win over model metadata during generation. Use this when the underlying model is the same but a provider serves it with different context limits, modalities, features, or pricing. +Use MIME types for modalities where the lab documents them. `last_updated` is only needed when it differs from `release_date`. Reasoning controls, `structured_output`, cache, and service tiers are per host and go in provider files. ### Adding a New Provider Model @@ -158,78 +154,44 @@ Example SVG structure: #### 3. Add a Model Definition -Create a new TOML file in the provider's `models/` directory where the filename is the model ID. +Create a new TOML file in the provider's `models/` directory where the filename is the model ID. If the model ID contains `/`, use subfolders: for `openai/gpt-5`, create `openai/gpt-5.toml`. -If the model ID contains `/`, use subfolders. For example, for the model ID `openai/gpt-5`, create a folder `openai/` and place a file named `gpt-5.toml` inside it. +If the provider didn't create the model, point `base_model` at the lab file (add the lab file first if it's missing) and write only what differs on this host: ```toml -name = "Model Display Name" -attachment = true # or false - supports file attachments -reasoning = false # or true - supports reasoning / chain-of-thought -tool_call = true # or false - supports tool calling -structured_output = true # or false - supports a dedicated structured output feature -temperature = true # or false - supports temperature control -knowledge = "2024-04" # Knowledge-cutoff date -release_date = "2025-02-19" # First public release date -last_updated = "2025-02-19" # Most recent update date -open_weights = true # or false - model’s trained weights are publicly available - -[cost] -input = 3.00 # Cost per million input tokens (USD) -output = 15.00 # Cost per million output tokens (USD) -reasoning = 15.00 # Cost per million reasoning tokens (USD) -cache_read = 0.30 # Cost per million cached read tokens (USD) -cache_write = 3.75 # Cost per million cached write tokens (USD) -input_audio = 1.00 # Cost per million audio input tokens (USD) -output_audio = 10.00 # Cost per million audio output tokens (USD) - -[limit] -context = 400_000 # Maximum context window (tokens) -input = 272_000 # Maximum input tokens -output = 8_192 # Maximum output tokens - -[modalities] -input = ["text", "image"] # Supported input modalities -output = ["text"] # Supported output modalities +schema = 2 +base_model = "openai/gpt-5" -[interleaved] -field = "reasoning_content" # Name of the interleaved field "reasoning_content" or "reasoning_details" -``` +[capabilities] +reasoning = { supported = true, effort = ["minimal", "low", "medium", "high"] } +structured_output = true +cache = { implicit = { min_tokens = 1_024 } } -#### 3a. Reuse Model Metadata with `base_model` +[cost.text.input] +price = 1.25 # USD per million input tokens +cache = { read = 0.125 } # USD per million cached input tokens -For wrapper providers that mirror an existing model, prefer referencing the model-only metadata instead of duplicating provider-agnostic fields. +[[cost.text.input.overrides]] +when = { context = { gt = 272_000 } } # long-context pricing +price = 2.5 -Use `base_model` when the provider serves the same underlying model and only provider-specific fields differ. +[cost.text.output] +price = 10 # USD per million output tokens -```toml -base_model = "anthropic/claude-opus-4-6" -# Match lab/peer controls for this model (not a stripped L/M/H guess) -reasoning_options = [ - { type = "effort", values = ["low", "medium", "high", "max"] }, - { type = "budget_tokens", min = 1_024 }, -] - -[cost] -input = 5.00 -output = 25.00 +[limit] +context = 200_000 # optional: only when this host serves a smaller window ``` Rules: -- `base_model` must point to a TOML file in `models/` using `/`. -- **Override-only:** after `base_model`, write only provider-specific fields and values that **differ** from the base. Do not restate the same `description`, `structured_output`, `modalities`, `tool_call`, dates, etc. -- You may override any top-level model field when the provider actually differs. -- If you override a nested table like `[cost]`, `[limit]`, or `[modalities]`, include the full values needed for that table (arrays/primitives replace; plain objects deep-merge). -- `base_model_omit` is optional and removes inherited model metadata fields after local overrides are merged. Use dot-path strings, for example `base_model_omit = ["limit.input"]`. -- Provider-specific fields (`cost`, `reasoning_options`, `interleaved`, `status`, `provider`, `experimental`) belong on the provider model when needed. -- `id` still comes from the filename; do not add it to the TOML. +- `base_model` must point to a file in `models/` using `/`. +- **Override-only:** do not restate the base's `name`, `description`, dates, `modalities`, `limit`, etc. unless this host actually differs. +- Plain tables (`[limit]`, `[modalities]`, `[capabilities]`, inline tables) deep-merge; arrays and primitives replace. +- `base_model_omit` removes inherited fields after merging, e.g. `base_model_omit = ["limit.input"]`. +- Lifecycle goes in `status` (`alpha`, `beta`, `deprecated`). A model served through a different SDK, base URL, or reasoning field gets an `[api.]` table, e.g. `[api.chat-completions] compatibility = { reasoning_field = "reasoning_content" }`. +- A full definition without `base_model` is only for first-party labs and host-unique models. It has every lab field plus the provider fields. -**Reasoning options (short):** classify first-party lab vs multi-model relay (not by npm). Copy the underlying model’s controls from the lab entry and same-surface peers — often `low`/`medium`/`high` on GPT-style relays, but DeepSeek V4 is `toggle`+`high`/`max`, etc. Do not use `[]` from uncertainty on relays. Full policy: `AGENTS.md`. - -Use `base_model` when the wrapper model is materially the same as the source model and only differs by provider-specific pricing, limits, modalities, provider request shape, or lifecycle flags. - -Sync and generator scripts should preserve existing `base_model` / `base_model_omit` fields when updating provider TOMLs. Do not use legacy `[extends]` tables. +**Reasoning controls (short):** classify first-party lab vs multi-model relay (not by npm). Copy the underlying model’s controls from the lab's provider entry and same-surface peers: often `effort = ["low", "medium", "high"]` on GPT-style relays, but DeepSeek V4 is `toggle = true` with `effort = ["low", "high", "max"]`, etc. Don't drop controls from uncertainty on relays. Full policy: `AGENTS.md`. #### 4. Submit a Pull Request @@ -240,36 +202,31 @@ Sync and generator scripts should preserve existing `base_model` / `base_model_o ### Validation -There's a GitHub Action that will automatically validate your submission against our schema to ensure: - -- All required fields are present -- Data types are correct -- Values are within acceptable ranges -- TOML syntax is valid - -When moving existing provider fields into model metadata, compare generated output before and after the change: +Run these before opening a PR (a GitHub Action runs them too): ```bash -bun run compare:migrations +bun validate # schema, required fields, TOML syntax; rejects non-v2 model files +bun run v1:check # lists any change to the published v1 API output ``` -This prints a diff for each changed model TOML so you can confirm the generated JSON only changed where you intended. +### API Reference -### Schema Reference +These are the fields of each model in the generated `api.json` (the v1 API). They are API response fields, not file fields: they are derived from the v2 files above (for example `attachment` comes from non-text input modalities, `reasoning_options` from `capabilities.reasoning`, and `cost.input` from `cost.text.input.price`). -Models must conform to the following schema, as defined in `packages/core/src/schema.ts`. +Generated provider models that use `base_model` expose its canonical lab/model ID as `canonical_model_id` in `api.json` and `catalog.json`. Consumers can use this field to attribute a provider-specific model ID to its originating lab without guessing from the model name. -**Provider Schema:** +**Provider:** - `name`: String - Display name of the provider - `npm`: String - AI SDK Package name - `env`: String[] - Environment variable keys used for auth - `doc`: String - Link to the provider's documentation -- `api` _(optional)_: String - OpenAI-compatible API endpoint. Required only when using `@ai-sdk/openai-compatible` as the npm package +- `api` _(optional)_: String - OpenAI-compatible API endpoint -**Model Schema:** +**Model:** - `name`: String — Display name of the model +- `type` _(optional)_: String — Specialized model behavior; currently supports `decision` - `attachment`: Boolean — Supports file attachments - `reasoning`: Boolean — Supports reasoning / chain-of-thought - `tool_call`: Boolean - Supports tool calling @@ -279,7 +236,7 @@ Models must conform to the following schema, as defined in `packages/core/src/sc - `release_date`: String — First public release date in `YYYY-MM` or `YYYY-MM-DD` - `last_updated`: String — Most recent update date in `YYYY-MM` or `YYYY-MM-DD` - `open_weights`: Boolean - Indicate the model's trained weights are publicly available -- `interleaved` _(optional)_: Boolean or Object — Supports interleaved reasoning. Use `true` for general support or an object with `field` to specify the format +- `interleaved` _(optional)_: Boolean or Object — Supports interleaved reasoning: `true`, or an object whose `field` names the format - `interleaved.field`: String — Name of the interleaved field (`"reasoning_content"` or `"reasoning_details"`) - `cost.input`: Number — Cost per million input tokens (USD) - `cost.output`: Number — Cost per million output tokens (USD) diff --git a/bun.lock b/bun.lock index 2ba689570d..2e4ee0e36c 100644 --- a/bun.lock +++ b/bun.lock @@ -24,6 +24,9 @@ }, "packages/function": { "name": "@models.dev/function", + "dependencies": { + "@models.dev/core": "workspace:*", + }, "devDependencies": { "@cloudflare/workers-types": "4.20250522.0", "@tsconfig/bun": "catalog:", diff --git a/labs/alibaba/lab.toml b/labs/alibaba/lab.toml index afc699ea1b..0728f2ccce 100644 --- a/labs/alibaba/lab.toml +++ b/labs/alibaba/lab.toml @@ -1 +1,2 @@ +schema = 2 description = "Alibaba's Qwen lab builds open and hosted multilingual models spanning reasoning, code, vision, audio, and agent workflows." diff --git a/labs/anthropic/lab.toml b/labs/anthropic/lab.toml index 09b7cc468b..90552959bb 100644 --- a/labs/anthropic/lab.toml +++ b/labs/anthropic/lab.toml @@ -1 +1,2 @@ +schema = 2 description = "Anthropic's Claude models emphasize reliable, interpretable, steerable AI for coding, analysis, and long-horizon agent work." diff --git a/labs/arcee-ai/lab.toml b/labs/arcee-ai/lab.toml index ab61bb989c..4d4e284ab1 100644 --- a/labs/arcee-ai/lab.toml +++ b/labs/arcee-ai/lab.toml @@ -1 +1,2 @@ +schema = 2 description = "Arcee AI develops open-weight language models focused on efficient reasoning, tool use, and deployable intelligence." diff --git a/labs/cohere/lab.toml b/labs/cohere/lab.toml index 685009d663..8626a3d32d 100644 --- a/labs/cohere/lab.toml +++ b/labs/cohere/lab.toml @@ -1 +1,2 @@ +schema = 2 description = "Cohere focuses on enterprise AI: multilingual Command models, retrieval and RAG, secure workplace agents, and practical coding assistance." diff --git a/labs/deepreinforce/lab.toml b/labs/deepreinforce/lab.toml index 563ecc0166..48bbd48f79 100644 --- a/labs/deepreinforce/lab.toml +++ b/labs/deepreinforce/lab.toml @@ -1 +1,2 @@ +schema = 2 description = "DeepReinforce builds self-scaffolding Ornith models for coding agents, spanning small dense checkpoints and frontier-scale MoE releases." diff --git a/labs/deepseek/lab.toml b/labs/deepseek/lab.toml index 292d6006ec..757c999691 100644 --- a/labs/deepseek/lab.toml +++ b/labs/deepseek/lab.toml @@ -1 +1,2 @@ +schema = 2 description = "DeepSeek is an open-model lab known for cost-efficient reasoning systems, visible reasoning APIs, and strong coding and math performance." diff --git a/labs/google/lab.toml b/labs/google/lab.toml index 3d85b1e21b..c623045cba 100644 --- a/labs/google/lab.toml +++ b/labs/google/lab.toml @@ -1 +1,2 @@ +schema = 2 description = "Google's Gemini and Gemma work pairs frontier multimodal reasoning with long-context infrastructure and open-weight options for developers." diff --git a/labs/meta/lab.toml b/labs/meta/lab.toml index 57dd8070a8..72f7c0062b 100644 --- a/labs/meta/lab.toml +++ b/labs/meta/lab.toml @@ -1 +1,2 @@ +schema = 2 description = "Meta's Llama program pushes open-weight AI, with multilingual and multimodal models designed for customization and broad deployment." diff --git a/labs/minimax/lab.toml b/labs/minimax/lab.toml index ab2c7f2fe0..eae0b33c44 100644 --- a/labs/minimax/lab.toml +++ b/labs/minimax/lab.toml @@ -1 +1,2 @@ +schema = 2 description = "MiniMax builds agentic models for coding, office work, and multimodal media, with a strong bias toward practical productivity workflows." diff --git a/labs/mistral/lab.toml b/labs/mistral/lab.toml index 2916d10d62..16d3e45c69 100644 --- a/labs/mistral/lab.toml +++ b/labs/mistral/lab.toml @@ -1 +1,2 @@ +schema = 2 description = "Mistral blends open-weight research with enterprise deployment across efficient chat, coding agents, document intelligence, and multilingual models." diff --git a/labs/moonshotai/lab.toml b/labs/moonshotai/lab.toml index 8aa4cb6a81..7a1815dd91 100644 --- a/labs/moonshotai/lab.toml +++ b/labs/moonshotai/lab.toml @@ -1 +1,2 @@ +schema = 2 description = "Moonshot AI's Kimi line is tuned for long-context agents, multimodal coding, and high-throughput developer workflows." diff --git a/labs/nace-ai/lab.toml b/labs/nace-ai/lab.toml new file mode 100644 index 0000000000..9674386b38 --- /dev/null +++ b/labs/nace-ai/lab.toml @@ -0,0 +1,2 @@ +schema = 2 +description = "Nace AI builds Drex, System One decision models that answer typed questions about text or structured state with calibrated probabilities." diff --git a/labs/nvidia/lab.toml b/labs/nvidia/lab.toml index 396c3db7b7..ef583eca89 100644 --- a/labs/nvidia/lab.toml +++ b/labs/nvidia/lab.toml @@ -1 +1,2 @@ +schema = 2 description = "NVIDIA's Nemotron family brings open weights, training recipes, and accelerated deployment to reasoning, RAG, safety, and multimodal agents." diff --git a/labs/openai/lab.toml b/labs/openai/lab.toml index 5067451222..1cb36bd119 100644 --- a/labs/openai/lab.toml +++ b/labs/openai/lab.toml @@ -1 +1,2 @@ +schema = 2 description = "OpenAI's GPT family sets production defaults for reasoning, coding, multimodal work, and agentic applications." diff --git a/labs/perplexity/lab.toml b/labs/perplexity/lab.toml index 2f474d58bb..e31e3a9c99 100644 --- a/labs/perplexity/lab.toml +++ b/labs/perplexity/lab.toml @@ -1 +1,2 @@ +schema = 2 description = "Perplexity's Sonar models make search a first-class model capability for current, citation-backed answers and research agents." diff --git a/labs/phocinae/lab.toml b/labs/phocinae/lab.toml new file mode 100644 index 0000000000..efd9f81795 --- /dev/null +++ b/labs/phocinae/lab.toml @@ -0,0 +1,2 @@ +schema = 2 +description = "Phocinae builds Largha, encoder decision models that answer typed questions about text with calibrated probabilities, on CPU and GPU." diff --git a/labs/poolside/lab.toml b/labs/poolside/lab.toml index 4a1618f026..d9e5c52523 100644 --- a/labs/poolside/lab.toml +++ b/labs/poolside/lab.toml @@ -1 +1,2 @@ +schema = 2 description = "Poolside builds open-weight foundation models and the systems that refine and improve them." diff --git a/labs/recursive/lab.toml b/labs/recursive/lab.toml new file mode 100644 index 0000000000..377950a3bf --- /dev/null +++ b/labs/recursive/lab.toml @@ -0,0 +1,2 @@ +schema = 2 +description = "Recursive builds self-improving AI research systems, starting with Flint, an open-weight mixture-of-experts model for local coding agents." diff --git a/labs/reflection/lab.toml b/labs/reflection/lab.toml new file mode 100644 index 0000000000..a8d51e124c --- /dev/null +++ b/labs/reflection/lab.toml @@ -0,0 +1,2 @@ +schema = 2 +description = "Reflection works to make intelligence open and accessible to all, starting with Beam, a sparse MoE model for coding and agentic workflows." diff --git a/labs/reflection/logo.svg b/labs/reflection/logo.svg new file mode 100644 index 0000000000..d35b4dcd0a --- /dev/null +++ b/labs/reflection/logo.svg @@ -0,0 +1,3 @@ + + + diff --git a/labs/sakana/lab.toml b/labs/sakana/lab.toml index ef86eaacc2..50f433c0ab 100644 --- a/labs/sakana/lab.toml +++ b/labs/sakana/lab.toml @@ -1 +1,2 @@ +schema = 2 description = "Sakana AI turns model routing into a product, exposing multi-agent systems through a single API for research, coding, and hard analysis." diff --git a/labs/sarvam/lab.toml b/labs/sarvam/lab.toml index 3ab3e19293..421eccabd2 100644 --- a/labs/sarvam/lab.toml +++ b/labs/sarvam/lab.toml @@ -1 +1,2 @@ +schema = 2 description = "Sarvam AI builds India-centered open reasoning models, with multilingual strengths across Indian languages, coding, and enterprise use." diff --git a/labs/stepfun/lab.toml b/labs/stepfun/lab.toml index 176cd5725f..6c4e810751 100644 --- a/labs/stepfun/lab.toml +++ b/labs/stepfun/lab.toml @@ -1 +1,2 @@ +schema = 2 description = "StepFun's Step models target fast multimodal agents, pairing visual understanding, search, coding, and tool orchestration." diff --git a/labs/tencent/lab.toml b/labs/tencent/lab.toml index ee44e0032a..e02df9187a 100644 --- a/labs/tencent/lab.toml +++ b/labs/tencent/lab.toml @@ -1 +1,2 @@ +schema = 2 description = "Tencent's Hy and Hunyuan work centers on large open MoE models for reasoning, coding, long context, and agent workflows." diff --git a/labs/vispark/lab.toml b/labs/vispark/lab.toml new file mode 100644 index 0000000000..35cd4107d5 --- /dev/null +++ b/labs/vispark/lab.toml @@ -0,0 +1,2 @@ +schema = 2 +description = "Vispark builds India-centered foundational multimodal intelligence (Vision) with 1M-token context, served via Vispark Lab's API." diff --git a/labs/vispark/logo.svg b/labs/vispark/logo.svg new file mode 100644 index 0000000000..2348c5a2f7 --- /dev/null +++ b/labs/vispark/logo.svg @@ -0,0 +1,3 @@ + + + diff --git a/labs/xai/lab.toml b/labs/xai/lab.toml index 9b85577781..376bb3bc16 100644 --- a/labs/xai/lab.toml +++ b/labs/xai/lab.toml @@ -1 +1,2 @@ +schema = 2 description = "xAI's Grok lineup emphasizes tool use, low-hallucination reasoning, coding, and dedicated media APIs under one developer platform." diff --git a/labs/xiaomi/lab.toml b/labs/xiaomi/lab.toml index 8adee89e7b..cdadefd25a 100644 --- a/labs/xiaomi/lab.toml +++ b/labs/xiaomi/lab.toml @@ -1 +1,2 @@ +schema = 2 description = "Xiaomi's MiMo models target coding agents and real-world automation with long-context reasoning, multimodal interaction, and compatible APIs." diff --git a/labs/zhipuai/lab.toml b/labs/zhipuai/lab.toml index 63dfef5b92..27c504b6af 100644 --- a/labs/zhipuai/lab.toml +++ b/labs/zhipuai/lab.toml @@ -1 +1,2 @@ +schema = 2 description = "Z.ai's GLM line focuses on open agentic engineering: long-horizon coding, terminal tasks, and hybrid reasoning at aggressive cost." diff --git a/models/abacusai/dracarys-llama-3.1-70b-instruct.toml b/models/abacusai/dracarys-llama-3.1-70b-instruct.toml new file mode 100644 index 0000000000..205c754908 --- /dev/null +++ b/models/abacusai/dracarys-llama-3.1-70b-instruct.toml @@ -0,0 +1,31 @@ +# Model card: https://huggingface.co/abacusai/Dracarys-Llama-3.1-70B-Instruct (Abacus.AI fine-tune of Llama 3.1 70B +# Instruct for coding; license link https://llama.meta.com/llama3/license/). Published 2024-08-14 (Hugging Face createdAt). +# Context 131,072: config.json max_position_embeddings and NVIDIA's card (https://build.nvidia.com/abacusai/dracarys-llama-3_1-70b-instruct), +# which also says "Function Calling: Not supported". No separate output cap is published, so output = context. +# Sampling: open weights, so temperature/top_p/top_k are runtime features of the host. +schema = 2 +name = "Dracarys Llama 3.1 70B Instruct" +description = "Abacus.AI coding fine-tune of Llama 3.1 70B Instruct" +family = "llama" +open_weights = true +release_date = "2024-08-14" +license = "Llama 3 Community License" + +[modalities] +input = ["text"] +output = ["text"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = true +top_p = true +top_k = true + +[limit] +context = 131_072 +output = 131_072 + +[[weights]] +label = "Hugging Face" +url = "https://huggingface.co/abacusai/Dracarys-Llama-3.1-70B-Instruct" diff --git a/models/ai21/jamba-large.toml b/models/ai21/jamba-large.toml new file mode 100644 index 0000000000..b353942d15 --- /dev/null +++ b/models/ai21/jamba-large.toml @@ -0,0 +1,32 @@ +# Sources: +# - https://docs.ai21.com/docs/jamba-foundation-models (jamba-large points to jamba-large-1.7-2025-07; 256K context; knowledge cutoff August 22nd, 2024; text in and out) +# - https://docs.ai21.com/changelog ("Introducing Jamba 1.7!", Release Date: July 3, 2025) +# - https://docs.ai21.com/reference/jamba-1-6-api-ref (max_tokens up to 4096) +# - https://huggingface.co/ai21labs/AI21-Jamba-Large-1.7 (open weights, Jamba Open Model License) +# Sampling: open weights, so temperature, top_p and top_k all apply when self-hosted; AI21's own API takes only temperature and top_p. +schema = 2 +name = "Jamba Large" +description = "AI21's hybrid SSM-Transformer long-context model for enterprise agents and grounded generation" +family = "jamba" +open_weights = true +knowledge = "2024-08-22" +release_date = "2025-07-03" + +[modalities] +input = ["text"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = false } +temperature = true +top_p = true +top_k = true + +[limit] +context = 256_000 +output = 4_096 + +[[weights]] +label = "Hugging Face" +url = "https://huggingface.co/ai21labs/AI21-Jamba-Large-1.7" diff --git a/models/ai21/jamba-mini.toml b/models/ai21/jamba-mini.toml new file mode 100644 index 0000000000..6cf21e43c3 --- /dev/null +++ b/models/ai21/jamba-mini.toml @@ -0,0 +1,32 @@ +# Sources: +# - https://docs.ai21.com/docs/jamba-foundation-models (jamba-mini points to jamba-mini-2-2026-01, Jamba2 Mini; 256K context; knowledge cutoff August 22nd, 2024; text in and out) +# - https://www.ai21.com/blog/introducing-jamba2/ (Jamba2 announcement, published 2026-01-08) +# - https://docs.ai21.com/reference/jamba-1-6-api-ref (max_tokens up to 4096) +# - https://huggingface.co/ai21labs/AI21-Jamba2-Mini (open weights, Apache-2.0) +# Sampling: open weights, so temperature, top_p and top_k all apply when self-hosted; AI21's own API takes only temperature and top_p. +schema = 2 +name = "Jamba Mini" +description = "AI21's efficient, lightweight hybrid SSM-Transformer model for a wide range of tasks" +family = "jamba" +open_weights = true +knowledge = "2024-08-22" +release_date = "2026-01-08" + +[modalities] +input = ["text"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = false } +temperature = true +top_p = true +top_k = true + +[limit] +context = 256_000 +output = 4_096 + +[[weights]] +label = "Hugging Face" +url = "https://huggingface.co/ai21labs/AI21-Jamba2-Mini" diff --git a/models/aion-labs/aion-2.0.toml b/models/aion-labs/aion-2.0.toml new file mode 100644 index 0000000000..f97280cab3 --- /dev/null +++ b/models/aion-labs/aion-2.0.toml @@ -0,0 +1,24 @@ +# Lab metadata carried over from providers/openrouter/models/aion-labs/aion-2.0.toml (curated catalogue data already in this repo), +# with provider-specific fields (cost, reasoning_options, status) stripped. +# Release date: the `date` field of https://api.aionlabs.ai/v1/models (2025-12-21). +# Sampling: https://www.aionlabs.ai/docs/api-reference/ documents temperature only (no top_p or top_k). +schema = 2 +name = "Aion-2.0" +description = "Reasoning model for deliberate analysis, multi-step problem solving, and tool use" +open_weights = false +release_date = "2025-12-21" + +[modalities] +input = ["text"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } +temperature = true +top_p = false +top_k = false + +[limit] +context = 131_072 +output = 32_768 diff --git a/models/aion-labs/aion-3.0-mini.toml b/models/aion-labs/aion-3.0-mini.toml new file mode 100644 index 0000000000..081574f799 --- /dev/null +++ b/models/aion-labs/aion-3.0-mini.toml @@ -0,0 +1,24 @@ +# Lab metadata carried over from providers/openrouter/models/aion-labs/aion-3.0-mini.toml (curated catalogue data already in this repo), +# with provider-specific fields (cost, reasoning_options, status) stripped. +# Release date: the `date` field of https://api.aionlabs.ai/v1/models (2026-05-14). +# Sampling: https://www.aionlabs.ai/docs/api-reference/ documents temperature only (no top_p or top_k). +schema = 2 +name = "Aion-3.0-Mini" +description = "Efficient model for low-latency assistance, extraction, and routine automation" +open_weights = false +release_date = "2026-05-14" + +[modalities] +input = ["text"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } +temperature = true +top_p = false +top_k = false + +[limit] +context = 131_072 +output = 32_768 diff --git a/models/aion-labs/aion-3.0.toml b/models/aion-labs/aion-3.0.toml new file mode 100644 index 0000000000..8be04d5298 --- /dev/null +++ b/models/aion-labs/aion-3.0.toml @@ -0,0 +1,24 @@ +# Lab metadata carried over from providers/openrouter/models/aion-labs/aion-3.0.toml (curated catalogue data already in this repo), +# with provider-specific fields (cost, reasoning_options, status) stripped. +# Release date: the `date` field of https://api.aionlabs.ai/v1/models (2026-05-05). +# Sampling: https://www.aionlabs.ai/docs/api-reference/ documents temperature only (no top_p or top_k). +schema = 2 +name = "Aion-3.0" +description = "Reasoning model for deliberate analysis, multi-step problem solving, and tool use" +open_weights = false +release_date = "2026-05-05" + +[modalities] +input = ["text"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } +temperature = true +top_p = false +top_k = false + +[limit] +context = 131_072 +output = 32_768 diff --git a/models/aion-labs/aion-rp-llama-3.1-8b.toml b/models/aion-labs/aion-rp-llama-3.1-8b.toml new file mode 100644 index 0000000000..61effa307b --- /dev/null +++ b/models/aion-labs/aion-rp-llama-3.1-8b.toml @@ -0,0 +1,27 @@ +# Lab metadata carried over from providers/openrouter/models/aion-labs/aion-rp-llama-3.1-8b.toml (curated catalogue data already in this repo), +# with provider-specific fields (cost, reasoning_options, status) stripped. +# Open weights: Apache-2.0 checkpoint at https://huggingface.co/aion-labs/Aion-RP-Llama-3.1-8B. +# Sampling: open weights; generation_config.json sets temperature 0.6 and top_p 0.9, and top_k is a standard +# sampling control for this checkpoint. +schema = 2 +name = "Aion-RP 1.0 (8B)" +description = "Open Llama instruction model for multilingual chat, reasoning, and coding" +family = "llama" +open_weights = true +knowledge = "2023-12-31" +release_date = "2025-02-04" + +[modalities] +input = ["text"] +output = ["text"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = true +top_p = true +top_k = true + +[limit] +context = 32_768 +output = 29_491 diff --git a/models/aisingapore/gemma-sea-lion-v4-27b-it.toml b/models/aisingapore/gemma-sea-lion-v4-27b-it.toml index eb9580367e..bda98f247e 100644 --- a/models/aisingapore/gemma-sea-lion-v4-27b-it.toml +++ b/models/aisingapore/gemma-sea-lion-v4-27b-it.toml @@ -1,22 +1,33 @@ +# Sources: +# - https://huggingface.co/aisingapore/Gemma-SEA-LION-v4-27B-IT (128K context, Gemma Terms of Use) +# - https://huggingface.co/aisingapore/Gemma-SEA-LION-v4-27B-IT/blob/main/generation_config.json (top_k 64, top_p 0.95) +# Sampling: open weights, so temperature, top_p and top_k all apply when self-hosted. +# Image input: the card lists "Image and text understanding capabilities, including document comprehension, visual Q&A, and +# image-grounded reasoning", and says vision comes from Gemma 3 IT 27B because fine-tuning touched only the text back-end +# (https://docs.sea-lion.ai/models/sea-lion-v4/gemma-sea-lion-v4-27b). AI Singapore's docs list no image formats, so input +# keeps the generic image. +schema = 2 name = "Gemma-SEA-LION-v4-27B-IT" description = "Gemma 3 27B tuned by AI Singapore for Southeast Asian languages and instruction following" family = "gemma" +open_weights = true release_date = "2025-09-23" -last_updated = "2025-09-23" -attachment = false -reasoning = false + +[modalities] +input = ["text", "image"] +output = ["text"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } temperature = true -tool_call = false -open_weights = true +top_p = true +top_k = true [limit] context = 128_000 output = 128_000 -[modalities] -input = ["text"] -output = ["text"] - [[weights]] label = "Hugging Face" url = "https://huggingface.co/aisingapore/Gemma-SEA-LION-v4-27B-IT" diff --git a/models/alibaba/gte-large-en-v1.5.toml b/models/alibaba/gte-large-en-v1.5.toml new file mode 100644 index 0000000000..efe00d2dc8 --- /dev/null +++ b/models/alibaba/gte-large-en-v1.5.toml @@ -0,0 +1,29 @@ +# https://huggingface.co/Alibaba-NLP/gte-large-en-v1.5 (Apache-2.0; 8192-token context, 1024 dimensions, +# README "gte-v1.5 series" table). Repository created 2024-04-20 (Hugging Face API createdAt). +schema = 2 +v2_only = true +type = "embedding" +name = "GTE Large EN v1.5" +description = "English long-context text embedding model producing 1024-dimensional vectors" +open_weights = true +release_date = "2024-04-20" +license = "Apache-2.0" + +[modalities] +input = ["text"] +output = ["embedding"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 8_192 +output = 0 + +[[weights]] +label = "Hugging Face" +url = "https://huggingface.co/Alibaba-NLP/gte-large-en-v1.5" diff --git a/models/alibaba/happyhorse-1.0.toml b/models/alibaba/happyhorse-1.0.toml new file mode 100644 index 0000000000..08c854415d --- /dev/null +++ b/models/alibaba/happyhorse-1.0.toml @@ -0,0 +1,26 @@ +# Released 2026-04-22 (happyhorse-1.0-t2v, -i2v): https://www.alibabacloud.com/help/en/model-studio/newly-released-models +# Formats: images JPEG, JPG, PNG, BMP or WEBP; audio WAV or MP3: +# https://www.alibabacloud.com/help/en/model-studio/image-to-video-api-reference +# Output: MP4. +schema = 2 +v2_only = true +type = "video" +name = "HappyHorse-1.0" +description = "Video model for text, image and reference to video with realistic motion" +open_weights = false +release_date = "2026-04-22" + +[modalities] +input = ["text", "image/jpeg", "image/png", "image/bmp", "image/webp"] +output = ["video/mp4"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 0 +output = 0 diff --git a/models/alibaba/happyhorse-1.1.toml b/models/alibaba/happyhorse-1.1.toml new file mode 100644 index 0000000000..d51f66a39c --- /dev/null +++ b/models/alibaba/happyhorse-1.1.toml @@ -0,0 +1,26 @@ +# Released 2026-06-16 (happyhorse-1.1-t2v, -i2v, -r2v): https://www.alibabacloud.com/help/en/model-studio/newly-released-models +# Formats: images JPEG, JPG, PNG, BMP or WEBP; audio WAV or MP3: +# https://www.alibabacloud.com/help/en/model-studio/image-to-video-api-reference +# Output: MP4. +schema = 2 +v2_only = true +type = "video" +name = "HappyHorse-1.1" +description = "Video model for text, image and reference to video with smoother motion and stronger consistency" +open_weights = false +release_date = "2026-06-16" + +[modalities] +input = ["text", "image/jpeg", "image/png", "image/bmp", "image/webp"] +output = ["video/mp4"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 0 +output = 0 diff --git a/models/alibaba/qwen-audio-3.0-asr-flash.toml b/models/alibaba/qwen-audio-3.0-asr-flash.toml new file mode 100644 index 0000000000..8666cfb761 --- /dev/null +++ b/models/alibaba/qwen-audio-3.0-asr-flash.toml @@ -0,0 +1,40 @@ +# Exact-model synchronous formats: AAC, FLAC, M4A, MP3, Ogg and WAV, as audio MIME types. +# The wav/16000 request below is an example, not a WAV-only restriction. +# Video containers are not advertised as visual inputs to this transcription model. +# https://docs.qwencloud.com/developer-guides/speech/speech-to-text-models +# Qwen-Audio-3.0-ASR Flash: Bailing ASR updated June 2026 with seven Chinese dialect +# systems, 20+ regional Mandarin accents, 30 languages, context support and up to +# 5-minute transcription: +# https://www.qwencloud.com/models/qwen-audio-3.0-asr-flash +# https://www.qianwenai.com/models/qwen-audio-3.0-asr-flash +# Sync DashScope route POST /api/v1/services/aigc/multimodal-generation/generation with +# input_audio (format wav, sample_rate 16000); single file up to 10 MB / 5 minutes. +# The async filetrans variant (file_urls, up to 12 h / 2 GB) is a separate model ID and +# is not authored here: +# https://www.alibabacloud.com/help/en/model-studio/non-realtime-speech-recognition-user-guide +# Input formats: mainstream AAC, WAV and MP3; data-URL examples use audio/wav and audio/mpeg +# (same guide). Hosted only; marketplace per-second prices are pay-as-you-go and are not +# used for Token Plan credit billing. +schema = 2 +v2_only = true +type = "transcription" +name = "Qwen-Audio-3.0-ASR Flash" +description = "Hosted speech recognition model with dialect and 30-language support for audio-to-text transcription up to 5 minutes" +family = "qwen" +open_weights = false +release_date = "2026-06" + +[modalities] +input = ["audio/aac", "audio/flac", "audio/mp4", "audio/mpeg", "audio/ogg", "audio/wav"] +output = ["text"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 0 +output = 0 diff --git a/models/alibaba/qwen-audio-3.0-tts-flash.toml b/models/alibaba/qwen-audio-3.0-tts-flash.toml new file mode 100644 index 0000000000..0cc112d573 --- /dev/null +++ b/models/alibaba/qwen-audio-3.0-tts-flash.toml @@ -0,0 +1,27 @@ +# Released July 2026, hosted only: https://www.marktechpost.com/2026/07/20/alibabas-tongyi-lab-releases-qwen-audio-3-0-tts-a-hosted-text-to-speech-model-in-flash-and-plus-tiers-across-16-languages/ +# https://help.aliyun.com/en/model-studio/qwen-audio-tts-voice-list +# Output formats: mp3 and pcm, as documented for OpenRouter's speech API (the lab lists none here): +# https://openrouter.ai/docs/guides/overview/multimodal/tts +schema = 2 +v2_only = true +type = "speech" +name = "Qwen-Audio-3.0-TTS Flash" +description = "Fast hosted text-to-speech model for real-time use" +family = "qwen" +open_weights = false +release_date = "2026-07" + +[modalities] +input = ["text"] +output = ["audio/mpeg", "audio/pcm"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 0 +output = 0 diff --git a/models/alibaba/qwen-audio-3.0-tts-plus.toml b/models/alibaba/qwen-audio-3.0-tts-plus.toml new file mode 100644 index 0000000000..fac3b2d0f6 --- /dev/null +++ b/models/alibaba/qwen-audio-3.0-tts-plus.toml @@ -0,0 +1,27 @@ +# Released July 2026, hosted only: https://www.marktechpost.com/2026/07/20/alibabas-tongyi-lab-releases-qwen-audio-3-0-tts-a-hosted-text-to-speech-model-in-flash-and-plus-tiers-across-16-languages/ +# https://help.aliyun.com/en/model-studio/qwen-audio-tts-voice-list +# Output formats: mp3 and pcm, as documented for OpenRouter's speech API (the lab lists none here): +# https://openrouter.ai/docs/guides/overview/multimodal/tts +schema = 2 +v2_only = true +type = "speech" +name = "Qwen-Audio-3.0-TTS Plus" +description = "Quality-first hosted text-to-speech model" +family = "qwen" +open_weights = false +release_date = "2026-07" + +[modalities] +input = ["text"] +output = ["audio/mpeg", "audio/pcm"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 0 +output = 0 diff --git a/models/alibaba/qwen-flash.toml b/models/alibaba/qwen-flash.toml index e7bf50b28b..0c49a35063 100644 --- a/models/alibaba/qwen-flash.toml +++ b/models/alibaba/qwen-flash.toml @@ -1,19 +1,23 @@ +# Sampling: temperature, top_p and top_k are request parameters on Model Studio: https://www.alibabacloud.com/help/en/model-studio/qwen-api-via-openai-chat-completions +schema = 2 name = "Qwen Flash" description = "Efficient Qwen model for fast chat, extraction, and high-volume workloads" family = "qwen" +open_weights = false +knowledge = "2024-04" release_date = "2025-07-28" -last_updated = "2025-07-28" -attachment = false -reasoning = true + +[modalities] +input = ["text"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } temperature = true -tool_call = true -knowledge = "2024-04" -open_weights = false +top_p = true +top_k = true [limit] context = 1_000_000 output = 32_768 - -[modalities] -input = ["text"] -output = ["text"] diff --git a/models/alibaba/qwen-image-2.1-pro.toml b/models/alibaba/qwen-image-2.1-pro.toml new file mode 100644 index 0000000000..f21e4902e7 --- /dev/null +++ b/models/alibaba/qwen-image-2.1-pro.toml @@ -0,0 +1,26 @@ +# Released 2026-10-02: https://www.alibabacloud.com/help/en/model-studio/newly-released-models, +# https://docs.modelstudio.console.alibabacloud.com/en/model-studio/qwen-image-2-1-pro +# Input JPG, JPEG, PNG, BMP, TIFF, WEBP or GIF; output PNG: https://www.alibabacloud.com/help/en/model-studio/qwen-image-edit-guide +schema = 2 +v2_only = true +type = "image" +name = "Qwen-Image-2.1-Pro" +description = "Qwen-Image-2.1 API tier for image generation and editing with native transparency" +family = "qwen" +open_weights = false +release_date = "2026-10-02" + +[modalities] +input = ["text", "image/jpeg", "image/png", "image/bmp", "image/tiff", "image/webp", "image/gif"] +output = ["image/png"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 0 +output = 0 diff --git a/models/alibaba/qwen-image-2.1-turbo.toml b/models/alibaba/qwen-image-2.1-turbo.toml new file mode 100644 index 0000000000..8af10eccb7 --- /dev/null +++ b/models/alibaba/qwen-image-2.1-turbo.toml @@ -0,0 +1,30 @@ +# Released 2026-10-09 with open weights: https://github.com/QwenLM/Qwen-Image-2.1, +# https://www.alibabacloud.com/help/en/model-studio/qwen-image-2-1-turbo +# Input JPG, JPEG, PNG, BMP, TIFF, WEBP or GIF; output PNG: https://www.alibabacloud.com/help/en/model-studio/qwen-image-edit-guide +schema = 2 +v2_only = true +type = "image" +name = "Qwen-Image-2.1-Turbo" +description = "8-step Qwen-Image-2.1 model for fast image generation and editing" +family = "qwen" +open_weights = true +release_date = "2026-10-09" + +[modalities] +input = ["text", "image/jpeg", "image/png", "image/bmp", "image/tiff", "image/webp", "image/gif"] +output = ["image/png"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 0 +output = 0 + +[[weights]] +label = "Hugging Face" +url = "https://huggingface.co/Qwen/Qwen-Image-2.1-Turbo" diff --git a/models/alibaba/qwen-image-2.1.toml b/models/alibaba/qwen-image-2.1.toml new file mode 100644 index 0000000000..859c8749df --- /dev/null +++ b/models/alibaba/qwen-image-2.1.toml @@ -0,0 +1,49 @@ +# Source: https://huggingface.co/Qwen/Qwen-Image-2.1 (accessed 2026-09-26) +# Unified text-to-image generation and image editing model: 7B visual +# generation component (32 single-stream DiT layers), native RGBA transparency, +# editing with up to 10 reference images. Weights published under the Qwen +# Research License Agreement. First published on 2026-09-14 (Hugging Face +# createdAt); last updated 2026-09-21. Context follows the qwen-image-2.0 API +# convention on Alibaba's first-party host (8,192 prompt tokens, no token +# output budget); the number of output images is a request parameter, not a +# token limit. +# Type and sampling: a diffusion image model; its pipeline has no temperature, top_p or top_k (https://huggingface.co/Qwen/Qwen-Image-2.1). +# MIME types: input images JPG, JPEG, PNG, BMP, TIFF, WEBP or GIF; output PNG, per https://www.alibabacloud.com/help/en/model-studio/qwen-image-edit-guide (covers the qwen-image-2.1 series). +schema = 2 +type = "image" +name = "Qwen-Image-2.1" +description = "Unified text-to-image generation and image editing model with native RGBA transparency and reference-image editing" +family = "qwen" +open_weights = true +release_date = "2026-09-14" +last_updated = "2026-09-21" +license = "qwen-research" + +[modalities] +input = ["text", "image/jpeg", "image/png", "image/bmp", "image/tiff", "image/webp", "image/gif"] +output = ["image/png"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 8_192 +output = 0 + +[[weights]] +label = "Hugging Face" +url = "https://huggingface.co/Qwen/Qwen-Image-2.1" + +[[links]] +label = "Blog" +url = "https://qwen.ai/blog?id=qwen-image-2.1" +type = "announcement" + +[[links]] +label = "GitHub" +url = "https://github.com/QwenLM/Qwen-Image-2.1" +type = "docs" diff --git a/models/alibaba/qwen-image-3.0-pro.toml b/models/alibaba/qwen-image-3.0-pro.toml new file mode 100644 index 0000000000..116875922f --- /dev/null +++ b/models/alibaba/qwen-image-3.0-pro.toml @@ -0,0 +1,29 @@ +# Prompt input recommended maximum is 4500 tokens; excess is truncated, not context. +# https://docs.qwencloud.com/api-reference/image-generation/qwen-text-to-image +# Released 2026-08-05: https://www.linkedin.com/posts/alibaba-cloud-computing-company_qwen-qwenimage3-alibabacloud-activity-7490710686034116610--0U- +# https://www.alibabacloud.com/help/en/model-studio/qwen-image-3-0-pro +# Input JPG, JPEG, PNG, BMP, TIFF, WEBP or GIF; output PNG: https://www.alibabacloud.com/help/en/model-studio/qwen-image-edit-guide +schema = 2 +v2_only = true +type = "image" +name = "Qwen-Image-3.0-Pro" +description = "Higher-quality Qwen-Image-3.0 for complex layouts, small text and photographic detail" +family = "qwen" +open_weights = false +release_date = "2026-08-05" + +[modalities] +input = ["text", "image/jpeg", "image/png", "image/bmp", "image/tiff", "image/webp", "image/gif"] +output = ["image/png"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +input = 4_500 +context = 0 +output = 0 diff --git a/models/alibaba/qwen-image-3.0.toml b/models/alibaba/qwen-image-3.0.toml new file mode 100644 index 0000000000..9191a26178 --- /dev/null +++ b/models/alibaba/qwen-image-3.0.toml @@ -0,0 +1,26 @@ +# Released 2026-08-05: https://www.linkedin.com/posts/alibaba-cloud-computing-company_qwen-qwenimage3-alibabacloud-activity-7490710686034116610--0U- +# https://docs.modelstudio.console.alibabacloud.com/en/model-studio/qwen-image-generation-and-editing-api-reference +# Input JPG, JPEG, PNG, BMP, TIFF, WEBP or GIF; output PNG: https://www.alibabacloud.com/help/en/model-studio/qwen-image-edit-guide +schema = 2 +v2_only = true +type = "image" +name = "Qwen-Image-3.0" +description = "Unified image generation and editing model with dense layouts and small-text rendering" +family = "qwen" +open_weights = false +release_date = "2026-08-05" + +[modalities] +input = ["text", "image/jpeg", "image/png", "image/bmp", "image/tiff", "image/webp", "image/gif"] +output = ["image/png"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 0 +output = 0 diff --git a/models/alibaba/qwen-max.toml b/models/alibaba/qwen-max.toml index 03daab6618..dba28d701a 100644 --- a/models/alibaba/qwen-max.toml +++ b/models/alibaba/qwen-max.toml @@ -1,23 +1,28 @@ +# Sampling: temperature, top_p and top_k are request parameters on Model Studio: https://www.alibabacloud.com/help/en/model-studio/qwen-api-via-openai-chat-completions +schema = 2 name = "Qwen Max" description = "Flagship Qwen model for complex reasoning, coding, and agentic workflows" family = "qwen" +open_weights = false +knowledge = "2024-04" release_date = "2024-04-03" last_updated = "2025-01-25" -attachment = false -reasoning = false + +[modalities] +input = ["text"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = false } temperature = true -tool_call = true -knowledge = "2024-04" -open_weights = false +top_p = true +top_k = true [limit] context = 32_768 output = 8_192 -[modalities] -input = ["text"] -output = ["text"] - [[benchmarks]] name = "Aider Polyglot" score = 21.8 diff --git a/models/alibaba/qwen-mt-plus.toml b/models/alibaba/qwen-mt-plus.toml new file mode 100644 index 0000000000..b6ab6ba48f --- /dev/null +++ b/models/alibaba/qwen-mt-plus.toml @@ -0,0 +1,26 @@ +# https://www.qwencloud.com/models/qwen-mt-plus +# https://www.alibabacloud.com/help/en/model-studio/qwen-mt-plus +# https://qwenlm.github.io/blog/qwen-mt/ +# https://novita.ai/models/model-detail/qwen-qwen-mt-plus +# Sampling: temperature, top_p and top_k are request parameters on Model Studio: https://www.alibabacloud.com/help/en/model-studio/qwen-api-via-openai-chat-completions +schema = 2 +name = "Qwen MT Plus" +description = "Flagship Qwen translation model with terminology control and support for 92 languages" +family = "qwen" +open_weights = false +release_date = "2025-07-24" + +[modalities] +input = ["text"] +output = ["text"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = true +top_p = true +top_k = true + +[limit] +context = 16_384 +output = 8_192 diff --git a/models/alibaba/qwen-omni-turbo.toml b/models/alibaba/qwen-omni-turbo.toml index 02467182f7..10dd4b753e 100644 --- a/models/alibaba/qwen-omni-turbo.toml +++ b/models/alibaba/qwen-omni-turbo.toml @@ -1,19 +1,27 @@ +# Audio input: AMR, WAV, 3GP/3GPP, AAC, MP3 per https://www.alibabacloud.com/help/en/model-studio/qwen-omni (registered MIME types used) +# Sampling: temperature, top_p and top_k are request parameters on Model Studio: https://www.alibabacloud.com/help/en/model-studio/qwen-api-via-openai-chat-completions +# Output audio: "Only wav is supported" per https://www.alibabacloud.com/help/en/model-studio/qwen-api-via-openai-chat-completions. +# Image input (attachment): the Qwen-Omni page as archived 2025-06-14 (https://web.archive.org/web/20250614083007/https://www.alibabacloud.com/help/en/model-studio/qwen-omni) lists "Image+Text" among the supported input combinations for Qwen-Omni (qwen-omni-turbo and qwen2.5-omni-7b); the current page no longer covers these retired models. +schema = 2 name = "Qwen-Omni Turbo" description = "Qwen omni model for text, vision, audio, and multimodal agent tasks" family = "qwen" +open_weights = false +knowledge = "2024-04" release_date = "2025-01-19" last_updated = "2025-03-26" -attachment = false -reasoning = false + +[modalities] +input = ["text", "image/bmp", "image/jpeg", "image/png", "image/tiff", "image/webp", "image/heic", "audio/amr", "audio/wav", "audio/3gpp", "audio/aac", "audio/mpeg", "video/mp4", "video/x-msvideo", "video/x-matroska", "video/quicktime", "video/x-flv", "video/x-ms-wmv"] +output = ["text", "audio/wav"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = false } temperature = true -tool_call = true -knowledge = "2024-04" -open_weights = false +top_p = true +top_k = true [limit] context = 32_768 output = 2_048 - -[modalities] -input = ["text", "image", "audio", "video"] -output = ["text", "audio"] diff --git a/models/alibaba/qwen-plus.toml b/models/alibaba/qwen-plus.toml index 84e42955d9..7cf731cbcb 100644 --- a/models/alibaba/qwen-plus.toml +++ b/models/alibaba/qwen-plus.toml @@ -1,19 +1,24 @@ +# Sampling: temperature, top_p and top_k are request parameters on Model Studio: https://www.alibabacloud.com/help/en/model-studio/qwen-api-via-openai-chat-completions +schema = 2 name = "Qwen Plus" description = "Qwen instruction model for multilingual chat, reasoning, and tool use" family = "qwen" +open_weights = false +knowledge = "2024-04" release_date = "2024-01-25" last_updated = "2025-09-11" -attachment = false -reasoning = true + +[modalities] +input = ["text"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } temperature = true -tool_call = true -knowledge = "2024-04" -open_weights = false +top_p = true +top_k = true [limit] context = 1_000_000 output = 32_768 - -[modalities] -input = ["text"] -output = ["text"] diff --git a/models/alibaba/qwen-turbo.toml b/models/alibaba/qwen-turbo.toml index d4659c1cc3..dd0b9064c0 100644 --- a/models/alibaba/qwen-turbo.toml +++ b/models/alibaba/qwen-turbo.toml @@ -1,19 +1,24 @@ +# Sampling: temperature, top_p and top_k are request parameters on Model Studio: https://www.alibabacloud.com/help/en/model-studio/qwen-api-via-openai-chat-completions +schema = 2 name = "Qwen Turbo" description = "Efficient Qwen model for fast chat, extraction, and high-volume workloads" family = "qwen" +open_weights = false +knowledge = "2024-04" release_date = "2024-11-01" last_updated = "2025-04-28" -attachment = false -reasoning = true + +[modalities] +input = ["text"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } temperature = true -tool_call = true -knowledge = "2024-04" -open_weights = false +top_p = true +top_k = true [limit] context = 1_000_000 output = 16_384 - -[modalities] -input = ["text"] -output = ["text"] diff --git a/models/alibaba/qwen-vl-max.toml b/models/alibaba/qwen-vl-max.toml index dd9448f830..7e155d66fd 100644 --- a/models/alibaba/qwen-vl-max.toml +++ b/models/alibaba/qwen-vl-max.toml @@ -1,19 +1,25 @@ +# Input MIME types: images and video per https://www.alibabacloud.com/help/en/model-studio/vision (Image limits, Video limits; video lists extensions, registered MIME types used) +# Sampling: temperature, top_p and top_k are request parameters on Model Studio: https://www.alibabacloud.com/help/en/model-studio/qwen-api-via-openai-chat-completions +schema = 2 name = "Qwen-VL Max" description = "Qwen vision-language model for visual reasoning, documents, and agent tasks" family = "qwen" +open_weights = false +knowledge = "2024-04" release_date = "2024-04-08" last_updated = "2025-08-13" -attachment = false -reasoning = false + +[modalities] +input = ["text", "image/bmp", "image/jpeg", "image/png", "image/tiff", "image/webp", "image/heic"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = false } temperature = true -tool_call = true -knowledge = "2024-04" -open_weights = false +top_p = true +top_k = true [limit] context = 131_072 output = 8_192 - -[modalities] -input = ["text", "image"] -output = ["text"] diff --git a/models/alibaba/qwen-vl-plus.toml b/models/alibaba/qwen-vl-plus.toml index ca3faf4bee..817705c1a0 100644 --- a/models/alibaba/qwen-vl-plus.toml +++ b/models/alibaba/qwen-vl-plus.toml @@ -1,19 +1,25 @@ +# Input MIME types: images and video per https://www.alibabacloud.com/help/en/model-studio/vision (Image limits, Video limits; video lists extensions, registered MIME types used) +# Sampling: temperature, top_p and top_k are request parameters on Model Studio: https://www.alibabacloud.com/help/en/model-studio/qwen-api-via-openai-chat-completions +schema = 2 name = "Qwen-VL Plus" description = "Qwen vision-language model for visual reasoning, documents, and agent tasks" family = "qwen" +open_weights = false +knowledge = "2024-04" release_date = "2024-01-25" last_updated = "2025-08-15" -attachment = false -reasoning = false + +[modalities] +input = ["text", "image/bmp", "image/jpeg", "image/png", "image/tiff", "image/webp", "image/heic"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = false } temperature = true -tool_call = true -knowledge = "2024-04" -open_weights = false +top_p = true +top_k = true [limit] context = 131_072 output = 8_192 - -[modalities] -input = ["text", "image"] -output = ["text"] diff --git a/models/alibaba/qwen2-5-vl-72b-instruct.toml b/models/alibaba/qwen2-5-vl-72b-instruct.toml index 73513a30a9..575e3a65b6 100644 --- a/models/alibaba/qwen2-5-vl-72b-instruct.toml +++ b/models/alibaba/qwen2-5-vl-72b-instruct.toml @@ -1,23 +1,29 @@ +# Input MIME types: images and video per https://www.alibabacloud.com/help/en/model-studio/vision (Image limits, Video limits; video lists extensions, registered MIME types used) +# Sampling: temperature, top_p and top_k are request parameters on Model Studio: https://www.alibabacloud.com/help/en/model-studio/qwen-api-via-openai-chat-completions +# Release: Qwen2.5-VL blog, published 2025-01-26: https://qwenlm.github.io/blog/qwen2.5-vl/ +schema = 2 name = "Qwen2.5-VL 72B Instruct" description = "Qwen vision-language model for visual reasoning, documents, and agent tasks" family = "qwen" -release_date = "2024-09" -last_updated = "2024-09" -attachment = false -reasoning = false -temperature = true -tool_call = true -knowledge = "2024-04" open_weights = true +knowledge = "2024-04" +release_date = "2025-01-26" + +[modalities] +input = ["text", "image/bmp", "image/jpeg", "image/png", "image/tiff", "image/webp", "image/heic"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = false } +temperature = true +top_p = true +top_k = true [limit] context = 131_072 output = 8_192 -[modalities] -input = ["text", "image"] -output = ["text"] - [[weights]] label = "Hugging Face" url = "https://huggingface.co/Qwen/Qwen2.5-VL-72B-Instruct" diff --git a/models/alibaba/qwen2.5-7b-instruct.toml b/models/alibaba/qwen2.5-7b-instruct.toml new file mode 100644 index 0000000000..a06e3b8d83 --- /dev/null +++ b/models/alibaba/qwen2.5-7b-instruct.toml @@ -0,0 +1,30 @@ +# Model card (https://huggingface.co/Qwen/Qwen2.5-7B-Instruct): instruction-tuned, "Context Length: Full +# 131,072 tokens and generation 8192 tokens" (config.json ships 32,768; YaRN extends it); tool use via the chat +# template; Apache 2.0. Released with the Qwen2.5 family on 2024-09-19 (https://qwenlm.github.io/blog/qwen2.5/). +# Sampling: open weights, so temperature/top_p/top_k are runtime features of the host. +schema = 2 +name = "Qwen2.5 7B Instruct" +description = "Small open Qwen2.5 instruction model for chat, structured output, and tool use" +family = "qwen" +open_weights = true +release_date = "2024-09-19" +license = "Apache 2.0" + +[modalities] +input = ["text"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = false } +temperature = true +top_p = true +top_k = true + +[limit] +context = 131_072 +output = 8_192 + +[[weights]] +label = "Hugging Face" +url = "https://huggingface.co/Qwen/Qwen2.5-7B-Instruct" diff --git a/models/alibaba/qwen2.5-coder-0.5b.toml b/models/alibaba/qwen2.5-coder-0.5b.toml index db76c6b68d..f120112b55 100644 --- a/models/alibaba/qwen2.5-coder-0.5b.toml +++ b/models/alibaba/qwen2.5-coder-0.5b.toml @@ -1,23 +1,27 @@ +# Sampling: temperature, top_p and top_k are request parameters on Model Studio: https://www.alibabacloud.com/help/en/model-studio/qwen-api-via-openai-chat-completions +schema = 2 name = "Qwen2.5-Coder-0.5B" description = "Tiny open Qwen code model for lightweight completion and on-device coding" family = "qwen" -release_date = "2024-11-12" -last_updated = "2024-11-12" -attachment = false -reasoning = false -temperature = true -tool_call = false open_weights = true +release_date = "2024-11-12" license = "Apache 2.0" -[limit] -context = 32_768 -output = 8_192 - [modalities] input = ["text"] output = ["text"] +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = true +top_p = true +top_k = true + +[limit] +context = 32_768 +output = 8_192 + [[weights]] label = "Hugging Face" url = "https://huggingface.co/Qwen/Qwen2.5-Coder-0.5B" diff --git a/models/alibaba/qwen2.5-coder-32b-instruct.toml b/models/alibaba/qwen2.5-coder-32b-instruct.toml index b8d778b20f..784ca0149b 100644 --- a/models/alibaba/qwen2.5-coder-32b-instruct.toml +++ b/models/alibaba/qwen2.5-coder-32b-instruct.toml @@ -1,22 +1,26 @@ +# Sampling: temperature, top_p and top_k are request parameters on Model Studio: https://www.alibabacloud.com/help/en/model-studio/qwen-api-via-openai-chat-completions +schema = 2 name = "Qwen2.5-Coder-32B-Instruct" description = "Open coding-focused Qwen model for code generation, repair, and repository reasoning" family = "qwen" +open_weights = true release_date = "2024-11-12" -last_updated = "2024-11-12" -attachment = false -reasoning = false + +[modalities] +input = ["text"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = false } temperature = true -tool_call = true -open_weights = true +top_p = true +top_k = true [limit] context = 131_072 output = 8_192 -[modalities] -input = ["text"] -output = ["text"] - [[weights]] label = "Hugging Face" url = "https://huggingface.co/Qwen/Qwen2.5-Coder-32B-Instruct" diff --git a/models/alibaba/qwen3-235b-a22b-instruct-2507.toml b/models/alibaba/qwen3-235b-a22b-instruct-2507.toml index f38e0514c6..e1271f42df 100644 --- a/models/alibaba/qwen3-235b-a22b-instruct-2507.toml +++ b/models/alibaba/qwen3-235b-a22b-instruct-2507.toml @@ -1,23 +1,27 @@ +# Sampling: temperature, top_p and top_k are request parameters on Model Studio: https://www.alibabacloud.com/help/en/model-studio/qwen-api-via-openai-chat-completions +schema = 2 name = "Qwen3 235B-A22B Instruct 2507" description = "Updated large open Qwen3 MoE instruct model for multilingual chat, coding, and tool use" family = "qwen" -release_date = "2025-07-21" -last_updated = "2025-07-21" -attachment = false -reasoning = false -temperature = true -tool_call = true open_weights = true +release_date = "2025-07-21" license = "Apache 2.0" -[limit] -context = 262_144 -output = 16_384 - [modalities] input = ["text"] output = ["text"] +[capabilities] +tools = { supported = true } +reasoning = { supported = false } +temperature = true +top_p = true +top_k = true + +[limit] +context = 262_144 +output = 16_384 + [[weights]] label = "Hugging Face" url = "https://huggingface.co/Qwen/Qwen3-235B-A22B-Instruct-2507" diff --git a/models/alibaba/qwen3-235b-a22b-thinking-2507.toml b/models/alibaba/qwen3-235b-a22b-thinking-2507.toml new file mode 100644 index 0000000000..ef6387011a --- /dev/null +++ b/models/alibaba/qwen3-235b-a22b-thinking-2507.toml @@ -0,0 +1,31 @@ +# Model card: https://huggingface.co/Qwen/Qwen3-235B-A22B-Thinking-2507 (created 2025-07-25, Apache 2.0). +# Thinking mode only; 262,144-token native context. +# Output 81,920: the model card's Best Practices suggest "setting the max output length to 81,920 tokens" for highly +# complex problems (32,768 for most queries); 81,920 is the largest output the lab documents. https://huggingface.co/Qwen/Qwen3-235B-A22B-Thinking-2507#best-practices +# Sampling: temperature, top_p and top_k are request parameters on Model Studio: https://www.alibabacloud.com/help/en/model-studio/qwen-api-via-openai-chat-completions +schema = 2 +name = "Qwen3 235B-A22B Thinking 2507" +description = "Updated large open Qwen3 MoE thinking model for reasoning, math, coding, and tool use" +family = "qwen" +open_weights = true +release_date = "2025-07-25" +license = "Apache 2.0" + +[modalities] +input = ["text"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } +temperature = true +top_p = true +top_k = true + +[limit] +context = 262_144 +output = 81_920 + +[[weights]] +label = "Hugging Face" +url = "https://huggingface.co/Qwen/Qwen3-235B-A22B-Thinking-2507" diff --git a/models/alibaba/qwen3-235b-a22b.toml b/models/alibaba/qwen3-235b-a22b.toml index fde14144b1..baa62d61dc 100644 --- a/models/alibaba/qwen3-235b-a22b.toml +++ b/models/alibaba/qwen3-235b-a22b.toml @@ -1,23 +1,28 @@ +# Sampling: temperature, top_p and top_k are request parameters on Model Studio: https://www.alibabacloud.com/help/en/model-studio/qwen-api-via-openai-chat-completions +# Release: Qwen3 blog, published 2025-04-29 04:00 +08:00 (2025-04-28 UTC): https://qwenlm.github.io/blog/qwen3/ +schema = 2 name = "Qwen3 235B-A22B" description = "Large open Qwen MoE for multilingual reasoning, coding, and tool use" family = "qwen" -release_date = "2025-04" -last_updated = "2025-04" -attachment = false -reasoning = true -temperature = true -tool_call = true -knowledge = "2025-04" open_weights = true - -[limit] -context = 131_072 -output = 16_384 +knowledge = "2025-04" +release_date = "2025-04-28" [modalities] input = ["text"] output = ["text"] +[capabilities] +tools = { supported = true } +reasoning = { supported = true } +temperature = true +top_p = true +top_k = true + +[limit] +context = 131_072 +output = 16_384 + [[weights]] label = "Hugging Face" url = "https://huggingface.co/Qwen/Qwen3-235B-A22B" diff --git a/models/alibaba/qwen3-30b-a3b-instruct-2507.toml b/models/alibaba/qwen3-30b-a3b-instruct-2507.toml new file mode 100644 index 0000000000..71a8e29293 --- /dev/null +++ b/models/alibaba/qwen3-30b-a3b-instruct-2507.toml @@ -0,0 +1,32 @@ +# https://huggingface.co/Qwen/Qwen3-30B-A3B-Instruct-2507 (model card, accessed 2026-10-20): +# - Non-thinking only ("supports only non-thinking mode and does not generate blocks"). +# - Context length 262,144 natively; recommended output length 16,384 tokens (same as the 235B sibling). +# - Tool usage covered in the card's agentic section (Qwen-Agent tool calling); Apache-2.0. +# - release_date: Hugging Face repository creation, 2025-07-28 (https://huggingface.co/api/models/Qwen/Qwen3-30B-A3B-Instruct-2507). +# Sampling: temperature, top_p and top_k are request parameters on Model Studio: https://www.alibabacloud.com/help/en/model-studio/qwen-api-via-openai-chat-completions +schema = 2 +name = "Qwen3 30B-A3B Instruct 2507" +description = "Updated compact Qwen3 MoE instruct model for multilingual chat, coding, and tool use" +family = "qwen" +open_weights = true +release_date = "2025-07-28" +license = "Apache 2.0" + +[modalities] +input = ["text"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = false } +temperature = true +top_p = true +top_k = true + +[limit] +context = 262_144 +output = 16_384 + +[[weights]] +label = "Hugging Face" +url = "https://huggingface.co/Qwen/Qwen3-30B-A3B-Instruct-2507" diff --git a/models/alibaba/qwen3-30b-a3b.toml b/models/alibaba/qwen3-30b-a3b.toml index 13a8af7bac..d4a954a868 100644 --- a/models/alibaba/qwen3-30b-a3b.toml +++ b/models/alibaba/qwen3-30b-a3b.toml @@ -1,22 +1,26 @@ +# Sampling: temperature, top_p and top_k are request parameters on Model Studio: https://www.alibabacloud.com/help/en/model-studio/qwen-api-via-openai-chat-completions +schema = 2 name = "Qwen3 30B A3B" description = "Sparse MoE Qwen model with 3B active parameters for efficient chat and reasoning" family = "qwen" +open_weights = true release_date = "2025-04-28" -last_updated = "2025-04-28" -attachment = false -reasoning = true + +[modalities] +input = ["text"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } temperature = true -tool_call = true -open_weights = true +top_p = true +top_k = true [limit] context = 131_072 output = 16_384 -[modalities] -input = ["text"] -output = ["text"] - [[weights]] label = "Hugging Face" url = "https://huggingface.co/Qwen/Qwen3-30B-A3B" diff --git a/models/alibaba/qwen3-32b.toml b/models/alibaba/qwen3-32b.toml index e0499e6375..2c134fdf16 100644 --- a/models/alibaba/qwen3-32b.toml +++ b/models/alibaba/qwen3-32b.toml @@ -1,23 +1,28 @@ +# Sampling: temperature, top_p and top_k are request parameters on Model Studio: https://www.alibabacloud.com/help/en/model-studio/qwen-api-via-openai-chat-completions +# Release: Qwen3 blog, published 2025-04-29 04:00 +08:00 (2025-04-28 UTC): https://qwenlm.github.io/blog/qwen3/ +schema = 2 name = "Qwen3 32B" description = "Dense open Qwen model for self-hosted chat, reasoning, and coding" family = "qwen" -release_date = "2025-04" -last_updated = "2025-04" -attachment = false -reasoning = true -temperature = true -tool_call = true -knowledge = "2025-04" open_weights = true - -[limit] -context = 131_072 -output = 16_384 +knowledge = "2025-04" +release_date = "2025-04-28" [modalities] input = ["text"] output = ["text"] +[capabilities] +tools = { supported = true } +reasoning = { supported = true } +temperature = true +top_p = true +top_k = true + +[limit] +context = 131_072 +output = 16_384 + [[weights]] label = "Hugging Face" url = "https://huggingface.co/Qwen/Qwen3-32B" diff --git a/models/alibaba/qwen3-8b.toml b/models/alibaba/qwen3-8b.toml new file mode 100644 index 0000000000..3ca097ef67 --- /dev/null +++ b/models/alibaba/qwen3-8b.toml @@ -0,0 +1,31 @@ +# Sources (accessed 2026-10-21): https://huggingface.co/Qwen/Qwen3-8B (Apache-2.0; Qwen3 release 2025-04-29, +# https://qwenlm.github.io/blog/qwen3/). Dense 8.2B; thinking and non-thinking modes (enable_thinking); tool calling; +# context 32,768 natively (131,072 with YaRN). +# Not v2_only: v1 already serves Qwen3-8B (siliconflow, siliconflow-cn, pioneer), which can link here later. +# Sampling: open weights, so temperature, top_p and top_k are runtime sampler settings on any host. +schema = 2 +name = "Qwen3 8B" +description = "Dense 8B Qwen3 model with switchable thinking for chat, reasoning, and tool use" +family = "qwen" +open_weights = true +release_date = "2025-04-29" +license = "Apache-2.0" + +[modalities] +input = ["text"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } +temperature = true +top_p = true +top_k = true + +[limit] +context = 32_768 +output = 32_768 + +[[weights]] +label = "Hugging Face" +url = "https://huggingface.co/Qwen/Qwen3-8B" diff --git a/models/alibaba/qwen3-asr-0.6b.toml b/models/alibaba/qwen3-asr-0.6b.toml new file mode 100644 index 0000000000..efbd448570 --- /dev/null +++ b/models/alibaba/qwen3-asr-0.6b.toml @@ -0,0 +1,31 @@ +# Released January 2026 (Apache-2.0): https://huggingface.co/Qwen/Qwen3-ASR-0.6B +# Input formats: the common list in OpenRouter's speech-to-text docs (the lab lists none here): +# https://openrouter.ai/docs/guides/overview/multimodal/stt +schema = 2 +v2_only = true +type = "transcription" +name = "Qwen3 ASR 0.6B" +description = "Open multilingual speech recognition model covering 30 languages and 22 Chinese dialects" +family = "qwen" +open_weights = true +release_date = "2026-01" +license = "Apache-2.0" + +[modalities] +input = ["audio/wav", "audio/mpeg", "audio/flac", "audio/mp4", "audio/ogg", "audio/webm", "audio/aac"] +output = ["text"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 0 +output = 0 + +[[weights]] +label = "Hugging Face" +url = "https://huggingface.co/Qwen/Qwen3-ASR-0.6B" diff --git a/models/alibaba/qwen3-asr-1.7b.toml b/models/alibaba/qwen3-asr-1.7b.toml new file mode 100644 index 0000000000..de75ed556d --- /dev/null +++ b/models/alibaba/qwen3-asr-1.7b.toml @@ -0,0 +1,31 @@ +# Released January 2026 (Apache-2.0): https://huggingface.co/Qwen/Qwen3-ASR-1.7B +# Input formats: the common list in OpenRouter's speech-to-text docs (the lab lists none here): +# https://openrouter.ai/docs/guides/overview/multimodal/stt +schema = 2 +v2_only = true +type = "transcription" +name = "Qwen3 ASR 1.7B" +description = "Open multilingual speech recognition model covering 30 languages and 22 Chinese dialects" +family = "qwen" +open_weights = true +release_date = "2026-01" +license = "Apache-2.0" + +[modalities] +input = ["audio/wav", "audio/mpeg", "audio/flac", "audio/mp4", "audio/ogg", "audio/webm", "audio/aac"] +output = ["text"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 0 +output = 0 + +[[weights]] +label = "Hugging Face" +url = "https://huggingface.co/Qwen/Qwen3-ASR-1.7B" diff --git a/models/alibaba/qwen3-coder-30b-a3b-instruct.toml b/models/alibaba/qwen3-coder-30b-a3b-instruct.toml index 84125ee33c..0b6c0a4f22 100644 --- a/models/alibaba/qwen3-coder-30b-a3b-instruct.toml +++ b/models/alibaba/qwen3-coder-30b-a3b-instruct.toml @@ -1,23 +1,28 @@ +# Sampling: temperature, top_p and top_k are request parameters on Model Studio: https://www.alibabacloud.com/help/en/model-studio/qwen-api-via-openai-chat-completions +# Release: Hugging Face repo Qwen/Qwen3-Coder-30B-A3B-Instruct created 2025-07-31 +schema = 2 name = "Qwen3-Coder 30B-A3B Instruct" description = "Smaller Qwen coder for efficient local agents and repo-level fixes" family = "qwen" -release_date = "2025-04" -last_updated = "2025-04" -attachment = false -reasoning = false -temperature = true -tool_call = true -knowledge = "2025-04" open_weights = true - -[limit] -context = 262_144 -output = 65_536 +knowledge = "2025-04" +release_date = "2025-07-31" [modalities] input = ["text"] output = ["text"] +[capabilities] +tools = { supported = true } +reasoning = { supported = false } +temperature = true +top_p = true +top_k = true + +[limit] +context = 262_144 +output = 65_536 + [[weights]] label = "Hugging Face" url = "https://huggingface.co/Qwen/Qwen3-Coder-30B-A3B-Instruct" diff --git a/models/alibaba/qwen3-coder-480b-a35b-instruct.toml b/models/alibaba/qwen3-coder-480b-a35b-instruct.toml index 3b02cc21e5..206320a7b4 100644 --- a/models/alibaba/qwen3-coder-480b-a35b-instruct.toml +++ b/models/alibaba/qwen3-coder-480b-a35b-instruct.toml @@ -1,23 +1,28 @@ +# Sampling: temperature, top_p and top_k are request parameters on Model Studio: https://www.alibabacloud.com/help/en/model-studio/qwen-api-via-openai-chat-completions +# Release: Qwen3-Coder blog, published 2025-07-22: https://qwenlm.github.io/blog/qwen3-coder/ +schema = 2 name = "Qwen3-Coder 480B-A35B Instruct" description = "Open Qwen coding heavyweight for repository reasoning and agentic engineering" family = "qwen" -release_date = "2025-04" -last_updated = "2025-04" -attachment = false -reasoning = false -temperature = true -tool_call = true -knowledge = "2025-04" open_weights = true - -[limit] -context = 262_144 -output = 65_536 +knowledge = "2025-04" +release_date = "2025-07-22" [modalities] input = ["text"] output = ["text"] +[capabilities] +tools = { supported = true } +reasoning = { supported = false } +temperature = true +top_p = true +top_k = true + +[limit] +context = 262_144 +output = 65_536 + [[weights]] label = "Hugging Face" url = "https://huggingface.co/Qwen/Qwen3-Coder-480B-A35B-Instruct" diff --git a/models/alibaba/qwen3-coder-flash.toml b/models/alibaba/qwen3-coder-flash.toml index 2d2ff0f79d..82dbd3af90 100644 --- a/models/alibaba/qwen3-coder-flash.toml +++ b/models/alibaba/qwen3-coder-flash.toml @@ -1,19 +1,23 @@ +# Sampling: temperature, top_p and top_k are request parameters on Model Studio: https://www.alibabacloud.com/help/en/model-studio/qwen-api-via-openai-chat-completions +schema = 2 name = "Qwen3 Coder Flash" description = "Qwen coding model for software agents, repository edits, and code reasoning" family = "qwen" +open_weights = false +knowledge = "2025-04" release_date = "2025-07-28" -last_updated = "2025-07-28" -attachment = false -reasoning = false + +[modalities] +input = ["text"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = false } temperature = true -tool_call = true -knowledge = "2025-04" -open_weights = false +top_p = true +top_k = true [limit] context = 1_000_000 output = 65_536 - -[modalities] -input = ["text"] -output = ["text"] diff --git a/models/alibaba/qwen3-coder-next.toml b/models/alibaba/qwen3-coder-next.toml index cce2c7bb62..f859071f0d 100644 --- a/models/alibaba/qwen3-coder-next.toml +++ b/models/alibaba/qwen3-coder-next.toml @@ -1,27 +1,30 @@ # https://qwen.ai/blog?id=qwen3-coder-next # https://huggingface.co/Qwen/Qwen3-Coder-Next # https://www.qwencloud.com/models/qwen3-coder-next +# Sampling: temperature, top_p and top_k are request parameters on Model Studio: https://www.alibabacloud.com/help/en/model-studio/qwen-api-via-openai-chat-completions +schema = 2 name = "Qwen3 Coder Next" description = "Open-weight Qwen coding model for agents, repository edits, and multi-turn tool use" family = "qwen" +open_weights = true +knowledge = "2025-09" release_date = "2026-02-03" -last_updated = "2026-02-03" -attachment = false -reasoning = false + +[modalities] +input = ["text"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = false } temperature = true -tool_call = true -structured_output = true -knowledge = "2025-09" -open_weights = true +top_p = true +top_k = true [limit] context = 262_144 output = 65_536 -[modalities] -input = ["text"] -output = ["text"] - [[weights]] label = "Hugging Face" url = "https://huggingface.co/Qwen/Qwen3-Coder-Next" diff --git a/models/alibaba/qwen3-coder-plus.toml b/models/alibaba/qwen3-coder-plus.toml index 34eee456b3..4a6259043c 100644 --- a/models/alibaba/qwen3-coder-plus.toml +++ b/models/alibaba/qwen3-coder-plus.toml @@ -1,19 +1,23 @@ +# Sampling: temperature, top_p and top_k are request parameters on Model Studio: https://www.alibabacloud.com/help/en/model-studio/qwen-api-via-openai-chat-completions +schema = 2 name = "Qwen3 Coder Plus" description = "Hosted Qwen coder for software agents, repo edits, and long-context code" family = "qwen" +open_weights = false +knowledge = "2025-04" release_date = "2025-07-23" -last_updated = "2025-07-23" -attachment = false -reasoning = false + +[modalities] +input = ["text"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = false } temperature = true -tool_call = true -knowledge = "2025-04" -open_weights = false +top_p = true +top_k = true [limit] context = 1_048_576 output = 65_536 - -[modalities] -input = ["text"] -output = ["text"] diff --git a/models/alibaba/qwen3-embedding-0.6b.toml b/models/alibaba/qwen3-embedding-0.6b.toml new file mode 100644 index 0000000000..b701be0699 --- /dev/null +++ b/models/alibaba/qwen3-embedding-0.6b.toml @@ -0,0 +1,30 @@ +# https://huggingface.co/Qwen/Qwen3-Embedding-0.6B (Context Length: 32k; config.json max_position_embeddings 32768) +# Released 2025-06-05 with Qwen3 Embedding 4B and 8B: https://qwenlm.github.io/blog/qwen3-embedding/ +schema = 2 +v2_only = true +type = "embedding" +name = "Qwen3 Embedding 0.6B" +description = "Compact multilingual text embedding model for retrieval, code search, classification, and clustering" +family = "qwen" +open_weights = true +release_date = "2025-06-05" +license = "Apache-2.0" + +[modalities] +input = ["text"] +output = ["embedding"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 32_768 +output = 0 + +[[weights]] +label = "Hugging Face" +url = "https://huggingface.co/Qwen/Qwen3-Embedding-0.6B" diff --git a/models/alibaba/qwen3-embedding-4b.toml b/models/alibaba/qwen3-embedding-4b.toml new file mode 100644 index 0000000000..300ea63824 --- /dev/null +++ b/models/alibaba/qwen3-embedding-4b.toml @@ -0,0 +1,30 @@ +# https://huggingface.co/Qwen/Qwen3-Embedding-4B +# Released 2025-06-05 with Qwen3 Embedding 8B: https://qwenlm.github.io/blog/qwen3-embedding/ +schema = 2 +v2_only = true +type = "embedding" +name = "Qwen3 Embedding 4B" +description = "Multilingual text embedding model for retrieval, code search, classification, and clustering" +family = "qwen" +open_weights = true +release_date = "2025-06-05" +license = "Apache-2.0" + +[modalities] +input = ["text"] +output = ["embedding"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 32_768 +output = 0 + +[[weights]] +label = "Hugging Face" +url = "https://huggingface.co/Qwen/Qwen3-Embedding-4B" diff --git a/models/alibaba/qwen3-embedding-8b.toml b/models/alibaba/qwen3-embedding-8b.toml new file mode 100644 index 0000000000..65147e1937 --- /dev/null +++ b/models/alibaba/qwen3-embedding-8b.toml @@ -0,0 +1,29 @@ +# https://huggingface.co/Qwen/Qwen3-Embedding-8B +# https://qwenlm.github.io/blog/qwen3-embedding/ +schema = 2 +type = "embedding" +name = "Qwen3 Embedding 8B" +description = "Multilingual text embedding model for retrieval, code search, classification, and clustering" +family = "qwen" +open_weights = true +release_date = "2025-06-05" +license = "Apache-2.0" + +[modalities] +input = ["text"] +output = ["embedding"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 32_768 +output = 0 + +[[weights]] +label = "Hugging Face" +url = "https://huggingface.co/Qwen/Qwen3-Embedding-8B" diff --git a/models/alibaba/qwen3-max-preview.toml b/models/alibaba/qwen3-max-preview.toml new file mode 100644 index 0000000000..6fa3a9c94d --- /dev/null +++ b/models/alibaba/qwen3-max-preview.toml @@ -0,0 +1,26 @@ +# Lab metadata carried over from providers/vercel/models/alibaba/qwen3-max-preview.toml (curated catalogue data already in this repo), +# with provider-specific fields (cost, reasoning_options, status) stripped. +# Sampling: temperature, top_p and top_k are request parameters on Model Studio: https://www.alibabacloud.com/help/en/model-studio/qwen-api-via-openai-chat-completions +schema = 2 +name = "Qwen3 Max Preview" +description = "Flagship Qwen model for complex reasoning, coding, and agentic workflows" +family = "qwen" +open_weights = false +knowledge = "2025-04" +release_date = "2025-09-05" +last_updated = "2025-09-23" + +[modalities] +input = ["text"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = false } +temperature = true +top_p = true +top_k = true + +[limit] +context = 262_144 +output = 32_768 diff --git a/models/alibaba/qwen3-max.toml b/models/alibaba/qwen3-max.toml index 6dde9dcf1a..b6f0014aba 100644 --- a/models/alibaba/qwen3-max.toml +++ b/models/alibaba/qwen3-max.toml @@ -1,23 +1,27 @@ +# Sampling: temperature, top_p and top_k are request parameters on Model Studio: https://www.alibabacloud.com/help/en/model-studio/qwen-api-via-openai-chat-completions +schema = 2 name = "Qwen3 Max" description = "Flagship Qwen3 model for coding agents, complex reasoning, and tool use" family = "qwen" +open_weights = false +knowledge = "2025-04" release_date = "2025-09-23" -last_updated = "2025-09-23" -attachment = false -reasoning = false + +[modalities] +input = ["text"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = false } temperature = true -tool_call = true -knowledge = "2025-04" -open_weights = false +top_p = true +top_k = true [limit] context = 262_144 output = 65_536 -[modalities] -input = ["text"] -output = ["text"] - [[benchmarks]] name = "Artificial Analysis Coding Index" score = 26.4 diff --git a/models/alibaba/qwen3-next-80b-a3b-instruct.toml b/models/alibaba/qwen3-next-80b-a3b-instruct.toml index 740a025926..3941dc4a5b 100644 --- a/models/alibaba/qwen3-next-80b-a3b-instruct.toml +++ b/models/alibaba/qwen3-next-80b-a3b-instruct.toml @@ -1,23 +1,28 @@ +# Sampling: temperature, top_p and top_k are request parameters on Model Studio: https://www.alibabacloud.com/help/en/model-studio/qwen-api-via-openai-chat-completions +# Context: "262,144 natively and extensible up to 1,010,000 tokens" (https://huggingface.co/Qwen/Qwen3-Next-80B-A3B-Instruct) +schema = 2 name = "Qwen3-Next 80B-A3B Instruct" description = "Qwen instruction model for multilingual chat, reasoning, and tool use" family = "qwen" -release_date = "2025-09" -last_updated = "2025-09" -attachment = false -reasoning = false -temperature = true -tool_call = true -knowledge = "2025-04" open_weights = true - -[limit] -context = 131_072 -output = 32_768 +knowledge = "2025-04" +release_date = "2025-09" [modalities] input = ["text"] output = ["text"] +[capabilities] +tools = { supported = true } +reasoning = { supported = false } +temperature = true +top_p = true +top_k = true + +[limit] +context = 262_144 +output = 32_768 + [[weights]] label = "Hugging Face" url = "https://huggingface.co/Qwen/Qwen3-Next-80B-A3B-Instruct" diff --git a/models/alibaba/qwen3-next-80b-a3b-thinking.toml b/models/alibaba/qwen3-next-80b-a3b-thinking.toml index 4e295e18e8..61c52d72b5 100644 --- a/models/alibaba/qwen3-next-80b-a3b-thinking.toml +++ b/models/alibaba/qwen3-next-80b-a3b-thinking.toml @@ -1,23 +1,28 @@ +# Sampling: temperature, top_p and top_k are request parameters on Model Studio: https://www.alibabacloud.com/help/en/model-studio/qwen-api-via-openai-chat-completions +# Context: "262,144 natively and extensible up to 1,010,000 tokens" (https://huggingface.co/Qwen/Qwen3-Next-80B-A3B-Thinking) +schema = 2 name = "Qwen3-Next 80B-A3B (Thinking)" description = "Efficient Qwen thinking model for local reasoning, math, and coding agents" family = "qwen" -release_date = "2025-09" -last_updated = "2025-09" -attachment = false -reasoning = true -temperature = true -tool_call = true -knowledge = "2025-04" open_weights = true - -[limit] -context = 131_072 -output = 32_768 +knowledge = "2025-04" +release_date = "2025-09" [modalities] input = ["text"] output = ["text"] +[capabilities] +tools = { supported = true } +reasoning = { supported = true } +temperature = true +top_p = true +top_k = true + +[limit] +context = 262_144 +output = 32_768 + [[weights]] label = "Hugging Face" url = "https://huggingface.co/Qwen/Qwen3-Next-80B-A3B-Thinking" diff --git a/models/alibaba/qwen3-omni-30b-a3b-thinking.toml b/models/alibaba/qwen3-omni-30b-a3b-thinking.toml new file mode 100644 index 0000000000..1b4c1f7318 --- /dev/null +++ b/models/alibaba/qwen3-omni-30b-a3b-thinking.toml @@ -0,0 +1,31 @@ +# https://huggingface.co/Qwen/Qwen3-Omni-30B-A3B-Thinking +# https://qwen.ai/blog?id=qwen3-omni +# Input MIME types: images and video per https://www.alibabacloud.com/help/en/model-studio/vision (Image limits, Video limits; video lists extensions, registered MIME types used) +# Audio input: AMR, WAV, 3GP/3GPP, AAC, MP3 per https://www.alibabacloud.com/help/en/model-studio/qwen-omni (registered MIME types used) +# Sampling: temperature, top_p and top_k are request parameters on Model Studio: https://www.alibabacloud.com/help/en/model-studio/qwen-api-via-openai-chat-completions +schema = 2 +name = "Qwen3 Omni 30B A3B Thinking" +description = "Multimodal reasoning model accepting text, images, video, and audio with text output" +family = "qwen" +open_weights = true +release_date = "2025-09-22" +license = "Apache-2.0" + +[modalities] +input = ["text", "image/bmp", "image/jpeg", "image/png", "image/tiff", "image/webp", "image/heic", "video/mp4", "video/x-msvideo", "video/x-matroska", "video/quicktime", "video/x-flv", "video/x-ms-wmv", "audio/amr", "audio/wav", "audio/3gpp", "audio/aac", "audio/mpeg"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } +temperature = true +top_p = true +top_k = true + +[limit] +context = 65_536 +output = 16_384 + +[[weights]] +label = "Hugging Face" +url = "https://huggingface.co/Qwen/Qwen3-Omni-30B-A3B-Thinking" diff --git a/models/alibaba/qwen3-reranker-0.6b.toml b/models/alibaba/qwen3-reranker-0.6b.toml new file mode 100644 index 0000000000..6c95f389f1 --- /dev/null +++ b/models/alibaba/qwen3-reranker-0.6b.toml @@ -0,0 +1,30 @@ +# https://huggingface.co/Qwen/Qwen3-Reranker-0.6B (Context Length: 32k) +# Released 2025-06-05 with the Qwen3 Embedding series: https://qwenlm.github.io/blog/qwen3-embedding/ +schema = 2 +v2_only = true +type = "reranking" +name = "Qwen3 Reranker 0.6B" +description = "Compact multilingual query-document reranking model supporting more than 100 languages" +family = "qwen" +open_weights = true +release_date = "2025-06-05" +license = "Apache-2.0" + +[modalities] +input = ["text"] +output = ["reranking"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 32_768 +output = 0 + +[[weights]] +label = "Hugging Face" +url = "https://huggingface.co/Qwen/Qwen3-Reranker-0.6B" diff --git a/models/alibaba/qwen3-reranker-8b.toml b/models/alibaba/qwen3-reranker-8b.toml new file mode 100644 index 0000000000..82435ad5f4 --- /dev/null +++ b/models/alibaba/qwen3-reranker-8b.toml @@ -0,0 +1,29 @@ +# https://huggingface.co/Qwen/Qwen3-Reranker-8B +# https://qwenlm.github.io/blog/qwen3-embedding/ +schema = 2 +type = "reranking" +name = "Qwen3 Reranker 8B" +description = "Multilingual query-document reranking model supporting more than 100 languages" +family = "qwen" +open_weights = true +release_date = "2025-06-05" +license = "Apache-2.0" + +[modalities] +input = ["text"] +output = ["reranking"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 32_768 +output = 0 + +[[weights]] +label = "Hugging Face" +url = "https://huggingface.co/Qwen/Qwen3-Reranker-8B" diff --git a/models/alibaba/qwen3-vl-235b-a22b-instruct.toml b/models/alibaba/qwen3-vl-235b-a22b-instruct.toml index f6d7739aa5..6a0354e881 100644 --- a/models/alibaba/qwen3-vl-235b-a22b-instruct.toml +++ b/models/alibaba/qwen3-vl-235b-a22b-instruct.toml @@ -1,24 +1,28 @@ +# Input MIME types: images and video per https://www.alibabacloud.com/help/en/model-studio/vision (Image limits, Video limits; video lists extensions, registered MIME types used) +# Sampling: temperature, top_p and top_k are request parameters on Model Studio: https://www.alibabacloud.com/help/en/model-studio/qwen-api-via-openai-chat-completions +schema = 2 name = "Qwen3 VL 235B A22B Instruct" description = "Qwen vision-language instruct model for visual reasoning, documents, and agent tasks" family = "qwen" +open_weights = true +knowledge = "2025-03-31" release_date = "2025-09-23" -last_updated = "2025-09-23" -attachment = true -reasoning = false + +[modalities] +input = ["text", "image/bmp", "image/jpeg", "image/png", "image/tiff", "image/webp", "image/heic"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = false } temperature = true -tool_call = true -structured_output = true -knowledge = "2025-03-31" -open_weights = true +top_p = true +top_k = true [limit] context = 131_072 output = 32_768 -[modalities] -input = ["text", "image"] -output = ["text"] - [[weights]] label = "Hugging Face" url = "https://huggingface.co/Qwen/Qwen3-VL-235B-A22B-Instruct" diff --git a/models/alibaba/qwen3-vl-235b-a22b-thinking.toml b/models/alibaba/qwen3-vl-235b-a22b-thinking.toml index 95ff9b7fa6..d9db489ae9 100644 --- a/models/alibaba/qwen3-vl-235b-a22b-thinking.toml +++ b/models/alibaba/qwen3-vl-235b-a22b-thinking.toml @@ -1,24 +1,28 @@ +# Input MIME types: images and video per https://www.alibabacloud.com/help/en/model-studio/vision (Image limits, Video limits; video lists extensions, registered MIME types used) +# Sampling: temperature, top_p and top_k are request parameters on Model Studio: https://www.alibabacloud.com/help/en/model-studio/qwen-api-via-openai-chat-completions +schema = 2 name = "Qwen3 VL 235B A22B Thinking" description = "Qwen vision-language thinking model for visual reasoning, documents, and agent tasks" family = "qwen" +open_weights = true +knowledge = "2025-03-31" release_date = "2025-09-23" -last_updated = "2025-09-23" -attachment = true -reasoning = true + +[modalities] +input = ["text", "image/bmp", "image/jpeg", "image/png", "image/tiff", "image/webp", "image/heic"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } temperature = true -tool_call = true -structured_output = true -knowledge = "2025-03-31" -open_weights = true +top_p = true +top_k = true [limit] context = 131_072 output = 32_768 -[modalities] -input = ["text", "image"] -output = ["text"] - [[weights]] label = "Hugging Face" url = "https://huggingface.co/Qwen/Qwen3-VL-235B-A22B-Thinking" diff --git a/models/alibaba/qwen3-vl-30b-a3b-instruct.toml b/models/alibaba/qwen3-vl-30b-a3b-instruct.toml new file mode 100644 index 0000000000..4c9c0672d9 --- /dev/null +++ b/models/alibaba/qwen3-vl-30b-a3b-instruct.toml @@ -0,0 +1,30 @@ +# https://huggingface.co/Qwen/Qwen3-VL-30B-A3B-Instruct +# https://github.com/QwenLM/Qwen3-VL (News: 2025.10.4) +# Input MIME types: images and video per https://www.alibabacloud.com/help/en/model-studio/vision (Image limits, Video limits; video lists extensions, registered MIME types used) +# Sampling: temperature, top_p and top_k are request parameters on Model Studio: https://www.alibabacloud.com/help/en/model-studio/qwen-api-via-openai-chat-completions +schema = 2 +name = "Qwen3 VL 30B A3B Instruct" +description = "Open vision-language MoE model for image and video understanding, documents, and visual agents" +family = "qwen" +open_weights = true +release_date = "2025-10-04" +license = "Apache-2.0" + +[modalities] +input = ["text", "image/bmp", "image/jpeg", "image/png", "image/tiff", "image/webp", "image/heic", "video/mp4", "video/x-msvideo", "video/x-matroska", "video/quicktime", "video/x-flv", "video/x-ms-wmv"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = false } +temperature = true +top_p = true +top_k = true + +[limit] +context = 262_144 +output = 32_768 + +[[weights]] +label = "Hugging Face" +url = "https://huggingface.co/Qwen/Qwen3-VL-30B-A3B-Instruct" diff --git a/models/alibaba/qwen3-vl-flash.toml b/models/alibaba/qwen3-vl-flash.toml new file mode 100644 index 0000000000..652161518c --- /dev/null +++ b/models/alibaba/qwen3-vl-flash.toml @@ -0,0 +1,24 @@ +# Lab metadata carried over from providers/llmgateway-providers/models/alibaba/qwen3-vl-flash.toml (curated catalogue data already in this repo), +# with provider-specific fields (cost, reasoning_options, status) stripped. +# Input MIME types: images and video per https://www.alibabacloud.com/help/en/model-studio/vision (Image limits, Video limits; video lists extensions, registered MIME types used) +# Sampling: temperature, top_p and top_k are request parameters on Model Studio: https://www.alibabacloud.com/help/en/model-studio/qwen-api-via-openai-chat-completions +schema = 2 +name = "Qwen3 VL Flash (Alibaba Cloud)" +description = "Qwen vision-language model for visual reasoning, documents, and agent tasks" +open_weights = false +release_date = "2025-10-15" + +[modalities] +input = ["text", "image/bmp", "image/jpeg", "image/png", "image/tiff", "image/webp", "image/heic"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = false } +temperature = true +top_p = true +top_k = true + +[limit] +context = 262_144 +output = 32_768 diff --git a/models/alibaba/qwen3-vl-plus.toml b/models/alibaba/qwen3-vl-plus.toml index 36f36cd4e0..31c968733b 100644 --- a/models/alibaba/qwen3-vl-plus.toml +++ b/models/alibaba/qwen3-vl-plus.toml @@ -1,19 +1,24 @@ +# Input MIME types: images and video per https://www.alibabacloud.com/help/en/model-studio/vision (Image limits, Video limits; video lists extensions, registered MIME types used) +# Sampling: temperature, top_p and top_k are request parameters on Model Studio: https://www.alibabacloud.com/help/en/model-studio/qwen-api-via-openai-chat-completions +schema = 2 name = "Qwen3-VL Plus" description = "Qwen vision-language model for visual reasoning, documents, and agent tasks" family = "qwen" +open_weights = false +knowledge = "2025-04" release_date = "2025-09-23" -last_updated = "2025-09-23" -attachment = false -reasoning = true + +[modalities] +input = ["text", "image/bmp", "image/jpeg", "image/png", "image/tiff", "image/webp", "image/heic"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } temperature = true -tool_call = true -knowledge = "2025-04" -open_weights = false +top_p = true +top_k = true [limit] context = 262_144 output = 32_768 - -[modalities] -input = ["text", "image"] -output = ["text"] diff --git a/models/alibaba/qwen3.5-0.8b.toml b/models/alibaba/qwen3.5-0.8b.toml new file mode 100644 index 0000000000..2f1c8d2094 --- /dev/null +++ b/models/alibaba/qwen3.5-0.8b.toml @@ -0,0 +1,35 @@ +# Sources (accessed 2026-10-21): +# - Model card: https://huggingface.co/Qwen/Qwen3.5-0.8B (Apache 2.0; "Causal Language Model with Vision Encoder"; +# "Number of Parameters: 0.8B"; "Context Length: 262,144 natively"; image and video input examples; +# "operates in non-thinking mode by default", thinking enabled per request; tool calling; recommended sampling +# uses temperature, top_p and top_k) +# - Output: the card's Best Practices recommend 32,768 output tokens for most queries and a max output length of 81,920 +# - Release: Qwen announced the Qwen3.5 small series (0.8B/2B/4B/9B) on 2026-03-02 +# (https://github.com/QwenLM/Qwen3.6/commit/7e103aebdbff11c98cc1cd6a2a568988cfd38168, "Release of Qwen3.5 small models") +# Input MIME types: the same Qwen3.5 vision input as models/alibaba/qwen3.5-2b.toml +schema = 2 +name = "Qwen3.5 0.8B" +description = "Smallest Qwen3.5 multimodal model for on-device chat, reasoning, and tool use" +family = "qwen" +open_weights = true +release_date = "2026-03-02" +license = "Apache-2.0" + +[modalities] +input = ["text", "image/bmp", "image/jpeg", "image/png", "image/tiff", "image/webp", "image/heic", "video/mp4", "video/x-msvideo", "video/x-matroska", "video/quicktime", "video/x-flv", "video/x-ms-wmv"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } +temperature = true +top_p = true +top_k = true + +[limit] +context = 262_144 +output = 81_920 + +[[weights]] +label = "Hugging Face" +url = "https://huggingface.co/Qwen/Qwen3.5-0.8B" diff --git a/models/alibaba/qwen3.5-122b-a10b.toml b/models/alibaba/qwen3.5-122b-a10b.toml index d9a323b380..bb1af19266 100644 --- a/models/alibaba/qwen3.5-122b-a10b.toml +++ b/models/alibaba/qwen3.5-122b-a10b.toml @@ -1,23 +1,30 @@ +# Input MIME types: images and video per https://www.alibabacloud.com/help/en/model-studio/vision (Image limits, Video limits; video lists extensions, registered MIME types used) +# No audio input (accessed 2026-10-20): the model card https://huggingface.co/Qwen/Qwen3.5-122B-A10B states "Type: Causal Language Model with Vision Encoder" +# (README line 43), its pipeline_tag is image-text-to-text, and its benchmarks cover image and video understanding only (no audio encoder or audio benchmark). +# Model Studio documents image and video input for the "qwen3.5 series"/"qwen3.6 series" (https://www.alibabacloud.com/help/en/model-studio/vision, Image limits and Video limits) and no audio input. +# Sampling: temperature, top_p and top_k are request parameters on Model Studio: https://www.alibabacloud.com/help/en/model-studio/qwen-api-via-openai-chat-completions +schema = 2 name = "Qwen3.5 122B-A10B" description = "Qwen vision-language model for visual reasoning, documents, and agent tasks" family = "qwen" +open_weights = true release_date = "2026-02-23" -last_updated = "2026-02-23" -attachment = true -reasoning = true + +[modalities] +input = ["text", "image/bmp", "image/jpeg", "image/png", "image/tiff", "image/webp", "image/heic", "video/mp4", "video/x-msvideo", "video/x-matroska", "video/quicktime", "video/x-flv", "video/x-ms-wmv"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } temperature = true -tool_call = true -structured_output = true -open_weights = true +top_p = true +top_k = true [limit] context = 262_144 output = 65_536 -[modalities] -input = ["text", "image", "video", "audio"] -output = ["text"] - [[weights]] label = "Hugging Face" url = "https://huggingface.co/Qwen/Qwen3.5-122B-A10B" diff --git a/models/alibaba/qwen3.5-27b.toml b/models/alibaba/qwen3.5-27b.toml index 93ad247dd8..9d7a02a236 100644 --- a/models/alibaba/qwen3.5-27b.toml +++ b/models/alibaba/qwen3.5-27b.toml @@ -1,23 +1,30 @@ +# Input MIME types: images and video per https://www.alibabacloud.com/help/en/model-studio/vision (Image limits, Video limits; video lists extensions, registered MIME types used) +# No audio input (accessed 2026-10-20): the model card https://huggingface.co/Qwen/Qwen3.5-27B states "Type: Causal Language Model with Vision Encoder" +# (README line 42), its pipeline_tag is image-text-to-text, and its benchmarks cover image and video understanding only (no audio encoder or audio benchmark). +# Model Studio documents image and video input for the "qwen3.5 series"/"qwen3.6 series" (https://www.alibabacloud.com/help/en/model-studio/vision, Image limits and Video limits) and no audio input. +# Sampling: temperature, top_p and top_k are request parameters on Model Studio: https://www.alibabacloud.com/help/en/model-studio/qwen-api-via-openai-chat-completions +schema = 2 name = "Qwen3.5 27B" description = "Qwen vision-language model for visual reasoning, documents, and agent tasks" family = "qwen" +open_weights = true release_date = "2026-02-23" -last_updated = "2026-02-23" -attachment = true -reasoning = true + +[modalities] +input = ["text", "image/bmp", "image/jpeg", "image/png", "image/tiff", "image/webp", "image/heic", "video/mp4", "video/x-msvideo", "video/x-matroska", "video/quicktime", "video/x-flv", "video/x-ms-wmv"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } temperature = true -tool_call = true -structured_output = true -open_weights = true +top_p = true +top_k = true [limit] context = 262_144 output = 65_536 -[modalities] -input = ["text", "image", "video", "audio"] -output = ["text"] - [[weights]] label = "Hugging Face" url = "https://huggingface.co/Qwen/Qwen3.5-27B" diff --git a/models/alibaba/qwen3.5-2b.toml b/models/alibaba/qwen3.5-2b.toml new file mode 100644 index 0000000000..28cf5e4557 --- /dev/null +++ b/models/alibaba/qwen3.5-2b.toml @@ -0,0 +1,35 @@ +# Sources (accessed 2026-10-20): +# - Model card: https://huggingface.co/Qwen/Qwen3.5-2B (Apache 2.0; "Causal Language Model with Vision Encoder"; +# "Context Length: 262,144 natively"; image_url and video_url input examples; thinking via enable_thinking, off by default; +# tool calling; recommended sampling uses temperature, top_p and top_k) +# - Output: the card's Best Practices recommend 32,768 output tokens for most queries and a max output length of 81,920 +# - Release: Qwen announced the Qwen3.5 small series (0.8B/2B/4B/9B) on 2026-03-02 +# (https://github.com/QwenLM/Qwen3.6/commit/7e103aebdbff11c98cc1cd6a2a568988cfd38168, "Release of Qwen3.5 small models") +# Input MIME types: images and video per https://www.alibabacloud.com/help/en/model-studio/vision (Image limits, Video limits; +# video lists extensions, registered MIME types used), the same Qwen3.5 vision input as models/alibaba/qwen3.5-9b.toml +schema = 2 +name = "Qwen3.5 2B" +description = "Compact Qwen3.5 multimodal model for fast chat, reasoning, and tool use" +family = "qwen" +open_weights = true +release_date = "2026-03-02" +license = "Apache-2.0" + +[modalities] +input = ["text", "image/bmp", "image/jpeg", "image/png", "image/tiff", "image/webp", "image/heic", "video/mp4", "video/x-msvideo", "video/x-matroska", "video/quicktime", "video/x-flv", "video/x-ms-wmv"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } +temperature = true +top_p = true +top_k = true + +[limit] +context = 262_144 +output = 81_920 + +[[weights]] +label = "Hugging Face" +url = "https://huggingface.co/Qwen/Qwen3.5-2B" diff --git a/models/alibaba/qwen3.5-35b-a3b-base.toml b/models/alibaba/qwen3.5-35b-a3b-base.toml new file mode 100644 index 0000000000..4ceb88fa4f --- /dev/null +++ b/models/alibaba/qwen3.5-35b-a3b-base.toml @@ -0,0 +1,31 @@ +# Sources (accessed 2026-10-21): https://huggingface.co/Qwen/Qwen3.5-35B-A3B-Base (Apache-2.0; Hub createdAt 2026-02-24) +# "the pre-trained only model ... for fine-tuning, in-context learning experiments, and other research or development +# purposes, not direct interaction"; image-text-to-text; context 262,144 natively, extensible to 1,010,000. +# Base model: no chat template, tool calling or thinking mode. Input types follow the instruct Qwen3.5 lab files. +# Sampling: open weights, so temperature, top_p and top_k are runtime sampler settings on any host. +schema = 2 +name = "Qwen3.5 35B-A3B Base" +description = "Pre-trained Qwen3.5 base checkpoint for fine-tuning and research, without instruction tuning" +family = "qwen" +open_weights = true +release_date = "2026-02-24" +license = "Apache-2.0" + +[modalities] +input = ["text", "image/bmp", "image/jpeg", "image/png", "image/tiff", "image/webp", "image/heic", "video/mp4", "video/x-msvideo", "video/x-matroska", "video/quicktime", "video/x-flv", "video/x-ms-wmv"] +output = ["text"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = true +top_p = true +top_k = true + +[limit] +context = 262_144 +output = 65_536 + +[[weights]] +label = "Hugging Face" +url = "https://huggingface.co/Qwen/Qwen3.5-35B-A3B-Base" diff --git a/models/alibaba/qwen3.5-35b-a3b.toml b/models/alibaba/qwen3.5-35b-a3b.toml index 36700f959e..07a739852c 100644 --- a/models/alibaba/qwen3.5-35b-a3b.toml +++ b/models/alibaba/qwen3.5-35b-a3b.toml @@ -1,23 +1,30 @@ +# Input MIME types: images and video per https://www.alibabacloud.com/help/en/model-studio/vision (Image limits, Video limits; video lists extensions, registered MIME types used) +# No audio input (accessed 2026-10-20): the model card https://huggingface.co/Qwen/Qwen3.5-35B-A3B states "Type: Causal Language Model with Vision Encoder" +# (README line 51), its pipeline_tag is image-text-to-text, and its benchmarks cover image and video understanding only (no audio encoder or audio benchmark). +# Model Studio documents image and video input for the "qwen3.5 series"/"qwen3.6 series" (https://www.alibabacloud.com/help/en/model-studio/vision, Image limits and Video limits) and no audio input. +# Sampling: temperature, top_p and top_k are request parameters on Model Studio: https://www.alibabacloud.com/help/en/model-studio/qwen-api-via-openai-chat-completions +schema = 2 name = "Qwen3.5 35B-A3B" description = "Qwen vision-language model for visual reasoning, documents, and agent tasks" family = "qwen" +open_weights = true release_date = "2026-02-23" -last_updated = "2026-02-23" -attachment = true -reasoning = true + +[modalities] +input = ["text", "image/bmp", "image/jpeg", "image/png", "image/tiff", "image/webp", "image/heic", "video/mp4", "video/x-msvideo", "video/x-matroska", "video/quicktime", "video/x-flv", "video/x-ms-wmv"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } temperature = true -tool_call = true -structured_output = true -open_weights = true +top_p = true +top_k = true [limit] context = 262_144 output = 65_536 -[modalities] -input = ["text", "image", "video", "audio"] -output = ["text"] - [[weights]] label = "Hugging Face" url = "https://huggingface.co/Qwen/Qwen3.5-35B-A3B" diff --git a/models/alibaba/qwen3.5-397b-a17b.toml b/models/alibaba/qwen3.5-397b-a17b.toml index 103227c16b..3294a2504f 100644 --- a/models/alibaba/qwen3.5-397b-a17b.toml +++ b/models/alibaba/qwen3.5-397b-a17b.toml @@ -1,23 +1,30 @@ +# Input MIME types: images and video per https://www.alibabacloud.com/help/en/model-studio/vision (Image limits, Video limits; video lists extensions, registered MIME types used) +# No audio input (accessed 2026-10-20): the model card https://huggingface.co/Qwen/Qwen3.5-397B-A17B states "Type: Causal Language Model with Vision Encoder" +# (README line 49), its pipeline_tag is image-text-to-text, and its benchmarks cover image and video understanding only (no audio encoder or audio benchmark). +# Model Studio documents image and video input for the "qwen3.5 series"/"qwen3.6 series" (https://www.alibabacloud.com/help/en/model-studio/vision, Image limits and Video limits) and no audio input. +# Sampling: temperature, top_p and top_k are request parameters on Model Studio: https://www.alibabacloud.com/help/en/model-studio/qwen-api-via-openai-chat-completions +schema = 2 name = "Qwen3.5 397B-A17B" description = "Large open Qwen multimodal MoE for visual agents and long technical tasks" family = "qwen" +open_weights = true release_date = "2026-02-15" -last_updated = "2026-02-15" -attachment = true -reasoning = true + +[modalities] +input = ["text", "image/bmp", "image/jpeg", "image/png", "image/tiff", "image/webp", "image/heic", "video/mp4", "video/x-msvideo", "video/x-matroska", "video/quicktime", "video/x-flv", "video/x-ms-wmv"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } temperature = true -tool_call = true -structured_output = true -open_weights = true +top_p = true +top_k = true [limit] context = 262_144 output = 65_536 -[modalities] -input = ["text", "image", "video", "audio"] -output = ["text"] - [[weights]] label = "Hugging Face" url = "https://huggingface.co/Qwen/Qwen3.5-397B-A17B" diff --git a/models/alibaba/qwen3.5-4b.toml b/models/alibaba/qwen3.5-4b.toml new file mode 100644 index 0000000000..7860563874 --- /dev/null +++ b/models/alibaba/qwen3.5-4b.toml @@ -0,0 +1,35 @@ +# Sources (accessed 2026-10-21): +# - Model card: https://huggingface.co/Qwen/Qwen3.5-4B (Apache 2.0; "Causal Language Model with Vision Encoder"; +# "Context Length: 262,144 natively"; image_url and video_url input examples; thinking on by default, +# off via enable_thinking; tool calling; recommended sampling uses temperature, top_p and top_k) +# - Output: the card's Best Practices recommend 32,768 output tokens for most queries and a max output length of 81,920 +# - Release: Qwen announced the Qwen3.5 small series (0.8B/2B/4B/9B) on 2026-03-02 +# (https://github.com/QwenLM/Qwen3.6/commit/7e103aebdbff11c98cc1cd6a2a568988cfd38168, "Release of Qwen3.5 small models") +# Input MIME types: images and video per https://www.alibabacloud.com/help/en/model-studio/vision (Image limits, Video limits; +# video lists extensions, registered MIME types used), the same Qwen3.5 vision input as models/alibaba/qwen3.5-9b.toml +schema = 2 +name = "Qwen3.5 4B" +description = "Small Qwen3.5 multimodal model for low-cost chat, reasoning, and tool use" +family = "qwen" +open_weights = true +release_date = "2026-03-02" +license = "Apache-2.0" + +[modalities] +input = ["text", "image/bmp", "image/jpeg", "image/png", "image/tiff", "image/webp", "image/heic", "video/mp4", "video/x-msvideo", "video/x-matroska", "video/quicktime", "video/x-flv", "video/x-ms-wmv"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } +temperature = true +top_p = true +top_k = true + +[limit] +context = 262_144 +output = 81_920 + +[[weights]] +label = "Hugging Face" +url = "https://huggingface.co/Qwen/Qwen3.5-4B" diff --git a/models/alibaba/qwen3.5-9b-base.toml b/models/alibaba/qwen3.5-9b-base.toml new file mode 100644 index 0000000000..b47ce8d8cb --- /dev/null +++ b/models/alibaba/qwen3.5-9b-base.toml @@ -0,0 +1,31 @@ +# Sources (accessed 2026-10-21): https://huggingface.co/Qwen/Qwen3.5-9B-Base (Apache-2.0; Hub createdAt 2026-02-26) +# "the pre-trained only model ... for fine-tuning, in-context learning experiments, and other research or development +# purposes, not direct interaction"; image-text-to-text; context 262,144 natively, extensible to 1,010,000. +# Base model: no chat template, tool calling or thinking mode. Input types follow the instruct Qwen3.5 lab files. +# Sampling: open weights, so temperature, top_p and top_k are runtime sampler settings on any host. +schema = 2 +name = "Qwen3.5 9B Base" +description = "Pre-trained Qwen3.5 base checkpoint for fine-tuning and research, without instruction tuning" +family = "qwen" +open_weights = true +release_date = "2026-02-26" +license = "Apache-2.0" + +[modalities] +input = ["text", "image/bmp", "image/jpeg", "image/png", "image/tiff", "image/webp", "image/heic", "video/mp4", "video/x-msvideo", "video/x-matroska", "video/quicktime", "video/x-flv", "video/x-ms-wmv"] +output = ["text"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = true +top_p = true +top_k = true + +[limit] +context = 262_144 +output = 65_536 + +[[weights]] +label = "Hugging Face" +url = "https://huggingface.co/Qwen/Qwen3.5-9B-Base" diff --git a/models/alibaba/qwen3.5-9b.toml b/models/alibaba/qwen3.5-9b.toml index b2bc94ca0f..d935700026 100644 --- a/models/alibaba/qwen3.5-9b.toml +++ b/models/alibaba/qwen3.5-9b.toml @@ -1,23 +1,27 @@ +# Input MIME types: images and video per https://www.alibabacloud.com/help/en/model-studio/vision (Image limits, Video limits; video lists extensions, registered MIME types used) +# Sampling: temperature, top_p and top_k are request parameters on Model Studio: https://www.alibabacloud.com/help/en/model-studio/qwen-api-via-openai-chat-completions +schema = 2 name = "Qwen3.5 9B" description = "Qwen instruction model for multilingual chat, reasoning, and tool use" family = "qwen" +open_weights = true release_date = "2026-02-23" -last_updated = "2026-02-23" -attachment = true -reasoning = true + +[modalities] +input = ["text", "image/bmp", "image/jpeg", "image/png", "image/tiff", "image/webp", "image/heic", "video/mp4", "video/x-msvideo", "video/x-matroska", "video/quicktime", "video/x-flv", "video/x-ms-wmv"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } temperature = true -tool_call = true -structured_output = true -open_weights = true +top_p = true +top_k = true [limit] context = 262_144 output = 65_536 -[modalities] -input = ["text", "image", "video"] -output = ["text"] - [[weights]] label = "Hugging Face" url = "https://huggingface.co/Qwen/Qwen3.5-9B" diff --git a/models/alibaba/qwen3.5-flash.toml b/models/alibaba/qwen3.5-flash.toml index 800ff85f43..b7ac45ab30 100644 --- a/models/alibaba/qwen3.5-flash.toml +++ b/models/alibaba/qwen3.5-flash.toml @@ -1,22 +1,25 @@ # https://help.aliyun.com/en/model-studio/qwen3-5-flash # https://www.alibabacloud.com/help/en/model-studio/deep-thinking +# Input MIME types: images and video per https://www.alibabacloud.com/help/en/model-studio/vision (Image limits, Video limits; video lists extensions, registered MIME types used) +# Sampling: temperature, top_p and top_k are request parameters on Model Studio: https://www.alibabacloud.com/help/en/model-studio/qwen-api-via-openai-chat-completions +schema = 2 name = "Qwen3.5 Flash" description = "Qwen vision-language model for visual reasoning, documents, and agent tasks" family = "qwen" -release_date = "2026-02-23" -last_updated = "2026-02-23" -attachment = true -reasoning = true -temperature = true -tool_call = true -structured_output = true open_weights = false +release_date = "2026-02-23" + +[modalities] +input = ["text", "image/bmp", "image/jpeg", "image/png", "image/tiff", "image/webp", "image/heic", "video/mp4", "video/x-msvideo", "video/x-matroska", "video/quicktime", "video/x-flv", "video/x-ms-wmv"] +output = ["text"] +[capabilities] +tools = { supported = true } +reasoning = { supported = true } +temperature = true +top_p = true +top_k = true [limit] context = 1_000_000 output = 65_536 - -[modalities] -input = ["text", "image", "video"] -output = ["text"] diff --git a/models/alibaba/qwen3.5-plus.toml b/models/alibaba/qwen3.5-plus.toml index 7f04f4c2fe..23e5cadd44 100644 --- a/models/alibaba/qwen3.5-plus.toml +++ b/models/alibaba/qwen3.5-plus.toml @@ -1,19 +1,24 @@ +# Input MIME types: images and video per https://www.alibabacloud.com/help/en/model-studio/vision (Image limits, Video limits; video lists extensions, registered MIME types used) +# Sampling: temperature, top_p and top_k are request parameters on Model Studio: https://www.alibabacloud.com/help/en/model-studio/qwen-api-via-openai-chat-completions +schema = 2 name = "Qwen3.5 Plus" description = "Qwen vision-language model for visual reasoning, documents, and agent tasks" family = "qwen" +open_weights = false +knowledge = "2025-04" release_date = "2026-02-16" -last_updated = "2026-02-16" -attachment = false -reasoning = true + +[modalities] +input = ["text", "image/bmp", "image/jpeg", "image/png", "image/tiff", "image/webp", "image/heic", "video/mp4", "video/x-msvideo", "video/x-matroska", "video/quicktime", "video/x-flv", "video/x-ms-wmv"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } temperature = true -tool_call = true -knowledge = "2025-04" -open_weights = false +top_p = true +top_k = true [limit] context = 1_000_000 output = 65_536 - -[modalities] -input = ["text", "image", "video"] -output = ["text"] diff --git a/models/alibaba/qwen3.6-27b.toml b/models/alibaba/qwen3.6-27b.toml index ca2c730655..eceff1aecc 100644 --- a/models/alibaba/qwen3.6-27b.toml +++ b/models/alibaba/qwen3.6-27b.toml @@ -1,23 +1,30 @@ +# Input MIME types: images and video per https://www.alibabacloud.com/help/en/model-studio/vision (Image limits, Video limits; video lists extensions, registered MIME types used) +# No audio input (accessed 2026-10-20): the model card https://huggingface.co/Qwen/Qwen3.6-27B states "Type: Causal Language Model with Vision Encoder" +# (README line 34), its pipeline_tag is image-text-to-text, and its benchmarks cover image and video understanding only (no audio encoder or audio benchmark). +# Model Studio documents image and video input for the "qwen3.5 series"/"qwen3.6 series" (https://www.alibabacloud.com/help/en/model-studio/vision, Image limits and Video limits) and no audio input. +# Sampling: temperature, top_p and top_k are request parameters on Model Studio: https://www.alibabacloud.com/help/en/model-studio/qwen-api-via-openai-chat-completions +schema = 2 name = "Qwen3.6 27B" description = "Qwen vision-language model for visual reasoning, documents, and agent tasks" family = "qwen" +open_weights = true release_date = "2026-04-22" -last_updated = "2026-04-22" -attachment = true -reasoning = true + +[modalities] +input = ["text", "image/bmp", "image/jpeg", "image/png", "image/tiff", "image/webp", "image/heic", "video/mp4", "video/x-msvideo", "video/x-matroska", "video/quicktime", "video/x-flv", "video/x-ms-wmv"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } temperature = true -tool_call = true -structured_output = true -open_weights = true +top_p = true +top_k = true [limit] context = 262_144 output = 65_536 -[modalities] -input = ["text", "image", "video", "audio"] -output = ["text"] - [[weights]] label = "Hugging Face" url = "https://huggingface.co/Qwen/Qwen3.6-27B" diff --git a/models/alibaba/qwen3.6-35b-a3b.toml b/models/alibaba/qwen3.6-35b-a3b.toml index bdc044956e..0bfea58a9c 100644 --- a/models/alibaba/qwen3.6-35b-a3b.toml +++ b/models/alibaba/qwen3.6-35b-a3b.toml @@ -1,23 +1,30 @@ +# Input MIME types: images and video per https://www.alibabacloud.com/help/en/model-studio/vision (Image limits, Video limits; video lists extensions, registered MIME types used) +# No audio input (accessed 2026-10-20): the model card https://huggingface.co/Qwen/Qwen3.6-35B-A3B states "Type: Causal Language Model with Vision Encoder" +# (README line 34), its pipeline_tag is image-text-to-text, and its benchmarks cover image and video understanding only (no audio encoder or audio benchmark). +# Model Studio documents image and video input for the "qwen3.5 series"/"qwen3.6 series" (https://www.alibabacloud.com/help/en/model-studio/vision, Image limits and Video limits) and no audio input. +# Sampling: temperature, top_p and top_k are request parameters on Model Studio: https://www.alibabacloud.com/help/en/model-studio/qwen-api-via-openai-chat-completions +schema = 2 name = "Qwen3.6 35B-A3B" description = "Open multimodal Qwen MoE for local agents that need vision, audio, and code" family = "qwen" +open_weights = true release_date = "2026-04-17" -last_updated = "2026-04-17" -attachment = true -reasoning = true + +[modalities] +input = ["text", "image/bmp", "image/jpeg", "image/png", "image/tiff", "image/webp", "image/heic", "video/mp4", "video/x-msvideo", "video/x-matroska", "video/quicktime", "video/x-flv", "video/x-ms-wmv"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } temperature = true -tool_call = true -structured_output = true -open_weights = true +top_p = true +top_k = true [limit] context = 262_144 output = 65_536 -[modalities] -input = ["text", "image", "video", "audio"] -output = ["text"] - [[weights]] label = "Hugging Face" url = "https://huggingface.co/Qwen/Qwen3.6-35B-A3B" diff --git a/models/alibaba/qwen3.6-flash.toml b/models/alibaba/qwen3.6-flash.toml index 0cb7ac77d7..0f2bc37b75 100644 --- a/models/alibaba/qwen3.6-flash.toml +++ b/models/alibaba/qwen3.6-flash.toml @@ -1,19 +1,23 @@ +# Input MIME types: images and video per https://www.alibabacloud.com/help/en/model-studio/vision (Image limits, Video limits; video lists extensions, registered MIME types used) +# Sampling: temperature, top_p and top_k are request parameters on Model Studio: https://www.alibabacloud.com/help/en/model-studio/qwen-api-via-openai-chat-completions +schema = 2 name = "Qwen3.6 Flash" description = "Qwen vision-language model for visual reasoning, documents, and agent tasks" family = "qwen3.6" +open_weights = false release_date = "2026-04-27" -last_updated = "2026-04-27" -attachment = true -reasoning = true + +[modalities] +input = ["text", "image/bmp", "image/jpeg", "image/png", "image/tiff", "image/webp", "image/heic", "video/mp4", "video/x-msvideo", "video/x-matroska", "video/quicktime", "video/x-flv", "video/x-ms-wmv"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } temperature = true -tool_call = true -structured_output = true -open_weights = false +top_p = true +top_k = true [limit] context = 1_000_000 output = 65_536 - -[modalities] -input = ["text", "image", "video"] -output = ["text"] diff --git a/models/alibaba/qwen3.6-max-preview.toml b/models/alibaba/qwen3.6-max-preview.toml index ee185122f2..8d2d24cc80 100644 --- a/models/alibaba/qwen3.6-max-preview.toml +++ b/models/alibaba/qwen3.6-max-preview.toml @@ -1,19 +1,23 @@ +# Sampling: temperature, top_p and top_k are request parameters on Model Studio: https://www.alibabacloud.com/help/en/model-studio/qwen-api-via-openai-chat-completions +schema = 2 name = "Qwen3.6 Max Preview" description = "Flagship Qwen model for complex reasoning, coding, and agentic workflows" family = "qwen" +open_weights = false +knowledge = "2025-04" release_date = "2026-04-20" -last_updated = "2026-04-20" -attachment = false -reasoning = true + +[modalities] +input = ["text"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } temperature = true -tool_call = true -knowledge = "2025-04" -open_weights = false +top_p = true +top_k = true [limit] context = 262_144 output = 65_536 - -[modalities] -input = ["text"] -output = ["text"] diff --git a/models/alibaba/qwen3.6-plus.toml b/models/alibaba/qwen3.6-plus.toml index eb3278f816..3cf15886c7 100644 --- a/models/alibaba/qwen3.6-plus.toml +++ b/models/alibaba/qwen3.6-plus.toml @@ -1,19 +1,24 @@ +# Input MIME types: images and video per https://www.alibabacloud.com/help/en/model-studio/vision (Image limits, Video limits; video lists extensions, registered MIME types used) +# Sampling: temperature, top_p and top_k are request parameters on Model Studio: https://www.alibabacloud.com/help/en/model-studio/qwen-api-via-openai-chat-completions +schema = 2 name = "Qwen3.6 Plus" description = "Earlier Qwen multimodal workhorse for million-token agent and document tasks" family = "qwen" +open_weights = false +knowledge = "2025-04" release_date = "2026-04-02" -last_updated = "2026-04-02" -attachment = true -reasoning = true + +[modalities] +input = ["text", "image/bmp", "image/jpeg", "image/png", "image/tiff", "image/webp", "image/heic", "video/mp4", "video/x-msvideo", "video/x-matroska", "video/quicktime", "video/x-flv", "video/x-ms-wmv"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } temperature = true -tool_call = true -knowledge = "2025-04" -open_weights = false +top_p = true +top_k = true [limit] context = 1_000_000 output = 65_536 - -[modalities] -input = ["text", "image", "video"] -output = ["text"] diff --git a/models/alibaba/qwen3.7-flash.toml b/models/alibaba/qwen3.7-flash.toml index b76b970a9b..9fb6c91df0 100644 --- a/models/alibaba/qwen3.7-flash.toml +++ b/models/alibaba/qwen3.7-flash.toml @@ -1,20 +1,24 @@ +# Input MIME types: images and video per https://www.alibabacloud.com/help/en/model-studio/vision (Image limits, Video limits; video lists extensions, registered MIME types used) +# Sampling: temperature, top_p and top_k are request parameters on Model Studio: https://www.alibabacloud.com/help/en/model-studio/qwen-api-via-openai-chat-completions +schema = 2 name = "Qwen3.7 Flash" description = "Lightweight multimodal Qwen model for high-throughput text, image, and video tasks" family = "qwen" +open_weights = false release_date = "2026-07-15" -last_updated = "2026-07-15" -attachment = true -reasoning = true + +[modalities] +input = ["text", "image/bmp", "image/jpeg", "image/png", "image/tiff", "image/webp", "image/heic", "video/mp4", "video/x-msvideo", "video/x-matroska", "video/quicktime", "video/x-flv", "video/x-ms-wmv"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } temperature = true -tool_call = true -structured_output = true -open_weights = false +top_p = true +top_k = true [limit] context = 1_000_000 -input = 991_000 -output = 65_536 - -[modalities] -input = ["text", "image", "video"] -output = ["text"] +input = 991_808 +output = 131_072 diff --git a/models/alibaba/qwen3.7-max.toml b/models/alibaba/qwen3.7-max.toml index 65b09455d6..1b93e37f15 100644 --- a/models/alibaba/qwen3.7-max.toml +++ b/models/alibaba/qwen3.7-max.toml @@ -1,22 +1,28 @@ +# Max Output Length 131072 per Alibaba Model Studio qwen3.7-max (Context Window 1000000): +# https://www.alibabacloud.com/help/en/model-studio/qwen3-7-max +# Sampling: temperature, top_p and top_k are request parameters on Model Studio: https://www.alibabacloud.com/help/en/model-studio/qwen-api-via-openai-chat-completions +schema = 2 name = "Qwen3.7 Max" description = "Qwen frontier model tuned for agent frameworks, coding assistants, and long tasks" family = "qwen" -release_date = "2026-05-21" -last_updated = "2026-05-21" -attachment = false -reasoning = true -temperature = true -tool_call = true open_weights = false - -[limit] -context = 1_000_000 -output = 65_536 +release_date = "2026-05-21" [modalities] input = ["text"] output = ["text"] +[capabilities] +tools = { supported = true } +reasoning = { supported = true } +temperature = true +top_p = true +top_k = true + +[limit] +context = 1_000_000 +output = 131_072 + [[benchmarks]] name = "SWE-Bench Verified" score = 80.4 diff --git a/models/alibaba/qwen3.7-plus.toml b/models/alibaba/qwen3.7-plus.toml index 42ce95a219..1f3347ef59 100644 --- a/models/alibaba/qwen3.7-plus.toml +++ b/models/alibaba/qwen3.7-plus.toml @@ -1,19 +1,24 @@ +# Input MIME types: images and video per https://www.alibabacloud.com/help/en/model-studio/vision (Image limits, Video limits; video lists extensions, registered MIME types used) +# Sampling: temperature, top_p and top_k are request parameters on Model Studio: https://www.alibabacloud.com/help/en/model-studio/qwen-api-via-openai-chat-completions +schema = 2 name = "Qwen3.7 Plus" description = "Multimodal Qwen workhorse for long-context agents, visual inputs, and coding" family = "qwen" +open_weights = false +knowledge = "2025-04" release_date = "2026-06-02" -last_updated = "2026-06-02" -attachment = true -reasoning = true + +[modalities] +input = ["text", "image/bmp", "image/jpeg", "image/png", "image/tiff", "image/webp", "image/heic", "video/mp4", "video/x-msvideo", "video/x-matroska", "video/quicktime", "video/x-flv", "video/x-ms-wmv"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } temperature = true -tool_call = true -knowledge = "2025-04" -open_weights = false +top_p = true +top_k = true [limit] context = 1_000_000 output = 64_000 - -[modalities] -input = ["text", "image", "video"] -output = ["text"] diff --git a/models/alibaba/qwen3.8-2.4t-a95b.toml b/models/alibaba/qwen3.8-2.4t-a95b.toml index b30a03ea6b..51771f812a 100644 --- a/models/alibaba/qwen3.8-2.4t-a95b.toml +++ b/models/alibaba/qwen3.8-2.4t-a95b.toml @@ -6,28 +6,30 @@ # Open-weight twin of Qwen3.8 Max: text-only, thinking always on, # reasoning_effort low|medium|xhigh (default xhigh). Native context 262K, # extensible to ~1.01M. Distinct from closed multimodal qwen3.8-max. - +# Sampling: temperature, top_p and top_k are request parameters on Model Studio: https://www.alibabacloud.com/help/en/model-studio/qwen-api-via-openai-chat-completions +schema = 2 name = "Qwen3.8 2.4T A95B" description = "Open-weight sparse MoE (2.4T total, 95B active), the open-weight twin of Qwen3.8 Max for coding, research, complex reasoning, and agentic workflows" family = "qwen" -release_date = "2026-08-12" -last_updated = "2026-08-12" -attachment = false -reasoning = true -temperature = true -tool_call = true -structured_output = true open_weights = true +release_date = "2026-08-12" license = "qwen3.8-max" -[limit] -context = 262_144 -output = 131_072 - [modalities] input = ["text"] output = ["text"] +[capabilities] +tools = { supported = true } +reasoning = { supported = true } +temperature = true +top_p = true +top_k = true + +[limit] +context = 262_144 +output = 131_072 + [[weights]] label = "Hugging Face" url = "https://huggingface.co/Qwen/Qwen3.8-2.4T-A95B" diff --git a/models/alibaba/qwen3.8-27b.toml b/models/alibaba/qwen3.8-27b.toml index ad17312d58..5cc391b609 100644 --- a/models/alibaba/qwen3.8-27b.toml +++ b/models/alibaba/qwen3.8-27b.toml @@ -1,30 +1,34 @@ +# Benchmark caveats and evaluation harnesses: https://huggingface.co/Qwen/Qwen3.8-27B#evaluation # Sources (accessed 2026-08-15): # https://huggingface.co/Qwen/Qwen3.8-27B # https://huggingface.co/api/models/Qwen/Qwen3.8-27B # https://qwen.ai/blog?id=qwen3.8 # Hub lastModified 2026-08-14T15:00:01Z is the open-weight drop. # Do not use Hub createdAt 2026-08-05 (staged countdown page). - +# Input MIME types: images and video per https://www.alibabacloud.com/help/en/model-studio/vision (Image limits, Video limits; video lists extensions, registered MIME types used) +# Sampling: temperature, top_p and top_k are request parameters on Model Studio: https://www.alibabacloud.com/help/en/model-studio/qwen-api-via-openai-chat-completions +schema = 2 name = "Qwen3.8 27B" description = "Dense 27B vision-language model for coding, agent tasks, and image and video understanding" family = "qwen" +open_weights = true release_date = "2026-08-14" -last_updated = "2026-08-14" -attachment = true -reasoning = true + +[modalities] +input = ["text", "image/bmp", "image/jpeg", "image/png", "image/tiff", "image/webp", "image/heic", "video/mp4", "video/x-msvideo", "video/x-matroska", "video/quicktime", "video/x-flv", "video/x-ms-wmv"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } temperature = true -tool_call = true -structured_output = true -open_weights = true +top_p = true +top_k = true [limit] context = 262_144 output = 32_768 -[modalities] -input = ["text", "image", "video"] -output = ["text"] - [[weights]] label = "Hugging Face" url = "https://huggingface.co/Qwen/Qwen3.8-27B" @@ -34,3 +38,202 @@ name = "SWE-bench Pro" score = 61.7 metric = "resolved" source = "https://huggingface.co/Qwen/Qwen3.8-27B" + +[[benchmarks]] +name = "Terminal-Bench" +score = 73 +metric = "score" +version = "2.1" +harness = "Terminus" +source = "https://huggingface.co/Qwen/Qwen3.8-27B" + +[[benchmarks]] +name = "NL2Repo" +score = 42.3 +metric = "score" +harness = "Claude Code" +source = "https://huggingface.co/Qwen/Qwen3.8-27B" + +[[benchmarks]] +name = "DeepSWE" +score = 42.2 +metric = "score" +version = "1.1" +harness = "Claude Code" +source = "https://huggingface.co/Qwen/Qwen3.8-27B" + +[[benchmarks]] +name = "QwenSWEBench" +score = 79 +metric = "avg@3" +harness = "Claude Code" +dataset = "internal" +source = "https://huggingface.co/Qwen/Qwen3.8-27B" + +[[benchmarks]] +name = "CoWorkBench" +score = 70.7 +metric = "score" +dataset = "internal" +source = "https://huggingface.co/Qwen/Qwen3.8-27B" + +[[benchmarks]] +name = "JobBench" +score = 33.4 +metric = "score" +source = "https://huggingface.co/Qwen/Qwen3.8-27B" + +[[benchmarks]] +name = "Agents' Last Exam" +score = 20.4 +metric = "pass@1" +source = "https://huggingface.co/Qwen/Qwen3.8-27B" + +[[benchmarks]] +name = "Agents' Last Exam" +score = 42.9 +metric = "score" +source = "https://huggingface.co/Qwen/Qwen3.8-27B" + +[[benchmarks]] +name = "IFBench" +score = 79.5 +metric = "score" +source = "https://huggingface.co/Qwen/Qwen3.8-27B" + +[[benchmarks]] +name = "GPQA Diamond" +score = 89.2 +metric = "score" +source = "https://huggingface.co/Qwen/Qwen3.8-27B" + +[[benchmarks]] +name = "Humanity's Last Exam" +score = 30.8 +metric = "score" +variant = "without tools; GPT-4o judge" +source = "https://huggingface.co/Qwen/Qwen3.8-27B" + +[[benchmarks]] +name = "LiveCodeBench" +score = 90.3 +metric = "score" +version = "6" +source = "https://huggingface.co/Qwen/Qwen3.8-27B" + +[[benchmarks]] +name = "OSWorld-Verified" +score = 84.3 +metric = "score" +source = "https://huggingface.co/Qwen/Qwen3.8-27B" + +[[benchmarks]] +name = "WebArena-Verified" +score = 64.8 +metric = "score" +source = "https://huggingface.co/Qwen/Qwen3.8-27B" +harness = "OSWorld scaffold; official WebArena-Verified grader" + +[[benchmarks]] +name = "AndroidWorld" +score = 81.9 +metric = "score" +source = "https://huggingface.co/Qwen/Qwen3.8-27B" + +[[benchmarks]] +name = "SWE-MM" +score = 38.6 +metric = "score" +source = "https://huggingface.co/Qwen/Qwen3.8-27B" + +[[benchmarks]] +name = "RealWorldQA" +score = 85.9 +metric = "score" +source = "https://huggingface.co/Qwen/Qwen3.8-27B" + +[[benchmarks]] +name = "ERQA" +score = 65.5 +metric = "score" +source = "https://huggingface.co/Qwen/Qwen3.8-27B" + +[[benchmarks]] +name = "RecreationBench" +score = 47.1 +metric = "score" +dataset = "internal" +source = "https://huggingface.co/Qwen/Qwen3.8-27B" + +[[benchmarks]] +name = "ClawEval-MM" +score = 57.4 +metric = "pass@3" +source = "https://huggingface.co/Qwen/Qwen3.8-27B" + +[[benchmarks]] +name = "ClawEval-MM" +score = 56.9 +metric = "average score" +source = "https://huggingface.co/Qwen/Qwen3.8-27B" + +[[benchmarks]] +name = "Vision2Web" +score = 62.9 +metric = "score" +harness = "Claude Code" +source = "https://huggingface.co/Qwen/Qwen3.8-27B" +variant = "gpt-5.4-2026-03-05 judge" + +[[benchmarks]] +name = "MathVision" +score = 90 +metric = "score" +variant = "without code interpreter" +dataset = "corrected annotations" +source = "https://huggingface.co/Qwen/Qwen3.8-27B" + +[[benchmarks]] +name = "MathVision" +score = 94.6 +metric = "score" +variant = "with code interpreter" +dataset = "corrected annotations" +source = "https://huggingface.co/Qwen/Qwen3.8-27B" + +[[benchmarks]] +name = "BabyVision" +score = 65.7 +metric = "score" +variant = "without code interpreter" +source = "https://huggingface.co/Qwen/Qwen3.8-27B" + +[[benchmarks]] +name = "BabyVision" +score = 85.6 +metric = "score" +variant = "with code interpreter" +source = "https://huggingface.co/Qwen/Qwen3.8-27B" + +[[benchmarks]] +name = "CharXiv Reasoning" +score = 83.7 +metric = "score" +variant = "without code interpreter" +source = "https://huggingface.co/Qwen/Qwen3.8-27B" +dataset = "corrected annotations" + +[[benchmarks]] +name = "CharXiv Reasoning" +score = 90.2 +metric = "score" +variant = "with code interpreter" +source = "https://huggingface.co/Qwen/Qwen3.8-27B" +dataset = "corrected annotations" + +[[benchmarks]] +name = "OmniDocBench" +score = 91.1 +metric = "score" +version = "1.5" +source = "https://huggingface.co/Qwen/Qwen3.8-27B" diff --git a/models/alibaba/qwen3.8-flash-next.toml b/models/alibaba/qwen3.8-flash-next.toml index f3158f0776..618d2dc250 100644 --- a/models/alibaba/qwen3.8-flash-next.toml +++ b/models/alibaba/qwen3.8-flash-next.toml @@ -1,3 +1,4 @@ +# Benchmark caveats, corrected datasets, and evaluation harnesses are documented in the source model card. # Sources (accessed 2026-08-28): # https://huggingface.co/Qwen/Qwen3.8-Flash-Next # https://huggingface.co/api/models/Qwen/Qwen3.8-Flash-Next @@ -9,28 +10,213 @@ # 125B total with 6B active plus 51B n-gram embedding and 4B MTP. # Thinking always on: reasoning_effort low|medium|xhigh (default xhigh). # Native context 262K, extensible up to 1M tokens. - +# Input MIME types: images and video per https://www.alibabacloud.com/help/en/model-studio/vision (Image limits, Video limits; video lists extensions, registered MIME types used) +# Sampling: temperature, top_p and top_k are request parameters on Model Studio: https://www.alibabacloud.com/help/en/model-studio/qwen-api-via-openai-chat-completions +schema = 2 name = "Qwen3.8 Flash Next" description = "Open-weight experimental preview of the Qwen4 architecture: hybrid-attention MoE (125B total, 6B active) with vision encoder for coding, agent tasks, and image and video understanding" family = "qwen" -release_date = "2026-08-27" -last_updated = "2026-08-27" -attachment = true -reasoning = true -temperature = true -tool_call = true -structured_output = true open_weights = true +release_date = "2026-08-27" license = "qwen-community-1.0" +[modalities] +input = ["text", "image/bmp", "image/jpeg", "image/png", "image/tiff", "image/webp", "image/heic", "video/mp4", "video/x-msvideo", "video/x-matroska", "video/quicktime", "video/x-flv", "video/x-ms-wmv"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } +temperature = true +top_p = true +top_k = true + [limit] context = 262_144 output = 131_072 -[modalities] -input = ["text", "image", "video"] -output = ["text"] - [[weights]] label = "Hugging Face" url = "https://huggingface.co/Qwen/Qwen3.8-Flash-Next" + +[[benchmarks]] +name = "DeepSWE" +score = 58.7 +metric = "score" +version = "1.1" +harness = "mini-swe-agent" +source = "https://huggingface.co/Qwen/Qwen3.8-Flash-Next" + +[[benchmarks]] +name = "SWE-Bench Pro" +score = 62.5 +metric = "score" +harness = "Claude Code" +dataset = "Qwen refined and corrected task set" +source = "https://huggingface.co/Qwen/Qwen3.8-Flash-Next" + +[[benchmarks]] +name = "SWE-Bench Multilingual" +score = 81 +metric = "score" +harness = "mini-swe-agent" +source = "https://huggingface.co/Qwen/Qwen3.8-Flash-Next" + +[[benchmarks]] +name = "NL2Repo" +score = 48.1 +metric = "score" +harness = "Claude Code" +source = "https://huggingface.co/Qwen/Qwen3.8-Flash-Next" + +[[benchmarks]] +name = "CoWorkBench" +score = 73.9 +metric = "score" +dataset = "internal" +source = "https://huggingface.co/Qwen/Qwen3.8-Flash-Next" + +[[benchmarks]] +name = "JobBench" +score = 55.7 +metric = "score" +source = "https://huggingface.co/Qwen/Qwen3.8-Flash-Next" + +[[benchmarks]] +name = "Agents' Last Exam" +score = 24.3 +metric = "pass@1" +source = "https://huggingface.co/Qwen/Qwen3.8-Flash-Next" + +[[benchmarks]] +name = "Agents' Last Exam" +score = 51.2 +metric = "score" +source = "https://huggingface.co/Qwen/Qwen3.8-Flash-Next" + +[[benchmarks]] +name = "Toolathlon-Verified" +score = 73.5 +metric = "pass@1" +source = "https://huggingface.co/Qwen/Qwen3.8-Flash-Next" + +[[benchmarks]] +name = "IFBench" +score = 81.3 +metric = "score" +source = "https://huggingface.co/Qwen/Qwen3.8-Flash-Next" + +[[benchmarks]] +name = "GPQA Diamond" +score = 91.7 +metric = "score" +source = "https://huggingface.co/Qwen/Qwen3.8-Flash-Next" + +[[benchmarks]] +name = "Humanity's Last Exam" +score = 35.9 +metric = "score" +variant = "without tools; GPT-4o judge" +source = "https://huggingface.co/Qwen/Qwen3.8-Flash-Next" + +[[benchmarks]] +name = "LiveCodeBench" +score = 91.9 +metric = "score" +version = "6" +source = "https://huggingface.co/Qwen/Qwen3.8-Flash-Next" + +[[benchmarks]] +name = "ClawEval-MM" +score = 64.4 +metric = "pass@3" +source = "https://huggingface.co/Qwen/Qwen3.8-Flash-Next" + +[[benchmarks]] +name = "ClawEval-MM" +score = 60.4 +metric = "average score" +source = "https://huggingface.co/Qwen/Qwen3.8-Flash-Next" + +[[benchmarks]] +name = "RecreationBench" +score = 49.9 +metric = "score" +dataset = "internal" +source = "https://huggingface.co/Qwen/Qwen3.8-Flash-Next" + +[[benchmarks]] +name = "AndroidWorld" +score = 84.5 +metric = "score" +source = "https://huggingface.co/Qwen/Qwen3.8-Flash-Next" + +[[benchmarks]] +name = "OSWorld" +score = 19.4 +metric = "binary completion rate" +version = "2.0" +source = "https://huggingface.co/Qwen/Qwen3.8-Flash-Next" + +[[benchmarks]] +name = "OSWorld" +score = 52.3 +metric = "partial score" +version = "2.0" +source = "https://huggingface.co/Qwen/Qwen3.8-Flash-Next" + +[[benchmarks]] +name = "Vision2Web" +score = 64 +metric = "score" +harness = "Claude Code" +source = "https://huggingface.co/Qwen/Qwen3.8-Flash-Next" +variant = "gpt-5.4-2026-03-05 judge" + +[[benchmarks]] +name = "ERQA" +score = 72.3 +metric = "score" +source = "https://huggingface.co/Qwen/Qwen3.8-Flash-Next" + +[[benchmarks]] +name = "LVBench" +score = 76.6 +metric = "score" +source = "https://huggingface.co/Qwen/Qwen3.8-Flash-Next" + +[[benchmarks]] +name = "RealWorldQA" +score = 88.5 +metric = "score" +source = "https://huggingface.co/Qwen/Qwen3.8-Flash-Next" + +[[benchmarks]] +name = "MathVision" +score = 90.6 +metric = "score" +variant = "without code interpreter" +dataset = "corrected annotations" +source = "https://huggingface.co/Qwen/Qwen3.8-Flash-Next" + +[[benchmarks]] +name = "MathVision" +score = 95.7 +metric = "score" +variant = "with code interpreter" +dataset = "corrected annotations" +source = "https://huggingface.co/Qwen/Qwen3.8-Flash-Next" + +[[benchmarks]] +name = "CharXiv Reasoning" +score = 84.6 +metric = "score" +variant = "without code interpreter" +source = "https://huggingface.co/Qwen/Qwen3.8-Flash-Next" + +[[benchmarks]] +name = "CharXiv Reasoning" +score = 90.6 +metric = "score" +variant = "with code interpreter" +source = "https://huggingface.co/Qwen/Qwen3.8-Flash-Next" diff --git a/models/alibaba/qwen3.8-flash.toml b/models/alibaba/qwen3.8-flash.toml index 2ee8a5ff53..bf7ac5a80a 100644 --- a/models/alibaba/qwen3.8-flash.toml +++ b/models/alibaba/qwen3.8-flash.toml @@ -1,19 +1,24 @@ # Source: https://www.qwencloud.com/models/qwen3.8-flash +# Input MIME types: images and video per https://www.alibabacloud.com/help/en/model-studio/vision (Image limits, Video limits; video lists extensions, registered MIME types used) +# Sampling: temperature, top_p and top_k are request parameters on Model Studio: https://www.alibabacloud.com/help/en/model-studio/qwen-api-via-openai-chat-completions +schema = 2 name = "Qwen3.8 Flash" description = "Qwen vision-language model for visual reasoning, documents, and agent tasks" family = "qwen" -release_date = "2026-08-26" -last_updated = "2026-08-26" -attachment = true -reasoning = true -tool_call = true -structured_output = true open_weights = false +release_date = "2026-08-26" + +[modalities] +input = ["text", "image/bmp", "image/jpeg", "image/png", "image/tiff", "image/webp", "image/heic", "video/mp4", "video/x-msvideo", "video/x-matroska", "video/quicktime", "video/x-flv", "video/x-ms-wmv"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } +temperature = true +top_p = true +top_k = true [limit] context = 1_000_000 output = 131_072 - -[modalities] -input = ["text", "image", "video"] -output = ["text"] diff --git a/models/alibaba/qwen3.8-max-0902.toml b/models/alibaba/qwen3.8-max-0902.toml index aeb8160175..81ee8a8439 100644 --- a/models/alibaba/qwen3.8-max-0902.toml +++ b/models/alibaba/qwen3.8-max-0902.toml @@ -7,22 +7,26 @@ # for stronger coding, collaborative agents, and vision/document understanding. # PDF input: inherits Completions PDF理解 / document parsing from the Max line # (same as models/alibaba/qwen3.8-max.toml). - +# Input MIME types: images and video per https://www.alibabacloud.com/help/en/model-studio/vision (Image limits, Video limits; video lists extensions, registered MIME types used) +# Sampling: temperature, top_p and top_k are request parameters on Model Studio: https://www.alibabacloud.com/help/en/model-studio/qwen-api-via-openai-chat-completions +schema = 2 name = "Qwen3.8 Max 0902" description = "2026-09-02 upgraded snapshot of Qwen3.8 Max with stronger coding, collaborative agents, and multimodal document understanding" family = "qwen" +open_weights = false release_date = "2026-09-02" -last_updated = "2026-09-02" -attachment = true -reasoning = true + +[modalities] +input = ["text", "image/bmp", "image/jpeg", "image/png", "image/tiff", "image/webp", "image/heic", "video/mp4", "video/x-msvideo", "video/x-matroska", "video/quicktime", "video/x-flv", "video/x-ms-wmv", "application/pdf"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } temperature = true -tool_call = true -open_weights = false +top_p = true +top_k = true [limit] context = 1_000_000 output = 131_072 - -[modalities] -input = ["text", "image", "video", "pdf"] -output = ["text"] diff --git a/models/alibaba/qwen3.8-max-preview.toml b/models/alibaba/qwen3.8-max-preview.toml index fc24077dfa..5a2f5ead8d 100644 --- a/models/alibaba/qwen3.8-max-preview.toml +++ b/models/alibaba/qwen3.8-max-preview.toml @@ -9,26 +9,30 @@ # https://platform.qianwenai.com/docs/developer-guides/clients-and-developer-tools/kilo-cli # https://github.com/QwenLM/qwen-code/issues/7198 # https://github.com/QwenLM/qwen-code/pull/7199 - +# Input MIME types: images and video per https://www.alibabacloud.com/help/en/model-studio/vision (Image limits, Video limits; video lists extensions, registered MIME types used) +# Sampling: temperature, top_p and top_k are request parameters on Model Studio: https://www.alibabacloud.com/help/en/model-studio/qwen-api-via-openai-chat-completions +schema = 2 name = "Qwen3.8 Max Preview" description = "Preview Qwen flagship for million-token multimodal reasoning and long-horizon agentic workflows" family = "qwen" +open_weights = false release_date = "2026-07-19" -last_updated = "2026-07-19" -attachment = true -reasoning = true + +[modalities] +input = ["text", "image/bmp", "image/jpeg", "image/png", "image/tiff", "image/webp", "image/heic", "video/mp4", "video/x-msvideo", "video/x-matroska", "video/quicktime", "video/x-flv", "video/x-ms-wmv"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } temperature = true -tool_call = true -open_weights = false +top_p = true +top_k = true [limit] context = 1_000_000 output = 131_072 -[modalities] -input = ["text", "image", "video"] -output = ["text"] - [[benchmarks]] name = "Terminal-Bench" score = 86.6 diff --git a/models/alibaba/qwen3.8-max-prime.toml b/models/alibaba/qwen3.8-max-prime.toml new file mode 100644 index 0000000000..11a300a487 --- /dev/null +++ b/models/alibaba/qwen3.8-max-prime.toml @@ -0,0 +1,28 @@ +# Sources (accessed 2026-09-24): +# https://vercel.com/ai-gateway/models/qwen3.8-max-prime +# https://openrouter.ai/qwen/qwen3.8-max-prime +# High-throughput Alibaba Qwen3.8 Max SKU; OpenRouter lists video input in +# addition to the text and image input exposed by Vercel's gateway. +# Input MIME types: images and video per https://www.alibabacloud.com/help/en/model-studio/vision (Image limits, Video limits; video lists extensions, registered MIME types used) +# Sampling: temperature, top_p and top_k are request parameters on Model Studio: https://www.alibabacloud.com/help/en/model-studio/qwen-api-via-openai-chat-completions +schema = 2 +name = "Qwen 3.8 Max Prime" +description = "High-throughput edition of Qwen3.8 Max for coding, professional work, multimodal understanding, and long-running agent workflows" +family = "qwen3.8-max" +open_weights = false +release_date = "2026-09-23" + +[modalities] +input = ["text", "image/bmp", "image/jpeg", "image/png", "image/tiff", "image/webp", "image/heic", "video/mp4", "video/x-msvideo", "video/x-matroska", "video/quicktime", "video/x-flv", "video/x-ms-wmv"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } +temperature = true +top_p = true +top_k = true + +[limit] +context = 1_000_000 +output = 131_072 diff --git a/models/alibaba/qwen3.8-max.toml b/models/alibaba/qwen3.8-max.toml index c0207bc980..45ff1dca91 100644 --- a/models/alibaba/qwen3.8-max.toml +++ b/models/alibaba/qwen3.8-max.toml @@ -1,3 +1,4 @@ +# These are the Qwen3.8-Max column of the official model card, not a claim about a separately evaluated local checkpoint. # Sources (accessed 2026-08-06): # https://www.qwencloud.com/models/qwen3.8-max # https://www.qianwenai.com/models/qwen3.8-max @@ -17,22 +18,253 @@ # (type:file / file_url|file_data). Model pages list Image/Text/Video badges # and separately list PDF理解 as a Completions built-in tool. Beijing-region # availability note on help.aliyun.com; lab capability still includes pdf. - +# Input MIME types: images and video per https://www.alibabacloud.com/help/en/model-studio/vision (Image limits, Video limits; video lists extensions, registered MIME types used) +# Sampling: temperature, top_p and top_k are request parameters on Model Studio: https://www.alibabacloud.com/help/en/model-studio/qwen-api-via-openai-chat-completions +schema = 2 name = "Qwen3.8 Max" description = "2.4-trillion-parameter MoE flagship for coding, professional work, multimodal understanding, and long-horizon agentic workflows" family = "qwen" +open_weights = false release_date = "2026-08-03" -last_updated = "2026-08-03" -attachment = true -reasoning = true + +[modalities] +input = ["text", "image/bmp", "image/jpeg", "image/png", "image/tiff", "image/webp", "image/heic", "video/mp4", "video/x-msvideo", "video/x-matroska", "video/quicktime", "video/x-flv", "video/x-ms-wmv", "application/pdf"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } temperature = true -tool_call = true -open_weights = false +top_p = true +top_k = true [limit] context = 1_000_000 output = 131_072 -[modalities] -input = ["text", "image", "video", "pdf"] -output = ["text"] +[[benchmarks]] +name = "Terminal-Bench" +score = 86.6 +metric = "avg@10" +version = "2.1" +harness = "Claude Code" +variant = "5h timeout" +source = "https://huggingface.co/Qwen/Qwen3.8-2.4T-A95B" + +[[benchmarks]] +name = "SWE-Bench Pro" +score = 67.7 +metric = "resolved" +harness = "Claude Code" +dataset = "Qwen refined and corrected task set" +source = "https://huggingface.co/Qwen/Qwen3.8-2.4T-A95B" + +[[benchmarks]] +name = "DeepSWE" +score = 56.6 +metric = "score" +version = "1.1" +harness = "Claude Code" +source = "https://huggingface.co/Qwen/Qwen3.8-2.4T-A95B" + +[[benchmarks]] +name = "NL2Repo" +score = 55.9 +metric = "score" +harness = "Claude Code" +source = "https://huggingface.co/Qwen/Qwen3.8-2.4T-A95B" + +[[benchmarks]] +name = "FrontierSWE" +score = 73.5 +metric = "dominance score" +date = "2026-08-03" +source = "https://huggingface.co/Qwen/Qwen3.8-2.4T-A95B" + +[[benchmarks]] +name = "MLS-Bench-Lite" +score = 41 +metric = "score" +harness = "Claude Code" +variant = "5h timeout" +source = "https://huggingface.co/Qwen/Qwen3.8-2.4T-A95B" + +[[benchmarks]] +name = "PaperBench" +score = 93 +metric = "score" +harness = "BasicAgent" +variant = "Code-Dev; 3 runs; 12h timeout; Opus 4.6 judge" +source = "https://huggingface.co/Qwen/Qwen3.8-2.4T-A95B" + +[[benchmarks]] +name = "AndroidBench" +score = 75.1 +metric = "avg@3" +dataset = "95 public tasks" +source = "https://huggingface.co/Qwen/Qwen3.8-2.4T-A95B" + +[[benchmarks]] +name = "QwenSWEBench" +score = 80.7 +metric = "avg@3" +harness = "Claude Code" +dataset = "internal" +source = "https://huggingface.co/Qwen/Qwen3.8-2.4T-A95B" + +[[benchmarks]] +name = "QwenQoderBench" +score = 58.4 +metric = "avg@5" +harness = "Claude Code" +dataset = "internal" +source = "https://huggingface.co/Qwen/Qwen3.8-2.4T-A95B" + +[[benchmarks]] +name = "QwenReactBench" +score = 1724 +metric = "Elo" +dataset = "internal" +source = "https://huggingface.co/Qwen/Qwen3.8-2.4T-A95B" + +[[benchmarks]] +name = "QwenSVGBench" +score = 1713 +metric = "Elo" +dataset = "internal" +source = "https://huggingface.co/Qwen/Qwen3.8-2.4T-A95B" + +[[benchmarks]] +name = "CoWorkBench" +score = 74.8 +metric = "score" +dataset = "internal" +source = "https://huggingface.co/Qwen/Qwen3.8-2.4T-A95B" + +[[benchmarks]] +name = "WorkSpaceBench" +score = 67.7 +metric = "score" +source = "https://huggingface.co/Qwen/Qwen3.8-2.4T-A95B" + +[[benchmarks]] +name = "JobBench" +score = 53.4 +metric = "score" +source = "https://huggingface.co/Qwen/Qwen3.8-2.4T-A95B" + +[[benchmarks]] +name = "SkillsBench" +score = 70.2 +metric = "avg@3" +version = "1.1" +dataset = "87 tasks" +harness = "OpenCode" +source = "https://huggingface.co/Qwen/Qwen3.8-2.4T-A95B" + +[[benchmarks]] +name = "Agents' Last Exam" +score = 27 +metric = "pass@1" +source = "https://huggingface.co/Qwen/Qwen3.8-2.4T-A95B" + +[[benchmarks]] +name = "Agents' Last Exam" +score = 52.4 +metric = "score" +source = "https://huggingface.co/Qwen/Qwen3.8-2.4T-A95B" + +[[benchmarks]] +name = "AutomationBench" +score = 27.3 +metric = "pass@1" +dataset = "600 public tasks" +source = "https://huggingface.co/Qwen/Qwen3.8-2.4T-A95B" + +[[benchmarks]] +name = "Toolathlon-Verified" +score = 72.5 +metric = "pass@1" +source = "https://huggingface.co/Qwen/Qwen3.8-2.4T-A95B" + +[[benchmarks]] +name = "WideSearch" +score = 81.9 +metric = "average item F1" +harness = "Qwen-Agent" +source = "https://huggingface.co/Qwen/Qwen3.8-2.4T-A95B" + +[[benchmarks]] +name = "Humanity's Last Exam" +score = 56.2 +metric = "score" +variant = "with tools" +source = "https://huggingface.co/Qwen/Qwen3.8-2.4T-A95B" + +[[benchmarks]] +name = "Humanity's Last Exam" +score = 43.6 +metric = "score" +variant = "without tools" +source = "https://huggingface.co/Qwen/Qwen3.8-2.4T-A95B" + +[[benchmarks]] +name = "GPQA Diamond" +score = 92.6 +metric = "score" +source = "https://huggingface.co/Qwen/Qwen3.8-2.4T-A95B" + +[[benchmarks]] +name = "IFBench" +score = 82.8 +metric = "score" +source = "https://huggingface.co/Qwen/Qwen3.8-2.4T-A95B" + +[[benchmarks]] +name = "$OneMillion-Bench" +score = 52.5 +metric = "expert score" +variant = "gemini-3.1-pro-preview judge" +source = "https://huggingface.co/Qwen/Qwen3.8-2.4T-A95B" + +[[benchmarks]] +name = "HealthBench" +score = 60.2 +metric = "score" +source = "https://huggingface.co/Qwen/Qwen3.8-2.4T-A95B" + +[[benchmarks]] +name = "PLawBench" +score = 73.2 +metric = "score" +variant = "gemini-3.1-pro-preview judge" +source = "https://huggingface.co/Qwen/Qwen3.8-2.4T-A95B" + +[[benchmarks]] +name = "PRBench" +score = 57.6 +metric = "score" +variant = "legal" +source = "https://huggingface.co/Qwen/Qwen3.8-2.4T-A95B" + +[[benchmarks]] +name = "PRBench" +score = 58.3 +metric = "score" +variant = "finance" +source = "https://huggingface.co/Qwen/Qwen3.8-2.4T-A95B" + +[[benchmarks]] +name = "MRCR" +score = 92.9 +metric = "score" +version = "2" +dataset = "256K; 8-needle" +source = "https://huggingface.co/Qwen/Qwen3.8-2.4T-A95B" + +[[benchmarks]] +name = "LongBench" +score = 66.3 +metric = "score" +version = "2" +source = "https://huggingface.co/Qwen/Qwen3.8-2.4T-A95B" diff --git a/models/alibaba/qwen3.8-omni-flash.toml b/models/alibaba/qwen3.8-omni-flash.toml new file mode 100644 index 0000000000..5cba88cb55 --- /dev/null +++ b/models/alibaba/qwen3.8-omni-flash.toml @@ -0,0 +1,27 @@ +# Sources (accessed 2026-09-18): +# https://www.alibabacloud.com/help/en/model-studio/qwen3-8-omni-flash +# https://www.alibabacloud.com/help/en/model-studio/qwen-omni +# Input MIME types: images and video per https://www.alibabacloud.com/help/en/model-studio/vision (Image limits, Video limits; video lists extensions, registered MIME types used) +# Audio input: AMR, WAV, 3GP/3GPP, AAC, MP3 per https://www.alibabacloud.com/help/en/model-studio/qwen-omni (registered MIME types used) +# Sampling: temperature, top_p and top_k are request parameters on Model Studio: https://www.alibabacloud.com/help/en/model-studio/qwen-api-via-openai-chat-completions +schema = 2 +name = "Qwen3.8 Omni Flash" +description = "Qwen omni model for text, vision, audio, and multimodal agent tasks" +family = "qwen" +open_weights = false +release_date = "2026-09-17" + +[modalities] +input = ["text", "image/bmp", "image/jpeg", "image/png", "image/tiff", "image/webp", "image/heic", "audio/amr", "audio/wav", "audio/3gpp", "audio/aac", "audio/mpeg", "video/mp4", "video/x-msvideo", "video/x-matroska", "video/quicktime", "video/x-flv", "video/x-ms-wmv"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } +temperature = true +top_p = true +top_k = true + +[limit] +context = 1_000_000 +output = 131_072 diff --git a/models/alibaba/qwq-32b.toml b/models/alibaba/qwq-32b.toml index 6c87481c2f..054c69536e 100644 --- a/models/alibaba/qwq-32b.toml +++ b/models/alibaba/qwq-32b.toml @@ -1,23 +1,27 @@ +# Sampling: temperature, top_p and top_k are request parameters on Model Studio: https://www.alibabacloud.com/help/en/model-studio/qwen-api-via-openai-chat-completions +schema = 2 name = "QwQ 32B" description = "Open reasoning model from the Qwen team for math, coding, and step-by-step problem solving" family = "qwen" +open_weights = true +knowledge = "2024-04" release_date = "2025-03-05" -last_updated = "2025-03-05" -attachment = false -reasoning = true + +[modalities] +input = ["text"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } temperature = true -tool_call = true -knowledge = "2024-04" -open_weights = true +top_p = true +top_k = true [limit] context = 131_072 output = 8_192 -[modalities] -input = ["text"] -output = ["text"] - [[weights]] label = "Hugging Face" url = "https://huggingface.co/Qwen/QwQ-32B" diff --git a/models/alibaba/qwq-plus.toml b/models/alibaba/qwq-plus.toml index 52772b7e01..fed9874be4 100644 --- a/models/alibaba/qwq-plus.toml +++ b/models/alibaba/qwq-plus.toml @@ -1,19 +1,23 @@ +# Sampling: temperature, top_p and top_k are request parameters on Model Studio: https://www.alibabacloud.com/help/en/model-studio/qwen-api-via-openai-chat-completions +schema = 2 name = "QwQ Plus" description = "Qwen reasoning model for deliberate problem solving, math, and coding" family = "qwen" +open_weights = false +knowledge = "2024-04" release_date = "2025-03-05" -last_updated = "2025-03-05" -attachment = false -reasoning = true + +[modalities] +input = ["text"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } temperature = true -tool_call = true -knowledge = "2024-04" -open_weights = false +top_p = true +top_k = true [limit] context = 131_072 output = 8_192 - -[modalities] -input = ["text"] -output = ["text"] diff --git a/models/alibaba/wan2.6.toml b/models/alibaba/wan2.6.toml new file mode 100644 index 0000000000..960c2fcbe6 --- /dev/null +++ b/models/alibaba/wan2.6.toml @@ -0,0 +1,26 @@ +# Released 2025-12-03 (wan2.6-t2v): https://www.alibabacloud.com/help/en/model-studio/newly-released-models +# Formats: images JPEG, JPG, PNG, BMP or WEBP; audio WAV or MP3: +# https://www.alibabacloud.com/help/en/model-studio/image-to-video-api-reference +# Output: MP4; generated sound is a track inside the MP4, so no audio MIME type is listed. +schema = 2 +v2_only = true +type = "video" +name = "Wan2.6" +description = "Video model for text- and image-to-video with audio input and synchronized sound" +open_weights = false +release_date = "2025-12-03" + +[modalities] +input = ["text", "image/jpeg", "image/png", "image/bmp", "image/webp", "audio/wav", "audio/mpeg"] +output = ["video/mp4"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 0 +output = 0 diff --git a/models/alibaba/wan2.7.toml b/models/alibaba/wan2.7.toml new file mode 100644 index 0000000000..0c0113b1a3 --- /dev/null +++ b/models/alibaba/wan2.7.toml @@ -0,0 +1,27 @@ +# Released 2026-04-03 (wan2.7-t2v, -i2v, -r2v): https://www.alibabacloud.com/help/en/model-studio/newly-released-models +# Formats: images JPEG, JPG, PNG, BMP or WEBP; audio WAV or MP3: +# https://www.alibabacloud.com/help/en/model-studio/image-to-video-api-reference +# Video references: MP4. +# Output: MP4; generated sound is a track inside the MP4, so no audio MIME type is listed. +schema = 2 +v2_only = true +type = "video" +name = "Wan2.7" +description = "Video model for text, image and reference to video, with mixed image and video references and voice timbre cloning" +open_weights = false +release_date = "2026-04-03" + +[modalities] +input = ["text", "image/jpeg", "image/png", "image/bmp", "image/webp", "video/mp4", "audio/wav", "audio/mpeg"] +output = ["video/mp4"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 0 +output = 0 diff --git a/models/alibaba/wan3.0-video-prime.toml b/models/alibaba/wan3.0-video-prime.toml new file mode 100644 index 0000000000..c2970be4b9 --- /dev/null +++ b/models/alibaba/wan3.0-video-prime.toml @@ -0,0 +1,27 @@ +# Released 2026-08-20 (wan3.0-video-prime): https://www.alibabacloud.com/help/en/model-studio/newly-released-models +# Formats: images JPEG, JPG, PNG, BMP or WEBP; audio WAV or MP3: +# https://www.alibabacloud.com/help/en/model-studio/image-to-video-api-reference +# Video references: MP4. +# Output: MP4; generated sound is a track inside the MP4, so no audio MIME type is listed. +schema = 2 +v2_only = true +type = "video" +name = "Wan3.0-Video-Prime" +description = "High-speed Wan3.0 video model with the same four-modal references, up to 30 seconds" +open_weights = false +release_date = "2026-08-20" + +[modalities] +input = ["text", "image/jpeg", "image/png", "image/bmp", "image/webp", "video/mp4", "audio/wav", "audio/mpeg"] +output = ["video/mp4"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 0 +output = 0 diff --git a/models/alibaba/wan3.0-video.toml b/models/alibaba/wan3.0-video.toml new file mode 100644 index 0000000000..1a415d5331 --- /dev/null +++ b/models/alibaba/wan3.0-video.toml @@ -0,0 +1,27 @@ +# Released 2026-08-06 (wan3.0-video): https://www.alibabacloud.com/help/en/model-studio/newly-released-models +# Formats: images JPEG, JPG, PNG, BMP or WEBP; audio WAV or MP3: +# https://www.alibabacloud.com/help/en/model-studio/image-to-video-api-reference +# Video references: MP4. +# Output: MP4; generated sound is a track inside the MP4, so no audio MIME type is listed. +schema = 2 +v2_only = true +type = "video" +name = "Wan3.0" +description = "All-in-one video model for reference, editing and image-to-video generation with audio, up to 30 seconds" +open_weights = false +release_date = "2026-08-06" + +[modalities] +input = ["text", "image/jpeg", "image/png", "image/bmp", "image/webp", "video/mp4", "audio/wav", "audio/mpeg"] +output = ["video/mp4"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 0 +output = 0 diff --git a/models/amazon/nova-2-lite-v1.toml b/models/amazon/nova-2-lite-v1.toml new file mode 100644 index 0000000000..14f175b523 --- /dev/null +++ b/models/amazon/nova-2-lite-v1.toml @@ -0,0 +1,44 @@ +# Lab metadata carried over from providers/openrouter/models/amazon/nova-2-lite-v1.toml (curated catalogue data already in this repo), +# with provider-specific fields (cost, reasoning_options, status) stripped. +# Knowledge cutoff (Oct 2025): https://docs.aws.amazon.com/bedrock/latest/userguide/model-card-amazon-nova-2-lite.html +# Formats: https://docs.aws.amazon.com/nova/latest/nova2-userguide/using-multimodal-models.html (images PNG, JPEG, +# GIF, WebP; video MP4, MOV, MKV, WebM, FLV, MPEG, MPG, WMV, 3GP; documents include PDF), as MIME types +# Sampling: temperature, topP and topK are accepted (not together with maxReasoningEffort): +# https://docs.aws.amazon.com/nova/latest/nova2-userguide/using-converse-api.html +schema = 2 +name = "Nova 2 Lite" +description = "Multimodal reasoning model for visual analysis, planning, and tool use" +family = "nova" +open_weights = false +knowledge = "2025-10" +release_date = "2025-12-02" + +[modalities] +input = [ + "text", + "image/png", + "image/jpeg", + "image/gif", + "image/webp", + "video/mp4", + "video/quicktime", + "video/x-matroska", + "video/webm", + "video/x-flv", + "video/mpeg", + "video/x-ms-wmv", + "video/3gpp", + "application/pdf", +] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } +temperature = true +top_p = true +top_k = true + +[limit] +context = 1_000_000 +output = 65_535 diff --git a/models/amazon/nova-2-lite.toml b/models/amazon/nova-2-lite.toml index 4995aa70dd..91b1ff011b 100644 --- a/models/amazon/nova-2-lite.toml +++ b/models/amazon/nova-2-lite.toml @@ -1,22 +1,45 @@ # Sources: https://docs.aws.amazon.com/nova/latest/nova2-userguide/what-is-nova-2.html # https://docs.aws.amazon.com/bedrock/latest/userguide/model-card-amazon-nova-2-lite.html # Launch: https://aws.amazon.com/about-aws/whats-new/2025/12/nova-2-foundation-models-amazon-bedrock/ +# Formats: https://docs.aws.amazon.com/nova/latest/nova2-userguide/using-multimodal-models.html (images PNG, JPEG, +# GIF, WebP; video MP4, MOV, MKV, WebM, FLV, MPEG, MPG, WMV, 3GP; documents include PDF), as MIME types +# Sampling: temperature, topP and topK are accepted (not together with maxReasoningEffort): +# https://docs.aws.amazon.com/nova/latest/nova2-userguide/using-converse-api.html +schema = 2 name = "Nova 2 Lite" description = "Multimodal reasoning model for visual analysis, planning, and tool use" family = "nova" +open_weights = false +knowledge = "2025-10" release_date = "2025-12-02" last_updated = "2025-12-01" -attachment = true -reasoning = true + +[modalities] +input = [ + "text", + "image/png", + "image/jpeg", + "image/gif", + "image/webp", + "video/mp4", + "video/quicktime", + "video/x-matroska", + "video/webm", + "video/x-flv", + "video/mpeg", + "video/x-ms-wmv", + "video/3gpp", + "application/pdf", +] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } temperature = true -knowledge = "2025-10" -tool_call = true -open_weights = false +top_p = true +top_k = true [limit] context = 1_000_000 output = 65_536 - -[modalities] -input = ["text", "image", "video", "pdf"] -output = ["text"] diff --git a/models/amazon/nova-lite-v1.toml b/models/amazon/nova-lite-v1.toml new file mode 100644 index 0000000000..b4f4c5159a --- /dev/null +++ b/models/amazon/nova-lite-v1.toml @@ -0,0 +1,28 @@ +# Lab metadata carried over from providers/openrouter/models/amazon/nova-lite-v1.toml (curated catalogue data already in this repo), +# with provider-specific fields (cost, reasoning_options, status) stripped. +# Formats: https://docs.aws.amazon.com/nova/latest/userguide/modalities.html (images PNG, JPG, JPEG, GIF, WebP; +# video MP4, MOV, MKV, WebM, FLV, MPEG, MPG, WMV, 3GP; media documents PDF, DOCX), as MIME types +# Sampling: temperature, topP and topK are inferenceConfig fields: +# https://docs.aws.amazon.com/nova/latest/userguide/complete-request-schema.html +schema = 2 +name = "Nova Lite 1.0" +description = "Efficient model for low-latency assistance, extraction, and routine automation" +family = "nova-lite" +open_weights = false +knowledge = "2024-10-31" +release_date = "2024-12-05" + +[modalities] +input = ["text", "image/png", "image/jpeg", "image/gif", "image/webp"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = false } +temperature = true +top_p = true +top_k = true + +[limit] +context = 300_000 +output = 5_120 diff --git a/models/amazon/nova-lite.toml b/models/amazon/nova-lite.toml index db52606132..76afae4d29 100644 --- a/models/amazon/nova-lite.toml +++ b/models/amazon/nova-lite.toml @@ -3,22 +3,44 @@ # Launch: https://aws.amazon.com/blogs/aws/introducing-amazon-nova-frontier-intelligence-and-industry-leading-price-performance/ # PDF document input is supported through Bedrock Converse. # Output: the Nova V1 guide's 10K is confirmed by US Bedrock Converse boundary checks (2026-09-09). +# Formats: https://docs.aws.amazon.com/nova/latest/userguide/modalities.html (images PNG, JPG, JPEG, GIF, WebP; +# video MP4, MOV, MKV, WebM, FLV, MPEG, MPG, WMV, 3GP; media documents PDF, DOCX), as MIME types +# Sampling: temperature, topP and topK are inferenceConfig fields: +# https://docs.aws.amazon.com/nova/latest/userguide/complete-request-schema.html +schema = 2 name = "Nova Lite" description = "Efficient model for low-latency assistance, extraction, and routine automation" family = "nova-lite" +open_weights = false +knowledge = "2024-10" release_date = "2024-12-03" -last_updated = "2024-12-03" -attachment = true -reasoning = false + +[modalities] +input = [ + "text", + "image/png", + "image/jpeg", + "image/gif", + "image/webp", + "video/mp4", + "video/quicktime", + "video/x-matroska", + "video/webm", + "video/x-flv", + "video/mpeg", + "video/x-ms-wmv", + "video/3gpp", + "application/pdf", +] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = false } temperature = true -knowledge = "2024-10" -tool_call = true -open_weights = false +top_p = true +top_k = true [limit] context = 300_000 output = 10_000 - -[modalities] -input = ["text", "image", "video", "pdf"] -output = ["text"] diff --git a/models/amazon/nova-micro-v1.toml b/models/amazon/nova-micro-v1.toml new file mode 100644 index 0000000000..06f492af40 --- /dev/null +++ b/models/amazon/nova-micro-v1.toml @@ -0,0 +1,26 @@ +# Lab metadata carried over from providers/openrouter/models/amazon/nova-micro-v1.toml (curated catalogue data already in this repo), +# with provider-specific fields (cost, reasoning_options, status) stripped. +# Sampling: temperature, topP and topK are inferenceConfig fields: +# https://docs.aws.amazon.com/nova/latest/userguide/complete-request-schema.html +schema = 2 +name = "Nova Micro 1.0" +description = "Efficient model for low-latency assistance, extraction, and routine automation" +family = "nova-micro" +open_weights = false +knowledge = "2024-10-31" +release_date = "2024-12-05" + +[modalities] +input = ["text"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = false } +temperature = true +top_p = true +top_k = true + +[limit] +context = 128_000 +output = 5_120 diff --git a/models/amazon/nova-micro.toml b/models/amazon/nova-micro.toml index bc353d076a..2fc6a50045 100644 --- a/models/amazon/nova-micro.toml +++ b/models/amazon/nova-micro.toml @@ -2,22 +2,27 @@ # https://docs.aws.amazon.com/bedrock/latest/userguide/model-card-amazon-nova-micro.html # Launch: https://aws.amazon.com/blogs/aws/introducing-amazon-nova-frontier-intelligence-and-industry-leading-price-performance/ # Output: the Nova V1 guide's 10K is confirmed by US Bedrock Converse boundary checks (2026-09-09). +# Sampling: temperature, topP and topK are inferenceConfig fields: +# https://docs.aws.amazon.com/nova/latest/userguide/complete-request-schema.html +schema = 2 name = "Nova Micro" description = "Efficient model for low-latency assistance, extraction, and routine automation" family = "nova-micro" +open_weights = false +knowledge = "2024-10" release_date = "2024-12-03" -last_updated = "2024-12-03" -attachment = false -reasoning = false + +[modalities] +input = ["text"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = false } temperature = true -knowledge = "2024-10" -tool_call = true -open_weights = false +top_p = true +top_k = true [limit] context = 128_000 output = 10_000 - -[modalities] -input = ["text"] -output = ["text"] diff --git a/models/amazon/nova-premier.toml b/models/amazon/nova-premier.toml index 15dea69332..e628e6f741 100644 --- a/models/amazon/nova-premier.toml +++ b/models/amazon/nova-premier.toml @@ -2,22 +2,44 @@ # Specs (including 10K output): https://docs.aws.amazon.com/nova/latest/userguide/what-is-nova.html # Prompted CoT, not a native thinking mode: https://docs.aws.amazon.com/nova/latest/userguide/prompting-chain-of-thought.html # Bedrock's generic Premier card conflicts on launch date, output limit, and reasoning; use the Nova V1 guide and launch announcement. +# Formats: https://docs.aws.amazon.com/nova/latest/userguide/modalities.html (images PNG, JPG, JPEG, GIF, WebP; +# video MP4, MOV, MKV, WebM, FLV, MPEG, MPG, WMV, 3GP; media documents PDF, DOCX), as MIME types +# Sampling: temperature, topP and topK are inferenceConfig fields: +# https://docs.aws.amazon.com/nova/latest/userguide/complete-request-schema.html +schema = 2 name = "Nova Premier" description = "Multimodal model for complex analysis, long-context understanding, tool use, and model distillation" family = "nova" +open_weights = false +knowledge = "2024-10" release_date = "2025-04-30" -last_updated = "2025-04-30" -attachment = true -reasoning = false + +[modalities] +input = [ + "text", + "image/png", + "image/jpeg", + "image/gif", + "image/webp", + "video/mp4", + "video/quicktime", + "video/x-matroska", + "video/webm", + "video/x-flv", + "video/mpeg", + "video/x-ms-wmv", + "video/3gpp", + "application/pdf", +] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = false } temperature = true -knowledge = "2024-10" -tool_call = true -open_weights = false +top_p = true +top_k = true [limit] context = 1_000_000 output = 10_000 - -[modalities] -input = ["text", "image", "video", "pdf"] -output = ["text"] diff --git a/models/amazon/nova-pro-v1.toml b/models/amazon/nova-pro-v1.toml new file mode 100644 index 0000000000..47f983005f --- /dev/null +++ b/models/amazon/nova-pro-v1.toml @@ -0,0 +1,28 @@ +# Lab metadata carried over from providers/openrouter/models/amazon/nova-pro-v1.toml (curated catalogue data already in this repo), +# with provider-specific fields (cost, reasoning_options, status) stripped. +# Formats: https://docs.aws.amazon.com/nova/latest/userguide/modalities.html (images PNG, JPG, JPEG, GIF, WebP; +# video MP4, MOV, MKV, WebM, FLV, MPEG, MPG, WMV, 3GP; media documents PDF, DOCX), as MIME types +# Sampling: temperature, topP and topK are inferenceConfig fields: +# https://docs.aws.amazon.com/nova/latest/userguide/complete-request-schema.html +schema = 2 +name = "Nova Pro 1.0" +description = "Flagship model for demanding analysis, coding, and production agent workflows" +family = "nova-pro" +open_weights = false +knowledge = "2024-10-31" +release_date = "2024-12-05" + +[modalities] +input = ["text", "image/png", "image/jpeg", "image/gif", "image/webp"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = false } +temperature = true +top_p = true +top_k = true + +[limit] +context = 300_000 +output = 5_120 diff --git a/models/amazon/nova-pro.toml b/models/amazon/nova-pro.toml index 5b04d7dfab..98e1d0c400 100644 --- a/models/amazon/nova-pro.toml +++ b/models/amazon/nova-pro.toml @@ -3,22 +3,44 @@ # Launch: https://aws.amazon.com/blogs/aws/introducing-amazon-nova-frontier-intelligence-and-industry-leading-price-performance/ # PDF document input is supported through Bedrock Converse. # Output: the Nova V1 guide's 10K is confirmed by US Bedrock Converse boundary checks (2026-09-09). +# Formats: https://docs.aws.amazon.com/nova/latest/userguide/modalities.html (images PNG, JPG, JPEG, GIF, WebP; +# video MP4, MOV, MKV, WebM, FLV, MPEG, MPG, WMV, 3GP; media documents PDF, DOCX), as MIME types +# Sampling: temperature, topP and topK are inferenceConfig fields: +# https://docs.aws.amazon.com/nova/latest/userguide/complete-request-schema.html +schema = 2 name = "Nova Pro" description = "Flagship model for demanding analysis, coding, and production agent workflows" family = "nova-pro" +open_weights = false +knowledge = "2024-10" release_date = "2024-12-03" -last_updated = "2024-12-03" -attachment = true -reasoning = false + +[modalities] +input = [ + "text", + "image/png", + "image/jpeg", + "image/gif", + "image/webp", + "video/mp4", + "video/quicktime", + "video/x-matroska", + "video/webm", + "video/x-flv", + "video/mpeg", + "video/x-ms-wmv", + "video/3gpp", + "application/pdf", +] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = false } temperature = true -knowledge = "2024-10" -tool_call = true -open_weights = false +top_p = true +top_k = true [limit] context = 300_000 output = 10_000 - -[modalities] -input = ["text", "image", "video", "pdf"] -output = ["text"] diff --git a/models/anthracite-org/magnum-v4-72b.toml b/models/anthracite-org/magnum-v4-72b.toml new file mode 100644 index 0000000000..f80296d798 --- /dev/null +++ b/models/anthracite-org/magnum-v4-72b.toml @@ -0,0 +1,26 @@ +# Lab metadata carried over from providers/openrouter/models/anthracite-org/magnum-v4-72b.toml (curated catalogue data already in this repo), +# with provider-specific fields (cost, reasoning_options, status) stripped. +# Weights: https://huggingface.co/anthracite-org/magnum-v4-72b (Apache-2.0) +# Sampling: open weights; generation_config.json sets temperature 0.7, top_p 0.8, top_k 20 +# (https://huggingface.co/anthracite-org/magnum-v4-72b/blob/main/generation_config.json). +schema = 2 +name = "Magnum v4 72B" +description = "Open-weight instruction model for adaptable chat and self-hosted production workloads" +open_weights = true +knowledge = "2024-06-30" +release_date = "2024-10-22" + +[modalities] +input = ["text"] +output = ["text"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = true +top_p = true +top_k = true + +[limit] +context = 32_768 +output = 4_096 diff --git a/models/anthropic/claude-3-5-haiku-20241022.toml b/models/anthropic/claude-3-5-haiku-20241022.toml index 88e08c2b21..9950a4eeba 100644 --- a/models/anthropic/claude-3-5-haiku-20241022.toml +++ b/models/anthropic/claude-3-5-haiku-20241022.toml @@ -1,23 +1,26 @@ +schema = 2 name = "Claude Haiku 3.5" description = "Fast Claude model for responsive assistance, classification, and lightweight agents" family = "claude-haiku" +open_weights = false +knowledge = "2024-07-31" release_date = "2024-10-22" -last_updated = "2024-10-22" -attachment = true -reasoning = false + +[modalities] +input = ["text", "image/jpeg", "image/png", "image/gif", "image/webp", "application/pdf"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = false } temperature = true -tool_call = true -knowledge = "2024-07-31" -open_weights = false +top_p = true +top_k = true [limit] context = 200_000 output = 8_192 -[modalities] -input = ["text", "image", "pdf"] -output = ["text"] - [[benchmarks]] name = "Aider Polyglot" score = 28.0 diff --git a/models/anthropic/claude-3-5-sonnet-20241022.toml b/models/anthropic/claude-3-5-sonnet-20241022.toml index ee6691c779..e47126cc4f 100644 --- a/models/anthropic/claude-3-5-sonnet-20241022.toml +++ b/models/anthropic/claude-3-5-sonnet-20241022.toml @@ -1,23 +1,26 @@ +schema = 2 name = "Claude Sonnet 3.5 v2" description = "Balanced Claude model for coding, analysis, agent workflows, and cost control" family = "claude-sonnet" +open_weights = false +knowledge = "2024-04-30" release_date = "2024-10-22" -last_updated = "2024-10-22" -attachment = true -reasoning = false + +[modalities] +input = ["text", "image/jpeg", "image/png", "image/gif", "image/webp", "application/pdf"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = false } temperature = true -tool_call = true -knowledge = "2024-04-30" -open_weights = false +top_p = true +top_k = true [limit] context = 200_000 output = 8_192 -[modalities] -input = ["text", "image", "pdf"] -output = ["text"] - [[benchmarks]] name = "Aider Polyglot" score = 51.6 diff --git a/models/anthropic/claude-3-7-sonnet-20250219.toml b/models/anthropic/claude-3-7-sonnet-20250219.toml index ae8109238e..5e35927491 100644 --- a/models/anthropic/claude-3-7-sonnet-20250219.toml +++ b/models/anthropic/claude-3-7-sonnet-20250219.toml @@ -1,23 +1,26 @@ +schema = 2 name = "Claude Sonnet 3.7" description = "Balanced Claude model for coding, analysis, agent workflows, and cost control" family = "claude-sonnet" +open_weights = false +knowledge = "2024-10-31" release_date = "2025-02-19" -last_updated = "2025-02-19" -attachment = true -reasoning = true + +[modalities] +input = ["text", "image/jpeg", "image/png", "image/gif", "image/webp", "application/pdf"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } temperature = true -tool_call = true -knowledge = "2024-10-31" -open_weights = false +top_p = true +top_k = true [limit] context = 200_000 output = 64_000 -[modalities] -input = ["text", "image", "pdf"] -output = ["text"] - [[benchmarks]] name = "Aider Polyglot" score = 64.9 diff --git a/models/anthropic/claude-3-haiku-20240307.toml b/models/anthropic/claude-3-haiku-20240307.toml index 5fcf474779..95437d8784 100644 --- a/models/anthropic/claude-3-haiku-20240307.toml +++ b/models/anthropic/claude-3-haiku-20240307.toml @@ -1,19 +1,22 @@ +schema = 2 name = "Claude Haiku 3" description = "Legacy model retained for compatibility with older integrations" family = "claude-haiku" +open_weights = false +knowledge = "2023-08-31" release_date = "2024-03-13" -last_updated = "2024-03-13" -attachment = true -reasoning = false + +[modalities] +input = ["text", "image/jpeg", "image/png", "image/gif", "image/webp", "application/pdf"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = false } temperature = true -tool_call = true -knowledge = "2023-08-31" -open_weights = false +top_p = true +top_k = true [limit] context = 200_000 output = 4_096 - -[modalities] -input = ["text", "image", "pdf"] -output = ["text"] diff --git a/models/anthropic/claude-fable-5-1.toml b/models/anthropic/claude-fable-5-1.toml index 7bc4479a33..5d40633999 100644 --- a/models/anthropic/claude-fable-5-1.toml +++ b/models/anthropic/claude-fable-5-1.toml @@ -1,19 +1,104 @@ +# Launch evaluations enable production safeguards: cyber tasks may fall back to Opus 4.8, biology tasks to Opus 5. +# OSWorld uses the August 2026 task release and scores safeguard interventions as zero, without fallback. +schema = 2 name = "Claude Fable 5.1" description = "Claude model for demanding reasoning and long-horizon agentic work" family = "claude-fable" -release_date = "2026-09-01" -last_updated = "2026-09-01" -attachment = true -reasoning = true -temperature = false -tool_call = true open_weights = false knowledge = "2026-06" +release_date = "2026-09-01" + +[modalities] +input = ["text", "image/jpeg", "image/png", "image/gif", "image/webp", "application/pdf"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } +temperature = false +top_p = false +top_k = false [limit] context = 1_000_000 output = 128_000 -[modalities] -input = ["text", "image", "pdf"] -output = ["text"] +[[benchmarks]] +name = "Terminal-Bench-Science" +score = 52.6 +metric = "score" +variant = "production safeguards with fallback" +version = "0.1" +source = "https://www.anthropic.com/claude-fable-and-mythos-5-1" +date = "2026-09-01" + +[[benchmarks]] +name = "Terminal-Bench" +score = 55.8 +metric = "score" +variant = "production safeguards with fallback" +version = "4.0" +source = "https://www.anthropic.com/claude-fable-and-mythos-5-1" +date = "2026-09-01" + +[[benchmarks]] +name = "GDPval-AA" +score = 1853 +metric = "Elo" +variant = "production safeguards with fallback" +version = "2" +source = "https://www.anthropic.com/claude-fable-and-mythos-5-1" +date = "2026-09-01" + +[[benchmarks]] +name = "OSWorld" +score = 77.9 +metric = "partial score" +variant = "production safeguards; interventions score zero; no fallback" +version = "2.0" +source = "https://www.anthropic.com/claude-fable-and-mythos-5-1" +date = "2026-09-01" +dataset = "August 2026 task release" + +[[benchmarks]] +name = "OSWorld" +score = 41.7 +metric = "strict success rate" +variant = "production safeguards; interventions score zero; no fallback" +version = "2.0" +source = "https://www.anthropic.com/claude-fable-and-mythos-5-1" +date = "2026-09-01" +dataset = "August 2026 task release" + +[[benchmarks]] +name = "Humanity's Last Exam" +score = 60.9 +metric = "score" +variant = "without tools; production safeguards with fallback" +source = "https://www.anthropic.com/claude-fable-and-mythos-5-1" +date = "2026-09-01" + +[[benchmarks]] +name = "Humanity's Last Exam" +score = 65 +metric = "score" +variant = "with tools; production safeguards with fallback" +source = "https://www.anthropic.com/claude-fable-and-mythos-5-1" +date = "2026-09-01" + +[[benchmarks]] +name = "AutomationBench" +score = 31.4 +metric = "pass rate" +variant = "production safeguards with fallback" +source = "https://www.anthropic.com/claude-fable-and-mythos-5-1" +date = "2026-09-01" + +[[benchmarks]] +name = "CursorBench" +score = 73.4 +metric = "score" +variant = "max effort; production safeguards with fallback" +version = "3.2.0" +source = "https://www.anthropic.com/claude-fable-and-mythos-5-1" +date = "2026-09-01" diff --git a/models/anthropic/claude-fable-5.toml b/models/anthropic/claude-fable-5.toml index 01152de15f..df1c5226d7 100644 --- a/models/anthropic/claude-fable-5.toml +++ b/models/anthropic/claude-fable-5.toml @@ -1,23 +1,26 @@ +schema = 2 name = "Claude Fable 5" description = "Claude model for creative writing, analysis, and controlled agent workflows" family = "claude-fable" -release_date = "2026-06-09" -last_updated = "2026-06-09" -attachment = true -reasoning = true -temperature = false -tool_call = true open_weights = false knowledge = "2026-01-31" +release_date = "2026-06-09" + +[modalities] +input = ["text", "image/jpeg", "image/png", "image/gif", "image/webp", "application/pdf"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } +temperature = false +top_p = false +top_k = false [limit] context = 1_000_000 output = 128_000 -[modalities] -input = ["text", "image", "pdf"] -output = ["text"] - [[benchmarks]] name = "SWE-Bench Pro" score = 80.3 diff --git a/models/anthropic/claude-haiku-4-5-20251001.toml b/models/anthropic/claude-haiku-4-5-20251001.toml index 627bc05f97..c76f579b04 100644 --- a/models/anthropic/claude-haiku-4-5-20251001.toml +++ b/models/anthropic/claude-haiku-4-5-20251001.toml @@ -1,19 +1,22 @@ +schema = 2 name = "Claude Haiku 4.5" description = "Fast Claude model for responsive assistance, classification, and lightweight agents" family = "claude-haiku" +open_weights = false +knowledge = "2025-02-28" release_date = "2025-10-15" -last_updated = "2025-10-15" -attachment = true -reasoning = true + +[modalities] +input = ["text", "image/jpeg", "image/png", "image/gif", "image/webp", "application/pdf"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } temperature = true -tool_call = true -knowledge = "2025-02-28" -open_weights = false +top_p = true +top_k = true [limit] context = 200_000 output = 64_000 - -[modalities] -input = ["text", "image", "pdf"] -output = ["text"] diff --git a/models/anthropic/claude-haiku-4-5.toml b/models/anthropic/claude-haiku-4-5.toml index f914d285f0..40bae766a8 100644 --- a/models/anthropic/claude-haiku-4-5.toml +++ b/models/anthropic/claude-haiku-4-5.toml @@ -1,23 +1,26 @@ +schema = 2 name = "Claude Haiku 4.5 (latest)" description = "Fast Claude lane for lightweight agents, office tasks, and responsive chat" family = "claude-haiku" +open_weights = false +knowledge = "2025-02-28" release_date = "2025-10-15" -last_updated = "2025-10-15" -attachment = true -reasoning = true + +[modalities] +input = ["text", "image/jpeg", "image/png", "image/gif", "image/webp", "application/pdf"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } temperature = true -tool_call = true -knowledge = "2025-02-28" -open_weights = false +top_p = true +top_k = true [limit] context = 200_000 output = 64_000 -[modalities] -input = ["text", "image", "pdf"] -output = ["text"] - [[benchmarks]] name = "SWE-Bench Pro" score = 39.45 diff --git a/models/anthropic/claude-haiku-5-5.toml b/models/anthropic/claude-haiku-5-5.toml new file mode 100644 index 0000000000..88f706e9ca --- /dev/null +++ b/models/anthropic/claude-haiku-5-5.toml @@ -0,0 +1,91 @@ +# Specifications: https://platform.claude.com/docs/en/models/haiku-5-5/overview +# Thinking and sampling: https://platform.claude.com/docs/en/models/haiku-5-5/migration-guide +# Evaluations: https://www.anthropic.com/claude-haiku-5-5 +schema = 2 +name = "Claude Haiku 5.5" +description = "Fast Claude model for responsive assistance, classification, and lightweight agents" +family = "claude-haiku" +open_weights = false +knowledge = "2026-06" +release_date = "2026-10-07" + +[modalities] +input = ["text", "image/jpeg", "image/png", "image/gif", "image/webp", "application/pdf"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } +temperature = false +top_p = false +top_k = false + +[limit] +context = 1_000_000 +output = 128_000 + +[[benchmarks]] +name = "GDPval-AA" +score = 1620 +metric = "Elo" +version = "2.1" +source = "https://www.anthropic.com/claude-haiku-5-5" +date = "2026-10-07" + +[[benchmarks]] +name = "AA-Briefcase" +score = 1578 +metric = "Elo" +version = "1.1" +source = "https://www.anthropic.com/claude-haiku-5-5" +date = "2026-10-07" + +[[benchmarks]] +name = "OSWorld" +score = 72.4 +metric = "partial score" +variant = "offline subset" +version = "2.1" +source = "https://www.anthropic.com/claude-haiku-5-5" +date = "2026-10-07" + +[[benchmarks]] +name = "Humanity's Last Exam" +score = 45.9 +metric = "score" +variant = "no tools" +source = "https://www.anthropic.com/claude-haiku-5-5" +date = "2026-10-07" + +[[benchmarks]] +name = "Humanity's Last Exam" +score = 57.4 +metric = "score" +variant = "with tools" +source = "https://www.anthropic.com/claude-haiku-5-5" +date = "2026-10-07" + +[[benchmarks]] +name = "Terminal-Bench" +score = 39.2 +metric = "score" +version = "4.0" +source = "https://www.anthropic.com/claude-haiku-5-5" +date = "2026-10-07" + +[[benchmarks]] +name = "FrontierCode" +score = 46.4 +metric = "score" +version = "1.1" +dataset = "Main" +source = "https://www.anthropic.com/claude-haiku-5-5" +date = "2026-10-07" + +[[benchmarks]] +name = "Chartography" +score = 46.4 +metric = "score" +variant = "no tools" +source = "https://www.anthropic.com/claude-haiku-5-5" +date = "2026-10-07" diff --git a/models/anthropic/claude-mythos-5.toml b/models/anthropic/claude-mythos-5.toml index 0debc256b2..947ecfff3e 100644 --- a/models/anthropic/claude-mythos-5.toml +++ b/models/anthropic/claude-mythos-5.toml @@ -1,23 +1,25 @@ # Sources: # https://platform.claude.com/docs/en/about-claude/models/introducing-claude-fable-5-and-claude-mythos-5 # https://www.anthropic.com/claude/mythos +schema = 2 name = "Claude Mythos 5" description = "Restricted Claude model for advanced cybersecurity and biology research workflows" family = "claude-mythos" +open_weights = false +knowledge = "2026-01-31" release_date = "2026-06-09" -last_updated = "2026-06-09" -attachment = true -reasoning = true + +[modalities] +input = ["text", "image/jpeg", "image/png", "image/gif", "image/webp", "application/pdf"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } temperature = false -tool_call = true -structured_output = true -knowledge = "2026-01-31" -open_weights = false +top_p = false +top_k = false [limit] context = 1_000_000 output = 128_000 - -[modalities] -input = ["text", "image", "pdf"] -output = ["text"] diff --git a/models/anthropic/claude-opus-4-0.toml b/models/anthropic/claude-opus-4-0.toml index ec82d37090..e1159f4873 100644 --- a/models/anthropic/claude-opus-4-0.toml +++ b/models/anthropic/claude-opus-4-0.toml @@ -1,23 +1,26 @@ +schema = 2 name = "Claude Opus 4 (latest)" description = "Flagship Claude model for deep reasoning, coding, and long-horizon agents" family = "claude-opus" +open_weights = false +knowledge = "2025-03-31" release_date = "2025-05-22" -last_updated = "2025-05-22" -attachment = true -reasoning = true + +[modalities] +input = ["text", "image/jpeg", "image/png", "image/gif", "image/webp", "application/pdf"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } temperature = true -tool_call = true -knowledge = "2025-03-31" -open_weights = false +top_p = true +top_k = true [limit] context = 200_000 output = 32_000 -[modalities] -input = ["text", "image", "pdf"] -output = ["text"] - [[benchmarks]] name = "Aider Polyglot" score = 72.0 diff --git a/models/anthropic/claude-opus-4-1-20250805.toml b/models/anthropic/claude-opus-4-1-20250805.toml index 4b188112f0..39cae5d06c 100644 --- a/models/anthropic/claude-opus-4-1-20250805.toml +++ b/models/anthropic/claude-opus-4-1-20250805.toml @@ -1,19 +1,22 @@ +schema = 2 name = "Claude Opus 4.1" description = "Flagship Claude model for deep reasoning, coding, and long-horizon agents" family = "claude-opus" +open_weights = false +knowledge = "2025-03-31" release_date = "2025-08-05" -last_updated = "2025-08-05" -attachment = true -reasoning = true + +[modalities] +input = ["text", "image/jpeg", "image/png", "image/gif", "image/webp", "application/pdf"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } temperature = true -tool_call = true -knowledge = "2025-03-31" -open_weights = false +top_p = true +top_k = true [limit] context = 200_000 output = 32_000 - -[modalities] -input = ["text", "image", "pdf"] -output = ["text"] diff --git a/models/anthropic/claude-opus-4-1.toml b/models/anthropic/claude-opus-4-1.toml index cd3fb3a072..b48d0d0b01 100644 --- a/models/anthropic/claude-opus-4-1.toml +++ b/models/anthropic/claude-opus-4-1.toml @@ -1,19 +1,22 @@ +schema = 2 name = "Claude Opus 4.1 (latest)" description = "Flagship Claude model for deep reasoning, coding, and long-horizon agents" family = "claude-opus" +open_weights = false +knowledge = "2025-03-31" release_date = "2025-08-05" -last_updated = "2025-08-05" -attachment = true -reasoning = true + +[modalities] +input = ["text", "image/jpeg", "image/png", "image/gif", "image/webp", "application/pdf"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } temperature = true -tool_call = true -knowledge = "2025-03-31" -open_weights = false +top_p = true +top_k = true [limit] context = 200_000 output = 32_000 - -[modalities] -input = ["text", "image", "pdf"] -output = ["text"] diff --git a/models/anthropic/claude-opus-4-20250514.toml b/models/anthropic/claude-opus-4-20250514.toml index 172862187c..a474fdf582 100644 --- a/models/anthropic/claude-opus-4-20250514.toml +++ b/models/anthropic/claude-opus-4-20250514.toml @@ -1,23 +1,26 @@ +schema = 2 name = "Claude Opus 4" description = "Flagship Claude model for deep reasoning, coding, and long-horizon agents" family = "claude-opus" +open_weights = false +knowledge = "2025-03-31" release_date = "2025-05-22" -last_updated = "2025-05-22" -attachment = true -reasoning = true + +[modalities] +input = ["text", "image/jpeg", "image/png", "image/gif", "image/webp", "application/pdf"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } temperature = true -tool_call = true -knowledge = "2025-03-31" -open_weights = false +top_p = true +top_k = true [limit] context = 200_000 output = 32_000 -[modalities] -input = ["text", "image", "pdf"] -output = ["text"] - [[benchmarks]] name = "Aider Polyglot" score = 72.0 diff --git a/models/anthropic/claude-opus-4-5-20251101.toml b/models/anthropic/claude-opus-4-5-20251101.toml index 5769099170..1c28a73b79 100644 --- a/models/anthropic/claude-opus-4-5-20251101.toml +++ b/models/anthropic/claude-opus-4-5-20251101.toml @@ -1,23 +1,28 @@ +# release_date: Anthropic announced Claude Opus 4.5 (claude-opus-4-5-20251101) on 2025-11-24 +# (https://www.anthropic.com/news/claude-opus-4-5); the 20251101 suffix is the snapshot ID, not the release. +schema = 2 name = "Claude Opus 4.5" description = "Flagship Claude model for deep reasoning, coding, and long-horizon agents" family = "claude-opus" -release_date = "2025-11-01" -last_updated = "2025-11-01" -attachment = true -reasoning = true -temperature = true -tool_call = true -knowledge = "2025-05" open_weights = false +knowledge = "2025-05" +release_date = "2025-11-24" + +[modalities] +input = ["text", "image/jpeg", "image/png", "image/gif", "image/webp", "application/pdf"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } +temperature = true +top_p = true +top_k = true [limit] context = 200_000 output = 64_000 -[modalities] -input = ["text", "image", "pdf"] -output = ["text"] - [[benchmarks]] name = "SWE-Bench Pro" score = 45.89 diff --git a/models/anthropic/claude-opus-4-5.toml b/models/anthropic/claude-opus-4-5.toml index 6be4cf593c..969622252c 100644 --- a/models/anthropic/claude-opus-4-5.toml +++ b/models/anthropic/claude-opus-4-5.toml @@ -1,19 +1,22 @@ +schema = 2 name = "Claude Opus 4.5 (latest)" description = "Flagship Claude model for deep reasoning, coding, and long-horizon agents" family = "claude-opus" +open_weights = false +knowledge = "2025-05" release_date = "2025-11-24" -last_updated = "2025-11-24" -attachment = true -reasoning = true + +[modalities] +input = ["text", "image/jpeg", "image/png", "image/gif", "image/webp", "application/pdf"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } temperature = true -tool_call = true -knowledge = "2025-05" -open_weights = false +top_p = true +top_k = true [limit] context = 200_000 output = 64_000 - -[modalities] -input = ["text", "image", "pdf"] -output = ["text"] diff --git a/models/anthropic/claude-opus-4-6.toml b/models/anthropic/claude-opus-4-6.toml index 0fc4970b06..e9867af9e8 100644 --- a/models/anthropic/claude-opus-4-6.toml +++ b/models/anthropic/claude-opus-4-6.toml @@ -1,23 +1,27 @@ +schema = 2 name = "Claude Opus 4.6" description = "High-end Claude for difficult coding, planning, and slower expert reasoning" family = "claude-opus" +open_weights = false +knowledge = "2025-05-31" release_date = "2026-02-05" last_updated = "2026-03-13" -attachment = true -reasoning = true + +[modalities] +input = ["text", "image/jpeg", "image/png", "image/gif", "image/webp", "application/pdf"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } temperature = true -tool_call = true -knowledge = "2025-05-31" -open_weights = false +top_p = true +top_k = true [limit] context = 1_000_000 output = 128_000 -[modalities] -input = ["text", "image", "pdf"] -output = ["text"] - [[benchmarks]] name = "SWE-Bench Pro" score = 51.9 diff --git a/models/anthropic/claude-opus-4-7.toml b/models/anthropic/claude-opus-4-7.toml index 68132bb323..59a36c1dbc 100644 --- a/models/anthropic/claude-opus-4-7.toml +++ b/models/anthropic/claude-opus-4-7.toml @@ -1,23 +1,26 @@ +schema = 2 name = "Claude Opus 4.7" description = "Stronger Opus tier for advanced software work and high-stakes reasoning" family = "claude-opus" +open_weights = false +knowledge = "2026-01-31" release_date = "2026-04-16" -last_updated = "2026-04-16" -attachment = true -reasoning = true + +[modalities] +input = ["text", "image/jpeg", "image/png", "image/gif", "image/webp", "application/pdf"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } temperature = false -tool_call = true -knowledge = "2026-01-31" -open_weights = false +top_p = false +top_k = false [limit] context = 1_000_000 output = 128_000 -[modalities] -input = ["text", "image", "pdf"] -output = ["text"] - [[benchmarks]] name = "SWE-Bench Pro" score = 64.3 diff --git a/models/anthropic/claude-opus-4-8.toml b/models/anthropic/claude-opus-4-8.toml index 4f98d98739..c662aab086 100644 --- a/models/anthropic/claude-opus-4-8.toml +++ b/models/anthropic/claude-opus-4-8.toml @@ -1,23 +1,26 @@ +schema = 2 name = "Claude Opus 4.8" description = "Top Claude Opus tier for the hardest reasoning, coding, and long-horizon agents" family = "claude-opus" -release_date = "2026-05-28" -last_updated = "2026-05-28" -attachment = true -reasoning = true -temperature = false -tool_call = true open_weights = false knowledge = "2026-01" +release_date = "2026-05-28" + +[modalities] +input = ["text", "image/jpeg", "image/png", "image/gif", "image/webp", "application/pdf"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } +temperature = false +top_p = false +top_k = false [limit] context = 1_000_000 output = 128_000 -[modalities] -input = ["text", "image", "pdf"] -output = ["text"] - [[benchmarks]] name = "SWE-Bench Pro" score = 69.2 diff --git a/models/anthropic/claude-opus-5-5.toml b/models/anthropic/claude-opus-5-5.toml new file mode 100644 index 0000000000..174f6ee753 --- /dev/null +++ b/models/anthropic/claude-opus-5-5.toml @@ -0,0 +1,103 @@ +# Launch evaluations use adaptive thinking and production safeguards, with Opus 4.8 fallback for cyber and Opus 5 for bio/frontier-LLM development. +# AutomationBench disables fallback and counts safeguard-triggered tasks as failures; Terminal-Bench uses xhigh effort. +schema = 2 +name = "Claude Opus 5.5" +description = "Claude model for long-running agentic coding and knowledge work" +family = "claude-opus" +open_weights = false +knowledge = "2026-06" +release_date = "2026-09-22" + +[modalities] +input = ["text", "image/jpeg", "image/png", "image/gif", "image/webp", "application/pdf"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } +temperature = false +top_p = false +top_k = false + +[limit] +context = 1_000_000 +output = 128_000 + +[[benchmarks]] +name = "Terminal-Bench" +score = 66.4 +metric = "score" +variant = "xhigh effort; production safeguards with fallback" +version = "4.0" +source = "https://www.anthropic.com/claude-opus-5-5" +date = "2026-09-22" + +[[benchmarks]] +name = "FrontierCode" +score = 54.4 +metric = "score" +variant = "max effort; production safeguards with fallback" +version = "1.1" +dataset = "Main" +source = "https://www.anthropic.com/claude-opus-5-5" +date = "2026-09-22" + +[[benchmarks]] +name = "CursorBench" +score = 57.8 +metric = "score" +variant = "max effort; production safeguards with fallback" +version = "4.0" +source = "https://www.anthropic.com/claude-opus-5-5" +date = "2026-09-22" + +[[benchmarks]] +name = "GDPval-AA" +score = 1846 +metric = "Elo" +variant = "max effort; production safeguards with fallback" +version = "2.1" +source = "https://www.anthropic.com/claude-opus-5-5" +date = "2026-09-22" + +[[benchmarks]] +name = "AutomationBench" +score = 40 +metric = "pass rate" +variant = "max effort; production safeguards; no fallback" +source = "https://www.anthropic.com/claude-opus-5-5" +date = "2026-09-22" + +[[benchmarks]] +name = "Humanity's Last Exam" +score = 67.7 +metric = "score" +variant = "max effort; with tools; production safeguards with fallback" +source = "https://www.anthropic.com/claude-opus-5-5" +date = "2026-09-22" + +[[benchmarks]] +name = "Terminal-Bench-Science" +score = 58.7 +metric = "score" +variant = "max effort; production safeguards with fallback" +version = "0.1" +source = "https://www.anthropic.com/claude-opus-5-5" +date = "2026-09-22" + +[[benchmarks]] +name = "OSWorld" +score = 81.8 +metric = "partial score" +variant = "max effort; production safeguards with fallback" +version = "2.0" +source = "https://www.anthropic.com/claude-opus-5-5" +date = "2026-09-22" + +[[benchmarks]] +name = "Chartography" +score = 89 +metric = "score" +variant = "max effort; with tools; production safeguards with fallback" +source = "https://www.anthropic.com/claude-opus-5-5" +date = "2026-09-22" diff --git a/models/anthropic/claude-opus-5.toml b/models/anthropic/claude-opus-5.toml index 56a97b57aa..4f24bb105f 100644 --- a/models/anthropic/claude-opus-5.toml +++ b/models/anthropic/claude-opus-5.toml @@ -1,23 +1,26 @@ +schema = 2 name = "Claude Opus 5" description = "Strongest Claude Opus model for coding, agents, and professional work" family = "claude-opus" -release_date = "2026-07-24" -last_updated = "2026-07-24" -attachment = true -reasoning = true -temperature = false -tool_call = true open_weights = false knowledge = "2026-05" +release_date = "2026-07-24" + +[modalities] +input = ["text", "image/jpeg", "image/png", "image/gif", "image/webp", "application/pdf"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } +temperature = false +top_p = false +top_k = false [limit] context = 1_000_000 output = 128_000 -[modalities] -input = ["text", "image", "pdf"] -output = ["text"] - [[benchmarks]] name = "SWE-Bench Verified" score = 96.0 diff --git a/models/anthropic/claude-sonnet-4-0.toml b/models/anthropic/claude-sonnet-4-0.toml index 48ab1bd47a..637722a4da 100644 --- a/models/anthropic/claude-sonnet-4-0.toml +++ b/models/anthropic/claude-sonnet-4-0.toml @@ -1,23 +1,26 @@ +schema = 2 name = "Claude Sonnet 4 (latest)" description = "Balanced Claude model for coding, analysis, agent workflows, and cost control" family = "claude-sonnet" +open_weights = false +knowledge = "2025-03-31" release_date = "2025-05-22" -last_updated = "2025-05-22" -attachment = true -reasoning = true + +[modalities] +input = ["text", "image/jpeg", "image/png", "image/gif", "image/webp", "application/pdf"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } temperature = true -tool_call = true -knowledge = "2025-03-31" -open_weights = false +top_p = true +top_k = true [limit] context = 200_000 output = 64_000 -[modalities] -input = ["text", "image", "pdf"] -output = ["text"] - [[benchmarks]] name = "Aider Polyglot" score = 61.3 diff --git a/models/anthropic/claude-sonnet-4-20250514.toml b/models/anthropic/claude-sonnet-4-20250514.toml index 8e8cfdb0d5..43085a3fcc 100644 --- a/models/anthropic/claude-sonnet-4-20250514.toml +++ b/models/anthropic/claude-sonnet-4-20250514.toml @@ -1,23 +1,26 @@ +schema = 2 name = "Claude Sonnet 4" description = "Balanced Claude model for coding, analysis, agent workflows, and cost control" family = "claude-sonnet" +open_weights = false +knowledge = "2025-03-31" release_date = "2025-05-22" -last_updated = "2025-05-22" -attachment = true -reasoning = true + +[modalities] +input = ["text", "image/jpeg", "image/png", "image/gif", "image/webp", "application/pdf"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } temperature = true -tool_call = true -knowledge = "2025-03-31" -open_weights = false +top_p = true +top_k = true [limit] context = 200_000 output = 64_000 -[modalities] -input = ["text", "image", "pdf"] -output = ["text"] - [[benchmarks]] name = "Aider Polyglot" score = 61.3 diff --git a/models/anthropic/claude-sonnet-4-5-20250929.toml b/models/anthropic/claude-sonnet-4-5-20250929.toml index 245661d353..3427882c5e 100644 --- a/models/anthropic/claude-sonnet-4-5-20250929.toml +++ b/models/anthropic/claude-sonnet-4-5-20250929.toml @@ -1,19 +1,22 @@ +schema = 2 name = "Claude Sonnet 4.5" description = "Balanced Claude model for coding, analysis, agent workflows, and cost control" family = "claude-sonnet" +open_weights = false +knowledge = "2025-07-31" release_date = "2025-09-29" -last_updated = "2025-09-29" -attachment = true -reasoning = true + +[modalities] +input = ["text", "image/jpeg", "image/png", "image/gif", "image/webp", "application/pdf"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } temperature = true -tool_call = true -knowledge = "2025-07-31" -open_weights = false +top_p = true +top_k = true [limit] context = 200_000 output = 64_000 - -[modalities] -input = ["text", "image", "pdf"] -output = ["text"] diff --git a/models/anthropic/claude-sonnet-4-5.toml b/models/anthropic/claude-sonnet-4-5.toml index 941a171eb3..54f76e78df 100644 --- a/models/anthropic/claude-sonnet-4-5.toml +++ b/models/anthropic/claude-sonnet-4-5.toml @@ -1,23 +1,26 @@ +schema = 2 name = "Claude Sonnet 4.5 (latest)" description = "Balanced Claude model for coding, analysis, agent workflows, and cost control" family = "claude-sonnet" +open_weights = false +knowledge = "2025-07-31" release_date = "2025-09-29" -last_updated = "2025-09-29" -attachment = true -reasoning = true + +[modalities] +input = ["text", "image/jpeg", "image/png", "image/gif", "image/webp", "application/pdf"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } temperature = true -tool_call = true -knowledge = "2025-07-31" -open_weights = false +top_p = true +top_k = true [limit] context = 200_000 output = 64_000 -[modalities] -input = ["text", "image", "pdf"] -output = ["text"] - [[benchmarks]] name = "SWE-Bench Pro" score = 43.6 diff --git a/models/anthropic/claude-sonnet-4-6.toml b/models/anthropic/claude-sonnet-4-6.toml index c3bc170bb2..c854c1b386 100644 --- a/models/anthropic/claude-sonnet-4-6.toml +++ b/models/anthropic/claude-sonnet-4-6.toml @@ -1,23 +1,27 @@ +schema = 2 name = "Claude Sonnet 4.6" description = "Claude workhorse for coding agents, careful analysis, and production cost control" family = "claude-sonnet" +open_weights = false +knowledge = "2025-08-31" release_date = "2026-02-17" last_updated = "2026-03-13" -attachment = true -reasoning = true + +[modalities] +input = ["text", "image/jpeg", "image/png", "image/gif", "image/webp", "application/pdf"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } temperature = true -tool_call = true -knowledge = "2025-08-31" -open_weights = false +top_p = true +top_k = true [limit] context = 1_000_000 output = 64_000 -[modalities] -input = ["text", "image", "pdf"] -output = ["text"] - [[benchmarks]] name = "SWE-Atlas Codebase QnA" score = 31.2 diff --git a/models/anthropic/claude-sonnet-5-5.toml b/models/anthropic/claude-sonnet-5-5.toml new file mode 100644 index 0000000000..fdd53d2f7b --- /dev/null +++ b/models/anthropic/claude-sonnet-5-5.toml @@ -0,0 +1,74 @@ +# Specs: https://platform.claude.com/docs/en/models/sonnet-5-5/overview +# Evaluations: https://www.anthropic.com/claude-sonnet-5-5 +schema = 2 +name = "Claude Sonnet 5.5" +description = "Fast Claude model for everyday coding, agents, and knowledge work" +family = "claude-sonnet" +open_weights = false +knowledge = "2026-06" +release_date = "2026-09-28" + +[modalities] +input = ["text", "image/jpeg", "image/png", "image/gif", "image/webp", "application/pdf"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } +temperature = false +top_p = false +top_k = false + +[limit] +context = 1_000_000 +output = 128_000 + +[[benchmarks]] +name = "Terminal-Bench" +score = 70.6 +metric = "score" +version = "4.0" +source = "https://www.anthropic.com/claude-sonnet-5-5" +date = "2026-09-28" + +[[benchmarks]] +name = "FrontierCode" +score = 46.2 +metric = "score" +variant = "max effort" +version = "1.1" +dataset = "Main" +source = "https://www.anthropic.com/claude-sonnet-5-5" +date = "2026-09-28" + +[[benchmarks]] +name = "CursorBench" +score = 55.5 +metric = "score" +version = "4.0" +source = "https://www.anthropic.com/claude-sonnet-5-5" +date = "2026-09-28" + +[[benchmarks]] +name = "GDPval-AA" +score = 1844 +metric = "Elo" +version = "2.1" +source = "https://www.anthropic.com/claude-sonnet-5-5" +date = "2026-09-28" + +[[benchmarks]] +name = "Humanity's Last Exam" +score = 64.5 +metric = "score" +variant = "with tools" +source = "https://www.anthropic.com/claude-sonnet-5-5" +date = "2026-09-28" + +[[benchmarks]] +name = "OSWorld" +score = 80.1 +metric = "partial score" +version = "2.1" +source = "https://www.anthropic.com/claude-sonnet-5-5" +date = "2026-09-28" diff --git a/models/anthropic/claude-sonnet-5.toml b/models/anthropic/claude-sonnet-5.toml index cd50f68c38..e0c9e7c544 100644 --- a/models/anthropic/claude-sonnet-5.toml +++ b/models/anthropic/claude-sonnet-5.toml @@ -1,23 +1,26 @@ +schema = 2 name = "Claude Sonnet 5" description = "Everyday Claude agent model for coding, planning, browsing, and general work" family = "claude-sonnet" +open_weights = false +knowledge = "2026-01-31" release_date = "2026-06-30" -last_updated = "2026-06-30" -attachment = true -reasoning = true + +[modalities] +input = ["text", "image/jpeg", "image/png", "image/gif", "image/webp", "application/pdf"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } temperature = false -tool_call = true -knowledge = "2026-01-31" -open_weights = false +top_p = false +top_k = false [limit] context = 1_000_000 output = 128_000 -[modalities] -input = ["text", "image", "pdf"] -output = ["text"] - [[benchmarks]] name = "SWE-Bench Verified" score = 85.2 diff --git a/models/apodex/apodex-1.1-mini.toml b/models/apodex/apodex-1.1-mini.toml new file mode 100644 index 0000000000..bcd18d8911 --- /dev/null +++ b/models/apodex/apodex-1.1-mini.toml @@ -0,0 +1,33 @@ +# https://www.apodex.com/blog/apodex-1.1-scaling-agentic-intelligence-for-complex-work +# https://huggingface.co/apodex/Apodex-1.1-mini +# Output limit: https://novita.ai/models/model-detail/apodex-apodex-1.1-mini +# Text only: Apodex's own API says core models (apodex-1.1, apodex-1.1-mini) are "Text only. Multimodal input is not +# supported. Image, audio and file content parts are rejected" (https://platform.apodex.ai/docs/models). The checkpoint keeps +# the Qwen3.5 vision config, but no official source says the model accepts images. +# Sampling: open weights; the card recommends temperature 1.0 and top_p 0.95, and generation_config.json adds top_k 20 +# (https://huggingface.co/apodex/Apodex-1.1-mini/blob/main/generation_config.json). +schema = 2 +name = "Apodex 1.1 Mini" +description = "Open-weight 35B MoE model for long-horizon research, forecasting, and tool-assisted work" +open_weights = true +release_date = "2026-08-24" +license = "Apache-2.0" + +[modalities] +input = ["text"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } +temperature = true +top_p = true +top_k = true + +[limit] +context = 262_144 +output = 262_144 + +[[weights]] +label = "Hugging Face" +url = "https://huggingface.co/apodex/Apodex-1.1-mini" diff --git a/models/arcee-ai/trinity-large-preview.toml b/models/arcee-ai/trinity-large-preview.toml index aa0bf3d02c..514d522ee7 100644 --- a/models/arcee-ai/trinity-large-preview.toml +++ b/models/arcee-ai/trinity-large-preview.toml @@ -1,24 +1,29 @@ # Source: https://huggingface.co/arcee-ai/Trinity-Large-Preview +# Sampling: open weights; generation_config.json sets temperature 0.8 and top_p 0.8; top_k is a standard sampling control for this checkpoint. +schema = 2 name = "Trinity Large Preview" description = "Lightly post-trained 398B MoE chat model for creative work, long-context prompts, and tool-using agents" family = "trinity" +open_weights = true release_date = "2026-01-27" last_updated = "2026-05-28" -attachment = false -reasoning = false -temperature = true -tool_call = true -open_weights = true license = "OpenMDW-1.1" -[limit] -context = 524_288 -output = 262_144 - [modalities] input = ["text"] output = ["text"] +[capabilities] +tools = { supported = true } +reasoning = { supported = false } +temperature = true +top_p = true +top_k = true + +[limit] +context = 524_288 +output = 262_144 + [[weights]] label = "Hugging Face" url = "https://huggingface.co/arcee-ai/Trinity-Large-Preview" diff --git a/models/arcee-ai/trinity-large-thinking.toml b/models/arcee-ai/trinity-large-thinking.toml index 6396d410a8..b83b0ea3b0 100644 --- a/models/arcee-ai/trinity-large-thinking.toml +++ b/models/arcee-ai/trinity-large-thinking.toml @@ -1,24 +1,29 @@ # Source: https://huggingface.co/arcee-ai/Trinity-Large-Thinking +# Sampling: open weights; the model card recommends temperature=0.45-0.6, top_p=0.95, top_k=50. +schema = 2 name = "Trinity Large Thinking" description = "Reasoning-optimized 398B MoE agent model with extended thinking for long-horizon and multi-turn tool use" family = "trinity" +open_weights = true release_date = "2026-04-01" last_updated = "2026-05-28" -attachment = false -reasoning = true -temperature = true -tool_call = true -open_weights = true license = "OpenMDW-1.1" -[limit] -context = 524_288 -output = 262_144 - [modalities] input = ["text"] output = ["text"] +[capabilities] +tools = { supported = true } +reasoning = { supported = true } +temperature = true +top_p = true +top_k = true + +[limit] +context = 524_288 +output = 262_144 + [[weights]] label = "Hugging Face" url = "https://huggingface.co/arcee-ai/Trinity-Large-Thinking" diff --git a/models/arcee-ai/trinity-mini.toml b/models/arcee-ai/trinity-mini.toml index b0258d8b83..721ec98cfc 100644 --- a/models/arcee-ai/trinity-mini.toml +++ b/models/arcee-ai/trinity-mini.toml @@ -1,24 +1,29 @@ # Source: https://huggingface.co/arcee-ai/Trinity-Mini +# Sampling: open weights; generation_config.json sets temperature 0.15, top_p 0.75, top_k 50. +schema = 2 name = "Trinity Mini" description = "Reasoning-tuned 26B MoE model with 3B active parameters for agents, tools, and multi-step workloads" family = "trinity" +open_weights = true release_date = "2025-12-01" last_updated = "2026-05-28" -attachment = false -reasoning = true -temperature = true -tool_call = true -open_weights = true license = "OpenMDW-1.1" -[limit] -context = 131_072 -output = 131_072 - [modalities] input = ["text"] output = ["text"] +[capabilities] +tools = { supported = true } +reasoning = { supported = true } +temperature = true +top_p = true +top_k = true + +[limit] +context = 131_072 +output = 131_072 + [[weights]] label = "Hugging Face" url = "https://huggingface.co/arcee-ai/Trinity-Mini" diff --git a/models/arcee-ai/trinity-nano-preview.toml b/models/arcee-ai/trinity-nano-preview.toml index e1493d993d..d5b8d7c2a2 100644 --- a/models/arcee-ai/trinity-nano-preview.toml +++ b/models/arcee-ai/trinity-nano-preview.toml @@ -1,24 +1,29 @@ # Source: https://huggingface.co/arcee-ai/Trinity-Nano-Preview +# Sampling: open weights; the model card samples with temperature=0.5, top_k=50, top_p=0.95. +schema = 2 name = "Trinity Nano Preview" description = "Experimental chat-tuned 6B MoE model with 1B active parameters for low-resource chat and instruction following" family = "trinity" +open_weights = true release_date = "2025-12-01" last_updated = "2026-05-28" -attachment = false -reasoning = false -temperature = true -tool_call = true -open_weights = true license = "OpenMDW-1.1" -[limit] -context = 131_072 -output = 131_072 - [modalities] input = ["text"] output = ["text"] +[capabilities] +tools = { supported = true } +reasoning = { supported = false } +temperature = true +top_p = true +top_k = true + +[limit] +context = 131_072 +output = 131_072 + [[weights]] label = "Hugging Face" url = "https://huggingface.co/arcee-ai/Trinity-Nano-Preview" diff --git a/models/assemblyai/universal-3-5-pro.toml b/models/assemblyai/universal-3-5-pro.toml new file mode 100644 index 0000000000..f078293279 --- /dev/null +++ b/models/assemblyai/universal-3-5-pro.toml @@ -0,0 +1,27 @@ +# First released as Universal-3.5 Pro Realtime on 2026-06-15, async on 2026-07-06: https://www.assemblyai.com/changelog +# https://www.assemblyai.com/docs/pre-recorded-audio/universal-3-5-pro +# Input formats: the common list in OpenRouter's speech-to-text docs (the lab lists none here): +# https://openrouter.ai/docs/guides/overview/multimodal/stt +# temperature "only takes effect on the Universal-3.5 Pro model": https://www.assemblyai.com/docs/api-reference/transcripts/submit +schema = 2 +v2_only = true +type = "transcription" +name = "Universal-3.5 Pro" +description = "Speech-to-text model with code switching, contextual prompting, and speaker diarization" +open_weights = false +release_date = "2026-06-15" + +[modalities] +input = ["audio/wav", "audio/mpeg", "audio/flac", "audio/mp4", "audio/ogg", "audio/webm", "audio/aac"] +output = ["text"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = true +top_p = false +top_k = false + +[limit] +context = 0 +output = 0 diff --git a/models/assemblyai/universal-3-6-pro.toml b/models/assemblyai/universal-3-6-pro.toml new file mode 100644 index 0000000000..a25b375702 --- /dev/null +++ b/models/assemblyai/universal-3-6-pro.toml @@ -0,0 +1,25 @@ +# Released 2026-09-29 (speech_model=universal-3-6-pro): https://www.assemblyai.com/changelog +# Input formats: the common list in OpenRouter's speech-to-text docs (the lab lists none here): +# https://openrouter.ai/docs/guides/overview/multimodal/stt +schema = 2 +v2_only = true +type = "transcription" +name = "Universal-3.6 Pro" +description = "Speech-to-text model trained on voice-agent and telephony audio, successor to Universal-3.5 Pro" +open_weights = false +release_date = "2026-09-29" + +[modalities] +input = ["audio/wav", "audio/mpeg", "audio/flac", "audio/mp4", "audio/ogg", "audio/webm", "audio/aac"] +output = ["text"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 0 +output = 0 diff --git a/models/assemblyai/universal-3-pro.toml b/models/assemblyai/universal-3-pro.toml new file mode 100644 index 0000000000..2e1db3deeb --- /dev/null +++ b/models/assemblyai/universal-3-pro.toml @@ -0,0 +1,25 @@ +# Released 2026-02-03 ("Today we're releasing Universal-3 Pro"): https://www.assemblyai.com/blog/introducing-universal-3-pro +# Superseded by Universal-3.5 Pro; AssemblyAI retires universal-3-pro for new accounts: https://www.assemblyai.com/changelog +# Input formats: common types from https://www.assemblyai.com/docs/faq/what-audio-and-video-file-types-are-supported-by-your-api +schema = 2 +v2_only = true +type = "transcription" +name = "Universal-3 Pro" +description = "Promptable speech-to-text model with natural-language prompting, keyterms and speaker diarization" +open_weights = false +release_date = "2026-02-03" + +[modalities] +input = ["audio/wav", "audio/mpeg", "audio/flac", "audio/mp4", "audio/ogg", "audio/webm", "audio/aac"] +output = ["text"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 0 +output = 0 diff --git a/models/baai/bge-base-en-v1.5.toml b/models/baai/bge-base-en-v1.5.toml new file mode 100644 index 0000000000..32e9968171 --- /dev/null +++ b/models/baai/bge-base-en-v1.5.toml @@ -0,0 +1,30 @@ +# https://huggingface.co/BAAI/bge-base-en-v1.5 (MIT, 512-token input) +# Released 2023-09-12 ("New models: bge-*-v1.5"): https://github.com/FlagOpen/FlagEmbedding#news +schema = 2 +v2_only = true +type = "embedding" +name = "BGE Base EN v1.5" +description = "English text embedding model for retrieval and semantic search" +family = "bge" +open_weights = true +release_date = "2023-09-12" +license = "MIT" + +[modalities] +input = ["text"] +output = ["embedding"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 512 +output = 0 + +[[weights]] +label = "Hugging Face" +url = "https://huggingface.co/BAAI/bge-base-en-v1.5" diff --git a/models/baai/bge-large-en-v1.5.toml b/models/baai/bge-large-en-v1.5.toml new file mode 100644 index 0000000000..1ca2b15034 --- /dev/null +++ b/models/baai/bge-large-en-v1.5.toml @@ -0,0 +1,30 @@ +# https://huggingface.co/BAAI/bge-large-en-v1.5 (MIT, 512-token input) +# Released 2023-09-12 ("New models: bge-*-v1.5"): https://github.com/FlagOpen/FlagEmbedding#news +schema = 2 +v2_only = true +type = "embedding" +name = "BGE Large EN v1.5" +description = "English text embedding model for retrieval and semantic search" +family = "bge" +open_weights = true +release_date = "2023-09-12" +license = "MIT" + +[modalities] +input = ["text"] +output = ["embedding"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 512 +output = 0 + +[[weights]] +label = "Hugging Face" +url = "https://huggingface.co/BAAI/bge-large-en-v1.5" diff --git a/models/baai/bge-m3.toml b/models/baai/bge-m3.toml new file mode 100644 index 0000000000..f3ff3150ba --- /dev/null +++ b/models/baai/bge-m3.toml @@ -0,0 +1,30 @@ +# https://huggingface.co/BAAI/bge-m3 +# https://github.com/FlagOpen/FlagEmbedding/tree/master/research/BGE_M3 +# Embedding model: no sampling, output is embeddings. +schema = 2 +type = "embedding" +name = "BGE M3" +description = "Multilingual embedding model combining dense, sparse, and multi-vector retrieval" +family = "bge" +open_weights = true +release_date = "2024-01-30" +license = "MIT" + +[modalities] +input = ["text"] +output = ["embedding"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 8_192 +output = 0 + +[[weights]] +label = "Hugging Face" +url = "https://huggingface.co/BAAI/bge-m3" diff --git a/models/baai/bge-multilingual-gemma2.toml b/models/baai/bge-multilingual-gemma2.toml new file mode 100644 index 0000000000..20a375b939 --- /dev/null +++ b/models/baai/bge-multilingual-gemma2.toml @@ -0,0 +1,31 @@ +# https://huggingface.co/BAAI/bge-multilingual-gemma2 +# https://huggingface.co/api/models/BAAI/bge-multilingual-gemma2 (createdAt 2024-07-25) +# https://huggingface.co/BAAI/bge-multilingual-gemma2/blob/main/config.json (max_position_embeddings 8192) +# Embedding model: no sampling, output is embeddings. +schema = 2 +type = "embedding" +name = "BGE Multilingual Gemma2" +description = "Multilingual Gemma 2 based embedding model for retrieval and semantic search" +family = "bge" +open_weights = true +release_date = "2024-07-25" +license = "Gemma" + +[modalities] +input = ["text"] +output = ["embedding"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 8_192 +output = 0 + +[[weights]] +label = "Hugging Face" +url = "https://huggingface.co/BAAI/bge-multilingual-gemma2" diff --git a/models/baai/bge-reranker-v2-m3.toml b/models/baai/bge-reranker-v2-m3.toml new file mode 100644 index 0000000000..6465cae7a2 --- /dev/null +++ b/models/baai/bge-reranker-v2-m3.toml @@ -0,0 +1,29 @@ +# https://huggingface.co/BAAI/bge-reranker-v2-m3 +# Reranker: no sampling, output is relevance scores. +schema = 2 +type = "reranking" +name = "BGE Reranker V2 M3" +description = "Lightweight multilingual cross-encoder that scores query-document relevance" +family = "bge" +open_weights = true +release_date = "2024-03-15" +license = "Apache-2.0" + +[modalities] +input = ["text"] +output = ["reranking"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 8_192 +output = 0 + +[[weights]] +label = "Hugging Face" +url = "https://huggingface.co/BAAI/bge-reranker-v2-m3" diff --git a/models/baichuan/baichuan-m2-32b.toml b/models/baichuan/baichuan-m2-32b.toml new file mode 100644 index 0000000000..b19c7b4919 --- /dev/null +++ b/models/baichuan/baichuan-m2-32b.toml @@ -0,0 +1,29 @@ +# https://huggingface.co/baichuan-inc/Baichuan-M2-32B +# Sampling: open weights; generation_config.json sets temperature 0.6, top_p 0.95, top_k 20 +# (https://huggingface.co/baichuan-inc/Baichuan-M2-32B/blob/main/generation_config.json). +schema = 2 +name = "Baichuan M2 32B" +description = "Open medical model trained for clinical reasoning and patient interaction with on, off, and auto thinking modes" +family = "baichuan" +open_weights = true +release_date = "2025-08-13" +license = "Apache-2.0" + +[modalities] +input = ["text"] +output = ["text"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = true } +temperature = true +top_p = true +top_k = true + +[limit] +context = 131_072 +output = 131_072 + +[[weights]] +label = "Hugging Face" +url = "https://huggingface.co/baichuan-inc/Baichuan-M2-32B" diff --git a/models/baidu/cobuddy.toml b/models/baidu/cobuddy.toml new file mode 100644 index 0000000000..a3260548a7 --- /dev/null +++ b/models/baidu/cobuddy.toml @@ -0,0 +1,24 @@ +# https://openrouter.ai/baidu/cobuddy +# https://novita.ai/models/model-detail/baidu-cobuddy +# Sampling: Baidu Qianfan's chat API takes temperature and top_p but has no top_k +# (https://cloud.baidu.com/doc/qianfan-api/s/3m7of64lb). +schema = 2 +name = "CoBuddy" +description = "Baidu Qianfan model optimized for code generation and tool-using coding agents" +open_weights = false +release_date = "2026-05-06" + +[modalities] +input = ["text"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } +temperature = true +top_p = true +top_k = false + +[limit] +context = 131_072 +output = 65_536 diff --git a/models/baidu/ernie-4.5-21b-a3b.toml b/models/baidu/ernie-4.5-21b-a3b.toml new file mode 100644 index 0000000000..0779354459 --- /dev/null +++ b/models/baidu/ernie-4.5-21b-a3b.toml @@ -0,0 +1,30 @@ +# https://huggingface.co/baidu/ERNIE-4.5-21B-A3B-PT +# https://novita.ai/models/model-detail/baidu-ernie-4.5-21B-a3b +# Sampling: open weights; generation_config.json sets temperature 0.8 and top_p 0.8 +# (https://huggingface.co/baidu/ERNIE-4.5-21B-A3B-PT/blob/main/generation_config.json). +schema = 2 +name = "ERNIE 4.5 21B A3B" +description = "Open ERNIE text MoE with 21B total and 3B active parameters" +family = "ernie" +open_weights = true +release_date = "2025-06-30" +license = "Apache-2.0" + +[modalities] +input = ["text"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = false } +temperature = true +top_p = true +top_k = true + +[limit] +context = 131_072 +output = 8_000 + +[[weights]] +label = "Hugging Face" +url = "https://huggingface.co/baidu/ERNIE-4.5-21B-A3B-PT" diff --git a/models/baidu/ernie-4.5-300b-a47b.toml b/models/baidu/ernie-4.5-300b-a47b.toml new file mode 100644 index 0000000000..e7807f0eec --- /dev/null +++ b/models/baidu/ernie-4.5-300b-a47b.toml @@ -0,0 +1,32 @@ +# https://huggingface.co/baidu/ERNIE-4.5-300B-A47B-Paddle (Apache-2.0, text-only MoE, 300B total / 47B active, +# context length 131072; weights published 2025-06-30 with the ERNIE 4.5 family: +# https://yiyan.baidu.com/blog/posts/ernie4.5/). The card gives no maximum output; 12,000 is the cap the +# Paddle checkpoint is served with (GET https://api.jiekou.ai/openai/models, 2026-10-21). +# Tools: ERNIE 4.5 post-training covers function calling (technical report, +# https://ernie.baidu.com/blog/publication/ERNIE_Technical_Report.pdf); same as models/baidu/ernie-4.5-21b-a3b.toml. +schema = 2 +name = "ERNIE 4.5 300B A47B" +description = "Open ERNIE text MoE with 300B total and 47B active parameters" +family = "ernie" +open_weights = true +release_date = "2025-06-30" +license = "Apache-2.0" + +[modalities] +input = ["text"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = false } +temperature = true +top_p = true +top_k = true + +[limit] +context = 131_072 +output = 12_000 + +[[weights]] +label = "Hugging Face" +url = "https://huggingface.co/baidu/ERNIE-4.5-300B-A47B-Paddle" diff --git a/models/baidu/ernie-4.5-vl-424b-a47b.toml b/models/baidu/ernie-4.5-vl-424b-a47b.toml new file mode 100644 index 0000000000..c1d473d37c --- /dev/null +++ b/models/baidu/ernie-4.5-vl-424b-a47b.toml @@ -0,0 +1,29 @@ +# Lab metadata carried over from providers/openrouter/models/baidu/ernie-4.5-vl-424b-a47b.toml (curated catalogue data already in this repo), +# with provider-specific fields (cost, reasoning_options, status) stripped. +# Weights: https://huggingface.co/baidu/ERNIE-4.5-VL-424B-A47B-PT (Apache-2.0, text and vision) +# Image formats: Baidu Qianfan's vision guide lists JPEG (image/jpeg), PNG (image/png) and BMP (image/bmp) +# (https://cloud.baidu.com/doc/qianfan-docs/s/fm8r1ndsm). +# Sampling: open weights; generation_config.json sets temperature 0.2 and top_p 0.8 +# (https://huggingface.co/baidu/ERNIE-4.5-VL-424B-A47B-PT/blob/main/generation_config.json). +schema = 2 +name = "ERNIE 4.5 VL 424B A47B " +description = "Multimodal reasoning model for visual analysis, planning, and tool use" +family = "ernie" +open_weights = true +knowledge = "2025-03-31" +release_date = "2025-06-30" + +[modalities] +input = ["image/jpeg", "image/png", "image/bmp", "text"] +output = ["text"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = true } +temperature = true +top_p = true +top_k = true + +[limit] +context = 123_000 +output = 16_000 diff --git a/models/baseten/elephant-1.toml b/models/baseten/elephant-1.toml new file mode 100644 index 0000000000..ae6b9c9356 --- /dev/null +++ b/models/baseten/elephant-1.toml @@ -0,0 +1,32 @@ +# Sources (accessed 2026-10-22): +# - https://huggingface.co/baselabs/elephant-1 (MIT; created 2026-10-19; post-trained from Qwen3.5-9B, text only, +# max sequence length 16,384 tokens; returns a calibrated probability for every option, no generated text) +# - https://docs.baseten.co/inference/model-apis/decision-models (POST /v1/systemone with a state and typed questions) +# Sampling: GET https://inference.baseten.co/v1/models lists no supported sampling parameters. +schema = 2 +v2_only = true +type = "decision" +name = "elephant-1" +description = "Base Labs' 9B open-weight decision model on Qwen3.5-9B that returns calibrated probabilities for typed choice, score and yes/no questions about text" +open_weights = true +release_date = "2026-10-19" +license = "MIT" + +[modalities] +input = ["text"] +output = ["decision"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 16_384 +output = 0 + +[[weights]] +label = "Hugging Face" +url = "https://huggingface.co/baselabs/elephant-1" diff --git a/models/baseten/mammoth-1.toml b/models/baseten/mammoth-1.toml new file mode 100644 index 0000000000..789fd8acae --- /dev/null +++ b/models/baseten/mammoth-1.toml @@ -0,0 +1,32 @@ +# Sources (accessed 2026-10-22): +# - https://huggingface.co/baselabs/mammoth-1 (MIT; created 2026-10-19; post-trained from Qwen3.5-27B, text only, +# max sequence length 16,384 tokens; returns a calibrated probability for every option, no generated text) +# - https://docs.baseten.co/inference/model-apis/decision-models (POST /v1/systemone with a state and typed questions) +# Sampling: GET https://inference.baseten.co/v1/models lists no supported sampling parameters. +schema = 2 +v2_only = true +type = "decision" +name = "mammoth-1" +description = "Base Labs' 27B open-weight decision model on Qwen3.5-27B that returns calibrated probabilities for typed choice, score and yes/no questions about text" +open_weights = true +release_date = "2026-10-19" +license = "MIT" + +[modalities] +input = ["text"] +output = ["decision"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 16_384 +output = 0 + +[[weights]] +label = "Hugging Face" +url = "https://huggingface.co/baselabs/mammoth-1" diff --git a/models/black-forest-labs/flux-1-dev.toml b/models/black-forest-labs/flux-1-dev.toml new file mode 100644 index 0000000000..1e24a74e4b --- /dev/null +++ b/models/black-forest-labs/flux-1-dev.toml @@ -0,0 +1,33 @@ +# Model card (https://huggingface.co/black-forest-labs/FLUX.1-dev, mirrored at +# https://build.nvidia.com/black-forest-labs/flux_1-dev): 12B rectified-flow text-to-image model; release date +# "August 1, 2024" (NVIDIA card); FLUX.1 [dev] Non-Commercial License. +# Output formats: BFL's own API serves FLUX.1 [dev] at POST /v1/flux-dev with output_format jpeg (default), png or +# webp (https://docs.bfl.ml/api-reference/models/generate-an-image-with-flux1-[dev]). +# No sampling temperature; prompts are not chat tokens, so context and output are 0. +schema = 2 +type = "image" +name = "FLUX.1 [dev]" +description = "Open-weight FLUX.1 text-to-image model for high-quality guidance-distilled generation" +family = "flux" +open_weights = true +release_date = "2024-08-01" +license = "FLUX.1 [dev] Non-Commercial License" + +[modalities] +input = ["text"] +output = ["image/jpeg", "image/png", "image/webp"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 0 +output = 0 + +[[weights]] +label = "Hugging Face" +url = "https://huggingface.co/black-forest-labs/FLUX.1-dev" diff --git a/models/black-forest-labs/flux-1-kontext-dev.toml b/models/black-forest-labs/flux-1-kontext-dev.toml new file mode 100644 index 0000000000..316d4eefc9 --- /dev/null +++ b/models/black-forest-labs/flux-1-kontext-dev.toml @@ -0,0 +1,33 @@ +# Model card (https://huggingface.co/black-forest-labs/FLUX.1-Kontext-dev, mirrored at +# https://build.nvidia.com/black-forest-labs/flux_1-kontext-dev): 12B rectified-flow image editing model that +# takes a text instruction and an input image; released on Hugging Face May 29, 2025 (NVIDIA card); +# FLUX.1 [dev] Non-Commercial License. +# Image types stay generic: the open weights take decoded pixels, so formats depend on the host. +# No sampling temperature; prompts are not chat tokens, so context and output are 0. +schema = 2 +type = "image" +name = "FLUX.1 Kontext [dev]" +description = "Open-weight FLUX.1 Kontext model for instruction-based image editing" +family = "flux" +open_weights = true +release_date = "2025-05-29" +license = "FLUX.1 [dev] Non-Commercial License" + +[modalities] +input = ["text", "image"] +output = ["image"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 0 +output = 0 + +[[weights]] +label = "Hugging Face" +url = "https://huggingface.co/black-forest-labs/FLUX.1-Kontext-dev" diff --git a/models/black-forest-labs/flux-1-schnell.toml b/models/black-forest-labs/flux-1-schnell.toml new file mode 100644 index 0000000000..8b9e5fe9bd --- /dev/null +++ b/models/black-forest-labs/flux-1-schnell.toml @@ -0,0 +1,32 @@ +# Model card (https://huggingface.co/black-forest-labs/FLUX.1-schnell, mirrored at +# https://build.nvidia.com/black-forest-labs/flux_1-schnell): 12B rectified-flow text-to-image model; release date +# "August 1, 2024" (NVIDIA card); Apache 2.0. +# Output stays generic `image`: the open weights produce pixels and the format is chosen by the host. +# No sampling temperature; prompts are not chat tokens, so context and output are 0. +schema = 2 +type = "image" +name = "FLUX.1 [schnell]" +description = "Fast few-step FLUX.1 text-to-image model under Apache 2.0" +family = "flux" +open_weights = true +release_date = "2024-08-01" +license = "Apache 2.0" + +[modalities] +input = ["text"] +output = ["image"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 0 +output = 0 + +[[weights]] +label = "Hugging Face" +url = "https://huggingface.co/black-forest-labs/FLUX.1-schnell" diff --git a/models/black-forest-labs/flux-2-flex.toml b/models/black-forest-labs/flux-2-flex.toml new file mode 100644 index 0000000000..0316264c2e --- /dev/null +++ b/models/black-forest-labs/flux-2-flex.toml @@ -0,0 +1,26 @@ +# Released 2025-11-25: https://bfl.ai/blog/flux-2, https://docs.bfl.ml/release-notes +# Inputs PNG, JPEG or WebP: https://docs.bfl.ml/llms-full.txt ("Images can be PNG, JPEG, or WebP") +# Output: output_format jpeg (default), png or webp (OutputFormat in https://api.bfl.ai/openapi.json) +schema = 2 +v2_only = true +type = "image" +name = "FLUX.2 [flex]" +description = "Image generation and editing model with adjustable steps and guidance, tuned for typography" +family = "flux" +open_weights = false +release_date = "2025-11-25" + +[modalities] +input = ["text", "image/png", "image/jpeg", "image/webp"] +output = ["image/jpeg", "image/png", "image/webp"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 0 +output = 0 diff --git a/models/black-forest-labs/flux-2-klein-4b.toml b/models/black-forest-labs/flux-2-klein-4b.toml new file mode 100644 index 0000000000..d1e3e19093 --- /dev/null +++ b/models/black-forest-labs/flux-2-klein-4b.toml @@ -0,0 +1,31 @@ +# Released 2026-01-15 under Apache 2.0: https://bfl.ai/blog/flux2-klein-towards-interactive-visual-intelligence +# Inputs PNG, JPEG or WebP: https://docs.bfl.ml/llms-full.txt ("Images can be PNG, JPEG, or WebP") +# Output: output_format jpeg (default), png or webp (OutputFormat in https://api.bfl.ai/openapi.json) +schema = 2 +v2_only = true +type = "image" +name = "FLUX.2 [klein] 4B" +description = "Fast 4B open-weight image generation and editing model" +family = "flux" +open_weights = true +release_date = "2026-01-15" +license = "apache-2.0" + +[modalities] +input = ["text", "image/png", "image/jpeg", "image/webp"] +output = ["image/jpeg", "image/png", "image/webp"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 0 +output = 0 + +[[weights]] +label = "Hugging Face" +url = "https://huggingface.co/black-forest-labs/FLUX.2-klein-4B" diff --git a/models/black-forest-labs/flux-2-max.toml b/models/black-forest-labs/flux-2-max.toml new file mode 100644 index 0000000000..ebcc2a9cfc --- /dev/null +++ b/models/black-forest-labs/flux-2-max.toml @@ -0,0 +1,26 @@ +# Released 2025-12-16: https://docs.bfl.ml/release-notes +# Inputs PNG, JPEG or WebP: https://docs.bfl.ml/llms-full.txt ("Images can be PNG, JPEG, or WebP") +# Output: output_format jpeg (default), png or webp (OutputFormat in https://api.bfl.ai/openapi.json) +schema = 2 +v2_only = true +type = "image" +name = "FLUX.2 [max]" +description = "Highest-quality FLUX.2 image model with grounding search and multi-reference editing" +family = "flux" +open_weights = false +release_date = "2025-12-16" + +[modalities] +input = ["text", "image/png", "image/jpeg", "image/webp"] +output = ["image/jpeg", "image/png", "image/webp"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 0 +output = 0 diff --git a/models/black-forest-labs/flux-2-pro.toml b/models/black-forest-labs/flux-2-pro.toml new file mode 100644 index 0000000000..2500c86be8 --- /dev/null +++ b/models/black-forest-labs/flux-2-pro.toml @@ -0,0 +1,26 @@ +# Released 2025-11-25: https://bfl.ai/blog/flux-2, https://docs.bfl.ml/release-notes +# Inputs PNG, JPEG or WebP: https://docs.bfl.ml/llms-full.txt ("Images can be PNG, JPEG, or WebP") +# Output: output_format jpeg (default), png or webp (OutputFormat in https://api.bfl.ai/openapi.json) +schema = 2 +v2_only = true +type = "image" +name = "FLUX.2 [pro]" +description = "Production image generation and multi-reference editing model" +family = "flux" +open_weights = false +release_date = "2025-11-25" + +[modalities] +input = ["text", "image/png", "image/jpeg", "image/webp"] +output = ["image/jpeg", "image/png", "image/webp"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 0 +output = 0 diff --git a/models/black-forest-labs/flux-3-image-klein.toml b/models/black-forest-labs/flux-3-image-klein.toml new file mode 100644 index 0000000000..cc93228b39 --- /dev/null +++ b/models/black-forest-labs/flux-3-image-klein.toml @@ -0,0 +1,30 @@ +# Released 2026-10-15 under the FLUX Kommunity License: https://bfl.ai/blog/flux-3-image-klein +# Inputs PNG, JPEG or WebP: https://docs.bfl.ml/llms-full.txt ("Images can be PNG, JPEG, or WebP") +# Output: output_format jpeg (default) or png (Flux3ImageKleinInputs in https://api.bfl.ai/openapi.json) +schema = 2 +v2_only = true +type = "image" +name = "FLUX 3 Image Klein" +description = "5.6B open-weight FLUX 3 image generation and editing model" +family = "flux" +open_weights = true +release_date = "2026-10-15" + +[modalities] +input = ["text", "image/png", "image/jpeg", "image/webp"] +output = ["image/jpeg", "image/png"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 0 +output = 0 + +[[weights]] +label = "Hugging Face" +url = "https://huggingface.co/black-forest-labs/flux-3-image-klein" diff --git a/models/black-forest-labs/flux-3-image.toml b/models/black-forest-labs/flux-3-image.toml new file mode 100644 index 0000000000..9b21fa2588 --- /dev/null +++ b/models/black-forest-labs/flux-3-image.toml @@ -0,0 +1,27 @@ +# Released 2026-10-01: https://docs.bfl.ml/release-notes, https://docs.bfl.ml/flux_3/flux3_image_overview +# Inputs PNG, JPEG or WebP: https://docs.bfl.ml/llms-full.txt ("Images can be PNG, JPEG, or WebP") +# Output: the API has no output_format for this model (Flux3ImageInputs in https://api.bfl.ai/openapi.json); +# it returned image/png through OpenRouter's Images API on 2026-10-20. +schema = 2 +v2_only = true +type = "image" +name = "FLUX 3 Image" +description = "Image generation and editing model with bounding-box layout control and up to ten references" +family = "flux" +open_weights = false +release_date = "2026-10-01" + +[modalities] +input = ["text", "image/png", "image/jpeg", "image/webp"] +output = ["image/png"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 0 +output = 0 diff --git a/models/black-forest-labs/flux-3-video.toml b/models/black-forest-labs/flux-3-video.toml new file mode 100644 index 0000000000..72ab8b84a8 --- /dev/null +++ b/models/black-forest-labs/flux-3-video.toml @@ -0,0 +1,26 @@ +# Released 2026-08-04 ("FLUX 3 is our first video model"): https://docs.bfl.ml/release-notes +# Inputs: images PNG, JPEG or WebP and MP4 video: https://docs.bfl.ml/llms-full.txt ("Images can be PNG, JPEG, or WebP"), https://docs.bfl.ml/flux_tools/flux_video_edit +# Output: MP4; generated sound is a track inside the MP4, so no audio MIME type is listed. +schema = 2 +v2_only = true +type = "video" +name = "FLUX 3 Video" +description = "Video model with synchronized audio for text, keyframe and continuation workflows" +family = "flux" +open_weights = false +release_date = "2026-08-04" + +[modalities] +input = ["text", "image/png", "image/jpeg", "image/webp", "video/mp4"] +output = ["video/mp4"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 0 +output = 0 diff --git a/models/black-forest-labs/flux-kontext-max.toml b/models/black-forest-labs/flux-kontext-max.toml new file mode 100644 index 0000000000..ca29b1f095 --- /dev/null +++ b/models/black-forest-labs/flux-kontext-max.toml @@ -0,0 +1,24 @@ +# Released 2025-05-29: https://bfl.ai/announcements/flux-1-kontext +# Output formats (output_format jpeg or png) and input image encoding (JPEG or PNG): https://docs.bfl.ml/kontext/kontext_image_editing +schema = 2 +v2_only = true +type = "image" +name = "FLUX.1 Kontext [max]" +description = "Highest-quality FLUX.1 Kontext model for image generation and in-context editing with stronger prompt adherence and typography" +open_weights = false +release_date = "2025-05-29" + +[modalities] +input = ["text", "image/jpeg", "image/png"] +output = ["image/jpeg", "image/png"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 0 +output = 0 diff --git a/models/black-forest-labs/flux-kontext-pro.toml b/models/black-forest-labs/flux-kontext-pro.toml new file mode 100644 index 0000000000..de9ba453f2 --- /dev/null +++ b/models/black-forest-labs/flux-kontext-pro.toml @@ -0,0 +1,24 @@ +# Released 2025-05-29: https://bfl.ai/announcements/flux-1-kontext +# Output formats (output_format jpeg or png) and input image encoding (JPEG or PNG): https://docs.bfl.ml/kontext/kontext_image_editing +schema = 2 +v2_only = true +type = "image" +name = "FLUX.1 Kontext [pro]" +description = "Image generation and in-context editing model that edits images from simple text instructions" +open_weights = false +release_date = "2025-05-29" + +[modalities] +input = ["text", "image/jpeg", "image/png"] +output = ["image/jpeg", "image/png"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 0 +output = 0 diff --git a/models/black-forest-labs/flux-video-edit.toml b/models/black-forest-labs/flux-video-edit.toml new file mode 100644 index 0000000000..74e8519547 --- /dev/null +++ b/models/black-forest-labs/flux-video-edit.toml @@ -0,0 +1,26 @@ +# FLUX Video Edit [fast]: https://bfl.ai/video-edit, https://docs.bfl.ml/flux_tools/flux_video_edit +# Released in September 2026 (https://layer.ai/models/bfl-flux-3-edit); BFL's release notes don't date it. +# Input: an MP4 clip ("Input videos should be MP4"); output follows the source clip as MP4. +schema = 2 +v2_only = true +type = "video" +name = "FLUX Video Edit [fast]" +description = "Prompt-based video editing model that adds, removes or replaces elements while keeping motion and timing" +family = "flux" +open_weights = false +release_date = "2026-09" + +[modalities] +input = ["text", "video/mp4"] +output = ["video/mp4"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 0 +output = 0 diff --git a/models/black-forest-labs/flux-video-upscale.toml b/models/black-forest-labs/flux-video-upscale.toml new file mode 100644 index 0000000000..0ae37f16b8 --- /dev/null +++ b/models/black-forest-labs/flux-video-upscale.toml @@ -0,0 +1,26 @@ +# Released 2026-08-20: https://docs.bfl.ml/release-notes, https://docs.bfl.ml/flux_tools/flux_video_upscale +# Inputs: images PNG, JPEG or WebP and MP4 video: https://docs.bfl.ml/llms-full.txt ("Images can be PNG, JPEG, or WebP"), https://docs.bfl.ml/flux_tools/flux_video_edit +# Output: MP4. +schema = 2 +v2_only = true +type = "video" +name = "FLUX Video Upscale" +description = "FLUX 3 video super-resolution model that upscales clips 1.5x to 3x while keeping the audio track" +family = "flux" +open_weights = false +release_date = "2026-08-20" + +[modalities] +input = ["text", "video/mp4"] +output = ["video/mp4"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 0 +output = 0 diff --git a/models/bria/fibo-generate-1.5.toml b/models/bria/fibo-generate-1.5.toml new file mode 100644 index 0000000000..72e31c7d20 --- /dev/null +++ b/models/bria/fibo-generate-1.5.toml @@ -0,0 +1,24 @@ +# Fibo 1.5 released 2026-08-24 (open weights): https://huggingface.co/briaai/Fibo-1.5 +# Reference image formats (JPEG, JPG, PNG, WEBP) and PNG/JPEG results: https://docs.bria.ai/image-generation/generation/image-generate +schema = 2 +v2_only = true +type = "image" +name = "FIBO Generate 1.5" +description = "Text-to-image model driven by structured JSON prompts, trained on licensed data" +open_weights = true +release_date = "2026-08-24" + +[modalities] +input = ["text", "image/jpeg", "image/png", "image/webp"] +output = ["image/png", "image/jpeg"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 0 +output = 0 diff --git a/models/bytedance-seed/seed-1-6-flash.toml b/models/bytedance-seed/seed-1-6-flash.toml index ab967994ed..e83465d384 100644 --- a/models/bytedance-seed/seed-1-6-flash.toml +++ b/models/bytedance-seed/seed-1-6-flash.toml @@ -1,22 +1,48 @@ # Sources (accessed 2026-08-14): # - https://seed.bytedance.com/en/seed2 # - https://www.volcengine.com/docs/82379/1330310 +# Image and video input: the Ark doubao-seed-1.6-flash model card lists input 文本, 图像, 视频 (text, image, video) +# (https://www.volcengine.com/docs/82379/1593704, archived https://web.archive.org/web/20260123145105/https://www.volcengine.com/docs/82379/1593704). +# Video formats: Ark video understanding, 视频格式说明 table (MP4 video/mp4, AVI video/x-msvideo, MOV video/quicktime): +# https://www.volcengine.com/docs/82379/1895586 +# Image formats: Volcengine Ark image understanding, 图片格式说明 table, Content Type column as written +# (JPEG, PNG, GIF, WEBP, BMP, TIFF, ICO, DIB, ICNS, SGI, JPEG2000, HEIC/HEIF; DIB is image/bmp, HEIF is image/heic): +# https://www.volcengine.com/docs/82379/1362931 +# Sampling: the Ark Chat API takes temperature and top_p and has no top_k: https://www.volcengine.com/docs/82379/1494384 +schema = 2 name = "Seed 1.6 Flash" description = "Low-latency ByteDance Seed model for high-throughput chat, extraction, and lightweight tool use" family = "seed" +open_weights = false release_date = "2025-08-28" -last_updated = "2025-08-28" -attachment = true -reasoning = false + +[modalities] +input = [ + "text", + "image/jpeg", + "image/png", + "image/gif", + "image/webp", + "image/bmp", + "image/tiff", + "image/x-icon", + "image/x-icns", + "image/sgi", + "image/jp2", + "image/heic", + "video/mp4", + "video/x-msvideo", + "video/quicktime", +] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = false } temperature = true -tool_call = true -structured_output = true -open_weights = false +top_p = true +top_k = false [limit] context = 256_000 output = 32_000 - -[modalities] -input = ["text", "image"] -output = ["text"] diff --git a/models/bytedance-seed/seed-1-6-vision.toml b/models/bytedance-seed/seed-1-6-vision.toml index 6de1a6c267..3c160d8d82 100644 --- a/models/bytedance-seed/seed-1-6-vision.toml +++ b/models/bytedance-seed/seed-1-6-vision.toml @@ -1,22 +1,41 @@ # Sources (accessed 2026-08-14): # - https://seed.bytedance.com/en/seed2 # - https://www.volcengine.com/docs/82379/1330310 +# Image formats: Volcengine Ark image understanding, 图片格式说明 table, Content Type column as written +# (JPEG, PNG, GIF, WEBP, BMP, TIFF, ICO, DIB, ICNS, SGI, JPEG2000, HEIC/HEIF; DIB is image/bmp, HEIF is image/heic): +# https://www.volcengine.com/docs/82379/1362931 +# Sampling: the Ark Chat API takes temperature and top_p and has no top_k: https://www.volcengine.com/docs/82379/1494384 +schema = 2 name = "Seed 1.6 Vision" description = "ByteDance Seed multimodal model for image understanding, visual reasoning, and tool-assisted tasks" family = "seed" +open_weights = false release_date = "2025-08-15" -last_updated = "2025-08-15" -attachment = true -reasoning = false + +[modalities] +input = [ + "text", + "image/jpeg", + "image/png", + "image/gif", + "image/webp", + "image/bmp", + "image/tiff", + "image/x-icon", + "image/x-icns", + "image/sgi", + "image/jp2", + "image/heic", +] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = false } temperature = true -tool_call = true -structured_output = true -open_weights = false +top_p = true +top_k = false [limit] context = 256_000 output = 32_000 - -[modalities] -input = ["text", "image"] -output = ["text"] diff --git a/models/bytedance-seed/seed-1-6.toml b/models/bytedance-seed/seed-1-6.toml index 898524a8f9..63344015b2 100644 --- a/models/bytedance-seed/seed-1-6.toml +++ b/models/bytedance-seed/seed-1-6.toml @@ -1,22 +1,48 @@ # Sources (accessed 2026-08-14): # - https://seed.bytedance.com/en/seed2 # - https://www.volcengine.com/docs/82379/1330310 +# Image and video input: the Ark doubao-seed-1.6 model card lists input 文本, 图像, 视频 (text, image, video) +# (https://www.volcengine.com/docs/82379/1593702, archived https://web.archive.org/web/20260121161120/https://www.volcengine.com/docs/82379/1593702). +# Video formats: Ark video understanding, 视频格式说明 table (MP4 video/mp4, AVI video/x-msvideo, MOV video/quicktime): +# https://www.volcengine.com/docs/82379/1895586 +# Image formats: Volcengine Ark image understanding, 图片格式说明 table, Content Type column as written +# (JPEG, PNG, GIF, WEBP, BMP, TIFF, ICO, DIB, ICNS, SGI, JPEG2000, HEIC/HEIF; DIB is image/bmp, HEIF is image/heic): +# https://www.volcengine.com/docs/82379/1362931 +# Sampling: the Ark Chat API takes temperature and top_p and has no top_k: https://www.volcengine.com/docs/82379/1494384 +schema = 2 name = "Seed 1.6" description = "ByteDance Seed model for long-context reasoning, instruction following, and tool-assisted tasks" family = "seed" +open_weights = false release_date = "2025-10-15" -last_updated = "2025-10-15" -attachment = false -reasoning = true + +[modalities] +input = [ + "text", + "image/jpeg", + "image/png", + "image/gif", + "image/webp", + "image/bmp", + "image/tiff", + "image/x-icon", + "image/x-icns", + "image/sgi", + "image/jp2", + "image/heic", + "video/mp4", + "video/x-msvideo", + "video/quicktime", +] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } temperature = true -tool_call = true -structured_output = true -open_weights = false +top_p = true +top_k = false [limit] context = 256_000 output = 64_000 - -[modalities] -input = ["text"] -output = ["text"] diff --git a/models/bytedance-seed/seed-1-8.toml b/models/bytedance-seed/seed-1-8.toml index d9d6f93c6c..56991b0f7b 100644 --- a/models/bytedance-seed/seed-1-8.toml +++ b/models/bytedance-seed/seed-1-8.toml @@ -1,22 +1,41 @@ # Sources (accessed 2026-08-14): # - https://seed.bytedance.com/en/seed2 # - https://www.volcengine.com/docs/82379/1330310 +# Image formats: Volcengine Ark image understanding, 图片格式说明 table, Content Type column as written +# (JPEG, PNG, GIF, WEBP, BMP, TIFF, ICO, DIB, ICNS, SGI, JPEG2000, HEIC/HEIF; DIB is image/bmp, HEIF is image/heic): +# https://www.volcengine.com/docs/82379/1362931 +# Sampling: the Ark Chat API takes temperature and top_p and has no top_k: https://www.volcengine.com/docs/82379/1494384 +schema = 2 name = "Seed 1.8" description = "ByteDance Seed model for multimodal reasoning, long-context analysis, and agent workflows" family = "seed" +open_weights = false release_date = "2025-12-28" -last_updated = "2025-12-28" -attachment = true -reasoning = true + +[modalities] +input = [ + "text", + "image/jpeg", + "image/png", + "image/gif", + "image/webp", + "image/bmp", + "image/tiff", + "image/x-icon", + "image/x-icns", + "image/sgi", + "image/jp2", + "image/heic", +] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } temperature = true -tool_call = true -structured_output = true -open_weights = false +top_p = true +top_k = false [limit] context = 256_000 output = 64_000 - -[modalities] -input = ["text", "image"] -output = ["text"] diff --git a/models/bytedance-seed/seed-2.0-code.toml b/models/bytedance-seed/seed-2.0-code.toml index 3f79fc7dac..1b6cfc2e92 100644 --- a/models/bytedance-seed/seed-2.0-code.toml +++ b/models/bytedance-seed/seed-2.0-code.toml @@ -2,22 +2,46 @@ # - https://seed.bytedance.com/en/blog/seed-2-0-official-launch # - https://seed.bytedance.com/en/seed2 # - https://www.volcengine.com/docs/82379/1330310 +# Image formats: Volcengine Ark image understanding, 图片格式说明 table, Content Type column as written +# (JPEG, PNG, GIF, WEBP, BMP, TIFF, ICO, DIB, ICNS, SGI, JPEG2000, HEIC/HEIF; DIB is image/bmp, HEIF is image/heic): +# https://www.volcengine.com/docs/82379/1362931 +# Video formats: Volcengine Ark video understanding, 视频格式说明 table (MP4 video/mp4, AVI video/x-msvideo, +# MOV video/quicktime): https://www.volcengine.com/docs/82379/1895586 +# Sampling: the Ark Chat API takes temperature and top_p and has no top_k: https://www.volcengine.com/docs/82379/1494384 +schema = 2 name = "Seed 2.0 Code" description = "ByteDance Seed coding model for multimodal software engineering and long-running agents" family = "seed" +open_weights = false release_date = "2026-02-14" -last_updated = "2026-02-14" -attachment = true -reasoning = true + +[modalities] +input = [ + "text", + "image/jpeg", + "image/png", + "image/gif", + "image/webp", + "image/bmp", + "image/tiff", + "image/x-icon", + "image/x-icns", + "image/sgi", + "image/jp2", + "image/heic", + "video/mp4", + "video/x-msvideo", + "video/quicktime", +] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } temperature = true -tool_call = true -structured_output = true -open_weights = false +top_p = true +top_k = false [limit] context = 262_144 output = 131_072 - -[modalities] -input = ["text", "image", "video"] -output = ["text"] diff --git a/models/bytedance-seed/seed-2.0-lite.toml b/models/bytedance-seed/seed-2.0-lite.toml index 871c9e83e4..84ed0cdbc1 100644 --- a/models/bytedance-seed/seed-2.0-lite.toml +++ b/models/bytedance-seed/seed-2.0-lite.toml @@ -1,22 +1,47 @@ # Sources (accessed 2026-08-14): # - https://seed.bytedance.com/en/seed2 # - https://www.volcengine.com/docs/82379/1330310 +# Image formats: Volcengine Ark image understanding, 图片格式说明 table, Content Type column as written +# (JPEG, PNG, GIF, WEBP, BMP, TIFF, ICO, DIB, ICNS, SGI, JPEG2000, HEIC/HEIF; DIB is image/bmp, HEIF is image/heic): +# https://www.volcengine.com/docs/82379/1362931 +# Video formats: Volcengine Ark video understanding, 视频格式说明 table (MP4 video/mp4, AVI video/x-msvideo, +# MOV video/quicktime): https://www.volcengine.com/docs/82379/1895586 +# Sampling: the Ark Chat API takes temperature and top_p and has no top_k: https://www.volcengine.com/docs/82379/1494384 +# doubao-seed-2-0-lite-260215 pins temperature 1 and top_p 0.95; the current 260428 snapshot takes both. +schema = 2 name = "Seed 2.0 Lite" description = "Cost-efficient ByteDance Seed 2.0 model for production chat, analysis, and structured generation" family = "seed" +open_weights = false release_date = "2026-02-14" -last_updated = "2026-02-14" -attachment = true -reasoning = true + +[modalities] +input = [ + "text", + "image/jpeg", + "image/png", + "image/gif", + "image/webp", + "image/bmp", + "image/tiff", + "image/x-icon", + "image/x-icns", + "image/sgi", + "image/jp2", + "image/heic", + "video/mp4", + "video/x-msvideo", + "video/quicktime", +] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } temperature = true -tool_call = true -structured_output = true -open_weights = false +top_p = true +top_k = false [limit] context = 256_000 output = 32_000 - -[modalities] -input = ["text", "image", "video"] -output = ["text"] diff --git a/models/bytedance-seed/seed-2.0-mini.toml b/models/bytedance-seed/seed-2.0-mini.toml index 5b9190b334..8c423e32cd 100644 --- a/models/bytedance-seed/seed-2.0-mini.toml +++ b/models/bytedance-seed/seed-2.0-mini.toml @@ -1,22 +1,46 @@ # Sources (accessed 2026-08-14): # - https://seed.bytedance.com/en/seed2 # - https://www.volcengine.com/docs/82379/1330310 +# Image formats: Volcengine Ark image understanding, 图片格式说明 table, Content Type column as written +# (JPEG, PNG, GIF, WEBP, BMP, TIFF, ICO, DIB, ICNS, SGI, JPEG2000, HEIC/HEIF; DIB is image/bmp, HEIF is image/heic): +# https://www.volcengine.com/docs/82379/1362931 +# Video formats: Volcengine Ark video understanding, 视频格式说明 table (MP4 video/mp4, AVI video/x-msvideo, +# MOV video/quicktime): https://www.volcengine.com/docs/82379/1895586 +# Sampling: the Ark Chat API takes temperature and top_p and has no top_k: https://www.volcengine.com/docs/82379/1494384 +schema = 2 name = "Seed 2.0 Mini" description = "Lightweight ByteDance Seed 2.0 model for low-latency multimodal reasoning and high-volume tasks" family = "seed" +open_weights = false release_date = "2026-02-14" -last_updated = "2026-02-14" -attachment = true -reasoning = true + +[modalities] +input = [ + "text", + "image/jpeg", + "image/png", + "image/gif", + "image/webp", + "image/bmp", + "image/tiff", + "image/x-icon", + "image/x-icns", + "image/sgi", + "image/jp2", + "image/heic", + "video/mp4", + "video/x-msvideo", + "video/quicktime", +] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } temperature = true -tool_call = true -structured_output = true -open_weights = false +top_p = true +top_k = false [limit] context = 256_000 output = 32_000 - -[modalities] -input = ["text", "image", "video"] -output = ["text"] diff --git a/models/bytedance-seed/seed-2.0-pro.toml b/models/bytedance-seed/seed-2.0-pro.toml index aaf0107c51..599f6e586b 100644 --- a/models/bytedance-seed/seed-2.0-pro.toml +++ b/models/bytedance-seed/seed-2.0-pro.toml @@ -1,22 +1,47 @@ # Sources (accessed 2026-08-14): # - https://seed.bytedance.com/en/seed2 # - https://www.volcengine.com/docs/82379/1330310 +# Image formats: Volcengine Ark image understanding, 图片格式说明 table, Content Type column as written +# (JPEG, PNG, GIF, WEBP, BMP, TIFF, ICO, DIB, ICNS, SGI, JPEG2000, HEIC/HEIF; DIB is image/bmp, HEIF is image/heic): +# https://www.volcengine.com/docs/82379/1362931 +# Video formats: Volcengine Ark video understanding, 视频格式说明 table (MP4 video/mp4, AVI video/x-msvideo, +# MOV video/quicktime): https://www.volcengine.com/docs/82379/1895586 +# Sampling: the Ark Chat API pins temperature to 1 and top_p to 0.95 for doubao-seed-2-0-pro-260215 and ignores +# other values, and has no top_k: https://www.volcengine.com/docs/82379/1494384 +schema = 2 name = "Seed 2.0 Pro" description = "Flagship ByteDance Seed 2.0 model for complex multimodal reasoning and long-horizon agent workflows" family = "seed" -release_date = "2026-02-14" -last_updated = "2026-02-14" -attachment = true -reasoning = true -temperature = true -tool_call = true -structured_output = true open_weights = false +release_date = "2026-02-14" + +[modalities] +input = [ + "text", + "image/jpeg", + "image/png", + "image/gif", + "image/webp", + "image/bmp", + "image/tiff", + "image/x-icon", + "image/x-icns", + "image/sgi", + "image/jp2", + "image/heic", + "video/mp4", + "video/x-msvideo", + "video/quicktime", +] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } +temperature = false +top_p = false +top_k = false [limit] context = 256_000 output = 128_000 - -[modalities] -input = ["text", "image", "video"] -output = ["text"] diff --git a/models/bytedance-seed/seed-2.1-pro.toml b/models/bytedance-seed/seed-2.1-pro.toml index 0f7dea4d8b..4fe2e1b013 100644 --- a/models/bytedance-seed/seed-2.1-pro.toml +++ b/models/bytedance-seed/seed-2.1-pro.toml @@ -1,22 +1,46 @@ # Sources (accessed 2026-08-14): # - https://seed.bytedance.com/en/seed2 # - https://www.volcengine.com/docs/82379/1330310 +# Image formats: Volcengine Ark image understanding, 图片格式说明 table, Content Type column as written +# (JPEG, PNG, GIF, WEBP, BMP, TIFF, ICO, DIB, ICNS, SGI, JPEG2000, HEIC/HEIF; DIB is image/bmp, HEIF is image/heic): +# https://www.volcengine.com/docs/82379/1362931 +# Video formats: Volcengine Ark video understanding, 视频格式说明 table (MP4 video/mp4, AVI video/x-msvideo, +# MOV video/quicktime): https://www.volcengine.com/docs/82379/1895586 +# Sampling: the Ark Chat API takes temperature and top_p and has no top_k: https://www.volcengine.com/docs/82379/1494384 +schema = 2 name = "Seed 2.1 Pro" description = "Flagship ByteDance Seed 2.1 model for complex multimodal reasoning, coding, and agents" family = "seed" +open_weights = false release_date = "2026-06-23" -last_updated = "2026-06-23" -attachment = true -reasoning = true + +[modalities] +input = [ + "text", + "image/jpeg", + "image/png", + "image/gif", + "image/webp", + "image/bmp", + "image/tiff", + "image/x-icon", + "image/x-icns", + "image/sgi", + "image/jp2", + "image/heic", + "video/mp4", + "video/x-msvideo", + "video/quicktime", +] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } temperature = true -tool_call = true -structured_output = true -open_weights = false +top_p = true +top_k = false [limit] context = 256_000 output = 256_000 - -[modalities] -input = ["text", "image", "video"] -output = ["text"] diff --git a/models/bytedance-seed/seed-2.1-turbo.toml b/models/bytedance-seed/seed-2.1-turbo.toml index dc66a62af7..02169f13fd 100644 --- a/models/bytedance-seed/seed-2.1-turbo.toml +++ b/models/bytedance-seed/seed-2.1-turbo.toml @@ -1,22 +1,46 @@ # Sources (accessed 2026-08-14): # - https://seed.bytedance.com/en/seed2 # - https://www.volcengine.com/docs/82379/1330310 +# Image formats: Volcengine Ark image understanding, 图片格式说明 table, Content Type column as written +# (JPEG, PNG, GIF, WEBP, BMP, TIFF, ICO, DIB, ICNS, SGI, JPEG2000, HEIC/HEIF; DIB is image/bmp, HEIF is image/heic): +# https://www.volcengine.com/docs/82379/1362931 +# Video formats: Volcengine Ark video understanding, 视频格式说明 table (MP4 video/mp4, AVI video/x-msvideo, +# MOV video/quicktime): https://www.volcengine.com/docs/82379/1895586 +# Sampling: the Ark Chat API takes temperature and top_p and has no top_k: https://www.volcengine.com/docs/82379/1494384 +schema = 2 name = "Seed 2.1 Turbo" description = "Faster ByteDance Seed 2.1 model for multimodal reasoning and latency-sensitive agent workflows" family = "seed" +open_weights = false release_date = "2026-06-23" -last_updated = "2026-06-23" -attachment = true -reasoning = true + +[modalities] +input = [ + "text", + "image/jpeg", + "image/png", + "image/gif", + "image/webp", + "image/bmp", + "image/tiff", + "image/x-icon", + "image/x-icns", + "image/sgi", + "image/jp2", + "image/heic", + "video/mp4", + "video/x-msvideo", + "video/quicktime", +] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } temperature = true -tool_call = true -structured_output = true -open_weights = false +top_p = true +top_k = false [limit] context = 256_000 output = 256_000 - -[modalities] -input = ["text", "image", "video"] -output = ["text"] diff --git a/models/bytedance-seed/seed-audio-1.0.toml b/models/bytedance-seed/seed-audio-1.0.toml new file mode 100644 index 0000000000..3f4f28d787 --- /dev/null +++ b/models/bytedance-seed/seed-audio-1.0.toml @@ -0,0 +1,26 @@ +# Released 2026-07-20: https://seed.bytedance.com/en/blog/from-speech-to-audio-creation-introducing-the-seed-audio-1-0-audio-creation-model +# Output formats: mp3 and pcm, as documented for OpenRouter's speech API (the lab lists none here): +# https://openrouter.ai/docs/guides/overview/multimodal/tts +schema = 2 +v2_only = true +type = "speech" +name = "Seed Audio 1.0" +description = "Audio creation model generating speech, sound effects, and ambience from text prompts" +family = "seed" +open_weights = false +release_date = "2026-07-20" + +[modalities] +input = ["text"] +output = ["audio/mpeg", "audio/pcm"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 0 +output = 0 diff --git a/models/bytedance-seed/seed-character.toml b/models/bytedance-seed/seed-character.toml index 816d06af8d..11d93d059c 100644 --- a/models/bytedance-seed/seed-character.toml +++ b/models/bytedance-seed/seed-character.toml @@ -1,22 +1,46 @@ # Sources (accessed 2026-08-14): # - https://seed.bytedance.com/en/seed2 # - https://www.volcengine.com/docs/82379/1330310 +# Image formats: Volcengine Ark image understanding, 图片格式说明 table, Content Type column as written +# (JPEG, PNG, GIF, WEBP, BMP, TIFF, ICO, DIB, ICNS, SGI, JPEG2000, HEIC/HEIF; DIB is image/bmp, HEIF is image/heic): +# https://www.volcengine.com/docs/82379/1362931 +# Video formats: Volcengine Ark video understanding, 视频格式说明 table (MP4 video/mp4, AVI video/x-msvideo, +# MOV video/quicktime): https://www.volcengine.com/docs/82379/1895586 +# Sampling: the Ark Chat API takes temperature and top_p and has no top_k: https://www.volcengine.com/docs/82379/1494384 +schema = 2 name = "Seed Character" description = "ByteDance Seed model optimized for character-driven dialogue and consistent conversational behavior" family = "seed" +open_weights = false release_date = "2026-06-23" -last_updated = "2026-06-23" -attachment = true -reasoning = true + +[modalities] +input = [ + "text", + "image/jpeg", + "image/png", + "image/gif", + "image/webp", + "image/bmp", + "image/tiff", + "image/x-icon", + "image/x-icns", + "image/sgi", + "image/jp2", + "image/heic", + "video/mp4", + "video/x-msvideo", + "video/quicktime", +] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } temperature = true -tool_call = true -structured_output = true -open_weights = false +top_p = true +top_k = false [limit] context = 256_000 output = 256_000 - -[modalities] -input = ["text", "image", "video"] -output = ["text"] diff --git a/models/bytedance-seed/seed-evolving.toml b/models/bytedance-seed/seed-evolving.toml index f961aea95c..ee15123a27 100644 --- a/models/bytedance-seed/seed-evolving.toml +++ b/models/bytedance-seed/seed-evolving.toml @@ -1,22 +1,46 @@ # Sources (accessed 2026-08-14): # - https://seed.bytedance.com/en/seed2 # - https://www.volcengine.com/docs/82379/1330310 +# Image formats: Volcengine Ark image understanding, 图片格式说明 table, Content Type column as written +# (JPEG, PNG, GIF, WEBP, BMP, TIFF, ICO, DIB, ICNS, SGI, JPEG2000, HEIC/HEIF; DIB is image/bmp, HEIF is image/heic): +# https://www.volcengine.com/docs/82379/1362931 +# Video formats: Volcengine Ark video understanding, 视频格式说明 table (MP4 video/mp4, AVI video/x-msvideo, +# MOV video/quicktime): https://www.volcengine.com/docs/82379/1895586 +# Sampling: the Ark Chat API takes temperature and top_p and has no top_k: https://www.volcengine.com/docs/82379/1494384 +schema = 2 name = "Seed Evolving" description = "Rolling ByteDance Seed model for rapidly updated reasoning, coding, and agent capabilities" family = "seed" +open_weights = false release_date = "2026-06-23" -last_updated = "2026-06-23" -attachment = true -reasoning = true + +[modalities] +input = [ + "text", + "image/jpeg", + "image/png", + "image/gif", + "image/webp", + "image/bmp", + "image/tiff", + "image/x-icon", + "image/x-icns", + "image/sgi", + "image/jp2", + "image/heic", + "video/mp4", + "video/x-msvideo", + "video/quicktime", +] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } temperature = true -tool_call = true -structured_output = true -open_weights = false +top_p = true +top_k = false [limit] context = 256_000 output = 256_000 - -[modalities] -input = ["text", "image", "video"] -output = ["text"] diff --git a/models/bytedance-seed/seed-oss-36b-instruct.toml b/models/bytedance-seed/seed-oss-36b-instruct.toml new file mode 100644 index 0000000000..7fe8460572 --- /dev/null +++ b/models/bytedance-seed/seed-oss-36b-instruct.toml @@ -0,0 +1,32 @@ +# Model card: https://huggingface.co/ByteDance-Seed/Seed-OSS-36B-Instruct (released 2025/08/20, Apache-2.0; thinking +# budget control, tool use). Context 524,288: config.json max_position_embeddings ("long context up to 512K" on NVIDIA's +# card, https://build.nvidia.com/bytedance/seed-oss-36b-instruct, which also gives "Knowledge Cutoff: July 2024" and output +# "Configurable based on remaining context", so output = context). +# Sampling: open weights, so temperature/top_p/top_k are runtime features of the host. +schema = 2 +name = "Seed-OSS-36B-Instruct" +description = "Open ByteDance Seed model for long-context reasoning, tool use, and agents" +family = "seed" +open_weights = true +knowledge = "2024-07" +release_date = "2025-08-20" +license = "Apache 2.0" + +[modalities] +input = ["text"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } +temperature = true +top_p = true +top_k = true + +[limit] +context = 524_288 +output = 524_288 + +[[weights]] +label = "Hugging Face" +url = "https://huggingface.co/ByteDance-Seed/Seed-OSS-36B-Instruct" diff --git a/models/bytedance-seed/seedance-1.5-pro.toml b/models/bytedance-seed/seedance-1.5-pro.toml new file mode 100644 index 0000000000..a2e96bf321 --- /dev/null +++ b/models/bytedance-seed/seedance-1.5-pro.toml @@ -0,0 +1,26 @@ +# Released 2025-12-16: https://seed.bytedance.com/en/blog/sound-and-vision-all-in-one-take-the-official-release-of-seedance-1-5-pro +# Image formats jpeg, png, webp, bmp, tiff, gif: https://www.volcengine.com/docs/82379/1520757 +# Output: MP4; generated sound is a track inside the MP4, so no audio MIME type is listed. +schema = 2 +v2_only = true +type = "video" +name = "Seedance 1.5 Pro" +description = "Audio-visual model that generates video and sound together from text or images" +family = "seed" +open_weights = false +release_date = "2025-12-16" + +[modalities] +input = ["text", "image/jpeg", "image/png", "image/webp", "image/bmp", "image/tiff", "image/gif"] +output = ["video/mp4"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 0 +output = 0 diff --git a/models/bytedance-seed/seedance-2.0-fast.toml b/models/bytedance-seed/seedance-2.0-fast.toml new file mode 100644 index 0000000000..dfd702f9fc --- /dev/null +++ b/models/bytedance-seed/seedance-2.0-fast.toml @@ -0,0 +1,50 @@ +# Sources: +# - https://seed.bytedance.com/en/blog/seedance-2-0-official-launch +# - Seedance 2.0 Fast ships with Seedance 2.0 as its accelerated variant ("we provide Seedance 2.0 Fast version"): +# https://seed.bytedance.com/en/public_papers/seedance-2-0-advancing-video-generation-for-world-complexity +# Token limits are not applicable to this audio-video generation endpoint. +# Zero follows existing non-token media catalog entries; it is not a measured token limit. +# Type and formats: Volcengine Ark create video generation task API (images jpeg, png, webp, bmp, tiff, gif, plus +# heic/heif on Seedance 2.0 and later; videos mp4 video/mp4 and mov video/quicktime; audio wav and mp3; output mp4): +# https://www.volcengine.com/docs/82379/1520757 and https://www.volcengine.com/docs/82379/2298881 +# Output keeps a generic audio entry: the synchronized sound is a track inside the generated MP4, not a +# separate file, so no audio MIME type applies. +# Sampling: the task API has no temperature, top_p or top_k. +schema = 2 +v2_only = true +type = "video" +name = "Seedance 2.0 Fast" +description = "Faster, lower-cost Seedance 2.0 variant for text, image, video and audio references with synchronized sound." +family = "seed" +open_weights = false +release_date = "2026-02-12" + +[modalities] +input = [ + "text", + "image/jpeg", + "image/png", + "image/webp", + "image/bmp", + "image/tiff", + "image/gif", + "image/heic", + "image/heif", + "video/mp4", + "video/quicktime", + "audio/wav", + "audio/mpeg", +] +output = ["video/mp4", "audio"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 0 +output = 0 + diff --git a/models/bytedance-seed/seedance-2.0-mini.toml b/models/bytedance-seed/seedance-2.0-mini.toml new file mode 100644 index 0000000000..b71a00d5b8 --- /dev/null +++ b/models/bytedance-seed/seedance-2.0-mini.toml @@ -0,0 +1,27 @@ +# Released 2026-06-15: https://ai.byteplus.com/en/model (Dreamina Seedance 2.0 mini) +# Formats (Seedance 2.0 series): images jpeg, png, webp, bmp, tiff, gif, heic, heif; videos mp4 and mov; audio wav and mp3: +# https://www.volcengine.com/docs/82379/1520757, https://www.volcengine.com/docs/82379/2298881 +# Output: MP4; generated sound is a track inside the MP4, so no audio MIME type is listed. +schema = 2 +v2_only = true +type = "video" +name = "Seedance 2.0 Mini" +description = "Lower-cost, faster Seedance 2.0 audio-video model at 480p and 720p" +family = "seed" +open_weights = false +release_date = "2026-06-15" + +[modalities] +input = ["text", "image/jpeg", "image/png", "image/webp", "image/bmp", "image/tiff", "image/gif", "image/heic", "image/heif", "video/mp4", "video/quicktime", "audio/wav", "audio/mpeg"] +output = ["video/mp4"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 0 +output = 0 diff --git a/models/bytedance-seed/seedance-2.0.toml b/models/bytedance-seed/seedance-2.0.toml new file mode 100644 index 0000000000..30bc8735d7 --- /dev/null +++ b/models/bytedance-seed/seedance-2.0.toml @@ -0,0 +1,51 @@ +# Sources: +# - https://seed.bytedance.com/en/blog/seedance-2-0-official-launch +# Token limits are not applicable to this audio-video generation endpoint. +# Zero follows existing non-token media catalog entries; it is not a measured token limit. +# Type and formats: Volcengine Ark create video generation task API (images jpeg, png, webp, bmp, tiff, gif, plus +# heic/heif on Seedance 2.0 and later; videos mp4 video/mp4 and mov video/quicktime; audio wav and mp3; output mp4): +# https://www.volcengine.com/docs/82379/1520757 and https://www.volcengine.com/docs/82379/2298881 +# Output keeps a generic audio entry: the synchronized sound is a track inside the generated MP4, not a +# separate file, so no audio MIME type applies. +# Sampling: the task API has no temperature, top_p or top_k. +schema = 2 +type = "video" +name = "Seedance 2.0" +description = "ByteDance unified multimodal audio-video model supporting text, image, video and audio references, editing, extension and synchronized stereo sound." +family = "seed" +open_weights = false +release_date = "2026-02-12" +last_updated = "2026-10-04" + +[modalities] +input = [ + "text", + "image/jpeg", + "image/png", + "image/webp", + "image/bmp", + "image/tiff", + "image/gif", + "image/heic", + "image/heif", + "video/mp4", + "video/quicktime", + "audio/wav", + "audio/mpeg", +] +output = ["video/mp4", "audio"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 0 +output = 0 + +[[links]] +url = "https://seed.bytedance.com/en/blog/seedance-2-0-official-launch" +type = "announcement" diff --git a/models/bytedance-seed/seedance-2.5.toml b/models/bytedance-seed/seedance-2.5.toml new file mode 100644 index 0000000000..b59cdfac87 --- /dev/null +++ b/models/bytedance-seed/seedance-2.5.toml @@ -0,0 +1,51 @@ +# Sources: +# - https://seed.bytedance.com/en/blog/one-take-creation-flexible-referencing-introducing-seedance-2-5 +# Token limits are not applicable to this audio-video generation endpoint. +# Zero follows existing non-token media catalog entries; it is not a measured token limit. +# Type and formats: Volcengine Ark create video generation task API (images jpeg, png, webp, bmp, tiff, gif, plus +# heic/heif on Seedance 2.0 and later; videos mp4 video/mp4 and mov video/quicktime; audio wav and mp3; output mp4): +# https://www.volcengine.com/docs/82379/1520757 and https://www.volcengine.com/docs/82379/2298881 +# Output keeps a generic audio entry: the synchronized sound is a track inside the generated MP4, not a +# separate file, so no audio MIME type applies. +# Sampling: the task API has no temperature, top_p or top_k. +schema = 2 +type = "video" +name = "Seedance 2.5" +description = "ByteDance multimodal audio-video model with up to 30-second single-pass generation, multi-round extension, reference inputs and timestamp-level editing." +family = "seed" +open_weights = false +release_date = "2026-07-31" +last_updated = "2026-10-04" + +[modalities] +input = [ + "text", + "image/jpeg", + "image/png", + "image/webp", + "image/bmp", + "image/tiff", + "image/gif", + "image/heic", + "image/heif", + "video/mp4", + "video/quicktime", + "audio/wav", + "audio/mpeg", +] +output = ["video/mp4", "audio"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 0 +output = 0 + +[[links]] +url = "https://seed.bytedance.com/en/blog/one-take-creation-flexible-referencing-introducing-seedance-2-5" +type = "announcement" diff --git a/models/bytedance-seed/seedream-4.5.toml b/models/bytedance-seed/seedream-4.5.toml new file mode 100644 index 0000000000..57d8c56cdf --- /dev/null +++ b/models/bytedance-seed/seedream-4.5.toml @@ -0,0 +1,27 @@ +# Released 2025-12-03: https://www.byteplus.com/en/blog/seedream4-5 +# Input formats jpeg, png, webp, bmp, tiff, gif, heic, heif: +# https://ai.byteplus.com/resources/seedream-5-0-overview-what-we-know-about-this-version +# Output is JPEG and can't be changed for 4.5 (output_format applies to 5.0 only). +schema = 2 +v2_only = true +type = "image" +name = "Seedream 4.5" +description = "Unified image generation and editing model with multi-image references" +family = "seed" +open_weights = false +release_date = "2025-12-03" + +[modalities] +input = ["text", "image/jpeg", "image/png", "image/webp", "image/bmp", "image/tiff", "image/gif", "image/heic", "image/heif"] +output = ["image/jpeg"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 0 +output = 0 diff --git a/models/bytedance-seed/seedream-5.0-flash.toml b/models/bytedance-seed/seedream-5.0-flash.toml new file mode 100644 index 0000000000..d84450cafc --- /dev/null +++ b/models/bytedance-seed/seedream-5.0-flash.toml @@ -0,0 +1,27 @@ +# Released in September 2026 (ModelArk ID dola-seedream-5-0-flash-260915); ByteDance published no launch post. +# https://byteplus-sa.github.io/ComfyUI-BytePlus-ModelArk/nodes/seedream/ (output_format jpeg or png) +# Input formats jpeg, png, webp, bmp, tiff, gif, heic, heif: +# https://ai.byteplus.com/resources/seedream-5-0-overview-what-we-know-about-this-version +schema = 2 +v2_only = true +type = "image" +name = "Seedream 5.0 Flash" +description = "Fast, low-cost Seedream 5.0 image generation and editing model" +family = "seed" +open_weights = false +release_date = "2026-09" + +[modalities] +input = ["text", "image/jpeg", "image/png", "image/webp", "image/bmp", "image/tiff", "image/gif", "image/heic", "image/heif"] +output = ["image/jpeg", "image/png"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 0 +output = 0 diff --git a/models/bytedance-seed/seedream-5.0-lite.toml b/models/bytedance-seed/seedream-5.0-lite.toml new file mode 100644 index 0000000000..f9c404f59c --- /dev/null +++ b/models/bytedance-seed/seedream-5.0-lite.toml @@ -0,0 +1,27 @@ +# Released 2026-02-13: https://seed.bytedance.com/en/blog/deeper-thinking-more-accurate-generation-introducing-seedream-5-0-lite +# Input formats jpeg, png, webp, bmp, tiff, gif, heic, heif: +# https://ai.byteplus.com/resources/seedream-5-0-overview-what-we-know-about-this-version +# Output: output_format png or jpeg (jpeg by default). +schema = 2 +v2_only = true +type = "image" +name = "Seedream 5.0 Lite" +description = "Image generation model with deeper reasoning and real-time web search" +family = "seed" +open_weights = false +release_date = "2026-02-13" + +[modalities] +input = ["text", "image/jpeg", "image/png", "image/webp", "image/bmp", "image/tiff", "image/gif", "image/heic", "image/heif"] +output = ["image/jpeg", "image/png"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 0 +output = 0 diff --git a/models/bytedance-seed/seedream-5.0-pro.toml b/models/bytedance-seed/seedream-5.0-pro.toml new file mode 100644 index 0000000000..932ac6bc92 --- /dev/null +++ b/models/bytedance-seed/seedream-5.0-pro.toml @@ -0,0 +1,28 @@ +# Released 2026-07-08: https://seed.bytedance.com/en/seedream5_0_pro, +# https://finance.sina.com.cn/tech/digi/2026-07-08/doc-inihceiu8052714.shtml +# Input formats jpeg, png, webp, bmp, tiff, gif, heic, heif: +# https://ai.byteplus.com/resources/seedream-5-0-overview-what-we-know-about-this-version +# Output: output_format png or jpeg (jpeg by default). +schema = 2 +v2_only = true +type = "image" +name = "Seedream 5.0 Pro" +description = "Image generation and interactive editing model for commercial visual production" +family = "seed" +open_weights = false +release_date = "2026-07-08" + +[modalities] +input = ["text", "image/jpeg", "image/png", "image/webp", "image/bmp", "image/tiff", "image/gif", "image/heic", "image/heif"] +output = ["image/jpeg", "image/png"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 0 +output = 0 diff --git a/models/canopylabs/orpheus-3b-0.1-ft.toml b/models/canopylabs/orpheus-3b-0.1-ft.toml new file mode 100644 index 0000000000..efa5864a9a --- /dev/null +++ b/models/canopylabs/orpheus-3b-0.1-ft.toml @@ -0,0 +1,31 @@ +# Published March 2025 (Apache-2.0): https://huggingface.co/canopylabs/orpheus-3b-0.1-ft +# Output formats: mp3 and pcm, as documented for OpenRouter's speech API (the lab lists none here): +# https://openrouter.ai/docs/guides/overview/multimodal/tts +schema = 2 +v2_only = true +type = "speech" +name = "Orpheus 3B" +description = "Open English text-to-speech model fine-tuned for natural prosody and expressive delivery" +family = "canopylabs" +open_weights = true +release_date = "2025-03" +license = "Apache-2.0" + +[modalities] +input = ["text"] +output = ["audio/mpeg", "audio/pcm"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 0 +output = 0 + +[[weights]] +label = "Hugging Face" +url = "https://huggingface.co/canopylabs/orpheus-3b-0.1-ft" diff --git a/models/canopylabs/orpheus-arabic-saudi.toml b/models/canopylabs/orpheus-arabic-saudi.toml new file mode 100644 index 0000000000..a29297b828 --- /dev/null +++ b/models/canopylabs/orpheus-arabic-saudi.toml @@ -0,0 +1,29 @@ +# Canopy Labs publishes no weights or model card for this model; its only public documentation is the +# GroqCloud model page https://console.groq.com/docs/model/canopylabs/orpheus-arabic-saudi and +# https://console.groq.com/docs/text-to-speech/orpheus (accessed 2026-10-21). +# Release date: the GroqCloud launch (Models API `created` = 1765926439). +# Limits: 4,000-token context and 50,000 max output (Models API context_window / max_completion_tokens). +# Output: WAV; Orpheus decodes SNAC tokens to 24 kHz audio, and `response_format` "wav" is the only format offered. +# Sampling: no temperature, top_p or top_k request parameters (the speech request takes input, voice, response_format). +schema = 2 +type = "speech" +name = "Orpheus Arabic Saudi" +description = "Expressive Saudi Arabic text-to-speech model with bracketed vocal directions" +family = "canopylabs" +open_weights = false +release_date = "2025-12-16" + +[modalities] +input = ["text"] +output = ["audio/wav"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 4_000 +output = 50_000 diff --git a/models/canopylabs/orpheus-v1-english.toml b/models/canopylabs/orpheus-v1-english.toml new file mode 100644 index 0000000000..36d8b2e2f7 --- /dev/null +++ b/models/canopylabs/orpheus-v1-english.toml @@ -0,0 +1,29 @@ +# Canopy Labs publishes no weights or model card for this model; its only public documentation is the +# GroqCloud model page https://console.groq.com/docs/model/canopylabs/orpheus-v1-english and +# https://console.groq.com/docs/text-to-speech/orpheus (accessed 2026-10-21). +# Release date: the GroqCloud launch (Models API `created` = 1766186316). +# Limits: 4,000-token context and 50,000 max output (Models API context_window / max_completion_tokens). +# Output: WAV; Orpheus decodes SNAC tokens to 24 kHz audio, and `response_format` "wav" is the only format offered. +# Sampling: no temperature, top_p or top_k request parameters (the speech request takes input, voice, response_format). +schema = 2 +type = "speech" +name = "Orpheus V1 English" +description = "Expressive English text-to-speech model with bracketed vocal directions" +family = "canopylabs" +open_weights = false +release_date = "2025-12-19" + +[modalities] +input = ["text"] +output = ["audio/wav"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 4_000 +output = 50_000 diff --git a/models/cloudflare/clef-flash.toml b/models/cloudflare/clef-flash.toml new file mode 100644 index 0000000000..cc5c4c95b8 --- /dev/null +++ b/models/cloudflare/clef-flash.toml @@ -0,0 +1,50 @@ +# Sources: https://blog.cloudflare.com/clef-decision-models/ (2026-10-01), +# https://blog.cloudflare.com/clef-faster-cheaper-multimodal/ (2026-10-09), +# https://developers.cloudflare.com/workers-ai/models/clef-flash/ and +# https://huggingface.co/Cloudflare/clef-flash (all accessed 2026-10-20). +# Clef Flash generates no free-form text, so output is 0 (provider entries set +# structured_output = true). Context: the 2026-10-09 update says "The Clef-flash weights on Hugging Face +# are unchanged and support up to a 256K context window if you self-host", while +# Cloudflare's hosted endpoint caps Flash at 24K for price. The lab limit is the +# weights capability; each host entry records its own cap. Input follows the +# same-model Workers AI and OpenRouter entries: text and images (PNG, JPEG, WebP per the Workers AI model page). Temperature follows +# Cloudflare's first-party Workers AI entry (true); Melious's System One surface +# takes only model, state, questions and images, so that provider entry overrides +# temperature = false. Apache-2.0 weights, 9B parameters, post-trained from +# Qwen3.5-9B. +schema = 2 +type = "decision" +name = "Clef Flash" +description = "Cloudflare's fast 9B open-weight decision model that returns probabilities for typed choice, score and yes/no questions about text or images" +open_weights = true +release_date = "2026-10-01" +license = "Apache-2.0" + +[modalities] +input = ["text", "image/png", "image/jpeg", "image/webp"] +output = ["text"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = true +top_p = true +top_k = true + +[limit] +context = 262_144 +output = 0 + +[[links]] +label = "Announcement" +url = "https://blog.cloudflare.com/clef-decision-models/" +type = "announcement" + +[[links]] +label = "Model card" +url = "https://huggingface.co/Cloudflare/clef-flash" +type = "model_card" + +[[weights]] +label = "Hugging Face" +url = "https://huggingface.co/Cloudflare/clef-flash" diff --git a/models/cloudflare/clef.toml b/models/cloudflare/clef.toml new file mode 100644 index 0000000000..27ae4d6d55 --- /dev/null +++ b/models/cloudflare/clef.toml @@ -0,0 +1,45 @@ +# Sources: https://blog.cloudflare.com/clef-decision-models/ (2026-10-01), +# https://developers.cloudflare.com/workers-ai/models/clef/ and +# https://huggingface.co/Cloudflare/clef (both accessed 2026-10-20). +# Clef returns one probability per allowed option and generates no free-form text, +# so output is 0 (provider entries set structured_output = true). The hosted context window is 64K; +# the weights are published under Apache-2.0. Input follows the same-model Workers AI +# and OpenRouter entries: text and images (PNG, JPEG, WebP per the Workers AI model page). Temperature follows Cloudflare's +# first-party Workers AI entry (true); Melious's System One surface takes only model, +# state, questions and images, so that provider entry overrides temperature = false. +schema = 2 +type = "decision" +name = "Clef" +description = "Cloudflare's open-weight decision model that returns probabilities for typed choice, score and yes/no questions about text or images" +open_weights = true +release_date = "2026-10-01" +license = "Apache-2.0" + +[modalities] +input = ["text", "image/png", "image/jpeg", "image/webp"] +output = ["text"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = true +top_p = true +top_k = true + +[limit] +context = 65_536 +output = 0 + +[[links]] +label = "Announcement" +url = "https://blog.cloudflare.com/clef-decision-models/" +type = "announcement" + +[[links]] +label = "Model card" +url = "https://huggingface.co/Cloudflare/clef" +type = "model_card" + +[[weights]] +label = "Hugging Face" +url = "https://huggingface.co/Cloudflare/clef" diff --git a/models/cognitivecomputations/dolphin-mistral-24b-venice-edition.toml b/models/cognitivecomputations/dolphin-mistral-24b-venice-edition.toml new file mode 100644 index 0000000000..5b57e10ca7 --- /dev/null +++ b/models/cognitivecomputations/dolphin-mistral-24b-venice-edition.toml @@ -0,0 +1,27 @@ +# Lab metadata carried over from providers/openrouter/models/cognitivecomputations/dolphin-mistral-24b-venice-edition.toml (curated catalogue data already in this repo), +# with provider-specific fields (cost, reasoning_options, status) stripped. +# Weights: https://huggingface.co/cognitivecomputations/Dolphin-Mistral-24B-Venice-Edition (Apache-2.0) +# Sampling: open weights; generation_config.json sets temperature 0.15 +# (https://huggingface.co/cognitivecomputations/Dolphin-Mistral-24B-Venice-Edition/blob/main/generation_config.json). +schema = 2 +name = "Uncensored" +description = "Mistral model for multilingual chat, reasoning, and tool-assisted workflows" +family = "mistral" +open_weights = true +knowledge = "2024-04-30" +release_date = "2025-07-09" + +[modalities] +input = ["text"] +output = ["text"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = true +top_p = true +top_k = true + +[limit] +context = 128_000 +output = 8_192 diff --git a/models/cohere/c4ai-aya-expanse-32b.toml b/models/cohere/c4ai-aya-expanse-32b.toml index 28ca086175..ee91b186ce 100644 --- a/models/cohere/c4ai-aya-expanse-32b.toml +++ b/models/cohere/c4ai-aya-expanse-32b.toml @@ -1,23 +1,26 @@ # https://huggingface.co/CohereLabs/aya-expanse-32b +schema = 2 name = "Aya Expanse 32B" description = "Open multilingual model optimized for generation across 23 languages" -release_date = "2024-10-24" -last_updated = "2024-10-24" -attachment = false -reasoning = false -temperature = true -tool_call = false open_weights = true +release_date = "2024-10-24" license = "CC-BY-NC-4.0" -[limit] -context = 128_000 -output = 4_000 - [modalities] input = ["text"] output = ["text"] +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = true +top_p = true +top_k = true + +[limit] +context = 128_000 +output = 4_000 + [[weights]] label = "Hugging Face" url = "https://huggingface.co/CohereLabs/aya-expanse-32b" diff --git a/models/cohere/c4ai-aya-expanse-8b.toml b/models/cohere/c4ai-aya-expanse-8b.toml index e6d43a7a85..c749935851 100644 --- a/models/cohere/c4ai-aya-expanse-8b.toml +++ b/models/cohere/c4ai-aya-expanse-8b.toml @@ -1,23 +1,26 @@ # https://huggingface.co/CohereLabs/aya-expanse-8b +schema = 2 name = "Aya Expanse 8B" description = "Compact open multilingual model optimized for generation across 23 languages" -release_date = "2024-10-24" -last_updated = "2024-10-24" -attachment = false -reasoning = false -temperature = true -tool_call = false open_weights = true +release_date = "2024-10-24" license = "CC-BY-NC-4.0" -[limit] -context = 8_000 -output = 4_000 - [modalities] input = ["text"] output = ["text"] +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = true +top_p = true +top_k = true + +[limit] +context = 8_000 +output = 4_000 + [[weights]] label = "Hugging Face" url = "https://huggingface.co/CohereLabs/aya-expanse-8b" diff --git a/models/cohere/c4ai-aya-vision-32b.toml b/models/cohere/c4ai-aya-vision-32b.toml index e024f45fb5..c25b254a07 100644 --- a/models/cohere/c4ai-aya-vision-32b.toml +++ b/models/cohere/c4ai-aya-vision-32b.toml @@ -1,23 +1,29 @@ # https://huggingface.co/CohereLabs/aya-vision-32b +# Image formats: https://docs.cohere.com/docs/image-inputs ("Limitations > File types": PNG, JPEG, WEBP, +# non-animated GIF; listed as extensions, so the registered MIME types are used). +schema = 2 name = "Aya Vision 32B" description = "Open multilingual vision model for OCR, visual reasoning, and image question answering" +open_weights = true release_date = "2025-03-04" last_updated = "2025-05-14" -attachment = true -reasoning = false -temperature = true -tool_call = false -open_weights = true license = "CC-BY-NC-4.0" +[modalities] +input = ["text", "image/png", "image/jpeg", "image/webp", "image/gif"] +output = ["text"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = true +top_p = true +top_k = true + [limit] context = 16_000 output = 4_000 -[modalities] -input = ["text", "image"] -output = ["text"] - [[weights]] label = "Hugging Face" url = "https://huggingface.co/CohereLabs/aya-vision-32b" diff --git a/models/cohere/c4ai-aya-vision-8b.toml b/models/cohere/c4ai-aya-vision-8b.toml index 3bcd605e34..6c12c6dd01 100644 --- a/models/cohere/c4ai-aya-vision-8b.toml +++ b/models/cohere/c4ai-aya-vision-8b.toml @@ -1,23 +1,30 @@ # https://huggingface.co/CohereLabs/aya-vision-8b +# Image formats: https://docs.cohere.com/docs/image-inputs ("Limitations > File types": PNG, JPEG, WEBP, +# non-animated GIF; listed as extensions, so the registered MIME types are used). Retired 2026-04-04 +# (https://docs.cohere.com/docs/deprecations); the formats are those of the Cohere Chat API it was served on. +schema = 2 name = "Aya Vision 8B" description = "Compact open multilingual vision model for OCR and visual question answering" +open_weights = true release_date = "2025-03-04" last_updated = "2025-05-14" -attachment = true -reasoning = false -temperature = true -tool_call = false -open_weights = true license = "CC-BY-NC-4.0" +[modalities] +input = ["text", "image/png", "image/jpeg", "image/webp", "image/gif"] +output = ["text"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = true +top_p = true +top_k = true + [limit] context = 16_000 output = 4_000 -[modalities] -input = ["text", "image"] -output = ["text"] - [[weights]] label = "Hugging Face" url = "https://huggingface.co/CohereLabs/aya-vision-8b" diff --git a/models/cohere/cohere-transcribe-03-2026.toml b/models/cohere/cohere-transcribe-03-2026.toml new file mode 100644 index 0000000000..fa1bf30d32 --- /dev/null +++ b/models/cohere/cohere-transcribe-03-2026.toml @@ -0,0 +1,36 @@ +# Sources: +# - Model: https://docs.cohere.com/docs/transcribe +# - Release: https://docs.cohere.com/changelog ("Announcing the Cohere Transcribe model", March 26, 2026) +# - Audio formats: https://docs.cohere.com/reference/create-audio-transcription ("Supported file extensions +# are flac, mp3, mpeg, mpga, ogg, and wav"); extensions mapped to MIME types (mp3/mpeg/mpga = audio/mpeg). +# - Context: GET https://api.cohere.com/v1/models/ reports context_length 32768; no output limit is +# published (0, as for whisper-1). +# - Sampling: the endpoint takes `temperature` only (no top_p/top_k). +# - Weights: https://huggingface.co/CohereLabs/cohere-transcribe-03-2026 (Apache 2.0) +schema = 2 +v2_only = true +type = "transcription" +name = "Cohere Transcribe" +description = "Open 2B speech recognition model for accurate transcription across 14 languages" +open_weights = true +release_date = "2026-03-26" +license = "Apache-2.0" + +[modalities] +input = ["audio/flac", "audio/mpeg", "audio/ogg", "audio/wav"] +output = ["text"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = true +top_p = false +top_k = false + +[limit] +context = 32_768 +output = 0 + +[[weights]] +label = "Hugging Face" +url = "https://huggingface.co/CohereLabs/cohere-transcribe-03-2026" diff --git a/models/cohere/cohere-transcribe-arabic-07-2026.toml b/models/cohere/cohere-transcribe-arabic-07-2026.toml new file mode 100644 index 0000000000..70f8d477cc --- /dev/null +++ b/models/cohere/cohere-transcribe-arabic-07-2026.toml @@ -0,0 +1,36 @@ +# Sources: +# - Model: https://docs.cohere.com/docs/transcribe-arabic +# - Release: https://docs.cohere.com/changelog ("Meet Cohere Transcribe Arabic", July 7, 2026) +# - Audio formats: https://docs.cohere.com/reference/create-audio-transcription ("Supported file extensions +# are flac, mp3, mpeg, mpga, ogg, and wav"); extensions mapped to MIME types (mp3/mpeg/mpga = audio/mpeg). +# - Context: GET https://api.cohere.com/v1/models/ reports context_length 32768; no output limit is +# published (0, as for whisper-1). +# - Sampling: the endpoint takes `temperature` only (no top_p/top_k). +# - Weights: https://huggingface.co/CohereLabs/cohere-transcribe-arabic-07-2026 (Apache 2.0) +schema = 2 +v2_only = true +type = "transcription" +name = "Cohere Transcribe Arabic" +description = "Cohere Transcribe fine-tune for Arabic dialects and Arabic-English code-switching" +open_weights = true +release_date = "2026-07-07" +license = "Apache-2.0" + +[modalities] +input = ["audio/flac", "audio/mpeg", "audio/ogg", "audio/wav"] +output = ["text"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = true +top_p = false +top_k = false + +[limit] +context = 32_768 +output = 0 + +[[weights]] +label = "Hugging Face" +url = "https://huggingface.co/CohereLabs/cohere-transcribe-arabic-07-2026" diff --git a/models/cohere/command-a-03-2025.toml b/models/cohere/command-a-03-2025.toml index 543687b2c4..54f594b822 100644 --- a/models/cohere/command-a-03-2025.toml +++ b/models/cohere/command-a-03-2025.toml @@ -1,23 +1,26 @@ +schema = 2 name = "Command A" description = "Cohere command model for multilingual enterprise agents, tools, and chat" family = "command-a" +open_weights = true +knowledge = "2024-06-01" release_date = "2025-03-13" -last_updated = "2025-03-13" -attachment = false -reasoning = false + +[modalities] +input = ["text"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = false } temperature = true -tool_call = true -knowledge = "2024-06-01" -open_weights = true +top_p = true +top_k = true [limit] context = 256_000 output = 8_000 -[modalities] -input = ["text"] -output = ["text"] - [[weights]] label = "Hugging Face" url = "https://huggingface.co/CohereLabs/c4ai-command-a-03-2025" diff --git a/models/cohere/command-a-plus-05-2026.toml b/models/cohere/command-a-plus-05-2026.toml index 3b75e4a3d1..537a4900d2 100644 --- a/models/cohere/command-a-plus-05-2026.toml +++ b/models/cohere/command-a-plus-05-2026.toml @@ -1,20 +1,25 @@ +# Image formats: https://docs.cohere.com/docs/image-inputs ("Limitations > File types": PNG, JPEG, WEBP, +# non-animated GIF; listed as extensions, so the registered MIME types are used). +schema = 2 name = "Command A Plus" description = "Cohere's stronger command model for multilingual agents and enterprise workflows" family = "command-a" +open_weights = true +knowledge = "2025-04-01" release_date = "2026-05-20" last_updated = "2026-06-09" -attachment = true -reasoning = true + +[modalities] +input = ["text", "image/png", "image/jpeg", "image/webp", "image/gif"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } temperature = true -knowledge = "2025-04-01" -tool_call = true -open_weights = true -structured_output = true +top_p = true +top_k = true [limit] context = 128_000 output = 64_000 - -[modalities] -input = ["text", "image"] -output = ["text"] diff --git a/models/cohere/command-a-reasoning-08-2025.toml b/models/cohere/command-a-reasoning-08-2025.toml index 54c821db25..2b2bc52fa0 100644 --- a/models/cohere/command-a-reasoning-08-2025.toml +++ b/models/cohere/command-a-reasoning-08-2025.toml @@ -1,25 +1,28 @@ # https://docs.cohere.com/docs/command-a-reasoning # https://huggingface.co/CohereLabs/c4ai-command-a-reasoning-08-2025 +schema = 2 name = "Command A Reasoning" description = "Cohere reasoning model for multilingual enterprise agents, tools, and complex workflows" family = "command-a" +open_weights = true +knowledge = "2024-06-01" release_date = "2025-08-21" -last_updated = "2025-08-21" -attachment = false -reasoning = true + +[modalities] +input = ["text"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } temperature = true -knowledge = "2024-06-01" -tool_call = true -open_weights = true +top_p = true +top_k = true [limit] context = 256_000 output = 32_000 -[modalities] -input = ["text"] -output = ["text"] - [[weights]] label = "Hugging Face" url = "https://huggingface.co/CohereLabs/c4ai-command-a-reasoning-08-2025" diff --git a/models/cohere/command-a-translate-08-2025.toml b/models/cohere/command-a-translate-08-2025.toml index 635a7d22ef..3595f7edda 100644 --- a/models/cohere/command-a-translate-08-2025.toml +++ b/models/cohere/command-a-translate-08-2025.toml @@ -1,25 +1,28 @@ # https://docs.cohere.com/docs/models # https://huggingface.co/CohereLabs/c4ai-command-a-translate-08-2025 +schema = 2 name = "Command A Translate" description = "Translation model for multilingual conversion, localization, and cross-language workflows" family = "command-a" +open_weights = true +knowledge = "2024-06-01" release_date = "2025-08-28" -last_updated = "2025-08-28" -attachment = false -reasoning = false + +[modalities] +input = ["text"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = false } temperature = true -knowledge = "2024-06-01" -tool_call = true -open_weights = true +top_p = true +top_k = true [limit] context = 8_000 output = 8_000 -[modalities] -input = ["text"] -output = ["text"] - [[weights]] label = "Hugging Face" url = "https://huggingface.co/CohereLabs/c4ai-command-a-translate-08-2025" diff --git a/models/cohere/command-a-vision-07-2025.toml b/models/cohere/command-a-vision-07-2025.toml index 12951602e2..20839fb8dd 100644 --- a/models/cohere/command-a-vision-07-2025.toml +++ b/models/cohere/command-a-vision-07-2025.toml @@ -1,25 +1,30 @@ # https://docs.cohere.com/docs/command-a-vision # https://huggingface.co/CohereLabs/c4ai-command-a-vision-07-2025 +# Image formats: https://docs.cohere.com/docs/image-inputs ("Limitations > File types": PNG, JPEG, WEBP, +# non-animated GIF; listed as extensions, so the registered MIME types are used). +schema = 2 name = "Command A Vision" description = "Cohere vision model for multilingual document analysis, OCR, and image understanding" family = "command-a" +open_weights = true +knowledge = "2024-06-01" release_date = "2025-07-31" -last_updated = "2025-07-31" -attachment = true -reasoning = false + +[modalities] +input = ["text", "image/png", "image/jpeg", "image/webp", "image/gif"] +output = ["text"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } temperature = true -knowledge = "2024-06-01" -tool_call = false -open_weights = true +top_p = true +top_k = true [limit] context = 128_000 output = 8_000 -[modalities] -input = ["text", "image"] -output = ["text"] - [[weights]] label = "Hugging Face" url = "https://huggingface.co/CohereLabs/c4ai-command-a-vision-07-2025" diff --git a/models/cohere/command-a.toml b/models/cohere/command-a.toml new file mode 100644 index 0000000000..3c45488160 --- /dev/null +++ b/models/cohere/command-a.toml @@ -0,0 +1,26 @@ +# Lab metadata carried over from providers/openrouter/models/cohere/command-a.toml (curated catalogue data already in this repo), +# with provider-specific fields (cost, reasoning_options, status) stripped. +# Tools: Command A supports tool use (https://docs.cohere.com/docs/command-a: "Command A excels at tool use"; +# Cohere's GET /v1/models lists the `tools` feature for command-a-03-2025). +schema = 2 +name = "Command A" +description = "Cohere command model for multilingual enterprise agents, tools, and chat" +family = "command-a" +open_weights = true +knowledge = "2024-08-31" +release_date = "2025-03-13" + +[modalities] +input = ["text"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = false } +temperature = true +top_p = true +top_k = true + +[limit] +context = 256_000 +output = 8_192 diff --git a/models/cohere/command-r-08-2024.toml b/models/cohere/command-r-08-2024.toml index 2e67d41fc8..f04c39ea08 100644 --- a/models/cohere/command-r-08-2024.toml +++ b/models/cohere/command-r-08-2024.toml @@ -1,23 +1,26 @@ +schema = 2 name = "Command R" description = "Cohere retrieval model for long-context chat and enterprise RAG workflows" family = "command-r" +open_weights = true +knowledge = "2024-06-01" release_date = "2024-08-30" -last_updated = "2024-08-30" -attachment = false -reasoning = false + +[modalities] +input = ["text"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = false } temperature = true -tool_call = true -knowledge = "2024-06-01" -open_weights = true +top_p = true +top_k = true [limit] context = 128_000 output = 4_000 -[modalities] -input = ["text"] -output = ["text"] - [[weights]] label = "Hugging Face" url = "https://huggingface.co/CohereLabs/c4ai-command-r-08-2024" diff --git a/models/cohere/command-r-plus-08-2024.toml b/models/cohere/command-r-plus-08-2024.toml index 14bba7037c..95d6647dd4 100644 --- a/models/cohere/command-r-plus-08-2024.toml +++ b/models/cohere/command-r-plus-08-2024.toml @@ -1,23 +1,26 @@ +schema = 2 name = "Command R+" description = "Cohere's RAG workhorse for long-context enterprise search and tool use" family = "command-r" +open_weights = true +knowledge = "2024-06-01" release_date = "2024-08-30" -last_updated = "2024-08-30" -attachment = false -reasoning = false + +[modalities] +input = ["text"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = false } temperature = true -tool_call = true -knowledge = "2024-06-01" -open_weights = true +top_p = true +top_k = true [limit] context = 128_000 output = 4_000 -[modalities] -input = ["text"] -output = ["text"] - [[weights]] label = "Hugging Face" url = "https://huggingface.co/CohereLabs/c4ai-command-r-plus-08-2024" diff --git a/models/cohere/command-r7b-12-2024.toml b/models/cohere/command-r7b-12-2024.toml index 71aa0ecada..13d2473f7c 100644 --- a/models/cohere/command-r7b-12-2024.toml +++ b/models/cohere/command-r7b-12-2024.toml @@ -1,23 +1,28 @@ +# Release: https://docs.cohere.com/changelog ("Announcing Command R7b", December 13, 2024) and +# https://cohere.com/blog/command-r7b (Dec 13, 2024). +schema = 2 name = "Command R7B" description = "Cohere retrieval model for long-context chat and enterprise RAG workflows" family = "command-r" -release_date = "2024-12-02" -last_updated = "2024-12-02" -attachment = false -reasoning = false -temperature = true -tool_call = true -knowledge = "2024-06-01" open_weights = true - -[limit] -context = 128_000 -output = 4_000 +knowledge = "2024-06-01" +release_date = "2024-12-13" [modalities] input = ["text"] output = ["text"] +[capabilities] +tools = { supported = true } +reasoning = { supported = false } +temperature = true +top_p = true +top_k = true + +[limit] +context = 128_000 +output = 4_000 + [[weights]] label = "Hugging Face" url = "https://huggingface.co/CohereLabs/c4ai-command-r7b-12-2024" diff --git a/models/cohere/command-r7b-arabic-02-2025.toml b/models/cohere/command-r7b-arabic-02-2025.toml index bca4fa5281..35cd79735e 100644 --- a/models/cohere/command-r7b-arabic-02-2025.toml +++ b/models/cohere/command-r7b-arabic-02-2025.toml @@ -1,25 +1,28 @@ # https://huggingface.co/CohereLabs/c4ai-command-r7b-arabic-02-2025 # https://docs.cohere.com/changelog/command-r7b-arabic +schema = 2 name = "Command R7B Arabic" description = "Open Command R model optimized for Arabic enterprise chat, RAG, and cultural knowledge" family = "command-r" +open_weights = true +knowledge = "2024-06-01" release_date = "2025-02-27" -last_updated = "2025-02-27" -attachment = false -reasoning = false + +[modalities] +input = ["text"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = false } temperature = true -knowledge = "2024-06-01" -tool_call = true -open_weights = true +top_p = true +top_k = true [limit] context = 128_000 output = 4_000 -[modalities] -input = ["text"] -output = ["text"] - [[weights]] label = "Hugging Face" url = "https://huggingface.co/CohereLabs/c4ai-command-r7b-arabic-02-2025" diff --git a/models/cohere/embed-english-light-v3.0.toml b/models/cohere/embed-english-light-v3.0.toml new file mode 100644 index 0000000000..ccf3c3f02b --- /dev/null +++ b/models/cohere/embed-english-light-v3.0.toml @@ -0,0 +1,28 @@ +# Sources: +# - Models: https://docs.cohere.com/docs/cohere-embed (modalities, dimensions, context length) +# - Image MIME types: https://docs.cohere.com/reference/embed ("The image must be in either `image/jpeg`, +# `image/png`, `image/webp`, or `image/gif` format.") +# - Release: https://cohere.com/blog/introducing-embed-v3 (Nov 2, 2023); image input added later (docs above) +schema = 2 +v2_only = true +type = "embedding" +name = "Embed English Light 3" +description = "Smaller, faster English embedding model" +family = "cohere-embed" +open_weights = false +release_date = "2023-11-02" + +[modalities] +input = ["text", "image/jpeg", "image/png", "image/webp", "image/gif"] +output = ["embedding"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 512 +output = 384 diff --git a/models/cohere/embed-english-v3.0.toml b/models/cohere/embed-english-v3.0.toml new file mode 100644 index 0000000000..382ef6e2a1 --- /dev/null +++ b/models/cohere/embed-english-v3.0.toml @@ -0,0 +1,28 @@ +# Sources: +# - Models: https://docs.cohere.com/docs/cohere-embed (modalities, dimensions, context length) +# - Image MIME types: https://docs.cohere.com/reference/embed ("The image must be in either `image/jpeg`, +# `image/png`, `image/webp`, or `image/gif` format.") +# - Release: https://cohere.com/blog/introducing-embed-v3 (Nov 2, 2023); image input added later (docs above) +schema = 2 +v2_only = true +type = "embedding" +name = "Embed English 3" +description = "English embedding model for search, classification, and clustering" +family = "cohere-embed" +open_weights = false +release_date = "2023-11-02" + +[modalities] +input = ["text", "image/jpeg", "image/png", "image/webp", "image/gif"] +output = ["embedding"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 512 +output = 1_024 diff --git a/models/cohere/embed-multilingual-light-v3.0.toml b/models/cohere/embed-multilingual-light-v3.0.toml new file mode 100644 index 0000000000..ff881b6285 --- /dev/null +++ b/models/cohere/embed-multilingual-light-v3.0.toml @@ -0,0 +1,28 @@ +# Sources: +# - Models: https://docs.cohere.com/docs/cohere-embed (modalities, dimensions, context length) +# - Image MIME types: https://docs.cohere.com/reference/embed ("The image must be in either `image/jpeg`, +# `image/png`, `image/webp`, or `image/gif` format.") +# - Release: https://cohere.com/blog/introducing-embed-v3 (Nov 2, 2023); image input added later (docs above) +schema = 2 +v2_only = true +type = "embedding" +name = "Embed Multilingual Light 3" +description = "Smaller, faster multilingual embedding model" +family = "cohere-embed" +open_weights = false +release_date = "2023-11-02" + +[modalities] +input = ["text", "image/jpeg", "image/png", "image/webp", "image/gif"] +output = ["embedding"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 512 +output = 384 diff --git a/models/cohere/embed-multilingual-v3.0.toml b/models/cohere/embed-multilingual-v3.0.toml new file mode 100644 index 0000000000..a1d1c6016b --- /dev/null +++ b/models/cohere/embed-multilingual-v3.0.toml @@ -0,0 +1,28 @@ +# Sources: +# - Models: https://docs.cohere.com/docs/cohere-embed (modalities, dimensions, context length) +# - Image MIME types: https://docs.cohere.com/reference/embed ("The image must be in either `image/jpeg`, +# `image/png`, `image/webp`, or `image/gif` format.") +# - Release: https://cohere.com/blog/introducing-embed-v3 (Nov 2, 2023); image input added later (docs above) +schema = 2 +v2_only = true +type = "embedding" +name = "Embed Multilingual 3" +description = "Multilingual embedding model covering over 100 languages" +family = "cohere-embed" +open_weights = false +release_date = "2023-11-02" + +[modalities] +input = ["text", "image/jpeg", "image/png", "image/webp", "image/gif"] +output = ["embedding"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 512 +output = 1_024 diff --git a/models/cohere/embed-v4.0.toml b/models/cohere/embed-v4.0.toml new file mode 100644 index 0000000000..ecf38fbc06 --- /dev/null +++ b/models/cohere/embed-v4.0.toml @@ -0,0 +1,28 @@ +# Sources: +# - Models: https://docs.cohere.com/docs/cohere-embed (modalities, dimensions, context length) +# - Image MIME types: https://docs.cohere.com/reference/embed ("The image must be in either `image/jpeg`, +# `image/png`, `image/webp`, or `image/gif` format.") +# - Release: https://docs.cohere.com/changelog ("Announcing Embed Multimodal v4", April 15, 2025) +schema = 2 +v2_only = true +type = "embedding" +name = "Embed 4" +description = "Multimodal embedding model for text, images, and mixed text-and-image documents" +family = "cohere-embed" +open_weights = false +release_date = "2025-04-15" + +[modalities] +input = ["text", "image/jpeg", "image/png", "image/webp", "image/gif"] +output = ["embedding"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 128_000 +output = 1_536 diff --git a/models/cohere/embed-v5.0-fast.toml b/models/cohere/embed-v5.0-fast.toml new file mode 100644 index 0000000000..e65a7d309f --- /dev/null +++ b/models/cohere/embed-v5.0-fast.toml @@ -0,0 +1,28 @@ +# Sources: +# - Models: https://docs.cohere.com/docs/cohere-embed (modalities, dimensions, context length) +# - Image MIME types: https://docs.cohere.com/reference/embed ("The image must be in either `image/jpeg`, +# `image/png`, `image/webp`, or `image/gif` format.") +# - Release: https://docs.cohere.com/changelog ("Announcing Cohere's Embed 5 Models", September 30, 2026) +schema = 2 +v2_only = true +type = "embedding" +name = "Embed 5 Fast" +description = "Faster, lighter Embed 5 model sharing Embed 5 Pro's embedding space" +family = "cohere-embed" +open_weights = false +release_date = "2026-09-30" + +[modalities] +input = ["text", "image/jpeg", "image/png", "image/webp", "image/gif"] +output = ["embedding"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 128_000 +output = 2_048 diff --git a/models/cohere/embed-v5.0-pro.toml b/models/cohere/embed-v5.0-pro.toml new file mode 100644 index 0000000000..f3c3ac8730 --- /dev/null +++ b/models/cohere/embed-v5.0-pro.toml @@ -0,0 +1,28 @@ +# Sources: +# - Models: https://docs.cohere.com/docs/cohere-embed (modalities, dimensions, context length) +# - Image MIME types: https://docs.cohere.com/reference/embed ("The image must be in either `image/jpeg`, +# `image/png`, `image/webp`, or `image/gif` format.") +# - Release: https://docs.cohere.com/changelog ("Announcing Cohere's Embed 5 Models", September 30, 2026) +schema = 2 +v2_only = true +type = "embedding" +name = "Embed 5 Pro" +description = "Cohere's most capable multimodal embedding model for text, images, and mixed documents" +family = "cohere-embed" +open_weights = false +release_date = "2026-09-30" + +[modalities] +input = ["text", "image/jpeg", "image/png", "image/webp", "image/gif"] +output = ["embedding"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 128_000 +output = 2_048 diff --git a/models/cohere/north-mini-code-1-0.toml b/models/cohere/north-mini-code-1-0.toml index 8de8cf696c..64a92d3207 100644 --- a/models/cohere/north-mini-code-1-0.toml +++ b/models/cohere/north-mini-code-1-0.toml @@ -1,24 +1,26 @@ +schema = 2 name = "North Mini Code" description = "Cohere coding model for practical software engineering and agentic edits" family = "north" +open_weights = true +knowledge = "2025-09-23" release_date = "2026-06-09" -last_updated = "2026-06-09" -attachment = false -reasoning = true + +[modalities] +input = ["text"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } temperature = true -structured_output = true -knowledge = "2025-09-23" -tool_call = true -open_weights = true +top_p = true +top_k = true [limit] context = 256_000 output = 64_000 -[modalities] -input = ["text"] -output = ["text"] - [[benchmarks]] name = "SWE-Bench Verified" score = 67.6 diff --git a/models/cohere/north-small-translate-1-0.toml b/models/cohere/north-small-translate-1-0.toml new file mode 100644 index 0000000000..d8c028a573 --- /dev/null +++ b/models/cohere/north-small-translate-1-0.toml @@ -0,0 +1,28 @@ +# https://docs.cohere.com/docs/north-small-translate-1.0 +# https://docs.cohere.com/changelog (September 9, 2026) +schema = 2 +name = "North Small Translate" +description = "Open-weight translation model for more than 50 languages and locale variants" +family = "north" +open_weights = true +release_date = "2026-09-09" +license = "CC-BY-NC-4.0" + +[modalities] +input = ["text"] +output = ["text"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = true +top_p = true +top_k = true + +[limit] +context = 16_000 +output = 16_000 + +[[weights]] +label = "Hugging Face" +url = "https://huggingface.co/CohereLabs/North-Small-Translate-1.0" diff --git a/models/cohere/rerank-english-v3.0.toml b/models/cohere/rerank-english-v3.0.toml new file mode 100644 index 0000000000..cfd1e73352 --- /dev/null +++ b/models/cohere/rerank-english-v3.0.toml @@ -0,0 +1,26 @@ +# Sources: +# - Models: https://docs.cohere.com/docs/rerank (text-only, context length) +# - Release: https://www.elastic.co/search-labs/blog/elasticsearch-cohere-rerank (Rerank 3 launch partner post, April 11, 2024) +# Reranking returns relevance scores, not generated tokens (limit.output = 0). +schema = 2 +v2_only = true +type = "reranking" +name = "Rerank English 3" +description = "English reranker for documents and semi-structured data" +open_weights = false +release_date = "2024-04-11" + +[modalities] +input = ["text"] +output = ["reranking"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 4_096 +output = 0 diff --git a/models/cohere/rerank-multilingual-v3.0.toml b/models/cohere/rerank-multilingual-v3.0.toml new file mode 100644 index 0000000000..f452a407f3 --- /dev/null +++ b/models/cohere/rerank-multilingual-v3.0.toml @@ -0,0 +1,26 @@ +# Sources: +# - Models: https://docs.cohere.com/docs/rerank (text-only, context length) +# - Release: https://www.elastic.co/search-labs/blog/elasticsearch-cohere-rerank (Rerank 3 launch partner post, April 11, 2024) +# Reranking returns relevance scores, not generated tokens (limit.output = 0). +schema = 2 +v2_only = true +type = "reranking" +name = "Rerank Multilingual 3" +description = "Reranker for non-English documents and semi-structured data" +open_weights = false +release_date = "2024-04-11" + +[modalities] +input = ["text"] +output = ["reranking"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 4_096 +output = 0 diff --git a/models/cohere/rerank-v3.5.toml b/models/cohere/rerank-v3.5.toml new file mode 100644 index 0000000000..30c5698367 --- /dev/null +++ b/models/cohere/rerank-v3.5.toml @@ -0,0 +1,26 @@ +# Sources: +# - Models: https://docs.cohere.com/docs/rerank (text-only, context length) +# - Release: https://docs.cohere.com/docs/deprecations ("On December 2nd, 2024, we announced the release of Rerank-v3.5") +# Reranking returns relevance scores, not generated tokens (limit.output = 0). +schema = 2 +v2_only = true +type = "reranking" +name = "Rerank 3.5" +description = "Multilingual reranker for documents and semi-structured data" +open_weights = false +release_date = "2024-12-02" + +[modalities] +input = ["text"] +output = ["reranking"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 4_096 +output = 0 diff --git a/models/cohere/rerank-v4.0-fast.toml b/models/cohere/rerank-v4.0-fast.toml new file mode 100644 index 0000000000..7719eed563 --- /dev/null +++ b/models/cohere/rerank-v4.0-fast.toml @@ -0,0 +1,26 @@ +# Sources: +# - Models: https://docs.cohere.com/docs/rerank (text-only, context length) +# - Release: https://docs.cohere.com/changelog ("Cohere's Rerank v4.0 Model is Here!", December 11, 2025) +# Reranking returns relevance scores, not generated tokens (limit.output = 0). +schema = 2 +v2_only = true +type = "reranking" +name = "Rerank 4 Fast" +description = "Low-latency multilingual reranker for high-throughput retrieval" +open_weights = false +release_date = "2025-12-11" + +[modalities] +input = ["text"] +output = ["reranking"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 32_768 +output = 0 diff --git a/models/cohere/rerank-v4.0-pro.toml b/models/cohere/rerank-v4.0-pro.toml new file mode 100644 index 0000000000..2e1d623233 --- /dev/null +++ b/models/cohere/rerank-v4.0-pro.toml @@ -0,0 +1,26 @@ +# Sources: +# - Models: https://docs.cohere.com/docs/rerank (text-only, context length) +# - Release: https://docs.cohere.com/changelog ("Cohere's Rerank v4.0 Model is Here!", December 11, 2025) +# Reranking returns relevance scores, not generated tokens (limit.output = 0). +schema = 2 +v2_only = true +type = "reranking" +name = "Rerank 4 Pro" +description = "Multilingual reranker for maximum relevance on documents and semi-structured data" +open_weights = false +release_date = "2025-12-11" + +[modalities] +input = ["text"] +output = ["reranking"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 32_768 +output = 0 diff --git a/models/cohere/tiny-aya-earth.toml b/models/cohere/tiny-aya-earth.toml new file mode 100644 index 0000000000..484e396fa8 --- /dev/null +++ b/models/cohere/tiny-aya-earth.toml @@ -0,0 +1,27 @@ +# https://docs.cohere.com/docs/tiny-aya +# https://cohere.com/blog/cohere-labs-tiny-aya (February 17, 2026) +schema = 2 +name = "Tiny Aya Earth" +description = "Compact multilingual model specialized for West Asian and African languages" +open_weights = true +release_date = "2026-02-17" +license = "CC-BY-NC-4.0" + +[modalities] +input = ["text"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = false } +temperature = true +top_p = true +top_k = true + +[limit] +context = 8_000 +output = 8_000 + +[[weights]] +label = "Hugging Face" +url = "https://huggingface.co/CohereLabs/tiny-aya-earth" diff --git a/models/cohere/tiny-aya-fire.toml b/models/cohere/tiny-aya-fire.toml new file mode 100644 index 0000000000..ac1bb3a2fe --- /dev/null +++ b/models/cohere/tiny-aya-fire.toml @@ -0,0 +1,27 @@ +# https://docs.cohere.com/docs/tiny-aya +# https://cohere.com/blog/cohere-labs-tiny-aya (February 17, 2026) +schema = 2 +name = "Tiny Aya Fire" +description = "Compact multilingual model specialized for South Asian languages" +open_weights = true +release_date = "2026-02-17" +license = "CC-BY-NC-4.0" + +[modalities] +input = ["text"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = false } +temperature = true +top_p = true +top_k = true + +[limit] +context = 8_000 +output = 8_000 + +[[weights]] +label = "Hugging Face" +url = "https://huggingface.co/CohereLabs/tiny-aya-fire" diff --git a/models/cohere/tiny-aya-global.toml b/models/cohere/tiny-aya-global.toml new file mode 100644 index 0000000000..5d60d1466e --- /dev/null +++ b/models/cohere/tiny-aya-global.toml @@ -0,0 +1,27 @@ +# https://docs.cohere.com/docs/tiny-aya +# https://cohere.com/blog/cohere-labs-tiny-aya (February 17, 2026) +schema = 2 +name = "Tiny Aya Global" +description = "Compact multilingual model balanced across 70 languages and regions" +open_weights = true +release_date = "2026-02-17" +license = "CC-BY-NC-4.0" + +[modalities] +input = ["text"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = false } +temperature = true +top_p = true +top_k = true + +[limit] +context = 8_000 +output = 8_000 + +[[weights]] +label = "Hugging Face" +url = "https://huggingface.co/CohereLabs/tiny-aya-global" diff --git a/models/cohere/tiny-aya-water.toml b/models/cohere/tiny-aya-water.toml new file mode 100644 index 0000000000..12884ab2d8 --- /dev/null +++ b/models/cohere/tiny-aya-water.toml @@ -0,0 +1,27 @@ +# https://docs.cohere.com/docs/tiny-aya +# https://cohere.com/blog/cohere-labs-tiny-aya (February 17, 2026) +schema = 2 +name = "Tiny Aya Water" +description = "Compact multilingual model specialized for European and Asia-Pacific languages" +open_weights = true +release_date = "2026-02-17" +license = "CC-BY-NC-4.0" + +[modalities] +input = ["text"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = false } +temperature = true +top_p = true +top_k = true + +[limit] +context = 8_000 +output = 8_000 + +[[weights]] +label = "Hugging Face" +url = "https://huggingface.co/CohereLabs/tiny-aya-water" diff --git a/models/deepgram/aura-2.toml b/models/deepgram/aura-2.toml new file mode 100644 index 0000000000..02863c25fe --- /dev/null +++ b/models/deepgram/aura-2.toml @@ -0,0 +1,25 @@ +# Released 2025-04-15: https://deepgram.com/learn/introducing-aura-2-enterprise-text-to-speech +# Output encodings (linear16 in wav or raw, mulaw, alaw, mp3, opus, flac, aac): https://developers.deepgram.com/docs/tts-media-output-settings +schema = 2 +v2_only = true +type = "speech" +name = "Aura-2" +description = "Enterprise text-to-speech model for real-time voice agents" +family = "aura" +open_weights = false +release_date = "2025-04-15" + +[modalities] +input = ["text"] +output = ["audio/wav", "audio/pcm", "audio/basic", "audio/alaw", "audio/mpeg", "audio/opus", "audio/flac", "audio/aac"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 0 +output = 0 diff --git a/models/deepgram/flux-tts.toml b/models/deepgram/flux-tts.toml new file mode 100644 index 0000000000..a3835e45ca --- /dev/null +++ b/models/deepgram/flux-tts.toml @@ -0,0 +1,25 @@ +# Released 2026-08-12: https://deepgram.com/learn/text-to-speech-comes-of-age-deepgram-launches-conversation-native-speech +# Output formats: mp3 and pcm, as documented for OpenRouter's speech API (the lab lists none here): +# https://openrouter.ai/docs/guides/overview/multimodal/tts +schema = 2 +v2_only = true +type = "speech" +name = "Flux TTS" +description = "Conversation-native text-to-speech model for real-time voice agents" +open_weights = false +release_date = "2026-08-12" + +[modalities] +input = ["text"] +output = ["audio/mpeg", "audio/pcm"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 0 +output = 0 diff --git a/models/deepgram/nova-3.toml b/models/deepgram/nova-3.toml new file mode 100644 index 0000000000..ccba8b6922 --- /dev/null +++ b/models/deepgram/nova-3.toml @@ -0,0 +1,24 @@ +# Released 2025-02-12: https://deepgram.com/learn/introducing-nova-3-speech-to-text-api +# Input formats (MP3, MP4, AAC, WAV, FLAC, M4A, Ogg, Opus, WebM): https://developers.deepgram.com/docs/supported-audio-formats +schema = 2 +v2_only = true +type = "transcription" +name = "Nova-3" +description = "General-purpose speech-to-text model with monolingual and multilingual transcription" +open_weights = false +release_date = "2025-02-12" + +[modalities] +input = ["audio/mpeg", "audio/mp4", "audio/aac", "audio/wav", "audio/flac", "audio/ogg", "audio/opus", "audio/webm"] +output = ["text"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 0 +output = 0 diff --git a/models/deepreinforce/ornith-1.0-31b.toml b/models/deepreinforce/ornith-1.0-31b.toml index a07ebaf268..d46eef0fdf 100644 --- a/models/deepreinforce/ornith-1.0-31b.toml +++ b/models/deepreinforce/ornith-1.0-31b.toml @@ -3,25 +3,32 @@ # and context window are provisional, assumed consistent with the rest of the # family pending the public release. # https://deep-reinforce.com/ornith_1_0.html +# Sampling: open weights; the Ornith model cards use temperature=0.6, top_p=0.95, top_k=20 +# (https://huggingface.co/ornith-ai/Ornith-1.0-9B, https://huggingface.co/ornith-ai/Ornith-1.5-35B-A3B). +# Input: image input comes from the Qwen3.5 vision stack (config.json image_token_id). Neither the model card nor +# DeepReinforce (no first-party API) lists image formats, so input stays generic `image`. +schema = 2 name = "Ornith 1.0 31B" description = "Open coding-reasoning model for repository tasks and self-improving agents" family = "ornith" -release_date = "2026-06-25" -last_updated = "2026-06-25" -attachment = true -reasoning = true -temperature = true -tool_call = true open_weights = true +release_date = "2026-06-25" license = "MIT" -[limit] -context = 262_144 - [modalities] input = ["text", "image"] output = ["text"] +[capabilities] +tools = { supported = true } +reasoning = { supported = true } +temperature = true +top_p = true +top_k = true + +[limit] +context = 262_144 + [[links]] label = "Announcement" url = "https://deep-reinforce.com/ornith_1_0.html" diff --git a/models/deepreinforce/ornith-1.0-35b.toml b/models/deepreinforce/ornith-1.0-35b.toml index 70270f2623..4d70015be6 100644 --- a/models/deepreinforce/ornith-1.0-35b.toml +++ b/models/deepreinforce/ornith-1.0-35b.toml @@ -1,22 +1,30 @@ +# https://huggingface.co/ornith-ai/Ornith-1.0-35B +# Sampling: open weights; the Ornith model cards use temperature=0.6, top_p=0.95, top_k=20 +# (https://huggingface.co/ornith-ai/Ornith-1.0-9B, https://huggingface.co/ornith-ai/Ornith-1.5-35B-A3B). +# Input: image input comes from the Qwen3.5 vision stack (config.json image_token_id). Neither the model card nor +# DeepReinforce (no first-party API) lists image formats, so input stays generic `image`. +schema = 2 name = "Ornith 1.0 35B" description = "Large coding-reasoning model for agentic software tasks and RL search" family = "ornith" -release_date = "2026-06-25" -last_updated = "2026-06-25" -attachment = true -reasoning = true -temperature = true -tool_call = true open_weights = true +release_date = "2026-06-25" license = "MIT" -[limit] -context = 262_144 - [modalities] input = ["text", "image"] output = ["text"] +[capabilities] +tools = { supported = true } +reasoning = { supported = true } +temperature = true +top_p = true +top_k = true + +[limit] +context = 262_144 + [[weights]] label = "Hugging Face" url = "https://huggingface.co/deepreinforce-ai/Ornith-1.0-35B" diff --git a/models/deepreinforce/ornith-1.0-397b.toml b/models/deepreinforce/ornith-1.0-397b.toml index 639877a75f..c26bc2ee71 100644 --- a/models/deepreinforce/ornith-1.0-397b.toml +++ b/models/deepreinforce/ornith-1.0-397b.toml @@ -1,22 +1,30 @@ +# https://huggingface.co/ornith-ai/Ornith-1.0-397B +# Sampling: open weights; the Ornith model cards use temperature=0.6, top_p=0.95, top_k=20 +# (https://huggingface.co/ornith-ai/Ornith-1.0-9B, https://huggingface.co/ornith-ai/Ornith-1.5-35B-A3B). +# Input: image input comes from the Qwen3.5 vision stack (config.json image_token_id). Neither the model card nor +# DeepReinforce (no first-party API) lists image formats, so input stays generic `image`. +schema = 2 name = "Ornith 1.0 397B" description = "Large coding-reasoning model for agentic software tasks and RL search" family = "ornith" -release_date = "2026-06-25" -last_updated = "2026-06-25" -attachment = true -reasoning = true -temperature = true -tool_call = true open_weights = true +release_date = "2026-06-25" license = "MIT" -[limit] -context = 262_144 - [modalities] input = ["text", "image"] output = ["text"] +[capabilities] +tools = { supported = true } +reasoning = { supported = true } +temperature = true +top_p = true +top_k = true + +[limit] +context = 262_144 + [[weights]] label = "Hugging Face" url = "https://huggingface.co/deepreinforce-ai/Ornith-1.0-397B" diff --git a/models/deepreinforce/ornith-1.0-9b.toml b/models/deepreinforce/ornith-1.0-9b.toml index fc39be167a..310e5fb23c 100644 --- a/models/deepreinforce/ornith-1.0-9b.toml +++ b/models/deepreinforce/ornith-1.0-9b.toml @@ -1,22 +1,30 @@ +# https://huggingface.co/ornith-ai/Ornith-1.0-9B +# Sampling: open weights; the Ornith model cards use temperature=0.6, top_p=0.95, top_k=20 +# (https://huggingface.co/ornith-ai/Ornith-1.0-9B, https://huggingface.co/ornith-ai/Ornith-1.5-35B-A3B). +# Input: image input comes from the Qwen3.5 vision stack (config.json image_token_id). Neither the model card nor +# DeepReinforce (no first-party API) lists image formats, so input stays generic `image`. +schema = 2 name = "Ornith 1.0 9B" description = "Open coding-reasoning model for repository tasks and self-improving agents" family = "ornith" -release_date = "2026-06-25" -last_updated = "2026-06-25" -attachment = true -reasoning = true -temperature = true -tool_call = true open_weights = true +release_date = "2026-06-25" license = "MIT" -[limit] -context = 262_144 - [modalities] input = ["text", "image"] output = ["text"] +[capabilities] +tools = { supported = true } +reasoning = { supported = true } +temperature = true +top_p = true +top_k = true + +[limit] +context = 262_144 + [[weights]] label = "Hugging Face" url = "https://huggingface.co/deepreinforce-ai/Ornith-1.0-9B" diff --git a/models/deepreinforce/ornith-1.5-35b-a3b.toml b/models/deepreinforce/ornith-1.5-35b-a3b.toml index ff436d1bf5..bafa7f5002 100644 --- a/models/deepreinforce/ornith-1.5-35b-a3b.toml +++ b/models/deepreinforce/ornith-1.5-35b-a3b.toml @@ -1,23 +1,30 @@ +# https://huggingface.co/ornith-ai/Ornith-1.5-35B-A3B +# Sampling: open weights; generation_config.json sets temperature 1.0, top_p 0.95, top_k 20. +# Input: image input comes from the Qwen3.5 vision stack (config.json image_token_id). Neither the model card nor +# DeepReinforce (no first-party API) lists image formats, so input stays generic `image`. +schema = 2 name = "Ornith 1.5 35B A3B" description = "Mixture-of-experts coding-reasoning model for agentic software tasks, tool use, and image understanding" family = "ornith" +open_weights = true release_date = "2026-08-18" last_updated = "2026-08-23" -attachment = true -reasoning = true -temperature = true -tool_call = true -structured_output = true -open_weights = true license = "MIT" -[limit] -context = 262_144 - [modalities] input = ["text", "image"] output = ["text"] +[capabilities] +tools = { supported = true } +reasoning = { supported = true } +temperature = true +top_p = true +top_k = true + +[limit] +context = 262_144 + [[weights]] label = "Hugging Face" url = "https://huggingface.co/ornith-ai/Ornith-1.5-35B-A3B" diff --git a/models/deepseek/deepseek-chat-v3-0324.toml b/models/deepseek/deepseek-chat-v3-0324.toml new file mode 100644 index 0000000000..5f3d15b84b --- /dev/null +++ b/models/deepseek/deepseek-chat-v3-0324.toml @@ -0,0 +1,24 @@ +# Lab metadata carried over from providers/openrouter/models/deepseek/deepseek-chat-v3-0324.toml (curated catalogue data already in this repo), +# with provider-specific fields (cost, reasoning_options, status) stripped. +schema = 2 +name = "DeepSeek V3 0324" +description = "DeepSeek chat model for instruction following, coding, and analysis" +family = "deepseek" +open_weights = true +knowledge = "2024-07-31" +release_date = "2025-03-24" + +[modalities] +input = ["text"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = false } +temperature = true +top_p = true +top_k = true + +[limit] +context = 163_840 +output = 147_456 diff --git a/models/deepseek/deepseek-chat-v3.1.toml b/models/deepseek/deepseek-chat-v3.1.toml new file mode 100644 index 0000000000..760e8a9aee --- /dev/null +++ b/models/deepseek/deepseek-chat-v3.1.toml @@ -0,0 +1,24 @@ +# Lab metadata carried over from providers/openrouter/models/deepseek/deepseek-chat-v3.1.toml (curated catalogue data already in this repo), +# with provider-specific fields (cost, reasoning_options, status) stripped. +schema = 2 +name = "DeepSeek V3.1" +description = "DeepSeek chat model for instruction following, coding, and analysis" +family = "deepseek" +open_weights = true +knowledge = "2025-03-31" +release_date = "2025-08-21" + +[modalities] +input = ["text"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } +temperature = true +top_p = true +top_k = true + +[limit] +context = 163_840 +output = 32_768 diff --git a/models/deepseek/deepseek-chat.toml b/models/deepseek/deepseek-chat.toml index e18ef84b10..333ad8204b 100644 --- a/models/deepseek/deepseek-chat.toml +++ b/models/deepseek/deepseek-chat.toml @@ -1,23 +1,27 @@ +schema = 2 name = "DeepSeek Chat" description = "DeepSeek chat model for instruction following, coding, and analysis" family = "deepseek" +open_weights = true +knowledge = "2025-09" release_date = "2025-12-01" last_updated = "2026-02-28" -attachment = true -reasoning = false + +[modalities] +input = ["text"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = false } temperature = true -tool_call = true -knowledge = "2025-09" -open_weights = true +top_p = true +top_k = true [limit] context = 1_000_000 output = 384_000 -[modalities] -input = ["text"] -output = ["text"] - [[weights]] label = "Hugging Face" url = "https://huggingface.co/deepseek-ai/DeepSeek-V3.2" diff --git a/models/deepseek/deepseek-ocr-2.toml b/models/deepseek/deepseek-ocr-2.toml index 9e55df60d6..adb41cbd85 100644 --- a/models/deepseek/deepseek-ocr-2.toml +++ b/models/deepseek/deepseek-ocr-2.toml @@ -1,16 +1,25 @@ +# Open weights (Apache-2.0): https://huggingface.co/deepseek-ai/DeepSeek-OCR-2 +# Sampling: open weights, so temperature/top_p/top_k are runtime features of the host. +# `image` stays generic: DeepSeek's API does not serve OCR 2 (GET /models lists deepseek-flash and deepseek-v4-pro, +# 2026-10-19), its vision guide's formats cover deepseek-flash only (https://api-docs.deepseek.com/guides/vision), and +# the model card and repo (https://github.com/deepseek-ai/DeepSeek-OCR-2) name no image formats. +schema = 2 name = "DeepSeek OCR 2" description = "High-accuracy OCR model for extracting text from documents, screenshots, receipts, and natural scenes" -release_date = "2026-01-27" -last_updated = "2026-01-27" -attachment = true -reasoning = false -tool_call = false open_weights = true - -[limit] -context = 8_192 -output = 8_192 +release_date = "2026-01-27" [modalities] input = ["text", "image"] output = ["text"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = true +top_p = true +top_k = true + +[limit] +context = 8_192 +output = 8_192 diff --git a/models/deepseek/deepseek-r1-0528-qwen3-8b.toml b/models/deepseek/deepseek-r1-0528-qwen3-8b.toml new file mode 100644 index 0000000000..789606cb2a --- /dev/null +++ b/models/deepseek/deepseek-r1-0528-qwen3-8b.toml @@ -0,0 +1,27 @@ +# https://huggingface.co/deepseek-ai/DeepSeek-R1-0528-Qwen3-8B +schema = 2 +name = "DeepSeek R1 0528 Qwen3 8B" +description = "DeepSeek R1 0528 distilled into Qwen3 8B for mathematics, coding, and reasoning" +family = "deepseek-thinking" +open_weights = true +release_date = "2025-05-29" +license = "MIT" + +[modalities] +input = ["text"] +output = ["text"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = true } +temperature = true +top_p = true +top_k = true + +[limit] +context = 131_072 +output = 32_000 + +[[weights]] +label = "Hugging Face" +url = "https://huggingface.co/deepseek-ai/DeepSeek-R1-0528-Qwen3-8B" diff --git a/models/deepseek/deepseek-r1-0528.toml b/models/deepseek/deepseek-r1-0528.toml new file mode 100644 index 0000000000..66ea85bad7 --- /dev/null +++ b/models/deepseek/deepseek-r1-0528.toml @@ -0,0 +1,27 @@ +# https://huggingface.co/deepseek-ai/DeepSeek-R1-0528 +schema = 2 +name = "DeepSeek R1 0528" +description = "May 2025 DeepSeek R1 update with improved mathematics, coding, and reasoning" +family = "deepseek-thinking" +open_weights = true +release_date = "2025-05-28" +license = "MIT" + +[modalities] +input = ["text"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } +temperature = true +top_p = true +top_k = true + +[limit] +context = 163_840 +output = 32_768 + +[[weights]] +label = "Hugging Face" +url = "https://huggingface.co/deepseek-ai/DeepSeek-R1-0528" diff --git a/models/deepseek/deepseek-r1-distill-qwen-32b.toml b/models/deepseek/deepseek-r1-distill-qwen-32b.toml index 51cb47cbc7..3ea5e59f90 100644 --- a/models/deepseek/deepseek-r1-distill-qwen-32b.toml +++ b/models/deepseek/deepseek-r1-distill-qwen-32b.toml @@ -1,22 +1,25 @@ +schema = 2 name = "DeepSeek-R1-Distill-Qwen-32B" description = "R1 reasoning distilled into Qwen 2.5 32B for efficient open-weight step-by-step problem solving" family = "deepseek-thinking" +open_weights = true release_date = "2025-01-20" -last_updated = "2025-01-20" -attachment = false -reasoning = true + +[modalities] +input = ["text"] +output = ["text"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = true } temperature = true -tool_call = false -open_weights = true +top_p = true +top_k = true [limit] context = 131_072 output = 32_768 -[modalities] -input = ["text"] -output = ["text"] - [[weights]] label = "Hugging Face" url = "https://huggingface.co/deepseek-ai/DeepSeek-R1-Distill-Qwen-32B" diff --git a/models/deepseek/deepseek-r1.toml b/models/deepseek/deepseek-r1.toml index 9a7e06fa84..5436e83f6c 100644 --- a/models/deepseek/deepseek-r1.toml +++ b/models/deepseek/deepseek-r1.toml @@ -1,23 +1,27 @@ +schema = 2 name = "DeepSeek-R1" description = "Classic open reasoning model for transparent math, coding, and deliberate problem solving" family = "deepseek-thinking" +open_weights = true +knowledge = "2024-07" release_date = "2025-01-20" last_updated = "2025-05-29" -attachment = false -reasoning = true + +[modalities] +input = ["text"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } temperature = true -tool_call = true -knowledge = "2024-07" -open_weights = true +top_p = true +top_k = true [limit] context = 128_000 output = 32_768 -[modalities] -input = ["text"] -output = ["text"] - [[weights]] label = "Hugging Face" url = "https://huggingface.co/deepseek-ai/DeepSeek-R1" diff --git a/models/deepseek/deepseek-reasoner.toml b/models/deepseek/deepseek-reasoner.toml index e2afaf7b4f..b1ffba422e 100644 --- a/models/deepseek/deepseek-reasoner.toml +++ b/models/deepseek/deepseek-reasoner.toml @@ -1,23 +1,27 @@ +schema = 2 name = "DeepSeek Reasoner" description = "DeepSeek reasoning model for multi-step analysis, math, coding, and tools" family = "deepseek-thinking" +open_weights = true +knowledge = "2025-09" release_date = "2025-12-01" last_updated = "2026-02-28" -attachment = true -reasoning = true + +[modalities] +input = ["text"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } temperature = true -tool_call = true -knowledge = "2025-09" -open_weights = true +top_p = true +top_k = true [limit] context = 1_000_000 output = 384_000 -[modalities] -input = ["text"] -output = ["text"] - [[weights]] label = "Hugging Face" url = "https://huggingface.co/deepseek-ai/DeepSeek-V3.2" diff --git a/models/deepseek/deepseek-v3-0324.toml b/models/deepseek/deepseek-v3-0324.toml index 5bc0385e60..c160e085db 100644 --- a/models/deepseek/deepseek-v3-0324.toml +++ b/models/deepseek/deepseek-v3-0324.toml @@ -1,22 +1,25 @@ +schema = 2 name = "DeepSeek V3 0324" description = "March 2025 checkpoint of DeepSeek-V3 with improved reasoning and coding" family = "deepseek" +open_weights = true release_date = "2025-03-24" -last_updated = "2025-03-24" -attachment = false -reasoning = false + +[modalities] +input = ["text"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = false } temperature = true -tool_call = true -open_weights = true +top_p = true +top_k = true [limit] context = 163_840 output = 163_840 -[modalities] -input = ["text"] -output = ["text"] - [[weights]] label = "Model weights" url = "https://huggingface.co/deepseek-ai/DeepSeek-V3-0324" diff --git a/models/deepseek/deepseek-v3.1.toml b/models/deepseek/deepseek-v3.1.toml index 7455a51d31..081b20a00a 100644 --- a/models/deepseek/deepseek-v3.1.toml +++ b/models/deepseek/deepseek-v3.1.toml @@ -1,23 +1,26 @@ +schema = 2 name = "DeepSeek-V3.1" description = "Hybrid-reasoning DeepSeek model with thinking and non-thinking modes" family = "deepseek" -release_date = "2025-08-21" -last_updated = "2025-08-21" -attachment = false -reasoning = true -temperature = true -tool_call = true open_weights = true +release_date = "2025-08-21" license = "MIT License" -[limit] -context = 131_072 -output = 8_192 - [modalities] input = ["text"] output = ["text"] +[capabilities] +tools = { supported = true } +reasoning = { supported = true } +temperature = true +top_p = true +top_k = true + +[limit] +context = 131_072 +output = 8_192 + [[weights]] label = "Hugging Face" url = "https://huggingface.co/deepseek-ai/DeepSeek-V3.1" diff --git a/models/deepseek/deepseek-v3.2.toml b/models/deepseek/deepseek-v3.2.toml index fdba87f41f..04844964b9 100644 --- a/models/deepseek/deepseek-v3.2.toml +++ b/models/deepseek/deepseek-v3.2.toml @@ -1,27 +1,29 @@ # https://api-docs.deepseek.com/news/news251201 # https://huggingface.co/deepseek-ai/DeepSeek-V3.2 +schema = 2 name = "DeepSeek V3.2" description = "Hybrid-reasoning DeepSeek model with thinking and non-thinking modes, sparse attention, and tool-use" family = "deepseek" -release_date = "2025-12-01" -last_updated = "2025-12-01" -attachment = false -reasoning = true -temperature = true -tool_call = true -structured_output = true -knowledge = "2024-07" open_weights = true +knowledge = "2024-07" +release_date = "2025-12-01" license = "MIT License" -[limit] -context = 128_000 -output = 64_000 - [modalities] input = ["text"] output = ["text"] +[capabilities] +tools = { supported = true } +reasoning = { supported = true } +temperature = true +top_p = true +top_k = true + +[limit] +context = 128_000 +output = 64_000 + [[weights]] label = "Hugging Face" url = "https://huggingface.co/deepseek-ai/DeepSeek-V3.2" diff --git a/models/deepseek/deepseek-v3.toml b/models/deepseek/deepseek-v3.toml index d808fda7ff..29a84fee60 100644 --- a/models/deepseek/deepseek-v3.toml +++ b/models/deepseek/deepseek-v3.toml @@ -1,23 +1,26 @@ +schema = 2 name = "DeepSeek-V3" description = "Open DeepSeek MoE chat model for coding, math, and general reasoning" family = "deepseek" -release_date = "2024-12-26" -last_updated = "2024-12-26" -attachment = false -reasoning = false -temperature = true -tool_call = true open_weights = true +release_date = "2024-12-26" license = "DeepSeek Model License" -[limit] -context = 131_072 -output = 8_192 - [modalities] input = ["text"] output = ["text"] +[capabilities] +tools = { supported = true } +reasoning = { supported = false } +temperature = true +top_p = true +top_k = true + +[limit] +context = 131_072 +output = 8_192 + [[weights]] label = "Hugging Face" url = "https://huggingface.co/deepseek-ai/DeepSeek-V3" diff --git a/models/deepseek/deepseek-v4-flash-0423.toml b/models/deepseek/deepseek-v4-flash-0423.toml index 0de9cc46fd..7fe6a5a11b 100644 --- a/models/deepseek/deepseek-v4-flash-0423.toml +++ b/models/deepseek/deepseek-v4-flash-0423.toml @@ -1,28 +1,30 @@ # Sources: # https://www.deepseek.com/en/news/v4-preview/ # https://huggingface.co/deepseek-ai/DeepSeek-V4-Flash +schema = 2 name = "DeepSeek V4 Flash 0423" description = "Initial DeepSeek V4 Flash snapshot for economical reasoning, coding, and million-token agent workloads" family = "deepseek-flash" -release_date = "2026-04-23" -last_updated = "2026-04-23" -attachment = false -reasoning = true -temperature = true -tool_call = true -structured_output = true -knowledge = "2025-05" open_weights = true +knowledge = "2025-05" +release_date = "2026-04-23" license = "MIT" -[limit] -context = 1_000_000 -output = 384_000 - [modalities] input = ["text"] output = ["text"] +[capabilities] +tools = { supported = true } +reasoning = { supported = true } +temperature = true +top_p = true +top_k = true + +[limit] +context = 1_000_000 +output = 384_000 + [[weights]] label = "Hugging Face" url = "https://huggingface.co/deepseek-ai/DeepSeek-V4-Flash" diff --git a/models/deepseek/deepseek-v4-flash-0731.toml b/models/deepseek/deepseek-v4-flash-0731.toml index 61479ce86a..279d56aac9 100644 --- a/models/deepseek/deepseek-v4-flash-0731.toml +++ b/models/deepseek/deepseek-v4-flash-0731.toml @@ -1,25 +1,27 @@ +schema = 2 name = "DeepSeek V4 Flash 0731" description = "Official DeepSeek V4 Flash release with enhanced agentic capabilities and integrated DSpark speculative decoding" family = "deepseek-flash" -release_date = "2026-07-31" -last_updated = "2026-07-31" -attachment = false -reasoning = true -temperature = true -tool_call = true -structured_output = true -knowledge = "2025-05" open_weights = true +knowledge = "2025-05" +release_date = "2026-07-31" license = "MIT" -[limit] -context = 1_000_000 -output = 384_000 - [modalities] input = ["text"] output = ["text"] +[capabilities] +tools = { supported = true } +reasoning = { supported = true } +temperature = true +top_p = true +top_k = true + +[limit] +context = 1_000_000 +output = 384_000 + [[weights]] label = "Hugging Face" url = "https://huggingface.co/deepseek-ai/DeepSeek-V4-Flash-0731" diff --git a/models/deepseek/deepseek-v4-flash-vision-exp.toml b/models/deepseek/deepseek-v4-flash-vision-exp.toml index ef5426b119..52221028ea 100644 --- a/models/deepseek/deepseek-v4-flash-vision-exp.toml +++ b/models/deepseek/deepseek-v4-flash-vision-exp.toml @@ -1,19 +1,113 @@ +# Text-agent results use DeepSeek Harness minimal mode, max effort, temperature=1.0, top_p=0.95. +# Open weights (MIT): https://huggingface.co/deepseek-ai/DeepSeek-V4-Flash-Vision-Exp +# Image formats (JPEG, PNG, GIF, WebP): https://api-docs.deepseek.com/guides/vision (accessed 2026-10-19) +schema = 2 name = "DeepSeek V4 Flash Vision Exp" description = "Experimental multimodal DeepSeek V4 Flash model for image understanding, coding, and agentic work" family = "deepseek-flash" +open_weights = true release_date = "2026-08-21" -last_updated = "2026-08-21" -attachment = true -reasoning = true +last_updated = "2026-09-01" +license = "MIT" + +[modalities] +input = ["text", "image/jpeg", "image/png", "image/gif", "image/webp"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } temperature = true -tool_call = true -structured_output = true -open_weights = false +top_p = true +top_k = true [limit] context = 1_000_000 output = 384_000 -[modalities] -input = ["text", "image"] -output = ["text"] +[[weights]] +label = "Hugging Face" +url = "https://huggingface.co/deepseek-ai/DeepSeek-V4-Flash-Vision-Exp" + +[[benchmarks]] +name = "Terminal-Bench" +score = 83.9 +metric = "score" +harness = "DeepSeek Harness minimal mode" +variant = "max effort" +version = "2.1" +source = "https://huggingface.co/deepseek-ai/DeepSeek-V4-Flash-Vision-Exp" + +[[benchmarks]] +name = "NL2Repo" +score = 57.7 +metric = "score" +harness = "DeepSeek Harness minimal mode" +variant = "max effort" +source = "https://huggingface.co/deepseek-ai/DeepSeek-V4-Flash-Vision-Exp" + +[[benchmarks]] +name = "CyberGym" +score = 75.3 +metric = "score" +harness = "DeepSeek Harness minimal mode" +variant = "max effort" +source = "https://huggingface.co/deepseek-ai/DeepSeek-V4-Flash-Vision-Exp" + +[[benchmarks]] +name = "DeepSWE" +score = 59.3 +metric = "score" +harness = "DeepSeek Harness minimal mode" +variant = "max effort" +source = "https://huggingface.co/deepseek-ai/DeepSeek-V4-Flash-Vision-Exp" + +[[benchmarks]] +name = "Toolathlon-Verified" +score = 75.9 +metric = "score" +harness = "DeepSeek Harness minimal mode" +variant = "max effort" +source = "https://huggingface.co/deepseek-ai/DeepSeek-V4-Flash-Vision-Exp" + +[[benchmarks]] +name = "DSBench-Hard" +score = 63.6 +metric = "score" +harness = "DeepSeek Harness minimal mode" +variant = "max effort" +dataset = "internal" +source = "https://huggingface.co/deepseek-ai/DeepSeek-V4-Flash-Vision-Exp" + +[[benchmarks]] +name = "AutomationBench" +score = 25.7 +metric = "score" +harness = "DeepSeek Harness minimal mode" +variant = "max effort" +dataset = "public" +source = "https://huggingface.co/deepseek-ai/DeepSeek-V4-Flash-Vision-Exp" + +[[benchmarks]] +name = "ApexBench" +score = 36.5 +metric = "pass@1" +source = "https://huggingface.co/deepseek-ai/DeepSeek-V4-Flash-Vision-Exp" + +[[benchmarks]] +name = "Agents' Last Exam" +score = 27.3 +metric = "score" +source = "https://huggingface.co/deepseek-ai/DeepSeek-V4-Flash-Vision-Exp" + +[[benchmarks]] +name = "Chartography" +score = 64.3 +metric = "score" +source = "https://huggingface.co/deepseek-ai/DeepSeek-V4-Flash-Vision-Exp" + +[[benchmarks]] +name = "ZeroBench" +score = 35 +metric = "pass@5" +source = "https://huggingface.co/deepseek-ai/DeepSeek-V4-Flash-Vision-Exp" diff --git a/models/deepseek/deepseek-v4-flash.toml b/models/deepseek/deepseek-v4-flash.toml index 7f5c9a7a59..4ea39bd6cd 100644 --- a/models/deepseek/deepseek-v4-flash.toml +++ b/models/deepseek/deepseek-v4-flash.toml @@ -1,24 +1,27 @@ +# Added benchmarks are from the original V4 preview instruct-model comparison, not the later 0731/0813 releases. +schema = 2 name = "DeepSeek V4 Flash" description = "Fast DeepSeek V4 lane for economical reasoning, coding, and long-context work" family = "deepseek-flash" +open_weights = true +knowledge = "2025-05" release_date = "2026-04-24" -last_updated = "2026-04-24" -attachment = false -reasoning = true + +[modalities] +input = ["text"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } temperature = true -tool_call = true -structured_output = true -knowledge = "2025-05" -open_weights = true +top_p = true +top_k = true [limit] context = 1_000_000 output = 384_000 -[modalities] -input = ["text"] -output = ["text"] - [[weights]] label = "Hugging Face" url = "https://huggingface.co/deepseek-ai/DeepSeek-V4-Flash" @@ -28,3 +31,155 @@ name = "SWE-Bench Verified" score = 79 metric = "resolved" source = "https://huggingface.co/deepseek-ai/DeepSeek-V4-Flash" + +[[benchmarks]] +name = "MMLU-Pro" +score = 86.2 +metric = "EM" +variant = "preview checkpoint; max effort" +source = "https://huggingface.co/deepseek-ai/DeepSeek-V4-Flash" + +[[benchmarks]] +name = "SimpleQA-Verified" +score = 34.1 +metric = "pass@1" +variant = "preview checkpoint; max effort" +source = "https://huggingface.co/deepseek-ai/DeepSeek-V4-Flash" + +[[benchmarks]] +name = "Chinese SimpleQA" +score = 78.9 +metric = "pass@1" +variant = "preview checkpoint; max effort" +source = "https://huggingface.co/deepseek-ai/DeepSeek-V4-Flash" + +[[benchmarks]] +name = "GPQA Diamond" +score = 88.1 +metric = "pass@1" +variant = "preview checkpoint; max effort" +source = "https://huggingface.co/deepseek-ai/DeepSeek-V4-Flash" + +[[benchmarks]] +name = "Humanity's Last Exam" +score = 34.8 +metric = "pass@1" +variant = "preview checkpoint; max effort; without tools" +source = "https://huggingface.co/deepseek-ai/DeepSeek-V4-Flash" + +[[benchmarks]] +name = "LiveCodeBench" +score = 91.6 +metric = "pass@1" +variant = "preview checkpoint; max effort" +source = "https://huggingface.co/deepseek-ai/DeepSeek-V4-Flash" + +[[benchmarks]] +name = "Codeforces" +score = 3052 +metric = "rating" +variant = "preview checkpoint; max effort" +source = "https://huggingface.co/deepseek-ai/DeepSeek-V4-Flash" + +[[benchmarks]] +name = "HMMT" +score = 94.8 +metric = "pass@1" +variant = "preview checkpoint; max effort" +dataset = "February 2026" +source = "https://huggingface.co/deepseek-ai/DeepSeek-V4-Flash" + +[[benchmarks]] +name = "IMOAnswerBench" +score = 88.4 +metric = "pass@1" +variant = "preview checkpoint; max effort" +source = "https://huggingface.co/deepseek-ai/DeepSeek-V4-Flash" + +[[benchmarks]] +name = "MathArena Apex" +score = 33 +metric = "pass@1" +variant = "preview checkpoint; max effort" +source = "https://huggingface.co/deepseek-ai/DeepSeek-V4-Flash" + +[[benchmarks]] +name = "MathArena Apex Shortlist" +score = 85.7 +metric = "pass@1" +variant = "preview checkpoint; max effort" +source = "https://huggingface.co/deepseek-ai/DeepSeek-V4-Flash" + +[[benchmarks]] +name = "MRCR" +score = 78.7 +metric = "MMR" +variant = "preview checkpoint; max effort" +dataset = "1M context" +source = "https://huggingface.co/deepseek-ai/DeepSeek-V4-Flash" + +[[benchmarks]] +name = "CorpusQA" +score = 60.5 +metric = "accuracy" +variant = "preview checkpoint; max effort" +dataset = "1M context" +source = "https://huggingface.co/deepseek-ai/DeepSeek-V4-Flash" + +[[benchmarks]] +name = "Terminal-Bench" +score = 56.9 +metric = "accuracy" +variant = "preview checkpoint; max effort" +version = "2.0" +source = "https://huggingface.co/deepseek-ai/DeepSeek-V4-Flash" + +[[benchmarks]] +name = "SWE-Bench Pro" +score = 52.6 +metric = "resolved" +variant = "preview checkpoint; max effort" +source = "https://huggingface.co/deepseek-ai/DeepSeek-V4-Flash" + +[[benchmarks]] +name = "SWE-Bench Multilingual" +score = 73.3 +metric = "resolved" +variant = "preview checkpoint; max effort" +source = "https://huggingface.co/deepseek-ai/DeepSeek-V4-Flash" + +[[benchmarks]] +name = "BrowseComp" +score = 73.2 +metric = "pass@1" +variant = "preview checkpoint; max effort" +source = "https://huggingface.co/deepseek-ai/DeepSeek-V4-Flash" + +[[benchmarks]] +name = "Humanity's Last Exam" +score = 45.1 +metric = "pass@1" +variant = "preview checkpoint; max effort; with tools" +source = "https://huggingface.co/deepseek-ai/DeepSeek-V4-Flash" + +[[benchmarks]] +name = "MCP Atlas" +score = 69 +metric = "pass@1" +variant = "preview checkpoint; max effort" +dataset = "public" +source = "https://huggingface.co/deepseek-ai/DeepSeek-V4-Flash" + +[[benchmarks]] +name = "GDPval-AA" +score = 1395 +metric = "Elo" +variant = "preview checkpoint; max effort" +source = "https://huggingface.co/deepseek-ai/DeepSeek-V4-Flash" + +[[benchmarks]] +name = "Toolathlon" +score = 47.8 +metric = "pass@1" +variant = "preview checkpoint; max effort" +source = "https://huggingface.co/deepseek-ai/DeepSeek-V4-Flash" diff --git a/models/deepseek/deepseek-v4-pro-0423.toml b/models/deepseek/deepseek-v4-pro-0423.toml index 40022893b8..b1beec6b3f 100644 --- a/models/deepseek/deepseek-v4-pro-0423.toml +++ b/models/deepseek/deepseek-v4-pro-0423.toml @@ -1,22 +1,24 @@ # https://ofox.ai/models/deepseek/deepseek-v4-pro-0423 # https://huggingface.co/deepseek-ai/DeepSeek-V4-Pro +schema = 2 name = "DeepSeek V4 Pro 0423" description = "DeepSeek V4 Pro initial snapshot with million-token context and support for thinking and non-thinking modes" family = "deepseek-thinking" +open_weights = true +knowledge = "2025-05" release_date = "2026-04-23" -last_updated = "2026-04-23" -attachment = false -reasoning = true + +[modalities] +input = ["text"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } temperature = true -tool_call = true -structured_output = true -knowledge = "2025-05" -open_weights = true +top_p = true +top_k = true [limit] context = 1_000_000 output = 384_000 - -[modalities] -input = ["text"] -output = ["text"] diff --git a/models/deepseek/deepseek-v4-pro-0813.toml b/models/deepseek/deepseek-v4-pro-0813.toml index 099dc26450..381ebdac68 100644 --- a/models/deepseek/deepseek-v4-pro-0813.toml +++ b/models/deepseek/deepseek-v4-pro-0813.toml @@ -1,25 +1,110 @@ +# Public code-agent benchmarks use DeepSeek Harness minimal mode, max effort, temperature=1.0, top_p=0.95. # https://huggingface.co/deepseek-ai/DeepSeek-V4-Pro-0813 +# Released 2026-08-13 (V4-Pro GA): https://api-docs.deepseek.com/updates/#date-2026-08-13 +schema = 2 name = "DeepSeek V4 Pro 0813" description = "DeepSeek V4 Pro snapshot with million-token context and support for thinking and non-thinking modes" family = "deepseek-thinking" -release_date = "2026-08-12" -last_updated = "2026-08-22" -attachment = false -reasoning = true -temperature = true -tool_call = true -structured_output = true open_weights = true +release_date = "2026-08-13" +last_updated = "2026-08-22" license = "MIT" -[limit] -context = 1_000_000 -output = 384_000 - [modalities] input = ["text"] output = ["text"] +[capabilities] +tools = { supported = true } +reasoning = { supported = true } +temperature = true +top_p = true +top_k = true + +[limit] +context = 1_000_000 +output = 384_000 + [[weights]] label = "Hugging Face" url = "https://huggingface.co/deepseek-ai/DeepSeek-V4-Pro-0813" + +[[benchmarks]] +name = "Humanity's Last Exam" +score = 42.7 +metric = "score" +variant = "without tools" +source = "https://huggingface.co/deepseek-ai/DeepSeek-V4-Pro-0813" + +[[benchmarks]] +name = "Humanity's Last Exam" +score = 60 +metric = "score" +variant = "with tools" +source = "https://huggingface.co/deepseek-ai/DeepSeek-V4-Pro-0813" + +[[benchmarks]] +name = "Terminal-Bench" +score = 87.9 +metric = "score" +harness = "DeepSeek Harness minimal mode" +variant = "max effort" +version = "2.1" +source = "https://huggingface.co/deepseek-ai/DeepSeek-V4-Pro-0813" + +[[benchmarks]] +name = "NL2Repo" +score = 61.5 +metric = "score" +harness = "DeepSeek Harness minimal mode" +variant = "max effort" +source = "https://huggingface.co/deepseek-ai/DeepSeek-V4-Pro-0813" + +[[benchmarks]] +name = "CyberGym" +score = 83.3 +metric = "score" +harness = "DeepSeek Harness minimal mode" +variant = "max effort" +source = "https://huggingface.co/deepseek-ai/DeepSeek-V4-Pro-0813" + +[[benchmarks]] +name = "DeepSWE" +score = 62.7 +metric = "score" +harness = "DeepSeek Harness minimal mode" +variant = "max effort" +source = "https://huggingface.co/deepseek-ai/DeepSeek-V4-Pro-0813" + +[[benchmarks]] +name = "Toolathlon-Verified" +score = 74.1 +metric = "score" +source = "https://huggingface.co/deepseek-ai/DeepSeek-V4-Pro-0813" + +[[benchmarks]] +name = "Agents' Last Exam" +score = 25.7 +metric = "score" +source = "https://huggingface.co/deepseek-ai/DeepSeek-V4-Pro-0813" + +[[benchmarks]] +name = "AutomationBench" +score = 31.8 +metric = "score" +dataset = "public" +source = "https://huggingface.co/deepseek-ai/DeepSeek-V4-Pro-0813" + +[[benchmarks]] +name = "DSBench-FullStack" +score = 71.1 +metric = "score" +dataset = "internal" +source = "https://huggingface.co/deepseek-ai/DeepSeek-V4-Pro-0813" + +[[benchmarks]] +name = "DSBench-Hard" +score = 67.2 +metric = "score" +dataset = "internal" +source = "https://huggingface.co/deepseek-ai/DeepSeek-V4-Pro-0813" diff --git a/models/deepseek/deepseek-v4-pro.toml b/models/deepseek/deepseek-v4-pro.toml index 8e323f2195..f0dbc3f730 100644 --- a/models/deepseek/deepseek-v4-pro.toml +++ b/models/deepseek/deepseek-v4-pro.toml @@ -1,24 +1,27 @@ +# Added benchmarks are from the original V4 preview instruct-model comparison, not the later 0731/0813 releases. +schema = 2 name = "DeepSeek V4 Pro" description = "Open MoE flagship with million-token context for coding and long agent runs" family = "deepseek-thinking" +open_weights = true +knowledge = "2025-05" release_date = "2026-04-24" -last_updated = "2026-04-24" -attachment = false -reasoning = true + +[modalities] +input = ["text"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } temperature = true -tool_call = true -structured_output = true -knowledge = "2025-05" -open_weights = true +top_p = true +top_k = true [limit] context = 1_000_000 output = 384_000 -[modalities] -input = ["text"] -output = ["text"] - [[weights]] label = "Hugging Face" url = "https://huggingface.co/deepseek-ai/DeepSeek-V4-Pro" @@ -62,3 +65,155 @@ harness = "Claude Code" variant = "high" version = "2.1" source = "https://artificialanalysis.ai/agents/coding-agents" + +[[benchmarks]] +name = "MMLU-Pro" +score = 87.5 +metric = "EM" +variant = "preview checkpoint; max effort" +source = "https://huggingface.co/deepseek-ai/DeepSeek-V4-Pro" + +[[benchmarks]] +name = "SimpleQA-Verified" +score = 57.9 +metric = "pass@1" +variant = "preview checkpoint; max effort" +source = "https://huggingface.co/deepseek-ai/DeepSeek-V4-Pro" + +[[benchmarks]] +name = "Chinese SimpleQA" +score = 84.4 +metric = "pass@1" +variant = "preview checkpoint; max effort" +source = "https://huggingface.co/deepseek-ai/DeepSeek-V4-Pro" + +[[benchmarks]] +name = "GPQA Diamond" +score = 90.1 +metric = "pass@1" +variant = "preview checkpoint; max effort" +source = "https://huggingface.co/deepseek-ai/DeepSeek-V4-Pro" + +[[benchmarks]] +name = "Humanity's Last Exam" +score = 37.7 +metric = "pass@1" +variant = "preview checkpoint; max effort; without tools" +source = "https://huggingface.co/deepseek-ai/DeepSeek-V4-Pro" + +[[benchmarks]] +name = "LiveCodeBench" +score = 93.5 +metric = "pass@1" +variant = "preview checkpoint; max effort" +source = "https://huggingface.co/deepseek-ai/DeepSeek-V4-Pro" + +[[benchmarks]] +name = "Codeforces" +score = 3206 +metric = "rating" +variant = "preview checkpoint; max effort" +source = "https://huggingface.co/deepseek-ai/DeepSeek-V4-Pro" + +[[benchmarks]] +name = "HMMT" +score = 95.2 +metric = "pass@1" +variant = "preview checkpoint; max effort" +dataset = "February 2026" +source = "https://huggingface.co/deepseek-ai/DeepSeek-V4-Pro" + +[[benchmarks]] +name = "IMOAnswerBench" +score = 89.8 +metric = "pass@1" +variant = "preview checkpoint; max effort" +source = "https://huggingface.co/deepseek-ai/DeepSeek-V4-Pro" + +[[benchmarks]] +name = "MathArena Apex" +score = 38.3 +metric = "pass@1" +variant = "preview checkpoint; max effort" +source = "https://huggingface.co/deepseek-ai/DeepSeek-V4-Pro" + +[[benchmarks]] +name = "MathArena Apex Shortlist" +score = 90.2 +metric = "pass@1" +variant = "preview checkpoint; max effort" +source = "https://huggingface.co/deepseek-ai/DeepSeek-V4-Pro" + +[[benchmarks]] +name = "MRCR" +score = 83.5 +metric = "MMR" +variant = "preview checkpoint; max effort" +dataset = "1M context" +source = "https://huggingface.co/deepseek-ai/DeepSeek-V4-Pro" + +[[benchmarks]] +name = "CorpusQA" +score = 62 +metric = "accuracy" +variant = "preview checkpoint; max effort" +dataset = "1M context" +source = "https://huggingface.co/deepseek-ai/DeepSeek-V4-Pro" + +[[benchmarks]] +name = "Terminal-Bench" +score = 67.9 +metric = "accuracy" +variant = "preview checkpoint; max effort" +version = "2.0" +source = "https://huggingface.co/deepseek-ai/DeepSeek-V4-Pro" + +[[benchmarks]] +name = "SWE-Bench Pro" +score = 55.4 +metric = "resolved" +variant = "preview checkpoint; max effort" +source = "https://huggingface.co/deepseek-ai/DeepSeek-V4-Pro" + +[[benchmarks]] +name = "SWE-Bench Multilingual" +score = 76.2 +metric = "resolved" +variant = "preview checkpoint; max effort" +source = "https://huggingface.co/deepseek-ai/DeepSeek-V4-Pro" + +[[benchmarks]] +name = "BrowseComp" +score = 83.4 +metric = "pass@1" +variant = "preview checkpoint; max effort" +source = "https://huggingface.co/deepseek-ai/DeepSeek-V4-Pro" + +[[benchmarks]] +name = "Humanity's Last Exam" +score = 48.2 +metric = "pass@1" +variant = "preview checkpoint; max effort; with tools" +source = "https://huggingface.co/deepseek-ai/DeepSeek-V4-Pro" + +[[benchmarks]] +name = "MCP Atlas" +score = 73.6 +metric = "pass@1" +variant = "preview checkpoint; max effort" +dataset = "public" +source = "https://huggingface.co/deepseek-ai/DeepSeek-V4-Pro" + +[[benchmarks]] +name = "GDPval-AA" +score = 1554 +metric = "Elo" +variant = "preview checkpoint; max effort" +source = "https://huggingface.co/deepseek-ai/DeepSeek-V4-Pro" + +[[benchmarks]] +name = "Toolathlon" +score = 51.8 +metric = "pass@1" +variant = "preview checkpoint; max effort" +source = "https://huggingface.co/deepseek-ai/DeepSeek-V4-Pro" diff --git a/models/deepseek/deepseek-v4.1-flash-1017.toml b/models/deepseek/deepseek-v4.1-flash-1017.toml new file mode 100644 index 0000000000..b88483db93 --- /dev/null +++ b/models/deepseek/deepseek-v4.1-flash-1017.toml @@ -0,0 +1,107 @@ +# Model card and benchmark results: https://huggingface.co/deepseek-ai/DeepSeek-V4.1-Flash-1017 +# Release date, API capabilities, and limits: https://api-docs.deepseek.com/updates/ +# https://api-docs.deepseek.com/quick_start/pricing/ (accessed 2026-10-17) +# Benchmark harnesses are recorded only where the release explicitly specifies them. +# Image formats (JPEG, PNG, GIF, WebP): https://api-docs.deepseek.com/guides/vision (accessed 2026-10-19) +schema = 2 +name = "DeepSeek V4.1 Flash 1017" +description = "October 17 update of DeepSeek V4.1 Flash with improved reasoning, coding, agentic tasks, and visual understanding" +family = "deepseek-flash" +open_weights = true +knowledge = "2025-05" +release_date = "2026-10-17" +license = "MIT" + +[modalities] +input = ["text", "image/jpeg", "image/png", "image/gif", "image/webp"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } +temperature = true +top_p = true +top_k = true + +[limit] +context = 1_000_000 +output = 384_000 + +[[weights]] +label = "Hugging Face" +url = "https://huggingface.co/deepseek-ai/DeepSeek-V4.1-Flash-1017" + +[[benchmarks]] +name = "Humanity's Last Exam" +score = 42.6 +variant = "without tools" +dataset = "full set" +source = "https://huggingface.co/deepseek-ai/DeepSeek-V4.1-Flash-1017" + +[[benchmarks]] +name = "Humanity's Last Exam" +score = 44.0 +variant = "without tools" +dataset = "text-only subset" +source = "https://huggingface.co/deepseek-ai/DeepSeek-V4.1-Flash-1017" + +[[benchmarks]] +name = "Terminal-Bench" +score = 42.3 +version = "4.0" +harness = "Claude Code" +source = "https://huggingface.co/deepseek-ai/DeepSeek-V4.1-Flash-1017" + +[[benchmarks]] +name = "DeepSWE" +score = 77.0 +version = "1.1" +harness = "Mini-SWE-V2" +source = "https://huggingface.co/deepseek-ai/DeepSeek-V4.1-Flash-1017" + +[[benchmarks]] +name = "ProgramBench" +score = 29.1 +source = "https://huggingface.co/deepseek-ai/DeepSeek-V4.1-Flash-1017" + +[[benchmarks]] +name = "NL2Repo" +score = 68.2 +source = "https://huggingface.co/deepseek-ai/DeepSeek-V4.1-Flash-1017" + +[[benchmarks]] +name = "AutomationBench" +score = 60.5 +version = "1.0.6" +source = "https://huggingface.co/deepseek-ai/DeepSeek-V4.1-Flash-1017" + +[[benchmarks]] +name = "Agents' Last Exam" +score = 35.4 +source = "https://huggingface.co/deepseek-ai/DeepSeek-V4.1-Flash-1017" + +[[benchmarks]] +name = "Apex Bench" +score = 72.1 +version = "1.1" +source = "https://huggingface.co/deepseek-ai/DeepSeek-V4.1-Flash-1017" + +[[benchmarks]] +name = "Chartography" +score = 83.0 +variant = "with tools" +source = "https://huggingface.co/deepseek-ai/DeepSeek-V4.1-Flash-1017" + +[[benchmarks]] +name = "BabyVision" +score = 92.5 +variant = "with tools" +source = "https://huggingface.co/deepseek-ai/DeepSeek-V4.1-Flash-1017" + +[[benchmarks]] +name = "ZeroBench" +score = 51.0 +metric = "pass@5" +variant = "with tools" +dataset = "main" +source = "https://api-docs.deepseek.com/updates/" diff --git a/models/deepseek/deepseek-v4.1-flash.toml b/models/deepseek/deepseek-v4.1-flash.toml index aac7258862..956e3847e3 100644 --- a/models/deepseek/deepseek-v4.1-flash.toml +++ b/models/deepseek/deepseek-v4.1-flash.toml @@ -1,21 +1,314 @@ +# Benchmarks use instruct weights, temperature=1.0, top_p=0.95; not the base-model table. +# Source: https://huggingface.co/deepseek-ai/DeepSeek-V4.1-Flash#instruct-model +# Open weights (MIT): https://huggingface.co/deepseek-ai/DeepSeek-V4.1-Flash +# Image formats (JPEG, PNG, GIF, WebP): https://api-docs.deepseek.com/guides/vision (accessed 2026-10-19) +schema = 2 name = "DeepSeek V4.1 Flash" description = "DeepSeek V4.1 Flash model for reasoning and agentic coding" family = "deepseek-flash" -release_date = "2026-09-10" -last_updated = "2026-09-10" -attachment = true -reasoning = true -temperature = true -tool_call = true -structured_output = true -knowledge = "2025-05" open_weights = true +knowledge = "2025-05" +release_date = "2026-09-10" license = "MIT" +[modalities] +input = ["text", "image/jpeg", "image/png", "image/gif", "image/webp"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } +temperature = true +top_p = true +top_k = true + [limit] context = 1_000_000 output = 384_000 -[modalities] -input = ["text", "image"] -output = ["text"] \ No newline at end of file +[[weights]] +label = "Hugging Face" +url = "https://huggingface.co/deepseek-ai/DeepSeek-V4.1-Flash" + +[[benchmarks]] +name = "GPQA Diamond" +score = 90.9 +metric = "pass@1" +variant = "reasoning_effort=100" +source = "https://huggingface.co/deepseek-ai/DeepSeek-V4.1-Flash" + +[[benchmarks]] +name = "MathArena Apex" +score = 65.6 +metric = "pass@1" +variant = "reasoning_effort=100" +source = "https://huggingface.co/deepseek-ai/DeepSeek-V4.1-Flash" + +[[benchmarks]] +name = "Humanity's Last Exam" +score = 36.8 +metric = "pass@1" +variant = "reasoning_effort=100" +dataset = "full set" +source = "https://huggingface.co/deepseek-ai/DeepSeek-V4.1-Flash" + +[[benchmarks]] +name = "Humanity's Last Exam" +score = 39.1 +metric = "pass@1" +variant = "reasoning_effort=100" +dataset = "text-only subset" +source = "https://huggingface.co/deepseek-ai/DeepSeek-V4.1-Flash" + +[[benchmarks]] +name = "Codeforces" +score = 3471 +metric = "rating" +variant = "reasoning_effort=100" +source = "https://huggingface.co/deepseek-ai/DeepSeek-V4.1-Flash" + +[[benchmarks]] +name = "Terminal-Bench" +score = 90.6 +metric = "pass@1" +variant = "reasoning_effort=100" +version = "2.1" +harness = "DeepSeek Harness minimal mode" +source = "https://huggingface.co/deepseek-ai/DeepSeek-V4.1-Flash" + +[[benchmarks]] +name = "Terminal-Bench" +score = 30.0 +metric = "pass@1" +variant = "reasoning_effort=100" +version = "3.0" +harness = "DeepSeek Harness minimal mode" +source = "https://huggingface.co/deepseek-ai/DeepSeek-V4.1-Flash" + +[[benchmarks]] +name = "Terminal-Bench" +score = 31.2 +metric = "pass@1" +variant = "reasoning_effort=100" +version = "4.0" +harness = "DeepSeek Harness minimal mode" +source = "https://huggingface.co/deepseek-ai/DeepSeek-V4.1-Flash" + +[[benchmarks]] +name = "DeepSWE" +score = 74.2 +metric = "resolved" +variant = "reasoning_effort=100" +version = "1.1" +harness = "mini-swe-agent" +source = "https://huggingface.co/deepseek-ai/DeepSeek-V4.1-Flash" + +[[benchmarks]] +name = "ProgramBench" +score = 20.3 +metric = "almost@1" +variant = "reasoning_effort=100" +harness = "DeepSeek Harness minimal mode" +source = "https://huggingface.co/deepseek-ai/DeepSeek-V4.1-Flash" + +[[benchmarks]] +name = "NL2Repo" +score = 64.0 +metric = "score" +variant = "reasoning_effort=100" +harness = "DeepSeek Harness minimal mode" +source = "https://huggingface.co/deepseek-ai/DeepSeek-V4.1-Flash" + +[[benchmarks]] +name = "CyberGym" +score = 88.1 +metric = "pass@1" +variant = "reasoning_effort=100" +source = "https://huggingface.co/deepseek-ai/DeepSeek-V4.1-Flash" + +[[benchmarks]] +name = "ExploitGym" +score = 15.3 +metric = "pass@1" +variant = "reasoning_effort=100" +source = "https://huggingface.co/deepseek-ai/DeepSeek-V4.1-Flash" + +[[benchmarks]] +name = "AutomationBench" +score = 54.8 +metric = "pass@1" +variant = "reasoning_effort=100" +source = "https://huggingface.co/deepseek-ai/DeepSeek-V4.1-Flash" + +[[benchmarks]] +name = "Agents' Last Exam" +score = 31.8 +metric = "pass@1" +variant = "reasoning_effort=100" +source = "https://huggingface.co/deepseek-ai/DeepSeek-V4.1-Flash" + +[[benchmarks]] +name = "SEC-Bench Pro" +score = 62.8 +metric = "pass@1" +variant = "reasoning_effort=100" +harness = "Claude Code" +source = "https://huggingface.co/deepseek-ai/DeepSeek-V4.1-Flash" + +[[benchmarks]] +name = "Humanity's Last Exam" +score = 63.9 +metric = "pass@1" +variant = "reasoning_effort=100; with tools" +source = "https://huggingface.co/deepseek-ai/DeepSeek-V4.1-Flash" + +[[benchmarks]] +name = "Chartography" +score = 78.9 +metric = "pass@1" +variant = "reasoning_effort=100; with tools" +harness = "Claude Code" +source = "https://huggingface.co/deepseek-ai/DeepSeek-V4.1-Flash" + +[[benchmarks]] +name = "BabyVision" +score = 89.6 +metric = "pass@1" +variant = "reasoning_effort=100; with tools" +harness = "Claude Code" +source = "https://huggingface.co/deepseek-ai/DeepSeek-V4.1-Flash" + +[[benchmarks]] +name = "ZeroBench" +score = 49.0 +metric = "pass@5" +variant = "reasoning_effort=100; with tools" +harness = "Claude Code" +dataset = "main" +source = "https://huggingface.co/deepseek-ai/DeepSeek-V4.1-Flash" + +[[benchmarks]] +name = "DeepSWE" +score = 69.8 +metric = "resolved" +variant = "reasoning_effort=100" +version = "1.1" +harness = "Claude Code" +source = "https://huggingface.co/deepseek-ai/DeepSeek-V4.1-Flash" + +[[benchmarks]] +name = "Terminal-Bench" +score = 88.0 +metric = "pass@1" +variant = "reasoning_effort=100" +version = "2.1" +harness = "Claude Code" +source = "https://huggingface.co/deepseek-ai/DeepSeek-V4.1-Flash" + +[[benchmarks]] +name = "DeepSWE" +score = 65.6 +metric = "resolved" +variant = "reasoning_effort=100" +version = "1.1" +harness = "Codex" +source = "https://huggingface.co/deepseek-ai/DeepSeek-V4.1-Flash" + +[[benchmarks]] +name = "Terminal-Bench" +score = 84.1 +metric = "pass@1" +variant = "reasoning_effort=100" +version = "2.1" +harness = "Codex" +source = "https://huggingface.co/deepseek-ai/DeepSeek-V4.1-Flash" + +[[benchmarks]] +name = "DeepSWE" +score = 65.5 +metric = "resolved" +variant = "reasoning_effort=100" +version = "1.1" +harness = "OpenCode" +source = "https://huggingface.co/deepseek-ai/DeepSeek-V4.1-Flash" + +[[benchmarks]] +name = "Terminal-Bench" +score = 85.0 +metric = "pass@1" +variant = "reasoning_effort=100" +version = "2.1" +harness = "OpenCode" +source = "https://huggingface.co/deepseek-ai/DeepSeek-V4.1-Flash" + +[[benchmarks]] +name = "DeepSWE" +score = 66.2 +metric = "resolved" +variant = "reasoning_effort=100" +version = "1.1" +harness = "Pi" +source = "https://huggingface.co/deepseek-ai/DeepSeek-V4.1-Flash" + +[[benchmarks]] +name = "Terminal-Bench" +score = 86.1 +metric = "pass@1" +variant = "reasoning_effort=100" +version = "2.1" +harness = "Pi" +source = "https://huggingface.co/deepseek-ai/DeepSeek-V4.1-Flash" + +[[benchmarks]] +name = "Terminal-Bench" +score = 90.3 +metric = "pass@1" +variant = "reasoning_effort=100" +version = "2.1" +harness = "mini-swe-agent" +source = "https://huggingface.co/deepseek-ai/DeepSeek-V4.1-Flash" + +[[benchmarks]] +name = "DeepSWE" +score = 72.6 +metric = "resolved" +variant = "reasoning_effort=100" +version = "1.1" +harness = "DeepSeek Harness minimal mode" +source = "https://huggingface.co/deepseek-ai/DeepSeek-V4.1-Flash" + +[[benchmarks]] +name = "DeepSWE" +score = 70.5 +metric = "resolved" +variant = "reasoning_effort=100" +version = "1.1" +harness = "DeepSeek Harness standard mode" +source = "https://huggingface.co/deepseek-ai/DeepSeek-V4.1-Flash" + +[[benchmarks]] +name = "Terminal-Bench" +score = 85.8 +metric = "pass@1" +variant = "reasoning_effort=100" +version = "2.1" +harness = "DeepSeek Harness standard mode" +source = "https://huggingface.co/deepseek-ai/DeepSeek-V4.1-Flash" + +[[benchmarks]] +name = "DeepSWE" +score = 67.6 +metric = "resolved" +variant = "reasoning_effort=100" +version = "1.1" +harness = "DeepSeek Harness PTC mode" +source = "https://huggingface.co/deepseek-ai/DeepSeek-V4.1-Flash" + +[[benchmarks]] +name = "Terminal-Bench" +score = 85.8 +metric = "pass@1" +variant = "reasoning_effort=100" +version = "2.1" +harness = "DeepSeek Harness PTC mode" +source = "https://huggingface.co/deepseek-ai/DeepSeek-V4.1-Flash" diff --git a/models/elevenlabs/eleven_flash_v2.toml b/models/elevenlabs/eleven_flash_v2.toml new file mode 100644 index 0000000000..45848eb949 --- /dev/null +++ b/models/elevenlabs/eleven_flash_v2.toml @@ -0,0 +1,27 @@ +# Model IDs: https://elevenlabs.io/docs/overview/models +# Introduced with eleven_flash_v2_5: https://elevenlabs.io/docs/changelog/2024/12/19 +# Output formats: output_format mp3_*, pcm_*, wav_*, opus_*, ulaw_8000, alaw_8000: +# https://elevenlabs.io/docs/api-reference/text-to-speech/convert +schema = 2 +v2_only = true +type = "speech" +name = "Eleven Flash v2" +description = "Ultra-low-latency English text-to-speech model for real-time use" +family = "elevenlabs" +open_weights = false +release_date = "2024-12-19" + +[modalities] +input = ["text"] +output = ["audio/mpeg", "audio/pcm", "audio/wav", "audio/opus", "audio/basic", "audio/alaw"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 0 +output = 0 diff --git a/models/elevenlabs/eleven_flash_v2_5.toml b/models/elevenlabs/eleven_flash_v2_5.toml new file mode 100644 index 0000000000..8c648fcd85 --- /dev/null +++ b/models/elevenlabs/eleven_flash_v2_5.toml @@ -0,0 +1,27 @@ +# Model IDs: https://elevenlabs.io/docs/overview/models +# Introduced with eleven_flash_v2: https://elevenlabs.io/docs/changelog/2024/12/19 +# Output formats: output_format mp3_*, pcm_*, wav_*, opus_*, ulaw_8000, alaw_8000: +# https://elevenlabs.io/docs/api-reference/text-to-speech/convert +schema = 2 +v2_only = true +type = "speech" +name = "Eleven Flash v2.5" +description = "Ultra-low-latency multilingual text-to-speech model for real-time use" +family = "elevenlabs" +open_weights = false +release_date = "2024-12-19" + +[modalities] +input = ["text"] +output = ["audio/mpeg", "audio/pcm", "audio/wav", "audio/opus", "audio/basic", "audio/alaw"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 0 +output = 0 diff --git a/models/elevenlabs/eleven_multilingual_v2.toml b/models/elevenlabs/eleven_multilingual_v2.toml new file mode 100644 index 0000000000..c898e94ede --- /dev/null +++ b/models/elevenlabs/eleven_multilingual_v2.toml @@ -0,0 +1,27 @@ +# Model IDs: https://elevenlabs.io/docs/overview/models +# Released 2023-08-22: https://elevenlabs.io/blog/eleven-multilingual-v2 +# Output formats: output_format mp3_*, pcm_*, wav_*, opus_*, ulaw_8000, alaw_8000: +# https://elevenlabs.io/docs/api-reference/text-to-speech/convert +schema = 2 +v2_only = true +type = "speech" +name = "Eleven Multilingual v2" +description = "Lifelike multilingual text-to-speech model for long-form narration in 29 languages" +family = "elevenlabs" +open_weights = false +release_date = "2023-08-22" + +[modalities] +input = ["text"] +output = ["audio/mpeg", "audio/pcm", "audio/wav", "audio/opus", "audio/basic", "audio/alaw"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 0 +output = 0 diff --git a/models/elevenlabs/eleven_turbo_v2.toml b/models/elevenlabs/eleven_turbo_v2.toml new file mode 100644 index 0000000000..fdf1c87fce --- /dev/null +++ b/models/elevenlabs/eleven_turbo_v2.toml @@ -0,0 +1,27 @@ +# Model IDs: https://elevenlabs.io/docs/overview/models +# Released 2023-11-09: https://elevenlabs.io/blog/turbo-v2-is-here +# Output formats: output_format mp3_*, pcm_*, wav_*, opus_*, ulaw_8000, alaw_8000: +# https://elevenlabs.io/docs/api-reference/text-to-speech/convert +schema = 2 +v2_only = true +type = "speech" +name = "Eleven Turbo v2" +description = "Low-latency English text-to-speech model, superseded by Flash v2" +family = "elevenlabs" +open_weights = false +release_date = "2023-11-09" + +[modalities] +input = ["text"] +output = ["audio/mpeg", "audio/pcm", "audio/wav", "audio/opus", "audio/basic", "audio/alaw"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 0 +output = 0 diff --git a/models/elevenlabs/eleven_turbo_v2_5.toml b/models/elevenlabs/eleven_turbo_v2_5.toml new file mode 100644 index 0000000000..40d95f26a1 --- /dev/null +++ b/models/elevenlabs/eleven_turbo_v2_5.toml @@ -0,0 +1,27 @@ +# Model IDs: https://elevenlabs.io/docs/overview/models +# Released 2024-07-19: https://elevenlabs.io/blog/introducing-turbo-v25 +# Output formats: output_format mp3_*, pcm_*, wav_*, opus_*, ulaw_8000, alaw_8000: +# https://elevenlabs.io/docs/api-reference/text-to-speech/convert +schema = 2 +v2_only = true +type = "speech" +name = "Eleven Turbo v2.5" +description = "Low-latency multilingual text-to-speech model, superseded by Flash v2.5" +family = "elevenlabs" +open_weights = false +release_date = "2024-07-19" + +[modalities] +input = ["text"] +output = ["audio/mpeg", "audio/pcm", "audio/wav", "audio/opus", "audio/basic", "audio/alaw"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 0 +output = 0 diff --git a/models/elevenlabs/eleven_v3.toml b/models/elevenlabs/eleven_v3.toml new file mode 100644 index 0000000000..0b4261d8a6 --- /dev/null +++ b/models/elevenlabs/eleven_v3.toml @@ -0,0 +1,27 @@ +# Model IDs: https://elevenlabs.io/docs/overview/models +# API availability 2025-08-20 ("Eleven v3 is now available via the API"): https://elevenlabs.io/docs/changelog/2025/8/20 +# Output formats: output_format mp3_*, pcm_*, wav_*, opus_*, ulaw_8000, alaw_8000: +# https://elevenlabs.io/docs/api-reference/text-to-speech/convert +schema = 2 +v2_only = true +type = "speech" +name = "Eleven v3" +description = "Expressive text-to-speech model with inline audio tags across 70+ languages" +family = "elevenlabs" +open_weights = false +release_date = "2025-08-20" + +[modalities] +input = ["text"] +output = ["audio/mpeg", "audio/pcm", "audio/wav", "audio/opus", "audio/basic", "audio/alaw"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 0 +output = 0 diff --git a/models/elevenlabs/eleven_v3_conversational.toml b/models/elevenlabs/eleven_v3_conversational.toml new file mode 100644 index 0000000000..10eb44d7ed --- /dev/null +++ b/models/elevenlabs/eleven_v3_conversational.toml @@ -0,0 +1,27 @@ +# Model IDs: https://elevenlabs.io/docs/overview/models +# Added 2026-02-09: https://elevenlabs.io/docs/changelog/2026/2/9 +# Output formats: output_format mp3_*, pcm_*, wav_*, opus_*, ulaw_8000, alaw_8000: +# https://elevenlabs.io/docs/api-reference/text-to-speech/convert +schema = 2 +v2_only = true +type = "speech" +name = "Eleven v3 Conversational" +description = "Real-time variant of Eleven v3 tuned for conversational agents" +family = "elevenlabs" +open_weights = false +release_date = "2026-02-09" + +[modalities] +input = ["text"] +output = ["audio/mpeg", "audio/pcm", "audio/wav", "audio/opus", "audio/basic", "audio/alaw"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 0 +output = 0 diff --git a/models/elevenlabs/eleven_v4.toml b/models/elevenlabs/eleven_v4.toml new file mode 100644 index 0000000000..f6f0f6ce30 --- /dev/null +++ b/models/elevenlabs/eleven_v4.toml @@ -0,0 +1,27 @@ +# Model IDs: https://elevenlabs.io/docs/overview/models +# Released 2026-09-28: https://elevenlabs.io/docs/changelog/2026/9/28 +# Output formats: output_format mp3_*, pcm_*, wav_*, opus_*, ulaw_8000, alaw_8000: +# https://elevenlabs.io/docs/api-reference/text-to-speech/convert +schema = 2 +v2_only = true +type = "speech" +name = "Eleven v4" +description = "Expressive multilingual text-to-speech model with audio tags and voice cloning across 90+ languages" +family = "elevenlabs" +open_weights = false +release_date = "2026-09-28" + +[modalities] +input = ["text"] +output = ["audio/mpeg", "audio/pcm", "audio/wav", "audio/opus", "audio/basic", "audio/alaw"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 0 +output = 0 diff --git a/models/elevenlabs/eleven_v4_turbo.toml b/models/elevenlabs/eleven_v4_turbo.toml new file mode 100644 index 0000000000..e8e5f3f400 --- /dev/null +++ b/models/elevenlabs/eleven_v4_turbo.toml @@ -0,0 +1,27 @@ +# Model IDs: https://elevenlabs.io/docs/overview/models +# Released 2026-09-28: https://elevenlabs.io/docs/changelog/2026/9/28 +# Output formats: output_format mp3_*, pcm_*, wav_*, opus_*, ulaw_8000, alaw_8000: +# https://elevenlabs.io/docs/api-reference/text-to-speech/convert +schema = 2 +v2_only = true +type = "speech" +name = "Eleven v4 Turbo" +description = "Low-latency Eleven v4 text-to-speech model for real-time agents" +family = "elevenlabs" +open_weights = false +release_date = "2026-09-28" + +[modalities] +input = ["text"] +output = ["audio/mpeg", "audio/pcm", "audio/wav", "audio/opus", "audio/basic", "audio/alaw"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 0 +output = 0 diff --git a/models/elevenlabs/scribe_v2.toml b/models/elevenlabs/scribe_v2.toml new file mode 100644 index 0000000000..a688b557ca --- /dev/null +++ b/models/elevenlabs/scribe_v2.toml @@ -0,0 +1,26 @@ +# Model IDs: https://elevenlabs.io/docs/overview/models +# Launched 2026-01-12: https://elevenlabs.io/docs/changelog/2026/1/12 +# Input formats: https://elevenlabs.io/docs/overview/capabilities/speech-to-text (FAQ "Which audio and video formats") +schema = 2 +v2_only = true +type = "transcription" +name = "Scribe v2" +description = "Speech-to-text model with word timestamps, speaker diarization, and audio-event tagging in 90+ languages" +family = "elevenlabs" +open_weights = false +release_date = "2026-01-12" + +[modalities] +input = ["audio/aac", "audio/aiff", "audio/flac", "audio/mp4", "audio/mpeg", "audio/ogg", "audio/opus", "audio/wav", "audio/webm", "video/mp4", "video/mpeg", "video/quicktime", "video/webm", "video/x-msvideo", "video/x-matroska", "video/x-ms-wmv", "video/x-flv", "video/3gpp"] +output = ["text"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 0 +output = 0 diff --git a/models/elevenlabs/scribe_v2_medical.toml b/models/elevenlabs/scribe_v2_medical.toml new file mode 100644 index 0000000000..730c9a3c88 --- /dev/null +++ b/models/elevenlabs/scribe_v2_medical.toml @@ -0,0 +1,26 @@ +# Model IDs: https://elevenlabs.io/docs/overview/models +# Generally available 2026-09-11: https://elevenlabs.io/docs/changelog/2026/9/11 +# Input formats: https://elevenlabs.io/docs/overview/capabilities/speech-to-text (FAQ "Which audio and video formats") +schema = 2 +v2_only = true +type = "transcription" +name = "Scribe v2 Medical" +description = "Scribe v2 speech-to-text model specialized for medical and clinical audio" +family = "elevenlabs" +open_weights = false +release_date = "2026-09-11" + +[modalities] +input = ["audio/aac", "audio/aiff", "audio/flac", "audio/mp4", "audio/mpeg", "audio/ogg", "audio/opus", "audio/wav", "audio/webm", "video/mp4", "video/mpeg", "video/quicktime", "video/webm", "video/x-msvideo", "video/x-matroska", "video/x-ms-wmv", "video/x-flv", "video/3gpp"] +output = ["text"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 0 +output = 0 diff --git a/models/essentialai/rnj-1-instruct.toml b/models/essentialai/rnj-1-instruct.toml new file mode 100644 index 0000000000..8fe761f13d --- /dev/null +++ b/models/essentialai/rnj-1-instruct.toml @@ -0,0 +1,31 @@ +# Model card (https://huggingface.co/EssentialAI/rnj-1-instruct): 8B dense instruction-tuned model from +# Essential AI for code and STEM with tool calling; context extended to 32K during mid-training; Apache 2.0. +# Published 2025-12-04 (Hugging Face API createdAt). +# Output: no separate generation cap is published, so output = context. +# Sampling: open weights, so temperature/top_p/top_k are runtime features of the host. +schema = 2 +name = "Rnj-1 Instruct" +description = "Open 8B Essential AI model for code, STEM reasoning, and agentic tool use" +family = "rnj" +open_weights = true +release_date = "2025-12-04" +license = "Apache 2.0" + +[modalities] +input = ["text"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = false } +temperature = true +top_p = true +top_k = true + +[limit] +context = 32_768 +output = 32_768 + +[[weights]] +label = "Hugging Face" +url = "https://huggingface.co/EssentialAI/rnj-1-instruct" diff --git a/models/fireworks/ember-1.toml b/models/fireworks/ember-1.toml new file mode 100644 index 0000000000..42ffd83a03 --- /dev/null +++ b/models/fireworks/ember-1.toml @@ -0,0 +1,28 @@ +# Sources (accessed 2026-10-16): +# - https://fireworks.ai/blog/ember-1 — Fireworks Research's own model, built on Kimi K3, shorter reasoning traces (~40% fewer tokens). +# - https://fireworks.ai/models/fireworks/ember-1 — released 2026-09-22, ~1M context, image input, function calling, no open weights. +# - https://app.fireworks.ai/models/fireworks/ember-1 — usage example max_tokens 131072. +# - Image formats: https://docs.fireworks.ai/guides/querying-vision-language-models lists .png, .jpg, .jpeg, .gif, .bmp, .tiff +# and .ppm, written here as their registered MIME types. +# - Sampling: Fireworks' chat completions API takes temperature, top_p and top_k +# (https://docs.fireworks.ai/api-reference/post-chatcompletions). +schema = 2 +name = "Ember-1" +description = "Specialized model from Fireworks built on Kimi K3, producing shorter reasoning traces with approximately 40% fewer tokens while maintaining comparable quality" +open_weights = false +release_date = "2026-09-22" + +[modalities] +input = ["text", "image/png", "image/jpeg", "image/gif", "image/bmp", "image/tiff", "image/x-portable-pixmap"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } +temperature = true +top_p = true +top_k = true + +[limit] +context = 1_048_576 +output = 131_072 diff --git a/models/fish-audio/drama-3.toml b/models/fish-audio/drama-3.toml new file mode 100644 index 0000000000..22c04707f6 --- /dev/null +++ b/models/fish-audio/drama-3.toml @@ -0,0 +1,24 @@ +# Released 2026-10-13: https://docs.fish.audio/developer-guide/getting-started/changelog +# Output formats (mp3, wav, pcm, opus): https://docs.fish.audio/api-reference/endpoint/openapi-v1/text-to-speech +schema = 2 +v2_only = true +type = "speech" +name = "Drama 3" +description = "Text-to-speech model directed with plain-language performance notes" +open_weights = false +release_date = "2026-10-13" + +[modalities] +input = ["text"] +output = ["audio/mpeg", "audio/wav", "audio/pcm", "audio/opus"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 0 +output = 0 diff --git a/models/fish-audio/s1.toml b/models/fish-audio/s1.toml new file mode 100644 index 0000000000..0435fe4ef6 --- /dev/null +++ b/models/fish-audio/s1.toml @@ -0,0 +1,24 @@ +# Released June 2025; deprecated, retiring 2026-12-31: https://docs.fish.audio/developer-guide/getting-started/changelog +# Output formats (mp3, wav, pcm, opus): https://docs.fish.audio/api-reference/endpoint/openapi-v1/text-to-speech +schema = 2 +v2_only = true +type = "speech" +name = "S1" +description = "Multilingual text-to-speech model with parenthetical emotion controls" +open_weights = false +release_date = "2025-06" + +[modalities] +input = ["text"] +output = ["audio/mpeg", "audio/wav", "audio/pcm", "audio/opus"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 0 +output = 0 diff --git a/models/fish-audio/s2-pro.toml b/models/fish-audio/s2-pro.toml new file mode 100644 index 0000000000..7964a0c17b --- /dev/null +++ b/models/fish-audio/s2-pro.toml @@ -0,0 +1,30 @@ +# Released March 2026: https://docs.fish.audio/developer-guide/getting-started/changelog +# Weights and license: https://huggingface.co/fishaudio/s2-pro +# Output formats (mp3, wav, pcm, opus): https://docs.fish.audio/api-reference/endpoint/openapi-v1/text-to-speech +schema = 2 +v2_only = true +type = "speech" +name = "S2 Pro" +description = "Open multilingual text-to-speech model with bracket emotion cues and multi-speaker dialogue" +open_weights = true +release_date = "2026-03" +license = "Fish Audio Research License" + +[modalities] +input = ["text"] +output = ["audio/mpeg", "audio/wav", "audio/pcm", "audio/opus"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 0 +output = 0 + +[[weights]] +label = "Hugging Face" +url = "https://huggingface.co/fishaudio/s2-pro" diff --git a/models/fish-audio/s2.1-pro.toml b/models/fish-audio/s2.1-pro.toml new file mode 100644 index 0000000000..478d9868fb --- /dev/null +++ b/models/fish-audio/s2.1-pro.toml @@ -0,0 +1,24 @@ +# Released 2026-06-23 (s2.1-pro-free is the same model): https://docs.fish.audio/developer-guide/getting-started/changelog +# Output formats (mp3, wav, pcm, opus): https://docs.fish.audio/api-reference/endpoint/openapi-v1/text-to-speech +schema = 2 +v2_only = true +type = "speech" +name = "S2.1 Pro" +description = "Production text-to-speech model improving on S2 Pro in quality, latency, and throughput" +open_weights = false +release_date = "2026-06-23" + +[modalities] +input = ["text"] +output = ["audio/mpeg", "audio/wav", "audio/pcm", "audio/opus"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 0 +output = 0 diff --git a/models/fish-audio/transcribe-1-pro.toml b/models/fish-audio/transcribe-1-pro.toml new file mode 100644 index 0000000000..9f19ef1255 --- /dev/null +++ b/models/fish-audio/transcribe-1-pro.toml @@ -0,0 +1,25 @@ +# Released 2026-09-18: https://docs.fish.audio/developer-guide/getting-started/changelog +# Input formats (WAV, MP3, AAC incl. M4A/MP4, FLAC, Ogg, WebM/Matroska, MOV): +# https://docs.fish.audio/api-reference/endpoint/openapi-v1/speech-to-text +schema = 2 +v2_only = true +type = "transcription" +name = "Transcribe 1 Pro" +description = "Speech-to-text model with speaker markers and emotion and vocal-event cues" +open_weights = false +release_date = "2026-09-18" + +[modalities] +input = ["audio/wav", "audio/mpeg", "audio/aac", "audio/mp4", "audio/flac", "audio/ogg", "audio/webm", "video/x-matroska", "video/quicktime"] +output = ["text"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 0 +output = 0 diff --git a/models/fish-audio/transcribe-1.toml b/models/fish-audio/transcribe-1.toml new file mode 100644 index 0000000000..6ee347e8dd --- /dev/null +++ b/models/fish-audio/transcribe-1.toml @@ -0,0 +1,27 @@ +# Model ID and use: https://docs.fish.audio/developer-guide/models-pricing/models-overview (transcribe-1: general transcription +# of short recordings; served when the model header is missing) +# Fish Audio publishes no launch date. transcribe-1 first appears in its API pricing docs on 2025-09-13 +# (https://github.com/fishaudio/docs/commit/dcfa3378fa7876a518ea3e187401562bb7c99cd7, $0.36 per audio hour). +# Input formats (WAV, MP3, AAC incl. M4A/MP4, FLAC, Ogg): https://docs.fish.audio/api-reference/endpoint/openapi-v1/speech-to-text +schema = 2 +v2_only = true +type = "transcription" +name = "Transcribe 1" +description = "Speech-to-text model for short recordings with language detection and optional timestamps" +open_weights = false +release_date = "2025-09" + +[modalities] +input = ["audio/wav", "audio/mpeg", "audio/aac", "audio/mp4", "audio/flac", "audio/ogg"] +output = ["text"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 0 +output = 0 diff --git a/models/google/chirp-3.toml b/models/google/chirp-3.toml new file mode 100644 index 0000000000..d486f571ed --- /dev/null +++ b/models/google/chirp-3.toml @@ -0,0 +1,26 @@ +# API ID chirp_3, public preview 2025-08-29: https://docs.cloud.google.com/speech-to-text/docs/release-notes +# https://docs.cloud.google.com/speech-to-text/docs/models/chirp-3 +# Input formats: the common list in OpenRouter's speech-to-text docs (the lab lists none here): +# https://openrouter.ai/docs/guides/overview/multimodal/stt +schema = 2 +v2_only = true +type = "transcription" +name = "Chirp 3" +description = "Multilingual speech-to-text model with diarization and automatic language detection" +open_weights = false +release_date = "2025-08-29" + +[modalities] +input = ["audio/wav", "audio/mpeg", "audio/flac", "audio/mp4", "audio/ogg", "audio/webm", "audio/aac"] +output = ["text"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 0 +output = 0 diff --git a/models/google/deep-research-max-preview-04-2026.toml b/models/google/deep-research-max-preview-04-2026.toml index bd16d1f52c..10c1f02bdf 100644 --- a/models/google/deep-research-max-preview-04-2026.toml +++ b/models/google/deep-research-max-preview-04-2026.toml @@ -2,23 +2,57 @@ # - https://ai.google.dev/gemini-api/docs/models/deep-research-max-preview-04-2026 # - https://ai.google.dev/gemini-api/docs/deep-research # - https://blog.google/innovation-and-ai/models-and-research/gemini-models/next-generation-gemini-deep-research/ - +# Output `image` stays generic: the agent returns generated charts as image content blocks and image deltas +# (https://ai.google.dev/gemini-api/docs/deep-research, "Visualization") and names no format. +schema = 2 name = "Deep Research Max Preview" description = "Maximum-comprehensiveness agentic researcher for multi-step investigation, synthesis, and cited reports" family = "gemini-pro" +open_weights = false +knowledge = "2025-01" release_date = "2026-04-21" -last_updated = "2026-04-21" -attachment = true -reasoning = true + +[modalities] +input = [ + "text", + "image/png", + "image/jpeg", + "image/webp", + "image/heic", + "image/heif", + "video/mp4", + "video/mpeg", + "video/mov", + "video/avi", + "video/x-flv", + "video/mpg", + "video/webm", + "video/wmv", + "video/3gpp", + "audio/wav", + "audio/mp3", + "audio/aiff", + "audio/aac", + "audio/ogg", + "audio/flac", + "audio/mpeg", + "audio/m4a", + "audio/l16", + "audio/opus", + "audio/alaw", + "audio/mulaw", + "audio/webm", + "application/pdf", +] +output = ["text", "image"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } temperature = false -tool_call = true -knowledge = "2025-01" -open_weights = false +top_p = false +top_k = false [limit] context = 1_048_576 output = 65_536 - -[modalities] -input = ["text", "image", "video", "audio", "pdf"] -output = ["text", "image"] diff --git a/models/google/deep-research-preview-04-2026.toml b/models/google/deep-research-preview-04-2026.toml index 482e1df7db..87594971c3 100644 --- a/models/google/deep-research-preview-04-2026.toml +++ b/models/google/deep-research-preview-04-2026.toml @@ -2,23 +2,57 @@ # - https://ai.google.dev/gemini-api/docs/models/deep-research-preview-04-2026 # - https://ai.google.dev/gemini-api/docs/deep-research # - https://blog.google/innovation-and-ai/models-and-research/gemini-models/next-generation-gemini-deep-research/ - +# Output `image` stays generic: the agent returns generated charts as image content blocks and image deltas +# (https://ai.google.dev/gemini-api/docs/deep-research, "Visualization") and names no format. +schema = 2 name = "Gemini Deep Research Preview" description = "Agentic model for autonomous multi-step research, synthesis, and cited reports" family = "gemini-pro" +open_weights = false +knowledge = "2025-01" release_date = "2026-04-21" -last_updated = "2026-04-21" -attachment = true -reasoning = true + +[modalities] +input = [ + "text", + "image/png", + "image/jpeg", + "image/webp", + "image/heic", + "image/heif", + "video/mp4", + "video/mpeg", + "video/mov", + "video/avi", + "video/x-flv", + "video/mpg", + "video/webm", + "video/wmv", + "video/3gpp", + "audio/wav", + "audio/mp3", + "audio/aiff", + "audio/aac", + "audio/ogg", + "audio/flac", + "audio/mpeg", + "audio/m4a", + "audio/l16", + "audio/opus", + "audio/alaw", + "audio/mulaw", + "audio/webm", + "application/pdf", +] +output = ["text", "image"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } temperature = false -tool_call = true -knowledge = "2025-01" -open_weights = false +top_p = false +top_k = false [limit] context = 1_048_576 output = 65_536 - -[modalities] -input = ["text", "image", "video", "audio", "pdf"] -output = ["text", "image"] diff --git a/models/google/diffusiongemma-26b-a4b-it.toml b/models/google/diffusiongemma-26b-a4b-it.toml new file mode 100644 index 0000000000..6a1eabd931 --- /dev/null +++ b/models/google/diffusiongemma-26b-a4b-it.toml @@ -0,0 +1,37 @@ +# Model card: https://huggingface.co/google/diffusiongemma-26B-A4B-it +# Context: config.json text_config.max_position_embeddings = 262144 (card: "up to 256K tokens"). +# Output limit is an estimate: neither the card nor the repo config publishes an output cap, +# so it mirrors models/google/gemma-4-26b-a4b-it.toml, the architecture this model is built on. +# Sampling: the card's recommended sampler uses a temperature schedule (0.8 -> 0.4) and entropy-bound +# token selection (generation_config.json sampler_config), not nucleus or top-k sampling. +# Input MIME types: Google serves this model on neither the Gemini API nor Vertex MaaS. The Gemma docs name JPEG and PNG +# for images (https://ai.google.dev/gemma/docs/capabilities/vision) and MP3 and WAV for audio +# (https://ai.google.dev/gemma/docs/capabilities/audio); other formats depend on the inference framework. +schema = 2 +name = "DiffusionGemma 26B A4B IT" +description = "Gemma 4 based discrete text diffusion model for fast chat, reasoning, and tool use" +family = "gemma" +open_weights = true +knowledge = "2025-01" +release_date = "2026-06-09" +last_updated = "2026-07-15" +license = "Apache 2.0" + +[modalities] +input = ["text", "image/jpeg", "image/png"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } +temperature = true +top_p = false +top_k = false + +[limit] +context = 262_144 +output = 32_768 + +[[weights]] +label = "Hugging Face" +url = "https://huggingface.co/google/diffusiongemma-26B-A4B-it" diff --git a/models/google/gemini-2.0-flash-lite.toml b/models/google/gemini-2.0-flash-lite.toml index e71fbac016..c8a82ba275 100644 --- a/models/google/gemini-2.0-flash-lite.toml +++ b/models/google/gemini-2.0-flash-lite.toml @@ -1,20 +1,52 @@ +schema = 2 name = "Gemini 2.0 Flash-Lite" description = "Low-latency Gemini model for high-volume multimodal and agent workloads" family = "gemini-flash-lite" +open_weights = false +knowledge = "2024-06" release_date = "2024-12-11" -last_updated = "2024-12-11" -attachment = true -reasoning = false + +[modalities] +input = [ + "text", + "image/png", + "image/jpeg", + "image/webp", + "image/heic", + "image/heif", + "audio/wav", + "audio/mp3", + "audio/aiff", + "audio/aac", + "audio/ogg", + "audio/flac", + "audio/mpeg", + "audio/m4a", + "audio/l16", + "audio/opus", + "audio/alaw", + "audio/mulaw", + "audio/webm", + "video/mp4", + "video/mpeg", + "video/mov", + "video/avi", + "video/x-flv", + "video/mpg", + "video/webm", + "video/wmv", + "video/3gpp", + "application/pdf", +] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = false } temperature = true -tool_call = true -structured_output = true -knowledge = "2024-06" -open_weights = false +top_p = true +top_k = true [limit] context = 1_048_576 output = 8_192 - -[modalities] -input = ["text", "image", "audio", "video", "pdf"] -output = ["text"] diff --git a/models/google/gemini-2.0-flash.toml b/models/google/gemini-2.0-flash.toml index 4c801a8705..08d9fa10a2 100644 --- a/models/google/gemini-2.0-flash.toml +++ b/models/google/gemini-2.0-flash.toml @@ -1,20 +1,52 @@ +schema = 2 name = "Gemini 2.0 Flash" description = "Earlier Gemini Flash workhorse for responsive multimodal apps and tool use" family = "gemini-flash" +open_weights = false +knowledge = "2024-06" release_date = "2024-12-11" -last_updated = "2024-12-11" -attachment = true -reasoning = false + +[modalities] +input = [ + "text", + "image/png", + "image/jpeg", + "image/webp", + "image/heic", + "image/heif", + "audio/wav", + "audio/mp3", + "audio/aiff", + "audio/aac", + "audio/ogg", + "audio/flac", + "audio/mpeg", + "audio/m4a", + "audio/l16", + "audio/opus", + "audio/alaw", + "audio/mulaw", + "audio/webm", + "video/mp4", + "video/mpeg", + "video/mov", + "video/avi", + "video/x-flv", + "video/mpg", + "video/webm", + "video/wmv", + "video/3gpp", + "application/pdf", +] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = false } temperature = true -tool_call = true -structured_output = true -knowledge = "2024-06" -open_weights = false +top_p = true +top_k = true [limit] context = 1_048_576 output = 8_192 - -[modalities] -input = ["text", "image", "audio", "video", "pdf"] -output = ["text"] diff --git a/models/google/gemini-2.5-computer-use-preview-10-2025.toml b/models/google/gemini-2.5-computer-use-preview-10-2025.toml index 7a92af500a..bf255e42ca 100644 --- a/models/google/gemini-2.5-computer-use-preview-10-2025.toml +++ b/models/google/gemini-2.5-computer-use-preview-10-2025.toml @@ -5,23 +5,25 @@ # (legacy computer-use model; tool/function actions; still listed as available) # - https://blog.google/innovation-and-ai/models-and-research/google-deepmind/gemini-computer-use-model/ # (public preview 2025-10-07; built on Gemini 2.5 Pro visual + reasoning) - +schema = 2 name = "Gemini 2.5 Computer Use Preview" description = "Specialized Gemini 2.5 model for browser-control agents that automate UI tasks" family = "gemini-pro" +open_weights = false +knowledge = "2025-01" release_date = "2025-10-07" -last_updated = "2025-10-07" -attachment = true -reasoning = true + +[modalities] +input = ["text", "image/png", "image/jpeg", "image/webp", "image/heic", "image/heif"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } temperature = true -tool_call = true -knowledge = "2025-01" -open_weights = false +top_p = true +top_k = true [limit] context = 128_000 output = 64_000 - -[modalities] -input = ["text", "image"] -output = ["text"] diff --git a/models/google/gemini-2.5-flash-image.toml b/models/google/gemini-2.5-flash-image.toml index 34fc786642..26c09f1513 100644 --- a/models/google/gemini-2.5-flash-image.toml +++ b/models/google/gemini-2.5-flash-image.toml @@ -1,19 +1,25 @@ +# Thinking: not supported (https://ai.google.dev/gemini-api/docs/models/gemini-2.5-flash-image; GET v1beta/models/gemini-2.5-flash-image reports no thinking, 2026-10-22). +# Image output formats: https://ai.google.dev/gemini-api/docs/image-generation (response_format mime_type image/png or image/jpeg). +schema = 2 +type = "image" name = "Nano Banana" description = "Nano Banana image model for fast generation, edits, and character-consistent assets" family = "gemini-flash" +open_weights = false +knowledge = "2024-06" release_date = "2025-08-26" -last_updated = "2025-08-26" -attachment = true -reasoning = true + +[modalities] +input = ["text", "image/png", "image/jpeg", "image/webp", "image/heic", "image/heif"] +output = ["text", "image/png", "image/jpeg"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } temperature = true -tool_call = false -knowledge = "2024-06" -open_weights = false +top_p = true +top_k = true [limit] context = 32_768 output = 32_768 - -[modalities] -input = ["text", "image"] -output = ["text", "image"] diff --git a/models/google/gemini-2.5-flash-lite-preview-06-17.toml b/models/google/gemini-2.5-flash-lite-preview-06-17.toml new file mode 100644 index 0000000000..c637610a4b --- /dev/null +++ b/models/google/gemini-2.5-flash-lite-preview-06-17.toml @@ -0,0 +1,55 @@ +# Preview snapshot of Gemini 2.5 Flash-Lite (https://developers.googleblog.com/en/gemini-2-5-thinking-model-updates/ and +# https://blog.google/products/gemini/gemini-2-5-model-family-expands/, 2025-06-17). Modalities, limits, knowledge and +# capabilities are the same as the GA model (models/google/gemini-2.5-flash-lite.toml, https://ai.google.dev/gemini-api/docs/models#gemini-2.5-flash-lite). +schema = 2 +name = "Gemini 2.5 Flash-Lite Preview 06-17" +description = "First preview of Gemini 2.5 Flash-Lite, the low-cost, low-latency 2.5 model" +family = "gemini-flash-lite" +open_weights = false +knowledge = "2025-01" +release_date = "2025-06-17" + +[modalities] +input = [ + "text", + "image/png", + "image/jpeg", + "image/webp", + "image/heic", + "image/heif", + "audio/wav", + "audio/mp3", + "audio/aiff", + "audio/aac", + "audio/ogg", + "audio/flac", + "audio/mpeg", + "audio/m4a", + "audio/l16", + "audio/opus", + "audio/alaw", + "audio/mulaw", + "audio/webm", + "video/mp4", + "video/mpeg", + "video/mov", + "video/avi", + "video/x-flv", + "video/mpg", + "video/webm", + "video/wmv", + "video/3gpp", + "application/pdf", +] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } +temperature = true +top_p = true +top_k = true + +[limit] +context = 1_048_576 +output = 65_536 diff --git a/models/google/gemini-2.5-flash-lite-preview-09-2025.toml b/models/google/gemini-2.5-flash-lite-preview-09-2025.toml new file mode 100644 index 0000000000..bc9a63ea3d --- /dev/null +++ b/models/google/gemini-2.5-flash-lite-preview-09-2025.toml @@ -0,0 +1,55 @@ +# Preview snapshot of Gemini 2.5 Flash-Lite (https://developers.googleblog.com/en/continuing-to-bring-you-our-latest-models-with-an-improved-gemini-2-5-flash-and-flash-lite-release/, 2025-09-25). +# Modalities, limits, knowledge and capabilities are the same as the GA model (models/google/gemini-2.5-flash-lite.toml, +# https://ai.google.dev/gemini-api/docs/models#gemini-2.5-flash-lite). +schema = 2 +name = "Gemini 2.5 Flash-Lite Preview 09-2025" +description = "September 2025 preview of Gemini 2.5 Flash-Lite with better instruction following and multimodal quality" +family = "gemini-flash-lite" +open_weights = false +knowledge = "2025-01" +release_date = "2025-09-25" + +[modalities] +input = [ + "text", + "image/png", + "image/jpeg", + "image/webp", + "image/heic", + "image/heif", + "audio/wav", + "audio/mp3", + "audio/aiff", + "audio/aac", + "audio/ogg", + "audio/flac", + "audio/mpeg", + "audio/m4a", + "audio/l16", + "audio/opus", + "audio/alaw", + "audio/mulaw", + "audio/webm", + "video/mp4", + "video/mpeg", + "video/mov", + "video/avi", + "video/x-flv", + "video/mpg", + "video/webm", + "video/wmv", + "video/3gpp", + "application/pdf", +] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } +temperature = true +top_p = true +top_k = true + +[limit] +context = 1_048_576 +output = 65_536 diff --git a/models/google/gemini-2.5-flash-lite.toml b/models/google/gemini-2.5-flash-lite.toml index 51723b4b47..d38001f6ca 100644 --- a/models/google/gemini-2.5-flash-lite.toml +++ b/models/google/gemini-2.5-flash-lite.toml @@ -1,24 +1,56 @@ +schema = 2 name = "Gemini 2.5 Flash-Lite" description = "Lean Gemini 2.5 lane for cheap multimodal traffic and quick agents" family = "gemini-flash-lite" +open_weights = false +knowledge = "2025-01" release_date = "2025-06-17" -last_updated = "2025-06-17" -attachment = true -reasoning = true + +[modalities] +input = [ + "text", + "image/png", + "image/jpeg", + "image/webp", + "image/heic", + "image/heif", + "audio/wav", + "audio/mp3", + "audio/aiff", + "audio/aac", + "audio/ogg", + "audio/flac", + "audio/mpeg", + "audio/m4a", + "audio/l16", + "audio/opus", + "audio/alaw", + "audio/mulaw", + "audio/webm", + "video/mp4", + "video/mpeg", + "video/mov", + "video/avi", + "video/x-flv", + "video/mpg", + "video/webm", + "video/wmv", + "video/3gpp", + "application/pdf", +] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } temperature = true -tool_call = true -structured_output = true -knowledge = "2025-01" -open_weights = false +top_p = true +top_k = true [limit] context = 1_048_576 output = 65_536 -[modalities] -input = ["text", "image", "audio", "video", "pdf"] -output = ["text"] - [[benchmarks]] name = "Artificial Analysis Coding Index" score = 9.5 diff --git a/models/google/gemini-2.5-flash-native-audio-preview-12-2025.toml b/models/google/gemini-2.5-flash-native-audio-preview-12-2025.toml new file mode 100644 index 0000000000..37b491e23b --- /dev/null +++ b/models/google/gemini-2.5-flash-native-audio-preview-12-2025.toml @@ -0,0 +1,32 @@ +# Sources: +# - https://ai.google.dev/gemini-api/docs/models/gemini-2.5-flash-native-audio-preview-12-2025 +# - https://ai.google.dev/gemini-api/docs/live-api/capabilities +# - https://ai.google.dev/gemini-api/docs/changelog (released 2025-12-12) +# - https://generativelanguage.googleapis.com/v1beta/models (limits, topP/topK) +# `video` stays generic: the Live API takes video as a stream of image/jpeg or image/png frames +# (https://ai.google.dev/gemini-api/docs/live-api/capabilities, "Sending video"), with no container format, so the +# video stream has no MIME type of its own. The frame types are listed as image/jpeg and image/png. +schema = 2 +v2_only = true +type = "realtime" +name = "Gemini 2.5 Flash Native Audio Preview 12-2025" +description = "Gemini 2.5 Flash Live API model with native audio for real-time conversational agents" +family = "gemini-flash" +open_weights = false +knowledge = "2025-01" +release_date = "2025-12-12" + +[modalities] +input = ["text", "image/jpeg", "image/png", "video", "audio/pcm"] +output = ["text", "audio/pcm"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } +temperature = true +top_p = true +top_k = true + +[limit] +context = 131_072 +output = 8_192 diff --git a/models/google/gemini-2.5-flash-preview-05-20.toml b/models/google/gemini-2.5-flash-preview-05-20.toml new file mode 100644 index 0000000000..9061039612 --- /dev/null +++ b/models/google/gemini-2.5-flash-preview-05-20.toml @@ -0,0 +1,55 @@ +# Preview snapshot of Gemini 2.5 Flash (https://developers.googleblog.com/en/gemini-2-5-thinking-model-updates/, 2025-05-20; +# deprecated preview list: https://ai.google.dev/gemini-api/docs/changelog). Modalities, limits, knowledge and +# capabilities are the same as the GA model (models/google/gemini-2.5-flash.toml, https://ai.google.dev/gemini-api/docs/models#gemini-2.5-flash). +schema = 2 +name = "Gemini 2.5 Flash Preview 05-20" +description = "Preview snapshot of Gemini 2.5 Flash with controllable thinking budgets" +family = "gemini-flash" +open_weights = false +knowledge = "2025-01" +release_date = "2025-05-20" + +[modalities] +input = [ + "text", + "image/png", + "image/jpeg", + "image/webp", + "image/heic", + "image/heif", + "audio/wav", + "audio/mp3", + "audio/aiff", + "audio/aac", + "audio/ogg", + "audio/flac", + "audio/mpeg", + "audio/m4a", + "audio/l16", + "audio/opus", + "audio/alaw", + "audio/mulaw", + "audio/webm", + "video/mp4", + "video/mpeg", + "video/mov", + "video/avi", + "video/x-flv", + "video/mpg", + "video/webm", + "video/wmv", + "video/3gpp", + "application/pdf", +] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } +temperature = true +top_p = true +top_k = true + +[limit] +context = 1_048_576 +output = 65_536 diff --git a/models/google/gemini-2.5-flash-tts.toml b/models/google/gemini-2.5-flash-tts.toml index 0b18dd68bb..4862453374 100644 --- a/models/google/gemini-2.5-flash-tts.toml +++ b/models/google/gemini-2.5-flash-tts.toml @@ -1,19 +1,24 @@ +schema = 2 +type = "speech" name = "Gemini 2.5 Flash TTS" description = "Speech generation model for controllable voice, narration, and audio delivery" family = "gemini-flash" +open_weights = false +knowledge = "2025-01" release_date = "2025-09-30" last_updated = "2025-12-10" -attachment = false -reasoning = false + +[modalities] +input = ["text"] +output = ["audio/l16"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } temperature = true -tool_call = false -knowledge = "2025-01" -open_weights = false +top_p = true +top_k = true [limit] context = 32_768 output = 16_384 - -[modalities] -input = ["text"] -output = ["audio"] diff --git a/models/google/gemini-2.5-flash.toml b/models/google/gemini-2.5-flash.toml index 885d01e676..140b6b30f1 100644 --- a/models/google/gemini-2.5-flash.toml +++ b/models/google/gemini-2.5-flash.toml @@ -1,24 +1,56 @@ +schema = 2 name = "Gemini 2.5 Flash" description = "Fast Gemini workhorse for multimodal apps where latency and price matter" family = "gemini-flash" +open_weights = false +knowledge = "2025-01" release_date = "2025-06-17" -last_updated = "2025-06-17" -attachment = true -reasoning = true + +[modalities] +input = [ + "text", + "image/png", + "image/jpeg", + "image/webp", + "image/heic", + "image/heif", + "audio/wav", + "audio/mp3", + "audio/aiff", + "audio/aac", + "audio/ogg", + "audio/flac", + "audio/mpeg", + "audio/m4a", + "audio/l16", + "audio/opus", + "audio/alaw", + "audio/mulaw", + "audio/webm", + "video/mp4", + "video/mpeg", + "video/mov", + "video/avi", + "video/x-flv", + "video/mpg", + "video/webm", + "video/wmv", + "video/3gpp", + "application/pdf", +] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } temperature = true -tool_call = true -structured_output = true -knowledge = "2025-01" -open_weights = false +top_p = true +top_k = true [limit] context = 1_048_576 output = 65_536 -[modalities] -input = ["text", "image", "audio", "video", "pdf"] -output = ["text"] - [[benchmarks]] name = "Aider Polyglot" score = 55.1 diff --git a/models/google/gemini-2.5-pro-preview.toml b/models/google/gemini-2.5-pro-preview.toml new file mode 100644 index 0000000000..1c812d6559 --- /dev/null +++ b/models/google/gemini-2.5-pro-preview.toml @@ -0,0 +1,45 @@ +# Lab metadata carried over from providers/openrouter/models/google/gemini-2.5-pro-preview.toml (curated catalogue data already in this repo), +# with provider-specific fields (cost, reasoning_options, status) stripped. +schema = 2 +name = "Gemini 2.5 Pro Preview 06-05" +description = "Advanced Gemini model for complex reasoning, coding, and multimodal analysis" +family = "gemini" +open_weights = false +knowledge = "2025-01-31" +release_date = "2025-06-05" + +[modalities] +input = [ + "application/pdf", + "image/png", + "image/jpeg", + "image/webp", + "image/heic", + "image/heif", + "text", + "audio/wav", + "audio/mp3", + "audio/aiff", + "audio/aac", + "audio/ogg", + "audio/flac", + "audio/mpeg", + "audio/m4a", + "audio/l16", + "audio/opus", + "audio/alaw", + "audio/mulaw", + "audio/webm", +] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } +temperature = true +top_p = true +top_k = true + +[limit] +context = 1_048_576 +output = 65_536 diff --git a/models/google/gemini-2.5-pro-tts.toml b/models/google/gemini-2.5-pro-tts.toml index c02a6573ec..c46ee975ff 100644 --- a/models/google/gemini-2.5-pro-tts.toml +++ b/models/google/gemini-2.5-pro-tts.toml @@ -1,19 +1,24 @@ +schema = 2 +type = "speech" name = "Gemini 2.5 Pro TTS" description = "Speech generation model for controllable voice, narration, and audio delivery" family = "gemini-pro" +open_weights = false +knowledge = "2025-01" release_date = "2025-09-30" last_updated = "2025-12-10" -attachment = false -reasoning = false + +[modalities] +input = ["text"] +output = ["audio/l16"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } temperature = false -tool_call = false -knowledge = "2025-01" -open_weights = false +top_p = false +top_k = false [limit] context = 32_768 output = 16_384 - -[modalities] -input = ["text"] -output = ["audio"] diff --git a/models/google/gemini-2.5-pro.toml b/models/google/gemini-2.5-pro.toml index dba968b843..7027e38946 100644 --- a/models/google/gemini-2.5-pro.toml +++ b/models/google/gemini-2.5-pro.toml @@ -1,24 +1,56 @@ +schema = 2 name = "Gemini 2.5 Pro" description = "Google's proven reasoning model for coding, math, and multimodal analysis" family = "gemini-pro" +open_weights = false +knowledge = "2025-01" release_date = "2025-06-17" -last_updated = "2025-06-17" -attachment = true -reasoning = true + +[modalities] +input = [ + "text", + "image/png", + "image/jpeg", + "image/webp", + "image/heic", + "image/heif", + "audio/wav", + "audio/mp3", + "audio/aiff", + "audio/aac", + "audio/ogg", + "audio/flac", + "audio/mpeg", + "audio/m4a", + "audio/l16", + "audio/opus", + "audio/alaw", + "audio/mulaw", + "audio/webm", + "video/mp4", + "video/mpeg", + "video/mov", + "video/avi", + "video/x-flv", + "video/mpg", + "video/webm", + "video/wmv", + "video/3gpp", + "application/pdf", +] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } temperature = true -tool_call = true -structured_output = true -knowledge = "2025-01" -open_weights = false +top_p = true +top_k = true [limit] context = 1_048_576 output = 65_536 -[modalities] -input = ["text", "image", "audio", "video", "pdf"] -output = ["text"] - [[benchmarks]] name = "Aider Polyglot" score = 83.1 diff --git a/models/google/gemini-3-flash-preview.toml b/models/google/gemini-3-flash-preview.toml index 78075fc734..c7cb35f42d 100644 --- a/models/google/gemini-3-flash-preview.toml +++ b/models/google/gemini-3-flash-preview.toml @@ -1,24 +1,56 @@ +schema = 2 name = "Gemini 3 Flash Preview" description = "New Gemini flash lane bringing frontier-style multimodal reasoning to cheaper runs" family = "gemini-flash" +open_weights = false +knowledge = "2025-01" release_date = "2025-12-17" -last_updated = "2025-12-17" -attachment = true -reasoning = true + +[modalities] +input = [ + "text", + "image/png", + "image/jpeg", + "image/webp", + "image/heic", + "image/heif", + "video/mp4", + "video/mpeg", + "video/mov", + "video/avi", + "video/x-flv", + "video/mpg", + "video/webm", + "video/wmv", + "video/3gpp", + "audio/wav", + "audio/mp3", + "audio/aiff", + "audio/aac", + "audio/ogg", + "audio/flac", + "audio/mpeg", + "audio/m4a", + "audio/l16", + "audio/opus", + "audio/alaw", + "audio/mulaw", + "audio/webm", + "application/pdf", +] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } temperature = true -tool_call = true -structured_output = true -knowledge = "2025-01" -open_weights = false +top_p = true +top_k = true [limit] context = 1_048_576 output = 65_536 -[modalities] -input = ["text", "image", "video", "audio", "pdf"] -output = ["text"] - [[benchmarks]] name = "SWE-Bench Pro" score = 34.63 diff --git a/models/google/gemini-3-pro-image-preview.toml b/models/google/gemini-3-pro-image-preview.toml index f10fda9008..e765879916 100644 --- a/models/google/gemini-3-pro-image-preview.toml +++ b/models/google/gemini-3-pro-image-preview.toml @@ -1,19 +1,24 @@ +# Image output formats: https://ai.google.dev/gemini-api/docs/image-generation (response_format mime_type image/png or image/jpeg). +schema = 2 +type = "image" name = "Nano Banana Pro Preview" description = "Nano Banana Pro for higher-fidelity image generation and design-heavy edits" family = "gemini-pro" +open_weights = false +knowledge = "2025-01" release_date = "2025-11-20" -last_updated = "2025-11-20" -attachment = true -reasoning = true + +[modalities] +input = ["text", "image/png", "image/jpeg", "image/webp", "image/heic", "image/heif"] +output = ["text", "image/png", "image/jpeg"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = true } temperature = true -tool_call = false -knowledge = "2025-01" -open_weights = false +top_p = true +top_k = true [limit] context = 65_536 output = 32_768 - -[modalities] -input = ["text", "image"] -output = ["text", "image"] diff --git a/models/google/gemini-3-pro-image.toml b/models/google/gemini-3-pro-image.toml index a5843fe680..1b8303ab33 100644 --- a/models/google/gemini-3-pro-image.toml +++ b/models/google/gemini-3-pro-image.toml @@ -1,19 +1,24 @@ +# Image output formats: https://ai.google.dev/gemini-api/docs/image-generation (response_format mime_type image/png or image/jpeg). +schema = 2 +type = "image" name = "Nano Banana Pro" description = "Nano Banana Pro for higher-fidelity image generation and design-heavy edits" family = "gemini-pro" +open_weights = false +knowledge = "2025-01" release_date = "2026-05-28" -last_updated = "2026-05-28" -attachment = true -reasoning = true + +[modalities] +input = ["text", "image/png", "image/jpeg", "image/webp", "image/heic", "image/heif"] +output = ["text", "image/png", "image/jpeg"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = true } temperature = true -tool_call = false -knowledge = "2025-01" -open_weights = false +top_p = true +top_k = true [limit] context = 65_536 output = 32_768 - -[modalities] -input = ["text", "image"] -output = ["text", "image"] diff --git a/models/google/gemini-3-pro-preview.toml b/models/google/gemini-3-pro-preview.toml index 9291640d95..6c87f06218 100644 --- a/models/google/gemini-3-pro-preview.toml +++ b/models/google/gemini-3-pro-preview.toml @@ -1,24 +1,56 @@ +schema = 2 name = "Gemini 3 Pro Preview" description = "Preview Gemini flagship for complex reasoning, coding, and rich multimodal prompts" family = "gemini-pro" +open_weights = false +knowledge = "2025-01" release_date = "2025-11-18" -last_updated = "2025-11-18" -attachment = true -reasoning = true + +[modalities] +input = [ + "text", + "image/png", + "image/jpeg", + "image/webp", + "image/heic", + "image/heif", + "video/mp4", + "video/mpeg", + "video/mov", + "video/avi", + "video/x-flv", + "video/mpg", + "video/webm", + "video/wmv", + "video/3gpp", + "audio/wav", + "audio/mp3", + "audio/aiff", + "audio/aac", + "audio/ogg", + "audio/flac", + "audio/mpeg", + "audio/m4a", + "audio/l16", + "audio/opus", + "audio/alaw", + "audio/mulaw", + "audio/webm", + "application/pdf", +] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } temperature = true -tool_call = true -structured_output = true -knowledge = "2025-01" -open_weights = false +top_p = true +top_k = true [limit] context = 1_048_576 output = 65_536 -[modalities] -input = ["text", "image", "video", "audio", "pdf"] -output = ["text"] - [[benchmarks]] name = "SWE-Bench Pro" score = 43.3 diff --git a/models/google/gemini-3.1-flash-image-preview.toml b/models/google/gemini-3.1-flash-image-preview.toml index 9e0c07cd3b..d67bcf3bfb 100644 --- a/models/google/gemini-3.1-flash-image-preview.toml +++ b/models/google/gemini-3.1-flash-image-preview.toml @@ -1,19 +1,32 @@ +# Image output formats: https://ai.google.dev/gemini-api/docs/image-generation (response_format mime_type image/png or image/jpeg). +schema = 2 +type = "image" name = "Nano Banana 2 Preview" description = "Image model for prompt-driven generation, editing, and visual design workflows" family = "gemini-flash" +open_weights = false +knowledge = "2025-01" release_date = "2026-02-26" -last_updated = "2026-02-26" -attachment = true -reasoning = true + +[modalities] +input = [ + "text", + "image/png", + "image/jpeg", + "image/webp", + "image/heic", + "image/heif", + "application/pdf", +] +output = ["text", "image/png", "image/jpeg"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = true } temperature = true -tool_call = false -knowledge = "2025-01" -open_weights = false +top_p = true +top_k = true [limit] context = 65_536 output = 65_536 - -[modalities] -input = ["text", "image", "pdf"] -output = ["text", "image"] diff --git a/models/google/gemini-3.1-flash-image.toml b/models/google/gemini-3.1-flash-image.toml index 1ffeb5643c..207bb88ea5 100644 --- a/models/google/gemini-3.1-flash-image.toml +++ b/models/google/gemini-3.1-flash-image.toml @@ -1,19 +1,41 @@ +# Image output formats: https://ai.google.dev/gemini-api/docs/image-generation (response_format mime_type image/png or image/jpeg). +schema = 2 +type = "image" name = "Nano Banana 2" description = "Image model for prompt-driven generation, editing, and visual design workflows" family = "gemini-flash" +open_weights = false +knowledge = "2025-01" release_date = "2026-05-28" -last_updated = "2026-05-28" -attachment = true -reasoning = true + +[modalities] +input = [ + "text", + "image/png", + "image/jpeg", + "image/webp", + "image/heic", + "image/heif", + "video/mp4", + "video/mpeg", + "video/mov", + "video/avi", + "video/x-flv", + "video/mpg", + "video/webm", + "video/wmv", + "video/3gpp", + "application/pdf", +] +output = ["text", "image/png", "image/jpeg"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = true } temperature = true -tool_call = false -knowledge = "2025-01" -open_weights = false +top_p = true +top_k = true [limit] context = 131_072 output = 32_768 - -[modalities] -input = ["text", "image", "video", "pdf"] -output = ["text", "image"] diff --git a/models/google/gemini-3.1-flash-lite-image.toml b/models/google/gemini-3.1-flash-lite-image.toml index e5bb780b32..6534cea73f 100644 --- a/models/google/gemini-3.1-flash-lite-image.toml +++ b/models/google/gemini-3.1-flash-lite-image.toml @@ -3,23 +3,27 @@ # - https://ai.google.dev/gemini-api/docs/image-generation # - https://deepmind.google/models/model-cards/gemini-3-1-flash-lite-image/ # - https://docs.cloud.google.com/gemini-enterprise-agent-platform/models/gemini/3-1-flash-lite-image +# Image output formats: https://ai.google.dev/gemini-api/docs/image-generation (response_format mime_type image/png or image/jpeg). +schema = 2 +type = "image" name = "Nano Banana 2 Lite" description = "Fastest, most cost-efficient Gemini image model for high-volume 1K generation and editing" family = "gemini-flash-lite" +open_weights = false +knowledge = "2025-01" release_date = "2026-06-30" -last_updated = "2026-06-30" -attachment = true -reasoning = true + +[modalities] +input = ["text", "image/png", "image/jpeg", "image/webp", "image/heic", "image/heif"] +output = ["text", "image/png", "image/jpeg"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } temperature = true -tool_call = true -structured_output = false -knowledge = "2025-01" -open_weights = false +top_p = true +top_k = true [limit] context = 65_536 output = 4_096 - -[modalities] -input = ["text", "image"] -output = ["text", "image"] diff --git a/models/google/gemini-3.1-flash-lite-preview.toml b/models/google/gemini-3.1-flash-lite-preview.toml index 77949febc9..a2634708ee 100644 --- a/models/google/gemini-3.1-flash-lite-preview.toml +++ b/models/google/gemini-3.1-flash-lite-preview.toml @@ -1,20 +1,52 @@ +schema = 2 name = "Gemini 3.1 Flash Lite Preview" description = "Low-latency Gemini model for high-volume multimodal and agent workloads" family = "gemini-flash-lite" +open_weights = false +knowledge = "2025-01" release_date = "2026-03-03" -last_updated = "2026-03-03" -attachment = true -reasoning = true + +[modalities] +input = [ + "text", + "image/png", + "image/jpeg", + "image/webp", + "image/heic", + "image/heif", + "video/mp4", + "video/mpeg", + "video/mov", + "video/avi", + "video/x-flv", + "video/mpg", + "video/webm", + "video/wmv", + "video/3gpp", + "audio/wav", + "audio/mp3", + "audio/aiff", + "audio/aac", + "audio/ogg", + "audio/flac", + "audio/mpeg", + "audio/m4a", + "audio/l16", + "audio/opus", + "audio/alaw", + "audio/mulaw", + "audio/webm", + "application/pdf", +] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } temperature = true -tool_call = true -structured_output = true -knowledge = "2025-01" -open_weights = false +top_p = true +top_k = true [limit] context = 1_048_576 output = 65_536 - -[modalities] -input = ["text", "image", "video", "audio", "pdf"] -output = ["text"] diff --git a/models/google/gemini-3.1-flash-lite.toml b/models/google/gemini-3.1-flash-lite.toml index 67e003a553..3fdbce71e0 100644 --- a/models/google/gemini-3.1-flash-lite.toml +++ b/models/google/gemini-3.1-flash-lite.toml @@ -1,20 +1,52 @@ +schema = 2 name = "Gemini 3.1 Flash Lite" description = "Low-latency Gemini model for high-volume multimodal and agent workloads" family = "gemini-flash-lite" +open_weights = false +knowledge = "2025-01" release_date = "2026-05-07" -last_updated = "2026-05-07" -attachment = true -reasoning = true + +[modalities] +input = [ + "text", + "image/png", + "image/jpeg", + "image/webp", + "image/heic", + "image/heif", + "video/mp4", + "video/mpeg", + "video/mov", + "video/avi", + "video/x-flv", + "video/mpg", + "video/webm", + "video/wmv", + "video/3gpp", + "audio/wav", + "audio/mp3", + "audio/aiff", + "audio/aac", + "audio/ogg", + "audio/flac", + "audio/mpeg", + "audio/m4a", + "audio/l16", + "audio/opus", + "audio/alaw", + "audio/mulaw", + "audio/webm", + "application/pdf", +] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } temperature = true -tool_call = true -structured_output = true -knowledge = "2025-01" -open_weights = false +top_p = true +top_k = true [limit] context = 1_048_576 output = 65_536 - -[modalities] -input = ["text", "image", "video", "audio", "pdf"] -output = ["text"] diff --git a/models/google/gemini-3.1-flash-live-preview.toml b/models/google/gemini-3.1-flash-live-preview.toml index 96046580bd..d706f0645c 100644 --- a/models/google/gemini-3.1-flash-live-preview.toml +++ b/models/google/gemini-3.1-flash-live-preview.toml @@ -2,23 +2,29 @@ # - https://ai.google.dev/gemini-api/docs/models/gemini-3.1-flash-live-preview # - https://blog.google/innovation-and-ai/technology/developers-tools/build-with-gemini-3-1-flash-live/ # - https://deepmind.google/models/model-cards/gemini-3-1-flash-audio/ +# `video` stays generic: the Live API takes video as a stream of image/jpeg or image/png frames +# (https://ai.google.dev/gemini-api/docs/live-api/capabilities, "Sending video"), with no container format, so the +# video stream has no MIME type of its own. The frame types are listed as image/jpeg and image/png. +schema = 2 +type = "realtime" name = "Gemini 3.1 Flash Live Preview" description = "High-quality, low-latency Live API model for real-time dialogue and voice-first AI applications" family = "gemini-flash" +open_weights = false +knowledge = "2025-01" release_date = "2026-03-26" -last_updated = "2026-03-26" -attachment = true -reasoning = true + +[modalities] +input = ["text", "image/jpeg", "image/png", "video", "audio/pcm"] +output = ["text", "audio/pcm"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } temperature = true -tool_call = true -structured_output = false -knowledge = "2025-01" -open_weights = false +top_p = true +top_k = true [limit] context = 131_072 output = 65_536 - -[modalities] -input = ["text", "image", "video", "audio"] -output = ["text", "audio"] diff --git a/models/google/gemini-3.1-flash-tts-preview.toml b/models/google/gemini-3.1-flash-tts-preview.toml index 3d2b549347..126a450605 100644 --- a/models/google/gemini-3.1-flash-tts-preview.toml +++ b/models/google/gemini-3.1-flash-tts-preview.toml @@ -1,23 +1,26 @@ # Sources: # - https://ai.google.dev/gemini-api/docs/models/gemini-3.1-flash-tts-preview # - https://blog.google/innovation-and-ai/models-and-research/gemini-models/gemini-3-1-flash-tts/ - +schema = 2 +type = "speech" name = "Gemini 3.1 Flash TTS Preview" description = "Low-latency speech generation with steerable prompts and expressive audio tags" family = "gemini-flash" +open_weights = false +knowledge = "2025-01" release_date = "2026-04-15" -last_updated = "2026-04-15" -attachment = false -reasoning = false + +[modalities] +input = ["text"] +output = ["audio/l16"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } temperature = true -tool_call = false -knowledge = "2025-01" -open_weights = false +top_p = true +top_k = true [limit] context = 8_192 output = 16_384 - -[modalities] -input = ["text"] -output = ["audio"] diff --git a/models/google/gemini-3.1-pro-preview-customtools.toml b/models/google/gemini-3.1-pro-preview-customtools.toml index a30d40f234..ed7e963a6a 100644 --- a/models/google/gemini-3.1-pro-preview-customtools.toml +++ b/models/google/gemini-3.1-pro-preview-customtools.toml @@ -1,20 +1,52 @@ +schema = 2 name = "Gemini 3.1 Pro Preview Custom Tools" description = "Advanced Gemini model for complex reasoning, coding, and multimodal analysis" family = "gemini-pro" +open_weights = false +knowledge = "2025-01" release_date = "2026-02-19" -last_updated = "2026-02-19" -attachment = true -reasoning = true + +[modalities] +input = [ + "text", + "image/png", + "image/jpeg", + "image/webp", + "image/heic", + "image/heif", + "video/mp4", + "video/mpeg", + "video/mov", + "video/avi", + "video/x-flv", + "video/mpg", + "video/webm", + "video/wmv", + "video/3gpp", + "audio/wav", + "audio/mp3", + "audio/aiff", + "audio/aac", + "audio/ogg", + "audio/flac", + "audio/mpeg", + "audio/m4a", + "audio/l16", + "audio/opus", + "audio/alaw", + "audio/mulaw", + "audio/webm", + "application/pdf", +] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } temperature = true -tool_call = true -structured_output = true -knowledge = "2025-01" -open_weights = false +top_p = true +top_k = true [limit] context = 1_048_576 output = 65_536 - -[modalities] -input = ["text", "image", "video", "audio", "pdf"] -output = ["text"] diff --git a/models/google/gemini-3.1-pro-preview.toml b/models/google/gemini-3.1-pro-preview.toml index f102d9b7df..f447d3f9d8 100644 --- a/models/google/gemini-3.1-pro-preview.toml +++ b/models/google/gemini-3.1-pro-preview.toml @@ -1,24 +1,56 @@ +schema = 2 name = "Gemini 3.1 Pro Preview" description = "Reasoning-first Gemini preview for agentic coding and complex problem solving" family = "gemini-pro" +open_weights = false +knowledge = "2025-01" release_date = "2026-02-19" -last_updated = "2026-02-19" -attachment = true -reasoning = true + +[modalities] +input = [ + "text", + "image/png", + "image/jpeg", + "image/webp", + "image/heic", + "image/heif", + "video/mp4", + "video/mpeg", + "video/mov", + "video/avi", + "video/x-flv", + "video/mpg", + "video/webm", + "video/wmv", + "video/3gpp", + "audio/wav", + "audio/mp3", + "audio/aiff", + "audio/aac", + "audio/ogg", + "audio/flac", + "audio/mpeg", + "audio/m4a", + "audio/l16", + "audio/opus", + "audio/alaw", + "audio/mulaw", + "audio/webm", + "application/pdf", +] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } temperature = true -tool_call = true -structured_output = true -knowledge = "2025-01" -open_weights = false +top_p = true +top_k = true [limit] context = 1_048_576 output = 65_536 -[modalities] -input = ["text", "image", "video", "audio", "pdf"] -output = ["text"] - [[benchmarks]] name = "SWE-Bench Pro" score = 54.2 diff --git a/models/google/gemini-3.5-flash-lite.toml b/models/google/gemini-3.5-flash-lite.toml index 277240b83f..82cf287877 100644 --- a/models/google/gemini-3.5-flash-lite.toml +++ b/models/google/gemini-3.5-flash-lite.toml @@ -1,24 +1,56 @@ +schema = 2 name = "Gemini 3.5 Flash Lite" description = "Fast Gemini model balancing multimodal reasoning, tool use, and cost" family = "gemini-flash-lite" +open_weights = false +knowledge = "2026-03" release_date = "2026-07-21" -last_updated = "2026-07-21" -attachment = true -reasoning = true + +[modalities] +input = [ + "text", + "image/png", + "image/jpeg", + "image/webp", + "image/heic", + "image/heif", + "video/mp4", + "video/mpeg", + "video/mov", + "video/avi", + "video/x-flv", + "video/mpg", + "video/webm", + "video/wmv", + "video/3gpp", + "audio/wav", + "audio/mp3", + "audio/aiff", + "audio/aac", + "audio/ogg", + "audio/flac", + "audio/mpeg", + "audio/m4a", + "audio/l16", + "audio/opus", + "audio/alaw", + "audio/mulaw", + "audio/webm", + "application/pdf", +] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } temperature = true -tool_call = true -structured_output = true -knowledge = "2026-03" -open_weights = false +top_p = true +top_k = true [limit] context = 1_048_576 output = 65_536 -[modalities] -input = ["text", "image", "video", "audio", "pdf"] -output = ["text"] - [[benchmarks]] name = "SWE-Bench Pro" score = 54.2 diff --git a/models/google/gemini-3.5-flash.toml b/models/google/gemini-3.5-flash.toml index 7f8698ebe5..6e1ee2aaa4 100644 --- a/models/google/gemini-3.5-flash.toml +++ b/models/google/gemini-3.5-flash.toml @@ -1,24 +1,56 @@ +schema = 2 name = "Gemini 3.5 Flash" description = "Fast Gemini model balancing multimodal reasoning, tool use, and cost" family = "gemini-flash" +open_weights = false +knowledge = "2025-01" release_date = "2026-05-19" -last_updated = "2026-05-19" -attachment = true -reasoning = true + +[modalities] +input = [ + "text", + "image/png", + "image/jpeg", + "image/webp", + "image/heic", + "image/heif", + "video/mp4", + "video/mpeg", + "video/mov", + "video/avi", + "video/x-flv", + "video/mpg", + "video/webm", + "video/wmv", + "video/3gpp", + "audio/wav", + "audio/mp3", + "audio/aiff", + "audio/aac", + "audio/ogg", + "audio/flac", + "audio/mpeg", + "audio/m4a", + "audio/l16", + "audio/opus", + "audio/alaw", + "audio/mulaw", + "audio/webm", + "application/pdf", +] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } temperature = true -tool_call = true -structured_output = true -knowledge = "2025-01" -open_weights = false +top_p = true +top_k = true [limit] context = 1_048_576 output = 65_536 -[modalities] -input = ["text", "image", "video", "audio", "pdf"] -output = ["text"] - [[benchmarks]] name = "Terminal-Bench" score = 76.2 diff --git a/models/google/gemini-3.5-live-translate-preview.toml b/models/google/gemini-3.5-live-translate-preview.toml index a1de86a963..c7b480df8d 100644 --- a/models/google/gemini-3.5-live-translate-preview.toml +++ b/models/google/gemini-3.5-live-translate-preview.toml @@ -3,22 +3,27 @@ # - https://ai.google.dev/gemini-api/docs/live-api/live-translate # - https://deepmind.google/models/model-cards/gemini-3-5-audio/ # - https://blog.google/innovation-and-ai/models-and-research/gemini-models/gemini-live-3-5-translate/ +# Audio is raw PCM in and out, like every Live API model (https://ai.google.dev/gemini-api/docs/live-api/capabilities). +schema = 2 +type = "realtime" name = "Gemini 3.5 Live Translate Preview" description = "Low-latency audio-to-audio model for real-time speech translation across 70+ languages" family = "gemini-pro" +open_weights = false +knowledge = "2025-01" release_date = "2026-06-09" -last_updated = "2026-06-09" -attachment = false -reasoning = false + +[modalities] +input = ["audio/pcm"] +output = ["audio/pcm", "text"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } temperature = false -tool_call = false -knowledge = "2025-01" -open_weights = false +top_p = false +top_k = false [limit] context = 131_072 output = 65_536 - -[modalities] -input = ["audio"] -output = ["audio", "text"] diff --git a/models/google/gemini-3.5-transcribe-live.toml b/models/google/gemini-3.5-transcribe-live.toml index e5c5d8b833..8dc00774a1 100644 --- a/models/google/gemini-3.5-transcribe-live.toml +++ b/models/google/gemini-3.5-transcribe-live.toml @@ -1,19 +1,27 @@ # Source: https://vercel.com/ai-gateway/models/gemini-3.5-transcribe-live # Live transcription has no token context/output window; zero denotes not applicable. +# temperature = true: Google's own entry (providers/google/models/gemini-3.5-transcribe-live.toml) +# reads topP/topK from https://generativelanguage.googleapis.com/v1beta/models. +# Audio input is raw PCM, like every Live API model (https://ai.google.dev/gemini-api/docs/live-api/capabilities). +schema = 2 +type = "transcription" name = "Gemini 3.5 Transcribe Live" description = "Speech transcription model for accurate audio-to-text and captioning workflows" family = "gemini" -release_date = "2026-08-26" -last_updated = "2026-08-26" -attachment = false -reasoning = false -tool_call = false open_weights = false +release_date = "2026-08-26" + +[modalities] +input = ["audio/pcm"] +output = ["text"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = true +top_p = true +top_k = true [limit] context = 0 output = 0 - -[modalities] -input = ["audio"] -output = ["text"] diff --git a/models/google/gemini-3.5-transcribe.toml b/models/google/gemini-3.5-transcribe.toml new file mode 100644 index 0000000000..11a2dca7f6 --- /dev/null +++ b/models/google/gemini-3.5-transcribe.toml @@ -0,0 +1,28 @@ +# Sources: +# - https://ai.google.dev/gemini-api/docs/models/gemini-3.5-transcribe +# - https://ai.google.dev/gemini-api/docs/transcribe +# - https://ai.google.dev/gemini-api/docs/changelog (GA 2026-08-26) +# - https://generativelanguage.googleapis.com/v1beta/models (limits, topP/topK) +schema = 2 +v2_only = true +type = "transcription" +name = "Gemini 3.5 Transcribe" +description = "Speech-to-text model with language detection, speaker diarization, word timestamps, and custom vocabulary" +family = "gemini" +open_weights = false +release_date = "2026-08-26" + +[modalities] +input = ["audio/wav", "audio/mp3", "audio/aiff", "audio/aac", "audio/ogg", "audio/flac", "audio/mpeg", "audio/m4a", "audio/l16", "audio/opus", "audio/alaw", "audio/mulaw", "audio/webm"] +output = ["text"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = true +top_p = true +top_k = true + +[limit] +context = 98_304 +output = 32_768 diff --git a/models/google/gemini-3.6-flash.toml b/models/google/gemini-3.6-flash.toml index 18b680199e..2c0198c010 100644 --- a/models/google/gemini-3.6-flash.toml +++ b/models/google/gemini-3.6-flash.toml @@ -1,24 +1,56 @@ +schema = 2 name = "Gemini 3.6 Flash" description = "Fast Gemini model balancing multimodal reasoning, tool use, and cost" family = "gemini-flash" +open_weights = false +knowledge = "2026-03" release_date = "2026-07-21" -last_updated = "2026-07-21" -attachment = true -reasoning = true + +[modalities] +input = [ + "text", + "image/png", + "image/jpeg", + "image/webp", + "image/heic", + "image/heif", + "video/mp4", + "video/mpeg", + "video/mov", + "video/avi", + "video/x-flv", + "video/mpg", + "video/webm", + "video/wmv", + "video/3gpp", + "audio/wav", + "audio/mp3", + "audio/aiff", + "audio/aac", + "audio/ogg", + "audio/flac", + "audio/mpeg", + "audio/m4a", + "audio/l16", + "audio/opus", + "audio/alaw", + "audio/mulaw", + "audio/webm", + "application/pdf", +] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } temperature = true -tool_call = true -structured_output = true -knowledge = "2026-03" -open_weights = false +top_p = true +top_k = true [limit] context = 1_048_576 output = 65_536 -[modalities] -input = ["text", "image", "video", "audio", "pdf"] -output = ["text"] - [[benchmarks]] name = "SWE-Bench Pro" score = 58.7 diff --git a/models/google/gemini-3.7-flash.toml b/models/google/gemini-3.7-flash.toml index 044c4a2efe..d0c219d961 100644 --- a/models/google/gemini-3.7-flash.toml +++ b/models/google/gemini-3.7-flash.toml @@ -1,24 +1,56 @@ +schema = 2 name = "Gemini 3.7 Flash" description = "High-efficiency Gemini model for agentic workflows, coding, and multimodal reasoning" family = "gemini-flash" +open_weights = false +knowledge = "2026-03" release_date = "2026-08-13" -last_updated = "2026-08-13" -attachment = true -reasoning = true + +[modalities] +input = [ + "text", + "image/png", + "image/jpeg", + "image/webp", + "image/heic", + "image/heif", + "video/mp4", + "video/mpeg", + "video/mov", + "video/avi", + "video/x-flv", + "video/mpg", + "video/webm", + "video/wmv", + "video/3gpp", + "audio/wav", + "audio/mp3", + "audio/aiff", + "audio/aac", + "audio/ogg", + "audio/flac", + "audio/mpeg", + "audio/m4a", + "audio/l16", + "audio/opus", + "audio/alaw", + "audio/mulaw", + "audio/webm", + "application/pdf", +] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } temperature = true -tool_call = true -structured_output = true -knowledge = "2026-03" -open_weights = false +top_p = true +top_k = true [limit] context = 1_048_576 output = 65_536 -[modalities] -input = ["text", "image", "video", "audio", "pdf"] -output = ["text"] - [[benchmarks]] name = "FrontierCode" score = 43.6 diff --git a/models/google/gemini-3.8-flash-lite-tts.toml b/models/google/gemini-3.8-flash-lite-tts.toml new file mode 100644 index 0000000000..018dd25b00 --- /dev/null +++ b/models/google/gemini-3.8-flash-lite-tts.toml @@ -0,0 +1,28 @@ +# Sources: +# - https://ai.google.dev/gemini-api/docs/models/gemini-3.8-flash-lite-tts +# - https://ai.google.dev/gemini-api/docs/speech-generation +# - https://ai.google.dev/gemini-api/docs/changelog (GA 2026-09-22) +# - https://generativelanguage.googleapis.com/v1beta/models (limits, topP/topK) +schema = 2 +v2_only = true +type = "speech" +name = "Gemini 3.8 Flash Lite TTS" +description = "Fast, cost-efficient text-to-speech model for high-volume narration and voice agent pipelines" +family = "gemini-flash-lite" +open_weights = false +release_date = "2026-09-22" + +[modalities] +input = ["text"] +output = ["audio/wav", "audio/l16", "audio/mulaw", "audio/alaw"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = true +top_p = true +top_k = true + +[limit] +context = 8_192 +output = 16_384 diff --git a/models/google/gemini-3.8-flash-tts.toml b/models/google/gemini-3.8-flash-tts.toml new file mode 100644 index 0000000000..994ee1a9ad --- /dev/null +++ b/models/google/gemini-3.8-flash-tts.toml @@ -0,0 +1,28 @@ +# Sources: +# - https://ai.google.dev/gemini-api/docs/models/gemini-3.8-flash-tts +# - https://ai.google.dev/gemini-api/docs/speech-generation +# - https://ai.google.dev/gemini-api/docs/changelog (GA 2026-09-22) +# - https://generativelanguage.googleapis.com/v1beta/models (limits, topP/topK) +schema = 2 +v2_only = true +type = "speech" +name = "Gemini 3.8 Flash TTS" +description = "Flagship text-to-speech model for expressive, studio-grade voices and long-form multi-speaker audio" +family = "gemini-flash" +open_weights = false +release_date = "2026-09-22" + +[modalities] +input = ["text"] +output = ["audio/wav", "audio/l16", "audio/mulaw", "audio/alaw"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = true +top_p = true +top_k = true + +[limit] +context = 8_192 +output = 16_384 diff --git a/models/google/gemini-3.8-flash.toml b/models/google/gemini-3.8-flash.toml index c568d5402c..062a00cc5b 100644 --- a/models/google/gemini-3.8-flash.toml +++ b/models/google/gemini-3.8-flash.toml @@ -1,22 +1,169 @@ +# Evaluation settings and benchmark-specific methodology are linked from the launch post. +# Methodology: https://deepmind.google/models/evals-methodology/gemini-3-8-flash # Sources: # - https://ai.google.dev/gemini-api/docs/models/gemini-3.8-flash # - https://ai.google.dev/gemini-api/docs/latest-model +schema = 2 name = "Gemini 3.8 Flash" description = "Google's most intelligent Flash model, engineered for long-horizon software engineering, autonomous agents, and complex enterprise workflows" family = "gemini-flash" +open_weights = false release_date = "2026-09-02" -last_updated = "2026-09-02" -attachment = true -reasoning = true + +[modalities] +input = [ + "text", + "image/png", + "image/jpeg", + "image/webp", + "image/heic", + "image/heif", + "video/mp4", + "video/mpeg", + "video/mov", + "video/avi", + "video/x-flv", + "video/mpg", + "video/webm", + "video/wmv", + "video/3gpp", + "audio/wav", + "audio/mp3", + "audio/aiff", + "audio/aac", + "audio/ogg", + "audio/flac", + "audio/mpeg", + "audio/m4a", + "audio/l16", + "audio/opus", + "audio/alaw", + "audio/mulaw", + "audio/webm", + "application/pdf", +] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } temperature = true -tool_call = true -structured_output = true -open_weights = false +top_p = true +top_k = true [limit] context = 1_048_576 output = 65_536 -[modalities] -input = ["text", "image", "video", "audio", "pdf"] -output = ["text"] +[[benchmarks]] +name = "DeepSWE" +score = 73.7 +metric = "pass@1" +version = "1.1" +harness = "mini-swe-agent" +variant = "high thinking" +source = "https://blog.google/innovation-and-ai/models-and-research/gemini-models/3-8-flash-and-3-8-flash-cyber/" + +[[benchmarks]] +name = "GDPval-AA" +score = 1545 +metric = "Elo" +version = "2" +source = "https://blog.google/innovation-and-ai/models-and-research/gemini-models/3-8-flash-and-3-8-flash-cyber/" + +[[benchmarks]] +name = "Finance Agent" +score = 61.4 +metric = "pass@1" +version = "2" +source = "https://blog.google/innovation-and-ai/models-and-research/gemini-models/3-8-flash-and-3-8-flash-cyber/" + +[[benchmarks]] +name = "Harvey Legal Agent Benchmark" +score = 10 +metric = "all-pass rate" +source = "https://blog.google/innovation-and-ai/models-and-research/gemini-models/3-8-flash-and-3-8-flash-cyber/" + +[[benchmarks]] +name = "Terminal-Bench" +score = 89.4 +metric = "pass@1" +version = "2.1" +harness = "Terminus 2" +source = "https://blog.google/innovation-and-ai/models-and-research/gemini-models/3-8-flash-and-3-8-flash-cyber/" + +[[benchmarks]] +name = "Terminal-Bench" +score = 19.1 +metric = "pass@1" +version = "4.0" +source = "https://blog.google/innovation-and-ai/models-and-research/gemini-models/3-8-flash-and-3-8-flash-cyber/" + +[[benchmarks]] +name = "GDP.PDF" +score = 35 +metric = "all-pass rate" +source = "https://blog.google/innovation-and-ai/models-and-research/gemini-models/3-8-flash-and-3-8-flash-cyber/" + +[[benchmarks]] +name = "CharXiv Reasoning" +score = 86.2 +metric = "pass@1" +variant = "without tools" +source = "https://blog.google/innovation-and-ai/models-and-research/gemini-models/3-8-flash-and-3-8-flash-cyber/" + +[[benchmarks]] +name = "LVBench" +score = 87.8 +metric = "pass@1" +variant = "agentic" +source = "https://blog.google/innovation-and-ai/models-and-research/gemini-models/3-8-flash-and-3-8-flash-cyber/" + +[[benchmarks]] +name = "LVBench" +score = 87.1 +metric = "pass@1" +variant = "static; 1024 frames; without tools" +source = "https://blog.google/innovation-and-ai/models-and-research/gemini-models/3-8-flash-and-3-8-flash-cyber/" + +[[benchmarks]] +name = "HLE-Verified" +score = 54.9 +metric = "accuracy" +dataset = "1811 verified and revised items" +source = "https://blog.google/innovation-and-ai/models-and-research/gemini-models/3-8-flash-and-3-8-flash-cyber/" + +[[benchmarks]] +name = "OSWorld" +score = 59 +metric = "partial score" +version = "2.0" +dataset = "before 2026-08-08 patch" +harness = "Gemini CUA" +variant = "batched tool calls; best of 3 runs; 500 steps" +source = "https://blog.google/innovation-and-ai/models-and-research/gemini-models/3-8-flash-and-3-8-flash-cyber/" + +[[benchmarks]] +name = "BioMysteryBench" +score = 88.8 +metric = "pass@1" +dataset = "human-solvable" +variant = "with tools" +source = "https://blog.google/innovation-and-ai/models-and-research/gemini-models/3-8-flash-and-3-8-flash-cyber/" + +[[benchmarks]] +name = "BioMysteryBench" +score = 56.5 +metric = "pass@1" +dataset = "human-difficult" +variant = "with tools" +source = "https://blog.google/innovation-and-ai/models-and-research/gemini-models/3-8-flash-and-3-8-flash-cyber/" + +[[benchmarks]] +name = "LAB-Bench" +score = 86.2 +metric = "macro-average" +version = "2" +dataset = "11 subtasks" +variant = "with tools" +source = "https://blog.google/innovation-and-ai/models-and-research/gemini-models/3-8-flash-and-3-8-flash-cyber/" diff --git a/models/google/gemini-3.8-live-extended-thinking.toml b/models/google/gemini-3.8-live-extended-thinking.toml new file mode 100644 index 0000000000..8eebe8b42a --- /dev/null +++ b/models/google/gemini-3.8-live-extended-thinking.toml @@ -0,0 +1,31 @@ +# Sources: +# - https://ai.google.dev/gemini-api/docs/models/gemini-3.8-live-extended-thinking +# - https://ai.google.dev/gemini-api/docs/live-api/thinking +# - https://ai.google.dev/gemini-api/docs/changelog (GA 2026-09-15) +# - https://generativelanguage.googleapis.com/v1beta/models (limits, topP/topK) +# `video` stays generic: the Live API takes video as a stream of image/jpeg or image/png frames +# (https://ai.google.dev/gemini-api/docs/live-api/capabilities, "Sending video"), with no container format, so the +# video stream has no MIME type of its own. The frame types are listed as image/jpeg and image/png. +schema = 2 +v2_only = true +type = "realtime" +name = "Gemini 3.8 Live Extended Thinking" +description = "Live API voice model with configurable background reasoning for multi-step real-time agents" +family = "gemini-flash" +open_weights = false +release_date = "2026-09-15" + +[modalities] +input = ["text", "image/jpeg", "image/png", "video", "audio/pcm"] +output = ["text", "audio/pcm"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } +temperature = true +top_p = true +top_k = true + +[limit] +context = 131_072 +output = 65_536 diff --git a/models/google/gemini-3.8-live.toml b/models/google/gemini-3.8-live.toml new file mode 100644 index 0000000000..51e7147378 --- /dev/null +++ b/models/google/gemini-3.8-live.toml @@ -0,0 +1,31 @@ +# Sources: +# - https://ai.google.dev/gemini-api/docs/models/gemini-3.8-live +# - https://ai.google.dev/gemini-api/docs/live-api/capabilities +# - https://ai.google.dev/gemini-api/docs/changelog (GA 2026-09-15) +# - https://generativelanguage.googleapis.com/v1beta/models (limits, topP/topK) +# `video` stays generic: the Live API takes video as a stream of image/jpeg or image/png frames +# (https://ai.google.dev/gemini-api/docs/live-api/capabilities, "Sending video"), with no container format, so the +# video stream has no MIME type of its own. The frame types are listed as image/jpeg and image/png. +schema = 2 +v2_only = true +type = "realtime" +name = "Gemini 3.8 Live" +description = "Low-latency Live API model for real-time voice agents with interleaved reasoning and async tools" +family = "gemini-flash" +open_weights = false +release_date = "2026-09-15" + +[modalities] +input = ["text", "image/jpeg", "image/png", "video", "audio/pcm"] +output = ["text", "audio/pcm"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } +temperature = true +top_p = true +top_k = true + +[limit] +context = 131_072 +output = 65_536 diff --git a/models/google/gemini-4-argon.toml b/models/google/gemini-4-argon.toml new file mode 100644 index 0000000000..60d0fb5c18 --- /dev/null +++ b/models/google/gemini-4-argon.toml @@ -0,0 +1,61 @@ +# Sources: +# - https://ai.google.dev/gemini-api/docs/models/gemini-4-argon +# - https://ai.google.dev/gemini-api/docs/latest-model +# - https://docs.cloud.google.com/gemini-enterprise-agent-platform/models/gemini/4-argon +# - https://deepmind.google/models/model-cards/gemini-4-argon/ +# Input, thinking, and output share one 1,048,576-token window. A single +# request returns at most 65,536 output tokens; longer outputs (up to 1M) need +# long decode via background execution or client-side continuation hops. +# Temperature, top_p, and top_k are ignored by this model. +schema = 2 +name = "Gemini 4 Argon" +description = "Google's flagship reasoning model for complex software engineering, deep math and science, and long-horizon autonomous agents" +family = "gemini" +open_weights = false +knowledge = "2026-03" +release_date = "2026-10-13" + +[modalities] +input = [ + "text", + "image/png", + "image/jpeg", + "image/webp", + "image/heic", + "image/heif", + "video/mp4", + "video/mpeg", + "video/mov", + "video/avi", + "video/x-flv", + "video/mpg", + "video/webm", + "video/wmv", + "video/3gpp", + "audio/wav", + "audio/mp3", + "audio/aiff", + "audio/aac", + "audio/ogg", + "audio/flac", + "audio/mpeg", + "audio/m4a", + "audio/l16", + "audio/opus", + "audio/alaw", + "audio/mulaw", + "audio/webm", + "application/pdf", +] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } +temperature = false +top_p = false +top_k = false + +[limit] +context = 1_048_576 +output = 65_536 diff --git a/models/google/gemini-embedding-001.toml b/models/google/gemini-embedding-001.toml index c003ada46d..f9685b0541 100644 --- a/models/google/gemini-embedding-001.toml +++ b/models/google/gemini-embedding-001.toml @@ -1,19 +1,23 @@ +schema = 2 +type = "embedding" name = "Gemini Embedding 001" description = "Embedding model for semantic search, retrieval, clustering, and ranking pipelines" family = "gemini" +open_weights = false +knowledge = "2025-05" release_date = "2025-05-20" -last_updated = "2025-05-20" -attachment = false -reasoning = false + +[modalities] +input = ["text"] +output = ["embedding"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } temperature = false -tool_call = false -knowledge = "2025-05" -open_weights = false +top_p = false +top_k = false [limit] context = 2_048 output = 1 - -[modalities] -input = ["text"] -output = ["text"] diff --git a/models/google/gemini-embedding-2-preview.toml b/models/google/gemini-embedding-2-preview.toml new file mode 100644 index 0000000000..a91ec3661b --- /dev/null +++ b/models/google/gemini-embedding-2-preview.toml @@ -0,0 +1,25 @@ +# Released 2026-03-10: https://ai.google.dev/gemini-api/docs/changelog +# Modalities and context as in gemini-embedding-2: https://docs.cloud.google.com/gemini-enterprise-agent-platform/models/gemini/embedding-2 +schema = 2 +v2_only = true +type = "embedding" +name = "Gemini Embedding 2 Preview" +description = "Preview of Gemini Embedding 2, a multimodal embedding model for text, images, video, audio, and PDFs" +family = "gemini" +open_weights = false +release_date = "2026-03-10" + +[modalities] +input = ["text", "image/png", "image/jpeg", "audio/mp3", "audio/wav", "video/mp4", "video/mov", "application/pdf"] +output = ["embedding"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 8_192 +output = 0 diff --git a/models/google/gemini-embedding-2.toml b/models/google/gemini-embedding-2.toml index 34c1344a12..2e235f6be0 100644 --- a/models/google/gemini-embedding-2.toml +++ b/models/google/gemini-embedding-2.toml @@ -1,19 +1,32 @@ +schema = 2 +type = "embedding" name = "Gemini Embedding 2" description = "Multimodal embedding model mapping text, images, video, audio, and PDFs into a unified embedding space" family = "gemini" +open_weights = false +knowledge = "2025-11" release_date = "2026-04-22" -last_updated = "2026-04-22" -attachment = true -reasoning = false + +[modalities] +input = [ + "text", + "image/png", + "image/jpeg", + "audio/mp3", + "audio/wav", + "video/mp4", + "video/mov", + "application/pdf", +] +output = ["embedding"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } temperature = false -tool_call = false -knowledge = "2025-11" -open_weights = false +top_p = false +top_k = false [limit] context = 8_192 output = 3_072 - -[modalities] -input = ["text", "image", "audio", "video", "pdf"] -output = ["text"] diff --git a/models/google/gemini-flash-latest.toml b/models/google/gemini-flash-latest.toml index ccd4ba37b4..aa0e13d405 100644 --- a/models/google/gemini-flash-latest.toml +++ b/models/google/gemini-flash-latest.toml @@ -1,21 +1,53 @@ # Tracks the current Gemini Flash release (gemini-3.7-flash). +schema = 2 name = "Gemini Flash Latest" description = "High-efficiency Gemini model for agentic workflows, coding, and multimodal reasoning" family = "gemini-flash" +open_weights = false +knowledge = "2026-03" release_date = "2026-08-13" -last_updated = "2026-08-13" -attachment = true -reasoning = true + +[modalities] +input = [ + "text", + "image/png", + "image/jpeg", + "image/webp", + "image/heic", + "image/heif", + "video/mp4", + "video/mpeg", + "video/mov", + "video/avi", + "video/x-flv", + "video/mpg", + "video/webm", + "video/wmv", + "video/3gpp", + "audio/wav", + "audio/mp3", + "audio/aiff", + "audio/aac", + "audio/ogg", + "audio/flac", + "audio/mpeg", + "audio/m4a", + "audio/l16", + "audio/opus", + "audio/alaw", + "audio/mulaw", + "audio/webm", + "application/pdf", +] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } temperature = true -tool_call = true -structured_output = true -knowledge = "2026-03" -open_weights = false +top_p = true +top_k = true [limit] context = 1_048_576 output = 65_536 - -[modalities] -input = ["text", "image", "video", "audio", "pdf"] -output = ["text"] diff --git a/models/google/gemini-flash-lite-latest.toml b/models/google/gemini-flash-lite-latest.toml index c7959c9450..bd5371090c 100644 --- a/models/google/gemini-flash-lite-latest.toml +++ b/models/google/gemini-flash-lite-latest.toml @@ -1,21 +1,53 @@ # Tracks the current Gemini Flash-Lite release (gemini-3.5-flash-lite). +schema = 2 name = "Gemini Flash-Lite Latest" description = "Fast Gemini model balancing multimodal reasoning, tool use, and cost" family = "gemini-flash-lite" +open_weights = false +knowledge = "2026-03" release_date = "2026-07-21" -last_updated = "2026-07-21" -attachment = true -reasoning = true + +[modalities] +input = [ + "text", + "image/png", + "image/jpeg", + "image/webp", + "image/heic", + "image/heif", + "video/mp4", + "video/mpeg", + "video/mov", + "video/avi", + "video/x-flv", + "video/mpg", + "video/webm", + "video/wmv", + "video/3gpp", + "audio/wav", + "audio/mp3", + "audio/aiff", + "audio/aac", + "audio/ogg", + "audio/flac", + "audio/mpeg", + "audio/m4a", + "audio/l16", + "audio/opus", + "audio/alaw", + "audio/mulaw", + "audio/webm", + "application/pdf", +] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } temperature = true -tool_call = true -structured_output = true -knowledge = "2026-03" -open_weights = false +top_p = true +top_k = true [limit] context = 1_048_576 output = 65_536 - -[modalities] -input = ["text", "image", "video", "audio", "pdf"] -output = ["text"] diff --git a/models/google/gemini-nano-banana-2.1.toml b/models/google/gemini-nano-banana-2.1.toml new file mode 100644 index 0000000000..4e18ff5d68 --- /dev/null +++ b/models/google/gemini-nano-banana-2.1.toml @@ -0,0 +1,40 @@ +# Source: https://docs.cloud.google.com/gemini-enterprise-agent-platform/models/gemini/nano-banana-2-1 +# Image output formats: https://ai.google.dev/gemini-api/docs/image-generation (response_format mime_type image/png or image/jpeg). +schema = 2 +type = "image" +name = "Nano Banana 2.1" +description = "Image model for prompt-driven generation, multi-turn editing, and visual design workflows" +family = "gemini-flash" +open_weights = false +release_date = "2026-10-06" + +[modalities] +input = [ + "text", + "image/png", + "image/jpeg", + "image/webp", + "image/heic", + "image/heif", + "video/mp4", + "video/mpeg", + "video/mov", + "video/avi", + "video/x-flv", + "video/mpg", + "video/webm", + "video/wmv", + "video/3gpp", +] +output = ["text", "image/png", "image/jpeg"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = true } +temperature = false +top_p = false +top_k = false + +[limit] +context = 131_072 +output = 32_768 diff --git a/models/google/gemini-omni-1.1-flash.toml b/models/google/gemini-omni-1.1-flash.toml new file mode 100644 index 0000000000..22afe744d0 --- /dev/null +++ b/models/google/gemini-omni-1.1-flash.toml @@ -0,0 +1,63 @@ +# Sources (accessed 2026-10-12): +# - https://ai.google.dev/gemini-api/docs/models/gemini-omni-flash — model code +# gemini-omni-1.1-flash (Stable; the Preview version is gemini-omni-flash-preview), +# context window 1,048,576 tokens, input Text/Image/Video (<=10s for editing and +# extension), output Video 3s-10s (360p/720p/1080p/4K, 24 FPS), latest update +# August 2026, page last updated 2026-08-27. Hence limit.context = 1_048_576 and +# the modalities below. +# - release_date/last_updated 2026-08-27: the Gemini API changelog ("Gemini Omni +# Flash generally available (GA): Released gemini-omni-1.1-flash"), the Google +# blog post dated 2026-08-27, and DeepMind's model card published 27 August 2026. +# - reasoning = true: https://ai.google.dev/gemini-api/docs/omni documents the +# gemini-omni-1.1-flash REST response schema with a step {"type": "thought"}; +# Google Cloud's model page also lists "Thinking: Supported" for the 1.1 preview. +# - temperature/top_p/top_k = false: https://ai.google.dev/gemini-api/docs/omni Limitations — +# "System instructions, temperature, top_p, stop sequences, and negative prompts +# are not supported". top_k isn't documented for Omni; it's set false with the +# other sampling parameters it disables. +# - output 57_920: Google Cloud's Gemini Enterprise page for +# gemini-omni-1.1-flash-preview lists max output tokens 57,920; same value the +# sibling models/google/gemini-omni-flash-preview.toml files. +# Video output format: https://ai.google.dev/gemini-api/docs/omni (model_output content mime_type video/mp4). +# Image and video MIME types: Gemini API supported formats, which Omni takes as Interactions image and video inputs +# (https://ai.google.dev/gemini-api/docs/omni): +# - https://ai.google.dev/gemini-api/docs/image-understanding (Supported image formats: image/png, image/jpeg, image/webp, image/heic, image/heif) +# - https://ai.google.dev/gemini-api/docs/video-understanding (Supported video formats: video/mp4, video/mpeg, video/mov, video/avi, video/x-flv, video/mpg, video/webm, video/wmv, video/3gpp) +schema = 2 +type = "video" +name = "Gemini Omni 1.1 Flash" +description = "Video generation and editing model for scene extension, frame interpolation, and reference-guided multimodal control" +family = "gemini" +open_weights = false +release_date = "2026-08-27" + +[modalities] +input = [ + "text", + "image/png", + "image/jpeg", + "image/webp", + "image/heic", + "image/heif", + "video/mp4", + "video/mpeg", + "video/mov", + "video/avi", + "video/x-flv", + "video/mpg", + "video/webm", + "video/wmv", + "video/3gpp", +] +output = ["video/mp4"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = true } +temperature = false +top_p = false +top_k = false + +[limit] +context = 1_048_576 +output = 57_920 diff --git a/models/google/gemini-omni-flash-preview.toml b/models/google/gemini-omni-flash-preview.toml index a8f4bc05f6..6830d06096 100644 --- a/models/google/gemini-omni-flash-preview.toml +++ b/models/google/gemini-omni-flash-preview.toml @@ -1,21 +1,50 @@ +# Sampling: https://ai.google.dev/gemini-api/docs/omni (Limitations: "System instructions, +# temperature, top_p, stop sequences, and negative prompts are not supported"). top_k isn't +# documented for Omni; it's set false with the other sampling parameters it disables. +# Video output format: https://ai.google.dev/gemini-api/docs/omni (model_output content mime_type video/mp4). +# Image and video MIME types: Gemini API supported formats, which Omni takes as Interactions image and video inputs +# (https://ai.google.dev/gemini-api/docs/omni): +# - https://ai.google.dev/gemini-api/docs/image-understanding (Supported image formats: image/png, image/jpeg, image/webp, image/heic, image/heif) +# - https://ai.google.dev/gemini-api/docs/video-understanding (Supported video formats: video/mp4, video/mpeg, video/mov, video/avi, video/x-flv, video/mpg, video/webm, video/wmv, video/3gpp) +schema = 2 +type = "video" name = "Gemini Omni Flash Preview" description = "Video generation and editing model for fast, conversational text- and image-to-video workflows" family = "gemini" -release_date = "2026-06-30" -last_updated = "2026-06-30" -attachment = true -reasoning = true -tool_call = false open_weights = false +release_date = "2026-06-30" + +[modalities] +input = [ + "text", + "image/png", + "image/jpeg", + "image/webp", + "image/heic", + "image/heif", + "video/mp4", + "video/mpeg", + "video/mov", + "video/avi", + "video/x-flv", + "video/mpg", + "video/webm", + "video/wmv", + "video/3gpp", +] +output = ["video/mp4"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = true } +temperature = false +top_p = false +top_k = false [limit] context = 1_048_576 output = 57_920 -[modalities] -input = ["text", "image", "video"] -output = ["video"] - [[benchmarks]] name = "LMArena Text-to-Video Arena" score = 1527 diff --git a/models/google/gemini-robotics-er-1.6-preview.toml b/models/google/gemini-robotics-er-1.6-preview.toml index b1bd989f08..1685e81001 100644 --- a/models/google/gemini-robotics-er-1.6-preview.toml +++ b/models/google/gemini-robotics-er-1.6-preview.toml @@ -3,24 +3,54 @@ # - https://ai.google.dev/gemini-api/docs/robotics-overview # - https://blog.google/innovation-and-ai/models-and-research/google-deepmind/gemini-robotics-er-1-6 # - https://storage.googleapis.com/deepmind-media/Model-Cards/Gemini-Robotics-ER-1-6-Model-Card.pdf - +schema = 2 name = "Gemini Robotics-ER 1.6 Preview" description = "Vision-language model for embodied reasoning: spatial understanding, task planning, and physical-world agentic robotics" family = "gemini" +open_weights = false +knowledge = "2025-01" release_date = "2026-04-14" -last_updated = "2026-04-14" -attachment = true -reasoning = true + +[modalities] +input = [ + "text", + "image/png", + "image/jpeg", + "image/webp", + "image/heic", + "image/heif", + "video/mp4", + "video/mpeg", + "video/mov", + "video/avi", + "video/x-flv", + "video/mpg", + "video/webm", + "video/wmv", + "video/3gpp", + "audio/wav", + "audio/mp3", + "audio/aiff", + "audio/aac", + "audio/ogg", + "audio/flac", + "audio/mpeg", + "audio/m4a", + "audio/l16", + "audio/opus", + "audio/alaw", + "audio/mulaw", + "audio/webm", +] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } temperature = true -tool_call = true -structured_output = true -knowledge = "2025-01" -open_weights = false +top_p = true +top_k = true [limit] context = 131_072 output = 65_536 - -[modalities] -input = ["text", "image", "video", "audio"] -output = ["text"] diff --git a/models/google/gemini-robotics-er-2-preview.toml b/models/google/gemini-robotics-er-2-preview.toml new file mode 100644 index 0000000000..af8d267665 --- /dev/null +++ b/models/google/gemini-robotics-er-2-preview.toml @@ -0,0 +1,27 @@ +# Sources: +# - https://ai.google.dev/gemini-api/docs/models/gemini-robotics-er-2-preview +# - https://ai.google.dev/gemini-api/docs/robotics-overview +# - https://ai.google.dev/gemini-api/docs/changelog (preview 2026-07-30) +# - https://generativelanguage.googleapis.com/v1beta/models (limits, topP/topK) +schema = 2 +v2_only = true +name = "Gemini Robotics-ER 2 Preview" +description = "Embodied reasoning model for robotics: spatial understanding, video progress, and multi-robot orchestration" +family = "gemini" +open_weights = false +release_date = "2026-07-30" + +[modalities] +input = ["text", "image/png", "image/jpeg", "image/webp", "image/heic", "image/heif", "video/mp4", "video/mpeg", "video/mov", "video/avi", "video/x-flv", "video/mpg", "video/webm", "video/wmv", "video/3gpp", "audio/wav", "audio/mp3", "audio/aiff", "audio/aac", "audio/ogg", "audio/flac", "audio/mpeg", "audio/m4a", "audio/l16", "audio/opus", "audio/alaw", "audio/mulaw", "audio/webm"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } +temperature = true +top_p = true +top_k = true + +[limit] +context = 131_072 +output = 65_536 diff --git a/models/google/gemini-robotics-er-2-streaming-preview.toml b/models/google/gemini-robotics-er-2-streaming-preview.toml new file mode 100644 index 0000000000..0287a3e5d1 --- /dev/null +++ b/models/google/gemini-robotics-er-2-streaming-preview.toml @@ -0,0 +1,32 @@ +# Sources: +# - https://ai.google.dev/gemini-api/docs/models/gemini-robotics-er-2-streaming-preview +# - https://ai.google.dev/gemini-api/docs/robotics-streaming +# - https://ai.google.dev/gemini-api/docs/changelog (preview 2026-07-30) +# - https://generativelanguage.googleapis.com/v1beta/models (limits, topP/topK) +# Live input formats: https://ai.google.dev/gemini-api/docs/robotics-streaming (raw 16-bit PCM audio, JPEG images <= 1 FPS). +# `video` stays generic: the Live API takes video as a stream of image/jpeg or image/png frames (robotics-streaming above +# sends image/jpeg; https://ai.google.dev/gemini-api/docs/live-api/capabilities, "Sending video"), with no container +# format, so the video stream has no MIME type of its own. The frame type is listed as image/jpeg. +schema = 2 +v2_only = true +type = "realtime" +name = "Gemini Robotics-ER 2 Streaming Preview" +description = "Live API robotics model for low-latency robot agents over continuous audio and video" +family = "gemini" +open_weights = false +release_date = "2026-07-30" + +[modalities] +input = ["text", "image/jpeg", "video", "audio/pcm"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } +temperature = true +top_p = true +top_k = true + +[limit] +context = 131_072 +output = 65_536 diff --git a/models/google/gemma-2-27b-it.toml b/models/google/gemma-2-27b-it.toml new file mode 100644 index 0000000000..633c4c6abf --- /dev/null +++ b/models/google/gemma-2-27b-it.toml @@ -0,0 +1,24 @@ +# Lab metadata carried over from providers/openrouter/models/google/gemma-2-27b-it.toml (curated catalogue data already in this repo), +# with provider-specific fields (cost, reasoning_options, status) stripped. +schema = 2 +name = "Gemma 2 27B" +description = "Open Gemma instruction model for efficient chat and self-hosted deployments" +family = "gemma" +open_weights = true +knowledge = "2024-06-30" +release_date = "2024-07-13" + +[modalities] +input = ["text"] +output = ["text"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = true +top_p = true +top_k = true + +[limit] +context = 8_192 +output = 2_048 diff --git a/models/google/gemma-2-2b-it.toml b/models/google/gemma-2-2b-it.toml new file mode 100644 index 0000000000..392a2730cc --- /dev/null +++ b/models/google/gemma-2-2b-it.toml @@ -0,0 +1,31 @@ +# Model card: https://ai.google.dev/gemma/docs/core/model_card_2 (mirrored at https://build.nvidia.com/google/gemma-2-2b-it: +# text in, text out, "Context Length: 8,192 tokens", "Function Calling: Not supported"). Gemma 2 2B was released on +# 2024-07-31 (https://developers.googleblog.com/en/smaller-safer-more-transparent-advancing-responsible-ai-with-gemma/). +# No separate output cap is published, so output = context. +# Sampling: open weights, so temperature/top_p/top_k are runtime features of the host. +schema = 2 +name = "Gemma 2 2B IT" +description = "Small open Gemma 2 instruction model for lightweight chat and on-device use" +family = "gemma" +open_weights = true +release_date = "2024-07-31" +license = "Gemma Terms of Use" + +[modalities] +input = ["text"] +output = ["text"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = true +top_p = true +top_k = true + +[limit] +context = 8_192 +output = 8_192 + +[[weights]] +label = "Hugging Face" +url = "https://huggingface.co/google/gemma-2-2b-it" diff --git a/models/google/gemma-3-12b-it.toml b/models/google/gemma-3-12b-it.toml index 5ca0388a3d..8ede13684e 100644 --- a/models/google/gemma-3-12b-it.toml +++ b/models/google/gemma-3-12b-it.toml @@ -1,25 +1,31 @@ # https://ai.google.dev/gemma/docs/core/model_card_3 # https://blog.google/technology/developers/gemma-3/ +# Image MIME types: Gemma 3 was served on the Gemini API with image input (https://ai.google.dev/gemini-api/docs/changelog, 2025-03-12; +# https://web.archive.org/web/20251227094823/https://ai.google.dev/gemma/docs/core/gemma_on_gemini_api). +# Gemini API image formats: https://ai.google.dev/gemini-api/docs/image-understanding (Supported image formats: image/png, image/jpeg, image/webp, image/heic, image/heif) +schema = 2 name = "Gemma 3 12B IT" description = "Open multimodal Gemma instruction model for multilingual text generation and image understanding" family = "gemma" +open_weights = true +knowledge = "2024-08" release_date = "2025-03-12" -last_updated = "2025-03-12" -attachment = true -reasoning = false + +[modalities] +input = ["text", "image/png", "image/jpeg", "image/webp", "image/heic", "image/heif"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = false } temperature = true -tool_call = true -knowledge = "2024-08" -open_weights = true +top_p = true +top_k = true [limit] context = 131_072 output = 131_072 -[modalities] -input = ["text", "image"] -output = ["text"] - [[weights]] label = "Hugging Face" url = "https://huggingface.co/google/gemma-3-12b-it" diff --git a/models/google/gemma-3-27b-it.toml b/models/google/gemma-3-27b-it.toml index 2ef351ba4c..4f083ad9c6 100644 --- a/models/google/gemma-3-27b-it.toml +++ b/models/google/gemma-3-27b-it.toml @@ -1,25 +1,31 @@ # https://ai.google.dev/gemma/docs/core/model_card_3 # https://blog.google/technology/developers/gemma-3/ +# Image MIME types: Gemma 3 was served on the Gemini API with image input (https://ai.google.dev/gemini-api/docs/changelog, 2025-03-12; +# https://web.archive.org/web/20251227094823/https://ai.google.dev/gemma/docs/core/gemma_on_gemini_api). +# Gemini API image formats: https://ai.google.dev/gemini-api/docs/image-understanding (Supported image formats: image/png, image/jpeg, image/webp, image/heic, image/heif) +schema = 2 name = "Gemma 3 27B IT" description = "Largest open Gemma 3 instruction model for multilingual text generation and visual understanding" family = "gemma" +open_weights = true +knowledge = "2024-08" release_date = "2025-03-12" -last_updated = "2025-03-12" -attachment = true -reasoning = false + +[modalities] +input = ["text", "image/png", "image/jpeg", "image/webp", "image/heic", "image/heif"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = false } temperature = true -tool_call = true -knowledge = "2024-08" -open_weights = true +top_p = true +top_k = true [limit] context = 131_072 output = 131_072 -[modalities] -input = ["text", "image"] -output = ["text"] - [[weights]] label = "Hugging Face" url = "https://huggingface.co/google/gemma-3-27b-it" diff --git a/models/google/gemma-3-4b-it.toml b/models/google/gemma-3-4b-it.toml index bef57eb4ca..d6e46fc506 100644 --- a/models/google/gemma-3-4b-it.toml +++ b/models/google/gemma-3-4b-it.toml @@ -1,25 +1,31 @@ # https://ai.google.dev/gemma/docs/core/model_card_3 # https://blog.google/technology/developers/gemma-3/ +# Image MIME types: Gemma 3 was served on the Gemini API with image input (https://ai.google.dev/gemini-api/docs/changelog, 2025-03-12; +# https://web.archive.org/web/20251227094823/https://ai.google.dev/gemma/docs/core/gemma_on_gemini_api). +# Gemini API image formats: https://ai.google.dev/gemini-api/docs/image-understanding (Supported image formats: image/png, image/jpeg, image/webp, image/heic, image/heif) +schema = 2 name = "Gemma 3 4B IT" description = "Open multimodal Gemma instruction model for efficient text generation and image understanding" family = "gemma" +open_weights = true +knowledge = "2024-08" release_date = "2025-03-12" -last_updated = "2025-03-12" -attachment = true -reasoning = false + +[modalities] +input = ["text", "image/png", "image/jpeg", "image/webp", "image/heic", "image/heif"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = false } temperature = true -tool_call = true -knowledge = "2024-08" -open_weights = true +top_p = true +top_k = true [limit] context = 131_072 output = 131_072 -[modalities] -input = ["text", "image"] -output = ["text"] - [[weights]] label = "Hugging Face" url = "https://huggingface.co/google/gemma-3-4b-it" diff --git a/models/google/gemma-3n-e2b-it.toml b/models/google/gemma-3n-e2b-it.toml new file mode 100644 index 0000000000..99c474ce0c --- /dev/null +++ b/models/google/gemma-3n-e2b-it.toml @@ -0,0 +1,33 @@ +# Model card: https://ai.google.dev/gemma/docs/gemma-3n/model_card (mirrored at https://build.nvidia.com/google/gemma-3n-e2b-it): +# text, image and audio in, text out; "Total input context of 32K tokens"; output "up to 32K tokens, subtracting the +# request input tokens"; knowledge cutoff June 2024. Image and audio stay generic: the card gives sizes, not formats. +# No function calling is documented. Released 2025-06-26 +# (https://developers.googleblog.com/en/introducing-gemma-3n-developer-guide/). +# Sampling: open weights, so temperature/top_p/top_k are runtime features of the host. +schema = 2 +name = "Gemma 3n E2B IT" +description = "Efficient on-device Gemma 3n model for text, image, and audio understanding" +family = "gemma" +open_weights = true +knowledge = "2024-06" +release_date = "2025-06-26" +license = "Gemma Terms of Use" + +[modalities] +input = ["text", "image", "audio"] +output = ["text"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = true +top_p = true +top_k = true + +[limit] +context = 32_768 +output = 32_768 + +[[weights]] +label = "Hugging Face" +url = "https://huggingface.co/google/gemma-3n-E2B-it" diff --git a/models/google/gemma-3n-e4b-it.toml b/models/google/gemma-3n-e4b-it.toml new file mode 100644 index 0000000000..b027a3f79a --- /dev/null +++ b/models/google/gemma-3n-e4b-it.toml @@ -0,0 +1,33 @@ +# Model card: https://ai.google.dev/gemma/docs/gemma-3n/model_card (mirrored at https://build.nvidia.com/google/gemma-3n-e4b-it): +# text, image and audio in, text out; "Total input context of 32K tokens"; output "up to 32K tokens, subtracting the +# request input tokens"; knowledge cutoff June 2024. Image and audio stay generic: the card gives sizes, not formats. +# No function calling is documented. Released 2025-06-26 +# (https://developers.googleblog.com/en/introducing-gemma-3n-developer-guide/). +# Sampling: open weights, so temperature/top_p/top_k are runtime features of the host. +schema = 2 +name = "Gemma 3n E4B IT" +description = "Efficient on-device Gemma 3n model for text, image, and audio understanding" +family = "gemma" +open_weights = true +knowledge = "2024-06" +release_date = "2025-06-26" +license = "Gemma Terms of Use" + +[modalities] +input = ["text", "image", "audio"] +output = ["text"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = true +top_p = true +top_k = true + +[limit] +context = 32_768 +output = 32_768 + +[[weights]] +label = "Hugging Face" +url = "https://huggingface.co/google/gemma-3n-E4B-it" diff --git a/models/google/gemma-4-12b-it.toml b/models/google/gemma-4-12b-it.toml new file mode 100644 index 0000000000..e322599cfd --- /dev/null +++ b/models/google/gemma-4-12b-it.toml @@ -0,0 +1,28 @@ +# Input MIME types: Google serves this model on neither the Gemini API nor Vertex MaaS. The Gemma docs name JPEG and PNG +# for images (https://ai.google.dev/gemma/docs/capabilities/vision) and MP3 and WAV for audio +# (https://ai.google.dev/gemma/docs/capabilities/audio); other formats depend on the inference framework. +schema = 2 +name = "Gemma 4 12B IT" +description = "Compact Gemma 4 instruction model for open, self-hosted chat and reasoning" +family = "gemma" +open_weights = true +release_date = "2026-06-09" + +[modalities] +input = ["text", "image/jpeg", "image/png"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } +temperature = true +top_p = true +top_k = true + +[limit] +context = 262_144 +output = 32_768 + +[[weights]] +label = "Hugging Face" +url = "https://huggingface.co/google/gemma-4-12B-it" diff --git a/models/google/gemma-4-26b-a4b-it.toml b/models/google/gemma-4-26b-a4b-it.toml index acf401e1c1..d8b087410c 100644 --- a/models/google/gemma-4-26b-a4b-it.toml +++ b/models/google/gemma-4-26b-a4b-it.toml @@ -1,23 +1,27 @@ +# Image MIME types: served on the Gemini API (https://ai.google.dev/gemma/docs/core/gemma_on_gemini_api). +# Gemini API image formats: https://ai.google.dev/gemini-api/docs/image-understanding (Supported image formats: image/png, image/jpeg, image/webp, image/heic, image/heif) +schema = 2 name = "Gemma 4 26B A4B IT" description = "Open Gemma instruction model for efficient chat and self-hosted deployments" family = "gemma" +open_weights = true release_date = "2026-04-02" -last_updated = "2026-04-02" -attachment = true -reasoning = true + +[modalities] +input = ["text", "image/png", "image/jpeg", "image/webp", "image/heic", "image/heif"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } temperature = true -tool_call = true -structured_output = true -open_weights = true +top_p = true +top_k = true [limit] context = 262_144 output = 32_768 -[modalities] -input = ["text", "image"] -output = ["text"] - [[weights]] label = "Hugging Face" url = "https://huggingface.co/google/gemma-4-26B-A4B-it" diff --git a/models/google/gemma-4-31b-it.toml b/models/google/gemma-4-31b-it.toml index a4742396f6..32e7d5bc79 100644 --- a/models/google/gemma-4-31b-it.toml +++ b/models/google/gemma-4-31b-it.toml @@ -1,23 +1,29 @@ +# Image MIME types: served on the Gemini API (https://ai.google.dev/gemma/docs/core/gemma_on_gemini_api). +# Gemini API image formats: https://ai.google.dev/gemini-api/docs/image-understanding (Supported image formats: image/png, image/jpeg, image/webp, image/heic, image/heif) +# Knowledge: "cutoff date of January 2025" (Training Dataset, https://huggingface.co/google/gemma-4-31b-it). +schema = 2 name = "Gemma 4 31B IT" description = "Largest Gemma 4 instruction model for open, self-hosted chat and reasoning" family = "gemma" +open_weights = true +knowledge = "2025-01" release_date = "2026-04-02" -last_updated = "2026-04-02" -attachment = true -reasoning = true + +[modalities] +input = ["text", "image/png", "image/jpeg", "image/webp", "image/heic", "image/heif"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } temperature = true -tool_call = true -structured_output = true -open_weights = true +top_p = true +top_k = true [limit] context = 262_144 output = 32_768 -[modalities] -input = ["text", "image"] -output = ["text"] - [[weights]] label = "Hugging Face" url = "https://huggingface.co/google/gemma-4-31B-it" diff --git a/models/google/gemma-4-E2B-it.toml b/models/google/gemma-4-E2B-it.toml index 90be290440..fcdd210cab 100644 --- a/models/google/gemma-4-E2B-it.toml +++ b/models/google/gemma-4-E2B-it.toml @@ -1,23 +1,28 @@ +# Input MIME types: Google serves this model on neither the Gemini API nor Vertex MaaS. The Gemma docs name JPEG and PNG +# for images (https://ai.google.dev/gemma/docs/capabilities/vision) and MP3 and WAV for audio +# (https://ai.google.dev/gemma/docs/capabilities/audio); other formats depend on the inference framework. +schema = 2 name = "Gemma 4 E2B IT" description = "Open Gemma instruction model for efficient chat and self-hosted deployments" family = "gemma" +open_weights = true release_date = "2026-04-02" -last_updated = "2026-04-02" -attachment = true -reasoning = true + +[modalities] +input = ["text", "image/jpeg", "image/png", "audio/mpeg", "audio/wav"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } temperature = true -tool_call = true -structured_output = true -open_weights = true +top_p = true +top_k = true [limit] context = 131_072 output = 8_192 -[modalities] -input = ["text", "image", "audio"] -output = ["text"] - [[weights]] label = "Hugging Face" url = "https://huggingface.co/google/gemma-4-E2B-it" diff --git a/models/google/gemma-4-E4B-it.toml b/models/google/gemma-4-E4B-it.toml index 18b085650b..629ec39f53 100644 --- a/models/google/gemma-4-E4B-it.toml +++ b/models/google/gemma-4-E4B-it.toml @@ -1,23 +1,28 @@ +# Input MIME types: Google serves this model on neither the Gemini API nor Vertex MaaS. The Gemma docs name JPEG and PNG +# for images (https://ai.google.dev/gemma/docs/capabilities/vision) and MP3 and WAV for audio +# (https://ai.google.dev/gemma/docs/capabilities/audio); other formats depend on the inference framework. +schema = 2 name = "Gemma 4 E4B IT" description = "Open Gemma instruction model for efficient chat and self-hosted deployments" family = "gemma" +open_weights = true release_date = "2026-04-02" -last_updated = "2026-04-02" -attachment = true -reasoning = true + +[modalities] +input = ["text", "image/jpeg", "image/png", "audio/mpeg", "audio/wav"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } temperature = true -tool_call = true -structured_output = true -open_weights = true +top_p = true +top_k = true [limit] context = 131_072 output = 8_192 -[modalities] -input = ["text", "image", "audio"] -output = ["text"] - [[weights]] label = "Hugging Face" url = "https://huggingface.co/google/gemma-4-E4B-it" diff --git a/models/google/lyria-3-clip-preview.toml b/models/google/lyria-3-clip-preview.toml index 26a6009ca4..4479060146 100644 --- a/models/google/lyria-3-clip-preview.toml +++ b/models/google/lyria-3-clip-preview.toml @@ -3,23 +3,27 @@ # https://docs.cloud.google.com/gemini-enterprise-agent-platform/models/lyria/lyria-3 # https://ai.google.dev/gemini-api/docs/pricing # https://cloud.google.com/gemini-enterprise-agent-platform/generative-ai/pricing - +# Audio output format: https://ai.google.dev/gemini-api/docs/music-generation and the model page (MP3). +# Image MIME types: Gemini API supported formats, which Lyria takes as Interactions image inputs +# (https://ai.google.dev/gemini-api/docs/music-generation): https://ai.google.dev/gemini-api/docs/image-understanding (Supported image formats: image/png, image/jpeg, image/webp, image/heic, image/heif) +schema = 2 name = "Lyria 3 Clip Preview" description = "Music generation model for short 30-second clips, loops, and previews from text or image prompts" family = "lyria" +open_weights = false release_date = "2026-03-25" -last_updated = "2026-03-25" -attachment = true -reasoning = false + +[modalities] +input = ["text", "image/png", "image/jpeg", "image/webp", "image/heic", "image/heif"] +output = ["text", "audio/mp3"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } temperature = true -tool_call = false -structured_output = false -open_weights = false +top_p = true +top_k = true [limit] context = 131_072 output = 65_536 - -[modalities] -input = ["text", "image"] -output = ["text", "audio"] diff --git a/models/google/lyria-3-pro-preview.toml b/models/google/lyria-3-pro-preview.toml index 38a1e252ba..5d658e8e25 100644 --- a/models/google/lyria-3-pro-preview.toml +++ b/models/google/lyria-3-pro-preview.toml @@ -4,23 +4,27 @@ # - https://docs.cloud.google.com/vertex-ai/generative-ai/docs/models/lyria/lyria-3 — release_date 2026-03-25; preview; text+image input; audio output; max ~184s # - https://blog.google/innovation-and-ai/technology/developers-tools/lyria-3-developers/ — public preview announcement (2026-03-25) # Output token limit not published on the first-party model card; 8_192 retained from LiteLLM cost map pending Models API sync overwrite. - +# Audio output format: https://ai.google.dev/gemini-api/docs/music-generation and the model page (MP3). +# Image MIME types: Gemini API supported formats, which Lyria takes as Interactions image inputs +# (https://ai.google.dev/gemini-api/docs/music-generation): https://ai.google.dev/gemini-api/docs/image-understanding (Supported image formats: image/png, image/jpeg, image/webp, image/heic, image/heif) +schema = 2 name = "Lyria 3 Pro Preview" description = "Music generation model for full-length songs from text or images with vocals and structure" family = "lyria" +open_weights = false release_date = "2026-03-25" -last_updated = "2026-03-25" -attachment = true -reasoning = false + +[modalities] +input = ["text", "image/png", "image/jpeg", "image/webp", "image/heic", "image/heif"] +output = ["text", "audio/mp3"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } temperature = true -tool_call = false -structured_output = false -open_weights = false +top_p = true +top_k = true [limit] context = 131_072 output = 8_192 - -[modalities] -input = ["text", "image"] -output = ["text", "audio"] diff --git a/models/google/lyria-3.5.toml b/models/google/lyria-3.5.toml new file mode 100644 index 0000000000..d6e96a0b89 --- /dev/null +++ b/models/google/lyria-3.5.toml @@ -0,0 +1,29 @@ +# Sources: +# - https://ai.google.dev/gemini-api/docs/models/lyria-3.5 +# - https://ai.google.dev/gemini-api/docs/music-generation +# - https://ai.google.dev/gemini-api/docs/changelog (GA 2026-09-03) +# - https://generativelanguage.googleapis.com/v1beta/models (limits, topP/topK) +# Image MIME types: Gemini API supported formats, which Lyria takes as Interactions image inputs +# (https://ai.google.dev/gemini-api/docs/music-generation): https://ai.google.dev/gemini-api/docs/image-understanding (Supported image formats: image/png, image/jpeg, image/webp, image/heic, image/heif) +schema = 2 +v2_only = true +name = "Lyria 3.5" +description = "Music generation model for full-length songs with vocals and structure from text or image prompts" +family = "lyria" +open_weights = false +release_date = "2026-09-03" + +[modalities] +input = ["text", "image/png", "image/jpeg", "image/webp", "image/heic", "image/heif"] +output = ["text", "audio/mp3", "audio/wav"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = true +top_p = true +top_k = true + +[limit] +context = 131_072 +output = 65_536 diff --git a/models/google/lyria-realtime-exp.toml b/models/google/lyria-realtime-exp.toml new file mode 100644 index 0000000000..4fc4888554 --- /dev/null +++ b/models/google/lyria-realtime-exp.toml @@ -0,0 +1,29 @@ +# Sources: +# - https://ai.google.dev/gemini-api/docs/models/lyria-realtime-exp (input: weighted text prompts; output: raw 16-bit PCM) +# - https://ai.google.dev/gemini-api/docs/realtime-music-generation (48 kHz stereo PCM; MusicGenerationConfig takes +# temperature, top_k and seed, no top_p) +# - https://ai.google.dev/gemini-api/docs/deprecations (released 2025-05-20, experimental, no shutdown date) +# - https://generativelanguage.googleapis.com/v1beta/models (limits; bidiGenerateMusic only) +schema = 2 +v2_only = true +type = "realtime" +name = "Lyria RealTime" +description = "Experimental streaming music generation model steered in real time by weighted text prompts" +family = "lyria" +open_weights = false +release_date = "2025-05-20" + +[modalities] +input = ["text"] +output = ["audio/pcm"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = true +top_p = false +top_k = true + +[limit] +context = 1_048_576 +output = 65_536 diff --git a/models/google/veo-3.1-fast-generate-preview.toml b/models/google/veo-3.1-fast-generate-preview.toml index 09ca8cca64..172dfb3d41 100644 --- a/models/google/veo-3.1-fast-generate-preview.toml +++ b/models/google/veo-3.1-fast-generate-preview.toml @@ -1,18 +1,26 @@ +# Video formats: https://ai.google.dev/gemini-api/docs/veo (generated and extension videos are video/mp4). +# Image MIME types: the Veo API takes image/jpeg or image/png for image, lastFrame and referenceImages: +# https://docs.cloud.google.com/vertex-ai/generative-ai/docs/model-reference/veo-video-generation +schema = 2 +type = "video" name = "Veo 3.1 Fast Preview" description = "Video model for prompt-guided generation, editing, and motion workflows" family = "veo" +open_weights = false release_date = "2025-10-15" last_updated = "2026-01-01" -attachment = true -reasoning = false + +[modalities] +input = ["text", "image/jpeg", "image/png", "video/mp4"] +output = ["video/mp4"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } temperature = false -tool_call = false -open_weights = false +top_p = false +top_k = false [limit] context = 1_024 output = 0 - -[modalities] -input = ["text", "image", "video"] -output = ["video"] diff --git a/models/google/veo-3.1-generate-preview.toml b/models/google/veo-3.1-generate-preview.toml index 9dab1aca96..2f03ca660a 100644 --- a/models/google/veo-3.1-generate-preview.toml +++ b/models/google/veo-3.1-generate-preview.toml @@ -2,22 +2,29 @@ # - https://ai.google.dev/gemini-api/docs/models/veo-3.1-generate-preview # - https://ai.google.dev/gemini-api/docs/veo # - https://developers.googleblog.com/introducing-veo-3-1-and-new-creative-capabilities-in-the-gemini-api - +# Video formats: https://ai.google.dev/gemini-api/docs/veo (generated and extension videos are video/mp4). +# Image MIME types: the Veo API takes image/jpeg or image/png for image, lastFrame and referenceImages: +# https://docs.cloud.google.com/vertex-ai/generative-ai/docs/model-reference/veo-video-generation +schema = 2 +type = "video" name = "Veo 3.1 Preview" description = "Video model for prompt-guided generation, editing, and motion workflows" family = "veo" +open_weights = false release_date = "2025-10-15" last_updated = "2026-01" -attachment = true -reasoning = false + +[modalities] +input = ["text", "image/jpeg", "image/png"] +output = ["video/mp4"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } temperature = false -tool_call = false -open_weights = false +top_p = false +top_k = false [limit] context = 1_024 output = 1 - -[modalities] -input = ["text", "image"] -output = ["video"] diff --git a/models/google/veo-3.1-lite-generate-preview.toml b/models/google/veo-3.1-lite-generate-preview.toml index e2a6554f94..47254e31fc 100644 --- a/models/google/veo-3.1-lite-generate-preview.toml +++ b/models/google/veo-3.1-lite-generate-preview.toml @@ -5,22 +5,28 @@ # (release 2026-03-31; text-to-video and image-to-video; 720p/1080p; 4s/6s/8s) # - https://ai.google.dev/gemini-api/docs/pricing # (Veo 3.1 Lite paid-tier per-second video pricing; not token-based — cost omitted) - +# Video formats: https://ai.google.dev/gemini-api/docs/veo (generated and extension videos are video/mp4). +# Image MIME types: the Veo API takes image/jpeg or image/png for image, lastFrame and referenceImages: +# https://docs.cloud.google.com/vertex-ai/generative-ai/docs/model-reference/veo-video-generation +schema = 2 +type = "video" name = "Veo 3.1 Lite Preview" description = "Video model for prompt-guided generation, editing, and motion workflows" family = "veo" +open_weights = false release_date = "2026-03-31" -last_updated = "2026-03-31" -attachment = true -reasoning = false + +[modalities] +input = ["text", "image/jpeg", "image/png"] +output = ["video/mp4"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } temperature = false -tool_call = false -open_weights = false +top_p = false +top_k = false [limit] context = 1_024 output = 0 - -[modalities] -input = ["text", "image"] -output = ["video"] diff --git a/models/gryphe/mythomax-l2-13b.toml b/models/gryphe/mythomax-l2-13b.toml new file mode 100644 index 0000000000..a28b7f06aa --- /dev/null +++ b/models/gryphe/mythomax-l2-13b.toml @@ -0,0 +1,27 @@ +# https://huggingface.co/Gryphe/MythoMax-L2-13b +# Sampling: open weights; generation_config.json sets temperature 0.9 and top_p 0.6 +# (https://huggingface.co/Gryphe/MythoMax-L2-13b/blob/main/generation_config.json). +schema = 2 +name = "MythoMax L2 13B" +description = "Llama 2 merge combining MythoLogic and Huginn for creative writing and roleplay" +open_weights = true +release_date = "2023-08-10" + +[modalities] +input = ["text"] +output = ["text"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = true +top_p = true +top_k = true + +[limit] +context = 4_096 +output = 3_200 + +[[weights]] +label = "Hugging Face" +url = "https://huggingface.co/Gryphe/MythoMax-L2-13b" diff --git a/models/hexgrad/kokoro-82m.toml b/models/hexgrad/kokoro-82m.toml new file mode 100644 index 0000000000..094b39a0b8 --- /dev/null +++ b/models/hexgrad/kokoro-82m.toml @@ -0,0 +1,30 @@ +# Published December 2024 (Apache-2.0): https://huggingface.co/hexgrad/Kokoro-82M +# Output formats: mp3 and pcm, as documented for OpenRouter's speech API (the lab lists none here): +# https://openrouter.ai/docs/guides/overview/multimodal/tts +schema = 2 +v2_only = true +type = "speech" +name = "Kokoro 82M" +description = "Lightweight open text-to-speech model" +open_weights = true +release_date = "2024-12" +license = "Apache-2.0" + +[modalities] +input = ["text"] +output = ["audio/mpeg", "audio/pcm"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 0 +output = 0 + +[[weights]] +label = "Hugging Face" +url = "https://huggingface.co/hexgrad/Kokoro-82M" diff --git a/models/heygen/avatar-iv.toml b/models/heygen/avatar-iv.toml new file mode 100644 index 0000000000..7797e7489d --- /dev/null +++ b/models/heygen/avatar-iv.toml @@ -0,0 +1,26 @@ +# Launched in the HeyGen app in May 2025 (https://www.producthunt.com/products/avatar-iv-ai-video-creation/launches, +# May 10, 2025); API: https://www.heygen.com/blog/announcing-the-avatar-iv-api, https://developers.heygen.com/avatar-iv +# Inputs: a PNG or JPEG photo, a script or an MP3 track: https://developers.heygen.com/image-to-video +# Output: MP4; generated sound is a track inside the MP4, so no audio MIME type is listed. +schema = 2 +v2_only = true +type = "video" +name = "Avatar IV" +description = "Image-to-video avatar model that turns one photo and a script or audio track into a lip-synced talking video" +open_weights = false +release_date = "2025-05" + +[modalities] +input = ["text", "image/png", "image/jpeg", "audio/mpeg"] +output = ["video/mp4"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 0 +output = 0 diff --git a/models/heygen/heygen-video-1.toml b/models/heygen/heygen-video-1.toml new file mode 100644 index 0000000000..5f53450d0d --- /dev/null +++ b/models/heygen/heygen-video-1.toml @@ -0,0 +1,28 @@ +# Launch page ("Built on MiniMax H3 and post-trained by HeyGen"; model heygen-video-1): +# https://developers.heygen.com/heygen-video-1.0-catalog, https://developers.heygen.com/docs/models/heygen-video +# Launched 2026-09-30, the day it went live on HeyGen's API and OpenRouter (https://openrouter.ai/heygen). +# HeyGen lists no input formats for this model; these are the formats its v3 API takes elsewhere (PNG or JPEG +# images, MP3 audio: https://developers.heygen.com/image-to-video) and MP4 for video references. +# Output: MP4; generated sound is a track inside the MP4, so no audio MIME type is listed. +schema = 2 +v2_only = true +type = "video" +name = "HeyGen Video" +description = "General-purpose video model for text, image and reference to video with generated dialogue, ambience and effects" +open_weights = false +release_date = "2026-09-30" + +[modalities] +input = ["text", "image/png", "image/jpeg", "video/mp4", "audio/mpeg"] +output = ["video/mp4"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 0 +output = 0 diff --git a/models/heygen/heygen-voice-1-turbo.toml b/models/heygen/heygen-voice-1-turbo.toml new file mode 100644 index 0000000000..4db4c0e734 --- /dev/null +++ b/models/heygen/heygen-voice-1-turbo.toml @@ -0,0 +1,25 @@ +# Launched on OpenRouter 2026-10-13: https://x.com/OpenRouter/status/2110392197946482934 +# Output formats: mp3 and pcm, as documented for OpenRouter's speech API (the lab lists none here): +# https://openrouter.ai/docs/guides/overview/multimodal/tts +schema = 2 +v2_only = true +type = "speech" +name = "HeyGen Voice Turbo" +description = "Lower-latency version of HeyGen Voice" +open_weights = false +release_date = "2026-10-13" + +[modalities] +input = ["text"] +output = ["audio/mpeg", "audio/pcm"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 0 +output = 0 diff --git a/models/heygen/heygen-voice-1.toml b/models/heygen/heygen-voice-1.toml new file mode 100644 index 0000000000..5dddea5622 --- /dev/null +++ b/models/heygen/heygen-voice-1.toml @@ -0,0 +1,25 @@ +# Launched on OpenRouter 2026-10-13: https://x.com/OpenRouter/status/2110392197946482934 +# Output formats: mp3 and pcm, as documented for OpenRouter's speech API (the lab lists none here): +# https://openrouter.ai/docs/guides/overview/multimodal/tts +schema = 2 +v2_only = true +type = "speech" +name = "HeyGen Voice" +description = "Text-to-speech model with default voices and HeyGen voice clones" +open_weights = false +release_date = "2026-10-13" + +[modalities] +input = ["text"] +output = ["audio/mpeg", "audio/pcm"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 0 +output = 0 diff --git a/models/ibm/granite-4-h-micro.toml b/models/ibm/granite-4-h-micro.toml index ba3617a95a..0a9dddea91 100644 --- a/models/ibm/granite-4-h-micro.toml +++ b/models/ibm/granite-4-h-micro.toml @@ -1,23 +1,27 @@ +# Weights: https://huggingface.co/ibm-granite/granite-4.0-h-micro (Apache-2.0) +# Sampling: open weights, so temperature, top_p and top_k all apply when self-hosted. +schema = 2 name = "Granite-4.0-H-Micro" description = "Compact open-weight hybrid Granite model for lightweight enterprise chat and tool calling" family = "granite" +open_weights = true release_date = "2025-10-02" -last_updated = "2025-10-02" -attachment = false -reasoning = false + +[modalities] +input = ["text"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = false } temperature = true -tool_call = true -structured_output = true -open_weights = true +top_p = true +top_k = true [limit] context = 131_072 output = 131_072 -[modalities] -input = ["text"] -output = ["text"] - [[weights]] label = "Hugging Face" url = "https://huggingface.co/ibm-granite/granite-4.0-h-micro" diff --git a/models/ibm/granite-4-h-small.toml b/models/ibm/granite-4-h-small.toml index 851b07d12a..63dea32ab5 100644 --- a/models/ibm/granite-4-h-small.toml +++ b/models/ibm/granite-4-h-small.toml @@ -1,23 +1,27 @@ +# Weights: https://huggingface.co/ibm-granite/granite-4.0-h-small (Apache-2.0) +# Sampling: open weights, so temperature, top_p and top_k all apply when self-hosted. +schema = 2 name = "Granite-4.0-H-Small" description = "Open-weight hybrid model for enterprise chat, coding, retrieval-augmented generation, and tool-calling workloads" family = "granite" +open_weights = true release_date = "2025-10-02" -last_updated = "2025-10-02" -attachment = false -reasoning = false + +[modalities] +input = ["text"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = false } temperature = true -tool_call = true -structured_output = true -open_weights = true +top_p = true +top_k = true [limit] context = 131_072 output = 131_072 -[modalities] -input = ["text"] -output = ["text"] - [[weights]] label = "Hugging Face" url = "https://huggingface.co/ibm-granite/granite-4.0-h-small" diff --git a/models/ibm/granite-4.2-8b.toml b/models/ibm/granite-4.2-8b.toml new file mode 100644 index 0000000000..69d59fe6b7 --- /dev/null +++ b/models/ibm/granite-4.2-8b.toml @@ -0,0 +1,26 @@ +# Lab metadata carried over from providers/openrouter/models/ibm-granite/granite-4.2-8b.toml (curated catalogue data already in this repo), +# with provider-specific fields (cost, reasoning_options, status) stripped. +# Release: https://huggingface.co/ibm-granite/granite-4.2-8b (model card "Release Date: August 25, 2026"; Apache-2.0) +# Sampling: open weights; generation_config.json sets temperature 1.0 and top_p 0.95 +# (https://huggingface.co/ibm-granite/granite-4.2-8b/blob/main/generation_config.json). +schema = 2 +name = "Granite 4.2 8B" +description = "Reasoning model for deliberate analysis, multi-step problem solving, and tool use" +family = "granite" +open_weights = true +release_date = "2026-08-25" + +[modalities] +input = ["text"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } +temperature = true +top_p = true +top_k = true + +[limit] +context = 131_072 +output = 117_964 diff --git a/models/inception/mercury-2.5.toml b/models/inception/mercury-2.5.toml new file mode 100644 index 0000000000..d577be3916 --- /dev/null +++ b/models/inception/mercury-2.5.toml @@ -0,0 +1,26 @@ +# Sources: +# - https://docs.inceptionlabs.ai/get-started/models (Mercury 2.5: 260K context, 65,536 max output, text, tool calling, structured outputs) +# - https://www.businesswire.com/news/home/20260908593295/en/ (launch, 2026-09-08) +# Sampling: temperature 0.5-1 is the only sampling parameter on the chat completions API, no top_p or top_k +# (https://docs.inceptionlabs.ai/api-reference/chat/create-a-chat-completion). +schema = 2 +name = "Mercury 2.5" +description = "Reasoning model for deliberate analysis, multi-step problem solving, and tool use" +family = "mercury" +open_weights = false +release_date = "2026-09-08" + +[modalities] +input = ["text"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } +temperature = true +top_p = false +top_k = false + +[limit] +context = 260_000 +output = 65_536 diff --git a/models/inception/mercury-2.toml b/models/inception/mercury-2.toml new file mode 100644 index 0000000000..12b63dd328 --- /dev/null +++ b/models/inception/mercury-2.toml @@ -0,0 +1,26 @@ +# Sources: +# - https://docs.inceptionlabs.ai/get-started/models (Mercury 2: 128K context, 50,000 max output, text, tool calling, structured outputs) +# - https://www.businesswire.com/news/home/20260224034496/en/ (launch, 2026-02-24) +# Sampling: temperature 0.5-1 is the only sampling parameter on the chat completions API, no top_p or top_k +# (https://docs.inceptionlabs.ai/api-reference/chat/create-a-chat-completion). +schema = 2 +name = "Mercury 2" +description = "Reasoning model for deliberate analysis, multi-step problem solving, and tool use" +family = "mercury" +open_weights = false +release_date = "2026-02-24" + +[modalities] +input = ["text"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } +temperature = true +top_p = false +top_k = false + +[limit] +context = 128_000 +output = 50_000 diff --git a/models/inception/mercury-3.toml b/models/inception/mercury-3.toml new file mode 100644 index 0000000000..bd3ccccf94 --- /dev/null +++ b/models/inception/mercury-3.toml @@ -0,0 +1,30 @@ +# Sources (accessed 2026-10-21): +# - https://docs.inceptionlabs.ai/get-started/models (Mercury 3: 1M context, 131,072 max output, text, tool calling, +# structured outputs) +# - https://www.inceptionlabs.ai/blog/introducing-mercury-3 (public launch post, 2026-10-19) +# - Release date: first listed on OpenRouter 2026-10-16 (https://openrouter.ai/api/v1/models, inception/mercury-3). +# - Text input only: https://docs.inceptionlabs.ai/resources/faq ("Do Mercury models support image or vision input?") +# Sampling: temperature 0.5-1 is the only sampling parameter on the chat completions API, no top_p or top_k +# (https://api.inceptionlabs.ai/openapi.json, ChatCompletionRequest). +schema = 2 +name = "Mercury 3" +description = "Inception's diffusion reasoning model for chat, multi-step problem solving, and tool use" +family = "mercury" +open_weights = false +release_date = "2026-10-16" +last_updated = "2026-10-20" + +[modalities] +input = ["text"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } +temperature = true +top_p = false +top_k = false + +[limit] +context = 1_000_000 +output = 131_072 diff --git a/models/inception/mercury-decide.toml b/models/inception/mercury-decide.toml new file mode 100644 index 0000000000..1c05faf648 --- /dev/null +++ b/models/inception/mercury-decide.toml @@ -0,0 +1,29 @@ +# Sources (accessed 2026-10-21): +# - https://docs.inceptionlabs.ai/capabilities/decisions: Mercury Decide answers typed questions (noul, choice, score) about +# a shared `state` on POST /v1/decisions; images must be base64 data URLs in PNG, JPEG, WebP, or GIF. +# - GET https://api.inceptionlabs.ai/v1/models: context_length 65536, max_output_length 50000, endpoint `decisions`. +# - Release: first listed on OpenRouter 2026-09-30 (https://openrouter.ai/api/v1/models, inception/mercury-decide). +# Sampling: the DecisionRequest schema takes only model, state and questions (https://api.inceptionlabs.ai/openapi.json). +schema = 2 +v2_only = true +type = "decision" +name = "Mercury Decide" +description = "Inception's diffusion decision model that returns probabilities for typed yes/no, choice and score questions about text or images" +family = "mercury" +open_weights = false +release_date = "2026-09-30" + +[modalities] +input = ["text", "image/png", "image/jpeg", "image/webp", "image/gif"] +output = ["decision"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 65_536 +output = 50_000 diff --git a/models/inception/mercury-edit-2.toml b/models/inception/mercury-edit-2.toml new file mode 100644 index 0000000000..4840f7d4a2 --- /dev/null +++ b/models/inception/mercury-edit-2.toml @@ -0,0 +1,30 @@ +# Sources (accessed 2026-10-21): +# - https://docs.inceptionlabs.ai/get-started/models (Mercury Edit 2: /v1/fim/completions and /v1/edit/completions, +# FIM and NextEdit context 32K, 8,192 max output, text, no tool calling or structured outputs) +# - https://www.inceptionlabs.ai/blog/introducing-mercury-edit-2 +# - Text input only: https://docs.inceptionlabs.ai/resources/faq +# - No reasoning: the FIM and edit request schemas have no reasoning field, and reasoning_effort applies to chat models +# only (https://docs.inceptionlabs.ai/capabilities/reasoning-efforts). +# Sampling (https://api.inceptionlabs.ai/openapi.json): the edit endpoint takes temperature (0-2) and top_p; the FIM +# endpoint takes top_p and top_k. +schema = 2 +name = "Mercury Edit 2" +description = "Code editing dLLM for autocomplete (FIM) and next-edit suggestions" +family = "mercury" +open_weights = false +release_date = "2026-03-30" + +[modalities] +input = ["text"] +output = ["text"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = true +top_p = true +top_k = true + +[limit] +context = 32_000 +output = 8_192 diff --git a/models/inclusionai/ling-3.0-flash-fin.toml b/models/inclusionai/ling-3.0-flash-fin.toml index 2e98f3b45d..0c60fcbec3 100644 --- a/models/inclusionai/ling-3.0-flash-fin.toml +++ b/models/inclusionai/ling-3.0-flash-fin.toml @@ -1,20 +1,107 @@ +# Scores and methodology: https://huggingface.co/inclusionAI/Ling-3.0-flash-Fin/blob/main/assets/ling-3.0-flash-fin-evaluation.png # https://novita.ai/models/model-detail/inclusionai-ling-3.0-flash-fin # https://openrouter.ai/api/v1/models/inclusionai/ling-3.0-flash-fin:free/endpoints # https://vercel.com/changelog/ling-3-0-flash-fin-now-available-on-ai-gateway-for-free +# MIT weights published: https://huggingface.co/inclusionAI/Ling-3.0-flash-Fin (2026-09-03) +# Sampling: open weights; the model card recommends temperature, top_p and top_k (temperature=1.0, top_p=0.95, top_k=20) +# (https://huggingface.co/inclusionAI/Ling-3.0-flash-Fin). +schema = 2 name = "Ling 3.0 Flash Fin" description = "Finance-enhanced model for financial research, multi-step investment workflows, and long-horizon planning and execution" family = "ling" +open_weights = true release_date = "2026-08-27" -last_updated = "2026-08-27" -attachment = false -reasoning = true -tool_call = true -open_weights = false +last_updated = "2026-09-03" +license = "MIT" + +[modalities] +input = ["text"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } +temperature = true +top_p = true +top_k = true [limit] context = 262_144 output = 32_768 -[modalities] -input = ["text"] -output = ["text"] +[[weights]] +label = "Hugging Face" +url = "https://huggingface.co/inclusionAI/Ling-3.0-flash-Fin" + +[[benchmarks]] +name = "FinFIRST" +score = 52.85 +metric = "score" +variant = "highest reasoning effort" +harness = "ReAct with web search, visit, and Python" +source = "https://huggingface.co/inclusionAI/Ling-3.0-flash-Fin" + +[[benchmarks]] +name = "FinSearchComp Verified" +score = 77.04 +metric = "score" +variant = "highest reasoning effort" +harness = "ReAct with web search, visit, and Python" +dataset = "expert-validated internal set" +source = "https://huggingface.co/inclusionAI/Ling-3.0-flash-Fin" + +[[benchmarks]] +name = "FinCRAFT" +score = 51.74 +metric = "score" +variant = "highest reasoning effort" +dataset = "internal" +source = "https://huggingface.co/inclusionAI/Ling-3.0-flash-Fin" + +[[benchmarks]] +name = "Finance Agent" +score = 69.19 +metric = "strict-pass" +variant = "highest reasoning effort; 10 runs" +version = "1.1" +source = "https://huggingface.co/inclusionAI/Ling-3.0-flash-Fin" + +[[benchmarks]] +name = "Finance Agent" +score = 59.81 +metric = "strict-pass" +variant = "highest reasoning effort; 20 runs" +version = "2" +source = "https://huggingface.co/inclusionAI/Ling-3.0-flash-Fin" + +[[benchmarks]] +name = "APEX-Agents" +score = 29.17 +metric = "score" +variant = "highest reasoning effort" +source = "https://huggingface.co/inclusionAI/Ling-3.0-flash-Fin" + +[[benchmarks]] +name = "SpreadsheetBench" +score = 86.5 +metric = "score" +variant = "highest reasoning effort; temperature=0.6; 120 turns; 3h timeout" +version = "1" +harness = "Claude Code 2.1.173" +source = "https://huggingface.co/inclusionAI/Ling-3.0-flash-Fin" + +[[benchmarks]] +name = "SpreadsheetBench" +score = 21.81 +metric = "score" +variant = "highest reasoning effort; temperature=0.6; 300 turns; 3h timeout" +version = "2" +harness = "Claude Code 2.1.173" +source = "https://huggingface.co/inclusionAI/Ling-3.0-flash-Fin" + +[[benchmarks]] +name = "tau3-bench" +score = 41 +metric = "score" +variant = "highest reasoning effort; banking" +source = "https://huggingface.co/inclusionAI/Ling-3.0-flash-Fin" diff --git a/models/inclusionai/ling-3.0-flash-sante.toml b/models/inclusionai/ling-3.0-flash-sante.toml new file mode 100644 index 0000000000..6d6e0b1f96 --- /dev/null +++ b/models/inclusionai/ling-3.0-flash-sante.toml @@ -0,0 +1,26 @@ +# https://vercel.com/changelog/ling-3-0-flash-sante-is-now-available-on-ai-gateway-for-free +# https://novita.ai/models/model-detail/inclusionai-ling-3.0-flash-sante +# The open Ling backbone does not establish that Sante's medical fine-tune has public weights. +# Sampling: no Sante-specific docs; this is a fine-tune of Ling 3.0 Flash, whose model card recommends temperature, +# top_p and top_k (https://huggingface.co/inclusionAI/Ling-3.0-flash). +schema = 2 +name = "Ling 3.0 Flash Sante" +description = "Health and medicine specialization of Ling 3.0 Flash for medical reasoning and evidence-based retrieval" +family = "ling" +open_weights = false +release_date = "2026-09-04" + +[modalities] +input = ["text"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } +temperature = true +top_p = true +top_k = true + +[limit] +context = 262_144 +output = 32_768 diff --git a/models/inclusionai/ling-3.0-flash-vl.toml b/models/inclusionai/ling-3.0-flash-vl.toml new file mode 100644 index 0000000000..17d97003aa --- /dev/null +++ b/models/inclusionai/ling-3.0-flash-vl.toml @@ -0,0 +1,32 @@ +# https://huggingface.co/inclusionAI/Ling-3.0-flash-VL +# https://openrouter.ai/inclusionai/ling-3.0-flash-vl +# Sampling: open weights; the model card recommends temperature, top_p and top_k (temperature=1.0, top_p=0.95, top_k=20) +# (https://huggingface.co/inclusionAI/Ling-3.0-flash-VL). +# Input: the model card documents image_url and video_url input but no formats, and inclusionAI has no +# first-party API docs listing them, so input stays generic `image`/`video`. +schema = 2 +name = "Ling 3.0 Flash VL" +description = "Native multimodal hybrid MoE model for image and video understanding, reasoning, and visual agents" +family = "ling" +open_weights = true +release_date = "2026-09-10" +license = "MIT" + +[modalities] +input = ["text", "image", "video"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } +temperature = true +top_p = true +top_k = true + +[limit] +context = 262_144 +output = 32_768 + +[[weights]] +label = "Hugging Face" +url = "https://huggingface.co/inclusionAI/Ling-3.0-flash-VL" diff --git a/models/inclusionai/ling-3.0-flash.toml b/models/inclusionai/ling-3.0-flash.toml new file mode 100644 index 0000000000..856f06f0f6 --- /dev/null +++ b/models/inclusionai/ling-3.0-flash.toml @@ -0,0 +1,30 @@ +# https://huggingface.co/inclusionAI/Ling-3.0-flash +# https://openrouter.ai/inclusionai/ling-3.0-flash +# Sampling: open weights; the model card recommends temperature, top_p and top_k (temperature=0.6, top_p=0.95, top_k=20) +# (https://huggingface.co/inclusionAI/Ling-3.0-flash). +schema = 2 +name = "Ling 3.0 Flash" +description = "Hybrid-linear MoE reasoning model with 124B total and 5.1B active parameters for efficient agents" +family = "ling" +open_weights = true +release_date = "2026-07-23" +license = "MIT" + +[modalities] +input = ["text"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } +temperature = true +top_p = true +top_k = true + +[limit] +context = 262_144 +output = 32_768 + +[[weights]] +label = "Hugging Face" +url = "https://huggingface.co/inclusionAI/Ling-3.0-flash" diff --git a/models/inclusionai/ling-3.1-flash.toml b/models/inclusionai/ling-3.1-flash.toml new file mode 100644 index 0000000000..a5c6ed712f --- /dev/null +++ b/models/inclusionai/ling-3.1-flash.toml @@ -0,0 +1,24 @@ +# Open weights: MIT-licensed checkpoint published 2026-10-13 at https://huggingface.co/inclusionAI/Ling-3.1-flash. +# Sampling: open weights; the model card recommends temperature, top_p and top_k (temperature=1.0, top_p=0.95, top_k=20) +# (https://huggingface.co/inclusionAI/Ling-3.1-flash). +schema = 2 +name = "Ling 3.1 Flash" +description = "Efficient model for low-latency assistance, extraction, and routine automation" +family = "ling" +open_weights = true +release_date = "2026-09-29" + +[modalities] +input = ["text"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } +temperature = true +top_p = true +top_k = true + +[limit] +context = 262_144 +output = 32_768 diff --git a/models/inference-net/schematron-v2-small.toml b/models/inference-net/schematron-v2-small.toml new file mode 100644 index 0000000000..2f62bd4d09 --- /dev/null +++ b/models/inference-net/schematron-v2-small.toml @@ -0,0 +1,28 @@ +# Lab metadata carried over from providers/openrouter/models/inference-net/schematron-v2-small.toml (curated catalogue data already in this repo), +# with provider-specific fields (cost, reasoning_options, status) stripped. +# Release: Inference.net launch post "Schematron V2: Frontier HTML-to-JSON extraction at a fraction of the cost", +# published 2026-04-16 (https://inference.net/blog/schematron-v2). The 2026-09-12 date was OpenRouter's listing date. +# Open weights: false. The same post says "The Schematron V2 Small and V2 Turbo model weights will remain closed-source +# for now, available exclusively through our serverless API"; only the V1 3B and 8B models are on Hugging Face. +# Sampling: Inference.net's API takes temperature and top_p, no top_k (https://docs.inference.net/llms-full.txt, +# "Supported Request Parameters"); https://docs.inference.net/workhorse-models/schematron recommends temperature 0. +schema = 2 +name = "Schematron V2 Small" +description = "Efficient model for low-latency assistance, extraction, and routine automation" +open_weights = false +release_date = "2026-04-16" + +[modalities] +input = ["text"] +output = ["text"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = true +top_p = true +top_k = false + +[limit] +context = 128_000 +output = 4_096 diff --git a/models/inference-net/schematron-v2-turbo.toml b/models/inference-net/schematron-v2-turbo.toml new file mode 100644 index 0000000000..b26be19c80 --- /dev/null +++ b/models/inference-net/schematron-v2-turbo.toml @@ -0,0 +1,28 @@ +# Lab metadata carried over from providers/openrouter/models/inference-net/schematron-v2-turbo.toml (curated catalogue data already in this repo), +# with provider-specific fields (cost, reasoning_options, status) stripped. +# Release: Inference.net launch post "Schematron V2: Frontier HTML-to-JSON extraction at a fraction of the cost", +# published 2026-04-16 (https://inference.net/blog/schematron-v2). The 2026-09-12 date was OpenRouter's listing date. +# Open weights: false. The same post says "The Schematron V2 Small and V2 Turbo model weights will remain closed-source +# for now, available exclusively through our serverless API"; only the V1 3B and 8B models are on Hugging Face. +# Sampling: Inference.net's API takes temperature and top_p, no top_k (https://docs.inference.net/llms-full.txt, +# "Supported Request Parameters"); https://docs.inference.net/workhorse-models/schematron recommends temperature 0. +schema = 2 +name = "Schematron V2 Turbo" +description = "Efficient model for low-latency assistance, extraction, and routine automation" +open_weights = false +release_date = "2026-04-16" + +[modalities] +input = ["text"] +output = ["text"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = true +top_p = true +top_k = false + +[limit] +context = 128_000 +output = 8_192 diff --git a/models/intfloat/e5-base-v2.toml b/models/intfloat/e5-base-v2.toml new file mode 100644 index 0000000000..decff1a48a --- /dev/null +++ b/models/intfloat/e5-base-v2.toml @@ -0,0 +1,29 @@ +# Published May 2023 (MIT, 512-token input): https://huggingface.co/intfloat/e5-base-v2 +# Paper: https://arxiv.org/abs/2212.03533 +schema = 2 +v2_only = true +type = "embedding" +name = "E5 Base v2" +description = "English text embedding model for retrieval and semantic similarity" +open_weights = true +release_date = "2023-05" +license = "MIT" + +[modalities] +input = ["text"] +output = ["embedding"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 512 +output = 0 + +[[weights]] +label = "Hugging Face" +url = "https://huggingface.co/intfloat/e5-base-v2" diff --git a/models/intfloat/e5-large-v2.toml b/models/intfloat/e5-large-v2.toml new file mode 100644 index 0000000000..b89e1c978c --- /dev/null +++ b/models/intfloat/e5-large-v2.toml @@ -0,0 +1,29 @@ +# Published May 2023 (MIT, 512-token input): https://huggingface.co/intfloat/e5-large-v2 +# Paper: https://arxiv.org/abs/2212.03533 +schema = 2 +v2_only = true +type = "embedding" +name = "E5 Large v2" +description = "English text embedding model for retrieval and semantic similarity" +open_weights = true +release_date = "2023-05" +license = "MIT" + +[modalities] +input = ["text"] +output = ["embedding"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 512 +output = 0 + +[[weights]] +label = "Hugging Face" +url = "https://huggingface.co/intfloat/e5-large-v2" diff --git a/models/intfloat/multilingual-e5-large.toml b/models/intfloat/multilingual-e5-large.toml new file mode 100644 index 0000000000..1c82f030b4 --- /dev/null +++ b/models/intfloat/multilingual-e5-large.toml @@ -0,0 +1,29 @@ +# Published June 2023 (MIT, 512-token input): https://huggingface.co/intfloat/multilingual-e5-large +# Paper: https://arxiv.org/abs/2212.03533 +schema = 2 +v2_only = true +type = "embedding" +name = "Multilingual E5 Large" +description = "Multilingual text embedding model for retrieval and semantic similarity" +open_weights = true +release_date = "2023-06" +license = "MIT" + +[modalities] +input = ["text"] +output = ["embedding"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 512 +output = 0 + +[[weights]] +label = "Hugging Face" +url = "https://huggingface.co/intfloat/multilingual-e5-large" diff --git a/models/inworld/inworld-tts-1.5-max.toml b/models/inworld/inworld-tts-1.5-max.toml new file mode 100644 index 0000000000..67072d8e86 --- /dev/null +++ b/models/inworld/inworld-tts-1.5-max.toml @@ -0,0 +1,25 @@ +# Model IDs and release (2026-01-21, "Inworld TTS 1.5"): https://docs.inworld.ai/release-notes/tts +# Output formats (audioConfig.audioEncoding LINEAR16/WAV, MP3, OGG_OPUS, ALAW, MULAW, FLAC, PCM) and +# temperature: https://docs.inworld.ai/api-reference/ttsAPI/texttospeech/synthesize-speech +schema = 2 +v2_only = true +type = "speech" +name = "TTS-1.5 Max" +description = "Realtime text-to-speech model with expressive, stable delivery and voice cloning across 15 languages" +open_weights = false +release_date = "2026-01-21" + +[modalities] +input = ["text"] +output = ["audio/wav", "audio/mpeg", "audio/ogg", "audio/alaw", "audio/basic", "audio/flac", "audio/pcm"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = true +top_p = false +top_k = false + +[limit] +context = 0 +output = 0 diff --git a/models/inworld/inworld-tts-1.5-mini.toml b/models/inworld/inworld-tts-1.5-mini.toml new file mode 100644 index 0000000000..586a11f158 --- /dev/null +++ b/models/inworld/inworld-tts-1.5-mini.toml @@ -0,0 +1,25 @@ +# Model IDs and release (2026-01-21, "Inworld TTS 1.5"): https://docs.inworld.ai/release-notes/tts +# Output formats (audioConfig.audioEncoding LINEAR16/WAV, MP3, OGG_OPUS, ALAW, MULAW, FLAC, PCM) and +# temperature: https://docs.inworld.ai/api-reference/ttsAPI/texttospeech/synthesize-speech +schema = 2 +v2_only = true +type = "speech" +name = "TTS-1.5 Mini" +description = "Lowest-latency realtime text-to-speech model of the TTS-1.5 family, with voice cloning across 15 languages" +open_weights = false +release_date = "2026-01-21" + +[modalities] +input = ["text"] +output = ["audio/wav", "audio/mpeg", "audio/ogg", "audio/alaw", "audio/basic", "audio/flac", "audio/pcm"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = true +top_p = false +top_k = false + +[limit] +context = 0 +output = 0 diff --git a/models/inworld/inworld-tts-2.toml b/models/inworld/inworld-tts-2.toml new file mode 100644 index 0000000000..87241b84d4 --- /dev/null +++ b/models/inworld/inworld-tts-2.toml @@ -0,0 +1,26 @@ +# Model ID and release (2026-05-05, "Realtime TTS-2"): https://docs.inworld.ai/release-notes/tts +# Output formats (audioConfig.audioEncoding LINEAR16/WAV, MP3, OGG_OPUS, ALAW, MULAW, FLAC, PCM); +# temperature is ignored on inworld-tts-2 (deliveryMode instead): +# https://docs.inworld.ai/api-reference/ttsAPI/texttospeech/synthesize-speech +schema = 2 +v2_only = true +type = "speech" +name = "Realtime TTS-2" +description = "Expressive text-to-speech model with natural-language steering, voice cloning and cross-lingual synthesis" +open_weights = false +release_date = "2026-05-05" + +[modalities] +input = ["text"] +output = ["audio/wav", "audio/mpeg", "audio/ogg", "audio/alaw", "audio/basic", "audio/flac", "audio/pcm"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 0 +output = 0 diff --git a/models/k2-fsa/omnivoice.toml b/models/k2-fsa/omnivoice.toml new file mode 100644 index 0000000000..e43ed5afba --- /dev/null +++ b/models/k2-fsa/omnivoice.toml @@ -0,0 +1,29 @@ +# Sources (accessed 2026-10-21): https://huggingface.co/k2-fsa/OmniVoice (Hub createdAt 2026-03-30): massively multilingual +# zero-shot text-to-speech (600+ languages) with voice cloning from reference audio; built on Qwen3-0.6B. +# Weights: CC-BY-NC, non-commercial use only (AMD Token Factory listing). Output format is not documented, so it stays generic. +schema = 2 +v2_only = true +type = "speech" +name = "OmniVoice" +description = "Massively multilingual zero-shot text-to-speech model with preset, described or cloned voices" +open_weights = true +release_date = "2026-03-30" + +[modalities] +input = ["text"] +output = ["audio"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 0 +output = 0 + +[[weights]] +label = "Hugging Face" +url = "https://huggingface.co/k2-fsa/OmniVoice" diff --git a/models/krea/krea-2-large.toml b/models/krea/krea-2-large.toml new file mode 100644 index 0000000000..b1f000cb10 --- /dev/null +++ b/models/krea/krea-2-large.toml @@ -0,0 +1,25 @@ +# Announced 2026-05-12 as Krea's first foundation image model: https://www.krea.ai/krea-2 +# Variants and API: https://www.krea.ai/docs/developers/krea-2/overview (style references by URL or data URI) +# Output image/png through OpenRouter's Images API (2026-10-20); input formats per https://www.eachlabs.ai/krea/krea-3/krea-3-image-edit/llms.txt +schema = 2 +v2_only = true +type = "image" +name = "Krea 2 Large" +description = "Krea 2 image model for photorealism and raw textures" +open_weights = false +release_date = "2026-05-12" + +[modalities] +input = ["text", "image/png", "image/jpeg", "image/webp"] +output = ["image/png"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 0 +output = 0 diff --git a/models/krea/krea-2-medium-turbo.toml b/models/krea/krea-2-medium-turbo.toml new file mode 100644 index 0000000000..e66bd6cd7b --- /dev/null +++ b/models/krea/krea-2-medium-turbo.toml @@ -0,0 +1,29 @@ +# Released 2026-06-03: https://www.krea.ai/blog/krea-2-turbo; API endpoint krea-2/medium-turbo: +# https://www.krea.ai/docs/api-reference/krea/krea-2-turbo. Weights: https://huggingface.co/krea/Krea-2-Turbo (custom license). +# Output image/png through OpenRouter's Images API (2026-10-20). +schema = 2 +v2_only = true +type = "image" +name = "Krea 2 Turbo" +description = "8-step distilled Krea 2 Medium image model for fast iteration" +open_weights = true +release_date = "2026-06-03" + +[modalities] +input = ["text", "image/png", "image/jpeg", "image/webp"] +output = ["image/png"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 0 +output = 0 + +[[weights]] +label = "Hugging Face" +url = "https://huggingface.co/krea/Krea-2-Turbo" diff --git a/models/krea/krea-2-medium.toml b/models/krea/krea-2-medium.toml new file mode 100644 index 0000000000..cc0adfc092 --- /dev/null +++ b/models/krea/krea-2-medium.toml @@ -0,0 +1,25 @@ +# Announced 2026-05-12 as Krea's first foundation image model: https://www.krea.ai/krea-2 +# Variants and API: https://www.krea.ai/docs/developers/krea-2/overview (style references by URL or data URI) +# Output image/png through OpenRouter's Images API (2026-10-20); input formats per https://www.eachlabs.ai/krea/krea-3/krea-3-image-edit/llms.txt +schema = 2 +v2_only = true +type = "image" +name = "Krea 2 Medium" +description = "Balanced Krea 2 image model for general and expressive styles" +open_weights = false +release_date = "2026-05-12" + +[modalities] +input = ["text", "image/png", "image/jpeg", "image/webp"] +output = ["image/png"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 0 +output = 0 diff --git a/models/krea/krea-3.toml b/models/krea/krea-3.toml new file mode 100644 index 0000000000..4c2bcb2ba7 --- /dev/null +++ b/models/krea/krea-3.toml @@ -0,0 +1,25 @@ +# Released 2026-10-15: https://www.krea.ai/blog/introducing-krea-3 (served on OpenRouter as K3 Edit) +# API: https://www.krea.ai/docs/developers/krea-3/overview; input JPEG, PNG or WebP per +# https://www.eachlabs.ai/krea/krea-3/krea-3-image-edit/llms.txt. Output image/png through OpenRouter (2026-10-20). +schema = 2 +v2_only = true +type = "image" +name = "Krea 3" +description = "Fast image editing model that keeps products and characters consistent" +open_weights = false +release_date = "2026-10-15" + +[modalities] +input = ["text", "image/png", "image/jpeg", "image/webp"] +output = ["image/png"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 0 +output = 0 diff --git a/models/kuaishou/kling-v3.0-pro.toml b/models/kuaishou/kling-v3.0-pro.toml new file mode 100644 index 0000000000..705651ad4b --- /dev/null +++ b/models/kuaishou/kling-v3.0-pro.toml @@ -0,0 +1,25 @@ +# Released 2026-02-05: https://ir.kuaishou.com/news-releases/news-release-details/kling-ai-launches-30-model-ushering-era-where-everyone-can-be +# Image inputs JPG/JPEG or PNG: https://app.klingai.com/global/dev/document-api/apiReference/model/imageToVideo +# Output: MP4; generated sound is a track inside the MP4, so no audio MIME type is listed. +schema = 2 +v2_only = true +type = "video" +name = "Kling VIDEO 3.0 Pro" +description = "Higher-quality Kling 3.0 video model with first and last frame control and native audio" +open_weights = false +release_date = "2026-02-05" + +[modalities] +input = ["text", "image/jpeg", "image/png"] +output = ["video/mp4"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 0 +output = 0 diff --git a/models/kuaishou/kling-v3.0-std.toml b/models/kuaishou/kling-v3.0-std.toml new file mode 100644 index 0000000000..88b8cac3eb --- /dev/null +++ b/models/kuaishou/kling-v3.0-std.toml @@ -0,0 +1,25 @@ +# Released 2026-02-05: https://ir.kuaishou.com/news-releases/news-release-details/kling-ai-launches-30-model-ushering-era-where-everyone-can-be +# Image inputs JPG/JPEG or PNG: https://app.klingai.com/global/dev/document-api/apiReference/model/imageToVideo +# Output: MP4; generated sound is a track inside the MP4, so no audio MIME type is listed. +schema = 2 +v2_only = true +type = "video" +name = "Kling VIDEO 3.0 Standard" +description = "Kling 3.0 video model with first and last frame control and native audio" +open_weights = false +release_date = "2026-02-05" + +[modalities] +input = ["text", "image/jpeg", "image/png"] +output = ["video/mp4"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 0 +output = 0 diff --git a/models/kuaishou/kling-video-o1.toml b/models/kuaishou/kling-video-o1.toml new file mode 100644 index 0000000000..0d0bbb47e7 --- /dev/null +++ b/models/kuaishou/kling-video-o1.toml @@ -0,0 +1,25 @@ +# Released 2025-12-01 (Kling Omni Launch Week, day 1): https://x.com/Kling_ai/status/1995506929461002590 +# Image inputs JPG/JPEG or PNG: https://app.klingai.com/global/dev/document-api/apiReference/model/imageToVideo +# Output: MP4. +schema = 2 +v2_only = true +type = "video" +name = "Kling VIDEO O1" +description = "Unified multimodal Kling model for video generation and editing" +open_weights = false +release_date = "2025-12-01" + +[modalities] +input = ["text", "image/jpeg", "image/png"] +output = ["video/mp4"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 0 +output = 0 diff --git a/models/lightonai/lightonocr-3-0.8b.toml b/models/lightonai/lightonocr-3-0.8b.toml new file mode 100644 index 0000000000..e4eb5b13a2 --- /dev/null +++ b/models/lightonai/lightonocr-3-0.8b.toml @@ -0,0 +1,42 @@ +# Sources (accessed 2026-10-16): +# https://huggingface.co/lightonai/LightOnOCR-3-0.8B +# https://huggingface.co/blog/lightonai/lightonocr-3 +# Paper: https://arxiv.org/abs/2601.14251 +schema = 2 +name = "LightOnOCR-3 0.8B" +description = "LightOnOCR-3-0.8B is the lightest model of LightOn's LightOnOCR-3 family, with the same layout and visual understanding features as its larger siblings." +open_weights = true +release_date = "2026-10-08" +last_updated = "2026-10-14" +license = "apache-2.0" + +[modalities] +input = ["text", "image"] +output = ["text"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = true +top_p = true +top_k = true + +[limit] +context = 262_144 +output = 16_384 + +[[weights]] +label = "Hugging Face" +url = "https://huggingface.co/lightonai/LightOnOCR-3-0.8B" + +[[benchmarks]] +name = "olmOCR-bench" +score = 85.5 +metric = "score" +source = "https://huggingface.co/lightonai/LightOnOCR-3-0.8B" + +[[benchmarks]] +name = "ParseBench" +score = 74.6 +metric = "mean" +source = "https://huggingface.co/lightonai/LightOnOCR-3-0.8B" diff --git a/models/liquid/d1.toml b/models/liquid/d1.toml new file mode 100644 index 0000000000..3f315ee6c4 --- /dev/null +++ b/models/liquid/d1.toml @@ -0,0 +1,28 @@ +# https://ai-gateway.vercel.sh/v1/models (liquid/d1, type = evaluation) +# https://docs.liquid.ai/lfm/models/d1 (decision API: model, state, questions and images; answers with zero generated tokens) +# Sampling: the decision endpoint generates no tokens and takes no temperature, top_p or top_k. +# Output: decision answers (v1 shows them as text). +# Modalities: d1 "accepts text and image inputs"; Image Requirements lists JPEG (image/jpeg), PNG (image/png), +# WebP (image/webp) and GIF (image/gif) (https://docs.liquid.ai/lfm/models/d1). +schema = 2 +type = "decision" +name = "Liquid d1" +description = "System One decision model for typed classification, routing, and scoring over shared state" +family = "liquid" +open_weights = false +release_date = "2026-09-29" + +[modalities] +input = ["text", "image/jpeg", "image/png", "image/webp", "image/gif"] +output = ["decision"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 65_536 +output = 0 diff --git a/models/liquid/lfm2-24b-a2b.toml b/models/liquid/lfm2-24b-a2b.toml new file mode 100644 index 0000000000..b3a8e56ac4 --- /dev/null +++ b/models/liquid/lfm2-24b-a2b.toml @@ -0,0 +1,31 @@ +# Model card (https://huggingface.co/LiquidAI/LFM2-24B-A2B): 24B MoE with 2B active parameters, "a +# general-purpose instruct model (without reasoning traces)", context length 32,768 tokens, native function +# calling, LFM Open License v1.0. Published 2026-02-24 (Hugging Face API createdAt). +# Output: no separate generation cap is published, so output = context. +# Sampling: open weights, so temperature/top_p/top_k are runtime features of the host. +schema = 2 +name = "LFM2 24B A2B" +description = "Efficient open Liquid MoE instruct model for on-device chat and tool calling" +family = "liquid" +open_weights = true +release_date = "2026-02-24" +license = "LFM Open License v1.0" + +[modalities] +input = ["text"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = false } +temperature = true +top_p = true +top_k = true + +[limit] +context = 32_768 +output = 32_768 + +[[weights]] +label = "Hugging Face" +url = "https://huggingface.co/LiquidAI/LFM2-24B-A2B" diff --git a/models/liquid/lfm2.5-embedding-350m.toml b/models/liquid/lfm2.5-embedding-350m.toml new file mode 100644 index 0000000000..8635ac5004 --- /dev/null +++ b/models/liquid/lfm2.5-embedding-350m.toml @@ -0,0 +1,31 @@ +# Released 2026-06-18: https://www.liquid.ai/blog/lfm2-5-retrievers +# https://huggingface.co/LiquidAI/LFM2.5-Embedding-350M +# Context: 512 tokens as served on OpenRouter (https://openrouter.ai/liquid/lfm-2.5-embedding-350m:free) +schema = 2 +v2_only = true +type = "embedding" +name = "LFM2.5-Embedding-350M" +description = "Open multilingual text embedding model for retrieval and semantic search" +family = "liquid" +open_weights = true +release_date = "2026-06-18" +license = "LFM Open License v1.0" + +[modalities] +input = ["text"] +output = ["embedding"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 512 +output = 0 + +[[weights]] +label = "Hugging Face" +url = "https://huggingface.co/LiquidAI/LFM2.5-Embedding-350M" diff --git a/models/mancer/weaver.toml b/models/mancer/weaver.toml new file mode 100644 index 0000000000..9da7f13dc2 --- /dev/null +++ b/models/mancer/weaver.toml @@ -0,0 +1,26 @@ +# Lab metadata carried over from providers/openrouter/models/mancer/weaver.toml (curated catalogue data already in this repo), +# with provider-specific fields (cost, reasoning_options, status) stripped. +# https://mancer.tech/models.html (Weaver Alpha: LLaMA 2 13B, 8000 context tokens, 6000 max output) +# Sampling: Mancer's API takes temperature, top_p and top_k (https://mancer.tech/resources/api-docs-webui.yml). +schema = 2 +name = "Weaver (alpha)" +description = "General-purpose chat model for instruction following, writing, and analysis" +family = "alpha" +open_weights = false +knowledge = "2023-06-30" +release_date = "2023-08-02" + +[modalities] +input = ["text"] +output = ["text"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = true +top_p = true +top_k = true + +[limit] +context = 8_000 +output = 6_000 diff --git a/models/meituan/longcat-2.0.toml b/models/meituan/longcat-2.0.toml index 4b0e11968c..65343e0355 100644 --- a/models/meituan/longcat-2.0.toml +++ b/models/meituan/longcat-2.0.toml @@ -1,22 +1,29 @@ +# Open weights: https://huggingface.co/meituan-longcat/LongCat-2.0 (MIT, public since 2026-07-05) +# Release: https://longcat.chat/platform/docs/change-log (2026-06-30, LongCat-2.0 release) +# Sampling: open weights, so temperature, top_p and top_k all apply when self-hosted. LongCat's own API takes top_p and +# top_k but fixes temperature (https://longcat.chat/platform/docs/api/model-params). +schema = 2 name = "LongCat-2.0" description = "Meituan LongCat-2.0, a reasoning model with tool calling and a 1M-token context window" family = "longcat" -attachment = false -reasoning = true -temperature = true -tool_call = true +open_weights = true release_date = "2026-06-30" -last_updated = "2026-06-30" -open_weights = false - -[limit] -context = 1_000_000 -output = 131_072 [modalities] input = ["text"] output = ["text"] +[capabilities] +tools = { supported = true } +reasoning = { supported = true } +temperature = true +top_p = true +top_k = true + +[limit] +context = 1_000_000 +output = 131_072 + [[benchmarks]] name = "SWE-Bench Pro" score = 59.5 diff --git a/models/meituan/longcat-2.5-preview.toml b/models/meituan/longcat-2.5-preview.toml new file mode 100644 index 0000000000..4ff2bb1b6c --- /dev/null +++ b/models/meituan/longcat-2.5-preview.toml @@ -0,0 +1,26 @@ +# https://longcat.chat/platform/docs/change-log (2026-09-25: LongCat-2.5-Preview, new image understanding) +# https://longcat.chat/platform/docs/ (1M context) +# Sampling: https://longcat.chat/platform/docs/api/model-params fixes temperature (1.0 with thinking on, 0.7 off; other +# values are overridden) and accepts top_p (0, 1] and top_k [-1, 100]. +# Modalities: image input is documented but LongCat's docs list no image formats, so input keeps the generic image. +schema = 2 +name = "LongCat-2.5-Preview" +description = "Meituan's multimodal reasoning model for coding and agent tasks, with image understanding and a 1M-token context window" +family = "longcat" +open_weights = false +release_date = "2026-09-25" + +[modalities] +input = ["text", "image"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } +temperature = false +top_p = true +top_k = true + +[limit] +context = 1_000_000 +output = 131_072 diff --git a/models/meta/llama-3.1-70b-instruct.toml b/models/meta/llama-3.1-70b-instruct.toml index cc71a1871d..b62932a446 100644 --- a/models/meta/llama-3.1-70b-instruct.toml +++ b/models/meta/llama-3.1-70b-instruct.toml @@ -1,23 +1,26 @@ +schema = 2 name = "Llama-3.1-70B-Instruct" description = "Open Llama instruction model for multilingual chat, reasoning, and coding" family = "llama" +open_weights = true +knowledge = "2023-12" release_date = "2024-07-23" -last_updated = "2024-07-23" -attachment = false -reasoning = false + +[modalities] +input = ["text"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = false } temperature = true -tool_call = true -knowledge = "2023-12" -open_weights = true +top_p = true +top_k = true [limit] context = 128_000 output = 4_096 -[modalities] -input = ["text"] -output = ["text"] - [[weights]] label = "Hugging Face" url = "https://huggingface.co/meta-llama/Llama-3.1-70B-Instruct" diff --git a/models/meta/llama-3.1-8b-instruct.toml b/models/meta/llama-3.1-8b-instruct.toml index ff2584e0ba..0e02ed63ba 100644 --- a/models/meta/llama-3.1-8b-instruct.toml +++ b/models/meta/llama-3.1-8b-instruct.toml @@ -1,23 +1,26 @@ +schema = 2 name = "Llama-3.1-8B-Instruct" description = "Compact open Llama model for lightweight chat, drafting, and self-hosting" family = "llama" +open_weights = true +knowledge = "2023-12" release_date = "2024-07-23" -last_updated = "2024-07-23" -attachment = false -reasoning = false + +[modalities] +input = ["text"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = false } temperature = true -tool_call = true -knowledge = "2023-12" -open_weights = true +top_p = true +top_k = true [limit] context = 128_000 output = 4_096 -[modalities] -input = ["text"] -output = ["text"] - [[weights]] label = "Hugging Face" url = "https://huggingface.co/meta-llama/Llama-3.1-8B-Instruct" diff --git a/models/meta/llama-3.2-11b-vision-instruct.toml b/models/meta/llama-3.2-11b-vision-instruct.toml index b561ab747d..7f08264d9e 100644 --- a/models/meta/llama-3.2-11b-vision-instruct.toml +++ b/models/meta/llama-3.2-11b-vision-instruct.toml @@ -1,23 +1,29 @@ +# `image` stays generic: Meta publishes no image format list for Llama 3.2 Vision. Its vision guide +# (https://www.llama.com/docs/how-to-guides/vision-capabilities/) and model card name none, and Meta's API format lists +# (Llama API, Meta Model API) cover the models those APIs served (Llama 4, Muse). +schema = 2 name = "Llama-3.2-11B-Vision-Instruct" description = "Open multimodal Llama model for image understanding, captioning, and visual QA" family = "llama" +open_weights = true +knowledge = "2023-12" release_date = "2024-09-25" -last_updated = "2024-09-25" -attachment = true -reasoning = false + +[modalities] +input = ["text", "image"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = false } temperature = true -tool_call = true -knowledge = "2023-12" -open_weights = true +top_p = true +top_k = true [limit] context = 128_000 output = 4_096 -[modalities] -input = ["text", "image"] -output = ["text"] - [[weights]] label = "Hugging Face" url = "https://huggingface.co/meta-llama/Llama-3.2-11B-Vision-Instruct" diff --git a/models/meta/llama-3.2-1b-instruct.toml b/models/meta/llama-3.2-1b-instruct.toml new file mode 100644 index 0000000000..380b062cc5 --- /dev/null +++ b/models/meta/llama-3.2-1b-instruct.toml @@ -0,0 +1,29 @@ +# https://huggingface.co/meta-llama/Llama-3.2-1B-Instruct +# Knowledge: "The pretraining data has a cutoff of December 2023" (https://github.com/meta-llama/llama-models/blob/main/models/llama3_2/MODEL_CARD.md). +schema = 2 +name = "Llama 3.2 1B Instruct" +description = "Compact instruction-tuned Llama model for multilingual dialogue and on-device assistants" +family = "llama" +open_weights = true +knowledge = "2023-12" +release_date = "2024-09-25" +license = "Llama 3.2 Community License" + +[modalities] +input = ["text"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = false } +temperature = true +top_p = true +top_k = true + +[limit] +context = 131_072 +output = 32_000 + +[[weights]] +label = "Hugging Face" +url = "https://huggingface.co/meta-llama/Llama-3.2-1B-Instruct" diff --git a/models/meta/llama-3.2-1b.toml b/models/meta/llama-3.2-1b.toml index d345357d50..50c2338147 100644 --- a/models/meta/llama-3.2-1b.toml +++ b/models/meta/llama-3.2-1b.toml @@ -1,24 +1,27 @@ +schema = 2 name = "Llama-3.2-1B" description = "Compact open Llama base model for lightweight and on-device use" family = "llama" -release_date = "2024-09-25" -last_updated = "2024-09-25" -attachment = false -reasoning = false -temperature = true -tool_call = false -knowledge = "2023-12" open_weights = true +knowledge = "2023-12" +release_date = "2024-09-25" license = "Llama 3.2 Community License" -[limit] -context = 131_072 -output = 8_192 - [modalities] input = ["text"] output = ["text"] +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = true +top_p = true +top_k = true + +[limit] +context = 131_072 +output = 8_192 + [[weights]] label = "Hugging Face" url = "https://huggingface.co/meta-llama/Llama-3.2-1B" diff --git a/models/meta/llama-3.2-3b-instruct.toml b/models/meta/llama-3.2-3b-instruct.toml new file mode 100644 index 0000000000..6b8d77de37 --- /dev/null +++ b/models/meta/llama-3.2-3b-instruct.toml @@ -0,0 +1,32 @@ +# Model card: https://github.com/meta-llama/llama-models/blob/main/models/llama3_2/MODEL_CARD.md (mirrored at +# https://build.nvidia.com/meta/llama-3.2-3b-instruct): released September 25, 2024; text only; 128k context +# ("Context Length: 131,072 tokens", "Function Calling: Supported" on NVIDIA's card); pre-training cutoff December 2023. +# No separate output cap is published, so output = context. +# Sampling: open weights, so temperature/top_p/top_k are runtime features of the host. +schema = 2 +name = "Llama 3.2 3B Instruct" +description = "Small instruction-tuned Llama model for multilingual dialogue and agentic retrieval" +family = "llama" +open_weights = true +knowledge = "2023-12" +release_date = "2024-09-25" +license = "Llama 3.2 Community License" + +[modalities] +input = ["text"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = false } +temperature = true +top_p = true +top_k = true + +[limit] +context = 131_072 +output = 131_072 + +[[weights]] +label = "Hugging Face" +url = "https://huggingface.co/meta-llama/Llama-3.2-3B-Instruct" diff --git a/models/meta/llama-3.2-3b.toml b/models/meta/llama-3.2-3b.toml index d95f947694..2bfa2d5cbf 100644 --- a/models/meta/llama-3.2-3b.toml +++ b/models/meta/llama-3.2-3b.toml @@ -1,24 +1,27 @@ +schema = 2 name = "Llama-3.2-3B" description = "Small open Llama base model for lightweight text generation and self-hosting" family = "llama" -release_date = "2024-09-25" -last_updated = "2024-09-25" -attachment = false -reasoning = false -temperature = true -tool_call = false -knowledge = "2023-12" open_weights = true +knowledge = "2023-12" +release_date = "2024-09-25" license = "Llama 3.2 Community License" -[limit] -context = 131_072 -output = 8_192 - [modalities] input = ["text"] output = ["text"] +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = true +top_p = true +top_k = true + +[limit] +context = 131_072 +output = 8_192 + [[weights]] label = "Hugging Face" url = "https://huggingface.co/meta-llama/Llama-3.2-3B" diff --git a/models/meta/llama-3.2-90b-vision-instruct.toml b/models/meta/llama-3.2-90b-vision-instruct.toml new file mode 100644 index 0000000000..25713f07f4 --- /dev/null +++ b/models/meta/llama-3.2-90b-vision-instruct.toml @@ -0,0 +1,32 @@ +# Model card (https://huggingface.co/meta-llama/Llama-3.2-90B-Vision-Instruct, mirrored at +# https://build.nvidia.com/meta/llama-3.2-90b-vision-instruct): released September 25, 2024; text + image in, +# text out; 128k context; pre-training data cutoff December 2023; Llama 3.2 Community License. +# `image` stays generic and output matches the 11B Vision lab: Meta publishes no image format list or +# separate output cap for Llama 3.2 Vision. +schema = 2 +name = "Llama-3.2-90B-Vision-Instruct" +description = "Large open multimodal Llama model for image reasoning, document QA, and captioning" +family = "llama" +open_weights = true +knowledge = "2023-12" +release_date = "2024-09-25" +license = "Llama 3.2 Community License" + +[modalities] +input = ["text", "image"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = false } +temperature = true +top_p = true +top_k = true + +[limit] +context = 128_000 +output = 4_096 + +[[weights]] +label = "Hugging Face" +url = "https://huggingface.co/meta-llama/Llama-3.2-90B-Vision-Instruct" diff --git a/models/meta/llama-3.3-70b-instruct.toml b/models/meta/llama-3.3-70b-instruct.toml index 246ab54c9e..6f3657cd86 100644 --- a/models/meta/llama-3.3-70b-instruct.toml +++ b/models/meta/llama-3.3-70b-instruct.toml @@ -1,23 +1,26 @@ +schema = 2 name = "Llama-3.3-70B-Instruct" description = "Popular open Llama workhorse for multilingual chat, coding, and self-hosting" family = "llama" +open_weights = true +knowledge = "2023-12" release_date = "2024-12-06" -last_updated = "2024-12-06" -attachment = false -reasoning = false + +[modalities] +input = ["text"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = false } temperature = true -tool_call = true -knowledge = "2023-12" -open_weights = true +top_p = true +top_k = true [limit] context = 128_000 output = 4_096 -[modalities] -input = ["text"] -output = ["text"] - [[weights]] label = "Hugging Face" url = "https://huggingface.co/meta-llama/Llama-3.3-70B-Instruct" diff --git a/models/meta/llama-4-maverick-17b-instruct.toml b/models/meta/llama-4-maverick-17b-instruct.toml index 9bfba25df8..35e0550a8e 100644 --- a/models/meta/llama-4-maverick-17b-instruct.toml +++ b/models/meta/llama-4-maverick-17b-instruct.toml @@ -1,23 +1,30 @@ +# Image MIME types: Meta's Llama API (retired 2026-07-06) took image/jpeg, image/jpg, image/png, image/gif, image/webp and +# image/x-icon (mime_type enum in its OpenAPI spec, https://storage.googleapis.com/stainless-sdk-openapi-specs/meta%2Fllama-api-edf0a308dd29bea2feb29f2e7f04eec4dbfb130ffe52511641783958168f60a4.yml, +# referenced by https://github.com/meta-llama/llama-api-python/blob/main/.stats.yml). Meta Model API lists the same set +# (https://dev.meta.ai/docs/image-understanding); this keeps the four types the Muse lab files use for it. +schema = 2 name = "Llama 4 Maverick 17B Instruct" description = "Open multimodal Llama for strong reasoning with efficient everyday serving" family = "llama" +open_weights = true +knowledge = "2024-08" release_date = "2025-04-05" -last_updated = "2025-04-05" -attachment = true -reasoning = false + +[modalities] +input = ["text", "image/jpeg", "image/png", "image/gif", "image/webp"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = false } temperature = true -tool_call = true -knowledge = "2024-08" -open_weights = true +top_p = true +top_k = true [limit] context = 1_000_000 output = 16_384 -[modalities] -input = ["text", "image"] -output = ["text"] - [[weights]] label = "Hugging Face" url = "https://huggingface.co/meta-llama/Llama-4-Maverick-17B-128E-Instruct" diff --git a/models/meta/llama-4-scout-17b-instruct.toml b/models/meta/llama-4-scout-17b-instruct.toml index e129a0ceaa..e5a0cd9cc8 100644 --- a/models/meta/llama-4-scout-17b-instruct.toml +++ b/models/meta/llama-4-scout-17b-instruct.toml @@ -1,24 +1,31 @@ # https://github.com/meta-llama/llama-models/blob/main/models/llama4/MODEL_CARD.md +# Image MIME types: Meta's Llama API (retired 2026-07-06) took image/jpeg, image/jpg, image/png, image/gif, image/webp and +# image/x-icon (mime_type enum in its OpenAPI spec, https://storage.googleapis.com/stainless-sdk-openapi-specs/meta%2Fllama-api-edf0a308dd29bea2feb29f2e7f04eec4dbfb130ffe52511641783958168f60a4.yml, +# referenced by https://github.com/meta-llama/llama-api-python/blob/main/.stats.yml). Meta Model API lists the same set +# (https://dev.meta.ai/docs/image-understanding); this keeps the four types the Muse lab files use for it. +schema = 2 name = "Llama 4 Scout 17B Instruct" description = "Open Llama with long-context vision for efficient multimodal agents" family = "llama" +open_weights = true +knowledge = "2024-08" release_date = "2025-04-05" -last_updated = "2025-04-05" -attachment = true -reasoning = false + +[modalities] +input = ["text", "image/jpeg", "image/png", "image/gif", "image/webp"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = false } temperature = true -tool_call = true -knowledge = "2024-08" -open_weights = true +top_p = true +top_k = true [limit] context = 10_000_000 output = 16_384 -[modalities] -input = ["text", "image"] -output = ["text"] - [[weights]] label = "Hugging Face" url = "https://huggingface.co/meta-llama/Llama-4-Scout-17B-16E-Instruct" diff --git a/models/meta/llama-guard-3-8b.toml b/models/meta/llama-guard-3-8b.toml index 83b25c33bf..a95dad86c9 100644 --- a/models/meta/llama-guard-3-8b.toml +++ b/models/meta/llama-guard-3-8b.toml @@ -1,23 +1,26 @@ +schema = 2 name = "Llama-Guard-3-8B" description = "Llama 3.1-based safety classifier for moderating prompts and model responses" family = "llama" +open_weights = true +knowledge = "2023-12" release_date = "2024-07-23" -last_updated = "2024-07-23" -attachment = false -reasoning = false + +[modalities] +input = ["text"] +output = ["text"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } temperature = true -tool_call = false -knowledge = "2023-12" -open_weights = true +top_p = true +top_k = true [limit] context = 128_000 output = 4_096 -[modalities] -input = ["text"] -output = ["text"] - [[weights]] label = "Hugging Face" url = "https://huggingface.co/meta-llama/Llama-Guard-3-8B" diff --git a/models/meta/llama-guard-4-12b.toml b/models/meta/llama-guard-4-12b.toml new file mode 100644 index 0000000000..53e93bd3eb --- /dev/null +++ b/models/meta/llama-guard-4-12b.toml @@ -0,0 +1,32 @@ +# Model card (https://huggingface.co/meta-llama/Llama-Guard-4-12B, mirrored at +# https://build.nvidia.com/meta/llama-guard-4-12b): 12B safety classifier pruned from Llama 4 Scout that labels +# text and image prompts and responses against the MLCommons hazard taxonomy; text + image in, text (safety +# label) out; Llama 4 Community License. Release date: "Hugging Face: April 29, 2025" (NVIDIA card). +# Context: 163,840 tokens per the NVIDIA card. Output: a short label; no separate cap is published, so the +# Llama Guard 3 value (4,096) is not reused and output = context. +schema = 2 +name = "Llama Guard 4 12B" +description = "Multimodal Llama 4-based safety classifier for moderating prompts and responses" +family = "llama" +open_weights = true +release_date = "2025-04-29" +license = "Llama 4 Community License" + +[modalities] +input = ["text", "image"] +output = ["text"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = true +top_p = true +top_k = true + +[limit] +context = 163_840 +output = 163_840 + +[[weights]] +label = "Hugging Face" +url = "https://huggingface.co/meta-llama/Llama-Guard-4-12B" diff --git a/models/meta/llama-prompt-guard-2-22m.toml b/models/meta/llama-prompt-guard-2-22m.toml new file mode 100644 index 0000000000..91296ad3b1 --- /dev/null +++ b/models/meta/llama-prompt-guard-2-22m.toml @@ -0,0 +1,33 @@ +# Model card: https://github.com/meta-llama/PurpleLlama/blob/main/Llama-Prompt-Guard-2/86M/MODEL_CARD.md (covers 22M and 86M: +# base models, "Both Llama Prompt Guard 2 models support a 512-token context window"). Weights: +# https://huggingface.co/meta-llama/Llama-Prompt-Guard-2-22M (Llama 4 Community License, pipeline text-classification). +# Output 512: no generated text (a score), kept at the context size because lab files need an output limit. +# Released 2025-04-29 with Llama Guard 4 and LlamaFirewall: https://ai.meta.com/blog/llamacon-llama-news/ +# (repository created 2025-04-28, Hugging Face API createdAt). +# A classifier: it returns a jailbreak / prompt-injection probability, not generated text, so it takes no sampling parameters. +schema = 2 +name = "Llama Prompt Guard 2 22M" +description = "22M-parameter (DeBERTa-xsmall) English classifier that detects prompt injection and jailbreak attempts" +family = "llama" +open_weights = true +release_date = "2025-04-29" +license = "Llama 4 Community License" + +[modalities] +input = ["text"] +output = ["text"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 512 +output = 512 + +[[weights]] +label = "Hugging Face" +url = "https://huggingface.co/meta-llama/Llama-Prompt-Guard-2-22M" diff --git a/models/meta/llama-prompt-guard-2-86m.toml b/models/meta/llama-prompt-guard-2-86m.toml new file mode 100644 index 0000000000..04c421ec2a --- /dev/null +++ b/models/meta/llama-prompt-guard-2-86m.toml @@ -0,0 +1,33 @@ +# Model card: https://github.com/meta-llama/PurpleLlama/blob/main/Llama-Prompt-Guard-2/86M/MODEL_CARD.md (covers 22M and 86M: +# base models, "Both Llama Prompt Guard 2 models support a 512-token context window"). Weights: +# https://huggingface.co/meta-llama/Llama-Prompt-Guard-2-86M (Llama 4 Community License, pipeline text-classification). +# Output 512: no generated text (a score), kept at the context size because lab files need an output limit. +# Released 2025-04-29 with Llama Guard 4 and LlamaFirewall: https://ai.meta.com/blog/llamacon-llama-news/ +# (repository created 2025-04-28, Hugging Face API createdAt). +# A classifier: it returns a jailbreak / prompt-injection probability, not generated text, so it takes no sampling parameters. +schema = 2 +name = "Llama Prompt Guard 2 86M" +description = "86M-parameter (mDeBERTa-base) multilingual classifier that detects prompt injection and jailbreak attempts" +family = "llama" +open_weights = true +release_date = "2025-04-29" +license = "Llama 4 Community License" + +[modalities] +input = ["text"] +output = ["text"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 512 +output = 512 + +[[weights]] +label = "Hugging Face" +url = "https://huggingface.co/meta-llama/Llama-Prompt-Guard-2-86M" diff --git a/models/meta/muse-glimmer-30b.toml b/models/meta/muse-glimmer-30b.toml index 25981fc9f4..58991e592f 100644 --- a/models/meta/muse-glimmer-30b.toml +++ b/models/meta/muse-glimmer-30b.toml @@ -2,29 +2,33 @@ # https://research.meta.ai/blog/introducing-muse-glimmer-open-agentic-model # https://huggingface.co/meta-models/Muse-Glimmer-30B # https://developer.meta.com/ai/models/muse-glimmer/ - +# Sampling (temperature 1.0, top_p 0.95, top_k 64): https://dev.meta.ai/docs/muse-glimmer/prompting +# `image` stays generic: Muse Glimmer is self-hosted only, not on Model API (https://dev.meta.ai/docs/models), and its +# deploy guide (https://dev.meta.ai/docs/muse-glimmer/deploy) takes a URL, data URI or local path without naming formats. +schema = 2 name = "Muse Glimmer 30B" description = "Muse Glimmer is a 30-billion-parameter open-weight multimodal model from Meta Superintelligence Labs, distilled from Muse Spark for always-on local agents, tool use, coding, and image understanding." family = "muse" -release_date = "2026-08-10" -last_updated = "2026-08-10" -attachment = true -reasoning = true -temperature = true -tool_call = true -structured_output = true -knowledge = "2026-01-04" open_weights = true +knowledge = "2026-01-04" +release_date = "2026-08-10" license = "Apache 2.0" -[limit] -context = 131_072 -output = 131_072 - [modalities] input = ["text", "image"] output = ["text"] +[capabilities] +tools = { supported = true } +reasoning = { supported = true } +temperature = true +top_p = true +top_k = true + +[limit] +context = 131_072 +output = 131_072 + [[weights]] label = "Hugging Face" url = "https://huggingface.co/meta-models/Muse-Glimmer-30B" diff --git a/models/meta/muse-image-1.0.toml b/models/meta/muse-image-1.0.toml new file mode 100644 index 0000000000..e14e7490df --- /dev/null +++ b/models/meta/muse-image-1.0.toml @@ -0,0 +1,27 @@ +# Launched in Meta AI on 2026-07-07; on Meta Model API since 2026-08-25: +# https://developer.meta.com/ai/resources/blog/build-with-muse-Image/, https://dev.meta.ai/docs/models +# Output: output_format webp (default), png or jpeg; inputs are any image/* URL or data URL (png and webp in the examples): +# https://dev.meta.ai/docs/image-generation +schema = 2 +v2_only = true +type = "image" +name = "Muse Image" +description = "Agentic image generation and editing model that plans, searches and refines before rendering" +family = "muse" +open_weights = false +release_date = "2026-07-07" + +[modalities] +input = ["text", "image/png", "image/jpeg", "image/webp"] +output = ["image/webp", "image/png", "image/jpeg"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 0 +output = 0 diff --git a/models/meta/muse-spark-1.1.toml b/models/meta/muse-spark-1.1.toml index d9e527e59b..f9bd6aa514 100644 --- a/models/meta/muse-spark-1.1.toml +++ b/models/meta/muse-spark-1.1.toml @@ -1,23 +1,29 @@ +# Sampling (temperature, top_p; no top_k): https://dev.meta.ai/docs/protocols/chat-completions, https://dev.meta.ai/docs/protocols/messages +# Image MIME types: https://dev.meta.ai/docs/image-understanding +# Video and audio MIME types: https://dev.meta.ai/docs/video-understanding#supported-formats (video/mp4, audio/mpeg, audio/wav) +schema = 2 name = "Muse Spark 1.1" description = "Muse Spark is a natively multimodal reasoning model with support for tool-use, visual chain of thought, and multi-agent orchestration." family = "muse" +open_weights = false release_date = "2026-04-08" last_updated = "2026-07-09" -attachment = true -reasoning = true + +[modalities] +input = ["text", "image/jpeg", "image/png", "image/gif", "image/webp", "application/pdf", "video/mp4"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } temperature = true -tool_call = true -structured_output = true -open_weights = false +top_p = true +top_k = false [limit] context = 1_048_576 output = 131_072 -[modalities] -input = ["text", "image", "pdf", "video"] -output = ["text"] - [[benchmarks]] name = "SWE-Bench Pro" score = 61.5 diff --git a/models/meta/muse-spark-1.2.toml b/models/meta/muse-spark-1.2.toml index 608d0d3e24..d7d4c4f517 100644 --- a/models/meta/muse-spark-1.2.toml +++ b/models/meta/muse-spark-1.2.toml @@ -1,23 +1,167 @@ +# Benchmarks sourced from the Muse Spark 1.3 launch use its "Muse Spark 1.2 (xhigh)" scorecard column. +# Benchmark methodology: https://research.meta.ai/static/muse-spark-1-3-multimodal-evaluation-methodology +# Scores: https://research.meta.ai/articles/introducing-muse-1-3/benchmarks/benchmark-scorecard-v6.webp +# Muse Code evaluation methodology: https://research.meta.ai/static/muse-spark-1-2-methodology # Sources: # https://research.meta.ai/blog/introducing-muse-code-and-muse-spark-1-2 # https://dev.meta.ai/docs/getting-started/models - +# Sampling (temperature, top_p; no top_k): https://dev.meta.ai/docs/protocols/chat-completions, https://dev.meta.ai/docs/protocols/messages +# Image MIME types: https://dev.meta.ai/docs/image-understanding +# Video and audio MIME types: https://dev.meta.ai/docs/video-understanding#supported-formats (video/mp4, audio/mpeg, audio/wav) +schema = 2 name = "Muse Spark 1.2" description = "Muse Spark 1.2 is a coding-focused update to Muse Spark 1.1 with improvements in code generation, complex debugging, codebase understanding, and end-to-end developer workflows." family = "muse" +open_weights = false release_date = "2026-08-05" -last_updated = "2026-08-05" -attachment = true -reasoning = true + +[modalities] +input = ["text", "image/jpeg", "image/png", "image/gif", "image/webp", "video/mp4", "application/pdf", "audio/mpeg", "audio/wav"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } temperature = true -tool_call = true -structured_output = true -open_weights = false +top_p = true +top_k = false [limit] context = 1_048_576 output = 131_072 -[modalities] -input = ["text", "image", "video", "pdf", "audio"] -output = ["text"] +[[benchmarks]] +name = "GDPval-AA" +score = 1615 +metric = "Elo" +variant = "xhigh effort" +version = "2" +harness = "Stirrup" +source = "https://research.meta.ai/blog/introducing-muse-spark-1-3" +date = "2026-09-02" + +[[benchmarks]] +name = "JobBench" +score = 61.6 +metric = "mean rubric score" +variant = "xhigh effort" +harness = "OpenCode" +source = "https://research.meta.ai/blog/introducing-muse-spark-1-3" +date = "2026-09-02" + +[[benchmarks]] +name = "OSWorld" +score = 47.6 +metric = "mean partial score" +variant = "xhigh effort" +version = "2.0" +dataset = "06.24" +harness = "Meta internal evaluation framework" +source = "https://research.meta.ai/blog/introducing-muse-spark-1-3" +date = "2026-09-02" + +[[benchmarks]] +name = "OSWorld" +score = 17.9 +metric = "binary completion rate" +variant = "xhigh effort" +version = "2.0" +dataset = "06.24" +harness = "Meta internal evaluation framework" +source = "https://research.meta.ai/blog/introducing-muse-spark-1-3" +date = "2026-09-02" + +[[benchmarks]] +name = "DeepSearchQA" +score = 85.9 +metric = "F1" +variant = "xhigh effort" +harness = "Meta browser harness" +source = "https://research.meta.ai/blog/introducing-muse-spark-1-3" +date = "2026-09-02" + +[[benchmarks]] +name = "Agentic IF Index" +score = 46.2 +metric = "score" +variant = "xhigh effort" +dataset = "Meta internal" +source = "https://research.meta.ai/blog/introducing-muse-spark-1-3" +date = "2026-09-02" + +[[benchmarks]] +name = "AutomationBench" +score = 38.2 +metric = "pass@1" +variant = "xhigh effort" +dataset = "public v3 task set" +source = "https://research.meta.ai/blog/introducing-muse-spark-1-3" +date = "2026-09-02" + +[[benchmarks]] +name = "MRCR" +score = 66.3 +metric = "mean sequence-match ratio" +variant = "xhigh effort" +version = "2" +dataset = "8-needle, 256K-512K" +source = "https://research.meta.ai/blog/introducing-muse-spark-1-3" +date = "2026-09-02" + +[[benchmarks]] +name = "MRCR" +score = 55.5 +metric = "mean sequence-match ratio" +variant = "xhigh effort" +version = "2" +dataset = "8-needle, 512K-1M" +source = "https://research.meta.ai/blog/introducing-muse-spark-1-3" +date = "2026-09-02" + +[[benchmarks]] +name = "DeepSWE" +score = 55.0 +metric = "pass@1" +variant = "xhigh effort" +version = "1.1" +harness = "mini-swe-agent" +source = "https://research.meta.ai/blog/introducing-muse-spark-1-3" +date = "2026-09-02" + +[[benchmarks]] +name = "SWE-Atlas Codebase QnA" +score = 46.2 +metric = "pass@1" +variant = "xhigh effort" +harness = "mini-swe-agent" +source = "https://research.meta.ai/blog/introducing-muse-spark-1-3" +date = "2026-09-02" + +[[benchmarks]] +name = "Terminal-Bench" +score = 82.9 +metric = "pass@1" +variant = "xhigh effort" +version = "2.1" +harness = "Muse Code" +source = "https://research.meta.ai/blog/introducing-muse-spark-1-3" +date = "2026-09-02" + +[[benchmarks]] +name = "DeepSWE" +score = 59.3 +metric = "pass@1" +variant = "xhigh effort" +version = "1.1" +harness = "Muse Code" +source = "https://research.meta.ai/blog/introducing-muse-code-and-muse-spark-1-2" +date = "2026-08-05" + +[[benchmarks]] +name = "MCP Atlas" +score = 90.3 +metric = "pass rate" +variant = "xhigh effort" +harness = "Scale AI" +source = "https://research.meta.ai/blog/introducing-muse-code-and-muse-spark-1-2" +date = "2026-08-05" diff --git a/models/meta/muse-spark-1.3.toml b/models/meta/muse-spark-1.3.toml index 6cb35e8458..d60f197540 100644 --- a/models/meta/muse-spark-1.3.toml +++ b/models/meta/muse-spark-1.3.toml @@ -1,24 +1,147 @@ +# Benchmark methodology: https://research.meta.ai/static/muse-spark-1-3-multimodal-evaluation-methodology +# Scores: https://research.meta.ai/articles/introducing-muse-1-3/benchmarks/benchmark-scorecard-v6.webp # Sources: # https://research.meta.ai/blog/introducing-muse-spark-1-3 # https://dev.meta.ai/docs/models # https://openrouter.ai/meta/muse-spark-1.3 (OpenRouter Meta-hosted catalog snapshot, 2026-09-02) - +# Sampling (temperature, top_p; no top_k): https://dev.meta.ai/docs/protocols/chat-completions, https://dev.meta.ai/docs/protocols/messages +# Image MIME types: https://dev.meta.ai/docs/image-understanding +# Video and audio MIME types: https://dev.meta.ai/docs/video-understanding#supported-formats (video/mp4, audio/mpeg, audio/wav) +schema = 2 name = "Muse Spark 1.3" description = "Muse Spark 1.3 is a multimodal reasoning model from Meta for long-running agentic, multi-agent, and coding workflows. It improves long-horizon agent collaboration, instruction following, and coding efficiency relative to Muse Spark 1.2." family = "muse" +open_weights = false release_date = "2026-09-02" -last_updated = "2026-09-02" -attachment = true -reasoning = true + +[modalities] +input = ["text", "image/jpeg", "image/png", "image/gif", "image/webp", "video/mp4", "application/pdf", "audio/mpeg", "audio/wav"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } temperature = true -tool_call = true -structured_output = true -open_weights = false +top_p = true +top_k = false [limit] context = 1_048_576 output = 131_072 -[modalities] -input = ["text", "image", "video", "pdf", "audio"] -output = ["text"] +[[benchmarks]] +name = "GDPval-AA" +score = 1754 +metric = "Elo" +variant = "max effort" +version = "2" +harness = "Stirrup" +source = "https://research.meta.ai/blog/introducing-muse-spark-1-3" +date = "2026-09-02" + +[[benchmarks]] +name = "JobBench" +score = 64.9 +metric = "mean rubric score" +variant = "max effort" +harness = "OpenCode" +source = "https://research.meta.ai/blog/introducing-muse-spark-1-3" +date = "2026-09-02" + +[[benchmarks]] +name = "OSWorld" +score = 66.9 +metric = "mean partial score" +variant = "max effort" +version = "2.0" +dataset = "08.08" +harness = "Meta internal evaluation framework" +source = "https://research.meta.ai/blog/introducing-muse-spark-1-3" +date = "2026-09-02" + +[[benchmarks]] +name = "OSWorld" +score = 32.0 +metric = "binary completion rate" +variant = "max effort" +version = "2.0" +dataset = "08.08" +harness = "Meta internal evaluation framework" +source = "https://research.meta.ai/blog/introducing-muse-spark-1-3" +date = "2026-09-02" + +[[benchmarks]] +name = "DeepSearchQA" +score = 90.3 +metric = "F1" +variant = "max effort" +harness = "Meta browser harness" +source = "https://research.meta.ai/blog/introducing-muse-spark-1-3" +date = "2026-09-02" + +[[benchmarks]] +name = "Agentic IF Index" +score = 57.8 +metric = "score" +variant = "max effort" +dataset = "Meta internal" +source = "https://research.meta.ai/blog/introducing-muse-spark-1-3" +date = "2026-09-02" + +[[benchmarks]] +name = "AutomationBench" +score = 49.6 +metric = "pass@1" +variant = "max effort" +dataset = "public v3 task set" +source = "https://research.meta.ai/blog/introducing-muse-spark-1-3" +date = "2026-09-02" + +[[benchmarks]] +name = "MRCR" +score = 98.5 +metric = "mean sequence-match ratio" +variant = "max effort" +version = "2" +dataset = "8-needle, 256K-512K" +source = "https://research.meta.ai/blog/introducing-muse-spark-1-3" +date = "2026-09-02" + +[[benchmarks]] +name = "MRCR" +score = 98.1 +metric = "mean sequence-match ratio" +variant = "max effort" +version = "2" +dataset = "8-needle, 512K-1M" +source = "https://research.meta.ai/blog/introducing-muse-spark-1-3" +date = "2026-09-02" + +[[benchmarks]] +name = "DeepSWE" +score = 75.4 +metric = "pass@1" +variant = "max effort" +version = "1.1" +harness = "mini-swe-agent" +source = "https://research.meta.ai/blog/introducing-muse-spark-1-3" +date = "2026-09-02" + +[[benchmarks]] +name = "SWE-Atlas Codebase QnA" +score = 59.4 +metric = "pass@1" +variant = "max effort" +harness = "mini-swe-agent" +source = "https://research.meta.ai/blog/introducing-muse-spark-1-3" +date = "2026-09-02" + +[[benchmarks]] +name = "Terminal-Bench" +score = 88.8 +metric = "pass@1" +variant = "max effort" +version = "2.1" +harness = "Muse Code" +source = "https://research.meta.ai/blog/introducing-muse-spark-1-3" +date = "2026-09-02" diff --git a/models/meta/muse-spark-open.toml b/models/meta/muse-spark-open.toml new file mode 100644 index 0000000000..9862e41538 --- /dev/null +++ b/models/meta/muse-spark-open.toml @@ -0,0 +1,215 @@ +# Sources (accessed 2026-10-15): +# https://research.meta.ai/blog/muse-spark-open (816B total/42B active, 1M context, released Oct 15 2026, coding/agentic) +# https://huggingface.co/meta-models/Muse-Spark-Open-816B-A42B (1M context, Input Text+Image+Video+Audio/Output Text, reasoning effort low/medium/high/xhigh default xhigh, temp 1.0, tool calling, Muse Model License, release Oct 15 2026) +# https://huggingface.co/blog/meta-muse-spark-open (inputs text/images/audio/video, output text, knowledge cutoff 2026-01-04, reasoning cannot be disabled, tool calling) +# https://dev.meta.ai/models/muse-spark-open/ (takes text, image, video and audio input, 1M context, 816B/42B) +# https://openrouter.ai/meta/muse-spark-open/llms.txt (temperature, tools, response_format, reasoning_effort accepted) +# Output 131072 follows Muse Spark 1.2/1.3 lab convention (1M context / 131K output); no separate first-party max-output doc found for Open yet. +# https://dev.meta.ai/docs/muse-spark-open (model variants table: text, image, audio, video in; text out) +# https://huggingface.co/meta-models/Muse-Spark-Open-816B-A42B-NVFP4 (NVFP4 weights) +# Benchmarks: Muse Spark Open (xhigh) column of the Hugging Face model card benchmark table +# (xhigh reasoning effort, temperature 1.0, top_p 1.0, top_k disabled). Safety rows omitted. +# Methodology: https://research.meta.ai/static/muse-spark-open-evaluation-methodology +# Audio MIME types: input_audio takes format wav or mp3 (https://dev.meta.ai/docs/muse-spark-open/deploy). +# `image` and `video` stay generic: the model is self-hosted or served by third parties, not on Model API +# (https://dev.meta.ai/docs/models), and its deploy and prompting guides name no image or video formats. +schema = 2 +name = "Muse Spark Open" +description = "Muse Spark Open is an 816B total / 42B active open-weight multimodal reasoning model from Meta for coding and long-horizon agentic work, with 1M-token context." +family = "muse" +open_weights = true +knowledge = "2026-01-04" +release_date = "2026-10-15" +license = "Muse Model License" + +[modalities] +input = ["text", "image", "video", "audio/wav", "audio/mpeg"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } +temperature = true +top_p = true +top_k = true + +[limit] +context = 1_048_576 +output = 131_072 + +[[weights]] +label = "Hugging Face (BF16)" +url = "https://huggingface.co/meta-models/Muse-Spark-Open-816B-A42B" + +[[weights]] +label = "Hugging Face (NVFP4)" +url = "https://huggingface.co/meta-models/Muse-Spark-Open-816B-A42B-NVFP4" + +[[links]] +label = "Announcement" +url = "https://research.meta.ai/blog/muse-spark-open" +type = "announcement" + +[[links]] +label = "Model card" +url = "https://huggingface.co/meta-models/Muse-Spark-Open-816B-A42B" +type = "model_card" + +[[links]] +label = "Developer docs" +url = "https://dev.meta.ai/docs/muse-spark-open" +type = "docs" + +[[links]] +label = "License" +url = "https://huggingface.co/meta-models/Muse-Spark-Open-816B-A42B/blob/main/LICENSE.md" +type = "license" + +[[benchmarks]] +name = "Artificial Analysis Intelligence Index" +score = 39 +metric = "index score" +variant = "xhigh effort" +source = "https://huggingface.co/meta-models/Muse-Spark-Open-816B-A42B" +date = "2026-10-15" + +[[benchmarks]] +name = "JobBench" +score = 61.8 +variant = "xhigh effort" +source = "https://huggingface.co/meta-models/Muse-Spark-Open-816B-A42B" +date = "2026-10-15" + +[[benchmarks]] +name = "MCP Atlas" +score = 89.2 +variant = "xhigh effort" +source = "https://huggingface.co/meta-models/Muse-Spark-Open-816B-A42B" +date = "2026-10-15" + +[[benchmarks]] +name = "GDPval-AA" +score = 1401 +metric = "Elo" +variant = "xhigh effort" +version = "2" +source = "https://huggingface.co/meta-models/Muse-Spark-Open-816B-A42B" +date = "2026-10-15" + +[[benchmarks]] +name = "OSWorld-Verified" +score = 80.4 +variant = "xhigh effort" +source = "https://huggingface.co/meta-models/Muse-Spark-Open-816B-A42B" +date = "2026-10-15" + +[[benchmarks]] +name = "Toolathlon-Verified" +score = 72.8 +variant = "xhigh effort" +source = "https://huggingface.co/meta-models/Muse-Spark-Open-816B-A42B" +date = "2026-10-15" + +[[benchmarks]] +name = "HLE-Diamond" +score = 26.1 +variant = "xhigh effort, no tools" +source = "https://huggingface.co/meta-models/Muse-Spark-Open-816B-A42B" +date = "2026-10-15" + +[[benchmarks]] +name = "AA-Omniscience" +score = 25 +variant = "xhigh effort" +source = "https://huggingface.co/meta-models/Muse-Spark-Open-816B-A42B" +date = "2026-10-15" + +[[benchmarks]] +name = "SciCode" +score = 58.5 +variant = "xhigh effort" +source = "https://huggingface.co/meta-models/Muse-Spark-Open-816B-A42B" +date = "2026-10-15" + +[[benchmarks]] +name = "Humanity's Last Exam" +score = 61.0 +variant = "xhigh effort, with tools" +source = "https://huggingface.co/meta-models/Muse-Spark-Open-816B-A42B" +date = "2026-10-15" + +[[benchmarks]] +name = "GPQA Diamond" +score = 89.0 +variant = "xhigh effort" +source = "https://huggingface.co/meta-models/Muse-Spark-Open-816B-A42B" +date = "2026-10-15" + +[[benchmarks]] +name = "DeepSWE" +score = 60 +variant = "xhigh effort" +version = "1.1" +harness = "preferred harness" +source = "https://huggingface.co/meta-models/Muse-Spark-Open-816B-A42B" +date = "2026-10-15" + +[[benchmarks]] +name = "SWE-Atlas Codebase QnA" +score = 58 +variant = "xhigh effort" +harness = "preferred harness" +source = "https://huggingface.co/meta-models/Muse-Spark-Open-816B-A42B" +date = "2026-10-15" + +[[benchmarks]] +name = "Terminal-Bench" +score = 76.4 +variant = "xhigh effort" +version = "2.1" +harness = "Terminus 2" +source = "https://huggingface.co/meta-models/Muse-Spark-Open-816B-A42B" +date = "2026-10-15" + +[[benchmarks]] +name = "ZeroBench" +score = 50.0 +variant = "xhigh effort, with tools" +source = "https://huggingface.co/meta-models/Muse-Spark-Open-816B-A42B" +date = "2026-10-15" + +[[benchmarks]] +name = "BabyVision" +score = 80.2 +variant = "xhigh effort, with tools" +source = "https://huggingface.co/meta-models/Muse-Spark-Open-816B-A42B" +date = "2026-10-15" + +[[benchmarks]] +name = "SimpleVQA" +score = 73.6 +variant = "xhigh effort, with tools" +source = "https://huggingface.co/meta-models/Muse-Spark-Open-816B-A42B" +date = "2026-10-15" + +[[benchmarks]] +name = "WorldVQA" +score = 49.4 +variant = "xhigh effort, with tools" +source = "https://huggingface.co/meta-models/Muse-Spark-Open-816B-A42B" +date = "2026-10-15" + +[[benchmarks]] +name = "IntPhys2" +score = 68.3 +variant = "xhigh effort" +source = "https://huggingface.co/meta-models/Muse-Spark-Open-816B-A42B" +date = "2026-10-15" + +[[benchmarks]] +name = "Video-MME" +score = 61.5 +variant = "xhigh effort" +version = "2" +source = "https://huggingface.co/meta-models/Muse-Spark-Open-816B-A42B" +date = "2026-10-15" diff --git a/models/meta/muse-voice-transcribe-1.0.toml b/models/meta/muse-voice-transcribe-1.0.toml new file mode 100644 index 0000000000..b99a4c7f66 --- /dev/null +++ b/models/meta/muse-voice-transcribe-1.0.toml @@ -0,0 +1,27 @@ +# Released 2026-09-01: https://research.meta.ai/blog/introducing-muse-voice-transcribe +# https://dev.meta.ai/docs/speech-to-text +# Input formats: the common list in OpenRouter's speech-to-text docs (the lab lists none here): +# https://openrouter.ai/docs/guides/overview/multimodal/stt +schema = 2 +v2_only = true +type = "transcription" +name = "Muse Voice Transcribe 1.0" +description = "Speech-to-text model with speaker diarization and endpointing" +family = "muse" +open_weights = false +release_date = "2026-09-01" + +[modalities] +input = ["audio/wav", "audio/mpeg", "audio/flac", "audio/mp4", "audio/ogg", "audio/webm", "audio/aac"] +output = ["text"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 0 +output = 0 diff --git a/models/meta/muse-wonder-1.0.toml b/models/meta/muse-wonder-1.0.toml new file mode 100644 index 0000000000..29f3120442 --- /dev/null +++ b/models/meta/muse-wonder-1.0.toml @@ -0,0 +1,156 @@ +# Sources: +# https://research.meta.ai/blog/muse-wonder +# https://research.meta.ai/static/muse-wonder-model-card (PDF; scores on the capabilities scorecard) +# Meta Model API probes with muse-wonder-1.0 on 2026-10-12: +# - Prompt plus max_tokens is accepted up to 1,048,576 tokens (including Meta's injected scaffolding). +# There is no separate output cap, but max_tokens reserves output TPM capacity, so this uses +# the same 131,072 practical output limit as Muse Spark. +# - Image, PDF, audio, and video inputs, strict json_schema output, temperature, and tool calls are accepted. +# Meta has not published a knowledge cutoff. +# Sampling (temperature, top_p; no top_k): https://dev.meta.ai/docs/protocols/chat-completions, https://dev.meta.ai/docs/protocols/messages +# Image MIME types: https://dev.meta.ai/docs/image-understanding +# Video and audio MIME types: https://dev.meta.ai/docs/video-understanding#supported-formats (video/mp4, audio/mpeg, audio/wav) +schema = 2 +name = "Muse Wonder" +description = "Muse Wonder is a frontier multimodal reasoning model from Meta for personal and professional agents, long-horizon coding, and computer use. It combines Active Memory, which carries relevant context across conversations, with Active Focus, which keeps it working through blockers toward a goal." +family = "muse" +open_weights = false +release_date = "2026-10-12" + +[modalities] +input = ["text", "image/jpeg", "image/png", "image/gif", "image/webp", "video/mp4", "application/pdf", "audio/mpeg", "audio/wav"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } +temperature = true +top_p = true +top_k = false + +[limit] +context = 1_048_576 +output = 131_072 + +[[links]] +label = "Announcement" +url = "https://research.meta.ai/blog/muse-wonder" +type = "announcement" + +[[links]] +label = "Model card" +url = "https://research.meta.ai/static/muse-wonder-model-card" +type = "model_card" + +[[benchmarks]] +name = "Harvey Legal Agent Benchmark" +score = 10.0 +metric = "all-pass rate" +variant = "max effort; Artificial Analysis LAB-AA" +version = "1.1" +source = "https://research.meta.ai/static/muse-wonder-model-card" +date = "2026-10-12" + +[[benchmarks]] +name = "Finance Agent" +score = 56.6 +metric = "accuracy" +variant = "max effort" +version = "v2" +dataset = "Vals AI private test set" +source = "https://research.meta.ai/static/muse-wonder-model-card" +date = "2026-10-12" + +[[benchmarks]] +name = "HealthBench Professional" +score = 60.5 +metric = "length-normalized weighted rubric score" +variant = "max effort" +source = "https://research.meta.ai/static/muse-wonder-model-card" +date = "2026-10-12" + +[[benchmarks]] +name = "AutomationBench" +score = 39.1 +metric = "strict pass@1" +variant = "max effort; Artificial Analysis AutomationBench-AA" +source = "https://research.meta.ai/static/muse-wonder-model-card" +date = "2026-10-12" + +[[benchmarks]] +name = "GDP.pdf" +score = 30.8 +metric = "score" +variant = "max effort" +source = "https://research.meta.ai/static/muse-wonder-model-card" +date = "2026-10-12" + +[[benchmarks]] +name = "JobBench" +score = 70.5 +metric = "mean reward" +variant = "max effort" +source = "https://research.meta.ai/static/muse-wonder-model-card" +date = "2026-10-12" + +[[benchmarks]] +name = "OSWorld" +score = 72.6 +metric = "mean partial score" +variant = "max effort" +version = "2.1" +source = "https://research.meta.ai/static/muse-wonder-model-card" +date = "2026-10-12" + +[[benchmarks]] +name = "OSWorld" +score = 34.3 +metric = "binary completion rate" +variant = "max effort" +version = "2.1" +source = "https://research.meta.ai/static/muse-wonder-model-card" +date = "2026-10-12" + +[[benchmarks]] +name = "Terminal-Bench" +score = 52.0 +metric = "accuracy" +variant = "max effort; Artificial Analysis Terminal-Bench 4.0-AA" +version = "4.0" +source = "https://research.meta.ai/static/muse-wonder-model-card" +date = "2026-10-12" + +[[benchmarks]] +name = "DeepSWE" +score = 78.8 +metric = "pass@1" +variant = "max effort" +version = "1.1" +source = "https://research.meta.ai/static/muse-wonder-model-card" +date = "2026-10-12" + +[[benchmarks]] +name = "SWE-Marathon" +score = 53.1 +metric = "pass@1" +variant = "max effort" +source = "https://research.meta.ai/static/muse-wonder-model-card" +date = "2026-10-12" + +[[benchmarks]] +name = "ProgramBench" +score = 50.0 +metric = "share of rollouts passing at least 95% of tests" +variant = "max effort" +harness = "mini-swe-agent" +source = "https://research.meta.ai/static/muse-wonder-model-card" +date = "2026-10-12" + +[[benchmarks]] +name = "Artificial Analysis Intelligence Index" +score = 52 +metric = "index score" +variant = "max effort" +version = "4.3" +source = "https://research.meta.ai/static/muse-wonder-model-card" +date = "2026-10-12" diff --git a/models/meta/muse-wonder-full.toml b/models/meta/muse-wonder-full.toml new file mode 100644 index 0000000000..e457f1443c --- /dev/null +++ b/models/meta/muse-wonder-full.toml @@ -0,0 +1,153 @@ +# Sources: +# https://research.meta.ai/blog/muse-wonder +# https://research.meta.ai/static/muse-wonder-model-card (PDF; scores on the capabilities scorecard) +# The model card states a 1M-token context; Meta documents its 1M Muse context as 1,048,576 tokens. +# Meta has not yet published an output limit, knowledge cutoff, or API reference for this model. +# Only available in Muse Code (https://dev.meta.ai/docs/models), not the API; sampling +# follows Muse Wonder 1.0's documented API parameters. +# Modalities stay generic: Muse Wonder Full runs only in Muse Code, not on Model API (https://dev.meta.ai/docs/models), +# and the Muse Code docs (https://dev.meta.ai/docs/muse-code/interactive) name no image, video or audio formats. +# Model API's format lists cover muse-wonder-1.0 only. +schema = 2 +name = "Muse Wonder Full" +description = "Muse Wonder Full is the most capable model in Meta's Muse Wonder series, built for long-running professional agents and ultra-long-horizon software engineering. It shares Muse Wonder's Active Memory and Active Focus capabilities and generally scores higher on Meta's agentic and coding evaluations." +family = "muse" +open_weights = false +release_date = "2026-10-12" + +[modalities] +input = ["text", "image", "video", "audio"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } +temperature = true +top_p = true +top_k = false + +[limit] +context = 1_048_576 + +[[links]] +label = "Announcement" +url = "https://research.meta.ai/blog/muse-wonder" +type = "announcement" + +[[links]] +label = "Model card" +url = "https://research.meta.ai/static/muse-wonder-model-card" +type = "model_card" + +[[benchmarks]] +name = "Harvey Legal Agent Benchmark" +score = 13.1 +metric = "all-pass rate" +variant = "max effort; Artificial Analysis LAB-AA" +version = "1.1" +source = "https://research.meta.ai/static/muse-wonder-model-card" +date = "2026-10-12" + +[[benchmarks]] +name = "Finance Agent" +score = 59.1 +metric = "accuracy" +variant = "max effort" +version = "v2" +dataset = "Vals AI private test set" +source = "https://research.meta.ai/static/muse-wonder-model-card" +date = "2026-10-12" + +[[benchmarks]] +name = "HealthBench Professional" +score = 62.3 +metric = "length-normalized weighted rubric score" +variant = "max effort" +source = "https://research.meta.ai/static/muse-wonder-model-card" +date = "2026-10-12" + +[[benchmarks]] +name = "AutomationBench" +score = 45.4 +metric = "strict pass@1" +variant = "max effort; Artificial Analysis AutomationBench-AA" +source = "https://research.meta.ai/static/muse-wonder-model-card" +date = "2026-10-12" + +[[benchmarks]] +name = "GDP.pdf" +score = 33.2 +metric = "score" +variant = "max effort" +source = "https://research.meta.ai/static/muse-wonder-model-card" +date = "2026-10-12" + +[[benchmarks]] +name = "JobBench" +score = 75.3 +metric = "mean reward" +variant = "max effort" +source = "https://research.meta.ai/static/muse-wonder-model-card" +date = "2026-10-12" + +[[benchmarks]] +name = "OSWorld" +score = 78.4 +metric = "mean partial score" +variant = "max effort" +version = "2.1" +source = "https://research.meta.ai/static/muse-wonder-model-card" +date = "2026-10-12" + +[[benchmarks]] +name = "OSWorld" +score = 39.4 +metric = "binary completion rate" +variant = "max effort" +version = "2.1" +source = "https://research.meta.ai/static/muse-wonder-model-card" +date = "2026-10-12" + +[[benchmarks]] +name = "Terminal-Bench" +score = 57.1 +metric = "accuracy" +variant = "max effort; Artificial Analysis Terminal-Bench 4.0-AA" +version = "4.0" +source = "https://research.meta.ai/static/muse-wonder-model-card" +date = "2026-10-12" + +[[benchmarks]] +name = "DeepSWE" +score = 79.0 +metric = "pass@1" +variant = "max effort" +version = "1.1" +source = "https://research.meta.ai/static/muse-wonder-model-card" +date = "2026-10-12" + +[[benchmarks]] +name = "SWE-Marathon" +score = 57.5 +metric = "pass@1" +variant = "xhigh effort" +source = "https://research.meta.ai/static/muse-wonder-model-card" +date = "2026-10-12" + +[[benchmarks]] +name = "ProgramBench" +score = 59.0 +metric = "share of rollouts passing at least 95% of tests" +variant = "max effort" +harness = "mini-swe-agent" +source = "https://research.meta.ai/static/muse-wonder-model-card" +date = "2026-10-12" + +[[benchmarks]] +name = "Artificial Analysis Intelligence Index" +score = 56 +metric = "index score" +variant = "max effort" +version = "4.3" +source = "https://research.meta.ai/static/muse-wonder-model-card" +date = "2026-10-12" diff --git a/models/microsoft/mai-code-1-flash.toml b/models/microsoft/mai-code-1-flash.toml index 7cdaf15ca0..9bda64f58c 100644 --- a/models/microsoft/mai-code-1-flash.toml +++ b/models/microsoft/mai-code-1-flash.toml @@ -1,24 +1,27 @@ +schema = 2 name = "MAI-Code-1-Flash" description = "Microsoft coding model built for fast, efficient assistance in everyday developer workflows" family = "mai" +open_weights = false +knowledge = "2025-12" release_date = "2026-06-02" last_updated = "2026-06-08" -attachment = false -reasoning = true + +[modalities] +input = ["text"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } temperature = true -tool_call = true -structured_output = true -knowledge = "2025-12" -open_weights = false +top_p = true +top_k = true [limit] context = 256_000 output = 128_000 -[modalities] -input = ["text"] -output = ["text"] - [[links]] label = "Model card" url = "https://microsoft.ai/pdf/MAI-Code-1-Flash-Model-Card.PDF" diff --git a/models/microsoft/mai-code-1.1-flash.toml b/models/microsoft/mai-code-1.1-flash.toml index cc1e2626eb..9cfc4e3c94 100644 --- a/models/microsoft/mai-code-1.1-flash.toml +++ b/models/microsoft/mai-code-1.1-flash.toml @@ -1,22 +1,26 @@ +# temperature, top_p, top_k = false: Microsoft documents no sampling parameters for 1.1 (model card and Foundry catalog), so none are claimed. +schema = 2 name = "MAI-Code-1.1-Flash" description = "Microsoft coding model with native vision support, optimized for fast and efficient software development" family = "mai" -release_date = "2026-08-11" -last_updated = "2026-08-11" -attachment = true -reasoning = true -tool_call = true -structured_output = true open_weights = false - -[limit] -context = 256_000 -output = 128_000 +release_date = "2026-08-11" [modalities] input = ["text", "image"] output = ["text"] +[capabilities] +tools = { supported = true } +reasoning = { supported = true } +temperature = false +top_p = false +top_k = false + +[limit] +context = 256_000 +output = 128_000 + [[links]] label = "Announcement" url = "https://microsoft.ai/news/mai-code-1-1-flash-br-better-faster-at-a-quarter-of-the-cost/" diff --git a/models/microsoft/mai-image-2.5-pro.toml b/models/microsoft/mai-image-2.5-pro.toml new file mode 100644 index 0000000000..0bce95b75e --- /dev/null +++ b/models/microsoft/mai-image-2.5-pro.toml @@ -0,0 +1,27 @@ +# Released 2026-07-23: https://microsoft.ai/news/introducing-mai-image-2-5-pro-and-mai-voice-2-flash/ +# Model card: https://microsoft.ai/pdf/MAI-Image-2.5_Pro-Model_Card.pdf +# Edits take JPEG or PNG references; output is always PNG; prompt up to 32,000 tokens: +# https://learn.microsoft.com/en-us/azure/foundry/foundry-models/how-to/use-foundry-models-mai-image +schema = 2 +v2_only = true +type = "image" +name = "MAI-Image-2.5-Pro" +description = "Highest-fidelity MAI-Image-2.5 model for detailed editing and in-image text" +family = "mai" +open_weights = false +release_date = "2026-07-23" + +[modalities] +input = ["text", "image/jpeg", "image/png"] +output = ["image/png"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 32_000 +output = 0 diff --git a/models/microsoft/mai-image-2.5.toml b/models/microsoft/mai-image-2.5.toml new file mode 100644 index 0000000000..d3e84a3219 --- /dev/null +++ b/models/microsoft/mai-image-2.5.toml @@ -0,0 +1,26 @@ +# Released 2026-06-02: https://microsoft.ai/news/introducing-mai-image-2-5/ +# Edits take JPEG or PNG references; output is always PNG; prompt up to 32,000 tokens: +# https://learn.microsoft.com/en-us/azure/foundry/foundry-models/how-to/use-foundry-models-mai-image +schema = 2 +v2_only = true +type = "image" +name = "MAI-Image-2.5" +description = "Image generation and precise editing model" +family = "mai" +open_weights = false +release_date = "2026-06-02" + +[modalities] +input = ["text", "image/jpeg", "image/png"] +output = ["image/png"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 32_000 +output = 0 diff --git a/models/microsoft/mai-image-2.6-flash.toml b/models/microsoft/mai-image-2.6-flash.toml new file mode 100644 index 0000000000..96e52a88b6 --- /dev/null +++ b/models/microsoft/mai-image-2.6-flash.toml @@ -0,0 +1,26 @@ +# Released 2026-09-04: https://microsoft.ai/news/pushing-the-quality-cost-frontier-with-mai-image-2-6/ +# Edits take JPEG or PNG references; output is always PNG; prompt up to 32,000 tokens: +# https://learn.microsoft.com/en-us/azure/foundry/foundry-models/how-to/use-foundry-models-mai-image +schema = 2 +v2_only = true +type = "image" +name = "MAI-Image-2.6-Flash" +description = "Faster, lower-cost MAI-Image-2.6 for high-throughput generation and editing" +family = "mai" +open_weights = false +release_date = "2026-09-04" + +[modalities] +input = ["text", "image/jpeg", "image/png"] +output = ["image/png"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 32_000 +output = 0 diff --git a/models/microsoft/mai-image-2.6.toml b/models/microsoft/mai-image-2.6.toml new file mode 100644 index 0000000000..25b29e0daa --- /dev/null +++ b/models/microsoft/mai-image-2.6.toml @@ -0,0 +1,26 @@ +# Released 2026-08-14 (model card release date): https://microsoft.ai/pdf/MAI-Image-2.6-Model-Card.pdf +# Edits take JPEG or PNG references; output is always PNG; prompt up to 32,000 tokens: +# https://learn.microsoft.com/en-us/azure/foundry/foundry-models/how-to/use-foundry-models-mai-image +schema = 2 +v2_only = true +type = "image" +name = "MAI-Image-2.6" +description = "Image generation and multi-reference editing model with web grounding" +family = "mai" +open_weights = false +release_date = "2026-08-14" + +[modalities] +input = ["text", "image/jpeg", "image/png"] +output = ["image/png"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 32_000 +output = 0 diff --git a/models/microsoft/mai-transcribe-1.5.toml b/models/microsoft/mai-transcribe-1.5.toml new file mode 100644 index 0000000000..db997b4f04 --- /dev/null +++ b/models/microsoft/mai-transcribe-1.5.toml @@ -0,0 +1,26 @@ +# Released 2026-06-02: https://microsoft.ai/news/mai-transcribe-1-5more-accurate-context-aware-and-built-for-production/ +# Input formats: the common list in OpenRouter's speech-to-text docs (the lab lists none here): +# https://openrouter.ai/docs/guides/overview/multimodal/stt +schema = 2 +v2_only = true +type = "transcription" +name = "MAI-Transcribe-1.5" +description = "Multilingual speech-to-text model across 43 languages" +family = "mai" +open_weights = false +release_date = "2026-06-02" + +[modalities] +input = ["audio/wav", "audio/mpeg", "audio/flac", "audio/mp4", "audio/ogg", "audio/webm", "audio/aac"] +output = ["text"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 0 +output = 0 diff --git a/models/microsoft/mai-transcribe-2.toml b/models/microsoft/mai-transcribe-2.toml new file mode 100644 index 0000000000..663c04b095 --- /dev/null +++ b/models/microsoft/mai-transcribe-2.toml @@ -0,0 +1,26 @@ +# Released 2026-09-03: https://microsoft.ai/news/mai-transcribe-2-is-the-fastest-most-accurate-and-cheapest-speech-recognition-model-in-the-world/ +# Input formats: the common list in OpenRouter's speech-to-text docs (the lab lists none here): +# https://openrouter.ai/docs/guides/overview/multimodal/stt +schema = 2 +v2_only = true +type = "transcription" +name = "MAI-Transcribe-2" +description = "Multilingual speech-to-text model across 60 languages with language identification and code switching" +family = "mai" +open_weights = false +release_date = "2026-09-03" + +[modalities] +input = ["audio/wav", "audio/mpeg", "audio/flac", "audio/mp4", "audio/ogg", "audio/webm", "audio/aac"] +output = ["text"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 0 +output = 0 diff --git a/models/microsoft/mai-voice-2-flash.toml b/models/microsoft/mai-voice-2-flash.toml new file mode 100644 index 0000000000..c07227766b --- /dev/null +++ b/models/microsoft/mai-voice-2-flash.toml @@ -0,0 +1,26 @@ +# Released 2026-07-23: https://microsoft.ai/news/introducing-mai-image-2-5-pro-and-mai-voice-2-flash/ +# Output formats: mp3 and pcm, as documented for OpenRouter's speech API (the lab lists none here): +# https://openrouter.ai/docs/guides/overview/multimodal/tts +schema = 2 +v2_only = true +type = "speech" +name = "MAI-Voice-2-Flash" +description = "Low-latency MAI-Voice-2 text-to-speech model for voice agents" +family = "mai" +open_weights = false +release_date = "2026-07-23" + +[modalities] +input = ["text"] +output = ["audio/mpeg", "audio/pcm"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 0 +output = 0 diff --git a/models/microsoft/mai-voice-2.1-flash.toml b/models/microsoft/mai-voice-2.1-flash.toml new file mode 100644 index 0000000000..98c61be63a --- /dev/null +++ b/models/microsoft/mai-voice-2.1-flash.toml @@ -0,0 +1,26 @@ +# Released 2026-10-01: https://microsoft.ai/news/our-first-streaming-transcription-model/ +# Output formats: mp3 and pcm, as documented for OpenRouter's speech API (the lab lists none here): +# https://openrouter.ai/docs/guides/overview/multimodal/tts +schema = 2 +v2_only = true +type = "speech" +name = "MAI-Voice-2.1-Flash" +description = "Low-latency MAI-Voice-2.1 text-to-speech model" +family = "mai" +open_weights = false +release_date = "2026-10-01" + +[modalities] +input = ["text"] +output = ["audio/mpeg", "audio/pcm"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 0 +output = 0 diff --git a/models/microsoft/mai-voice-2.1.toml b/models/microsoft/mai-voice-2.1.toml new file mode 100644 index 0000000000..a58b7c6f9c --- /dev/null +++ b/models/microsoft/mai-voice-2.1.toml @@ -0,0 +1,26 @@ +# Released 2026-10-01: https://microsoft.ai/news/our-first-streaming-transcription-model/ +# Output formats: mp3 and pcm, as documented for OpenRouter's speech API (the lab lists none here): +# https://openrouter.ai/docs/guides/overview/multimodal/tts +schema = 2 +v2_only = true +type = "speech" +name = "MAI-Voice-2.1" +description = "Highest-fidelity MAI text-to-speech model across 23 languages" +family = "mai" +open_weights = false +release_date = "2026-10-01" + +[modalities] +input = ["text"] +output = ["audio/mpeg", "audio/pcm"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 0 +output = 0 diff --git a/models/microsoft/mai-voice-2.toml b/models/microsoft/mai-voice-2.toml new file mode 100644 index 0000000000..f87d1eb9be --- /dev/null +++ b/models/microsoft/mai-voice-2.toml @@ -0,0 +1,26 @@ +# Released 2026-06-02: https://microsoft.ai/news/mai-voice-2/ +# Output formats: mp3 and pcm, as documented for OpenRouter's speech API (the lab lists none here): +# https://openrouter.ai/docs/guides/overview/multimodal/tts +schema = 2 +v2_only = true +type = "speech" +name = "MAI-Voice-2" +description = "Expressive multilingual text-to-speech model for long-form and conversational voice" +family = "mai" +open_weights = false +release_date = "2026-06-02" + +[modalities] +input = ["text"] +output = ["audio/mpeg", "audio/pcm"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 0 +output = 0 diff --git a/models/microsoft/phi-4-mini.toml b/models/microsoft/phi-4-mini.toml index bc9f727403..968ebbf4a3 100644 --- a/models/microsoft/phi-4-mini.toml +++ b/models/microsoft/phi-4-mini.toml @@ -1,23 +1,31 @@ +# https://huggingface.co/microsoft/Phi-4-mini-instruct: "Release date: February 2025", "cutoff date of +# June 2024 for publicly available data", 128K context. +# Release day: https://azure.microsoft.com/en-us/blog/empowering-innovation-the-next-generation-of-the-phi-family/ +# (2025-02-26). The previous 2024-12-11 / 2023-10 values belonged to Phi-4. +# Sampling: open weights; temperature, top_p and top_k are standard sampling controls for this checkpoint. +schema = 2 name = "Phi-4-mini" description = "Compact Microsoft instruction model tuned for efficient coding assistance, reasoning, and low-latency agent tasks" family = "phi" -release_date = "2024-12-11" -last_updated = "2024-12-11" -attachment = false -reasoning = false -temperature = true -tool_call = true -knowledge = "2023-10" open_weights = true - -[limit] -context = 128_000 -output = 4_096 +knowledge = "2024-06" +release_date = "2025-02-26" [modalities] input = ["text"] output = ["text"] +[capabilities] +tools = { supported = true } +reasoning = { supported = false } +temperature = true +top_p = true +top_k = true + +[limit] +context = 128_000 +output = 4_096 + [[links]] label = "Weights" url = "https://huggingface.co/microsoft/Phi-4-mini-instruct" diff --git a/models/microsoft/phi-4-multimodal-instruct.toml b/models/microsoft/phi-4-multimodal-instruct.toml new file mode 100644 index 0000000000..ad718dc7fe --- /dev/null +++ b/models/microsoft/phi-4-multimodal-instruct.toml @@ -0,0 +1,33 @@ +# Model card: https://huggingface.co/microsoft/Phi-4-multimodal-instruct (text, image and audio in, text out; 128K context; +# "Function and tool calling"; data cutoff June 2024; MIT). Input formats from NVIDIA's card +# (https://build.nvidia.com/microsoft/phi-4-multimodal-instruct): "[.png, .jpg, .jpeg], [.mp3, .wav]". +# Release day: https://azure.microsoft.com/en-us/blog/empowering-innovation-the-next-generation-of-the-phi-family/ (2025-02-26). +# No separate output cap is published, so output = context. +# Sampling: open weights, so temperature/top_p/top_k are runtime features of the host. +schema = 2 +name = "Phi-4-multimodal-instruct" +description = "Compact Microsoft multimodal model for text, image, and speech understanding" +family = "phi" +open_weights = true +knowledge = "2024-06" +release_date = "2025-02-26" +license = "MIT" + +[modalities] +input = ["text", "image/png", "image/jpeg", "audio/mpeg", "audio/wav"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = false } +temperature = true +top_p = true +top_k = true + +[limit] +context = 131_072 +output = 131_072 + +[[weights]] +label = "Hugging Face" +url = "https://huggingface.co/microsoft/Phi-4-multimodal-instruct" diff --git a/models/microsoft/wizardlm-2-8x22b.toml b/models/microsoft/wizardlm-2-8x22b.toml new file mode 100644 index 0000000000..09632545f7 --- /dev/null +++ b/models/microsoft/wizardlm-2-8x22b.toml @@ -0,0 +1,28 @@ +# https://wizardlm.github.io/WizardLM2/ +# https://huggingface.co/alpindale/WizardLM-2-8x22B (archived original weights) +# Sampling: open weights; temperature, top_p and top_k are standard sampling controls for this checkpoint. +schema = 2 +name = "WizardLM 2 8x22B" +description = "Microsoft WizardLM instruction-tuned Mixtral MoE for multilingual dialogue and complex tasks" +open_weights = true +release_date = "2024-04-15" +license = "Apache-2.0" + +[modalities] +input = ["text"] +output = ["text"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = true +top_p = true +top_k = true + +[limit] +context = 65_536 +output = 8_000 + +[[weights]] +label = "Hugging Face archive" +url = "https://huggingface.co/alpindale/WizardLM-2-8x22B" diff --git a/models/mindlab/macaron-v1-tall.toml b/models/mindlab/macaron-v1-tall.toml new file mode 100644 index 0000000000..a967557f61 --- /dev/null +++ b/models/mindlab/macaron-v1-tall.toml @@ -0,0 +1,33 @@ +# https://macaron.im/mindlab/research/introducing-macaron-v1 +# https://huggingface.co/mindlab-research/Macaron-V1-Tall +# Output limit: https://novita.ai/models/model-detail/mindai-macaron-v1-tall +# Image input: the card's "Multimodal Behavior" section says the specialists are trained on text-only data while the +# Qwen3.6-35B-A3B base is multimodal, reports image benchmarks (OCRBench, MMBench, MMMU, MME) for the routed MoL service, +# and calls multimodal behavior an "inherited base capability". The card lists no image formats, so input keeps the generic image. +# Sampling: open weights; generation_config.json sets temperature 1.0, top_p 0.95, top_k 20 +# (https://huggingface.co/mindlab-research/Macaron-V1-Tall/blob/main/generation_config.json). +schema = 2 +name = "Macaron V1 Tall" +description = "Qwen3.6-based Mixture-of-LoRA model with specialists for chat, personal agents, coding, and generative UI" +open_weights = true +release_date = "2026-07-21" +license = "MIT" + +[modalities] +input = ["text", "image"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } +temperature = true +top_p = true +top_k = true + +[limit] +context = 262_144 +output = 32_768 + +[[weights]] +label = "Hugging Face" +url = "https://huggingface.co/mindlab-research/Macaron-V1-Tall" diff --git a/models/mindlab/macaron-v1-venti.toml b/models/mindlab/macaron-v1-venti.toml new file mode 100644 index 0000000000..706cfb9e9e --- /dev/null +++ b/models/mindlab/macaron-v1-venti.toml @@ -0,0 +1,30 @@ +# https://macaron.im/mindlab/research/introducing-macaron-v1 +# https://huggingface.co/mindlab-research/Macaron-V1-Venti +# Output limit: https://novita.ai/models/model-detail/mindai-macaron-v1-venti +# Sampling: open weights; generation_config.json sets temperature 1.0 and top_p 0.95 +# (https://huggingface.co/mindlab-research/Macaron-V1-Venti/blob/main/generation_config.json). +schema = 2 +name = "Macaron V1 Venti" +description = "GLM-5.2-based Mixture-of-LoRA model with specialists for chat, personal agents, coding, and generative UI" +open_weights = true +release_date = "2026-07-21" +license = "MIT" + +[modalities] +input = ["text"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } +temperature = true +top_p = true +top_k = true + +[limit] +context = 1_048_576 +output = 131_072 + +[[weights]] +label = "Hugging Face" +url = "https://huggingface.co/mindlab-research/Macaron-V1-Venti" diff --git a/models/minimax/MiniMax-H3-Max.toml b/models/minimax/MiniMax-H3-Max.toml new file mode 100644 index 0000000000..f9f503db6f --- /dev/null +++ b/models/minimax/MiniMax-H3-Max.toml @@ -0,0 +1,28 @@ +# "Jointly released by MiniMax and fal.ai ... post-trained by fal.ai on MiniMax H3": +# https://platform.minimax.io/docs/guides/video-generation (inputs: images JPG/JPEG/PNG/WEBP/HEIC/HEIF, videos +# MP4/MOV, audio WAV/MP3) +# Launched 2026-08-26: https://fal.ai/minimax-h3-max, https://x.com/ArtificialAnlys/status/2092717615739494424 +# Output: MP4; generated sound is a track inside the MP4, so no audio MIME type is listed. +schema = 2 +v2_only = true +type = "video" +name = "MiniMax H3 Max" +description = "Fast video model post-trained by fal.ai on MiniMax H3, with synchronized audio at 480p and 768p" +family = "minimax" +open_weights = false +release_date = "2026-08-26" + +[modalities] +input = ["text", "image/jpeg", "image/png", "image/webp", "image/heic", "image/heif", "video/mp4", "video/quicktime", "audio/wav", "audio/mpeg"] +output = ["video/mp4"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 0 +output = 0 diff --git a/models/minimax/MiniMax-H3.toml b/models/minimax/MiniMax-H3.toml new file mode 100644 index 0000000000..a12360d216 --- /dev/null +++ b/models/minimax/MiniMax-H3.toml @@ -0,0 +1,57 @@ +# Sources: +# - https://www.minimax.io/blog/minimax-h3 +# - https://www.minimax.io/news/minimax-h3-open-source +# - https://huggingface.co/MiniMaxAI/MiniMax-H3 +# - https://platform.minimax.io/docs/guides/video-generation +# - https://platform.minimax.io/docs/api-reference/video-generation-v2-create +# (inputs: images JPG/JPEG/PNG/WEBP/HEIC/HEIF, videos MP4/MOV, audio WAV/MP3) +# Token limits are not applicable to this audio-video generation endpoint. +# Zero follows existing non-token media catalog entries; it is not a measured token limit. +# The video API has no sampling parameters. Output is MP4 with synchronized audio. +# Output: generated videos are MP4 (task content.url in the create/query responses above). `audio` stays generic: the +# synchronized audio is a track inside that MP4, not a separate output, and MiniMax names no output audio codec. +schema = 2 +type = "video" +name = "MiniMax H3" +description = "MiniMax general-purpose video model with multimodal references and synchronized stereo audio. Open H3-Base checkpoints; Context-IR and 2K regeneration are not included in the initial weights release." +family = "minimax" +open_weights = true +release_date = "2026-07-31" +last_updated = "2026-10-04" +license = "MiniMax H3 Community License Agreement" + +[modalities] +input = ["text", "image/jpeg", "image/png", "image/webp", "image/heic", "image/heif", "video/mp4", "video/quicktime", "audio/wav", "audio/mpeg"] +output = ["video/mp4", "audio"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 0 +output = 0 + +[[links]] +url = "https://www.minimax.io/blog/minimax-h3" +type = "announcement" + +[[links]] +url = "https://www.minimax.io/news/minimax-h3-open-source" +type = "announcement" + +[[links]] +url = "https://huggingface.co/MiniMaxAI/MiniMax-H3" +type = "model_card" + +[[weights]] +label = "Hugging Face: H3-Base FL2VA / Ref2VA" +url = "https://huggingface.co/MiniMaxAI/MiniMax-H3" +format = "safetensors" + +[[links]] +url = "https://huggingface.co/MiniMaxAI/MiniMax-H3/blob/main/LICENSE" +type = "license" diff --git a/models/minimax/MiniMax-Hailuo-2.3-Fast.toml b/models/minimax/MiniMax-Hailuo-2.3-Fast.toml new file mode 100644 index 0000000000..d16f6665a2 --- /dev/null +++ b/models/minimax/MiniMax-Hailuo-2.3-Fast.toml @@ -0,0 +1,27 @@ +# Released 2025-10-28 (Hailuo 2.3 and Hailuo 2.3 Fast): https://www.minimax.io/news/minimax-hailuo-23 +# Input image formats (first_frame_image: JPG, JPEG, PNG, WebP): https://platform.minimax.io/docs/api-reference/video-generation-i2v +# Output: an MP4 file (output_aigc.mp4): https://platform.minimax.io/docs/api-reference/video-generation-download +# Hailuo 2.3 Fast is image-to-video only (first_frame_image required). +schema = 2 +v2_only = true +type = "video" +name = "Hailuo 2.3 Fast" +description = "Faster, lower-cost Hailuo 2.3 variant that animates a first-frame image with a text prompt" +family = "minimax" +open_weights = false +release_date = "2025-10-28" + +[modalities] +input = ["text", "image/jpeg", "image/png", "image/webp"] +output = ["video/mp4"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 0 +output = 0 diff --git a/models/minimax/MiniMax-Hailuo-2.3.toml b/models/minimax/MiniMax-Hailuo-2.3.toml new file mode 100644 index 0000000000..22c0d7cf8e --- /dev/null +++ b/models/minimax/MiniMax-Hailuo-2.3.toml @@ -0,0 +1,26 @@ +# Released 2025-10-28 (Hailuo 2.3 and Hailuo 2.3 Fast): https://www.minimax.io/news/minimax-hailuo-23 +# Input image formats (first_frame_image: JPG, JPEG, PNG, WebP): https://platform.minimax.io/docs/api-reference/video-generation-i2v +# Output: an MP4 file (output_aigc.mp4): https://platform.minimax.io/docs/api-reference/video-generation-download +schema = 2 +v2_only = true +type = "video" +name = "Hailuo 2.3" +description = "Video model for realistic human motion, cinematic effects and stylized scenes from text or a first-frame image" +family = "minimax" +open_weights = false +release_date = "2025-10-28" + +[modalities] +input = ["text", "image/jpeg", "image/png", "image/webp"] +output = ["video/mp4"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 0 +output = 0 diff --git a/models/minimax/MiniMax-M2-Her.toml b/models/minimax/MiniMax-M2-Her.toml index 6782399bfc..eb7f432cb3 100644 --- a/models/minimax/MiniMax-M2-Her.toml +++ b/models/minimax/MiniMax-M2-Her.toml @@ -1,19 +1,24 @@ # Source: https://api.ofox.ai/v2/models/catalog?include=provider_price&limit=500 +# Sampling (temperature, top_p): https://platform.minimax.io/docs/guides/text-chat +# Retired on the MiniMax API (https://platform.minimax.io/docs/faq/models). +schema = 2 name = "MiniMax-M2 Her" description = "MiniMax M2 variant tuned for conversational and character-driven agent interactions" family = "minimax" +open_weights = false release_date = "2026-01-23" -last_updated = "2026-01-23" -attachment = false -reasoning = true + +[modalities] +input = ["text"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } temperature = true -tool_call = true -open_weights = false +top_p = true +top_k = false [limit] context = 65_536 output = 2_048 - -[modalities] -input = ["text"] -output = ["text"] diff --git a/models/minimax/MiniMax-M2.1.toml b/models/minimax/MiniMax-M2.1.toml index f84067dc3f..8bd7f4095d 100644 --- a/models/minimax/MiniMax-M2.1.toml +++ b/models/minimax/MiniMax-M2.1.toml @@ -1,22 +1,27 @@ +# Sampling: top_p defaults to 0.9 on M2.x and top_k is ignored +# (https://platform.minimax.io/docs/api-reference/text-anthropic-api). +schema = 2 name = "MiniMax-M2.1" description = "Earlier MiniMax agent model for practical coding and productivity tasks" family = "minimax" +open_weights = true release_date = "2025-12-23" -last_updated = "2025-12-23" -attachment = false -reasoning = true + +[modalities] +input = ["text"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } temperature = true -tool_call = true -open_weights = true +top_p = true +top_k = false [limit] context = 204_800 output = 131_072 -[modalities] -input = ["text"] -output = ["text"] - [[weights]] label = "Hugging Face" url = "https://huggingface.co/MiniMaxAI/MiniMax-M2.1" diff --git a/models/minimax/MiniMax-M2.5-highspeed.toml b/models/minimax/MiniMax-M2.5-highspeed.toml index 3bee545b21..6f6bd4de0d 100644 --- a/models/minimax/MiniMax-M2.5-highspeed.toml +++ b/models/minimax/MiniMax-M2.5-highspeed.toml @@ -1,22 +1,27 @@ +# Sampling: top_p defaults to 0.9 on M2.x and top_k is ignored +# (https://platform.minimax.io/docs/api-reference/text-anthropic-api). +schema = 2 name = "MiniMax-M2.5-highspeed" description = "High-speed MiniMax model for low-latency coding and agent workflows" family = "minimax" +open_weights = true release_date = "2026-02-13" -last_updated = "2026-02-13" -attachment = false -reasoning = true + +[modalities] +input = ["text"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } temperature = true -tool_call = true -open_weights = true +top_p = true +top_k = false [limit] context = 204_800 output = 131_072 -[modalities] -input = ["text"] -output = ["text"] - [[weights]] label = "Hugging Face" url = "https://huggingface.co/MiniMaxAI/MiniMax-M2.5" diff --git a/models/minimax/MiniMax-M2.5.toml b/models/minimax/MiniMax-M2.5.toml index e4790719e8..acd332332d 100644 --- a/models/minimax/MiniMax-M2.5.toml +++ b/models/minimax/MiniMax-M2.5.toml @@ -1,22 +1,27 @@ +# Sampling: top_p defaults to 0.9 on M2.x and top_k is ignored +# (https://platform.minimax.io/docs/api-reference/text-anthropic-api). +schema = 2 name = "MiniMax-M2.5" description = "Prior MiniMax coding model for agent workflows, office edits, and automation" family = "minimax" +open_weights = true release_date = "2026-02-12" -last_updated = "2026-02-12" -attachment = false -reasoning = true + +[modalities] +input = ["text"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } temperature = true -tool_call = true -open_weights = true +top_p = true +top_k = false [limit] context = 204_800 output = 131_072 -[modalities] -input = ["text"] -output = ["text"] - [[weights]] label = "Hugging Face" url = "https://huggingface.co/MiniMaxAI/MiniMax-M2.5" diff --git a/models/minimax/MiniMax-M2.7-highspeed.toml b/models/minimax/MiniMax-M2.7-highspeed.toml index 5e69a6f579..8a8e6a7e65 100644 --- a/models/minimax/MiniMax-M2.7-highspeed.toml +++ b/models/minimax/MiniMax-M2.7-highspeed.toml @@ -1,22 +1,27 @@ +# Sampling: top_p defaults to 0.9 on M2.x and top_k is ignored +# (https://platform.minimax.io/docs/api-reference/text-anthropic-api). +schema = 2 name = "MiniMax-M2.7-highspeed" description = "Low-latency M2.7 variant for interactive coding plans and agent loops" family = "minimax" +open_weights = true release_date = "2026-03-18" -last_updated = "2026-03-18" -attachment = false -reasoning = true + +[modalities] +input = ["text"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } temperature = true -tool_call = true -open_weights = true +top_p = true +top_k = false [limit] context = 204_800 output = 131_072 -[modalities] -input = ["text"] -output = ["text"] - [[weights]] label = "Hugging Face" url = "https://huggingface.co/MiniMaxAI/MiniMax-M2.7" diff --git a/models/minimax/MiniMax-M2.7.toml b/models/minimax/MiniMax-M2.7.toml index e72eaabdce..485bed3c2b 100644 --- a/models/minimax/MiniMax-M2.7.toml +++ b/models/minimax/MiniMax-M2.7.toml @@ -1,22 +1,27 @@ +# Sampling: top_p defaults to 0.9 on M2.x and top_k is ignored +# (https://platform.minimax.io/docs/api-reference/text-anthropic-api). +schema = 2 name = "MiniMax-M2.7" description = "Open MiniMax flagship for coding agents, office automation, and complex environments" family = "minimax" +open_weights = true release_date = "2026-03-18" -last_updated = "2026-03-18" -attachment = false -reasoning = true + +[modalities] +input = ["text"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } temperature = true -tool_call = true -open_weights = true +top_p = true +top_k = false [limit] context = 204_800 output = 131_072 -[modalities] -input = ["text"] -output = ["text"] - [[weights]] label = "Hugging Face" url = "https://huggingface.co/MiniMaxAI/MiniMax-M2.7" diff --git a/models/minimax/MiniMax-M2.toml b/models/minimax/MiniMax-M2.toml index f804a3b243..71eaa7129e 100644 --- a/models/minimax/MiniMax-M2.toml +++ b/models/minimax/MiniMax-M2.toml @@ -1,22 +1,27 @@ +# Sampling: top_p defaults to 0.9 on M2.x and top_k is ignored +# (https://platform.minimax.io/docs/api-reference/text-anthropic-api). +schema = 2 name = "MiniMax-M2" description = "Efficient open MiniMax model built for coding agents and tool-heavy workflows" family = "minimax" +open_weights = true release_date = "2025-10-27" -last_updated = "2025-10-27" -attachment = false -reasoning = true + +[modalities] +input = ["text"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } temperature = true -tool_call = true -open_weights = true +top_p = true +top_k = false [limit] context = 204_800 output = 131_072 -[modalities] -input = ["text"] -output = ["text"] - [[weights]] label = "Hugging Face" url = "https://huggingface.co/MiniMaxAI/MiniMax-M2" diff --git a/models/minimax/MiniMax-M3.1-Flash-Preview.toml b/models/minimax/MiniMax-M3.1-Flash-Preview.toml new file mode 100644 index 0000000000..6f782fb6c5 --- /dev/null +++ b/models/minimax/MiniMax-M3.1-Flash-Preview.toml @@ -0,0 +1,31 @@ +# Sources (accessed 2026-09-27): +# - https://platform.minimax.io/docs/api-reference/api-overview +# - https://platform.minimaxi.com/docs/api-reference/api-overview +# - https://platform.minimax.io/docs/api-reference/text-anthropic-api +# - https://platform.minimax.io/docs/api-reference/text-openai-api +# - https://platform.minimax.io/docs/guides/models-intro +# Input formats: images JPEG/PNG/GIF/WEBP, videos MP4/AVI/MOV/MKV (MediaSource schema in +# https://platform.minimax.io/docs/api-reference/text-chat-anthropic). +# Sampling: temperature and top_p are request parameters; top_k is ignored +# (https://platform.minimax.io/docs/api-reference/text-anthropic-api). +schema = 2 +name = "MiniMax-M3.1-Flash-Preview" +description = "Frontier multimodal coding model with 1M context window and tunable thinking depth" +family = "minimax" +open_weights = false +release_date = "2026-09-27" + +[modalities] +input = ["text", "image/jpeg", "image/png", "image/gif", "image/webp", "video/mp4", "video/x-msvideo", "video/quicktime", "video/x-matroska"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } +temperature = true +top_p = true +top_k = false + +[limit] +context = 1_000_000 +output = 512_000 diff --git a/models/minimax/MiniMax-M3.1-Flash.toml b/models/minimax/MiniMax-M3.1-Flash.toml new file mode 100644 index 0000000000..4dd1b773dc --- /dev/null +++ b/models/minimax/MiniMax-M3.1-Flash.toml @@ -0,0 +1,33 @@ +# Sources (accessed 2026-10-19): +# - https://platform.minimax.io/docs/api-reference/api-overview +# - https://platform.minimaxi.com/docs/api-reference/api-overview +# - https://platform.minimax.io/docs/api-reference/text-anthropic-api +# - https://platform.minimax.io/docs/api-reference/text-openai-api +# - https://platform.minimax.io/docs/guides/models-intro +# Input formats: images JPEG/PNG/GIF/WEBP, videos MP4/AVI/MOV/MKV (MediaSource schema in +# https://platform.minimax.io/docs/api-reference/text-chat-anthropic). +# Sampling: temperature and top_p are request parameters; top_k is ignored +# (https://platform.minimax.io/docs/api-reference/text-anthropic-api: temperature [0, 2], top_p (0, 1]). +# Weights: not released yet ("Model weights will be released later", +# https://www.minimax.io/blog/minimax-m31f; no MiniMaxAI/MiniMax-M3.1-Flash repo on Hugging Face, 2026-10-19). +schema = 2 +name = "MiniMax-M3.1-Flash" +description = "Frontier multimodal coding model with 1M context window and tunable thinking depth" +family = "minimax" +open_weights = false +release_date = "2026-10-19" + +[modalities] +input = ["text", "image/jpeg", "image/png", "image/gif", "image/webp", "video/mp4", "video/x-msvideo", "video/quicktime", "video/x-matroska"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } +temperature = true +top_p = true +top_k = false + +[limit] +context = 1_000_000 +output = 512_000 diff --git a/models/minimax/MiniMax-M3.toml b/models/minimax/MiniMax-M3.toml index 31ad8eeb00..4d00ec520d 100644 --- a/models/minimax/MiniMax-M3.toml +++ b/models/minimax/MiniMax-M3.toml @@ -1,22 +1,29 @@ +# Input formats: images JPEG/PNG/GIF/WEBP, videos MP4/AVI/MOV/MKV (MediaSource schema in +# https://platform.minimax.io/docs/api-reference/text-chat-anthropic). +# Sampling: temperature and top_p are request parameters; top_k is ignored +# (https://platform.minimax.io/docs/api-reference/text-anthropic-api). +schema = 2 name = "MiniMax-M3" description = "MiniMax multimodal model for long-context coding, perception, and agent planning" family = "minimax" +open_weights = true release_date = "2026-06-01" -last_updated = "2026-06-01" -attachment = true -reasoning = true + +[modalities] +input = ["text", "image/jpeg", "image/png", "image/gif", "image/webp", "video/mp4", "video/x-msvideo", "video/quicktime", "video/x-matroska"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } temperature = true -tool_call = true -open_weights = true +top_p = true +top_k = false [limit] context = 1_048_576 output = 512_000 -[modalities] -input = ["text", "image", "video"] -output = ["text"] - [[weights]] label = "Hugging Face" url = "https://huggingface.co/MiniMaxAI/MiniMax-M3" diff --git a/models/minimax/MiniMax-Text-01.toml b/models/minimax/MiniMax-Text-01.toml new file mode 100644 index 0000000000..e1073ede66 --- /dev/null +++ b/models/minimax/MiniMax-Text-01.toml @@ -0,0 +1,27 @@ +# Lab metadata carried over from providers/llmgateway-providers/models/minimax/MiniMax-Text-01.toml (curated catalogue data already in this repo), +# with provider-specific fields (cost, reasoning_options, status) stripped. +# MiniMax-Text-01 is the MiniMax-01 foundation (non-reasoning) model; MiniMax-M1 was the +# first MiniMax reasoning model (https://www.minimax.io/news/minimax-01-series-2, +# https://www.minimax.io/news/minimaxm1). Structured output is a host capability, so it +# is not set on the lab file. +schema = 2 +name = "MiniMax Text 01 (MiniMax)" +description = "MiniMax model for chat, coding, office work, and agentic tasks" +family = "minimax" +open_weights = false +release_date = "2025-01-15" + +[modalities] +input = ["text"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = false } +temperature = true +top_p = true +top_k = false + +[limit] +context = 1_000_000 +output = 131_072 diff --git a/models/minimax/image-01.toml b/models/minimax/image-01.toml index 611683f988..ed1e0d36de 100644 --- a/models/minimax/image-01.toml +++ b/models/minimax/image-01.toml @@ -3,24 +3,31 @@ # - https://platform.minimax.io/docs/api-reference/image-generation-t2i (POST /v1/image_generation) # - https://platform.minimax.io/docs/guides/pricing-paygo#image ($0.0035 per image) # - https://platform.minimax.io/docs/guides/pricing-token-plan (covered by Token Plan; no per-image cost) +# - https://platform.minimax.io/docs/api-reference/image-generation-i2i (reference image: JPG, JPEG, PNG) # Note: served on the standalone image endpoint (/v1/image_generation), not the # Anthropic-compatible /anthropic/v1 base — hence no provider entry under providers/minimax*. - +# Output MIME type: the image generation guide saves decoded image_base64 results as .jpeg +# (https://platform.minimax.io/docs/guides/image-generation); a live call on 2026-10-19 returned JPEG. +schema = 2 +type = "image" name = "MiniMax image-01" description = "MiniMax text-to-image generation model with reference-image support" family = "minimax" +open_weights = false release_date = "2025-02-15" last_updated = "2026-08-25" -attachment = true -reasoning = false + +[modalities] +input = ["text", "image/jpeg", "image/png"] +output = ["image/jpeg"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } temperature = false -tool_call = false -open_weights = false +top_p = false +top_k = false [limit] context = 0 output = 0 - -[modalities] -input = ["text", "image"] -output = ["image"] diff --git a/models/minimax/minimax-m1-80k.toml b/models/minimax/minimax-m1-80k.toml new file mode 100644 index 0000000000..0d58dc41c4 --- /dev/null +++ b/models/minimax/minimax-m1-80k.toml @@ -0,0 +1,29 @@ +# https://huggingface.co/MiniMaxAI/MiniMax-M1-80k +# https://www.minimax.io/news/minimaxm1 +# Recommended sampling: temperature 1.0, top_p 0.95 (model card); top_k not exposed. +schema = 2 +name = "MiniMax M1 80K" +description = "Open hybrid-attention MoE reasoning model with a million-token context and an 80K thinking budget" +family = "minimax" +open_weights = true +release_date = "2025-06-17" +license = "Apache-2.0" + +[modalities] +input = ["text"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } +temperature = true +top_p = true +top_k = false + +[limit] +context = 1_000_000 +output = 80_000 + +[[weights]] +label = "Hugging Face" +url = "https://huggingface.co/MiniMaxAI/MiniMax-M1-80k" diff --git a/models/minimax/speech-2.8-hd.toml b/models/minimax/speech-2.8-hd.toml new file mode 100644 index 0000000000..f4b3efd432 --- /dev/null +++ b/models/minimax/speech-2.8-hd.toml @@ -0,0 +1,25 @@ +# Released 2026-01-23: https://www.minimax.io/news/minimax-speech-28 +# Output formats (audio_setting.format mp3, pcm, flac, wav, pcmu_raw/pcmu_wav μ-law, opus): https://platform.minimax.io/docs/api-reference/speech-t2a-http +schema = 2 +v2_only = true +type = "speech" +name = "Speech 2.8 HD" +description = "High-fidelity text-to-speech model with sound tags and voice cloning" +family = "minimax" +open_weights = false +release_date = "2026-01-23" + +[modalities] +input = ["text"] +output = ["audio/mpeg", "audio/pcm", "audio/flac", "audio/wav", "audio/basic", "audio/opus"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 0 +output = 0 diff --git a/models/minimax/speech-2.8-turbo.toml b/models/minimax/speech-2.8-turbo.toml new file mode 100644 index 0000000000..67f9fc09bf --- /dev/null +++ b/models/minimax/speech-2.8-turbo.toml @@ -0,0 +1,25 @@ +# Released 2026-01-23: https://www.minimax.io/news/minimax-speech-28 +# Output formats (audio_setting.format mp3, pcm, flac, wav, pcmu_raw/pcmu_wav μ-law, opus): https://platform.minimax.io/docs/api-reference/speech-t2a-http +schema = 2 +v2_only = true +type = "speech" +name = "Speech 2.8 Turbo" +description = "Fast text-to-speech model with sound tags and voice cloning" +family = "minimax" +open_weights = false +release_date = "2026-01-23" + +[modalities] +input = ["text"] +output = ["audio/mpeg", "audio/pcm", "audio/flac", "audio/wav", "audio/basic", "audio/opus"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 0 +output = 0 diff --git a/models/mistral/codestral-22b-v0.1.toml b/models/mistral/codestral-22b-v0.1.toml index a6210a079e..ba1a0cd688 100644 --- a/models/mistral/codestral-22b-v0.1.toml +++ b/models/mistral/codestral-22b-v0.1.toml @@ -1,23 +1,26 @@ +schema = 2 name = "Codestral-22B-v0.1" description = "Open Mistral code model for fill-in-the-middle and 80+ programming languages" family = "codestral" -release_date = "2024-05-29" -last_updated = "2024-05-29" -attachment = false -reasoning = false -temperature = true -tool_call = false open_weights = true +release_date = "2024-05-29" license = "Mistral AI Non-Production License" -[limit] -context = 32_768 -output = 8_192 - [modalities] input = ["text"] output = ["text"] +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = true +top_p = true +top_k = true + +[limit] +context = 32_768 +output = 8_192 + [[weights]] label = "Hugging Face" url = "https://huggingface.co/mistralai/Codestral-22B-v0.1" diff --git a/models/mistral/codestral-2508.toml b/models/mistral/codestral-2508.toml new file mode 100644 index 0000000000..513a517a23 --- /dev/null +++ b/models/mistral/codestral-2508.toml @@ -0,0 +1,27 @@ +# Sources: https://docs.mistral.ai/models/codestral-25-08 (128k context, $0.3/$0.9 pricing, July 30 2025, FIM/code generation) +# https://docs.mistral.ai/inference/pricing (Codestral $0.3 input, $0.03 cached, $0.9 output) +# https://mistral.ai/news/codestral-25-08 (Codestral 25.08 announcement July 30 2025) +# https://docs.mistral.ai/resources/known-limitations (Codestral 128k max context) +# Fallback for max output: https://opper.ai/mistral/codestral-2508 (Mistral-route 8K max output, text in/out) +# Sampling: temperature and top_p only; Mistral's chat API has no top_k (https://docs.mistral.ai/api/endpoint/chat; 400 "top_k sampling is not enabled for this model", 2026-10-19) +schema = 2 +name = "Codestral 25.08" +description = "Mistral code model for low-latency completion, fill-in-the-middle, and code generation" +family = "codestral" +open_weights = false +release_date = "2025-07-30" + +[modalities] +input = ["text"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = false } +temperature = true +top_p = true +top_k = false + +[limit] +context = 128_000 +output = 8_192 diff --git a/models/mistral/codestral-embed-2505.toml b/models/mistral/codestral-embed-2505.toml new file mode 100644 index 0000000000..e20ef96e1c --- /dev/null +++ b/models/mistral/codestral-embed-2505.toml @@ -0,0 +1,27 @@ +# Sources: +# https://docs.mistral.ai/models/codestral-embed-25-05 (Codestral Embed, released 2025-05-28, 8k context, no open weights) +# https://docs.mistral.ai/studio/knowledge-rag/embeddings/code_embeddings (output_dimension defaults to 1536, max 3072) +# GET https://api.mistral.ai/v1/models (codestral-embed, alias codestral-embed-2505, max_context_length 8192) +schema = 2 +v2_only = true +type = "embedding" +name = "Codestral Embed" +description = "Embedding model for code search, retrieval, and code-aware RAG pipelines" +family = "codestral-embed" +open_weights = false +release_date = "2025-05-28" + +[modalities] +input = ["text"] +output = ["embedding"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 8_192 +output = 3_072 diff --git a/models/mistral/codestral-latest.toml b/models/mistral/codestral-latest.toml index a5b03ac61d..375b6ac42d 100644 --- a/models/mistral/codestral-latest.toml +++ b/models/mistral/codestral-latest.toml @@ -1,23 +1,27 @@ +schema = 2 name = "Codestral (latest)" description = "Mistral code model for completions, refactors, and developer IDE workflows" family = "codestral" +open_weights = true +knowledge = "2024-10" release_date = "2024-05-29" last_updated = "2025-01-04" -attachment = false -reasoning = false + +[modalities] +input = ["text"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = false } temperature = true -tool_call = true -knowledge = "2024-10" -open_weights = true +top_p = true +top_k = true [limit] context = 256_000 output = 4_096 -[modalities] -input = ["text"] -output = ["text"] - [[weights]] label = "Hugging Face" url = "https://huggingface.co/mistralai/Codestral-22B-v0.1" diff --git a/models/mistral/devstral-2512.toml b/models/mistral/devstral-2512.toml index 525967b25b..7b78bf5a3b 100644 --- a/models/mistral/devstral-2512.toml +++ b/models/mistral/devstral-2512.toml @@ -1,23 +1,26 @@ +schema = 2 name = "Devstral 2" description = "Mistral's coding-agent model for repository work, terminal tasks, and software fixes" family = "devstral" +open_weights = true +knowledge = "2025-12" release_date = "2025-12-09" -last_updated = "2025-12-09" -attachment = false -reasoning = false + +[modalities] +input = ["text"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = false } temperature = true -tool_call = true -knowledge = "2025-12" -open_weights = true +top_p = true +top_k = true [limit] context = 262_144 output = 262_144 -[modalities] -input = ["text"] -output = ["text"] - [[weights]] label = "Hugging Face" url = "https://huggingface.co/mistralai/Devstral-2-123B-Instruct-2512" diff --git a/models/mistral/devstral-medium-2507.toml b/models/mistral/devstral-medium-2507.toml index 6eb82d8f2b..b80bf384b5 100644 --- a/models/mistral/devstral-medium-2507.toml +++ b/models/mistral/devstral-medium-2507.toml @@ -1,23 +1,27 @@ +# Sampling: temperature and top_p only; Mistral's chat API has no top_k (https://docs.mistral.ai/api/endpoint/chat; 400 "top_k sampling is not enabled for this model", 2026-10-19) +schema = 2 name = "Devstral Medium" description = "Mistral coding agent model for repository tasks and software engineering workflows" family = "devstral" +open_weights = false +knowledge = "2025-05" release_date = "2025-07-10" -last_updated = "2025-07-10" -attachment = false -reasoning = false + +[modalities] +input = ["text"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = false } temperature = true -tool_call = true -knowledge = "2025-05" -open_weights = false +top_p = true +top_k = false [limit] context = 128_000 output = 128_000 -[modalities] -input = ["text"] -output = ["text"] - [[benchmarks]] name = "SWE-Bench Verified" score = 61.6 diff --git a/models/mistral/devstral-medium-latest.toml b/models/mistral/devstral-medium-latest.toml index 99c0f1d080..5a0fe22cb6 100644 --- a/models/mistral/devstral-medium-latest.toml +++ b/models/mistral/devstral-medium-latest.toml @@ -1,23 +1,26 @@ +schema = 2 name = "Devstral 2 (latest)" description = "Mistral coding agent model for repository tasks and software engineering workflows" family = "devstral" +open_weights = true +knowledge = "2025-12" release_date = "2025-12-02" -last_updated = "2025-12-02" -attachment = false -reasoning = false + +[modalities] +input = ["text"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = false } temperature = true -tool_call = true -knowledge = "2025-12" -open_weights = true +top_p = true +top_k = true [limit] context = 262_144 output = 262_144 -[modalities] -input = ["text"] -output = ["text"] - [[weights]] label = "Hugging Face" url = "https://huggingface.co/mistralai/Devstral-2-123B-Instruct-2512" diff --git a/models/mistral/devstral-small-2.toml b/models/mistral/devstral-small-2.toml index f8036965c9..3b9751da3e 100644 --- a/models/mistral/devstral-small-2.toml +++ b/models/mistral/devstral-small-2.toml @@ -1,27 +1,31 @@ # Sources: # https://mistral.ai/news/devstral-2-vibe-cli/ # https://huggingface.co/mistralai/Devstral-Small-2-24B-Instruct-2512 +# Image formats: https://docs.mistral.ai/studio/conversations/vision (PNG, JPEG, WEBP, non-animated GIF) +schema = 2 name = "Devstral Small 2" description = "Compact multimodal coding model for repository exploration, file editing, and software agents" family = "devstral" -release_date = "2025-12-09" -last_updated = "2025-12-09" -attachment = true -reasoning = false -temperature = true -tool_call = true -knowledge = "2025-12" open_weights = true +knowledge = "2025-12" +release_date = "2025-12-09" license = "Apache-2.0" +[modalities] +input = ["text", "image/png", "image/jpeg", "image/webp", "image/gif"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = false } +temperature = true +top_p = true +top_k = true + [limit] context = 262_144 output = 262_144 -[modalities] -input = ["text", "image"] -output = ["text"] - [[weights]] label = "Hugging Face" url = "https://huggingface.co/mistralai/Devstral-Small-2-24B-Instruct-2512" diff --git a/models/mistral/devstral-small-2507.toml b/models/mistral/devstral-small-2507.toml index a5e4fdf809..f976d399fa 100644 --- a/models/mistral/devstral-small-2507.toml +++ b/models/mistral/devstral-small-2507.toml @@ -1,23 +1,26 @@ +schema = 2 name = "Devstral Small" description = "Mistral coding agent model for repository tasks and software engineering workflows" family = "devstral" +open_weights = true +knowledge = "2025-05" release_date = "2025-07-10" -last_updated = "2025-07-10" -attachment = false -reasoning = false + +[modalities] +input = ["text"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = false } temperature = true -tool_call = true -knowledge = "2025-05" -open_weights = true +top_p = true +top_k = true [limit] context = 128_000 output = 128_000 -[modalities] -input = ["text"] -output = ["text"] - [[weights]] label = "Hugging Face" url = "https://huggingface.co/mistralai/Devstral-Small-2507" diff --git a/models/mistral/magistral-medium-latest.toml b/models/mistral/magistral-medium-latest.toml index 966cd5ab07..afbed7a34c 100644 --- a/models/mistral/magistral-medium-latest.toml +++ b/models/mistral/magistral-medium-latest.toml @@ -1,19 +1,24 @@ +# Sampling: temperature and top_p only; Mistral's chat API has no top_k (https://docs.mistral.ai/api/endpoint/chat; 400 "top_k sampling is not enabled for this model", 2026-10-19) +schema = 2 name = "Magistral Medium (latest)" description = "Mistral reasoning model for transparent analysis, math, and complex decisions" family = "magistral-medium" +open_weights = false +knowledge = "2025-06" release_date = "2025-03-17" last_updated = "2025-03-20" -attachment = false -reasoning = true + +[modalities] +input = ["text"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } temperature = true -tool_call = true -knowledge = "2025-06" -open_weights = false +top_p = true +top_k = false [limit] context = 128_000 output = 16_384 - -[modalities] -input = ["text"] -output = ["text"] diff --git a/models/mistral/magistral-small-2506.toml b/models/mistral/magistral-small-2506.toml index c944c600bf..7e68adbed1 100644 --- a/models/mistral/magistral-small-2506.toml +++ b/models/mistral/magistral-small-2506.toml @@ -1,23 +1,26 @@ +schema = 2 name = "Magistral Small" description = "Open Mistral reasoning model for transparent step-by-step problem solving" family = "magistral" -release_date = "2025-06-10" -last_updated = "2025-06-10" -attachment = false -reasoning = true -temperature = true -tool_call = true open_weights = true +release_date = "2025-06-10" license = "Apache 2.0" -[limit] -context = 131_072 -output = 8_192 - [modalities] input = ["text"] output = ["text"] +[capabilities] +tools = { supported = true } +reasoning = { supported = true } +temperature = true +top_p = true +top_k = true + +[limit] +context = 131_072 +output = 8_192 + [[weights]] label = "Hugging Face" url = "https://huggingface.co/mistralai/Magistral-Small-2506" diff --git a/models/mistral/magistral-small-2509.toml b/models/mistral/magistral-small-2509.toml index f4dcc38c9e..c2c0ac7938 100644 --- a/models/mistral/magistral-small-2509.toml +++ b/models/mistral/magistral-small-2509.toml @@ -2,26 +2,30 @@ # https://huggingface.co/mistralai/Magistral-Small-2509 # https://huggingface.co/mistralai/Magistral-Small-2509/blob/main/generation_config.json # Native generation config sets max_new_tokens = 131072, matching the model card's max_tokens setting. +# Image formats: https://docs.mistral.ai/studio/conversations/vision (PNG, JPEG, WEBP, non-animated GIF) +schema = 2 name = "Magistral Small 1.2" description = "Open multimodal reasoning model for transparent analysis of text and images" family = "magistral" -release_date = "2025-09-18" -last_updated = "2025-09-18" -attachment = true -reasoning = true -temperature = true -tool_call = true open_weights = true +release_date = "2025-09-18" license = "Apache 2.0" +[modalities] +input = ["text", "image/png", "image/jpeg", "image/webp", "image/gif"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } +temperature = true +top_p = true +top_k = true + [limit] context = 131_072 output = 131_072 -[modalities] -input = ["text", "image"] -output = ["text"] - [[weights]] label = "Hugging Face" url = "https://huggingface.co/mistralai/Magistral-Small-2509" diff --git a/models/mistral/ministral-14b-2512.toml b/models/mistral/ministral-14b-2512.toml new file mode 100644 index 0000000000..354480e609 --- /dev/null +++ b/models/mistral/ministral-14b-2512.toml @@ -0,0 +1,24 @@ +# Lab metadata carried over from providers/openrouter/models/mistralai/ministral-14b-2512.toml (curated catalogue data already in this repo), +# with provider-specific fields (cost, reasoning_options, status) stripped. +# Image formats: https://docs.mistral.ai/studio/conversations/vision (PNG, JPEG, WEBP, non-animated GIF) +schema = 2 +name = "Ministral 3 14B 2512" +description = "Compact Mistral model for edge, latency-sensitive, and cost-efficient workloads" +family = "ministral" +open_weights = true +release_date = "2025-12-02" + +[modalities] +input = ["text", "image/png", "image/jpeg", "image/webp", "image/gif"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = false } +temperature = true +top_p = true +top_k = true + +[limit] +context = 262_144 +output = 209_715 diff --git a/models/mistral/ministral-14b.toml b/models/mistral/ministral-14b.toml index 28621ad612..f62f06a8de 100644 --- a/models/mistral/ministral-14b.toml +++ b/models/mistral/ministral-14b.toml @@ -1,26 +1,30 @@ # Sources: # https://mistral.ai/news/mistral-3/ # https://huggingface.co/mistralai/Ministral-3-14B-Instruct-2512 +# Image formats: https://docs.mistral.ai/studio/conversations/vision (PNG, JPEG, WEBP, non-animated GIF) +schema = 2 name = "Ministral 14B" description = "Compact multimodal Mistral model for local assistants, edge agents, and efficient tool use" family = "ministral" -release_date = "2025-12-02" -last_updated = "2025-12-02" -attachment = true -reasoning = false -temperature = true -tool_call = true open_weights = true +release_date = "2025-12-02" license = "Apache-2.0" +[modalities] +input = ["text", "image/png", "image/jpeg", "image/webp", "image/gif"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = false } +temperature = true +top_p = true +top_k = true + [limit] context = 262_144 output = 262_144 -[modalities] -input = ["text", "image"] -output = ["text"] - [[weights]] label = "Hugging Face" url = "https://huggingface.co/mistralai/Ministral-3-14B-Instruct-2512" diff --git a/models/mistral/ministral-3-14b-instruct-2512.toml b/models/mistral/ministral-3-14b-instruct-2512.toml index f39bfa4efe..6472dfd6a3 100644 --- a/models/mistral/ministral-3-14b-instruct-2512.toml +++ b/models/mistral/ministral-3-14b-instruct-2512.toml @@ -3,27 +3,30 @@ # https://huggingface.co/mistralai/Ministral-3-14B-Instruct-2512/blob/main/generation_config.json # Native examples request max_tokens = 262144; generation_config.max_length is also 262144. # This is a shared prompt/generation ceiling, not a host-specific independent output cap. +# Image formats: https://docs.mistral.ai/studio/conversations/vision (PNG, JPEG, WEBP, non-animated GIF) +schema = 2 name = "Ministral 3 14B" description = "Open vision-language model for efficient local deployment, instruction following, and tool use" family = "ministral" -release_date = "2025-12-02" -last_updated = "2025-12-02" -attachment = true -reasoning = false -temperature = true -tool_call = true -structured_output = true open_weights = true +release_date = "2025-12-02" license = "Apache 2.0" +[modalities] +input = ["text", "image/png", "image/jpeg", "image/webp", "image/gif"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = false } +temperature = true +top_p = true +top_k = true + [limit] context = 262_144 output = 262_144 -[modalities] -input = ["text", "image"] -output = ["text"] - [[weights]] label = "Hugging Face" url = "https://huggingface.co/mistralai/Ministral-3-14B-Instruct-2512" diff --git a/models/mistral/ministral-3-3b-instruct-2512.toml b/models/mistral/ministral-3-3b-instruct-2512.toml index e3b6fdfeea..00b7b2b46c 100644 --- a/models/mistral/ministral-3-3b-instruct-2512.toml +++ b/models/mistral/ministral-3-3b-instruct-2512.toml @@ -3,27 +3,30 @@ # https://huggingface.co/mistralai/Ministral-3-3B-Instruct-2512/blob/main/generation_config.json # Native examples request max_tokens = 262144; generation_config.max_length is also 262144. # This is a shared prompt/generation ceiling, not a host-specific independent output cap. +# Image formats: https://docs.mistral.ai/studio/conversations/vision (PNG, JPEG, WEBP, non-animated GIF) +schema = 2 name = "Ministral 3 3B" description = "Compact open vision-language model for edge deployment, instruction following, and tool use" family = "ministral" -release_date = "2025-12-02" -last_updated = "2025-12-02" -attachment = true -reasoning = false -temperature = true -tool_call = true -structured_output = true open_weights = true +release_date = "2025-12-02" license = "Apache 2.0" +[modalities] +input = ["text", "image/png", "image/jpeg", "image/webp", "image/gif"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = false } +temperature = true +top_p = true +top_k = true + [limit] context = 262_144 output = 262_144 -[modalities] -input = ["text", "image"] -output = ["text"] - [[weights]] label = "Hugging Face" url = "https://huggingface.co/mistralai/Ministral-3-3B-Instruct-2512" diff --git a/models/mistral/ministral-3-8b-instruct-2512.toml b/models/mistral/ministral-3-8b-instruct-2512.toml index 493dc85c43..d1222a903e 100644 --- a/models/mistral/ministral-3-8b-instruct-2512.toml +++ b/models/mistral/ministral-3-8b-instruct-2512.toml @@ -3,27 +3,30 @@ # https://huggingface.co/mistralai/Ministral-3-8B-Instruct-2512/blob/main/generation_config.json # Native examples request max_tokens = 262144; generation_config.max_length is also 262144. # This is a shared prompt/generation ceiling, not a host-specific independent output cap. +# Image formats: https://docs.mistral.ai/studio/conversations/vision (PNG, JPEG, WEBP, non-animated GIF) +schema = 2 name = "Ministral 3 8B" description = "Compact open vision-language model for edge deployment, instruction following, and tool use" family = "ministral" -release_date = "2025-12-02" -last_updated = "2025-12-02" -attachment = true -reasoning = false -temperature = true -tool_call = true -structured_output = true open_weights = true +release_date = "2025-12-02" license = "Apache 2.0" +[modalities] +input = ["text", "image/png", "image/jpeg", "image/webp", "image/gif"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = false } +temperature = true +top_p = true +top_k = true + [limit] context = 262_144 output = 262_144 -[modalities] -input = ["text", "image"] -output = ["text"] - [[weights]] label = "Hugging Face" url = "https://huggingface.co/mistralai/Ministral-3-8B-Instruct-2512" diff --git a/models/mistral/ministral-3b-2512.toml b/models/mistral/ministral-3b-2512.toml new file mode 100644 index 0000000000..d15887ee1d --- /dev/null +++ b/models/mistral/ministral-3b-2512.toml @@ -0,0 +1,24 @@ +# Lab metadata carried over from providers/openrouter/models/mistralai/ministral-3b-2512.toml (curated catalogue data already in this repo), +# with provider-specific fields (cost, reasoning_options, status) stripped. +# Image formats: https://docs.mistral.ai/studio/conversations/vision (PNG, JPEG, WEBP, non-animated GIF) +schema = 2 +name = "Ministral 3 3B 2512" +description = "Compact Mistral model for edge, latency-sensitive, and cost-efficient workloads" +family = "ministral" +open_weights = true +release_date = "2025-12-02" + +[modalities] +input = ["text", "image/png", "image/jpeg", "image/webp", "image/gif"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = false } +temperature = true +top_p = true +top_k = true + +[limit] +context = 131_072 +output = 104_857 diff --git a/models/mistral/ministral-3b.toml b/models/mistral/ministral-3b.toml index ab4a0a2836..0ec7dc8944 100644 --- a/models/mistral/ministral-3b.toml +++ b/models/mistral/ministral-3b.toml @@ -1,22 +1,25 @@ # Sources: # https://mistral.ai/news/ministraux/ # https://ai.azure.com/catalog/models/Ministral-3B +schema = 2 name = "Ministral 3B" description = "Compact Mistral model for edge, latency-sensitive, and cost-efficient workloads" family = "ministral" +open_weights = true +knowledge = "2024-03" release_date = "2024-10-16" -last_updated = "2024-10-16" -attachment = false -reasoning = false + +[modalities] +input = ["text"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = false } temperature = true -tool_call = true -knowledge = "2024-03" -open_weights = true +top_p = true +top_k = true [limit] context = 128_000 output = 8_192 - -[modalities] -input = ["text"] -output = ["text"] diff --git a/models/mistral/ministral-8b-2512.toml b/models/mistral/ministral-8b-2512.toml new file mode 100644 index 0000000000..a04591da3d --- /dev/null +++ b/models/mistral/ministral-8b-2512.toml @@ -0,0 +1,24 @@ +# Lab metadata carried over from providers/openrouter/models/mistralai/ministral-8b-2512.toml (curated catalogue data already in this repo), +# with provider-specific fields (cost, reasoning_options, status) stripped. +# Image formats: https://docs.mistral.ai/studio/conversations/vision (PNG, JPEG, WEBP, non-animated GIF) +schema = 2 +name = "Ministral 3 8B 2512" +description = "Compact Mistral model for edge, latency-sensitive, and cost-efficient workloads" +family = "ministral" +open_weights = true +release_date = "2025-12-02" + +[modalities] +input = ["text", "image/png", "image/jpeg", "image/webp", "image/gif"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = false } +temperature = true +top_p = true +top_k = true + +[limit] +context = 262_144 +output = 209_715 diff --git a/models/mistral/ministral-8b-instruct-2410.toml b/models/mistral/ministral-8b-instruct-2410.toml index dc9b0d655b..7aceef554f 100644 --- a/models/mistral/ministral-8b-instruct-2410.toml +++ b/models/mistral/ministral-8b-instruct-2410.toml @@ -1,23 +1,26 @@ +schema = 2 name = "Ministral 8B Instruct" description = "Efficient open Mistral edge model for on-device chat and function calling" family = "ministral" -release_date = "2024-10-16" -last_updated = "2024-10-16" -attachment = false -reasoning = false -temperature = true -tool_call = true open_weights = true +release_date = "2024-10-16" license = "Mistral Research License" -[limit] -context = 131_072 -output = 8_192 - [modalities] input = ["text"] output = ["text"] +[capabilities] +tools = { supported = true } +reasoning = { supported = false } +temperature = true +top_p = true +top_k = true + +[limit] +context = 131_072 +output = 8_192 + [[weights]] label = "Hugging Face" url = "https://huggingface.co/mistralai/Ministral-8B-Instruct-2410" diff --git a/models/mistral/mistral-7b-instruct-v0.3.toml b/models/mistral/mistral-7b-instruct-v0.3.toml new file mode 100644 index 0000000000..b348f8d10b --- /dev/null +++ b/models/mistral/mistral-7b-instruct-v0.3.toml @@ -0,0 +1,30 @@ +# Model card: https://huggingface.co/mistralai/Mistral-7B-Instruct-v0.3 ("Supports function calling"; Apache 2.0). +# Published 2024-05-22 (Hugging Face createdAt). Context 32,768: config.json max_position_embeddings. No separate output +# cap is published, so output = context. +# Sampling: open weights, so temperature/top_p/top_k are runtime features of the host. +schema = 2 +name = "Mistral 7B Instruct v0.3" +description = "Open 7B Mistral instruction model with function calling" +family = "mistral" +open_weights = true +release_date = "2024-05-22" +license = "Apache 2.0" + +[modalities] +input = ["text"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = false } +temperature = true +top_p = true +top_k = true + +[limit] +context = 32_768 +output = 32_768 + +[[weights]] +label = "Hugging Face" +url = "https://huggingface.co/mistralai/Mistral-7B-Instruct-v0.3" diff --git a/models/mistral/mistral-embed.toml b/models/mistral/mistral-embed.toml new file mode 100644 index 0000000000..2449111836 --- /dev/null +++ b/models/mistral/mistral-embed.toml @@ -0,0 +1,23 @@ +# Embedding model (POST /v1/embeddings): https://docs.mistral.ai/models/mistral-embed-23-12 +schema = 2 +type = "embedding" +name = "Mistral Embed" +description = "Embedding model for semantic search, retrieval, clustering, and ranking pipelines" +family = "mistral-embed" +open_weights = false +release_date = "2023-12-11" + +[modalities] +input = ["text"] +output = ["embedding"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 8_000 +output = 3_072 diff --git a/models/mistral/mistral-large-2407.toml b/models/mistral/mistral-large-2407.toml new file mode 100644 index 0000000000..72cdce739a --- /dev/null +++ b/models/mistral/mistral-large-2407.toml @@ -0,0 +1,31 @@ +# Lab metadata carried over from providers/openrouter/models/mistralai/mistral-large-2407.toml (curated catalogue data already in this repo), +# with provider-specific fields (cost, reasoning_options, status) stripped. +# Sampling: temperature and top_p only; Mistral's chat API has no top_k (https://docs.mistral.ai/api/endpoint/chat; 400 "top_k sampling is not enabled for this model", 2026-10-19) +# Release date: https://docs.mistral.ai/models/mistral-large-2-0-24-07 (2024-07-24) and https://mistral.ai/news/mistral-large-2407 (July 24, 2024) +# Open weights: "Weights for the instruct model are available and are also hosted on HuggingFace" (https://mistral.ai/news/mistral-large-2407), under the Mistral Research License, as for Large 2411. +schema = 2 +name = "Mistral Large 2407" +description = "Flagship Mistral model for advanced reasoning, coding, and multilingual work" +family = "mistral-large" +open_weights = true +knowledge = "2024-03-31" +release_date = "2024-07-24" + +[modalities] +input = ["text", "application/pdf"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = false } +temperature = true +top_p = true +top_k = false + +[limit] +context = 131_072 +output = 104_857 + +[[weights]] +label = "Hugging Face" +url = "https://huggingface.co/mistralai/Mistral-Large-Instruct-2407" diff --git a/models/mistral/mistral-large-2411.toml b/models/mistral/mistral-large-2411.toml index f9d95fe795..f12be1c20c 100644 --- a/models/mistral/mistral-large-2411.toml +++ b/models/mistral/mistral-large-2411.toml @@ -1,23 +1,26 @@ +schema = 2 name = "Mistral Large 2.1" description = "Flagship Mistral model for advanced reasoning, coding, and multilingual work" family = "mistral-large" +open_weights = true +knowledge = "2024-11" release_date = "2024-11-18" -last_updated = "2024-11-18" -attachment = false -reasoning = false + +[modalities] +input = ["text"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = false } temperature = true -tool_call = true -knowledge = "2024-11" -open_weights = true +top_p = true +top_k = true [limit] context = 131_072 output = 16_384 -[modalities] -input = ["text"] -output = ["text"] - [[weights]] label = "Hugging Face" url = "https://huggingface.co/mistralai/Mistral-Large-Instruct-2411" diff --git a/models/mistral/mistral-large-2512.toml b/models/mistral/mistral-large-2512.toml index 9905e0e1c5..accf199ffa 100644 --- a/models/mistral/mistral-large-2512.toml +++ b/models/mistral/mistral-large-2512.toml @@ -1,24 +1,28 @@ # https://mistral.ai/news/mistral-3 +# Image formats: https://docs.mistral.ai/studio/conversations/vision (PNG, JPEG, WEBP, non-animated GIF) +schema = 2 name = "Mistral Large 3" description = "Mistral's largest general model for enterprise agents, coding, and multilingual reasoning" family = "mistral-large" +open_weights = true +knowledge = "2024-11" release_date = "2025-12-02" -last_updated = "2025-12-02" -attachment = true -reasoning = false + +[modalities] +input = ["text", "image/png", "image/jpeg", "image/webp", "image/gif"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = false } temperature = true -tool_call = true -knowledge = "2024-11" -open_weights = true +top_p = true +top_k = true [limit] context = 262_144 output = 262_144 -[modalities] -input = ["text", "image"] -output = ["text"] - [[weights]] label = "Hugging Face" url = "https://huggingface.co/mistralai/Mistral-Large-3-675B-Instruct-2512" diff --git a/models/mistral/mistral-large-4.toml b/models/mistral/mistral-large-4.toml new file mode 100644 index 0000000000..7df30d3fc6 --- /dev/null +++ b/models/mistral/mistral-large-4.toml @@ -0,0 +1,23 @@ +# Image formats: https://docs.mistral.ai/studio/conversations/vision (PNG, JPEG, WEBP, non-animated GIF) +# Sampling: temperature and top_p only; Mistral's chat API has no top_k (https://docs.mistral.ai/api/endpoint/chat; 400 "top_k sampling is not enabled for this model", 2026-10-19) +schema = 2 +name = "Mistral Large 4" +description = "Mistral's 1T-parameter multimodal MoE for reasoning, coding, and agentic work" +family = "mistral-large" +open_weights = false +release_date = "2026-10-06" + +[modalities] +input = ["text", "image/png", "image/jpeg", "image/webp", "image/gif"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } +temperature = true +top_p = true +top_k = false + +[limit] +context = 1_048_576 +output = 262_144 diff --git a/models/mistral/mistral-large-latest.toml b/models/mistral/mistral-large-latest.toml index 9c93dd7256..e759c4c911 100644 --- a/models/mistral/mistral-large-latest.toml +++ b/models/mistral/mistral-large-latest.toml @@ -1,23 +1,28 @@ +# Image formats: https://docs.mistral.ai/studio/conversations/vision (PNG, JPEG, WEBP, non-animated GIF) +schema = 2 name = "Mistral Large (latest)" description = "Flagship Mistral model for advanced reasoning, coding, and multilingual work" family = "mistral-large" +open_weights = true +knowledge = "2024-11" release_date = "2024-11-01" last_updated = "2025-12-02" -attachment = true -reasoning = false + +[modalities] +input = ["text", "image/png", "image/jpeg", "image/webp", "image/gif"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = false } temperature = true -tool_call = true -knowledge = "2024-11" -open_weights = true +top_p = true +top_k = true [limit] context = 262_144 output = 262_144 -[modalities] -input = ["text", "image"] -output = ["text"] - [[weights]] label = "Hugging Face" url = "https://huggingface.co/mistralai/Mistral-Large-3-675B-Instruct-2512" diff --git a/models/mistral/mistral-large.toml b/models/mistral/mistral-large.toml new file mode 100644 index 0000000000..e5ff8be5a1 --- /dev/null +++ b/models/mistral/mistral-large.toml @@ -0,0 +1,25 @@ +# Lab metadata carried over from providers/openrouter/models/mistralai/mistral-large.toml (curated catalogue data already in this repo), +# with provider-specific fields (cost, reasoning_options, status) stripped. +# Sampling: temperature and top_p only; Mistral's chat API has no top_k (https://docs.mistral.ai/api/endpoint/chat; 400 "top_k sampling is not enabled for this model", 2026-10-19) +schema = 2 +name = "Mistral Large" +description = "Flagship Mistral model for advanced reasoning, coding, and multilingual work" +family = "mistral-large" +open_weights = false +knowledge = "2024-11-30" +release_date = "2024-02-26" + +[modalities] +input = ["text", "application/pdf"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = false } +temperature = true +top_p = true +top_k = false + +[limit] +context = 128_000 +output = 102_400 diff --git a/models/mistral/mistral-medium-2505.toml b/models/mistral/mistral-medium-2505.toml index f76baf1c68..02c8d2a99c 100644 --- a/models/mistral/mistral-medium-2505.toml +++ b/models/mistral/mistral-medium-2505.toml @@ -1,23 +1,28 @@ +# Image formats: https://docs.mistral.ai/studio/conversations/vision (PNG, JPEG, WEBP, non-animated GIF) +# Sampling: temperature and top_p only; Mistral's chat API has no top_k (https://docs.mistral.ai/api/endpoint/chat; 400 "top_k sampling is not enabled for this model", 2026-10-19) +schema = 2 name = "Mistral Medium 3" description = "Mistral model for multilingual chat, reasoning, and tool-assisted workflows" family = "mistral-medium" +open_weights = false +knowledge = "2025-05" release_date = "2025-05-07" -last_updated = "2025-05-07" -attachment = true -reasoning = false + +[modalities] +input = ["text", "image/png", "image/jpeg", "image/webp", "image/gif"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = false } temperature = true -tool_call = true -knowledge = "2025-05" -open_weights = false +top_p = true +top_k = false [limit] context = 131_072 output = 131_072 -[modalities] -input = ["text", "image"] -output = ["text"] - [[benchmarks]] name = "Artificial Analysis Coding Index" score = 13.6 diff --git a/models/mistral/mistral-medium-2604.toml b/models/mistral/mistral-medium-2604.toml index 74a4403cab..c4f71b5458 100644 --- a/models/mistral/mistral-medium-2604.toml +++ b/models/mistral/mistral-medium-2604.toml @@ -1,23 +1,26 @@ +# Image formats: https://docs.mistral.ai/studio/conversations/vision (PNG, JPEG, WEBP, non-animated GIF) +schema = 2 name = "Mistral Medium 3.5" description = "Balanced Mistral model for enterprise assistants, multilingual work, and tools" family = "mistral-medium" +open_weights = true release_date = "2026-04-29" -last_updated = "2026-04-29" -attachment = true -reasoning = true + +[modalities] +input = ["text", "image/png", "image/jpeg", "image/webp", "image/gif"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } temperature = true -tool_call = true -structured_output = true -open_weights = true +top_p = true +top_k = true [limit] context = 262_144 output = 262_144 -[modalities] -input = ["text", "image"] -output = ["text"] - [[weights]] label = "Hugging Face" url = "https://huggingface.co/mistralai/Mistral-Medium-3.5-128B" diff --git a/models/mistral/mistral-medium-3-5.toml b/models/mistral/mistral-medium-3-5.toml new file mode 100644 index 0000000000..e1a3d37382 --- /dev/null +++ b/models/mistral/mistral-medium-3-5.toml @@ -0,0 +1,25 @@ +# Lab metadata carried over from providers/openrouter/models/mistralai/mistral-medium-3-5.toml (curated catalogue data already in this repo), +# with provider-specific fields (cost, reasoning_options, status) stripped. +# Image formats: https://docs.mistral.ai/studio/conversations/vision (PNG, JPEG, WEBP, non-animated GIF) +# Sampling: temperature and top_p only; Mistral's chat API has no top_k (https://docs.mistral.ai/api/endpoint/chat; 400 "top_k sampling is not enabled for this model", 2026-10-19) +schema = 2 +name = "Mistral Medium 3.5" +description = "Mistral model for multilingual chat, reasoning, and tool-assisted workflows" +family = "mistral-medium" +open_weights = false +release_date = "2026-04-30" + +[modalities] +input = ["text", "image/png", "image/jpeg", "image/webp", "image/gif", "application/pdf"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } +temperature = true +top_p = true +top_k = false + +[limit] +context = 262_144 +output = 209_715 diff --git a/models/mistral/mistral-medium-3.1.toml b/models/mistral/mistral-medium-3.1.toml new file mode 100644 index 0000000000..4f147f0a87 --- /dev/null +++ b/models/mistral/mistral-medium-3.1.toml @@ -0,0 +1,27 @@ +# Lab metadata carried over from providers/openrouter/models/mistralai/mistral-medium-3.1.toml (curated catalogue data already in this repo), +# with provider-specific fields (cost, reasoning_options, status) stripped. +# Image formats: https://docs.mistral.ai/studio/conversations/vision (PNG, JPEG, WEBP, non-animated GIF) +# Sampling: temperature and top_p only; Mistral's chat API has no top_k (https://docs.mistral.ai/api/endpoint/chat; 400 "top_k sampling is not enabled for this model", 2026-10-19) +# Release date: https://docs.mistral.ai/models/mistral-medium-3-1-25-08 (2025-08-12) +schema = 2 +name = "Mistral Medium 3.1" +description = "Mistral model for multilingual chat, reasoning, and tool-assisted workflows" +family = "mistral-medium" +open_weights = false +knowledge = "2025-06-30" +release_date = "2025-08-12" + +[modalities] +input = ["text", "image/png", "image/jpeg", "image/webp", "image/gif", "application/pdf"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = false } +temperature = true +top_p = true +top_k = false + +[limit] +context = 131_072 +output = 104_857 diff --git a/models/mistral/mistral-medium-3.toml b/models/mistral/mistral-medium-3.toml new file mode 100644 index 0000000000..55577fc1a3 --- /dev/null +++ b/models/mistral/mistral-medium-3.toml @@ -0,0 +1,26 @@ +# Lab metadata carried over from providers/openrouter/models/mistralai/mistral-medium-3.toml (curated catalogue data already in this repo), +# with provider-specific fields (cost, reasoning_options, status) stripped. +# Image formats: https://docs.mistral.ai/studio/conversations/vision (PNG, JPEG, WEBP, non-animated GIF) +# Sampling: temperature and top_p only; Mistral's chat API has no top_k (https://docs.mistral.ai/api/endpoint/chat; 400 "top_k sampling is not enabled for this model", 2026-10-19) +schema = 2 +name = "Mistral Medium 3" +description = "Mistral model for multilingual chat, reasoning, and tool-assisted workflows" +family = "mistral-medium" +open_weights = false +knowledge = "2025-03-31" +release_date = "2025-05-07" + +[modalities] +input = ["text", "image/png", "image/jpeg", "image/webp", "image/gif", "application/pdf"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = false } +temperature = true +top_p = true +top_k = false + +[limit] +context = 131_072 +output = 104_857 diff --git a/models/mistral/mistral-medium-latest.toml b/models/mistral/mistral-medium-latest.toml index cf74bc9593..1c4c18d2fe 100644 --- a/models/mistral/mistral-medium-latest.toml +++ b/models/mistral/mistral-medium-latest.toml @@ -1,25 +1,28 @@ # mistral-medium-latest is Mistral's alias for Mistral Medium 3.5 (mistral-medium-2604). # Medium 3.1 (mistral-medium-2508) was deprecated 2026-05-22, retiring 2026-08-31. +# Image formats: https://docs.mistral.ai/studio/conversations/vision (PNG, JPEG, WEBP, non-animated GIF) +schema = 2 name = "Mistral Medium (latest)" description = "Balanced Mistral model for enterprise assistants, multilingual work, and tools" family = "mistral-medium" +open_weights = true release_date = "2026-04-29" -last_updated = "2026-04-29" -attachment = true -reasoning = true + +[modalities] +input = ["text", "image/png", "image/jpeg", "image/webp", "image/gif"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } temperature = true -tool_call = true -structured_output = true -open_weights = true +top_p = true +top_k = true [limit] context = 262_144 output = 262_144 -[modalities] -input = ["text", "image"] -output = ["text"] - [[weights]] label = "Hugging Face" url = "https://huggingface.co/mistralai/Mistral-Medium-3.5-128B" diff --git a/models/mistral/mistral-moderation-2603.toml b/models/mistral/mistral-moderation-2603.toml new file mode 100644 index 0000000000..f24fe70474 --- /dev/null +++ b/models/mistral/mistral-moderation-2603.toml @@ -0,0 +1,26 @@ +# Sources: +# https://docs.mistral.ai/models/mistral-moderation-26-03 (released 2026-03-01, 128k context, no open weights, free) +# https://docs.mistral.ai/studio/safety-moderation (POST /v1/moderations and /v1/chat/moderations; category scores) +# GET https://api.mistral.ai/v1/models (mistral-moderation-2603, capabilities classification + moderation, +# max_context_length 131072) +schema = 2 +v2_only = true +name = "Mistral Moderation 26.03" +description = "Moderation classifier for text and conversations with jailbreak detection and multilingual coverage" +open_weights = false +release_date = "2026-03-01" + +[modalities] +input = ["text"] +output = ["text"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 131_072 +output = 0 diff --git a/models/mistral/mistral-nemo.toml b/models/mistral/mistral-nemo.toml index 93c89586bd..d59e04c700 100644 --- a/models/mistral/mistral-nemo.toml +++ b/models/mistral/mistral-nemo.toml @@ -1,23 +1,27 @@ +# Release date: https://docs.mistral.ai/models/mistral-nemo-12b-24-07 (2024-07-18) and https://mistral.ai/news/mistral-nemo (July 18, 2024) +schema = 2 name = "Mistral Nemo" description = "Efficient Mistral-NVIDIA open model for multilingual chat and local deployment" family = "mistral-nemo" -release_date = "2024-07-01" -last_updated = "2024-07-01" -attachment = false -reasoning = false -temperature = true -tool_call = true -knowledge = "2024-07" open_weights = true - -[limit] -context = 128_000 -output = 128_000 +knowledge = "2024-07" +release_date = "2024-07-18" [modalities] input = ["text"] output = ["text"] +[capabilities] +tools = { supported = true } +reasoning = { supported = false } +temperature = true +top_p = true +top_k = true + +[limit] +context = 128_000 +output = 128_000 + [[weights]] label = "Hugging Face" url = "https://huggingface.co/mistralai/Mistral-Nemo-Instruct-2407" diff --git a/models/mistral/mistral-ocr-2512.toml b/models/mistral/mistral-ocr-2512.toml new file mode 100644 index 0000000000..f274d1f298 --- /dev/null +++ b/models/mistral/mistral-ocr-2512.toml @@ -0,0 +1,30 @@ +# Sources: +# https://docs.mistral.ai/models/ocr-3-25-12 (OCR 3, API ID mistral-ocr-2512; released 2025-12-18; image and document +# input, text and image output; $2 per 1,000 pages, $3 per 1,000 annotated pages) +# https://docs.mistral.ai/studio/document-processing/basic_ocr (POST /v1/ocr; files up to 50 MB and 1,000 pages). +# Its FAQ lists formats by extension; these are their registered MIME types. Also accepted but not listed, because +# the v1 translation has no modality for other application/* types or they have no registered MIME type: Word +# (.docx, .doc), PowerPoint (.pptx, .ppt), Excel (.xlsx), EPUB, RTF, ODT, .bib, .fb2, .ipynb, .tex and .opml. +# Extracted images come back as JPEG: every OCR response example shows data:image/jpeg;base64 / img-N.jpeg, and live +# 2026-10-19 both OCR models returned data:image/jpeg for an arXiv PDF page. +schema = 2 +v2_only = true +name = "Mistral OCR 3" +description = "Document OCR model that extracts interleaved text and images from documents" +open_weights = false +release_date = "2025-12-18" + +[modalities] +input = ["image/jpeg", "image/png", "image/avif", "image/tiff", "image/gif", "image/heic", "image/heif", "image/bmp", "image/webp", "application/pdf", "text/csv", "text/plain", "text/xml", "text/troff"] +output = ["text", "image/jpeg"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 0 +output = 0 diff --git a/models/mistral/mistral-ocr-4-1.toml b/models/mistral/mistral-ocr-4-1.toml new file mode 100644 index 0000000000..715bcb9271 --- /dev/null +++ b/models/mistral/mistral-ocr-4-1.toml @@ -0,0 +1,30 @@ +# Sources: +# https://docs.mistral.ai/models/ocr-4-1 (OCR 4.1, API IDs mistral-ocr-4-1, mistral-ocr-4, mistral-ocr-latest; released +# 2026-07-16; image and document input, text and image output; $4 per 1,000 pages, $5 per 1,000 annotated pages) +# https://docs.mistral.ai/studio/document-processing/basic_ocr (POST /v1/ocr; files up to 50 MB and 1,000 pages). +# Its FAQ lists formats by extension; these are their registered MIME types. Also accepted but not listed, because +# the v1 translation has no modality for other application/* types or they have no registered MIME type: Word +# (.docx, .doc), PowerPoint (.pptx, .ppt), Excel (.xlsx), EPUB, RTF, ODT, .bib, .fb2, .ipynb, .tex and .opml. +# Extracted images come back as JPEG: every OCR response example shows data:image/jpeg;base64 / img-N.jpeg, and live +# 2026-10-19 both OCR models returned data:image/jpeg for an arXiv PDF page. +schema = 2 +v2_only = true +name = "Mistral OCR 4.1" +description = "Document OCR model with paragraph-level bounding boxes, block labels, and confidence scores" +open_weights = false +release_date = "2026-07-16" + +[modalities] +input = ["image/jpeg", "image/png", "image/avif", "image/tiff", "image/gif", "image/heic", "image/heif", "image/bmp", "image/webp", "application/pdf", "text/csv", "text/plain", "text/xml", "text/troff"] +output = ["text", "image/jpeg"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 0 +output = 0 diff --git a/models/mistral/mistral-saba.toml b/models/mistral/mistral-saba.toml new file mode 100644 index 0000000000..46e1e67315 --- /dev/null +++ b/models/mistral/mistral-saba.toml @@ -0,0 +1,25 @@ +# Lab metadata carried over from providers/openrouter/models/mistralai/mistral-saba.toml (curated catalogue data already in this repo), +# with provider-specific fields (cost, reasoning_options, status) stripped. +# Sampling: temperature and top_p only; Mistral's chat API has no top_k (https://docs.mistral.ai/api/endpoint/chat; 400 "top_k sampling is not enabled for this model", 2026-10-19) +schema = 2 +name = "Saba" +description = "Mistral model for multilingual chat, reasoning, and tool-assisted workflows" +family = "mistral" +open_weights = false +knowledge = "2024-09-30" +release_date = "2025-02-17" + +[modalities] +input = ["text", "application/pdf"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = false } +temperature = true +top_p = true +top_k = false + +[limit] +context = 32_768 +output = 26_214 diff --git a/models/mistral/mistral-small-24b-instruct-2501.toml b/models/mistral/mistral-small-24b-instruct-2501.toml new file mode 100644 index 0000000000..2b0000a49d --- /dev/null +++ b/models/mistral/mistral-small-24b-instruct-2501.toml @@ -0,0 +1,24 @@ +# Lab metadata carried over from providers/openrouter/models/mistralai/mistral-small-24b-instruct-2501.toml (curated catalogue data already in this repo), +# with provider-specific fields (cost, reasoning_options, status) stripped. +schema = 2 +name = "Mistral Small 3" +description = "Efficient Mistral model for fast chat, extraction, and production assistants" +family = "mistral-small" +open_weights = true +knowledge = "2023-10-31" +release_date = "2025-01-30" + +[modalities] +input = ["text"] +output = ["text"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = true +top_p = true +top_k = true + +[limit] +context = 32_768 +output = 16_384 diff --git a/models/mistral/mistral-small-2506.toml b/models/mistral/mistral-small-2506.toml index 064eb9a205..bff9a9b53a 100644 --- a/models/mistral/mistral-small-2506.toml +++ b/models/mistral/mistral-small-2506.toml @@ -1,23 +1,28 @@ +# Image input: https://docs.mistral.ai/models/mistral-small-3-2-25-06 lists text and image input, so attachment is true +# Image formats: https://docs.mistral.ai/studio/conversations/vision (PNG, JPEG, WEBP, non-animated GIF) +schema = 2 name = "Mistral Small 3.2" description = "Efficient Mistral model for fast chat, extraction, and production assistants" family = "mistral-small" +open_weights = true +knowledge = "2025-03" release_date = "2025-06-20" -last_updated = "2025-06-20" -attachment = false -reasoning = false + +[modalities] +input = ["text", "image/png", "image/jpeg", "image/webp", "image/gif"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = false } temperature = true -tool_call = true -knowledge = "2025-03" -open_weights = true +top_p = true +top_k = true [limit] context = 128_000 output = 16_384 -[modalities] -input = ["text", "image"] -output = ["text"] - [[weights]] label = "Hugging Face" url = "https://huggingface.co/mistralai/Mistral-Small-3.2-24B-Instruct-2506" diff --git a/models/mistral/mistral-small-2603.toml b/models/mistral/mistral-small-2603.toml index 1230e9e6bb..dda5945d69 100644 --- a/models/mistral/mistral-small-2603.toml +++ b/models/mistral/mistral-small-2603.toml @@ -1,23 +1,27 @@ +# Image formats: https://docs.mistral.ai/studio/conversations/vision (PNG, JPEG, WEBP, non-animated GIF) +schema = 2 name = "Mistral Small 4" description = "Fast Mistral production model for chat, extraction, and cost-sensitive agents" family = "mistral-small" +open_weights = true +knowledge = "2025-06" release_date = "2026-03-16" -last_updated = "2026-03-16" -attachment = true -reasoning = true + +[modalities] +input = ["text", "image/png", "image/jpeg", "image/webp", "image/gif"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } temperature = true -tool_call = true -knowledge = "2025-06" -open_weights = true +top_p = true +top_k = true [limit] context = 256_000 output = 256_000 -[modalities] -input = ["text", "image"] -output = ["text"] - [[weights]] label = "Hugging Face" url = "https://huggingface.co/mistralai/Mistral-Small-4-119B-2603" diff --git a/models/mistral/mistral-small-3-1-24b-instruct-2503.toml b/models/mistral/mistral-small-3-1-24b-instruct-2503.toml index 500954c56f..9baafbcdbb 100644 --- a/models/mistral/mistral-small-3-1-24b-instruct-2503.toml +++ b/models/mistral/mistral-small-3-1-24b-instruct-2503.toml @@ -1,24 +1,27 @@ +# Image formats: https://docs.mistral.ai/studio/conversations/vision (PNG, JPEG, WEBP, non-animated GIF) +schema = 2 name = "Mistral Small 3.1 24B" description = "Efficient multimodal model for instruction following, coding, reasoning, and function calling" family = "mistral-small" +open_weights = true +knowledge = "2024-06" release_date = "2025-03-17" -last_updated = "2025-03-17" -attachment = true -reasoning = false + +[modalities] +input = ["text", "image/png", "image/jpeg", "image/webp", "image/gif"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = false } temperature = true -tool_call = true -structured_output = true -knowledge = "2024-06" -open_weights = true +top_p = true +top_k = true [limit] context = 128_000 output = 16_384 -[modalities] -input = ["text", "image"] -output = ["text"] - [[weights]] label = "Hugging Face" url = "https://huggingface.co/mistralai/Mistral-Small-3.1-24B-Instruct-2503" diff --git a/models/mistral/mistral-small-3.1-24b-instruct.toml b/models/mistral/mistral-small-3.1-24b-instruct.toml new file mode 100644 index 0000000000..e07b1ebbe0 --- /dev/null +++ b/models/mistral/mistral-small-3.1-24b-instruct.toml @@ -0,0 +1,25 @@ +# Lab metadata carried over from providers/openrouter/models/mistralai/mistral-small-3.1-24b-instruct.toml (curated catalogue data already in this repo), +# with provider-specific fields (cost, reasoning_options, status) stripped. +# Image formats: https://docs.mistral.ai/studio/conversations/vision (PNG, JPEG, WEBP, non-animated GIF) +schema = 2 +name = "Mistral Small 3.1 24B" +description = "Efficient Mistral model for fast chat, extraction, and production assistants" +family = "mistral-small" +open_weights = true +knowledge = "2023-10-31" +release_date = "2025-03-17" + +[modalities] +input = ["text", "image/png", "image/jpeg", "image/webp", "image/gif"] +output = ["text"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = true +top_p = true +top_k = true + +[limit] +context = 128_000 +output = 102_400 diff --git a/models/mistral/mistral-small-3.2-24b-instruct.toml b/models/mistral/mistral-small-3.2-24b-instruct.toml new file mode 100644 index 0000000000..1be772578d --- /dev/null +++ b/models/mistral/mistral-small-3.2-24b-instruct.toml @@ -0,0 +1,25 @@ +# Lab metadata carried over from providers/openrouter/models/mistralai/mistral-small-3.2-24b-instruct.toml (curated catalogue data already in this repo), +# with provider-specific fields (cost, reasoning_options, status) stripped. +# Image formats: https://docs.mistral.ai/studio/conversations/vision (PNG, JPEG, WEBP, non-animated GIF) +schema = 2 +name = "Mistral Small 3.2 24B" +description = "Efficient Mistral model for fast chat, extraction, and production assistants" +family = "mistral-small" +open_weights = true +knowledge = "2023-10-31" +release_date = "2025-06-20" + +[modalities] +input = ["image/png", "image/jpeg", "image/webp", "image/gif", "text"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = false } +temperature = true +top_p = true +top_k = true + +[limit] +context = 256_000 +output = 16_384 diff --git a/models/mistral/mistral-small-latest.toml b/models/mistral/mistral-small-latest.toml index 4b479e1772..4d0a82e9cc 100644 --- a/models/mistral/mistral-small-latest.toml +++ b/models/mistral/mistral-small-latest.toml @@ -1,23 +1,27 @@ +# Image formats: https://docs.mistral.ai/studio/conversations/vision (PNG, JPEG, WEBP, non-animated GIF) +schema = 2 name = "Mistral Small (latest)" description = "Efficient Mistral model for fast chat, extraction, and production assistants" family = "mistral-small" +open_weights = true +knowledge = "2025-06" release_date = "2026-03-16" -last_updated = "2026-03-16" -attachment = true -reasoning = true + +[modalities] +input = ["text", "image/png", "image/jpeg", "image/webp", "image/gif"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } temperature = true -tool_call = true -knowledge = "2025-06" -open_weights = true +top_p = true +top_k = true [limit] context = 256_000 output = 256_000 -[modalities] -input = ["text", "image"] -output = ["text"] - [[weights]] label = "Hugging Face" url = "https://huggingface.co/mistralai/Mistral-Small-4-119B-2603" diff --git a/models/mistral/mixtral-8x22b-instruct.toml b/models/mistral/mixtral-8x22b-instruct.toml new file mode 100644 index 0000000000..cc0ceb166f --- /dev/null +++ b/models/mistral/mixtral-8x22b-instruct.toml @@ -0,0 +1,24 @@ +# Lab metadata carried over from providers/openrouter/models/mistralai/mixtral-8x22b-instruct.toml (curated catalogue data already in this repo), +# with provider-specific fields (cost, reasoning_options, status) stripped. +schema = 2 +name = "Mixtral 8x22B Instruct" +description = "Mistral model for multilingual chat, reasoning, and tool-assisted workflows" +family = "mistral" +open_weights = true +knowledge = "2024-01-31" +release_date = "2024-04-17" + +[modalities] +input = ["text", "application/pdf"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = false } +temperature = true +top_p = true +top_k = true + +[limit] +context = 65_536 +output = 52_428 diff --git a/models/mistral/mixtral-8x7b-instruct-v0.1.toml b/models/mistral/mixtral-8x7b-instruct-v0.1.toml new file mode 100644 index 0000000000..25e8253bc8 --- /dev/null +++ b/models/mistral/mixtral-8x7b-instruct-v0.1.toml @@ -0,0 +1,31 @@ +# Model card: https://huggingface.co/mistralai/Mixtral-8x7B-Instruct-v0.1 (Apache 2.0; release post +# https://mistral.ai/news/mixtral-of-experts, 2023-12-11, "gracefully handles a context of 32k tokens"). Context 32,768: +# config.json. No function calling in the v0.1 chat template (NVIDIA's card: "Function Calling: Not supported", +# https://build.nvidia.com/mistralai/mixtral-8x7b-instruct). No separate output cap is published, so output = context. +# Sampling: open weights, so temperature/top_p/top_k are runtime features of the host. +schema = 2 +name = "Mixtral 8x7B Instruct v0.1" +description = "Open sparse mixture-of-experts Mistral instruction model" +family = "mistral" +open_weights = true +release_date = "2023-12-11" +license = "Apache 2.0" + +[modalities] +input = ["text"] +output = ["text"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = true +top_p = true +top_k = true + +[limit] +context = 32_768 +output = 32_768 + +[[weights]] +label = "Hugging Face" +url = "https://huggingface.co/mistralai/Mixtral-8x7B-Instruct-v0.1" diff --git a/models/mistral/pixtral-12b.toml b/models/mistral/pixtral-12b.toml index d28ed13bd3..d36d0ce21b 100644 --- a/models/mistral/pixtral-12b.toml +++ b/models/mistral/pixtral-12b.toml @@ -1,23 +1,28 @@ +# Image formats: https://docs.mistral.ai/studio/conversations/vision (PNG, JPEG, WEBP, non-animated GIF) +# Release date: https://docs.mistral.ai/models/pixtral-12b-24-09 (2024-09-11) +schema = 2 name = "Pixtral 12B" description = "Mistral vision-language model for image understanding and multimodal chat" family = "pixtral" -release_date = "2024-09-01" -last_updated = "2024-09-01" -attachment = true -reasoning = false -temperature = true -tool_call = true -knowledge = "2024-09" open_weights = true +knowledge = "2024-09" +release_date = "2024-09-11" + +[modalities] +input = ["text", "image/png", "image/jpeg", "image/webp", "image/gif"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = false } +temperature = true +top_p = true +top_k = true [limit] context = 128_000 output = 128_000 -[modalities] -input = ["text", "image"] -output = ["text"] - [[weights]] label = "Hugging Face" url = "https://huggingface.co/mistralai/Pixtral-12B-2409" diff --git a/models/mistral/pixtral-large-2502.toml b/models/mistral/pixtral-large-2502.toml index 28f902e7f3..795fa6098c 100644 --- a/models/mistral/pixtral-large-2502.toml +++ b/models/mistral/pixtral-large-2502.toml @@ -1,18 +1,23 @@ +# Image formats: https://docs.mistral.ai/studio/conversations/vision (PNG, JPEG, WEBP, non-animated GIF) +# Sampling: temperature and top_p only; Mistral's chat API has no top_k (https://docs.mistral.ai/api/endpoint/chat; 400 "top_k sampling is not enabled for this model", 2026-10-19) +schema = 2 name = "Pixtral Large (25.02)" description = "Mistral vision-language model for image understanding and multimodal chat" family = "pixtral" +open_weights = false release_date = "2025-04-08" -last_updated = "2025-04-08" -attachment = true -reasoning = false + +[modalities] +input = ["text", "image/png", "image/jpeg", "image/webp", "image/gif"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = false } temperature = true -tool_call = true -open_weights = false +top_p = true +top_k = false [limit] context = 128_000 output = 8_192 - -[modalities] -input = ["text", "image"] -output = ["text"] diff --git a/models/mistral/pixtral-large-latest.toml b/models/mistral/pixtral-large-latest.toml index e34d71408c..f04ca5eaa9 100644 --- a/models/mistral/pixtral-large-latest.toml +++ b/models/mistral/pixtral-large-latest.toml @@ -1,23 +1,28 @@ +# Image formats: https://docs.mistral.ai/studio/conversations/vision (PNG, JPEG, WEBP, non-animated GIF) +schema = 2 name = "Pixtral Large (latest)" description = "Mistral's larger vision model for document-heavy image understanding and chat" family = "pixtral" +open_weights = true +knowledge = "2024-11" release_date = "2024-11-01" last_updated = "2024-11-04" -attachment = true -reasoning = false + +[modalities] +input = ["text", "image/png", "image/jpeg", "image/webp", "image/gif"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = false } temperature = true -tool_call = true -knowledge = "2024-11" -open_weights = true +top_p = true +top_k = true [limit] context = 128_000 output = 128_000 -[modalities] -input = ["text", "image"] -output = ["text"] - [[weights]] label = "Hugging Face" url = "https://huggingface.co/mistralai/Pixtral-Large-Instruct-2411" diff --git a/models/mistral/voxtral-mini-2602.toml b/models/mistral/voxtral-mini-2602.toml new file mode 100644 index 0000000000..1390f95fc2 --- /dev/null +++ b/models/mistral/voxtral-mini-2602.toml @@ -0,0 +1,28 @@ +# Voxtral Mini Transcribe 2, API IDs voxtral-mini-2602 and voxtral-mini-latest, released 2026-02-04, audio in, text out: +# https://docs.mistral.ai/models/voxtral-mini-transcribe-26-02 +# https://mistral.ai/news/voxtral-transcribe-2 +# Not the open-weight Voxtral Mini Transcribe Realtime (voxtral-mini-transcribe-realtime-2602) or Voxtral Mini 3B. +# Input formats ("Supported formats: WAV, MP3, FLAC, OGG, WEBM"): https://docs.mistral.ai/resources/known-limitations +schema = 2 +v2_only = true +type = "transcription" +name = "Voxtral Mini Transcribe 2" +description = "Speech-to-text model with timestamps, optimized for transcription only" +family = "voxtral" +open_weights = false +release_date = "2026-02-04" + +[modalities] +input = ["audio/wav", "audio/mpeg", "audio/flac", "audio/ogg", "audio/webm"] +output = ["text"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 0 +output = 0 diff --git a/models/mistral/voxtral-mini-3b-2507.toml b/models/mistral/voxtral-mini-3b-2507.toml index af016cdd17..1b44d84ea0 100644 --- a/models/mistral/voxtral-mini-3b-2507.toml +++ b/models/mistral/voxtral-mini-3b-2507.toml @@ -4,26 +4,34 @@ # https://docs.mistral.ai/api/endpoint/chat # Native params specify 32768 positions, matching the card's 32k context. # Output is this shared-window ceiling: prompt + max_tokens must fit; no separate native output cap is published. +# Audio formats: Mistral's docs list none for chat audio input (the known-limitations page lists WAV, MP3, FLAC, OGG and +# WEBM for /v1/audio/transcriptions only; the Hugging Face card and mistral-common, which decodes through libsndfile, +# list none). Mistral's chat API rejects other files with "Failed to load audio file. Verify that the given file is +# valid mp3 or wav." (live 2026-10-19 on voxtral-small-2507: WAV and MP3 transcribed, OGG and WEBM rejected, FLAC +# also decoded but is not in that list). +schema = 2 name = "Voxtral Mini 3B 2507" description = "Open audio-language model for speech transcription, audio understanding, and voice-driven tool use" family = "voxtral" -release_date = "2025-07-15" -last_updated = "2025-07-15" -attachment = true -reasoning = false -temperature = true -tool_call = true open_weights = true +release_date = "2025-07-15" license = "Apache 2.0" +[modalities] +input = ["text", "audio/wav", "audio/mpeg"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = false } +temperature = true +top_p = true +top_k = true + [limit] context = 32_768 output = 32_768 -[modalities] -input = ["text", "audio"] -output = ["text"] - [[weights]] label = "Hugging Face" url = "https://huggingface.co/mistralai/Voxtral-Mini-3B-2507" diff --git a/models/mistral/voxtral-mini-transcribe-realtime-2602.toml b/models/mistral/voxtral-mini-transcribe-realtime-2602.toml new file mode 100644 index 0000000000..bdbca1fa87 --- /dev/null +++ b/models/mistral/voxtral-mini-transcribe-realtime-2602.toml @@ -0,0 +1,35 @@ +# Sources: +# https://docs.mistral.ai/models/voxtral-mini-transcribe-realtime-26-02 (Voxtral Mini Transcribe Realtime, released +# 2026-02-04, audio in / text out, open weights under Apache 2.0) +# https://huggingface.co/mistralai/Voxtral-Mini-4B-Realtime-2602 +# https://docs.mistral.ai/studio/audio/speech_to_text/realtime_transcription (WebSocket streaming transcription) +# https://docs.mistral.ai/api/endpoint/realtime/sessions (audio_format.encoding pcm_s16le|pcm_s32le|pcm_f16le|pcm_f32le| +# pcm_mulaw|pcm_alaw, 8-96 kHz). audio/pcm, audio/pcmu and audio/pcma are the MIME types for those encodings. +schema = 2 +v2_only = true +type = "transcription" +name = "Voxtral Mini Transcribe Realtime" +description = "Low-latency streaming speech-to-text model for live transcription and voice agents" +family = "voxtral" +open_weights = true +license = "Apache-2.0" +release_date = "2026-02-04" + +[modalities] +input = ["audio/pcm", "audio/pcmu", "audio/pcma"] +output = ["text"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 0 +output = 0 + +[[weights]] +label = "Hugging Face" +url = "https://huggingface.co/mistralai/Voxtral-Mini-4B-Realtime-2602" diff --git a/models/mistral/voxtral-mini-tts-2603.toml b/models/mistral/voxtral-mini-tts-2603.toml new file mode 100644 index 0000000000..9f0b45f47f --- /dev/null +++ b/models/mistral/voxtral-mini-tts-2603.toml @@ -0,0 +1,31 @@ +# Released 2026-03-23 (API IDs voxtral-mini-tts-2603, voxtral-mini-tts-latest): https://docs.mistral.ai/models/voxtral-tts-26-03 +# Output formats (response_format pcm, wav, mp3, flac, opus): https://docs.mistral.ai/studio/audio/text_to_speech/speech +# Weights (CC BY-NC 4.0): https://huggingface.co/mistralai/Voxtral-4B-TTS-2603 +schema = 2 +v2_only = true +type = "speech" +name = "Voxtral Mini TTS" +description = "Multilingual text-to-speech model with zero-shot voice cloning" +family = "voxtral" +open_weights = true +release_date = "2026-03-23" +license = "CC-BY-NC-4.0" + +[modalities] +input = ["text"] +output = ["audio/pcm", "audio/wav", "audio/mpeg", "audio/flac", "audio/opus"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 0 +output = 0 + +[[weights]] +label = "Hugging Face" +url = "https://huggingface.co/mistralai/Voxtral-4B-TTS-2603" diff --git a/models/mistral/voxtral-small-24b-2507.toml b/models/mistral/voxtral-small-24b-2507.toml index c42b7c0760..f22b18fcc8 100644 --- a/models/mistral/voxtral-small-24b-2507.toml +++ b/models/mistral/voxtral-small-24b-2507.toml @@ -4,26 +4,34 @@ # https://docs.mistral.ai/api/endpoint/chat # Native params specify 32768 positions, matching the card's 32k context. # Output is this shared-window ceiling: prompt + max_tokens must fit; no separate native output cap is published. +# Audio formats: Mistral's docs list none for chat audio input (the known-limitations page lists WAV, MP3, FLAC, OGG and +# WEBM for /v1/audio/transcriptions only; the Hugging Face card and mistral-common, which decodes through libsndfile, +# list none). Mistral's chat API rejects other files with "Failed to load audio file. Verify that the given file is +# valid mp3 or wav." (live 2026-10-19 on voxtral-small-2507: WAV and MP3 transcribed, OGG and WEBM rejected, FLAC +# also decoded but is not in that list). +schema = 2 name = "Voxtral Small 24B 2507" description = "Open audio-language model for speech transcription, audio understanding, and voice-driven tool use" family = "voxtral" -release_date = "2025-07-15" -last_updated = "2025-07-15" -attachment = true -reasoning = false -temperature = true -tool_call = true open_weights = true +release_date = "2025-07-15" license = "Apache 2.0" +[modalities] +input = ["text", "audio/wav", "audio/mpeg"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = false } +temperature = true +top_p = true +top_k = true + [limit] context = 32_768 output = 32_768 -[modalities] -input = ["text", "audio"] -output = ["text"] - [[weights]] label = "Hugging Face" url = "https://huggingface.co/mistralai/Voxtral-Small-24B-2507" diff --git a/models/mistral/voxtral-small-latest.toml b/models/mistral/voxtral-small-latest.toml index 9948d069c0..763dfe4bbd 100644 --- a/models/mistral/voxtral-small-latest.toml +++ b/models/mistral/voxtral-small-latest.toml @@ -4,21 +4,29 @@ # Field values mirror Mistral's own first-party host entry in this repo # (providers/mistral/models/voxtral-small-latest.toml); host-scoped keys # (cost, status) are intentionally left to the provider files. +# Audio formats: Mistral's docs list none for chat audio input (the known-limitations page lists WAV, MP3, FLAC, OGG and +# WEBM for /v1/audio/transcriptions only; the Hugging Face card and mistral-common, which decodes through libsndfile, +# list none). Mistral's chat API rejects other files with "Failed to load audio file. Verify that the given file is +# valid mp3 or wav." (live 2026-10-19 on voxtral-small-2507: WAV and MP3 transcribed, OGG and WEBM rejected, FLAC +# also decoded but is not in that list). +schema = 2 name = "Voxtral Small (latest)" description = "Instruct model with native audio input for speech understanding and tool use" family = "voxtral" +open_weights = true release_date = "2025-07-15" -last_updated = "2025-07-15" -attachment = true -reasoning = false + +[modalities] +input = ["text", "audio/wav", "audio/mpeg"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = false } temperature = true -tool_call = true -open_weights = true +top_p = true +top_k = true [limit] context = 32_000 output = 32_000 - -[modalities] -input = ["text", "audio"] -output = ["text"] diff --git a/models/mixedbread/toast-1.toml b/models/mixedbread/toast-1.toml new file mode 100644 index 0000000000..8e6ba67bb1 --- /dev/null +++ b/models/mixedbread/toast-1.toml @@ -0,0 +1,25 @@ +# Sources (accessed 2026-09-19): +# https://www.mixedbread.com/docs/agent/models +# https://www.mixedbread.com/docs/agent/chat-completions +# Sampling: the chat completions API takes temperature and top_p, no top_k +# (https://www.mixedbread.com/api-reference/endpoints/chat/create-chat-completion). +schema = 2 +name = "Toast 1" +description = "Specialized search model for knowledge-intensive questions, multi-step retrieval, and evidence synthesis" +open_weights = false +release_date = "2026-08-13" + +[modalities] +input = ["text"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = false } +temperature = true +top_p = true +top_k = false + +[limit] +context = 131_000 +output = 4_000 diff --git a/models/moonshotai/kimi-k2-0905.toml b/models/moonshotai/kimi-k2-0905.toml new file mode 100644 index 0000000000..7617dca06b --- /dev/null +++ b/models/moonshotai/kimi-k2-0905.toml @@ -0,0 +1,27 @@ +# https://huggingface.co/moonshotai/Kimi-K2-Instruct-0905 +schema = 2 +name = "Kimi K2 Instruct 0905" +description = "September 2025 Kimi K2 instruction update with a 256K context and improved agentic coding" +family = "kimi-k2" +open_weights = true +release_date = "2025-09-05" +license = "Modified MIT" + +[modalities] +input = ["text"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = false } +temperature = true +top_p = true +top_k = true + +[limit] +context = 262_144 +output = 98_304 + +[[weights]] +label = "Hugging Face" +url = "https://huggingface.co/moonshotai/Kimi-K2-Instruct-0905" diff --git a/models/moonshotai/kimi-k2-instruct.toml b/models/moonshotai/kimi-k2-instruct.toml new file mode 100644 index 0000000000..98ce9ee604 --- /dev/null +++ b/models/moonshotai/kimi-k2-instruct.toml @@ -0,0 +1,27 @@ +# https://huggingface.co/moonshotai/Kimi-K2-Instruct +schema = 2 +name = "Kimi K2 Instruct" +description = "Non-thinking Kimi K2 MoE instruction model for coding and tool-using agents" +family = "kimi-k2" +open_weights = true +release_date = "2025-07-11" +license = "Modified MIT" + +[modalities] +input = ["text"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = false } +temperature = true +top_p = true +top_k = true + +[limit] +context = 131_072 +output = 32_768 + +[[weights]] +label = "Hugging Face" +url = "https://huggingface.co/moonshotai/Kimi-K2-Instruct" diff --git a/models/moonshotai/kimi-k2-thinking-turbo.toml b/models/moonshotai/kimi-k2-thinking-turbo.toml index 69417bcd76..e8dbdf3b42 100644 --- a/models/moonshotai/kimi-k2-thinking-turbo.toml +++ b/models/moonshotai/kimi-k2-thinking-turbo.toml @@ -1,23 +1,26 @@ +schema = 2 name = "Kimi K2 Thinking Turbo" description = "Kimi reasoning model for long-horizon research, planning, and tool use" family = "kimi-thinking" +open_weights = true +knowledge = "2024-08" release_date = "2025-11-06" -last_updated = "2025-11-06" -attachment = false -reasoning = true + +[modalities] +input = ["text"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } temperature = true -tool_call = true -knowledge = "2024-08" -open_weights = true +top_p = true +top_k = true [limit] context = 262_144 output = 262_144 -[modalities] -input = ["text"] -output = ["text"] - [[weights]] label = "Hugging Face" url = "https://huggingface.co/moonshotai/Kimi-K2-Thinking" diff --git a/models/moonshotai/kimi-k2-thinking.toml b/models/moonshotai/kimi-k2-thinking.toml index 0d2882ae73..adc4dc7440 100644 --- a/models/moonshotai/kimi-k2-thinking.toml +++ b/models/moonshotai/kimi-k2-thinking.toml @@ -1,23 +1,26 @@ +schema = 2 name = "Kimi K2 Thinking" description = "Thinking Kimi model for slower research passes, planning, and hard technical questions" family = "kimi-thinking" +open_weights = true +knowledge = "2024-08" release_date = "2025-11-06" -last_updated = "2025-11-06" -attachment = false -reasoning = true + +[modalities] +input = ["text"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } temperature = true -tool_call = true -knowledge = "2024-08" -open_weights = true +top_p = true +top_k = true [limit] context = 262_144 output = 262_144 -[modalities] -input = ["text"] -output = ["text"] - [[weights]] label = "Hugging Face" url = "https://huggingface.co/moonshotai/Kimi-K2-Thinking" diff --git a/models/moonshotai/kimi-k2.5.toml b/models/moonshotai/kimi-k2.5.toml index 9602e2f437..13cbdb6c11 100644 --- a/models/moonshotai/kimi-k2.5.toml +++ b/models/moonshotai/kimi-k2.5.toml @@ -1,24 +1,51 @@ +# Sources: +# - Release (2026-01-27): https://www.kimi.ai/blog/kimi-k2-5, https://techcrunch.com/2026/01/27/chinas-moonshot-releases-a-new-open-source-model-kimi-k2-5-and-a-coding-agent/ +# - Retired on the Kimi API 2026-08-31: https://platform.kimi.ai/docs/models +# K2.5 took image and video input on the Kimi API until its retirement; the Kimi API vision guide covers that input. +# Input formats: https://platform.kimi.ai/docs/guide/use-kimi-vision-model#supported-image-and-video-formats lists them +# literally as MIME types (images: image/jpeg, image/png, image/gif, image/webp, image/bmp, image/heic, image/heif; +# videos: video/mp4, video/mpeg, video/mov, video/avi, video/x-flv, video/mpg, video/webm, video/wmv, video/3gpp). +schema = 2 name = "Kimi K2.5" description = "Earlier Kimi frontier model for long-context agents, coding, and multimodal work" family = "kimi-k2" -release_date = "2026-01" -last_updated = "2026-01" -attachment = true -reasoning = true -temperature = false -tool_call = true -structured_output = true -knowledge = "2025-01" open_weights = true +knowledge = "2025-01" +release_date = "2026-01-27" + +[modalities] +input = [ + "text", + "image/jpeg", + "image/png", + "image/gif", + "image/webp", + "image/bmp", + "image/heic", + "image/heif", + "video/mp4", + "video/mpeg", + "video/mov", + "video/avi", + "video/x-flv", + "video/mpg", + "video/webm", + "video/wmv", + "video/3gpp", +] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } +temperature = false +top_p = false +top_k = false [limit] context = 262_144 output = 262_144 -[modalities] -input = ["text", "image", "video"] -output = ["text"] - [[weights]] label = "Hugging Face" url = "https://huggingface.co/moonshotai/Kimi-K2.5" diff --git a/models/moonshotai/kimi-k2.6.toml b/models/moonshotai/kimi-k2.6.toml index 77803e2b03..33d08adf96 100644 --- a/models/moonshotai/kimi-k2.6.toml +++ b/models/moonshotai/kimi-k2.6.toml @@ -1,24 +1,54 @@ +# Sources: +# - Release (2026-04-20): https://www.kimi.ai/blog/kimi-k2-6, https://huggingface.co/moonshotai/Kimi-K2.6 +# - Context: https://platform.kimi.ai/docs/guide/kimi-k2-6-quickstart +# - Input formats: https://platform.kimi.ai/docs/guide/use-kimi-vision-model#supported-image-and-video-formats lists them +# literally as MIME types ("Images support the following formats (MIME types): image/jpeg, image/png, image/gif, +# image/webp, image/bmp, image/heic, image/heif"; "Videos support the following formats (MIME types): video/mp4, +# video/mpeg, video/mov, video/avi, video/x-flv, video/mpg, video/webm, video/wmv, video/3gpp"), so the strings are kept +# as written, the same as the Gemini lab files. +# Open weights: sampling is a runtime feature, so the lab keeps temperature/top_p/top_k on; +# Moonshot's own API fixes them (see providers/moonshotai). +schema = 2 name = "Kimi K2.6" description = "Multimodal Kimi workhorse for agent loops, coding tasks, and visual context" family = "kimi-k2" -release_date = "2026-04-21" -last_updated = "2026-04-21" -attachment = true -reasoning = true -temperature = true -tool_call = true -structured_output = true -knowledge = "2025-01" open_weights = true +knowledge = "2025-01" +release_date = "2026-04-20" + +[modalities] +input = [ + "text", + "image/jpeg", + "image/png", + "image/gif", + "image/webp", + "image/bmp", + "image/heic", + "image/heif", + "video/mp4", + "video/mpeg", + "video/mov", + "video/avi", + "video/x-flv", + "video/mpg", + "video/webm", + "video/wmv", + "video/3gpp", +] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } +temperature = true +top_p = true +top_k = true [limit] context = 262_144 output = 262_144 -[modalities] -input = ["text", "image", "video"] -output = ["text"] - [[weights]] label = "Hugging Face" url = "https://huggingface.co/moonshotai/Kimi-K2.6" diff --git a/models/moonshotai/kimi-k2.7-code-highspeed.toml b/models/moonshotai/kimi-k2.7-code-highspeed.toml index c92cc9aba1..f9f525b94e 100644 --- a/models/moonshotai/kimi-k2.7-code-highspeed.toml +++ b/models/moonshotai/kimi-k2.7-code-highspeed.toml @@ -1,24 +1,53 @@ +# Sources: +# - Same model as kimi-k2.7-code with faster output: https://platform.kimi.ai/docs/guide/kimi-k2-7-code-quickstart +# - Input formats: https://platform.kimi.ai/docs/guide/use-kimi-vision-model#supported-image-and-video-formats lists them +# literally as MIME types ("Images support the following formats (MIME types): image/jpeg, image/png, image/gif, +# image/webp, image/bmp, image/heic, image/heif"; "Videos support the following formats (MIME types): video/mp4, +# video/mpeg, video/mov, video/avi, video/x-flv, video/mpg, video/webm, video/wmv, video/3gpp"), so the strings are kept +# as written, the same as the Gemini lab files. +# Sampling: Moonshot fixes temperature (1.0) and top_p (0.95) for this model and documents no top_k +# (https://platform.kimi.ai/docs/api/models-overview); the lab keeps all three off. +schema = 2 name = "Kimi K2.7 Code Highspeed" description = "Lower-latency Kimi Code variant for interactive edits and coding-agent loops" family = "kimi-k2" +open_weights = true +knowledge = "2025-01" release_date = "2026-06-12" -last_updated = "2026-06-12" -attachment = true -reasoning = true + +[modalities] +input = [ + "text", + "image/jpeg", + "image/png", + "image/gif", + "image/webp", + "image/bmp", + "image/heic", + "image/heif", + "video/mp4", + "video/mpeg", + "video/mov", + "video/avi", + "video/x-flv", + "video/mpg", + "video/webm", + "video/wmv", + "video/3gpp", +] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } temperature = false -tool_call = true -structured_output = true -knowledge = "2025-01" -open_weights = true +top_p = false +top_k = false [limit] context = 262_144 output = 262_144 -[modalities] -input = ["text", "image", "video"] -output = ["text"] - [[weights]] label = "Hugging Face" url = "https://huggingface.co/moonshotai/Kimi-K2.7-Code" diff --git a/models/moonshotai/kimi-k2.7-code.toml b/models/moonshotai/kimi-k2.7-code.toml index 0902a0da45..067dbec0ac 100644 --- a/models/moonshotai/kimi-k2.7-code.toml +++ b/models/moonshotai/kimi-k2.7-code.toml @@ -1,24 +1,53 @@ +# Sources: +# - Release: https://huggingface.co/moonshotai/Kimi-K2.7-Code, https://platform.kimi.ai/docs/guide/kimi-k2-7-code-quickstart +# - Input formats: https://platform.kimi.ai/docs/guide/use-kimi-vision-model#supported-image-and-video-formats lists them +# literally as MIME types ("Images support the following formats (MIME types): image/jpeg, image/png, image/gif, +# image/webp, image/bmp, image/heic, image/heif"; "Videos support the following formats (MIME types): video/mp4, +# video/mpeg, video/mov, video/avi, video/x-flv, video/mpg, video/webm, video/wmv, video/3gpp"), so the strings are kept +# as written, the same as the Gemini lab files. +# Sampling: Moonshot fixes temperature (1.0) and top_p (0.95) for this model and documents no top_k +# (https://platform.kimi.ai/docs/api/models-overview); the lab keeps all three off. +schema = 2 name = "Kimi K2.7 Code" description = "Coding-focused Kimi model, stronger on long-horizon repo work with less overthinking" family = "kimi-k2" +open_weights = true +knowledge = "2025-01" release_date = "2026-06-12" -last_updated = "2026-06-12" -attachment = true -reasoning = true + +[modalities] +input = [ + "text", + "image/jpeg", + "image/png", + "image/gif", + "image/webp", + "image/bmp", + "image/heic", + "image/heif", + "video/mp4", + "video/mpeg", + "video/mov", + "video/avi", + "video/x-flv", + "video/mpg", + "video/webm", + "video/wmv", + "video/3gpp", +] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } temperature = false -tool_call = true -structured_output = true -knowledge = "2025-01" -open_weights = true +top_p = false +top_k = false [limit] context = 262_144 output = 262_144 -[modalities] -input = ["text", "image", "video"] -output = ["text"] - [[weights]] label = "Hugging Face" url = "https://huggingface.co/moonshotai/Kimi-K2.7-Code" diff --git a/models/moonshotai/kimi-k2.8-preview.toml b/models/moonshotai/kimi-k2.8-preview.toml new file mode 100644 index 0000000000..39666e10c7 --- /dev/null +++ b/models/moonshotai/kimi-k2.8-preview.toml @@ -0,0 +1,46 @@ +# Sources: +# - https://www.kimi.com/code/docs/en/kimi-code/models.html (K2.8 Preview: 1M context, image and video input) +# - https://www.kimi.com/code/docs/en/kimi-code/whats-new.html#k2-8-preview-september-11-2026 +# Sampling: the model only accepts temperature 1 and top_p 0.95 (400 otherwise), checked live on +# api.moonshot.ai 2026-10-19, where it is listed but undocumented. +# Input formats (Kimi API vision guide): https://platform.kimi.ai/docs/guide/use-kimi-vision-model#supported-image-and-video-formats lists them +# literally as MIME types (images: image/jpeg, image/png, image/gif, image/webp, image/bmp, image/heic, image/heif; +# videos: video/mp4, video/mpeg, video/mov, video/avi, video/x-flv, video/mpg, video/webm, video/wmv, video/3gpp). +schema = 2 +name = "Kimi K2.8 Preview" +description = "Kimi coding model with more efficient thinking and up to 1M context, available through Kimi Code" +family = "kimi-k2" +open_weights = false +release_date = "2026-09-11" + +[modalities] +input = [ + "text", + "image/jpeg", + "image/png", + "image/gif", + "image/webp", + "image/bmp", + "image/heic", + "image/heif", + "video/mp4", + "video/mpeg", + "video/mov", + "video/avi", + "video/x-flv", + "video/mpg", + "video/webm", + "video/wmv", + "video/3gpp", +] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } +temperature = false +top_p = false +top_k = false + +[limit] +context = 1_048_576 diff --git a/models/moonshotai/kimi-k2.toml b/models/moonshotai/kimi-k2.toml new file mode 100644 index 0000000000..aebaf1f5ab --- /dev/null +++ b/models/moonshotai/kimi-k2.toml @@ -0,0 +1,24 @@ +# Lab metadata carried over from providers/openrouter/models/moonshotai/kimi-k2.toml (curated catalogue data already in this repo), +# with provider-specific fields (cost, reasoning_options, status) stripped. +schema = 2 +name = "Kimi K2 0711" +description = "Kimi model for long-context chat, coding, and agentic reasoning" +family = "kimi-k2" +open_weights = true +knowledge = "2024-12-31" +release_date = "2025-07-11" + +[modalities] +input = ["text"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = false } +temperature = true +top_p = true +top_k = true + +[limit] +context = 131_072 +output = 98_304 diff --git a/models/moonshotai/kimi-k3.toml b/models/moonshotai/kimi-k3.toml index 52ace80d25..2d6f77c738 100644 --- a/models/moonshotai/kimi-k3.toml +++ b/models/moonshotai/kimi-k3.toml @@ -1,23 +1,53 @@ +# Sources: +# - Release: https://www.kimi.com/blog/kimi-k3, https://platform.kimi.ai/docs/guide/kimi-k3-quickstart +# - 1M context, max_completion_tokens default 131072: https://platform.kimi.ai/docs/api/chat +# - Input formats: https://platform.kimi.ai/docs/guide/use-kimi-vision-model#supported-image-and-video-formats lists them +# literally as MIME types ("Images support the following formats (MIME types): image/jpeg, image/png, image/gif, +# image/webp, image/bmp, image/heic, image/heif"; "Videos support the following formats (MIME types): video/mp4, +# video/mpeg, video/mov, video/avi, video/x-flv, video/mpg, video/webm, video/wmv, video/3gpp"), so the strings are kept +# as written, the same as the Gemini lab files. +# Sampling: Moonshot fixes temperature (1.0) and top_p (0.95) for this model and documents no top_k +# (https://platform.kimi.ai/docs/api/models-overview); the lab keeps all three off. +schema = 2 name = "Kimi K3" description = "Multimodal Kimi model with 1M context and toggleable max-effort thinking for long-horizon agent work" family = "kimi-k3" +open_weights = true release_date = "2026-07-16" -last_updated = "2026-07-16" -attachment = true -reasoning = true + +[modalities] +input = [ + "text", + "image/jpeg", + "image/png", + "image/gif", + "image/webp", + "image/bmp", + "image/heic", + "image/heif", + "video/mp4", + "video/mpeg", + "video/mov", + "video/avi", + "video/x-flv", + "video/mpg", + "video/webm", + "video/wmv", + "video/3gpp", +] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } temperature = false -tool_call = true -structured_output = true -open_weights = true +top_p = false +top_k = false [limit] context = 1_048_576 output = 131_072 -[modalities] -input = ["text", "image", "video"] -output = ["text"] - [[benchmarks]] name = "DeepSWE" score = 67.5 diff --git a/models/morph/morph-v3-fast.toml b/models/morph/morph-v3-fast.toml new file mode 100644 index 0000000000..226d3b1ff9 --- /dev/null +++ b/models/morph/morph-v3-fast.toml @@ -0,0 +1,25 @@ +# Lab metadata carried over from providers/openrouter/models/morph/morph-v3-fast.toml (curated catalogue data already in this repo), +# with provider-specific fields (cost, reasoning_options, status) stripped. +# Sampling: Morph's docs take temperature ("Always set temperature: 0 for Apply") and document no top_p or top_k +# (https://docs.morphllm.com/llms-full.txt). +schema = 2 +name = "Morph V3 Fast" +description = "Efficient model for low-latency assistance, extraction, and routine automation" +family = "morph" +open_weights = false +release_date = "2025-07-07" + +[modalities] +input = ["text"] +output = ["text"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = true +top_p = false +top_k = false + +[limit] +context = 81_920 +output = 38_000 diff --git a/models/morph/morph-v3-large.toml b/models/morph/morph-v3-large.toml new file mode 100644 index 0000000000..106387b949 --- /dev/null +++ b/models/morph/morph-v3-large.toml @@ -0,0 +1,25 @@ +# Lab metadata carried over from providers/openrouter/models/morph/morph-v3-large.toml (curated catalogue data already in this repo), +# with provider-specific fields (cost, reasoning_options, status) stripped. +# Sampling: Morph's docs take temperature ("Always set temperature: 0 for Apply") and document no top_p or top_k +# (https://docs.morphllm.com/llms-full.txt). +schema = 2 +name = "Morph V3 Large" +description = "Flagship model for demanding analysis, coding, and production agent workflows" +family = "morph" +open_weights = false +release_date = "2025-07-07" + +[modalities] +input = ["text"] +output = ["text"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = true +top_p = false +top_k = false + +[limit] +context = 262_144 +output = 131_072 diff --git a/models/motif-technologies/motif-3.toml b/models/motif-technologies/motif-3.toml new file mode 100644 index 0000000000..085a2c483c --- /dev/null +++ b/models/motif-technologies/motif-3.toml @@ -0,0 +1,38 @@ +# Source: https://huggingface.co/Motif-Technologies/Motif-3 (accessed +# 2026-09-14): repo created 2026-08-07, 155 safetensors shards, ungated, +# MIT license. +# tool_call: the model card documents agentic tool use and ships a vLLM +# --tool-call-parser motif; live probe on 2026-09-14 returned a real +# tool_calls response (finish_reason = tool_calls). +# temperature: the card evaluates at sampling temperature 1.0; live probe on +# 2026-09-14 accepted 0.2 and 1.7, with 1.7 visibly changing the output. +# Sampling: open weights, so temperature, top_p and top_k are runtime sampler settings on any host; +# generation_config.json sets temperature 1.0 and top_p 0.95 +# (https://huggingface.co/Motif-Technologies/Motif-3/blob/main/generation_config.json). +schema = 2 +name = "Motif 3" +description = "Motif 3 is a large-scale, decoder-only Mixture-of-Experts (MoE) language model with 314 billion total parameters and 13.2 billion parameters activated per token." +family = "motif" +open_weights = true +release_date = "2026-08-07" +license = "MIT" + +[modalities] +input = ["text"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } +temperature = true +top_p = true +top_k = true + +[limit] +context = 262_144 +output = 262_144 + +[[weights]] +label = "Model weights" +url = "https://huggingface.co/Motif-Technologies/Motif-3" +format = "safetensors" diff --git a/models/nace-ai/drex-v1.5.toml b/models/nace-ai/drex-v1.5.toml new file mode 100644 index 0000000000..5522ba8166 --- /dev/null +++ b/models/nace-ai/drex-v1.5.toml @@ -0,0 +1,46 @@ +# Sources: +# - https://huggingface.co/nace-ai/drex-v1.5 +# - https://drex.nace.ai/docs/reference/models +# - https://drex.nace.ai/docs/reference/limits +# - https://drex.nace.ai/models (price: $0.00000005 per input token, output unbilled) +# The 139,264-token context is the maximum published by the Drex catalog feed; +# the state may be up to 131,072 tokens, and the limit applies to the state +# plus the longest single question (questions are read one at a time). +# Output: decision probabilities, not generated text. Sampling: no tokens are sampled, so the +# generation_config.json temperature/top_p/top_k values have no effect (https://huggingface.co/nace-ai/drex-v1.5). +schema = 2 +type = "decision" +name = "Drex 1.5" +description = "System One decision model for typed, calibrated probabilistic answers over text or structured state" +open_weights = true +release_date = "2026-09-28" +license = "Nace.AI Open RAIL-M" + +[modalities] +input = ["text"] +output = ["decision"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 139_264 +output = 0 + +[[links]] +label = "Documentation" +url = "https://drex.nace.ai/docs" +type = "docs" + +[[links]] +label = "License" +url = "https://huggingface.co/nace-ai/drex-v1.5/blob/main/LICENSE" +type = "license" + +[[weights]] +url = "https://huggingface.co/nace-ai/drex-v1.5" +format = "safetensors" diff --git a/models/nace-ai/drex-v2.0.toml b/models/nace-ai/drex-v2.0.toml new file mode 100644 index 0000000000..54fcea12f5 --- /dev/null +++ b/models/nace-ai/drex-v2.0.toml @@ -0,0 +1,45 @@ +# Sources: +# - https://huggingface.co/nace-ai/drex-v2.0 +# - https://github.com/nace-ai/drex-decision-models/blob/main/docs/context-length.md +# - https://console.nace.ai/docs/drex/reference/models +# Context is the model's maximum state-plus-one-question length, not the +# first-party API's smaller Drex 2.0 limit before fallback to Drex 1.5. +# Output: decision probabilities, not generated text. Sampling: no tokens are sampled, so the +# generation_config.json temperature/top_p/top_k values have no effect (https://huggingface.co/nace-ai/drex-v2.0). +schema = 2 +type = "decision" +name = "Drex 2.0" +description = "35B mixture-of-experts System One decision model with 3B active parameters, returning typed, calibrated probabilities over text or structured state without generating text" +open_weights = true +release_date = "2026-10-06" +last_updated = "2026-10-12" +license = "Nace.AI Open RAIL-M" + +[modalities] +input = ["text"] +output = ["decision"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 131_072 +output = 0 + +[[links]] +label = "Documentation" +url = "https://github.com/nace-ai/drex-decision-models" +type = "docs" + +[[links]] +label = "License" +url = "https://huggingface.co/nace-ai/drex-v2.0/blob/main/LICENSE" +type = "license" + +[[weights]] +url = "https://huggingface.co/nace-ai/drex-v2.0" +format = "safetensors" diff --git a/models/nex-agi/nex-n2-pro.toml b/models/nex-agi/nex-n2-pro.toml new file mode 100644 index 0000000000..6d24bc81b4 --- /dev/null +++ b/models/nex-agi/nex-n2-pro.toml @@ -0,0 +1,29 @@ +# https://huggingface.co/nex-agi/Nex-N2-Pro +# Sampling: open weights, so temperature, top_p and top_k are runtime sampler settings on any host; the model card +# recommends temperature 0.7, top_p 0.95, top_k 40. +# Image input: config.json ships a vision_config (Qwen3.5-MoE vision-language architecture). Neither the +# model card nor any Nex AGI doc lists accepted image formats, so the input stays generic `image`. +schema = 2 +name = "Nex-N2-Pro" +description = "Open agentic MoE model (397B total, 17B active) for coding, tool use, and research workflows" +open_weights = true +release_date = "2026-06-02" + +[modalities] +input = ["text", "image"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } +temperature = true +top_p = true +top_k = true + +[limit] +context = 262_144 +output = 262_144 + +[[weights]] +label = "Hugging Face" +url = "https://huggingface.co/nex-agi/Nex-N2-Pro" diff --git a/models/nousresearch/hermes-2-pro-llama-3-8b.toml b/models/nousresearch/hermes-2-pro-llama-3-8b.toml new file mode 100644 index 0000000000..504c18b870 --- /dev/null +++ b/models/nousresearch/hermes-2-pro-llama-3-8b.toml @@ -0,0 +1,30 @@ +# https://huggingface.co/NousResearch/Hermes-2-Pro-Llama-3-8B +# Sampling: open weights; temperature, top_p and top_k are standard sampling controls for this checkpoint +# (generation_config.json enables sampling: https://huggingface.co/NousResearch/Hermes-2-Pro-Llama-3-8B). +# Family: Nous Research's Hermes line ("Hermes 2 Pro" on the model card above); same as nousresearch/hermes-4-405b. +schema = 2 +name = "Hermes 2 Pro Llama 3 8B" +description = "Llama 3 fine-tune optimized for function calling, structured JSON responses, and dialogue" +family = "hermes" +open_weights = true +release_date = "2024-04-30" +license = "Llama 3 Community License" + +[modalities] +input = ["text"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = false } +temperature = true +top_p = true +top_k = true + +[limit] +context = 8_192 +output = 8_192 + +[[weights]] +label = "Hugging Face" +url = "https://huggingface.co/NousResearch/Hermes-2-Pro-Llama-3-8B" diff --git a/models/nousresearch/hermes-3-llama-3.1-405b.toml b/models/nousresearch/hermes-3-llama-3.1-405b.toml new file mode 100644 index 0000000000..ae6d824c21 --- /dev/null +++ b/models/nousresearch/hermes-3-llama-3.1-405b.toml @@ -0,0 +1,26 @@ +# Lab metadata carried over from providers/openrouter/models/nousresearch/hermes-3-llama-3.1-405b.toml (curated catalogue data already in this repo), +# with provider-specific fields (cost, reasoning_options, status) stripped. +# Sampling: open weights; temperature, top_p and top_k are standard sampling controls for this checkpoint +# (https://huggingface.co/NousResearch/Hermes-3-Llama-3.1-405B). +schema = 2 +name = "Hermes 3 405B Instruct" +description = "Open Llama instruction model for multilingual chat, reasoning, and coding" +family = "nousresearch" +open_weights = true +knowledge = "2023-12-31" +release_date = "2024-08-16" + +[modalities] +input = ["text"] +output = ["text"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = true +top_p = true +top_k = true + +[limit] +context = 131_072 +output = 16_384 diff --git a/models/nousresearch/hermes-3-llama-3.1-70b.toml b/models/nousresearch/hermes-3-llama-3.1-70b.toml new file mode 100644 index 0000000000..92cecc300c --- /dev/null +++ b/models/nousresearch/hermes-3-llama-3.1-70b.toml @@ -0,0 +1,26 @@ +# Lab metadata carried over from providers/openrouter/models/nousresearch/hermes-3-llama-3.1-70b.toml (curated catalogue data already in this repo), +# with provider-specific fields (cost, reasoning_options, status) stripped. +# Sampling: open weights; temperature, top_p and top_k are standard sampling controls for this checkpoint +# (generation_config.json sets temperature 0.6, top_p 0.9: https://huggingface.co/NousResearch/Hermes-3-Llama-3.1-70B). +schema = 2 +name = "Hermes 3 70B Instruct" +description = "Open Llama instruction model for multilingual chat, reasoning, and coding" +family = "nousresearch" +open_weights = true +knowledge = "2023-12-31" +release_date = "2024-08-18" + +[modalities] +input = ["text"] +output = ["text"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = true +top_p = true +top_k = true + +[limit] +context = 131_072 +output = 16_384 diff --git a/models/nousresearch/hermes-4-405b.toml b/models/nousresearch/hermes-4-405b.toml new file mode 100644 index 0000000000..8871cc34b0 --- /dev/null +++ b/models/nousresearch/hermes-4-405b.toml @@ -0,0 +1,29 @@ +# Lab metadata carried over from providers/openrouter/models/nousresearch/hermes-4-405b.toml (curated catalogue data already in this repo), +# with provider-specific fields (cost, reasoning_options, status) stripped. +# Sampling: open weights; temperature, top_p and top_k are standard sampling controls for this checkpoint +# (the model card recommends temperature=0.6, top_p=0.95, top_k=20: https://huggingface.co/NousResearch/Hermes-4-405B). +# Tools: the model card's "Function Calling & Tool Use" section documents tool calls emitted as +# {...}, with tool definitions read from the request's tools field via the chat template +# (https://huggingface.co/NousResearch/Hermes-4-405B, accessed 2026-10-20). +schema = 2 +name = "Hermes 4 405B" +description = "Reasoning model for deliberate analysis, multi-step problem solving, and tool use" +family = "hermes" +open_weights = true +knowledge = "2024-08-31" +release_date = "2025-08-26" + +[modalities] +input = ["text"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } +temperature = true +top_p = true +top_k = true + +[limit] +context = 131_072 +output = 117_964 diff --git a/models/nvidia/llama-3.1-nemotron-70b-instruct.toml b/models/nvidia/llama-3.1-nemotron-70b-instruct.toml index 9e9c3f3f1c..5d8194bf04 100644 --- a/models/nvidia/llama-3.1-nemotron-70b-instruct.toml +++ b/models/nvidia/llama-3.1-nemotron-70b-instruct.toml @@ -1,18 +1,22 @@ +# Sampling: open weights, so temperature/top_p/top_k are runtime features of the host. +schema = 2 name = "Llama 3.1 Nemotron 70B Instruct" description = "Nemotron model for efficient reasoning, coding, and specialized AI agents" family = "nemotron" +open_weights = true release_date = "2025-04-15" -last_updated = "2025-04-15" -attachment = false -reasoning = false + +[modalities] +input = ["text"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = false } temperature = true -tool_call = true -open_weights = true +top_p = true +top_k = true [limit] context = 128_000 output = 8_192 - -[modalities] -input = ["text"] -output = ["text"] diff --git a/models/nvidia/llama-3.1-nemotron-safety-guard-8b-v3.toml b/models/nvidia/llama-3.1-nemotron-safety-guard-8b-v3.toml index 85fd9aff83..cff473209c 100644 --- a/models/nvidia/llama-3.1-nemotron-safety-guard-8b-v3.toml +++ b/models/nvidia/llama-3.1-nemotron-safety-guard-8b-v3.toml @@ -1,18 +1,22 @@ +# Sampling: safety classifier; kept off with temperature (deterministic labels). +schema = 2 name = "Llama 3.1 Nemotron Safety Guard 8B v3" description = "Safety model for policy screening, moderation, and risk-aware routing workflows" family = "nemotron" +open_weights = true release_date = "2025-10-28" -last_updated = "2025-10-28" -attachment = false -reasoning = false + +[modalities] +input = ["text"] +output = ["text"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } temperature = false -tool_call = false -open_weights = true +top_p = false +top_k = false [limit] context = 128_000 output = 4_096 - -[modalities] -input = ["text"] -output = ["text"] diff --git a/models/nvidia/llama-3.1-nemotron-ultra-253b.toml b/models/nvidia/llama-3.1-nemotron-ultra-253b.toml index 6cde66cde1..d5ef4dd922 100644 --- a/models/nvidia/llama-3.1-nemotron-ultra-253b.toml +++ b/models/nvidia/llama-3.1-nemotron-ultra-253b.toml @@ -1,18 +1,23 @@ +# Sampling: open weights, so temperature/top_p/top_k are runtime features of the host; +# the model card recommends temperature 0.6 and top_p 0.95 with reasoning on: https://huggingface.co/nvidia/Llama-3_1-Nemotron-Ultra-253B-v1 +schema = 2 name = "Llama 3.1 Nemotron Ultra 253B" description = "Flagship Nemotron model for high-throughput reasoning and complex agents" family = "nemotron" +open_weights = true release_date = "2025-04-07" -last_updated = "2025-04-07" -attachment = false -reasoning = true + +[modalities] +input = ["text"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } temperature = true -tool_call = true -open_weights = true +top_p = true +top_k = true [limit] context = 128_000 output = 8_192 - -[modalities] -input = ["text"] -output = ["text"] diff --git a/models/nvidia/llama-3.3-nemotron-super-49b-v1.5.toml b/models/nvidia/llama-3.3-nemotron-super-49b-v1.5.toml index 76abbc573f..a7f3cb782d 100644 --- a/models/nvidia/llama-3.3-nemotron-super-49b-v1.5.toml +++ b/models/nvidia/llama-3.3-nemotron-super-49b-v1.5.toml @@ -1,18 +1,23 @@ +# Sampling: open weights, so temperature/top_p/top_k are runtime features of the host; +# the model card recommends temperature 0.6 and top_p 0.95 with reasoning on: https://huggingface.co/nvidia/Llama-3_3-Nemotron-Super-49B-v1_5 +schema = 2 name = "Llama 3.3 Nemotron Super 49B v1.5" description = "Nemotron model for efficient reasoning, coding, and specialized AI agents" family = "nemotron" +open_weights = true release_date = "2025-07-25" -last_updated = "2025-07-25" -attachment = false -reasoning = true + +[modalities] +input = ["text"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } temperature = true -tool_call = true -open_weights = true +top_p = true +top_k = true [limit] context = 131_072 output = 131_072 - -[modalities] -input = ["text"] -output = ["text"] diff --git a/models/nvidia/llama-3.3-nemotron-super-49b-v1.toml b/models/nvidia/llama-3.3-nemotron-super-49b-v1.toml index da8ec17c41..281accadb2 100644 --- a/models/nvidia/llama-3.3-nemotron-super-49b-v1.toml +++ b/models/nvidia/llama-3.3-nemotron-super-49b-v1.toml @@ -1,18 +1,24 @@ +# Release date (3/18/2025): https://huggingface.co/nvidia/Llama-3_3-Nemotron-Super-49B-v1 +# Sampling: open weights, so temperature/top_p/top_k are runtime features of the host; +# the model card recommends temperature 0.6 and top_p 0.95 with reasoning on. +schema = 2 name = "Llama 3.3 Nemotron Super 49B v1" description = "Nemotron model for efficient reasoning, coding, and specialized AI agents" family = "nemotron" -release_date = "2025-04-07" -last_updated = "2025-04-07" -attachment = false -reasoning = true -temperature = true -tool_call = true open_weights = true - -[limit] -context = 131_072 -output = 131_072 +release_date = "2025-03-18" [modalities] input = ["text"] output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } +temperature = true +top_p = true +top_k = true + +[limit] +context = 131_072 +output = 131_072 diff --git a/models/nvidia/llama-nemotron-embed-1b-v2.toml b/models/nvidia/llama-nemotron-embed-1b-v2.toml new file mode 100644 index 0000000000..5ef0257086 --- /dev/null +++ b/models/nvidia/llama-nemotron-embed-1b-v2.toml @@ -0,0 +1,27 @@ +schema = 2 +type = "embedding" +name = "Llama Nemotron Embed 1B v2" +description = "Multilingual text embedding model for retrieval and question answering pipelines" +family = "nemotron" +open_weights = true +release_date = "2025-10-16" +license = "nvidia-open-model-license" + +[modalities] +input = ["text"] +output = ["embedding"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 8_192 +output = 2_048 + +[[weights]] +label = "Hugging Face" +url = "https://huggingface.co/nvidia/llama-nemotron-embed-1b-v2" diff --git a/models/nvidia/llama-nemotron-embed-vl-1b-v2.toml b/models/nvidia/llama-nemotron-embed-vl-1b-v2.toml index 03bd163141..b671501cc2 100644 --- a/models/nvidia/llama-nemotron-embed-vl-1b-v2.toml +++ b/models/nvidia/llama-nemotron-embed-vl-1b-v2.toml @@ -1,18 +1,27 @@ +# Release date (12/18/2025) and embedding model: https://huggingface.co/nvidia/llama-nemotron-embed-vl-1b-v2 +# Image formats: "image data URLs are accepted in image/png or image/jpeg format": +# https://docs.nvidia.com/nim/nemo-retriever/text-embedding/latest/use-the-api-openai.html +# Context: "The model's maximum context length we evaluated is 10240 tokens" (image tiles and text together): +# https://huggingface.co/nvidia/llama-nemotron-embed-vl-1b-v2 +schema = 2 +type = "embedding" name = "Llama Nemotron Embed VL 1B v2" description = "Embedding model for semantic search, retrieval, clustering, and ranking pipelines" family = "nemotron" -release_date = "2026-02-10" -last_updated = "2026-02-10" -attachment = true -reasoning = false -temperature = false -tool_call = false open_weights = true +release_date = "2025-12-18" + +[modalities] +input = ["text", "image/png", "image/jpeg"] +output = ["embedding"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false [limit] -context = 32_768 +context = 10_240 output = 2_048 - -[modalities] -input = ["text", "image"] -output = ["text"] diff --git a/models/nvidia/llama-nemotron-rerank-vl-1b-v2.toml b/models/nvidia/llama-nemotron-rerank-vl-1b-v2.toml index 0245407e36..1d3f47191b 100644 --- a/models/nvidia/llama-nemotron-rerank-vl-1b-v2.toml +++ b/models/nvidia/llama-nemotron-rerank-vl-1b-v2.toml @@ -1,18 +1,27 @@ +# Release date (12/18/2025) and reranking model: https://huggingface.co/nvidia/llama-nemotron-rerank-vl-1b-v2 +# Image formats: base64 data URLs; "PNG, JPEG, WebP, GIF, BMP, and TIFF image bytes are recognized": +# https://docs.nvidia.com/nim/nemo-retriever/text-reranking/latest/use-the-api-openai.html +# Context: evaluated "with max_input_tiles = 6 and the maximum context length of 10240 tokens. Inputs exceeding the +# maximum length are truncated": https://huggingface.co/nvidia/llama-nemotron-rerank-vl-1b-v2 +schema = 2 +type = "reranking" name = "Llama Nemotron Rerank VL 1B v2" description = "Reranking model for improving retrieval quality in search and recommendation systems" family = "nemotron" -release_date = "2026-03-31" -last_updated = "2026-03-31" -attachment = true -reasoning = false -temperature = false -tool_call = false open_weights = true +release_date = "2025-12-18" + +[modalities] +input = ["text", "image/png", "image/jpeg", "image/webp", "image/gif", "image/bmp", "image/tiff"] +output = ["reranking"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false [limit] -context = 128_000 +context = 10_240 output = 4_096 - -[modalities] -input = ["text", "image"] -output = ["text"] diff --git a/models/nvidia/mistral-nemotron.toml b/models/nvidia/mistral-nemotron.toml index 5bb59129bc..06395d349c 100644 --- a/models/nvidia/mistral-nemotron.toml +++ b/models/nvidia/mistral-nemotron.toml @@ -1,18 +1,25 @@ +# Not open weights: offered as an API endpoint on build.nvidia.com; self-hosting needs a license from Mistral AI +# (https://build.nvidia.com/mistralai/mistral-nemotron/modelcard). No public checkpoint exists. +# Sampling: the endpoint's API samples pass temperature and top_p; no top_k. +schema = 2 name = "Mistral Nemotron" description = "Mistral model for multilingual chat, reasoning, and tool-assisted workflows" family = "nemotron" +open_weights = false release_date = "2025-06-11" last_updated = "2025-06-12" -attachment = false -reasoning = false + +[modalities] +input = ["text"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = false } temperature = true -tool_call = true -open_weights = true +top_p = true +top_k = false [limit] context = 128_000 output = 8_192 - -[modalities] -input = ["text"] -output = ["text"] diff --git a/models/nvidia/nemotron-3-content-safety.toml b/models/nvidia/nemotron-3-content-safety.toml index 6d99edb922..063a46959f 100644 --- a/models/nvidia/nemotron-3-content-safety.toml +++ b/models/nvidia/nemotron-3-content-safety.toml @@ -1,18 +1,23 @@ +# Release date (March 16, 2026): https://huggingface.co/nvidia/Nemotron-3-Content-Safety +# Sampling: safety classifier; kept off with temperature (deterministic labels). +schema = 2 name = "Nemotron 3 Content Safety" description = "Safety model for policy screening, moderation, and risk-aware routing workflows" family = "nemotron" -release_date = "2026-04-16" -last_updated = "2026-04-16" -attachment = false -reasoning = false -temperature = false -tool_call = false open_weights = true - -[limit] -context = 128_000 -output = 4_096 +release_date = "2026-03-16" [modalities] input = ["text"] output = ["text"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 128_000 +output = 4_096 diff --git a/models/nvidia/nemotron-3-embed-1b.toml b/models/nvidia/nemotron-3-embed-1b.toml new file mode 100644 index 0000000000..9be23306ce --- /dev/null +++ b/models/nvidia/nemotron-3-embed-1b.toml @@ -0,0 +1,29 @@ +# Released 2026-07-16: https://build.nvidia.com/nvidia/nemotron-3-embed-1b/modelcard +# https://huggingface.co/nvidia/Nemotron-3-Embed-1B-BF16 +schema = 2 +v2_only = true +type = "embedding" +name = "Nemotron 3 Embed 1B" +description = "Open text embedding model for retrieval, RAG, and code search" +family = "nemotron" +open_weights = true +release_date = "2026-07-16" + +[modalities] +input = ["text"] +output = ["embedding"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 32_768 +output = 0 + +[[weights]] +label = "Hugging Face" +url = "https://huggingface.co/nvidia/Nemotron-3-Embed-1B-BF16" diff --git a/models/nvidia/nemotron-3-nano-30b-a3b.toml b/models/nvidia/nemotron-3-nano-30b-a3b.toml index a7d3a83bce..db176b531f 100644 --- a/models/nvidia/nemotron-3-nano-30b-a3b.toml +++ b/models/nvidia/nemotron-3-nano-30b-a3b.toml @@ -1,18 +1,26 @@ +# Knowledge: pre-training data cutoff June 25, 2025 (post-training November 28, 2025): +# https://huggingface.co/nvidia/NVIDIA-Nemotron-3-Nano-30B-A3B-BF16 +# Sampling: open weights, so temperature/top_p/top_k are runtime features of the host; +# the model card recommends temperature 1.0 and top_p 1.0 for reasoning. +schema = 2 name = "Nemotron 3 Nano 30B A3B" description = "Small Nemotron 3 MoE for efficient coding, math, and long-context agents" family = "nemotron" +open_weights = true +knowledge = "2025-06-25" release_date = "2025-12-15" -last_updated = "2025-12-15" -attachment = false -reasoning = true + +[modalities] +input = ["text"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } temperature = true -tool_call = true -open_weights = true +top_p = true +top_k = true [limit] context = 262_144 output = 262_144 - -[modalities] -input = ["text"] -output = ["text"] diff --git a/models/nvidia/nemotron-3-nano-omni-30b-a3b-reasoning.toml b/models/nvidia/nemotron-3-nano-omni-30b-a3b-reasoning.toml index f0684eecfb..9cc70041d5 100644 --- a/models/nvidia/nemotron-3-nano-omni-30b-a3b-reasoning.toml +++ b/models/nvidia/nemotron-3-nano-omni-30b-a3b-reasoning.toml @@ -1,18 +1,25 @@ +# Formats (model card input formats: video mp4, audio wav and mp3, image jpeg and png): +# https://huggingface.co/nvidia/Nemotron-3-Nano-Omni-30B-A3B-Reasoning-BF16 +# Sampling: open weights, so temperature/top_p/top_k are runtime features of the host; +# the model card documents temperature, top_p and top_k per mode. +schema = 2 name = "Nemotron 3 Nano Omni 30B A3B Reasoning" description = "Open Nemotron omni model combining reasoning with text, vision, and audio" family = "nemotron" +open_weights = true release_date = "2026-04-28" -last_updated = "2026-04-28" -attachment = true -reasoning = true + +[modalities] +input = ["text", "image/jpeg", "image/png", "video/mp4", "audio/wav", "audio/mpeg"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } temperature = true -tool_call = true -open_weights = true +top_p = true +top_k = true [limit] context = 256_000 output = 65_536 - -[modalities] -input = ["text", "image", "video", "audio"] -output = ["text"] diff --git a/models/nvidia/nemotron-3-super-120b-a12b.toml b/models/nvidia/nemotron-3-super-120b-a12b.toml index 7bc3ca4507..1bcc11a6fd 100644 --- a/models/nvidia/nemotron-3-super-120b-a12b.toml +++ b/models/nvidia/nemotron-3-super-120b-a12b.toml @@ -1,18 +1,26 @@ +# Knowledge: pre-training data cutoff June 2025 (post-training February 2026): +# https://huggingface.co/nvidia/NVIDIA-Nemotron-3-Super-120B-A12B-BF16 +# Sampling: open weights, so temperature/top_p/top_k are runtime features of the host; +# the model card recommends temperature 1.0 and top_p 0.95. +schema = 2 name = "Nemotron 3 Super 120B A12B" description = "Nemotron middle tier for collaborative agents and high-volume reasoning workloads" family = "nemotron" +open_weights = true +knowledge = "2025-06" release_date = "2026-03-11" -last_updated = "2026-03-11" -attachment = false -reasoning = true + +[modalities] +input = ["text"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } temperature = true -tool_call = true -open_weights = true +top_p = true +top_k = true [limit] context = 262_144 output = 262_144 - -[modalities] -input = ["text"] -output = ["text"] diff --git a/models/nvidia/nemotron-3-ultra-550b-a55b.toml b/models/nvidia/nemotron-3-ultra-550b-a55b.toml index faca3a88b1..26980cd779 100644 --- a/models/nvidia/nemotron-3-ultra-550b-a55b.toml +++ b/models/nvidia/nemotron-3-ultra-550b-a55b.toml @@ -1,22 +1,30 @@ +# Knowledge: pre-training data cutoff September 2025 (post-training May 2026): +# https://huggingface.co/nvidia/NVIDIA-Nemotron-3-Ultra-550B-A55B-BF16 +# Sampling: open weights, so temperature/top_p/top_k are runtime features of the host; +# the model card recommends temperature 1.0 and top_p 0.95. +schema = 2 name = "Nemotron 3 Ultra 550B A55B" description = "Largest Nemotron 3 model for maximum open-weight reasoning and agent accuracy" family = "nemotron" +open_weights = true +knowledge = "2025-09" release_date = "2026-06-04" -last_updated = "2026-06-04" -attachment = false -reasoning = true + +[modalities] +input = ["text"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } temperature = true -tool_call = true -open_weights = true +top_p = true +top_k = true [limit] context = 1_000_000 output = 128_000 -[modalities] -input = ["text"] -output = ["text"] - [[benchmarks]] name = "SWE-Bench Verified" score = 70.7 diff --git a/models/nvidia/nemotron-3.5-asr-streaming-multilingual-0.6b.toml b/models/nvidia/nemotron-3.5-asr-streaming-multilingual-0.6b.toml new file mode 100644 index 0000000000..ad0923339b --- /dev/null +++ b/models/nvidia/nemotron-3.5-asr-streaming-multilingual-0.6b.toml @@ -0,0 +1,31 @@ +# Released August 2026: https://huggingface.co/blog/nvidia/fine-tuning-nemotron-35-asr +# https://huggingface.co/nvidia/Nemotron-3.5-ASR-Streaming-Multilingual-0.6b +# Input formats: the common list in OpenRouter's speech-to-text docs (the lab lists none here): +# https://openrouter.ai/docs/guides/overview/multimodal/stt +schema = 2 +v2_only = true +type = "transcription" +name = "Nemotron 3.5 ASR Streaming Multilingual 0.6B" +description = "Open streaming speech recognition model for 40 language-locales" +family = "nemotron" +open_weights = true +release_date = "2026-08" + +[modalities] +input = ["audio/wav", "audio/mpeg", "audio/flac", "audio/mp4", "audio/ogg", "audio/webm", "audio/aac"] +output = ["text"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 0 +output = 0 + +[[weights]] +label = "Hugging Face" +url = "https://huggingface.co/nvidia/Nemotron-3.5-ASR-Streaming-Multilingual-0.6b" diff --git a/models/nvidia/nemotron-3.5-content-safety.toml b/models/nvidia/nemotron-3.5-content-safety.toml index 19545d5054..b74b1f6d8f 100644 --- a/models/nvidia/nemotron-3.5-content-safety.toml +++ b/models/nvidia/nemotron-3.5-content-safety.toml @@ -1,18 +1,26 @@ +# Release date (06/02/2026): https://huggingface.co/nvidia/Nemotron-3.5-Content-Safety +# Image formats: "The supported image formats are GIF, JPG, JPEG, and PNG": +# https://docs.nvidia.com/nim/vision-language-models/latest/vision-content-safety.html +# Sampling: open weights, so temperature/top_p/top_k are runtime features of the host; +# the model card's examples pass temperature and top_p. +schema = 2 name = "Nemotron 3.5 Content Safety" description = "Safety model for policy screening, moderation, and risk-aware routing workflows" family = "nemotron" -release_date = "2026-06-04" -last_updated = "2026-06-04" -attachment = true -reasoning = true -temperature = true -tool_call = false open_weights = true +release_date = "2026-06-02" + +[modalities] +input = ["text", "image/gif", "image/jpeg", "image/png"] +output = ["text"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = true } +temperature = true +top_p = true +top_k = true [limit] context = 128_000 output = 8_192 - -[modalities] -input = ["text", "image"] -output = ["text"] diff --git a/models/nvidia/nemotron-3.5-lightning.toml b/models/nvidia/nemotron-3.5-lightning.toml index 45443103c6..f0a01969b2 100644 --- a/models/nvidia/nemotron-3.5-lightning.toml +++ b/models/nvidia/nemotron-3.5-lightning.toml @@ -1,19 +1,138 @@ +# NVIDIA BF16 reasoning evaluation, not the NVFP4 checkpoint. Benchmark-specific recipes: +# https://github.com/NVIDIA-NeMo/Gym/tree/main/nemotron_recipes/lightning-3.5/reproducibility.md +# Knowledge: pre-training data cutoff September 2025 (post-training May 2026): +# https://huggingface.co/nvidia/NVIDIA-Nemotron-3.5-Lightning-30B-A3B-BF16 +# Sampling: open weights, so temperature/top_p/top_k are runtime features of the host; +# the model card recommends temperature 1.0 and top_p 0.95. +schema = 2 name = "Nemotron 3.5 Lightning 30B A3B" description = "Fast NVIDIA Nemotron MoE for reliable agentic tasks across enterprise workloads" family = "nemotron" +open_weights = true +knowledge = "2025-09" release_date = "2026-08-11" -last_updated = "2026-08-11" -attachment = false -reasoning = true + +[modalities] +input = ["text"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } temperature = true -tool_call = true -structured_output = true -open_weights = true +top_p = true +top_k = true [limit] context = 262_144 output = 262_144 -[modalities] -input = ["text"] -output = ["text"] +[[benchmarks]] +name = "MMLU-Pro" +score = 81.94 +metric = "score" +variant = "BF16; reasoning" +harness = "NeMo Gym / NeMo Evaluator SDK" +source = "https://huggingface.co/nvidia/NVIDIA-Nemotron-3.5-Lightning-30B-A3B-BF16" + +[[benchmarks]] +name = "AA-Omniscience" +score = 17.5 +metric = "score" +variant = "BF16; reasoning" +harness = "NeMo Gym / NeMo Evaluator SDK" +source = "https://huggingface.co/nvidia/NVIDIA-Nemotron-3.5-Lightning-30B-A3B-BF16" + +[[benchmarks]] +name = "SciCode" +score = 32.6 +metric = "score" +variant = "BF16; reasoning" +harness = "NeMo Gym / NeMo Evaluator SDK" +source = "https://huggingface.co/nvidia/NVIDIA-Nemotron-3.5-Lightning-30B-A3B-BF16" + +[[benchmarks]] +name = "PinchBench" +score = 85.37 +metric = "score" +variant = "BF16; reasoning" +harness = "NeMo Gym / NeMo Evaluator SDK" +source = "https://huggingface.co/nvidia/NVIDIA-Nemotron-3.5-Lightning-30B-A3B-BF16" + +[[benchmarks]] +name = "BrowseComp" +score = 36.97 +metric = "score" +variant = "BF16; reasoning" +harness = "NeMo Gym / NeMo Evaluator SDK" +source = "https://huggingface.co/nvidia/NVIDIA-Nemotron-3.5-Lightning-30B-A3B-BF16" + +[[benchmarks]] +name = "AA-LCR" +score = 52 +metric = "score" +variant = "BF16; reasoning" +harness = "NeMo Gym / NeMo Evaluator SDK" +source = "https://huggingface.co/nvidia/NVIDIA-Nemotron-3.5-Lightning-30B-A3B-BF16" + +[[benchmarks]] +name = "GPQA Diamond" +score = 75.44 +metric = "accuracy" +variant = "BF16; reasoning; no tools" +source = "https://huggingface.co/nvidia/NVIDIA-Nemotron-3.5-Lightning-30B-A3B-BF16" + +[[benchmarks]] +name = "Humanity's Last Exam" +score = 11.72 +metric = "accuracy" +variant = "BF16; reasoning; no tools" +dataset = "text-only" +source = "https://huggingface.co/nvidia/NVIDIA-Nemotron-3.5-Lightning-30B-A3B-BF16" + +[[benchmarks]] +name = "SWE-Bench Verified" +score = 51.56 +metric = "accuracy" +variant = "BF16; reasoning" +harness = "NeMo Evaluator" +source = "https://huggingface.co/nvidia/NVIDIA-Nemotron-3.5-Lightning-30B-A3B-BF16" + +[[benchmarks]] +name = "SWE-Bench Multilingual" +score = 39.33 +metric = "accuracy" +variant = "BF16; reasoning" +harness = "NeMo Evaluator" +source = "https://huggingface.co/nvidia/NVIDIA-Nemotron-3.5-Lightning-30B-A3B-BF16" + +[[benchmarks]] +name = "Terminal-Bench" +score = 24.58 +metric = "accuracy" +variant = "BF16; reasoning" +harness = "NeMo Evaluator" +version = "2.1" +source = "https://huggingface.co/nvidia/NVIDIA-Nemotron-3.5-Lightning-30B-A3B-BF16" + +[[benchmarks]] +name = "tau3-bench" +score = 9.28 +metric = "score" +variant = "BF16; reasoning; banking" +source = "https://huggingface.co/nvidia/NVIDIA-Nemotron-3.5-Lightning-30B-A3B-BF16" + +[[benchmarks]] +name = "GDPval-AA" +score = 832 +metric = "Elo" +variant = "BF16; reasoning" +version = "2" +source = "https://huggingface.co/nvidia/NVIDIA-Nemotron-3.5-Lightning-30B-A3B-BF16" + +[[benchmarks]] +name = "IFBench" +score = 71.88 +metric = "accuracy" +variant = "BF16; reasoning; loose" +source = "https://huggingface.co/nvidia/NVIDIA-Nemotron-3.5-Lightning-30B-A3B-BF16" diff --git a/models/nvidia/nemotron-3.5-super-120b-a12b.toml b/models/nvidia/nemotron-3.5-super-120b-a12b.toml new file mode 100644 index 0000000000..ca6f2f1fd8 --- /dev/null +++ b/models/nvidia/nemotron-3.5-super-120b-a12b.toml @@ -0,0 +1,28 @@ +# Text-only Nemotron 3.5 Super as Perplexity serves it (Agent API id perplexity/nemotron-3.5-super-120b-a12b): +# "Nemotron 3.5 Super is a reasoning model with a 1,048,576-token context window and up to 131,072 output tokens. It +# accepts text input only." (https://docs.perplexity.ai/docs/agent-api/models.md, accessed 2026-10-21) +# NVIDIA has published no separate text-only checkpoint; its open Nemotron 3.5 Super release (2026-10-15, +# https://huggingface.co/nvidia/NVIDIA-Nemotron-3.5-Super-VL-120B-A12B-BF16) is the VL model, which has its own lab file. +# Release date and open weights follow that release; tool use and sampling follow the Nemotron family. +# Sampling: open weights, so temperature/top_p/top_k are runtime features of the host. +schema = 2 +name = "Nemotron 3.5 Super 120B A12B" +description = "NVIDIA Nemotron 3.5 Super reasoning model (120B total, 12B active) served with text-only input" +family = "nemotron" +open_weights = true +release_date = "2026-10-15" + +[modalities] +input = ["text"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } +temperature = true +top_p = true +top_k = true + +[limit] +context = 1_048_576 +output = 131_072 diff --git a/models/nvidia/nemotron-3.5-super-vl-120b-a12b.toml b/models/nvidia/nemotron-3.5-super-vl-120b-a12b.toml new file mode 100644 index 0000000000..90073c2f2c --- /dev/null +++ b/models/nvidia/nemotron-3.5-super-vl-120b-a12b.toml @@ -0,0 +1,25 @@ +# Release date (10/15/2026) and formats (model card input formats: video mp4, image jpeg and png): +# https://huggingface.co/nvidia/NVIDIA-Nemotron-3.5-Super-VL-120B-A12B-BF16 +# Sampling: open weights, so temperature/top_p/top_k are runtime features of the host; +# the model card recommends temperature 1.0 (0.6 for vision) and top_p 0.95. +schema = 2 +name = "Nemotron 3.5 Super VL 120B A12B" +description = "NVIDIA vision-language reasoning model for text, image, and video understanding and agentic tool use" +family = "nemotron" +open_weights = true +release_date = "2026-10-15" + +[modalities] +input = ["text", "image/jpeg", "image/png", "video/mp4"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } +temperature = true +top_p = true +top_k = true + +[limit] +context = 1_048_576 +output = 8_192 diff --git a/models/nvidia/nemotron-cascade-2-30b-a3b.toml b/models/nvidia/nemotron-cascade-2-30b-a3b.toml index fc16ade56c..edbc953077 100644 --- a/models/nvidia/nemotron-cascade-2-30b-a3b.toml +++ b/models/nvidia/nemotron-cascade-2-30b-a3b.toml @@ -1,18 +1,25 @@ +# Release date (Mar 19, 2026): https://huggingface.co/nvidia/Nemotron-Cascade-2-30B-A3B +# Sampling: open weights, so temperature/top_p/top_k are runtime features of the host; +# the model card recommends temperature 1.0 and top_p 0.95. +schema = 2 name = "Nemotron Cascade 2 30B A3B" description = "Nemotron model for efficient reasoning, coding, and specialized AI agents" family = "nemotron" -release_date = "2026-03-24" +open_weights = true +release_date = "2026-03-19" last_updated = "2026-04-09" -attachment = false -reasoning = true + +[modalities] +input = ["text"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } temperature = true -tool_call = true -open_weights = true +top_p = true +top_k = true [limit] context = 256_000 output = 32_768 - -[modalities] -input = ["text"] -output = ["text"] diff --git a/models/nvidia/nemotron-content-safety-reasoning-4b.toml b/models/nvidia/nemotron-content-safety-reasoning-4b.toml index e683d301bf..c6afd61691 100644 --- a/models/nvidia/nemotron-content-safety-reasoning-4b.toml +++ b/models/nvidia/nemotron-content-safety-reasoning-4b.toml @@ -1,18 +1,22 @@ +# Sampling: safety classifier; kept off with temperature (deterministic labels). +schema = 2 name = "Nemotron Content Safety Reasoning 4B" description = "Safety model for policy screening, moderation, and risk-aware routing workflows" family = "nemotron" +open_weights = true release_date = "2026-01-22" -last_updated = "2026-01-22" -attachment = false -reasoning = true + +[modalities] +input = ["text"] +output = ["text"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = true } temperature = false -tool_call = false -open_weights = true +top_p = false +top_k = false [limit] context = 128_000 output = 4_096 - -[modalities] -input = ["text"] -output = ["text"] diff --git a/models/nvidia/nemotron-mini-4b-instruct.toml b/models/nvidia/nemotron-mini-4b-instruct.toml index f62c25ada2..ac85501719 100644 --- a/models/nvidia/nemotron-mini-4b-instruct.toml +++ b/models/nvidia/nemotron-mini-4b-instruct.toml @@ -1,18 +1,23 @@ +# Sampling: open weights, so temperature/top_p/top_k are runtime features of the host. +schema = 2 name = "Nemotron Mini 4B Instruct" description = "Compact Nemotron model for efficient reasoning and deployable AI agents" family = "nemotron" +open_weights = true release_date = "2024-08-21" last_updated = "2024-08-26" -attachment = false -reasoning = false + +[modalities] +input = ["text"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = false } temperature = true -tool_call = true -open_weights = true +top_p = true +top_k = true [limit] context = 128_000 output = 8_192 - -[modalities] -input = ["text"] -output = ["text"] diff --git a/models/nvidia/nemotron-nano-12b-v2-vl.toml b/models/nvidia/nemotron-nano-12b-v2-vl.toml index 395b8a51f6..9210e3dd77 100644 --- a/models/nvidia/nemotron-nano-12b-v2-vl.toml +++ b/models/nvidia/nemotron-nano-12b-v2-vl.toml @@ -1,18 +1,24 @@ +# Formats (model card input format: Image png, jpg; Video MP4, MKV, FLV, 3GP): +# https://huggingface.co/nvidia/NVIDIA-Nemotron-Nano-12B-v2-VL-BF16 +# Sampling: open weights, so temperature/top_p/top_k are runtime features of the host. +schema = 2 name = "Nemotron Nano 12B v2 VL" description = "Nemotron multimodal model for visual reasoning and agentic AI workflows" family = "nemotron" +open_weights = true release_date = "2025-10-28" -last_updated = "2025-10-28" -attachment = true -reasoning = true + +[modalities] +input = ["text", "image/png", "image/jpeg", "video/mp4", "video/x-matroska", "video/x-flv", "video/3gpp"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } temperature = true -tool_call = true -open_weights = true +top_p = true +top_k = true [limit] context = 128_000 output = 128_000 - -[modalities] -input = ["text", "image", "video"] -output = ["text"] diff --git a/models/nvidia/nemotron-nano-9b-v2.toml b/models/nvidia/nemotron-nano-9b-v2.toml index 8e51ee4034..6d88ab4a7b 100644 --- a/models/nvidia/nemotron-nano-9b-v2.toml +++ b/models/nvidia/nemotron-nano-9b-v2.toml @@ -1,18 +1,25 @@ +# Knowledge: pre-training data cutoff September 2024: https://huggingface.co/nvidia/NVIDIA-Nemotron-Nano-9B-v2 +# Sampling: open weights, so temperature/top_p/top_k are runtime features of the host; +# the model card recommends temperature 0.6 and top_p 0.95 with reasoning on. +schema = 2 name = "Nemotron Nano 9B v2" description = "Compact Nemotron model for efficient reasoning and deployable AI agents" family = "nemotron" +open_weights = true +knowledge = "2024-09" release_date = "2025-08-18" -last_updated = "2025-08-18" -attachment = false -reasoning = true + +[modalities] +input = ["text"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } temperature = true -tool_call = true -open_weights = true +top_p = true +top_k = true [limit] context = 131_072 output = 131_072 - -[modalities] -input = ["text"] -output = ["text"] diff --git a/models/nvidia/nemotron-voicechat.toml b/models/nvidia/nemotron-voicechat.toml index c5baf0776d..602224300d 100644 --- a/models/nvidia/nemotron-voicechat.toml +++ b/models/nvidia/nemotron-voicechat.toml @@ -1,18 +1,23 @@ +# Audio format (input format String, WAV/WebAudio; 16 kHz): https://build.nvidia.com/nvidia/nemotron-voicechat/modelcard +# Sampling: open weights, so temperature/top_p/top_k are runtime features of the host. +schema = 2 name = "Nemotron VoiceChat" description = "Nemotron multimodal model for visual reasoning and agentic AI workflows" family = "nemotron" +open_weights = true release_date = "2026-03-16" -last_updated = "2026-03-16" -attachment = true -reasoning = false + +[modalities] +input = ["text", "audio/wav"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = false } temperature = true -tool_call = true -open_weights = true +top_p = true +top_k = true [limit] context = 128_000 output = 8_192 - -[modalities] -input = ["text", "audio"] -output = ["text"] diff --git a/models/nvidia/parakeet-tdt-0.6b-v3.toml b/models/nvidia/parakeet-tdt-0.6b-v3.toml new file mode 100644 index 0000000000..b12226bf71 --- /dev/null +++ b/models/nvidia/parakeet-tdt-0.6b-v3.toml @@ -0,0 +1,31 @@ +# Published August 2025 (CC-BY-4.0): https://huggingface.co/nvidia/parakeet-tdt-0.6b-v3 +# Input formats: the common list in OpenRouter's speech-to-text docs (the lab lists none here): +# https://openrouter.ai/docs/guides/overview/multimodal/stt +schema = 2 +v2_only = true +type = "transcription" +name = "Parakeet TDT 0.6B v3" +description = "Open multilingual speech-to-text model with automatic language detection across 25 European languages" +family = "parakeet" +open_weights = true +release_date = "2025-08" +license = "CC-BY-4.0" + +[modalities] +input = ["audio/wav", "audio/mpeg", "audio/flac", "audio/mp4", "audio/ogg", "audio/webm", "audio/aac"] +output = ["text"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 0 +output = 0 + +[[weights]] +label = "Hugging Face" +url = "https://huggingface.co/nvidia/parakeet-tdt-0.6b-v3" diff --git a/models/openai/gpt-3.5-turbo.toml b/models/openai/gpt-3.5-turbo.toml index ce547c5215..4ddda20cbe 100644 --- a/models/openai/gpt-3.5-turbo.toml +++ b/models/openai/gpt-3.5-turbo.toml @@ -1,24 +1,27 @@ +schema = 2 name = "GPT-3.5-turbo" description = "Compact GPT model for low-latency assistance and high-volume workloads" family = "gpt" +open_weights = false +knowledge = "2021-09-01" release_date = "2023-03-01" last_updated = "2023-11-06" -attachment = false -reasoning = false + +[modalities] +input = ["text"] +output = ["text"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } temperature = true -tool_call = false -structured_output = false -knowledge = "2021-09-01" -open_weights = false +top_p = true +top_k = false [limit] context = 16_385 output = 4_096 -[modalities] -input = ["text"] -output = ["text"] - [[benchmarks]] name = "Artificial Analysis Coding Index" score = 10.7 diff --git a/models/openai/gpt-4-turbo.toml b/models/openai/gpt-4-turbo.toml index ba97a4182b..b844794a09 100644 --- a/models/openai/gpt-4-turbo.toml +++ b/models/openai/gpt-4-turbo.toml @@ -1,24 +1,27 @@ +schema = 2 name = "GPT-4 Turbo" description = "Compact GPT model for low-latency assistance and high-volume workloads" family = "gpt" +open_weights = false +knowledge = "2023-12" release_date = "2023-11-06" last_updated = "2024-04-09" -attachment = true -reasoning = false + +[modalities] +input = ["text", "image/jpeg", "image/png", "image/gif", "image/webp"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = false } temperature = true -tool_call = true -structured_output = false -knowledge = "2023-12" -open_weights = false +top_p = true +top_k = false [limit] context = 128_000 output = 4_096 -[modalities] -input = ["text", "image"] -output = ["text"] - [[benchmarks]] name = "Artificial Analysis Coding Index" score = 21.5 diff --git a/models/openai/gpt-4.1-mini.toml b/models/openai/gpt-4.1-mini.toml index 7d986698fd..49410b42d7 100644 --- a/models/openai/gpt-4.1-mini.toml +++ b/models/openai/gpt-4.1-mini.toml @@ -1,24 +1,26 @@ +schema = 2 name = "GPT-4.1 mini" description = "Affordable GPT-4.1 lane for fast coding help and structured extraction" family = "gpt-mini" +open_weights = false +knowledge = "2024-04" release_date = "2025-04-14" -last_updated = "2025-04-14" -attachment = true -reasoning = false + +[modalities] +input = ["text", "image/jpeg", "image/png", "image/gif", "image/webp", "application/pdf"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = false } temperature = true -tool_call = true -structured_output = true -knowledge = "2024-04" -open_weights = false +top_p = true +top_k = false [limit] context = 1_047_576 output = 32_768 -[modalities] -input = ["text", "image", "pdf"] -output = ["text"] - [[benchmarks]] name = "Aider Polyglot" score = 32.4 diff --git a/models/openai/gpt-4.1-nano.toml b/models/openai/gpt-4.1-nano.toml index 9a014fe07d..354c74f209 100644 --- a/models/openai/gpt-4.1-nano.toml +++ b/models/openai/gpt-4.1-nano.toml @@ -1,24 +1,26 @@ +schema = 2 name = "GPT-4.1 nano" description = "Tiny GPT-4.1 option for classification, routing, and very high-volume tasks" family = "gpt-nano" +open_weights = false +knowledge = "2024-04" release_date = "2025-04-14" -last_updated = "2025-04-14" -attachment = true -reasoning = false + +[modalities] +input = ["text", "image/jpeg", "image/png", "image/gif", "image/webp"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = false } temperature = true -tool_call = true -structured_output = true -knowledge = "2024-04" -open_weights = false +top_p = true +top_k = false [limit] context = 1_047_576 output = 32_768 -[modalities] -input = ["text", "image"] -output = ["text"] - [[benchmarks]] name = "Aider Polyglot" score = 8.9 diff --git a/models/openai/gpt-4.1.toml b/models/openai/gpt-4.1.toml index f8af6e23e2..4e1f7f5f8c 100644 --- a/models/openai/gpt-4.1.toml +++ b/models/openai/gpt-4.1.toml @@ -1,24 +1,26 @@ +schema = 2 name = "GPT-4.1" description = "Long-lived GPT workhorse for coding, instruction following, and production apps" family = "gpt" +open_weights = false +knowledge = "2024-04" release_date = "2025-04-14" -last_updated = "2025-04-14" -attachment = true -reasoning = false + +[modalities] +input = ["text", "image/jpeg", "image/png", "image/gif", "image/webp", "application/pdf"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = false } temperature = true -tool_call = true -structured_output = true -knowledge = "2024-04" -open_weights = false +top_p = true +top_k = false [limit] context = 1_047_576 output = 32_768 -[modalities] -input = ["text", "image", "pdf"] -output = ["text"] - [[benchmarks]] name = "Aider Polyglot" score = 52.4 diff --git a/models/openai/gpt-4.toml b/models/openai/gpt-4.toml index 8f3ea8ce97..ddc570a86a 100644 --- a/models/openai/gpt-4.toml +++ b/models/openai/gpt-4.toml @@ -1,24 +1,27 @@ +schema = 2 name = "GPT-4" description = "GPT model for general reasoning, writing, coding, and tool-assisted tasks" family = "gpt" +open_weights = false +knowledge = "2023-11" release_date = "2023-11-06" last_updated = "2024-04-09" -attachment = true -reasoning = false + +[modalities] +input = ["text"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = false } temperature = true -tool_call = true -structured_output = false -knowledge = "2023-11" -open_weights = false +top_p = true +top_k = false [limit] context = 8_192 output = 8_192 -[modalities] -input = ["text"] -output = ["text"] - [[benchmarks]] name = "Artificial Analysis Coding Index" score = 13.1 diff --git a/models/openai/gpt-4o-2024-05-13.toml b/models/openai/gpt-4o-2024-05-13.toml index 51166a4391..0f62f5c9e2 100644 --- a/models/openai/gpt-4o-2024-05-13.toml +++ b/models/openai/gpt-4o-2024-05-13.toml @@ -1,24 +1,26 @@ +schema = 2 name = "GPT-4o (2024-05-13)" description = "GPT model for general reasoning, writing, coding, and tool-assisted tasks" family = "gpt" +open_weights = false +knowledge = "2023-09" release_date = "2024-05-13" -last_updated = "2024-05-13" -attachment = true -reasoning = false + +[modalities] +input = ["text", "image/jpeg", "image/png", "image/gif", "image/webp"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = false } temperature = true -tool_call = true -structured_output = true -knowledge = "2023-09" -open_weights = false +top_p = true +top_k = false [limit] context = 128_000 output = 4_096 -[modalities] -input = ["text", "image"] -output = ["text"] - [[benchmarks]] name = "Artificial Analysis Coding Index" score = 24.2 diff --git a/models/openai/gpt-4o-2024-08-06.toml b/models/openai/gpt-4o-2024-08-06.toml index f523ec6036..c94116f746 100644 --- a/models/openai/gpt-4o-2024-08-06.toml +++ b/models/openai/gpt-4o-2024-08-06.toml @@ -1,24 +1,26 @@ +schema = 2 name = "GPT-4o (2024-08-06)" description = "GPT model for general reasoning, writing, coding, and tool-assisted tasks" family = "gpt" +open_weights = false +knowledge = "2023-09" release_date = "2024-08-06" -last_updated = "2024-08-06" -attachment = true -reasoning = false + +[modalities] +input = ["text", "image/jpeg", "image/png", "image/gif", "image/webp"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = false } temperature = true -tool_call = true -structured_output = true -knowledge = "2023-09" -open_weights = false +top_p = true +top_k = false [limit] context = 128_000 output = 16_384 -[modalities] -input = ["text", "image"] -output = ["text"] - [[benchmarks]] name = "Aider Polyglot" score = 23.1 diff --git a/models/openai/gpt-4o-2024-11-20.toml b/models/openai/gpt-4o-2024-11-20.toml index f2e5edf812..5d0ba9d198 100644 --- a/models/openai/gpt-4o-2024-11-20.toml +++ b/models/openai/gpt-4o-2024-11-20.toml @@ -1,24 +1,26 @@ +schema = 2 name = "GPT-4o (2024-11-20)" description = "GPT model for general reasoning, writing, coding, and tool-assisted tasks" family = "gpt" +open_weights = false +knowledge = "2023-09" release_date = "2024-11-20" -last_updated = "2024-11-20" -attachment = true -reasoning = false + +[modalities] +input = ["text", "image/jpeg", "image/png", "image/gif", "image/webp"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = false } temperature = true -tool_call = true -structured_output = true -knowledge = "2023-09" -open_weights = false +top_p = true +top_k = false [limit] context = 128_000 output = 16_384 -[modalities] -input = ["text", "image"] -output = ["text"] - [[benchmarks]] name = "Aider Polyglot" score = 18.2 diff --git a/models/openai/gpt-4o-mini-transcribe.toml b/models/openai/gpt-4o-mini-transcribe.toml new file mode 100644 index 0000000000..b01b9b8edb --- /dev/null +++ b/models/openai/gpt-4o-mini-transcribe.toml @@ -0,0 +1,29 @@ +# Sources: +# https://developers.openai.com/api/docs/models/gpt-4o-mini-transcribe +# https://developers.openai.com/api/docs/changelog +# Audio MIME types: https://developers.openai.com/api/reference/resources/audio/subresources/transcriptions/methods/create (file: flac, mp3, mp4, mpeg, mpga, m4a, ogg, wav, webm) +# Realtime audio MIME types: https://developers.openai.com/api/reference/resources/realtime (audio/pcm, audio/pcmu, audio/pcma) +schema = 2 +v2_only = true +type = "transcription" +name = "GPT-4o Mini Transcribe" +description = "Speech-to-text model powered by GPT-4o Mini for fast, accurate transcription" +family = "gpt-mini" +open_weights = false +knowledge = "2024-06-01" +release_date = "2025-03-20" + +[modalities] +input = ["text", "audio/flac", "audio/mpeg", "audio/mp4", "audio/ogg", "audio/wav", "audio/webm", "audio/pcm", "audio/pcmu", "audio/pcma"] +output = ["text"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = true +top_p = false +top_k = false + +[limit] +context = 16_000 +output = 2_000 diff --git a/models/openai/gpt-4o-mini-tts.toml b/models/openai/gpt-4o-mini-tts.toml new file mode 100644 index 0000000000..d9a936aa44 --- /dev/null +++ b/models/openai/gpt-4o-mini-tts.toml @@ -0,0 +1,27 @@ +# Sources: +# https://developers.openai.com/api/docs/models/gpt-4o-mini-tts +# https://developers.openai.com/api/docs/changelog +# Audio MIME types: https://developers.openai.com/api/reference/resources/audio/subresources/speech/methods/create (response_format: mp3, opus, aac, flac, wav, pcm) +schema = 2 +v2_only = true +type = "speech" +name = "GPT-4o Mini TTS" +description = "Text-to-speech model powered by GPT-4o Mini with steerable voice delivery" +family = "gpt-mini" +open_weights = false +release_date = "2025-03-20" + +[modalities] +input = ["text"] +output = ["audio/mpeg", "audio/opus", "audio/aac", "audio/flac", "audio/wav", "audio/pcm"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 2_000 +output = 0 diff --git a/models/openai/gpt-4o-mini.toml b/models/openai/gpt-4o-mini.toml index eba67a289d..db4676eefb 100644 --- a/models/openai/gpt-4o-mini.toml +++ b/models/openai/gpt-4o-mini.toml @@ -1,24 +1,26 @@ +schema = 2 name = "GPT-4o mini" description = "Small omni GPT for cheap multimodal assistance and production-scale traffic" family = "gpt-mini" +open_weights = false +knowledge = "2023-09" release_date = "2024-07-18" -last_updated = "2024-07-18" -attachment = true -reasoning = false + +[modalities] +input = ["text", "image/jpeg", "image/png", "image/gif", "image/webp", "application/pdf"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = false } temperature = true -tool_call = true -structured_output = true -knowledge = "2023-09" -open_weights = false +top_p = true +top_k = false [limit] context = 128_000 output = 16_384 -[modalities] -input = ["text", "image", "pdf"] -output = ["text"] - [[benchmarks]] name = "Aider Polyglot" score = 3.6 diff --git a/models/openai/gpt-4o-transcribe-diarize.toml b/models/openai/gpt-4o-transcribe-diarize.toml new file mode 100644 index 0000000000..7f1a07ec78 --- /dev/null +++ b/models/openai/gpt-4o-transcribe-diarize.toml @@ -0,0 +1,28 @@ +# Sources: +# https://developers.openai.com/api/docs/models/gpt-4o-transcribe-diarize +# https://community.openai.com/t/introducing-gpt-4o-transcribe-diarize-now-available-in-the-audio-api/1362933 +# Audio MIME types: https://developers.openai.com/api/reference/resources/audio/subresources/transcriptions/methods/create (file: flac, mp3, mp4, mpeg, mpga, m4a, ogg, wav, webm) +schema = 2 +v2_only = true +type = "transcription" +name = "GPT-4o Transcribe Diarize" +description = "Speech-to-text model with built-in speaker diarization" +family = "gpt" +open_weights = false +knowledge = "2024-06-01" +release_date = "2025-10-17" + +[modalities] +input = ["text", "audio/flac", "audio/mpeg", "audio/mp4", "audio/ogg", "audio/wav", "audio/webm"] +output = ["text"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = true +top_p = false +top_k = false + +[limit] +context = 16_000 +output = 2_000 diff --git a/models/openai/gpt-4o-transcribe.toml b/models/openai/gpt-4o-transcribe.toml new file mode 100644 index 0000000000..86b28ed633 --- /dev/null +++ b/models/openai/gpt-4o-transcribe.toml @@ -0,0 +1,29 @@ +# Sources: +# https://developers.openai.com/api/docs/models/gpt-4o-transcribe +# https://developers.openai.com/api/docs/changelog +# Audio MIME types: https://developers.openai.com/api/reference/resources/audio/subresources/transcriptions/methods/create (file: flac, mp3, mp4, mpeg, mpga, m4a, ogg, wav, webm) +# Realtime audio MIME types: https://developers.openai.com/api/reference/resources/realtime (audio/pcm, audio/pcmu, audio/pcma) +schema = 2 +v2_only = true +type = "transcription" +name = "GPT-4o Transcribe" +description = "Speech-to-text model powered by GPT-4o for accurate transcription" +family = "gpt" +open_weights = false +knowledge = "2024-06-01" +release_date = "2025-03-20" + +[modalities] +input = ["text", "audio/flac", "audio/mpeg", "audio/mp4", "audio/ogg", "audio/wav", "audio/webm", "audio/pcm", "audio/pcmu", "audio/pcma"] +output = ["text"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = true +top_p = false +top_k = false + +[limit] +context = 16_000 +output = 2_000 diff --git a/models/openai/gpt-4o.toml b/models/openai/gpt-4o.toml index d425ffc24a..c2ee773620 100644 --- a/models/openai/gpt-4o.toml +++ b/models/openai/gpt-4o.toml @@ -1,24 +1,27 @@ +schema = 2 name = "GPT-4o" description = "Omni-era GPT for multimodal chat, practical coding, and general assistants" family = "gpt" +open_weights = false +knowledge = "2023-09" release_date = "2024-05-13" last_updated = "2024-08-06" -attachment = true -reasoning = false + +[modalities] +input = ["text", "image/jpeg", "image/png", "image/gif", "image/webp", "application/pdf"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = false } temperature = true -tool_call = true -structured_output = true -knowledge = "2023-09" -open_weights = false +top_p = true +top_k = false [limit] context = 128_000 output = 16_384 -[modalities] -input = ["text", "image", "pdf"] -output = ["text"] - [[benchmarks]] name = "Aider Polyglot" score = 23.1 diff --git a/models/openai/gpt-5-chat-latest.toml b/models/openai/gpt-5-chat-latest.toml index d10d11142e..5429ea9c0c 100644 --- a/models/openai/gpt-5-chat-latest.toml +++ b/models/openai/gpt-5-chat-latest.toml @@ -1,21 +1,23 @@ +schema = 2 name = "GPT-5 Chat (latest)" description = "Chat-tuned GPT model for conversational assistance, writing, and tool workflows" -family = "gpt-codex" +family = "gpt" +open_weights = false +knowledge = "2024-09-30" release_date = "2025-08-07" -last_updated = "2025-08-07" -attachment = true -reasoning = true + +[modalities] +input = ["text", "image/jpeg", "image/png", "image/gif", "image/webp"] +output = ["text"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = true } temperature = false -tool_call = false -structured_output = true -knowledge = "2024-09-30" -open_weights = false +top_p = false +top_k = false [limit] context = 400_000 input = 272_000 output = 128_000 - -[modalities] -input = ["text", "image"] -output = ["text"] diff --git a/models/openai/gpt-5-codex.toml b/models/openai/gpt-5-codex.toml index 95ca4fd2c2..03b4b0e1f6 100644 --- a/models/openai/gpt-5-codex.toml +++ b/models/openai/gpt-5-codex.toml @@ -1,25 +1,27 @@ +schema = 2 name = "GPT-5-Codex" description = "Coding-optimized GPT model for repository edits, reviews, and agentic software work" family = "gpt-codex" +open_weights = false +knowledge = "2024-09-30" release_date = "2025-09-15" -last_updated = "2025-09-15" -attachment = false -reasoning = true + +[modalities] +input = ["text", "image/jpeg", "image/png", "image/gif", "image/webp"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } temperature = false -tool_call = true -structured_output = true -knowledge = "2024-09-30" -open_weights = false +top_p = false +top_k = false [limit] context = 400_000 input = 272_000 output = 128_000 -[modalities] -input = ["text", "image"] -output = ["text"] - [[benchmarks]] name = "Artificial Analysis Coding Index" score = 38.9 diff --git a/models/openai/gpt-5-image-mini.toml b/models/openai/gpt-5-image-mini.toml new file mode 100644 index 0000000000..74ada2f5f3 --- /dev/null +++ b/models/openai/gpt-5-image-mini.toml @@ -0,0 +1,25 @@ +# Lab metadata carried over from providers/openrouter/models/openai/gpt-5-image-mini.toml (curated catalogue data already in this repo), +# with provider-specific fields (cost, reasoning_options, status) stripped. +# Image output MIME types: https://developers.openai.com/api/docs/guides/tools-image-generation (GPT Image tool output_format: png, jpeg, webp) +schema = 2 +type = "image" +name = "GPT-5 Image Mini" +description = "Image model for prompt-driven generation, editing, and visual design workflows" +family = "gpt" +open_weights = false +release_date = "2025-10-16" + +[modalities] +input = ["application/pdf", "image/jpeg", "image/png", "image/gif", "image/webp", "text"] +output = ["image/png", "image/jpeg", "image/webp", "text"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = true } +temperature = true +top_p = true +top_k = false + +[limit] +context = 400_000 +output = 128_000 diff --git a/models/openai/gpt-5-image.toml b/models/openai/gpt-5-image.toml new file mode 100644 index 0000000000..8bac720447 --- /dev/null +++ b/models/openai/gpt-5-image.toml @@ -0,0 +1,26 @@ +# Lab metadata carried over from providers/openrouter/models/openai/gpt-5-image.toml (curated catalogue data already in this repo), +# with provider-specific fields (cost, reasoning_options, status) stripped. +# Image output MIME types: https://developers.openai.com/api/docs/guides/tools-image-generation (GPT Image tool output_format: png, jpeg, webp) +schema = 2 +type = "image" +name = "GPT-5 Image" +description = "Image model for prompt-driven generation, editing, and visual design workflows" +family = "gpt" +open_weights = false +knowledge = "2024-10-01" +release_date = "2025-10-14" + +[modalities] +input = ["image/jpeg", "image/png", "image/gif", "image/webp", "text", "application/pdf"] +output = ["image/png", "image/jpeg", "image/webp", "text"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = true } +temperature = true +top_p = true +top_k = false + +[limit] +context = 400_000 +output = 128_000 diff --git a/models/openai/gpt-5-mini.toml b/models/openai/gpt-5-mini.toml index 98c1e46fc6..eb3f60d382 100644 --- a/models/openai/gpt-5-mini.toml +++ b/models/openai/gpt-5-mini.toml @@ -1,21 +1,23 @@ +schema = 2 name = "GPT-5 Mini" description = "Small GPT-5 for responsive agents, coding help, and everyday automation" family = "gpt-mini" +open_weights = false +knowledge = "2024-05-30" release_date = "2025-08-07" -last_updated = "2025-08-07" -attachment = true -reasoning = true + +[modalities] +input = ["text", "image/jpeg", "image/png", "image/gif", "image/webp"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } temperature = false -tool_call = true -structured_output = true -knowledge = "2024-05-30" -open_weights = false +top_p = false +top_k = false [limit] context = 400_000 input = 272_000 output = 128_000 - -[modalities] -input = ["text", "image"] -output = ["text"] diff --git a/models/openai/gpt-5-nano.toml b/models/openai/gpt-5-nano.toml index bc196d916a..ce851eb950 100644 --- a/models/openai/gpt-5-nano.toml +++ b/models/openai/gpt-5-nano.toml @@ -1,21 +1,23 @@ +schema = 2 name = "GPT-5 Nano" description = "Tiny GPT-5 lane for routing, extraction, classification, and bulk jobs" family = "gpt-nano" +open_weights = false +knowledge = "2024-05-30" release_date = "2025-08-07" -last_updated = "2025-08-07" -attachment = true -reasoning = true + +[modalities] +input = ["text", "image/jpeg", "image/png", "image/gif", "image/webp"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } temperature = false -tool_call = true -structured_output = true -knowledge = "2024-05-30" -open_weights = false +top_p = false +top_k = false [limit] context = 400_000 input = 272_000 output = 128_000 - -[modalities] -input = ["text", "image"] -output = ["text"] diff --git a/models/openai/gpt-5-pro.toml b/models/openai/gpt-5-pro.toml index 65fda4e8b7..35a143c855 100644 --- a/models/openai/gpt-5-pro.toml +++ b/models/openai/gpt-5-pro.toml @@ -1,21 +1,23 @@ +schema = 2 name = "GPT-5 Pro" description = "Higher-accuracy GPT-5 tier for tough analysis, coding reviews, and planning" family = "gpt-pro" +open_weights = false +knowledge = "2024-09-30" release_date = "2025-10-06" -last_updated = "2025-10-06" -attachment = true -reasoning = true + +[modalities] +input = ["text", "image/jpeg", "image/png", "image/gif", "image/webp"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } temperature = false -tool_call = true -structured_output = true -knowledge = "2024-09-30" -open_weights = false +top_p = false +top_k = false [limit] context = 400_000 input = 272_000 output = 272_000 - -[modalities] -input = ["text", "image"] -output = ["text"] diff --git a/models/openai/gpt-5-search-api.toml b/models/openai/gpt-5-search-api.toml new file mode 100644 index 0000000000..476e80425c --- /dev/null +++ b/models/openai/gpt-5-search-api.toml @@ -0,0 +1,28 @@ +# Sources: +# https://developers.openai.com/api/docs/pricing (Search: gpt-5-search-api) +# No model page; probed on /v1/chat/completions (snapshot gpt-5-search-api-2025-10-14): +# 200,000-token context and 100,000 max completion tokens from API errors; tools, +# temperature, top_p and reasoning_effort are rejected; text-only input. +schema = 2 +v2_only = true +type = "chat" +name = "GPT-5 Search API" +description = "GPT-5 model trained for web search in the Chat Completions API" +family = "gpt" +open_weights = false +release_date = "2025-10-14" + +[modalities] +input = ["text"] +output = ["text"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 200_000 +output = 100_000 diff --git a/models/openai/gpt-5.1-chat-latest.toml b/models/openai/gpt-5.1-chat-latest.toml index fe8e2c6ba7..005984b521 100644 --- a/models/openai/gpt-5.1-chat-latest.toml +++ b/models/openai/gpt-5.1-chat-latest.toml @@ -1,20 +1,22 @@ +schema = 2 name = "GPT-5.1 Chat" description = "Chat-tuned GPT-5.1 for polished assistants, writing, and product conversations" -family = "gpt-codex" +family = "gpt" +open_weights = false +knowledge = "2024-09-30" release_date = "2025-11-13" -last_updated = "2025-11-13" -attachment = true -reasoning = true + +[modalities] +input = ["text", "image/jpeg", "image/png", "image/gif", "image/webp"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } temperature = false -tool_call = true -structured_output = true -knowledge = "2024-09-30" -open_weights = false +top_p = false +top_k = false [limit] context = 128_000 output = 16_384 - -[modalities] -input = ["text", "image"] -output = ["text"] diff --git a/models/openai/gpt-5.1-codex-max.toml b/models/openai/gpt-5.1-codex-max.toml index 9cfa48308b..218f97efc1 100644 --- a/models/openai/gpt-5.1-codex-max.toml +++ b/models/openai/gpt-5.1-codex-max.toml @@ -1,21 +1,23 @@ +schema = 2 name = "GPT-5.1 Codex Max" description = "Coding-optimized GPT model for repository edits, reviews, and agentic software work" family = "gpt-codex" +open_weights = false +knowledge = "2024-09-30" release_date = "2025-11-13" -last_updated = "2025-11-13" -attachment = true -reasoning = true + +[modalities] +input = ["text", "image/jpeg", "image/png", "image/gif", "image/webp"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } temperature = false -tool_call = true -structured_output = true -knowledge = "2024-09-30" -open_weights = false +top_p = false +top_k = false [limit] context = 400_000 input = 272_000 output = 128_000 - -[modalities] -input = ["text", "image"] -output = ["text"] diff --git a/models/openai/gpt-5.1-codex-mini.toml b/models/openai/gpt-5.1-codex-mini.toml index 8ee441678f..c3147effeb 100644 --- a/models/openai/gpt-5.1-codex-mini.toml +++ b/models/openai/gpt-5.1-codex-mini.toml @@ -1,21 +1,23 @@ +schema = 2 name = "GPT-5.1 Codex mini" description = "Coding-optimized GPT model for repository edits, reviews, and agentic software work" family = "gpt-codex" +open_weights = false +knowledge = "2024-09-30" release_date = "2025-11-13" -last_updated = "2025-11-13" -attachment = true -reasoning = true + +[modalities] +input = ["text", "image/jpeg", "image/png", "image/gif", "image/webp"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } temperature = false -tool_call = true -structured_output = true -knowledge = "2024-09-30" -open_weights = false +top_p = false +top_k = false [limit] context = 400_000 input = 272_000 output = 128_000 - -[modalities] -input = ["text", "image"] -output = ["text"] diff --git a/models/openai/gpt-5.1-codex.toml b/models/openai/gpt-5.1-codex.toml index abac0b3c65..39a0506eb2 100644 --- a/models/openai/gpt-5.1-codex.toml +++ b/models/openai/gpt-5.1-codex.toml @@ -1,21 +1,23 @@ +schema = 2 name = "GPT-5.1 Codex" description = "Codex GPT for repository edits, code review, and practical software agents" family = "gpt-codex" +open_weights = false +knowledge = "2024-09-30" release_date = "2025-11-13" -last_updated = "2025-11-13" -attachment = true -reasoning = true + +[modalities] +input = ["text", "image/jpeg", "image/png", "image/gif", "image/webp"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } temperature = false -tool_call = true -structured_output = true -knowledge = "2024-09-30" -open_weights = false +top_p = false +top_k = false [limit] context = 400_000 input = 272_000 output = 128_000 - -[modalities] -input = ["text", "image"] -output = ["text"] diff --git a/models/openai/gpt-5.1.toml b/models/openai/gpt-5.1.toml index 6e2be195b0..2844a8adbd 100644 --- a/models/openai/gpt-5.1.toml +++ b/models/openai/gpt-5.1.toml @@ -1,21 +1,23 @@ +schema = 2 name = "GPT-5.1" description = "Sharper GPT-5 generation for coding, product work, and tool-assisted tasks" family = "gpt" +open_weights = false +knowledge = "2024-09-30" release_date = "2025-11-13" -last_updated = "2025-11-13" -attachment = true -reasoning = true + +[modalities] +input = ["text", "image/jpeg", "image/png", "image/gif", "image/webp"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } temperature = true -tool_call = true -structured_output = true -knowledge = "2024-09-30" -open_weights = false +top_p = true +top_k = false [limit] context = 400_000 input = 272_000 output = 128_000 - -[modalities] -input = ["text", "image"] -output = ["text"] diff --git a/models/openai/gpt-5.2-chat-latest.toml b/models/openai/gpt-5.2-chat-latest.toml index af09354b93..71be3fbb65 100644 --- a/models/openai/gpt-5.2-chat-latest.toml +++ b/models/openai/gpt-5.2-chat-latest.toml @@ -1,20 +1,22 @@ +schema = 2 name = "GPT-5.2 Chat" description = "Chat-tuned GPT model for conversational assistance, writing, and tool workflows" -family = "gpt-codex" +family = "gpt" +open_weights = false +knowledge = "2025-08-31" release_date = "2025-12-11" -last_updated = "2025-12-11" -attachment = true -reasoning = true + +[modalities] +input = ["text", "image/jpeg", "image/png", "image/gif", "image/webp"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } temperature = false -tool_call = true -structured_output = true -knowledge = "2025-08-31" -open_weights = false +top_p = false +top_k = false [limit] context = 128_000 output = 16_384 - -[modalities] -input = ["text", "image"] -output = ["text"] diff --git a/models/openai/gpt-5.2-codex.toml b/models/openai/gpt-5.2-codex.toml index 4e0898a6f5..1f2e725cde 100644 --- a/models/openai/gpt-5.2-codex.toml +++ b/models/openai/gpt-5.2-codex.toml @@ -1,25 +1,27 @@ +schema = 2 name = "GPT-5.2 Codex" description = "Code-specialist GPT for repository edits, reviews, and long-running software agents" family = "gpt-codex" +open_weights = false +knowledge = "2025-08-31" release_date = "2025-12-11" -last_updated = "2025-12-11" -attachment = true -reasoning = true + +[modalities] +input = ["text", "image/jpeg", "image/png", "image/gif", "image/webp", "application/pdf"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } temperature = false -tool_call = true -structured_output = true -knowledge = "2025-08-31" -open_weights = false +top_p = false +top_k = false [limit] context = 400_000 input = 272_000 output = 128_000 -[modalities] -input = ["text", "image", "pdf"] -output = ["text"] - [[benchmarks]] name = "SWE-Bench Pro" score = 41.04 diff --git a/models/openai/gpt-5.2-pro.toml b/models/openai/gpt-5.2-pro.toml index 2fdca10360..e4cd895539 100644 --- a/models/openai/gpt-5.2-pro.toml +++ b/models/openai/gpt-5.2-pro.toml @@ -1,21 +1,23 @@ +schema = 2 name = "GPT-5.2 Pro" description = "Higher-accuracy GPT-5.2 variant for tougher reasoning and review workflows" family = "gpt-pro" +open_weights = false +knowledge = "2025-08-31" release_date = "2025-12-11" -last_updated = "2025-12-11" -attachment = true -reasoning = true + +[modalities] +input = ["text", "image/jpeg", "image/png", "image/gif", "image/webp"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } temperature = false -tool_call = true -structured_output = false -knowledge = "2025-08-31" -open_weights = false +top_p = false +top_k = false [limit] context = 400_000 input = 272_000 output = 128_000 - -[modalities] -input = ["text", "image"] -output = ["text"] diff --git a/models/openai/gpt-5.2.toml b/models/openai/gpt-5.2.toml index 500d9b6e1b..5338979808 100644 --- a/models/openai/gpt-5.2.toml +++ b/models/openai/gpt-5.2.toml @@ -1,25 +1,27 @@ +schema = 2 name = "GPT-5.2" description = "Reliable GPT generation for broad coding, writing, and tool-assisted product work" family = "gpt" +open_weights = false +knowledge = "2025-08-31" release_date = "2025-12-11" -last_updated = "2025-12-11" -attachment = true -reasoning = true + +[modalities] +input = ["text", "image/jpeg", "image/png", "image/gif", "image/webp"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } temperature = true -tool_call = true -structured_output = true -knowledge = "2025-08-31" -open_weights = false +top_p = true +top_k = false [limit] context = 400_000 input = 272_000 output = 128_000 -[modalities] -input = ["text", "image"] -output = ["text"] - [[benchmarks]] name = "SWE-Bench Pro" score = 29.94 diff --git a/models/openai/gpt-5.3-chat-latest.toml b/models/openai/gpt-5.3-chat-latest.toml index c1f389d92d..306f1bd976 100644 --- a/models/openai/gpt-5.3-chat-latest.toml +++ b/models/openai/gpt-5.3-chat-latest.toml @@ -1,20 +1,22 @@ +schema = 2 name = "GPT-5.3 Chat (latest)" description = "Chat-tuned GPT model for conversational assistance, writing, and tool workflows" family = "gpt" +open_weights = false +knowledge = "2025-08-31" release_date = "2026-03-03" -last_updated = "2026-03-03" -attachment = true -reasoning = false + +[modalities] +input = ["text", "image/jpeg", "image/png", "image/gif", "image/webp"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = false } temperature = true -tool_call = true -structured_output = true -knowledge = "2025-08-31" -open_weights = false +top_p = true +top_k = false [limit] context = 128_000 output = 16_384 - -[modalities] -input = ["text", "image"] -output = ["text"] diff --git a/models/openai/gpt-5.3-codex-spark.toml b/models/openai/gpt-5.3-codex-spark.toml index f9a168d33a..cd2ea492c7 100644 --- a/models/openai/gpt-5.3-codex-spark.toml +++ b/models/openai/gpt-5.3-codex-spark.toml @@ -1,21 +1,23 @@ +schema = 2 name = "GPT-5.3 Codex Spark" description = "Coding-optimized GPT model for repository edits, reviews, and agentic software work" family = "gpt-codex-spark" +open_weights = false +knowledge = "2025-08-31" release_date = "2026-02-05" -last_updated = "2026-02-05" -attachment = true -reasoning = true + +[modalities] +input = ["text", "image/jpeg", "image/png", "image/gif", "image/webp", "application/pdf"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } temperature = false -knowledge = "2025-08-31" -tool_call = true -structured_output = true -open_weights = false +top_p = false +top_k = false [limit] context = 128_000 input = 100_000 output = 32_000 - -[modalities] -input = ["text", "image", "pdf"] -output = ["text"] diff --git a/models/openai/gpt-5.3-codex.toml b/models/openai/gpt-5.3-codex.toml index 0df3721c58..cffd540469 100644 --- a/models/openai/gpt-5.3-codex.toml +++ b/models/openai/gpt-5.3-codex.toml @@ -1,25 +1,27 @@ +schema = 2 name = "GPT-5.3 Codex" description = "Coding-optimized GPT model for repository edits, reviews, and agentic software work" family = "gpt-codex" +open_weights = false +knowledge = "2025-08-31" release_date = "2026-02-05" -last_updated = "2026-02-05" -attachment = true -reasoning = true + +[modalities] +input = ["text", "image/jpeg", "image/png", "image/gif", "image/webp", "application/pdf"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } temperature = true -tool_call = true -structured_output = true -knowledge = "2025-08-31" -open_weights = false +top_p = true +top_k = false [limit] context = 400_000 input = 272_000 output = 128_000 -[modalities] -input = ["text", "image", "pdf"] -output = ["text"] - [[benchmarks]] name = "SWE-Atlas Codebase QnA" score = 32.6 diff --git a/models/openai/gpt-5.4-image-2.toml b/models/openai/gpt-5.4-image-2.toml new file mode 100644 index 0000000000..3ad1d3ebcb --- /dev/null +++ b/models/openai/gpt-5.4-image-2.toml @@ -0,0 +1,25 @@ +# Lab metadata carried over from providers/openrouter/models/openai/gpt-5.4-image-2.toml (curated catalogue data already in this repo), +# with provider-specific fields (cost, reasoning_options, status) stripped. +# Image output MIME types: https://developers.openai.com/api/docs/guides/tools-image-generation (GPT Image tool output_format: png, jpeg, webp) +schema = 2 +type = "image" +name = "GPT-5.4 Image 2" +description = "Image model for prompt-driven generation, editing, and visual design workflows" +family = "gpt" +open_weights = false +release_date = "2026-04-21" + +[modalities] +input = ["image/jpeg", "image/png", "image/gif", "image/webp", "text", "application/pdf"] +output = ["image/png", "image/jpeg", "image/webp", "text"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = true } +temperature = false +top_p = false +top_k = false + +[limit] +context = 272_000 +output = 128_000 diff --git a/models/openai/gpt-5.4-mini.toml b/models/openai/gpt-5.4-mini.toml index 9864e35976..094c9b305e 100644 --- a/models/openai/gpt-5.4-mini.toml +++ b/models/openai/gpt-5.4-mini.toml @@ -1,25 +1,27 @@ +schema = 2 name = "GPT-5.4 mini" description = "Strong small GPT for coding subagents, quick tool use, and high-volume work" family = "gpt-mini" +open_weights = false +knowledge = "2025-08-31" release_date = "2026-03-17" -last_updated = "2026-03-17" -attachment = true -reasoning = true + +[modalities] +input = ["text", "image/jpeg", "image/png", "image/gif", "image/webp"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } temperature = true -tool_call = true -structured_output = true -knowledge = "2025-08-31" -open_weights = false +top_p = true +top_k = false [limit] context = 400_000 input = 272_000 output = 128_000 -[modalities] -input = ["text", "image"] -output = ["text"] - [[benchmarks]] name = "SWE-Bench Pro" score = 54.4 diff --git a/models/openai/gpt-5.4-nano.toml b/models/openai/gpt-5.4-nano.toml index 6a75353803..1d5d6cad8f 100644 --- a/models/openai/gpt-5.4-nano.toml +++ b/models/openai/gpt-5.4-nano.toml @@ -1,25 +1,27 @@ +schema = 2 name = "GPT-5.4 nano" description = "Cheapest GPT-5.4 lane for simple routing, extraction, and bulk automation" family = "gpt-nano" +open_weights = false +knowledge = "2025-08-31" release_date = "2026-03-17" -last_updated = "2026-03-17" -attachment = true -reasoning = true + +[modalities] +input = ["text", "image/jpeg", "image/png", "image/gif", "image/webp"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } temperature = true -tool_call = true -structured_output = true -knowledge = "2025-08-31" -open_weights = false +top_p = true +top_k = false [limit] context = 400_000 input = 272_000 output = 128_000 -[modalities] -input = ["text", "image"] -output = ["text"] - [[benchmarks]] name = "SWE-Bench Pro" score = 52.4 diff --git a/models/openai/gpt-5.4-pro.toml b/models/openai/gpt-5.4-pro.toml index e7378a9a75..f87d740ff9 100644 --- a/models/openai/gpt-5.4-pro.toml +++ b/models/openai/gpt-5.4-pro.toml @@ -1,25 +1,27 @@ +schema = 2 name = "GPT-5.4 Pro" description = "More exact GPT-5.4 tier for demanding professional reasoning and agent tasks" family = "gpt-pro" +open_weights = false +knowledge = "2025-08-31" release_date = "2026-03-05" -last_updated = "2026-03-05" -attachment = true -reasoning = true + +[modalities] +input = ["text", "image/jpeg", "image/png", "image/gif", "image/webp"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } temperature = false -tool_call = true -structured_output = false -knowledge = "2025-08-31" -open_weights = false +top_p = false +top_k = false [limit] context = 1_050_000 input = 922_000 output = 128_000 -[modalities] -input = ["text", "image"] -output = ["text"] - [[benchmarks]] name = "GPQA Diamond" score = 94.4 diff --git a/models/openai/gpt-5.4.toml b/models/openai/gpt-5.4.toml index 96995e11a3..f55342dc32 100644 --- a/models/openai/gpt-5.4.toml +++ b/models/openai/gpt-5.4.toml @@ -1,25 +1,27 @@ +schema = 2 name = "GPT-5.4" description = "Agent-ready GPT for coding and computer-use workflows at a lower cost" family = "gpt" +open_weights = false +knowledge = "2025-08-31" release_date = "2026-03-05" -last_updated = "2026-03-05" -attachment = true -reasoning = true + +[modalities] +input = ["text", "image/jpeg", "image/png", "image/gif", "image/webp", "application/pdf"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } temperature = true -tool_call = true -structured_output = true -knowledge = "2025-08-31" -open_weights = false +top_p = true +top_k = false [limit] context = 1_050_000 input = 922_000 output = 128_000 -[modalities] -input = ["text", "image", "pdf"] -output = ["text"] - [[benchmarks]] name = "SWE-Bench Pro" score = 59.1 diff --git a/models/openai/gpt-5.5-instant.toml b/models/openai/gpt-5.5-instant.toml index 691afb2bb4..8f624527f6 100644 --- a/models/openai/gpt-5.5-instant.toml +++ b/models/openai/gpt-5.5-instant.toml @@ -1,20 +1,26 @@ +# OpenAI's chat-latest alias currently serves the Instant model with a 272K +# maximum input inside the 400K total context window. +# https://developers.openai.com/api/docs/models/chat-latest +schema = 2 name = "GPT-5.5 Instant" description = "Compact GPT model for low-latency assistance and high-volume workloads" +open_weights = false +knowledge = "2025-12-01" release_date = "2026-05-05" last_updated = "2026-05-28" -attachment = true -reasoning = true + +[modalities] +input = ["text", "image/jpeg", "image/png", "image/gif", "image/webp", "application/pdf"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } temperature = true -tool_call = true -structured_output = true -knowledge = "2025-12-01" -open_weights = false +top_p = true +top_k = false [limit] context = 400_000 -input = 400_000 +input = 272_000 output = 128_000 - -[modalities] -input = ["text", "image", "pdf"] -output = ["text"] diff --git a/models/openai/gpt-5.5-pro.toml b/models/openai/gpt-5.5-pro.toml index bfddb283e7..2da1f473e0 100644 --- a/models/openai/gpt-5.5-pro.toml +++ b/models/openai/gpt-5.5-pro.toml @@ -1,25 +1,27 @@ +schema = 2 name = "GPT-5.5 Pro" description = "Highest-accuracy GPT-5.5 tier for slower, precision-heavy reasoning and coding" family = "gpt-pro" +open_weights = false +knowledge = "2025-12-01" release_date = "2026-04-23" -last_updated = "2026-04-23" -attachment = true -reasoning = true + +[modalities] +input = ["text", "image/jpeg", "image/png", "image/gif", "image/webp", "application/pdf"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } temperature = false -tool_call = true -structured_output = true -knowledge = "2025-12-01" -open_weights = false +top_p = false +top_k = false [limit] context = 1_050_000 input = 922_000 output = 128_000 -[modalities] -input = ["text", "image", "pdf"] -output = ["text"] - [[benchmarks]] name = "BrowseComp" score = 90.1 diff --git a/models/openai/gpt-5.5.toml b/models/openai/gpt-5.5.toml index 17750916af..e6a903abf9 100644 --- a/models/openai/gpt-5.5.toml +++ b/models/openai/gpt-5.5.toml @@ -1,25 +1,27 @@ +schema = 2 name = "GPT-5.5" description = "Default frontier GPT for coding, computer use, research, and knowledge work" family = "gpt" +open_weights = false +knowledge = "2025-12-01" release_date = "2026-04-23" -last_updated = "2026-04-23" -attachment = true -reasoning = true + +[modalities] +input = ["text", "image/jpeg", "image/png", "image/gif", "image/webp", "application/pdf"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } temperature = false -tool_call = true -structured_output = true -knowledge = "2025-12-01" -open_weights = false +top_p = false +top_k = false [limit] context = 1_050_000 input = 922_000 output = 128_000 -[modalities] -input = ["text", "image", "pdf"] -output = ["text"] - [[benchmarks]] name = "SWE-Bench Pro" score = 58.6 diff --git a/models/openai/gpt-5.6-cyber.toml b/models/openai/gpt-5.6-cyber.toml new file mode 100644 index 0000000000..60c59c453a --- /dev/null +++ b/models/openai/gpt-5.6-cyber.toml @@ -0,0 +1,23 @@ +schema = 2 +name = "GPT-5.6 Cyber" +description = "Cybersecurity model for authorized vulnerability research and security testing" +family = "gpt" +open_weights = false +knowledge = "2026-02-16" +release_date = "2026-08-07" + +[modalities] +input = ["text", "image/jpeg", "image/png", "image/gif", "image/webp"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } +temperature = false +top_p = false +top_k = false + +[limit] +context = 400_000 +input = 272_000 +output = 128_000 diff --git a/models/openai/gpt-5.6-luna.toml b/models/openai/gpt-5.6-luna.toml index 67420e843b..8924995a37 100644 --- a/models/openai/gpt-5.6-luna.toml +++ b/models/openai/gpt-5.6-luna.toml @@ -1,25 +1,27 @@ +schema = 2 name = "GPT-5.6 Luna" description = "Cost-efficient GPT-5.6 model for fast, high-volume workloads" family = "gpt-luna" +open_weights = false +knowledge = "2026-02-16" release_date = "2026-07-09" -last_updated = "2026-07-09" -attachment = true -reasoning = true + +[modalities] +input = ["text", "image/jpeg", "image/png", "image/gif", "image/webp", "application/pdf"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } temperature = false -tool_call = true -structured_output = true -knowledge = "2026-02-16" -open_weights = false +top_p = false +top_k = false [limit] context = 1_050_000 input = 922_000 output = 128_000 -[modalities] -input = ["text", "image", "pdf"] -output = ["text"] - [[benchmarks]] name = "SWE-Bench Pro" score = 62.7 diff --git a/models/openai/gpt-5.6-sol.toml b/models/openai/gpt-5.6-sol.toml index aacca7597f..02f023721f 100644 --- a/models/openai/gpt-5.6-sol.toml +++ b/models/openai/gpt-5.6-sol.toml @@ -1,25 +1,27 @@ +schema = 2 name = "GPT-5.6 Sol" description = "Frontier GPT-5.6 model for complex professional work, coding, and agentic workflows" family = "gpt-sol" +open_weights = false +knowledge = "2026-02-16" release_date = "2026-07-09" -last_updated = "2026-07-09" -attachment = true -reasoning = true + +[modalities] +input = ["text", "image/jpeg", "image/png", "image/gif", "image/webp", "application/pdf"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } temperature = false -tool_call = true -structured_output = true -knowledge = "2026-02-16" -open_weights = false +top_p = false +top_k = false [limit] context = 1_050_000 input = 922_000 output = 128_000 -[modalities] -input = ["text", "image", "pdf"] -output = ["text"] - [[benchmarks]] name = "SWE-Bench Pro" score = 64.6 diff --git a/models/openai/gpt-5.6-terra.toml b/models/openai/gpt-5.6-terra.toml index cb0df8d3f5..11a34af68c 100644 --- a/models/openai/gpt-5.6-terra.toml +++ b/models/openai/gpt-5.6-terra.toml @@ -1,25 +1,27 @@ +schema = 2 name = "GPT-5.6 Terra" description = "Balanced GPT-5.6 model for capable, cost-efficient everyday work" family = "gpt-terra" +open_weights = false +knowledge = "2026-02-16" release_date = "2026-07-09" -last_updated = "2026-07-09" -attachment = true -reasoning = true + +[modalities] +input = ["text", "image/jpeg", "image/png", "image/gif", "image/webp", "application/pdf"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } temperature = false -tool_call = true -structured_output = true -knowledge = "2026-02-16" -open_weights = false +top_p = false +top_k = false [limit] context = 1_050_000 input = 922_000 output = 128_000 -[modalities] -input = ["text", "image", "pdf"] -output = ["text"] - [[benchmarks]] name = "SWE-Bench Pro" score = 63.4 diff --git a/models/openai/gpt-5.toml b/models/openai/gpt-5.toml index dd80d2091f..0db65cf0e1 100644 --- a/models/openai/gpt-5.toml +++ b/models/openai/gpt-5.toml @@ -1,25 +1,27 @@ +schema = 2 name = "GPT-5" description = "Original GPT-5 workhorse for reasoning, coding, writing, and tool workflows" family = "gpt" +open_weights = false +knowledge = "2024-09-30" release_date = "2025-08-07" -last_updated = "2025-08-07" -attachment = true -reasoning = true + +[modalities] +input = ["text", "image/jpeg", "image/png", "image/gif", "image/webp"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } temperature = false -knowledge = "2024-09-30" -tool_call = true -structured_output = true -open_weights = false +top_p = false +top_k = false [limit] context = 400_000 input = 272_000 output = 128_000 -[modalities] -input = ["text", "image"] -output = ["text"] - [[benchmarks]] name = "Aider Polyglot" score = 88.0 diff --git a/models/openai/gpt-6-astra-fast.toml b/models/openai/gpt-6-astra-fast.toml index 01b748aaf2..d270d8b907 100644 --- a/models/openai/gpt-6-astra-fast.toml +++ b/models/openai/gpt-6-astra-fast.toml @@ -1,20 +1,22 @@ +schema = 2 name = "GPT-6 Astra (Fast)" description = "Fast variant of GPT-6 Astra for low-latency assistance and high-volume workloads." family = "gpt-astra" +open_weights = false release_date = "2026-09-04" -last_updated = "2026-09-04" -attachment = true -reasoning = true + +[modalities] +input = ["text", "image/jpeg", "image/png", "image/gif", "image/webp", "application/pdf"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } temperature = false -tool_call = true -structured_output = true -open_weights = false +top_p = false +top_k = false [limit] context = 1_050_000 input = 922_000 output = 128_000 - -[modalities] -input = ["text", "image", "pdf"] -output = ["text"] diff --git a/models/openai/gpt-6-astra.toml b/models/openai/gpt-6-astra.toml index ea7015c41e..19e3fc59ba 100644 --- a/models/openai/gpt-6-astra.toml +++ b/models/openai/gpt-6-astra.toml @@ -1,25 +1,27 @@ +schema = 2 name = "GPT-6 Astra" description = "GPT-6 Astra is OpenAI's most capable model for complex reasoning, coding, computer use, research, and document creation." family = "gpt-astra" +open_weights = false +knowledge = "2026-04-30" release_date = "2026-09-04" -last_updated = "2026-09-04" -attachment = true -reasoning = true + +[modalities] +input = ["text", "image/jpeg", "image/png", "image/gif", "image/webp", "application/pdf"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } temperature = false -tool_call = true -structured_output = true -knowledge = "2026-04-30" -open_weights = false +top_p = false +top_k = false [limit] context = 1_050_000 input = 922_000 output = 128_000 -[modalities] -input = ["text", "image", "pdf"] -output = ["text"] - [[benchmarks]] name = "Agents' Last Exam" score = 59.3 diff --git a/models/openai/gpt-6-luna.toml b/models/openai/gpt-6-luna.toml new file mode 100644 index 0000000000..a5e37fd04c --- /dev/null +++ b/models/openai/gpt-6-luna.toml @@ -0,0 +1,32 @@ +schema = 2 +name = "GPT-6 Luna" +description = "OpenAI's most efficient model for focused, high-volume tasks" +family = "gpt-luna" +open_weights = false +knowledge = "2026-05-18" +release_date = "2026-09-22" + +[modalities] +input = ["text", "image/jpeg", "image/png", "image/gif", "image/webp", "application/pdf"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } +temperature = false +top_p = false +top_k = false + +[limit] +context = 1_050_000 +input = 922_000 +output = 128_000 + +[[benchmarks]] +name = "DeepSWE" +score = 66.6 +metric = "score" +version = "1.1" +variant = "max effort" +source = "https://openai.com/index/introducing-gpt-6-sol-and-luna/" +date = "2026-09-22" diff --git a/models/openai/gpt-6-sol.toml b/models/openai/gpt-6-sol.toml new file mode 100644 index 0000000000..dd9578b17b --- /dev/null +++ b/models/openai/gpt-6-sol.toml @@ -0,0 +1,60 @@ +schema = 2 +name = "GPT-6 Sol" +description = "OpenAI model for complex coding and agentic workflows" +family = "gpt-sol" +open_weights = false +knowledge = "2026-04-20" +release_date = "2026-09-22" + +[modalities] +input = ["text", "image/jpeg", "image/png", "image/gif", "image/webp", "application/pdf"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } +temperature = false +top_p = false +top_k = false + +[limit] +context = 1_050_000 +input = 922_000 +output = 128_000 + +[[benchmarks]] +name = "DeepSWE" +score = 68.8 +metric = "score" +version = "1.1" +variant = "max effort" +source = "https://openai.com/index/introducing-gpt-6-sol-and-luna/" +date = "2026-09-22" + +[[benchmarks]] +name = "AutomationBench" +score = 33.2 +metric = "score" +version = "1.0.6" +variant = "xhigh effort" +source = "https://openai.com/index/introducing-gpt-6-sol-and-luna/" +date = "2026-09-22" + +[[benchmarks]] +name = "Agents' Last Exam" +score = 56.4 +metric = "score" +version = "1" +variant = "max effort" +source = "https://openai.com/index/introducing-gpt-6-sol-and-luna/" +date = "2026-09-22" + +[[benchmarks]] +name = "OSWorld" +score = 60.5 +metric = "partial reward" +version = "2.0" +dataset = "offline v2026.08.08" +variant = "xhigh effort" +source = "https://openai.com/index/introducing-gpt-6-sol-and-luna/" +date = "2026-09-22" diff --git a/models/openai/gpt-6.1-sol.toml b/models/openai/gpt-6.1-sol.toml new file mode 100644 index 0000000000..d525b9c1f5 --- /dev/null +++ b/models/openai/gpt-6.1-sol.toml @@ -0,0 +1,23 @@ +schema = 2 +name = "GPT-6.1 Sol" +description = "Near-Astra performance for complex coding, computer use, and professional work at a lower cost." +family = "gpt-sol" +open_weights = false +knowledge = "2026-04-30" +release_date = "2026-09-29" + +[modalities] +input = ["text", "image/jpeg", "image/png", "image/gif", "image/webp", "application/pdf"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } +temperature = false +top_p = false +top_k = false + +[limit] +context = 1_050_000 +input = 922_000 +output = 128_000 diff --git a/models/openai/gpt-audio-1.5.toml b/models/openai/gpt-audio-1.5.toml new file mode 100644 index 0000000000..a6e886b577 --- /dev/null +++ b/models/openai/gpt-audio-1.5.toml @@ -0,0 +1,28 @@ +# Sources: +# https://developers.openai.com/api/docs/models/gpt-audio-1.5 +# https://developers.openai.com/api/docs/changelog +# Audio MIME types: https://developers.openai.com/api/reference/resources/chat/subresources/completions/methods/create (input_audio.format: wav, mp3; audio.format: wav, aac, mp3, flac, opus, pcm16) +schema = 2 +v2_only = true +type = "chat" +name = "GPT-Audio-1.5" +description = "Audio model for speech input and output with the Chat Completions API" +family = "gpt" +open_weights = false +knowledge = "2024-09-30" +release_date = "2026-02-23" + +[modalities] +input = ["text", "audio/wav", "audio/mpeg"] +output = ["text", "audio/wav", "audio/aac", "audio/mpeg", "audio/flac", "audio/opus", "audio/pcm"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = false } +temperature = true +top_p = true +top_k = false + +[limit] +context = 128_000 +output = 16_384 diff --git a/models/openai/gpt-audio-mini.toml b/models/openai/gpt-audio-mini.toml new file mode 100644 index 0000000000..52546b7ad9 --- /dev/null +++ b/models/openai/gpt-audio-mini.toml @@ -0,0 +1,28 @@ +# Sources: +# https://developers.openai.com/api/docs/models/gpt-audio-mini +# https://developers.openai.com/api/docs/changelog +# Audio MIME types: https://developers.openai.com/api/reference/resources/chat/subresources/completions/methods/create (input_audio.format: wav, mp3; audio.format: wav, aac, mp3, flac, opus, pcm16) +schema = 2 +v2_only = true +type = "chat" +name = "GPT-Audio Mini" +description = "Cost-efficient audio model for speech input and output with the Chat Completions API" +family = "gpt-mini" +open_weights = false +knowledge = "2023-10-01" +release_date = "2025-10-06" + +[modalities] +input = ["text", "audio/wav", "audio/mpeg"] +output = ["text", "audio/wav", "audio/aac", "audio/mpeg", "audio/flac", "audio/opus", "audio/pcm"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = false } +temperature = true +top_p = true +top_k = false + +[limit] +context = 128_000 +output = 16_384 diff --git a/models/openai/gpt-audio.toml b/models/openai/gpt-audio.toml new file mode 100644 index 0000000000..80c980707b --- /dev/null +++ b/models/openai/gpt-audio.toml @@ -0,0 +1,28 @@ +# Sources: +# https://developers.openai.com/api/docs/models/gpt-audio +# https://developers.openai.com/api/docs/changelog +# Audio MIME types: https://developers.openai.com/api/reference/resources/chat/subresources/completions/methods/create (input_audio.format: wav, mp3; audio.format: wav, aac, mp3, flac, opus, pcm16) +schema = 2 +v2_only = true +type = "chat" +name = "GPT-Audio" +description = "Audio model for speech input and output with the Chat Completions API" +family = "gpt" +open_weights = false +knowledge = "2023-10-01" +release_date = "2025-08-28" + +[modalities] +input = ["text", "audio/wav", "audio/mpeg"] +output = ["text", "audio/wav", "audio/aac", "audio/mpeg", "audio/flac", "audio/opus", "audio/pcm"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = false } +temperature = true +top_p = true +top_k = false + +[limit] +context = 128_000 +output = 16_384 diff --git a/models/openai/gpt-image-1-mini.toml b/models/openai/gpt-image-1-mini.toml new file mode 100644 index 0000000000..2fcd0c0ebe --- /dev/null +++ b/models/openai/gpt-image-1-mini.toml @@ -0,0 +1,26 @@ +# Released at DevDay on 2025-10-06: https://openai.com/devday/2025/ +# Model page: https://developers.openai.com/api/docs/models/gpt-image-1-mini +# Image MIME types: https://developers.openai.com/api/docs/guides/image-generation#output-format (output_format: png, jpeg, webp) +schema = 2 +v2_only = true +type = "image" +name = "GPT-Image-1 Mini" +description = "Cost-efficient GPT Image 1 variant for image generation and editing" +family = "gpt-image" +open_weights = false +release_date = "2025-10-06" + +[modalities] +input = ["text", "image/jpeg", "image/png", "image/webp"] +output = ["image/png", "image/jpeg", "image/webp"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 0 +output = 0 diff --git a/models/openai/gpt-image-1.5.toml b/models/openai/gpt-image-1.5.toml index ac3d9ed217..8ec1af177a 100644 --- a/models/openai/gpt-image-1.5.toml +++ b/models/openai/gpt-image-1.5.toml @@ -1,18 +1,23 @@ +# Image output MIME types: https://developers.openai.com/api/docs/guides/image-generation#output-format (output_format: png, jpeg, webp) +schema = 2 +type = "image" name = "GPT-Image-1.5" description = "Image model for prompt-driven generation, editing, and visual design workflows" family = "gpt-image" +open_weights = false release_date = "2025-11-25" -last_updated = "2025-11-25" -attachment = true -reasoning = false + +[modalities] +input = ["text", "image/jpeg", "image/png", "image/webp"] +output = ["text", "image/png", "image/jpeg", "image/webp"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } temperature = false -tool_call = false -open_weights = false +top_p = false +top_k = false [limit] context = 0 output = 0 - -[modalities] -input = ["text", "image"] -output = ["text", "image"] diff --git a/models/openai/gpt-image-1.toml b/models/openai/gpt-image-1.toml index 489c2c0608..b925d0ad06 100644 --- a/models/openai/gpt-image-1.toml +++ b/models/openai/gpt-image-1.toml @@ -1,18 +1,23 @@ +# Image output MIME types: https://developers.openai.com/api/docs/guides/image-generation#output-format (output_format: png, jpeg, webp) +schema = 2 +type = "image" name = "GPT-Image-1" description = "OpenAI image model for production generation, edits, and brand-safe visual workflows" family = "gpt-image" +open_weights = false release_date = "2025-04-24" -last_updated = "2025-04-24" -attachment = true -reasoning = false + +[modalities] +input = ["text", "image/jpeg", "image/png", "image/webp"] +output = ["image/png", "image/jpeg", "image/webp"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } temperature = false -tool_call = false -open_weights = false +top_p = false +top_k = false [limit] context = 0 output = 0 - -[modalities] -input = ["text", "image"] -output = ["image"] diff --git a/models/openai/gpt-image-2.5-flare.toml b/models/openai/gpt-image-2.5-flare.toml new file mode 100644 index 0000000000..747dbe39e2 --- /dev/null +++ b/models/openai/gpt-image-2.5-flare.toml @@ -0,0 +1,23 @@ +# Image output MIME types: https://developers.openai.com/api/docs/guides/image-generation#output-format (output_format: png, jpeg, webp) +schema = 2 +type = "image" +name = "GPT Image 2.5 Flare" +description = "Image model for prompt-driven generation, editing, and visual design workflows" +family = "gpt-image" +open_weights = false +release_date = "2026-09-08" + +[modalities] +input = ["text", "image/jpeg", "image/png", "image/webp"] +output = ["image/png", "image/jpeg", "image/webp"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 0 +output = 0 diff --git a/models/openai/gpt-image-2.5-sunburst.toml b/models/openai/gpt-image-2.5-sunburst.toml new file mode 100644 index 0000000000..11b0b48b8f --- /dev/null +++ b/models/openai/gpt-image-2.5-sunburst.toml @@ -0,0 +1,23 @@ +# Image output MIME types: https://developers.openai.com/api/docs/guides/image-generation#output-format (output_format: png, jpeg, webp) +schema = 2 +type = "image" +name = "GPT Image 2.5 Sunburst" +description = "Image model for prompt-driven generation, editing, and visual design workflows" +family = "gpt-image" +open_weights = false +release_date = "2026-09-08" + +[modalities] +input = ["text", "image/jpeg", "image/png", "image/webp"] +output = ["image/png", "image/jpeg", "image/webp"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 0 +output = 0 diff --git a/models/openai/gpt-image-2.toml b/models/openai/gpt-image-2.toml index 900c7b9c17..faf18dc1c3 100644 --- a/models/openai/gpt-image-2.toml +++ b/models/openai/gpt-image-2.toml @@ -1,18 +1,23 @@ +# Image output MIME types: https://developers.openai.com/api/docs/guides/image-generation#output-format (output_format: png, jpeg, webp) +schema = 2 +type = "image" name = "GPT-Image-2" description = "Image model for prompt-driven generation, editing, and visual design workflows" family = "gpt-image" +open_weights = false release_date = "2026-04-21" -last_updated = "2026-04-21" -attachment = true -reasoning = false + +[modalities] +input = ["text", "image/jpeg", "image/png", "image/webp"] +output = ["image/png", "image/jpeg", "image/webp"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } temperature = false -tool_call = false -open_weights = false +top_p = false +top_k = false [limit] context = 0 output = 0 - -[modalities] -input = ["text", "image"] -output = ["image"] diff --git a/models/openai/gpt-live-1.toml b/models/openai/gpt-live-1.toml new file mode 100644 index 0000000000..27b9276ccc --- /dev/null +++ b/models/openai/gpt-live-1.toml @@ -0,0 +1,28 @@ +# Sources: +# https://developers.openai.com/api/docs/models/gpt-live-1 +# https://developers.openai.com/api/docs/changelog +# Live audio MIME types: https://developers.openai.com/api/docs/guides/realtime-websocket (session.audio.format: audio/pcm, audio/pcmu, audio/pcma) +schema = 2 +v2_only = true +type = "realtime" +name = "GPT-Live 1" +description = "Full-duplex voice model for natural conversations that delegates reasoning and tools to a backend agent" +family = "gpt" +open_weights = false +knowledge = "2025-07-31" +release_date = "2026-09-10" + +[modalities] +input = ["text", "audio/pcm", "audio/pcmu", "audio/pcma"] +output = ["text", "audio/pcm", "audio/pcmu", "audio/pcma"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 0 +output = 0 diff --git a/models/openai/gpt-live-transcribe.toml b/models/openai/gpt-live-transcribe.toml new file mode 100644 index 0000000000..dacf898959 --- /dev/null +++ b/models/openai/gpt-live-transcribe.toml @@ -0,0 +1,29 @@ +# Sources: +# https://developers.openai.com/api/docs/models/gpt-live-transcribe +# https://developers.openai.com/api/docs/changelog +# Temperature: realtime-only (no /v1/audio/transcriptions); the realtime transcription config has no +# temperature field ("Unknown parameter: 'session.audio.input.transcription.temperature'", 2026-10-19). +# Realtime audio MIME types: https://developers.openai.com/api/reference/resources/realtime (audio/pcm, audio/pcmu, audio/pcma) +schema = 2 +v2_only = true +type = "transcription" +name = "GPT-Live-Transcribe" +description = "Low-latency streaming speech-to-text model with keyword and language hints" +family = "gpt" +open_weights = false +release_date = "2026-07-28" + +[modalities] +input = ["text", "audio/pcm", "audio/pcmu", "audio/pcma"] +output = ["text"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 0 +output = 0 diff --git a/models/openai/gpt-oss-120b.toml b/models/openai/gpt-oss-120b.toml index 190bd734bc..c23a6239c9 100644 --- a/models/openai/gpt-oss-120b.toml +++ b/models/openai/gpt-oss-120b.toml @@ -1,23 +1,27 @@ +# Knowledge cutoff: June 2024 (gpt-oss model card §2.4, https://openai.com/index/gpt-oss-model-card/; https://developers.openai.com/api/docs/models/gpt-oss-120b). +schema = 2 name = "GPT OSS 120B" description = "Open GPT reasoning model for self-hosted agents and controllable deployments" family = "gpt-oss" +open_weights = true +knowledge = "2024-06" release_date = "2025-08-05" -last_updated = "2025-08-05" -attachment = false -reasoning = true + +[modalities] +input = ["text"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } temperature = true -tool_call = true -structured_output = true -open_weights = true +top_p = true +top_k = true [limit] context = 131_072 output = 32_768 -[modalities] -input = ["text"] -output = ["text"] - [[weights]] label = "Hugging Face" url = "https://huggingface.co/openai/gpt-oss-120b" diff --git a/models/openai/gpt-oss-20b.toml b/models/openai/gpt-oss-20b.toml index 4b47f3e0c2..739ca041c5 100644 --- a/models/openai/gpt-oss-20b.toml +++ b/models/openai/gpt-oss-20b.toml @@ -1,23 +1,27 @@ +# Knowledge cutoff: June 2024 (gpt-oss model card §2.4, https://openai.com/index/gpt-oss-model-card/; https://developers.openai.com/api/docs/models/gpt-oss-120b). +schema = 2 name = "GPT OSS 20B" description = "Open GPT reasoning model for self-hosted agents and controllable deployments" family = "gpt-oss" +open_weights = true +knowledge = "2024-06" release_date = "2025-08-05" -last_updated = "2025-08-05" -attachment = false -reasoning = true + +[modalities] +input = ["text"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } temperature = true -tool_call = true -structured_output = true -open_weights = true +top_p = true +top_k = true [limit] context = 131_072 output = 32_768 -[modalities] -input = ["text"] -output = ["text"] - [[weights]] label = "Hugging Face" url = "https://huggingface.co/openai/gpt-oss-20b" diff --git a/models/openai/gpt-oss-safeguard-120b.toml b/models/openai/gpt-oss-safeguard-120b.toml index 7e0c0be6b0..26d8d58ffb 100644 --- a/models/openai/gpt-oss-safeguard-120b.toml +++ b/models/openai/gpt-oss-safeguard-120b.toml @@ -1,23 +1,25 @@ +schema = 2 name = "GPT OSS Safeguard 120B" description = "Safety model for policy screening, moderation, and risk-aware routing workflows" family = "gpt-oss" +open_weights = true release_date = "2025-10-29" -last_updated = "2025-10-29" -attachment = false -reasoning = true + +[modalities] +input = ["text"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } temperature = true -tool_call = true -structured_output = true -open_weights = true +top_p = true +top_k = true [limit] context = 131_072 output = 32_768 -[modalities] -input = ["text"] -output = ["text"] - [[weights]] label = "Hugging Face" url = "https://huggingface.co/openai/gpt-oss-safeguard-120b" diff --git a/models/openai/gpt-oss-safeguard-20b.toml b/models/openai/gpt-oss-safeguard-20b.toml index c4b69735ee..99645a6043 100644 --- a/models/openai/gpt-oss-safeguard-20b.toml +++ b/models/openai/gpt-oss-safeguard-20b.toml @@ -7,26 +7,28 @@ # No separate fixed output cap: https://huggingface.co/openai/gpt-oss-safeguard-20b/blob/8a11e17b25c973a24099d4016bf2e17dd7ec1574/generation_config.json # Reference generation has a caller-supplied token cap (0 = uncapped): https://github.com/openai/gpt-oss/blob/main/gpt_oss/torch/model.py # Release: https://openai.com/index/introducing-gpt-oss-safeguard/ +schema = 2 name = "GPT OSS Safeguard 20B" description = "Safety model for policy screening, moderation, and risk-aware routing workflows" family = "gpt-oss" +open_weights = true release_date = "2025-10-29" -last_updated = "2025-10-29" -attachment = false -reasoning = true + +[modalities] +input = ["text"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } temperature = true -tool_call = true -structured_output = true -open_weights = true +top_p = true +top_k = true [limit] context = 131_072 output = 131_072 -[modalities] -input = ["text"] -output = ["text"] - [[weights]] label = "Hugging Face" url = "https://huggingface.co/openai/gpt-oss-safeguard-20b" diff --git a/models/openai/gpt-realtime-1.5.toml b/models/openai/gpt-realtime-1.5.toml new file mode 100644 index 0000000000..cb702c9f2c --- /dev/null +++ b/models/openai/gpt-realtime-1.5.toml @@ -0,0 +1,28 @@ +# Sources: +# https://developers.openai.com/api/docs/models/gpt-realtime-1.5 +# https://developers.openai.com/api/docs/changelog +# Realtime audio MIME types: https://developers.openai.com/api/reference/resources/realtime (audio/pcm, audio/pcmu, audio/pcma) +schema = 2 +v2_only = true +type = "realtime" +name = "GPT-Realtime-1.5" +description = "Realtime speech-to-speech model for voice agents and customer support" +family = "gpt" +open_weights = false +knowledge = "2024-09-30" +release_date = "2026-02-23" + +[modalities] +input = ["text", "audio/pcm", "audio/pcmu", "audio/pcma", "image/jpeg", "image/png", "image/gif", "image/webp"] +output = ["text", "audio/pcm", "audio/pcmu", "audio/pcma"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 32_000 +output = 4_096 diff --git a/models/openai/gpt-realtime-2.1-mini.toml b/models/openai/gpt-realtime-2.1-mini.toml new file mode 100644 index 0000000000..84b6ec6b8b --- /dev/null +++ b/models/openai/gpt-realtime-2.1-mini.toml @@ -0,0 +1,28 @@ +# Sources: +# https://developers.openai.com/api/docs/models/gpt-realtime-2.1-mini +# https://developers.openai.com/api/docs/changelog +# Realtime audio MIME types: https://developers.openai.com/api/reference/resources/realtime (audio/pcm, audio/pcmu, audio/pcma) +schema = 2 +v2_only = true +type = "realtime" +name = "GPT-Realtime-2.1 Mini" +description = "Distilled realtime reasoning model for faster, lower-cost voice interactions" +family = "gpt-mini" +open_weights = false +knowledge = "2024-09-30" +release_date = "2026-07-06" + +[modalities] +input = ["text", "audio/pcm", "audio/pcmu", "audio/pcma", "image/jpeg", "image/png", "image/gif", "image/webp"] +output = ["text", "audio/pcm", "audio/pcmu", "audio/pcma"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } +temperature = false +top_p = false +top_k = false + +[limit] +context = 128_000 +output = 32_000 diff --git a/models/openai/gpt-realtime-2.1.toml b/models/openai/gpt-realtime-2.1.toml index e166a2741b..6aa35cf602 100644 --- a/models/openai/gpt-realtime-2.1.toml +++ b/models/openai/gpt-realtime-2.1.toml @@ -1,21 +1,25 @@ +# Realtime audio MIME types: https://developers.openai.com/api/reference/resources/realtime (audio/pcm, audio/pcmu, audio/pcma) +schema = 2 +type = "realtime" name = "GPT-Realtime-2.1" description = "Realtime speech-to-speech model with configurable reasoning, tool use, and robust voice-agent behavior" family = "gpt" +open_weights = false +knowledge = "2024-09-30" release_date = "2026-07-06" -last_updated = "2026-07-06" -attachment = true -reasoning = true + +[modalities] +input = ["text", "audio/pcm", "audio/pcmu", "audio/pcma", "image/jpeg", "image/png", "image/gif", "image/webp"] +output = ["text", "audio/pcm", "audio/pcmu", "audio/pcma"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } temperature = false -tool_call = true -structured_output = false -knowledge = "2024-09-30" -open_weights = false +top_p = false +top_k = false [limit] context = 128_000 input = 96_000 output = 32_000 - -[modalities] -input = ["text", "audio", "image"] -output = ["text", "audio"] diff --git a/models/openai/gpt-realtime-2.toml b/models/openai/gpt-realtime-2.toml new file mode 100644 index 0000000000..1c4920618d --- /dev/null +++ b/models/openai/gpt-realtime-2.toml @@ -0,0 +1,28 @@ +# Sources: +# https://developers.openai.com/api/docs/models/gpt-realtime-2 +# https://developers.openai.com/api/docs/changelog +# Realtime audio MIME types: https://developers.openai.com/api/reference/resources/realtime (audio/pcm, audio/pcmu, audio/pcma) +schema = 2 +v2_only = true +type = "realtime" +name = "GPT-Realtime-2" +description = "Realtime speech-to-speech model with configurable reasoning and reliable tool use for voice agents" +family = "gpt" +open_weights = false +knowledge = "2024-09-30" +release_date = "2026-05-07" + +[modalities] +input = ["text", "audio/pcm", "audio/pcmu", "audio/pcma", "image/jpeg", "image/png", "image/gif", "image/webp"] +output = ["text", "audio/pcm", "audio/pcmu", "audio/pcma"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } +temperature = false +top_p = false +top_k = false + +[limit] +context = 128_000 +output = 32_000 diff --git a/models/openai/gpt-realtime-mini.toml b/models/openai/gpt-realtime-mini.toml new file mode 100644 index 0000000000..dbed4d860f --- /dev/null +++ b/models/openai/gpt-realtime-mini.toml @@ -0,0 +1,28 @@ +# Sources: +# https://developers.openai.com/api/docs/models/gpt-realtime-mini +# https://developers.openai.com/api/docs/changelog +# Realtime audio MIME types: https://developers.openai.com/api/reference/resources/realtime (audio/pcm, audio/pcmu, audio/pcma) +schema = 2 +v2_only = true +type = "realtime" +name = "GPT-Realtime Mini" +description = "Cost-efficient realtime speech-to-speech model for voice agents" +family = "gpt-mini" +open_weights = false +knowledge = "2023-10-01" +release_date = "2025-10-06" + +[modalities] +input = ["text", "audio/pcm", "audio/pcmu", "audio/pcma", "image/jpeg", "image/png", "image/gif", "image/webp"] +output = ["text", "audio/pcm", "audio/pcmu", "audio/pcma"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 32_000 +output = 4_096 diff --git a/models/openai/gpt-realtime-translate.toml b/models/openai/gpt-realtime-translate.toml new file mode 100644 index 0000000000..bb52d320d3 --- /dev/null +++ b/models/openai/gpt-realtime-translate.toml @@ -0,0 +1,28 @@ +# Sources: +# https://developers.openai.com/api/docs/models/gpt-realtime-translate +# https://developers.openai.com/api/docs/changelog +# Audio MIME types: https://developers.openai.com/api/reference/resources/realtime (translation sessions take and return 24 kHz PCM16 audio) +schema = 2 +v2_only = true +type = "realtime" +name = "GPT-Realtime-Translate" +description = "Streaming speech-to-speech translation model for live multilingual audio" +family = "gpt" +open_weights = false +knowledge = "2024-09-30" +release_date = "2026-05-07" + +[modalities] +input = ["audio/pcm"] +output = ["text", "audio/pcm"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 16_000 +output = 2_000 diff --git a/models/openai/gpt-realtime-whisper.toml b/models/openai/gpt-realtime-whisper.toml index d0aeaf6875..457450f02d 100644 --- a/models/openai/gpt-realtime-whisper.toml +++ b/models/openai/gpt-realtime-whisper.toml @@ -1,18 +1,25 @@ +# Native model details: 16,000-token context and 2,000 max output tokens. +# https://developers.openai.com/api/docs/models/gpt-realtime-whisper +# Realtime audio MIME types: https://developers.openai.com/api/reference/resources/realtime (audio/pcm, audio/pcmu, audio/pcma) +schema = 2 +type = "transcription" name = "GPT Realtime Whisper" description = "Streaming speech-to-text model for low-latency transcript deltas from live audio" family = "whisper" -release_date = "2026-05-07" -last_updated = "2026-05-07" -attachment = false -reasoning = false -temperature = true -tool_call = false open_weights = false - -[limit] -context = 0 -output = 0 +release_date = "2026-05-07" [modalities] -input = ["audio"] +input = ["audio/pcm", "audio/pcmu", "audio/pcma"] output = ["text"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = true +top_p = true +top_k = false + +[limit] +context = 16_000 +output = 2_000 diff --git a/models/openai/gpt-realtime.toml b/models/openai/gpt-realtime.toml new file mode 100644 index 0000000000..39022f1696 --- /dev/null +++ b/models/openai/gpt-realtime.toml @@ -0,0 +1,28 @@ +# Sources: +# https://developers.openai.com/api/docs/models/gpt-realtime +# https://developers.openai.com/api/docs/changelog +# Realtime audio MIME types: https://developers.openai.com/api/reference/resources/realtime (audio/pcm, audio/pcmu, audio/pcma) +schema = 2 +v2_only = true +type = "realtime" +name = "GPT-Realtime" +description = "Realtime speech-to-speech model for low-latency voice agents over WebRTC, WebSocket, or SIP" +family = "gpt" +open_weights = false +knowledge = "2023-10-01" +release_date = "2025-08-28" + +[modalities] +input = ["text", "audio/pcm", "audio/pcmu", "audio/pcma", "image/jpeg", "image/png", "image/gif", "image/webp"] +output = ["text", "audio/pcm", "audio/pcmu", "audio/pcma"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 32_000 +output = 4_096 diff --git a/models/openai/gpt-transcribe.toml b/models/openai/gpt-transcribe.toml new file mode 100644 index 0000000000..1860ca963e --- /dev/null +++ b/models/openai/gpt-transcribe.toml @@ -0,0 +1,30 @@ +# Sources: +# https://developers.openai.com/api/docs/models/gpt-transcribe +# https://developers.openai.com/api/docs/changelog +# Temperature: /v1/audio/transcriptions takes `temperature` (0-1); see CreateTranscriptionRequest in +# https://github.com/openai/openai-openapi/blob/manual_spec/openapi.yaml. Live API accepts it for gpt-transcribe (2026-10-19). +# Audio MIME types: https://developers.openai.com/api/reference/resources/audio/subresources/transcriptions/methods/create (file: flac, mp3, mp4, mpeg, mpga, m4a, ogg, wav, webm) +# Realtime audio MIME types: https://developers.openai.com/api/reference/resources/realtime (audio/pcm, audio/pcmu, audio/pcma) +schema = 2 +v2_only = true +type = "transcription" +name = "GPT-Transcribe" +description = "High-accuracy speech-to-text model for audio files and committed Realtime turns" +family = "gpt" +open_weights = false +release_date = "2026-07-28" + +[modalities] +input = ["text", "audio/flac", "audio/mpeg", "audio/mp4", "audio/ogg", "audio/wav", "audio/webm", "audio/pcm", "audio/pcmu", "audio/pcma"] +output = ["text"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = true +top_p = false +top_k = false + +[limit] +context = 0 +output = 0 diff --git a/models/openai/o1-pro.toml b/models/openai/o1-pro.toml index 5bbcbabf72..de484c0aa8 100644 --- a/models/openai/o1-pro.toml +++ b/models/openai/o1-pro.toml @@ -1,20 +1,22 @@ +schema = 2 name = "o1-pro" description = "O-series reasoning model for hard analysis, math, coding, and planning" family = "o-pro" +open_weights = false +knowledge = "2023-09" release_date = "2025-03-19" -last_updated = "2025-03-19" -attachment = true -reasoning = true + +[modalities] +input = ["text", "image/jpeg", "image/png", "image/gif", "image/webp"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } temperature = false -tool_call = true -structured_output = true -knowledge = "2023-09" -open_weights = false +top_p = false +top_k = false [limit] context = 200_000 output = 100_000 - -[modalities] -input = ["text", "image"] -output = ["text"] diff --git a/models/openai/o1.toml b/models/openai/o1.toml index 587eee534a..eaef909647 100644 --- a/models/openai/o1.toml +++ b/models/openai/o1.toml @@ -1,24 +1,26 @@ +schema = 2 name = "o1" description = "O-series reasoning model for hard analysis, math, coding, and planning" family = "o" +open_weights = false +knowledge = "2023-09" release_date = "2024-12-05" -last_updated = "2024-12-05" -attachment = true -reasoning = true + +[modalities] +input = ["text", "image/jpeg", "image/png", "image/gif", "image/webp", "application/pdf"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } temperature = false -tool_call = true -structured_output = true -knowledge = "2023-09" -open_weights = false +top_p = false +top_k = false [limit] context = 200_000 output = 100_000 -[modalities] -input = ["text", "image", "pdf"] -output = ["text"] - [[benchmarks]] name = "Aider Polyglot" score = 61.7 diff --git a/models/openai/o3-deep-research.toml b/models/openai/o3-deep-research.toml index e9657fc9f6..4445f53a56 100644 --- a/models/openai/o3-deep-research.toml +++ b/models/openai/o3-deep-research.toml @@ -1,19 +1,23 @@ +# release_date: the Deep Research models shipped in the OpenAI API on 2025-06-26 (https://platform.openai.com/docs/changelog); 2024-06-26 was a year typo. +schema = 2 name = "o3-deep-research" description = "Research model for long-horizon investigation, synthesis, and analytical reports" family = "o" -release_date = "2024-06-26" -last_updated = "2024-06-26" -attachment = true -reasoning = true -temperature = false -tool_call = true -knowledge = "2024-05" open_weights = false +knowledge = "2024-05" +release_date = "2025-06-26" + +[modalities] +input = ["text", "image/jpeg", "image/png", "image/gif", "image/webp"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } +temperature = false +top_p = false +top_k = false [limit] context = 200_000 output = 100_000 - -[modalities] -input = ["text", "image"] -output = ["text"] diff --git a/models/openai/o3-mini.toml b/models/openai/o3-mini.toml index b317b662ce..a577bc37c1 100644 --- a/models/openai/o3-mini.toml +++ b/models/openai/o3-mini.toml @@ -1,24 +1,27 @@ +schema = 2 name = "o3-mini" description = "Smaller o-series reasoner for economical coding, math, and planning tasks" family = "o-mini" +open_weights = false +knowledge = "2024-05" release_date = "2024-12-20" last_updated = "2025-01-29" -attachment = false -reasoning = true + +[modalities] +input = ["text"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } temperature = false -tool_call = true -structured_output = true -knowledge = "2024-05" -open_weights = false +top_p = false +top_k = false [limit] context = 200_000 output = 100_000 -[modalities] -input = ["text"] -output = ["text"] - [[benchmarks]] name = "Aider Polyglot" score = 60.4 diff --git a/models/openai/o3-pro.toml b/models/openai/o3-pro.toml index 0c1dfd12d2..3d4338cf15 100644 --- a/models/openai/o3-pro.toml +++ b/models/openai/o3-pro.toml @@ -1,24 +1,26 @@ +schema = 2 name = "o3-pro" description = "High-effort o3 tier for difficult technical reasoning and careful answers" family = "o-pro" +open_weights = false +knowledge = "2024-05" release_date = "2025-06-10" -last_updated = "2025-06-10" -attachment = true -reasoning = true + +[modalities] +input = ["text", "image/jpeg", "image/png", "image/gif", "image/webp"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } temperature = false -tool_call = true -structured_output = true -knowledge = "2024-05" -open_weights = false +top_p = false +top_k = false [limit] context = 200_000 output = 100_000 -[modalities] -input = ["text", "image"] -output = ["text"] - [[benchmarks]] name = "Aider Polyglot" score = 84.9 diff --git a/models/openai/o3.toml b/models/openai/o3.toml index 8ad7a1f8ff..1442e80989 100644 --- a/models/openai/o3.toml +++ b/models/openai/o3.toml @@ -1,24 +1,26 @@ +schema = 2 name = "o3" description = "Deliberate o-series reasoner for hard math, coding, and multi-step analysis" family = "o" +open_weights = false +knowledge = "2024-05" release_date = "2025-04-16" -last_updated = "2025-04-16" -attachment = true -reasoning = true + +[modalities] +input = ["text", "image/jpeg", "image/png", "image/gif", "image/webp", "application/pdf"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } temperature = false -tool_call = true -structured_output = true -knowledge = "2024-05" -open_weights = false +top_p = false +top_k = false [limit] context = 200_000 output = 100_000 -[modalities] -input = ["text", "image", "pdf"] -output = ["text"] - [[benchmarks]] name = "Aider Polyglot" score = 81.3 diff --git a/models/openai/o4-mini-deep-research.toml b/models/openai/o4-mini-deep-research.toml index 647a6d3dd5..f8390491ea 100644 --- a/models/openai/o4-mini-deep-research.toml +++ b/models/openai/o4-mini-deep-research.toml @@ -1,19 +1,23 @@ +# release_date: the Deep Research models shipped in the OpenAI API on 2025-06-26 (https://platform.openai.com/docs/changelog); 2024-06-26 was a year typo. +schema = 2 name = "o4-mini-deep-research" description = "Research model for long-horizon investigation, synthesis, and analytical reports" family = "o-mini" -release_date = "2024-06-26" -last_updated = "2024-06-26" -attachment = true -reasoning = true -temperature = false -tool_call = true -knowledge = "2024-05" open_weights = false +knowledge = "2024-05" +release_date = "2025-06-26" + +[modalities] +input = ["text", "image/jpeg", "image/png", "image/gif", "image/webp"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } +temperature = false +top_p = false +top_k = false [limit] context = 200_000 output = 100_000 - -[modalities] -input = ["text", "image"] -output = ["text"] diff --git a/models/openai/o4-mini.toml b/models/openai/o4-mini.toml index e696832532..fc100df656 100644 --- a/models/openai/o4-mini.toml +++ b/models/openai/o4-mini.toml @@ -1,24 +1,26 @@ +schema = 2 name = "o4-mini" description = "Fast o-series model for compact reasoning, coding, and tool use" family = "o-mini" +open_weights = false +knowledge = "2024-05" release_date = "2025-04-16" -last_updated = "2025-04-16" -attachment = true -reasoning = true + +[modalities] +input = ["text", "image/jpeg", "image/png", "image/gif", "image/webp"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } temperature = false -tool_call = true -structured_output = true -knowledge = "2024-05" -open_weights = false +top_p = false +top_k = false [limit] context = 200_000 output = 100_000 -[modalities] -input = ["text", "image"] -output = ["text"] - [[benchmarks]] name = "Aider Polyglot" score = 72.0 diff --git a/models/openai/omni-moderation-latest.toml b/models/openai/omni-moderation-latest.toml new file mode 100644 index 0000000000..dc4f05e5d1 --- /dev/null +++ b/models/openai/omni-moderation-latest.toml @@ -0,0 +1,24 @@ +# Sources: +# https://developers.openai.com/api/docs/models/omni-moderation-latest +# https://developers.openai.com/api/docs/changelog +schema = 2 +v2_only = true +name = "omni-moderation" +description = "Moderation model that classifies potentially harmful content in text and images" +open_weights = false +release_date = "2024-09-26" + +[modalities] +input = ["text", "image/jpeg", "image/png", "image/gif", "image/webp"] +output = ["text"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 0 +output = 0 diff --git a/models/openai/text-embedding-3-large.toml b/models/openai/text-embedding-3-large.toml new file mode 100644 index 0000000000..2aca9257b7 --- /dev/null +++ b/models/openai/text-embedding-3-large.toml @@ -0,0 +1,26 @@ +# Released 2024-01-25: https://openai.com/index/new-embedding-models-and-api-updates/ +# https://developers.openai.com/api/docs/models/text-embedding-3-large +# Context: "Max input 8192": https://developers.openai.com/api/docs/guides/embeddings +schema = 2 +v2_only = true +type = "embedding" +name = "text-embedding-3-large" +description = "Most capable OpenAI embedding model for English and non-English text" +family = "text-embedding" +open_weights = false +release_date = "2024-01-25" + +[modalities] +input = ["text"] +output = ["embedding"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 8_192 +output = 0 diff --git a/models/openai/text-embedding-3-small.toml b/models/openai/text-embedding-3-small.toml new file mode 100644 index 0000000000..435812304b --- /dev/null +++ b/models/openai/text-embedding-3-small.toml @@ -0,0 +1,26 @@ +# Released 2024-01-25: https://openai.com/index/new-embedding-models-and-api-updates/ +# https://developers.openai.com/api/docs/models/text-embedding-3-small +# Context: "Max input 8192": https://developers.openai.com/api/docs/guides/embeddings +schema = 2 +v2_only = true +type = "embedding" +name = "text-embedding-3-small" +description = "Small, efficient OpenAI text embedding model" +family = "text-embedding" +open_weights = false +release_date = "2024-01-25" + +[modalities] +input = ["text"] +output = ["embedding"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 8_192 +output = 0 diff --git a/models/openai/text-embedding-ada-002.toml b/models/openai/text-embedding-ada-002.toml new file mode 100644 index 0000000000..6cd172815f --- /dev/null +++ b/models/openai/text-embedding-ada-002.toml @@ -0,0 +1,26 @@ +# Released 2022-12-15: https://openai.com/index/new-and-improved-embedding-model/ +# https://developers.openai.com/api/docs/models/text-embedding-ada-002 +# Context: "Max input 8192": https://developers.openai.com/api/docs/guides/embeddings +schema = 2 +v2_only = true +type = "embedding" +name = "text-embedding-ada-002" +description = "Legacy OpenAI text embedding model" +family = "text-embedding" +open_weights = false +release_date = "2022-12-15" + +[modalities] +input = ["text"] +output = ["embedding"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 8_192 +output = 0 diff --git a/models/openai/tts-1-hd.toml b/models/openai/tts-1-hd.toml new file mode 100644 index 0000000000..f5d849c5c4 --- /dev/null +++ b/models/openai/tts-1-hd.toml @@ -0,0 +1,26 @@ +# Sources: +# https://developers.openai.com/api/docs/models/tts-1-hd +# https://openai.com/index/new-models-and-developer-products-announced-at-devday/ +# Audio MIME types: https://developers.openai.com/api/reference/resources/audio/subresources/speech/methods/create (response_format: mp3, opus, aac, flac, wav, pcm) +schema = 2 +v2_only = true +type = "speech" +name = "TTS-1 HD" +description = "Text-to-speech model optimized for audio quality" +open_weights = false +release_date = "2023-11-06" + +[modalities] +input = ["text"] +output = ["audio/mpeg", "audio/opus", "audio/aac", "audio/flac", "audio/wav", "audio/pcm"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 0 +output = 0 diff --git a/models/openai/tts-1.toml b/models/openai/tts-1.toml new file mode 100644 index 0000000000..f82b3d4b9b --- /dev/null +++ b/models/openai/tts-1.toml @@ -0,0 +1,26 @@ +# Sources: +# https://developers.openai.com/api/docs/models/tts-1 +# https://openai.com/index/new-models-and-developer-products-announced-at-devday/ +# Audio MIME types: https://developers.openai.com/api/reference/resources/audio/subresources/speech/methods/create (response_format: mp3, opus, aac, flac, wav, pcm) +schema = 2 +v2_only = true +type = "speech" +name = "TTS-1" +description = "Text-to-speech model optimized for low latency" +open_weights = false +release_date = "2023-11-06" + +[modalities] +input = ["text"] +output = ["audio/mpeg", "audio/opus", "audio/aac", "audio/flac", "audio/wav", "audio/pcm"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 0 +output = 0 diff --git a/models/openai/whisper-1.toml b/models/openai/whisper-1.toml new file mode 100644 index 0000000000..68047a1496 --- /dev/null +++ b/models/openai/whisper-1.toml @@ -0,0 +1,27 @@ +# Sources: +# https://developers.openai.com/api/docs/models/whisper-1 +# https://openai.com/index/introducing-chatgpt-and-whisper-apis/ +# Audio MIME types: https://developers.openai.com/api/reference/resources/audio/subresources/transcriptions/methods/create (file: flac, mp3, mp4, mpeg, mpga, m4a, ogg, wav, webm) +schema = 2 +v2_only = true +type = "transcription" +name = "Whisper" +description = "General-purpose speech recognition model for transcription and translation" +family = "whisper" +open_weights = false +release_date = "2023-03-01" + +[modalities] +input = ["audio/flac", "audio/mpeg", "audio/mp4", "audio/ogg", "audio/wav", "audio/webm"] +output = ["text"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = true +top_p = false +top_k = false + +[limit] +context = 0 +output = 0 diff --git a/models/openai/whisper-large-v3-turbo.toml b/models/openai/whisper-large-v3-turbo.toml index dd6d1e2e21..1bb97bad22 100644 --- a/models/openai/whisper-large-v3-turbo.toml +++ b/models/openai/whisper-large-v3-turbo.toml @@ -1,17 +1,25 @@ +# Audio MIME types: OpenAI's audio API file formats (flac, mp3, mp4, mpeg, mpga, m4a, ogg, wav, webm), as in whisper-1: +# https://developers.openai.com/api/reference/resources/audio/subresources/transcriptions/methods/create +# The open-source whisper package decodes audio with ffmpeg and publishes no narrower list. +schema = 2 +type = "transcription" name = "Whisper Large v3 Turbo" description = "Speech transcription model for accurate audio-to-text and captioning workflows" family = "whisper" -release_date = "2024-10-01" -last_updated = "2024-10-01" -attachment = false -reasoning = false -tool_call = false open_weights = true +release_date = "2024-10-01" + +[modalities] +input = ["audio/flac", "audio/mpeg", "audio/mp4", "audio/ogg", "audio/wav", "audio/webm"] +output = ["text"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = true +top_p = false +top_k = false [limit] context = 448 output = 448 - -[modalities] -input = ["audio"] -output = ["text"] diff --git a/models/openai/whisper-large-v3.toml b/models/openai/whisper-large-v3.toml index 37e0628254..41897afeda 100644 --- a/models/openai/whisper-large-v3.toml +++ b/models/openai/whisper-large-v3.toml @@ -1,17 +1,27 @@ +# Audio MIME types: OpenAI's audio API file formats (flac, mp3, mp4, mpeg, mpga, m4a, ogg, wav, webm), as in whisper-1: +# https://developers.openai.com/api/reference/resources/audio/subresources/transcriptions/methods/create +# The open-source whisper package decodes audio with ffmpeg and publishes no narrower list. +# Released 2023-11-06: openai/whisper v20231106 "large-v3" (https://github.com/openai/whisper/blob/main/CHANGELOG.md#v20231106). +# 2024-10-01 was large-v3-turbo (v20240930). +schema = 2 +type = "transcription" name = "Whisper 3 Large" description = "Open Whisper checkpoint for robust multilingual transcription and captioning" family = "whisper" -release_date = "2024-10-01" -last_updated = "2024-10-01" -attachment = false -reasoning = false -tool_call = false open_weights = true +release_date = "2023-11-06" + +[modalities] +input = ["audio/flac", "audio/mpeg", "audio/mp4", "audio/ogg", "audio/wav", "audio/webm"] +output = ["text"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = true +top_p = false +top_k = false [limit] context = 448 output = 4_096 - -[modalities] -input = ["audio"] -output = ["text"] diff --git a/models/openbmb/minicpm-v-4.7-1b.toml b/models/openbmb/minicpm-v-4.7-1b.toml new file mode 100644 index 0000000000..4a188e815a --- /dev/null +++ b/models/openbmb/minicpm-v-4.7-1b.toml @@ -0,0 +1,29 @@ +# Sources (accessed 2026-10-21): https://huggingface.co/openbmb/MiniCPM-V-4.7-1B (Apache-2.0; image-text-to-text; Hub createdAt +# 2026-10-06): single-image, multi-image and video understanding. The card lists no exact image or video formats. +# Context 262,144: the AMD Token Factory deployment (the only host); tools and reasoning as that catalog reports. +# Sampling: open weights, so temperature, top_p and top_k are runtime sampler settings on any host. +schema = 2 +name = "MiniCPM-V 4.7 1B" +description = "Compact MiniCPM-V model for single-image, multi-image and video understanding" +open_weights = true +release_date = "2026-10-06" +license = "Apache-2.0" + +[modalities] +input = ["text", "image", "video"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } +temperature = true +top_p = true +top_k = true + +[limit] +context = 262_144 +output = 262_144 + +[[weights]] +label = "Hugging Face" +url = "https://huggingface.co/openbmb/MiniCPM-V-4.7-1B" diff --git a/models/openbmb/minicpm-v-4.7-35b-a3b.toml b/models/openbmb/minicpm-v-4.7-35b-a3b.toml new file mode 100644 index 0000000000..752afe677e --- /dev/null +++ b/models/openbmb/minicpm-v-4.7-35b-a3b.toml @@ -0,0 +1,29 @@ +# Sources (accessed 2026-10-21): https://huggingface.co/openbmb/MiniCPM-V-4.7-35B-A3B (Apache-2.0; image-text-to-text; Hub createdAt +# 2026-10-07): single-image, multi-image and video understanding. The card lists no exact image or video formats. +# Context 262,144: the AMD Token Factory deployment (the only host); tools and reasoning as that catalog reports. +# Sampling: open weights, so temperature, top_p and top_k are runtime sampler settings on any host. +schema = 2 +name = "MiniCPM-V 4.7 35B-A3B" +description = "First MoE MiniCPM-V model for single-image, multi-image and video understanding" +open_weights = true +release_date = "2026-10-07" +license = "Apache-2.0" + +[modalities] +input = ["text", "image", "video"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } +temperature = true +top_p = true +top_k = true + +[limit] +context = 262_144 +output = 262_144 + +[[weights]] +label = "Hugging Face" +url = "https://huggingface.co/openbmb/MiniCPM-V-4.7-35B-A3B" diff --git a/models/openbmb/minicpm5-1b.toml b/models/openbmb/minicpm5-1b.toml index 01f66f8990..a749611ad9 100644 --- a/models/openbmb/minicpm5-1b.toml +++ b/models/openbmb/minicpm5-1b.toml @@ -1,25 +1,30 @@ # Sources (accessed 2026-09-03): # https://huggingface.co/openbmb/MiniCPM5-1B (model card, config) # https://github.com/OpenBMB/MiniCPM (release announcement 2026-05-19) +# Sampling: open weights, so temperature, top_p and top_k are runtime sampler settings on any host; the model card +# recommends temperature 0.9 / 0.7 (Think / No Think) with top_p 0.95. +schema = 2 name = "MiniCPM5-1B" description = "Dense 1B-class open-source model for on-device and resource-constrained use, with native long-context support, Think / No Think chat modes, and tool calling" -release_date = "2026-05-19" -last_updated = "2026-05-19" -attachment = false -reasoning = true -temperature = true -tool_call = true open_weights = true +release_date = "2026-05-19" license = "apache-2.0" -[limit] -context = 131_072 -output = 131_072 - [modalities] input = ["text"] output = ["text"] +[capabilities] +tools = { supported = true } +reasoning = { supported = true } +temperature = true +top_p = true +top_k = true + +[limit] +context = 131_072 +output = 131_072 + [[weights]] label = "Hugging Face" -url = "https://huggingface.co/openbmb/MiniCPM5-1B" \ No newline at end of file +url = "https://huggingface.co/openbmb/MiniCPM5-1B" diff --git a/models/openbmb/minicpm5-2b.toml b/models/openbmb/minicpm5-2b.toml new file mode 100644 index 0000000000..4ec518147d --- /dev/null +++ b/models/openbmb/minicpm5-2b.toml @@ -0,0 +1,32 @@ +# Sources (accessed 2026-09-14): +# https://huggingface.co/openbmb/MiniCPM5-2B (model card, config.json) +# Hub createdAt 2026-09-06, lastModified 2026-09-12; open-weights drop of +# MiniCPM5-2B with BF16 final release (RL + OPD post-training). +# Sampling: open weights, so temperature, top_p and top_k are runtime sampler settings on any host; the model card +# recommends temperature 1.0, top_p 0.95, min_p 0.0. +schema = 2 +name = "MiniCPM5-2B" +description = "Dense 2B-class open-source model for on-device and resource-constrained use, with native long-context support, tool calling, and agentic tasks" +open_weights = true +release_date = "2026-09-06" +last_updated = "2026-09-12" +license = "apache-2.0" + +[modalities] +input = ["text"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } +temperature = true +top_p = true +top_k = true + +[limit] +context = 131_072 +output = 131_072 + +[[weights]] +label = "Hugging Face" +url = "https://huggingface.co/openbmb/MiniCPM5-2B" diff --git a/models/paddlepaddle/paddleocr-vl.toml b/models/paddlepaddle/paddleocr-vl.toml new file mode 100644 index 0000000000..ffc91fb4a1 --- /dev/null +++ b/models/paddlepaddle/paddleocr-vl.toml @@ -0,0 +1,32 @@ +# https://huggingface.co/PaddlePaddle/PaddleOCR-VL +# Release: 2025-10-16 (model card news). Sampling: open weights, so temperature, top_p and top_k are runtime +# sampler settings on any host. +# Image input: the model card and the PaddleOCR-VL pipeline docs +# (https://github.com/PaddlePaddle/PaddleOCR/blob/main/docs/version3.x/pipeline_usage/PaddleOCR-VL.en.md) +# take image files or PDFs through the pipeline but list no image formats for the model, so the input stays +# generic `image`. +schema = 2 +name = "PaddleOCR VL" +description = "Compact vision-language model for multilingual document parsing, OCR, tables, formulas, and charts" +open_weights = true +release_date = "2025-10-16" +license = "Apache-2.0" + +[modalities] +input = ["text", "image"] +output = ["text"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = true +top_p = true +top_k = true + +[limit] +context = 131_072 +output = 16_384 + +[[weights]] +label = "Hugging Face" +url = "https://huggingface.co/PaddlePaddle/PaddleOCR-VL" diff --git a/models/perceptron/perceptron-mk1.toml b/models/perceptron/perceptron-mk1.toml new file mode 100644 index 0000000000..ffa36e73e1 --- /dev/null +++ b/models/perceptron/perceptron-mk1.toml @@ -0,0 +1,29 @@ +# Lab metadata carried over from providers/openrouter/models/perceptron/perceptron-mk1.toml (curated catalogue +# data already in this repo), +# with provider-specific fields (cost, reasoning_options, status) stripped. +# Sources: +# - https://docs.perceptron.inc/perceptron-mk1/index.md (launch 2026-05-12, 32K context, closed source; +# supported image formats JPEG, PNG, WebP; video formats MP4, WebM) +# - https://docs.perceptron.inc/perceptron-mk1/api-reference/endpoint/chat-completions (MIME types image/png, +# image/jpeg, image/webp, video/mp4, video/webm; temperature, top_p and top_k request fields; 8K output) +# - https://docs.perceptron.inc/perceptron-mk1/changelog.md +schema = 2 +name = "Perceptron Mk1" +description = "Multimodal reasoning model for visual analysis, planning, and tool use" +open_weights = false +release_date = "2026-05-12" + +[modalities] +input = ["text", "image/png", "image/jpeg", "image/webp", "video/mp4", "video/webm"] +output = ["text"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = true } +temperature = true +top_p = true +top_k = true + +[limit] +context = 32_768 +output = 8_192 diff --git a/models/perplexity/pplx-decider-flash-v1.2.toml b/models/perplexity/pplx-decider-flash-v1.2.toml new file mode 100644 index 0000000000..86d5f89433 --- /dev/null +++ b/models/perplexity/pplx-decider-flash-v1.2.toml @@ -0,0 +1,32 @@ +# Sources (accessed 2026-10-21): +# - https://huggingface.co/perplexity-ai/pplx-decider-flash-v1.2 (Apache-2.0; created 2026-10-15) +# - https://docs.perplexity.ai/docs/decisions/quickstart: state of text, JSON or images (PNG, JPEG and WebP data URLs, up to +# 8 images per question), 256K-token context window, typed answers with probabilities and no generated text. +# Sampling: the Decisions API takes no sampling parameters. +schema = 2 +v2_only = true +type = "decision" +name = "pplx-decider-flash-v1.2" +description = "Smaller Perplexity decision model distilled onto Qwen3.5-4B for high-volume yes/no, choice and score questions about text or images" +open_weights = true +release_date = "2026-10-15" +license = "Apache-2.0" + +[modalities] +input = ["text", "image/png", "image/jpeg", "image/webp"] +output = ["decision"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 262_144 +output = 0 + +[[weights]] +label = "Hugging Face" +url = "https://huggingface.co/perplexity-ai/pplx-decider-flash-v1.2" diff --git a/models/perplexity/pplx-decider-v1.2.toml b/models/perplexity/pplx-decider-v1.2.toml new file mode 100644 index 0000000000..fc029bc271 --- /dev/null +++ b/models/perplexity/pplx-decider-v1.2.toml @@ -0,0 +1,32 @@ +# Sources (accessed 2026-10-21): +# - https://huggingface.co/perplexity-ai/pplx-decider-v1.2 (Apache-2.0; created 2026-10-15) +# - https://docs.perplexity.ai/docs/decisions/quickstart: state of text, JSON or images (PNG, JPEG and WebP data URLs, up to +# 8 images per question), 256K-token context window, typed answers with probabilities and no generated text. +# Sampling: the Decisions API takes no sampling parameters. +schema = 2 +v2_only = true +type = "decision" +name = "pplx-decider-v1.2" +description = "Perplexity's open-weight decision model on Qwen3.8-27B that returns probabilities for typed yes/no, choice and score questions about text or images" +open_weights = true +release_date = "2026-10-15" +license = "Apache-2.0" + +[modalities] +input = ["text", "image/png", "image/jpeg", "image/webp"] +output = ["decision"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 262_144 +output = 0 + +[[weights]] +label = "Hugging Face" +url = "https://huggingface.co/perplexity-ai/pplx-decider-v1.2" diff --git a/models/perplexity/pplx-embed-context-v1-0.6b.toml b/models/perplexity/pplx-embed-context-v1-0.6b.toml new file mode 100644 index 0000000000..d5591009cc --- /dev/null +++ b/models/perplexity/pplx-embed-context-v1-0.6b.toml @@ -0,0 +1,29 @@ +# Released 2026-02-26 with pplx-embed-v1: https://www.perplexity.ai/hub/blog/pplx-embed-state-of-the-art-embedding-models-for-web-scale-retrieval +# https://huggingface.co/perplexity-ai/pplx-embed-context-v1-0.6b (MIT, 32K context) +schema = 2 +v2_only = true +type = "embedding" +name = "pplx-embed-context-v1-0.6b" +description = "Open contextual text embedding model for document chunks that share surrounding context" +open_weights = true +release_date = "2026-02-26" +license = "MIT" + +[modalities] +input = ["text"] +output = ["embedding"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 32_000 +output = 0 + +[[weights]] +label = "Hugging Face" +url = "https://huggingface.co/perplexity-ai/pplx-embed-context-v1-0.6b" diff --git a/models/perplexity/pplx-embed-context-v1-4b.toml b/models/perplexity/pplx-embed-context-v1-4b.toml new file mode 100644 index 0000000000..44349cdaae --- /dev/null +++ b/models/perplexity/pplx-embed-context-v1-4b.toml @@ -0,0 +1,29 @@ +# Released 2026-02-26 with pplx-embed-v1: https://www.perplexity.ai/hub/blog/pplx-embed-state-of-the-art-embedding-models-for-web-scale-retrieval +# https://huggingface.co/perplexity-ai/pplx-embed-context-v1-4b (MIT, 32K context) +schema = 2 +v2_only = true +type = "embedding" +name = "pplx-embed-context-v1-4b" +description = "Open contextual text embedding model for document chunks that share surrounding context" +open_weights = true +release_date = "2026-02-26" +license = "MIT" + +[modalities] +input = ["text"] +output = ["embedding"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 32_000 +output = 0 + +[[weights]] +label = "Hugging Face" +url = "https://huggingface.co/perplexity-ai/pplx-embed-context-v1-4b" diff --git a/models/perplexity/pplx-embed-v1-0.6b.toml b/models/perplexity/pplx-embed-v1-0.6b.toml new file mode 100644 index 0000000000..bfccb86e90 --- /dev/null +++ b/models/perplexity/pplx-embed-v1-0.6b.toml @@ -0,0 +1,29 @@ +# Released 2026-02-26: https://www.perplexity.ai/hub/blog/pplx-embed-state-of-the-art-embedding-models-for-web-scale-retrieval +# https://huggingface.co/perplexity-ai/pplx-embed-v1-0.6b +schema = 2 +v2_only = true +type = "embedding" +name = "pplx-embed-v1-0.6b" +description = "Open text embedding model for web-scale dense retrieval" +open_weights = true +release_date = "2026-02-26" +license = "MIT" + +[modalities] +input = ["text"] +output = ["embedding"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 32_000 +output = 0 + +[[weights]] +label = "Hugging Face" +url = "https://huggingface.co/perplexity-ai/pplx-embed-v1-0.6b" diff --git a/models/perplexity/pplx-embed-v1-4b.toml b/models/perplexity/pplx-embed-v1-4b.toml new file mode 100644 index 0000000000..4c9a9c29cc --- /dev/null +++ b/models/perplexity/pplx-embed-v1-4b.toml @@ -0,0 +1,29 @@ +# Released 2026-02-26: https://www.perplexity.ai/hub/blog/pplx-embed-state-of-the-art-embedding-models-for-web-scale-retrieval +# https://huggingface.co/perplexity-ai/pplx-embed-v1-4b +schema = 2 +v2_only = true +type = "embedding" +name = "pplx-embed-v1-4b" +description = "Open text embedding model for web-scale dense retrieval" +open_weights = true +release_date = "2026-02-26" +license = "MIT" + +[modalities] +input = ["text"] +output = ["embedding"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 32_000 +output = 0 + +[[weights]] +label = "Hugging Face" +url = "https://huggingface.co/perplexity-ai/pplx-embed-v1-4b" diff --git a/models/perplexity/sonar-deep-research.toml b/models/perplexity/sonar-deep-research.toml index 2abdf90f47..df66f6bb6c 100644 --- a/models/perplexity/sonar-deep-research.toml +++ b/models/perplexity/sonar-deep-research.toml @@ -4,22 +4,28 @@ # Field values mirror Perplexity's own first-party host entry in this repo # (providers/perplexity/models/sonar-deep-research.toml); host-scoped keys # (cost, reasoning_options) are intentionally left to the provider files. +# Sampling: temperature stays off for this model as before; top_p follows it, and the Sonar reference documented +# no top_k (https://web.archive.org/web/20260804172333/https://docs.perplexity.ai/api-reference/sonar-post). +schema = 2 name = "Sonar Deep Research" description = "Sonar search model for autonomous research and citation-backed long-form reports" family = "sonar" +open_weights = false +knowledge = "2025-01" release_date = "2025-02-01" last_updated = "2025-09-01" -attachment = false -reasoning = true + +[modalities] +input = ["text"] +output = ["text"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = true } temperature = false -tool_call = false -knowledge = "2025-01" -open_weights = false +top_p = false +top_k = false [limit] context = 128_000 output = 32_768 - -[modalities] -input = ["text"] -output = ["text"] diff --git a/models/perplexity/sonar-pro.toml b/models/perplexity/sonar-pro.toml index 7bff9e06fb..db8766ff92 100644 --- a/models/perplexity/sonar-pro.toml +++ b/models/perplexity/sonar-pro.toml @@ -1,23 +1,31 @@ +# Sampling: the Sonar chat completions reference documented temperature (0-2) and top_p, and no top_k +# (https://web.archive.org/web/20260804172333/https://docs.perplexity.ai/api-reference/sonar-post). +# Input formats: PNG (image/png), JPEG (image/jpeg), WEBP (image/webp) and GIF (image/gif), per +# https://docs.perplexity.ai/docs/agent-api/image-attachments (formerly the Sonar image attachments guide). +schema = 2 name = "Sonar Pro" description = "Deeper Sonar search model with broader retrieval and stronger synthesis" family = "sonar-pro" +open_weights = false +knowledge = "2025-09-01" release_date = "2024-01-01" last_updated = "2025-09-01" -attachment = true -reasoning = false + +[modalities] +input = ["text", "image/png", "image/jpeg", "image/webp", "image/gif"] +output = ["text"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } temperature = true -tool_call = false -knowledge = "2025-09-01" -open_weights = false +top_p = true +top_k = false [limit] context = 200_000 output = 8_192 -[modalities] -input = ["text", "image"] -output = ["text"] - [[benchmarks]] name = "SciCode" score = 22.6 diff --git a/models/perplexity/sonar-reasoning-pro.toml b/models/perplexity/sonar-reasoning-pro.toml index eec7f1ebb9..94841ff26d 100644 --- a/models/perplexity/sonar-reasoning-pro.toml +++ b/models/perplexity/sonar-reasoning-pro.toml @@ -1,19 +1,27 @@ +# Sampling: the Sonar chat completions reference documented temperature (0-2) and top_p, and no top_k +# (https://web.archive.org/web/20260804172333/https://docs.perplexity.ai/api-reference/sonar-post). +# Input formats: PNG (image/png), JPEG (image/jpeg), WEBP (image/webp) and GIF (image/gif), per +# https://docs.perplexity.ai/docs/agent-api/image-attachments (formerly the Sonar image attachments guide). +schema = 2 name = "Sonar Reasoning Pro" description = "Web-grounded Sonar for multi-step research questions that need cited reasoning" family = "sonar-reasoning" +open_weights = false +knowledge = "2025-09-01" release_date = "2024-01-01" last_updated = "2025-09-01" -attachment = true -reasoning = true + +[modalities] +input = ["text", "image/png", "image/jpeg", "image/webp", "image/gif"] +output = ["text"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = true } temperature = true -tool_call = false -knowledge = "2025-09-01" -open_weights = false +top_p = true +top_k = false [limit] context = 128_000 output = 4_096 - -[modalities] -input = ["text", "image"] -output = ["text"] diff --git a/models/perplexity/sonar.toml b/models/perplexity/sonar.toml index 51b42b4bf6..c0ef755add 100644 --- a/models/perplexity/sonar.toml +++ b/models/perplexity/sonar.toml @@ -1,23 +1,29 @@ +# Sampling: the Sonar chat completions reference documented temperature (0-2) and top_p, and no top_k +# (https://web.archive.org/web/20260804172333/https://docs.perplexity.ai/api-reference/sonar-post). +schema = 2 name = "Sonar" description = "Fast web-grounded Sonar for current answers, citations, and lightweight retrieval" family = "sonar" +open_weights = false +knowledge = "2025-09-01" release_date = "2024-01-01" last_updated = "2025-09-01" -attachment = false -reasoning = false + +[modalities] +input = ["text"] +output = ["text"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } temperature = true -tool_call = false -knowledge = "2025-09-01" -open_weights = false +top_p = true +top_k = false [limit] context = 128_000 output = 4_096 -[modalities] -input = ["text"] -output = ["text"] - [[benchmarks]] name = "SciCode" score = 22.9 diff --git a/models/phocinae/phocinae-largha-150m-v1.toml b/models/phocinae/phocinae-largha-150m-v1.toml new file mode 100644 index 0000000000..8695c1767b --- /dev/null +++ b/models/phocinae/phocinae-largha-150m-v1.toml @@ -0,0 +1,35 @@ +# Source: https://huggingface.co/Phocinae/Phocinae-Largha-150M-v1 +# Output: decision probabilities from an encoder, not generated text, so there is nothing to sample +# (temperature/top_p/top_k false). +schema = 2 +type = "decision" +name = "Phocinae Largha 150M v1" +description = "Encoder decision model that answers typed questions (noul, choice, score) over text with calibrated probabilities, on CPU and GPU" +open_weights = true +release_date = "2026-10-08" +last_updated = "2026-10-09" +license = "Apache-2.0" + +[modalities] +input = ["text"] +output = ["decision"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 8_192 +output = 0 + +[[weights]] +label = "Hugging Face" +url = "https://huggingface.co/Phocinae/Phocinae-Largha-150M-v1" + +[[links]] +label = "Model card" +url = "https://huggingface.co/Phocinae/Phocinae-Largha-150M-v1" +type = "model_card" diff --git a/models/poolside/laguna-m.1.toml b/models/poolside/laguna-m.1.toml index 5e7d68504f..2bba6751a7 100644 --- a/models/poolside/laguna-m.1.toml +++ b/models/poolside/laguna-m.1.toml @@ -1,19 +1,24 @@ +# Sampling: open weights; generation_config.json sets temperature and top_p, and the model card samples with +# top_k=20 (https://huggingface.co/poolside/Laguna-M.1). +schema = 2 name = "Laguna M.1" description = "Poolside's open-weight model for agentic coding and long-horizon work" family = "laguna" +open_weights = true release_date = "2026-04-28" last_updated = "2026-06-13" -attachment = false -reasoning = true + +[modalities] +input = ["text"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } temperature = true -tool_call = true -structured_output = false -open_weights = true +top_p = true +top_k = true [limit] context = 262_144 output = 32_768 - -[modalities] -input = ["text"] -output = ["text"] diff --git a/models/poolside/laguna-s-2.1.toml b/models/poolside/laguna-s-2.1.toml index 3445961bd2..4a1fafcc13 100644 --- a/models/poolside/laguna-s-2.1.toml +++ b/models/poolside/laguna-s-2.1.toml @@ -1,19 +1,23 @@ +# Sampling: open weights; generation_config.json sets temperature and top_p, and the model card samples with +# top_k=20 (https://huggingface.co/poolside/Laguna-S-2.1). +schema = 2 name = "Laguna S 2.1" description = "Agentic coding model from Poolside in the XS size class for local deployment" family = "laguna" +open_weights = true release_date = "2026-07-21" -last_updated = "2026-07-21" -attachment = false -reasoning = true + +[modalities] +input = ["text"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } temperature = true -tool_call = true -structured_output = false -open_weights = true +top_p = true +top_k = true [limit] context = 1_048_576 output = 32_768 - -[modalities] -input = ["text"] -output = ["text"] \ No newline at end of file diff --git a/models/poolside/laguna-xs-2.1.toml b/models/poolside/laguna-xs-2.1.toml index 62b042ef20..b77fbad427 100644 --- a/models/poolside/laguna-xs-2.1.toml +++ b/models/poolside/laguna-xs-2.1.toml @@ -1,23 +1,27 @@ +# Sampling: open weights; generation_config.json sets temperature and top_p, and the model card samples with +# top_k=20 (https://huggingface.co/poolside/Laguna-XS-2.1). +schema = 2 name = "Laguna XS 2.1" description = "Agentic coding model from Poolside in the XS size class for local deployment" family = "laguna" +open_weights = true release_date = "2026-07-02" -last_updated = "2026-07-02" -attachment = false -reasoning = true + +[modalities] +input = ["text"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } temperature = true -tool_call = true -structured_output = false -open_weights = true +top_p = true +top_k = true [limit] context = 262_144 output = 32_768 -[modalities] -input = ["text"] -output = ["text"] - [[benchmarks]] name = "SWE-Bench Verified" score = 70.9 diff --git a/models/poolside/laguna-xs.2.toml b/models/poolside/laguna-xs.2.toml index 4ee1b454d1..77df573c6e 100644 --- a/models/poolside/laguna-xs.2.toml +++ b/models/poolside/laguna-xs.2.toml @@ -1,19 +1,24 @@ +# Sampling: open weights; generation_config.json sets temperature and top_p, and the model card samples with +# top_k=20 (https://huggingface.co/poolside/Laguna-XS.2). +schema = 2 name = "Laguna XS.2" description = "Agentic coding model from Poolside in the XS size class for local deployment" family = "laguna" +open_weights = true release_date = "2026-04-28" last_updated = "2026-06-13" -attachment = false -reasoning = true + +[modalities] +input = ["text"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } temperature = true -tool_call = true -structured_output = false -open_weights = true +top_p = true +top_k = true [limit] context = 262_144 output = 32_768 - -[modalities] -input = ["text"] -output = ["text"] diff --git a/models/quiverai/arrow-2-telos.toml b/models/quiverai/arrow-2-telos.toml new file mode 100644 index 0000000000..f947d5ac25 --- /dev/null +++ b/models/quiverai/arrow-2-telos.toml @@ -0,0 +1,27 @@ +# Sources (accessed 2026-09-19): +# https://docs.quiver.ai/developers/models +# https://docs.quiver.ai/developers/models/arrow-2-telos +# Sampling: https://docs.quiver.ai/api-reference/create-svgs/generate-svg (Arrow 2 Telos rejects +# any temperature or top_p value with HTTP 400; there is no top_k field). +# Formats: https://docs.quiver.ai/api-reference/vectorize-svg/vectorize-svg ("Accepted direct media types: +# image/png, image/jpeg, image/webp, image/gif, image/svg+xml"; outputs are mime_type image/svg+xml). +schema = 2 +name = "Arrow 2 Telos" +description = "High-fidelity SVG generation model for complex vector work and long-context refinement" +open_weights = false +release_date = "2026-09-16" + +[modalities] +input = ["text", "image/png", "image/jpeg", "image/webp", "image/gif", "image/svg+xml"] +output = ["text", "image/svg+xml"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } +temperature = false +top_p = false +top_k = false + +[limit] +context = 1_050_000 +output = 65_536 diff --git a/models/quiverai/arrow-2.toml b/models/quiverai/arrow-2.toml new file mode 100644 index 0000000000..36b5f2b056 --- /dev/null +++ b/models/quiverai/arrow-2.toml @@ -0,0 +1,27 @@ +# Sources (accessed 2026-09-19): +# https://docs.quiver.ai/developers/models +# https://docs.quiver.ai/developers/models/arrow-2 +# Sampling: https://docs.quiver.ai/api-reference/create-svgs/generate-svg (Arrow 2 accepts +# temperature and top_p on native SVG endpoints; there is no top_k field). +# Formats: https://docs.quiver.ai/api-reference/vectorize-svg/vectorize-svg ("Accepted direct media types: +# image/png, image/jpeg, image/webp, image/gif, image/svg+xml"; outputs are mime_type image/svg+xml). +schema = 2 +name = "Arrow 2" +description = "Fast SVG generation model for creation, vectorization, editing, and animation" +open_weights = false +release_date = "2026-09-16" + +[modalities] +input = ["text", "image/png", "image/jpeg", "image/webp", "image/gif", "image/svg+xml"] +output = ["text", "image/svg+xml"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } +temperature = true +top_p = true +top_k = false + +[limit] +context = 131_072 +output = 65_536 diff --git a/models/recraft/recraft-v3.toml b/models/recraft/recraft-v3.toml new file mode 100644 index 0000000000..ecbf0667f8 --- /dev/null +++ b/models/recraft/recraft-v3.toml @@ -0,0 +1,26 @@ +# Released in October 2024 (https://www.recraft.ai/docs/api-reference/models/recraft-v3); 2024-10-30 per https://vercel.com/ai-gateway/models/providers/recraft +# Inputs PNG, JPG or WEBP; raster output lossless WebP (default) or PNG, vector output SVG: +# https://www.recraft.ai/docs/api-reference/endpoints +schema = 2 +v2_only = true +type = "image" +name = "Recraft V3" +description = "Image model for photorealism and text rendering" +family = "recraft" +open_weights = false +release_date = "2024-10-30" + +[modalities] +input = ["text", "image/png", "image/jpeg", "image/webp"] +output = ["image/webp", "image/png"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 0 +output = 0 diff --git a/models/recraft/recraft-v4-pro-vector.toml b/models/recraft/recraft-v4-pro-vector.toml new file mode 100644 index 0000000000..7777e0790c --- /dev/null +++ b/models/recraft/recraft-v4-pro-vector.toml @@ -0,0 +1,26 @@ +# Released in February 2026 with Recraft V4 (https://www.recraft.ai/docs/api-reference/models/recraft-v4); 2026-02-17 per https://vercel.com/ai-gateway/models/providers/recraft +# Inputs PNG, JPG or WEBP; raster output lossless WebP (default) or PNG, vector output SVG: +# https://www.recraft.ai/docs/api-reference/endpoints +schema = 2 +v2_only = true +type = "image" +name = "Recraft V4 Pro Vector" +description = "Higher-detail Recraft V4 model that generates editable SVG images" +family = "recraft" +open_weights = false +release_date = "2026-02-17" + +[modalities] +input = ["text", "image/png", "image/jpeg", "image/webp"] +output = ["image/svg+xml"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 0 +output = 0 diff --git a/models/recraft/recraft-v4-pro.toml b/models/recraft/recraft-v4-pro.toml new file mode 100644 index 0000000000..19423880ef --- /dev/null +++ b/models/recraft/recraft-v4-pro.toml @@ -0,0 +1,26 @@ +# Released in February 2026 (https://www.recraft.ai/docs/api-reference/models/recraft-v4); 2026-02-17 per https://vercel.com/ai-gateway/models/providers/recraft +# Inputs PNG, JPG or WEBP; raster output lossless WebP (default) or PNG, vector output SVG: +# https://www.recraft.ai/docs/api-reference/endpoints +schema = 2 +v2_only = true +type = "image" +name = "Recraft V4 Pro" +description = "2K Recraft V4 image model with finer detail" +family = "recraft" +open_weights = false +release_date = "2026-02-17" + +[modalities] +input = ["text", "image/png", "image/jpeg", "image/webp"] +output = ["image/webp", "image/png"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 0 +output = 0 diff --git a/models/recraft/recraft-v4-styles-pro-vector.toml b/models/recraft/recraft-v4-styles-pro-vector.toml new file mode 100644 index 0000000000..6d53bb3390 --- /dev/null +++ b/models/recraft/recraft-v4-styles-pro-vector.toml @@ -0,0 +1,26 @@ +# Released 2026-08-26: https://www.recraft.ai/blog/meet-recraft-v4-styles, https://www.recraft.ai/docs/api-reference/models/recraft-v4-styles +# Inputs PNG, JPG or WEBP; raster output lossless WebP (default) or PNG, vector output SVG: +# https://www.recraft.ai/docs/api-reference/endpoints +schema = 2 +v2_only = true +type = "image" +name = "Recraft V4 Styles Pro Vector" +description = "Higher-detail style-consistent SVG image model driven by reference images" +family = "recraft" +open_weights = false +release_date = "2026-08-26" + +[modalities] +input = ["text", "image/png", "image/jpeg", "image/webp"] +output = ["image/svg+xml"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 0 +output = 0 diff --git a/models/recraft/recraft-v4-styles-pro.toml b/models/recraft/recraft-v4-styles-pro.toml new file mode 100644 index 0000000000..d44c4cd51d --- /dev/null +++ b/models/recraft/recraft-v4-styles-pro.toml @@ -0,0 +1,26 @@ +# Released 2026-08-26: https://www.recraft.ai/blog/meet-recraft-v4-styles, https://www.recraft.ai/docs/api-reference/models/recraft-v4-styles +# Inputs PNG, JPG or WEBP; raster output lossless WebP (default) or PNG, vector output SVG: +# https://www.recraft.ai/docs/api-reference/endpoints +schema = 2 +v2_only = true +type = "image" +name = "Recraft V4 Styles Pro" +description = "2K style-consistent image model driven by reference images" +family = "recraft" +open_weights = false +release_date = "2026-08-26" + +[modalities] +input = ["text", "image/png", "image/jpeg", "image/webp"] +output = ["image/webp", "image/png"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 0 +output = 0 diff --git a/models/recraft/recraft-v4-styles-vector.toml b/models/recraft/recraft-v4-styles-vector.toml new file mode 100644 index 0000000000..f65491f746 --- /dev/null +++ b/models/recraft/recraft-v4-styles-vector.toml @@ -0,0 +1,26 @@ +# Released 2026-08-26: https://www.recraft.ai/blog/meet-recraft-v4-styles, https://www.recraft.ai/docs/api-reference/models/recraft-v4-styles +# Inputs PNG, JPG or WEBP; raster output lossless WebP (default) or PNG, vector output SVG: +# https://www.recraft.ai/docs/api-reference/endpoints +schema = 2 +v2_only = true +type = "image" +name = "Recraft V4 Styles Vector" +description = "Style-consistent SVG image model driven by reference images" +family = "recraft" +open_weights = false +release_date = "2026-08-26" + +[modalities] +input = ["text", "image/png", "image/jpeg", "image/webp"] +output = ["image/svg+xml"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 0 +output = 0 diff --git a/models/recraft/recraft-v4-styles.toml b/models/recraft/recraft-v4-styles.toml new file mode 100644 index 0000000000..6b3114c064 --- /dev/null +++ b/models/recraft/recraft-v4-styles.toml @@ -0,0 +1,26 @@ +# Released 2026-08-26: https://www.recraft.ai/blog/meet-recraft-v4-styles, https://www.recraft.ai/docs/api-reference/models/recraft-v4-styles +# Inputs PNG, JPG or WEBP; raster output lossless WebP (default) or PNG, vector output SVG: +# https://www.recraft.ai/docs/api-reference/endpoints +schema = 2 +v2_only = true +type = "image" +name = "Recraft V4 Styles" +description = "Style-consistent image model driven by one to ten reference images" +family = "recraft" +open_weights = false +release_date = "2026-08-26" + +[modalities] +input = ["text", "image/png", "image/jpeg", "image/webp"] +output = ["image/webp", "image/png"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 0 +output = 0 diff --git a/models/recraft/recraft-v4-vector.toml b/models/recraft/recraft-v4-vector.toml new file mode 100644 index 0000000000..407f72a43c --- /dev/null +++ b/models/recraft/recraft-v4-vector.toml @@ -0,0 +1,26 @@ +# Released in February 2026 with Recraft V4 (https://www.recraft.ai/docs/api-reference/models/recraft-v4); 2026-02-17 per https://vercel.com/ai-gateway/models/providers/recraft +# Inputs PNG, JPG or WEBP; raster output lossless WebP (default) or PNG, vector output SVG: +# https://www.recraft.ai/docs/api-reference/endpoints +schema = 2 +v2_only = true +type = "image" +name = "Recraft V4 Vector" +description = "Recraft V4 model that generates editable SVG images" +family = "recraft" +open_weights = false +release_date = "2026-02-17" + +[modalities] +input = ["text", "image/png", "image/jpeg", "image/webp"] +output = ["image/svg+xml"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 0 +output = 0 diff --git a/models/recraft/recraft-v4.1-flash.toml b/models/recraft/recraft-v4.1-flash.toml new file mode 100644 index 0000000000..95aff4aec7 --- /dev/null +++ b/models/recraft/recraft-v4.1-flash.toml @@ -0,0 +1,26 @@ +# Released 2026-09-23: https://www.recraft.ai/blog/meet-recraft-v4-1-flash (text-to-image only, raster) +# Inputs PNG, JPG or WEBP; raster output lossless WebP (default) or PNG, vector output SVG: +# https://www.recraft.ai/docs/api-reference/endpoints +schema = 2 +v2_only = true +type = "image" +name = "Recraft V4.1 Flash" +description = "Fast, low-cost text-to-image model with quality close to Recraft V4.1" +family = "recraft" +open_weights = false +release_date = "2026-09-23" + +[modalities] +input = ["text"] +output = ["image/webp", "image/png"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 0 +output = 0 diff --git a/models/recraft/recraft-v4.1-pro-vector.toml b/models/recraft/recraft-v4.1-pro-vector.toml new file mode 100644 index 0000000000..76c2fac27e --- /dev/null +++ b/models/recraft/recraft-v4.1-pro-vector.toml @@ -0,0 +1,26 @@ +# Released 2026-05-14: https://www.recraft.ai/docs/recraft-models/recraft-v4-1 +# Inputs PNG, JPG or WEBP; raster output lossless WebP (default) or PNG, vector output SVG: +# https://www.recraft.ai/docs/api-reference/endpoints +schema = 2 +v2_only = true +type = "image" +name = "Recraft V4.1 Pro Vector" +description = "Higher-detail Recraft V4.1 model that generates editable SVG images" +family = "recraft" +open_weights = false +release_date = "2026-05-14" + +[modalities] +input = ["text", "image/png", "image/jpeg", "image/webp"] +output = ["image/svg+xml"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 0 +output = 0 diff --git a/models/recraft/recraft-v4.1-pro.toml b/models/recraft/recraft-v4.1-pro.toml new file mode 100644 index 0000000000..9d002346f0 --- /dev/null +++ b/models/recraft/recraft-v4.1-pro.toml @@ -0,0 +1,26 @@ +# Released 2026-05-14: https://www.recraft.ai/docs/recraft-models/recraft-v4-1 +# Inputs PNG, JPG or WEBP; raster output lossless WebP (default) or PNG, vector output SVG: +# https://www.recraft.ai/docs/api-reference/endpoints +schema = 2 +v2_only = true +type = "image" +name = "Recraft V4.1 Pro" +description = "2K Recraft V4.1 image model for print-ready detail" +family = "recraft" +open_weights = false +release_date = "2026-05-14" + +[modalities] +input = ["text", "image/png", "image/jpeg", "image/webp"] +output = ["image/webp", "image/png"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 0 +output = 0 diff --git a/models/recraft/recraft-v4.1-utility-pro-vector.toml b/models/recraft/recraft-v4.1-utility-pro-vector.toml new file mode 100644 index 0000000000..04129466ff --- /dev/null +++ b/models/recraft/recraft-v4.1-utility-pro-vector.toml @@ -0,0 +1,26 @@ +# Released 2026-05-14 with the V4.1 family, including the Utility tiers (docs pricing table lists V4.1 Utility Pro Vector): https://www.recraft.ai/docs/recraft-models/recraft-v4-1 +# Inputs PNG, JPG or WEBP; raster output lossless WebP (default) or PNG, vector output SVG: +# https://www.recraft.ai/docs/api-reference/endpoints +schema = 2 +v2_only = true +type = "image" +name = "Recraft V4.1 Utility Pro Vector" +description = "Higher-detail Recraft V4.1 Utility model that generates editable SVG images for mockups" +family = "recraft" +open_weights = false +release_date = "2026-05-14" + +[modalities] +input = ["text", "image/png", "image/jpeg", "image/webp"] +output = ["image/svg+xml"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 0 +output = 0 diff --git a/models/recraft/recraft-v4.1-utility-pro.toml b/models/recraft/recraft-v4.1-utility-pro.toml new file mode 100644 index 0000000000..1919f59280 --- /dev/null +++ b/models/recraft/recraft-v4.1-utility-pro.toml @@ -0,0 +1,26 @@ +# Released 2026-05-14: https://www.recraft.ai/docs/recraft-models/recraft-v4-1 +# Inputs PNG, JPG or WEBP; raster output lossless WebP (default) or PNG, vector output SVG: +# https://www.recraft.ai/docs/api-reference/endpoints +schema = 2 +v2_only = true +type = "image" +name = "Recraft V4.1 Utility Pro" +description = "2K Recraft V4.1 Utility model for product shots and mockups" +family = "recraft" +open_weights = false +release_date = "2026-05-14" + +[modalities] +input = ["text", "image/png", "image/jpeg", "image/webp"] +output = ["image/webp", "image/png"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 0 +output = 0 diff --git a/models/recraft/recraft-v4.1-utility-vector.toml b/models/recraft/recraft-v4.1-utility-vector.toml new file mode 100644 index 0000000000..7e9caf788e --- /dev/null +++ b/models/recraft/recraft-v4.1-utility-vector.toml @@ -0,0 +1,26 @@ +# Released 2026-05-14 with the V4.1 family, including the Utility tiers (docs pricing table lists V4.1 Utility Vector): https://www.recraft.ai/docs/recraft-models/recraft-v4-1 +# Inputs PNG, JPG or WEBP; raster output lossless WebP (default) or PNG, vector output SVG: +# https://www.recraft.ai/docs/api-reference/endpoints +schema = 2 +v2_only = true +type = "image" +name = "Recraft V4.1 Utility Vector" +description = "Recraft V4.1 Utility model that generates editable SVG images for mockups" +family = "recraft" +open_weights = false +release_date = "2026-05-14" + +[modalities] +input = ["text", "image/png", "image/jpeg", "image/webp"] +output = ["image/svg+xml"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 0 +output = 0 diff --git a/models/recraft/recraft-v4.1-utility.toml b/models/recraft/recraft-v4.1-utility.toml new file mode 100644 index 0000000000..c20b3bf7f8 --- /dev/null +++ b/models/recraft/recraft-v4.1-utility.toml @@ -0,0 +1,26 @@ +# Released 2026-05-14: https://www.recraft.ai/docs/recraft-models/recraft-v4-1 +# Inputs PNG, JPG or WEBP; raster output lossless WebP (default) or PNG, vector output SVG: +# https://www.recraft.ai/docs/api-reference/endpoints +schema = 2 +v2_only = true +type = "image" +name = "Recraft V4.1 Utility" +description = "Recraft V4.1 model with flat lighting and simple composition for mockups" +family = "recraft" +open_weights = false +release_date = "2026-05-14" + +[modalities] +input = ["text", "image/png", "image/jpeg", "image/webp"] +output = ["image/webp", "image/png"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 0 +output = 0 diff --git a/models/recraft/recraft-v4.1-vector.toml b/models/recraft/recraft-v4.1-vector.toml new file mode 100644 index 0000000000..a5a679969d --- /dev/null +++ b/models/recraft/recraft-v4.1-vector.toml @@ -0,0 +1,26 @@ +# Released 2026-05-14: https://www.recraft.ai/docs/recraft-models/recraft-v4-1 +# Inputs PNG, JPG or WEBP; raster output lossless WebP (default) or PNG, vector output SVG: +# https://www.recraft.ai/docs/api-reference/endpoints +schema = 2 +v2_only = true +type = "image" +name = "Recraft V4.1 Vector" +description = "Recraft V4.1 model that generates editable SVG images" +family = "recraft" +open_weights = false +release_date = "2026-05-14" + +[modalities] +input = ["text", "image/png", "image/jpeg", "image/webp"] +output = ["image/svg+xml"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 0 +output = 0 diff --git a/models/recraft/recraft-v4.1.toml b/models/recraft/recraft-v4.1.toml new file mode 100644 index 0000000000..ec64c4ebf3 --- /dev/null +++ b/models/recraft/recraft-v4.1.toml @@ -0,0 +1,26 @@ +# Released 2026-05-14: https://www.recraft.ai/docs/recraft-models/recraft-v4-1 +# Inputs PNG, JPG or WEBP; raster output lossless WebP (default) or PNG, vector output SVG: +# https://www.recraft.ai/docs/api-reference/endpoints +schema = 2 +v2_only = true +type = "image" +name = "Recraft V4.1" +description = "Default Recraft image model for photorealism and illustration at 1K" +family = "recraft" +open_weights = false +release_date = "2026-05-14" + +[modalities] +input = ["text", "image/png", "image/jpeg", "image/webp"] +output = ["image/webp", "image/png"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 0 +output = 0 diff --git a/models/recraft/recraft-v4.toml b/models/recraft/recraft-v4.toml new file mode 100644 index 0000000000..fdcc6d48f2 --- /dev/null +++ b/models/recraft/recraft-v4.toml @@ -0,0 +1,26 @@ +# Released in February 2026 (https://www.recraft.ai/docs/api-reference/models/recraft-v4); 2026-02-17 per https://vercel.com/ai-gateway/models/providers/recraft +# Inputs PNG, JPG or WEBP; raster output lossless WebP (default) or PNG, vector output SVG: +# https://www.recraft.ai/docs/api-reference/endpoints +schema = 2 +v2_only = true +type = "image" +name = "Recraft V4" +description = "Image model with design taste and prompt accuracy at 1K" +family = "recraft" +open_weights = false +release_date = "2026-02-17" + +[modalities] +input = ["text", "image/png", "image/jpeg", "image/webp"] +output = ["image/webp", "image/png"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 0 +output = 0 diff --git a/models/recursive/flint.toml b/models/recursive/flint.toml new file mode 100644 index 0000000000..bc4d24605a --- /dev/null +++ b/models/recursive/flint.toml @@ -0,0 +1,48 @@ +# Recursive Flint. Model card: https://huggingface.co/RecursiveSI/flint +# Decoder-only MoE, 39.8B total / ~2.5B active parameters; text in, text out; +# 262,144-token context shared by prompt and output; stated knowledge cutoff June 2026; Apache 2.0. +# Announcement: https://www.recursive.com/updates/introducing-recursive-flint +# Sampling: open weights, so temperature, top_p and top_k are runtime sampler settings on any host; +# the card recommends temperature 1.0, top_p 0.95, top_k 20. +schema = 2 +name = "Flint" +description = "Open-weight mixture-of-experts model with about 2.5B active parameters for local coding agents" +family = "flint" +open_weights = true +knowledge = "2026-06" +release_date = "2026-10-21" +license = "Apache-2.0" + +[modalities] +input = ["text"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } +temperature = true +top_p = true +top_k = true + +[limit] +context = 262_144 +output = 262_144 + +[[weights]] +label = "Hugging Face" +url = "https://huggingface.co/RecursiveSI/flint" + +[[weights]] +label = "Hugging Face (INT4)" +url = "https://huggingface.co/RecursiveSI/flint-int4" +quantization = "int4" + +[[links]] +label = "Model card" +url = "https://huggingface.co/RecursiveSI/flint" +type = "model_card" + +[[links]] +label = "Introducing Recursive Flint" +url = "https://www.recursive.com/updates/introducing-recursive-flint" +type = "announcement" diff --git a/models/reflection/beam-1.0-501b-a23b.toml b/models/reflection/beam-1.0-501b-a23b.toml new file mode 100644 index 0000000000..371adcd0f7 --- /dev/null +++ b/models/reflection/beam-1.0-501b-a23b.toml @@ -0,0 +1,240 @@ +# Reflection Beam 1.0 (API model ID Beam-1.0-501B-A23B). +# Model card: https://huggingface.co/reflection/Beam-1.0-501B-A23B +# Sparse MoE, 501.3B total / 23.4B active parameters; text in, text out; 1M context; +# knowledge cutoff June 30, 2026; Apache 2.0 weights in BF16, FP8, and NVFP4. +# Benchmarks are the card's final BF16 results (temperature 0.7, top_p 0.99). +# API limits: 1_048_576 context (prompt + output), 131_072 max output (includes reasoning): +# https://developers.reflection.ai/models (created 2026-10-05) +# Text-only input; temperature, tools, and json_object/json_schema structured outputs: +# https://developers.reflection.ai/openai-compatibility +# Announcements: https://reflection.ai/blog/introducing-beam, https://reflection.ai/blog/beam-is-available +# Sampling: open weights, so temperature, top_p and top_k are runtime sampler settings on any host; +# generation_config.json sets temperature 0.7 and top_p 0.99. +schema = 2 +name = "Beam 1.0 501B A23B" +description = "Sparse mixture-of-experts reasoning model with 23B active parameters for coding and agentic workflows" +family = "beam" +open_weights = true +knowledge = "2026-06-30" +release_date = "2026-10-05" +last_updated = "2026-10-16" +license = "Apache-2.0" + +[modalities] +input = ["text"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } +temperature = true +top_p = true +top_k = true + +[limit] +context = 1_048_576 +output = 131_072 + +[[weights]] +label = "Hugging Face" +url = "https://huggingface.co/reflection/Beam-1.0-501B-A23B" + +[[weights]] +label = "Hugging Face (FP8)" +url = "https://huggingface.co/reflection/Beam-1.0-501B-A23B-FP8" +quantization = "fp8" + +[[weights]] +label = "Hugging Face (NVFP4)" +url = "https://huggingface.co/reflection/Beam-1.0-501B-A23B-NVFP4" +quantization = "nvfp4" + +[[links]] +label = "Model card" +url = "https://huggingface.co/reflection/Beam-1.0-501B-A23B" +type = "model_card" + +[[links]] +label = "Launch announcement" +url = "https://reflection.ai/blog/beam-is-available" +type = "announcement" + +[[links]] +label = "Introducing Beam" +url = "https://reflection.ai/blog/introducing-beam" +type = "blog" + +[[links]] +label = "API docs" +url = "https://developers.reflection.ai/models" +type = "docs" + +[[benchmarks]] +name = "DeepSWE" +score = 43.3 +variant = "BF16" +version = "1.1" +source = "https://huggingface.co/reflection/Beam-1.0-501B-A23B" +date = "2026-10-16" + +[[benchmarks]] +name = "SWE-Bench Pro" +score = 76.5 +variant = "BF16" +dataset = "hard" +version = "2" +source = "https://huggingface.co/reflection/Beam-1.0-501B-A23B" +date = "2026-10-16" + +[[benchmarks]] +name = "SWE-Bench Pro" +score = 66.1 +variant = "BF16" +version = "1" +source = "https://huggingface.co/reflection/Beam-1.0-501B-A23B" +date = "2026-10-16" + +[[benchmarks]] +name = "Terminal-Bench" +score = 80.1 +variant = "BF16" +version = "2.1" +source = "https://huggingface.co/reflection/Beam-1.0-501B-A23B" +date = "2026-10-16" + +[[benchmarks]] +name = "SWE-Atlas Codebase QnA" +score = 31.8 +variant = "BF16" +source = "https://huggingface.co/reflection/Beam-1.0-501B-A23B" +date = "2026-10-16" + +[[benchmarks]] +name = "SWE-Bench Multilingual" +score = 78.3 +variant = "BF16" +source = "https://huggingface.co/reflection/Beam-1.0-501B-A23B" +date = "2026-10-16" + +[[benchmarks]] +name = "SWE-Bench Verified" +score = 81.6 +variant = "BF16" +source = "https://huggingface.co/reflection/Beam-1.0-501B-A23B" +date = "2026-10-16" + +[[benchmarks]] +name = "AIME 2026" +score = 97.7 +variant = "BF16" +source = "https://huggingface.co/reflection/Beam-1.0-501B-A23B" +date = "2026-10-16" + +[[benchmarks]] +name = "Humanity's Last Exam" +score = 36.0 +variant = "BF16; no tools" +source = "https://huggingface.co/reflection/Beam-1.0-501B-A23B" +date = "2026-10-16" + +[[benchmarks]] +name = "Humanity's Last Exam" +score = 51.1 +variant = "BF16; with tools" +source = "https://huggingface.co/reflection/Beam-1.0-501B-A23B" +date = "2026-10-16" + +[[benchmarks]] +name = "SciCode" +score = 49.2 +variant = "BF16" +source = "https://huggingface.co/reflection/Beam-1.0-501B-A23B" +date = "2026-10-16" + +[[benchmarks]] +name = "CritPt" +score = 16.3 +variant = "BF16" +source = "https://huggingface.co/reflection/Beam-1.0-501B-A23B" +date = "2026-10-16" + +[[benchmarks]] +name = "GPQA Diamond" +score = 90.6 +variant = "BF16" +source = "https://huggingface.co/reflection/Beam-1.0-501B-A23B" +date = "2026-10-16" + +[[benchmarks]] +name = "LiveCodeBench" +score = 88.3 +variant = "BF16" +source = "https://huggingface.co/reflection/Beam-1.0-501B-A23B" +date = "2026-10-16" + +[[benchmarks]] +name = "AutomationBench" +score = 39.3 +variant = "BF16" +dataset = "public" +source = "https://huggingface.co/reflection/Beam-1.0-501B-A23B" +date = "2026-10-16" + +[[benchmarks]] +name = "MCP Atlas" +score = 80.8 +variant = "BF16" +source = "https://huggingface.co/reflection/Beam-1.0-501B-A23B" +date = "2026-10-16" + +[[benchmarks]] +name = "τ3 Banking" +score = 36.1 +variant = "BF16" +source = "https://huggingface.co/reflection/Beam-1.0-501B-A23B" +date = "2026-10-16" + +[[benchmarks]] +name = "BrowseComp" +score = 76.8 +variant = "BF16; with context management" +source = "https://huggingface.co/reflection/Beam-1.0-501B-A23B" +date = "2026-10-16" + +[[benchmarks]] +name = "DeepSearchQA" +score = 80.5 +variant = "BF16; with context management" +source = "https://huggingface.co/reflection/Beam-1.0-501B-A23B" +date = "2026-10-16" + +[[benchmarks]] +name = "AA-LCR" +score = 78.2 +variant = "BF16" +source = "https://huggingface.co/reflection/Beam-1.0-501B-A23B" +date = "2026-10-16" + +[[benchmarks]] +name = "LongBench" +score = 67.5 +variant = "BF16" +version = "2" +source = "https://huggingface.co/reflection/Beam-1.0-501B-A23B" +date = "2026-10-16" + +[[benchmarks]] +name = "IFBench" +score = 79.6 +variant = "BF16" +source = "https://huggingface.co/reflection/Beam-1.0-501B-A23B" +date = "2026-10-16" + +[[benchmarks]] +name = "AA-Omniscience" +score = 10.8 +metric = "index" +variant = "BF16" +dataset = "public split" +source = "https://huggingface.co/reflection/Beam-1.0-501B-A23B" +date = "2026-10-16" diff --git a/models/rekaai/reka-edge.toml b/models/rekaai/reka-edge.toml new file mode 100644 index 0000000000..73cad57747 --- /dev/null +++ b/models/rekaai/reka-edge.toml @@ -0,0 +1,33 @@ +# Lab metadata carried over from providers/openrouter/models/rekaai/reka-edge.toml (curated catalogue data already +# in this repo), +# with provider-specific fields (cost, reasoning_options, status) stripped. +# Sources: +# - Release 2026-03-11: https://reka.ai/news/reka-edge-frontier-level-edge-intelligence-for-physical-ai +# - https://huggingface.co/RekaAI/reka-edge-2603 (open weights; image/video + text input) +# - https://docs.reka.ai/chat/models.md (reka-edge-2603: 16k context, text/image/video input, tools) +# Sampling: open weights, so temperature, top_p and top_k are runtime sampler settings on any host; the Reka API +# also takes temperature, top_p and top_k +# (https://docs.reka.ai/chat/api-reference/create-chat-completion.md). +# Image/video input: neither the model card nor the Reka API docs (https://docs.reka.ai/chat/multimodal.md) +# list accepted formats, so the inputs stay generic `image` and `video`. +schema = 2 +name = "Reka Edge" +description = "Multimodal model for analyzing text, images, documents, and rich media" +family = "reka" +open_weights = true +release_date = "2026-03-11" + +[modalities] +input = ["image", "text", "video"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = false } +temperature = true +top_p = true +top_k = true + +[limit] +context = 16_384 +output = 14_745 diff --git a/models/rekaai/reka-flash-3.toml b/models/rekaai/reka-flash-3.toml new file mode 100644 index 0000000000..d085d25d00 --- /dev/null +++ b/models/rekaai/reka-flash-3.toml @@ -0,0 +1,30 @@ +# Lab metadata carried over from providers/openrouter/models/rekaai/reka-flash-3.toml (curated catalogue data +# already in this repo), +# with provider-specific fields (cost, reasoning_options, status) stripped. +# Sources: +# - Release 2025-03-10: https://reka.ai/news/introducing-reka-flash ("Reasoning with Reka Flash 3", Mar 10, 2025) +# - https://huggingface.co/RekaAI/reka-flash-3 (Apache-2.0 weights) +# Sampling: open weights, so temperature, top_p and top_k are runtime sampler settings on any host; +# generation_config.json sets temperature 0.6, top_p 0.95, top_k 1024. +schema = 2 +name = "Reka Flash 3" +description = "Efficient model for low-latency assistance, extraction, and routine automation" +family = "reka" +open_weights = true +knowledge = "2025-01-31" +release_date = "2025-03-10" + +[modalities] +input = ["text"] +output = ["text"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = true } +temperature = true +top_p = true +top_k = true + +[limit] +context = 65_536 +output = 58_982 diff --git a/models/relace/relace-apply-3.toml b/models/relace/relace-apply-3.toml new file mode 100644 index 0000000000..52dba4c29a --- /dev/null +++ b/models/relace/relace-apply-3.toml @@ -0,0 +1,25 @@ +# Lab metadata carried over from providers/openrouter/models/relace/relace-apply-3.toml (curated catalogue data +# already in this repo), +# with provider-specific fields (cost, reasoning_options, status) stripped. +# Sampling: https://docs.relace.ai/api-reference/instant-apply/apply.md takes no sampling parameters, and +# Relace's own endpoint advertises none (temperature/top_p/top_k false). +schema = 2 +name = "Relace Apply 3" +description = "General-purpose chat model for instruction following, writing, and analysis" +open_weights = false +release_date = "2025-09-26" + +[modalities] +input = ["text"] +output = ["text"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 256_000 +output = 128_000 diff --git a/models/relace/relace-search.toml b/models/relace/relace-search.toml new file mode 100644 index 0000000000..3f044d1343 --- /dev/null +++ b/models/relace/relace-search.toml @@ -0,0 +1,26 @@ +# Lab metadata carried over from providers/openrouter/models/relace/relace-search.toml (curated catalogue data +# already in this repo), +# with provider-specific fields (cost, reasoning_options, status) stripped. +# Sampling: Relace's endpoint advertises temperature and top_p but not top_k +# (https://openrouter.ai/api/v1/models/relace/relace-search/endpoints, provider Relace, 2026-10-20); +# https://docs.relace.ai/api-reference/fast-agentic-search/search.md documents no other sampling fields. +schema = 2 +name = "Relace Search" +description = "Tool-capable chat model for instruction following and agentic application workflows" +open_weights = false +release_date = "2025-12-08" + +[modalities] +input = ["text"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = false } +temperature = true +top_p = true +top_k = false + +[limit] +context = 256_000 +output = 128_000 diff --git a/models/runway/aleph-2.toml b/models/runway/aleph-2.toml new file mode 100644 index 0000000000..b97b337377 --- /dev/null +++ b/models/runway/aleph-2.toml @@ -0,0 +1,27 @@ +# Released in June 2026; on the Runway API since 2026-06-02: https://www.youtube.com/watch?v=mO5PAxbE5Cs, +# https://docs.dev.runwayml.com/api-details/api_changelog (Gen-4 Aleph users moved to aleph2) +# Inputs: images JPEG, PNG or WebP; videos MP4 or MOV: https://docs.dev.runwayml.com/assets/inputs/ +# Output: MP4. +schema = 2 +v2_only = true +type = "video" +name = "Aleph 2.0" +description = "In-context video editing model that applies text and keyframe edits across existing footage" +family = "runway" +open_weights = false +release_date = "2026-06" + +[modalities] +input = ["text", "image/jpeg", "image/png", "image/webp", "video/mp4", "video/quicktime"] +output = ["video/mp4"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 0 +output = 0 diff --git a/models/runway/gen-4.5.toml b/models/runway/gen-4.5.toml new file mode 100644 index 0000000000..40083436ed --- /dev/null +++ b/models/runway/gen-4.5.toml @@ -0,0 +1,26 @@ +# Released 2025-12-01: https://runway.com/research/introducing-runway-gen-4.5 +# Inputs: images JPEG, PNG or WebP; videos MP4 or MOV: https://docs.dev.runwayml.com/assets/inputs/ +# Output: MP4. +schema = 2 +v2_only = true +type = "video" +name = "Gen-4.5" +description = "Text- and image-to-video model for cinematic motion and prompt adherence" +family = "runway" +open_weights = false +release_date = "2025-12-01" + +[modalities] +input = ["text", "image/jpeg", "image/png", "image/webp"] +output = ["video/mp4"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 0 +output = 0 diff --git a/models/runwayml/aleph-2.toml b/models/runwayml/aleph-2.toml new file mode 100644 index 0000000000..a64cc1cede --- /dev/null +++ b/models/runwayml/aleph-2.toml @@ -0,0 +1,24 @@ +# Available on the Runway API 2026-06-02 ("Aleph 2.0 is now available"): https://docs.dev.runwayml.com/api-details/api_changelog/ +# Input formats (images JPEG, PNG, WebP; videos MP4, QuickTime, Matroska, WebM): https://docs.dev.runwayml.com/assets/inputs/ ; outputs are MP4 URLs: https://docs.dev.runwayml.com/assets/outputs/ +schema = 2 +v2_only = true +type = "video" +name = "Aleph 2.0" +description = "Video editing model that changes existing footage from a text prompt and optional keyframe images" +open_weights = false +release_date = "2026-06-02" + +[modalities] +input = ["text", "image/jpeg", "image/png", "image/webp", "video/mp4", "video/quicktime", "video/x-matroska", "video/webm"] +output = ["video/mp4"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 0 +output = 0 diff --git a/models/runwayml/gen-4.5.toml b/models/runwayml/gen-4.5.toml new file mode 100644 index 0000000000..cc71e9225e --- /dev/null +++ b/models/runwayml/gen-4.5.toml @@ -0,0 +1,24 @@ +# Released 2025-12-01: https://runwayml.com/research/introducing-runway-gen-4.5 +# Input formats (images JPEG, PNG, WebP; videos MP4, QuickTime, Matroska, WebM): https://docs.dev.runwayml.com/assets/inputs/ ; outputs are MP4 URLs: https://docs.dev.runwayml.com/assets/outputs/ +schema = 2 +v2_only = true +type = "video" +name = "Gen-4.5" +description = "Video generation model for text-to-video and image-to-video with precise prompt adherence and physical accuracy" +open_weights = false +release_date = "2025-12-01" + +[modalities] +input = ["text", "image/jpeg", "image/png", "image/webp"] +output = ["video/mp4"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 0 +output = 0 diff --git a/models/sakana/fugu-max.toml b/models/sakana/fugu-max.toml new file mode 100644 index 0000000000..95c09609d5 --- /dev/null +++ b/models/sakana/fugu-max.toml @@ -0,0 +1,26 @@ +# Lab metadata carried over from providers/openrouter/models/sakana/fugu-max.toml (curated catalogue data already in this repo), +# with provider-specific fields (cost, reasoning_options, status) stripped. +# Sampling: https://console.sakana.ai/models?model=fugu lists temperature and top_p as "Accepted but ignored" on +# Responses and Chat Completions and documents no top_k, so all three are off. +# Input: the Sakana docs list no image formats (image input only), so input stays generic `image`. +schema = 2 +name = "Fugu Max" +description = "Multi-agent model for routing expert agents across complex analytical tasks" +family = "fugu" +open_weights = false +release_date = "2026-09-11" + +[modalities] +input = ["text", "image", "application/pdf"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } +temperature = false +top_p = false +top_k = false + +[limit] +context = 1_000_000 +output = 128_000 diff --git a/models/sakana/fugu-ultra-v2.toml b/models/sakana/fugu-ultra-v2.toml new file mode 100644 index 0000000000..dd00ae4fb5 --- /dev/null +++ b/models/sakana/fugu-ultra-v2.toml @@ -0,0 +1,28 @@ +# Lab metadata carried over from providers/openrouter/models/sakana/fugu-ultra-v2.toml (curated catalogue data already in this repo), +# with provider-specific fields (cost, reasoning_options, status) stripped. +# Sampling: https://console.sakana.ai/models?model=fugu lists temperature and top_p as "Accepted but ignored" on +# Responses and Chat Completions and documents no top_k, so all three are off. +# Input: the Sakana docs list no image formats (image input only), so input stays generic `image`. +# Knowledge: "Fugu Ultra's training cutoff date is 20260828" (https://console.sakana.ai/models?model=fugu). +schema = 2 +name = "Fugu Ultra v2" +description = "Quality-first multi-agent model for hard research, analysis, and competitions" +family = "fugu" +open_weights = false +knowledge = "2026-08-28" +release_date = "2026-09-11" + +[modalities] +input = ["text", "image", "application/pdf"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } +temperature = false +top_p = false +top_k = false + +[limit] +context = 1_000_000 +output = 128_000 diff --git a/models/sakana/fugu-ultra.toml b/models/sakana/fugu-ultra.toml index 9cbdaa2354..0c70e5c952 100644 --- a/models/sakana/fugu-ultra.toml +++ b/models/sakana/fugu-ultra.toml @@ -1,22 +1,27 @@ +# Sampling: https://console.sakana.ai/models?model=fugu lists temperature and top_p as "Accepted but ignored" on +# Responses and Chat Completions and documents no top_k, so all three are off. +# Input: the Sakana docs list no image formats (image input only), so input stays generic `image`. +schema = 2 name = "Fugu Ultra" description = "Quality-first multi-agent model for hard research, analysis, and competitions" family = "fugu" -release_date = "2026-06-15" -last_updated = "2026-06-15" -attachment = true -reasoning = true -temperature = false -tool_call = true -structured_output = true open_weights = false - -[limit] -context = 1_000_000 +release_date = "2026-06-15" [modalities] input = ["text", "image"] output = ["text"] +[capabilities] +tools = { supported = true } +reasoning = { supported = true } +temperature = false +top_p = false +top_k = false + +[limit] +context = 1_000_000 + [[links]] label = "Official model catalog" url = "https://raw.githubusercontent.com/SakanaAI/fugu/refs/heads/main/configs/files/fugu.json" diff --git a/models/sakana/fugu.toml b/models/sakana/fugu.toml index 95bd56eaa7..9cf97b134f 100644 --- a/models/sakana/fugu.toml +++ b/models/sakana/fugu.toml @@ -1,22 +1,27 @@ +# Sampling: https://console.sakana.ai/models?model=fugu lists temperature and top_p as "Accepted but ignored" on +# Responses and Chat Completions and documents no top_k, so all three are off. +# Input: the Sakana docs list no image formats (image input only), so input stays generic `image`. +schema = 2 name = "Fugu" description = "Multi-agent model for routing expert agents across complex analytical tasks" family = "fugu" -release_date = "2026-06-15" -last_updated = "2026-06-15" -attachment = true -reasoning = true -temperature = false -tool_call = true -structured_output = true open_weights = false - -[limit] -context = 1_000_000 +release_date = "2026-06-15" [modalities] input = ["text", "image"] output = ["text"] +[capabilities] +tools = { supported = true } +reasoning = { supported = true } +temperature = false +top_p = false +top_k = false + +[limit] +context = 1_000_000 + [[links]] label = "Official model catalog" url = "https://raw.githubusercontent.com/SakanaAI/fugu/refs/heads/main/configs/files/fugu.json" diff --git a/models/sakana/sakana-namazu.toml b/models/sakana/sakana-namazu.toml index 1c0f5b67cc..edec37eb4c 100644 --- a/models/sakana/sakana-namazu.toml +++ b/models/sakana/sakana-namazu.toml @@ -1,23 +1,29 @@ +# https://console.sakana.ai/models?model=sakana-namazu +# Sampling: the Messages API fields list temperature, top_p and top_k; Responses lists temperature and top_p. +# Input: image input via URL or base64 with no formats listed, so it stays generic `image`; file input +# includes PDF. +schema = 2 name = "Sakana Namazu" description = "Japanese-specialized reasoning model based on Kimi K2.6 and tuned for Japanese language, culture, and business workflows" family = "sakana-namazu" +open_weights = false release_date = "2026-08-03" -last_updated = "2026-08-03" -attachment = true -reasoning = true + +[modalities] +input = ["text", "image", "application/pdf"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } temperature = true -tool_call = true -structured_output = true -open_weights = false +top_p = true +top_k = true [limit] context = 262_144 output = 65_536 -[modalities] -input = ["text", "image", "pdf"] -output = ["text"] - [[links]] label = "Official product page" url = "https://sakana.ai/namazu/" diff --git a/models/sao10k/l3-lunaris-8b.toml b/models/sao10k/l3-lunaris-8b.toml new file mode 100644 index 0000000000..3c3b0ee289 --- /dev/null +++ b/models/sao10k/l3-lunaris-8b.toml @@ -0,0 +1,27 @@ +# Lab metadata carried over from providers/openrouter/models/sao10k/l3-lunaris-8b.toml (curated catalogue data +# already in this repo), +# with provider-specific fields (cost, reasoning_options, status) stripped. +# Sampling: open weights, so temperature, top_p and top_k are runtime sampler settings on any host; the model card +# (https://huggingface.co/Sao10K/L3-8B-Lunaris-v1) recommends temperature 1.4, min_p 0.1. +schema = 2 +name = "Llama 3 8B Lunaris" +description = "Open Llama instruction model for multilingual chat, reasoning, and coding" +family = "llama" +open_weights = true +knowledge = "2023-12-31" +release_date = "2024-08-13" + +[modalities] +input = ["text"] +output = ["text"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = true +top_p = true +top_k = true + +[limit] +context = 8_192 +output = 7_372 diff --git a/models/sao10k/l3.1-euryale-70b.toml b/models/sao10k/l3.1-euryale-70b.toml new file mode 100644 index 0000000000..e896667525 --- /dev/null +++ b/models/sao10k/l3.1-euryale-70b.toml @@ -0,0 +1,28 @@ +# Lab metadata carried over from providers/openrouter/models/sao10k/l3.1-euryale-70b.toml (curated catalogue data +# already in this repo), +# with provider-specific fields (cost, reasoning_options, status) stripped. +# Sampling: open weights, so temperature, top_p and top_k are runtime sampler settings on any host; the model card +# (https://huggingface.co/Sao10K/L3.1-70B-Euryale-v2.2) recommends temperature 1.2, +# min_p 0.2, and generation_config.json sets temperature 0.6, top_p 0.9. +schema = 2 +name = "Llama 3.1 Euryale 70B v2.2" +description = "Open Llama instruction model for multilingual chat, reasoning, and coding" +family = "llama" +open_weights = true +knowledge = "2023-12-31" +release_date = "2024-08-28" + +[modalities] +input = ["text"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = false } +temperature = true +top_p = true +top_k = true + +[limit] +context = 131_072 +output = 16_384 diff --git a/models/sao10k/l3.3-euryale-70b.toml b/models/sao10k/l3.3-euryale-70b.toml new file mode 100644 index 0000000000..7b4ab90a6c --- /dev/null +++ b/models/sao10k/l3.3-euryale-70b.toml @@ -0,0 +1,28 @@ +# Lab metadata carried over from providers/openrouter/models/sao10k/l3.3-euryale-70b.toml (curated catalogue data +# already in this repo), +# with provider-specific fields (cost, reasoning_options, status) stripped. +# Sampling: open weights, so temperature, top_p and top_k are runtime sampler settings on any host; the model card +# (https://huggingface.co/Sao10K/L3.3-70B-Euryale-v2.3) recommends temperature 1.1, +# min_p 0.1, and generation_config.json sets temperature 0.6, top_p 0.9. +schema = 2 +name = "Llama 3.3 Euryale 70B" +description = "Open Llama instruction model for multilingual chat, reasoning, and coding" +family = "llama" +open_weights = true +knowledge = "2023-12-31" +release_date = "2024-12-18" + +[modalities] +input = ["text"] +output = ["text"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = true +top_p = true +top_k = true + +[limit] +context = 131_072 +output = 16_384 diff --git a/models/sarvam/sarvam-105b.toml b/models/sarvam/sarvam-105b.toml index 753f6498b6..48ed7fe60a 100644 --- a/models/sarvam/sarvam-105b.toml +++ b/models/sarvam/sarvam-105b.toml @@ -1,18 +1,27 @@ +# Sources: +# - https://www.sarvam.ai/blogs/sarvam-30b-105b (open-sourced 2026-03-06 after being unveiled with Sarvam 30B at +# the India AI Impact Summit on 2026-02-18; Apache-2.0 weights) +# - https://huggingface.co/sarvamai/sarvam-105b (config.json max_position_embeddings 131072) +# Sampling: open weights, so temperature, top_p and top_k are runtime sampler settings on any host; the model card +# examples use temperature 0.8, top_p 0.95. +schema = 2 name = "Sarvam 105B" description = "Flagship Indian-language reasoning model for enterprise multilingual applications" family = "sarvam" -release_date = "2025-09-01" -last_updated = "2025-09-01" -attachment = false -reasoning = true -temperature = true -tool_call = true open_weights = true - -[limit] -context = 131_072 -output = 131_072 +release_date = "2026-02-18" [modalities] input = ["text"] output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } +temperature = true +top_p = true +top_k = true + +[limit] +context = 131_072 +output = 131_072 diff --git a/models/sarvam/sarvam-30b.toml b/models/sarvam/sarvam-30b.toml index e16fc2f442..53f10103a8 100644 --- a/models/sarvam/sarvam-30b.toml +++ b/models/sarvam/sarvam-30b.toml @@ -1,18 +1,27 @@ +# Sources: +# - https://www.sarvam.ai/blogs/sarvam-30b-105b (open-sourced 2026-03-06 after being unveiled at the India AI +# Impact Summit on 2026-02-18; Apache-2.0 weights) +# - https://huggingface.co/sarvamai/sarvam-30b +# Sampling: open weights, so temperature, top_p and top_k are runtime sampler settings on any host; the model card +# examples use temperature 0.8, top_p 0.95. +schema = 2 name = "Sarvam 30B" description = "Efficient Indian-language reasoning model for chat, coding, and multilingual work" family = "sarvam" +open_weights = true release_date = "2026-02-18" -last_updated = "2026-02-18" -attachment = false -reasoning = true + +[modalities] +input = ["text"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } temperature = true -tool_call = true -open_weights = true +top_p = true +top_k = true [limit] context = 128_000 output = 128_000 - -[modalities] -input = ["text"] -output = ["text"] diff --git a/models/sarvam/sarvam-m.toml b/models/sarvam/sarvam-m.toml new file mode 100644 index 0000000000..3c073498ca --- /dev/null +++ b/models/sarvam/sarvam-m.toml @@ -0,0 +1,31 @@ +# Model card: https://huggingface.co/sarvamai/sarvam-m ("multilingual, hybrid-reasoning, text-only language model built on +# Mistral-Small"; `enable_thinking` switches modes; Apache 2.0). Published 2025-05-20 (Hugging Face createdAt). +# Context 32,768: config.json max_position_embeddings. No function calling is documented. No separate output cap is +# published, so output = context. +# Sampling: open weights, so temperature/top_p/top_k are runtime features of the host. +schema = 2 +name = "Sarvam-M" +description = "Hybrid-reasoning multilingual model for Indian languages built on Mistral Small" +family = "sarvam" +open_weights = true +release_date = "2025-05-20" +license = "Apache 2.0" + +[modalities] +input = ["text"] +output = ["text"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = true } +temperature = true +top_p = true +top_k = true + +[limit] +context = 32_768 +output = 32_768 + +[[weights]] +label = "Hugging Face" +url = "https://huggingface.co/sarvamai/sarvam-m" diff --git a/models/sdaia/allam-2-7b.toml b/models/sdaia/allam-2-7b.toml index 6606f26a93..d5b20adef7 100644 --- a/models/sdaia/allam-2-7b.toml +++ b/models/sdaia/allam-2-7b.toml @@ -1,21 +1,27 @@ +# Sampling: open weights, so temperature, top_p and top_k are runtime sampler settings on any host; SDAIA's ALLaM +# 7B instruct card samples with temperature 0.6, top_p 0.95, top_k 50 +# (https://huggingface.co/ALLaM-AI/ALLaM-7B-Instruct-preview). +schema = 2 name = "ALLaM-2-7b" description = "ALLaM-2-7b instruction tuned model by SDAIA" -release_date = "2025-01-23" -last_updated = "2025-01-23" -attachment = false -reasoning = false -temperature = true -tool_call = false open_weights = true - -[limit] -context = 4096 -output = 4096 +release_date = "2025-01-23" [modalities] input = ["text"] output = ["text"] +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = true +top_p = true +top_k = true + +[limit] +context = 4_096 +output = 4_096 + [[weights]] label = "Hugging Face" url = "https://huggingface.co/ALLaM-AI/ALLaM-2.0-7B-Instruct" diff --git a/models/sentence-transformers/all-minilm-l12-v2.toml b/models/sentence-transformers/all-minilm-l12-v2.toml new file mode 100644 index 0000000000..e6e7ac5180 --- /dev/null +++ b/models/sentence-transformers/all-minilm-l12-v2.toml @@ -0,0 +1,32 @@ +# https://huggingface.co/sentence-transformers/all-MiniLM-L12-v2 +# Released 2021-08-30: initial commit of the model repository (https://huggingface.co/sentence-transformers/all-MiniLM-L12-v2/commits/main) +# Trained during Hugging Face's Community week using JAX/Flax for NLP & CV (model card) +# Context: max_seq_length 128 (https://huggingface.co/sentence-transformers/all-MiniLM-L12-v2/blob/main/sentence_bert_config.json); +# 384-dimensional output. +schema = 2 +v2_only = true +type = "embedding" +name = "all-MiniLM-L12-v2" +description = "Sentence and short-paragraph embedding model for clustering and semantic search" +open_weights = true +release_date = "2021-08-30" +license = "Apache-2.0" + +[modalities] +input = ["text"] +output = ["embedding"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 128 +output = 0 + +[[weights]] +label = "Hugging Face" +url = "https://huggingface.co/sentence-transformers/all-MiniLM-L12-v2" diff --git a/models/sentence-transformers/all-minilm-l6-v2.toml b/models/sentence-transformers/all-minilm-l6-v2.toml new file mode 100644 index 0000000000..042f069c5c --- /dev/null +++ b/models/sentence-transformers/all-minilm-l6-v2.toml @@ -0,0 +1,32 @@ +# https://huggingface.co/sentence-transformers/all-MiniLM-L6-v2 +# Released 2021-08-30: initial commit of the model repository (https://huggingface.co/sentence-transformers/all-MiniLM-L6-v2/commits/main) +# Trained during Hugging Face's Community week using JAX/Flax for NLP & CV (model card) +# Context: max_seq_length 256 (https://huggingface.co/sentence-transformers/all-MiniLM-L6-v2/blob/main/sentence_bert_config.json); +# 384-dimensional output. +schema = 2 +v2_only = true +type = "embedding" +name = "all-MiniLM-L6-v2" +description = "Sentence and short-paragraph embedding model for clustering and semantic search" +open_weights = true +release_date = "2021-08-30" +license = "Apache-2.0" + +[modalities] +input = ["text"] +output = ["embedding"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 256 +output = 0 + +[[weights]] +label = "Hugging Face" +url = "https://huggingface.co/sentence-transformers/all-MiniLM-L6-v2" diff --git a/models/sentence-transformers/all-mpnet-base-v2.toml b/models/sentence-transformers/all-mpnet-base-v2.toml new file mode 100644 index 0000000000..b9f7e57e3b --- /dev/null +++ b/models/sentence-transformers/all-mpnet-base-v2.toml @@ -0,0 +1,32 @@ +# https://huggingface.co/sentence-transformers/all-mpnet-base-v2 +# Released 2021-08-30: initial commit of the model repository (https://huggingface.co/sentence-transformers/all-mpnet-base-v2/commits/main) +# Trained during Hugging Face's Community week using JAX/Flax for NLP & CV (model card) +# Context: max_seq_length 384 (https://huggingface.co/sentence-transformers/all-mpnet-base-v2/blob/main/sentence_bert_config.json); +# 768-dimensional output. +schema = 2 +v2_only = true +type = "embedding" +name = "all-mpnet-base-v2" +description = "Sentence and short-paragraph embedding model for clustering and semantic search" +open_weights = true +release_date = "2021-08-30" +license = "Apache-2.0" + +[modalities] +input = ["text"] +output = ["embedding"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 384 +output = 0 + +[[weights]] +label = "Hugging Face" +url = "https://huggingface.co/sentence-transformers/all-mpnet-base-v2" diff --git a/models/sentence-transformers/multi-qa-mpnet-base-dot-v1.toml b/models/sentence-transformers/multi-qa-mpnet-base-dot-v1.toml new file mode 100644 index 0000000000..a27d74da97 --- /dev/null +++ b/models/sentence-transformers/multi-qa-mpnet-base-dot-v1.toml @@ -0,0 +1,31 @@ +# https://huggingface.co/sentence-transformers/multi-qa-mpnet-base-dot-v1 +# Released 2021-08-23: initial commit of the model repository (https://huggingface.co/sentence-transformers/multi-qa-mpnet-base-dot-v1/commits/main) +# Trained during Hugging Face's Community week using JAX/Flax for NLP & CV (model card) +# Context: max_seq_length 512 (https://huggingface.co/sentence-transformers/multi-qa-mpnet-base-dot-v1/blob/main/sentence_bert_config.json); +# 768-dimensional output. +schema = 2 +v2_only = true +type = "embedding" +name = "multi-qa-mpnet-base-dot-v1" +description = "Semantic search embedding model trained on 215M question-answer pairs" +open_weights = true +release_date = "2021-08-23" + +[modalities] +input = ["text"] +output = ["embedding"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 512 +output = 0 + +[[weights]] +label = "Hugging Face" +url = "https://huggingface.co/sentence-transformers/multi-qa-mpnet-base-dot-v1" diff --git a/models/sentence-transformers/paraphrase-minilm-l6-v2.toml b/models/sentence-transformers/paraphrase-minilm-l6-v2.toml new file mode 100644 index 0000000000..a3e76206a3 --- /dev/null +++ b/models/sentence-transformers/paraphrase-minilm-l6-v2.toml @@ -0,0 +1,31 @@ +# https://huggingface.co/sentence-transformers/paraphrase-MiniLM-L6-v2 +# Released 2021-05-19: initial commit of the model repository (https://huggingface.co/sentence-transformers/paraphrase-MiniLM-L6-v2/commits/main) +# Context: max_seq_length 128 (https://huggingface.co/sentence-transformers/paraphrase-MiniLM-L6-v2/blob/main/sentence_bert_config.json); +# 384-dimensional output. +schema = 2 +v2_only = true +type = "embedding" +name = "paraphrase-MiniLM-L6-v2" +description = "Sentence embedding model for paraphrase detection and semantic similarity" +open_weights = true +release_date = "2021-05-19" +license = "Apache-2.0" + +[modalities] +input = ["text"] +output = ["embedding"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 128 +output = 0 + +[[weights]] +label = "Hugging Face" +url = "https://huggingface.co/sentence-transformers/paraphrase-MiniLM-L6-v2" diff --git a/models/sesame/csm-1b.toml b/models/sesame/csm-1b.toml new file mode 100644 index 0000000000..3dcbaec08a --- /dev/null +++ b/models/sesame/csm-1b.toml @@ -0,0 +1,30 @@ +# Published March 2025 (Apache-2.0): https://huggingface.co/sesame/csm-1b +# Output formats: mp3 and pcm, as documented for OpenRouter's speech API (the lab lists none here): +# https://openrouter.ai/docs/guides/overview/multimodal/tts +schema = 2 +v2_only = true +type = "speech" +name = "CSM 1B" +description = "Open conversational speech generation model" +open_weights = true +release_date = "2025-03" +license = "Apache-2.0" + +[modalities] +input = ["text"] +output = ["audio/mpeg", "audio/pcm"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 0 +output = 0 + +[[weights]] +label = "Hugging Face" +url = "https://huggingface.co/sesame/csm-1b" diff --git a/models/sourceful/riverflow-v2-fast.toml b/models/sourceful/riverflow-v2-fast.toml new file mode 100644 index 0000000000..eb85b68170 --- /dev/null +++ b/models/sourceful/riverflow-v2-fast.toml @@ -0,0 +1,25 @@ +# Released 2026-02-02: https://www.riverflow.ai/research/introducing-riverflow-2-0 (a reasoning model reviews +# and corrects candidates). Output image/webp through OpenRouter's Images API (2026-10-20). +# Reasoning: the planner and judge run inside the service; no reasoning output is returned. +schema = 2 +v2_only = true +type = "image" +name = "Riverflow 2.0 Fast" +description = "Fast Riverflow 2.0 image generation and editing model with a reasoning judge" +open_weights = false +release_date = "2026-02-02" + +[modalities] +input = ["text", "image/png", "image/jpeg", "image/webp"] +output = ["image/webp"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 0 +output = 0 diff --git a/models/sourceful/riverflow-v2-pro.toml b/models/sourceful/riverflow-v2-pro.toml new file mode 100644 index 0000000000..0b404aa9d6 --- /dev/null +++ b/models/sourceful/riverflow-v2-pro.toml @@ -0,0 +1,25 @@ +# Released 2026-02-02: https://www.riverflow.ai/research/introducing-riverflow-2-0 (a reasoning model reviews +# and corrects candidates). Output image/webp, as Riverflow 2.0 Fast returned through OpenRouter (2026-10-20). +# Reasoning: the planner and judge run inside the service; no reasoning output is returned. +schema = 2 +v2_only = true +type = "image" +name = "Riverflow 2.0 Pro" +description = "Most capable Riverflow 2.0 image generation and editing model with a reasoning judge" +open_weights = false +release_date = "2026-02-02" + +[modalities] +input = ["text", "image/png", "image/jpeg", "image/webp"] +output = ["image/webp"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 0 +output = 0 diff --git a/models/sourceful/riverflow-v2.5-fast.toml b/models/sourceful/riverflow-v2.5-fast.toml new file mode 100644 index 0000000000..55a314cf1b --- /dev/null +++ b/models/sourceful/riverflow-v2.5-fast.toml @@ -0,0 +1,25 @@ +# Released 2026-06-05: https://www.riverflow.ai/research/introducing-riverflow-2-5 +# Output formats webp, png, jpg and thinking_level: https://replicate.com/sourceful/riverflow-v2.5-pro +# Reasoning: the planner and judge run inside the service; no reasoning output is returned. +schema = 2 +v2_only = true +type = "image" +name = "Riverflow 2.5 Fast" +description = "Speed-optimized Riverflow 2.5 agentic image model with candidate scoring" +open_weights = false +release_date = "2026-06-05" + +[modalities] +input = ["text", "image/png", "image/jpeg", "image/webp"] +output = ["image/webp", "image/png", "image/jpeg"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 0 +output = 0 diff --git a/models/sourceful/riverflow-v2.5-pro.toml b/models/sourceful/riverflow-v2.5-pro.toml new file mode 100644 index 0000000000..828f980f23 --- /dev/null +++ b/models/sourceful/riverflow-v2.5-pro.toml @@ -0,0 +1,25 @@ +# Released 2026-06-05: https://www.riverflow.ai/research/introducing-riverflow-2-5 +# Output formats webp, png, jpg and thinking_level: https://replicate.com/sourceful/riverflow-v2.5-pro +# Reasoning: the planner and judge run inside the service; no reasoning output is returned. +schema = 2 +v2_only = true +type = "image" +name = "Riverflow 2.5 Pro" +description = "Most capable Riverflow 2.5 agentic image model with candidate scoring and 4K output" +open_weights = false +release_date = "2026-06-05" + +[modalities] +input = ["text", "image/png", "image/jpeg", "image/webp"] +output = ["image/webp", "image/png", "image/jpeg"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 0 +output = 0 diff --git a/models/stepfun/step-3.5-flash-2603.toml b/models/stepfun/step-3.5-flash-2603.toml index ecfb017d7b..48e8ae7623 100644 --- a/models/stepfun/step-3.5-flash-2603.toml +++ b/models/stepfun/step-3.5-flash-2603.toml @@ -1,23 +1,32 @@ +# https://platform.stepfun.com/docs/zh/guides/models/step-3.5-flash (Agent-optimized variant of the open Step 3.5 Flash) +# Sampling: same weights family as https://huggingface.co/stepfun-ai/Step-3.5-Flash, whose card recommends +# temperature and top_p. +# Family: StepFun's Step series ("step" in packages/core/src/family.ts; providers already publish it for this model); +# https://huggingface.co/stepfun-ai/Step-3.5-Flash +schema = 2 name = "Step 3.5 Flash 2603" description = "StepFun flash model for efficient multimodal reasoning, coding, and tool use" +family = "step" +open_weights = true +knowledge = "2025-01" release_date = "2026-04-02" -last_updated = "2026-04-02" -attachment = false -reasoning = true + +[modalities] +input = ["text"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } temperature = true -tool_call = true -knowledge = "2025-01" -open_weights = true +top_p = true +top_k = true [limit] context = 256_000 input = 256_000 output = 256_000 -[modalities] -input = ["text"] -output = ["text"] - [[weights]] label = "Hugging Face" url = "https://huggingface.co/stepfun-ai/Step-3.5-Flash" diff --git a/models/stepfun/step-3.5-flash.toml b/models/stepfun/step-3.5-flash.toml index 205a25b676..880656305c 100644 --- a/models/stepfun/step-3.5-flash.toml +++ b/models/stepfun/step-3.5-flash.toml @@ -1,23 +1,32 @@ +# https://huggingface.co/stepfun-ai/Step-3.5-Flash +# Sampling: open weights; the model card recommends temperature and top_p (temperature=0.6/1.0, top_p=0.95). +# Family: StepFun's Step series ("step" in packages/core/src/family.ts; providers already publish it for this model); +# https://huggingface.co/stepfun-ai/Step-3.5-Flash +schema = 2 name = "Step 3.5 Flash" description = "StepFun flash lane for quick multimodal reasoning and coding assistance" +family = "step" +open_weights = true +knowledge = "2025-01" release_date = "2026-01-29" last_updated = "2026-02-13" -attachment = false -reasoning = true + +[modalities] +input = ["text"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } temperature = true -tool_call = true -knowledge = "2025-01" -open_weights = true +top_p = true +top_k = true [limit] context = 256_000 input = 256_000 output = 256_000 -[modalities] -input = ["text"] -output = ["text"] - [[weights]] label = "Hugging Face" url = "https://huggingface.co/stepfun-ai/Step-3.5-Flash" diff --git a/models/stepfun/step-3.7-flash.toml b/models/stepfun/step-3.7-flash.toml index b3d33caa58..74d9a7e2e4 100644 --- a/models/stepfun/step-3.7-flash.toml +++ b/models/stepfun/step-3.7-flash.toml @@ -1,23 +1,31 @@ +# https://huggingface.co/stepfun-ai/Step-3.7-Flash, https://platform.stepfun.com/docs/zh/guides/models/step-3.7-flash +# Sampling: open weights; temperature, top_p and top_k are standard sampling controls for this checkpoint. +# Input formats: images JPG/JPEG, PNG, static GIF and WebP; video containers MP4, QuickTime and Matroska +# (https://platform.stepfun.com/docs/zh/guides/developer/image-chat.md, +# https://platform.stepfun.com/docs/zh/guides/developer/video-chat.md). +schema = 2 name = "Step 3.7 Flash" description = "Newer StepFun flash model for faster agents, coding, and multimodal prompts" +open_weights = true +knowledge = "2026-03-01" release_date = "2026-05-29" -last_updated = "2026-05-29" -attachment = true -reasoning = true + +[modalities] +input = ["text", "image/jpeg", "image/png", "image/gif", "image/webp", "video/mp4", "video/quicktime", "video/x-matroska"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } temperature = true -tool_call = true -knowledge = "2026-03-01" -open_weights = true +top_p = true +top_k = true [limit] context = 256_000 input = 256_000 output = 256_000 -[modalities] -input = ["text", "image", "video"] -output = ["text"] - [[weights]] label = "Hugging Face" url = "https://huggingface.co/stepfun-ai/Step-3.7-Flash" diff --git a/models/stepfun/step-5-preview.toml b/models/stepfun/step-5-preview.toml new file mode 100644 index 0000000000..6b9127c706 --- /dev/null +++ b/models/stepfun/step-5-preview.toml @@ -0,0 +1,34 @@ +# release_date is StepFun's API catalog first-appearance timestamp (created=1789564127, +# 2026-09-16 13:08 UTC) — no dated launch announcement was found on the model docs page. +# https://platform.stepfun.com/docs/zh/guides/models/step-5-preview +# Sampling: open weights; the model card recommends temperature=1.0, top_p=0.95, top_k=0 +# (https://huggingface.co/stepfun-ai/Step-5-Preview). +# Input formats: images JPG/JPEG, PNG, static GIF and WebP; video containers MP4, QuickTime and Matroska +# (https://platform.stepfun.com/docs/zh/guides/developer/image-chat.md, +# https://platform.stepfun.com/docs/zh/guides/developer/video-chat.md). +schema = 2 +name = "Step 5 Preview" +description = "StepFun's next-generation flagship base model for coding and professional knowledge work, with native text, image, and video input and a 1M-token context window" +open_weights = true +release_date = "2026-09-16" +last_updated = "2026-09-20" + +[modalities] +input = ["text", "image/jpeg", "image/png", "image/gif", "image/webp", "video/mp4", "video/quicktime", "video/x-matroska"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } +temperature = true +top_p = true +top_k = true + +[limit] +context = 1_000_000 +input = 1_000_000 +output = 1_000_000 + +[[weights]] +label = "Hugging Face" +url = "https://huggingface.co/stepfun-ai/Step-5-Preview" diff --git a/models/swiss-ai/apertus-70b.toml b/models/swiss-ai/apertus-70b.toml index 483e6ccdbf..598fe8d49c 100644 --- a/models/swiss-ai/apertus-70b.toml +++ b/models/swiss-ai/apertus-70b.toml @@ -1,23 +1,28 @@ +# Sampling: open weights, so temperature, top_p and top_k are runtime sampler settings on any host; the model card +# (https://huggingface.co/swiss-ai/Apertus-70B-Instruct-2509) recommends temperature 0.8, top_p 0.9. +schema = 2 name = "Apertus 70B" description = "Fully open 70B multilingual LLM supporting 1800+ languages with 65K context. Trained on 15T tokens of compliant open data. Apache 2.0, EU AI Act compliant." -release_date = "2025-09-02" -last_updated = "2025-09-02" -knowledge = "2025-09" -attachment = false -reasoning = false -temperature = true -tool_call = true open_weights = true +knowledge = "2025-09" +release_date = "2025-09-02" license = "Apache-2.0" -[limit] -context = 65_536 -output = 8_192 - [modalities] input = ["text"] output = ["text"] +[capabilities] +tools = { supported = true } +reasoning = { supported = false } +temperature = true +top_p = true +top_k = true + +[limit] +context = 65_536 +output = 8_192 + [[weights]] label = "Hugging Face" url = "https://huggingface.co/swiss-ai/Apertus-70B-Instruct-2509" diff --git a/models/swiss-ai/apertus-8b.toml b/models/swiss-ai/apertus-8b.toml index 6bc0f86e6d..a698e8285e 100644 --- a/models/swiss-ai/apertus-8b.toml +++ b/models/swiss-ai/apertus-8b.toml @@ -3,26 +3,31 @@ # https://arxiv.org/abs/2509.14233 # The model card states "Apertus by default supports a context length up to 65,536 tokens", # Apache-2.0 licensing, and tool use support. Sibling entry: models/swiss-ai/apertus-70b.toml. +# Sampling: open weights, so temperature, top_p and top_k are runtime sampler settings on any host; the model card +# (https://huggingface.co/swiss-ai/Apertus-8B-Instruct-2509) recommends temperature 0.8, top_p 0.9. +schema = 2 name = "Apertus 8B" description = "Fully open 8B multilingual LLM supporting 1800+ languages with 65K context. Trained on compliant open data. Apache 2.0, EU AI Act compliant." -release_date = "2025-09-02" -last_updated = "2025-09-02" -knowledge = "2025-09" -attachment = false -reasoning = false -temperature = true -tool_call = true open_weights = true +knowledge = "2025-09" +release_date = "2025-09-02" license = "Apache-2.0" -[limit] -context = 65_536 -output = 8_192 - [modalities] input = ["text"] output = ["text"] +[capabilities] +tools = { supported = true } +reasoning = { supported = false } +temperature = true +top_p = true +top_k = true + +[limit] +context = 65_536 +output = 8_192 + [[weights]] label = "Hugging Face" url = "https://huggingface.co/swiss-ai/Apertus-8B-Instruct-2509" diff --git a/models/tencent/hy-image-v3.5-preview.toml b/models/tencent/hy-image-v3.5-preview.toml new file mode 100644 index 0000000000..536f1aed7b --- /dev/null +++ b/models/tencent/hy-image-v3.5-preview.toml @@ -0,0 +1,26 @@ +# Released 2026-09-22: https://stock.10jqka.com.cn/20260922/c680158069.shtml +# API (references png/jpeg/jpg, up to 20): https://intl.cloud.tencent.com/document/product/1300/83708 +# Prompt up to 100k tokens: https://hyimage35.pro/hy-image-3-5-api. Output image/png through OpenRouter (2026-10-20). +schema = 2 +v2_only = true +type = "image" +name = "Hy Image 3.5 Preview" +description = "Preview image generation and multi-turn editing model" +family = "Hy" +open_weights = false +release_date = "2026-09-22" + +[modalities] +input = ["text", "image/png", "image/jpeg"] +output = ["image/png"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 100_000 +output = 0 diff --git a/models/tencent/hy-mt2-1.8b.toml b/models/tencent/hy-mt2-1.8b.toml new file mode 100644 index 0000000000..77337e28c0 --- /dev/null +++ b/models/tencent/hy-mt2-1.8b.toml @@ -0,0 +1,27 @@ +# Lab metadata carried over from providers/openrouter/models/tencent/hy-mt2-1.8b.toml (curated catalogue data already in this repo), +# with provider-specific fields (cost, reasoning_options, status) stripped. +# Release: weights open-sourced 2026-05-21 per the model card News section +# (https://huggingface.co/tencent/Hy-MT2-1.8B); the earlier date was a relay listing date. +# Sampling: open weights; generation_config.json sets temperature 0.7, top_p 0.8, top_k 20 +# (https://huggingface.co/tencent/Hy-MT2-1.8B/blob/main/generation_config.json). +schema = 2 +name = "Hy-MT2-1.8B" +description = "Tencent Hy reasoning model for coding, instruction following, and agent tasks" +family = "Hy" +open_weights = true +release_date = "2026-05-21" + +[modalities] +input = ["text"] +output = ["text"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = true +top_p = true +top_k = true + +[limit] +context = 8_192 +output = 4_096 diff --git a/models/tencent/hy-mt2-30b-a3b.toml b/models/tencent/hy-mt2-30b-a3b.toml new file mode 100644 index 0000000000..1cdb2a1730 --- /dev/null +++ b/models/tencent/hy-mt2-30b-a3b.toml @@ -0,0 +1,27 @@ +# Lab metadata carried over from providers/openrouter/models/tencent/hy-mt2-30b-a3b.toml (curated catalogue data already in this repo), +# with provider-specific fields (cost, reasoning_options, status) stripped. +# Release: weights open-sourced 2026-05-21 per the model card News section +# (https://huggingface.co/tencent/Hy-MT2-30B-A3B); the earlier date was a relay listing date. +# Sampling: open weights; the model card's recommended inference settings set temperature, top_p and top_k +# (https://huggingface.co/tencent/Hy-MT2-30B-A3B). +schema = 2 +name = "Hy-MT2-30B-A3B" +description = "Tencent Hy reasoning model for coding, instruction following, and agent tasks" +family = "Hy" +open_weights = true +release_date = "2026-05-21" + +[modalities] +input = ["text"] +output = ["text"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = true +top_p = true +top_k = true + +[limit] +context = 8_192 +output = 4_096 diff --git a/models/tencent/hy-mt2-7b.toml b/models/tencent/hy-mt2-7b.toml new file mode 100644 index 0000000000..464037161c --- /dev/null +++ b/models/tencent/hy-mt2-7b.toml @@ -0,0 +1,27 @@ +# Lab metadata carried over from providers/openrouter/models/tencent/hy-mt2-7b.toml (curated catalogue data already in this repo), +# with provider-specific fields (cost, reasoning_options, status) stripped. +# Release: weights open-sourced 2026-05-21 per the model card News section +# (https://huggingface.co/tencent/Hy-MT2-7B); the earlier date was a relay listing date. +# Sampling: open weights; generation_config.json sets temperature 0.7, top_p 0.8, top_k 20 +# (https://huggingface.co/tencent/Hy-MT2-7B/blob/main/generation_config.json). +schema = 2 +name = "Hy-MT2-7B" +description = "Tencent Hy reasoning model for coding, instruction following, and agent tasks" +family = "Hy" +open_weights = true +release_date = "2026-05-21" + +[modalities] +input = ["text"] +output = ["text"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = true +top_p = true +top_k = true + +[limit] +context = 8_192 +output = 4_096 diff --git a/models/tencent/hy3-preview.toml b/models/tencent/hy3-preview.toml index 007cd5fb35..a457fc27b5 100644 --- a/models/tencent/hy3-preview.toml +++ b/models/tencent/hy3-preview.toml @@ -1,22 +1,27 @@ +# Sampling: open weights; generation_config.json sets temperature 0.9, top_p 1, top_k -1 and the model card +# recommends temperature=0.9, top_p=1.0 (https://huggingface.co/tencent/Hy3-preview). +schema = 2 name = "Hy3 preview" description = "Tencent Hy reasoning model for coding, instruction following, and agent tasks" family = "Hy" +open_weights = true release_date = "2026-04-20" -last_updated = "2026-04-20" -attachment = false -reasoning = true + +[modalities] +input = ["text"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } temperature = true -tool_call = true -open_weights = true +top_p = true +top_k = true [limit] context = 256_000 output = 64_000 -[modalities] -input = ["text"] -output = ["text"] - [[weights]] label = "Hugging Face" url = "https://huggingface.co/tencent/Hy3-preview" diff --git a/models/tencent/hy3.toml b/models/tencent/hy3.toml index f5d2f84d73..39252a139c 100644 --- a/models/tencent/hy3.toml +++ b/models/tencent/hy3.toml @@ -1,24 +1,30 @@ +# Scores and detailed evaluation recipes: https://huggingface.co/tencent/Hy3/blob/main/assets/benchmark-appendix.png # https://cloud.tencent.com/document/product/1823/130051 +# Sampling: open weights; generation_config.json sets temperature 0.9, top_p 1, top_k -1 and the model card +# recommends temperature=0.9, top_p=1.0 (https://huggingface.co/tencent/Hy3). +schema = 2 name = "Hy3" description = "Tencent Hy reasoning model for coding, instruction following, and agent tasks" family = "Hy" +open_weights = true release_date = "2026-07-06" -last_updated = "2026-07-06" -attachment = false -reasoning = true + +[modalities] +input = ["text"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } temperature = true -tool_call = true -open_weights = true +top_p = true +top_k = true [limit] context = 256_000 input = 192_000 output = 128_000 -[modalities] -input = ["text"] -output = ["text"] - [[weights]] label = "Hugging Face" url = "https://huggingface.co/tencent/Hy3" @@ -28,3 +34,234 @@ name = "SWE-Bench Verified" score = 78 metric = "resolved" source = "https://huggingface.co/tencent/Hy3" + +[[benchmarks]] +name = "SWE-Bench Multilingual" +score = 75.8 +metric = "score" +variant = "highest reasoning effort" +harness = "SWE-agent" +source = "https://huggingface.co/tencent/Hy3" + +[[benchmarks]] +name = "SWE-Bench Pro" +score = 57.9 +metric = "score" +variant = "highest reasoning effort" +harness = "SWE-agent" +source = "https://huggingface.co/tencent/Hy3" + +[[benchmarks]] +name = "Terminal-Bench" +score = 71.7 +metric = "score" +variant = "highest reasoning effort; 4h timeout; 500 episodes" +version = "2.1" +harness = "Terminus 2" +source = "https://huggingface.co/tencent/Hy3" + +[[benchmarks]] +name = "NL2Repo" +score = 45.6 +metric = "score" +variant = "highest reasoning effort; 250 turns; 12000s timeout" +harness = "Claude Code" +source = "https://huggingface.co/tencent/Hy3" + +[[benchmarks]] +name = "DeepSWE" +score = 28 +metric = "score" +variant = "highest reasoning effort; 2h timeout" +harness = "mini-swe-agent" +source = "https://huggingface.co/tencent/Hy3" + +[[benchmarks]] +name = "BrowseComp" +score = 84.2 +metric = "score" +variant = "highest reasoning effort" +harness = "Tencent internal search harness" +source = "https://huggingface.co/tencent/Hy3" + +[[benchmarks]] +name = "WideSearch" +score = 76.4 +metric = "score" +variant = "highest reasoning effort" +harness = "Tencent internal search harness" +source = "https://huggingface.co/tencent/Hy3" + +[[benchmarks]] +name = "DeepSearchQA" +score = 91 +metric = "score" +variant = "highest reasoning effort" +harness = "Tencent internal search harness" +source = "https://huggingface.co/tencent/Hy3" + +[[benchmarks]] +name = "MCP Atlas" +score = 79.1 +metric = "score" +variant = "highest reasoning effort; April 2026; 100 tool calls" +dataset = "500 public tasks" +harness = "Scale AI" +source = "https://huggingface.co/tencent/Hy3" + +[[benchmarks]] +name = "Toolathlon" +score = 48.5 +metric = "score" +variant = "highest reasoning effort" +source = "https://huggingface.co/tencent/Hy3" + +[[benchmarks]] +name = "APEX-Agents" +score = 25.6 +metric = "pass@1" +variant = "highest reasoning effort" +source = "https://huggingface.co/tencent/Hy3" + +[[benchmarks]] +name = "ClawEval" +score = 68.5 +metric = "pass@3" +variant = "highest reasoning effort" +source = "https://huggingface.co/tencent/Hy3" +harness = "Tencent internal harness" +version = "20260325" +dataset = "105 queries" + +[[benchmarks]] +name = "WildClawBench" +score = 53.6 +metric = "score" +variant = "highest reasoning effort" +dataset = "35 text-only tasks" +harness = "OpenClaw" +source = "https://huggingface.co/tencent/Hy3" + +[[benchmarks]] +name = "SkillsBench" +score = 55.3 +metric = "average over 3 runs" +variant = "highest reasoning effort" +dataset = "79 text-only tasks" +harness = "Claude Code" +source = "https://huggingface.co/tencent/Hy3" + +[[benchmarks]] +name = "Humanity's Last Exam" +score = 53.2 +metric = "score" +variant = "highest reasoning effort; with tools" +dataset = "text-only" +source = "https://huggingface.co/tencent/Hy3" + +[[benchmarks]] +name = "Humanity's Last Exam" +score = 37 +metric = "score" +variant = "highest reasoning effort; without tools" +dataset = "text-only" +source = "https://huggingface.co/tencent/Hy3" + +[[benchmarks]] +name = "GPQA Diamond" +score = 90.4 +metric = "score" +variant = "highest reasoning effort" +source = "https://huggingface.co/tencent/Hy3" + +[[benchmarks]] +name = "FrontierScience" +score = 21.3 +metric = "score" +variant = "highest reasoning effort; research" +source = "https://huggingface.co/tencent/Hy3" + +[[benchmarks]] +name = "FrontierScience" +score = 74.8 +metric = "score" +variant = "highest reasoning effort; olympiad" +source = "https://huggingface.co/tencent/Hy3" + +[[benchmarks]] +name = "USAMO" +score = 72 +metric = "score" +variant = "highest reasoning effort" +version = "2026" +source = "https://huggingface.co/tencent/Hy3" + +[[benchmarks]] +name = "MathArena Apex" +score = 38.7 +metric = "score" +variant = "highest reasoning effort" +source = "https://huggingface.co/tencent/Hy3" + +[[benchmarks]] +name = "ArxivMath" +score = 52.2 +metric = "score" +variant = "highest reasoning effort" +source = "https://huggingface.co/tencent/Hy3" + +[[benchmarks]] +name = "HorizonMath" +score = 7.1 +metric = "pass@12" +variant = "highest reasoning effort" +source = "https://huggingface.co/tencent/Hy3" + +[[benchmarks]] +name = "PHYBench" +score = 77.4 +metric = "score" +variant = "highest reasoning effort" +source = "https://huggingface.co/tencent/Hy3" + +[[benchmarks]] +name = "CMT Benchmark" +score = 37.8 +metric = "score" +variant = "highest reasoning effort" +source = "https://huggingface.co/tencent/Hy3" + +[[benchmarks]] +name = "IMOAnswerBench" +score = 90 +metric = "score" +variant = "highest reasoning effort" +source = "https://huggingface.co/tencent/Hy3" + +[[benchmarks]] +name = "SuperChem" +score = 54.9 +metric = "score" +variant = "highest reasoning effort" +source = "https://huggingface.co/tencent/Hy3" + +[[benchmarks]] +name = "CL-bench" +score = 23.8 +metric = "score" +variant = "highest reasoning effort" +source = "https://huggingface.co/tencent/Hy3" + +[[benchmarks]] +name = "CL-bench-life" +score = 17 +metric = "score" +variant = "highest reasoning effort" +source = "https://huggingface.co/tencent/Hy3" + +[[benchmarks]] +name = "AA-LCR" +score = 73.4 +metric = "score" +variant = "highest reasoning effort" +source = "https://huggingface.co/tencent/Hy3" diff --git a/models/tencent/hy4-preview.toml b/models/tencent/hy4-preview.toml index 50bce9915d..80cdbe2fc2 100644 --- a/models/tencent/hy4-preview.toml +++ b/models/tencent/hy4-preview.toml @@ -1,18 +1,23 @@ +# Sampling: open weights; generation_config.json sets temperature 0.9, top_p 1, top_k -1 and the model card +# recommends temperature=0.9, top_p=1.0 (https://huggingface.co/tencent/Hy4-preview). +schema = 2 name = "Hy4 preview" description = "A next-generation productivity model with significantly enhanced Agent and complex task execution capabilities." family = "Hy" +open_weights = true release_date = "2026-08-28" -last_updated = "2026-08-28" -attachment = false -reasoning = true + +[modalities] +input = ["text"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } temperature = true -tool_call = true -open_weights = true +top_p = true +top_k = true [limit] context = 1_024_000 output = 64_000 - -[modalities] -input = ["text"] -output = ["text"] diff --git a/models/thedrummer/cydonia-24b-v4.1.toml b/models/thedrummer/cydonia-24b-v4.1.toml new file mode 100644 index 0000000000..f7c3fa754e --- /dev/null +++ b/models/thedrummer/cydonia-24b-v4.1.toml @@ -0,0 +1,25 @@ +# Lab metadata carried over from providers/openrouter/models/thedrummer/cydonia-24b-v4.1.toml (curated catalogue +# data already in this repo), +# with provider-specific fields (cost, reasoning_options, status) stripped. +# Sampling: open weights, so temperature, top_p and top_k are runtime sampler settings on any host. +schema = 2 +name = "Cydonia 24B V4.1" +description = "Open-weight instruction model for adaptable chat and self-hosted production workloads" +open_weights = true +knowledge = "2024-04-30" +release_date = "2025-09-27" + +[modalities] +input = ["text"] +output = ["text"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = true +top_p = true +top_k = true + +[limit] +context = 131_072 +output = 117_964 diff --git a/models/thedrummer/skyfall-36b-v2.toml b/models/thedrummer/skyfall-36b-v2.toml new file mode 100644 index 0000000000..75ae25f263 --- /dev/null +++ b/models/thedrummer/skyfall-36b-v2.toml @@ -0,0 +1,25 @@ +# Lab metadata carried over from providers/openrouter/models/thedrummer/skyfall-36b-v2.toml (curated catalogue +# data already in this repo), +# with provider-specific fields (cost, reasoning_options, status) stripped. +# Sampling: open weights, so temperature, top_p and top_k are runtime sampler settings on any host. +schema = 2 +name = "Skyfall 36B V2" +description = "Open-weight instruction model for adaptable chat and self-hosted production workloads" +open_weights = true +knowledge = "2024-06-30" +release_date = "2025-03-10" + +[modalities] +input = ["text"] +output = ["text"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = true +top_p = true +top_k = true + +[limit] +context = 32_768 +output = 29_491 diff --git a/models/thedrummer/unslopnemo-12b.toml b/models/thedrummer/unslopnemo-12b.toml new file mode 100644 index 0000000000..5424d19984 --- /dev/null +++ b/models/thedrummer/unslopnemo-12b.toml @@ -0,0 +1,25 @@ +# Lab metadata carried over from providers/openrouter/models/thedrummer/unslopnemo-12b.toml (curated catalogue +# data already in this repo), +# with provider-specific fields (cost, reasoning_options, status) stripped. +# Sampling: open weights, so temperature, top_p and top_k are runtime sampler settings on any host. +schema = 2 +name = "UnslopNemo 12B" +description = "Open-weight instruction model for adaptable chat and self-hosted production workloads" +open_weights = true +knowledge = "2024-04-30" +release_date = "2024-11-08" + +[modalities] +input = ["text"] +output = ["text"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = true +top_p = true +top_k = true + +[limit] +context = 1_024_000 +output = 819_200 diff --git a/models/thenlper/gte-base.toml b/models/thenlper/gte-base.toml new file mode 100644 index 0000000000..780d165361 --- /dev/null +++ b/models/thenlper/gte-base.toml @@ -0,0 +1,29 @@ +# Published July 2023 (MIT, 512-token input): https://huggingface.co/thenlper/gte-base +# Paper: https://arxiv.org/abs/2308.03281 +schema = 2 +v2_only = true +type = "embedding" +name = "GTE Base" +description = "English text embedding model producing 768-dimensional vectors" +open_weights = true +release_date = "2023-07" +license = "MIT" + +[modalities] +input = ["text"] +output = ["embedding"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 512 +output = 0 + +[[weights]] +label = "Hugging Face" +url = "https://huggingface.co/thenlper/gte-base" diff --git a/models/thenlper/gte-large.toml b/models/thenlper/gte-large.toml new file mode 100644 index 0000000000..76549b2c64 --- /dev/null +++ b/models/thenlper/gte-large.toml @@ -0,0 +1,29 @@ +# Published July 2023 (MIT, 512-token input): https://huggingface.co/thenlper/gte-large +# Paper: https://arxiv.org/abs/2308.03281 +schema = 2 +v2_only = true +type = "embedding" +name = "GTE Large" +description = "English text embedding model producing 1024-dimensional vectors" +open_weights = true +release_date = "2023-07" +license = "MIT" + +[modalities] +input = ["text"] +output = ["embedding"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 512 +output = 0 + +[[weights]] +label = "Hugging Face" +url = "https://huggingface.co/thenlper/gte-large" diff --git a/models/thinkingmachines/inkling-small.toml b/models/thinkingmachines/inkling-small.toml index 996310e3a0..bbd90cb6d4 100644 --- a/models/thinkingmachines/inkling-small.toml +++ b/models/thinkingmachines/inkling-small.toml @@ -1,27 +1,32 @@ # Sources (accessed 2026-08-01): # - https://thinkingmachines.ai/news/inkling-small/ # - https://huggingface.co/thinkingmachines/Inkling-Small - +# Input formats: https://tinker-docs.thinkingmachines.ai/cookbook/inkling/images/ ("Formats: PNG and JPEG") and +# https://tinker-docs.thinkingmachines.ai/cookbook/inkling/audio/ (WAV); the model card lists 16kHz WAV audio. +# Sampling: open weights, so temperature, top_p and top_k are runtime sampler settings on any host. +schema = 2 name = "Inkling Small" description = "Multimodal MoE reasoning model (276B total, 12B active) for text, image, and audio" family = "ling" -release_date = "2026-07-30" -last_updated = "2026-07-30" -attachment = true -reasoning = true -temperature = true -tool_call = true open_weights = true +release_date = "2026-07-30" license = "Apache-2.0" +[modalities] +input = ["text", "image/png", "image/jpeg", "audio/wav"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } +temperature = true +top_p = true +top_k = true + [limit] context = 1_048_576 output = 1_048_576 -[modalities] -input = ["text", "image", "audio"] -output = ["text"] - [[weights]] label = "Hugging Face" url = "https://huggingface.co/thinkingmachines/Inkling-Small" diff --git a/models/thinkingmachines/inkling.toml b/models/thinkingmachines/inkling.toml index 9d54c5f710..945fb4d714 100644 --- a/models/thinkingmachines/inkling.toml +++ b/models/thinkingmachines/inkling.toml @@ -2,27 +2,32 @@ # - https://thinkingmachines.ai/news/introducing-inkling/ # - https://thinkingmachines.ai/model-card/inkling/ # - https://huggingface.co/thinkingmachines/Inkling - +# Input formats: https://tinker-docs.thinkingmachines.ai/cookbook/inkling/images/ ("Formats: PNG and JPEG") and +# https://tinker-docs.thinkingmachines.ai/cookbook/inkling/audio/ (WAV); the model card lists 16kHz WAV audio. +# Sampling: open weights, so temperature, top_p and top_k are runtime sampler settings on any host. +schema = 2 name = "Inkling" description = "Multimodal MoE reasoning model (975B total, 41B active) for text, image, and audio" family = "ling" -release_date = "2026-07-15" -last_updated = "2026-07-15" -attachment = true -reasoning = true -temperature = true -tool_call = true open_weights = true +release_date = "2026-07-15" license = "Apache-2.0" +[modalities] +input = ["text", "image/png", "image/jpeg", "audio/wav"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } +temperature = true +top_p = true +top_k = true + [limit] context = 1_048_576 output = 1_048_576 -[modalities] -input = ["text", "image", "audio"] -output = ["text"] - [[weights]] label = "Hugging Face" url = "https://huggingface.co/thinkingmachines/Inkling" diff --git a/models/trendyol/asure-12b.toml b/models/trendyol/asure-12b.toml index f8fde3dc08..619a499da0 100644 --- a/models/trendyol/asure-12b.toml +++ b/models/trendyol/asure-12b.toml @@ -6,25 +6,32 @@ # measured against a host serving these weights (llmtr.com, 2026-08-16): # a request carrying `tools` returns no tool_calls, and no reasoning output # is produced. +# Sampling: open weights, so temperature, top_p and top_k are runtime sampler settings on any host. +# Image input: the model card lists no image formats and Trendyol publishes no API docs for it, so the input stays +# generic `image`. +schema = 2 name = "Trendyol Asure 12B" description = "Turkish-language multimodal instruct model built on Gemma 3 12B for e-commerce text, chat, and image-text tasks" family = "gemma" +open_weights = true release_date = "2026-02-19" last_updated = "2026-02-20" -attachment = true -reasoning = false -temperature = true -tool_call = false -open_weights = true license = "Gemma" -[limit] -context = 131_072 - [modalities] input = ["text", "image"] output = ["text"] +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = true +top_p = true +top_k = true + +[limit] +context = 131_072 + [[weights]] label = "Hugging Face" url = "https://huggingface.co/Trendyol/Trendyol-LLM-Asure-12B" diff --git a/models/typesafe/jev-1.14.0.toml b/models/typesafe/jev-1.14.0.toml new file mode 100644 index 0000000000..5624e0781a --- /dev/null +++ b/models/typesafe/jev-1.14.0.toml @@ -0,0 +1,29 @@ +# Sources: +# - https://docs.typesafe.ai/models.md +# - https://docs.typesafe.ai/api.md +# Jev 1.14 (`jev-1.14.0`) is available from 2026-10-14 and is currently the `jev-preview` +# alias; `jev-latest` still points to 1.13. Same endpoint, pricing, and limits as 1.13. +# The 64k context limit covers the state plus all questions in one request. +# Output: typed decision probabilities, no generated text, so there is nothing to sample (temperature/top_p/top_k +# false). +schema = 2 +type = "decision" +name = "Jev 1.14" +description = "System One model for fast, typed probabilistic decisions over text or structured state" +open_weights = false +release_date = "2026-10-14" + +[modalities] +input = ["text"] +output = ["decision"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 64_000 +output = 0 diff --git a/models/typesafe/jev-latest.toml b/models/typesafe/jev-latest.toml new file mode 100644 index 0000000000..cdbf7a1a82 --- /dev/null +++ b/models/typesafe/jev-latest.toml @@ -0,0 +1,28 @@ +# Sources: +# - https://docs.typesafe.ai/models.md +# - https://docs.typesafe.ai/api.md +# - https://typesafe.ai/blog/introducing-system-one-models-and-jev +# The 64k context limit covers the state plus all questions in one request. +# Output: typed decision probabilities, no generated text, so there is nothing to sample (temperature/top_p/top_k +# false). +schema = 2 +type = "decision" +name = "Jev" +description = "System One model for fast, typed probabilistic decisions over text or structured state" +open_weights = false +release_date = "2026-09-15" + +[modalities] +input = ["text"] +output = ["decision"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 64_000 +output = 0 diff --git a/models/unbiased/pareto.toml b/models/unbiased/pareto.toml new file mode 100644 index 0000000000..3744dc0519 --- /dev/null +++ b/models/unbiased/pareto.toml @@ -0,0 +1,28 @@ +# Sources: +# - https://unbiased.ai/model-card/ +# - https://developers.cloudflare.com/ai/models/unbiased/pareto/ +# - https://openrouter.ai/api/v1/models/unbiased/pareto/endpoints +# Sampling: the published request schema takes temperature and top_p but no top_k +# (https://developers.cloudflare.com/ai/models/unbiased/pareto/, Parameters). +# Image input: the Unbiased model card says only "Pareto accepts text and image inputs" and no Unbiased doc lists +# formats, so the input stays generic `image`. +schema = 2 +name = "Pareto" +description = "Blended multimodal model that runs multiple language models in parallel and returns a synthesized answer" +open_weights = false +release_date = "2026-09-17" + +[modalities] +input = ["text", "image"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = false } +temperature = true +top_p = true +top_k = false + +[limit] +context = 262_144 +output = 131_072 diff --git a/models/undi95/remm-slerp-l2-13b.toml b/models/undi95/remm-slerp-l2-13b.toml new file mode 100644 index 0000000000..7adcb4ecab --- /dev/null +++ b/models/undi95/remm-slerp-l2-13b.toml @@ -0,0 +1,25 @@ +# Lab metadata carried over from providers/openrouter/models/undi95/remm-slerp-l2-13b.toml (curated catalogue data +# already in this repo), +# with provider-specific fields (cost, reasoning_options, status) stripped. +# Sampling: open weights, so temperature, top_p and top_k are runtime sampler settings on any host. +schema = 2 +name = "ReMM SLERP 13B" +description = "Open-weight instruction model for adaptable chat and self-hosted production workloads" +open_weights = true +knowledge = "2023-06-30" +release_date = "2023-07-22" + +[modalities] +input = ["text"] +output = ["text"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = true +top_p = true +top_k = true + +[limit] +context = 6_144 +output = 5_529 diff --git a/models/upstage/solar-10.7b-instruct-v1.0.toml b/models/upstage/solar-10.7b-instruct-v1.0.toml new file mode 100644 index 0000000000..7f7a9daa09 --- /dev/null +++ b/models/upstage/solar-10.7b-instruct-v1.0.toml @@ -0,0 +1,30 @@ +# Model card: https://huggingface.co/upstage/SOLAR-10.7B-Instruct-v1.0 (depth-upscaled 10.7B instruction model; +# cc-by-nc-4.0). Published 2023-12-12 (Hugging Face createdAt). Context 4,096: config.json max_position_embeddings +# (the card's example also uses max_length=4096). No function calling is documented; output = context. +# Sampling: open weights, so temperature/top_p/top_k are runtime features of the host. +schema = 2 +name = "SOLAR 10.7B Instruct v1.0" +description = "Upstage depth-upscaled 10.7B instruction model for single-turn chat" +family = "solar" +open_weights = true +release_date = "2023-12-12" +license = "CC-BY-NC-4.0" + +[modalities] +input = ["text"] +output = ["text"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = true +top_p = true +top_k = true + +[limit] +context = 4_096 +output = 4_096 + +[[weights]] +label = "Hugging Face" +url = "https://huggingface.co/upstage/SOLAR-10.7B-Instruct-v1.0" diff --git a/models/upstage/solar-mini4.toml b/models/upstage/solar-mini4.toml new file mode 100644 index 0000000000..0f7571823c --- /dev/null +++ b/models/upstage/solar-mini4.toml @@ -0,0 +1,29 @@ +# Sources (accessed 2026-10-17): +# https://console.upstage.ai/docs/models/solar-mini-4 +# https://console.upstage.ai/docs/capabilities/generate/reasoning +# Field values mirror Upstage's own first-party host entry in this repo +# (providers/upstage/models/solar-mini4.toml); host-scoped keys (cost, +# reasoning_options) are intentionally left to the provider files. +# Sampling: the chat API reference (https://console.upstage.ai/api/chat) documents temperature and top_p; no top_k. +schema = 2 +name = "Solar Mini 4" +description = "Upstage's compact, cost-efficient model for agentic use" +family = "solar-mini" +open_weights = false +knowledge = "2026-02" +release_date = "2026-09-22" + +[modalities] +input = ["text"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } +temperature = true +top_p = true +top_k = false + +[limit] +context = 524_288 +output = 131_072 diff --git a/models/upstage/solar-pro2.toml b/models/upstage/solar-pro2.toml index 2822a94514..293e8488ab 100644 --- a/models/upstage/solar-pro2.toml +++ b/models/upstage/solar-pro2.toml @@ -4,22 +4,26 @@ # Field values mirror Upstage's own first-party host entry in this repo # (providers/upstage/models/solar-pro2.toml); host-scoped keys (cost, # reasoning_options) are intentionally left to the provider files. +# Sampling: the chat API reference (https://console.upstage.ai/api/chat) documents temperature and top_p; no top_k. +schema = 2 name = "Solar Pro 2" description = "Flagship model for demanding analysis, coding, and production agent workflows" family = "solar-pro" +open_weights = false +knowledge = "2025-03" release_date = "2025-05-20" -last_updated = "2025-05-20" -attachment = false -reasoning = true + +[modalities] +input = ["text"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } temperature = true -knowledge = "2025-03" -tool_call = true -open_weights = false +top_p = true +top_k = false [limit] context = 65_536 output = 8_192 - -[modalities] -input = ["text"] -output = ["text"] diff --git a/models/upstage/solar-pro3.toml b/models/upstage/solar-pro3.toml index 71149acd5c..5a9c0c6e01 100644 --- a/models/upstage/solar-pro3.toml +++ b/models/upstage/solar-pro3.toml @@ -4,22 +4,29 @@ # Field values mirror Upstage's own first-party host entry in this repo # (providers/upstage/models/solar-pro3.toml); host-scoped keys (cost, # reasoning_options) are intentionally left to the provider files. +# Release, versions and cutoff: https://console.upstage.ai/docs/models/solar-pro-3 (solar-pro3-260126 released +# 2026-01-26, solar-pro3-260323 released 2026-03-23, training data cut-off Jul 2025). +# Sampling: the chat API reference (https://console.upstage.ai/api/chat) documents temperature and top_p; no top_k. +schema = 2 name = "Solar Pro 3" description = "Flagship model for demanding analysis, coding, and production agent workflows" family = "solar-pro" -release_date = "2026-01" -last_updated = "2026-01" -attachment = false -reasoning = true -temperature = true -knowledge = "2025-03" -tool_call = true open_weights = false - -[limit] -context = 131_072 -output = 8_192 +knowledge = "2025-07" +release_date = "2026-01-26" +last_updated = "2026-03-23" [modalities] input = ["text"] output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } +temperature = true +top_p = true +top_k = false + +[limit] +context = 131_072 +output = 8_192 diff --git a/models/upstage/solar-pro4.toml b/models/upstage/solar-pro4.toml index 07088013b9..6373a947b5 100644 --- a/models/upstage/solar-pro4.toml +++ b/models/upstage/solar-pro4.toml @@ -4,23 +4,26 @@ # Field values mirror Upstage's own first-party host entry in this repo # (providers/upstage/models/solar-pro4.toml); host-scoped keys (cost, # reasoning_options) are intentionally left to the provider files. +# Sampling: the chat API reference (https://console.upstage.ai/api/chat) documents temperature and top_p; no top_k. +schema = 2 name = "Solar Pro 4" description = "Upstage's flagship model, specialized for agentic use" family = "solar-pro" +open_weights = false +knowledge = "2026-02" release_date = "2026-08-06" -last_updated = "2026-08-06" -attachment = false -reasoning = true + +[modalities] +input = ["text"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } temperature = true -knowledge = "2026-02" -tool_call = true -structured_output = true -open_weights = false +top_p = true +top_k = false [limit] context = 524_288 output = 131_072 - -[modalities] -input = ["text"] -output = ["text"] diff --git a/models/vispark/vision-large.toml b/models/vispark/vision-large.toml new file mode 100644 index 0000000000..4f7974d39e --- /dev/null +++ b/models/vispark/vision-large.toml @@ -0,0 +1,34 @@ +# Lab metadata for Vispark Vision Large. +# Provider-agnostic facts about the model Vispark built. +# Served first-party by Vispark Lab via OpenAI-compatible API: https://api.lab.vispark.in/v1 +# Model list: GET https://api.lab.vispark.in/v1/models returns vispark/vision-large +# (verified live 2026-09-13; context_length 1000000, max_output_length 65536 per entry). +# Chat: POST https://api.lab.vispark.in/v1/chat/completions. +# Release 2024-05-15: live endpoint returns created = 1715731200 (= 2024-05-15) per model, +# Last updated 2026-09: current lineup as verified live 2026-09-13 (month precision). +# Sampling: GET https://api.lab.vispark.in/v1/models lists supported_sampling_parameters temperature, top_p, top_k +# (2026-10-20). +# Image/audio/video input: the same endpoint reports input_modalities text, image, audio, video, file, and the Vispark +# Lab app accepts any image/*, audio/*, video/* file plus application/pdf. No Vispark doc lists specific formats, +# so image, audio and video stay generic. +schema = 2 +name = "Vision Large" +description = "Most capable Vision model for complex reasoning, detailed media analysis, and structured output over a 1M-token context window." +open_weights = false +release_date = "2024-05-15" +last_updated = "2026-09" + +[modalities] +input = ["text", "image", "audio", "video", "application/pdf"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } +temperature = true +top_p = true +top_k = true + +[limit] +context = 1_000_000 +output = 65_536 diff --git a/models/vispark/vision-medium.toml b/models/vispark/vision-medium.toml new file mode 100644 index 0000000000..a6fbac4c5c --- /dev/null +++ b/models/vispark/vision-medium.toml @@ -0,0 +1,34 @@ +# Lab metadata for Vispark Vision Medium. +# Provider-agnostic facts about the model Vispark built. +# Served first-party by Vispark Lab via OpenAI-compatible API: https://api.lab.vispark.in/v1 +# Model list: GET https://api.lab.vispark.in/v1/models returns vispark/vision-medium +# (verified live 2026-09-13; context_length 1000000, max_output_length 65536 per entry). +# Chat: POST https://api.lab.vispark.in/v1/chat/completions. +# Release 2024-05-15: live endpoint returns created = 1715731200 (= 2024-05-15) per model, +# Last updated 2026-09: current lineup as verified live 2026-09-13 (month precision). +# Sampling: GET https://api.lab.vispark.in/v1/models lists supported_sampling_parameters temperature, top_p, top_k +# (2026-10-20). +# Image/audio/video input: the same endpoint reports input_modalities text, image, audio, video, file, and the Vispark +# Lab app accepts any image/*, audio/*, video/* file plus application/pdf. No Vispark doc lists specific formats, +# so image, audio and video stay generic. +schema = 2 +name = "Vision Medium" +description = "Balanced multimodal model pairing a 1M-token context window with deeper reasoning for analysis, content creation, and tool use across text, image, audio, video, and PDF inputs." +open_weights = false +release_date = "2024-05-15" +last_updated = "2026-09" + +[modalities] +input = ["text", "image", "audio", "video", "application/pdf"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } +temperature = true +top_p = true +top_k = true + +[limit] +context = 1_000_000 +output = 65_536 diff --git a/models/vispark/vision-small.toml b/models/vispark/vision-small.toml new file mode 100644 index 0000000000..47c0e498dd --- /dev/null +++ b/models/vispark/vision-small.toml @@ -0,0 +1,34 @@ +# Lab metadata for Vispark Vision Small. +# Provider-agnostic facts about the model Vispark built. +# Served first-party by Vispark Lab via OpenAI-compatible API: https://api.lab.vispark.in/v1 +# Model list: GET https://api.lab.vispark.in/v1/models returns vispark/vision-small +# (verified live 2026-09-13; context_length 1000000, max_output_length 65536 per entry). +# Chat: POST https://api.lab.vispark.in/v1/chat/completions. +# Release 2024-05-15: live endpoint returns created = 1715731200 (= 2024-05-15) per model, +# Last updated 2026-09: current lineup as verified live 2026-09-13 (month precision). +# Sampling: GET https://api.lab.vispark.in/v1/models lists supported_sampling_parameters temperature, top_p, top_k +# (2026-10-20). +# Image/audio/video input: the same endpoint reports input_modalities text, image, audio, video, file, and the Vispark +# Lab app accepts any image/*, audio/*, video/* file plus application/pdf. No Vispark doc lists specific formats, +# so image, audio and video stay generic. +schema = 2 +name = "Vision Small" +description = "Fast, low-cost multimodal model for understanding text, images, audio, video, and PDFs, with tool calling and a 1M-token context window." +open_weights = false +release_date = "2024-05-15" +last_updated = "2026-09" + +[modalities] +input = ["text", "image", "audio", "video", "application/pdf"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } +temperature = true +top_p = true +top_k = true + +[limit] +context = 1_000_000 +output = 65_536 diff --git a/models/vivgrid/viv-fast.toml b/models/vivgrid/viv-fast.toml new file mode 100644 index 0000000000..dbf9ae639f --- /dev/null +++ b/models/vivgrid/viv-fast.toml @@ -0,0 +1,30 @@ +# Sources: +# - https://docs.vivgrid.com/models/viv-fast +# - https://docs.vivgrid.com/api/model-api +# Image input: the model page lists "Modalities: Text, Image" and the Model API docs list no formats, so the input +# stays generic `image`. Sampling flags are unchanged from the earlier entry (temperature false). +schema = 2 +name = "Viv Fast" +description = "Fast coding model" +open_weights = false +knowledge = "2026-09" +release_date = "2026-09-21" + +[modalities] +input = ["text", "image"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } +temperature = false +top_p = false +top_k = false + +[limit] +context = 1_000_000 +output = 256_000 + +[[links]] +label = "Model docs" +url = "https://docs.vivgrid.com/models/viv-fast" diff --git a/models/vllm-sr/d3-flash.toml b/models/vllm-sr/d3-flash.toml new file mode 100644 index 0000000000..7115c1c486 --- /dev/null +++ b/models/vllm-sr/d3-flash.toml @@ -0,0 +1,34 @@ +# Sources (accessed 2026-10-21): https://huggingface.co/vllm-sr/d3-flash (Apache-2.0; Hub createdAt 2026-10-10; base model Qwen3.5-9B): +# 9B multimodal decision model of vLLM Semantic Router's Decision 3.0. Inputs are text or JSON plus images and videos; +# decision types choice, yes/no and score. The card lists no exact image or video formats. +# Context: https://huggingface.co/vllm-sr/d3-flash/raw/main/decision_config.json sets max_length = null, so the vLLM-SR +# runtime serves config.json max_position_embeddings, 262,144: https://github.com/vllm-project/semantic-router/blob/ +# 7b8009b5b57ad3bcce3a4758cdb995a3da4481e7/src/model-runtime/vllm_srun/families/decision3/package.py#L426-L428 +# The card benchmarks inputs up to 32k tokens. Decision models generate no text. +schema = 2 +v2_only = true +type = "decision" +name = "d3-flash" +description = "vLLM Semantic Router 9B decision model that answers typed choice, yes/no and score questions about text, images or video with probabilities" +open_weights = true +release_date = "2026-10-10" +license = "Apache-2.0" + +[modalities] +input = ["text", "image", "video"] +output = ["decision"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 262_144 +output = 0 + +[[weights]] +label = "Hugging Face" +url = "https://huggingface.co/vllm-sr/d3-flash" diff --git a/models/vllm-sr/d3.toml b/models/vllm-sr/d3.toml new file mode 100644 index 0000000000..a4acf4dd59 --- /dev/null +++ b/models/vllm-sr/d3.toml @@ -0,0 +1,34 @@ +# Sources (accessed 2026-10-21): https://huggingface.co/vllm-sr/d3 (Apache-2.0; Hub createdAt 2026-10-10; base model Qwen3.8-27B): +# 27B multimodal decision model of vLLM Semantic Router's Decision 3.0. Inputs are text or JSON plus images and videos; +# decision types choice, yes/no and score. The card lists no exact image or video formats. +# Context: https://huggingface.co/vllm-sr/d3/raw/main/decision_config.json sets max_length = null, so the vLLM-SR +# runtime serves config.json max_position_embeddings, 262,144: https://github.com/vllm-project/semantic-router/blob/ +# 7b8009b5b57ad3bcce3a4758cdb995a3da4481e7/src/model-runtime/vllm_srun/families/decision3/package.py#L426-L428 +# The card benchmarks inputs up to 32k tokens. Decision models generate no text. +schema = 2 +v2_only = true +type = "decision" +name = "d3" +description = "vLLM Semantic Router 27B decision model that answers typed choice, yes/no and score questions about text, images or video with probabilities" +open_weights = true +release_date = "2026-10-10" +license = "Apache-2.0" + +[modalities] +input = ["text", "image", "video"] +output = ["decision"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 262_144 +output = 0 + +[[weights]] +label = "Hugging Face" +url = "https://huggingface.co/vllm-sr/d3" diff --git a/models/voyageai/rerank-2.5-lite.toml b/models/voyageai/rerank-2.5-lite.toml new file mode 100644 index 0000000000..1a913bd398 --- /dev/null +++ b/models/voyageai/rerank-2.5-lite.toml @@ -0,0 +1,25 @@ +# Released 2025-08-11: https://blog.voyageai.com/2025/08/11/rerank-2-5/ +# Context length: https://docs.voyageai.com/docs/reranker +schema = 2 +v2_only = true +type = "reranking" +name = "rerank-2.5-lite" +description = "Instruction-following reranker optimized for latency and quality" +family = "voyage" +open_weights = false +release_date = "2025-08-11" + +[modalities] +input = ["text"] +output = ["reranking"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 32_000 +output = 0 diff --git a/models/voyageai/rerank-2.5.toml b/models/voyageai/rerank-2.5.toml new file mode 100644 index 0000000000..70646aeddc --- /dev/null +++ b/models/voyageai/rerank-2.5.toml @@ -0,0 +1,25 @@ +# Released 2025-08-11: https://blog.voyageai.com/2025/08/11/rerank-2-5/ +# Context length: https://docs.voyageai.com/docs/reranker +schema = 2 +v2_only = true +type = "reranking" +name = "rerank-2.5" +description = "Instruction-following reranker optimized for retrieval quality" +family = "voyage" +open_weights = false +release_date = "2025-08-11" + +[modalities] +input = ["text"] +output = ["reranking"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 32_000 +output = 0 diff --git a/models/voyageai/rerank-3-lite.toml b/models/voyageai/rerank-3-lite.toml new file mode 100644 index 0000000000..f2ea009b4e --- /dev/null +++ b/models/voyageai/rerank-3-lite.toml @@ -0,0 +1,25 @@ +# Released 2026-09-30: https://blog.voyageai.com/2026/09/30/rerank-3/ +# Context length: https://docs.voyageai.com/docs/reranker +schema = 2 +v2_only = true +type = "reranking" +name = "rerank-3-lite" +description = "Reranker optimized for latency and cost, successor to rerank-2.5-lite" +family = "voyage" +open_weights = false +release_date = "2026-09-30" + +[modalities] +input = ["text"] +output = ["reranking"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 32_000 +output = 0 diff --git a/models/voyageai/rerank-3.toml b/models/voyageai/rerank-3.toml new file mode 100644 index 0000000000..900f440a6d --- /dev/null +++ b/models/voyageai/rerank-3.toml @@ -0,0 +1,25 @@ +# Released 2026-09-30: https://blog.voyageai.com/2026/09/30/rerank-3/ +# Context length: https://docs.voyageai.com/docs/reranker +schema = 2 +v2_only = true +type = "reranking" +name = "rerank-3" +description = "Reranker optimized for retrieval quality, successor to rerank-2.5" +family = "voyage" +open_weights = false +release_date = "2026-09-30" + +[modalities] +input = ["text"] +output = ["reranking"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 32_000 +output = 0 diff --git a/models/voyageai/voyage-4-large.toml b/models/voyageai/voyage-4-large.toml new file mode 100644 index 0000000000..d63de91883 --- /dev/null +++ b/models/voyageai/voyage-4-large.toml @@ -0,0 +1,25 @@ +# Released 2026-01-15: https://blog.voyageai.com/2026/01/15/voyage-4/ +# Context length: https://docs.voyageai.com/docs/embeddings +schema = 2 +v2_only = true +type = "embedding" +name = "voyage-4-large" +description = "General-purpose and multilingual embedding model optimized for retrieval quality" +family = "voyage" +open_weights = false +release_date = "2026-01-15" + +[modalities] +input = ["text"] +output = ["embedding"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 32_000 +output = 0 diff --git a/models/voyageai/voyage-4-lite.toml b/models/voyageai/voyage-4-lite.toml new file mode 100644 index 0000000000..595f58f1c1 --- /dev/null +++ b/models/voyageai/voyage-4-lite.toml @@ -0,0 +1,25 @@ +# Released 2026-01-15: https://blog.voyageai.com/2026/01/15/voyage-4/ +# Context length: https://docs.voyageai.com/docs/embeddings +schema = 2 +v2_only = true +type = "embedding" +name = "voyage-4-lite" +description = "Lightweight general-purpose embedding model optimized for latency and cost" +family = "voyage" +open_weights = false +release_date = "2026-01-15" + +[modalities] +input = ["text"] +output = ["embedding"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 32_000 +output = 0 diff --git a/models/voyageai/voyage-4.toml b/models/voyageai/voyage-4.toml new file mode 100644 index 0000000000..760f4fb571 --- /dev/null +++ b/models/voyageai/voyage-4.toml @@ -0,0 +1,25 @@ +# Released 2026-01-15: https://blog.voyageai.com/2026/01/15/voyage-4/ +# Context length: https://docs.voyageai.com/docs/embeddings +schema = 2 +v2_only = true +type = "embedding" +name = "voyage-4" +description = "General-purpose and multilingual embedding model balancing retrieval quality and cost" +family = "voyage" +open_weights = false +release_date = "2026-01-15" + +[modalities] +input = ["text"] +output = ["embedding"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 32_000 +output = 0 diff --git a/models/voyageai/voyage-code-4.toml b/models/voyageai/voyage-code-4.toml new file mode 100644 index 0000000000..944742abbc --- /dev/null +++ b/models/voyageai/voyage-code-4.toml @@ -0,0 +1,25 @@ +# Released 2026-08-13: https://blog.voyageai.com/2026/08/13/voyage-code-4/ +# Context length: https://docs.voyageai.com/docs/embeddings +schema = 2 +v2_only = true +type = "embedding" +name = "voyage-code-4" +description = "Code embedding model for code retrieval and coding agents" +family = "voyage" +open_weights = false +release_date = "2026-08-13" + +[modalities] +input = ["text"] +output = ["embedding"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 32_000 +output = 0 diff --git a/models/voyageai/voyage-multimodal-3.5.toml b/models/voyageai/voyage-multimodal-3.5.toml new file mode 100644 index 0000000000..bca67b10c8 --- /dev/null +++ b/models/voyageai/voyage-multimodal-3.5.toml @@ -0,0 +1,25 @@ +# Released 2026-01-15: https://blog.voyageai.com/2026/01/15/voyage-multimodal-3-5/ +# Formats (image/png, image/jpeg, image/webp, image/gif, video/mp4): https://docs.voyageai.com/reference/multimodal-embeddings-api +schema = 2 +v2_only = true +type = "embedding" +name = "voyage-multimodal-3.5" +description = "Multimodal embedding model for text, images, video, and interleaved content" +family = "voyage" +open_weights = false +release_date = "2026-01-15" + +[modalities] +input = ["text", "image/png", "image/jpeg", "image/webp", "image/gif", "video/mp4"] +output = ["embedding"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 32_000 +output = 0 diff --git a/models/writer/palmyra-x4.toml b/models/writer/palmyra-x4.toml index 2e4fc6728c..57fdd5a880 100644 --- a/models/writer/palmyra-x4.toml +++ b/models/writer/palmyra-x4.toml @@ -1,20 +1,26 @@ # https://writer.com/blog/actions-with-palmyra-x4/ # https://dev.writer.com/home/models +# Sampling: https://dev.writer.com/home/model-parameters (temperature and top_p are request parameters; +# "Top-k is currently not an active parameter"). +schema = 2 name = "Palmyra X4" description = "Enterprise language model for workflow automation, coding, data analysis, and tool use" family = "palmyra" +open_weights = false release_date = "2024-10-09" last_updated = "2025-04-28" -attachment = false -reasoning = true + +[modalities] +input = ["text"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } temperature = true -tool_call = true -open_weights = false +top_p = true +top_k = false [limit] context = 128_000 output = 4_096 - -[modalities] -input = ["text"] -output = ["text"] diff --git a/models/writer/palmyra-x5.toml b/models/writer/palmyra-x5.toml index 502ff35e2e..70f89255d5 100644 --- a/models/writer/palmyra-x5.toml +++ b/models/writer/palmyra-x5.toml @@ -1,21 +1,28 @@ # https://writer.com/blog/long-context-palmyra-x5/ # https://dev.writer.com/home/models # https://dev.writer.com/home/chat-with-images +# Sampling: https://dev.writer.com/home/model-parameters (temperature and top_p are request parameters; +# "Top-k is currently not an active parameter"). +# Image formats: the chat-with-images guide builds data URLs only for jpg/jpeg, png and gif +# (https://dev.writer.com/home/chat-with-images), so those map to image/jpeg, image/png, image/gif. +schema = 2 name = "Palmyra X5" description = "Reasoning model for deliberate analysis, multi-step problem solving, and tool use" family = "palmyra" +open_weights = false release_date = "2025-04-28" -last_updated = "2025-04-28" -attachment = true -reasoning = true + +[modalities] +input = ["text", "image/jpeg", "image/png", "image/gif"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } temperature = true -tool_call = true -open_weights = false +top_p = true +top_k = false [limit] context = 1_000_000 output = 8_192 - -[modalities] -input = ["text", "image"] -output = ["text"] diff --git a/models/xai/grok-4-fast-non-reasoning.toml b/models/xai/grok-4-fast-non-reasoning.toml new file mode 100644 index 0000000000..c9cc94f48b --- /dev/null +++ b/models/xai/grok-4-fast-non-reasoning.toml @@ -0,0 +1,27 @@ +# Lab metadata carried over from providers/qiniu-ai/models/x-ai/grok-4-fast-non-reasoning.toml (curated catalogue data already in this repo), +# with provider-specific fields (cost, reasoning_options, status) stripped. +# `audio` and `video` stay generic: xAI documents only jpg/jpeg or png image input for its language models +# (https://docs.x.ai/developers/models, "Image input models") and no audio or video input for Grok 4 Fast, so no +# format exists for them. They come from the Qiniu catalogue entry above. +# family: "grok", as on the other xAI Grok labs; xAI lists this model in its Grok lineup (https://docs.x.ai/developers/models). +schema = 2 +name = "X-Ai/Grok-4-Fast-Non-Reasoning" +description = "Fast Grok model for responsive chat, reasoning, and tool-assisted work" +family = "grok" +open_weights = false +release_date = "2025-12-18" + +[modalities] +input = ["text", "image/jpeg", "image/png", "audio", "video"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = false } +temperature = true +top_p = true +top_k = true + +[limit] +context = 2_000_000 +output = 2_000_000 diff --git a/models/xai/grok-4-fast-reasoning.toml b/models/xai/grok-4-fast-reasoning.toml new file mode 100644 index 0000000000..f9a98ccb47 --- /dev/null +++ b/models/xai/grok-4-fast-reasoning.toml @@ -0,0 +1,27 @@ +# Lab metadata carried over from providers/qiniu-ai/models/x-ai/grok-4-fast-reasoning.toml (curated catalogue data already in this repo), +# with provider-specific fields (cost, reasoning_options, status) stripped. +# `audio` and `video` stay generic: xAI documents only jpg/jpeg or png image input for its language models +# (https://docs.x.ai/developers/models, "Image input models") and no audio or video input for Grok 4 Fast, so no +# format exists for them. They come from the Qiniu catalogue entry above. +# Family: Grok, xAI's model line (https://x.ai/news/grok-4-fast); same as the other xAI Grok labs. +schema = 2 +name = "X-Ai/Grok-4-Fast-Reasoning" +description = "Fast Grok model for responsive chat, reasoning, and tool-assisted work" +family = "grok" +open_weights = false +release_date = "2025-12-18" + +[modalities] +input = ["text", "image/jpeg", "image/png", "audio", "video"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } +temperature = true +top_p = true +top_k = true + +[limit] +context = 2_000_000 +output = 2_000_000 diff --git a/models/xai/grok-4.1-fast-reasoning.toml b/models/xai/grok-4.1-fast-reasoning.toml index 497dc49085..2bf677f22e 100644 --- a/models/xai/grok-4.1-fast-reasoning.toml +++ b/models/xai/grok-4.1-fast-reasoning.toml @@ -1,22 +1,24 @@ # Sources: # - https://x.ai/news/grok-4-1-fast # - https://docs.cloud.google.com/vertex-ai/generative-ai/docs/partner-models/grok/grok-4-1-fast +schema = 2 name = "Grok 4.1 Fast (Reasoning)" description = "xAI's fast agentic tool-calling model with a 2M context window and built-in reasoning" family = "grok" +open_weights = false release_date = "2025-11-19" -last_updated = "2025-11-19" -attachment = true -reasoning = true + +[modalities] +input = ["text", "image/jpeg", "image/png"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } temperature = true -tool_call = true -structured_output = true -open_weights = false +top_p = true +top_k = true [limit] context = 2_000_000 output = 30_000 - -[modalities] -input = ["text", "image"] -output = ["text"] diff --git a/models/xai/grok-4.1-fast.toml b/models/xai/grok-4.1-fast.toml index 021a73c2ed..9cd26076d8 100644 --- a/models/xai/grok-4.1-fast.toml +++ b/models/xai/grok-4.1-fast.toml @@ -3,22 +3,24 @@ # - https://x.ai/news/grok-4-1-fast (release 2025-11-19; variants + $0.20/$0.50/$0.05 pricing) # - https://docs.oracle.com/en-us/iaas/Content/generative-ai/xai-grok-4-1-fast.htm (2M context, text+image, tools, structured outputs, non-reasoning mode) # - https://api.ofox.ai/v1/models/x-ai/grok-4.1-fast (canonical_slug grok-4-1-fast-non-reasoning; context 2M; max_completion 30k) +schema = 2 name = "Grok 4.1 Fast" description = "xAI's fast agentic tool-calling model with a 2M context window; non-reasoning variant for low-latency responses" family = "grok" +open_weights = false release_date = "2025-11-19" -last_updated = "2025-11-19" -attachment = true -reasoning = false + +[modalities] +input = ["text", "image/jpeg", "image/png"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = false } temperature = true -tool_call = true -structured_output = true -open_weights = false +top_p = true +top_k = true [limit] context = 2_000_000 output = 30_000 - -[modalities] -input = ["text", "image"] -output = ["text"] diff --git a/models/xai/grok-4.20-0309-non-reasoning.toml b/models/xai/grok-4.20-0309-non-reasoning.toml index 5cd27ea276..893b0e1c80 100644 --- a/models/xai/grok-4.20-0309-non-reasoning.toml +++ b/models/xai/grok-4.20-0309-non-reasoning.toml @@ -1,19 +1,21 @@ +schema = 2 name = "Grok 4.20 (Non-Reasoning)" description = "Grok model for agentic tool use, reasoning, coding, and live assistance" family = "grok" +open_weights = false release_date = "2026-03-09" -last_updated = "2026-03-09" -attachment = true -reasoning = false + +[modalities] +input = ["text", "image/jpeg", "image/png", "application/pdf"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = false } temperature = true -tool_call = true -structured_output = true -open_weights = false +top_p = true +top_k = true [limit] context = 1_000_000 output = 30_000 - -[modalities] -input = ["text", "image", "pdf"] -output = ["text"] diff --git a/models/xai/grok-4.20-0309-reasoning.toml b/models/xai/grok-4.20-0309-reasoning.toml index f0cabaa254..b81e10c125 100644 --- a/models/xai/grok-4.20-0309-reasoning.toml +++ b/models/xai/grok-4.20-0309-reasoning.toml @@ -1,19 +1,21 @@ +schema = 2 name = "Grok 4.20 (Reasoning)" description = "Reasoning Grok for document-heavy analysis and long-horizon tool use" family = "grok" +open_weights = false release_date = "2026-03-09" -last_updated = "2026-03-09" -attachment = true -reasoning = true + +[modalities] +input = ["text", "image/jpeg", "image/png", "application/pdf"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } temperature = true -tool_call = true -structured_output = true -open_weights = false +top_p = true +top_k = true [limit] context = 1_000_000 output = 30_000 - -[modalities] -input = ["text", "image", "pdf"] -output = ["text"] diff --git a/models/xai/grok-4.3.toml b/models/xai/grok-4.3.toml index b7efc83722..77bda040b2 100644 --- a/models/xai/grok-4.3.toml +++ b/models/xai/grok-4.3.toml @@ -1,23 +1,25 @@ +schema = 2 name = "Grok 4.3" description = "xAI's default Grok for chat, coding, agentic tools, and lower hallucination risk" family = "grok" +open_weights = false release_date = "2026-04-17" -last_updated = "2026-04-17" -attachment = true -reasoning = true + +[modalities] +input = ["text", "image/jpeg", "image/png", "application/pdf"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } temperature = true -tool_call = true -structured_output = true -open_weights = false +top_p = true +top_k = true [limit] context = 1_000_000 output = 30_000 -[modalities] -input = ["text", "image", "pdf"] -output = ["text"] - [[benchmarks]] name = "Artificial Analysis Intelligence Index" score = 53 diff --git a/models/xai/grok-4.5.toml b/models/xai/grok-4.5.toml index f36963cf89..d90cce62fd 100644 --- a/models/xai/grok-4.5.toml +++ b/models/xai/grok-4.5.toml @@ -1,23 +1,25 @@ +schema = 2 name = "Grok 4.5" description = "xAI's Grok model for chat, coding, agentic tools, and lower hallucination risk" family = "grok" +open_weights = false release_date = "2026-07-08" -last_updated = "2026-07-08" -attachment = true -reasoning = true + +[modalities] +input = ["text", "image/jpeg", "image/png"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } temperature = true -tool_call = true -structured_output = true -open_weights = false +top_p = true +top_k = true [limit] context = 500_000 output = 500_000 -[modalities] -input = ["text", "image"] -output = ["text"] - [[benchmarks]] name = "SWE-Bench Pro" score = 64.7 diff --git a/models/xai/grok-4.6.toml b/models/xai/grok-4.6.toml index 6b08953674..de73d43174 100644 --- a/models/xai/grok-4.6.toml +++ b/models/xai/grok-4.6.toml @@ -1,20 +1,91 @@ +# Benchmarks use the "Grok 4.6 High" comparison column and Grok 4.6 (high) GDPval chart in the Grok 4.7 announcement. +schema = 2 name = "Grok 4.6" description = "xAI's frontier model for long-running agents, coding, knowledge work, and visual projects" family = "grok" +open_weights = false knowledge = "2026-02-01" release_date = "2026-08-12" -last_updated = "2026-08-12" -attachment = true -reasoning = true + +[modalities] +input = ["text", "image/jpeg", "image/png"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } temperature = true -tool_call = true -structured_output = true -open_weights = false +top_p = true +top_k = true [limit] context = 500_000 output = 500_000 -[modalities] -input = ["text", "image"] -output = ["text"] +[[benchmarks]] +name = "CursorBench" +score = 40.4 +metric = "score" +variant = "high effort" +version = "4.0" +source = "https://x.ai/news/grok-4-7" +date = "2026-09-21" + +[[benchmarks]] +name = "DeepSWE" +score = 65.2 +metric = "score" +variant = "high effort" +version = "1.1" +source = "https://x.ai/news/grok-4-7" +date = "2026-09-21" + +[[benchmarks]] +name = "EEBench" +score = 53 +metric = "score" +variant = "high effort" +source = "https://x.ai/news/grok-4-7" +date = "2026-09-21" + +[[benchmarks]] +name = "AA-Briefcase" +score = 1546 +metric = "Elo" +variant = "high effort" +version = "1.1" +source = "https://x.ai/news/grok-4-7" +date = "2026-09-21" + +[[benchmarks]] +name = "Terminal-Bench" +score = 20.3 +metric = "score" +variant = "high effort" +version = "4.0" +source = "https://x.ai/news/grok-4-7" +date = "2026-09-21" + +[[benchmarks]] +name = "Harvey Legal Agent Benchmark" +score = 15.8 +metric = "score" +variant = "high effort" +source = "https://x.ai/news/grok-4-7" +date = "2026-09-21" + +[[benchmarks]] +name = "HealthBench" +score = 48.5 +metric = "score" +variant = "high effort; professional" +source = "https://x.ai/news/grok-4-7" +date = "2026-09-21" + +[[benchmarks]] +name = "GDPval" +score = 1605 +metric = "Elo" +variant = "high effort" +source = "https://x.ai/news/grok-4-7" +date = "2026-09-21" diff --git a/models/xai/grok-4.7.toml b/models/xai/grok-4.7.toml new file mode 100644 index 0000000000..cc20c3d7b2 --- /dev/null +++ b/models/xai/grok-4.7.toml @@ -0,0 +1,91 @@ +# Sources: https://docs.x.ai/developers/models/grok-4.7, https://docs.x.ai/developers/models +schema = 2 +name = "Grok 4.7" +description = "xAI's frontier model for long-running agents, coding, knowledge work, and visual projects" +family = "grok" +open_weights = false +knowledge = "2026-05" +release_date = "2026-09-21" + +[modalities] +input = ["text", "image/jpeg", "image/png", "application/pdf"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } +temperature = true +top_p = true +top_k = true + +[limit] +context = 500_000 +output = 500_000 + +[[benchmarks]] +name = "CursorBench" +score = 46.3 +metric = "score" +variant = "xhigh effort" +version = "4.0" +source = "https://x.ai/news/grok-4-7" +date = "2026-09-21" + +[[benchmarks]] +name = "DeepSWE" +score = 71 +metric = "score" +variant = "high effort" +version = "1.1" +source = "https://x.ai/news/grok-4-7" +date = "2026-09-21" + +[[benchmarks]] +name = "EEBench" +score = 64 +metric = "score" +variant = "xhigh effort" +source = "https://x.ai/news/grok-4-7" +date = "2026-09-21" + +[[benchmarks]] +name = "AA-Briefcase" +score = 1657 +metric = "Elo" +variant = "xhigh effort" +version = "1.1" +source = "https://x.ai/news/grok-4-7" +date = "2026-09-21" + +[[benchmarks]] +name = "Terminal-Bench" +score = 37.6 +metric = "score" +variant = "xhigh effort" +version = "4.0" +source = "https://x.ai/news/grok-4-7" +date = "2026-09-21" + +[[benchmarks]] +name = "Harvey Legal Agent Benchmark" +score = 19.6 +metric = "score" +variant = "xhigh effort" +source = "https://x.ai/news/grok-4-7" +date = "2026-09-21" + +[[benchmarks]] +name = "HealthBench" +score = 56.7 +metric = "score" +variant = "xhigh effort; professional" +source = "https://x.ai/news/grok-4-7" +date = "2026-09-21" + +[[benchmarks]] +name = "GDPval" +score = 1695 +metric = "Elo" +variant = "xhigh effort" +source = "https://x.ai/news/grok-4-7" +date = "2026-09-21" diff --git a/models/xai/grok-build-0.1.toml b/models/xai/grok-build-0.1.toml index 0132314ec5..f3abc3f0ab 100644 --- a/models/xai/grok-build-0.1.toml +++ b/models/xai/grok-build-0.1.toml @@ -1,19 +1,21 @@ +schema = 2 name = "Grok Build 0.1" description = "Fast Grok coding model tuned for agentic engineering and iterative edits" family = "grok-build" +open_weights = false release_date = "2026-04-16" -last_updated = "2026-04-16" -attachment = true -reasoning = true + +[modalities] +input = ["text", "image/jpeg", "image/png", "application/pdf"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } temperature = true -tool_call = true -structured_output = true -open_weights = false +top_p = true +top_k = true [limit] context = 256_000 output = 256_000 - -[modalities] -input = ["text", "image", "pdf"] -output = ["text"] diff --git a/models/xai/grok-code-fast-1.toml b/models/xai/grok-code-fast-1.toml new file mode 100644 index 0000000000..cc44705f99 --- /dev/null +++ b/models/xai/grok-code-fast-1.toml @@ -0,0 +1,24 @@ +# Lab metadata carried over from providers/qiniu-ai/models/x-ai/grok-code-fast-1.toml (curated catalogue data already in this repo), +# with provider-specific fields (cost, reasoning_options, status) stripped. +# family: "grok", as on the other xAI Grok labs; xAI lists this model in its Grok lineup (https://docs.x.ai/developers/models). +schema = 2 +name = "x-AI/Grok-Code-Fast 1" +description = "Fast Grok model for responsive chat, reasoning, and tool-assisted work" +family = "grok" +open_weights = false +release_date = "2025-09-02" + +[modalities] +input = ["text"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } +temperature = true +top_p = true +top_k = true + +[limit] +context = 256_000 +output = 10_000 diff --git a/models/xai/grok-imagine-image-2.0.toml b/models/xai/grok-imagine-image-2.0.toml index 88b8b99b40..21f3234c5a 100644 --- a/models/xai/grok-imagine-image-2.0.toml +++ b/models/xai/grok-imagine-image-2.0.toml @@ -5,22 +5,27 @@ # - https://x.ai/news/grok-imagine-image-2 # Pricing: $0.04 per image (not token-based; no [cost] authored) # Release: 2026-08-07 (GA as Quality Mode; API model id grok-imagine-image-2.0) - +# Context: GET https://api.x.ai/v1/image-generation-models reports max_prompt_length = 64000 (2026-10-19). +# Image MIME types: https://docs.x.ai/developers/rest-api-reference/inference/images (inputs JPEG, PNG or WebP; outputs image/jpeg unless the requested quality produces PNG) +schema = 2 +type = "image" name = "Grok Imagine Image 2.0" description = "Image model for prompt-driven generation, editing, and visual design workflows" family = "grok" +open_weights = false release_date = "2026-08-07" -last_updated = "2026-08-07" -attachment = true -reasoning = false + +[modalities] +input = ["text", "image/jpeg", "image/png", "image/webp"] +output = ["image/jpeg", "image/png"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } temperature = false -tool_call = false -open_weights = false +top_p = false +top_k = false [limit] -context = 8_000 +context = 64_000 output = 0 - -[modalities] -input = ["text", "image"] -output = ["image"] diff --git a/models/xai/grok-imagine-image-quality.toml b/models/xai/grok-imagine-image-quality.toml new file mode 100644 index 0000000000..4caa166791 --- /dev/null +++ b/models/xai/grok-imagine-image-quality.toml @@ -0,0 +1,30 @@ +# Sources: +# - https://docs.x.ai/docs/models +# - https://docs.x.ai/developers/models/grok-imagine-image-quality +# - https://docs.x.ai/developers/pricing +# - https://docs.x.ai/docs/guides/image-generation +# Pricing: $0.05/image (1K), $0.07/image (2K); image input $0.01/image (not token-based; no [cost] authored) +# Release: dated alias grok-imagine-image-quality-20260403; also aliased as grok-imagine-image-quality-latest, grok-imagine-image-pro +# Image MIME types: https://docs.x.ai/developers/rest-api-reference/inference/images (inputs JPEG, PNG or WebP; outputs image/jpeg unless the requested quality produces PNG) +schema = 2 +type = "image" +name = "Grok Imagine Image Quality" +description = "Higher-fidelity Grok Imagine image model for prompt-driven generation, editing, and visual design workflows" +family = "grok" +open_weights = false +release_date = "2026-04-03" + +[modalities] +input = ["text", "image/jpeg", "image/png", "image/webp"] +output = ["image/jpeg", "image/png"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 16_000 +output = 0 diff --git a/models/xai/grok-imagine-image.toml b/models/xai/grok-imagine-image.toml new file mode 100644 index 0000000000..681f9d93fb --- /dev/null +++ b/models/xai/grok-imagine-image.toml @@ -0,0 +1,29 @@ +# Sources: +# - https://docs.x.ai/docs/models +# - https://docs.x.ai/developers/models/grok-imagine-image +# - https://docs.x.ai/docs/guides/image-generation +# Facts moved here verbatim from providers/xai/models/grok-imagine-image.toml, which carried +# them inline; that file is now override-only, as AGENTS.md requires. +# Image MIME types: https://docs.x.ai/developers/rest-api-reference/inference/images (inputs JPEG, PNG or WebP; outputs image/jpeg unless the requested quality produces PNG) +schema = 2 +type = "image" +name = "Grok Imagine Image" +description = "Image model for prompt-driven generation, editing, and visual design workflows" +family = "grok" +open_weights = false +release_date = "2026-01-28" + +[modalities] +input = ["text", "image/jpeg", "image/png", "image/webp"] +output = ["image/jpeg", "image/png"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 16_000 +output = 0 diff --git a/models/xai/grok-imagine-video-1.5-lite.toml b/models/xai/grok-imagine-video-1.5-lite.toml new file mode 100644 index 0000000000..76d836d84e --- /dev/null +++ b/models/xai/grok-imagine-video-1.5-lite.toml @@ -0,0 +1,29 @@ +# Sources: +# - https://docs.x.ai/developers/models/grok-imagine-video-1.5-lite (modalities text, image -> video; $0.020/sec output) +# - https://docs.x.ai/developers/models (Imagine pricing: grok-imagine-video-1.5-lite $0.020/sec) +# - https://cryptobriefing.com/grok-imagine-lite-venice-ai-video/ (first observed 2026-10-01; 15s clips up to 1080p with native audio) +# Pricing: $0.020/sec output (not token-based; no [cost] authored) +# Release: no official xAI release date published; using first-observed date 2026-10-01 +# Image and video MIME types: https://docs.x.ai/developers/rest-api-reference/inference/videos (image inputs JPEG, PNG or WebP; video inputs and generated videos are .mp4) +schema = 2 +type = "video" +name = "Grok Imagine Video 1.5 Lite" +description = "Cost-efficient video model for text-to-video and image-to-video generation" +family = "grok" +open_weights = false +release_date = "2026-10-01" + +[modalities] +input = ["text", "image/jpeg", "image/png", "image/webp"] +output = ["video/mp4"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 1_024 +output = 0 diff --git a/models/xai/grok-imagine-video-1.5.toml b/models/xai/grok-imagine-video-1.5.toml index 17e044c7de..d81f1552ba 100644 --- a/models/xai/grok-imagine-video-1.5.toml +++ b/models/xai/grok-imagine-video-1.5.toml @@ -2,22 +2,33 @@ # - https://docs.x.ai/docs/models # - https://docs.x.ai/developers/models/grok-imagine-video-1.5 # - https://docs.x.ai/docs/guides/video-generation - +# Inputs: GET https://api.x.ai/v1/video-generation-models lists input_modalities = text, image, audio. +# Video editing and extension use grok-imagine-video, not 1.5: +# https://docs.x.ai/developers/model-capabilities/video/editing, https://docs.x.ai/developers/model-capabilities/video/extension +# Voice references: https://docs.x.ai/developers/model-capabilities/video/reference-to-video +# Image and video MIME types: https://docs.x.ai/developers/rest-api-reference/inference/videos (image inputs JPEG, PNG or WebP; video inputs and generated videos are .mp4) +# `audio` stays generic: audio input is reference_audios, which takes preset voices by voice_id; voice references from +# your own audio files are partner-only with no published formats: +# https://docs.x.ai/developers/model-capabilities/video/reference-to-video +schema = 2 +type = "video" name = "Grok Imagine Video 1.5" -description = "Video model for image-to-video generation, editing, and extension workflows" +description = "Video model for text-to-video, image-to-video, and reference-to-video generation with optional voice references" family = "grok" +open_weights = false release_date = "2026-05-30" -last_updated = "2026-05-30" -attachment = true -reasoning = false + +[modalities] +input = ["text", "image/jpeg", "image/png", "image/webp", "audio"] +output = ["video/mp4"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } temperature = false -tool_call = false -open_weights = false +top_p = false +top_k = false [limit] context = 1_024 output = 0 - -[modalities] -input = ["text", "image", "video"] -output = ["video"] diff --git a/models/xai/grok-imagine-video.toml b/models/xai/grok-imagine-video.toml new file mode 100644 index 0000000000..cf7e293102 --- /dev/null +++ b/models/xai/grok-imagine-video.toml @@ -0,0 +1,26 @@ +# Released 2026-01-28 with the Grok Imagine API: https://x.ai/news/grok-imagine-api +# Generation, editing and extension: https://docs.x.ai/developers/model-capabilities/video/editing , https://docs.x.ai/developers/model-capabilities/video/extension +# Image and video MIME types: https://docs.x.ai/developers/rest-api-reference/inference/videos (image inputs JPEG, PNG or WebP; video inputs and generated videos are .mp4) +schema = 2 +v2_only = true +type = "video" +name = "Grok Imagine Video" +description = "Video model for text-to-video, image-to-video, video editing and extension with native synchronized audio" +family = "grok" +open_weights = false +release_date = "2026-01-28" + +[modalities] +input = ["text", "image/jpeg", "image/png", "image/webp", "video/mp4"] +output = ["video/mp4"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 0 +output = 0 diff --git a/models/xai/grok-tts.toml b/models/xai/grok-tts.toml new file mode 100644 index 0000000000..76ed51f109 --- /dev/null +++ b/models/xai/grok-tts.toml @@ -0,0 +1,25 @@ +# xAI catalog ID: https://docs.x.ai/developers/models/grok-tts +# Released 2026-03-16 ("Grok's Text to Speech API is now available"); GA in the March 2026 release notes. +# https://docs.x.ai/developers/release-notes +# Audio MIME types: https://docs.x.ai/developers/model-capabilities/audio/text-to-speech#codecs (Content-Type per codec: audio/mpeg, audio/wav, audio/pcm, audio/basic, audio/alaw) +schema = 2 +type = "speech" +name = "Grok TTS" +description = "Convert text into spoken audio with a single API call. The API supports a rich set of expressive voices, inline speech tags for fine-grained delivery control, and output formats from high-fidelity MP3 to telephony-optimized μ-law." +open_weights = false +release_date = "2026-03-16" + +[modalities] +input = ["text"] +output = ["audio/mpeg", "audio/wav", "audio/pcm", "audio/basic", "audio/alaw"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 15_000 +output = 15_000 diff --git a/models/xai/grok-voice-3.0.toml b/models/xai/grok-voice-3.0.toml new file mode 100644 index 0000000000..206b0f6999 --- /dev/null +++ b/models/xai/grok-voice-3.0.toml @@ -0,0 +1,29 @@ +# Sources: +# - https://docs.x.ai/developers/models/grok-voice-3.0 +# - https://docs.x.ai/developers/model-capabilities/audio/speech-to-speech (session.update: tools, reasoning.effort high|none) +# - https://docs.x.ai/developers/release-notes (2026-10-14: grok-voice-3.0 available; grok-voice-latest points to it) +# xAI publishes no token context or output window for Speech to Speech; zero denotes not published. +# Audio MIME types: https://docs.x.ai/developers/model-capabilities/audio/speech-to-speech#configuring-audio-format (audio/pcm, audio/pcmu, audio/pcma, audio/opus) +schema = 2 +v2_only = true +type = "realtime" +name = "Grok Voice 3.0" +description = "Speech-to-speech model for real-time voice agents with tool use and optional reasoning" +family = "grok" +open_weights = false +release_date = "2026-10-14" + +[modalities] +input = ["text", "audio/pcm", "audio/pcmu", "audio/pcma", "audio/opus"] +output = ["text", "audio/pcm", "audio/pcmu", "audio/pcma", "audio/opus"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } +temperature = false +top_p = false +top_k = false + +[limit] +context = 0 +output = 0 diff --git a/models/xai/grok-voice-transcribe-2.0.toml b/models/xai/grok-voice-transcribe-2.0.toml new file mode 100644 index 0000000000..e853c40a8c --- /dev/null +++ b/models/xai/grok-voice-transcribe-2.0.toml @@ -0,0 +1,27 @@ +# Sources: +# - https://docs.x.ai/developers/models/grok-voice-transcribe-2.0 +# - https://docs.x.ai/developers/model-capabilities/audio/speech-to-text (container formats: WAV, MP3, OGG, Opus, FLAC, AAC, MP4, M4A, MKV) +# - https://docs.x.ai/developers/release-notes (2026-09-17: grok-voice-transcribe-2.0 available) +# Transcription has no token context/output window; zero denotes not applicable. +schema = 2 +type = "transcription" +name = "Grok Voice Transcribe 2.0" +description = "Speech-to-text model with word-level timestamps, speaker diarization, multichannel audio, and streaming" +family = "grok" +open_weights = false +release_date = "2026-09-17" + +[modalities] +input = ["audio/wav", "audio/mpeg", "audio/ogg", "audio/flac", "audio/aac", "audio/mp4"] +output = ["text"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 0 +output = 0 diff --git a/models/xiaomi/mimo-v2-flash.toml b/models/xiaomi/mimo-v2-flash.toml index 59526effc2..45d635b6ce 100644 --- a/models/xiaomi/mimo-v2-flash.toml +++ b/models/xiaomi/mimo-v2-flash.toml @@ -1,23 +1,30 @@ +# Sampling: open weights, so temperature/top_p/top_k are runtime features of the host. The checkpoint's +# generation_config.json sets temperature 1.0 and top_p 0.95; the MiMo API pins both in thinking mode +# (https://mimo.mi.com/docs/en-US/api/chat/openai-api). +schema = 2 name = "MiMo-V2-Flash" description = "MiMo flash model for fast multimodal assistance and agent workflows" family = "mimo" +open_weights = true +knowledge = "2024-12-01" release_date = "2025-12-16" last_updated = "2026-02-04" -attachment = false -reasoning = true + +[modalities] +input = ["text"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } temperature = true -tool_call = true -knowledge = "2024-12-01" -open_weights = true +top_p = true +top_k = true [limit] context = 262_144 output = 65_536 -[modalities] -input = ["text"] -output = ["text"] - [[weights]] label = "Hugging Face" url = "https://huggingface.co/XiaomiMiMo/MiMo-V2-Flash" diff --git a/models/xiaomi/mimo-v2-omni.toml b/models/xiaomi/mimo-v2-omni.toml index 4eec62d48a..e2e5f52b65 100644 --- a/models/xiaomi/mimo-v2-omni.toml +++ b/models/xiaomi/mimo-v2-omni.toml @@ -1,19 +1,27 @@ +# Formats: generic image/audio/video kept. MiMo-V2-Omni was retired from the MiMo API (requests now route to +# newer models, https://mimo.mi.com/docs/en-US/updates/deprecate) and no official page that listed it as +# supported gives file formats; the current format lists name only the models served today. +# Sampling: the MiMo chat API takes temperature and top_p and has no top_k +# (https://mimo.mi.com/docs/en-US/api/chat/openai-api). +schema = 2 name = "MiMo-V2-Omni" description = "MiMo omni model for text, image, video, audio, and agents" family = "mimo" +open_weights = false +knowledge = "2024-12" release_date = "2026-03-18" -last_updated = "2026-03-18" -attachment = true -reasoning = true + +[modalities] +input = ["text", "image", "audio", "video", "application/pdf"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } temperature = true -tool_call = true -knowledge = "2024-12" -open_weights = false +top_p = true +top_k = false [limit] context = 262_144 output = 131_072 - -[modalities] -input = ["text", "image", "audio", "video", "pdf"] -output = ["text"] diff --git a/models/xiaomi/mimo-v2-pro.toml b/models/xiaomi/mimo-v2-pro.toml index 2ed6dc6b8f..fd648998b1 100644 --- a/models/xiaomi/mimo-v2-pro.toml +++ b/models/xiaomi/mimo-v2-pro.toml @@ -1,19 +1,24 @@ +# Sampling: the MiMo chat API takes temperature and top_p and has no top_k +# (https://mimo.mi.com/docs/en-US/api/chat/openai-api). +schema = 2 name = "MiMo-V2-Pro" description = "Earlier MiMo Pro model for multimodal agents, reasoning, and code tasks" family = "mimo" +open_weights = false +knowledge = "2024-12" release_date = "2026-03-18" -last_updated = "2026-03-18" -attachment = false -reasoning = true + +[modalities] +input = ["text"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } temperature = true -tool_call = true -knowledge = "2024-12" -open_weights = false +top_p = true +top_k = false [limit] context = 1_048_576 output = 131_072 - -[modalities] -input = ["text"] -output = ["text"] diff --git a/models/xiaomi/mimo-v2-tts.toml b/models/xiaomi/mimo-v2-tts.toml new file mode 100644 index 0000000000..19d1b4caff --- /dev/null +++ b/models/xiaomi/mimo-v2-tts.toml @@ -0,0 +1,32 @@ +# Sources (Xiaomi MiMo docs, accessed 2026-10-21): +# - Release 2026-03-18: https://mimo.mi.com/static/docs/updates/model.md and +# https://mimo.mi.com/static/docs/news/previous-news/v2-tts-release.md +# - Context 8K, max output 8K (pricing page archived 2026-05-08): +# https://web.archive.org/web/20260508062910/https://platform.xiaomimimo.com/static/docs/pricing.md +# - Retired from the MiMo API on 2026-06-30 (requests routed to mimo-v2.5-tts from 2026-06-27): +# https://mimo.mi.com/static/docs/updates/deprecate.md +# Formats: generic audio kept; no archived page lists this model's output formats. +# Weights: not released (API only; the XiaomiMiMo Hugging Face organization has no TTS repository, +# https://huggingface.co/api/models?author=XiaomiMiMo, checked 2026-10-21). +schema = 2 +type = "speech" +name = "MiMo-V2-TTS" +description = "Speech generation model for controllable voice, narration, and audio delivery" +family = "mimo" +open_weights = false +release_date = "2026-03-18" + +[modalities] +input = ["text"] +output = ["audio"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 8_192 +output = 8_192 diff --git a/models/xiaomi/mimo-v2.5-asr.toml b/models/xiaomi/mimo-v2.5-asr.toml new file mode 100644 index 0000000000..168042e12c --- /dev/null +++ b/models/xiaomi/mimo-v2.5-asr.toml @@ -0,0 +1,36 @@ +# Sources (accessed 2026-10-21): +# - Models (context 8K, max output 2K): https://mimo.mi.com/static/docs/quick-start/summary/model.md +# - Input audio: wav and mp3 only (MIME audio/wav, audio/mpeg or audio/mp3), base64 up to 10 MB: +# https://mimo.mi.com/static/docs/quick-start/usage-guide/audio/Speech-Recognition.md +# - Weights (MIT) published with the MiMo-V2.5-TTS + ASR launch; Hugging Face repo created 2026-04-23: +# https://huggingface.co/XiaomiMiMo/MiMo-V2.5-ASR, https://mimo.mi.com/static/docs/news/latest/v2.5-tts-release.md +# (the API update log lists it on 2026-06-02: https://mimo.mi.com/static/docs/updates/model.md) +# Sampling: the ASR API takes no temperature, top_p or top_k (https://mimo.mi.com/static/docs/api/audio/Speech-Recognition.md). +schema = 2 +v2_only = true +type = "transcription" +name = "MiMo-V2.5-ASR" +description = "Speech recognition model for Chinese, English, dialects, and noisy multi-speaker audio" +family = "mimo" +open_weights = true +release_date = "2026-04-23" +license = "MIT" + +[modalities] +input = ["audio/wav", "audio/mpeg"] +output = ["text"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 8_192 +output = 2_048 + +[[weights]] +label = "Hugging Face" +url = "https://huggingface.co/XiaomiMiMo/MiMo-V2.5-ASR" diff --git a/models/xiaomi/mimo-v2.5-pro-ultraspeed.toml b/models/xiaomi/mimo-v2.5-pro-ultraspeed.toml index f76b4f11aa..8c60c24b40 100644 --- a/models/xiaomi/mimo-v2.5-pro-ultraspeed.toml +++ b/models/xiaomi/mimo-v2.5-pro-ultraspeed.toml @@ -1,23 +1,30 @@ +# Sampling: open weights, so temperature/top_p/top_k are runtime features of the host. The checkpoint's +# generation_config.json sets temperature 1.0 and top_p 0.95; the MiMo API pins both in thinking mode +# (https://mimo.mi.com/docs/en-US/api/chat/openai-api). +schema = 2 name = "MiMo-V2.5-Pro-UltraSpeed" description = "MiMo pro model for strong multimodal reasoning and agent execution" family = "mimo" +open_weights = true +knowledge = "2024-12" release_date = "2026-06-08" last_updated = "2026-06-09" -attachment = false -reasoning = true + +[modalities] +input = ["text"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } temperature = true -tool_call = true -knowledge = "2024-12" -open_weights = true +top_p = true +top_k = true [limit] context = 1_048_576 output = 131_072 -[modalities] -input = ["text"] -output = ["text"] - [[weights]] label = "Hugging Face" url = "https://huggingface.co/XiaomiMiMo/MiMo-V2.5-Pro-FP4-DFlash" diff --git a/models/xiaomi/mimo-v2.5-pro.toml b/models/xiaomi/mimo-v2.5-pro.toml index f51889ea37..48c67a8756 100644 --- a/models/xiaomi/mimo-v2.5-pro.toml +++ b/models/xiaomi/mimo-v2.5-pro.toml @@ -1,23 +1,30 @@ +# Benchmarks sourced from MiMo-V2.6-Flash-RL use its "MiMo-V2.5 Pro" comparison column. +# Sampling: open weights, so temperature/top_p/top_k are runtime features of the host. The checkpoint's +# generation_config.json sets temperature 1.0 and top_p 0.95; the MiMo API pins both in thinking mode +# (https://mimo.mi.com/docs/en-US/api/chat/openai-api). +schema = 2 name = "MiMo-V2.5-Pro" description = "Stronger MiMo Pro tier for multimodal reasoning and coding-agent execution" family = "mimo" +open_weights = true +knowledge = "2024-12" release_date = "2026-04-22" -last_updated = "2026-04-22" -attachment = false -reasoning = true + +[modalities] +input = ["text"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } temperature = true -tool_call = true -knowledge = "2024-12" -open_weights = true +top_p = true +top_k = true [limit] context = 1_048_576 output = 131_072 -[modalities] -input = ["text"] -output = ["text"] - [[weights]] label = "Hugging Face" url = "https://huggingface.co/XiaomiMiMo/MiMo-V2.5-Pro" @@ -41,3 +48,113 @@ score = 86.6 metric = "accuracy" source = "https://mimo.xiaomi.com/mimo-v2-5-pro/" date = "2026-04-22" + +[[benchmarks]] +name = "DeepSWE" +score = 19 +metric = "score" +version = "1.1" +variant = "MiMo-V2.5 Pro comparison column" +source = "https://huggingface.co/XiaomiMiMo/MiMo-V2.6-Flash-RL" + +[[benchmarks]] +name = "ProgramBench" +score = 12.5 +metric = "score" +variant = "MiMo-V2.5 Pro comparison column" +source = "https://huggingface.co/XiaomiMiMo/MiMo-V2.6-Flash-RL" + +[[benchmarks]] +name = "MiMo Code Bench" +score = 40.4 +metric = "score" +variant = "MiMo-V2.5 Pro comparison column" +source = "https://huggingface.co/XiaomiMiMo/MiMo-V2.6-Flash-RL" + +[[benchmarks]] +name = "AutomationBench" +score = 16 +metric = "score" +version = "1.0.6" +variant = "MiMo-V2.5 Pro comparison column" +source = "https://huggingface.co/XiaomiMiMo/MiMo-V2.6-Flash-RL" + +[[benchmarks]] +name = "Toolathlon-Verified" +score = 49.1 +metric = "score" +variant = "MiMo-V2.5 Pro comparison column" +source = "https://huggingface.co/XiaomiMiMo/MiMo-V2.6-Flash-RL" + +[[benchmarks]] +name = "GDPval-AA" +score = 1107 +metric = "Elo" +version = "2.1" +variant = "MiMo-V2.5 Pro comparison column" +source = "https://huggingface.co/XiaomiMiMo/MiMo-V2.6-Flash-RL" + +[[benchmarks]] +name = "Agents' Last Exam" +score = 13.2 +metric = "score" +variant = "MiMo-V2.5 Pro comparison column" +source = "https://huggingface.co/XiaomiMiMo/MiMo-V2.6-Flash-RL" + +[[benchmarks]] +name = "Terminal-Bench" +score = 1.5 +metric = "score" +version = "4.0" +variant = "MiMo-V2.5 Pro comparison column" +source = "https://huggingface.co/XiaomiMiMo/MiMo-V2.6-Flash-RL" + +[[benchmarks]] +name = "Terminal-Bench" +score = 65.2 +metric = "score" +version = "2.1" +variant = "MiMo-V2.5 Pro comparison column" +source = "https://huggingface.co/XiaomiMiMo/MiMo-V2.6-Flash-RL" + +[[benchmarks]] +name = "JobBench" +score = 25 +metric = "score" +variant = "MiMo-V2.5 Pro comparison column" +source = "https://huggingface.co/XiaomiMiMo/MiMo-V2.6-Flash-RL" + +[[benchmarks]] +name = "CyberGym" +score = 40 +metric = "score" +variant = "MiMo-V2.5 Pro comparison column" +source = "https://huggingface.co/XiaomiMiMo/MiMo-V2.6-Flash-RL" + +[[benchmarks]] +name = "MiMo Cyber Bench" +score = 0 +metric = "score" +variant = "MiMo-V2.5 Pro comparison column" +source = "https://huggingface.co/XiaomiMiMo/MiMo-V2.6-Flash-RL" + +[[benchmarks]] +name = "ExploitGym" +score = 0.2 +metric = "score" +variant = "MiMo-V2.5 Pro comparison column" +source = "https://huggingface.co/XiaomiMiMo/MiMo-V2.6-Flash-RL" + +[[benchmarks]] +name = "ExploitBench" +score = 16.6 +metric = "score" +variant = "MiMo-V2.5 Pro comparison column" +source = "https://huggingface.co/XiaomiMiMo/MiMo-V2.6-Flash-RL" + +[[benchmarks]] +name = "SEC-Bench Pro" +score = 17.7 +metric = "score" +variant = "MiMo-V2.5 Pro comparison column" +source = "https://huggingface.co/XiaomiMiMo/MiMo-V2.6-Flash-RL" diff --git a/models/xiaomi/mimo-v2.5-tts-voiceclone.toml b/models/xiaomi/mimo-v2.5-tts-voiceclone.toml new file mode 100644 index 0000000000..af3fef0e72 --- /dev/null +++ b/models/xiaomi/mimo-v2.5-tts-voiceclone.toml @@ -0,0 +1,32 @@ +# Sources (Xiaomi MiMo docs, accessed 2026-10-21): +# - Models (context 8K, max output 8K): https://mimo.mi.com/static/docs/quick-start/summary/model.md +# - Release: launched with the MiMo-V2.5 public beta (https://mimo.mi.com/static/docs/news/latest/v2.5-news.md), +# the same day as MiMo-V2.5 (2026-04-22 in this catalog; the update log lists 2026-04-23: +# https://mimo.mi.com/static/docs/updates/model.md). +# - API (Chat Completions with an `audio` object; the voice sample to clone is base64 mp3 or wav in audio.voice; audio.format wav | mp3 | pcm/pcm16, pcm when streaming; no +# temperature, top_p or top_k parameter): https://mimo.mi.com/static/docs/api/audio/tts.md +# - Weights: not released. The V2.5-TTS + ASR announcement open-sources only MiMo-V2.5-ASR +# (https://mimo.mi.com/static/docs/news/latest/v2.5-tts-release.md), and the XiaomiMiMo Hugging Face +# organization has no TTS repository (https://huggingface.co/api/models?author=XiaomiMiMo, checked 2026-10-21). +schema = 2 +type = "speech" +name = "MiMo-V2.5-TTS-VoiceClone" +description = "Speech generation model for controllable voice, narration, and audio delivery" +family = "mimo" +open_weights = false +release_date = "2026-04-22" + +[modalities] +input = ["text"] +output = ["audio/wav", "audio/mpeg", "audio/pcm"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 8_192 +output = 8_192 diff --git a/models/xiaomi/mimo-v2.5-tts-voicedesign.toml b/models/xiaomi/mimo-v2.5-tts-voicedesign.toml new file mode 100644 index 0000000000..1d2db7d4f0 --- /dev/null +++ b/models/xiaomi/mimo-v2.5-tts-voicedesign.toml @@ -0,0 +1,32 @@ +# Sources (Xiaomi MiMo docs, accessed 2026-10-21): +# - Models (context 8K, max output 8K): https://mimo.mi.com/static/docs/quick-start/summary/model.md +# - Release: launched with the MiMo-V2.5 public beta (https://mimo.mi.com/static/docs/news/latest/v2.5-news.md), +# the same day as MiMo-V2.5 (2026-04-22 in this catalog; the update log lists 2026-04-23: +# https://mimo.mi.com/static/docs/updates/model.md). +# - API (Chat Completions with an `audio` object; a user message describes the voice to design; audio.format wav | mp3 | pcm/pcm16, pcm when streaming; no +# temperature, top_p or top_k parameter): https://mimo.mi.com/static/docs/api/audio/tts.md +# - Weights: not released. The V2.5-TTS + ASR announcement open-sources only MiMo-V2.5-ASR +# (https://mimo.mi.com/static/docs/news/latest/v2.5-tts-release.md), and the XiaomiMiMo Hugging Face +# organization has no TTS repository (https://huggingface.co/api/models?author=XiaomiMiMo, checked 2026-10-21). +schema = 2 +type = "speech" +name = "MiMo-V2.5-TTS-VoiceDesign" +description = "Speech generation model for controllable voice, narration, and audio delivery" +family = "mimo" +open_weights = false +release_date = "2026-04-22" + +[modalities] +input = ["text"] +output = ["audio/wav", "audio/mpeg", "audio/pcm"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 8_192 +output = 8_192 diff --git a/models/xiaomi/mimo-v2.5-tts.toml b/models/xiaomi/mimo-v2.5-tts.toml new file mode 100644 index 0000000000..e03c39c2bd --- /dev/null +++ b/models/xiaomi/mimo-v2.5-tts.toml @@ -0,0 +1,32 @@ +# Sources (Xiaomi MiMo docs, accessed 2026-10-21): +# - Models (context 8K, max output 8K): https://mimo.mi.com/static/docs/quick-start/summary/model.md +# - Release: launched with the MiMo-V2.5 public beta (https://mimo.mi.com/static/docs/news/latest/v2.5-news.md), +# the same day as MiMo-V2.5 (2026-04-22 in this catalog; the update log lists 2026-04-23: +# https://mimo.mi.com/static/docs/updates/model.md). +# - API (Chat Completions with an `audio` object; audio.format wav | mp3 | pcm/pcm16, pcm when streaming; no +# temperature, top_p or top_k parameter): https://mimo.mi.com/static/docs/api/audio/tts.md +# - Weights: not released. The V2.5-TTS + ASR announcement open-sources only MiMo-V2.5-ASR +# (https://mimo.mi.com/static/docs/news/latest/v2.5-tts-release.md), and the XiaomiMiMo Hugging Face +# organization has no TTS repository (https://huggingface.co/api/models?author=XiaomiMiMo, checked 2026-10-21). +schema = 2 +type = "speech" +name = "MiMo-V2.5-TTS" +description = "Speech generation model for controllable voice, narration, and audio delivery" +family = "mimo" +open_weights = false +release_date = "2026-04-22" + +[modalities] +input = ["text"] +output = ["audio/wav", "audio/mpeg", "audio/pcm"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 8_192 +output = 8_192 diff --git a/models/xiaomi/mimo-v2.5.toml b/models/xiaomi/mimo-v2.5.toml index 9a5d4be27c..f583f45a4a 100644 --- a/models/xiaomi/mimo-v2.5.toml +++ b/models/xiaomi/mimo-v2.5.toml @@ -1,23 +1,126 @@ +# Scores transcribed from the model card coding and multimodal benchmark charts. +# Formats (Xiaomi MiMo API, lists this model as supported): +# images JPEG, PNG, GIF, WebP, BMP: https://mimo.mi.com/docs/en-US/quick-start/usage-guide/multimodal-understanding/image-understanding +# audio MP3, WAV, FLAC, M4A, OGG: https://mimo.mi.com/docs/en-US/quick-start/usage-guide/multimodal-understanding/audio-understanding +# video MP4, MOV, AVI, WMV: https://mimo.mi.com/docs/en-US/quick-start/usage-guide/multimodal-understanding/video-understanding +# Sampling: open weights, so temperature/top_p/top_k are runtime features of the host. The checkpoint's +# generation_config.json sets temperature 1.0 and top_p 0.95; the MiMo API pins both in thinking mode +# (https://mimo.mi.com/docs/en-US/api/chat/openai-api). +schema = 2 name = "MiMo-V2.5" description = "Open MiMo model for multimodal coding agents and long-context automation" family = "mimo" +open_weights = true +knowledge = "2024-12" release_date = "2026-04-22" -last_updated = "2026-04-22" -attachment = true -reasoning = true + +[modalities] +input = [ + "text", + "image/jpeg", + "image/png", + "image/gif", + "image/webp", + "image/bmp", + "audio/mpeg", + "audio/wav", + "audio/flac", + "audio/mp4", + "audio/ogg", + "video/mp4", + "video/quicktime", + "video/x-msvideo", + "video/x-ms-wmv", +] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } temperature = true -tool_call = true -knowledge = "2024-12" -open_weights = true +top_p = true +top_k = true [limit] context = 1_048_576 output = 131_072 -[modalities] -input = ["text", "image", "audio", "video"] -output = ["text"] - [[weights]] label = "Hugging Face" url = "https://huggingface.co/XiaomiMiMo/MiMo-V2.5" + +[[benchmarks]] +name = "MiMo Coding Bench" +score = 71.8 +metric = "score" +source = "https://huggingface.co/XiaomiMiMo/MiMo-V2.5" + +[[benchmarks]] +name = "Claw-Eval" +score = 62.3 +metric = "score" +variant = "text" +source = "https://huggingface.co/XiaomiMiMo/MiMo-V2.5" + +[[benchmarks]] +name = "Terminal-Bench" +score = 65.8 +metric = "score" +version = "2.0" +source = "https://huggingface.co/XiaomiMiMo/MiMo-V2.5" + +[[benchmarks]] +name = "SWE-Bench Pro" +score = 56.1 +metric = "score" +source = "https://huggingface.co/XiaomiMiMo/MiMo-V2.5" + +[[benchmarks]] +name = "CharXiv Reasoning" +score = 81 +metric = "score" +source = "https://huggingface.co/XiaomiMiMo/MiMo-V2.5" + +[[benchmarks]] +name = "MMMU-Pro" +score = 77.9 +metric = "score" +source = "https://huggingface.co/XiaomiMiMo/MiMo-V2.5" + +[[benchmarks]] +name = "HR-Bench" +score = 88.5 +metric = "score" +variant = "4K" +source = "https://huggingface.co/XiaomiMiMo/MiMo-V2.5" + +[[benchmarks]] +name = "OmniDocBench" +score = 87.2 +metric = "score" +source = "https://huggingface.co/XiaomiMiMo/MiMo-V2.5" + +[[benchmarks]] +name = "Claw-Eval" +score = 23.8 +metric = "score" +variant = "multimodal" +source = "https://huggingface.co/XiaomiMiMo/MiMo-V2.5" + +[[benchmarks]] +name = "Video-MME" +score = 87.7 +metric = "score" +source = "https://huggingface.co/XiaomiMiMo/MiMo-V2.5" + +[[benchmarks]] +name = "DailyOmni" +score = 83.5 +metric = "score" +source = "https://huggingface.co/XiaomiMiMo/MiMo-V2.5" + +[[benchmarks]] +name = "VideoHolmes" +score = 64 +metric = "score" +source = "https://huggingface.co/XiaomiMiMo/MiMo-V2.5" diff --git a/models/xiaomi/mimo-v2.6-flash.toml b/models/xiaomi/mimo-v2.6-flash.toml new file mode 100644 index 0000000000..6de68484d3 --- /dev/null +++ b/models/xiaomi/mimo-v2.6-flash.toml @@ -0,0 +1,149 @@ +# Benchmarks: official MiMo-V2.6 RL checkpoint evaluation table; metrics left as score where unspecified. +# Formats (Xiaomi MiMo API, lists this model as supported): +# images JPEG, PNG, GIF, WebP, BMP: https://mimo.mi.com/docs/en-US/quick-start/usage-guide/multimodal-understanding/image-understanding +# audio MP3, WAV, FLAC, M4A, OGG: https://mimo.mi.com/docs/en-US/quick-start/usage-guide/multimodal-understanding/audio-understanding +# video MP4, MOV, AVI, WMV: https://mimo.mi.com/docs/en-US/quick-start/usage-guide/multimodal-understanding/video-understanding +# Sampling: open weights, so temperature/top_p/top_k are runtime features of the host. The checkpoint's +# generation_config.json sets temperature 1.0 and top_p 0.95; the MiMo API pins both in thinking mode +# (https://mimo.mi.com/docs/en-US/api/chat/openai-api). +schema = 2 +name = "MiMo-V2.6-Flash" +description = "MiMo Flash model for multimodal coding agents and long-context automation" +family = "mimo" +open_weights = true +release_date = "2026-09-22" + +[modalities] +input = [ + "text", + "image/jpeg", + "image/png", + "image/gif", + "image/webp", + "image/bmp", + "audio/mpeg", + "audio/wav", + "audio/flac", + "audio/mp4", + "audio/ogg", + "video/mp4", + "video/quicktime", + "video/x-msvideo", + "video/x-ms-wmv", +] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } +temperature = true +top_p = true +top_k = true + +[limit] +context = 1_048_576 +output = 131_072 + +[[weights]] +label = "Hugging Face" +url = "https://huggingface.co/XiaomiMiMo/MiMo-V2.6-Flash-RL" + +[[benchmarks]] +name = "DeepSWE" +score = 67.9 +metric = "score" +version = "1.1" +source = "https://huggingface.co/XiaomiMiMo/MiMo-V2.6-Flash-RL" + +[[benchmarks]] +name = "ProgramBench" +score = 26 +metric = "score" +source = "https://huggingface.co/XiaomiMiMo/MiMo-V2.6-Flash-RL" + +[[benchmarks]] +name = "MiMo Code Bench" +score = 61.2 +metric = "score" +source = "https://huggingface.co/XiaomiMiMo/MiMo-V2.6-Flash-RL" + +[[benchmarks]] +name = "AutomationBench" +score = 52.3 +metric = "score" +version = "1.0.6" +source = "https://huggingface.co/XiaomiMiMo/MiMo-V2.6-Flash-RL" + +[[benchmarks]] +name = "Toolathlon-Verified" +score = 73.6 +metric = "score" +source = "https://huggingface.co/XiaomiMiMo/MiMo-V2.6-Flash-RL" + +[[benchmarks]] +name = "Agents' Last Exam" +score = 27.6 +metric = "score" +source = "https://huggingface.co/XiaomiMiMo/MiMo-V2.6-Flash-RL" + +[[benchmarks]] +name = "Terminal-Bench" +score = 28.8 +metric = "score" +version = "4.0" +source = "https://huggingface.co/XiaomiMiMo/MiMo-V2.6-Flash-RL" + +[[benchmarks]] +name = "Terminal-Bench" +score = 87.6 +metric = "score" +version = "2.1" +source = "https://huggingface.co/XiaomiMiMo/MiMo-V2.6-Flash-RL" + +[[benchmarks]] +name = "OSWorld-Verified" +score = 80.8 +metric = "score" +source = "https://huggingface.co/XiaomiMiMo/MiMo-V2.6-Flash-RL" + +[[benchmarks]] +name = "JobBench" +score = 61.2 +metric = "score" +source = "https://huggingface.co/XiaomiMiMo/MiMo-V2.6-Flash-RL" + +[[benchmarks]] +name = "CyberGym" +score = 95.1 +metric = "score" +source = "https://huggingface.co/XiaomiMiMo/MiMo-V2.6-Flash-RL" + +[[benchmarks]] +name = "MiMo Cyber Bench" +score = 77.2 +metric = "score" +source = "https://huggingface.co/XiaomiMiMo/MiMo-V2.6-Flash-RL" + +[[benchmarks]] +name = "ExploitGym" +score = 6 +metric = "score" +source = "https://huggingface.co/XiaomiMiMo/MiMo-V2.6-Flash-RL" + +[[benchmarks]] +name = "ExploitBench" +score = 25.3 +metric = "score" +source = "https://huggingface.co/XiaomiMiMo/MiMo-V2.6-Flash-RL" + +[[benchmarks]] +name = "SEC-Bench Pro" +score = 47.5 +metric = "score" +source = "https://huggingface.co/XiaomiMiMo/MiMo-V2.6-Flash-RL" + +[[benchmarks]] +name = "MiMo VisualCoding" +score = 71.5 +metric = "score" +source = "https://huggingface.co/XiaomiMiMo/MiMo-V2.6-Flash-RL" diff --git a/models/xiaomi/mimo-v2.6-pro-ultraspeed.toml b/models/xiaomi/mimo-v2.6-pro-ultraspeed.toml new file mode 100644 index 0000000000..798a95d94c --- /dev/null +++ b/models/xiaomi/mimo-v2.6-pro-ultraspeed.toml @@ -0,0 +1,48 @@ +# Formats (Xiaomi MiMo API, lists this model as supported): +# images JPEG, PNG, GIF, WebP, BMP: https://mimo.mi.com/docs/en-US/quick-start/usage-guide/multimodal-understanding/image-understanding +# audio MP3, WAV, FLAC, M4A, OGG: https://mimo.mi.com/docs/en-US/quick-start/usage-guide/multimodal-understanding/audio-understanding +# video MP4, MOV, AVI, WMV: https://mimo.mi.com/docs/en-US/quick-start/usage-guide/multimodal-understanding/video-understanding +# Sampling: open weights, so temperature/top_p/top_k are runtime features of the host. The checkpoint's +# generation_config.json sets temperature 1.0 and top_p 0.95; the MiMo API pins both in thinking mode +# (https://mimo.mi.com/docs/en-US/api/chat/openai-api). +schema = 2 +name = "MiMo-V2.6-Pro-UltraSpeed" +description = "MiMo pro model for strong multimodal reasoning and agent execution" +family = "mimo" +open_weights = true +release_date = "2026-09-21" + +[modalities] +input = [ + "text", + "image/jpeg", + "image/png", + "image/gif", + "image/webp", + "image/bmp", + "audio/mpeg", + "audio/wav", + "audio/flac", + "audio/mp4", + "audio/ogg", + "video/mp4", + "video/quicktime", + "video/x-msvideo", + "video/x-ms-wmv", +] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } +temperature = true +top_p = true +top_k = true + +[limit] +context = 1_048_576 +output = 131_072 + +[[weights]] +label = "Hugging Face" +url = "https://huggingface.co/XiaomiMiMo/MiMo-V2.6-Pro-RL" diff --git a/models/xiaomi/mimo-v2.6-pro.toml b/models/xiaomi/mimo-v2.6-pro.toml new file mode 100644 index 0000000000..d33effd2d2 --- /dev/null +++ b/models/xiaomi/mimo-v2.6-pro.toml @@ -0,0 +1,173 @@ +# Benchmarks sourced from MiMo-V2.6-Flash-RL use its "MiMo-V2.6 Pro" comparison column. +# Formats (Xiaomi MiMo API, lists this model as supported): +# images JPEG, PNG, GIF, WebP, BMP: https://mimo.mi.com/docs/en-US/quick-start/usage-guide/multimodal-understanding/image-understanding +# audio MP3, WAV, FLAC, M4A, OGG: https://mimo.mi.com/docs/en-US/quick-start/usage-guide/multimodal-understanding/audio-understanding +# video MP4, MOV, AVI, WMV: https://mimo.mi.com/docs/en-US/quick-start/usage-guide/multimodal-understanding/video-understanding +# Sampling: open weights, so temperature/top_p/top_k are runtime features of the host. The checkpoint's +# generation_config.json sets temperature 1.0 and top_p 0.95; the MiMo API pins both in thinking mode +# (https://mimo.mi.com/docs/en-US/api/chat/openai-api). +schema = 2 +name = "MiMo-V2.6-Pro" +description = "Stronger MiMo Pro tier for multimodal reasoning and coding-agent execution" +family = "mimo" +open_weights = true +release_date = "2026-09-22" + +[modalities] +input = [ + "text", + "image/jpeg", + "image/png", + "image/gif", + "image/webp", + "image/bmp", + "audio/mpeg", + "audio/wav", + "audio/flac", + "audio/mp4", + "audio/ogg", + "video/mp4", + "video/quicktime", + "video/x-msvideo", + "video/x-ms-wmv", +] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } +temperature = true +top_p = true +top_k = true + +[limit] +context = 1_048_576 +output = 131_072 + +[[weights]] +label = "Hugging Face" +url = "https://huggingface.co/XiaomiMiMo/MiMo-V2.6-Pro-RL" + +[[benchmarks]] +name = "DeepSWE" +score = 71.9 +metric = "score" +version = "1.1" +variant = "MiMo-V2.6 Pro comparison column" +source = "https://huggingface.co/XiaomiMiMo/MiMo-V2.6-Flash-RL" + +[[benchmarks]] +name = "ProgramBench" +score = 26.5 +metric = "score" +variant = "MiMo-V2.6 Pro comparison column" +source = "https://huggingface.co/XiaomiMiMo/MiMo-V2.6-Flash-RL" + +[[benchmarks]] +name = "MiMo Code Bench" +score = 63.2 +metric = "score" +variant = "MiMo-V2.6 Pro comparison column" +source = "https://huggingface.co/XiaomiMiMo/MiMo-V2.6-Flash-RL" + +[[benchmarks]] +name = "AutomationBench" +score = 53.1 +metric = "score" +version = "1.0.6" +variant = "MiMo-V2.6 Pro comparison column" +source = "https://huggingface.co/XiaomiMiMo/MiMo-V2.6-Flash-RL" + +[[benchmarks]] +name = "Toolathlon-Verified" +score = 76.9 +metric = "score" +variant = "MiMo-V2.6 Pro comparison column" +source = "https://huggingface.co/XiaomiMiMo/MiMo-V2.6-Flash-RL" + +[[benchmarks]] +name = "GDPval-AA" +score = 1673 +metric = "Elo" +version = "2.1" +variant = "MiMo-V2.6 Pro comparison column" +source = "https://huggingface.co/XiaomiMiMo/MiMo-V2.6-Flash-RL" + +[[benchmarks]] +name = "Agents' Last Exam" +score = 31.6 +metric = "score" +variant = "MiMo-V2.6 Pro comparison column" +source = "https://huggingface.co/XiaomiMiMo/MiMo-V2.6-Flash-RL" + +[[benchmarks]] +name = "Terminal-Bench" +score = 34.9 +metric = "score" +version = "4.0" +variant = "MiMo-V2.6 Pro comparison column" +source = "https://huggingface.co/XiaomiMiMo/MiMo-V2.6-Flash-RL" + +[[benchmarks]] +name = "Terminal-Bench" +score = 89.9 +metric = "score" +version = "2.1" +variant = "MiMo-V2.6 Pro comparison column" +source = "https://huggingface.co/XiaomiMiMo/MiMo-V2.6-Flash-RL" + +[[benchmarks]] +name = "OSWorld-Verified" +score = 82 +metric = "score" +variant = "MiMo-V2.6 Pro comparison column" +source = "https://huggingface.co/XiaomiMiMo/MiMo-V2.6-Flash-RL" + +[[benchmarks]] +name = "JobBench" +score = 62 +metric = "score" +variant = "MiMo-V2.6 Pro comparison column" +source = "https://huggingface.co/XiaomiMiMo/MiMo-V2.6-Flash-RL" + +[[benchmarks]] +name = "CyberGym" +score = 94 +metric = "score" +variant = "MiMo-V2.6 Pro comparison column" +source = "https://huggingface.co/XiaomiMiMo/MiMo-V2.6-Flash-RL" + +[[benchmarks]] +name = "MiMo Cyber Bench" +score = 80.2 +metric = "score" +variant = "MiMo-V2.6 Pro comparison column" +source = "https://huggingface.co/XiaomiMiMo/MiMo-V2.6-Flash-RL" + +[[benchmarks]] +name = "ExploitGym" +score = 17.8 +metric = "score" +variant = "MiMo-V2.6 Pro comparison column" +source = "https://huggingface.co/XiaomiMiMo/MiMo-V2.6-Flash-RL" + +[[benchmarks]] +name = "ExploitBench" +score = 47.9 +metric = "score" +variant = "MiMo-V2.6 Pro comparison column" +source = "https://huggingface.co/XiaomiMiMo/MiMo-V2.6-Flash-RL" + +[[benchmarks]] +name = "SEC-Bench Pro" +score = 66.3 +metric = "score" +variant = "MiMo-V2.6 Pro comparison column" +source = "https://huggingface.co/XiaomiMiMo/MiMo-V2.6-Flash-RL" + +[[benchmarks]] +name = "MiMo VisualCoding" +score = 72.3 +metric = "score" +variant = "MiMo-V2.6 Pro comparison column" +source = "https://huggingface.co/XiaomiMiMo/MiMo-V2.6-Flash-RL" diff --git a/models/zhipuai/autoglm-phone-9b-multilingual.toml b/models/zhipuai/autoglm-phone-9b-multilingual.toml new file mode 100644 index 0000000000..90ea6ae72c --- /dev/null +++ b/models/zhipuai/autoglm-phone-9b-multilingual.toml @@ -0,0 +1,30 @@ +# https://huggingface.co/zai-org/AutoGLM-Phone-9B-Multilingual +# Input formats (accessed 2026-10-20): screenshots via image_url, jpg, jpeg, png (≤5 MB, ≤6000×6000 px). +# - https://docs.bigmodel.cn/api-reference/模型-api/对话补全 (autoglm-phone is in the vision model list) +# - https://docs.z.ai/api-reference/llm/chat-completion, https://docs.z.ai/guides/vlm/autoglm-phone-multilingual +schema = 2 +name = "AutoGLM Phone 9B Multilingual" +description = "Multilingual visual model for operating smartphone interfaces and mobile agents" +family = "glm" +open_weights = true +release_date = "2025-12-10" +license = "MIT" + +[modalities] +input = ["text", "image/jpeg", "image/png"] +output = ["text"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = true +top_p = true +top_k = true + +[limit] +context = 65_536 +output = 65_536 + +[[weights]] +label = "Hugging Face" +url = "https://huggingface.co/zai-org/AutoGLM-Phone-9B-Multilingual" diff --git a/models/zhipuai/cogvideox-3.toml b/models/zhipuai/cogvideox-3.toml new file mode 100644 index 0000000000..9be36da240 --- /dev/null +++ b/models/zhipuai/cogvideox-3.toml @@ -0,0 +1,30 @@ +# Sources (accessed 2026-10-19): +# - https://docs.z.ai/guides/video/cogvideox-3 (text / image / first-and-last-frame input, video output) +# - https://docs.z.ai/api-reference/video/generate-video (prompt up to 512 characters; images png, jpeg, jpg up to 5 MB; 5 or 10 s clips) +# - https://docs.bigmodel.cn/cn/update/new-releases (launched 2025-07-15) +# limit.context is the 512-character prompt cap. +# Output video/mp4: the docs give no output format field; the async result's video_result.url is an .mp4 +# served as Content-Type video/mp4 with an ISO BMFF (ftyp isom) body (live 2026-10-20), and every sample +# video on the model page is .mp4. +schema = 2 +v2_only = true +type = "video" +name = "CogVideoX-3" +description = "Video generation model for text-to-video, image-to-video, and first/last-frame clips with optional sound effects" +open_weights = false +release_date = "2025-07-15" + +[modalities] +input = ["text", "image/png", "image/jpeg"] +output = ["video/mp4"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 512 +output = 0 diff --git a/models/zhipuai/glm-4.5-air.toml b/models/zhipuai/glm-4.5-air.toml index 78b6b933e7..ec2c588270 100644 --- a/models/zhipuai/glm-4.5-air.toml +++ b/models/zhipuai/glm-4.5-air.toml @@ -1,23 +1,26 @@ +schema = 2 name = "GLM-4.5-Air" description = "Lighter GLM-4.5 variant for fast coding assistance and cheaper agents" family = "glm-air" +open_weights = true +knowledge = "2025-04" release_date = "2025-07-28" -last_updated = "2025-07-28" -attachment = false -reasoning = true + +[modalities] +input = ["text"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } temperature = true -tool_call = true -knowledge = "2025-04" -open_weights = true +top_p = true +top_k = true [limit] context = 131_072 output = 98_304 -[modalities] -input = ["text"] -output = ["text"] - [[weights]] label = "Hugging Face" url = "https://huggingface.co/zai-org/GLM-4.5-Air" diff --git a/models/zhipuai/glm-4.5-flash.toml b/models/zhipuai/glm-4.5-flash.toml index f5d9bfb3d7..4600b31fae 100644 --- a/models/zhipuai/glm-4.5-flash.toml +++ b/models/zhipuai/glm-4.5-flash.toml @@ -1,19 +1,22 @@ +schema = 2 name = "GLM-4.5-Flash" description = "Efficient GLM model for fast reasoning, coding, and agent workflows" family = "glm-flash" +open_weights = false +knowledge = "2025-04" release_date = "2025-07-28" -last_updated = "2025-07-28" -attachment = false -reasoning = true + +[modalities] +input = ["text"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } temperature = true -tool_call = true -knowledge = "2025-04" -open_weights = false +top_p = true +top_k = false [limit] context = 131_072 output = 98_304 - -[modalities] -input = ["text"] -output = ["text"] diff --git a/models/zhipuai/glm-4.5.toml b/models/zhipuai/glm-4.5.toml index fb05b539f0..4ea5b87f24 100644 --- a/models/zhipuai/glm-4.5.toml +++ b/models/zhipuai/glm-4.5.toml @@ -1,23 +1,26 @@ +schema = 2 name = "GLM-4.5" description = "Hybrid-reasoning GLM release that made the 4.5 line broadly useful" family = "glm" +open_weights = true +knowledge = "2025-04" release_date = "2025-07-28" -last_updated = "2025-07-28" -attachment = false -reasoning = true + +[modalities] +input = ["text"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } temperature = true -tool_call = true -knowledge = "2025-04" -open_weights = true +top_p = true +top_k = true [limit] context = 131_072 output = 98_304 -[modalities] -input = ["text"] -output = ["text"] - [[weights]] label = "Hugging Face" url = "https://huggingface.co/zai-org/GLM-4.5" diff --git a/models/zhipuai/glm-4.5v.toml b/models/zhipuai/glm-4.5v.toml index cb44978844..1dd7a5b6b7 100644 --- a/models/zhipuai/glm-4.5v.toml +++ b/models/zhipuai/glm-4.5v.toml @@ -1,23 +1,30 @@ +# Input formats (Z.AI / Zhipu Chat API, vision request content items, accessed 2026-10-20): +# image_url: jpg, jpeg, png (≤5 MB, ≤6000×6000 px); video_url: mp4, mkv, mov (≤200 MB). +# - https://docs.z.ai/api-reference/llm/chat-completion +# - https://docs.bigmodel.cn/api-reference/模型-api/对话补全 (names the GLM-5.3-Flash, GLM-5V-Turbo, GLM-4.6V and GLM-4.5V series) +schema = 2 name = "GLM-4.5V" description = "GLM vision model for visual reasoning, documents, and multimodal agents" family = "glm" +open_weights = true +knowledge = "2025-04" release_date = "2025-08-11" -last_updated = "2025-08-11" -attachment = true -reasoning = true + +[modalities] +input = ["text", "image/jpeg", "image/png", "video/mp4", "video/x-matroska", "video/quicktime"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } temperature = true -tool_call = true -knowledge = "2025-04" -open_weights = true +top_p = true +top_k = true [limit] context = 64_000 output = 16_384 -[modalities] -input = ["text", "image", "video"] -output = ["text"] - [[weights]] label = "Hugging Face" url = "https://huggingface.co/zai-org/GLM-4.5V" diff --git a/models/zhipuai/glm-4.6.toml b/models/zhipuai/glm-4.6.toml index fa993e55ec..76b6c3d010 100644 --- a/models/zhipuai/glm-4.6.toml +++ b/models/zhipuai/glm-4.6.toml @@ -1,23 +1,26 @@ +schema = 2 name = "GLM-4.6" description = "Late GLM-4 workhorse for coding agents, reasoning, and structured tasks" family = "glm" +open_weights = true +knowledge = "2025-04" release_date = "2025-09-30" -last_updated = "2025-09-30" -attachment = false -reasoning = true + +[modalities] +input = ["text"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } temperature = true -tool_call = true -knowledge = "2025-04" -open_weights = true +top_p = true +top_k = true [limit] context = 204_800 output = 131_072 -[modalities] -input = ["text"] -output = ["text"] - [[weights]] label = "Hugging Face" url = "https://huggingface.co/zai-org/GLM-4.6" diff --git a/models/zhipuai/glm-4.6v-flash.toml b/models/zhipuai/glm-4.6v-flash.toml index c9a3789715..4812827fa0 100644 --- a/models/zhipuai/glm-4.6v-flash.toml +++ b/models/zhipuai/glm-4.6v-flash.toml @@ -1,25 +1,32 @@ # Sources (accessed 2026-08-19): # - https://z.ai/blog/glm-4.6v # - https://huggingface.co/zai-org/GLM-4.6V-Flash +# Input formats (Z.AI / Zhipu Chat API, vision request content items, accessed 2026-10-20): +# image_url: jpg, jpeg, png (≤5 MB, ≤6000×6000 px); video_url: mp4, mkv, mov (≤200 MB). +# - https://docs.z.ai/api-reference/llm/chat-completion +# - https://docs.bigmodel.cn/api-reference/模型-api/对话补全 (names the GLM-5.3-Flash, GLM-5V-Turbo, GLM-4.6V and GLM-4.5V series) +schema = 2 name = "GLM-4.6V-Flash" description = "Lightweight GLM vision model for visual reasoning, documents, and multimodal agents" -family = "glm" +family = "glm-flash" +open_weights = true release_date = "2025-12-08" -last_updated = "2025-12-08" -attachment = true -reasoning = true + +[modalities] +input = ["text", "image/jpeg", "image/png", "video/mp4", "video/x-matroska", "video/quicktime"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } temperature = true -tool_call = true -open_weights = true +top_p = true +top_k = true [limit] context = 128_000 output = 32_768 -[modalities] -input = ["text", "image", "video"] -output = ["text"] - [[weights]] label = "Hugging Face" url = "https://huggingface.co/zai-org/GLM-4.6V-Flash" diff --git a/models/zhipuai/glm-4.6v.toml b/models/zhipuai/glm-4.6v.toml index f8ee7bd4ea..3999e3a5ed 100644 --- a/models/zhipuai/glm-4.6v.toml +++ b/models/zhipuai/glm-4.6v.toml @@ -1,23 +1,30 @@ +# Input formats (Z.AI / Zhipu Chat API, vision request content items, accessed 2026-10-20): +# image_url: jpg, jpeg, png (≤5 MB, ≤6000×6000 px); video_url: mp4, mkv, mov (≤200 MB). +# - https://docs.z.ai/api-reference/llm/chat-completion +# - https://docs.bigmodel.cn/api-reference/模型-api/对话补全 (names the GLM-5.3-Flash, GLM-5V-Turbo, GLM-4.6V and GLM-4.5V series) +schema = 2 name = "GLM-4.6V" description = "GLM vision model for visual reasoning, documents, and multimodal agents" family = "glm" +open_weights = true +knowledge = "2025-04" release_date = "2025-12-08" -last_updated = "2025-12-08" -attachment = true -reasoning = true + +[modalities] +input = ["text", "image/jpeg", "image/png", "video/mp4", "video/x-matroska", "video/quicktime"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } temperature = true -tool_call = true -knowledge = "2025-04" -open_weights = true +top_p = true +top_k = true [limit] context = 128_000 output = 32_768 -[modalities] -input = ["text", "image", "video"] -output = ["text"] - [[weights]] label = "Hugging Face" url = "https://huggingface.co/zai-org/GLM-4.6V" diff --git a/models/zhipuai/glm-4.7-flash.toml b/models/zhipuai/glm-4.7-flash.toml index 6ce51ffe5c..3cb756ead3 100644 --- a/models/zhipuai/glm-4.7-flash.toml +++ b/models/zhipuai/glm-4.7-flash.toml @@ -1,23 +1,26 @@ +schema = 2 name = "GLM-4.7-Flash" description = "Budget GLM lane for fast coding help, routing, and everyday automation" family = "glm-flash" +open_weights = true +knowledge = "2025-04" release_date = "2026-01-19" -last_updated = "2026-01-19" -attachment = false -reasoning = true + +[modalities] +input = ["text"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } temperature = true -tool_call = true -knowledge = "2025-04" -open_weights = true +top_p = true +top_k = true [limit] context = 200_000 output = 131_072 -[modalities] -input = ["text"] -output = ["text"] - [[weights]] label = "Hugging Face" url = "https://huggingface.co/zai-org/GLM-4.7-Flash" diff --git a/models/zhipuai/glm-4.7-flashx.toml b/models/zhipuai/glm-4.7-flashx.toml index 8c68804bf1..a009d37182 100644 --- a/models/zhipuai/glm-4.7-flashx.toml +++ b/models/zhipuai/glm-4.7-flashx.toml @@ -1,23 +1,26 @@ +schema = 2 name = "GLM-4.7-FlashX" description = "Efficient GLM model for fast reasoning, coding, and agent workflows" family = "glm-flash" +open_weights = true +knowledge = "2025-04" release_date = "2026-01-19" -last_updated = "2026-01-19" -attachment = false -reasoning = true + +[modalities] +input = ["text"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } temperature = true -tool_call = true -knowledge = "2025-04" -open_weights = true +top_p = true +top_k = true [limit] context = 200_000 output = 131_072 -[modalities] -input = ["text"] -output = ["text"] - [[weights]] label = "Hugging Face" url = "https://huggingface.co/zai-org/GLM-4.7-Flash" diff --git a/models/zhipuai/glm-4.7.toml b/models/zhipuai/glm-4.7.toml index 45d91ba682..5ff2356789 100644 --- a/models/zhipuai/glm-4.7.toml +++ b/models/zhipuai/glm-4.7.toml @@ -1,23 +1,26 @@ +schema = 2 name = "GLM-4.7" description = "Mature GLM model for dependable coding, reasoning, and structured agent tasks" family = "glm" +open_weights = true +knowledge = "2025-04" release_date = "2025-12-22" -last_updated = "2025-12-22" -attachment = false -reasoning = true + +[modalities] +input = ["text"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } temperature = true -tool_call = true -knowledge = "2025-04" -open_weights = true +top_p = true +top_k = true [limit] context = 204_800 output = 131_072 -[modalities] -input = ["text"] -output = ["text"] - [[weights]] label = "Hugging Face" url = "https://huggingface.co/zai-org/GLM-4.7" diff --git a/models/zhipuai/glm-5-turbo.toml b/models/zhipuai/glm-5-turbo.toml index 0bf90c2774..331e9745c1 100644 --- a/models/zhipuai/glm-5-turbo.toml +++ b/models/zhipuai/glm-5-turbo.toml @@ -1,19 +1,21 @@ +schema = 2 name = "GLM-5-Turbo" description = "Faster GLM-5 lane for coding agents that need lower latency" family = "glm" +open_weights = false release_date = "2026-03-16" -last_updated = "2026-03-16" -attachment = false -reasoning = true + +[modalities] +input = ["text"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } temperature = true -tool_call = true -structured_output = true -open_weights = false +top_p = true +top_k = false [limit] context = 200_000 output = 131_072 - -[modalities] -input = ["text"] -output = ["text"] diff --git a/models/zhipuai/glm-5.1.toml b/models/zhipuai/glm-5.1.toml index 61860d5017..c84d216c00 100644 --- a/models/zhipuai/glm-5.1.toml +++ b/models/zhipuai/glm-5.1.toml @@ -1,23 +1,25 @@ +schema = 2 name = "GLM-5.1" description = "Strong GLM coding model for agentic engineering, terminals, and repository generation" family = "glm" +open_weights = true release_date = "2026-04-07" -last_updated = "2026-04-07" -attachment = false -reasoning = true + +[modalities] +input = ["text"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } temperature = true -tool_call = true -structured_output = true -open_weights = true +top_p = true +top_k = true [limit] context = 200_000 output = 131_072 -[modalities] -input = ["text"] -output = ["text"] - [[weights]] label = "Hugging Face" url = "https://huggingface.co/zai-org/GLM-5.1" diff --git a/models/zhipuai/glm-5.2.toml b/models/zhipuai/glm-5.2.toml index 292a8dff6d..425dc6d147 100644 --- a/models/zhipuai/glm-5.2.toml +++ b/models/zhipuai/glm-5.2.toml @@ -1,23 +1,25 @@ +schema = 2 name = "GLM-5.2" description = "Open flagship GLM for long-horizon coding agents and million-token context work" family = "glm" +open_weights = true release_date = "2026-06-13" -last_updated = "2026-06-13" -attachment = false -reasoning = true + +[modalities] +input = ["text"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } temperature = true -tool_call = true -structured_output = true -open_weights = true +top_p = true +top_k = true [limit] context = 1_000_000 output = 131_072 -[modalities] -input = ["text"] -output = ["text"] - [[weights]] label = "Hugging Face" url = "https://huggingface.co/zai-org/GLM-5.2" diff --git a/models/zhipuai/glm-5.3-flash.toml b/models/zhipuai/glm-5.3-flash.toml index d080a79f86..3e84637a27 100644 --- a/models/zhipuai/glm-5.3-flash.toml +++ b/models/zhipuai/glm-5.3-flash.toml @@ -1,20 +1,81 @@ +# Scores: https://raw.githubusercontent.com/zai-org/GLM-5/refs/heads/main/resources/bench_53.png # Open weights: https://huggingface.co/zai-org/GLM-5.3-Flash (MIT, safetensors) +# Input formats (Z.AI / Zhipu Chat API, vision request content items, accessed 2026-10-20): +# image_url: jpg, jpeg, png (≤5 MB, ≤6000×6000 px); video_url: mp4, mkv, mov (≤200 MB). +# - https://docs.z.ai/api-reference/llm/chat-completion +# - https://docs.bigmodel.cn/api-reference/模型-api/对话补全 (names the GLM-5.3-Flash, GLM-5V-Turbo, GLM-4.6V and GLM-4.5V series) +# file: file_id / file_url / file_data (pdf, txt, word, jsonl, xlsx, pptx; ≤50 MB); PDF verified live 2026-10-17. +schema = 2 name = "GLM-5.3-Flash" description = "Native multimodal GLM model for efficient coding and long-horizon agent tasks" -family = "glm" +family = "glm-flash" +open_weights = true release_date = "2026-08-26" -last_updated = "2026-08-26" -attachment = true -reasoning = true + +[modalities] +input = ["text", "image/jpeg", "image/png", "video/mp4", "video/x-matroska", "video/quicktime", "application/pdf"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } temperature = true -tool_call = true -structured_output = true -open_weights = true +top_p = true +top_k = true [limit] context = 1_000_000 output = 131_072 -[modalities] -input = ["text", "image", "video", "pdf"] -output = ["text"] +[[weights]] +label = "Hugging Face" +url = "https://huggingface.co/zai-org/GLM-5.3-Flash" + +[[benchmarks]] +name = "Terminal-Bench" +score = 84.3 +metric = "pass@1" +variant = "max effort" +version = "2.1" +harness = "Claude Code 2.1.207" +source = "https://huggingface.co/zai-org/GLM-5.3-Flash" + +[[benchmarks]] +name = "DeepSWE" +score = 63.4 +metric = "resolved" +variant = "max effort" +version = "1.1" +harness = "mini-swe-agent" +source = "https://huggingface.co/zai-org/GLM-5.3-Flash" + +[[benchmarks]] +name = "Agents' Last Exam" +score = 26.3 +metric = "score" +variant = "max effort" +source = "https://huggingface.co/zai-org/GLM-5.3-Flash" + +[[benchmarks]] +name = "AutomationBench" +score = 48.8 +metric = "pass@1" +variant = "max effort" +version = "1.0.6" +source = "https://huggingface.co/zai-org/GLM-5.3-Flash" + +[[benchmarks]] +name = "Humanity's Last Exam" +score = 55.3 +metric = "accuracy" +variant = "max effort; with tools" +dataset = "full set" +source = "https://huggingface.co/zai-org/GLM-5.3-Flash" + +[[benchmarks]] +name = "GDPval-AA" +score = 1773 +metric = "Elo" +variant = "max effort" +version = "2" +source = "https://huggingface.co/zai-org/GLM-5.3-Flash" diff --git a/models/zhipuai/glm-5.3.toml b/models/zhipuai/glm-5.3.toml index bb71386ebb..b3f646666c 100644 --- a/models/zhipuai/glm-5.3.toml +++ b/models/zhipuai/glm-5.3.toml @@ -1,19 +1,164 @@ +# Benchmark settings and caveats: https://huggingface.co/zai-org/GLM-5.3#footnotes +schema = 2 name = "GLM-5.3" description = "Flagship GLM model for long-horizon coding, agents, and complex project delivery" family = "glm" +open_weights = true release_date = "2026-08-14" -last_updated = "2026-08-14" -attachment = false -reasoning = true + +[modalities] +input = ["text"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } temperature = true -tool_call = true -structured_output = true -open_weights = true +top_p = true +top_k = true [limit] context = 1_000_000 output = 131_072 -[modalities] -input = ["text"] -output = ["text"] \ No newline at end of file +[[weights]] +label = "Hugging Face" +url = "https://huggingface.co/zai-org/GLM-5.3" + +[[benchmarks]] +name = "Terminal-Bench" +score = 88.2 +metric = "pass@1" +variant = "max effort" +version = "2.1" +harness = "Claude Code 2.1.207" +source = "https://huggingface.co/zai-org/GLM-5.3" + +[[benchmarks]] +name = "Terminal-Bench" +score = 28.3 +metric = "avg@3" +variant = "max effort" +version = "3.0" +harness = "Claude Code 2.1.207" +source = "https://huggingface.co/zai-org/GLM-5.3" + +[[benchmarks]] +name = "DeepSWE" +score = 66.9 +metric = "resolved" +variant = "max effort; 6h timeout; 400K context" +version = "1.1" +source = "https://huggingface.co/zai-org/GLM-5.3" +harness = "mini-swe-agent" + +[[benchmarks]] +name = "NL2Repo" +score = 58.0 +metric = "score" +variant = "max effort" +source = "https://huggingface.co/zai-org/GLM-5.3" + +[[benchmarks]] +name = "ProgramBench" +score = 19.0 +metric = "almost solved" +variant = "max effort" +source = "https://huggingface.co/zai-org/GLM-5.3" + +[[benchmarks]] +name = "FrontierSWE" +score = 78.1 +metric = "dominance score" +variant = "max effort" +date = "2026-08-14" +source = "https://huggingface.co/zai-org/GLM-5.3" + +[[benchmarks]] +name = "SWE-Marathon" +score = 42.5 +metric = "score" +variant = "max effort; modified anti-cheat checks" +version = "1.1" +harness = "Claude Code 2.1.207" +source = "https://huggingface.co/zai-org/GLM-5.3" + +[[benchmarks]] +name = "PostTrainBench" +score = 39.8 +metric = "weighted average" +variant = "max effort; 3 runs; modified external-API checks" +harness = "Claude Code 2.1.207" +source = "https://huggingface.co/zai-org/GLM-5.3" + +[[benchmarks]] +name = "CyberGym" +score = 84.5 +metric = "pass@1" +variant = "max effort" +harness = "Claude Code 2.1.207" +source = "https://huggingface.co/zai-org/GLM-5.3" + +[[benchmarks]] +name = "ExploitGym" +score = 105 +metric = "tasks solved" +variant = "max effort; 2h rescaled timeout" +dataset = "869 tasks" +harness = "Claude Code 2.1.207" +source = "https://huggingface.co/zai-org/GLM-5.3" + +[[benchmarks]] +name = "ExploitGym" +score = 130 +metric = "tasks solved" +variant = "max effort; 6h rescaled timeout" +dataset = "869 tasks" +harness = "Claude Code 2.1.207" +source = "https://huggingface.co/zai-org/GLM-5.3" + +[[benchmarks]] +name = "ExploitBench" +score = 54.4 +metric = "average coverage" +variant = "max effort; union over 3 revisions" +harness = "Claude Code 2.1.207" +source = "https://huggingface.co/zai-org/GLM-5.3" + +[[benchmarks]] +name = "Toolathlon-Verified" +score = 73 +metric = "pass@1" +variant = "max effort" +source = "https://huggingface.co/zai-org/GLM-5.3" + +[[benchmarks]] +name = "AutomationBench" +score = 48.2 +metric = "pass@1" +variant = "max effort" +version = "1.0.6" +source = "https://huggingface.co/zai-org/GLM-5.3" + +[[benchmarks]] +name = "Agents' Last Exam" +score = 28.5 +metric = "score" +variant = "max effort; CLI" +harness = "Claude Code 2.1.207" +source = "https://huggingface.co/zai-org/GLM-5.3" + +[[benchmarks]] +name = "Humanity's Last Exam" +score = 62.5 +metric = "accuracy" +variant = "max effort; with tools" +source = "https://huggingface.co/zai-org/GLM-5.3" + +[[benchmarks]] +name = "GDPval-AA" +score = 1769 +metric = "Elo" +variant = "max effort" +version = "2" +source = "https://huggingface.co/zai-org/GLM-5.3" diff --git a/models/zhipuai/glm-5.toml b/models/zhipuai/glm-5.toml index 111cc20f89..bc901b4d2a 100644 --- a/models/zhipuai/glm-5.toml +++ b/models/zhipuai/glm-5.toml @@ -1,22 +1,25 @@ +schema = 2 name = "GLM-5" description = "General GLM flagship for coding, analysis, and tool-heavy engineering workflows" family = "glm" +open_weights = true release_date = "2026-02-12" -last_updated = "2026-02-12" -attachment = false -reasoning = true + +[modalities] +input = ["text"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } temperature = true -tool_call = true -open_weights = true +top_p = true +top_k = true [limit] context = 204_800 output = 131_072 -[modalities] -input = ["text"] -output = ["text"] - [[weights]] label = "Hugging Face" url = "https://huggingface.co/zai-org/GLM-5" diff --git a/models/zhipuai/glm-5v-turbo.toml b/models/zhipuai/glm-5v-turbo.toml index 3ffd9ecd83..82da1e0231 100644 --- a/models/zhipuai/glm-5v-turbo.toml +++ b/models/zhipuai/glm-5v-turbo.toml @@ -1,18 +1,25 @@ +# Sources (accessed 2026-10-19): +# - https://docs.z.ai/guides/vlm/glm-5v-turbo (video / image / text / file input, 200K context, 128K output) +# - https://docs.z.ai/api-reference/llm/chat-completion (images: jpg, png, jpeg; video: mp4, mkv, mov) +# - Sampling: temperature and top_p are documented; top_k is not. +schema = 2 name = "GLM-5V-Turbo" description = "Fast GLM vision model for screenshots, documents, and multimodal agent tasks" family = "glm" +open_weights = false release_date = "2026-04-01" -last_updated = "2026-04-01" -attachment = true -reasoning = true + +[modalities] +input = ["text", "image/jpeg", "image/png", "video/mp4", "video/quicktime", "video/x-matroska", "application/pdf"] +output = ["text"] + +[capabilities] +tools = { supported = true } +reasoning = { supported = true } temperature = true -tool_call = true -open_weights = false +top_p = true +top_k = false [limit] context = 200_000 output = 131_072 - -[modalities] -input = ["text", "image", "video", "pdf"] -output = ["text"] diff --git a/models/zhipuai/glm-asr-2512.toml b/models/zhipuai/glm-asr-2512.toml new file mode 100644 index 0000000000..d3058bafe3 --- /dev/null +++ b/models/zhipuai/glm-asr-2512.toml @@ -0,0 +1,28 @@ +# Sources (accessed 2026-10-19): +# - https://docs.z.ai/guides/audio/glm-asr-2512 (audio in, text out; clips up to 30 s / 25 MB) +# - https://docs.z.ai/api-reference/audio/audio-transcriptions (.wav / .mp3 files; no sampling parameters) +# - https://docs.bigmodel.cn/cn/update/new-releases (launched 2025-12-10) +# No token window is published, so limits are 0 (not applicable). +schema = 2 +v2_only = true +type = "transcription" +name = "GLM-ASR-2512" +description = "Speech recognition model for multilingual and dialect transcription with custom hotwords" +family = "glm" +open_weights = false +release_date = "2025-12-10" + +[modalities] +input = ["audio/wav", "audio/mpeg"] +output = ["text"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 0 +output = 0 diff --git a/models/zhipuai/glm-image.toml b/models/zhipuai/glm-image.toml new file mode 100644 index 0000000000..ee768c9500 --- /dev/null +++ b/models/zhipuai/glm-image.toml @@ -0,0 +1,35 @@ +# Sources (accessed 2026-10-19): +# - https://docs.z.ai/guides/image/glm-image +# - https://docs.z.ai/release-notes/new-released (launched 2026-01-14) +# - https://docs.bigmodel.cn/cn/update/new-releases (2026-01-14) +# Modalities stay generic: +# - input "image": image-to-image comes from the open-weights release (Hugging Face card); no Z.AI/Zhipu +# source lists input formats, and the Z.AI image API takes only a text prompt. +# - output "image": the image API returns a URL with no documented format. Live (2026-10-20, both hosts) +# the URL ends in .png and is served as Content-Type image/png, but the bytes are JPEG (FF D8 FF E0 JFIF). +schema = 2 +type = "image" +name = "GLM-Image" +description = "GLM-Image is an image generation model adopts a hybrid autoregressive + diffusion decoder architecture. In general image generation quality, GLM‑Image aligns with mainstream latent diffusion approaches, but it shows significant advantages in text-rendering and knowledge‑intensive generation scenarios. It performs especially well in tasks requiring precise semantic understanding and complex information expression, while maintaining strong capabilities in high‑fidelity and fine‑grained detail generation. In addition to text‑to‑image generation, GLM‑Image also supports a rich set of image‑to‑image tasks including image editing, style transfer, identity‑preserving generation, and multi‑subject consistency." +open_weights = true +release_date = "2026-01-14" +license = "MIT" + +[modalities] +input = ["text", "image"] +output = ["image"] + +[capabilities] +tools = { supported = false } +reasoning = { supported = false } +temperature = false +top_p = false +top_k = false + +[limit] +context = 10_240 +output = 0 + +[[weights]] +label = "Hugging Face" +url = "https://huggingface.co/zai-org/GLM-Image" diff --git a/package.json b/package.json index 4a7b90393f..01e6d2d08e 100644 --- a/package.json +++ b/package.json @@ -17,12 +17,14 @@ "scripts": { "test": "bun test", "validate": "bun ./packages/core/script/validate.ts", - "compare:migrations": "bun ./packages/core/script/compare-model-migrations.ts", + "v1:check": "bun ./packages/core/script/v1-check.ts", + "aimlapi:sync": "bun ./packages/core/script/sync-models.ts aimlapi", "anthropic:sync": "bun ./packages/core/script/sync-models.ts anthropic", "baseten:sync": "bun ./packages/core/script/sync-models.ts baseten", "deepinfra:sync": "bun ./packages/core/script/sync-models.ts deepinfra", "cloudflare:sync": "bun ./packages/core/script/sync-models.ts cloudflare-workers-ai", "chutes:sync": "bun ./packages/core/script/sync-models.ts chutes", + "engy:sync": "bun ./packages/core/script/sync-models.ts engy", "databricks:generate": "bun ./packages/core/script/generate-databricks.ts", "helicone:generate": "bun ./packages/core/script/generate-helicone.ts", "cloudflare-ai-gateway:generate": "bun ./packages/core/script/generate-cloudflare-ai-gateway.ts", @@ -31,15 +33,20 @@ "llmgateway:sync": "bun ./packages/core/script/sync-models.ts llmgateway", "llmgateway-providers:sync": "bun ./packages/core/script/sync-models.ts llmgateway-providers", "requesty:sync": "bun ./packages/core/script/sync-models.ts requesty", + "mistral:sync": "bun ./packages/core/script/sync-models.ts mistral", "merge-gateway:sync": "bun ./packages/core/script/sync-models.ts merge-gateway", "nano-gpt:sync": "bun ./packages/core/script/sync-models.ts nano-gpt", + "nearai:sync": "bun ./packages/core/script/sync-models.ts nearai", "venice:sync": "bun ./packages/core/script/sync-models.ts venice", "tinfoil:sync": "bun ./packages/core/script/sync-models.ts tinfoil", "vercel:generate": "bun ./packages/core/script/sync-models.ts vercel", "wandb:generate": "bun ./packages/core/script/sync-models.ts wandb", "digitalocean:sync": "bun ./packages/core/script/sync-models.ts digitalocean", + "aiand:sync": "bun ./packages/core/script/sync-models.ts aiand", + "fireworks:sync": "bun ./packages/core/script/sync-models.ts fireworks-ai", "ambient:sync": "bun ./packages/core/script/sync-models.ts ambient", "models:sync": "bun ./packages/core/script/sync-models.ts", + "prime:sync": "bun ./packages/core/script/sync-models.ts prime", "sync:models": "bun ./packages/core/script/sync-models.ts", "sync:auto-merge": "bun ./packages/core/script/check-sync-auto-merge.ts" }, diff --git a/packages/core/script/backfill-hits-glue.py b/packages/core/script/backfill-hits-glue.py new file mode 100644 index 0000000000..295d1385c9 --- /dev/null +++ b/packages/core/script/backfill-hits-glue.py @@ -0,0 +1,156 @@ +"""Bulk-copy legacy models.hit events using the existing generation-backfill Glue job. + +Override --scriptLocation with this uploaded script, use a separate +--CHECKPOINT_PREFIX, and set --DRY_RUN=true first. The job's existing S3 Tables +reader, R2 catalog token and checkpoint bucket are reused. Never run concurrently +with the HTTP replay script. Both R2 tables are appended atomically, one table at +a time. Counts recover a committed append even if checkpointing was interrupted. +""" + +import json +import sys +from datetime import datetime + + +def argument(name): + flag = f"--{name}" + return sys.argv[sys.argv.index(flag) + 1] + + +def optional(name): + return argument(name) if f"--{name}" in sys.argv else None + + +def main(): + import boto3 + from awsglue.context import GlueContext + from awsglue.job import Job + from pyspark import SparkContext, StorageLevel + from pyspark.sql import functions as F + + dry_run = argument("DRY_RUN").lower() == "true" + s3 = boto3.client("s3") + checkpoint_bucket = argument("CHECKPOINT_BUCKET") + checkpoint_prefix = argument("CHECKPOINT_PREFIX").strip("/") + start_at = optional("START_AT") + end_at = optional("END_AT") + if bool(start_at) != bool(end_at): + raise ValueError("Use both START_AT and END_AT for a sample range") + if checkpoint_prefix == "checkpoints/generation": + raise ValueError("Use a separate models-hit checkpoint prefix") + token = boto3.client("secretsmanager").get_secret_value(SecretId=argument("R2_SECRET_ARN"))["SecretString"] + glue = GlueContext(SparkContext.getOrCreate()) + spark = glue.spark_session + spark.conf.set("spark.sql.session.timeZone", "UTC") + spark.conf.set("spark.sql.catalog.s3tables", "org.apache.iceberg.spark.SparkCatalog") + spark.conf.set("spark.sql.catalog.s3tables.type", "rest") + spark.conf.set("spark.sql.catalog.s3tables.uri", f"https://s3tables.{argument('SOURCE_REGION')}.amazonaws.com/iceberg") + spark.conf.set("spark.sql.catalog.s3tables.warehouse", argument("SOURCE_WAREHOUSE")) + spark.conf.set("spark.sql.catalog.s3tables.rest.sigv4-enabled", "true") + spark.conf.set("spark.sql.catalog.s3tables.rest.signing-name", "s3tables") + spark.conf.set("spark.sql.catalog.s3tables.rest.signing-region", argument("SOURCE_REGION")) + spark.conf.set("spark.sql.catalog.s3tables.io-impl", "org.apache.iceberg.aws.s3.S3FileIO") + spark.conf.set("spark.sql.catalog.s3tables.rest-metrics-reporting-enabled", "false") + spark.conf.set("spark.sql.catalog.s3tables.http-client.apache.max-connections", "200") + spark.conf.set("spark.sql.catalog.s3tables.http-client.apache.connection-acquisition-timeout-ms", "120000") + spark.conf.set("spark.sql.catalog.r2", "org.apache.iceberg.spark.SparkCatalog") + spark.conf.set("spark.sql.catalog.r2.type", "rest") + spark.conf.set("spark.sql.catalog.r2.uri", argument("R2_CATALOG_URI")) + spark.conf.set("spark.sql.catalog.r2.warehouse", argument("R2_WAREHOUSE")) + spark.conf.set("spark.sql.catalog.r2.token", token) + spark.conf.set("spark.sql.catalog.r2.header.X-Iceberg-Access-Delegation", "vended-credentials") + spark.conf.set("spark.sql.catalog.r2.s3.remote-signing-enabled", "false") + spark.conf.set("spark.sql.catalog.r2.http-client.apache.max-connections", "200") + spark.conf.set("spark.sql.catalog.r2.http-client.apache.connection-acquisition-timeout-ms", "120000") + job = Job(glue) + job.init(argument("JOB_NAME"), {}) + + plan_key = f"{checkpoint_prefix}/plan.json" + try: + plan = json.loads(s3.get_object(Bucket=checkpoint_bucket, Key=plan_key)["Body"].read()) + if (plan["source_warehouse"] != argument("SOURCE_WAREHOUSE") or plan["source_table"] != argument("SOURCE_TABLE") or plan["target_warehouse"] != argument("R2_WAREHOUSE") + or plan.get("start_at") != start_at or plan.get("end_at") != end_at): + raise ValueError("Checkpoint belongs to different source or destination") + except s3.exceptions.NoSuchKey: + snapshot = spark.sql(f"SELECT snapshot_id FROM {argument('SOURCE_TABLE')}.history ORDER BY made_current_at DESC LIMIT 1").first()[0] + plan = { + "snapshot_id": snapshot, + "source_warehouse": argument("SOURCE_WAREHOUSE"), + "source_table": argument("SOURCE_TABLE"), + "target_warehouse": argument("R2_WAREHOUSE"), + "start_at": start_at, + "end_at": end_at, + } + # Pin the source before any append so a resumed run reads the same rows. + s3.put_object(Bucket=checkpoint_bucket, Key=plan_key, Body=json.dumps(plan), ContentType="application/json") + + source = spark.read.option("snapshot-id", str(plan["snapshot_id"])).table(plan["source_table"]).where(F.col("event_type") == "models.hit") + if start_at: + source = source.where((F.col("event_date") >= start_at[:10]) & (F.col("event_date") <= end_at[:10]) & + (F.col("event_timestamp") >= start_at) & (F.col("event_timestamp") < end_at)) + source = source.select( + F.to_timestamp("event_timestamp").alias("timestamp"), + F.lit(None).cast("string").alias("method"), + (nonempty(F, "path") if "path" in source.columns else F.lit(None).cast("string")).alias("path"), + nonempty(F, "user_agent").alias("useragent"), + nonempty(F, "ip").alias("ip"), + nonempty(F, "cf_country").alias("cf_country"), + ).persist(StorageLevel.DISK_ONLY) + summary = source.agg( + F.count("*").alias("records"), + F.count(F.when(F.col("timestamp").isNull(), 1)).alias("invalid_timestamps"), + F.min("timestamp").cast("string").alias("first"), + F.max("timestamp").cast("string").alias("last"), + ).first().asDict() + print(json.dumps({"source": summary, "snapshot_id": plan["snapshot_id"], "dry_run": dry_run}), flush=True) + if summary["invalid_timestamps"]: + raise ValueError("Historical rows contain invalid timestamps") + days = source.groupBy(F.date_format("timestamp", "yyyy-MM-dd").alias("day")).count().orderBy("day").collect() + expected_days = {row["day"]: row["count"] for row in days} + for target in ["r2.models.hit", "r2.default.event"]: + expected = {"__ingest_ts", "timestamp", "method", "path", "useragent", "ip", "cf_country"} if target == "r2.models.hit" else {"__ingest_ts", "source", "type", "timestamp", "payload"} + if set(spark.table(target).columns) != expected: + raise ValueError(f"Unexpected target schema: {target}") + target_days = historical_days(spark, F, target) + target_count = sum(target_days.values()) + print(json.dumps({"target": target, "records": target_count, "expected_records": summary["records"]}), flush=True) + if target_count and target_days != expected_days: + raise ValueError(f"Target contains a partial or mismatched historical backfill: {target}") + if dry_run: + continue + if not target_count: + # The validated source has no null timestamps. Coalesce also makes + # Spark's static schema non-nullable for the raw table's required field. + rows = source.withColumn("timestamp", F.coalesce("timestamp", F.lit(datetime(1970, 1, 1)))).withColumn("__ingest_ts", F.current_timestamp()) + if target == "r2.default.event": + rows = rows.select( + "__ingest_ts", F.lit("models").alias("source"), F.lit("hit").alias("type"), "timestamp", + F.to_json(F.struct("method", "path", "useragent", "ip", "cf_country"), {"ignoreNullFields": "true"}).alias("payload"), + ) + rows.select(*spark.table(target).columns).writeTo(target).append() + spark.sql(f"REFRESH TABLE {target}") + verified_days = historical_days(spark, F, target) + if verified_days != expected_days: + raise ValueError(f"Destination daily counts do not match S3: {target}") + result = {"source": summary, "snapshot_id": plan["snapshot_id"], "target": target, "daily_records": verified_days} + s3.put_object(Bucket=checkpoint_bucket, Key=f"{checkpoint_prefix}/{target}.json", Body=json.dumps(result), ContentType="application/json") + print(json.dumps({"verified": target, "records": sum(verified_days.values())}), flush=True) + source.unpersist() + job.commit() + + +def nonempty(functions, column): + return functions.when(functions.col(column) != "", functions.col(column)).otherwise(functions.lit(None).cast("string")) + + +def historical_days(spark, functions, target): + rows = spark.table(target) + if target == "r2.models.hit": + rows = rows.where(functions.col("method").isNull()) + else: + rows = rows.where((functions.col("source") == "models") & (functions.col("type") == "hit") & functions.get_json_object("payload", "$.method").isNull()) + return {row["day"]: row["count"] for row in rows.groupBy(functions.date_format("timestamp", "yyyy-MM-dd").alias("day")).count().collect()} + + +if __name__ == "__main__": + main() diff --git a/packages/core/script/backfill-hits.ts b/packages/core/script/backfill-hits.ts new file mode 100644 index 0000000000..d3ece4ca49 --- /dev/null +++ b/packages/core/script/backfill-hits.ts @@ -0,0 +1,306 @@ +import { Buffer } from "node:buffer"; +import { rename } from "node:fs/promises"; +import path from "node:path"; +import { parseArgs } from "node:util"; + +import { hitEvent } from "../src/hit.js"; + +const usage = `Backfill models.dev hits from the legacy opencode S3 lake into the platform lake. + + bun packages/core/script/backfill-hits.ts sql --to [--before