feat: add Melious provider - #5221
Open
sahil-melious wants to merge 1 commit into
Open
Conversation
Melious is a European OpenAI-compatible inference host serving open-weight models only. This adds provider.toml, logo.svg and 53 chat models, 48 of which use base_model against existing lab metadata. Melious lists prices in EUR; costs here are converted at 1.17 USD/EUR (ECB reference rate, 2026-08-20) and every file records the rate, the date and the source endpoint in a leading comment. limit.output is measured against the live API rather than inherited, because the catalog reports max_output_tokens as null for 51 of 53 models and the inherited values are wrong in places -- pixtral-12b inherits 128_000 and actually accepts 4_096. reasoning_options follow this host's documented control surface, reasoning_effort = low|medium|high, with no toggle: an explicit "none" still returns reasoning, so claiming one would be false.
Contributor
Action items
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds Melious — a European OpenAI-compatible inference host
that serves open-weight models only — as a provider.
providers/melious/:provider.toml,logo.svg, and 53 chat models.Data provenance
GET https://api.melious.ai/v1/models?include_meta=true(ECB reference rate, captured 2026-08-20). Each file's leading comment records the
rate, the date and the source.
Model files
48 of 53 use
base_modelagainst existingmodels/lab metadata and areoverride-only —
cost,reasoning_options,interleaved, plus real deltas such asa narrower
limit.context.Five have no lab entry upstream and are defined inline:
gemma-3-27b-it,holo2-30b-a3b,llama-3.1-405b-instruct,hermes-4-405b,hermes-4-70b. Everyother host of those same models does the same (
greenpt,stackit,nebius,cortecs), and their names and descriptions reuse the strings already normalisedacross those entries.
Reasoning
reasoning_options = [{ type = "effort", values = ["low", "medium", "high"] }]on everyreasoner — that is this host's documented control
(docs). No
toggle: an explicitreasoning_effort: "none"still returns reasoning, so there is no reachable off state.interleaved.field = "reasoning_content"was set per model from live responses, notassumed. Both Hermes 4 models are classified as reasoners by the catalog but inline
their thinking into
content, so they deliberately carry nointerleaved. Converselydevstral-2-123b-instruct-2512,gemma-3-27b-itandholo2-30b-a3bare classifiednon_reasoningyet return chain-of-thought inreasoning_content, so they arerecorded as reasoners; each file notes the discrepancy.
Limits
limit.outputis measured, not inherited: the catalog reportsmax_output_tokensasnull for 51 of 53 models. Values come from descending a ladder from the context
window and bisecting to ±1024. Where the host accepts
max_tokensequal to the fullwindow,
limit.outputis the window; where output shares a smaller window with theprompt, that window is published; each file says which case applies.
Verification
bun validate— passesbun run testinpackages/sdk— passesopencode auth listpicks the key up fromMELIOUS_API_KEY,opencode modelslistsall 53 as
melious/*, andopencode runcompletes with tool calls and reasoningparts against a real key with no
opencode.jsonpresent.Checklist
logo.svg— squareviewBox,currentColor, no fixed width/heightbase_model; inline entries follow existing precedentbase_modelfiles are override-only, no restated identical fieldsreasoning = true⇒reasoning_optionssetbun validatepasses