## Basic tool info Tool name: google/veo3-fast Tool description: Google's veo3 fast model Tool cover: https://cdn.wiro.ai/uploads/models/google-veo3-fast-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-fast 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: An IT employee sits at a cluttered desk in a dimly lit office, typing rapidly while staring at multiple monitors filled with error messages. He leans back, sighs deeply, then rubs his temples in frustration. The camera slowly pushes in toward his face. Audio: quiet keyboard clacks, low ambient hum, faint clock ticking. Color palette: cool greys, blue screen glow, soft shadows. Mood: tense, relatable, realistic. - 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 tote bag with a mountain logo. The sun in the logo rises up, and small birds fly off from the summit. - prompt: A man in a business suit takes off with a jetpack from a suburban driveway at sunrise, soaring over traffic and rooftops. He shouts, “No more traffic for me—thanks to Wiro!” as the camera tracks beside him in a wide aerial pan. City sounds fade beneath the jetpack’s roar. - prompt: An IT employee sits at a cluttered desk in a dimly lit office, typing rapidly while staring at multiple monitors filled with error messages. He leans back, sighs deeply, then rubs his temples in frustration. The camera slowly pushes in toward his face. Audio: quiet keyboard clacks, low ambient hum, faint clock ticking. Color palette: cool greys, blue screen glow, soft shadows. Mood: tense, relatable, realistic. ## 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-fast" -H "Content-Type: multipart/form-data" -H "x-api-key: ${YOUR_API_KEY}" -H "x-nonce: ${NONCE}" -H "x-signature: ${SIGNATURE}" -d '{ "prompt": "An IT employee sits at a cluttered desk in a dimly lit office, typing rapidly while staring at multiple monitors filled with error messages. He leans back, sighs deeply, then rubs his temples in frustration. The camera slowly pushes in toward his face. Audio: quiet keyboard clacks, low ambient hum, faint clock ticking. Color palette: cool greys, blue screen glow, soft shadows. Mood: tense, relatable, realistic.", "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.