Changez de client en trois lignes
Ce guide de démarrage rapide vous montre comment intégrer notre API compatible OpenAI sans censure en utilisant le format d'endpoint standard de Mistral. Vous apprendrez à vous authentifier, envoyer des requêtes et gérer les réponses en streaming sans surcharge de configuration.
URL de base et authentification
Pour utiliser l'API, pointez votre client vers https://api.mistralapi.top/v1. L'authentification repose sur un token Bearer inclus dans l'en-tête Authorization. Vous générez cette clé via la page Obtenir la clé API en utilisant soit un compte Google, soit une configuration standard avec adresse e-mail et mot de passe. La clé s'affiche immédiatement après sa création. Conservez ce token en toute sécurité, car il accorde un accès complet à votre crédit prépayé. Contrairement aux fournisseurs standards, nous ne demandons ni numéro de téléphone ni carte bancaire pour activer le crédit d'essai gratuit initial.
Notre service est conçu pour s'intégrer directement dans les configurations clients Mistral ou OpenAI existantes. Mettez simplement à jour la propriété base_url dans votre instance SDK. La structure des endpoints correspond au format standard /v1/chat/completions, garantissant que votre code existant fonctionne sans modification. Nous prenons en charge un seul ID de modèle, uncensored, qui gère toutes les tâches de génération de texte.
Endpoint Chat Completions
L'interaction principale se fait via l'endpoint POST /v1/chat/completions. Vous envoyez un corps JSON contenant votre ID de model, le tableau messages et des paramètres optionnels. L'API renvoie une réponse textuelle ou des données structurées si vous spécifiez le mode JSON. Cet endpoint est le moyen principal d'interagir avec le LLM. Il prend en charge les requêtes synchrones standard et les réponses en streaming. Chaque requête consomme des tokens de votre solde prépayé en fonction du volume d'entrée et de sortie.
Les erreurs sont gérées via les codes de statut HTTP standards. Si votre clé est invalide, vous recevez un 401. Si vous manquez de crédit, vous recevez un 402. Les limites de débit sont appliquées à 300 requêtes par minute et 8 connexions simultanées par clé. Utilisez l'exemple suivant pour vérifier votre connexion et la validité de votre clé.
curl https://api.mistralapi.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."}]
}'
Réponses en streaming (SSE)
Pour une latence plus faible et une meilleure expérience utilisateur, activez le streaming en définissant stream: true dans le corps de votre requête. L'API renvoie un flux Server-Sent Events (SSE). Chaque chunk contient une réponse partielle. Le dernier chunk inclut les statistiques complètes d'utilisation des tokens pour la requête. Cela permet à votre application d'afficher les tokens au fur et à mesure de leur génération, plutôt que d'attendre la complétion complète. Le streaming est idéal pour les interfaces de chat où un retour immédiat est critique.
Lors de l'utilisation du streaming, assurez-vous que votre client analyse correctement le format SSE. Le tableau choices dans chaque chunk contiendra le contenu delta. Vous devez accumuler ces deltas pour construire la réponse complète. L'utilisation des tokens n'est disponible que dans le dernier événement du flux. Utilisez cette méthode pour maintenir l'engagement de vos utilisateurs pendant que le modèle traite des prompts complexes.
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)Python
from openai import OpenAI
client = OpenAI(base_url="https://api.mistralapi.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)Node.js
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.mistralapi.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);Questions et réponses
S'agit-il de l'API officielle Mistral ?
Non. Nous sommes un service indépendant qui imite la structure des endpoints de l'API Mistral. Nous servons notre propre modèle sans censure, et non les modèles propriétaires de Mistral. Utilisez cette API si vous souhaitez une compatibilité client identique mais avec des politiques de contenu et des tarifs différents.
Comment recharger mon crédit ?
Les recharges se font uniquement par cryptomonnaie (USDT sur TRC20 ou USDC sur Base). Le minimum de rechargement est de 10 $, le maximum de 500 $. Vous bénéficiez d'un bonus de 5 % pour les recharges supérieures à 50 $ et d'un bonus de 10 % pour les recharges supérieures à 100 $. Les cartes de crédit et PayPal ne sont pas acceptés.
Quelle est la limite de la fenêtre de contexte ?
Le modèle prend en charge une fenêtre de contexte de 100 000 tokens, combinant prompt et complétion. La sortie maximale par requête est de 32 000 tokens, ou de 2 048 tokens si vous ne spécifiez pas le paramètre <code>max_tokens</code>.
Votre clé est à un formulaire de vous
Créez un compte, copiez la clé, modifiez l'URL de base. C'est toute la configuration.
Caractéristiques techniques
Toutes les limites et fonctions réelles de l'API au même endroit — vérifiez-les avant de recharger.
| Élément | Valeur |
|---|---|
| Format | compatible OpenAI : tout SDK OpenAI fonctionne en changeant la base URL et la clé |
| ID du modèle | uncensored |
| Base URL | https://api.mistralapi.top/v1 |
| Endpoints | POST /v1/chat/completions · GET /v1/models |
| Authentification | Authorization: Bearer YOUR_KEY |
| Appel de fonctions | oui — tools, tool_choice ; réponse avec tool_calls, aussi en streaming ; résultats en role: tool |
| Paramètres | temperature, top_p, stop, seed, presence_penalty, frequency_penalty |
| Streaming | oui — server-sent events ; le dernier bloc contient l'usage des tokens |
| Fenêtre de contexte | 100 000 tokens (entrée + sortie) |
| Mode JSON | response_format: {"type": "json_object"} |
| Sortie max. | jusqu'au reste de la fenêtre de 100 000 tokens ; max_tokens optionnel (pas de plafond distinct) |
| Taille | jusqu'à 8 Mo par requête |
| Concurrence | 8 requêtes simultanées par clé |
| En-têtes | X-Request-Id, X-Balance-USD, X-RateLimit-Limit-Requests, X-RateLimit-Limit-Concurrency |
| Limite de débit | 300 requêtes par minute et par clé |
| Prix | 0,25 $ par million de tokens en entrée · 1,00 $ par million en sortie |
| Validité | le crédit payé n'expire jamais, sans abonnement |
| Bonus | +5 % dès 50 $, +10 % dès 100 $ |
| Facturation | crédit prépayé selon l'usage réel ; erreurs et refus gratuits |
| Essai gratuit | 0,50 $ pendant 7 jours, sans carte · Clé d'essai : 2 requêtes parallèles, 60 par minute ; limites complètes (8 et 300) après la 1re recharge |
| Recharge | USDT (TRC20) ou USDC (Base), tout montant entier de 10 $ à 500 $ |
| Connexion | Google ou e-mail et mot de passe |
| Contenu | contenu adulte autorisé ; tout contenu sexuel impliquant des mineurs est refusé |
| Clés | une clé active par compte ; une nouvelle remplace l'ancienne |
Codes d'erreur
Les erreurs arrivent en JSON avec un type stable ; les requêtes échouées ou refusées ne sont pas facturées.
| Code | Type | Signification |
|---|---|---|
400 | bad_request | JSON invalide, messages vides, mauvais paramètre ou contexte trop long |
401 | missing_key · invalid_key · key_revoked | clé absente, erronée ou remplacée |
402 | no_credit | plus de crédit — rechargez, la reprise est immédiate |
403 | content_blocked | contenu sexuel impliquant des mineurs — refusé, non facturé |
404 | not_found | endpoint inconnu |
413 | request_too_large | corps supérieur à 8 Mo |
429 | rate_limited · concurrency | au-delà de 300/min ou 8 en parallèle — patientez |
503 | upstream_busy | modèle occupé — réessayez dans quelques secondes |