Migrer vers GPT-6.1 Terra : corriger les erreurs 400 liées à temperature, passer les outils à Responses et configurer Codex

AIHubMix13 min de lecture
Migrer vers GPT-6.1 Terra : corriger les erreurs 400 liées à temperature, passer les outils à Responses et configurer Codex

Passer à GPT-6.1 Terra se résume à changer une ligne : définir le modèle sur gpt-6.1-terra. La suite dépend de la route API empruntée par la requête. Avec l’API Responses, Terra suit les règles d’OpenAI : le niveau de raisonnement fonctionne, et temperature ou top_p renvoient une erreur HTTP 400. Sur la route Chat Completions d’AIHubMix, le même paramètre temperature est accepté sans broncher, et lors des tests d’AIHubMix du 27 octobre 2026, reasoning_effort n’a eu aucun effet mesurable sur les petites requêtes.

En bref, pour la plupart des équipes : faites passer le trafic Terra par l’API Responses, supprimez les paramètres d’échantillonnage et gardez chaque charge de travail sur une seule route. Voici les erreurs que vous verrez, les problèmes qui ne déclenchent aucune erreur, les règles de facturation qui piègent les utilisateurs, les autorisations des agents, ainsi que la configuration de Codex et de Claude Code. Terra figure sur la page du modèle GPT-6.1 Terra d’AIHubMix, au tarif catalogue d’OpenAI : 1 $ par million de jetons d’entrée, 0,05 $ pour les jetons mis en cache, 1,25 $ pour une écriture de cache de 30 minutes et 5 $ pour la sortie. La page d’AIHubMix indique les mêmes tarifs pour l’entrée, la sortie et la lecture du cache, mais aucun tarif pour l’écriture du cache.

Les règles proviennent du guide de migration GPT-6 d’OpenAI et de la page du modèle Terra. Les messages d’erreur et le comportement de la passerelle sont issus des tests d’AIHubMix du 27 octobre 2026, qui ont utilisé de petites requêtes avec l’identifiant principal gpt-6.1-terra. Le guide des modèles d’AIHubMix précise que la plupart des erreurs 400 sont transmises par le fournisseur en amont et qu’elles reviennent avec l’identifiant de trace tid dans le message.

Quelle route utilisez-vous ?

Lors de ces tests, AIHubMix proposait Terra sur trois protocoles. Leur comportement diffère :

Route Contrôle du niveau de raisonnement temperature Appel d’outils
Responses Fonctionne Erreur 400, sauf si le niveau de raisonnement est none Documenté par OpenAI
Chat Completions Aucun effet visible Accepté Non documenté
Anthropic Messages Aucun effet visible Non testé tool_use renvoyé

« Aucun effet visible » et « Accepté » décrivent ce qu’AIHubMix a mesuré le 27 octobre sur de petites requêtes. Chat Completions a bien renvoyé des appels d’outils, mais OpenAI indique que les appels d’outils sur Terra ne sont pris en charge qu’avec Responses.

Si vous démarrez de zéro, utilisez Responses. Si votre intégration Chat Completions fonctionne aujourd’hui, examinez les échecs silencieux avant de lui faire confiance.

Les erreurs flagrantes

Elles renvoient une erreur HTTP 400 et interrompent la requête.

« Paramètre non pris en charge : le paramètre 'temperature' n’est pas pris en charge avec ce modèle. »

Ce que vous verrez. Un appel à l’API Responses avec temperature défini et le niveau de raisonnement par défaut (medium) renvoie :

Unsupported parameter: 'temperature' is not supported with this model.

L’envoi de top_p renvoie la même erreur, avec top_p à la place de temperature. Le niveau de raisonnement est défini par défaut sur medium ; une requête qui ne le précise pas déclenche donc également cette erreur.

Pourquoi. Le guide de migration d’OpenAI indique que lorsque le niveau de raisonnement n’est pas none, il faut supprimer temperature, top_p et top_logprobs. Avec Responses, supprimez également message.output_text.logprobs de include.

