Skip to content

[BOT ISSUE] Mistral "latest" aliases have stale pricing, context windows, and incorrect API model IDs #486

@github-actions

Description

@github-actions

Summary

Multiple Mistral "latest" alias entries in the local catalog have outdated pricing, context windows, and max output tokens. These aliases now resolve to new-generation models on Mistral's API, but the catalog still reflects the old-generation metadata. This is distinct from BT-4823, which tracks the missing versioned model IDs — this issue covers the stale metadata on existing entries.

Additionally, issue BT-4823 lists model IDs from Mistral's overview page (e.g., mistral-large-3-25-12), but the actual API model IDs confirmed on each model's detail page use a shorter format (e.g., mistral-large-2512). This note is included here for the downstream fix job.

Official sources

Local files inspected

  • packages/proxy/schema/model_list.json — entries at lines ~4542, ~4566, ~4590, ~4719, ~4738, ~4757

Gap Details

1. mistral-small-latest — pricing and context are wrong

Field Local catalog Official (Mistral Small 4)
input_cost_per_mil_tokens 0.06 0.15
output_cost_per_mil_tokens 0.18 0.6
max_input_tokens 131072 256000
max_output_tokens 131072 needs verification

2. codestral-latest — pricing and context are wrong

Field Local catalog Official (codestral-2508)
input_cost_per_mil_tokens 1 0.3
output_cost_per_mil_tokens 3 0.9
max_input_tokens 32000 128000
max_output_tokens 8191 needs verification

3. magistral-medium-latest — context window is wrong

Field Local catalog Official (magistral-medium-2509)
input_cost_per_mil_tokens 2 2 ✓
output_cost_per_mil_tokens 5 5 ✓
max_input_tokens 40000 128000
max_output_tokens 40000 needs verification

4. magistral-small-latest — context window is wrong

Field Local catalog Official (magistral-small-2509)
input_cost_per_mil_tokens 0.5 0.5 ✓
output_cost_per_mil_tokens 1.5 1.5 ✓
max_input_tokens 40000 128000
max_output_tokens 40000 needs verification

5. ministral-8b-latest — pricing changed, context missing

Field Local catalog Official (ministral-8b-2512)
input_cost_per_mil_tokens 0.1 0.15
output_cost_per_mil_tokens 0.1 0.15
max_input_tokens (not set) 256000
max_output_tokens (not set) needs verification

6. devstral-small-latest — alias is stale, now points to Devstral 2

The official docs show devstral-latest (alias for devstral-2512) at $0.4/$2 with 256k context. The local catalog has devstral-small-latest at $0.1/$0.3 which corresponds to the deprecated devstral-small-2507.

Why this is high confidence

Each model detail page on Mistral's official docs explicitly states the API model ID and that the -latest alias resolves to it. The pricing and context windows are stated on the same pages. The local catalog entries are clearly stale — in the case of codestral-latest, the pricing is 3x too high.

Relationship to BT-4823

Issue BT-4823 tracks the missing versioned model IDs (the new-generation models). This issue covers the existing "latest" alias entries that have wrong pricing and metadata. Both issues need to be fixed, but they are independent: fixing BT-4823 adds new entries, fixing this issue corrects existing ones.

Verification notes

  • All pricing verified from individual Mistral model detail pages linked above.
  • max_output_tokens was not published on the model detail pages — marked "needs verification" for the downstream fix job.
  • mistral-large-latest ($0.5/$1.5) and mistral-medium-latest ($0.4/$2) pricing already match official docs and are NOT included in this issue.
{
  "kind": "missing_model",
  "provider": "mistral",
  "models": [
    "mistral-small-latest",
    "codestral-latest",
    "magistral-medium-latest",
    "magistral-small-latest",
    "ministral-8b-latest"
  ],
  "status": "active",
  "model_specs": {
    "mistral-small-latest": {
      "format": "openai",
      "flavor": "chat",
      "input_cost_per_mil_tokens": 0.15,
      "output_cost_per_mil_tokens": 0.6,
      "max_input_tokens": 256000,
      "available_providers": ["mistral"]
    },
    "codestral-latest": {
      "format": "openai",
      "flavor": "chat",
      "input_cost_per_mil_tokens": 0.3,
      "output_cost_per_mil_tokens": 0.9,
      "max_input_tokens": 128000,
      "available_providers": ["mistral"]
    },
    "magistral-medium-latest": {
      "format": "openai",
      "flavor": "chat",
      "input_cost_per_mil_tokens": 2,
      "output_cost_per_mil_tokens": 5,
      "max_input_tokens": 128000,
      "available_providers": ["mistral"]
    },
    "magistral-small-latest": {
      "format": "openai",
      "flavor": "chat",
      "input_cost_per_mil_tokens": 0.5,
      "output_cost_per_mil_tokens": 1.5,
      "max_input_tokens": 128000,
      "available_providers": ["mistral"]
    },
    "ministral-8b-latest": {
      "format": "openai",
      "flavor": "chat",
      "input_cost_per_mil_tokens": 0.15,
      "output_cost_per_mil_tokens": 0.15,
      "max_input_tokens": 256000,
      "available_providers": ["mistral"]
    }
  },
  "source_urls": [
    "https://docs.mistral.ai/models/mistral-small-4-0-26-03",
    "https://docs.mistral.ai/models/codestral-25-08",
    "https://docs.mistral.ai/models/magistral-medium-1-2-25-09",
    "https://docs.mistral.ai/models/magistral-small-1-2-25-09",
    "https://docs.mistral.ai/models/ministral-3-8b-25-12"
  ]
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions