## Basic tool info Model name: openai/gpt image 2.6 flare Model description: OpenAI GPT Image 2.6 Flare generates or edits images from text and references. Tune quality, resolution, and complexity for fast creative iteration. Model cover: https://cdn.wiro.ai/uploads/models/openai-gpt-image-2-6-flare-cover.webp Model categories: - tool - partner - openai - text-to-image - image-to-image - image-editing - nogpu-pipeline - quick-showcase - hero-showcase Run Task Endpoint (POST): https://api.wiro.ai/v1/Run/openai/gpt-image-2-6-flare Get Task Detail Endpoint (POST): https://api.wiro.ai/v1/Task/Detail ## Model Inputs: - name: inputImage label: Input Images help: Optional. Input images to edit, up to 16. type: combinefileinput default: https://cdn.wiro.ai/uploads/sampleinputs/openai-gpt-image-2-6-flare-sampleinput-1.webp - name: prompt label: Prompt help: Required. Text description of the desired image or image edit. Maximum 32,000 characters. type: textarea default: Turn this fruit bowl into a tiny-people miniature world: little workers in hard hats on tiny ladders harvesting the grapes, a mini forklift carrying a strawberry, a small crane lifting the orange slice, and tiny wooden crates being filled. Keep the bowl, the fruit, the table, the kitchen and the lighting exactly as they are, with realistic tilt-shift miniature photography detail. - name: resolution label: Resolution help: Required. Output resolution tier. type: select default: 1k options: - value: "1k" label: 1K (~1 MP) - value: "2k" label: 2K (~2-4 MP, experimental) - value: "4k" label: 4K (~8 MP, experimental) - name: ratio label: Ratio help: Required. Aspect ratio of the output image type: select default: 16:9 options: - value: "1:1" label: 1:1 (square) — 1024x1024(1k) / 2048x2048(2k) / 2880x2880(4k) - value: "3:2" label: 3:2 (landscape) — 1536x1024(1k) / 2400x1600(2k) / 3456x2304(4k) - value: "2:3" label: 2:3 (portrait) — 1024x1536(1k) / 1600x2400(2k) / 2304x3456(4k) - value: "4:3" label: 4:3 (landscape) — 1280x960(1k) / 2048x1536(2k) / 3200x2400(4k) - value: "3:4" label: 3:4 (portrait) — 960x1280(1k) / 1536x2048(2k) / 2400x3200(4k) - value: "16:9" label: 16:9 (landscape) — 1280x720(1k) / 2048x1152(2k) / 3840x2160(4k) - value: "9:16" label: 9:16 (portrait) — 720x1280(1k) / 1152x2048(2k) / 2160x3840(4k) - name: quality label: Quality help: Required. Output image quality. type: select default: low options: - value: "low" label: Low - value: "medium" label: Medium - value: "high" label: High - value: "xhigh" label: Extra High - value: "max" label: Max - name: samples label: Number of Images help: Required. Number of images to generate (1-10). type: number default: 1 - name: inputImageMask label: Mask Image (Edit) help: Optional. Requires an input image. Mask image that defines the areas to edit. type: combinefileinput default: - name: inputImageMarkup label: Markup Image (Edit) help: Optional. Requires an input image. A transparent overlay with marks (a circle, an arrow) showing where the prompt's change should go. type: combinefileinput default: - name: complexity label: Complexity help: Optional. Default high. How much the model plans before rendering: lower suits focused edits, higher helps dense text and complex layouts. It does not change the price. type: select default: high options: - value: "low" label: Low - value: "medium" label: Medium - value: "high" label: High - name: background label: Background help: Optional. Default auto. Background setting. Transparent needs png or webp output; with jpeg it switches to png. type: select default: auto options: - value: "auto" label: Auto - value: "transparent" label: Transparent - value: "opaque" label: Opaque - name: outputFormat label: Output Format help: Optional. Default jpeg. Output image format. type: select default: jpeg options: - value: "png" label: png - value: "jpeg" label: jpeg - value: "webp" label: webp - name: outputCompression label: Output Compression help: Optional. Default 100. Compression level (0-100) for jpeg or webp output only. type: number default: 100 - name: moderation label: Moderation Level help: Optional. Default low. Content moderation level. type: select default: low options: - value: "auto" label: Auto - value: "low" label: Low ## Model Parameter Inspires: - inputImage: https://cdn.wiro.ai/uploads/sampleinputs/openai-gpt-image-2-6-flare-sampleinput-1.webp - prompt: Turn this fruit bowl into a tiny-people miniature world: little workers in hard hats on tiny ladders harvesting the grapes, a mini forklift carrying a strawberry, a small crane lifting the orange slice, and tiny wooden crates being filled. Keep the bowl, the fruit, the table, the kitchen and the lighting exactly as they are, with realistic tilt-shift miniature photography detail. - inputImage: https://cdn.wiro.ai/uploads/sampleinputs/openai-gpt-image-2-6-flare-sampleinput-2.webp - prompt: Turn this empty stadium into a packed match night: dark evening sky, bright floodlights on, every seat filled with cheering fans waving scarves and flags, players in red and white kits mid-play on the pitch, and the scoreboard lit up showing 2 - 1. Keep the stadium shape, the pitch markings, the goal and the camera angle exactly the same. - inputImage: https://cdn.wiro.ai/uploads/sampleinputs/openai-gpt-image-2-6-flare-sampleinput-3.webp - prompt: Give this car a matte olive-green vinyl wrap with a thin orange racing stripe running over the hood, roof and rear, and glossy black rims. Keep the car shape, its position, the street, the houses, the flowers and the lighting exactly the same. - inputImage: https://cdn.wiro.ai/uploads/sampleinputs/openai-gpt-image-2-6-flare-sampleinput-4.webp - prompt: Turn this sunny morning into a dramatic thunderstorm: dark heavy storm clouds, a bright lightning bolt over the sea, heavy rain falling on the harbor water, choppy waves, wet glistening reflections on the quay and street, and a few warm lights glowing in the windows. Keep every house, boat, the quay and the camera angle exactly the same. ## Integration Header Prepare ```bash # Sign up Wiro dashboard and create project export YOUR_API_KEY="YOUR_WIRO_API_KEY"; export YOUR_API_SECRET="XXXXXXXXX"; # unix time or any random integer value export NONCE=$(date +%s); # hmac-SHA256 (YOUR_API_SECRET+Nonce) with YOUR_API_KEY export SIGNATURE="$(echo -n "${YOUR_API_SECRET}${NONCE}" | openssl dgst -sha256 -hmac "${YOUR_API_KEY}" | awk '{print $NF}')"; ``` ## Run Command - Make HTTP Post Request ```bash curl -X POST "https://api.wiro.ai/v1/Run/openai/gpt-image-2-6-flare" \ -H "Content-Type: application/json" \ -H "x-api-key: ${YOUR_API_KEY}" \ -H "x-nonce: ${NONCE}" \ -H "x-signature: ${SIGNATURE}" \ --data-binary @- <<'JSON' { "inputImage": [ "https://cdn.wiro.ai/uploads/sampleinputs/openai-gpt-image-2-6-flare-sampleinput-1.webp" ], "prompt": "Turn this fruit bowl into a tiny-people miniature world: little workers in hard hats on tiny ladders harvesting the grapes, a mini forklift carrying a strawberry, a small crane lifting the orange slice, and tiny wooden crates being filled. Keep the bowl, the fruit, the table, the kitchen and the lighting exactly as they are, with realistic tilt-shift miniature photography detail.", "resolution": "1k", "ratio": "16:9", "quality": "low", "samples": 1, "inputImageMask": "", "inputImageMarkup": "", "complexity": "high", "background": "auto", "outputFormat": "jpeg", "outputCompression": 100, "moderation": "low", "callbackUrl": "You can provide a callback URL; Wiro will send a POST request to it when the task is completed." } JSON ``` ## Run Command - Response ```json { "errors": [], "taskid": "2221", "socketaccesstoken": "eDcCm5yyUfIvMFspTwww49OUfgXkQt", "result": true } ``` ## Get Task Detail - Make HTTP Post Request with Task ID ```bash curl -X POST "https://api.wiro.ai/v1/Task/Detail" \ -H "Content-Type: application/json" \ -H "x-api-key: ${YOUR_API_KEY}" \ -H "x-nonce: ${NONCE}" \ -H "x-signature: ${SIGNATURE}" \ -d '{ "taskid": "2221" }'; ``` ## Get Task Detail - Make HTTP Post Request with Socket Access Token ```bash curl -X POST "https://api.wiro.ai/v1/Task/Detail" \ -H "Content-Type: application/json" \ -H "x-api-key: ${YOUR_API_KEY}" \ -H "x-nonce: ${NONCE}" \ -H "x-signature: ${SIGNATURE}" \ -d '{ "tasktoken": "eDcCm5yyUfIvMFspTwww49OUfgXkQt" }'; ``` ## Get Task Detail - Response ```json { "total": "1", "errors": [], "tasklist": [ { "id": "2221", "uuid": "15bce51f-442f-4f44-a71d-13c6374a62bd", "socketaccesstoken": "eDcCm5yyUfIvMFspTwww49OUfgXkQt", "parameters": {}, "debugoutput": "", "debugerror": "", "starttime": "1734513809", "endtime": "1734513813", "elapsedseconds": "6.0000", "status": "task_postprocess_end", "createtime": "1734513807", "canceltime": "0", "assigntime": "1734513807", "accepttime": "1734513807", "preprocessstarttime": "1734513807", "preprocessendtime": "1734513807", "postprocessstarttime": "1734513813", "postprocessendtime": "1734513814", "totalcost": "0.003510000000", "chargedcost": "0.002808000000", "discountamount": "0.000702000000", "outputs": [ { "id": "6bc392c93856dfce3a7d1b4261e15af3", "name": "0.png", "contenttype": "image/png", "parentid": "6c1833f39da71e6175bf292b18779baf", "uuid": "15bce51f-442f-4f44-a71d-13c6374a62bd", "size": "202472", "addedtime": "1734513812", "modifiedtime": "1734513812", "accesskey": "dFKlMApaSgMeHKsJyaDeKrefcHahUK", "url": "https://cdn1.wiro.ai/6a6af820-c5050aee-40bd7b83-a2e186c6-7f61f7da-3894e49c-fc0eeb66-9b500fe2/0.png" } ], "size": "202472" } ], "result": true } ``` totalcost is the list price. chargedcost is the amount actually billed after any discount (a store fee is included on store runs); discountamount is the discount. chargedcost is null until the charge is recorded (shortly after task_postprocess_end) and "0" for a failed or cancelled task. ## Kill Task - Make HTTP Post Request with Task ID ```bash curl -X POST "https://api.wiro.ai/v1/Task/Kill" \ -H "Content-Type: application/json" \ -H "x-api-key: ${YOUR_API_KEY}" \ -H "x-nonce: ${NONCE}" \ -H "x-signature: ${SIGNATURE}" \ -d '{ "taskid": "534574" }'; ``` ## Kill Task - Make HTTP Post Request with Socket Access Token ```bash curl -X POST "https://api.wiro.ai/v1/Task/Kill" \ -H "Content-Type: application/json" \ -H "x-api-key: ${YOUR_API_KEY}" \ -H "x-nonce: ${NONCE}" \ -H "x-signature: ${SIGNATURE}" \ -d '{ "socketaccesstoken": "ZpYote30on42O4jjHXNiKmrWAZqbRE" }'; ``` ## Kill Task - Response ```json { "errors": [], "tasklist": [ { "id": "534574", "uuid": "15bce51f-442f-4f44-a71d-13c6374a62bd", "name": "", "socketaccesstoken": "ZpYote30on42O4jjHXNiKmrWAZqbRE", "parameters": { "inputImage": "https://api.wiro.ai/v1/File/mCmUXgZLG1FNjjjwmbtPFr2LVJA112/inputImage-6060136.png" }, "debugoutput": "", "debugerror": "", "starttime": "1734513809", "endtime": "1734513813", "elapsedseconds": "6.0000", "status": "task_cancel", "cps": "0.000585000000", "totalcost": "0.003510000000", "guestid": null, "projectid": "699", "modelid": "598", "description": "", "basemodelid": "0", "runtype": "model", "modelfolderid": "", "modelfileid": "", "callbackurl": "", "marketplaceid": null, "createtime": "1734513807", "canceltime": "0", "assigntime": "1734513807", "accepttime": "1734513807", "preprocessstarttime": "1734513807", "preprocessendtime": "1734513807", "postprocessstarttime": "1734513813", "postprocessendtime": "1734513814", "pexit": "0", "categories": "["tool","image-to-image","quick-showcase","compare-landscape"]", "outputs": [ { "id": "6bc392c93856dfce3a7d1b4261e15af3", "name": "0.png", "contenttype": "image/png", "parentid": "6c1833f39da71e6175bf292b18779baf", "uuid": "15bce51f-442f-4f44-a71d-13c6374a62bd", "size": "202472", "addedtime": "1734513812", "modifiedtime": "1734513812", "accesskey": "dFKlMApaSgMeHKsJyaDeKrefcHahUK", "foldercount": "0", "filecount": "0", "ispublic": 0, "expiretime": null, "url": "https://cdn1.wiro.ai/6a6af820-c5050aee-40bd7b83-a2e186c6-7f61f7da-3894e49c-fc0eeb66-9b500fe2/0.png" } ], "size": "202472" } ], "result": true } ``` ## Cancel Task - Make HTTP Post Request (For tasks on queue) ```bash curl -X POST "https://api.wiro.ai/v1/Task/Cancel" \ -H "Content-Type: application/json" \ -H "x-api-key: ${YOUR_API_KEY}" \ -H "x-nonce: ${NONCE}" \ -H "x-signature: ${SIGNATURE}" \ -d '{ "taskid": "634574" }'; ``` ## Cancel Task - Response ```json { "errors": [], "tasklist": [ { "id": "634574", "uuid": "15bce51f-442f-4f44-a71d-13c6374a62bd", "name": "", "socketaccesstoken": "ZpYote30on42O4jjHXNiKmrWAZqbRE", "parameters": { "inputImage": "https://api.wiro.ai/v1/File/mCmUXgZLG1FNjjjwmbtPFr2LVJA112/inputImage-6060136.png" }, "debugoutput": "", "debugerror": "", "starttime": "1734513809", "endtime": "1734513813", "elapsedseconds": "6.0000", "status": "task_cancel", "cps": "0.000585000000", "totalcost": "0.003510000000", "guestid": null, "projectid": "699", "modelid": "598", "description": "", "basemodelid": "0", "runtype": "model", "modelfolderid": "", "modelfileid": "", "callbackurl": "", "marketplaceid": null, "createtime": "1734513807", "canceltime": "0", "assigntime": "1734513807", "accepttime": "1734513807", "preprocessstarttime": "1734513807", "preprocessendtime": "1734513807", "postprocessstarttime": "1734513813", "postprocessendtime": "1734513814", "pexit": "0", "categories": "["tool","image-to-image","quick-showcase","compare-landscape"]", "outputs": [ { "id": "6bc392c93856dfce3a7d1b4261e15af3", "name": "0.png", "contenttype": "image/png", "parentid": "6c1833f39da71e6175bf292b18779baf", "uuid": "15bce51f-442f-4f44-a71d-13c6374a62bd", "size": "202472", "addedtime": "1734513812", "modifiedtime": "1734513812", "accesskey": "dFKlMApaSgMeHKsJyaDeKrefcHahUK", "foldercount": "0", "filecount": "0", "ispublic": 0, "expiretime": null, "url": "https://cdn1.wiro.ai/6a6af820-c5050aee-40bd7b83-a2e186c6-7f61f7da-3894e49c-fc0eeb66-9b500fe2/0.png" } ], "size": "202472" } ], "result": true } ``` ## Task Status Information This section defines the possible task status values returned by the API when polling for task completion. ### Completed Task Statuses (Polling can stop) These indicate that the task has reached a terminal state — either success or failure. Once any of these is received, polling should stop. - task_postprocess_end : Task completed successfully and post-processing is done. - task_cancel : Task was cancelled by the user or system. ### Running Task Statuses (Continue polling) These statuses indicate that the task is still in progress. Polling should continue if one of these is returned. - task_queue : Task is waiting in the queue. - task_accept : Task has been accepted for processing. - task_assign : Task is being assigned to a worker. - task_preprocess_start : Preprocessing is starting. - task_preprocess_end : Preprocessing is complete. - task_start : Task execution has started. - task_output : Output is being generated.