GPT Image 2.6 Flare Edit transforms one or more reference images using natural-language instructions, with a focus on fast editing and rapid creative iteration for visual refinements, marketing assets, product imagery, and production workflows. Ready-to-use REST inference API.
Idle
/filters:quality(85)/examples/13e005eba378c8692e4f84bc27d32f7d/a8f7b292-0257-4578-8961-2bb230610210-f42c06af076a.webp)
$0.0855per run·~11 / $1
/filters:quality(82)/examples/13e005eba378c8692e4f84bc27d32f7d/a8f7b292-0257-4578-8961-2bb230610210-f42c06af076a.webp)
Change only her reflection into a mysterious royal version of herself wearing an elaborate silver crown and dark ceremonial dress, staring directly back at her. Preserve the woman outside the mirror exactly.
OpenAI GPT Image 2.6 Flare Edit transforms one or more reference images using natural-language instructions. Flare is designed for everyday image generation and quick iteration.
Natural-language image editing Edit images by describing the changes you want in plain language; add a mask or a markup layer when the change must land in an exact place.
Works with reference images Use up to 16 input images as the visual source for edits, transformations, or style adjustments.
Quality and complexity controls
quality sets the rendering detail you pay for; complexity sets how much the model plans the layout before drawing, at no extra cost.
Up to 4K output and flexible aspect ratios
Square, portrait, landscape, and panoramic outputs at 1k, 2k, or 4k.
Production-ready API Access the model through a ready-to-use REST inference API for fast integration into applications and workflows.
| Parameter | Required | Description |
|---|---|---|
| prompt | Yes | Text description of the desired edit. |
| images | Yes | Reference images to edit (up to 16). |
| mask_image | No | Mask for the first image: white marks the area to edit, black the area to keep (a PNG where transparent marks the area to edit also works). Resized to the first image automatically. |
| markup_image | No | Transparent PNG of circles, arrows, or notes drawn over the first image to show where and how to edit it. Use either mask_image or markup_image. |
| aspect_ratio | No | Aspect ratio: 1:1, 3:2, 2:3, 3:4, 4:3, 4:5, 5:4, 9:16, 16:9, 21:9, 2:1, 1:2, 3:1, 1:3, 9:21. Auto-detected from the first input image if not specified. |
| resolution | No | Output resolution: 1k (default), 2k, or 4k. |
| quality | No | Quality tier: low, medium (default), high, xhigh, or max. Higher tiers allocate more rendering detail and cost more. |
| complexity | No | Planning before drawing: low, medium, or high (default). Adjust this for simple or detailed, multi-element prompts; the price is the same. |
| output_format | No | png (default), jpeg, or webp. |
medium / 1k is the default; raise quality for more detail or resolution for larger output.high is the default; try low or medium for short, simple prompts.Pricing varies by quality and resolution. Prices below include one input image. Each additional input image adds $0.015, and a mask_image or markup_image adds $0.015.
| Quality | 1k | 2k | 4k |
|---|---|---|---|
| low | $0.06 | $0.09 | $0.15 |
| medium | $0.09 | $0.145 | $0.24 |
| high | $0.105 | $0.165 | $0.285 |
| xhigh | $0.175 | $0.285 | $0.495 |
| max | $0.375 | $0.615 | $1.015 |
complexity and the choice of PNG, JPEG, or WebP do not add separate charges.
images and prompt are required fields.mask_image and markup_image apply to the first input image; use one or the other.aspect_ratio is set.Grab a WaveSpeedAI API key, then call POST https://api.wavespeed.ai/api/v3/openai/gpt-image-2.6-flare/edit with your input as JSON. The endpoint returns a prediction id. Start polling the result endpoint around every 2 seconds, increase the interval for long-running tasks, and stop on any terminal status. On completed, read output values from data.outputs. Examples for Gpt Image 2.6 Flare Edit below.
set -euo pipefail
: "${WAVESPEED_API_KEY:?Set WAVESPEED_API_KEY}"
REQUEST_BODY=$(cat <<'JSON'
{
"prompt": "A cinematic shot of a city at sunset, soft golden light",
"images": [
"https://interactive-examples.mdn.mozilla.net/media/cc0-images/painted-hand-298-332.jpg"
],
"aspect_ratio": "1:1",
"resolution": "1k",
"quality": "medium",
"complexity": "high",
"output_format": "png"
}
JSON
)
# 1. Submit the prediction.
SUBMIT_RESPONSE=$(curl --silent --show-error --fail-with-body \
-X POST "https://api.wavespeed.ai/api/v3/openai/gpt-image-2.6-flare/edit" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $WAVESPEED_API_KEY" \
-d "$REQUEST_BODY")
TASK=$(printf '%s' "$SUBMIT_RESPONSE" | jq 'if has("data") then .data else . end')
PREDICTION_ID=$(printf '%s' "$TASK" | jq -r '.id')
if [ -z "$PREDICTION_ID" ] || [ "$PREDICTION_ID" = "null" ]; then
printf 'Submission response did not contain a prediction id
' >&2
exit 1
fi
RESULT_URL="https://api.wavespeed.ai/api/v3/predictions/$PREDICTION_ID/result"
# 2. Poll until the prediction finishes.
while true; do
RESPONSE=$(curl --silent --show-error --fail-with-body "$RESULT_URL" \
-H "Authorization: Bearer $WAVESPEED_API_KEY")
RESULT=$(printf '%s' "$RESPONSE" | jq 'if has("data") then .data else . end')
STATUS=$(printf '%s' "$RESULT" | jq -r '.status')
case "$STATUS" in
completed) printf '%s\n' "$RESULT" | jq '.outputs'; break ;;
failed|cancelled|timeout|deleted) printf '%s\n' "$RESULT" | jq . >&2; exit 1 ;;
*) sleep 2 ;;
esac
doneconst submitUrl = "https://api.wavespeed.ai/api/v3/openai/gpt-image-2.6-flare/edit";
const apiKey = process.env.WAVESPEED_API_KEY;
if (!apiKey) throw new Error('Set WAVESPEED_API_KEY');
async function requestJson(url, options = {}) {
const response = await fetch(url, options);
if (!response.ok) throw new Error(await response.text());
return response.json();
}
// 1. Submit the prediction.
const body = await requestJson(submitUrl, {
method: "POST",
headers: {
"Authorization": `Bearer ${apiKey}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
"prompt": "A cinematic shot of a city at sunset, soft golden light",
"images": [
"https://interactive-examples.mdn.mozilla.net/media/cc0-images/painted-hand-298-332.jpg"
],
"aspect_ratio": "1:1",
"resolution": "1k",
"quality": "medium",
"complexity": "high",
"output_format": "png"
}),
});
const task = body.data ?? body;
if (!task.id) throw new Error("Submission response did not contain a prediction id");
const resultUrl = `https://api.wavespeed.ai/api/v3/predictions/${task.id}/result`;
// 2. Poll until the prediction finishes.
while (true) {
const resultBody = await requestJson(resultUrl, {
headers: { "Authorization": `Bearer ${apiKey}` },
});
const result = resultBody.data ?? resultBody;
if (result.status === "completed") {
console.log(result.outputs);
break;
}
if (["failed", "cancelled", "timeout", "deleted"].includes(result.status)) throw new Error(JSON.stringify(result));
await new Promise(resolve => setTimeout(resolve, 2000));
}import json
import os
import time
from urllib.request import Request, urlopen
api_key = os.environ["WAVESPEED_API_KEY"]
headers = {"Authorization": f"Bearer {api_key}", "Content-Type": "application/json"}
payload = {
"prompt": "A cinematic shot of a city at sunset, soft golden light",
"images": [
"https://interactive-examples.mdn.mozilla.net/media/cc0-images/painted-hand-298-332.jpg"
],
"aspect_ratio": "1:1",
"resolution": "1k",
"quality": "medium",
"complexity": "high",
"output_format": "png"
}
def request_json(url, data=None):
request = Request(url, data=data, headers=headers, method="POST" if data else "GET")
with urlopen(request) as response:
return json.load(response)
# 1. Submit the prediction.
body = request_json("https://api.wavespeed.ai/api/v3/openai/gpt-image-2.6-flare/edit", json.dumps(payload).encode())
task = body.get("data", body)
if not task.get("id"):
raise RuntimeError("Submission response did not contain a prediction id")
result_url = f"https://api.wavespeed.ai/api/v3/predictions/{task['id']}/result"
# 2. Poll until the prediction finishes.
while True:
result_body = request_json(result_url)
result = result_body.get("data", result_body)
status = result.get("status")
if status == "completed":
print(result.get("outputs", []))
break
if status in {"failed", "cancelled", "timeout", "deleted"}:
raise RuntimeError(result)
time.sleep(2)Gpt Image 2.6 Flare Edit is a OpenAI model for image editing, exposed as a REST API on WaveSpeedAI. GPT Image 2.6 Flare Edit transforms one or more reference images using natural-language instructions, with a focus on fast editing and rapid creative iteration for visual refinements, marketing assets, product imagery, and production workflows. Ready-to-use REST inference API. You can call it programmatically or try it from the playground above.
POST your input parameters to the model's REST endpoint (shown in the API tab of this playground) with your WaveSpeedAI API key in the Authorization header. Submission returns a prediction ID. Poll the result endpoint starting around every 2 seconds, increase the interval for long-running tasks, and stop on any terminal status. The playground generates Python, JavaScript, and cURL examples for submitting requests and polling results. Full request/response shape is documented at https://wavespeed.ai/docs/docs-api/openai/openai-gpt-image-2.6-flare-edit.
Gpt Image 2.6 Flare Edit starts at $0.0855 per run or per second. That figure is the base price — the final charge scales with the parameters you set in the form (output size, length, count, references, or whatever knobs this model exposes), so a higher-quality or larger output costs more than a minimal one. The exact cost for your current input is shown live next to the Generate button before you submit, and the actual per-call charge is recorded on the prediction afterwards.
Key inputs: `prompt`, `images`, `aspect_ratio`, `resolution`, `complexity`, `markup_image`. The full JSON schema (types, defaults, allowed values) is rendered above the Generate button and mirrored in the API reference at https://wavespeed.ai/docs/docs-api/openai/openai-gpt-image-2.6-flare-edit.
Sign up for a free WaveSpeedAI account to claim starter credits, copy your API key from /accesskey, then call the endpoint shown in the API tab of the playground. The playground also auto-generates a code sample in Python, JavaScript, or cURL for the parameters you've set.
Commercial usage rights depend on the model's license, set by its provider (OpenAI). Check the provider's applicable terms and WaveSpeedAI's Terms of Service before commercial use.