Endpoints
Raisonnement
Contrôlez le budget, l'effort et la sortie de raisonnement des modèles à réflexion avec le paramètre reasoning, et lisez les tokens de raisonnement.
Essayer dans le playgroundLes modèles à raisonnement réfléchissent avant de répondre : OpenAI GPT-5 et la série o, Claude avec la réflexion étendue, Gemini 2.5, DeepSeek R1, Qwen et d'autres. api14 accepte un seul paramètre reasoning et le convertit en réglage natif de chaque fournisseur. Les jetons de raisonnement sont facturés comme des jetons de sortie.
Paramètres de requête
| Paramètre | Type | Description |
|---|---|---|
reasoning.effort | string | "minimal", "low", "medium" ou "high". Utilisé par les modèles OpenAI et Grok, et converti en budget de jetons pour les autres. |
reasoning.max_tokens | integer | Un budget de réflexion exact, en jetons. Utilisé par Anthropic, Gemini et Qwen. Utilisez l'un ou l'autre, pas les deux. |
reasoning.exclude | boolean | Le modèle raisonne toujours, mais le texte du raisonnement n'est pas inclus dans la réponse. |
reasoning.enabled | boolean | Active le raisonnement avec les paramètres par défaut. |
include_reasoning | boolean | Ancien interrupteur, équivalent à reasoning: {} ou à reasoning.exclude: false. |
{
"model": "anthropic/claude-sonnet-4.5",
"messages": [{ "role": "user", "content": "How many r's are in 'strawberry'? Think carefully." }],
"reasoning": { "max_tokens": 2000 },
"max_tokens": 4000
}
max_tokens doit être supérieur au budget de raisonnement, car il couvre à la fois la réflexion et la réponse.
import OpenAI from "openai";
const client = new OpenAI({
baseURL: "https://api14.com/api/v1",
apiKey: process.env.API14_API_KEY,
});
const result = await client.chat.completions.create({
"model": "openai/gpt-5-mini",
"messages": [
{
"role": "user",
"content": "Explain vector databases in two sentences."
}
],
"reasoning": {
"effort": "high"
}
});
console.log(result.choices[0].message.content);
Réponse
Le texte du raisonnement est renvoyé dans message.reasoning, séparément de la réponse. Certains modèles renvoient aussi des reasoning_details structurés :
{
"id": "gen-1760000000-think",
"model": "anthropic/claude-sonnet-4.5",
"choices": [
{
"index": 0,
"finish_reason": "stop",
"message": {
"role": "assistant",
"content": "There are 3 r's in \"strawberry\".",
"reasoning": "s-t-r-a-w-b-e-r-r-y: r at position 3, 8 and 9..."
}
}
],
"usage": {
"prompt_tokens": 22,
"completion_tokens": 312,
"total_tokens": 334,
"completion_tokens_details": { "reasoning_tokens": 290 },
"cost": 0.004746
}
}
En streaming, le raisonnement arrive dans des fragments delta.reasoning, avant les fragments delta.content.
Notes
- Les modèles de la série o d'OpenAI et GPT-5 ne renvoient pas le texte de leur raisonnement, mais les
reasoning_tokensvous sont tout de même facturés. - Avec Claude, lors d'un usage d'outils sur plusieurs tours, renvoyez
reasoning_detailssans modification dans le message de l'assistant pour que le modèle puisse poursuivre son raisonnement. - Certains modèles (par exemple
deepseek/deepseek-r1) raisonnent toujours.effortne s'applique pas à eux. - Un effort plus élevé coûte plus cher et prend plus de temps. Surveillez
completion_tokens_details.reasoning_tokens.
Erreurs
Identiques à celles de Chat completions. Un budget trop petit ou trop grand pour un modèle peut renvoyer un 400 du fournisseur. Voir Erreurs.