{"id":19163,"date":"2026-09-10T09:43:37","date_gmt":"2026-09-10T13:43:37","guid":{"rendered":"https:\/\/wp.glbgpt.com\/?p=19163"},"modified":"2026-09-10T09:43:39","modified_gmt":"2026-09-10T13:43:39","slug":"gpt-image-2-5-api-guide","status":"publish","type":"post","link":"https:\/\/wp.glbgpt.com\/ru\/hub\/gpt-image-2-5-api-guide","title":{"rendered":"GPT Image 2.5 API Guide: Pricing, Setup, and Hands-On Tests"},"content":{"rendered":"<p class=\"wp-block-paragraph\">OpenAI&#8217;s GPT Image 2.5 API is a two-model family, not a single callable model named <code>gpt-image-2.5<\/code>. The current moving aliases are <code>gpt-image-2.5-flare<\/code>, positioned by OpenAI for fast, high-quality everyday generation, and <code>gpt-image-2.5-sunburst<\/code>, positioned for precision-focused image editing. Both were released on September 8, 2026. This guide covers the exact IDs, three API paths, supported parameters, custom sizes, official token pricing, rate limits, and a practical cost calculator.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">It also reports a separate controlled test through Anywhere&#8217;s unified <code>gpt-image-2.5<\/code> route. That venue exposed no Flare\/Sunburst selector or returned variant label, so its outputs are not presented as native OpenAI API results or assigned to either official model.<\/p>\n\n\n\n<style>.g25bridge,.g25bridge *{box-sizing:border-box}.g25bridge{margin:28px 0;padding:22px 24px;border:1px solid #bfd0c5;border-left:5px solid #2f6d4e;border-radius:8px;background:#f5f8f6;color:#1d2922;font-family:Inter,-apple-system,BlinkMacSystemFont,\"Segoe UI\",sans-serif}.g25bridge p{margin:0;line-height:1.7}.g25bridge a{color:#155f3b;font-weight:750;text-underline-offset:3px}@media(max-width:600px){.g25bridge{padding:18px}}<\/style>\n<aside class=\"g25bridge\" aria-label=\"\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0439 GlobalGPT\"><p>If you want image work to stay connected to the rest of production, you can <a href=\"https:\/\/www.glbgpt.com\/image?inviter=hub_features_image&amp;login=1\">bring image creation into one GlobalGPT workflow<\/a>. GlobalGPT provides affordable access to multiple image models and AI functions in one dashboard, covering the workflow from creative exploration through delivery. Its CLI connects the same workflow to terminal work, development, existing production tools, and production pipelines.<\/p><\/aside>\n\n\n\n<div class=\"wp-block-group is-layout-constrained wp-block-group-is-layout-constrained\">\n<figure class=\"wp-block-image size-large\"><img alt=\"\" fetchpriority=\"high\" decoding=\"async\" width=\"1024\" height=\"540\" src=\"https:\/\/wp.glbgpt.com\/wp-content\/uploads\/2026\/09\/image-6-1024x540.png\" class=\"wp-image-19115\" srcset=\"https:\/\/wp.glbgpt.com\/wp-content\/uploads\/2026\/09\/image-6-1024x540.png 1024w, https:\/\/wp.glbgpt.com\/wp-content\/uploads\/2026\/09\/image-6-300x158.png 300w, https:\/\/wp.glbgpt.com\/wp-content\/uploads\/2026\/09\/image-6-18x9.png 18w, https:\/\/wp.glbgpt.com\/wp-content\/uploads\/2026\/09\/image-6-768x405.png 768w, https:\/\/wp.glbgpt.com\/wp-content\/uploads\/2026\/09\/image-6-1536x810.png 1536w, https:\/\/wp.glbgpt.com\/wp-content\/uploads\/2026\/09\/image-6.png 1812w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<div class=\"wp-block-buttons is-content-justification-center is-layout-flex wp-container-core-buttons-is-layout-3e41869c wp-block-buttons-is-layout-flex\">\n<div style=\"--wp--block-button--width: 50;\" class=\"wp-block-button has-custom-width wp-block-button__width wp-block-button__width-50\"><a class=\"wp-block-button__link has-white-color has-text-color has-background has-link-color wp-element-button\" href=\"https:\/\/www.glbgpt.com\/image-generator\/gpt-image-2-5?inviter=hub_content_gptimage25&amp;login=1\" style=\"background:linear-gradient(135deg,rgb(252,185,0) 33%,rgb(255,105,0) 74%)\"><strong>Try GPT Image 2.5 on GlobalGPT Now!<\/strong><\/a><\/div>\n<\/div>\n<\/div>\n\n\n\n<style>.g25toc,.g25toc *{box-sizing:border-box}.g25toc{margin:30px 0;padding:22px 24px;border:1px solid #d4dad6;border-radius:8px;background:#fff;color:#1a241e;font-family:Inter,-apple-system,BlinkMacSystemFont,\"Segoe UI\",sans-serif}.g25toc__title{margin:0 0 14px;font-size:20px;font-weight:800;letter-spacing:0}.g25toc ol{margin:0;padding-left:22px;columns:2;column-gap:34px}.g25toc li{break-inside:avoid;margin:0 0 9px}.g25toc a{color:#185e3d;text-underline-offset:3px}@media(max-width:640px){.g25toc{padding:18px}.g25toc ol{columns:1}}<\/style>\n<nav class=\"g25toc\" aria-labelledby=\"g25toc-title\"><p class=\"g25toc__title\" id=\"g25toc-title\">\u0421\u043e\u0434\u0435\u0440\u0436\u0430\u043d\u0438\u0435<\/p><ol><li><a href=\"#what-is-gpt-image-25-api\">What is the GPT Image 2.5 API?<\/a><\/li><li><a href=\"#gpt-image-25-api-quick-start\">GPT Image 2.5 API quick start<\/a><\/li><li><a href=\"#parameters-formats-size-limits\">Parameters, formats, and size limits<\/a><\/li><li><a href=\"#gpt-image-25-api-pricing\">GPT Image 2.5 API pricing<\/a><\/li><li><a href=\"#rate-limits-production-planning\">Rate limits and production planning<\/a><\/li><li><a href=\"#controlled-anywhere-tests\">Controlled Anywhere tests<\/a><\/li><li><a href=\"#choose-gpt-image-25-route\">How to choose a route<\/a><\/li><li><a href=\"#common-implementation-errors\">Common implementation errors<\/a><\/li><li><a href=\"#gpt-image-25-api-faq\">\u0427\u0410\u0421\u0422\u041e \u0417\u0410\u0414\u0410\u0412\u0410\u0415\u041c\u042b\u0415 \u0412\u041e\u041f\u0420\u041e\u0421\u042b<\/a><\/li><li><a href=\"#conclusion\">\u0417\u0430\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435<\/a><\/li><\/ol><\/nav>\n\n\n\n<h2 id=\"what-is-gpt-image-25-api\" class=\"wp-block-heading\">What is the GPT Image 2.5 API?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">GPT Image 2.5 is OpenAI&#8217;s image-generation and editing family released on September 8, 2026. Both official models accept text and return images; editing workflows can also supply image inputs. The important implementation detail is identity: the family name is useful in prose, but production requests should use an exact model ID from the official model pages.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Two models, not one callable family ID<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">A moving alias follows OpenAI&#8217;s current version behind that name. A dated snapshot pins requests to a specific release and is therefore easier to reproduce during regression testing. Use the moving alias when you want compatible model updates without changing code; use a snapshot when consistent behavior matters more than automatically receiving later revisions.<\/p>\n\n\n\n<style>.g25models,.g25models *{box-sizing:border-box}.g25models{margin:24px 0;overflow-x:auto;border:1px solid #d4dad6;border-radius:8px;background:#fff;color:#18211c}.g25models table{width:100%;min-width:760px;border-collapse:collapse;font-family:Inter,-apple-system,BlinkMacSystemFont,\"Segoe UI\",sans-serif}.g25models caption{padding:16px 18px;text-align:left;font-size:18px;font-weight:800}.g25models th,.g25models td{padding:13px 16px;border-top:1px solid #e2e6e3;text-align:left;vertical-align:top;line-height:1.5}.g25models th{background:#f3f6f4;color:#314139;font-size:12px;text-transform:uppercase}.g25models code{overflow-wrap:anywhere;color:#174c34}.g25models a{color:#155f3b}<\/style>\n<div class=\"g25models\"><table><caption>Official GPT Image 2.5 model IDs<\/caption><thead><tr><th>\u041c\u043e\u0434\u0435\u043b\u044c<\/th><th>Moving alias<\/th><th>Dated snapshot<\/th><th>\u041e\u0444\u0438\u0446\u0438\u0430\u043b\u044c\u043d\u043e\u0435 \u043f\u043e\u0437\u0438\u0446\u0438\u043e\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435<\/th><th>\u041c\u0435\u0442\u043e\u0434\u044b<\/th><\/tr><\/thead><tbody><tr><td>\u0420\u0430\u043a\u0435\u0442\u0430<\/td><td><a href=\"https:\/\/developers.openai.com\/api\/docs\/models\/gpt-image-2.5-flare\"><code>gpt-image-2.5-flare<\/code><\/a><\/td><td><code>gpt-image-2.5-flare-2026-09-08<\/code><\/td><td>Fast, high-quality everyday image generation<\/td><td>Text in; image out<\/td><\/tr><tr><td>\u00ab\u0421\u043e\u043b\u043d\u0435\u0447\u043d\u044b\u0439 \u043b\u0443\u0447\u00bb<\/td><td><a href=\"https:\/\/developers.openai.com\/api\/docs\/models\/gpt-image-2.5-sunburst\"><code>gpt-image-2.5-sunburst<\/code><\/a><\/td><td><code>gpt-image-2.5-sunburst-2026-09-08<\/code><\/td><td>Precision-focused image editing<\/td><td>Text and image in; image out<\/td><\/tr><\/tbody><\/table><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">These descriptions are OpenAI&#8217;s positioning, not a winner determined by our tests. The controlled run later in this article used a third-party unified route that did not disclose which official variant, if either, served a request.<\/p>\n\n\n\n<h2 id=\"gpt-image-25-api-quick-start\" class=\"wp-block-heading\">GPT Image 2.5 API quick start<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Generate with the Image API<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Direct generation uses <code>POST \/v1\/images\/generations<\/code>. The OpenAI SDK reads your API key from the environment, and GPT Image returns base64-encoded image data rather than a permanent hosted URL. Decode that data and write it using the same extension as <code>output_format<\/code>.<\/p>\n\n\n\n<style>.g25code-generate,.g25code-generate *{box-sizing:border-box}.g25code-generate{width:100%;max-width:100%;margin:22px 0;border:1px solid #2e4438;border-radius:8px;overflow:hidden;background:#101714;color:#f4f8f5;font-family:Inter,-apple-system,BlinkMacSystemFont,\"Segoe UI\",sans-serif}.g25code-generate__head{display:flex;align-items:center;gap:10px;min-width:0;padding:12px 16px;border-bottom:1px solid #31453a;background:#17231d;color:#f4f8f5}.g25code-generate__language{flex:0 0 auto;padding:4px 7px;border-radius:4px;background:#d8f3e4;color:#12452f;font-size:11px;font-weight:800;line-height:1;text-transform:uppercase}.g25code-generate__title{min-width:0;color:#f4f8f5;font-size:14px;font-weight:750;line-height:1.35}.g25code-generate pre{width:100%;max-width:100%;margin:0;padding:18px 20px;overflow-x:auto;-webkit-overflow-scrolling:touch;border:0;border-radius:0;background:#101714;color:#f4f8f5;font:13px\/1.65 \"SFMono-Regular\",Consolas,\"Liberation Mono\",monospace;tab-size:4;white-space:pre}.g25code-generate code{display:block;width:max-content;min-width:100%;padding:0;border:0;background:transparent;color:inherit;font:inherit;white-space:pre;overflow-wrap:normal;word-break:normal}@media(max-width:600px){.g25code-generate__head{align-items:flex-start;flex-wrap:wrap;padding:11px 13px}.g25code-generate pre{padding:15px 14px;font-size:12px}}<\/style>\n<div class=\"g25code-generate\" role=\"region\" aria-label=\"Python example: Generate and save a WebP image\"><div class=\"g25code-generate__head\"><span class=\"g25code-generate__language\">Python<\/span><strong class=\"g25code-generate__title\">Generate and save a WebP image<\/strong><\/div><pre><code>import base64\nfrom pathlib import Path\nfrom openai import OpenAI\n\nclient = OpenAI()\nresult = client.images.generate(\n    model=\"gpt-image-2.5-flare\",\n    prompt=\"A ceramic desk lamp on a white studio sweep, product photo\",\n    size=\"1536x1024\",\n    quality=\"high\",\n    output_format=\"webp\",\n)\n\nimage_bytes = base64.b64decode(result.data[0].b64_json)\nPath(\"lamp.webp\").write_bytes(image_bytes)<\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">For a reproducible production test, replace the moving alias with <code>gpt-image-2.5-flare-2026-09-08<\/code>. Keep the prompt, size, quality, and seed-like application inputs in your own request log; the returned image itself is still the primary artifact.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Edit an image<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Direct editing uses <code>POST \/v1\/images\/edits<\/code>. The API documents multipart uploads and JSON references through <code>image_url<\/code> \u0438\u043b\u0438 <code>file_id<\/code> where the selected route supports them. Up to 16 images can be supplied, but that maximum is not a recommendation: fewer, clearly differentiated references are easier to inspect and score.<\/p>\n\n\n\n<style>.g25code-edit,.g25code-edit *{box-sizing:border-box}.g25code-edit{width:100%;max-width:100%;margin:22px 0;border:1px solid #2e4438;border-radius:8px;overflow:hidden;background:#101714;color:#f4f8f5;font-family:Inter,-apple-system,BlinkMacSystemFont,\"Segoe UI\",sans-serif}.g25code-edit__head{display:flex;align-items:center;gap:10px;min-width:0;padding:12px 16px;border-bottom:1px solid #31453a;background:#17231d;color:#f4f8f5}.g25code-edit__language{flex:0 0 auto;padding:4px 7px;border-radius:4px;background:#d8f3e4;color:#12452f;font-size:11px;font-weight:800;line-height:1;text-transform:uppercase}.g25code-edit__title{min-width:0;color:#f4f8f5;font-size:14px;font-weight:750;line-height:1.35}.g25code-edit pre{width:100%;max-width:100%;margin:0;padding:18px 20px;overflow-x:auto;-webkit-overflow-scrolling:touch;border:0;border-radius:0;background:#101714;color:#f4f8f5;font:13px\/1.65 \"SFMono-Regular\",Consolas,\"Liberation Mono\",monospace;tab-size:4;white-space:pre}.g25code-edit code{display:block;width:max-content;min-width:100%;padding:0;border:0;background:transparent;color:inherit;font:inherit;white-space:pre;overflow-wrap:normal;word-break:normal}@media(max-width:600px){.g25code-edit__head{align-items:flex-start;flex-wrap:wrap;padding:11px 13px}.g25code-edit pre{padding:15px 14px;font-size:12px}}<\/style>\n<div class=\"g25code-edit\" role=\"region\" aria-label=\"Python example: Edit one image\"><div class=\"g25code-edit__head\"><span class=\"g25code-edit__language\">Python<\/span><strong class=\"g25code-edit__title\">Edit one image and save the result<\/strong><\/div><pre><code>import base64\nfrom pathlib import Path\nfrom openai import OpenAI\n\nclient = OpenAI()\nwith Path(\"product.png\").open(\"rb\") as source:\n    result = client.images.edit(\n        model=\"gpt-image-2.5-sunburst\",\n        image=[source],\n        prompt=\"Change only the lamp shade to cobalt blue.\",\n        size=\"1536x1024\",\n        output_format=\"png\",\n    )\n\nPath(\"product-edited.png\").write_bytes(\n    base64.b64decode(result.data[0].b64_json)\n)<\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Use explicit preservation language such as \u201cchange only\u201d as a testable constraint, then compare the source and output at full resolution. An edit can satisfy the requested attribute while still reframing or reconstructing untouched regions.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Use the Responses API image-generation tool<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">You can also call <code>POST \/v1\/responses<\/code> with the image-generation tool. This route is useful when image creation is one step in a model-led workflow that also reasons over text or tool results. It is not a drop-in response-shape replacement for the direct Image API: inspect the response output items for the image-generation call instead of assuming <code>data[0].b64_json<\/code> \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442.<\/p>\n\n\n\n<style>.g25code-responses,.g25code-responses *{box-sizing:border-box}.g25code-responses{width:100%;max-width:100%;margin:22px 0;border:1px solid #2e4438;border-radius:8px;overflow:hidden;background:#101714;color:#f4f8f5;font-family:Inter,-apple-system,BlinkMacSystemFont,\"Segoe UI\",sans-serif}.g25code-responses__head{display:flex;align-items:center;gap:10px;min-width:0;padding:12px 16px;border-bottom:1px solid #31453a;background:#17231d;color:#f4f8f5}.g25code-responses__language{flex:0 0 auto;padding:4px 7px;border-radius:4px;background:#d8f3e4;color:#12452f;font-size:11px;font-weight:800;line-height:1;text-transform:uppercase}.g25code-responses__title{min-width:0;color:#f4f8f5;font-size:14px;font-weight:750;line-height:1.35}.g25code-responses pre{width:100%;max-width:100%;margin:0;padding:18px 20px;overflow-x:auto;-webkit-overflow-scrolling:touch;border:0;border-radius:0;background:#101714;color:#f4f8f5;font:13px\/1.65 \"SFMono-Regular\",Consolas,\"Liberation Mono\",monospace;tab-size:4;white-space:pre}.g25code-responses code{display:block;width:max-content;min-width:100%;padding:0;border:0;background:transparent;color:inherit;font:inherit;white-space:pre;overflow-wrap:normal;word-break:normal}@media(max-width:600px){.g25code-responses__head{align-items:flex-start;flex-wrap:wrap;padding:11px 13px}.g25code-responses pre{padding:15px 14px;font-size:12px}}<\/style>\n<div class=\"g25code-responses\" role=\"region\" aria-label=\"Python example: Call image generation from the Responses API\"><div class=\"g25code-responses__head\"><span class=\"g25code-responses__language\">Python<\/span><strong class=\"g25code-responses__title\">Call image generation inside a Responses workflow<\/strong><\/div><pre><code>response = client.responses.create(\n    model=\"YOUR_RESPONSES_MODEL\",\n    input=\"Create a clean product image from this approved brief.\",\n    tools=[{\"type\": \"image_generation\"}],\n)\n\nimage_calls = [\n    item for item in response.output\n    if item.type == \"image_generation_call\"\n]<\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Choose the direct Image API for a narrow generation or edit job with straightforward accounting. Choose Responses when image generation belongs inside a broader agentic sequence. In either case, validate the current <a href=\"https:\/\/developers.openai.com\/api\/docs\/guides\/image-generation\">official image-generation guide<\/a> and SDK signature before deploying, because newly released API schemas can evolve.<\/p>\n\n\n\n<h2 id=\"parameters-formats-size-limits\" class=\"wp-block-heading\">Parameters, output formats, and size limits<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The most useful parameters control quality, output count, progressive previews, moderation, background behavior, format, compression, and dimensions. Treat them as a compatible set rather than independent switches. For example, transparency requires PNG or WebP, while <code>output_compression<\/code> applies to JPEG and WebP rather than PNG.<\/p>\n\n\n\n<style>.g25params,.g25params *{box-sizing:border-box}.g25params{margin:24px 0;overflow-x:auto;border:1px solid #d5dbd7;border-radius:8px;background:#fff}.g25params table{width:100%;min-width:700px;border-collapse:collapse;color:#19231d;font-family:Inter,-apple-system,BlinkMacSystemFont,\"Segoe UI\",sans-serif}.g25params caption{padding:16px;text-align:left;font-size:18px;font-weight:800}.g25params th,.g25params td{padding:12px 15px;border-top:1px solid #e2e7e4;text-align:left;vertical-align:top;line-height:1.5}.g25params th{background:#f4f6f4;font-size:12px;text-transform:uppercase}.g25params code{color:#174c34;overflow-wrap:anywhere}<\/style>\n<div class=\"g25params\"><table><caption>Core GPT Image 2.5 request parameters<\/caption><thead><tr><th>\u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440<\/th><th>Verified values or rule<\/th><th>Implementation note<\/th><\/tr><\/thead><tbody><tr><td><code>\u043a\u0430\u0447\u0435\u0441\u0442\u0432\u043e<\/code><\/td><td><code>\u0430\u0432\u0442\u043e<\/code>, <code>\u043d\u0438\u0437\u043a\u0438\u0439<\/code>, <code>\u0441\u0440\u0435\u0434\u043d\u0438\u0439<\/code>, <code>\u0432\u044b\u0441\u043e\u043a\u0438\u0439<\/code>, <code>xhigh<\/code>, <code>\u043c\u0430\u043a\u0441.<\/code><\/td><td>Benchmark your own task; a higher label is not automatically the best production choice.<\/td><\/tr><tr><td><code>n<\/code><\/td><td>1-10<\/td><td>Multiple outputs increase returned work and likely token usage.<\/td><\/tr><tr><td><code>partial_images<\/code><\/td><td>0-3<\/td><td>Use progressive partials only where supported by the route and client flow.<\/td><\/tr><tr><td><code>moderation<\/code><\/td><td><code>\u0430\u0432\u0442\u043e<\/code> \u0438\u043b\u0438 <code>\u043d\u0438\u0437\u043a\u0438\u0439<\/code><\/td><td>This setting does not promise that every prompt will be accepted.<\/td><\/tr><tr><td><code>\u0444\u043e\u043d<\/code><\/td><td><code>\u0430\u0432\u0442\u043e<\/code>, <code>opaque<\/code>, <code>transparent<\/code><\/td><td>Transparent output requires PNG or WebP.<\/td><\/tr><tr><td><code>output_format<\/code><\/td><td>PNG, JPEG, WebP<\/td><td>Returned content is base64 image data.<\/td><\/tr><tr><td><code>output_compression<\/code><\/td><td>0-100<\/td><td>Applies to JPEG and WebP output.<\/td><\/tr><\/tbody><\/table><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">Custom dimensions<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">For a custom size, each side must be a multiple of 16, the aspect ratio must remain between 1:3 and 3:1, neither side may exceed 3,840 pixels, and the total area must fall between 655,360 and 8,294,400 pixels. Sizes above the area of 2560\u00d71440 are documented as experimental.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>1536x1024<\/code> is valid: both sides are multiples of 16, the 3:2 ratio is allowed, and the area is within bounds.<\/li>\n\n\n\n<li><code>1024x1024<\/code> is valid for the same reasons.<\/li>\n\n\n\n<li><code>1200x800<\/code> is invalid because 1,200 and 800 are not both multiples of 16, even though the aspect ratio looks reasonable.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Validate dimensions before sending a request so an application bug does not get mixed into model evaluation. Also inspect the decoded file&#8217;s actual format and dimensions: a third-party compatibility route may not reproduce every native parameter exactly.<\/p>\n\n\n\n<h2 id=\"gpt-image-25-api-pricing\" class=\"wp-block-heading\">GPT Image 2.5 API pricing<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">OpenAI prices GPT Image 2.5 by token category. The rates below were verified against the official pricing page on September 10, 2026. GPT Image 2 uses the same listed rates, but equal rates do not mean equal token consumption for the same prompt or image.<\/p>\n\n\n\n<style>.g25prices,.g25prices *{box-sizing:border-box}.g25prices{margin:24px 0;overflow-x:auto;border:1px solid #d5dbd7;border-radius:8px;background:#fff}.g25prices table{width:100%;min-width:560px;border-collapse:collapse;color:#17221b;font-family:Inter,-apple-system,BlinkMacSystemFont,\"Segoe UI\",sans-serif}.g25prices caption{padding:16px;text-align:left;font-size:18px;font-weight:800}.g25prices th,.g25prices td{padding:13px 16px;border-top:1px solid #e2e6e3;text-align:left}.g25prices th{background:#f3f6f4;font-size:12px;text-transform:uppercase}.g25prices td:last-child{font-weight:800;color:#155f3b}.g25prices a{color:#155f3b}<\/style>\n<div class=\"g25prices\"><table><caption>Official GPT Image 2.5 token rates<\/caption><thead><tr><th>\u041a\u0430\u0442\u0435\u0433\u043e\u0440\u0438\u044f \u0442\u043e\u043a\u0435\u043d\u0430<\/th><th>\u0426\u0435\u043d\u0430 \u0437\u0430 1 \u043c\u043b\u043d \u0442\u043e\u043a\u0435\u043d\u043e\u0432<\/th><\/tr><\/thead><tbody><tr><td>\u0412\u0432\u043e\u0434 \u0442\u0435\u043a\u0441\u0442\u0430<\/td><td>$5.00<\/td><\/tr><tr><td>\u0412\u0432\u043e\u0434 \u0442\u0435\u043a\u0441\u0442\u0430 \u0438\u0437 \u043a\u044d\u0448\u0430<\/td><td>$1.25<\/td><\/tr><tr><td>\u0412\u0432\u043e\u0434 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f<\/td><td>$8.00<\/td><\/tr><tr><td>\u0412\u0432\u043e\u0434 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f \u0438\u0437 \u043a\u044d\u0448\u0430<\/td><td>$2.00<\/td><\/tr><tr><td>\u0412\u044b\u0432\u043e\u0434 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f<\/td><td>$30.00<\/td><\/tr><\/tbody><\/table><p style=\"margin:0;padding:12px 16px;border-top:1px solid #e2e6e3;font-size:12px\">\u0418\u0441\u0442\u043e\u0447\u043d\u0438\u043a: <a href=\"https:\/\/developers.openai.com\/api\/docs\/pricing\">\u0426\u0435\u043d\u044b \u043d\u0430 API OpenAI<\/a>. USD, before taxes or provider-specific charges.<\/p><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">Calculate a real request cost<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">For each category, multiply returned tokens by its per-million-token rate, then divide by 1,000,000. Sum the five category costs for one request. The official GPT Image 2 calculator does not estimate GPT Image 2.5 token consumption, so there is no defensible universal \u201ccost per image\u201d without actual usage data.<\/p>\n\n\n\n<style>\n.g25calc,.g25calc *{box-sizing:border-box}.g25calc{width:100%;max-width:100%;margin:28px 0;border:1px solid #d7ddd9;border-radius:8px;background:#fff;color:#18201c;font-family:Inter,-apple-system,BlinkMacSystemFont,\"Segoe UI\",sans-serif;overflow:hidden;overflow-wrap:anywhere}.g25calc__head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px;align-items:end;padding:22px 24px;border-bottom:1px solid #d7ddd9;background:#f6f8f5}.g25calc__eyebrow{margin:0 0 6px;color:#33654a;font-size:12px;font-weight:800;letter-spacing:0;text-transform:uppercase}.g25calc h3{margin:0;font-size:24px;line-height:1.2;letter-spacing:0}.g25calc__rate-badge{min-width:128px;padding:10px 12px;border:1px solid #b8c6bd;border-radius:6px;background:#fff;text-align:right}.g25calc__rate-badge span{display:block;color:#5c685f;font-size:11px}.g25calc__rate-badge strong{display:block;margin-top:2px;color:#18201c;font-size:16px}.g25calc__body{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);gap:0}.g25calc__form{min-width:0;padding:24px}.g25calc__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.g25calc__field{min-width:0}.g25calc__field label{display:block;margin:0 0 7px;color:#28312c;font-size:13px;font-weight:700;line-height:1.35}.g25calc__field small{display:block;margin-top:6px;color:#667168;font-size:11px;line-height:1.45}.g25calc__field input{display:block;width:100%;min-width:0;height:44px;padding:9px 11px;border:1px solid #aeb8b1;border-radius:6px;background:#fff;color:#18201c;font:inherit;font-variant-numeric:tabular-nums}.g25calc__field input:focus{outline:3px solid #c8ead8;outline-offset:1px;border-color:#2d7350}.g25calc__actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:18px}.g25calc__reset{min-height:40px;padding:8px 14px;border:1px solid #87948b;border-radius:6px;background:#fff;color:#25312a;font:inherit;font-weight:700;cursor:pointer}.g25calc__reset:hover{background:#f0f4f1}.g25calc__basis{margin:0;color:#68736b;font-size:11px;line-height:1.45;text-align:right}.g25calc__error{margin:16px 0 0;padding:10px 12px;border-left:4px solid #b33a32;background:#fff3f1;color:#7d231e;font-size:12px;line-height:1.5}.g25calc__results{min-width:0;padding:24px;background:#17231d;color:#fff}.g25calc__primary{padding-bottom:20px;border-bottom:1px solid #3b4a42}.g25calc__primary span{display:block;color:#bfcac3;font-size:12px;font-weight:700;text-transform:uppercase}.g25calc__primary strong{display:block;margin-top:6px;color:#fff;font-size:36px;line-height:1.1;font-variant-numeric:tabular-nums}.g25calc__metrics{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:20px 0}.g25calc__metric{min-width:0}.g25calc__metric span{display:block;color:#aebcb3;font-size:11px}.g25calc__metric strong{display:block;margin-top:4px;color:#f6c85f;font-size:18px;font-variant-numeric:tabular-nums}.g25calc__breakdown{width:100%;border-collapse:collapse;font-size:12px}.g25calc__breakdown th,.g25calc__breakdown td{padding:8px 0;border-top:1px solid #34443b;text-align:left}.g25calc__breakdown th{color:#bfcac3;font-weight:500}.g25calc__breakdown td{color:#fff;text-align:right;font-variant-numeric:tabular-nums}.g25calc__note{margin:0;padding:15px 24px;border-top:1px solid #d7ddd9;background:#fff9e8;color:#55471d;font-size:12px;line-height:1.6}.g25calc[data-state=\"error\"] .g25calc__results strong,.g25calc[data-state=\"error\"] .g25calc__results td{color:#d7ddd9}@media (max-width: 720px){.g25calc__head{grid-template-columns:1fr;align-items:start;padding:20px}.g25calc__rate-badge{width:100%;text-align:left}.g25calc__body{grid-template-columns:1fr}.g25calc__form,.g25calc__results{padding:20px}.g25calc__grid{grid-template-columns:1fr}.g25calc__actions{align-items:flex-start;flex-direction:column}.g25calc__basis{text-align:left}.g25calc__primary strong{font-size:31px}}@media (max-width: 390px){.g25calc h3{font-size:21px}.g25calc__metrics{grid-template-columns:1fr}.g25calc__primary strong{font-size:27px}.g25calc__note{padding:14px 18px}}\n<\/style>\n<section class=\"g25calc\" data-g25-calculator data-state=\"ready\" aria-labelledby=\"g25calc-title\">\n  <header class=\"g25calc__head\">\n    <div>\n      <p class=\"g25calc__eyebrow\">Official token rates<\/p>\n      <h3 id=\"g25calc-title\">GPT Image 2.5 API cost calculator<\/h3>\n    <\/div>\n    <div class=\"g25calc__rate-badge\"><span>\u0412\u044b\u0432\u043e\u0434 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f<\/span><strong>$30 \/ 1 \u043c\u043b\u043d \u0442\u043e\u043a\u0435\u043d\u043e\u0432<\/strong><\/div>\n  <\/header>\n  <div class=\"g25calc__body\">\n    <form class=\"g25calc__form\" data-calculator-form novalidate action=\"\">\n      <div class=\"g25calc__grid\">\n        <div class=\"g25calc__field\">\n          <label for=\"g25-text-input\">\u0422\u043e\u043a\u0435\u043d\u044b \u0434\u043b\u044f \u0432\u0432\u043e\u0434\u0430 \u0442\u0435\u043a\u0441\u0442\u0430<\/label>\n          <input id=\"g25-text-input\" data-field=\"textInputTokens\" type=\"number\" inputmode=\"numeric\" min=\"0\" max=\"1000000000000\" step=\"1\" value=\"0\">\n          <small>$5 per 1M tokens<\/small>\n        <\/div>\n        <div class=\"g25calc__field\">\n          <label for=\"g25-cached-text\">Cached text input tokens<\/label>\n          <input id=\"g25-cached-text\" data-field=\"cachedTextInputTokens\" type=\"number\" inputmode=\"numeric\" min=\"0\" max=\"1000000000000\" step=\"1\" value=\"0\">\n          <small>$1,25 \u0437\u0430 1 \u043c\u043b\u043d \u0442\u043e\u043a\u0435\u043d\u043e\u0432<\/small>\n        <\/div>\n        <div class=\"g25calc__field\">\n          <label for=\"g25-image-input\">Image input tokens<\/label>\n          <input id=\"g25-image-input\" data-field=\"imageInputTokens\" type=\"number\" inputmode=\"numeric\" min=\"0\" max=\"1000000000000\" step=\"1\" value=\"0\">\n          <small>$8 per 1M tokens<\/small>\n        <\/div>\n        <div class=\"g25calc__field\">\n          <label for=\"g25-cached-image\">Cached image input tokens<\/label>\n          <input id=\"g25-cached-image\" data-field=\"cachedImageInputTokens\" type=\"number\" inputmode=\"numeric\" min=\"0\" max=\"1000000000000\" step=\"1\" value=\"0\">\n          <small>$2 per 1M tokens<\/small>\n        <\/div>\n        <div class=\"g25calc__field\">\n          <label for=\"g25-image-output\">Image output tokens<\/label>\n          <input id=\"g25-image-output\" data-field=\"imageOutputTokens\" type=\"number\" inputmode=\"numeric\" min=\"0\" max=\"1000000000000\" step=\"1\" value=\"0\">\n          <small>$30 per 1M tokens<\/small>\n        <\/div>\n        <div class=\"g25calc__field\">\n          <label for=\"g25-runs\">Requests or runs<\/label>\n          <input id=\"g25-runs\" data-field=\"runs\" type=\"number\" inputmode=\"numeric\" min=\"1\" max=\"1000000\" step=\"1\" value=\"1\">\n          <small>Assumes the same token usage per run<\/small>\n        <\/div>\n        <div class=\"g25calc__field\">\n          <label for=\"g25-success\">Acceptable-output rate (%)<\/label>\n          <input id=\"g25-success\" data-field=\"successRatePercent\" type=\"number\" inputmode=\"decimal\" min=\"0\" max=\"100\" step=\"0.1\" value=\"100\">\n          <small>Used only for cost per acceptable output<\/small>\n        <\/div>\n      <\/div>\n      <div class=\"g25calc__actions\">\n        <button class=\"g25calc__reset\" type=\"reset\">Reset values<\/button>\n        <p class=\"g25calc__basis\">USD, before taxes or provider-specific charges<\/p>\n      <\/div>\n      <p class=\"g25calc__error\" data-result=\"error\" role=\"alert\" hidden><\/p>\n    <input type=\"hidden\" name=\"trp-form-language\" value=\"ru\"\/><\/form>\n    <div class=\"g25calc__results\" aria-live=\"polite\">\n      <div class=\"g25calc__primary\"><span>One-request cost<\/span><strong data-result=\"oneRequest\">$0.0000<\/strong><\/div>\n      <div class=\"g25calc__metrics\">\n        <div class=\"g25calc__metric\"><span>\u0421\u0435\u0440\u0438\u0439\u043d\u0430\u044f \u0441\u0435\u0431\u0435\u0441\u0442\u043e\u0438\u043c\u043e\u0441\u0442\u044c<\/span><strong data-result=\"batch\">$0.0000<\/strong><\/div>\n        <div class=\"g25calc__metric\"><span>Cost per acceptable output<\/span><strong data-result=\"perAcceptable\">$0.0000<\/strong><\/div>\n        <div class=\"g25calc__metric\"><span>Expected acceptable outputs<\/span><strong data-result=\"acceptableCount\">1<\/strong><\/div>\n        <div class=\"g25calc__metric\"><span>\u0417\u0430\u0431\u0435\u0433\u0438<\/span><strong data-result=\"runCount\">1<\/strong><\/div>\n      <\/div>\n      <table class=\"g25calc__breakdown\">\n        <tbody>\n          <tr><th scope=\"row\">\u0412\u0432\u043e\u0434 \u0442\u0435\u043a\u0441\u0442\u0430<\/th><td data-result=\"textInputCost\">$0.0000<\/td><\/tr>\n          <tr><th scope=\"row\">\u0412\u0432\u043e\u0434 \u0442\u0435\u043a\u0441\u0442\u0430 \u0438\u0437 \u043a\u044d\u0448\u0430<\/th><td data-result=\"cachedTextInputCost\">$0.0000<\/td><\/tr>\n          <tr><th scope=\"row\">\u0412\u0432\u043e\u0434 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f<\/th><td data-result=\"imageInputCost\">$0.0000<\/td><\/tr>\n          <tr><th scope=\"row\">\u0412\u0432\u043e\u0434 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f \u0438\u0437 \u043a\u044d\u0448\u0430<\/th><td data-result=\"cachedImageInputCost\">$0.0000<\/td><\/tr>\n          <tr><th scope=\"row\">\u0412\u044b\u0432\u043e\u0434 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f<\/th><td data-result=\"imageOutputCost\">$0.0000<\/td><\/tr>\n        <\/tbody>\n      <\/table>\n    <\/div>\n  <\/div>\n  <p class=\"g25calc__note\">GPT Image 2.5 is priced by token usage. OpenAI&#8217;s GPT Image 2 calculator does not estimate GPT Image 2.5 token consumption, so this calculator uses the token counts supplied here rather than inferring them from image size or quality.<\/p>\n<\/section>\n<script data-calculator-logic>\n(function(global){\n  \"use strict\";\n  var RATES=Object.freeze({textInputTokens:5,cachedTextInputTokens:1.25,imageInputTokens:8,cachedImageInputTokens:2,imageOutputTokens:30});\n  var TOKEN_FIELDS=Object.keys(RATES);\n  function parseNumber(value){if(typeof value===\"string\"&&value.trim()===\"\"){return NaN;}return Number(value);}\n  function calculate(raw){\n    var values={};\n    var errors=[];\n    TOKEN_FIELDS.forEach(function(name){\n      var value=parseNumber(raw[name]);\n      if(!Number.isFinite(value)||value<0||!Number.isInteger(value)||value>1000000000000){errors.push(name+\" must be a whole number from 0 to 1,000,000,000,000.\");}\n      values[name]=value;\n    });\n    values.runs=parseNumber(raw.runs);\n    if(!Number.isFinite(values.runs)||!Number.isInteger(values.runs)||values.runs<1||values.runs>1000000){errors.push(\"runs must be a whole number from 1 to 1,000,000.\");}\n    values.successRatePercent=parseNumber(raw.successRatePercent);\n    if(!Number.isFinite(values.successRatePercent)||values.successRatePercent<0||values.successRatePercent>100){errors.push(\"successRatePercent must be from 0 to 100.\");}\n    if(errors.length){return {ok:false,errors:errors};}\n    var breakdown={};\n    TOKEN_FIELDS.forEach(function(name){breakdown[name.replace(\"Tokens\",\"Cost\")]=values[name]\/1000000*RATES[name];});\n    var oneRequest=Object.keys(breakdown).reduce(function(sum,name){return sum+breakdown[name];},0);\n    var batch=oneRequest*values.runs;\n    var acceptableCount=values.runs*(values.successRatePercent\/100);\n    var perAcceptable=acceptableCount===0?null:batch\/acceptableCount;\n    return {ok:true,values:values,breakdown:breakdown,oneRequest:oneRequest,batch:batch,acceptableCount:acceptableCount,perAcceptable:perAcceptable};\n  }\n  global.GPTImage25CostCalculator=Object.freeze({rates:RATES,calculate:calculate});\n  if(!global.document){return;}\n  function formatUsd(value){if(value===null){return \"N\/A\";}return new Intl.NumberFormat(\"en-US\",{style:\"currency\",currency:\"USD\",minimumFractionDigits:4,maximumFractionDigits:6}).format(value);}\n  function formatCount(value){return new Intl.NumberFormat(\"en-US\",{maximumFractionDigits:2}).format(value);}\n  global.document.querySelectorAll(\"[data-g25-calculator]\").forEach(function(root){\n    var form=root.querySelector(\"[data-calculator-form]\");\n    var fields={};\n    form.querySelectorAll(\"[data-field]\").forEach(function(input){fields[input.getAttribute(\"data-field\")]=input;});\n    function setResult(name,value){var node=root.querySelector('[data-result=\"'+name+'\"]');if(node){node.textContent=value;}}\n    function update(){\n      var raw={};\n      Object.keys(fields).forEach(function(name){raw[name]=fields[name].value;});\n      var result=calculate(raw);\n      var errorNode=root.querySelector('[data-result=\"error\"]');\n      if(!result.ok){\n        root.setAttribute(\"data-state\",\"error\");\n        errorNode.hidden=false;\n        errorNode.textContent=result.errors.join(\" \");\n        [\"oneRequest\",\"batch\",\"perAcceptable\",\"acceptableCount\",\"runCount\",\"textInputCost\",\"cachedTextInputCost\",\"imageInputCost\",\"cachedImageInputCost\",\"imageOutputCost\"].forEach(function(name){setResult(name,\"N\/A\");});\n        return;\n      }\n      root.setAttribute(\"data-state\",\"ready\");\n      errorNode.hidden=true;\n      errorNode.textContent=\"\";\n      setResult(\"oneRequest\",formatUsd(result.oneRequest));\n      setResult(\"batch\",formatUsd(result.batch));\n      setResult(\"perAcceptable\",formatUsd(result.perAcceptable));\n      setResult(\"acceptableCount\",formatCount(result.acceptableCount));\n      setResult(\"runCount\",formatCount(result.values.runs));\n      Object.keys(result.breakdown).forEach(function(name){setResult(name,formatUsd(result.breakdown[name]));});\n    }\n    Object.keys(fields).forEach(function(name){fields[name].addEventListener(\"input\",update);fields[name].addEventListener(\"change\",update);});\n    form.addEventListener(\"reset\",function(){global.setTimeout(update,0);});\n    update();\n  });\n})(typeof globalThis!==\"undefined\"?globalThis:this);\n<\/script>\n\n\n\n<p class=\"wp-block-paragraph\">For production planning, also track cost per acceptable output: total batch cost divided by the number of outputs that pass your task-specific gate. That is your own operating metric, not an OpenAI billing unit. A request that is cheap but unusable can be more expensive than a higher-token result that ships without regeneration.<\/p>\n\n\n\n<style>.g25workflow,.g25workflow *{box-sizing:border-box}.g25workflow{margin:28px 0;padding:22px 24px;border:1px solid #d4c589;border-radius:8px;background:#fff9e8;color:#302a18;font-family:Inter,-apple-system,BlinkMacSystemFont,\"Segoe UI\",sans-serif}.g25workflow h3{margin:0 0 8px;font-size:19px;letter-spacing:0}.g25workflow p{margin:0;line-height:1.7}.g25workflow a{color:#66520b;font-weight:800;text-underline-offset:3px}@media(max-width:600px){.g25workflow{padding:18px}}<\/style>\n<aside class=\"g25workflow\"><h3>Metered API or subscription workflow?<\/h3><p>The direct API is the programmatic path: each request is automated in code and billed by token usage. GlobalGPT offers an affordable subscription-style workflow for teams that need multiple image models and AI functions across a complete creative-to-delivery process. You can <a href=\"https:\/\/www.glbgpt.com\/image?inviter=hub_features_image&amp;login=1\">connect image workflows with GlobalGPT<\/a> in one dashboard, then use the CLI to carry that work into the terminal, development environments, existing production tools, and production pipelines.<\/p><\/aside>\n\n\n\n<h2 id=\"rate-limits-production-planning\" class=\"wp-block-heading\">Rate limits and production planning<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Rate limits include tokens per minute (TPM) and images per minute (IPM). Plan against both: a request can fit the image count limit while still exceeding token throughput. The two official GPT Image 2.5 model pages currently show the same table.<\/p>\n\n\n\n<style>.g25limits,.g25limits *{box-sizing:border-box}.g25limits{margin:24px 0;overflow-x:auto;border:1px solid #d5dbd7;border-radius:8px;background:#fff}.g25limits table{width:100%;min-width:520px;border-collapse:collapse;color:#17221b;font-family:Inter,-apple-system,BlinkMacSystemFont,\"Segoe UI\",sans-serif}.g25limits caption{padding:16px;text-align:left;font-size:18px;font-weight:800}.g25limits th,.g25limits td{padding:12px 16px;border-top:1px solid #e2e6e3;text-align:left;font-variant-numeric:tabular-nums}.g25limits th{background:#f3f6f4;font-size:12px;text-transform:uppercase}.g25limits td:first-child{font-weight:750}<\/style>\n<div class=\"g25limits\"><table><caption>Documented GPT Image 2.5 limits by usage tier<\/caption><thead><tr><th>Usage tier<\/th><th>TPM<\/th><th>IPM<\/th><\/tr><\/thead><tbody><tr><td>\u0411\u0435\u0441\u043f\u043b\u0430\u0442\u043d\u043e<\/td><td>\u041d\u0435 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442\u0441\u044f<\/td><td>\u041d\u0435 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442\u0441\u044f<\/td><\/tr><tr><td>\u0423\u0440\u043e\u0432\u0435\u043d\u044c 1<\/td><td>100,000<\/td><td>5<\/td><\/tr><tr><td>\u0423\u0440\u043e\u0432\u0435\u043d\u044c 2<\/td><td>250,000<\/td><td>20<\/td><\/tr><tr><td>\u0423\u0440\u043e\u0432\u0435\u043d\u044c 3<\/td><td>800,000<\/td><td>50<\/td><\/tr><tr><td>\u0423\u0440\u043e\u0432\u0435\u043d\u044c 4<\/td><td>3,000,000<\/td><td>150<\/td><\/tr><tr><td>\u0423\u0440\u043e\u0432\u0435\u043d\u044c 5<\/td><td>8,000,000<\/td><td>250<\/td><\/tr><\/tbody><\/table><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">Retries, concurrency, and failure classes<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Separate authentication, invalid-parameter, rate-limit, capacity, transport, timeout, and invalid-output events in logs. Authentication or parameter errors usually need a configuration fix, not a retry. Rate-limit and capacity responses may justify bounded backoff. Transport failures and timeouts need an idempotency strategy so the application does not accidentally create duplicate billable work.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Most importantly, an operational failure is not an image-quality result. Only score quality after a valid, decodable output exists. Record observed latency with route, date, endpoint, and request conditions; one venue&#8217;s latency is not a permanent model speed claim.<\/p>\n\n\n\n<h2 id=\"controlled-anywhere-tests\" class=\"wp-block-heading\">What happened in controlled Anywhere GPT Image 2.5 tests<\/h2>\n\n\n\n<style>.g25setup,.g25setup *{box-sizing:border-box}.g25setup{margin:24px 0;border:1px solid #bfd0c5;border-radius:8px;background:#f5f8f6;color:#17231c;font-family:Inter,-apple-system,BlinkMacSystemFont,\"Segoe UI\",sans-serif;overflow:hidden}.g25setup header{padding:18px 20px;background:#e7efe9;border-bottom:1px solid #bfd0c5}.g25setup h3{margin:0;font-size:20px;letter-spacing:0}.g25setup dl{display:grid;grid-template-columns:180px minmax(0,1fr);margin:0;padding:18px 20px;gap:10px 18px}.g25setup dt{font-weight:800}.g25setup dd{margin:0;line-height:1.55}.g25setup p{margin:0;padding:0 20px 18px;line-height:1.65}.g25setup code{overflow-wrap:anywhere}@media(max-width:620px){.g25setup dl{grid-template-columns:1fr;gap:4px}.g25setup dd{margin-bottom:8px}}<\/style>\n<section class=\"g25setup\"><header><h3>Controlled test setup<\/h3><\/header><dl><dt>Execution venue<\/dt><dd>Anywhere, using its OpenAI-compatible endpoints<\/dd><dt>Route tested<\/dt><dd><code>gpt-image-2.5<\/code>, with no exposed Flare\/Sunburst selector<\/dd><dt>Formal test date<\/dt><dd>9 \u0441\u0435\u043d\u0442\u044f\u0431\u0440\u044f 2026 \u0433\u043e\u0434\u0430<\/dd><dt>Evidence rule<\/dt><dd>Frozen prompts and inputs; preserve the first valid output; no cosmetic reruns<\/dd><dt>\u041f\u043e\u0434\u0441\u0447\u0451\u0442 \u043e\u0447\u043a\u043e\u0432<\/dt><dd>Task-specific checks for text, count, order, requested edits, preservation, and obvious artifacts<\/dd><dt>Cost method<\/dt><dd>Anywhere-returned usage mapped to OpenAI&#8217;s official token rates; not an Anywhere invoice<\/dd><\/dl><p>These results describe five valid first outputs and five failed cases from this batch. They do not establish native OpenAI performance, identify Flare or Sunburst, or prove production reliability.<\/p><\/section>\n\n\n\n<figure class=\"wp-block-image size-full g25media\" data-media-status=\"verified\" data-media-id=\"19127\" data-media-filename=\"04-assets\/evidence\/gpt-image-25-frozen-fixtures.webp\"><img decoding=\"async\" src=\"https:\/\/wp.glbgpt.com\/wp-content\/uploads\/2026\/09\/gpt-image-25-frozen-fixtures.webp\" alt=\"Four frozen input fixtures used in the GPT Image 2.5 API tests\" class=\"wp-image-19127\" width=\"1800\" height=\"1000\" srcset=\"https:\/\/wp.glbgpt.com\/wp-content\/uploads\/2026\/09\/gpt-image-25-frozen-fixtures.webp 1800w, https:\/\/wp.glbgpt.com\/wp-content\/uploads\/2026\/09\/gpt-image-25-frozen-fixtures-300x167.webp 300w, https:\/\/wp.glbgpt.com\/wp-content\/uploads\/2026\/09\/gpt-image-25-frozen-fixtures-1024x569.webp 1024w, https:\/\/wp.glbgpt.com\/wp-content\/uploads\/2026\/09\/gpt-image-25-frozen-fixtures-768x427.webp 768w, https:\/\/wp.glbgpt.com\/wp-content\/uploads\/2026\/09\/gpt-image-25-frozen-fixtures-1536x853.webp 1536w, https:\/\/wp.glbgpt.com\/wp-content\/uploads\/2026\/09\/gpt-image-25-frozen-fixtures-18x10.webp 18w\" sizes=\"(max-width: 1800px) 100vw, 1800px\" \/><figcaption class=\"wp-element-caption\">The unmodified square fixture sources shown on one horizontal evidence canvas.<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">The generation, edit, and reference-composition tasks below each used one first valid output. The five successful formal requests had a combined calculated cost of <strong>$0.088603<\/strong>. That total excludes failed requests, fixture creation, the readiness probe, and the hero image.<\/p>\n\n\n\n<style>.g25r-g01,.g25r-g01 *{box-sizing:border-box}.g25r-g01{margin:24px 0;border:1px solid #d4dad6;border-radius:8px;background:#fff;color:#17221b;overflow:hidden;font-family:Inter,-apple-system,BlinkMacSystemFont,\"Segoe UI\",sans-serif}.g25r-g01__body{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(210px,.6fr);gap:18px;padding:20px}.g25r-g01 h3{margin:0 0 8px;font-size:21px}.g25r-g01 p{margin:0 0 10px;line-height:1.65}.g25r-g01 dl{margin:0;padding:15px;background:#f4f7f5;border-radius:6px}.g25r-g01 dt{font-size:11px;font-weight:800;text-transform:uppercase}.g25r-g01 dd{margin:2px 0 12px;font-weight:750}.g25r-g01 small{display:block;color:#5d6961}.g25r-g01 figure{margin:0;border-top:1px solid #e0e5e2}.g25r-g01 img{display:block;width:100%;height:auto}@media(max-width:680px){.g25r-g01__body{grid-template-columns:1fr}}<\/style>\n<section class=\"g25r-g01\"><div class=\"g25r-g01__body\"><div><h3>G01: exact-text product ad<\/h3><p>The prompt required the line <strong>MAKE ROOM FOR IDEAS<\/strong> exactly once, one lamp, a fixed composition, and explicit exclusions. The first valid output reproduced the text once and passed every declared check.<\/p><small>Tested via Anywhere&#8217;s unified gpt-image-2.5 route on September 9, 2026.<\/small><\/div><dl><dt>\u0421\u0442\u0430\u0442\u0443\u0441<\/dt><dd>Valid first output<\/dd><dt>\u041e\u0446\u0435\u043d\u043a\u0430 \u0437\u0430\u0434\u0430\u043d\u0438\u044f<\/dt><dd>10\/10<\/dd><dt>Elapsed time<\/dt><dd>6,150 ms<\/dd><dt>Calculated cost<\/dt><dd>$0.041645<\/dd><\/dl><\/div><style>.g25case-g01,.g25case-g01 *{box-sizing:border-box}.g25case-g01{margin:0 20px 20px}.g25case-g01__analysis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0 0 14px}.g25case-g01__analysis div{padding:13px;border:1px solid #d8dfda;border-radius:6px;background:#f8faf8}.g25case-g01__analysis strong{display:block;margin-bottom:5px;font-size:11px;text-transform:uppercase}.g25case-g01 details{border:1px solid #cbd4ce;border-radius:6px;overflow:hidden}.g25case-g01 summary{padding:12px 14px;background:#edf3ef;font-weight:800;cursor:pointer}.g25case-g01__raw{padding:16px}.g25case-g01 blockquote{margin:8px 0 16px;padding:13px 15px;border-left:4px solid #367052;background:#f6f8f6;white-space:normal;line-height:1.65}.g25case-g01 h4{margin:18px 0 8px;font-size:15px}.g25case-g01 ul{margin:8px 0 16px;padding-left:20px}.g25case-g01 li{margin-bottom:7px;line-height:1.55}.g25case-g01__raw .g25case__settings{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin:0;border:1px solid #d8dfda;border-radius:6px;overflow:hidden}.g25case-g01__raw .g25case__settings div{display:grid;grid-template-columns:minmax(120px,.8fr) minmax(0,1fr);margin:0;padding:9px 11px;border-bottom:1px solid #d8dfda}.g25case-g01__raw .g25case__settings div:nth-last-child(-n+2){border-bottom:0}.g25case-g01__raw .g25case__settings dt,.g25case-g01__raw .g25case__settings dd{margin:0}.g25case-g01__checks{display:grid;gap:8px}.g25case-g01__check{padding:11px 12px;border:1px solid #d8dfda;border-radius:6px}.g25case-g01__check-head{display:flex;justify-content:space-between;gap:12px;margin:0 0 5px;font-weight:800}.g25case-g01__check p:last-child{margin:0;line-height:1.5}.g25case-g01 code{overflow-wrap:anywhere}@media(max-width:700px){.g25case-g01{margin:0 14px 16px}.g25case-g01__analysis{grid-template-columns:1fr}.g25case-g01__raw{padding:12px}.g25case-g01__raw .g25case__settings{grid-template-columns:1fr}.g25case-g01__raw .g25case__settings div{grid-template-columns:minmax(110px,.8fr) minmax(0,1fr)}.g25case-g01__raw .g25case__settings div:nth-last-child(2){border-bottom:1px solid #d8dfda}}<\/style><div class=\"g25case-g01\"><div class=\"g25case-g01__analysis\"><div><strong>Capability analysis<\/strong>On this single first output, the route handled exact visible text, object count, composition, and negative constraints together.<\/div><div><strong>\u041e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0435<\/strong>One successful ad does not establish a general text-rendering success rate, and the unified route did not identify Flare or Sunburst.<\/div><div><strong>\u041f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0432\u044b\u0432\u043e\u0434<\/strong>Use a frozen copy line and count every visible text instance. This output passed without regeneration.<\/div><\/div><details open><summary>Exact request, complete inputs, settings, and objective checks<\/summary><div class=\"g25case-g01__raw\" data-raw-evidence><p><strong>\u0421\u0442\u0430\u0442\u0443\u0441:<\/strong> valid_output on attempt 1; first valid output preserved.<\/p><p><strong>\u041c\u0430\u0440\u0448\u0440\u0443\u0442:<\/strong> Anywhere OpenAI-compatible <code>\/images\/generations<\/code> \u0441 <code>gpt-image-2.5<\/code>.<\/p><h4>\u0422\u043e\u0447\u043d\u044b\u0439 \u0442\u0435\u043a\u0441\u0442 \u0437\u0430\u043f\u0440\u043e\u0441\u0430<\/h4><blockquote>Create a 3:2 horizontal studio product advertisement for a fictional matte-black portable desk lamp on a clean white and pale gray set. Show exactly one lamp, angled slightly to the right, with a soft warm pool of light and generous negative space. Include exactly one line of text: &quot;MAKE ROOM FOR IDEAS&quot;. Set that line in clear uppercase sans-serif letters centered in the upper third. No other text, no logo, no watermark, no people, and no extra products.<\/blockquote><p><strong>Complete input:<\/strong> Text only. No image input was supplied.<\/p><h4>Actual request settings<\/h4><dl class=\"g25case__settings\"><div><dt><code>\u0440\u0430\u0437\u043c\u0435\u0440<\/code><\/dt><dd><code>1536x1024<\/code><\/dd><\/div><div><dt><code>\u043a\u0430\u0447\u0435\u0441\u0442\u0432\u043e<\/code><\/dt><dd><code>\u0432\u044b\u0441\u043e\u043a\u0438\u0439<\/code><\/dd><\/div><div><dt><code>output_format<\/code><\/dt><dd><code>webp<\/code><\/dd><\/div><div><dt><code>\u0444\u043e\u043d<\/code><\/dt><dd><code>opaque<\/code><\/dd><\/div><div><dt><code>n<\/code><\/dt><dd><code>1<\/code><\/dd><\/div><\/dl><h4>\u041e\u0431\u044a\u0435\u043a\u0442\u0438\u0432\u043d\u044b\u0435 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438<\/h4><div class=\"g25case-g01__checks\"><div class=\"g25case-g01__check\"><p class=\"g25case-g01__check-head\"><code>exact_text<\/code><span>2\/2<\/span><\/p><p>MAKE ROOM FOR IDEAS appears once, complete and correctly spelled; no additional text is visible.<\/p><\/div><div class=\"g25case-g01__check\"><p class=\"g25case-g01__check-head\"><code>required_object<\/code><span>2\/2<\/span><\/p><p>Exactly one complete matte-black desk lamp is present.<\/p><\/div><div class=\"g25case-g01__check\"><p class=\"g25case-g01__check-head\"><code>\u0441\u043e\u0441\u0442\u0430\u0432<\/code><span>2\/2<\/span><\/p><p>The lamp faces right, the warm light pool is visible, negative space is preserved, and the text sits in the upper third.<\/p><\/div><div class=\"g25case-g01__check\"><p class=\"g25case-g01__check-head\"><code>prohibitions<\/code><span>2\/2<\/span><\/p><p>No logo, watermark, people, or extra products are visible.<\/p><\/div><div class=\"g25case-g01__check\"><p class=\"g25case-g01__check-head\"><code>first_output_usability<\/code><span>2\/2<\/span><\/p><p>The first valid output is usable without regeneration or major reconstruction.<\/p><\/div><\/div><h4>Complete output<\/h4><p>The complete 1536\u00d71024 first-valid output appears immediately below this evidence panel. The response returned PNG even though the request asked for WebP.<\/p><\/div><\/details><\/div><figure class=\"wp-block-image size-full g25media\" data-media-status=\"verified\" data-media-id=\"19126\" data-media-filename=\"04-assets\/webp\/gpt-image-25-exact-text-ad.webp\"><img decoding=\"async\" src=\"https:\/\/wp.glbgpt.com\/wp-content\/uploads\/2026\/09\/gpt-image-25-exact-text-ad.webp\" alt=\"First unified-route GPT Image 2.5 output with one desk lamp and the line MAKE ROOM FOR IDEAS\" class=\"wp-image-19126\" width=\"1536\" height=\"1024\" srcset=\"https:\/\/wp.glbgpt.com\/wp-content\/uploads\/2026\/09\/gpt-image-25-exact-text-ad.webp 1536w, https:\/\/wp.glbgpt.com\/wp-content\/uploads\/2026\/09\/gpt-image-25-exact-text-ad-300x200.webp 300w, https:\/\/wp.glbgpt.com\/wp-content\/uploads\/2026\/09\/gpt-image-25-exact-text-ad-1024x683.webp 1024w, https:\/\/wp.glbgpt.com\/wp-content\/uploads\/2026\/09\/gpt-image-25-exact-text-ad-768x512.webp 768w, https:\/\/wp.glbgpt.com\/wp-content\/uploads\/2026\/09\/gpt-image-25-exact-text-ad-18x12.webp 18w\" sizes=\"(max-width: 1536px) 100vw, 1536px\" \/><figcaption class=\"wp-element-caption\">Complete first valid G01 output; no quality rerun.<\/figcaption><\/figure><\/section>\n\n\n\n<style>.g25r-g02,.g25r-g02 *{box-sizing:border-box}.g25r-g02{margin:24px 0;border:1px solid #d4dad6;border-radius:8px;background:#fff;color:#17221b;overflow:hidden;font-family:Inter,-apple-system,BlinkMacSystemFont,\"Segoe UI\",sans-serif}.g25r-g02__body{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(210px,.6fr);gap:18px;padding:20px}.g25r-g02 h3{margin:0 0 8px;font-size:21px}.g25r-g02 p{margin:0 0 10px;line-height:1.65}.g25r-g02 dl{margin:0;padding:15px;background:#f4f7f5;border-radius:6px}.g25r-g02 dt{font-size:11px;font-weight:800;text-transform:uppercase}.g25r-g02 dd{margin:2px 0 12px;font-weight:750}.g25r-g02 small{display:block;color:#5d6961}.g25r-g02 figure{margin:0;border-top:1px solid #e0e5e2}.g25r-g02 img{display:block;width:100%;height:auto}@media(max-width:680px){.g25r-g02__body{grid-template-columns:1fr}}<\/style>\n<section class=\"g25r-g02\"><div class=\"g25r-g02__body\"><div><h3>G02: counted-object layout<\/h3><p>The request specified exactly three objects: a blue glass sphere, a yellow folded fan, and a steel cube in left-to-right order. The first valid output preserved the count, sequence, and recognizable materials.<\/p><small>Tested via Anywhere&#8217;s unified gpt-image-2.5 route on September 9, 2026.<\/small><\/div><dl><dt>\u0421\u0442\u0430\u0442\u0443\u0441<\/dt><dd>Valid first output<\/dd><dt>\u041e\u0446\u0435\u043d\u043a\u0430 \u0437\u0430\u0434\u0430\u043d\u0438\u044f<\/dt><dd>10\/10<\/dd><dt>Elapsed time<\/dt><dd>33,577 ms<\/dd><dt>Calculated cost<\/dt><dd>$0.005505<\/dd><\/dl><\/div><style>.g25case-g02,.g25case-g02 *{box-sizing:border-box}.g25case-g02{margin:0 20px 20px}.g25case-g02__analysis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0 0 14px}.g25case-g02__analysis div{padding:13px;border:1px solid #d8dfda;border-radius:6px;background:#f8faf8}.g25case-g02__analysis strong{display:block;margin-bottom:5px;font-size:11px;text-transform:uppercase}.g25case-g02 details{border:1px solid #cbd4ce;border-radius:6px;overflow:hidden}.g25case-g02 summary{padding:12px 14px;background:#edf3ef;font-weight:800;cursor:pointer}.g25case-g02__raw{padding:16px}.g25case-g02 blockquote{margin:8px 0 16px;padding:13px 15px;border-left:4px solid #367052;background:#f6f8f6;white-space:normal;line-height:1.65}.g25case-g02 h4{margin:18px 0 8px;font-size:15px}.g25case-g02 ul{margin:8px 0 16px;padding-left:20px}.g25case-g02 li{margin-bottom:7px;line-height:1.55}.g25case-g02__raw .g25case__settings{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin:0;border:1px solid #d8dfda;border-radius:6px;overflow:hidden}.g25case-g02__raw .g25case__settings div{display:grid;grid-template-columns:minmax(120px,.8fr) minmax(0,1fr);margin:0;padding:9px 11px;border-bottom:1px solid #d8dfda}.g25case-g02__raw .g25case__settings div:nth-last-child(-n+2){border-bottom:0}.g25case-g02__raw .g25case__settings dt,.g25case-g02__raw .g25case__settings dd{margin:0}.g25case-g02__checks{display:grid;gap:8px}.g25case-g02__check{padding:11px 12px;border:1px solid #d8dfda;border-radius:6px}.g25case-g02__check-head{display:flex;justify-content:space-between;gap:12px;margin:0 0 5px;font-weight:800}.g25case-g02__check p:last-child{margin:0;line-height:1.5}.g25case-g02 code{overflow-wrap:anywhere}@media(max-width:700px){.g25case-g02{margin:0 14px 16px}.g25case-g02__analysis{grid-template-columns:1fr}.g25case-g02__raw{padding:12px}.g25case-g02__raw .g25case__settings{grid-template-columns:1fr}.g25case-g02__raw .g25case__settings div{grid-template-columns:minmax(110px,.8fr) minmax(0,1fr)}.g25case-g02__raw .g25case__settings div:nth-last-child(2){border-bottom:1px solid #d8dfda}}<\/style><div class=\"g25case-g02\"><div class=\"g25case-g02__analysis\"><div><strong>Capability analysis<\/strong>The first output followed a three-object count, left-center-right order, requested colors, and distinct material cues.<\/div><div><strong>\u041e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0435<\/strong>The observation covers one controlled still life, not arbitrary object-counting complexity or repeated production reliability.<\/div><div><strong>\u041f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0432\u044b\u0432\u043e\u0434<\/strong>Explicit count, order, materials, and exclusions produced an immediately usable result in this case.<\/div><\/div><details open><summary>Exact request, complete inputs, settings, and objective checks<\/summary><div class=\"g25case-g02__raw\" data-raw-evidence><p><strong>\u0421\u0442\u0430\u0442\u0443\u0441:<\/strong> valid_output on attempt 1; first valid output preserved.<\/p><p><strong>\u041c\u0430\u0440\u0448\u0440\u0443\u0442:<\/strong> Anywhere OpenAI-compatible <code>\/images\/generations<\/code> \u0441 <code>gpt-image-2.5<\/code>.<\/p><h4>\u0422\u043e\u0447\u043d\u044b\u0439 \u0442\u0435\u043a\u0441\u0442 \u0437\u0430\u043f\u0440\u043e\u0441\u0430<\/h4><blockquote>Create a 3:2 horizontal editorial still life on a charcoal and off-white studio set. Show exactly three objects: one cobalt-blue glass sphere on the left, one folded yellow paper fan in the center, and one brushed-steel cube on the right. Keep all three fully visible, evenly spaced, and lit by one soft light from the upper left. No text, no logo, no watermark, no people, no extra objects, and no decorative symbols.<\/blockquote><p><strong>Complete input:<\/strong> Text only. No image input was supplied.<\/p><h4>Actual request settings<\/h4><dl class=\"g25case__settings\"><div><dt><code>\u0440\u0430\u0437\u043c\u0435\u0440<\/code><\/dt><dd><code>1536x1024<\/code><\/dd><\/div><div><dt><code>\u043a\u0430\u0447\u0435\u0441\u0442\u0432\u043e<\/code><\/dt><dd><code>\u0432\u044b\u0441\u043e\u043a\u0438\u0439<\/code><\/dd><\/div><div><dt><code>output_format<\/code><\/dt><dd><code>webp<\/code><\/dd><\/div><div><dt><code>\u0444\u043e\u043d<\/code><\/dt><dd><code>opaque<\/code><\/dd><\/div><div><dt><code>n<\/code><\/dt><dd><code>1<\/code><\/dd><\/div><\/dl><h4>\u041e\u0431\u044a\u0435\u043a\u0442\u0438\u0432\u043d\u044b\u0435 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438<\/h4><div class=\"g25case-g02__checks\"><div class=\"g25case-g02__check\"><p class=\"g25case-g02__check-head\"><code>object_count<\/code><span>2\/2<\/span><\/p><p>Exactly one blue glass sphere, one yellow folded fan, and one steel cube are present.<\/p><\/div><div class=\"g25case-g02__check\"><p class=\"g25case-g02__check-head\"><code>order_and_visibility<\/code><span>2\/2<\/span><\/p><p>The objects are fully visible in the required left, center, and right order.<\/p><\/div><div class=\"g25case-g02__check\"><p class=\"g25case-g02__check-head\"><code>materials_and_colors<\/code><span>2\/2<\/span><\/p><p>The glass, paper, and brushed-metal materials and requested colors are clear.<\/p><\/div><div class=\"g25case-g02__check\"><p class=\"g25case-g02__check-head\"><code>lighting_and_spacing<\/code><span>2\/2<\/span><\/p><p>The scene uses coherent upper-left lighting and even spacing.<\/p><\/div><div class=\"g25case-g02__check\"><p class=\"g25case-g02__check-head\"><code>prohibitions_and_artifacts<\/code><span>2\/2<\/span><\/p><p>No text, logo, watermark, people, extra objects, or major artifacts are visible.<\/p><\/div><\/div><h4>Complete output<\/h4><p>The complete 1536\u00d71024 first-valid output appears immediately below this evidence panel. The response returned PNG even though the request asked for WebP.<\/p><\/div><\/details><\/div><figure class=\"wp-block-image size-full g25media\" data-media-status=\"verified\" data-media-id=\"19124\" data-media-filename=\"04-assets\/webp\/gpt-image-25-counted-object-layout.webp\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/wp.glbgpt.com\/wp-content\/uploads\/2026\/09\/gpt-image-25-counted-object-layout.webp\" alt=\"Blue glass sphere, yellow folded fan, and steel cube in the requested order\" class=\"wp-image-19124\" width=\"1536\" height=\"1024\" srcset=\"https:\/\/wp.glbgpt.com\/wp-content\/uploads\/2026\/09\/gpt-image-25-counted-object-layout.webp 1536w, https:\/\/wp.glbgpt.com\/wp-content\/uploads\/2026\/09\/gpt-image-25-counted-object-layout-300x200.webp 300w, https:\/\/wp.glbgpt.com\/wp-content\/uploads\/2026\/09\/gpt-image-25-counted-object-layout-1024x683.webp 1024w, https:\/\/wp.glbgpt.com\/wp-content\/uploads\/2026\/09\/gpt-image-25-counted-object-layout-768x512.webp 768w, https:\/\/wp.glbgpt.com\/wp-content\/uploads\/2026\/09\/gpt-image-25-counted-object-layout-18x12.webp 18w\" sizes=\"(max-width: 1536px) 100vw, 1536px\" \/><figcaption class=\"wp-element-caption\">Complete first valid G02 output; no quality rerun.<\/figcaption><\/figure><\/section>\n\n\n\n<style>.g25r-e01,.g25r-e01 *{box-sizing:border-box}.g25r-e01{margin:24px 0;border:1px solid #d4dad6;border-radius:8px;background:#fff;color:#17221b;overflow:hidden;font-family:Inter,-apple-system,BlinkMacSystemFont,\"Segoe UI\",sans-serif}.g25r-e01__body{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(210px,.6fr);gap:18px;padding:20px}.g25r-e01 h3{margin:0 0 8px;font-size:21px}.g25r-e01 p{margin:0 0 10px;line-height:1.65}.g25r-e01 dl{margin:0;padding:15px;background:#f4f7f5;border-radius:6px}.g25r-e01 dt{font-size:11px;font-weight:800;text-transform:uppercase}.g25r-e01 dd{margin:2px 0 12px;font-weight:750}.g25r-e01 small{display:block;color:#5d6961}.g25r-e01 figure{margin:0;border-top:1px solid #e0e5e2}.g25r-e01 img{display:block;width:100%;height:auto}@media(max-width:680px){.g25r-e01__body{grid-template-columns:1fr}}<\/style>\n<section class=\"g25r-e01\"><div class=\"g25r-e01__body\"><div><h3>E01: change one color<\/h3><p>The edit changed the matte-black lamp shade to cobalt blue while keeping the product recognizable. It lost one point because converting the square source to a 3:2 output introduced mild reframing and reconstruction outside the target attribute.<\/p><small>Tested via Anywhere&#8217;s unified gpt-image-2.5 route on September 9, 2026.<\/small><\/div><dl><dt>\u0421\u0442\u0430\u0442\u0443\u0441<\/dt><dd>Valid first output<\/dd><dt>\u041e\u0446\u0435\u043d\u043a\u0430 \u0437\u0430\u0434\u0430\u043d\u0438\u044f<\/dt><dd>9\/10<\/dd><dt>Elapsed time<\/dt><dd>41,387 ms<\/dd><dt>Calculated cost<\/dt><dd>$0.016320<\/dd><\/dl><\/div><style>.g25case-e01,.g25case-e01 *{box-sizing:border-box}.g25case-e01{margin:0 20px 20px}.g25case-e01__analysis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0 0 14px}.g25case-e01__analysis div{padding:13px;border:1px solid #d8dfda;border-radius:6px;background:#f8faf8}.g25case-e01__analysis strong{display:block;margin-bottom:5px;font-size:11px;text-transform:uppercase}.g25case-e01 details{border:1px solid #cbd4ce;border-radius:6px;overflow:hidden}.g25case-e01 summary{padding:12px 14px;background:#edf3ef;font-weight:800;cursor:pointer}.g25case-e01__raw{padding:16px}.g25case-e01 blockquote{margin:8px 0 16px;padding:13px 15px;border-left:4px solid #367052;background:#f6f8f6;white-space:normal;line-height:1.65}.g25case-e01 h4{margin:18px 0 8px;font-size:15px}.g25case-e01 ul{margin:8px 0 16px;padding-left:20px}.g25case-e01 li{margin-bottom:7px;line-height:1.55}.g25case-e01__raw .g25case__settings{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin:0;border:1px solid #d8dfda;border-radius:6px;overflow:hidden}.g25case-e01__raw .g25case__settings div{display:grid;grid-template-columns:minmax(120px,.8fr) minmax(0,1fr);margin:0;padding:9px 11px;border-bottom:1px solid #d8dfda}.g25case-e01__raw .g25case__settings div:nth-last-child(-n+2){border-bottom:0}.g25case-e01__raw .g25case__settings dt,.g25case-e01__raw .g25case__settings dd{margin:0}.g25case-e01__checks{display:grid;gap:8px}.g25case-e01__check{padding:11px 12px;border:1px solid #d8dfda;border-radius:6px}.g25case-e01__check-head{display:flex;justify-content:space-between;gap:12px;margin:0 0 5px;font-weight:800}.g25case-e01__check p:last-child{margin:0;line-height:1.5}.g25case-e01 code{overflow-wrap:anywhere}@media(max-width:700px){.g25case-e01{margin:0 14px 16px}.g25case-e01__analysis{grid-template-columns:1fr}.g25case-e01__raw{padding:12px}.g25case-e01__raw .g25case__settings{grid-template-columns:1fr}.g25case-e01__raw .g25case__settings div{grid-template-columns:minmax(110px,.8fr) minmax(0,1fr)}.g25case-e01__raw .g25case__settings div:nth-last-child(2){border-bottom:1px solid #d8dfda}}<\/style><div class=\"g25case-e01\"><div class=\"g25case-e01__analysis\"><div><strong>Capability analysis<\/strong>The requested shade-color change succeeded while the lamp&#39;s main identity, structure, and lighting remained coherent.<\/div><div><strong>\u041e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0435<\/strong>The square-to-3:2 conversion caused mild reframing and reconstruction, so non-target preservation was not pixel-exact.<\/div><div><strong>\u041f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0432\u044b\u0432\u043e\u0434<\/strong>Keep source and output aspect ratios aligned when strict preservation matters, then inspect every non-target region.<\/div><\/div><details open><summary>Exact request, complete inputs, settings, and objective checks<\/summary><div class=\"g25case-e01__raw\" data-raw-evidence><p><strong>\u0421\u0442\u0430\u0442\u0443\u0441:<\/strong> valid_output on attempt 1; first valid output preserved.<\/p><p><strong>\u041c\u0430\u0440\u0448\u0440\u0443\u0442:<\/strong> Anywhere OpenAI-compatible <code>\/images\/edits<\/code> \u0441 <code>gpt-image-2.5<\/code>.<\/p><h4>\u0422\u043e\u0447\u043d\u044b\u0439 \u0442\u0435\u043a\u0441\u0442 \u0437\u0430\u043f\u0440\u043e\u0441\u0430<\/h4><blockquote>Edit only the lamp shade color from matte black to cobalt blue. Preserve the lamp&#39;s exact shape, position, scale, base, arm, switch, shadows, warm light, background, camera angle, crop, and every other visible detail. Add no text, logo, watermark, person, or extra object.<\/blockquote><p><strong>Complete image input:<\/strong><\/p><ul><li>Input 1: <code>00-control\/fixtures\/edit-source-lamp.png<\/code> (1,328,812 bytes; SHA-256 <code>a93d7c90aa57c7949939f011918fcfe531f34fa039859d043556c0cd26dcea2b<\/code>)<\/li><\/ul><figure class=\"wp-block-image size-full g25media\" data-media-status=\"verified\" data-media-id=\"19125\" data-media-filename=\"04-assets\/evidence\/gpt-image-25-edit-evidence.webp\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/wp.glbgpt.com\/wp-content\/uploads\/2026\/09\/gpt-image-25-edit-evidence.webp\" alt=\"Frozen lamp source beside the E01 and E02 edit outputs\" class=\"wp-image-19125\" width=\"1800\" height=\"1000\" srcset=\"https:\/\/wp.glbgpt.com\/wp-content\/uploads\/2026\/09\/gpt-image-25-edit-evidence.webp 1800w, https:\/\/wp.glbgpt.com\/wp-content\/uploads\/2026\/09\/gpt-image-25-edit-evidence-300x167.webp 300w, https:\/\/wp.glbgpt.com\/wp-content\/uploads\/2026\/09\/gpt-image-25-edit-evidence-1024x569.webp 1024w, https:\/\/wp.glbgpt.com\/wp-content\/uploads\/2026\/09\/gpt-image-25-edit-evidence-768x427.webp 768w, https:\/\/wp.glbgpt.com\/wp-content\/uploads\/2026\/09\/gpt-image-25-edit-evidence-1536x853.webp 1536w, https:\/\/wp.glbgpt.com\/wp-content\/uploads\/2026\/09\/gpt-image-25-edit-evidence-18x10.webp 18w\" sizes=\"(max-width: 1800px) 100vw, 1800px\" \/><figcaption class=\"wp-element-caption\">Input evidence: the exact frozen source is the left panel; the complete E01 output also appears below.<\/figcaption><\/figure><h4>Actual request settings<\/h4><dl class=\"g25case__settings\"><div><dt><code>\u0440\u0430\u0437\u043c\u0435\u0440<\/code><\/dt><dd><code>1536x1024<\/code><\/dd><\/div><div><dt><code>\u043a\u0430\u0447\u0435\u0441\u0442\u0432\u043e<\/code><\/dt><dd><code>\u0432\u044b\u0441\u043e\u043a\u0438\u0439<\/code><\/dd><\/div><div><dt><code>output_format<\/code><\/dt><dd><code>webp<\/code><\/dd><\/div><div><dt><code>\u0444\u043e\u043d<\/code><\/dt><dd><code>opaque<\/code><\/dd><\/div><div><dt><code>n<\/code><\/dt><dd><code>1<\/code><\/dd><\/div><\/dl><h4>\u041e\u0431\u044a\u0435\u043a\u0442\u0438\u0432\u043d\u044b\u0435 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438<\/h4><div class=\"g25case-e01__checks\"><div class=\"g25case-e01__check\"><p class=\"g25case-e01__check-head\"><code>requested_change<\/code><span>2\/2<\/span><\/p><p>The shade changes from matte black to cobalt blue.<\/p><\/div><div class=\"g25case-e01__check\"><p class=\"g25case-e01__check-head\"><code>geometry_position_scale_crop<\/code><span>1\/2<\/span><\/p><p>The lamp remains recognizable, but the square source is reframed and slightly reconstructed for the 3:2 output.<\/p><\/div><div class=\"g25case-e01__check\"><p class=\"g25case-e01__check-head\"><code>non_target_preservation<\/code><span>2\/2<\/span><\/p><p>The base, arm, switch, bulb, and black non-target regions remain materially consistent.<\/p><\/div><div class=\"g25case-e01__check\"><p class=\"g25case-e01__check-head\"><code>lighting_edges_materials<\/code><span>2\/2<\/span><\/p><p>Lighting, shadows, edges, and material rendering remain coherent.<\/p><\/div><div class=\"g25case-e01__check\"><p class=\"g25case-e01__check-head\"><code>first_output_usability<\/code><span>2\/2<\/span><\/p><p>The first valid output is usable without regeneration or major repair.<\/p><\/div><\/div><h4>Complete output<\/h4><p>The complete 1536\u00d71024 first-valid output appears immediately below this evidence panel. The response returned PNG even though the request asked for WebP.<\/p><\/div><\/details><\/div><figure class=\"wp-block-image size-full g25media\" data-media-status=\"verified\" data-media-id=\"19123\" data-media-filename=\"04-assets\/webp\/gpt-image-25-color-edit.webp\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/wp.glbgpt.com\/wp-content\/uploads\/2026\/09\/gpt-image-25-color-edit.webp\" alt=\"Desk lamp with its shade edited from matte black to cobalt blue\" class=\"wp-image-19123\" width=\"1536\" height=\"1024\" srcset=\"https:\/\/wp.glbgpt.com\/wp-content\/uploads\/2026\/09\/gpt-image-25-color-edit.webp 1536w, https:\/\/wp.glbgpt.com\/wp-content\/uploads\/2026\/09\/gpt-image-25-color-edit-300x200.webp 300w, https:\/\/wp.glbgpt.com\/wp-content\/uploads\/2026\/09\/gpt-image-25-color-edit-1024x683.webp 1024w, https:\/\/wp.glbgpt.com\/wp-content\/uploads\/2026\/09\/gpt-image-25-color-edit-768x512.webp 768w, https:\/\/wp.glbgpt.com\/wp-content\/uploads\/2026\/09\/gpt-image-25-color-edit-18x12.webp 18w\" sizes=\"(max-width: 1536px) 100vw, 1536px\" \/><figcaption class=\"wp-element-caption\">Complete first valid E01 output; the target edit succeeded with mild reframing.<\/figcaption><\/figure><\/section>\n\n\n\n<style>.g25r-e02,.g25r-e02 *{box-sizing:border-box}.g25r-e02{margin:24px 0;border:1px solid #d4dad6;border-radius:8px;background:#fff;color:#17221b;overflow:hidden;font-family:Inter,-apple-system,BlinkMacSystemFont,\"Segoe UI\",sans-serif}.g25r-e02__body{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(210px,.6fr);gap:18px;padding:20px}.g25r-e02 h3{margin:0 0 8px;font-size:21px}.g25r-e02 p{margin:0 0 10px;line-height:1.65}.g25r-e02 dl{margin:0;padding:15px;background:#f4f7f5;border-radius:6px}.g25r-e02 dt{font-size:11px;font-weight:800;text-transform:uppercase}.g25r-e02 dd{margin:2px 0 12px;font-weight:750}.g25r-e02 small{display:block;color:#5d6961}.g25r-e02 figure{margin:0;border-top:1px solid #e0e5e2}.g25r-e02 img{display:block;width:100%;height:auto}@media(max-width:680px){.g25r-e02__body{grid-template-columns:1fr}}<\/style>\n<section class=\"g25r-e02\"><div class=\"g25r-e02__body\"><div><h3>E02: replace the background<\/h3><p>The edit changed the background to soft mint green and kept the lamp materially consistent. As with E01, the requested change passed while the aspect-ratio conversion caused slight reframing and reconstruction.<\/p><small>Tested via Anywhere&#8217;s unified gpt-image-2.5 route on September 9, 2026.<\/small><\/div><dl><dt>\u0421\u0442\u0430\u0442\u0443\u0441<\/dt><dd>Valid first output<\/dd><dt>\u041e\u0446\u0435\u043d\u043a\u0430 \u0437\u0430\u0434\u0430\u043d\u0438\u044f<\/dt><dd>9\/10<\/dd><dt>Elapsed time<\/dt><dd>50,151 ms<\/dd><dt>Calculated cost<\/dt><dd>$0.007208<\/dd><\/dl><\/div><style>.g25case-e02,.g25case-e02 *{box-sizing:border-box}.g25case-e02{margin:0 20px 20px}.g25case-e02__analysis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0 0 14px}.g25case-e02__analysis div{padding:13px;border:1px solid #d8dfda;border-radius:6px;background:#f8faf8}.g25case-e02__analysis strong{display:block;margin-bottom:5px;font-size:11px;text-transform:uppercase}.g25case-e02 details{border:1px solid #cbd4ce;border-radius:6px;overflow:hidden}.g25case-e02 summary{padding:12px 14px;background:#edf3ef;font-weight:800;cursor:pointer}.g25case-e02__raw{padding:16px}.g25case-e02 blockquote{margin:8px 0 16px;padding:13px 15px;border-left:4px solid #367052;background:#f6f8f6;white-space:normal;line-height:1.65}.g25case-e02 h4{margin:18px 0 8px;font-size:15px}.g25case-e02 ul{margin:8px 0 16px;padding-left:20px}.g25case-e02 li{margin-bottom:7px;line-height:1.55}.g25case-e02__raw .g25case__settings{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin:0;border:1px solid #d8dfda;border-radius:6px;overflow:hidden}.g25case-e02__raw .g25case__settings div{display:grid;grid-template-columns:minmax(120px,.8fr) minmax(0,1fr);margin:0;padding:9px 11px;border-bottom:1px solid #d8dfda}.g25case-e02__raw .g25case__settings div:nth-last-child(-n+2){border-bottom:0}.g25case-e02__raw .g25case__settings dt,.g25case-e02__raw .g25case__settings dd{margin:0}.g25case-e02__checks{display:grid;gap:8px}.g25case-e02__check{padding:11px 12px;border:1px solid #d8dfda;border-radius:6px}.g25case-e02__check-head{display:flex;justify-content:space-between;gap:12px;margin:0 0 5px;font-weight:800}.g25case-e02__check p:last-child{margin:0;line-height:1.5}.g25case-e02 code{overflow-wrap:anywhere}@media(max-width:700px){.g25case-e02{margin:0 14px 16px}.g25case-e02__analysis{grid-template-columns:1fr}.g25case-e02__raw{padding:12px}.g25case-e02__raw .g25case__settings{grid-template-columns:1fr}.g25case-e02__raw .g25case__settings div{grid-template-columns:minmax(110px,.8fr) minmax(0,1fr)}.g25case-e02__raw .g25case__settings div:nth-last-child(2){border-bottom:1px solid #d8dfda}}<\/style><div class=\"g25case-e02\"><div class=\"g25case-e02__analysis\"><div><strong>Capability analysis<\/strong>The route replaced the studio background while preserving the lamp&#39;s main black materials and recognizable geometry.<\/div><div><strong>\u041e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0435<\/strong>As in E01, the new 3:2 canvas introduced slight reframing and reconstruction beyond the requested background change.<\/div><div><strong>\u041f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0432\u044b\u0432\u043e\u0434<\/strong>Background replacement was usable on the first output, but aspect-ratio changes should be reviewed as a separate risk.<\/div><\/div><details open><summary>Exact request, complete inputs, settings, and objective checks<\/summary><div class=\"g25case-e02__raw\" data-raw-evidence><p><strong>\u0421\u0442\u0430\u0442\u0443\u0441:<\/strong> valid_output on attempt 1; first valid output preserved.<\/p><p><strong>\u041c\u0430\u0440\u0448\u0440\u0443\u0442:<\/strong> Anywhere OpenAI-compatible <code>\/images\/edits<\/code> \u0441 <code>gpt-image-2.5<\/code>.<\/p><h4>\u0422\u043e\u0447\u043d\u044b\u0439 \u0442\u0435\u043a\u0441\u0442 \u0437\u0430\u043f\u0440\u043e\u0441\u0430<\/h4><blockquote>Change only the studio background from pale gray to a flat soft mint green. Preserve every part of the matte-black lamp, including its color, shape, position, scale, base, arm, switch, illuminated bulb, warm light, shadows, camera angle, and crop. Add no text, logo, watermark, person, or extra object.<\/blockquote><p><strong>Complete image input:<\/strong><\/p><ul><li>Input 1: <code>00-control\/fixtures\/edit-source-lamp.png<\/code> (1,328,812 bytes; SHA-256 <code>a93d7c90aa57c7949939f011918fcfe531f34fa039859d043556c0cd26dcea2b<\/code>)<\/li><\/ul><figure class=\"wp-block-image size-full g25media\" data-media-status=\"verified\" data-media-id=\"19125\" data-media-filename=\"04-assets\/evidence\/gpt-image-25-edit-evidence.webp\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/wp.glbgpt.com\/wp-content\/uploads\/2026\/09\/gpt-image-25-edit-evidence.webp\" alt=\"Frozen lamp source beside the E01 and E02 edit outputs\" class=\"wp-image-19125\" width=\"1800\" height=\"1000\" srcset=\"https:\/\/wp.glbgpt.com\/wp-content\/uploads\/2026\/09\/gpt-image-25-edit-evidence.webp 1800w, https:\/\/wp.glbgpt.com\/wp-content\/uploads\/2026\/09\/gpt-image-25-edit-evidence-300x167.webp 300w, https:\/\/wp.glbgpt.com\/wp-content\/uploads\/2026\/09\/gpt-image-25-edit-evidence-1024x569.webp 1024w, https:\/\/wp.glbgpt.com\/wp-content\/uploads\/2026\/09\/gpt-image-25-edit-evidence-768x427.webp 768w, https:\/\/wp.glbgpt.com\/wp-content\/uploads\/2026\/09\/gpt-image-25-edit-evidence-1536x853.webp 1536w, https:\/\/wp.glbgpt.com\/wp-content\/uploads\/2026\/09\/gpt-image-25-edit-evidence-18x10.webp 18w\" sizes=\"(max-width: 1800px) 100vw, 1800px\" \/><figcaption class=\"wp-element-caption\">Input evidence: the exact frozen source is the left panel; the complete E02 output also appears below.<\/figcaption><\/figure><h4>Actual request settings<\/h4><dl class=\"g25case__settings\"><div><dt><code>\u0440\u0430\u0437\u043c\u0435\u0440<\/code><\/dt><dd><code>1536x1024<\/code><\/dd><\/div><div><dt><code>\u043a\u0430\u0447\u0435\u0441\u0442\u0432\u043e<\/code><\/dt><dd><code>\u0432\u044b\u0441\u043e\u043a\u0438\u0439<\/code><\/dd><\/div><div><dt><code>output_format<\/code><\/dt><dd><code>webp<\/code><\/dd><\/div><div><dt><code>\u0444\u043e\u043d<\/code><\/dt><dd><code>opaque<\/code><\/dd><\/div><div><dt><code>n<\/code><\/dt><dd><code>1<\/code><\/dd><\/div><\/dl><h4>\u041e\u0431\u044a\u0435\u043a\u0442\u0438\u0432\u043d\u044b\u0435 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438<\/h4><div class=\"g25case-e02__checks\"><div class=\"g25case-e02__check\"><p class=\"g25case-e02__check-head\"><code>requested_change<\/code><span>2\/2<\/span><\/p><p>The studio background changes to soft mint green.<\/p><\/div><div class=\"g25case-e02__check\"><p class=\"g25case-e02__check-head\"><code>geometry_position_scale_crop<\/code><span>1\/2<\/span><\/p><p>The lamp remains recognizable, but the square source is reframed and slightly reconstructed for the 3:2 output.<\/p><\/div><div class=\"g25case-e02__check\"><p class=\"g25case-e02__check-head\"><code>non_target_preservation<\/code><span>2\/2<\/span><\/p><p>The lamp remains matte black and retains its major base, arm, shade, switch, and bulb details.<\/p><\/div><div class=\"g25case-e02__check\"><p class=\"g25case-e02__check-head\"><code>lighting_edges_materials<\/code><span>2\/2<\/span><\/p><p>Lighting, shadows, edges, and materials remain coherent after the background edit.<\/p><\/div><div class=\"g25case-e02__check\"><p class=\"g25case-e02__check-head\"><code>first_output_usability<\/code><span>2\/2<\/span><\/p><p>The first valid output is usable without regeneration or major repair.<\/p><\/div><\/div><h4>Complete output<\/h4><p>The complete 1536\u00d71024 first-valid output appears immediately below this evidence panel. The response returned PNG even though the request asked for WebP.<\/p><\/div><\/details><\/div><figure class=\"wp-block-image size-full g25media\" data-media-status=\"verified\" data-media-id=\"19122\" data-media-filename=\"04-assets\/webp\/gpt-image-25-background-edit.webp\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/wp.glbgpt.com\/wp-content\/uploads\/2026\/09\/gpt-image-25-background-edit.webp\" alt=\"Matte-black desk lamp on a soft mint-green background\" class=\"wp-image-19122\" width=\"1536\" height=\"1024\" srcset=\"https:\/\/wp.glbgpt.com\/wp-content\/uploads\/2026\/09\/gpt-image-25-background-edit.webp 1536w, https:\/\/wp.glbgpt.com\/wp-content\/uploads\/2026\/09\/gpt-image-25-background-edit-300x200.webp 300w, https:\/\/wp.glbgpt.com\/wp-content\/uploads\/2026\/09\/gpt-image-25-background-edit-1024x683.webp 1024w, https:\/\/wp.glbgpt.com\/wp-content\/uploads\/2026\/09\/gpt-image-25-background-edit-768x512.webp 768w, https:\/\/wp.glbgpt.com\/wp-content\/uploads\/2026\/09\/gpt-image-25-background-edit-18x12.webp 18w\" sizes=\"(max-width: 1536px) 100vw, 1536px\" \/><figcaption class=\"wp-element-caption\">Complete first valid E02 output; the background edit succeeded.<\/figcaption><\/figure><\/section>\n\n\n\n<style>.g25r-m01,.g25r-m01 *{box-sizing:border-box}.g25r-m01{margin:24px 0;border:1px solid #d4dad6;border-radius:8px;background:#fff;color:#17221b;overflow:hidden;font-family:Inter,-apple-system,BlinkMacSystemFont,\"Segoe UI\",sans-serif}.g25r-m01__body{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(210px,.6fr);gap:18px;padding:20px}.g25r-m01 h3{margin:0 0 8px;font-size:21px}.g25r-m01 p{margin:0 0 10px;line-height:1.65}.g25r-m01 dl{margin:0;padding:15px;background:#f4f7f5;border-radius:6px}.g25r-m01 dt{font-size:11px;font-weight:800;text-transform:uppercase}.g25r-m01 dd{margin:2px 0 12px;font-weight:750}.g25r-m01 small{display:block;color:#5d6961}.g25r-m01 figure{margin:0;border-top:1px solid #e0e5e2}.g25r-m01 img{display:block;width:100%;height:auto}@media(max-width:680px){.g25r-m01__body{grid-template-columns:1fr}}<\/style>\n<section class=\"g25r-m01\"><div class=\"g25r-m01__body\"><div><h3>M01: combine three references<\/h3><p>The output retained the green lamp, coral notebook, and blue mug and placed them in the requested left-center-right arrangement. This shows success on one frozen three-reference composition, not a general guarantee for the documented maximum of 16 inputs.<\/p><small>Tested via Anywhere&#8217;s unified gpt-image-2.5 route on September 9, 2026.<\/small><\/div><dl><dt>\u0421\u0442\u0430\u0442\u0443\u0441<\/dt><dd>Valid first output<\/dd><dt>\u041e\u0446\u0435\u043d\u043a\u0430 \u0437\u0430\u0434\u0430\u043d\u0438\u044f<\/dt><dd>10\/10<\/dd><dt>Elapsed time<\/dt><dd>105,469 ms<\/dd><dt>Calculated cost<\/dt><dd>$0.017925<\/dd><\/dl><\/div><style>.g25case-m01,.g25case-m01 *{box-sizing:border-box}.g25case-m01{margin:0 20px 20px}.g25case-m01__analysis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0 0 14px}.g25case-m01__analysis div{padding:13px;border:1px solid #d8dfda;border-radius:6px;background:#f8faf8}.g25case-m01__analysis strong{display:block;margin-bottom:5px;font-size:11px;text-transform:uppercase}.g25case-m01 details{border:1px solid #cbd4ce;border-radius:6px;overflow:hidden}.g25case-m01 summary{padding:12px 14px;background:#edf3ef;font-weight:800;cursor:pointer}.g25case-m01__raw{padding:16px}.g25case-m01 blockquote{margin:8px 0 16px;padding:13px 15px;border-left:4px solid #367052;background:#f6f8f6;white-space:normal;line-height:1.65}.g25case-m01 h4{margin:18px 0 8px;font-size:15px}.g25case-m01 ul{margin:8px 0 16px;padding-left:20px}.g25case-m01 li{margin-bottom:7px;line-height:1.55}.g25case-m01__raw .g25case__settings{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin:0;border:1px solid #d8dfda;border-radius:6px;overflow:hidden}.g25case-m01__raw .g25case__settings div{display:grid;grid-template-columns:minmax(120px,.8fr) minmax(0,1fr);margin:0;padding:9px 11px;border-bottom:1px solid #d8dfda}.g25case-m01__raw .g25case__settings div:nth-last-child(-n+2){border-bottom:0}.g25case-m01__raw .g25case__settings dt,.g25case-m01__raw .g25case__settings dd{margin:0}.g25case-m01__checks{display:grid;gap:8px}.g25case-m01__check{padding:11px 12px;border:1px solid #d8dfda;border-radius:6px}.g25case-m01__check-head{display:flex;justify-content:space-between;gap:12px;margin:0 0 5px;font-weight:800}.g25case-m01__check p:last-child{margin:0;line-height:1.5}.g25case-m01 code{overflow-wrap:anywhere}@media(max-width:700px){.g25case-m01{margin:0 14px 16px}.g25case-m01__analysis{grid-template-columns:1fr}.g25case-m01__raw{padding:12px}.g25case-m01__raw .g25case__settings{grid-template-columns:1fr}.g25case-m01__raw .g25case__settings div{grid-template-columns:minmax(110px,.8fr) minmax(0,1fr)}.g25case-m01__raw .g25case__settings div:nth-last-child(2){border-bottom:1px solid #d8dfda}}<\/style><div class=\"g25case-m01\"><div class=\"g25case-m01__analysis\"><div><strong>Capability analysis<\/strong>The route retained three distinct reference identities, materials, counts, and their requested spatial relationship in one scene.<\/div><div><strong>\u041e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0435<\/strong>This is one three-reference composition; it does not prove equivalent preservation with the documented maximum of 16 inputs.<\/div><div><strong>\u041f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0432\u044b\u0432\u043e\u0434<\/strong>Supply references in a declared order, name each placement, and score identity and count separately from visual polish.<\/div><\/div><details open><summary>Exact request, complete inputs, settings, and objective checks<\/summary><div class=\"g25case-m01__raw\" data-raw-evidence><p><strong>\u0421\u0442\u0430\u0442\u0443\u0441:<\/strong> valid_output on attempt 1; first valid output preserved.<\/p><p><strong>\u041c\u0430\u0440\u0448\u0440\u0443\u0442:<\/strong> Anywhere OpenAI-compatible <code>\/images\/edits<\/code> \u0441 <code>gpt-image-2.5<\/code>.<\/p><h4>\u0422\u043e\u0447\u043d\u044b\u0439 \u0442\u0435\u043a\u0441\u0442 \u0437\u0430\u043f\u0440\u043e\u0441\u0430<\/h4><blockquote>Using the three reference images in their supplied order, create a 3:2 horizontal desk scene. Preserve the distinctive shape and material of each reference object. Place the lamp once on the left, the closed notebook once in the center, and the mug once on the right. The lamp casts a warm pool of light across the notebook without hiding it. Clean neutral studio background. No text, no logo, no watermark, no people, no duplicate objects, and no additional products.<\/blockquote><p><strong>Complete image inputs:<\/strong><\/p><ul><li>Input 1: <code>00-control\/fixtures\/ref-lamp.png<\/code> (1,334,151 bytes; SHA-256 <code>40c72915de60ba32e70de009b12619f3ffa8643460fd8e8326ffe3d94d215987<\/code>)<\/li><li>Input 2: <code>00-control\/fixtures\/ref-notebook.png<\/code> (2,067,635 bytes; SHA-256 <code>e96298c43d0b04ec4f50aa66d9a4005f3236fa51d945394d257303dd9e790179<\/code>)<\/li><li>Input 3: <code>00-control\/fixtures\/ref-mug.png<\/code> (1,444,324 bytes; SHA-256 <code>1d4cec622254b8533c5122fc5c0b2432b38e39fb3c16412dab02b744de5e538f<\/code>)<\/li><\/ul><figure class=\"wp-block-image size-full g25media\" data-media-status=\"verified\" data-media-id=\"19130\" data-media-filename=\"04-assets\/evidence\/gpt-image-25-multi-reference-evidence.webp\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/wp.glbgpt.com\/wp-content\/uploads\/2026\/09\/gpt-image-25-multi-reference-evidence.webp\" alt=\"Three frozen references above the complete M01 desk composition\" class=\"wp-image-19130\" width=\"1800\" height=\"1200\" srcset=\"https:\/\/wp.glbgpt.com\/wp-content\/uploads\/2026\/09\/gpt-image-25-multi-reference-evidence.webp 1800w, https:\/\/wp.glbgpt.com\/wp-content\/uploads\/2026\/09\/gpt-image-25-multi-reference-evidence-300x200.webp 300w, https:\/\/wp.glbgpt.com\/wp-content\/uploads\/2026\/09\/gpt-image-25-multi-reference-evidence-1024x683.webp 1024w, https:\/\/wp.glbgpt.com\/wp-content\/uploads\/2026\/09\/gpt-image-25-multi-reference-evidence-768x512.webp 768w, https:\/\/wp.glbgpt.com\/wp-content\/uploads\/2026\/09\/gpt-image-25-multi-reference-evidence-1536x1024.webp 1536w, https:\/\/wp.glbgpt.com\/wp-content\/uploads\/2026\/09\/gpt-image-25-multi-reference-evidence-18x12.webp 18w\" sizes=\"(max-width: 1800px) 100vw, 1800px\" \/><figcaption class=\"wp-element-caption\">Complete M01 input set and combined-output evidence.<\/figcaption><\/figure><h4>Actual request settings<\/h4><dl class=\"g25case__settings\"><div><dt><code>\u0440\u0430\u0437\u043c\u0435\u0440<\/code><\/dt><dd><code>1536x1024<\/code><\/dd><\/div><div><dt><code>\u043a\u0430\u0447\u0435\u0441\u0442\u0432\u043e<\/code><\/dt><dd><code>\u0432\u044b\u0441\u043e\u043a\u0438\u0439<\/code><\/dd><\/div><div><dt><code>output_format<\/code><\/dt><dd><code>webp<\/code><\/dd><\/div><div><dt><code>\u0444\u043e\u043d<\/code><\/dt><dd><code>opaque<\/code><\/dd><\/div><div><dt><code>n<\/code><\/dt><dd><code>1<\/code><\/dd><\/div><\/dl><h4>\u041e\u0431\u044a\u0435\u043a\u0442\u0438\u0432\u043d\u044b\u0435 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438<\/h4><div class=\"g25case-m01__checks\"><div class=\"g25case-m01__check\"><p class=\"g25case-m01__check-head\"><code>object_presence_and_count<\/code><span>2\/2<\/span><\/p><p>One lamp, one closed notebook, and one mug are present.<\/p><\/div><div class=\"g25case-m01__check\"><p class=\"g25case-m01__check-head\"><code>reference_identity<\/code><span>2\/2<\/span><\/p><p>The green-and-brass lamp, coral notebook, and blue ribbed mug preserve their distinctive identities and materials.<\/p><\/div><div class=\"g25case-m01__check\"><p class=\"g25case-m01__check-head\"><code>spatial_relation<\/code><span>2\/2<\/span><\/p><p>The lamp is left, notebook center, and mug right as requested.<\/p><\/div><div class=\"g25case-m01__check\"><p class=\"g25case-m01__check-head\"><code>scene_coherence<\/code><span>2\/2<\/span><\/p><p>Scale, perspective, lighting, shadows, and the warm pool of light are coherent.<\/p><\/div><div class=\"g25case-m01__check\"><p class=\"g25case-m01__check-head\"><code>prohibitions_and_artifacts<\/code><span>2\/2<\/span><\/p><p>No text, logo, watermark, people, duplicate products, substitutions, or material artifacts are visible.<\/p><\/div><\/div><h4>Complete output<\/h4><p>The complete 1536\u00d71024 first-valid output appears immediately below this evidence panel. The response returned PNG even though the request asked for WebP.<\/p><\/div><\/details><\/div><figure class=\"wp-block-image size-full g25media\" data-media-status=\"verified\" data-media-id=\"19129\" data-media-filename=\"04-assets\/webp\/gpt-image-25-multi-reference-desk.webp\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/wp.glbgpt.com\/wp-content\/uploads\/2026\/09\/gpt-image-25-multi-reference-desk.webp\" alt=\"Green lamp, coral notebook, and blue mug arranged left to right\" class=\"wp-image-19129\" width=\"1536\" height=\"1024\" srcset=\"https:\/\/wp.glbgpt.com\/wp-content\/uploads\/2026\/09\/gpt-image-25-multi-reference-desk.webp 1536w, https:\/\/wp.glbgpt.com\/wp-content\/uploads\/2026\/09\/gpt-image-25-multi-reference-desk-300x200.webp 300w, https:\/\/wp.glbgpt.com\/wp-content\/uploads\/2026\/09\/gpt-image-25-multi-reference-desk-1024x683.webp 1024w, https:\/\/wp.glbgpt.com\/wp-content\/uploads\/2026\/09\/gpt-image-25-multi-reference-desk-768x512.webp 768w, https:\/\/wp.glbgpt.com\/wp-content\/uploads\/2026\/09\/gpt-image-25-multi-reference-desk-18x12.webp 18w\" sizes=\"(max-width: 1536px) 100vw, 1536px\" \/><figcaption class=\"wp-element-caption\">Complete first valid M01 multiple-reference output.<\/figcaption><\/figure><\/section>\n\n\n\n<p class=\"wp-block-paragraph\">Across the five valid first outputs, the declared checks passed strongly: three scored 10\/10 and two scored 9\/10. The useful boundary is equally important. This is task-level evidence from one compatibility route, with no repeat batch and no disclosed official variant. For better results in your own work, use a fixed brief, explicit constraints, consistent references, and a review gate; this <a href=\"https:\/\/www.glbgpt.com\/hub\/how-to-improve-ai-image-generation-accuracy\/\">guide to improve AI image generation accuracy<\/a> expands that workflow.<\/p>\n\n\n\n<style>.g25fail-m02,.g25fail-m02 *{box-sizing:border-box}.g25fail-m02{margin:18px 0;padding:18px 20px;border:1px solid #dfc0bb;border-left:5px solid #9b3e34;border-radius:8px;background:#fff6f4;color:#40221e;font-family:Inter,-apple-system,BlinkMacSystemFont,\"Segoe UI\",sans-serif}.g25fail-m02 h3{margin:0 0 7px;font-size:18px}.g25fail-m02 p{margin:0;line-height:1.65}.g25fail-m02 strong{color:#742d25}<\/style>\n<aside class=\"g25fail-m02\"><h3>M02: no valid output<\/h3><p>The first attempt ended in a read timeout; the single allowed retry ended in a DNS-resolution failure. <strong>No image was returned and no quality score was assigned.<\/strong> This is transport evidence from the tested venue, not a multiple-reference quality verdict.<\/p><style>.g25failure-detail,.g25failure-detail *{box-sizing:border-box}.g25failure-detail{margin-top:14px}.g25failure-detail details{border-top:1px solid #dfc0bb;padding-top:12px}.g25failure-detail summary{font-weight:800;cursor:pointer}.g25failure-detail__raw{max-width:100%;padding-top:12px}.g25failure-detail blockquote{margin:8px 0 14px;padding:12px 14px;border-left:4px solid #9b3e34;background:#fff;line-height:1.6}.g25failure-detail .g25case__settings{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:0;border:1px solid #dfc0bb;background:#fff}.g25failure-detail .g25case__settings div{display:grid;grid-template-columns:minmax(120px,.8fr) minmax(0,1fr);padding:9px 10px;border-bottom:1px solid #dfc0bb}.g25failure-detail .g25case__settings dt,.g25failure-detail .g25case__settings dd{margin:0}.g25failure-detail__tablewrap{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.g25failure-detail table{width:100%;min-width:560px;border-collapse:collapse;background:#fff}.g25failure-detail th,.g25failure-detail td{padding:8px;border:1px solid #dfc0bb;text-align:left;vertical-align:top;line-height:1.45}.g25failure-detail th{font-size:11px;text-transform:uppercase}.g25failure-detail code{overflow-wrap:anywhere}@media(max-width:600px){.g25failure-detail .g25case__settings{grid-template-columns:1fr}.g25failure-detail .g25case__settings div{grid-template-columns:minmax(105px,.8fr) minmax(0,1fr)}.g25failure-detail table{display:block;min-width:0}.g25failure-detail thead{display:none}.g25failure-detail tbody,.g25failure-detail tr,.g25failure-detail td{display:block;width:100%}.g25failure-detail tr{margin-bottom:10px;border:1px solid #dfc0bb;background:#fff}.g25failure-detail td{display:grid;grid-template-columns:82px minmax(0,1fr);gap:8px;border:0;border-bottom:1px solid #f0d9d5}.g25failure-detail td:last-child{border-bottom:0}.g25failure-detail td::before{content:attr(data-label);font-size:10px;font-weight:800;text-transform:uppercase}}<\/style><div class=\"g25failure-detail\"><details open><summary>Exact request, settings, inputs, and attempt status<\/summary><div class=\"g25failure-detail__raw\" data-raw-evidence><p><strong>\u041c\u0430\u0440\u0448\u0440\u0443\u0442:<\/strong> Anywhere OpenAI-compatible <code>\/images\/edits<\/code> \u0441 <code>gpt-image-2.5<\/code>.<\/p><h4>\u0422\u043e\u0447\u043d\u044b\u0439 \u0442\u0435\u043a\u0441\u0442 \u0437\u0430\u043f\u0440\u043e\u0441\u0430<\/h4><blockquote>Using the same three reference images in their supplied order, create a 3:2 horizontal overhead flat-lay scene while preserving each object&#39;s distinctive material and shape. Place the closed notebook vertically in the center, the mug once above and to the right of it, and the lamp once along the left edge pointing toward the notebook. Keep all objects fully visible with realistic scale and shadows. Warm white surface. No text, no logo, no watermark, no people, no duplicates, and no additional products.<\/blockquote><p><strong>Complete image inputs:<\/strong><\/p><ul><li>Input 1: <code>00-control\/fixtures\/ref-lamp.png<\/code> (1,334,151 bytes; SHA-256 <code>40c72915de60ba32e70de009b12619f3ffa8643460fd8e8326ffe3d94d215987<\/code>)<\/li><li>Input 2: <code>00-control\/fixtures\/ref-notebook.png<\/code> (2,067,635 bytes; SHA-256 <code>e96298c43d0b04ec4f50aa66d9a4005f3236fa51d945394d257303dd9e790179<\/code>)<\/li><li>Input 3: <code>00-control\/fixtures\/ref-mug.png<\/code> (1,444,324 bytes; SHA-256 <code>1d4cec622254b8533c5122fc5c0b2432b38e39fb3c16412dab02b744de5e538f<\/code>)<\/li><\/ul><h4>Actual request settings<\/h4><dl class=\"g25case__settings\"><div><dt><code>\u0440\u0430\u0437\u043c\u0435\u0440<\/code><\/dt><dd><code>1536x1024<\/code><\/dd><\/div><div><dt><code>\u043a\u0430\u0447\u0435\u0441\u0442\u0432\u043e<\/code><\/dt><dd><code>\u0432\u044b\u0441\u043e\u043a\u0438\u0439<\/code><\/dd><\/div><div><dt><code>output_format<\/code><\/dt><dd><code>webp<\/code><\/dd><\/div><div><dt><code>\u0444\u043e\u043d<\/code><\/dt><dd><code>opaque<\/code><\/dd><\/div><div><dt><code>n<\/code><\/dt><dd><code>1<\/code><\/dd><\/div><\/dl><h4>Attempt status<\/h4><div class=\"g25failure-detail__tablewrap\"><table><thead><tr><th>Attempt<\/th><th>Class<\/th><th>HTTP<\/th><th>\u041f\u0440\u043e\u0448\u0435\u0434\u0448\u0435\u0435 \u0432\u0440\u0435\u043c\u044f<\/th><th>\u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442<\/th><\/tr><\/thead><tbody><tr><td data-label=\"Attempt\">1<\/td><td data-label=\"Class\">transport<\/td><td data-label=\"HTTP\">No response<\/td><td data-label=\"Elapsed\">302,385 ms<\/td><td data-label=\"Result\">read timeout<\/td><\/tr><tr><td data-label=\"Attempt\">2<\/td><td data-label=\"Class\">transport<\/td><td data-label=\"HTTP\">No response<\/td><td data-label=\"Elapsed\">13 ms<\/td><td data-label=\"Result\">DNS resolution failure<\/td><\/tr><\/tbody><\/table><\/div><p><strong>Failure boundary:<\/strong> No valid image exists, so capability, visual quality, output usage, and calculated cost cannot be scored.<\/p><\/div><\/details><\/div><\/aside>\n\n\n\n<style>.g25fail-a01,.g25fail-a01 *{box-sizing:border-box}.g25fail-a01{margin:18px 0;padding:18px 20px;border:1px solid #dfc0bb;border-left:5px solid #9b3e34;border-radius:8px;background:#fff6f4;color:#40221e;font-family:Inter,-apple-system,BlinkMacSystemFont,\"Segoe UI\",sans-serif}.g25fail-a01 h3{margin:0 0 7px;font-size:18px}.g25fail-a01 p{margin:0;line-height:1.65}.g25fail-a01 strong{color:#742d25}<\/style>\n<aside class=\"g25fail-a01\"><h3>A01: transparency gate not reached<\/h3><p>Both attempts returned HTTP 530 and no PNG. <strong>The alpha-channel check was therefore not executed and no quality score was assigned.<\/strong> Official documentation supports transparent PNG and WebP output; this failed route run neither confirms nor contradicts that capability.<\/p><style>.g25failure-detail,.g25failure-detail *{box-sizing:border-box}.g25failure-detail{margin-top:14px}.g25failure-detail details{border-top:1px solid #dfc0bb;padding-top:12px}.g25failure-detail summary{font-weight:800;cursor:pointer}.g25failure-detail__raw{max-width:100%;padding-top:12px}.g25failure-detail blockquote{margin:8px 0 14px;padding:12px 14px;border-left:4px solid #9b3e34;background:#fff;line-height:1.6}.g25failure-detail .g25case__settings{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:0;border:1px solid #dfc0bb;background:#fff}.g25failure-detail .g25case__settings div{display:grid;grid-template-columns:minmax(120px,.8fr) minmax(0,1fr);padding:9px 10px;border-bottom:1px solid #dfc0bb}.g25failure-detail .g25case__settings dt,.g25failure-detail .g25case__settings dd{margin:0}.g25failure-detail__tablewrap{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.g25failure-detail table{width:100%;min-width:560px;border-collapse:collapse;background:#fff}.g25failure-detail th,.g25failure-detail td{padding:8px;border:1px solid #dfc0bb;text-align:left;vertical-align:top;line-height:1.45}.g25failure-detail th{font-size:11px;text-transform:uppercase}.g25failure-detail code{overflow-wrap:anywhere}@media(max-width:600px){.g25failure-detail .g25case__settings{grid-template-columns:1fr}.g25failure-detail .g25case__settings div{grid-template-columns:minmax(105px,.8fr) minmax(0,1fr)}.g25failure-detail table{display:block;min-width:0}.g25failure-detail thead{display:none}.g25failure-detail tbody,.g25failure-detail tr,.g25failure-detail td{display:block;width:100%}.g25failure-detail tr{margin-bottom:10px;border:1px solid #dfc0bb;background:#fff}.g25failure-detail td{display:grid;grid-template-columns:82px minmax(0,1fr);gap:8px;border:0;border-bottom:1px solid #f0d9d5}.g25failure-detail td:last-child{border-bottom:0}.g25failure-detail td::before{content:attr(data-label);font-size:10px;font-weight:800;text-transform:uppercase}}<\/style><div class=\"g25failure-detail\"><details open><summary>Exact request, settings, inputs, and attempt status<\/summary><div class=\"g25failure-detail__raw\" data-raw-evidence><p><strong>\u041c\u0430\u0440\u0448\u0440\u0443\u0442:<\/strong> Anywhere OpenAI-compatible <code>\/images\/edits<\/code> \u0441 <code>gpt-image-2.5<\/code>.<\/p><h4>\u0422\u043e\u0447\u043d\u044b\u0439 \u0442\u0435\u043a\u0441\u0442 \u0437\u0430\u043f\u0440\u043e\u0441\u0430<\/h4><blockquote>Isolate the complete desk lamp from the reference image and place it on a fully transparent background. Preserve the lamp&#39;s shape, matte-black materials, switch, and warm illuminated bulb. Keep the entire object inside the canvas with clean natural edges. No floor, no shadow beyond a subtle semi-transparent contact shadow, no text, no logo, no watermark, no people, and no extra objects.<\/blockquote><p><strong>Complete image input:<\/strong><\/p><ul><li>Input 1: <code>00-control\/fixtures\/edit-source-lamp.png<\/code> (1,328,812 bytes; SHA-256 <code>a93d7c90aa57c7949939f011918fcfe531f34fa039859d043556c0cd26dcea2b<\/code>)<\/li><\/ul><h4>Actual request settings<\/h4><dl class=\"g25case__settings\"><div><dt><code>\u0440\u0430\u0437\u043c\u0435\u0440<\/code><\/dt><dd><code>1536x1024<\/code><\/dd><\/div><div><dt><code>\u043a\u0430\u0447\u0435\u0441\u0442\u0432\u043e<\/code><\/dt><dd><code>\u0432\u044b\u0441\u043e\u043a\u0438\u0439<\/code><\/dd><\/div><div><dt><code>output_format<\/code><\/dt><dd><code>png<\/code><\/dd><\/div><div><dt><code>\u0444\u043e\u043d<\/code><\/dt><dd><code>transparent<\/code><\/dd><\/div><div><dt><code>n<\/code><\/dt><dd><code>1<\/code><\/dd><\/div><\/dl><h4>Attempt status<\/h4><div class=\"g25failure-detail__tablewrap\"><table><thead><tr><th>Attempt<\/th><th>Class<\/th><th>HTTP<\/th><th>\u041f\u0440\u043e\u0448\u0435\u0434\u0448\u0435\u0435 \u0432\u0440\u0435\u043c\u044f<\/th><th>\u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442<\/th><\/tr><\/thead><tbody><tr><td data-label=\"Attempt\">1<\/td><td data-label=\"Class\">capacity<\/td><td data-label=\"HTTP\">530<\/td><td data-label=\"Elapsed\">3,922 ms<\/td><td data-label=\"Result\">No valid output<\/td><\/tr><tr><td data-label=\"Attempt\">2<\/td><td data-label=\"Class\">capacity<\/td><td data-label=\"HTTP\">530<\/td><td data-label=\"Elapsed\">2,920 ms<\/td><td data-label=\"Result\">No valid output<\/td><\/tr><\/tbody><\/table><\/div><p><strong>Failure boundary:<\/strong> No valid image exists, so capability, visual quality, output usage, and calculated cost cannot be scored.<\/p><\/div><\/details><\/div><\/aside>\n\n\n\n<style>.g25fail-q,.g25fail-q *{box-sizing:border-box}.g25fail-q{margin:18px 0;padding:18px 20px;border:1px solid #dfc0bb;border-left:5px solid #9b3e34;border-radius:8px;background:#fff6f4;color:#40221e;font-family:Inter,-apple-system,BlinkMacSystemFont,\"Segoe UI\",sans-serif}.g25fail-q h3{margin:0 0 7px;font-size:18px}.g25fail-q p{margin:0;line-height:1.65}.g25fail-q strong{color:#742d25}<\/style>\n<aside class=\"g25fail-q\"><h3>Quality ladder: no comparison available<\/h3><p>G01 supplied the reused <code>\u0432\u044b\u0441\u043e\u043a\u0438\u0439<\/code> point. Separate <code>\u0441\u0440\u0435\u0434\u043d\u0438\u0439<\/code>, <code>xhigh<\/code>, \u0438 <code>\u043c\u0430\u043a\u0441.<\/code> requests each returned HTTP 530 twice. <strong>There is no quality-tier winner or best-value tier from this batch.<\/strong> Missing outputs also provide no token usage or calculated cost.<\/p><style>.g25quality-detail,.g25quality-detail *{box-sizing:border-box}.g25quality-detail{margin-top:14px}.g25quality-detail details{border-top:1px solid #dfc0bb;padding-top:12px}.g25quality-detail summary{font-weight:800;cursor:pointer}.g25quality-detail__raw{max-width:100%;padding-top:12px}.g25quality-detail blockquote{margin:8px 0 14px;padding:12px 14px;border-left:4px solid #9b3e34;background:#fff;line-height:1.6}.g25quality-detail__tablewrap{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.g25quality-detail table{width:100%;min-width:520px;border-collapse:collapse;background:#fff}.g25quality-detail th,.g25quality-detail td{padding:8px;border:1px solid #dfc0bb;text-align:left;vertical-align:top}.g25quality-detail th{font-size:11px;text-transform:uppercase}.g25quality-detail code{overflow-wrap:anywhere}@media(max-width:600px){.g25quality-detail table{display:block;min-width:0}.g25quality-detail thead{display:none}.g25quality-detail tbody,.g25quality-detail tr,.g25quality-detail td{display:block;width:100%}.g25quality-detail tr{margin-bottom:10px;border:1px solid #dfc0bb;background:#fff}.g25quality-detail td{display:grid;grid-template-columns:80px minmax(0,1fr);gap:8px;border:0;border-bottom:1px solid #f0d9d5}.g25quality-detail td:last-child{border-bottom:0}.g25quality-detail td::before{content:attr(data-label);font-size:10px;font-weight:800;text-transform:uppercase}}<\/style><div class=\"g25quality-detail\"><details open><summary>Exact prompt, shared settings, and all tier attempts<\/summary><div class=\"g25quality-detail__raw\" data-raw-evidence><p><strong>\u041c\u0430\u0440\u0448\u0440\u0443\u0442:<\/strong> Anywhere OpenAI-compatible <code>\/images\/generations<\/code> \u0441 <code>gpt-image-2.5<\/code>.<\/p><p><strong>Complete input:<\/strong> Text only. No image input was supplied.<\/p><h4>Exact prompt used at every tier<\/h4><blockquote>Create a 3:2 horizontal studio product advertisement for a fictional matte-black portable desk lamp on a clean white and pale gray set. Show exactly one lamp, angled slightly to the right, with a soft warm pool of light and generous negative space. Include exactly one line of text: &quot;MAKE ROOM FOR IDEAS&quot;. Set that line in clear uppercase sans-serif letters centered in the upper third. No other text, no logo, no watermark, no people, and no extra products.<\/blockquote><h4>Actual shared settings<\/h4><p><code>size=1536x1024<\/code>; <code>output_format=webp<\/code>; <code>background=opaque<\/code>; <code>n=1<\/code>. Only <code>\u043a\u0430\u0447\u0435\u0441\u0442\u0432\u043e<\/code> changed.<\/p><h4>Attempt status<\/h4><div class=\"g25quality-detail__tablewrap\"><table><thead><tr><th>\u041a\u0430\u0447\u0435\u0441\u0442\u0432\u043e<\/th><th>Attempt<\/th><th>\u0421\u0442\u0430\u0442\u0443\u0441<\/th><th>HTTP<\/th><th>\u041f\u0440\u043e\u0448\u0435\u0434\u0448\u0435\u0435 \u0432\u0440\u0435\u043c\u044f<\/th><\/tr><\/thead><tbody><tr><td data-label=\"Quality\">\u0432\u044b\u0441\u043e\u043a\u0438\u0439<\/td><td data-label=\"Attempt\">Attempt 1<\/td><td data-label=\"Status\">valid_output<\/td><td data-label=\"HTTP\">200<\/td><td data-label=\"Elapsed\">6,150 ms<\/td><\/tr><tr><td data-label=\"Quality\">\u0441\u0440\u0435\u0434\u043d\u0438\u0439<\/td><td data-label=\"Attempt\">Attempt 1<\/td><td data-label=\"Status\">capacity<\/td><td data-label=\"HTTP\">530<\/td><td data-label=\"Elapsed\">819 ms<\/td><\/tr><tr><td data-label=\"Quality\">\u0441\u0440\u0435\u0434\u043d\u0438\u0439<\/td><td data-label=\"Attempt\">Attempt 2<\/td><td data-label=\"Status\">capacity<\/td><td data-label=\"HTTP\">530<\/td><td data-label=\"Elapsed\">864 ms<\/td><\/tr><tr><td data-label=\"Quality\">xhigh<\/td><td data-label=\"Attempt\">Attempt 1<\/td><td data-label=\"Status\">capacity<\/td><td data-label=\"HTTP\">530<\/td><td data-label=\"Elapsed\">871 ms<\/td><\/tr><tr><td data-label=\"Quality\">xhigh<\/td><td data-label=\"Attempt\">Attempt 2<\/td><td data-label=\"Status\">capacity<\/td><td data-label=\"HTTP\">530<\/td><td data-label=\"Elapsed\">646 ms<\/td><\/tr><tr><td data-label=\"Quality\">\u043c\u0430\u043a\u0441.<\/td><td data-label=\"Attempt\">Attempt 1<\/td><td data-label=\"Status\">capacity<\/td><td data-label=\"HTTP\">530<\/td><td data-label=\"Elapsed\">838 ms<\/td><\/tr><tr><td data-label=\"Quality\">\u043c\u0430\u043a\u0441.<\/td><td data-label=\"Attempt\">Attempt 2<\/td><td data-label=\"Status\">capacity<\/td><td data-label=\"HTTP\">530<\/td><td data-label=\"Elapsed\">993 ms<\/td><\/tr><\/tbody><\/table><\/div><p><strong>Failure boundary:<\/strong> Only the reused <code>\u0432\u044b\u0441\u043e\u043a\u0438\u0439<\/code> point returned a valid image. The missing medium, xhigh, and max outputs cannot be quality-scored or costed, so no tier comparison or practical winner is available.<\/p><\/div><\/details><\/div><\/aside>\n\n\n\n<p class=\"wp-block-paragraph\">The tested route also showed a format mismatch worth logging separately: successful formal requests asked for WebP but returned PNG, while preserving the requested 1536\u00d71024 dimensions. A readiness request asked for 1024\u00d71024 WebP and returned a 1254\u00d71254 PNG. These are observations about Anywhere&#8217;s unified route on the test date, not behavior attributed to OpenAI&#8217;s native API.<\/p>\n\n\n\n<h2 id=\"choose-gpt-image-25-route\" class=\"wp-block-heading\">How should you choose a GPT Image 2.5 route?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Start with the workflow you need, then validate it against a frozen task. OpenAI&#8217;s model descriptions give a sensible first candidate, but they do not replace a test using your own prompts, reference images, acceptance rules, and latency budget.<\/p>\n\n\n\n<style>.g25route,.g25route *{box-sizing:border-box}.g25route{margin:24px 0;overflow-x:auto;border:1px solid #d4dad6;border-radius:8px;background:#fff}.g25route table{width:100%;min-width:760px;border-collapse:collapse;color:#17221b;font-family:Inter,-apple-system,BlinkMacSystemFont,\"Segoe UI\",sans-serif}.g25route caption{padding:16px;text-align:left;font-size:18px;font-weight:800}.g25route th,.g25route td{padding:13px 15px;border-top:1px solid #e1e6e3;text-align:left;vertical-align:top;line-height:1.5}.g25route th{background:#f3f6f4;font-size:12px;text-transform:uppercase}.g25route code{overflow-wrap:anywhere;color:#174c34}<\/style>\n<div class=\"g25route\"><table><caption>Route-selection guide<\/caption><thead><tr><th>\u041c\u0430\u0440\u0448\u0440\u0443\u0442<\/th><th>Use it to test<\/th><th>Identity and evidence boundary<\/th><\/tr><\/thead><tbody><tr><td><code>gpt-image-2.5-flare<\/code><\/td><td>Everyday generation where speed and output quality both matter<\/td><td>Official OpenAI positioning; not hands-on tested in this article<\/td><\/tr><tr><td><code>gpt-image-2.5-sunburst<\/code><\/td><td>Editing workflows where precision and source preservation matter<\/td><td>Official OpenAI positioning; not hands-on tested in this article<\/td><\/tr><tr><td>Dated snapshots<\/td><td>Regression tests and reproducible production behavior<\/td><td>Pin the September 8 snapshot instead of the moving alias<\/td><\/tr><tr><td>\u0413\u0434\u0435 \u0443\u0433\u043e\u0434\u043d\u043e <code>gpt-image-2.5<\/code><\/td><td>A provider-specific unified compatibility route<\/td><td>Five valid task results reported here; no Flare\/Sunburst mapping and no native OpenAI attribution<\/td><\/tr><\/tbody><\/table><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Run a representative generation and edit task before committing a production workflow. Compare acceptable-output rate, preservation, latency distribution, and returned usage rather than choosing from a single attractive sample. If your team benefits from routing different jobs to different tools, <a href=\"https:\/\/www.glbgpt.com\/hub\/best-ai-image-generators\/\">compare the best AI image generators<\/a> and keep the selection decision at the task level.<\/p>\n\n\n\n<h2 id=\"common-implementation-errors\" class=\"wp-block-heading\">Common implementation errors<\/h2>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Sending a family label instead of an exact official model ID.<\/strong> \u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0439\u0442\u0435 <code>gpt-image-2.5-flare<\/code> \u0438\u043b\u0438 <code>gpt-image-2.5-sunburst<\/code> on the native API, unless your provider explicitly documents a different route.<\/li>\n\n\n\n<li><strong>Parsing every response like the direct Image API.<\/strong> The Responses API returns tool-call output items, so its extraction logic differs from <code>images.generate<\/code> \u0438\u043b\u0438 <code>images.edit<\/code>.<\/li>\n\n\n\n<li><strong>Treating base64 data as a hosted image URL.<\/strong> Decode the bytes, validate the file, and store it in your own approved media system.<\/li>\n\n\n\n<li><strong>Using an invalid custom size.<\/strong> Check multiples of 16, area, aspect ratio, and maximum side length before the request.<\/li>\n\n\n\n<li><strong>Combining incompatible output options.<\/strong> Transparency needs PNG or WebP; compression control applies to JPEG and WebP.<\/li>\n\n\n\n<li><strong>Regenerating until a result looks good, then calling it the first output.<\/strong> Preserve the first valid output and report retries separately if you want an honest model evaluation.<\/li>\n\n\n\n<li><strong>Scoring a timeout or capacity response as bad image quality.<\/strong> No valid image means no quality score; log the event under availability or transport.<\/li>\n<\/ol>\n\n\n\n<h2 id=\"gpt-image-25-api-faq\" class=\"wp-block-heading\">GPT Image 2.5 API FAQ<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Does GPT Image 2.5 have an API?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Yes. OpenAI documents direct image generation, direct image editing, and image generation through the Responses API tool.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">What are the exact GPT Image 2.5 model IDs?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">The moving aliases are <code>gpt-image-2.5-flare<\/code> \u0438 <code>gpt-image-2.5-sunburst<\/code>. The September 8, 2026 snapshots add <code>-2026-09-08<\/code> to each alias.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">How much does the GPT Image 2.5 API cost per image?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">There is no verified flat price per image. Cost depends on returned text-input, cached-text, image-input, cached-image, and image-output tokens. Use the official per-million-token rates with actual usage.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Can GPT Image 2.5 edit multiple images?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Yes. The editing API documents up to 16 input images. That is a supported maximum, not a guarantee that every 16-image composition will preserve every detail.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Can GPT Image 2.5 return a transparent PNG or WebP?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Yes. Set the background to transparent and use PNG or WebP output. Verify the decoded file contains an alpha channel before relying on it in a production asset pipeline.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">What are the GPT Image 2.5 API rate limits?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Free access is unsupported in the current table. Tier 1 starts at 100,000 TPM and 5 IPM; Tier 5 reaches 8,000,000 TPM and 250 IPM, with Tier 2-4 limits shown above. Check the current model page before launch.<\/p>\n\n\n\n<style>.g25schema,.g25schema *{box-sizing:border-box}.g25schema{margin:24px 0;padding:18px 20px;border:1px solid #c9d3cc;border-radius:8px;background:#f6f8f6;color:#27332c;font-family:Inter,-apple-system,BlinkMacSystemFont,\"Segoe UI\",sans-serif}.g25schema h3{margin:0 0 7px;font-size:18px}.g25schema p{margin:0;line-height:1.6}.g25schema code{color:#174c34}<\/style>\n<aside class=\"g25schema\"><h3>FAQ structured data note<\/h3><p>The matching <code>FAQPage<\/code> JSON-LD below reinforces question-and-answer meaning for machines and AEO workflows. It does not guarantee a Google FAQ rich result.<\/p><\/aside>\n<script type=\"application\/ld+json\" data-g25-faq-schema>{\n    \"@context\": \"https:\\\/\\\/schema.org\",\n    \"@type\": \"FAQPage\",\n    \"mainEntity\": [\n        {\n            \"@type\": \"Question\",\n            \"name\": \"Does GPT Image 2.5 have an API?\",\n            \"acceptedAnswer\": {\n                \"@type\": \"Answer\",\n                \"text\": \"Yes. OpenAI documents direct image generation, direct image editing, and image generation through the Responses API tool.\"\n            }\n        },\n        {\n            \"@type\": \"Question\",\n            \"name\": \"What are the exact GPT Image 2.5 model IDs?\",\n            \"acceptedAnswer\": {\n                \"@type\": \"Answer\",\n                \"text\": \"The moving aliases are gpt-image-2.5-flare and gpt-image-2.5-sunburst. The September 8, 2026 snapshots add -2026-09-08 to each alias.\"\n            }\n        },\n        {\n            \"@type\": \"Question\",\n            \"name\": \"How much does the GPT Image 2.5 API cost per image?\",\n            \"acceptedAnswer\": {\n                \"@type\": \"Answer\",\n                \"text\": \"There is no verified flat price per image. Cost depends on returned text-input, cached-text, image-input, cached-image, and image-output tokens. Use the official per-million-token rates with actual usage.\"\n            }\n        },\n        {\n            \"@type\": \"Question\",\n            \"name\": \"Can GPT Image 2.5 edit multiple images?\",\n            \"acceptedAnswer\": {\n                \"@type\": \"Answer\",\n                \"text\": \"Yes. The editing API documents up to 16 input images. That is a supported maximum, not a guarantee that every 16-image composition will preserve every detail.\"\n            }\n        },\n        {\n            \"@type\": \"Question\",\n            \"name\": \"Can GPT Image 2.5 return a transparent PNG or WebP?\",\n            \"acceptedAnswer\": {\n                \"@type\": \"Answer\",\n                \"text\": \"Yes. Set the background to transparent and use PNG or WebP output. Verify the decoded file contains an alpha channel before relying on it in a production asset pipeline.\"\n            }\n        },\n        {\n            \"@type\": \"Question\",\n            \"name\": \"What are the GPT Image 2.5 API rate limits?\",\n            \"acceptedAnswer\": {\n                \"@type\": \"Answer\",\n                \"text\": \"Free access is unsupported in the current table. Tier 1 starts at 100,000 TPM and 5 IPM; Tier 5 reaches 8,000,000 TPM and 250 IPM, with Tier 2-4 limits shown above. Check the current model page before launch.\"\n            }\n        }\n    ]\n}<\/script>\n\n\n\n<h2 id=\"conclusion\" class=\"wp-block-heading\">\u0417\u0430\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Use Flare or Sunburst according to the official workflow positioning, then verify the choice with your own frozen tasks. Pin a dated snapshot when reproducibility matters, decode and inspect the returned file, and calculate cost from actual token usage rather than a guessed per-image figure. Our Anywhere batch produced five strong task-bounded first outputs, but it did not reveal an official variant, complete the transparency or quality-tier tests, or establish broad reliability.<\/p>\n\n\n\n<style>.g25final,.g25final *{box-sizing:border-box}.g25final{margin:30px 0;padding:24px;border-radius:8px;background:#17231d;color:#fff;font-family:Inter,-apple-system,BlinkMacSystemFont,\"Segoe UI\",sans-serif}.g25final h3{margin:0 0 9px;color:#fff;font-size:21px;letter-spacing:0}.g25final p{margin:0;color:#dce5df;line-height:1.7}.g25final a{display:inline-block;margin-top:15px;padding:10px 14px;border:1px solid #f1c85b;border-radius:6px;color:#17231d;background:#f1c85b;font-weight:800;text-decoration:none}.g25final a:focus{outline:3px solid #fff;outline-offset:2px}@media(max-width:560px){.g25final{padding:20px}.g25final a{display:block;text-align:center}}<\/style>\n<aside class=\"g25final\"><h3>Move from one API call to a complete image workflow<\/h3><p>For affordable access to multiple image models and AI functions in one dashboard, with a CLI that connects development and existing production tools:<\/p><a href=\"https:\/\/www.glbgpt.com\/image?inviter=hub_features_image&amp;login=1\">Continue your image workflow in GlobalGPT<\/a><\/aside>","protected":false},"excerpt":{"rendered":"<p>OpenAI&#8217;s GPT Image 2.5 API is a two-model family, not a single callable model named gpt-image-2.5. The current moving aliases are gpt-image-2.5-flare, positioned by OpenAI for fast, high-quality everyday generation, and gpt-image-2.5-sunburst, positioned for precision-focused image editing. Both were released on September 8, 2026. This guide covers the exact IDs, three API paths, supported parameters, [&hellip;]<\/p>","protected":false},"author":7,"featured_media":19102,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_seopress_robots_primary_cat":"","_seopress_titles_title":"GPT Image 2.5 API: Models, Pricing, Examples, and Tests","_seopress_titles_desc":"Learn the exact GPT Image 2.5 API model IDs, endpoints, pricing formula, parameters, rate limits, and what a controlled unified-route test returned.","_seopress_robots_index":"","footnotes":""},"categories":[8],"tags":[],"class_list":["post-19163","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-ai-image"],"_links":{"self":[{"href":"https:\/\/wp.glbgpt.com\/ru\/wp-json\/wp\/v2\/posts\/19163","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wp.glbgpt.com\/ru\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wp.glbgpt.com\/ru\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wp.glbgpt.com\/ru\/wp-json\/wp\/v2\/users\/7"}],"replies":[{"embeddable":true,"href":"https:\/\/wp.glbgpt.com\/ru\/wp-json\/wp\/v2\/comments?post=19163"}],"version-history":[{"count":2,"href":"https:\/\/wp.glbgpt.com\/ru\/wp-json\/wp\/v2\/posts\/19163\/revisions"}],"predecessor-version":[{"id":19185,"href":"https:\/\/wp.glbgpt.com\/ru\/wp-json\/wp\/v2\/posts\/19163\/revisions\/19185"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wp.glbgpt.com\/ru\/wp-json\/wp\/v2\/media\/19102"}],"wp:attachment":[{"href":"https:\/\/wp.glbgpt.com\/ru\/wp-json\/wp\/v2\/media?parent=19163"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wp.glbgpt.com\/ru\/wp-json\/wp\/v2\/categories?post=19163"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wp.glbgpt.com\/ru\/wp-json\/wp\/v2\/tags?post=19163"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}