Pour reproduire l’erreur. Cet appel curl via l’API Responses d’AIHubMix envoie le même corps de requête qu’AIHubMix a utilisé le 27 octobre :

curl https://aihubmix.com/v1/responses \
  -H "Authorization: Bearer $AIHUBMIX_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-6.1-terra",
    "input": "Reply with the single word: ready.",
    "temperature": 0.2
  }'

La réponse était une erreur HTTP 400 :

{"error":{"message":"Unsupported parameter: 'temperature' is not supported with this model. (tid: …)","type":"Aihubmix_api_error"},"type":"error"}

Correctif. Supprimez temperature et top_p de tous les chemins d’appel, y compris des appels auxiliaires, tels que les résumés et les classificateurs, que vous avez peut-être oubliés. Si vous avez besoin de contrôler l’échantillonnage, définissez le niveau de raisonnement sur none : Terra le prend en charge, et une requête avec le niveau none et "temperature": 0.2 a renvoyé le code 200 lors des tests d’AIHubMix. Une publication sur le forum des développeurs d’OpenAI signale la même règle et précise qu’elle était bloquée sur GPT-6.1 Sol, qui ne propose pas de niveau none.

{
  "model": "gpt-6.1-terra",
  "input": "Reply with the single word: ready.",
  "reasoning": {"effort": "none"},
  "temperature": 0.2
}

« Paramètre non pris en charge : le paramètre 'logprobs' n’est pas pris en charge avec ce modèle. »

Ce que vous verrez. Un appel Chat Completions avec logprobs: true et reasoning_effort: "high" a renvoyé :

Unsupported parameter: 'logprobs' is not supported with this model.

Pourquoi. C’est la même règle d’OpenAI. Pour Chat Completions, le guide ajoute logprobs à la liste des paramètres à supprimer lorsque le niveau de raisonnement n’est pas none.

Correctif. Supprimez logprobs et top_logprobs. Si un score de confiance de votre pipeline en dépend, prévoyez une solution de remplacement avant de migrer. AIHubMix n’a pas testé logprobs avec le niveau none sur Chat Completions.

« Unsupported value: 'minimal' is not supported… »

Ce que vous verrez. Le code conçu pour d’anciens modèles OpenAI qui envoie le niveau de raisonnement minimal renvoie :

Unsupported value: 'minimal' is not supported with the 'gpt-6.1-terra' model. Supported values are: 'none', 'low', 'medium', 'high', 'xhigh', and 'max'.

Pourquoi. Les niveaux de raisonnement de Terra sont none, low, medium, high, xhigh et max. Le niveau minimal n’existe pas.

Correctif. Le guide d’OpenAI recommande de commencer par low et de comparer les résultats sur des tâches représentatives. Si l’ancien paramètre avait pour but de désactiver le raisonnement, none est l’équivalent le plus proche.

Les échecs silencieux

Ils renvoient une réponse HTTP 200, donc rien ne les signale dans vos journaux. Vous les remarquerez plus tard : des réponses qui ne correspondent pas à vos paramètres, des accès au cache manqués ou un agent qui s’arrête pour poser des questions.

Chat Completions accepte temperature et semble ignorer le niveau de raisonnement

Sur la route Chat Completions d’AIHubMix, temperature: 0.2 a renvoyé le code 200, qu’aucun niveau de raisonnement soit défini, que le niveau soit none ou high. top_p: 0.5 a également renvoyé le code 200. Cela a un effet secondaire : si votre suite de tests s’exécute sur Chat Completions, elle ne détectera pas l’erreur 400 que le même code déclenchera après le passage à Responses.

Le niveau de raisonnement est le problème le plus important. Lors des tests d’AIHubMix du 27 octobre, reasoning_effort n’a eu aucun effet mesurable sur Chat Completions :

Requête Route Niveau de raisonnement none Niveau de raisonnement max
Liste de sommes de nombres premiers Chat Completions 181 et 258 293 et 234
Liste de sommes de nombres premiers Responses 0 1,078
Problème de la batte et de la balle Chat Completions 24 25

