SPB Git forge

spb/polyllm

Public
15commits 1branches 0releases
2.2 MBsize
maindefault branch
13 days agolast push
TypeScript 97.4% SQL 1% JavaScript 0.9% CSS 0.6%
16.0 KB · 422 lines json
Raw Blame History
1[2  {3    "id": "mistral-medium-2604",4    "displayName": "Mistral Medium 3.5",5    "family": "mistral-medium",6    "contextTokens": 262144,7    "maxOutputTokens": null,8    "capabilities": {9      "text": true,10      "vision": true,11      "audioInput": false,12      "audioOutput": false,13      "imageGeneration": false,14      "video": false,15      "reasoning": true,16      "tools": true,17      "structuredOutput": true,18      "streaming": true,19      "files": true,20      "webSearch": "conversations-api-only"21    },22    "parameters": {23      "temperature": true,24      "topP": true,25      "topK": false,26      "maxTokens": true,27      "reasoningEffort": ["none", "high"],28      "thinkingBudget": false,29      "stop": true,30      "seed": "random_seed",31      "frequencyPenalty": true,32      "presencePenalty": true33    },34    "pricing": {35      "inputPerMillion": 1.5,36      "cachedInputPerMillion": 0.15,37      "outputPerMillion": 7.538    },39    "status": "active",40    "aliases": [41      "mistral-medium-latest",42      "mistral-medium",43      "mistral-medium-3-5",44      "mistral-medium-3.5",45      "mistral-medium-3",46      "mistral-vibe-cli-latest",47      "mistral-vibe-cli-with-tools",48      "magistral-medium-latest"49    ],50    "notes": "Frontier hybrid-reasoning model (GA 2026-04-28, model card id mistral-medium-3-5-26-04, billing_model_name mistral-medium-3-5, default_model_temperature 1). Reasoning is OFF unless reasoning_effort:'high' is sent (probed: default returns a plain string, no thinking). Only 'none' and 'high' accepted; minimal/low/medium/xhigh/max -> 400 code 3051 'reasoning_effort X is not supported for this model, supported values: [high, none]'. Thinking comes back as content chunks [{type:'thinking', thinking:[{type:'text', text}], closed:true}, {type:'text', text}]; reasoning tokens are counted inside completion_tokens (no separate field). magistral-medium-latest is now just an alias of this model (native Magistral retired 2026-07-31). n=2 accepted. Hidden system prompt ~12 tokens. Rate limit observed on this key: 3000 req/min, 2M tokens/min. Document QnA (document_url) supported per model card."51  },52  {53    "id": "mistral-small-2603",54    "displayName": "Mistral Small 4",55    "family": "mistral-small",56    "contextTokens": 262144,57    "maxOutputTokens": null,58    "capabilities": {59      "text": true,60      "vision": true,61      "audioInput": false,62      "audioOutput": false,63      "imageGeneration": false,64      "video": false,65      "reasoning": true,66      "tools": true,67      "structuredOutput": true,68      "streaming": true,69      "files": true,70      "webSearch": "conversations-api-only"71    },72    "parameters": {73      "temperature": true,74      "topP": true,75      "topK": false,76      "maxTokens": true,77      "reasoningEffort": ["none", "high"],78      "thinkingBudget": false,79      "stop": true,80      "seed": "random_seed",81      "frequencyPenalty": true,82      "presencePenalty": true83    },84    "pricing": {85      "inputPerMillion": 0.15,86      "cachedInputPerMillion": 0.015,87      "outputPerMillion": 0.688    },89    "status": "active",90    "aliases": ["mistral-small-latest", "mistral-vibe-cli-fast", "magistral-small-latest"],91    "notes": "Best value hybrid-reasoning model (Apache 2.0, 'Mistral Small 4', default_model_temperature 0.3). Same reasoning contract as Medium 3.5: reasoning off by default, reasoning_effort 'high'|'none' only, thinking returned as content chunks. magistral-small-latest aliases here. Vision probed OK (32px PNG ~15 image tokens, 512x512 ~390 tokens). document_url PDF (base64 data URL and public URL) probed OK. json_schema strict + json_object probed OK. Tool calls arrive in ONE stream chunk with full arguments; 9-char alphanumeric ids. Rate limit observed: 2000 req/min, 2M tokens/min. prompt_mode:'reasoning' (legacy Magistral) -> 400 'Reasoning prompt mode is not enabled for this model'."92  },93  {94    "id": "mistral-large-2512",95    "displayName": "Mistral Large 3",96    "family": "mistral-large",97    "contextTokens": 262144,98    "maxOutputTokens": null,99    "capabilities": {100      "text": true,101      "vision": true,102      "audioInput": false,103      "audioOutput": false,104      "imageGeneration": false,105      "video": false,106      "reasoning": false,107      "tools": true,108      "structuredOutput": true,109      "streaming": true,110      "files": true,111      "webSearch": "conversations-api-only"112    },113    "parameters": {114      "temperature": true,115      "topP": true,116      "topK": false,117      "maxTokens": true,118      "reasoningEffort": false,119      "thinkingBudget": false,120      "stop": true,121      "seed": "random_seed",122      "frequencyPenalty": true,123      "presencePenalty": true124    },125    "pricing": {126      "inputPerMillion": 0.5,127      "cachedInputPerMillion": 0.05,128      "outputPerMillion": 1.5129    },130    "status": "active",131    "aliases": ["mistral-large-latest"],132    "notes": "Open-weight MoE (675B total / 41B active, Apache 2.0, released 2025-12-02, default_model_temperature 0.3). NOT a reasoning model: any reasoning_effort -> 400 'reasoning_effort is not enabled for this model'. The ONLY model that rejects n>1 (400 'Invalid value 2 for parameter `n`. Max allowed: 1.'). Cheaper than Medium 3.5 (0.5/1.5 vs 1.5/7.5). No hidden system prompt (prompt_tokens = raw). Fine-tunable. Rate limit observed on this key: only 75 req/min / 1M tokens/min (much lower than the other models). Retired slugs mistral-large-2407 resolve here (response.model = mistral-large-latest); mistral-large-2411 and pixtral-large-* return 400 invalid_model."133  },134  {135    "id": "ministral-14b-2512",136    "displayName": "Ministral 3 14B",137    "family": "ministral-3",138    "contextTokens": 262144,139    "maxOutputTokens": null,140    "capabilities": {141      "text": true,142      "vision": true,143      "audioInput": false,144      "audioOutput": false,145      "imageGeneration": false,146      "video": false,147      "reasoning": false,148      "tools": true,149      "structuredOutput": true,150      "streaming": true,151      "files": null,152      "webSearch": "conversations-api-only"153    },154    "parameters": {155      "temperature": true,156      "topP": true,157      "topK": false,158      "maxTokens": true,159      "reasoningEffort": false,160      "thinkingBudget": false,161      "stop": true,162      "seed": "random_seed",163      "frequencyPenalty": true,164      "presencePenalty": true165    },166    "pricing": {167      "inputPerMillion": 0.2,168      "cachedInputPerMillion": 0.02,169      "outputPerMillion": 0.2170    },171    "status": "active",172    "aliases": ["ministral-14b-latest"],173    "notes": "Edge model family v25.12 (Apache 2.0), text + vision, function calling, fine-tunable. Only a tiny chat probe was run on this size (200 OK); parameters assumed identical to ministral-8b (same family, same listing capabilities). Retired pixtral-12b-2409 is transparently served by ministral-14b-latest. Rate limit observed: 500 req/min, 3.8M tokens/min."174  },175  {176    "id": "ministral-8b-2512",177    "displayName": "Ministral 3 8B",178    "family": "ministral-3",179    "contextTokens": 262144,180    "maxOutputTokens": null,181    "capabilities": {182      "text": true,183      "vision": true,184      "audioInput": false,185      "audioOutput": false,186      "imageGeneration": false,187      "video": false,188      "reasoning": false,189      "tools": true,190      "structuredOutput": true,191      "streaming": true,192      "files": true,193      "webSearch": "conversations-api-only"194    },195    "parameters": {196      "temperature": true,197      "topP": true,198      "topK": false,199      "maxTokens": true,200      "reasoningEffort": false,201      "thinkingBudget": false,202      "stop": true,203      "seed": "random_seed",204      "frequencyPenalty": true,205      "presencePenalty": true206    },207    "pricing": {208      "inputPerMillion": 0.15,209      "cachedInputPerMillion": 0.015,210      "outputPerMillion": 0.15211    },212    "status": "active",213    "aliases": ["ministral-8b-latest"],214    "notes": "Fully probed: chat, streaming, tools (single-chunk tool call), json_schema strict, vision (32px PNG OK), document_url PDF OK, n=2 OK. reasoning_effort -> 400 'not enabled for this model'. Retired open-mistral-7b / ministral-8b-2410 / open-mistral-nemo slugs are served by this model. Rate limit observed: 3800 req/min, 2.5M tokens/min."215  },216  {217    "id": "ministral-3b-2512",218    "displayName": "Ministral 3 3B",219    "family": "ministral-3",220    "contextTokens": 131072,221    "maxOutputTokens": null,222    "capabilities": {223      "text": true,224      "vision": true,225      "audioInput": false,226      "audioOutput": false,227      "imageGeneration": false,228      "video": false,229      "reasoning": false,230      "tools": true,231      "structuredOutput": true,232      "streaming": true,233      "files": null,234      "webSearch": "conversations-api-only"235    },236    "parameters": {237      "temperature": true,238      "topP": true,239      "topK": false,240      "maxTokens": true,241      "reasoningEffort": false,242      "thinkingBudget": false,243      "stop": true,244      "seed": "random_seed",245      "frequencyPenalty": true,246      "presencePenalty": true247    },248    "pricing": {249      "inputPerMillion": 0.1,250      "cachedInputPerMillion": 0.01,251      "outputPerMillion": 0.1252    },253    "status": "active",254    "aliases": ["ministral-3b-latest"],255    "notes": "Smallest/cheapest (a.k.a. 'Tinystral'). 128k context (the only current chat model below 256k). Tiny chat probe OK; max_tokens 200000 (> context) accepted without error (generation just stops naturally). Parameters assumed identical to ministral-8b. Highest rate limit observed: 15000 req/min, 5M tokens/min."256  },257  {258    "id": "codestral-2508",259    "displayName": "Codestral 25.08",260    "family": "codestral",261    "contextTokens": 256000,262    "maxOutputTokens": null,263    "capabilities": {264      "text": true,265      "vision": false,266      "audioInput": false,267      "audioOutput": false,268      "imageGeneration": false,269      "video": false,270      "reasoning": false,271      "tools": true,272      "structuredOutput": true,273      "streaming": true,274      "files": true,275      "webSearch": false276    },277    "parameters": {278      "temperature": true,279      "topP": true,280      "topK": false,281      "maxTokens": true,282      "reasoningEffort": false,283      "thinkingBudget": false,284      "stop": true,285      "seed": "random_seed",286      "frequencyPenalty": true,287      "presencePenalty": true288    },289    "pricing": {290      "inputPerMillion": 0.3,291      "cachedInputPerMillion": 0.03,292      "outputPerMillion": 0.9293    },294    "status": "active",295    "aliases": ["codestral-latest", "mistral-code-latest", "mistral-code-fim-latest"],296    "notes": "Coding model (Premier, released 2025-07-30). The only model with completion_fim=true -> POST /v1/fim/completions {prompt, suffix} probed OK (FIM on any other model -> 400 'FIM is not enabled for this model'). Chat, streaming, tools, json_schema all probed OK. Image input -> 400 code 3051 'Image input is not enabled for this model'. Surprisingly document_url (base64 PDF) worked (server-side OCR). API max_context_length 256000 vs model card '128k' -> prefer the API value. mistral-code-latest / mistral-code-fim-latest are aliases (Mistral Code IDE product). Rate limit observed: 2500 req/min, 2.5M tokens/min."297  },298  {299    "id": "zai-glm-5-2",300    "displayName": "Z.ai GLM 5.2 (third-party, preview)",301    "family": "glm",302    "contextTokens": 1048576,303    "maxOutputTokens": 128000,304    "capabilities": {305      "text": true,306      "vision": false,307      "audioInput": false,308      "audioOutput": false,309      "imageGeneration": false,310      "video": false,311      "reasoning": true,312      "tools": true,313      "structuredOutput": true,314      "streaming": true,315      "files": null,316      "webSearch": "conversations-api-only"317    },318    "parameters": {319      "temperature": true,320      "topP": true,321      "topK": false,322      "maxTokens": true,323      "reasoningEffort": ["none", "minimal", "low", "medium", "high", "xhigh", "max"],324      "thinkingBudget": false,325      "stop": true,326      "seed": "random_seed",327      "frequencyPenalty": true,328      "presencePenalty": true329    },330    "pricing": {331      "inputPerMillion": 1.4,332      "cachedInputPerMillion": 0.14,333      "outputPerMillion": 4.4334    },335    "status": "preview",336    "aliases": ["glm-5-2"],337    "notes": "Third-party model hosted by Mistral 'without Mistral modifications' (Public Preview since 2026-08-06; third-party lifecycle = 1-month deprecation notice). 1M context, 128k max output (docs). Reasoning off by default; EVERY reasoning_effort value is accepted (probed none/minimal/low/medium/high/xhigh/max); 'none' and 'minimal' return a plain string (no thinking), low..max return the same thinking-chunk content shape as the Mistral hybrids. Differences from Mistral models (probed): tool-call ids look like 'chatcmpl-tool-<16 hex>' and arguments are streamed across SEVERAL chunks (standard OpenAI accumulation required); stream chunks carry delta.index and logprobs:null; usage lacks service_tier; default_model_temperature null. Image input -> 400 'Image input is not enabled'. n=2 accepted. Rate limit observed: 3000 req/min, 4M tokens/min. Data leaves the Mistral model family - flag it in the UI as third-party."338  },339  {340    "id": "voxtral-small-2507",341    "displayName": "Voxtral Small 24B",342    "family": "voxtral",343    "contextTokens": 32768,344    "maxOutputTokens": null,345    "capabilities": {346      "text": true,347      "vision": false,348      "audioInput": true,349      "audioOutput": false,350      "imageGeneration": false,351      "video": false,352      "reasoning": false,353      "tools": true,354      "structuredOutput": null,355      "streaming": true,356      "files": null,357      "webSearch": false358    },359    "parameters": {360      "temperature": true,361      "topP": true,362      "topK": false,363      "maxTokens": true,364      "reasoningEffort": false,365      "thinkingBudget": false,366      "stop": true,367      "seed": "random_seed",368      "frequencyPenalty": true,369      "presencePenalty": true370    },371    "pricing": {372      "inputPerMillion": 0.1,373      "cachedInputPerMillion": null,374      "outputPerMillion": 0.4375    },376    "status": "active",377    "aliases": ["voxtral-small-latest"],378    "notes": "Audio-understanding chat model (July 2025, Apache 2.0, default_model_temperature 0.2): accepts input_audio content parts in chat completions (docs; not probed - no audio sample) plus text. Only 32k context. Text-only chat probe OK. Listing capabilities show completion_chat + function_calling but audio:false (listing flag looks wrong vs docs). Docs pricing 0.1 in / 0.4 out per M tokens; audio priced per token via prompt_audio_seconds in usage (docs). Lowest rate limit observed: 1440 req/min, 500k tokens/min. Treat as a niche model, not a default chat choice."379  },380  {381    "id": "labs-leanstral-1-5",382    "displayName": "Leanstral 1.5 (Labs)",383    "family": "labs",384    "contextTokens": 262144,385    "maxOutputTokens": null,386    "capabilities": {387      "text": true,388      "vision": true,389      "audioInput": false,390      "audioOutput": false,391      "imageGeneration": false,392      "video": false,393      "reasoning": true,394      "tools": true,395      "structuredOutput": null,396      "streaming": null,397      "files": null,398      "webSearch": false399    },400    "parameters": {401      "temperature": null,402      "topP": null,403      "topK": false,404      "maxTokens": true,405      "reasoningEffort": null,406      "thinkingBudget": false,407      "stop": null,408      "seed": null,409      "frequencyPenalty": null,410      "presencePenalty": null411    },412    "pricing": {413      "inputPerMillion": 0,414      "cachedInputPerMillion": 0,415      "outputPerMillion": 0416    },417    "status": "labs-retiring-2026-09-30",418    "aliases": ["labs-leanstral-1-5-1"],419    "notes": "Experimental Lean 4 proof-engineering model derived from Mistral Small 4 (free while in Labs; retirement announced for 2026-09-30, 1-month Labs notice policy). Requests return 403 'Model labs-leanstral-1-5 is a Labs model. To use Labs models, an admin must enable them in your organization settings at https://admin.mistral.ai/plateforme/privacy.' unless the org opts in -> nothing else could be probed. Docs: 'We do not recommend using these models in production environments.' Do NOT list in PolyLLM by default; at most show it behind an 'experimental' flag with the 403 message mapped to a clear error."420  }421]422