SDK Node.js
Les SDK officiels fonctionnent sans modification : tu leur donnes l’adresse de Kloria et ta clé. Les modèles Claude acceptent les deux formats, les modèles GPT le format OpenAI.
npm install openai @anthropic-ai/sdkLes exemples lisent la clé dans KLORIA_API_KEY (voir Démarrage rapide) et utilisent les modules ES ("type": "module" dans package.json, ou des fichiers .mjs).
Requête simple
Section intitulée « Requête simple »import OpenAI from 'openai';
const client = new OpenAI({ baseURL: 'https://api.kloria.dev/v1', apiKey: process.env.KLORIA_API_KEY,});
const response = await client.chat.completions.create({ model: 'claude-sonnet-5', messages: [ { role: 'system', content: 'Tu réponds en français, brièvement.' }, { role: 'user', content: "Explique ce qu'est un webhook." }, ],});
console.log(response.choices[0].message.content);console.log(response.usage);import Anthropic from '@anthropic-ai/sdk';
const client = new Anthropic({ baseURL: 'https://api.kloria.dev', // sans /v1 apiKey: process.env.KLORIA_API_KEY,});
const message = await client.messages.create({ model: 'claude-sonnet-5', max_tokens: 1024, system: 'Tu réponds en français, brièvement.', messages: [{ role: 'user', content: "Explique ce qu'est un webhook." }],});
console.log(message.content[0].text);console.log(message.usage);Streaming
Section intitulée « Streaming »const stream = await client.chat.completions.create({ model: 'gpt-6.1-sol', messages: [{ role: 'user', content: 'Écris un haïku sur Git.' }], stream: true,});
for await (const chunk of stream) { process.stdout.write(chunk.choices[0]?.delta?.content ?? '');}const stream = client.messages.stream({ model: 'claude-sonnet-5', max_tokens: 1024, messages: [{ role: 'user', content: 'Écris un haïku sur Git.' }],});
stream.on('text', (text) => process.stdout.write(text));await stream.finalMessage();Gérer les erreurs
Section intitulée « Gérer les erreurs »import OpenAI from 'openai';
try { await client.chat.completions.create({ model: 'claude-sonnet-5', messages });} catch (err) { if (err instanceof OpenAI.APIError) { // 401 clé invalide · 403 solde ou quota épuisé, modèle non autorisé · 429 trop de requêtes console.error(err.status, err.message); } else { throw err; }}Le détail de chaque code d’erreur est sur la page Référence API.
© 2026 Kloria — bêta privée