## Basic tool info Model name: chetwinlow1/ovi Model description: Ovi is a veo-3 like, video+audio generation model that simultaneously generates both video and audio content. Model cover: https://cdn.wiro.ai/uploads/models/chetwinlow1-ovi-cover.mp4 Model categories: - bf16 - persistent - model - h100 - image-to-video - price-list - quick-showcase Run Task Endpoint (POST): https://api.wiro.ai/v1/Run/chetwinlow1/ovi Get Task Detail Endpoint (POST): https://api.wiro.ai/v1/Task/Detail ## Model Inputs: - name: inputImage label: Input Image help: Provide an image file or an image URL. type: combinefileinput default: chetwinlow1_ovi_input_4.jpg - name: prompt label: prompt help: prompt-help type: textarea default: A close-up video of a koala sitting comfortably on a eucalyptus tree branch in its natural forest habitat. Sunlight filters gently through the leaves, casting soft highlights on its fur as the camera slowly moves closer. The koala blinks lazily, then looks toward the camera with calm curiosity. In the background, faint birdsong and rustling leaves create a peaceful atmosphere. The koala says, Ovi now on Wiro!..Cheerful male voice with a gentle Australian accent, natural outdoor ambiance, subtle background of birds and breeze, warm and calm tone. - name: negativePrompt label: negativeprompt help: Negative prompt for video generation. type: textarea default: blur, noise, low resolution, unnatural colors, bad lighting, motion jitter, artifacting - name: audioNegativePrompt label: Audio Negative Prompt help: Negative prompt for audio generation. type: textarea default: robotic, echo, wind distortion, metallic, background hiss - name: resolution label: resolution help: Resolution. type: select default: default options: - value: "default" label: Default - value: "512x992" label: 512x992 - value: "992x512" label: 992x512 - value: "960x512" label: 960x512 - value: "512x960" label: 512x960 - value: "720x720" label: 720x720 - value: "448x1120" label: 448x1120 - value: "1120x448" label: 1120x448 - name: steps label: inferencesteps help: inferencesteps-help type: number default: 30 - name: seed label: Seed help: Random seed. Leave zero to randomize the seed type: text default: 0 ## Model Parameter Inspires: - inputImage: https://cdn.wiro.ai/uploads/sampleinputs/chetwinlow1_ovi_input_7.png - prompt: A portrait of a young woman with long, straight dark brown hair, wearing a simple black top. She gazes directly at the camera with a calm, neutral expression. Soft natural light from a nearby window illuminates her face, creating a gentle contrast between light and shadow against a softly blurred indoor background. The atmosphere feels serene and intimate. She says, I am an artificial intelligence..Soft whispering female voice, ASMR tone with gentle breaths, cozy room acoustics, subtle emphasis on 'I am an artificial intelligence'. - negativePrompt: jitter, bad hands, blur, distortion - audioNegativePrompt: robotic, muffled, echo, distorted - inputImage: https://cdn.wiro.ai/uploads/sampleinputs/chetwinlow1_ovi_input_4.jpg - prompt: A close-up video of a koala sitting comfortably on a eucalyptus tree branch in its natural forest habitat. Sunlight filters gently through the leaves, casting soft highlights on its fur as the camera slowly moves closer. The koala blinks lazily, then looks toward the camera with calm curiosity. In the background, faint birdsong and rustling leaves create a peaceful atmosphere. The koala says, Ovi now on Wiro!..Cheerful male voice with a gentle Australian accent, natural outdoor ambiance, subtle background of birds and breeze, warm and calm tone. - negativePrompt: blur, noise, low resolution, unnatural colors, bad lighting, motion jitter, artifacting - audioNegativePrompt: robotic, echo, wind distortion, metallic, background hiss - inputImage: https://cdn.wiro.ai/uploads/sampleinputs/chetwinlow1_ovi_input_5.jpg - prompt: A cinematic video of a woman sitting on a wooden park bench at sunset, surrounded by soft golden light filtering through the trees. She initially looks away, gazing thoughtfully at the horizon, then slowly turns her head to look directly at the camera with a gentle, contemplative expression. After a brief pause, she stretches her arms and smiles softly, enjoying the warm evening air. The background shows softly blurred trees, grass, and a glowing sky. She says, Sometimes, a quiet moment is all I need..Warm, soft female voice with natural intonation, gentle breath sounds, outdoor park ambiance with subtle wind and distant birdsong, calm and reflective tone. - negativePrompt: blur, motion blur, bad lighting, jitter, low resolution, unnatural colors, overexposure - audioNegativePrompt: robotic, muffled, echo, metallic, distorted, harsh wind noise - inputImage: https://cdn.wiro.ai/uploads/sampleinputs/chetwinlow1_ovi_input_6.jpg - prompt: A close-up video of a fluffy cat sitting calmly, wearing a cute red bow tie, looking directly at the camera with wide, curious eyes. The cat remains mostly still, moving naturally, like flicking its tail or blinking, creating a lifelike presence. It speaks, Once I was a lion. I evolved, and now I can talk. The background is softly blurred to emphasize the cat, with warm natural lighting highlighting its fur and bright red bow tie, giving a cozy and intimate atmosphere. Clear, soft cat voice speaking the line naturally, subtle ambient room acoustics, lifelike and playful tone. - negativePrompt: blur, jitter, unnatural motion, low resolution, bad lighting, unnatural colors, distorted fur - audioNegativePrompt: robotic, muffled, echo, metallic, distorted, unnatural pitch - inputImage: - prompt: A young man sits comfortably on a couch in a softly lit living room. Warm orange light from a nearby lamp adds a cozy feel as he speaks sincerely toward the camera. The background shows blurred fairy lights, creating an inviting atmosphere. Says, You know, it’s moments like these that remind me how technology can bring people closer..Gentle male voice with friendly tone, cozy indoor acoustics, faint ambient hum, natural breathing, smooth pacing. - negativePrompt: flat skin tones, frozen mouth, color flicker, poor lip-sync, low-depth blur artifacts. - audioNegativePrompt: distorted voice, muffled background, echo, unnatural reverb, static interference. - inputImage: - prompt: A humanoid robot with silver plating and expressive LED eyes stands in a softly glowing futuristic lab. Blue and white lights ripple across metal panels as it turns toward the viewer and speaks calmly. The scene feels advanced yet inviting. Says, Hello, human. I am designed to learn, adapt, and help you shape a smarter world.Smooth synthetic male voice with warm electronic tone, soft ambient lab hum, clear enunciation, gentle digital undertone. - negativePrompt: flickering reflections, jagged edges, unbalanced lighting, robotic stiffness, misaligned lips. - audioNegativePrompt: buzzing, clipping, reverb tail, volume inconsistency, metallic distortion. - inputImage: - prompt: A confident young woman stands in a modern minimalist office, wearing a white shirt and light grey blazer. Soft daylight enters from large windows, creating a balanced, professional look. She faces the camera with a friendly smile, speaking clearly and warmly. The atmosphere feels calm, focused, and inspiring. Says, Welcome to the future of intelligent creation..Warm female voice, clear and confident delivery, light office ambience with soft room tone, no background chatter, smooth and professional tone. - negativePrompt: stiff facial movement, low-res lighting reflections, overexposed background, awkward smile, frame jitter, low texture quality. - audioNegativePrompt: flat voice, mic distortion, room echo, sharp treble, inconsistent background tone. ## 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/chetwinlow1/ovi" -H "Content-Type: multipart/form-data" -H "x-api-key: ${YOUR_API_KEY}" -H "x-nonce: ${NONCE}" -H "x-signature: ${SIGNATURE}" -d '{ "inputImage": "chetwinlow1_ovi_input_4.jpg", "prompt": "A close-up video of a koala sitting comfortably on a eucalyptus tree branch in its natural forest habitat. Sunlight filters gently through the leaves, casting soft highlights on its fur as the camera slowly moves closer. The koala blinks lazily, then looks toward the camera with calm curiosity. In the background, faint birdsong and rustling leaves create a peaceful atmosphere. The koala says, Ovi now on Wiro!..Cheerful male voice with a gentle Australian accent, natural outdoor ambiance, subtle background of birds and breeze, warm and calm tone.", "negativePrompt": "blur, noise, low resolution, unnatural colors, bad lighting, motion jitter, artifacting", "audioNegativePrompt": "robotic, echo, wind distortion, metallic, background hiss", "resolution": "default", "steps": 30, "seed": "0", "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.