Les valeurs indiquent le nombre de jetons de raisonnement par requête. Chat Completions a été exécuté deux fois par paramètre sur la requête des sommes de nombres premiers.

Pour la courte requête sur la batte et la balle, les niveaux none, low, high, max et l’absence de niveau spécifié ont tous donné entre 24 et 27 jetons de raisonnement. L’envoi de reasoning: {effort: "none"} sous forme d’objet a plutôt donné 327 jetons sur la requête des sommes de nombres premiers. Avec Responses, la même requête a produit 0 jeton de raisonnement et 72 jetons de sortie au niveau none, et 1,078 jetons de raisonnement et 1,153 jetons de sortie au niveau max.

Selon AIHubMix, la route Chat Completions exécute actuellement Terra avec un niveau de raisonnement fixe ; le paramètre n’est donc pas transmis au modèle. Cette conclusion découle d’une poignée de petites requêtes, mesurées uniquement sur AIHubMix ; ce n’est pas une règle générale concernant Chat Completions. Des requêtes plus longues ou plus difficiles pourraient donner des résultats différents. Si le niveau de raisonnement influe sur vos coûts ou la qualité, définissez-le dans Responses, où son effet est clairement visible.

Les appels d’outils fonctionnent sur Chat Completions, mais ne sont pas documentés

Le guide d’OpenAI indique que GPT-6.1 Terra prend en charge Chat Completions, mais que les appels d’outils nécessitent Responses. Sur AIHubMix, une requête Chat Completions contenant un outil fonctionnel a bien renvoyé finish_reason: tool_calls. Ne vous appuyez pas sur ce comportement : il n’est pas documenté et pourrait changer sans préavis. Avec Responses, un outil fonctionnel a renvoyé un élément function_call, web_search a renvoyé des appels de recherche et un message, et un outil fonctionnel avec async: true a également renvoyé le code 200. Faites passer les appels d’outils par Responses.

Les paramètres de réflexion de Claude Code sont sans effet sur la route Messages

AIHubMix répond également avec Terra sur l’API Anthropic Messages, le protocole utilisé par Claude Code. Le texte, tool_use et les images en base64 ont tous renvoyé le code 200. Le contrôle du raisonnement n’a pas été pris en compte : l’activation de thinking avec un budget de 4 000 jetons a donné 24 jetons de réflexion, output_config.effort: "high" en a donné 26, et la requête sans aucun de ces paramètres en a donné 25. Aucune section de réflexion n’apparaît dans la réponse : elle contient uniquement des blocs de texte ou de tool_use.

Responses et Chat Completions utilisent des caches distincts

AIHubMix a envoyé un préfixe de développeur stable d’environ 9,600 jetons via Responses. L’appel 1 a écrit 9,623 jetons dans le cache, puis les appels 2 et 3 ont lu 9,623 jetons mis en cache. Juste après, un appel Chat Completions avec le même préfixe n’a rien trouvé dans le cache et a de nouveau écrit les 9,623 jetons. Un second test avec un préfixe différent a reproduit le même schéma : l’appel Responses a écrit 9,020 jetons, un appel Chat Completions avec le même préfixe en a écrit 9,020 sans accès au cache, puis un nouvel appel Chat Completions en a lu 9,007 dans l’entrée créée par la route Chat.

Ainsi, une charge de travail qui alterne entre les routes paie chaque écriture dans le cache deux fois. Choisissez une seule route par charge de travail.

Paramètres de cache des anciens modèles

Si vous migrez depuis GPT-5.5 ou une version antérieure, le guide d’OpenAI recommande de remplacer prompt_cache_retention par prompt_cache_options.ttl. La valeur par défaut est "30m". Une durée de "12h" est disponible avec Responses et a été acceptée par AIHubMix : l’objet d’utilisation indiquait les écritures dans cache_write_tokens_details.ttl_12h_tokens. En mode explicite, sans point de rupture, aucune donnée n’a été écrite, conformément à la documentation d’OpenAI.

