Unquant

Opening your workspace…

Unquant

Génération de réponses conversationnelles

Génération de réponses conversationnelles compatible avec OpenAI, avec diffusion en continu, prise en charge des images, appels d’outils et contrôle du raisonnement.

POST /v1/chat/completions

curl https://api.unquant.io/v1/chat/completions \
  -H "Authorization: Bearer $UNQUANT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model":"glm-5.3-flash",
       "messages":[{"role":"user","content":"Hello!"}]}'

Champs de la requête

Paramètres principaux
modelchaîne de caractèresObligatoire

glm-5.3-flash ou qwen-3.8-flash-next.

messagestableauObligatoire

Rôles : system, user, assistant et tool. Le contenu est une chaîne de caractères ou un tableau d’éléments de type text et image_url.

streambooléen

Diffusez la réponse en continu sous forme d’événements envoyés par le serveur (SSE).

stream_optionsobjet

{"include_usage": true} ajoute un dernier fragment contenant le décompte des tokens.

Longueur
max_tokensentier

Longueur maximale de la réponse.

max_completion_tokensentier

Équivalent à max_tokens.

Échantillonnage
temperaturenombre

Degré d’aléatoire de l’échantillonnage.

top_pnombre

Échantillonnage par noyau de probabilité.

top_kentier

Échantillonnage parmi les k tokens les plus probables.

min_pnombre

Probabilité relative minimale d’un token.

seedentier

Graine aléatoire permettant un échantillonnage reproductible.

stopchaîne de caractères ou tableau

Séquences d’arrêt.

Répétition
frequency_penaltynombre

Pénalise les tokens en fonction de leur fréquence d’apparition.

presence_penaltynombre

Pénalise les tokens déjà apparus, quelle que soit leur fréquence.

repetition_penaltynombre

Pénalité multiplicative de répétition.

Outils
toolstableau

Fonctions que le modèle peut appeler, au format OpenAI.

tool_choicechaîne de caractères ou objet

auto, none, required ou une fonction désignée par son nom.

parallel_tool_callsbooléen

Autorise plusieurs appels d’outils dans un même tour de conversation.

Sortie
response_formatobjet

Sortie au format JSON.

logprobsbooléen

Renvoie les probabilités logarithmiques des tokens.

top_logprobsentier

Nombre d’alternatives à renvoyer pour chaque token.

nentier

Doit valoir 1 : une seule réponse générée par requête.

Raisonnement
reasoning_effortchaîne de caractères

Pour les deux modèles : none, low ou high ; GLM-5.3-Flash accepte également max.

chat_template_kwargsobjet

Options du gabarit de conversation, comme {"enable_thinking": false}.

Les autres champs sont ignorés.

Réponse

response.choices[0].message.content

Les décomptes de consommation sont renvoyés pour vous permettre de suivre votre utilisation ; ils ne donnent jamais lieu à une facturation.

Diffusion en continu

Avec "stream": true, la réponse arrive sous forme d’événements envoyés par le serveur (SSE), au format de fragments d’OpenAI, et se termine par data: [DONE]. Récupérez le texte dans choices[0].delta.content.

Images

Les deux modèles acceptent les images sous forme d’éléments image_url contenant une URL de données en base64 (data:image/png;base64,..., JPEG ou WebP). Les images fournies par des URL distantes ne sont pas récupérées et entraînent une erreur 400.

{"role": "user", "content": [
  {"type": "text", "text": "Describe this image."},
  {"type": "image_url", "image_url": {"url": "data:image/jpeg;base64,/9j/4AAQ..."}}
]}

Appels d’outils

Fournissez tools comme dans l’API OpenAI. Lorsque le modèle appelle un outil, la réponse contient finish_reason: "tool_calls" et message.tool_calls ; exécutez l’outil, ajoutez un message tool contenant son résultat et le tool_call_id correspondant, puis effectuez un nouvel appel.

Raisonnement

Les deux modèles raisonnent avant de répondre et acceptent le paramètre reasoning_effort : none pour des réponses directes, low pour un raisonnement léger ou high pour les problèmes plus complexes ; GLM-5.3-Flash propose également max et utilise high par défaut. Le raisonnement est renvoyé séparément dans reasoning_content, sans jamais être intégré à content. "thinking": {"type": "disabled"} et "chat_template_kwargs": {"enable_thinking": false} permettent également de le désactiver.

Requêtes simultanées

Votre forfait détermine le nombre de requêtes pouvant s’exécuter simultanément, toutes vos clés confondues. Toute requête dépassant cette limite renvoie immédiatement une erreur 429 et n’est pas mise en attente ; les requêtes en cours ne sont pas affectées.

Guide de développement