## Basic tool info Tool name: google/veo3 Tool description: Google's veo3 model Tool cover: https://cdn.wiro.ai/uploads/models/google-veo3-cover.mp4 Tool categories: - tool - partner - google - text-to-video Tool tags: - google Run Task Endpoint (POST): https://api.wiro.ai/v1/Run/google/veo3 Get Task Detail Endpoint (POST): https://api.wiro.ai/v1/Task/Detail ## Tool Inputs: - name: prompt label: prompt help: The prompt to generate the video. type: textarea default: A cheerful koala sits comfortably on a eucalyptus branch in a sun-dappled forest clearing. It wears a vibrant teal-green hoodie (not blue), close to RGB(4,147,107), with bold “WIRO” lettering across the front. Camera slowly dollies in as the koala looks at the camera and says with excitement in a friendly male voice: “Veo 3 now on Wiro!” Audio: rustling leaves, distant birds, warm vocal tone. Color palette: natural greens, soft greys, vibrant teal. Mood: cozy, natural, upbeat. (no subtitles) - name: generateAudio label: Generate Audio help: Generate audio for the video type: select default: true options: - value: "true" label: True - value: "false" label: False - name: aspectRatio label: Aspect Ratio help: Aspect ratio of the generated video type: select default: 16:9 options: - value: "16:9" label: 16:9 - name: negativePrompt label: Negative Prompt help: A text string that describes anything you want to discourage the model from generating type: textarea default: - name: enhancePrompt label: Enhance Prompt help: Use Gemini to enhance your prompts for better quality videos. type: select default: true options: - value: "true" label: True - value: "false" label: False - name: personGeneration label: Person Generation help: The safety setting that controls whether people or face generation is allowed. allow_adult: Allow generation of adults only. dont_allow: Disallow the inclusion of people or faces in videos. type: select default: allow_adult options: - value: "allow_adult" label: Allow Adults - value: "dont_allow" label: Don't Allow - name: seed label: seed help: A number to make generated videos deterministic. For random result do not send. type: number default: 0 - name: durationSeconds label: Duration Seconds help: Duration of the generated video in seconds. type: select default: 8 options: - value: "8" label: 8 ## Tool 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 blacksmith hammers glowing hot metal on an anvil inside a forge. Close-up of hammer strike sparks. Dolly-in on glowing forge embers. Audio: rhythmic hammering, fire crackle, echoing metal ring. Color: warm oranges, deep charcoals, soot textures. - prompt: A primitive hand scrapes a flint tool against a rock under moonlight outside a cave. Macro shot of tool edge, minimal motion. Audio: subtle scrape, nighttime ambience, distant owl hoot. Color: pale moonlight glow, cool blue-grey tones. - prompt: A robot delivery drone flies through a misty futuristic skyline at dawn. Upright tracking shot follows from below as city towers loom. Audio: whirr of rotors, faint morning chirps, gentle ambient soundtrack. Palette: pastel sun rays, metallic silvers, soft haze. - prompt: A cheerful koala sits comfortably on a eucalyptus branch in a sun-dappled forest clearing. It wears a vibrant teal-green hoodie (not blue), close to RGB(4,147,107), with bold “WIRO” lettering across the front. Camera slowly dollies in as the koala looks at the camera and says with excitement in a friendly male voice: “Veo 3 now on Wiro!” Audio: rustling leaves, distant birds, warm vocal tone. Color palette: natural greens, soft greys, vibrant teal. Mood: cozy, natural, upbeat. (no subtitles) ## 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/veo3" -H "Content-Type: multipart/form-data" -H "x-api-key: ${YOUR_API_KEY}" -H "x-nonce: ${NONCE}" -H "x-signature: ${SIGNATURE}" -d '{ "prompt": "A cheerful koala sits comfortably on a eucalyptus branch in a sun-dappled forest clearing. It wears a vibrant teal-green hoodie (not blue), close to RGB(4,147,107), with bold “WIRO” lettering across the front. Camera slowly dollies in as the koala looks at the camera and says with excitement in a friendly male voice: “Veo 3 now on Wiro!” Audio: rustling leaves, distant birds, warm vocal tone. Color palette: natural greens, soft greys, vibrant teal. Mood: cozy, natural, upbeat. (no subtitles)", "generateAudio": "true", "aspectRatio": "16:9", "negativePrompt": "", "enhancePrompt": "true", "personGeneration": "allow_adult", "seed": 0, "durationSeconds": "8", "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.