API setup
The API is OpenAI-compatible: any client or library that lets you set a custom Base URL works.
Base URL
https://api.eni-cloud.xyz/v1
Authentication
Send the key in the Authorization header:
Authorization: Bearer eni-sk-...
Keys start with eni-sk-. We store only a hash of the key, so we can't show it again. Lost a key? Reissue it in the console; the old one stops working immediately.
Models
Put the ID of your key's model in the model field.
| Model | model ID | Input, 1M tokens | Output, 1M tokens |
|---|---|---|---|
| DeepSeek | deepseek | $0.30 | $1.20 |
| Kimi | kimi | $0.30 | $1.20 |
| GLM | glm | $0.30 | $1.20 |
| Gemini | gemini | $0.30 | $1.20 |
A key for one model doesn't work with another: the request returns 403 model_not_allowed.
Endpoints
| Method | Path | What it does |
|---|---|---|
| POST | /chat/completions | Model reply, regular or streamed |
| GET | /models | The model available to this key |
Streaming
Add "stream": true and the reply arrives in chunks (Server-Sent Events), just like OpenAI:
curl https://api.eni-cloud.xyz/v1/chat/completions \
-H "Authorization: Bearer eni-sk-..." \
-H "Content-Type: application/json" \
-d '{"model": "deepseek", "stream": true, "messages": [{"role": "user", "content": "Explain TCP"}]}'Your own system prompt
You can send your own system message. The model's built-in prompt still goes first and yours follows. See How the built-in prompt works.
