GPT-5.4 vs GPT-5.6 Luna
いつ、どちらを使うか
コンテキストはどちらも 1050000 トークン、単一応答の最大出力は 128000 トークンなので、決め手は価格とツール機能です。gpt-5.6-luna はすべての料金で下回ります。100万入力トークンあたり $1 対 $2.5、出力 $6 対 $15、キャッシュ読み取り $0.1 対 $1.25 で、繰り返しのシステムプロンプトが作る温かいプレフィックスでは約 12 倍安くなります。computer use や並列ツール呼び出しが必要な場合は gpt-5.4 を選んでください。gpt-5.6-luna はこの 2 つを掲載していません。料金だけで見れば gpt-5.4 に勝ち目はありません。
ベンチマーク
両者が測定された 14 件。
ベンダー公表: Alibaba (Qwen) Anthropic ByteDance DeepSeek Google MiniMax Moonshot OpenAI Tencent Z.ai
料金
| GPT-5.4 | GPT-5.6 Luna | Δ | |
|---|---|---|---|
| 入力 / 1Mトークン | $2.5 | $1 | 2.5× |
| 出力 / 1Mトークン | $15 | $6 | 2.5× |
| キャッシュ読み取り / 1Mトークン | $1.25 | $0.1 | 13× |
| キャッシュ書き込み | 別途料金なし | 別途料金なし | - |
ビルド時のライブカタログの料金です。各モデルのページには現在の料金カードが記載されています。
位置付け — この課金単位におけるすべての64個のチャットモデル全体の1Mトークンあたりの入力料金 (対数スケール)
機能
| GPT-5.4 | GPT-5.6 Luna | |
|---|---|---|
| ツール使用 | あり | あり |
| 思考コントロール | 設定可能 | 設定可能 |
| 構造化出力 | あり | あり |
| プロンプトキャッシング | 暗黙的 (自動) | 暗黙的 (自動) |
| キャッシュ有効期間 | 5-10m, up to 1h | 5-10m, up to 1h |
| 最小キャッシュプレフィックス | 1024 トークン | 1024 トークン |
仕様
| GPT-5.4 | GPT-5.6 Luna | |
|---|---|---|
| 入力モダリティ | テキスト 画像 | テキスト 画像 |
| 出力モダリティ | テキスト | テキスト |
| リリース | 2026-03-05 | 2026-07-09 |
| 知識のカットオフ | 2025-08 | 2026-02 |
| コンテキストウィンドウ | 1.1M | 1.1M |
| 最大出力 | 128K | 128K |
| 思考パラメータ | reasoning.effort | reasoning.effort |
| 指定可能な値 | reasoning.effort
| reasoning.effort
|
| デフォルト | none | medium |
仕様は各ベンダーのドキュメントから転記されています。ベンダーが公開していない行は推測せず、省略しています。 すべての出典: GPT-5.4 · GPT-5.6 Luna
1つのプロンプト、両方のモデル — ゲートウェイ経由で測定
GPT-5.4 パス · 3 sentences
Enabling reasoning makes the model generate and evaluate additional internal steps before producing an answer, which increases the total tokens processed and therefore the cost per request. It also tends to increase latency and can trigger more tool calls, retries, or longer context retention, all of which compound usage-based charges. So even if user traffic stayed flat, the average cost per interaction rose materially once reasoning was turned on.
出力 82 tok レイテンシ 1.9 s
GPT-5.6 Luna パス · 3 sentences
Enabling reasoning causes the model to use substantially more computational steps and generated tokens per request, even when the visible answer is similar. Because our provider charges based largely on token consumption and compute, that increased processing translated into roughly twice the cost. We can control the expense by reserving reasoning for complex tasks, setting token and effort limits, and monitoring cost per successful outcome.
出力 146 tok (+60 思考) レイテンシ 3.1 s
指示追従(ちょうど三文 — 数えられる)、読み手に合わせた調整(CFO 向けの語り口)、そして下のトークン計から見える隠れた思考の課金ギャップ。
GPT-5.4 パス · 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: best = max(best, cur) cur = 1 best = max(best, cur) return best ``` The bug is that the original code was counting *matching transitions* between adjacent elements instead of the *length of the run itself*, so a single element started at `0` instead of `1`, making all run lengths off by one. It also only updated `best` inside the equality case, which means the final run could be lost if the loop ended before a change triggered any correction logic. […]
出力 243 tok レイテンシ 3.0 s
GPT-5.6 Luna パス · 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: best = max(best, cur) cur = 1 return max(best, cur) ``` The bug is that `cur` counts equal *transitions* rather than the number of items in the current run, so a single-element run returns `0` and a run of length `n` returns `n - 1`; additionally, `best` is only updated when a run is interrupted, so a run continuing through the final element is not finalized before returning. Initializing the current run to one item, resetting it to one after a change, and taking a final `max` fixes both issues.
出力 356 tok (+161 思考) レイテンシ 4.7 s
修正が実際に正しいか(実行可能か)、説明の密度、そして範囲の限られたタスクでのトークン効率。
GPT-5.4 パス · 5/5 fields, guidance "withheld pending the Q4 close"
{"company":"Meridian Robotics","quarter":"September quarter","revenue_usd_m":412,"growth_pct":11,"guidance":"withheld pending the Q4 close"}
出力 39 tok レイテンシ 1.3 s
GPT-5.6 Luna パス · 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"}
出力 227 tok (+181 思考) レイテンシ 3.6 s
スキーマ遵守(フィールドをでっち上げない)、ハルシネーション圧(guidance は明示的に保留されている)、そして構造化出力の経路の違い。
GPT-5.4 パス · 126 words, 0 banned, 1 question
Today we’re introducing Prompt Cache, a new API gateway feature that stores prompt results and reuses them across supported model providers. Teams can reduce latency, lower repeated compute costs, and keep application behavior more consistent when identical or near-identical prompts appear in production. Prompt Cache works at the gateway layer, so developers can adopt it without rewriting provider integrations or changing routing logic. Built-in controls let you set cache keys, expiration policies, and privacy rules for sensitive workloads. Need faster responses without duplicating optimization work for each vendor? With shared observability, you can track hit rates, savings, and cache performance in one place. […]
出力 154 tok レイテンシ 2.9 s
GPT-5.6 Luna パス · 120 words, 0 banned, 1 question
Introducing PromptCache, an API gateway feature that caches prompts across providers, helping teams reduce latency, control spend, and deliver consistent results. How much faster could your applications respond when repeated prompts are served from a shared cache instead of being sent upstream? PromptCache supports provider-aware routing, configurable time-to-live policies, encrypted storage, cache invalidation, and usage analytics through one operational layer. It works with language-model providers while preserving your authentication, observability, and fallback workflows. Developers can enable caching by endpoint, model, tenant, or prompt pattern, then monitor hit rates and savings in real time. Built for production workloads, PromptCache gives platform teams controls for performance and cost without requiring application rewrites. […]
出力 948 tok (+778 思考) レイテンシ 8.0 s
制約の遵守(語数の上限、禁止語リスト、唯一の疑問文)、文体の指紋、そして長さの制御。
1行で切り替え
以下のすべてのタブには両方のIDが含まれています — 変更箇所はハイライトされた2行のみです。エンドポイント、キー、リクエスト形式はすべて同じです。
from openai import OpenAI
client = OpenAI(
base_url="https://synthorai.io/v1",
api_key="sk-syn-...",
)
resp = client.chat.completions.create(
model="gpt-5.4",
# model="gpt-5.6-luna", # この行をアンコメントし、上の行をコメントアウトします
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.4",
// model: "gpt-5.6-luna", // この行をアンコメントし、上の行をコメントアウトします
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.4",
# "model": "gpt-5.6-luna", # この行をアンコメントし、上の行をコメントアウトします
"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.4",
// Model: "gpt-5.6-luna", // この行をアンコメントし、上の行をコメントアウトします
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.4")
// .model("gpt-5.6-luna") // この行をアンコメントし、上の行をコメントアウトします
.addUserMessage("Summarize this diff")
.reasoningEffort(ReasoningEffort.MEDIUM)
.build());
System.out.println(resp.choices().get(0).message().content().orElse(""));FAQ
GPT-5.4 と GPT-5.6 Luna ではどちらが安いですか?
入力 / 1mトークン においては GPT-5.6 Luna の方が安価です($1 対 $2.5、2.5× の差)。他の行では逆になる可能性があります — 上の表には完全な情報が記載されており、実際のコストは組み合わせに依存します。
2つの統合を行わずに GPT-5.4 と GPT-5.6 Luna のA/Bテストを実施できますか?
はい。両方とも1つのAPIキーで同じOpenAI互換エンドポイントを通じて提供されます — モデル文字列を1行変更するだけで切り替えられるため、トラフィックの一部をそれぞれにルーティングし、請求額を直接比較できます。
GPT-5.4 と GPT-5.6 Luna はプロンプトキャッシングをサポートしていますか?
はい — どちらのモデルでもキャッシュ読み込みは入力レートよりも低く請求されるため、ウォームプレフィックスのワークロードは定価が示すよりも低コストになります。キャッシュ読み込みの正確な行は、上の料金表に記載されています。