Référence
Exemples d'API
L'API suit les formats officiels d'OpenAI et d'Anthropic. Le code existant n'a besoin que d'un nouveau base_url et d'une nouvelle clé, sans autre modification.
Une seule clé donne accès à tous les modèles. Votre clé est stockée uniquement dans votre navigateur et n'est jamais envoyée à un serveur.
Endpoints
| Méthode | Chemin | Description |
|---|---|---|
| POST | /v1/messages | Anthropic Messages (format natif Claude) |
| POST | /v1/chat/completions | OpenAI Chat Completions |
| POST | /v1/responses | OpenAI Responses (utilisé par Codex) |
| GET | /v1/models | Modèles disponibles pour la clé actuelle |
Authentification : le format OpenAI utilise Authorization: Bearer sk-... ; le format Anthropic utilise x-api-key: sk-.... Les deux en-têtes sont acceptés.
Format OpenAI
Terminal
pip install openaimain.py
from openai import OpenAI
client = OpenAI(
base_url="https://api.tokilabs.xyz/v1",
api_key="sk-votre-cle",
)
resp = client.chat.completions.create(
model="gpt-6.1-sol",
messages=[{"role": "user", "content": "Présente-toi en une phrase"}],
)
print(resp.choices[0].message.content)Terminal
npm install openaiindex.mjs
import OpenAI from "openai";
const client = new OpenAI({
baseURL: "https://api.tokilabs.xyz/v1",
apiKey: "sk-votre-cle",
});
const resp = await client.chat.completions.create({
model: "gpt-6.1-sol",
messages: [{ role: "user", content: "Présente-toi en une phrase" }],
});
console.log(resp.choices[0].message.content);Terminal (macOS / Linux / Git Bash)
curl https://api.tokilabs.xyz/v1/chat/completions \
-H "Authorization: Bearer sk-votre-cle" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-6.1-sol",
"stream": true,
"messages": [{"role": "user", "content": "Présente-toi en une phrase"}]
}'Format Anthropic
Le base_url du SDK Anthropic n'inclut pas
/v1.Terminal
pip install anthropicmain.py
import anthropic
client = anthropic.Anthropic(
base_url="https://api.tokilabs.xyz",
api_key="sk-votre-cle",
)
msg = client.messages.create(
model="claude-sonnet-5-5",
max_tokens=1024,
messages=[{"role": "user", "content": "Présente-toi en une phrase"}],
)
print(msg.content[0].text)Terminal
npm install @anthropic-ai/sdkindex.mjs
import Anthropic from "@anthropic-ai/sdk";
const client = new Anthropic({
baseURL: "https://api.tokilabs.xyz",
apiKey: "sk-votre-cle",
});
const msg = await client.messages.create({
model: "claude-sonnet-5-5",
max_tokens: 1024,
messages: [{ role: "user", content: "Présente-toi en une phrase" }],
});
console.log(msg.content[0].text);Terminal (macOS / Linux / Git Bash)
curl https://api.tokilabs.xyz/v1/messages \
-H "x-api-key: sk-votre-cle" \
-H "anthropic-version: 2023-06-01" \
-H "Content-Type: application/json" \
-d '{
"model": "claude-sonnet-5-5",
"max_tokens": 1024,
"messages": [{"role": "user", "content": "Présente-toi en une phrase"}]
}'Lecture via les variables d'environnement
Les deux SDK officiels lisent automatiquement les variables d'environnement. Une fois OPENAI_BASE_URL (valeur https://api.tokilabs.xyz/v1) et OPENAI_API_KEY définies, inutile d'écrire l'adresse et la clé dans le code :
Python
from openai import OpenAI
client = OpenAI() # Utilise automatiquement OPENAI_BASE_URL et OPENAI_API_KEYLe SDK Anthropic lit la clé dans
ANTHROPIC_API_KEY, alors que Claude Code utilise ANTHROPIC_AUTH_TOKEN. Pour utiliser le SDK Anthropic dans votre code, définissez aussi ANTHROPIC_API_KEY.