Guide de démarrage pour les utilisateurs de Minicpm
Connectez votre client compatible OpenAI existant à notre API sans censure en moins d'une minute. Remplacez votre URL de base, définissez votre clé et commencez à générer du texte avec le modèle « sans censure ».
URL de base et authentification
Pour utiliser cette API, vous avez besoin d'une clé API et de l'URL de base correcte. Notre service est entièrement compatible avec les bibliothèques clientes OpenAI standard. Vous n'avez pas besoin d'installer de nouvelles dépendances ni d'apprendre un nouveau SDK. Il vous suffit de pointer votre client existant vers notre point de terminaison.
Générez une clé sur la page Obtenir la clé API. Vous pouvez vous connecter avec Google ou utiliser un e-mail et un mot de passe. La clé s'affiche immédiatement. Stockez-la en toute sécurité. Chaque requête doit inclure cette clé dans l'en-tête Authorization.
L'URL de base pour toutes les requêtes est : https://api.minicpm.cc/v1. Cette URL gère les complétions de chat, la liste des modèles et les réponses en streaming. Il n'y a pas de points de terminaison séparés pour les embeddings ou la vision. Il s'agit d'une API textuelle uniquement.
Première requête
Envoyez une requête de complétion de chat standard pour commencer à générer du texte. L'ID du modèle est toujours uncensored. Ce modèle est un grand modèle de langage à poids ouverts, ajusté pour répondre sans refus de contenu pour une utilisation adulte légale. Il ne s'agit pas de GPT, Claude ou de tout autre modèle d'un autre fournisseur.
Définissez le champ model sur uncensored. Fournissez vos messages au format de tableau standard. L'API renvoie une réponse textuelle. Vous pouvez contrôler la longueur de la sortie avec max_tokens. Si vous ne le définissez pas, le max de sortie par défaut est de 2 048 tokens.
Intégration SDK Python
Utilisez la bibliothèque Python officielle OpenAI pour interagir avec l'API. Vous n'avez besoin que de configurer l'URL de base et la clé API. Le reste de la bibliothèque fonctionne comme prévu. Cela inclut le support du streaming, de l'appel de fonctions et du mode JSON.
Installez la bibliothèque avec pip install openai. Initialisez le client avec votre URL de base et votre clé. Envoyez des messages au point de terminaison des complétions de chat. L'objet de réponse contient le texte généré, l'utilisation des tokens et la raison de fin. Vous pouvez accéder directement à ces champs dans votre code Python.
Intégration SDK Node.js
Le SDK Node.js fonctionne de manière identique à la version Python. Installez le package et configurez l'URL de base. Le client gère automatiquement l'authentification et le formatage des requêtes. Cela vous permet d'intégrer l'API dans vos services backend rapidement.
Transmettez l'URL de base et la clé API au constructeur du client OpenAI. Utilisez la méthode chat.completions.create. La structure de la réponse correspond à la norme OpenAI. Vous pouvez gérer les erreurs, vérifier l'utilisation des tokens et traiter le contenu. Cette approche garantit la compatibilité avec les bases de code existantes qui utilisent déjà OpenAI.
Réponses en streaming
Activez le streaming en définissant stream: true dans votre requête. L'API renvoie une séquence d'événements envoyés par le serveur (SSE). Chaque événement contient un fragment de la réponse. Cela vous permet d'afficher le texte à l'utilisateur au fur et à mesure de sa génération.
Le dernier fragment inclut les statistiques d'utilisation des tokens. Cela est utile pour suivre les coûts. Le streaming réduit la latence perçue pour les utilisateurs. Il est recommandé pour les interfaces de chat. Vous pouvez analyser les événements dans le code de votre client pour construire la réponse finale ou afficher les tokens en temps réel.
Limites, erreurs et contexte
Le modèle prend en charge une fenêtre de contexte de 100 000 tokens. Cela inclut à la fois le prompt et la complétion. Le maximum de sortie par requête est de 32 000 tokens. Vous pouvez ajuster le paramètre max_tokens pour le contrôler.
Les limites de débit sont fixées à 300 requêtes par minute par clé. Vous pouvez effectuer 8 requêtes simultanées. Le corps de la requête doit être inférieur à 8 Mo. Si la clé est invalide, vous recevrez une erreur 401. Si vous n'avez pas de crédit, vous recevrez une erreur 402. Si vous dépassez la limite de débit, vous recevrez une erreur 429. Les erreurs et les refus ne consomment pas de crédit.
cURL
curl https://api.minicpm.cc/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."}]
}'Python
from openai import OpenAI
client = OpenAI(base_url="https://api.minicpm.cc/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.minicpm.cc/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)Fonctions et limites
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é |
| Base URL | https://api.minicpm.cc/v1 |
| ID du modèle | uncensored |
| Authentification | Authorization: Bearer YOUR_KEY |
| Endpoints | POST /v1/chat/completions · GET /v1/models |
| Paramètres | temperature, top_p, stop, seed, presence_penalty, frequency_penalty |
| Streaming | oui — server-sent events ; le dernier bloc contient l'usage des tokens |
| Appel de fonctions | oui — tools, tool_choice ; réponse avec tool_calls, aussi en streaming ; résultats en role: tool |
| Mode JSON | response_format: {"type": "json_object"} |
| Fenêtre de contexte | 100 000 tokens (entrée + sortie) |
| Sortie max. | jusqu'au reste de la fenêtre de 100 000 tokens ; max_tokens optionnel (pas de plafond distinct) |
| Concurrence | 8 requêtes simultanées par clé |
| Taille | jusqu'à 8 Mo par requête |
| Limite de débit | 300 requêtes par minute et par clé |
| En-têtes | X-Request-Id, X-Balance-USD, X-RateLimit-Limit-Requests, X-RateLimit-Limit-Concurrency |
| Facturation | crédit prépayé selon l'usage réel ; erreurs et refus gratuits |
| Recharge | USDT (TRC20) ou USDC (Base), tout montant entier de 10 $ à 500 $ |
| Validité | le crédit payé n'expire jamais, sans abonnement |
| Prix | 0,25 $ par million de tokens en entrée · 1,00 $ par million en sortie |
| 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 |
| Bonus | +5 % dès 50 $, +10 % dès 100 $ |
| 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 |
Questions et réponses
Quelle est la taille de la fenêtre de contexte ?
La fenêtre de contexte est de 100 000 tokens, ce qui inclut à la fois le prompt d'entrée et la complétion de sortie. Le maximum de sortie par requête est de 32 000 tokens.
Comment gérer les erreurs ?
Une erreur 401 indique une clé API invalide. Une erreur 402 indique que votre crédit prépayé est épuisé. Une erreur 429 signifie que vous avez dépassé la limite de débit de 300 requêtes par minute. Les erreurs ne consomment pas votre crédit.
Puis-je utiliser le streaming ?
Oui. Définissez <code>stream: true</code> dans votre requête. L'API renvoie des événements envoyés par le serveur (SSE). Le dernier fragment contient les statistiques d'utilisation des tokens.
Votre clé est à un formulaire de vous
Créez un compte, copiez la clé, modifiez l'URL de base. C'est toute la configuration.