armandmcqueen.dev
← All runs

gpt-5.6-luna

7/11/2026, 8:14:09 PM · 15 tests · run 61842902-5e2e-4cc1-b05b-7a06d2f2d11b

basic-generation

ok

Plain streaming generation with a soft length constraint (~100 words).

  • Produced 99 words (133 output tokens).
Result
{
  "wordCount": 99,
  "outputTokens": 133
}
adc88fd0-3f78-499f-823f-0e95eeefcd6e
Jul 11, 2026, 20:13:43

openai:gpt-5.6-luna

Input
17
Output
133
Reasoning
0
Answer
133
Cost
$0.000815
Mode
streaming
Cost breakdown
Input $0.000017Output $0.000798
Latency
1.8s
TTFT
650ms
Tok/s
73.0
Tok/s (adj)
113.6

usage-cost

ok

Asserts usage tokens populate and cost computes from the ChatReq contract.

  • in=14 out=9 rt=0 cost=$0.000068 (paid).
Result
{
  "inputTokens": 14,
  "outputTokens": 9,
  "reasoningTokens": 0,
  "costUsd": 0.000068,
  "paid": true
}
a843d5d8-8656-4e5e-86f9-0b6d7bd45f2f
Jul 11, 2026, 20:13:44

openai:gpt-5.6-luna

Input
14
Output
9
Reasoning
0
Answer
9
Cost
$0.000068
Mode
streaming
Cost breakdown
Input $0.000014Output $0.000054
Latency
647ms
TTFT
458ms
Tok/s
13.9
Tok/s (adj)
47.6

streaming-structure

ok

Asserts a streaming call captures events that reconstruct into the final text.

  • mode=streaming, 35 stream events, 1 text block(s), 35 chars.
Result
{
  "mode": "streaming",
  "streamEventCount": 35,
  "textBlocks": 1,
  "textLen": 35
}
1b77ecea-341a-443c-a7f9-db7170b55531
Jul 11, 2026, 20:13:44

openai:gpt-5.6-luna

Input
19
Output
33
Reasoning
0
Answer
33
Cost
$0.000217
Mode
streaming
Cost breakdown
Input $0.000019Output $0.000198
Latency
728ms
TTFT
396ms
Tok/s
45.3
Tok/s (adj)
99.3

complete-stream-parity

ok

Same prompt via stream() and complete() both return valid, matching results.

  • stream="Paris" · complete="Paris"
Result
{
  "streamText": "Paris",
  "completeText": "Paris"
}
caad54bc-97cf-4f53-948a-114163726ad9
Jul 11, 2026, 20:13:45

openai:gpt-5.6-luna

Input
20
Output
5
Reasoning
0
Answer
5
Cost
$0.000050
Mode
streaming
Cost breakdown
Input $0.000020Output $0.000030
Latency
722ms
TTFT
555ms
Tok/s
6.9
Tok/s (adj)
29.9
b737f721-3481-4ce2-a322-d437c1cb8b4a
Jul 11, 2026, 20:13:46

openai:gpt-5.6-luna

Input
20
Output
5
Reasoning
0
Answer
5
Cost
$0.000050
Mode
non-streaming
Cost breakdown
Input $0.000020Output $0.000030
Latency
925ms
Tok/s
5.4

reasoning-conformance

ok

Asserts the model's reasoning knob behaves as its reasoning-config declares.

  • Class (from reasoning-config): toggleable.
  • off: out=263 · mid: out=473 (rt=223).
Result
{
  "class": "toggleable",
  "mode": "deterministic",
  "offOutputTokens": 263,
  "midOutputTokens": 473,
  "midReasoningTokens": 223
}
7c2a36ee-3531-4be5-a5aa-f3d0a94855b0
Jul 11, 2026, 20:13:48

openai:gpt-5.6-luna

