Authentification
Envoyez votre clé API dans le Authorization header en tant que jeton Bearer. Vous obtenez cette clé immédiatement après vous être inscrit avec Google ou e-mail sur le Obtenir la clé API page. Si vous en générez une nouvelle, elle remplace l'ancienne instantanément. Les erreurs telles que des clés invalides retournent un 401 statut. Les erreurs telles que les doubles facturations sont corrigées via la page Support.
Point de terminaison Chat Completions
Postez du JSON vers POST /v1/chat/completions pour obtenir des réponses textuelles. C'est le seul point de terminaison pour la génération de texte. Il ne prend pas en charge les embeddings, les images ou l'audio.
Définissez le model field to "uncensored". Le modèle répond sans refus de contenu pour une utilisation adulte légale. Il s'agit d'un modèle à poids ouverts (open-weight) ajusté pour une sortie sans restriction. Ce n'est pas un modèle GPT, Claude ou d'un autre fournisseur.
Point de terminaison Models
Appel GET /v1/models pour lister les modèles disponibles. La réponse inclut le uncensored ID du modèle. Utilisez ceci pour vérifier la connectivité ou déboguer les problèmes de configuration dans votre client.
L'endpoint renvoie des métadonnées au format OpenAI standard. Cela vous aide à confirmer que votre URL de base et l'authentification fonctionnent correctement avant d'envoyer des charges utiles lourdes.
Paramètres & Options
Prend en charge les paramètres standard tels que temperature, top_p, stop, seed, presence_penalty, et frequency_penalty. Définissez max_tokens pour contrôler la longueur de la sortie. La valeur par défaut est de 2 048 tokens si vous omettez ce champ.
La fenêtre de contexte est de 100 000 tokens pour l'invite et la complétion combinées. Les requêtes dépassant 8 Mo peuvent échouer. L'appel de fonctions et le mode JSON sont également pris en charge via des champs standard.
Réponses en streaming
Activez le streaming en définissant stream: true. Vous recevez des Server-Sent Events (SSE) au fur et à mesure de la génération des tokens. Cela réduit la latence perçue pour les applications interactives.
Les statistiques d'utilisation des tokens apparaissent dans le dernier chunk du flux. Cela vous permet de suivre les coûts avec précision en temps réel. Les erreurs lors du streaming retournent toujours les codes d'état HTTP appropriés.
Appel de fonctions et mode JSON
Utiliser response_format avec {"type": "json_object"} pour une sortie JSON stricte. Cela est utile pour analyser des données structurées à partir du LLM. L'appel de fonctions fonctionne avec des définitions d'outils standard.
Définir tool_choice pour contrôler la façon dont le modèle utilise les fonctions. Le modèle prend en charge l'utilisation automatique et forcée des outils. Cela garantit une intégration fiable avec la logique de votre backend.
cURL
curl https://api.mistralaiapikey.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "what is the api limit for this service"}]
}'Python
from openai import OpenAI
client = OpenAI(base_url="https://api.mistralaiapikey.com/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.mistralaiapikey.com/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);Streaming
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)