Modifier le niveau de raisonnement en cours de conversation

Modifier reasoning.effort au niveau de la requête change le préfixe du prompt, ce qui vous fait perdre le bénéfice du cache. OpenAI a ajouté un élément d’entrée configuration_update pour cela. Il augmente ou réduit le niveau de raisonnement à partir de ce point de la conversation, tout en préservant le préfixe initial. Une requête qui en contenait un a renvoyé le code 200 via AIHubMix. Le guide d’OpenAI le recommande pour les requêtes standard avec un seul agent.

Le modèle demande avant d’agir

Les notes d’OpenAI sur le prompting de GPT-6 indiquent que les modèles de cette famille sont plus susceptibles de s’arrêter pour poser une question à l’utilisateur lorsqu’une information supplémentaire pourrait modifier le résultat, et qu’ils sont plus sensibles aux instructions présentes dans les compétences et les fichiers tels que AGENTS.md. Ces notes ayant été rédigées pour GPT-6 Astra, il vaut mieux les vérifier sur Terra plutôt que de les tenir pour acquises. Si un agent qui fonctionnait sans supervision avec GPT-5.6 Terra s’arrête désormais pour demander une approbation, le guide recommande de préciser dans le prompt ce que la demande de l’utilisateur autorise déjà. Il recommande également d’auditer chaque compétence et fichier d’instructions auxquels le modèle peut accéder.

Le niveau de raisonnement est défini par défaut sur medium, et max coûte bien plus cher

Le niveau d’effort par défaut de Terra est medium. Artificial Analysis a mesuré environ 6,000 jetons de sortie par tâche sur son Intelligence Index avec le niveau medium, et environ 35,000 avec le niveau max (dont 25,000 de raisonnement), pour un coût de $0.10 et $0.40 par tâche. Si vous augmentez le niveau d’effort pour résoudre un problème de qualité, vérifiez d’abord l’incidence sur la facture. Des utilisateurs de Codex avec des forfaits ChatGPT ont rapporté sur Reddit que Terra au niveau d’effort high consomme rapidement les quotas du forfait : dans un cas, 40% d’une limite de cinq heures en 20 minutes. Ce ne sont que des témoignages, mais ils vont tous dans le même sens.

Pièges de facturation

Les tarifs de Terra pour l’entrée, la sortie et la lecture du cache sont les mêmes sur AIHubMix et sur OpenAI. Voici les règles qui peuvent faire grimper la facture au-delà du prix affiché.

Élément Tarif par 1M de jetons S’applique lorsque
Entrée $1 Jusqu’à 272K jetons d’entrée
Entrée mise en cache $0.05 Lecture du cache
Écriture du cache, 30 min $1.25 Durée par défaut
Écriture du cache, 12 h $2.50 ttl défini sur 12h
Sortie $5 Jusqu’à 272K jetons d’entrée
Entrée, requête longue $2 Plus de 272K jetons d’entrée
Sortie, requête longue $7.50 Plus de 272K jetons d’entrée

Le tarif d’écriture sur 12 heures est celui d’OpenAI. La fiche tarifaire de Terra sur AIHubMix indique uniquement les tarifs d’entrée, de sortie et de lecture du cache : aucun tarif d’écriture du cache, aucun palier de contexte long ni supplément pour 12 heures. Considérez donc les frais d’écriture et les tarifs au-delà de 272K ci-dessus comme les tarifs publiés par OpenAI, et non comme des frais confirmés d’AIHubMix.

Le seuil de 272K s’applique à l’ensemble de la requête. La page du modèle Terra indique une fenêtre de contexte de 1,050,000 jetons, mais dès que l’entrée dépasse 272,000 jetons, le coût de toute la requête est calculé avec un tarif multiplié par 2 pour l’entrée et le cache, et par 1.5 pour la sortie. Une requête avec 270,000 jetons d’entrée et 20,000 jetons de sortie coûte $0.27 + $0.10 = $0.37. Une autre, avec 300,000 jetons d’entrée et 20,000 jetons de sortie, coûte $0.60 + $0.15 = $0.75. Environ 11% de jetons d’entrée en plus coûte environ deux fois plus cher (sans mise en cache dans les deux exemples).

