URL de base et authentification
Notre API est entièrement compatible avec OpenAI, ce qui vous permet d'utiliser n'importe quel SDK standard avec des modifications minimales. L'URL de base pour toutes les requêtes est https://api.openrouterapi.top/v1. L'authentification est gérée via un token Bearer transmis dans l'en-tête Authorization. Vous pouvez générer cette clé instantanément en vous inscrivant avec Google ou une adresse e-mail sur notre tableau de bord. Conservez votre clé en toute sécurité, car elle donne un accès direct à votre crédit prépayé.
Première requête
Testez l'endpoint avec une simple commande curl. Remplacez YOUR_API_KEY par votre clé réelle. L'ID du modèle est défini sur uncensored pour contourner les refus de contenu standards. Cette requête envoie un prompt et attend la réponse complète.
curl https://api.openrouterapi.top/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "Write a blunt product review of a cheap VPN."}]
}'
Si la clé est invalide, vous recevez une erreur 401. Si votre solde prépayé est épuisé, vous recevez une erreur 402. Ces erreurs ne consomment pas votre solde de tokens, mais elles comptent dans votre quota de limite de débit.
Intégration SDK Python
L’utilisation du paquet Python officiel openai est simple. Initialisez le client avec votre URL de base et votre clé. Le SDK gère automatiquement la sérialisation JSON. Cet exemple montre une requête de complétion de chat basique.
from openai import OpenAI
client = OpenAI(base_url="https://api.openrouterapi.top/v1", api_key="YOUR_KEY")
resp = client.chat.completions.create(
model="uncensored",
messages=[{"role": "user", "content": "Summarise this thread without softening it."}],
)
print(resp.choices[0].message.content)
Assurez-vous d'avoir installé la dernière version du SDK. L'objet client gère le pool de connexions, vous pouvez donc le réutiliser pour plusieurs requêtes sans le réinitialiser.
Intégration SDK Node.js
Pour les environnements JavaScript, le SDK Node fonctionne de manière identique. Transmettez l’URL de base personnalisée lors de l’initialisation. Cette approche vous permet d’intégrer la génération sans censure dans des applications web ou des services backend existants sans problème.
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.openrouterapi.top/v1", apiKey: process.env.API_KEY });
const resp = await client.chat.completions.create({
model: "uncensored",
messages: [{ role: "user", content: "Draft a villain monologue for my game." }],
});
console.log(resp.choices[0].message.content);
Le SDK Node.js prend en charge les modèles basés sur les promesses et les motifs async/await. La gestion des erreurs est cohérente avec les autres services compatibles OpenAI.
Réponses en streaming
Activez le streaming en définissant stream: true dans votre requête. L’API renvoie des événements envoyés par le serveur (SSE). Chaque fragment contient du texte partiel. Le dernier fragment inclut les statistiques d’utilisation des tokens pour la facturation.
stream = client.chat.completions.create(
model="uncensored",
messages=[{"role": "user", "content": "Tell the story in second person."}],
stream=True,
)
for chunk in stream:
if chunk.choices and chunk.choices[0].delta.content:
print(chunk.choices[0].delta.content, end="", flush=True)
Le crédit prépayé est débité en fonction des tokens générés réellement dans la sortie finale. Le streaming ne modifie pas le modèle de tarification ; vous payez pour les tokens qui sont transmis avec succès.
Limites de débit et fenêtre de contexte
Chaque clé API est limitée à 300 requêtes par minute et à 8 requêtes simultanées. La taille maximale du corps de la requête est de 8 MB. La fenêtre de contexte prend en charge jusqu’à 100 000 tokens au total (entrée plus sortie). La sortie maximale par requête est de 32 000 tokens, ou 2 048 si max_tokens n’est pas défini. Les erreurs comme 401 ou 402 ne consomment pas de crédit, mais elles comptent dans votre limite de débit. Les refus pour des types de contenu spécifiques sont également gratuits.