From 352ff1c673bec008f64bfa34d17820f55e697a1d Mon Sep 17 00:00:00 2001 From: li Date: Thu, 5 Nov 2026 23:04:59 +0800 Subject: [PATCH] docs(skill): GPT Image 2.6 GIF output gpt-image-2.6-flare and gpt-image-2.6-sunburst take output_format png (default) or gif and have no background. billing.md says how they are charged (a PNG per image by resolution tier, a GIF one price per GIF) and the GIF limits (prompt only: no images, size, resolution or aspect_ratio; size about 300-1024 px and frame count chosen by the model; no frame_count / frame_duration_ms). run.md points there; both bundled copies match their sources. Co-Authored-By: Claude Opus 5.5 --- CHANGELOG.md | 2 ++ references/billing.md | 11 +++++++++++ references/run.md | 2 ++ skills/beatapi-video/references/billing.md | 11 +++++++++++ skills/beatapi-video/references/run.md | 2 ++ test/setup-walkthrough.test.mjs | 3 +++ 6 files changed, 31 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4c241f3..5d85385 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,8 @@ ### Added +- GPT Image 2.6 Flare and Sunburst: `output_format` `png` or `gif`, the GIF limits and how a + GIF is billed (one price per GIF) in `billing.md`, with a pointer from `run.md`. - Token-billed image models (`-token` IDs): how they are charged (reserved estimate, settled tokens), the GPT `quality` setting, and that they run as async tasks only, in `billing.md`, with a pointer from `run.md`. diff --git a/references/billing.md b/references/billing.md index 91c8d6f..545d696 100644 --- a/references/billing.md +++ b/references/billing.md @@ -42,5 +42,16 @@ a call cost. The main Skill is . - Async only: run them like any image task and poll until `succeeded`. There is no synchronous `/v1/images/generations` for them. +## GIF images (GPT Image 2.6) + +- `gpt-image-2.6-flare` and `gpt-image-2.6-sunburst` take `output_format` + `png` (default) or `gif`, and have no `background`. A PNG is billed per + image by resolution tier (1K, 2K or 4K); a GIF is billed one price per GIF, + whatever its size. Prices: . +- A GIF is a short animation made from the prompt alone: send no `images`, + `size`, `resolution` or `aspect_ratio`. The model picks its size (about + 300–1024 px) and frame count; `frame_count` and `frame_duration_ms` are not + fields. + Balance too low (402) or a rejected key (401): . Connecting a host: . diff --git a/references/run.md b/references/run.md index 70f2264..74a38d8 100644 --- a/references/run.md +++ b/references/run.md @@ -49,6 +49,8 @@ Over MCP, pass the same JSON to `capabilities_run`. the user's choice. `-token` image models are async only and billed by tokens: . + GPT Image 2.6 can return a GIF (`output_format` `gif`, prompt only): + . - **Text models** run the same way: `{"reference":"model:","input":{"input":""}}` returns `output_text`; `usage` token counts may include upstream system prompts and are not comparable across models. **Decision model** JEV: diff --git a/skills/beatapi-video/references/billing.md b/skills/beatapi-video/references/billing.md index 91c8d6f..545d696 100644 --- a/skills/beatapi-video/references/billing.md +++ b/skills/beatapi-video/references/billing.md @@ -42,5 +42,16 @@ a call cost. The main Skill is . - Async only: run them like any image task and poll until `succeeded`. There is no synchronous `/v1/images/generations` for them. +## GIF images (GPT Image 2.6) + +- `gpt-image-2.6-flare` and `gpt-image-2.6-sunburst` take `output_format` + `png` (default) or `gif`, and have no `background`. A PNG is billed per + image by resolution tier (1K, 2K or 4K); a GIF is billed one price per GIF, + whatever its size. Prices: . +- A GIF is a short animation made from the prompt alone: send no `images`, + `size`, `resolution` or `aspect_ratio`. The model picks its size (about + 300–1024 px) and frame count; `frame_count` and `frame_duration_ms` are not + fields. + Balance too low (402) or a rejected key (401): . Connecting a host: . diff --git a/skills/beatapi-video/references/run.md b/skills/beatapi-video/references/run.md index 70f2264..74a38d8 100644 --- a/skills/beatapi-video/references/run.md +++ b/skills/beatapi-video/references/run.md @@ -49,6 +49,8 @@ Over MCP, pass the same JSON to `capabilities_run`. the user's choice. `-token` image models are async only and billed by tokens: . + GPT Image 2.6 can return a GIF (`output_format` `gif`, prompt only): + . - **Text models** run the same way: `{"reference":"model:","input":{"input":""}}` returns `output_text`; `usage` token counts may include upstream system prompts and are not comparable across models. **Decision model** JEV: diff --git a/test/setup-walkthrough.test.mjs b/test/setup-walkthrough.test.mjs index a6390f1..c53b42a 100644 --- a/test/setup-walkthrough.test.mjs +++ b/test/setup-walkthrough.test.mjs @@ -125,6 +125,9 @@ test('key handling is explicit about format and secrecy', () => { assert.match(billing, /ends in `-token`/); assert.match(billing, /no synchronous `\/v1\/images\/generations`/); assert.match(page('run'), /`-token` image models are async only/); + assert.match(billing, /billed one price per GIF/); + assert.match(billing, /`output_format`\n `png` \(default\) or `gif`/); + assert.match(page('run'), /GPT Image 2\.6 can return a GIF/); }); test('errors branch on retryable and name the key failures', () => {