Installation et configuration
Pour commencer, assurez-vous d'avoir installé le SDK officiel OpenAI pour votre langage. L'API utilise un schéma d'authentification standard basé sur les en-têtes. Vous devez définir l'en-tête Authorization sur Bearer your-api-key et configurer l'URL de base sur https://api.glmapi.cc/v1. Cette URL fonctionne avec tout client prenant en charge le format OpenAI Chat Completions.
Aucune initialisation de client spéciale n'est requise au-delà de la configuration standard. Le service agit comme un remplacement prêt à l’emploi pour les intégrations OpenAI existantes. Vous pouvez vérifier votre configuration en consultant l'endpoint des modèles disponibles.
Première requête
Envoyez une requête simple de complétion de texte pour tester la connectivité. Utilisez l'identifiant de modèle uncensored pour le modèle de langage principal. L'API accepte des paramètres standards tels que max_tokens et temperature.
Cette requête renvoie une réponse textuelle directe. Si vous rencontrez une erreur 401, vérifiez votre clé API. Une erreur 402 indique un crédit prépayé insuffisant.
curl https://api.glmapi.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."}]
}'
Intégration du SDK Python
Utilisez la bibliothèque Python officielle pour interagir avec l'API. Initialisez le client avec votre URL de base et votre clé API. La syntaxe imite la structure standard du client OpenAI.
Cette approche vous permet de changer de fournisseur sans réécrire la logique métier. Le modèle répond aux formats de prompt standards. Vous pouvez contrôler la longueur et l'aléatoire de la sortie via des paramètres standards.
from openai import OpenAI
client = OpenAI(base_url="https://api.glmapi.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)
Intégration du SDK Node.js
Pour les environnements JavaScript, utilisez le SDK Node.js. Configurez le baseUrl pour pointer vers notre endpoint API. Cela garantit que toutes les requêtes sont acheminées correctement vers nos serveurs.
Le SDK gère automatiquement les nouvelles tentatives et l'analyse des réponses. Vous pouvez passer des paramètres de complétion standards. L'objet de réponse contient le texte généré à l'emplacement attendu.
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.glmapi.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);
Réponses en streaming
Activez le streaming en définissant le paramètre stream sur true. L'API renvoie des chunks via Server-Sent Events (SSE). Chaque chunk contient du texte partiel et des statistiques d'utilisation.
Cette méthode réduit la latence perçue pour les longues réponses. Vous pouvez traiter les tokens à mesure qu'ils arrivent. Le dernier chunk inclut le nombre total de 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)
Limites, erreurs et contexte
La fenêtre de contexte prend en charge 100 000 tokens au total, avec une sortie maximale de 32 000 tokens. Les requêtes dont le corps HTTP dépasse 8 Mo seront rejetées. Vous êtes limité à 300 requêtes par minute et à 8 requêtes simultanées par clé.
L'erreur 401 signifie une clé invalide. L'erreur 402 indique qu'il ne reste plus de crédit prépayé. L'erreur 429 signale une limite de débit. Le crédit n'expire jamais et les erreurs ne consomment pas de tokens. La confidentialité est préservée ; les prompts ne sont pas utilisés pour l'entraînement.
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é |
| ID du modèle | uncensored |
| Endpoints | POST /v1/chat/completions · GET /v1/models |
| Authentification | Authorization: Bearer YOUR_KEY |
| Base URL | https://api.glmapi.cc/v1 |
| Paramètres | temperature, top_p, stop, seed, presence_penalty, frequency_penalty |
| 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) |
| Appel de fonctions | oui — tools, tool_choice ; réponse avec tool_calls, aussi en streaming ; résultats en role: tool |
| Streaming | oui — server-sent events ; le dernier bloc contient l'usage des tokens |
| Mode JSON | response_format: {"type": "json_object"} |
| Concurrence | 8 requêtes simultanées par clé |
| Taille | jusqu'à 8 Mo par requête |
| 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é |
| Recharge | USDT (TRC20) ou USDC (Base), tout montant entier de 20 $ à 500 $ |
| Validité | le crédit payé n'expire jamais, sans abonnement |
| Bonus | +5 % dès 50 $, +10 % dès 100 $, +15 % dès 200 $ |
| 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 |
| Prix | 0,15 $ par million de tokens en entrée · 0,50 $ par million en sortie |
| Contenu | contenu adulte autorisé ; tout contenu sexuel impliquant des mineurs est refusé |
| Connexion | Google ou e-mail et mot de passe |
| 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
S'agit-il de l'API GLM officielle ?
Non, il s'agit d'un service indépendant. Nous exécutons notre propre modèle sans censure et fournissons une interface compatible OpenAI. Il n'est pas affilié aux développeurs originaux de GLM.
Comment payer l'API ?
Nous acceptons les recharges par crypto (USDT sur TRC20, USDC sur Base). Le rechargement minimum est de 20 $. Le crédit prépayé est facturé à l'usage des tokens et n'expire jamais.
Quelle est la taille de la fenêtre de contexte ?
Le modèle prend en charge une fenêtre de contexte de 100 000 tokens. Le nombre maximum de tokens par requête est de 32 000, sauf indication contraire.
Votre clé n'est qu'à un formulaire d'ici
Créez un compte, copiez la clé, modifiez l'URL de base. Voilà tout le paramétrage.