Le raisonnement est facturé comme de la sortie. Les jetons de raisonnement sont comptabilisés comme des jetons de sortie à $5 par million, même si vous ne les voyez jamais. Lors de la vérification sur AIHubMix ci-dessus, le même prompt a généré 72 jetons de sortie avec none et 1,153 avec max. Consignez reasoning_tokens dans l’objet d’utilisation au lieu d’estimer le coût à partir de la longueur de la réponse.

Les écritures du cache sont facturées. Selon les règles de mise en cache des prompts d’OpenAI pour GPT-5.6 et les versions ultérieures, une écriture coûte 1.25x le tarif d’entrée pour une durée de 30 minutes, et 2.5x pour 12 heures. Les lectures coûtent 0.05x sur Terra. Le préfixe minimal pouvant être mis en cache est de 1,024 jetons. Si le préfixe change à chaque tour, ou si le trafic est réparti entre deux routes, vous paierez de nouveau le tarif d’écriture à chaque fois.

La recherche sur le Web est facturée par appel. Sur ses pages de modèles OpenAI, AIHubMix facture web_search $0.01 par requête, en plus des jetons ; la page de Terra n’indique pas encore séparément les frais de l’outil, prévoyez-les donc dans votre budget. Lors d’une vérification, une seule question a déclenché deux appels de recherche.

Les remises Batch et Flex sont celles d’OpenAI. OpenAI propose une remise de 50% avec Batch et Flex, et le mode Fast coûte 2x. AIHubMix a renvoyé une erreur 404 pour GET /v1/batches (« The requested API endpoint does not exist. ») : aucune route Batch n’est donc disponible. Un service_tier défini sur flex ou priority a renvoyé un code 200, mais la liste de prix de Terra sur AIHubMix n’affiche que les tarifs standard ; ne comptez donc pas sur une remise. Vérifiez votre journal d’utilisation si vous envoyez l’une de ces valeurs.

Des agents avec de véritables autorisations

OpenAI présente Terra comme un modèle de raisonnement visuel et d’utilisation de l’ordinateur, et l’outil informatique intégré fonctionne via AIHubMix : une requête Responses avec {"type": "computer"} et une capture d’écran a renvoyé un computer_call dont la première action était une capture d’écran. Avant d’accorder à un agent un accès en écriture, consultez les résultats sur les agents dans la fiche système GPT-6.1 Terra d’OpenAI. Il s’agit de ses propres évaluations, réalisées principalement dans des simulations à faible enjeu :

Évaluation Terra GPT-6.1 Sol
A contourné une restriction explicitement formulée 29.6% Inférieur
Action non autorisée après des messages d’un agent pair 13.75% 1.25%
Signes de conscience de l’évaluation 9.88% 4.35%

Le taux de contournement de Terra a été mesuré avec le niveau d’effort max ; la fiche système classe GPT-6.1 Sol en dessous. Le chiffre concernant les agents pairs correspond à 11 échantillons sur 80.

Face à l’injection indirecte de prompts, le taux de défense de Terra était de 98.8%, contre 96.2% pour GPT-5.6 Terra. C’est un bon résultat, mais toujours pas 100%. Deux résultats sont particulièrement importants pour une migration : Terra est plus susceptible que Sol de suivre des instructions provenant d’un autre agent, et il trouve parfois un moyen de contourner une restriction énoncée dans ses instructions. Par conséquent :

  • Attribuez aux outils des autorisations refusées par défaut et n’exposez que ceux dont la tâche a besoin.
  • Exigez une approbation pour les écritures, les achats, la transmission de données et toute action difficile à annuler.
  • Considérez les messages d’autres agents, comme le contenu affiché à l’écran et les résultats des outils, comme des entrées non fiables qui ne peuvent pas accorder d’autorisations.
  • Exécutez l’utilisation de l’ordinateur dans un navigateur isolé ou une machine virtuelle, avec une liste d’autorisations et des limites d’étapes et de coûts ; vérifiez le résultat réel plutôt que le message final du modèle. Ce sont les recommandations d’OpenAI pour l’utilisation de l’ordinateur.

