From 8702ec67277d561ec8afbb24f8985033248abc01 Mon Sep 17 00:00:00 2001 From: li Date: Fri, 6 Nov 2026 13:32:31 +0800 Subject: [PATCH 1/2] docs: rename -token image models to -std; say which ids take official-only options Co-Authored-By: Claude Opus 5.5 --- CHANGELOG.md | 10 +++++--- references/billing.md | 27 ++++++++++++++-------- references/run.md | 2 +- skills/beatapi-video/references/billing.md | 27 ++++++++++++++-------- skills/beatapi-video/references/run.md | 2 +- test/setup-walkthrough.test.mjs | 4 ++-- 6 files changed, 47 insertions(+), 25 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index d922812..8a5face 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,9 +14,13 @@ honoured. The `-beta` rule is stated in `billing.md`. - 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`. +- Token-billed image models renamed from `-token` to `-std` (`gpt-image-2-std`, + `gpt-image-2.5-flare-std`, `gpt-image-2.5-sunburst-std`, `nano-banana-2-std`, + `nano-banana-pro-std`, `nano-banana-2-lite-std`); the old ids are removed, not + aliased. Behaviour and prices are unchanged. `billing.md` states the naming rule + (`-beta` = fixed price per image; official = per token, bare name on GPT Image 2.6, + `-std` on older families) and which ids take `quality` and a custom GIF `size`. + Charging (reserved estimate, settled tokens) and async-only runs are as before. - SEO research recipe for a domain, using the `data:seo.*` capabilities, linked from the index. ### Changed diff --git a/references/billing.md b/references/billing.md index feabc32..d937c96 100644 --- a/references/billing.md +++ b/references/billing.md @@ -27,18 +27,27 @@ a call cost. The main Skill is . - Report cost from the response's `usage` (`price_usd`, sync calls) or the task's `credits_settled`; both are US dollars. -## Token-billed image models +## Token-billed image models (-std) -- An image model whose ID ends in `-token` (`gpt-image-2-token`, - `nano-banana-2-token`, …) is its base model billed by the tokens each image - uses, not a flat price per image. Same request fields as the base model. +- Naming rule: a `-beta` suffix is the lower-cost version at a fixed price per + image; the official version is billed per token. For GPT Image 2.6 that is + the bare name; for older families it carries `-std`. Model IDs are lowercase. +- The `-std` IDs are `gpt-image-2-std`, `gpt-image-2.5-flare-std`, + `gpt-image-2.5-sunburst-std`, `nano-banana-2-std`, `nano-banana-pro-std` and + `nano-banana-2-lite-std`. Each is its base model billed by the tokens each + image uses, not a flat price per image. Same request fields as the base + model; the Nano Banana ones are the same models billed per token. - `credits_reserved` is the estimate held when the task is created; `credits_settled` is the tokens the render actually used, so the two can differ. A failed task is not charged. Rates per 1M tokens and per-image estimates: . -- The GPT ones take an optional `quality` (Inspect lists the levels; default - `medium`) that sets the output tokens and so the price. Their fixed-price - GPT models refuse `quality`; the Nano Banana ones have no `quality`. +- Only the official ids take `quality` (Inspect lists the levels; default + `medium`), which sets the output tokens and so the price: `gpt-image-2-std` + `low`, `medium`, `high`; `gpt-image-2.5-*-std` and the GPT Image 2.6 bare + names `low`, `medium`, `high`, `xhigh`, `max`. The fixed-price siblings + (`gpt-image-2`, `gpt-image-2.5-*`, `gpt-image-2.6-*-beta`) refuse `quality`; + the Nano Banana ones have no `quality`. Transparent background is not + offered on `-std`. - Async only: run them like any image task and poll until `succeeded`. There is no synchronous `/v1/images/generations` for them. @@ -53,11 +62,11 @@ a call cost. The main Skill is . `png` (default) or `gif`, and have no `background` and no `quality`. Prices: . - `gpt-image-2.6-flare` and `gpt-image-2.6-sunburst` are the official version, - billed by tokens like the `-token` models above, at 90% of OpenAI's list + billed by tokens like the `-std` models above, at 90% of OpenAI's list price (list per 1M tokens: text input $5, image input $8, image output $30). They take the optional `quality` (`low`, `medium`, `high`, `xhigh`, `max`; default `medium`), which sets the output tokens and so the price, and - `output_format` `png` or `gif`. Async only, like the `-token` models. + `output_format` `png` or `gif`; only these take a custom GIF `size`. Async only, like the `-std` models. - A GIF is a short animation made from the prompt alone: send no `images`; `n` is 1. - On the `-beta` models the spec is fixed by the model (each side about diff --git a/references/run.md b/references/run.md index 74a38d8..7af91b4 100644 --- a/references/run.md +++ b/references/run.md @@ -47,7 +47,7 @@ Over MCP, pass the same JSON to `capabilities_run`. 45 s) before answering; an image or video task comes back at once. A music video can also stop at `requires_action` or `storyboard_ready`, which needs the user's choice. - `-token` image models are async only and billed by tokens: + `-std` and GPT Image 2.6 bare-name image models are async only, billed by tokens: . GPT Image 2.6 can return a GIF (`output_format` `gif`, prompt only): . diff --git a/skills/beatapi-video/references/billing.md b/skills/beatapi-video/references/billing.md index feabc32..d937c96 100644 --- a/skills/beatapi-video/references/billing.md +++ b/skills/beatapi-video/references/billing.md @@ -27,18 +27,27 @@ a call cost. The main Skill is . - Report cost from the response's `usage` (`price_usd`, sync calls) or the task's `credits_settled`; both are US dollars. -## Token-billed image models +## Token-billed image models (-std) -- An image model whose ID ends in `-token` (`gpt-image-2-token`, - `nano-banana-2-token`, …) is its base model billed by the tokens each image - uses, not a flat price per image. Same request fields as the base model. +- Naming rule: a `-beta` suffix is the lower-cost version at a fixed price per + image; the official version is billed per token. For GPT Image 2.6 that is + the bare name; for older families it carries `-std`. Model IDs are lowercase. +- The `-std` IDs are `gpt-image-2-std`, `gpt-image-2.5-flare-std`, + `gpt-image-2.5-sunburst-std`, `nano-banana-2-std`, `nano-banana-pro-std` and + `nano-banana-2-lite-std`. Each is its base model billed by the tokens each + image uses, not a flat price per image. Same request fields as the base + model; the Nano Banana ones are the same models billed per token. - `credits_reserved` is the estimate held when the task is created; `credits_settled` is the tokens the render actually used, so the two can differ. A failed task is not charged. Rates per 1M tokens and per-image estimates: . -- The GPT ones take an optional `quality` (Inspect lists the levels; default - `medium`) that sets the output tokens and so the price. Their fixed-price - GPT models refuse `quality`; the Nano Banana ones have no `quality`. +- Only the official ids take `quality` (Inspect lists the levels; default + `medium`), which sets the output tokens and so the price: `gpt-image-2-std` + `low`, `medium`, `high`; `gpt-image-2.5-*-std` and the GPT Image 2.6 bare + names `low`, `medium`, `high`, `xhigh`, `max`. The fixed-price siblings + (`gpt-image-2`, `gpt-image-2.5-*`, `gpt-image-2.6-*-beta`) refuse `quality`; + the Nano Banana ones have no `quality`. Transparent background is not + offered on `-std`. - Async only: run them like any image task and poll until `succeeded`. There is no synchronous `/v1/images/generations` for them. @@ -53,11 +62,11 @@ a call cost. The main Skill is . `png` (default) or `gif`, and have no `background` and no `quality`. Prices: . - `gpt-image-2.6-flare` and `gpt-image-2.6-sunburst` are the official version, - billed by tokens like the `-token` models above, at 90% of OpenAI's list + billed by tokens like the `-std` models above, at 90% of OpenAI's list price (list per 1M tokens: text input $5, image input $8, image output $30). They take the optional `quality` (`low`, `medium`, `high`, `xhigh`, `max`; default `medium`), which sets the output tokens and so the price, and - `output_format` `png` or `gif`. Async only, like the `-token` models. + `output_format` `png` or `gif`; only these take a custom GIF `size`. Async only, like the `-std` models. - A GIF is a short animation made from the prompt alone: send no `images`; `n` is 1. - On the `-beta` models the spec is fixed by the model (each side about diff --git a/skills/beatapi-video/references/run.md b/skills/beatapi-video/references/run.md index 74a38d8..7af91b4 100644 --- a/skills/beatapi-video/references/run.md +++ b/skills/beatapi-video/references/run.md @@ -47,7 +47,7 @@ Over MCP, pass the same JSON to `capabilities_run`. 45 s) before answering; an image or video task comes back at once. A music video can also stop at `requires_action` or `storyboard_ready`, which needs the user's choice. - `-token` image models are async only and billed by tokens: + `-std` and GPT Image 2.6 bare-name image models are async only, billed by tokens: . GPT Image 2.6 can return a GIF (`output_format` `gif`, prompt only): . diff --git a/test/setup-walkthrough.test.mjs b/test/setup-walkthrough.test.mjs index c53b42a..7b14317 100644 --- a/test/setup-walkthrough.test.mjs +++ b/test/setup-walkthrough.test.mjs @@ -122,9 +122,9 @@ test('key handling is explicit about format and secrecy', () => { assert.match(billing, /Configure it privately/); assert.match(billing, /GET https:\/\/api\.beatapi\.io\/v1\/usage/); assert.match(billing, /Credits are US dollars everywhere/); - assert.match(billing, /ends in `-token`/); + assert.match(billing, /carries `-std`/); assert.match(billing, /no synchronous `\/v1\/images\/generations`/); - assert.match(page('run'), /`-token` image models are async only/); + assert.match(page('run'), /`-std` and GPT Image 2.6 bare-name 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/); From ee52f82093158fe998c1f58e03098546e5bf7f0b Mon Sep 17 00:00:00 2001 From: li Date: Fri, 6 Nov 2026 13:37:06 +0800 Subject: [PATCH 2/2] docs: state that GPT -std ids accept background auto/opaque/transparent Co-Authored-By: Claude Opus 5.5 --- references/billing.md | 5 +++-- skills/beatapi-video/references/billing.md | 5 +++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/references/billing.md b/references/billing.md index d937c96..78c0a94 100644 --- a/references/billing.md +++ b/references/billing.md @@ -46,8 +46,9 @@ a call cost. The main Skill is . `low`, `medium`, `high`; `gpt-image-2.5-*-std` and the GPT Image 2.6 bare names `low`, `medium`, `high`, `xhigh`, `max`. The fixed-price siblings (`gpt-image-2`, `gpt-image-2.5-*`, `gpt-image-2.6-*-beta`) refuse `quality`; - the Nano Banana ones have no `quality`. Transparent background is not - offered on `-std`. + the Nano Banana ones have no `quality`. +- The GPT `-std` ids accept `background` `auto`, `opaque` or `transparent`, as + their base models do. - Async only: run them like any image task and poll until `succeeded`. There is no synchronous `/v1/images/generations` for them. diff --git a/skills/beatapi-video/references/billing.md b/skills/beatapi-video/references/billing.md index d937c96..78c0a94 100644 --- a/skills/beatapi-video/references/billing.md +++ b/skills/beatapi-video/references/billing.md @@ -46,8 +46,9 @@ a call cost. The main Skill is . `low`, `medium`, `high`; `gpt-image-2.5-*-std` and the GPT Image 2.6 bare names `low`, `medium`, `high`, `xhigh`, `max`. The fixed-price siblings (`gpt-image-2`, `gpt-image-2.5-*`, `gpt-image-2.6-*-beta`) refuse `quality`; - the Nano Banana ones have no `quality`. Transparent background is not - offered on `-std`. + the Nano Banana ones have no `quality`. +- The GPT `-std` ids accept `background` `auto`, `opaque` or `transparent`, as + their base models do. - Async only: run them like any image task and poll until `succeeded`. There is no synchronous `/v1/images/generations` for them.