## Basic tool info Model name: openai/gpt-image-2 Model description: Generate or edit images with GPT Image 2 from OpenAI. It delivers strong instruction following, sharp text rendering, and flexible sizing up to 4K. Model cover: https://cdn.wiro.ai/uploads/models/openai-gpt-image-2-cover.webp Model categories: - tool - partner - openai - text-to-image - image-to-image - image-editing - nogpu-pipeline Run Task Endpoint (POST): https://api.wiro.ai/v1/Run/openai/gpt-image-2 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: openai-gpt-image-2-input-1.jpg - name: prompt label: Prompt help: Required. Text description of the desired image or image edit. Maximum 32,000 characters. type: textarea default: A hyper-detailed, high-resolution photographic edit based on image. The clear rocks glass, the metallic spoon, and the rich, dark mahogany wooden table with its complex grain and precise geometric shafts of warm sunlight must all remain in their exact positions and forms. Inside the glass, the simple iced coffee is replaced by a perfectly layered Café Bombón with complex, high-clarity details. A thick, smooth layer of sweetened condensed milk forms the base, topped by a precise layer of dark, rich espresso, and finally an elegant cap of airy, micro-foamed milk. The simple ice cubes are replaced by large, geometrically precise, slow-melting artisan ice spheres showing internal crystal structures and fractures, all glistening with heavy, detailed condensation on the glass. The metallic spoon is highly polished to a mirror-like finish, reflecting the layers of the drink and the wood. The dust motes floating in the sunbeams are rendered with extreme fidelity as delicate, golden, complex particles. The entire scene is polished to perfection, with the contrast between foam, liquid, glass, and wood grain maximized. The lighting is intensified, making the glass and its contents glow from within, all while maintaining the exact existing shadow patterns. - name: inputImageMask label: Mask Image (Edit) help: Optional. Requires input image(1). Mask image to define specific areas to edit. type: combinefileinput default: - 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: 1:1 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 - name: background label: Background help: Optional. Background setting. type: select default: auto options: - value: "auto" label: Auto - value: "opaque" label: Opaque - name: outputFormat label: Output Format help: Optional. Output image format. Defaults to png. type: select default: png options: - value: "png" label: PNG - value: "jpeg" label: JPEG - value: "webp" label: WEBP - name: outputCompression label: Output Compression help: Optional. Compression level (0-100) for jpeg or webp output only. Defaults to 100. type: number default: 100 - name: samples label: Number of Images help: Required. Number of images to generate (1-10). type: number default: 1 - name: moderation label: Moderation Level help: Optional. Content moderation level. type: select default: low options: - value: "auto" label: Auto - value: "low" label: Low ## Model Parameter Inspires: - prompt: A hyper-detailed, high-resolution photographic edit based on image. The clear rocks glass, the metallic spoon, and the rich, dark mahogany wooden table with its complex grain and precise geometric shafts of warm sunlight must all remain in their exact positions and forms. Inside the glass, the simple iced coffee is replaced by a perfectly layered Café Bombón with complex, high-clarity details. A thick, smooth layer of sweetened condensed milk forms the base, topped by a precise layer of dark, rich espresso, and finally an elegant cap of airy, micro-foamed milk. The simple ice cubes are replaced by large, geometrically precise, slow-melting artisan ice spheres showing internal crystal structures and fractures, all glistening with heavy, detailed condensation on the glass. The metallic spoon is highly polished to a mirror-like finish, reflecting the layers of the drink and the wood. The dust motes floating in the sunbeams are rendered with extreme fidelity as delicate, golden, complex particles. The entire scene is polished to perfection, with the contrast between foam, liquid, glass, and wood grain maximized. The lighting is intensified, making the glass and its contents glow from within, all while maintaining the exact existing shadow patterns. - inputImage: https://cdn.wiro.ai/uploads/sampleinputs/openai-gpt-image-2-input-1.jpg - prompt: A detailed, realistic high-resolution photograph of the building facade from image, viewed from the same low-angle perspective. The terracotta-ochre color of the building is preserved, but aged, showing minor imperfections, weathered plaster, and patches of peeling paint. The original grid of windows and ornate wrought iron balconies are retained in their positions. However, multiple clotheslines with actual laundry (towels, linen shirts, socks) are strung between the balconies on all levels, adding life. The potted plants on the middle balcony are more diverse (geraniums, lavender, jasmine). An older woman with a patterned headscarf is partially visible, tending to plants on one of the larger balconies on the second level from the bottom. The ground level, slightly more visible, now shows a parked vintage bicycle, a small cafe chair, and some scattered cafe menus on a worn wooden table. The lighting is shifted from harsh daylight to a warm, soft, late afternoon golden hour, with long, diffused shadows across the facade. The sky is a gradient of deep blue to warm orange. The overall atmosphere is bustling, authentic, and lived-in. All textures (iron, wood, stucco) are highly detailed. - inputImage: https://cdn.wiro.ai/uploads/sampleinputs/openai-gpt-image-2-input-2.jpg - prompt: A detailed, realistic photograph of the telecommunications tower from image, viewed from the same perspective. The clear, gradient sky is completely replaced by a dense, pervasive layer of cool, blue-grey morning fog that shrouds the entire scene. The detailed lattice structure of the tower is still visible, but softened and partially obscured, silhouetted against a ghost-like, heavily diffused disc of the rising sun. Moisture glistens on the metal poles of the street lights and on the leaves of the palm trees and other foliage at the base. The street lights are on, casting soft, diffused pools of light. The large foreground street light is prominent but soft in the fog. The air is thick, and a few detailed, moist-looking cobwebs are visible on the lower lattice. The overall feeling is vast, cool, and still. The texture of damp metal and wet foliage is paramount. - inputImage: https://cdn.wiro.ai/uploads/sampleinputs/openai-gpt-image-2-input-3.jpg - prompt: A hyper-detailed photograph capturing a perfect infinity loop of ancient, moss-covered library bookshelves. A spiral staircase made of dark, polished mahogany descends within the loop, leading toward a solitary vintage globe at the absolute geometric center. A single window, situated outside the entire structure on the far-left wall, casts a defined, warm light only onto the globe, while the bookshelves remain in cool, diffused shadow. - inputImage: - prompt: An oil painting in the style of Salvador Dalí depicting \"The Bureaucracy of Time.\" The scene is a vast, open desert where the sand is entirely composed of miniature, ancient wristwatches. Large, melted clocks are not dripping, but are instead solidifying into a massive, architectural filing cabinet. A man made entirely of flowing water stands before the cabinet, hopelessly trying to organize a stack of papers that are rapidly disintegrating into desert sand. - inputImage: - prompt: An extreme close-up, hyper-realistic macro photograph of a sculpture of a sleeping fox. The fox is sculpted entirely from raw, sharp obsidian shards. A single, delicate spiderweb (also woven from obsidian fibers) covers the fox\'s snout. On one razor-sharp edge of the fox\'s ear, a perfect, liquid droplet of mercury rests, reflecting the surrounding environment with intense clarity and demonstrating surface tension. - inputImage: - prompt: A highly detailed stained-glass panel rendered in the Art Nouveau style. The entire panel is back-lit, but by a diffuse, shifting, green-hued forest light. The artwork depicts \"The Spirit of the Willow,\" where a woman’s form is inextricably woven into the willow’s weeping branches. The glass depicting her skin should appear luminous and smooth, contrasting sharply with the deeply textured, dark green glass of the leaves and the fractured, semi-opaque amber glass of the tree trunk, all unified by dark, precise lead tracery. - inputImage: - prompt: An intricate digital illustration visualizing \"The Symphony of Architecture.\" A multi-tiered opera house is constructed not from brick or stone, but entirely from the visualized, glowing components of classical musical notation. The foundation is made of heavy bass clefs; the balconies are winding treelines of sixteenth notes; the vaulted ceiling is formed by overlapping golden crescendos and fermatas. The light within the opera house is generated solely by the glowing musical symbols themselves, emanating soft blues and golds. - inputImage: ## Integration Header Prepare ```bash # Sign up Wiro dashboard and create project export YOUR_API_KEY="{{useSelectedProjectAPIKey}}"; 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}")"; ``` ## Run Command - Make HTTP Post Request ```bash curl -X POST "https://api.wiro.ai/v1/Run/openai/gpt-image-2" -H "Content-Type: multipart/form-data" -H "x-api-key: ${YOUR_API_KEY}" -H "x-nonce: ${NONCE}" -H "x-signature: ${SIGNATURE}" -d '{ "inputImage": "openai-gpt-image-2-input-1.jpg", "prompt": "A hyper-detailed, high-resolution photographic edit based on image. The clear rocks glass, the metallic spoon, and the rich, dark mahogany wooden table with its complex grain and precise geometric shafts of warm sunlight must all remain in their exact positions and forms. Inside the glass, the simple iced coffee is replaced by a perfectly layered Café Bombón with complex, high-clarity details. A thick, smooth layer of sweetened condensed milk forms the base, topped by a precise layer of dark, rich espresso, and finally an elegant cap of airy, micro-foamed milk. The simple ice cubes are replaced by large, geometrically precise, slow-melting artisan ice spheres showing internal crystal structures and fractures, all glistening with heavy, detailed condensation on the glass. The metallic spoon is highly polished to a mirror-like finish, reflecting the layers of the drink and the wood. The dust motes floating in the sunbeams are rendered with extreme fidelity as delicate, golden, complex particles. The entire scene is polished to perfection, with the contrast between foam, liquid, glass, and wood grain maximized. The lighting is intensified, making the glass and its contents glow from within, all while maintaining the exact existing shadow patterns.", "inputImageMask": "", "resolution": "1k", "ratio": "1:1", "quality": "low", "background": "auto", "outputFormat": "png", "outputCompression": 100, "samples": 1, "moderation": "low", "callbackUrl": "You can provide a callback URL; Wiro will send a POST request to it when the task is completed." }'; ``` ## 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: multipart/form-data" -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: multipart/form-data" -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", "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 } ``` ## Kill Task - Make HTTP Post Request with Task ID ```bash curl -X POST "https://api.wiro.ai/v1/Task/Kill" -H "Content-Type: multipart/form-data" -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: multipart/form-data" -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: multipart/form-data" -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.