Melious
European, open-weight AI inference with OpenAI and Anthropic API compatibility
Melious
Melious routes your inference across European providers, runs only open-weight models, and tells you the energy cost of every response.
The API is a superset of two shapes: OpenAI's /v1/chat/completions and Anthropic's /v1/messages. Same base URL, same API key, whichever client you prefer — we wrote it this way because your code probably already speaks one of them.
from openai import OpenAI
client = OpenAI(
api_key="sk-mel-<YOUR_API_KEY>",
base_url="https://api.melious.ai/v1",
)
response = client.chat.completions.create(
model="glm-4.7",
messages=[{"role": "user", "content": "Name three Hanseatic cities."}],
)
print(response.choices[0].message.content)from anthropic import Anthropic
client = Anthropic(
api_key="sk-mel-<YOUR_API_KEY>",
base_url="https://api.melious.ai",
)
response = client.messages.create(
model="claude-sonnet-4", # mapped to an open-weight model, see Anthropic SDK
max_tokens=256,
messages=[{"role": "user", "content": "Name three Hanseatic cities."}],
)
print(response.content[0].text)curl https://api.melious.ai/v1/chat/completions \
-H "Authorization: Bearer sk-mel-<YOUR_API_KEY>" \
-H "Content-Type: application/json" \
-d '{
"model": "glm-4.7",
"messages": [{"role": "user", "content": "Name three Hanseatic cities."}]
}'Start here
Quickstart
Your first Melious call in five minutes.
From OpenAI
Swap one line of code and keep going.
From Anthropic
Point Claude Code at Melious and carry on.
Routing
How we choose which provider answers you.
What makes this different
European, open-weight, by construction. Your request stays in the EU — we have nine providers across eight countries, and no US or APAC fallbacks. Every model we run is open-weight: GLM, Qwen, DeepSeek, Kimi, Mistral, Llama, FLUX, Whisper, Voxtral. We don't run Claude, GPT-4o, or Gemini proper. We do map their names where it helps unmodified clients keep working — see Anthropic SDK.
Energy cost on every response. A response includes an environment_impact block — carbon grams, water liters, renewable percent, the provider's PUE, the country where the inference ran. Not a dashboard metric; a field in the JSON. Details in Environmental impact.
Routing you can steer. Append :speed, :price, or :eco to any model ID and we bias routing accordingly. Filter providers by country or carbon intensity. Or leave it at balanced and let us pick. See Routing.
Where to go next
Reference — the endpoints, fields, and error codes. Concepts — the why behind the defaults. Guides — the runnable walkthroughs: streaming, tool calling, batch. The CLI is a separate surface entirely, for when a shell is more honest than an SDK.