SDK Node / TypeScript
Utilisez @anthropic-ai/sdk ou le paquet npm openai avec OneProvider en remplaçant baseURL. TypeScript, streaming par itérateur asynchrone et runtimes edge.
@anthropic-ai/sdk est le client recommandé. Le paquet officiel d’OpenAI fonctionne aussi avec un remplacement de baseURL.
Tous les modèles, leurs capacités et leurs tarifs Index de la documentation pour les agents IA :https://oneprovider.dev/docs/llms.txt Système d’exploitation Avant de commencer : une clé de votre espace client Ouvrez votre espace client : le bot Telegram @oneprovider_robot (« Mon espace ») ou app.oneprovider.dev . Appuyez sur « Créer une clé », donnez-lui un nom (par exemple, ce client) et une limite de dépense, puis copiez la clé. Vous rechargez le solde au même endroit. En savoir plus sur l’espace client et les clés . Installation
bashnpm i @anthropic-ai/sdk
# or
npm i openai
# pnpm / yarn / bun all work too:
# pnpm add @anthropic-ai/sdk
# bun add @anthropic-ai/sdk TypeScript
tsimport Anthropic from "@anthropic-ai/sdk";
const client = new Anthropic({
apiKey: process.env.ONEPROVIDER_KEY!,
baseURL: "https://api.oneprovider.dev",
});
const msg = await client.messages.create({
model: "claude-sonnet-5-5",
max_tokens: 1024,
messages: [{ role: "user", content: "Say hi." }],
});
if (msg.content[0].type === "text") {
console.log(msg.content[0].text);
} Compatible OpenAI
tsimport OpenAI from "openai";
const client = new OpenAI({
apiKey: process.env.ONEPROVIDER_KEY!,
baseURL: "https://api.oneprovider.dev/v1",
});
const resp = await client.chat.completions.create({
model: "claude-sonnet-5-5",
messages: [{ role: "user", content: "Say hi." }],
});
console.log(resp.choices[0].message.content); Streaming via un itérateur asynchrone
tsconst stream = client.messages.stream({
model: "claude-sonnet-5-5",
max_tokens: 1024,
messages: [{ role: "user", content: "stream me a poem" }],
});
for await (const event of stream) {
if (event.type === "content_block_delta" && event.delta.type === "text_delta") {
process.stdout.write(event.delta.text);
}
} Runtimes Edge
Fonctionne d’emblée dans Vercel Edge et Cloudflare Workers. Le SDK utilise le fetch natif disponible dans les deux environnements d’exécution.
// Cloudflare Worker
export default {
async fetch(req: Request, env: Env) {
const client = new Anthropic({ apiKey: env.ONEPROVIDER_KEY, baseURL: "https://api.oneprovider.dev" });
const msg = await client.messages.create({
model: "claude-haiku-5-5",
max_tokens: 256,
messages: [{ role: "user", content: "ping" }],
});
return Response.json(msg);
},
}; N’envoyez jamais la clé au navigateur Même dans un Worker, faites passer les requêtes par votre propre backend si des données d’utilisateurs sont en jeu — la clé OneProvider autorise des dépenses, pas seulement un accès. Quel modèle choisir
Passez l’ID dans model. claude-sonnet-5-5 est le choix par défaut pour la plupart du code, claude-haiku-5-5 pour les appels rapides à gros volume et claude-opus-5-5 pour le raisonnement difficile. Avec le paquet openai, vous pouvez aussi utiliser des ID GPT comme gpt-6.1-terra. Le SDK Anthropic prend baseURL: "https://api.oneprovider.dev", le SDK OpenAI prend baseURL: "https://api.oneprovider.dev/v1". Les ID sont sur la page des modèles .
Erreurs courantes et solutions
404 NotFoundError
SDK Anthropic : baseURL: "https://api.oneprovider.dev" sans /v1. SDK OpenAI : baseURL: "https://api.oneprovider.dev/v1" avec /v1.
401 AuthenticationError
process.env.ONEPROVIDER_KEY n’est pas défini dans ce processus, par exemple parce que le chargement de .env manque. Journalisez sa longueur, jamais sa valeur.
429 RateLimitError
« Insufficient balance » signifie qu’il faut recharger le solde de l’espace client (ne réessayez pas). Tout autre 429 est une limite de débit : patientez en augmentant les délais et respectez Retry-After.
Échec de fetch ou délai dépassé
Désactivez les réglages de VPN ou de proxy ; utilisez stream pour les longues réponses, car une requête sans streaming doit commencer en moins de 6 minutes.
400 à propos de max_tokens
Le SDK Anthropic exige max_tokens dans chaque requête.
FAQ
Fonctionne-t-il dans les runtimes Edge ?
Oui, Vercel Edge et Cloudflare Workers fonctionnent, car le SDK utilise fetch.
Peut-on l’appeler en toute sécurité depuis le navigateur ?
Non. La clé autorise des dépenses ; appelez depuis votre backend.
Puis-je garder les SDK officiels ?
Oui, seuls la clé et baseURL changent, voir migrer depuis Anthropic .
Réponses rapides
Quelle base URL utiliser ?
Claude Code et les SDK Anthropic utilisent https://api.oneprovider.dev. Les SDK OpenAI et les clients compatibles OpenAI utilisent https://api.oneprovider.dev/v1. Une seule clé fonctionne avec les deux ; la liste des modèles est sur la page des modèles , les tarifs sur la page des tarifs .
Comment s’authentifier ?
Envoyez la clé sk-… telle quelle dans x-api-key ou Authorization: Bearer : l’un des deux, jamais les deux. Conservez la clé dans une variable d’environnement, pas dans un fichier qui sera commité. En savoir plus sur l’authentification .
Où obtenir une clé ?
Ouvrez votre espace client dans le bot Telegram @oneprovider_robot ou sur app.oneprovider.dev, rechargez le solde et appuyez sur « Créer une clé ». Chaque clé peut avoir sa propre limite de dépense. Espace client et clés API .
Que signifient 401, 404 et 429 ?
401 : la clé est absente, mal saisie ou envoyée dans le mauvais en-tête ; collez la clé entière, sans guillemets ni espaces. 404 : le plus souvent une base URL incorrecte, par exemple un /v1 manquant ou en double. 429 avec « Insufficient balance » : le solde de l’espace client est à zéro ou la clé a atteint sa limite de dépense, donc rechargez au lieu de réessayer ; tout autre 429 est une limite de débit, donc attendez le délai indiqué par Retry-After. Détails : codes d’erreur et dépannage .
Pourquoi les flux se coupent-ils ou se réinitialisent-ils ?
Les VPN et les proxys VLESS mettent souvent le SSE en mémoire tampon ou perturbent la négociation HTTP/2. OneProvider n’a aucune restriction régionale et ne met pas les flux en mémoire tampon : désactivez le proxy et réessayez.
Où demander de l’aide si cela ne suffit pas ?
Écrivez à @Oneproviderhelpbot sur Telegram ou ouvrez « Support » dans l’espace client web, en indiquant le code de statut HTTP et le message d’erreur exact. Comment fonctionne le support .
Dernière mise à jour: 2026-11-08 Vous avez trouvé un bug ? @Oneproviderhelpbot