## Basic tool info Model name: google/imagen-v4-fast Model description: Use this faster, cost-efficient version of Imagen 4 when speed and affordability matter more than maximum image quality. Model cover: https://cdn.wiro.ai/uploads/models/google-imagen-v4-fast-cover.png Model categories: - tool - partner - text-to-image - google Model tags: - google Run Task Endpoint (POST): https://api.wiro.ai/v1/Run/google/imagen-v4-fast Get Task Detail Endpoint (POST): https://api.wiro.ai/v1/Task/Detail ## Model Inputs: - name: prompt label: prompt help: The prompt to generate the image. type: textarea default: a server farm with koala's and eucalyptus trees - name: samples label: numberofoutputs help: numberofoutputs-help type: select default: 1 options: - value: "1" label: 1 - value: "2" label: 2 - value: "3" label: 3 - value: "4" label: 4 - name: seed label: seed help: Set 0 to add watermark type: number default: 1 - name: enhancePrompt label: Enhance Prompt help: Use an LLM-based prompt rewriting feature to deliver higher quality images that better reflect the original prompt's intent. type: select default: true options: - value: "true" label: True - value: "false" label: False - name: addWatermark label: Add Watermark help: Add an invisible watermark to the generated images. If seed is other than 0 this will be set to false. Enter seed 0 to add watermark. type: select default: true options: - value: "true" label: True - value: "false" label: False - name: aspectRatio label: Aspect Ratio help: Aspect ratio of the generated image type: select default: 1:1 options: - value: "1:1" label: 1:1 - value: "21:9" label: 21:9 - value: "16:9" label: 16:9 - value: "4:3" label: 4:3 - name: personGeneration label: Person Generation help: Allow generation of people by the model. The following values are supported: dont_allow: Disallow the inclusion of people or faces in images. allow_adult: Allow generation of adults only. allow_all: Allow generation of people of all ages. type: select default: allow_adult options: - value: "dont_allow" label: dont_allow - value: "allow_adult" label: allow_adult - value: "allow_all" label: allow_all - name: language label: Language help: The language code that corresponds to your text prompt language. type: select default: en options: - value: "auto" label: Auto - value: "en" label: English - value: "zh" label: Chinese (simplified) - value: "zh-TW" label: Chinese (traditional) - value: "hi" label: Hindi - value: "ja" label: Japanese - value: "ko" label: Korean - value: "pt" label: Portuguese - value: "es" label: Spanish - name: safetySetting label: Safety Setting help: block_low_and_above is strictest, block_medium_and_above blocks some prompts, block_only_high is most permissive but some prompts will still be blocked type: select default: block_medium_and_above options: - value: "block_low_and_above" label: block_low_and_above - value: "block_medium_and_above" label: block_medium_and_above - value: "block_only_high" label: block_only_high ## Model Parameter Inspires: - prompt: This is a rough black‐and‐white pencil scribble of a tree silhouette on a blank background. Animate it by having the trunk grow upward from the bottom, branches extend outward, and leaves gradually sprout in green. Finally, let a gentle breeze sway the branches and leaves. - prompt: This is a segmented rendering containing distinct color regions: a blue sky, green hill, and a red barn. Create a video where first the sky fades in with drifting clouds, then the green hillside rolls into view from the bottom, and finally the red barn structure rises up block by block, with gentle camera zoom‐out at the end. - prompt: This is a photograph of a classic Ford Mustang parked on an open road with mountains in the background. Turn it into a short driving clip: the Mustang’s engine revs, the wheels start spinning, and the camera tracks alongside as it accelerates down the highway at sunset, with dust kicking up behind. - prompt: This is an outpainted panoramic cityscape showing a central modern skyscraper and extending architecture on both sides. Animate it by beginning zoomed in on the skyscraper’s glass facade, then smoothly panning outward to reveal the full skyline, with clouds drifting overhead and distant traffic lights flickering to life. - prompt: This is a staged photo of a single person standing in front of a textured wall with dramatic lighting. Create a subtle looped animation: have the lighting shift as if a soft spotlight moves across, the person’s hair and clothing gently sway in an imagined breeze, and the camera slowly zooms in for a 3D parallax effect. - prompt: This is a portrait of a smiling couple standing in a park under a tree. Animate it by introducing slow-moving falling leaves in the background, a slight golden‐hour glow shifting across their faces, and have them turn to walk hand‐in‐hand down a path that emerges from the frame. - prompt: A whimsical illustration in fine watercolor and ink style depicting a greenhouse floating in space, its glass panes refracting starlight. Inside, an elderly botanist in a moss-green robe tends to glowing, otherworldly plants with translucent leaves and pulsing blue veins. Vines drift as if in zero gravity, and a telescope leans against a shelf stacked with botanical sketches. The scene balances scientific curiosity with dreamlike wonder, illuminated by the soft ambient glow of nearby nebulae. - prompt: A cinematic digital painting of a lone barista preparing espresso inside a retro-futuristic café perched at the edge of a foggy cliff. The café’s interior glows warmly with amber light, contrasting against the steel blue of early morning mist outside. Steam curls around chrome coffee machines, while a vinyl record spins softly in the corner. The style blends soft realism with subtle brush texture, capturing warmth, solitude, and the start of a new day. - prompt: A traditional Japanese woodblock-inspired piece featuring a kitsune spirit cloaked in a red kimono, standing barefoot in a moonlit bamboo grove. Her nine shimmering tails fade gently into the mist, and fireflies hover around her, casting soft light. The scene emphasizes elegant linework and muted earth tones, channeling quiet mysticism and ancient folklore. - prompt: A richly detailed sci-fi scene where a caravan of humanoid travelers leads long-legged beasts across rolling dunes under a glowing sky. Instead of stars, bioluminescent particles swirl above like constellations in motion. The figures are silhouetted against the horizon, lit from below by the subtle iridescence of the sand. The style evokes classic concept art—high contrast, cinematic depth, and painterly brushwork. - prompt: A noir-inspired illustration showing a jazz pianist performing under a crumbling subway overpass, his grand piano lit by a single exposed bulb. Water drips from above, catching the light, while graffiti and old posters cling to concrete pillars. His eyes are closed as if lost in the music, and his fedora casts a shadow over his face. The style combines dramatic chiaroscuro with grainy textures, evoking melancholy beauty and forgotten rhythms. ## 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/google/imagen-v4-fast" -H "Content-Type: multipart/form-data" -H "x-api-key: ${YOUR_API_KEY}" -H "x-nonce: ${NONCE}" -H "x-signature: ${SIGNATURE}" -d '{ "prompt": "a server farm with koala's and eucalyptus trees", "samples": "1", "seed": 1, "enhancePrompt": "true", "addWatermark": "true", "aspectRatio": "1:1", "personGeneration": "allow_adult", "language": "en", "safetySetting": "block_medium_and_above", "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.