Input
91
Output
263
Reasoning
0
Answer
263
Cost
$0.0017
Mode
streaming
Cost breakdown
Input $0.000091Output $0.0016
Latency
1.6s
TTFT
413ms
Tok/s
161.8
Tok/s (adj)
217.1
ac001c98-581a-48b6-a79a-b9c1b16c16ed
Jul 11, 2026, 20:13:52

openai:gpt-5.6-luna

Input
91
Output
473
Reasoning
223
Answer
250
Cost
$0.0029
Mode
streaming
Cost breakdown
Input $0.000091Output $0.0028
Latency
4.2s
TTFT
3.6s
Tok/s
112.0
Tok/s (adj)
415.2

single-tool-call

ok

Offers a calculator tool and checks the model calls it for an arithmetic question.

  • Called "multiply" with args {"a":23,"b":17}.
Result
{
  "toolCalled": true,
  "toolName": "multiply",
  "args": {
    "a": 23,
    "b": 17
  },
  "correct": true
}
2f6ed18b-1ad3-47c6-b836-9e3b2124460a
Jul 11, 2026, 20:13:53

openai:gpt-5.6-luna

Input
85
Output
21
Reasoning
0
Answer
21
Cost
$0.000211
Mode
streaming
Cost breakdown
Input $0.000085Output $0.000126
Latency
938ms
Tok/s
22.4

tool-loop

ok

Forces a tool call, feeds the result back, and checks the continuation uses it.

  • step1 (required): multiply({"a":23,"b":17}) → step2: "23 multiplied by 17 is 391."
Result
{
  "toolName": "multiply",
  "args": {
    "a": 23,
    "b": 17
  },
  "product": 391,
  "continuation": "23 multiplied by 17 is 391.",
  "usesResult": true,
  "forced": true
}
c3619adc-42ad-486b-bc5c-c881e198221c
Jul 11, 2026, 20:13:54

openai:gpt-5.6-luna

Input
88
Output
21
Reasoning
0
Answer
21
Cost
$0.000214
Mode
streaming
Cost breakdown
Input $0.000088Output $0.000126
Latency
803ms
Tok/s
26.2
85de942f-4cca-4a75-8a8d-48fd118a0c1a
Jul 11, 2026, 20:13:54

openai:gpt-5.6-luna

Input
124
Output
13
Reasoning
0
Answer
13
Cost
$0.000202
Mode
streaming
Cost breakdown
Input $0.000124Output $0.000078
Latency
789ms
TTFT
513ms
Tok/s
16.5
Tok/s (adj)
47.1

web-search

ok

Enables server-side web search and checks invocation counts, the per-request cost surcharge, and provider-executed output blocks.

  • Skipped: model does not support the catalog's web_search tool version.
Result
{
  "skipped": "no server-side web search support"
}

reasoning-tool-continuity

ok

Reasoning model: continuity token captured on a tool call and replayed so the follow-up succeeds.

  • reasoned=true, openai token —; follow-up → "Original balance: **$1,234** Calculation after 7 years at 5% annual c"
Result
{
  "signatureType": "openai",
  "tokenCaptured": false,
  "reasoned": true,
  "answered": true,
  "continuation": "Original balance: **$1,234**\n\nCalculation after 7 years at 5% annual compound growth:\n\n\\[\n1234(1.05)^7 = \\$1,734.15\n\\]\n\nRounded to the neare"
}
76e87e7e-f852-4296-9ec7-b76ccdb98dcc
Jul 11, 2026, 20:13:57

openai:gpt-5.6-luna

Input
124
Output
33
Reasoning
9
Answer
24
Cost
$0.000322
Mode
streaming
Cost breakdown
Input $0.000124Output $0.000198
Latency
2.6s
Tok/s
12.7
676717d1-6b60-48bf-8c43-2cae0a85796c
Jul 11, 2026, 20:13:58

openai:gpt-5.6-luna

Input
164
Output
102
Reasoning
0
Answer
102
Cost
$0.000776
Mode
streaming
Cost breakdown
Input $0.000164Output $0.000612
Latency
991ms
TTFT
403ms
Tok/s
102.9
Tok/s (adj)
173.4

