FR ▾
Obtenir une clé API

URL de base de l'API GLM : connectez n'importe quel client OpenAI

L'URL de base de l'API glm pour ce service est https://api.glmapi.cc/v1, l'ID du modèle est uncensored, et l'authentification est une clé Bearer standard. Voici les paramètres exacts pour curl, Python, Node et les interfaces de chat habituelles, ainsi que les erreurs qui causent la plupart des premières requêtes échouées.

Points clés

  • URL de base : https://api.glmapi.cc/v1. Modèle : uncensored. En-tête : Authorization: Bearer <clé>.
  • Deux endpoints : POST /v1/chat/completions et GET /v1/models.
  • La plupart des erreurs de connexion proviennent d’un /v1 manquant, d’un chemin en double ou d’une barre oblique finale collée.
  • C'est un endpoint indépendant, et non l'API officielle du fournisseur derrière GLM ou d'un autre fournisseur.
Terminal relié par un câble lumineux à un serveur, illustrant la connexion d’un client à une nouvelle URL de base de l’API

Les trois valeurs nécessaires

Une question sur l'URL de base de l'API glm vient généralement de quelqu'un qui a un client qui veut une URL, une clé et un nom de modèle, et qui ne sait pas quelles valeurs vont où. Les voici en un seul endroit.

ParamètreValeur
URL de basehttps://api.glmapi.cc/v1
ID du modèleuncensored
En-tête d'authentificationAuthorization: Bearer YOUR_KEY
Endpoint de chatPOST /v1/chat/completions
Liste des modèlesGET /v1/models

Une clarification avant de copier quoi que ce soit. Le nom du domaine fait référence au terme de recherche, et non au modèle. Il s'agit d'une API textuelle compatible OpenAI hébergée pour un modèle à poids ouverts exécuté par un fournisseur indépendant, optimisé pour répondre sans refus de contenu pour une utilisation adulte légale. Ce n'est pas l'API officielle du fournisseur derrière GLM, et ce n'est pas un routeur qui transfère vers d'autres fournisseurs. Si vous avez besoin d'un modèle GLM officiel, utilisez le service de ce fournisseur.

Vous obtenez une clé en vous inscrivant avec Google ou par e-mail et mot de passe. La page clé API propose également une activation en un clic de l'essai de 0,50 $, valable 7 jours sans carte.

Vérifiez la connexion avec curl

Avant de toucher à un SDK ou à une application, confirmez la clé et l'URL avec une requête simple. Si cela fonctionne, chaque problème ultérieur est dans la configuration de votre client et non dans le compte. D'abord, listez les modèles :

curl https://api.glmapi.cc/v1/models \
  -H "Authorization: Bearer YOUR_KEY"

Vous devriez obtenir une liste JSON qui inclut l'id uncensored. Ensuite, envoyez une complétion de chat :

curl https://api.glmapi.cc/v1/chat/completions \
  -H "Authorization: Bearer YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "uncensored",
    "messages": [{"role": "user", "content": "Reply with the word ready."}],
    "max_tokens": 20
  }'

Ajoutez -i pour voir les en-têtes de réponse. Ils incluent X-Request-Id, X-Balance-USD (votre crédit restant), X-RateLimit-Limit-Requests et X-RateLimit-Limit-Concurrency. Conservez l'ID de requête si vous devez un jour demander du support concernant un appel.

Python et Node

Les SDK OpenAI officiels acceptent une URL de base personnalisée. Vous modifiez deux arguments du constructeur et le nom du modèle ; le reste de votre code reste tel quel.

Python

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": "Give me three names for a tavern."}],
)
print(resp.choices[0].message.content)

Node.js

import OpenAI from "openai";

const client = new OpenAI({
  baseURL: "https://api.glmapi.cc/v1",
  apiKey: process.env.GLM_API_KEY,
});

const resp = await client.chat.completions.create({
  model: "uncensored",
  messages: [{ role: "user", content: "Give me three names for a tavern." }],
});
console.log(resp.choices[0].message.content);

La propriété Node est baseURL en majuscules, tandis que l'argument Python est base_url. Les confondre est une erreur classique qui entraîne un retour silencieux à l'hôte par défaut du SDK et une erreur d'authentification du mauvais serveur.

Variables d'environnement au lieu de code

Les SDK OpenAI lisent OPENAI_BASE_URL et OPENAI_API_KEY depuis l'environnement lorsque vous ne les passez pas explicitement. C'est le moyen le moins invasif de rediriger un outil que vous ne pouvez pas modifier, comme un script d'un dépôt ou un framework qui construit le client pour vous.

export OPENAI_BASE_URL="https://api.glmapi.cc/v1"
export OPENAI_API_KEY="YOUR_KEY"
python my_existing_script.py

Vous devez toujours définir le nom du modèle à l'intérieur de l'outil ou de son fichier de configuration sur uncensored, car aucune variable d'environnement ne le contient. Si l'outil a un menu déroulant de modèles qui ne liste que des noms qu'il connaît, recherchez une option de modèle personnalisé ou de texte libre.

Conservez les valeurs en un seul endroit

Une fois la connexion fonctionnelle, évitez de coller l'URL dans cinq fichiers. Placez les trois valeurs en un seul endroit et lisez-les partout ailleurs. Un fichier .env fonctionne pour les petits projets :

GLM_BASE_URL=https://api.glmapi.cc/v1
GLM_API_KEY=YOUR_KEY
GLM_MODEL=uncensored

Chargez-les ensuite une fois au démarrage et créez un client unique que le reste du programme importe. L'avantage se fait sentir dès que vous changez de clés, ajoutez une clé de préproduction avec un solde d'essai, ou comparez cet endpoint avec un autre. Vous modifiez un fichier, pas votre code source.

Conservez des clés séparées pour le développement et la production là où le compte le permet, et faites tourner une clé immédiatement si elle apparaît dans un commit, une capture d'écran ou un journal partagé. Une clé divulguée dépense votre crédit prépayé, et le crédit ne revient pas.

Applications de chat et frameworks

Les interfaces front-end diffèrent dans leur libellé mais demandent les mêmes trois valeurs. Recherchez un type de connexion appelé OpenAI-compatible, custom OpenAI ou similaire, puis remplissez :

  • URL de l'API / URL de base : https://api.glmapi.cc/v1
  • Clé API : la clé issue de votre compte
  • Modèle : uncensored

SillyTavern vous permet d'ajouter un endpoint compatible OpenAI via sa source de complétion de chat personnalisée, et Open WebUI a un type de connexion compatible OpenAI dans ses paramètres. Les frameworks tels que LangChain prennent un base_url sur leur classe de modèle de chat, et LiteLLM peut router un modèle de style OpenAI via une URL de base d'API personnalisée. Les noms de menu changent entre les versions, suivez donc la documentation actuelle de chaque projet pour savoir exactement où se trouve le champ.

Certaines applications demandent s'il faut ajouter /chat/completions pour vous. Beaucoup le font, ce qui signifie que l'URL que vous saisissez doit s'arrêter à /v1. Si une application demande plutôt l'endpoint complet, donnez-lui https://api.glmapi.cc/v1/chat/completions. Le quickstart montre les champs de requête pris en charge plus en détail.

Pourquoi la première requête échoue

Si le test curl passe et que votre application affiche toujours une erreur, la cause est presque toujours l'une des suivantes :

  • Manque de /v1. Utiliser uniquement https://api.glmapi.cc échouera probablement avec une erreur not-found, car les routes vivent sous /v1.
  • Chemin doublé. L'application ajoute /chat/completions et vous l'avez aussi tapé, produisant /chat/completions/chat/completions. Supprimez-le de l'URL de base.
  • Barre oblique finale. Certains clients gèrent mal l'assemblage des chemins. Supprimez un / final si vous voyez un double slash dans l'URL journalisée.
  • Mauvais nom de modèle. Le seul ID de modèle est uncensored. Les noms d'autres services ne correspondront pas.
  • Problèmes de clé. Vérifiez la présence d'un espace parasite ou d'un saut de ligne lors du collage, et que la clé n'est pas envoyée en tant que Bearer deux fois par une application qui ajoute déjà le préfixe.
  • Appel du mauvais hôte. Dans une application navigateur, une URL de base non définie retombe sur l'hôte par défaut du SDK. Enregistrez l'URL de la requête réelle.

Les appels côté navigateur exposent également votre clé à quiconque ouvre les outils de développement. Pour un site public, envoyez des requêtes depuis votre propre serveur et conservez la clé là-bas.

Si rien de tout cela n’explique le problème, revenez en arrière depuis le cas le plus simple. Exécutez la commande curl précédente sur la même machine que l’application défaillante. Si curl réussit, le réseau et la clé sont corrects et l’application construit la requête différemment ; activez alors ses logs de débogage et comparez l’URL, les en-têtes et le corps JSON enregistrés avec la version curl, caractère par caractère. Si curl échoue uniquement sur cette machine, vérifiez les proxys d’entreprise, les règles VPN et les filtres DNS, qui bloquent parfois les noms d’hôte API inconnus. Une requête qui n’atteint jamais le serveur ne retourne aucun X-Request-Id, ce qui permet de distinguer rapidement les deux cas.

Limites et réponses 429

Une clé complète permet 8 requêtes simultanées et 300 requêtes par minute. Une clé d'essai permet 2 et 60. Dépasser l'un ou l'autre fait que l'API retourne HTTP 429 avec le code rate_limited (trop par minute) ou concurrency (trop en même temps). Pendant une surcharge temporaire, vous obtenez également un 429, avec un en-tête Retry-After: 5.

Une requête streaming maintient sa place de concurrence jusqu'à la fin du flux, donc une application qui ouvre un flux et l'abandonne sans fermer la connexion peut se bloquer elle-même. Le corps de requête maximum est de 8 Mo, et la fenêtre de contexte est de 100 000 tokens couvrant le prompt et la complétion ensemble. Pour les tarifs et les recharges, consultez la page de tarification.

Le streaming, les outils et le JSON utilisent la même URL

Il n'y a pas d'adresse séparée pour le streaming ou l'appel de fonctions. Tout va vers /v1/chat/completions, et vous activez les fonctionnalités dans le corps de la requête. Une requête streaming définit "stream": true et retourne des événements envoyés par le serveur ; une requête avec des outils ajoute tools et éventuellement tool_choice ; le mode JSON ajoute response_format avec le type json_object. Les champs d'échantillonnage tels que temperature, top_p, stop, seed et les pénalités sont transmis.

Voici un appel curl en streaming. Le drapeau -N désactive la mise en mémoire tampon de sortie de curl, afin que vous voyiez les morceaux à mesure qu'ils arrivent :

curl -N https://api.glmapi.cc/v1/chat/completions \
  -H "Authorization: Bearer YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model":"uncensored","stream":true,"messages":[{"role":"user","content":"Count to five."}]}'

Si votre proxy ou votre couche d'hébergement met en mémoire tampon les réponses, le streaming ressemblera à une seule grande réponse retardée. Les reverse proxies ont souvent besoin de la mise en mémoire tampon des réponses désactivée pour les événements envoyés par le serveur, vérifiez donc ce paramètre avant de blâmer l'API. Pour une version Python détaillée de chaque fonctionnalité, consultez le quickstart.

Questions et réponses

Quelle est l'URL de base de cette API ?

https://api.glmapi.cc/v1. Les requêtes de chat sont envoyées à /chat/completions sous cette URL, et la liste des modèles est à /models.

Quel nom de modèle dois-je utiliser ?

Utilisez uncensored. C’est le seul ID de modèle, et il fonctionne dans n’importe quel client de style OpenAI qui vous permet de saisir un modèle personnalisé.

S’agit-il de l’API GLM officielle ?

Non. Il s’agit d’un service indépendant compatible OpenAI exécutant un seul modèle à poids ouverts, et ce n’est pas l’API officielle d’aucun fournisseur.

Quel en-tête contient la clé ?

Authorization: Bearer suivi de votre clé. Les SDK OpenAI l’ajoutent automatiquement lorsque vous transmettez la clé.

Faut-il une carte bancaire pour tester la connexion ?

Non. Un essai en un clic de 0,50 $, valable 7 jours, est disponible sur la page de la clé API après la connexion.

Votre clé est à un formulaire de vous

Créez un compte, copiez la clé, modifiez l'URL de base. C'est toute la configuration.

Obtenir une clé APILire la documentation