OpenAI a annoncé GPT-6 Astra le 3 septembre 2026. L’identifiant API est gpt-6-astra ; les clients API ont pu l’appeler le 4 septembre. La plupart des recherches « comment l’appeler » ne butent pas sur le tarif 10/50 $ ni sur la fenêtre d’1,05 million de tokens. Elles calent plus bas : ChatGPT affiche déjà GPT-6 Pro, mais Python renvoie model_not_found ; ou l’extrait Chat Completions de l’an dernier est collé tel quel et le premier champ tools répond 400. Cet article ne redit pas ce qu’est Astra — cela vit dans le guide sortie, prix et agents. Il va de la clé API au premier output_text imprimé.
Pourquoi la première requête échoue souvent
L’ancien réflexe est de changer la chaîne de modèle le jour du flagship. Le nouveau aligne quatre faits : un projet payant, une clé uniquement dans l’environnement, le bon point de terminaison, un identifiant épinglé plus l’effort. La coupure n’est pas de savoir construire OpenAI(). C’est de cesser de traiter la fenêtre ChatGPT et le projet API comme un seul système.
Cinq chemins d’échec sont indépendants et souvent empilés. Premier : Plus ou Pro peut discuter avec GPT-6 Pro sans qu’Astra soit ouvert sur platform.openai.com. Deuxième : les espaces entreprise désactivent le modèle par défaut ; le SDK ne dit pas « demandez à l’admin », il dit que le modèle est indisponible. Troisième : le palier gratuit ne prend pas Astra — ne déboguez pas le SDK avant la facturation. Quatrième : le texte brut peut rester sur Chat Completions, mais l’appel d’outils appartient à Responses. Cinquième : une clé collée dans le code, un notebook ou un salon produit des 401 soudains après révocation.
La coupure de connaissances est le 30 avril 2026. reasoning.effort accepte low, medium, high, xhigh et max. Il n’accepte pas none ; cette valeur renvoie 400. Les passerelles restent souvent sur low. Utilisez low pour le premier ping. Vous prouvez un chemin, vous ne brûlez pas le raisonnement max sur « hello ».
Les limites de débit suivent le palier d’usage. Les tableaux officiels marquent Free comme non pris en charge ; le palier 1 commence vers 500 RPM et 500 000 TPM et grimpe avec la dépense. Si le premier appel fait 429, vérifiez le palier du projet et le plafond d’organisation avant de réécrire le client. Une clé créée dans le mauvais projet ressemble à un bug réseau et n’en est pas un.
Classer la clé, le point de terminaison et l’identifiant
Coupez les noms entendus en quatre couches pour que « je suis connecté à ChatGPT » cesse de vouloir dire « je peux frapper l’API ».
| Couche | Ce que vous entendez | Ce dont la première requête a besoin |
|---|---|---|
| Porte produit | ChatGPT / API / Azure / Bedrock | Ce tutoriel utilise l’API OpenAI ; les clouds ont leur SDK et leur nom de déploiement |
| Secret | User key / project key | Créer dans un projet payant ; environnement seulement ; jamais le source |
| Point de terminaison | Responses / Chat Completions / Batch | Nouvelles apps : Responses ; texte héritage : Completions ; volume hors ligne : Batch |
| Modèle | GPT-6 / Astra / GPT-6 Pro / Ultra | Envoyer gpt-6-astra ; épingler un snapshot du catalogue en production |
Chemin le plus court vers une clé : ouvrir platform.openai.com, confirmer que l’organisation et le projet ont une facturation et ne sont pas au palier gratuit, créer une clé limitée à ce portable ou ce job CI, et la copier une fois — l’UI ne réaffichera pas la valeur complète. Sous Windows, magasin système ou coffre ; sous macOS et Linux, export. Ne collez pas la clé dans le chat d’un collègue et ne laissez pas Jupyter l’écho dans une cellule sauvegardée.
# macOS / Linux export OPENAI_API_KEY="sk-..." # never commit the key echo 'OPENAI_API_KEY=sk-...' >> .env echo '.env' >> .gitignore
Installez le paquet officiel openai. Un vieux client peut ne pas exposer client.responses du tout. Cet échec ressemble à « Astra est fermé » et n’est qu’un SDK Completions-only.
python3 -m pip install -U "openai>=1.0" python3 -c "import openai; print(openai.__version__)"
Au lancement, le modèle accepte texte et image en entrée et texte en sortie. L’audio et la vidéo en entrée ne sont pas ouverts. Les outils Responses incluent recherche web, recherche de fichiers, génération d’image, interpréteur de code, shell hébergé, apply patch, Skills, computer use, MCP et tool search. L’appel de fonction et la sortie structurée sont pris en charge ; le fine-tuning ne l’est pas. Tout cela repose sur un ping texte qui marche. N’attachez pas le computer use à l’étape un.
Responses contre Chat Completions
La phrase asymétrique : le texte brut peut user des deux portes ; outils, capacités hébergées et appels async exigent Responses. Ne soudez pas un nouvel agent à Completions parce que vous connaissez déjà le tableau messages.
| Capacité | Responses API | Chat Completions | Batch / Flex |
|---|---|---|---|
Texte brut gpt-6-astra | Pris en charge ; défaut des nouvelles apps | Pris en charge ; utile pour un chemin texte hérité | Pris en charge ; 50 % du standard |
| Appels de fonction / sortie structurée | Pris en charge ; porte recommandée | Pas le défaut d’une nouvelle boucle d’outils Astra | Règles batch |
| Outils hébergés (recherche, shell, computer use) | Pris en charge | Pas le chemin principal | Mauvais pour le bureau interactif |
| Flux | Pris en charge | Pris en charge | Pas pour un terminal en direct |
| Première sonde | Recommandé | Seulement si la passerelle ne peut quitter Completions | Ne pas s’en servir pour tester une clé |
Le tarif catalogue reste 10 $ par million de tokens d’entrée et 50 $ par million en sortie ; l’entrée en cache vaut 1 $ et l’écriture de cache 12,50 $. Le contexte fait 1 050 000 tokens, la sortie max 128 000. Au-delà de 272 K d’entrée, toute la requête passe à 2× entrée et cache et 1,5× sortie. Fast double le tarif applicable. Recherche et computer use ajoutent des frais d’outil. Un ping d’une phrase en low doit être assez bon marché pour l’ignorer. Si le premier appel ressemble à une eval long contexte, vous avez écrit un benchmark, pas une sonde.
La boucle d’outils reste le même protocole : le modèle émet une requête structurée ; votre runtime exécute l’effet de bord. Si trois dialectes JSON vivent encore dans des if/else métier, repliez d’abord un ToolCall interne. Voir la comparaison Function Calling. Pour le routage face à Gemini et à la ligne GPT précédente : Gemini 4 contre GPT-5.6.
Python minimal : de la clé à la première requête
Le script ci-dessous fait trois choses : lire l’environnement, épingler gpt-6-astra, dépenser un effort low sur une phrase de confirmation. Le succès n’est pas la qualité de la prose. Le succès est d’imprimer output_text et response.id. Gardez l’id. « Je crois que ça a marché » n’est pas un artefact d’incident.
from openai import OpenAI
client = OpenAI()
response = client.responses.create(
model="gpt-6-astra",
instructions="You are a concise engineering assistant.",
input="Reply with one sentence: Astra API is reachable.",
reasoning={"effort": "low"},
)
print(response.output_text)
print(response.id)
print(getattr(response, "usage", None))
Si une passerelle héritée ne peut émettre qu’un tableau messages, la sonde texte peut user de Chat Completions. Cela prouve la clé et l’identifiant. Cela ne prouve pas que vous pourrez attacher un shell hébergé plus tard.
from openai import OpenAI
client = OpenAI()
completion = client.chat.completions.create(
model="gpt-6-astra",
messages=[
{"role": "system", "content": "You are a concise engineering assistant."},
{"role": "user", "content": "Reply with one sentence: Astra API is reachable."},
],
)
print(completion.choices[0].message.content)
Le flux est une deuxième étape optionnelle, pas la première leçon. Posez un appel non streamé, puis stream=True. Les types d’événements suivent le SDK installé. L’extrait lit l’incrément courant response.output_text.delta. Si le champ diffère, imprimez event.type et alignez la table officielle au lieu de deviner.
from openai import OpenAI
client = OpenAI()
stream = client.responses.create(
model="gpt-6-astra",
input="List three safe checks before a production cutover.",
reasoning={"effort": "low"},
stream=True,
)
for event in stream:
if getattr(event, "type", "") == "response.output_text.delta":
print(event.delta, end="", flush=True)
Ne relancez pas chaque erreur. Les échecs de connexion appartiennent au réseau et au proxy. Les 429 appartiennent à Retry-After et au palier. Les 400 sont souvent un mauvais identifiant, un mauvais effort ou un mauvais schéma — dix mille relances ne les soigneront pas. 401 et 403 renvoient au commutateur de projet et à la portée de la clé. Quand le palier gratuit ou un verrou entreprise est en cause, ne permutez pas les modèles en silence dans le code applicatif. C’est ainsi que la production suit un ancien flagship sans que personne le voie.
from openai import APIConnectionError, APIStatusError, OpenAI, RateLimitError
client = OpenAI()
try:
client.responses.create(
model="gpt-6-astra",
input="ping",
reasoning={"effort": "low"},
)
except APIConnectionError as exc:
print("network", exc)
except RateLimitError as exc:
print("rate_limit", exc)
except APIStatusError as exc:
print(exc.status_code, exc.message)
Comment choisir
| Si vous | choisissez | Pourquoi |
|---|---|---|
| Prouvez une clé et un identifiant pour la première fois | Responses + gpt-6-astra + effort low | Chemin le plus court, facture la plus basse, champs de debug les plus riches |
| Êtes coincé sur une passerelle messages-only | Chat Completions pour la sonde texte seulement | Prouve l’accès ; le travail d’outils neuf va quand même vers Responses |
| Ajoutez fonctions, recherche, shell ou computer use | Responses, pas une soudure Completions | Les outils hébergés sont sur Responses |
| Pouvez retarder des evals hors ligne | Batch / Flex | Demi-tarif ; mauvais pour « j’ai besoin de la première phrase maintenant » |
| Allez éditer un dépôt, lancer des tests ou un navigateur | N’importe quel chemin texte + un Mac isolé | Il manque la frontière d’exécution |
| Faites de la recherche d’exploits | Pas le modèle public pour des preuves d’attaque | Il refusera ; canal examiné |
Stacks recommandés
A — Développeur solo : variable d’environnement locale, SDK officiel, un script Responses. Défaut low. N’ouvrez le flux que lorsque ce chemin est ennuyeusement fiable. Gardez la clé hors de la session ChatGPT. Les complétions quotidiennes peuvent rester sur un modèle moins cher ; Astra sert aux relances déjà en échec et au travail long.
B — Passerelle petite équipe : clés de projet ; le CI reçoit un secret en lecture seule. Épinglez gpt-6-astra et un snapshot dans la config. Ne suivez pas un alias flottant « dernier flagship ». Le chat reste bon marché ; les routes coding et computer-use prennent Astra. Repliez le JSON d’outils avant d’attacher les outils hébergés.
C — Entreprise : un admin active d’abord l’espace ; la rétention zéro est une demande séparée pour les clients éligibles. Alertes budget par projet. Les longs prompts forcent un préfixe de cache et surveillent le surcoût 272 K sur toute la requête. Les sessions en écriture atterrissent sur un Mac distant jetable avec liste blanche de chemins. Livraison et compte : centre d’aide ; coût mensuel : tarifs Mac mini.
Pièges fréquents
- Prendre GPT-6 Pro dans ChatGPT pour une preuve que l’API est ouverte.
- Mettre la clé dans le source, la sortie de notebook ou un salon, puis traiter le modèle de « capricieux ».
- Mettre
effort=maxou fourrer un demi-monorepo dans le premier ping, puis payer raisonnement long et palier 272 K. - Souder une nouvelle boucle d’outils à Chat Completions jusqu’à ce que chaque shell hébergé fasse 400.
- Envoyer
gpt-6,chatgpt-6ou un Ultra de rumeur.
Plan d’action : 7 étapes
- Confirmez que le projet API a une facturation et n’est pas au palier gratuit ; les entreprises demandent à un admin d’activer Astra.
- Créez une clé plateforme, stockez-la seulement dans l’environnement ou un coffre, et ajoutez
.envà.gitignore. - Installez un SDK
openaiactuel et confirmezclient.responses.create. - Envoyez une requête Responses d’une phrase avec
model="gpt-6-astra"etreasoning.effort="low". - Imprimez
output_text,response.idet l’usage ; gardez l’id pour le rapprochement. - Quand le chemin texte est stable, ajoutez flux ou outils ; alignez le JSON sur l’article Function Calling.
- Placez les sessions qui éditent des fichiers, lancent des commandes ou ouvrent un navigateur sur un Mac distant isolé et détruisez l’espace en fin de session.
FAQ
ChatGPT affiche GPT-6 Pro. Pourquoi Python échoue-t-il ?
ChatGPT et l’API sont des factures et des portes séparées. Les espaces entreprise désactivent Astra par défaut. Le palier API gratuit ne prend pas le modèle. Créez une clé dans un projet payant sur platform.openai.com.
Responses ou Chat Completions d’abord ?
Le texte brut marche sur les deux. Les nouvelles apps : Responses. Appels de fonction, outils hébergés, sortie structurée et outils async exigent Responses.
Quel identifiant de modèle ?
Utilisez gpt-6-astra. En production, épinglez un snapshot daté du catalogue. N’inventez pas gpt-6, chatgpt-6 ou Ultra.
reasoning.effort peut-il valoir none ?
Non. Astra accepte low, medium, high, xhigh et max. none renvoie HTTP 400. Premier ping : low.
Mettre la clé dans le code ?
Non. Variable d’environnement ou coffre. Jamais de commit. Révoquez dès une fuite.
Conclusion
La première leçon GPT-6 Astra n’est pas le culte du flagship. C’est d’aligner quatre faits : un projet payant, une clé qui n’entre jamais dans le dépôt, Responses (ou le chemin Completions que vous êtes forcé de garder) et un gpt-6-astra épinglé. La première requête est une phrase en low. Le chemin n’existe qu’après l’impression de output_text. Outils, long contexte et computer use sont la leçon suivante, sur un hôte jetable. Si vous avez besoin d’un Mac distant stable, partez de la page de location et des tarifs ; les comptes vont au centre d’aide.
Pour aller plus loin
- Qu’est-ce que GPT-6 Astra : sortie, prix, agents →
- Function Calling et protocoles JSON →
- Gemini 4 contre GPT-5.6 →
Après le premier succès, les outils sur un Cloud Mac jetable
Un ping texte peut rester local. Hosted shell, apply patch et computer use ne doivent pas partager le bureau quotidien. Les Mac distants isolent l’espace par session.