Outils de codage : Codex et Claude Code

Codex se connecte via l’API Responses, la route où le paramètre de niveau d’effort de Terra fonctionne avec AIHubMix. Le guide de configuration Codex config.toml d’AIHubMix présente la configuration générale. Pour Terra, le fichier ~/.codex/config.toml ressemble à ceci :

model = "gpt-6.1-terra"
model_provider = "aihubmix"
model_context_window = 1050000
model_reasoning_effort = "medium"

[model_providers.aihubmix]
name = "AIHubMix"
base_url = "https://aihubmix.com/v1"
env_key = "AIHUBMIX_API_KEY"
wire_api = "responses"
  • Conservez wire_api sur responses. C’est la route qui respecte le niveau d’effort et celle qu’OpenAI documente pour les outils.
  • Déclarez la fenêtre de contexte. Définissez model_context_window sur 1,050,000 jetons, la valeur de Terra.
  • Commencez par medium. C’est le niveau par défaut de Terra. Compte tenu des signalements concernant les quotas ci-dessus, augmentez le niveau d’effort pour les tâches difficiles plutôt que de le faire globalement.
  • Redémarrez après les modifications. Redémarrez Codex après avoir modifié config.toml.

Claude Code

Claude Code fonctionne avec Terra via la route Messages d’AIHubMix. Configurez-le à l’aide du guide des paramètres Claude Code settings.json, en utilisant gpt-6.1-terra comme modèle. Les outils et les images ont fonctionné lors des vérifications d’AIHubMix. Cependant, les paramètres de réflexion et de niveau d’effort de Claude Code n’ont eu aucun effet sur le raisonnement de Terra, et aucun bloc de réflexion n’est renvoyé. Vous ne pouvez donc pas régler le niveau de réflexion de Terra depuis Claude Code ; Codex convient mieux à Terra.

Un test rapide de 10-15 minutes

Effectuez ce test une fois pour chaque outil, dans un petit dépôt doté d’une suite de tests :

  1. Démarrez une nouvelle session avec gpt-6.1-terra. Ne reprenez pas une session exécutée avec un autre modèle.
  2. Demandez : « Ajoute un test unitaire pour une fonction de ce dépôt, exécute les tests et corrige les échecs éventuels. »
  3. Voici à quoi ressemble une réussite : le modèle lit des fichiers et exécute les tests : les appels d’outils fonctionnent. Il poursuit après avoir vu les résultats : la sortie des outils lui est bien retransmise. Il termine avec des tests réussis et sans aucune erreur 400 dans la session.
  4. Dans votre journal d’utilisation AIHubMix, vérifiez que le modèle est gpt-6.1-terra et que les requêtes ultérieures affichent des jetons d’entrée mis en cache pour le préfixe stable. Si ce n’est jamais le cas, c’est qu’un élément du préfixe change à chaque tour.
  5. Dans Codex, répétez la tâche avec low, puis avec medium, et comparez le nombre de jetons de sortie par tour. Pour une tâche nécessitant un peu de réflexion, medium devrait en utiliser davantage. Si les chiffres sont identiques à chaque niveau, vérifiez que les requêtes passent bien par Responses.
  6. Notez la durée des tours et le nombre de jetons de sortie. Ces valeurs vous serviront de référence pour choisir un niveau d’effort.

