TypeScript 97.4%
SQL 1%
JavaScript 0.9%
CSS 0.6%
1// Vision retry for reasoning models: cap reasoning so the 200-token budget leaves room for the answer.2import { client, attempt, save, summarizeResponse, tinyPngBase64 } from "./lib";3const png = tinyPngBase64();4const cases: [string, any][] = [["gpt-5.5", { effort: "none" }], ["gpt-5.6-sol", { effort: "none" }], ["gpt-6-astra", { effort: "low" }], ["o4-mini", { effort: "low" }]];5const out: any[] = [];6for (const [model, reasoning] of cases) {7 out.push(await attempt(`vision-retry:${model}:${reasoning.effort}`, async () => {8 const r: any = await client.responses.create({ model, max_output_tokens: 200, reasoning, input: [{ role: "user", content: [9 { type: "input_text", text: "Attached is a tiny 2x2 pixel PNG. Name the colours you see, one short sentence." },10 { type: "input_image", image_url: `data:image/png;base64,${png}`, detail: "high" }] }] } as any);11 return summarizeResponse(r);12 }));13}14save("07b-vision-retry", out);15