prompt-cache

ok

Repeat a large prefix; assert cache-read tokens are reported and cost drops.

  • implicit cache; cacheRead per attempt [10173]; hit=yes.
Result
{
  "cacheStyle": "implicit",
  "cacheReadPerAttempt": [
    10173
  ],
  "cacheReadTokens": 10173,
  "cacheHitCost": 0.0012843000000000002
}
d04f1b4e-fa83-4617-9fbd-3de448989db4
Jul 11, 2026, 20:13:59

openai:gpt-5.6-luna

Input
10,176
Output
36
Reasoning
0
Answer
36
Cost
$0.0104
Mode
non-streaming
Cost breakdown
Input $0.0102Output $0.000216
Latency
1.0s
Tok/s
35.0
51ee1d43-62dc-47b8-abe8-4eb53dc5dde1
Jul 11, 2026, 20:14:00

openai:gpt-5.6-luna

Input
10,176
Output
44
Reasoning
0
Answer
44
Cache Read
10,173
Cost
$0.0013
Mode
non-streaming
Cost breakdown
Input $0.000003Output $0.000264Cache read $0.0010
Latency
1.1s
Tok/s
38.8

json-output

ok

Requests a strict JSON object and checks it parses with the required keys.

  • Output parsed as JSON.
  • All required keys present.
  • Output is bare JSON (no leading prose/fence).
Result
{
  "parsed": {
    "name": "Anthropic",
    "founded": 2021,
    "headquarters": "San Francisco, California, United States"
  },
  "validJson": true,
  "missingKeys": [],
  "bareJson": true
}
6d3602ac-1080-4d76-8484-17c0a51777b7
Jul 11, 2026, 20:14:01

openai:gpt-5.6-luna

Input
67
Output
27
Reasoning
0
Answer
27
Cost
$0.000229
Mode
streaming
Cost breakdown
Input $0.000067Output $0.000162
Latency
936ms
TTFT
556ms
Tok/s
28.8
Tok/s (adj)
71.0

summarize-memex

ok

Summarizes an ~11k-token essay to ~500 words (long input, reasoning minimized).

  • Read ~10208 input tokens, wrote 576 words (734 output tokens) in 5487ms.
Result
{
  "wordCount": 576,
  "inputTokens": 10208,
  "outputTokens": 734,
  "latencyMs": 5487
}
4fcb453d-6f16-4373-99b1-2b5c27bd97fe
Jul 11, 2026, 20:14:07

openai:gpt-5.6-luna

Input
10,208
Output
734
Reasoning
0
Answer
734
Cost
$0.0146
Mode
streaming
Cost breakdown
Input $0.0102Output $0.0044
Latency
5.5s
TTFT
555ms
Tok/s
133.8
Tok/s (adj)
148.8

truncation

ok

Tiny maxTokens on a long prompt yields finishReason:"length".

  • finishReason=length, out=100 tokens.
Result
{
  "finishReason": "length",
  "outputTokens": 100
}
d7aed02f-8921-41c5-8192-db434a1bd3a7
Jul 11, 2026, 20:14:08

openai:gpt-5.6-luna

Input
23
Output
100
Reasoning
0
Answer
100
Cost
$0.000623
Mode
streaming
Cost breakdown
Input $0.000023Output $0.000600
Latency
1.7s
TTFT
530ms
Tok/s
58.2
Tok/s (adj)
84.2

streaming-only-rejection

ok

Streaming-only models reject complete(); all others accept it.

  • streamingOnly=false; complete() succeeded.
Result
{
  "streamingOnly": false,
  "completeThrew": false
}

abort

ok

A pre-aborted signal rejects the call (abort is threaded + honored).

  • pre-aborted signal → rejected (AbortError).
Result
{
  "rejected": true,
  "errorName": "AbortError"
}