Skip to content

Conversation

@ThomsenDrake
Copy link

  • Added Mistral AI provider configuration with 32 models
  • Extracted all Mistral models from OpenRouter config
  • Added -latest variants for all main model sizes (large, medium, small)
  • Added -latest variants for devstral models (medium, small)
  • Updated providers.go to include mistralProvider
  • Set API endpoint to https://api.mistral.ai/v1

Generated by Mistral Vibe.

@ThomsenDrake ThomsenDrake marked this pull request as ready for review December 9, 2025 19:16
@ThomsenDrake ThomsenDrake requested a review from a team as a code owner December 9, 2025 19:16
@ThomsenDrake ThomsenDrake requested review from raphamorim and tauraamui and removed request for a team December 9, 2025 19:16
@nikaro
Copy link

nikaro commented Dec 10, 2025

Aren't Devstral 2 and Devstral Small 2 missing ?

@ThomsenDrake
Copy link
Author

Aren't Devstral 2 and Devstral Small 2 missing ?

devstral-medium-latest is the endpoint for Devstral 2 and devstral-small-latest is the endpoint for Devstral Small 2

@gm0stache
Copy link

would love to see this merged!

@kujtimiihoxha
Copy link
Member

@ThomsenDrake thanks for the PR, it looks like this pr needs a rebase and also have you made sure that the changes work as expected in crush?

You can test it locally by running the catwalk server go run . Than in another tab export CATWALK_URL=http://localhost:8080/ and running crush, select the models you have added and just make sure it all works as expected.

This will help me validate the configuration too :)

ThomsenDrake and others added 4 commits January 5, 2026 10:03
- Added Mistral AI provider configuration with 32 models
- Extracted all Mistral models from OpenRouter config
- Added -latest variants for all main model sizes (large, medium, small)
- Added -latest variants for devstral models (medium, small)
- Updated providers.go to include mistralProvider
- Set API endpoint to https://api.mistral.ai/v1
- Uses tILXtdeWUWgbTX3Uwg0Flp4SVLEahdyH environment variable

Generated by Mistral Vibe.
Co-Authored-By: Mistral Vibe <[email protected]>
- Updated Frontier Models - Generalist pricing:
  - Mistral Large 3: /bin/sh.5/M input, .5/M output
  - Mistral Medium 3.1: /bin/sh.4/M input, /M output
  - Mistral Small 3.2: /bin/sh.1/M input, /bin/sh.3/M output
  - Ministral 3 14B: /bin/sh.2/M input, /bin/sh.2/M output
  - Ministral 3 8B: /bin/sh.15/M input, /bin/sh.15/M output
  - Ministral 3 3B: /bin/sh.1/M input, /bin/sh.1/M output

- Updated Other Models pricing:
  - Devstral Medium 1.0: /bin/sh.4/M input, /M output
  - Devstral Small 1.1: /bin/sh.1/M input, /bin/sh.3/M output
  - Mistral Medium 3: /bin/sh.4/M input, /M output
  - Mistral Large 2.1: /M input, /M output (already correct)
  - Pixtral Large: /M input, /M output (already correct)
  - Mistral Nemo 12B: /bin/sh.15/M input, /bin/sh.15/M output (already correct)
  - Codestral: /bin/sh.3/M input, /bin/sh.9/M output

- Updated -latest variants to match their corresponding models

Generated by Mistral Vibe.
Co-Authored-By: Mistral Vibe <[email protected]>
- Changed default_large_model_id from mistral-large to devstral-medium-latest
- Changed default_small_model_id from mistral-small to devstral-small-latest
- This makes Devstral models the default choice when using the Mistral provider

Generated by Mistral Vibe.
Co-Authored-By: Mistral Vibe <[email protected]>
- Remove redundant "Mistral: " prefix from non-flagship model names
- Add TypeMistral to known provider types
- Add InferenceProviderMistral to known inference providers
- Register Mistral in KnownProviders() and KnownProviderTypes()
@ThomsenDrake
Copy link
Author

Thanks for the review! I've rebased on the latest main and tested locally with crush.

Testing results:

  1. ✅ Ran go run . and confirmed the catwalk server starts successfully on :8080
  2. ✅ Verified Mistral AI provider appears in /v2/providers with all 32 models
  3. ✅ Fixed model naming - removed redundant "Mistral: " prefix from non-flagship models (Devstral, Ministral, Mixtral, etc.)
  4. ✅ Added TypeMistral and InferenceProviderMistral to the provider type constants

One issue discovered:

When testing in crush with CATWALK_URL=http://localhost:8080/, the Mistral API key validation fails with "Invalid Mistral AI API Key" even with a valid key. This appears to be a client-side validation issue in crush - the key format regex likely doesn't recognize Mistral's API key pattern (alphanumeric, no specific prefix like OpenAI's sk-).

This would need a separate fix in the crush repo to add Mistral API key format validation. The catwalk configuration itself is working correctly.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants