Retour aux guides

L’API, en détail.

Endpoints, exemples et paramètres à consulter pendant le développement. Conservez votre client compatible OpenAI et connectez-le à Uncensured AI.

POST/v1/chat/completions

Générer une réponse

Envoyez la conversation dans messages et choisissez le modèle avec son ID exact. Ces exemples utilisent GLM 5.3 Flash.

Installez le paquet openai et définissez UNCENSURED_API_KEY comme dans le guide de première requête.

Python
import os
from openai import OpenAI

client = OpenAI(
    base_url="https://uncensuredai.com/v1",
    api_key=os.environ["UNCENSURED_API_KEY"],
)

response = client.chat.completions.create(
    model="glm-5.3-flash-abliterated",
    messages=[{"role": "user", "content": "Scrivi un breve saluto in italiano."}],
    reasoning_effort="low",
    max_tokens=4096,
)

print(response.choices[0].message.content)

Les champs de l’exemple

ChampComment l’utiliser
modelUn ID exact renvoyé par GET /v1/models pour votre clé.
messagesLa liste des messages, chacun avec role et content.
max_tokensLe budget de sortie, qui peut inclure les tokens de raisonnement. L’exemple utilise 4096.
reasoning_effortUn niveau pris en charge par le modèle choisi. GLM Flash utilise low dans cet exemple.
streamDéfinissez-le sur true pour recevoir la réponse par fragments successifs.

La compatibilité OpenAI concerne Chat Completions. Images, outils, limites de contexte et options de raisonnement dépendent du modèle et du client.

Lire la réponse

Le texte généré se trouve dans choices[0].message.content. Consultez finish_reason pour connaître la fin de la génération et usage pour les tokens rapportés.

Python · après la requête
print(response.choices[0].message.content)
print(response.choices[0].finish_reason)
print(response.usage)
POST/v1/chat/completions

Afficher le texte au fil de la réponse

Réutilisez le client de l’exemple Python et activez le streaming. Chaque événement peut ne contenir qu’une partie de la réponse.

Python · streaming
stream = client.chat.completions.create(
    model="glm-5.3-flash-abliterated",
    messages=[{"role": "user", "content": "Ciao!"}],
    reasoning_effort="low",
    max_tokens=4096,
    stream=True,
)

for chunk in stream:
    if chunk.choices:
        text = chunk.choices[0].delta.content
        if text:
            print(text, end="", flush=True)
print()

Certains événements ne contiennent pas de texte. Vérifiez choices et delta.content avant d’afficher un fragment.

GET/v1/models

Trouver les modèles disponibles pour votre clé

Réutilisez le client Python pour lister les ID des modèles. Ce contrôle vérifie la connexion sans générer de réponse.

Python · models
models = client.models.list()
for model in models.data:
    print(model.id)

La liste obtenue avec votre clé indique les modèles disponibles. Le catalogue public des capacités décrit séparément les limites confirmées et les réglages de raisonnement.

Ouvrir le catalogue des capacités
Une requête n’a pas abouti ?Trouver l’erreur et la prochaine étape

Uncensured AI

Loading...