## Basic tool info Model name: wiro/POV FPV Effect Model description: First-person and FPV cinematic adventure videos generated from a single portrait. 61 scenarios across dragon flight, wingsuit, animal POV, parkour, FPV drone racing and lunar handheld footage. Model cover: https://cdn.wiro.ai/uploads/models/wiro-pov-fpv-effect-cover.mp4 Model categories: - tool - use-agent - wiroEntertainment - fast-inference - image-to-video - wiro-app - beautykit - partner - nogpu-pipeline Run Task Endpoint (POST): https://api.wiro.ai/v1/Run/wiro/pov-fpv-effect Get Task Detail Endpoint (POST): https://api.wiro.ai/v1/Task/Detail ## Model Inputs: - name: inputImage label: Input Image help: Required: 1–3 images depending on selected effect — see scenario note type: combinefileinput default: ai-portrait-daily-asian-woman.webp - name: effectType label: Effect Type help: Required type: selectwithcover default: pov+fpv-dragon+rider+armored+hands options: - value: "pov+fpv-dragon+rider+armored+hands" label: First-Person Dragon Rider POV Armored Hands cover: seffect/pov%2Bfpv-dragon%2Brider%2Barmored%2Bhands.mp4 inputImageCount: 1 inputImageNote: Upload 1 human portrait photo. - value: "pov+fpv-wingsuit+alpine+valley+dive" label: Wingsuit Alpine Valley Diving First-Person POV cover: seffect/pov%2Bfpv-wingsuit%2Balpine%2Bvalley%2Bdive.mp4 inputImageCount: 1 inputImageNote: Upload 1 human portrait photo. - value: "pov+fpv-superbike+touge+mountain+dawn" label: Superbike Touge Mountain Dawn First-Person POV cover: seffect/pov%2Bfpv-superbike%2Btouge%2Bmountain%2Bdawn.mp4 inputImageCount: 1 inputImageNote: Upload 1 human portrait photo. - value: "pov+fpv-tiger+predator+tail+grip" label: Tiger Predator POV Tail-Grip Ultra-Realistic Hunt cover: seffect/pov%2Bfpv-tiger%2Bpredator%2Btail%2Bgrip.mp4 inputImageCount: 1 inputImageNote: Upload 1 human portrait photo. - value: "pov+fpv-parkour+multi+environment+take" label: Parkour Multi-Environment One-Take POV cover: seffect/pov%2Bfpv-parkour%2Bmulti%2Benvironment%2Btake.mp4 inputImageCount: 1 inputImageNote: Upload 1 human portrait photo. - value: "pov+fpv-drone+racing+apocalyptic+city" label: FPV Drone Racing Apocalyptic City POV cover: seffect/pov%2Bfpv-drone%2Bracing%2Bapocalyptic%2Bcity.mp4 inputImageCount: 1 inputImageNote: Upload 1 human portrait photo. - value: "pov+fpv-golden+eagle+volcanic+escape" label: Golden Eagle Volcanic City Escape First-Person POV cover: seffect/pov%2Bfpv-golden%2Beagle%2Bvolcanic%2Bescape.mp4 inputImageCount: 1 inputImageNote: Upload 1 human portrait photo. - value: "pov+fpv-biotech+city+hyperspeed" label: Hyperspeed FPV Ruined Biotech City POV cover: seffect/pov%2Bfpv-biotech%2Bcity%2Bhyperspeed.mp4 inputImageCount: 1 inputImageNote: Upload 1 human portrait photo. - value: "pov+fpv-ancient+london+medieval" label: FPV Ancient London Medieval Golden-Hour POV cover: seffect/pov%2Bfpv-ancient%2Blondon%2Bmedieval.mp4 inputImageCount: 1 inputImageNote: Upload 1 human portrait photo. - value: "pov+fpv-five+environment+flyover" label: FPV Five-Environment Flyover Seamless Transition POV cover: seffect/pov%2Bfpv-five%2Benvironment%2Bflyover.mp4 inputImageCount: 1 inputImageNote: Upload 1 human portrait photo. - value: "pov+fpv-downhill+skateboard+mountain" label: Downhill Skateboard Mountain First-Person POV cover: seffect/pov%2Bfpv-downhill%2Bskateboard%2Bmountain.mp4 inputImageCount: 1 inputImageNote: Upload 1 human portrait photo. - value: "pov+fpv-iphone+freefall+chase" label: iPhone Free-Fall Multi-Dimensional Chase POV cover: seffect/pov%2Bfpv-iphone%2Bfreefall%2Bchase.mp4 inputImageCount: 1 inputImageNote: Upload 1 human portrait photo. - value: "pov+fpv-low+altitude+aircraft+terrain" label: Low-Altitude Aircraft POV Diverse Terrain cover: seffect/pov%2Bfpv-low%2Baltitude%2Baircraft%2Bterrain.mp4 inputImageCount: 1 inputImageNote: Upload 1 human portrait photo. - value: "pov+fpv-treehouse+cozy+golden" label: Cozy Treehouse FPV Golden-Hour Adventure cover: seffect/pov%2Bfpv-treehouse%2Bcozy%2Bgolden.mp4 inputImageCount: 1 inputImageNote: Upload 1 human portrait photo. - value: "pov+fpv-hoverboard+cyberpunk+courier" label: Rogue Data-Courier Hoverboard Cyberpunk POV cover: seffect/pov%2Bfpv-hoverboard%2Bcyberpunk%2Bcourier.mp4 inputImageCount: 1 inputImageNote: Upload 1 human portrait photo. - value: "pov+fpv-astronaut+spacewalk+drama" label: Astronaut Spacewalk Sci-Fi Drama POV cover: seffect/pov%2Bfpv-astronaut%2Bspacewalk%2Bdrama.mp4 inputImageCount: 1 inputImageNote: Upload 1 human portrait photo. - value: "pov+fpv-doomsday+escape+oneshot" label: Doomsday One-Shot POV Escape cover: seffect/pov%2Bfpv-doomsday%2Bescape%2Boneshot.mp4 inputImageCount: 1 inputImageNote: Upload 1 human portrait photo. - value: "pov+fpv-invisible+rollercoaster+neon+skyline" label: Invisible Rollercoaster Neon Skyline POV cover: seffect/pov%2Bfpv-invisible%2Brollercoaster%2Bneon%2Bskyline.mp4 inputImageCount: 1 inputImageNote: Upload 1 human portrait photo. - value: "pov+fpv-warehouse+breach+to+rooftop" label: Warehouse Breach to Rooftop Action One-Shot FPV cover: seffect/pov%2Bfpv-warehouse%2Bbreach%2Bto%2Brooftop.mp4 inputImageCount: 1 inputImageNote: Upload 1 human portrait photo. - value: "pov+fpv-wwi+trenches+oneshot+messenger" label: WWI Trenches Messenger Continuous One-Shot POV cover: seffect/pov%2Bfpv-wwi%2Btrenches%2Boneshot%2Bmessenger.mp4 inputImageCount: 1 inputImageNote: Upload 1 human portrait photo. - value: "pov+fpv-impressionist+rowing+hands+lake" label: Impressionist Oil-Painting Rowing Hands Lake POV cover: seffect/pov%2Bfpv-impressionist%2Browing%2Bhands%2Blake.mp4 inputImageCount: 1 inputImageNote: Upload 1 human portrait photo. - value: "pov+fpv-neon+dumpling+courier+rooftop" label: Neon Dumpling Courier Rooftop Action-Comedy POV cover: seffect/pov%2Bfpv-neon%2Bdumpling%2Bcourier%2Brooftop.mp4 inputImageCount: 1 inputImageNote: Upload 1 human portrait photo. - value: "pov+fpv-ice+dragon+naval+battle+freeze" label: Ice Dragon POV Naval Fleet Freeze Blast cover: seffect/pov%2Bfpv-ice%2Bdragon%2Bnaval%2Bbattle%2Bfreeze.mp4 inputImageCount: 1 inputImageNote: Upload 1 human portrait photo. - value: "pov+fpv-macro+fairy+flight+chaotic" label: Macro FPV Fairy Chaotic Flight Through Garden cover: seffect/pov%2Bfpv-macro%2Bfairy%2Bflight%2Bchaotic.mp4 inputImageCount: 1 inputImageNote: Upload 1 human portrait photo. - value: "pov+fpv-downhill+longboard+mediterranean+cliff" label: Downhill Longboard Chaotic Mediterranean Cliffside Town cover: seffect/pov%2Bfpv-downhill%2Blongboard%2Bmediterranean%2Bcliff.mp4 inputImageCount: 1 inputImageNote: Upload 1 human portrait photo. - value: "pov+fpv-atv+racing+desert+sandstorm" label: ATV Racing Desert Sandstorm FPV cover: seffect/pov%2Bfpv-atv%2Bracing%2Bdesert%2Bsandstorm.mp4 inputImageCount: 1 inputImageNote: Upload 1 human portrait photo. - value: "pov+fpv-cyberpunk+wuxia+fishing+boat+dunes" label: Cyberpunk Wuxia Fishing Boat Sand Dunes POV cover: seffect/pov%2Bfpv-cyberpunk%2Bwuxia%2Bfishing%2Bboat%2Bdunes.mp4 inputImageCount: 1 inputImageNote: Upload 1 human portrait photo. - value: "pov+fpv-rocket+wingsuit+storm+canyon" label: Rocket Wingsuit Stratospheric Storm Canyon POV cover: seffect/pov%2Bfpv-rocket%2Bwingsuit%2Bstorm%2Bcanyon.mp4 inputImageCount: 1 inputImageNote: Upload 1 human portrait photo. - value: "pov+fpv-global+hyperspeed+aircraft+tracking" label: Global Hyperspeed Aircraft Multi-City Tracking POV cover: seffect/pov%2Bfpv-global%2Bhyperspeed%2Baircraft%2Btracking.mp4 inputImageCount: 1 inputImageNote: Upload 1 human portrait photo. - value: "pov+fpv-avalanche+aerial+train+tunnel+dive" label: Avalanche Aerial Train Tunnel Dive POV cover: seffect/pov%2Bfpv-avalanche%2Baerial%2Btrain%2Btunnel%2Bdive.mp4 inputImageCount: 1 inputImageNote: Upload 1 human portrait photo. - value: "pov+fpv-high+speed+train+rural+landscape" label: High-Speed Train Rural Landscape Passing POV cover: seffect/pov%2Bfpv-high%2Bspeed%2Btrain%2Brural%2Blandscape.mp4 inputImageCount: 1 inputImageNote: Upload 1 human portrait photo. - value: "pov+fpv-spy+thriller+urban+tail" label: Stylish Urban Night Walk One-Shot cover: seffect/pov%2Bfpv-spy%2Bthriller%2Burban%2Btail.mp4 inputImageCount: 1 inputImageNote: Upload 1 human portrait photo. - value: "pov+fpv-custom+multi+scene+exploration" label: Custom Multi-Scene First-Person Exploration cover: seffect/pov%2Bfpv-custom%2Bmulti%2Bscene%2Bexploration.mp4 inputImageCount: 3 inputImageNote: Upload 3 images: 1) Your portrait photo, 2) First environment/scene photo, 3) Second environment/scene photo. - value: "pov+fpv-sky+temple+city+grandmaster" label: Sky Temple City One-Shot cover: seffect/pov%2Bfpv-sky%2Btemple%2Bcity%2Bgrandmaster.mp4 inputImageCount: 1 inputImageNote: Upload 1 human portrait photo. - value: "pov+fpv-fairy+garden+tour" label: Fairy Garden First-Person Tour cover: seffect/pov%2Bfpv-fairy%2Bgarden%2Btour.mp4 inputImageCount: 1 inputImageNote: Upload 1 human portrait photo. - value: "pov+fpv-sky+bazaar+glider+dive" label: Sky Bazaar Glider Dive cover: seffect/pov%2Bfpv-sky%2Bbazaar%2Bglider%2Bdive.mp4 inputImageCount: 1 inputImageNote: Upload 1 human portrait photo. - value: "pov+fpv-southeast+asian+night+market+ground+to+aerial" label: Southeast Asian Night Market Ground-to-Aerial POV cover: seffect/pov%2Bfpv-southeast%2Basian%2Bnight%2Bmarket%2Bground%2Bto%2Baerial.mp4 inputImageCount: 1 inputImageNote: Upload 1 human portrait photo. - value: "pov+fpv-abandoned+hospital+stumbler+survival" label: Abandoned Hospital Stumbler Survival FPV cover: seffect/pov%2Bfpv-abandoned%2Bhospital%2Bstumbler%2Bsurvival.mp4 inputImageCount: 1 inputImageNote: Upload 1 human portrait photo. - value: "pov+fpv-southeast+night+market+impossible+move" label: Southeast Night Market Impossible Camera Move cover: seffect/pov%2Bfpv-southeast%2Bnight%2Bmarket%2Bimpossible%2Bmove.mp4 inputImageCount: 1 inputImageNote: Upload 1 human portrait photo. - value: "pov+fpv-eagle+mountain+dive" label: Eagle Dive POV cover: seffect/pov%2Bfpv-eagle%2Bmountain%2Bdive.mp4 inputImageCount: 1 inputImageNote: Upload 1 human portrait photo. - value: "pov+fpv-leviathan+descent" label: Leviathan Throat POV Descent cover: seffect/pov%2Bfpv-leviathan%2Bdescent.mp4 inputImageCount: 1 inputImageNote: Upload 1 human portrait photo. - value: "pov+fpv-cozy+cabin+fireside+storybook+tea" label: Cozy Cabin Fireside Storybook Animal Tea POV cover: seffect/pov%2Bfpv-cozy%2Bcabin%2Bfireside%2Bstorybook%2Btea.mp4 inputImageCount: 1 inputImageNote: Upload 1 human portrait photo. - value: "pov+fpv-foam+flood+neighborhood+scale" label: Expanding Soap Foam Neighborhood Flood POV cover: seffect/pov%2Bfpv-foam%2Bflood%2Bneighborhood%2Bscale.mp4 inputImageCount: 1 inputImageNote: Upload 1 human portrait photo. - value: "pov+fpv-archer+arrow+cam+canyon" label: Archer Arrow-Cam Canyon Release POV cover: seffect/pov%2Bfpv-archer%2Barrow%2Bcam%2Bcanyon.mp4 inputImageCount: 1 inputImageNote: Upload 1 human portrait photo. - value: "pov+fpv-jetski+rogue+wave+storm" label: Extreme Jet Ski Rogue Wave Storm POV cover: seffect/pov%2Bfpv-jetski%2Brogue%2Bwave%2Bstorm.mp4 inputImageCount: 1 inputImageNote: Upload 1 human portrait photo. - value: "pov+fpv-runner+crowded+market+sprint" label: Sprint Runner Crowded Market Weave POV cover: seffect/pov%2Bfpv-runner%2Bcrowded%2Bmarket%2Bsprint.mp4 inputImageCount: 1 inputImageNote: Upload 1 human portrait photo. - value: "pov+fpv-motocross+abandoned+rooftops+jump" label: Motocross FPV Abandoned City Rooftop Jumps cover: seffect/pov%2Bfpv-motocross%2Babandoned%2Brooftops%2Bjump.mp4 inputImageCount: 1 inputImageNote: Upload 1 human portrait photo. - value: "pov+fpv-dirt+bike+prehistoric+canyon+chase" label: Prehistoric Dirt Bike Canyon Chase POV cover: seffect/pov%2Bfpv-dirt%2Bbike%2Bprehistoric%2Bcanyon%2Bchase.mp4 inputImageCount: 1 inputImageNote: Upload 1 human portrait photo. - value: "pov+fpv-drone+industrial+pipe+burst" label: FPV Drone Industrial Pipe Burst Green-Filter POV cover: seffect/pov%2Bfpv-drone%2Bindustrial%2Bpipe%2Bburst.mp4 inputImageCount: 1 inputImageNote: Upload 1 human portrait photo. - value: "pov+fpv-knight+helmet+slit+battlefield" label: Medieval Knight Helmet-Slit Battlefield Dusk POV cover: seffect/pov%2Bfpv-knight%2Bhelmet%2Bslit%2Bbattlefield.mp4 inputImageCount: 1 inputImageNote: Upload 1 human portrait photo. - value: "pov+fpv-cockpit+neon+drift+night+chase" label: Cockpit Night Neon Drift Chase POV cover: seffect/pov%2Bfpv-cockpit%2Bneon%2Bdrift%2Bnight%2Bchase.mp4 inputImageCount: 1 inputImageNote: Upload 1 human portrait photo. - value: "pov+fpv-lightning+bolt+descent+strike" label: Lightning Bolt Descent Plasma POV cover: seffect/pov%2Bfpv-lightning%2Bbolt%2Bdescent%2Bstrike.mp4 inputImageCount: 1 inputImageNote: Upload 1 human portrait photo. - value: "pov+fpv-glacier+tiger+predator+elk" label: Glacier Tiger Predator Elk Chase POV cover: seffect/pov%2Bfpv-glacier%2Btiger%2Bpredator%2Belk.mp4 inputImageCount: 1 inputImageNote: Upload 1 human portrait photo. - value: "pov+fpv-time+freeze+crowd+release" label: POV Time-Freeze City Crowd Release Burst cover: seffect/pov%2Bfpv-time%2Bfreeze%2Bcrowd%2Brelease.mp4 inputImageCount: 1 inputImageNote: Upload 1 human portrait photo. - value: "pov+fpv-boyfriend+water+city+vlog" label: Friend POV Water-City Travel Vlog cover: seffect/pov%2Bfpv-boyfriend%2Bwater%2Bcity%2Bvlog.mp4 inputImageCount: 1 inputImageNote: Upload 1 human portrait photo (the subject of the vlog; a friend holds the phone). - value: "pov+fpv-cyberpunk+motorcycle+sunset+ride" label: Cyberpunk Motorcycle Sunset Megacity POV cover: seffect/pov%2Bfpv-cyberpunk%2Bmotorcycle%2Bsunset%2Bride.mp4 inputImageCount: 1 inputImageNote: Upload 1 human portrait photo. - value: "pov+fpv-lunar+leaked+handheld" label: Lunar Leaked Handheld Astronaut Footage POV cover: seffect/pov%2Bfpv-lunar%2Bleaked%2Bhandheld.mp4 inputImageCount: 1 inputImageNote: Upload 1 human portrait photo. - value: "pov+fpv-tactical+courier+tether+freefall" label: Tactical Courier Tether Freefall POV cover: seffect/pov%2Bfpv-tactical%2Bcourier%2Btether%2Bfreefall.mp4 inputImageCount: 1 inputImageNote: Upload 1 human portrait photo. - value: "pov+fpv-night+carrier+recovery+thriller" label: Night Carrier Fighter Recovery POV cover: seffect/pov%2Bfpv-night%2Bcarrier%2Brecovery%2Bthriller.mp4 inputImageCount: 1 inputImageNote: Upload 1 human portrait photo. - value: "pov+fpv-ancient+palace+kingdom" label: Ancient Kingdom Temple FPV cover: seffect/pov%2Bfpv-ancient%2Bpalace%2Bkingdom.mp4 inputImageCount: 1 inputImageNote: Upload 1 human portrait photo (the scholar-observer). - value: "pov+fpv-knight+giant+muddy+battlefield" label: Knight vs Giant Muddy Battlefield POV cover: seffect/pov%2Bfpv-knight%2Bgiant%2Bmuddy%2Bbattlefield.mp4 inputImageCount: 1 inputImageNote: Upload 1 human portrait photo. - name: videoMode label: Video Mode help: Required. Default Standard type: select default: std options: - value: "std" label: Standard - value: "pro" label: Pro - name: ratio label: ratio help: Required. Default 9:16 type: select default: 9:16 options: - value: "9:16" label: 9:16 - value: "16:9" label: 16:9 - value: "1:1" label: 1:1 - name: duration label: Duration help: Required. Default 5s type: select default: 5 options: - value: "5" label: 5s - value: "10" label: 10s - value: "15" label: 15s ## 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/wiro/pov-fpv-effect" -H "Content-Type: multipart/form-data" -H "x-api-key: ${YOUR_API_KEY}" -H "x-nonce: ${NONCE}" -H "x-signature: ${SIGNATURE}" -d '{ "inputImage": "ai-portrait-daily-asian-woman.webp", "effectType": "pov+fpv-dragon+rider+armored+hands", "videoMode": "std", "ratio": "9:16", "duration": "5", "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.