GPT-5.6 Terra vs GPT-6 Astra
Lequel choisir, et quand
gpt-5.6-terra et gpt-6-astra partagent la même fenêtre de contexte de 1050000, la même sortie maximale de 128000, l'entrée texte et image, et un mode de réflexion désactivable. gpt-5.6-terra est le moins cher, à $2 en entrée, $12 en sortie et $0.2 en entrée en cache, contre $10, $50 et $1 pour gpt-6-astra, soit environ 5 fois moins en entrée et en entrée en cache et environ 4.2 fois moins en sortie. Choisissez gpt-5.6-terra pour maîtriser les coûts, ou gpt-6-astra si vous avez besoin de sa date limite de connaissances, 2026-04, au lieu de 2026-02.
Benchmarks
20 mesurés sur les deux.
Chiffres publiés par les fournisseurs : Alibaba (Qwen) Anthropic ByteDance DeepSeek Google MiniMax Moonshot OpenAI Tencent Z.ai
Tarifs
| GPT-5.6 Terra | GPT-6 Astra | Δ | |
|---|---|---|---|
| Entrée / 1M de tokens | $2 | $10 | 0.2× |
| Sortie / 1M de tokens | $12 | $50 | 0.24× |
| Lecture de cache / 1M de tokens | $0.2 | $1 | 0.2× |
| Écriture de cache | pas de frais distincts | pas de frais distincts | - |
Tarifs relevés dans le catalogue en direct à la génération du site ; la page de chaque modèle affiche la grille tarifaire à jour.
Leur position : prix en entrée pour 1M de tokens, parmi les 79 modèles de chat facturés dans cette unité (échelle logarithmique)
Capacités
| GPT-5.6 Terra | GPT-6 Astra | |
|---|---|---|
| Appel d'outils | oui | oui |
| Contrôle de la réflexion | configurable | configurable |
| Sortie structurée | oui | oui |
| Mise en cache des prompts | implicite (automatique) | implicite (automatique) |
| Durée de vie du cache | 5-10m, up to 1h | 5-10m, up to 1h |
| Préfixe minimal mis en cache | 1024 tokens | 1024 tokens |
Spécifications
| GPT-5.6 Terra | GPT-6 Astra | |
|---|---|---|
| Modalités d'entrée | texte image | texte image |
| Modalités de sortie | texte | texte |
| Date de sortie | 2026-07-09 | 2026-09-03 |
| Coupure des connaissances | 2026-02 | 2026-04 |
| Fenêtre de contexte | 1.1M | 1.1M |
| Sortie maximale | 128K | 128K |
| Paramètre de réflexion | reasoning.effort | reasoning.effort |
| Valeurs acceptées | reasoning.effort
| reasoning.effort
|
| Valeur par défaut | medium | medium |
Les spécifications sont reprises de la documentation de chaque fournisseur ; quand un fournisseur ne publie pas une valeur, la ligne est omise et non déduite. Sources complètes : GPT-5.6 Terra · GPT-6 Astra
Un prompt, deux modèles, mesurés via la passerelle
GPT-5.6 Terra réussi · 3 sentences
Enabling reasoning makes the model generate additional internal analysis tokens and perform more computation before producing the final answer, increasing usage per request. Those extra tokens are billed like other model output or are reflected in higher-priced reasoning-model rates, so even unchanged user traffic can cost substantially more. The bill doubled because average cost per request rose, likely from longer reasoning traces, more complex model routing, or both.
sortie 120 tok (+31 réflexion) latence 2.4 s
GPT-6 Astra réussi · 3 sentences
Enabling reasoning makes the model do more work per request, often generating internal reasoning tokens that are billed even though they do not appear in the final answer. If traffic, model choice, and pricing stayed the same, those extra tokens likely explain why our bill doubled—not longer answers or more users. We should verify the usage breakdown, then reserve higher reasoning levels for tasks where improved results justify the added cost.
sortie 283 tok (+196 réflexion) latence 17.2 s
Le respect de la consigne (exactement trois phrases, ça se compte), l'adaptation au public visé (le registre d'un directeur financier) et l'écart de facturation dû à la réflexion masquée, que révèlent les compteurs de tokens ci-dessous.
GPT-5.6 Terra réussi · 8/8 cases
```python def longest_run(xs): if not xs: return 0 best = 1 cur = 1 for i in range(1, len(xs)): if xs[i] == xs[i - 1]: cur += 1 else: cur = 1 best = max(best, cur) return best ``` The bug is that `cur` and `best` were counting adjacent *matches* rather than the number of items in a run: a run of one item has zero matching adjacent pairs, and a run of length `n` has only `n - 1` such pairs. Initializing both counters to `1` for a nonempty list and resetting `cur` to `1` when the value changes makes them represent actual run lengths. Updating `best` on every iteration also ensures a run that continues through the final element is included.
sortie 196 tok latence 2.6 s
GPT-6 Astra réussi · 8/8 cases
```python def longest_run(xs): if not xs: return 0 best = cur = 1 for i in range(1, len(xs)): if xs[i] == xs[i - 1]: cur += 1 else: cur = 1 best = max(best, cur) return best ``` The original code counts equal adjacent pairs rather than items, so every nonempty run is undercounted by one: a single-element input returns `0`, and a run of three equal items returns `2`. Starting and resetting `cur` to `1` counts the first item of each run, while the empty-input check preserves a result of `0`. Updating `best` after each iteration includes runs ending at the last index without needing a final flush; the original also updated during trailing runs, but undercounted them.
sortie 321 tok (+131 réflexion) latence 13.5 s
La justesse réelle du correctif (il s'exécute), la densité de l'explication et l'économie de tokens sur une tâche bien délimitée.
GPT-5.6 Terra réussi · 5/5 fields, guidance "withheld pending the Q4 close"
{"company":"Meridian Robotics","quarter":"September quarter","revenue_usd_m":412,"growth_pct":null,"guidance":"withheld pending the Q4 close"}
sortie 149 tok (+103 réflexion) latence 2.3 s
GPT-6 Astra réussi · 5/5 fields, guidance "Formal guidance is withheld pending the "
{ "company": "Meridian Robotics", "quarter": "September quarter", "revenue_usd_m": null, "growth_pct": "eleven and change", "guidance": "Formal guidance is withheld pending the Q4 close." }
sortie 329 tok (+267 réflexion) latence 16.9 s
Le respect du schéma (aucun champ inventé), la tentation d'halluciner (le texte indique que la guidance n'est pas communiquée) et les différences entre les mécanismes de sortie structurée.
GPT-5.6 Terra réussi · 120 words, 0 banned, 1 question
Today, our API gateway introduces cross-provider prompt caching, reducing repeated token processing while preserving your existing model routing. Teams can store reusable system prompts, policy blocks, and long context prefixes once, then serve them to supported providers with consistent cache keys and observability. The feature tracks hit rates, latency savings, and estimated cost reductions in the dashboard you already use for requests. Why pay to recompute identical context on every call? Configure cache policies by route, tenant, model, or TTL, and fall back automatically when a provider lacks compatible caching. Built-in controls help protect sensitive data through encryption, regional settings, and explicit expiration. Start with a single endpoint, compare results across providers, and scale prompt reuse without rewriting application logic.
sortie 631 tok (+475 réflexion) latence 6.0 s
GPT-6 Astra réussi · 120 words, 0 banned, 1 question
Introducing Cross Provider Prompt Cache, a new API gateway feature that reuses eligible prompt content across supported AI providers. Why pay to process the same context every time? Configure caching once at the gateway, then route requests between models while keeping shared instructions, reference material, and conversation prefixes ready for reuse. Caching controls let teams set expiration windows, isolate tenants, and exclude sensitive content. Cache analytics show hit rates, estimated savings, and latency trends, helping developers tune performance with confidence. Existing routing policies continue to work, so adoption fits your current architecture. Start with a single application, measure the results, and expand as needed. Available today in the dashboard and API, with documentation and examples to guide your first deployment.
sortie 665 tok (+516 réflexion) latence 19.3 s
Le respect des contraintes (nombre de mots, liste de mots interdits, une seule question), l'empreinte stylistique et la maîtrise de la longueur.
Passez de l'un à l'autre en changeant une seule ligne
Les deux identifiants figurent dans chaque onglet ci-dessous : les deux lignes surlignées sont le seul changement. Même endpoint, même clé, même format de requête.
from openai import OpenAI
client = OpenAI(
base_url="https://synthorai.io/v1",
api_key="sk-syn-...",
)
resp = client.chat.completions.create(
model="gpt-5.6-terra",
# model="gpt-6-astra", # décommentez cette ligne, commentez celle du dessus
messages=[{"role": "user", "content": "Summarize this diff"}],
reasoning_effort="medium",
)
print(resp.choices[0].message.content)import OpenAI from "openai";
const client = new OpenAI({
baseURL: "https://synthorai.io/v1",
apiKey: "sk-syn-...",
});
const resp = await client.chat.completions.create({
model: "gpt-5.6-terra",
// model: "gpt-6-astra", // décommentez cette ligne, commentez celle du dessus
messages: [{ role: "user", content: "Summarize this diff" }],
reasoning_effort: "medium",
});
console.log(resp.choices[0].message.content);curl https://synthorai.io/v1/chat/completions \
-H "Authorization: Bearer sk-syn-..." \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-5.6-terra",
# "model": "gpt-6-astra", # décommentez cette ligne, commentez celle du dessus
"messages": [{"role": "user", "content": "Hello"}],
"reasoning_effort": "medium"
}'package main
import (
"context"
"fmt"
"github.com/openai/openai-go/v3"
"github.com/openai/openai-go/v3/option"
)
func main() {
client := openai.NewClient(
option.WithBaseURL("https://synthorai.io/v1"),
option.WithAPIKey("sk-syn-..."),
)
resp, _ := client.Chat.Completions.New(context.TODO(), openai.ChatCompletionNewParams{
Model: "gpt-5.6-terra",
// Model: "gpt-6-astra", // décommentez cette ligne, commentez celle du dessus
Messages: []openai.ChatCompletionMessageParamUnion{
openai.UserMessage("Summarize this diff"),
},
ReasoningEffort: openai.ReasoningEffortMedium,
})
fmt.Println(resp.Choices[0].Message.Content)
}import com.openai.client.OpenAIClient;
import com.openai.client.okhttp.OpenAIOkHttpClient;
import com.openai.models.chat.completions.*;
import com.openai.models.ReasoningEffort;
OpenAIClient client = OpenAIOkHttpClient.builder()
.baseUrl("https://synthorai.io/v1")
.apiKey("sk-syn-...")
.build();
ChatCompletion resp = client.chat().completions().create(
ChatCompletionCreateParams.builder()
.model("gpt-5.6-terra")
// .model("gpt-6-astra") // décommentez cette ligne, commentez celle du dessus
.addUserMessage("Summarize this diff")
.reasoningEffort(ReasoningEffort.MEDIUM)
.build());
System.out.println(resp.choices().get(0).message().content().orElse(""));FAQ
Lequel est le moins cher, GPT-5.6 Terra ou GPT-6 Astra ?
GPT-5.6 Terra est moins cher sur la ligne « Entrée / 1M de tokens » ($2 contre $10, soit un écart de 5.0×). D'autres lignes peuvent dire l'inverse : le tableau ci-dessus donne la grille tarifaire complète, et le coût réel dépend de la composition de votre trafic.
Puis-je faire un test A/B entre GPT-5.6 Terra et GPT-6 Astra sans deux intégrations ?
Oui. Les deux passent par le même endpoint compatible OpenAI, avec une seule clé API. Pour passer de l'un à l'autre, il suffit de changer l'identifiant du modèle, soit une ligne : vous pouvez donc envoyer une part du trafic à chacun et comparer directement les factures.
GPT-5.6 Terra et GPT-6 Astra prennent-ils en charge la mise en cache des prompts ?
Oui. Les deux facturent les lectures de cache moins cher que leur tarif d'entrée : une charge de travail dont le préfixe est déjà en cache coûte donc moins que ne le laissent penser les tarifs publics. Les lignes de lecture de cache figurent dans le tableau des tarifs ci-dessus.