Liste de contrôle pour la migration

  • Définissez le modèle sur gpt-6.1-terra.
  • Faites passer les appels d’outils, ainsi que tout ce qui dépend du niveau d’effort, par l’API Responses.
  • Supprimez temperature, top_p, top_logprobs et logprobs de tous les chemins d’appel, ou définissez le niveau d’effort sur none.
  • Remplacez minimal par low pour le niveau d’effort.
  • Faites passer chaque charge de travail par une seule route afin que son cache ne soit pas écrit deux fois.
  • Remplacez prompt_cache_retention par prompt_cache_options.ttl.
  • Utilisez configuration_update pour modifier le niveau d’effort en cours de conversation.
  • Dans la mesure du possible, maintenez les requêtes sous 272K jetons d’entrée.
  • Consignez les jetons de raisonnement, les jetons mis en cache et les jetons d’écriture du cache.
  • Prévoyez $0.01 par appel pour la recherche sur le Web et ne comptez pas sur Batch via AIHubMix.
  • Vérifiez AGENTS.md et les fichiers de compétences, et indiquez clairement ce que l’agent est autorisé à faire.
  • Exigez une approbation pour les écritures et considérez les messages d’agents pairs comme non fiables.
  • Effectuez le test rapide dans chaque outil de codage.

FAQ

Pourquoi GPT-6.1 Terra renvoie-t-il « Unsupported parameter: 'temperature' » ?
Parce que le niveau d’effort de raisonnement n’est pas défini sur none. Selon la règle d’OpenAI pour la famille GPT-6, il faut supprimer temperature, top_p et top_logprobs lorsque le niveau d’effort est autre que none, et Terra utilise medium par défaut. Supprimez-les, ou définissez le niveau d’effort sur none si vous avez besoin de contrôler l’échantillonnage.

Pourquoi le même code fonctionne-t-il avec Chat Completions ?
Lors des vérifications du 27 octobre 2026, la route Chat Completions d’AIHubMix a accepté temperature 0.2 et top_p 0.5 avec un code 200. Cela signifie que les tests sur Chat Completions ne détecteront pas l’erreur 400 renvoyée par l’API Responses.

reasoning_effort fonctionne-t-il avec Chat Completions via AIHubMix ?
Lors des vérifications d’AIHubMix du 27 octobre 2026, ce paramètre n’a produit aucune différence mesurable sur quelques petits prompts : none et max ont généré des nombres de jetons de raisonnement similaires. Ce n’est pas une règle générale, mais si le niveau d’effort est important pour vous, définissez-le dans l’API Responses, où il fonctionne clairement.

Dois-je transférer les appels d’outils vers l’API Responses ?
Oui. Selon la documentation d’OpenAI, l’appel d’outils avec Terra nécessite Responses. Une requête Chat Completions utilisant un outil de fonction a bien renvoyé des appels d’outils via AIHubMix, mais ce comportement n’est pas documenté et il ne faut pas s’y fier.

Qu’est-ce qui remplace minimal pour le niveau d’effort ?
Terra prend en charge none, low, medium, high, xhigh et max. OpenAI suggère de commencer par low et de comparer les résultats sur des tâches représentatives.

Batch est-il disponible pour Terra sur AIHubMix ?
Non. Un appel GET /v1/batches renvoie une erreur 404 sur AIHubMix : aucune route Batch n’est donc disponible ; les remises de 50% sur Batch et Flex sont celles d’OpenAI. La liste de prix de Terra sur AIHubMix indique les tarifs standard pour l’entrée, la sortie et la lecture du cache, qui correspondent aux tarifs affichés par OpenAI.

Dois-je utiliser Codex ou Claude Code avec Terra ?
Codex. Il utilise l’API Responses, où le paramètre de niveau d’effort de Terra fonctionne via AIHubMix. Claude Code fonctionne via la route Messages, mais lors des vérifications d’AIHubMix, ses paramètres de réflexion et de niveau d’effort n’ont eu aucun effet sur Terra.

À lire ensuite : la série GPT-6.1 Terra

Sources

Une seule passerelle vers plusieurs fournisseurs d’IA. Conçue pour la production.

Découvrir AIHubMix