Inference
Call chat, embedding, transcription, and decision models through one OpenAI-compatible API, with an EU endpoint that has zero data retention.
Private beta: Email support@sliplane.io to request Inference access for your team.
Sliplane Inference gives your team one OpenAI-compatible API for chat, embedding, transcription, and decision models. Requests are authenticated with a Sliplane API key that has the inference scope and are billed per token or per audio minute.
The EU endpoint has zero data retention: prompts and responses are processed in European data centers and are not stored.
Endpoints
| Endpoint | Base URL | Models |
|---|---|---|
| Global | https://inference.sliplane.io/v1 | All models, including Anthropic, OpenAI, and Google |
| EU | https://inference.eu.sliplane.io/v1 | Models hosted by European companies in European data centers, with zero data retention |
Both endpoints accept the same keys and requests.
Zero data retention
Every model on the EU endpoint runs with zero data retention. Model providers don't store prompts or responses. Sliplane records only request metadata, such as model, token counts, and duration, never the content.
Create a key
After Inference access is enabled for your team:
- Open Inference > Keys in the dashboard.
- Click Create Inference Key and enter a name.
- Optionally set a spend limit or mark the key confidential.
- Copy the key and the base URL.
The key is shown only once when it is created. Store it securely before closing the dialog.
Send a request
Send the key as Authorization: Bearer <key>. Any OpenAI SDK works when you set its base URL.
curl https://inference.sliplane.io/v1/chat/completions \
-H "Authorization: Bearer $SLIPLANE_INFERENCE_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "gemma4-26b",
"messages": [{"role": "user", "content": "Say hello in one sentence."}]
}'import os
from openai import OpenAI
client = OpenAI(
base_url="https://inference.sliplane.io/v1",
api_key=os.environ["SLIPLANE_INFERENCE_KEY"],
)
completion = client.chat.completions.create(
model="gemma4-26b",
messages=[{"role": "user", "content": "Say hello in one sentence."}],
)
print(completion.choices[0].message.content)import OpenAI from "openai";
const client = new OpenAI({
baseURL: "https://inference.sliplane.io/v1",
apiKey: process.env.SLIPLANE_INFERENCE_KEY,
});
const completion = await client.chat.completions.create({
model: "gemma4-26b",
messages: [{ role: "user", content: "Say hello in one sentence." }],
});
console.log(completion.choices[0].message.content);API
| Method | Path | Use |
|---|---|---|
GET | /v1/models | List the models available to your key |
POST | /v1/chat/completions | Chat completions |
POST | /v1/responses | Responses API, without stored state |
POST | /v1/embeddings | Text embeddings |
POST | /v1/audio/transcriptions | Audio transcription |
POST | /v1/systemone | Named decision questions with probabilities |
Chat completions and responses support streaming with "stream": true. Request fields beyond the basics depend on the model.
The full reference, with request schemas and examples, is at inference.sliplane.io and inference.eu.sliplane.io.
Transcribe audio
Send whisper-large-v3 and an audio file as multipart form data. The model is available on the Global and EU endpoints. It is not available to confidential keys.
curl https://inference.sliplane.io/v1/audio/transcriptions \
-H "Authorization: Bearer $SLIPLANE_INFERENCE_KEY" \
-F model=whisper-large-v3 \
-F file=@speech.oggThe response is JSON by default. Transcription costs EUR 0.01 per audio minute, excluding VAT. The full request must not exceed 25 MiB. Streaming is not supported.
Models and pricing
See Models & Pricing for all models, their endpoints, and prices. GET /v1/models returns the models the calling key can use on that endpoint.
How is this guide?