Any app, library or script that lets you set an OpenAI-compatible address and API key can use your AI credits. Three settings:
- Base URL:
https://virsilipas.mcx.fi/v1 - API key: your key from the Virsilipas AI key page (starts with
vsk-) - Model:
default, or another alias from the model list
Try it with curl
curl https://virsilipas.mcx.fi/v1/chat/completions \
-H "Authorization: Bearer $KEY" -H 'Content-Type: application/json' \
-d '{"model": "default", "messages": [{"role": "user", "content": "Say hello."}]}'
The answer is in choices[0].message.content. Add "stream": true to stream it.
Formats it speaks
- OpenAI chat completions at
/v1/chat/completions, for most apps and libraries. - Anthropic Messages at
/v1/messages, the format Claude Code uses. - The Gemini API at
/v1beta/models/, the format Gemini CLI uses.
Requests to the main models in the chat-completions and Gemini formats move to a second provider if the first one fails before the answer starts, at the same price. Requests in the format Claude Code uses go to the first provider only. Whichever format you use, the model provider does not learn who you are: your request goes on with our account, from our server, among every other customer's requests. What you put in the request still reaches the provider.
What works and what does not
- Works: text chat, streaming, and tool or function calling where your own app runs the tools.
- Does not work: images, audio and file attachments in a request (refused with
unsupported_content), and tools that run on a model vendor's side, such as web search (unsupported_tool). - The service answers chat requests only. It has no embeddings, image generation or speech endpoints.
JavaScript and PHP examples: the README on GitHub. Every field, header and error: API reference.
