## Basic tool info Model name: wiro/Epic Combat Effect Model description: Star in epic cinematic battle videos generated from a single portrait. 92 scenarios across kaiju, fantasy, mecha, samurai, wuxia and modern action. Model cover: https://cdn.wiro.ai/uploads/models/wiro-epic-combat-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/epic-combat-effect Get Task Detail Endpoint (POST): https://api.wiro.ai/v1/Task/Detail ## Model Inputs: - name: inputImage label: Input Image help: Required: 1–2 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: kaiju+battle-industrial+park options: - value: "kaiju+battle-industrial+park" label: Titan vs Titan Abandoned Industrial Yard cover: seffect/kaiju%2Bbattle-industrial%2Bpark.mp4 inputImageCount: 1 inputImageNote: Upload 1 human portrait photo. - value: "kaiju+battle-giant+pov" label: First-Person Giant Titan POV cover: seffect/kaiju%2Bbattle-giant%2Bpov.mp4 inputImageCount: 1 inputImageNote: Upload 1 human portrait photo. - value: "kaiju+battle-bystander+scale" label: Oblivious Bystander vs Titan cover: seffect/kaiju%2Bbattle-bystander%2Bscale.mp4 inputImageCount: 1 inputImageNote: Upload 1 human portrait photo. - value: "kaiju+battle-ocean+leviathan" label: Ocean Leviathan Emerge cover: seffect/kaiju%2Bbattle-ocean%2Bleviathan.mp4 inputImageCount: 1 inputImageNote: Upload 1 human portrait photo. - value: "kaiju+battle-silverback+tower" label: Giant Silverback Tower Climb cover: seffect/kaiju%2Bbattle-silverback%2Btower.mp4 inputImageCount: 1 inputImageNote: Upload 1 human portrait photo. - value: "kaiju+battle-dragon+castle" label: Dragon Attacks Castle cover: seffect/kaiju%2Bbattle-dragon%2Bcastle.mp4 inputImageCount: 1 inputImageNote: Upload 1 human portrait photo. - value: "kaiju+battle-hero+titan+scale" label: Human-Size Hero vs Skyscraper Titan cover: seffect/kaiju%2Bbattle-hero%2Btitan%2Bscale.mp4 inputImageCount: 1 inputImageNote: Upload 1 human portrait photo. - value: "weapon+summon-spellbook+library+float" label: Floating Spellbook Gothic Library Summon cover: seffect/weapon%2Bsummon-spellbook%2Blibrary%2Bfloat.mp4 inputImageCount: 1 inputImageNote: Upload 1 human portrait photo. - value: "kaiju+battle-sky+whale+kraken" label: Sky Whale vs Storm-Cloud Kraken Battle cover: seffect/kaiju%2Bbattle-sky%2Bwhale%2Bkraken.mp4 inputImageCount: 1 inputImageNote: Upload 1 human portrait photo. - value: "kaiju+battle-lake+monster+knight" label: Retro Lake Monster vs Fantasy Knight cover: seffect/kaiju%2Bbattle-lake%2Bmonster%2Bknight.mp4 inputImageCount: 1 inputImageNote: Upload 1 human portrait photo. - value: "weapon+summon-kunoichi+moon+snow" label: Kunoichi Light-Blade Snow Temple Summon cover: seffect/weapon%2Bsummon-kunoichi%2Bmoon%2Bsnow.mp4 inputImageCount: 1 inputImageNote: Upload 1 human portrait photo. - value: "kaiju+battle-sand+monster+erupts" label: Colossal Sand Monster Erupting Desert Battle cover: seffect/kaiju%2Bbattle-sand%2Bmonster%2Berupts.mp4 inputImageCount: 1 inputImageNote: Upload 1 human portrait photo. - value: "kaiju+battle-red+dragon+ocean+ship" label: Furious Red Dragon Ocean Emergence Ship Battle cover: seffect/kaiju%2Bbattle-red%2Bdragon%2Bocean%2Bship.mp4 inputImageCount: 1 inputImageNote: Upload 1 human portrait photo. - value: "weapon+summon-impossible+dragon+war" label: Impossible Camera Dragon War Weapon Summon cover: seffect/weapon%2Bsummon-impossible%2Bdragon%2Bwar.mp4 inputImageCount: 1 inputImageNote: Upload 1 human portrait photo. - value: "kaiju+battle-fire+ice+warriors+volcanic" label: Fire vs Ice Warriors Volcanic Dual-Element Battle cover: seffect/kaiju%2Bbattle-fire%2Bice%2Bwarriors%2Bvolcanic.mp4 inputImageCount: 2 inputImageNote: Upload 1 or 2 human portraits — [Image 1] (required) is the fire warrior; [Image 2] (optional) is the ice warrior. If only 1 photo is uploaded, the ice warrior becomes [Image 1]'s alternate-element twin (same face, cold-crystal armor) for a self-vs-self duel. - value: "weapon+summon-celestial+sun+eclipse" label: Celestial Sun Warrior vs Eclipse Beast Duel cover: seffect/weapon%2Bsummon-celestial%2Bsun%2Beclipse.mp4 inputImageCount: 1 inputImageNote: Upload 1 human portrait photo. - value: "weapon+summon-silhouette+swordsman+kinetic" label: Silhouetted Swordsman Hyper-Kinetic Combat cover: seffect/weapon%2Bsummon-silhouette%2Bswordsman%2Bkinetic.mp4 inputImageCount: 1 inputImageNote: Upload 1 human portrait photo. - value: "weapon+summon-steampunk+airship+battle" label: Steampunk Victorian Airship Mountain Battle cover: seffect/weapon%2Bsummon-steampunk%2Bairship%2Bbattle.mp4 inputImageCount: 1 inputImageNote: Upload 1 human portrait photo. - value: "weapon+summon-shaolin+samurai+bamboo" label: Shaolin Monk vs Samurai Bamboo Forest Duel cover: seffect/weapon%2Bsummon-shaolin%2Bsamurai%2Bbamboo.mp4 inputImageCount: 2 inputImageNote: Upload 1 or 2 human portraits — [Image 1] (required) is the Shaolin monk; [Image 2] (optional) is the samurai. If only 1 photo is uploaded, the samurai is model-generated with a distinct face. - value: "weapon+summon-sword+saint+blade+demon" label: Sword Saint vs Blade Demon Shattered Battlefield cover: seffect/weapon%2Bsummon-sword%2Bsaint%2Bblade%2Bdemon.mp4 inputImageCount: 2 inputImageNote: Upload 1 or 2 human portraits — [Image 1] (required) is the Sword Saint; [Image 2] (optional) is the Blade Demon. If only 1 photo is uploaded, the Blade Demon is model-generated with a distinct face. - value: "kaiju+battle-aztec+citadel+siege" label: Colossal Aztec Citadel Temple Storm Siege cover: seffect/kaiju%2Bbattle-aztec%2Bcitadel%2Bsiege.mp4 inputImageCount: 1 inputImageNote: Upload 1 human portrait photo. - value: "kaiju+battle-festival+mask+serpentine+titan" label: Festival Mask Figure Serpentine Abyssal Titan cover: seffect/kaiju%2Bbattle-festival%2Bmask%2Bserpentine%2Btitan.mp4 inputImageCount: 1 inputImageNote: Upload 1 human portrait photo. - value: "kaiju+battle-alien+arrival+downtown+beat" label: Organic Alien Arrival Downtown Beat-Synced cover: seffect/kaiju%2Bbattle-alien%2Barrival%2Bdowntown%2Bbeat.mp4 inputImageCount: 1 inputImageNote: Upload 1 human portrait photo. - value: "kaiju+battle-aerial+dogfight+temple" label: Aerial Dogfight Pilot vs Sky Kaiju Over Temple cover: seffect/kaiju%2Bbattle-aerial%2Bdogfight%2Btemple.mp4 inputImageCount: 1 inputImageNote: Upload 1 human portrait photo. - value: "weapon+summon-kung+fu+destroyed+hotel" label: Chaotic Kung-Fu Destroyed Hotel Room Found-Footage cover: seffect/weapon%2Bsummon-kung%2Bfu%2Bdestroyed%2Bhotel.mp4 inputImageCount: 1 inputImageNote: Upload 1 human portrait photo. - value: "weapon+summon-boss+entrance+smoke" label: Cinematic Boss Character Smoke Low-Angle Entrance cover: seffect/weapon%2Bsummon-boss%2Bentrance%2Bsmoke.mp4 inputImageCount: 1 inputImageNote: Upload 1 human portrait photo. - value: "weapon+summon-warzone+shellshock+chaos+spin" label: Warzone Shellshock 360 Spinning Sensory Overload cover: seffect/weapon%2Bsummon-warzone%2Bshellshock%2Bchaos%2Bspin.mp4 inputImageCount: 1 inputImageNote: Upload 1 human portrait photo. - value: "kaiju+battle-shepherd+vs+giant+ancient" label: Shepherd Youth vs Giant Ancient Epic Combat cover: seffect/kaiju%2Bbattle-shepherd%2Bvs%2Bgiant%2Bancient.mp4 inputImageCount: 1 inputImageNote: Upload 1 human portrait photo. - value: "kaiju+battle-post+apocalyptic+megacity+waking" label: Post-Apocalyptic Megacity Waking Up Storm cover: seffect/kaiju%2Bbattle-post%2Bapocalyptic%2Bmegacity%2Bwaking.mp4 inputImageCount: 1 inputImageNote: Upload 1 human portrait photo. - value: "weapon+summon-impossible+meteor+impact+transition" label: Impossible Meteor Impact Seamless Transition cover: seffect/weapon%2Bsummon-impossible%2Bmeteor%2Bimpact%2Btransition.mp4 inputImageCount: 1 inputImageNote: Upload 1 human portrait photo. - value: "weapon+summon-elemental+trio+shattered+city" label: Elemental Trio Lightning-Fire-Ice Shattered City Battle cover: seffect/weapon%2Bsummon-elemental%2Btrio%2Bshattered%2Bcity.mp4 inputImageCount: 1 inputImageNote: Upload 1 human portrait photo. - value: "kaiju+battle-kraken+vs+pirate+ship+sword" label: Kraken vs Pirate Ship Captain Sword Duel cover: seffect/kaiju%2Bbattle-kraken%2Bvs%2Bpirate%2Bship%2Bsword.mp4 inputImageCount: 1 inputImageNote: Upload 1 human portrait photo. - value: "weapon+summon-medieval+battlefield+aerial+dawn" label: Medieval Battlefield Aerial Descent Dawn cover: seffect/weapon%2Bsummon-medieval%2Bbattlefield%2Baerial%2Bdawn.mp4 inputImageCount: 1 inputImageNote: Upload 1 human portrait photo. - value: "kaiju+battle-ronin+vs+winged+beast+floating" label: Masked Ronin vs Colossal Winged Beast Floating Rocks cover: seffect/kaiju%2Bbattle-ronin%2Bvs%2Bwinged%2Bbeast%2Bfloating.mp4 inputImageCount: 1 inputImageNote: Upload 1 human portrait photo. - value: "weapon+summon-wuxia+bamboo+forest+duel" label: Classical Wuxia Bamboo Forest Two-Character Duel cover: seffect/weapon%2Bsummon-wuxia%2Bbamboo%2Bforest%2Bduel.mp4 inputImageCount: 1 inputImageNote: Upload 1 human portrait photo. - value: "weapon+summon-sword+woman+vs+polar+bear" label: Sword-Bearing Woman vs Massive Polar Bear Arctic cover: seffect/weapon%2Bsummon-sword%2Bwoman%2Bvs%2Bpolar%2Bbear.mp4 inputImageCount: 1 inputImageNote: Upload 1 human portrait photo. - value: "weapon+summon-cyberpunk+samurai+sengoku+neon" label: Cyberpunk Samurai Massive Battle Rain Sengoku Neon cover: seffect/weapon%2Bsummon-cyberpunk%2Bsamurai%2Bsengoku%2Bneon.mp4 inputImageCount: 1 inputImageNote: Upload 1 human portrait photo. - value: "kaiju+battle-scorpion+mountain+desert" label: Kaiju Scorpion Mountain-Sized Desert Confrontation cover: seffect/kaiju%2Bbattle-scorpion%2Bmountain%2Bdesert.mp4 inputImageCount: 1 inputImageNote: Upload 1 human portrait photo. - value: "kaiju+battle-spirit+tiger+void+panther+bamboo" label: Spirit Tiger vs Void Panther Mist Bamboo Forest cover: seffect/kaiju%2Bbattle-spirit%2Btiger%2Bvoid%2Bpanther%2Bbamboo.mp4 inputImageCount: 1 inputImageNote: Upload 1 human portrait photo. - value: "weapon+summon-max+power+desert+sandstorm+convoy" label: Max Power Desert Sandstorm Military Convoy Epic cover: seffect/weapon%2Bsummon-max%2Bpower%2Bdesert%2Bsandstorm%2Bconvoy.mp4 inputImageCount: 1 inputImageNote: Upload 1 human portrait photo. - value: "weapon+summon-samurai+desert+sunset+acrobatic" label: Samurai Desert Sunset Acrobatic Combat Golden cover: seffect/weapon%2Bsummon-samurai%2Bdesert%2Bsunset%2Bacrobatic.mp4 inputImageCount: 2 inputImageNote: Upload 1 human portrait (lead samurai). Optionally upload a 2nd portrait for the opposing samurai — if omitted, a fictional opponent is generated. - value: "kaiju+battle-ice+giant+vs+magma+titan" label: Ice Giant vs Magma Titan Glacial Valley Clash cover: seffect/kaiju%2Bbattle-ice%2Bgiant%2Bvs%2Bmagma%2Btitan.mp4 inputImageCount: 1 inputImageNote: Upload 1 human portrait photo. - value: "kaiju+battle-sea+monster+storm+boat" label: Lone Boater vs Sea Monster Violent Storm Ocean cover: seffect/kaiju%2Bbattle-sea%2Bmonster%2Bstorm%2Bboat.mp4 inputImageCount: 1 inputImageNote: Upload 1 human portrait photo. - value: "kaiju+battle-lightning+wolf+grassland+thunderstorm" label: Lightning Wolf Racing Grassland Thunderstorm Spirit cover: seffect/kaiju%2Bbattle-lightning%2Bwolf%2Bgrassland%2Bthunderstorm.mp4 inputImageCount: 1 inputImageNote: Upload 1 human portrait photo. - value: "kaiju+battle-dimensional+entity+megacity" label: Dimensional Entity Megacity Geometric Collision cover: seffect/kaiju%2Bbattle-dimensional%2Bentity%2Bmegacity.mp4 inputImageCount: 1 inputImageNote: Upload 1 human portrait photo. - value: "weapon+summon-xianxia+flying+swords+vs+phantom+hand" label: Xianxia Flying Swords vs Phantom Hand Duel cover: seffect/weapon%2Bsummon-xianxia%2Bflying%2Bswords%2Bvs%2Bphantom%2Bhand.mp4 inputImageCount: 1 inputImageNote: Upload 1 human portrait photo. - value: "weapon+summon-elemental+sword+flame+ice+thunder+trio" label: Elemental Sword Trio Flame Ice Thunder cover: seffect/weapon%2Bsummon-elemental%2Bsword%2Bflame%2Bice%2Bthunder%2Btrio.mp4 inputImageCount: 1 inputImageNote: Upload 1 human portrait photo. - value: "weapon+summon-solo+warrior+vs+robot+army+corridor" label: Solo Warrior vs Robot Army Corridor Rush cover: seffect/weapon%2Bsummon-solo%2Bwarrior%2Bvs%2Brobot%2Barmy%2Bcorridor.mp4 inputImageCount: 1 inputImageNote: Upload 1 human portrait photo. - value: "kaiju+battle-vertical+skyscraper+rain+duel+parallel" label: Vertical Skyscraper Rain Duel cover: seffect/kaiju%2Bbattle-vertical%2Bskyscraper%2Brain%2Bduel%2Bparallel.mp4 inputImageCount: 1 inputImageNote: Upload 1 human portrait photo. - value: "weapon+summon-impossible+cavalry+under+stampede" label: Impossible Under-Stampede Cavalry Camera Weave cover: seffect/weapon%2Bsummon-impossible%2Bcavalry%2Bunder%2Bstampede.mp4 inputImageCount: 1 inputImageNote: Upload 1 human portrait photo. - value: "weapon+summon-impossible+flaming+arrow+pov" label: Impossible Flaming Arrow POV Battle Streak cover: seffect/weapon%2Bsummon-impossible%2Bflaming%2Barrow%2Bpov.mp4 inputImageCount: 1 inputImageNote: Upload 1 human portrait photo. - value: "weapon+summon-two+fighters+junkyard+brawl" label: Two Martial Artists Abandoned Junkyard Choreography cover: seffect/weapon%2Bsummon-two%2Bfighters%2Bjunkyard%2Bbrawl.mp4 inputImageCount: 2 inputImageNote: Upload 1 human portrait (lead fighter). Optionally upload a 2nd portrait for the opposing fighter — if omitted, a fictional opponent is generated. - value: "kaiju+battle-ronin+vs+furnace+mech+refinery" label: Ronin vs Furnace-Chest Mech Refinery cover: seffect/kaiju%2Bbattle-ronin%2Bvs%2Bfurnace%2Bmech%2Brefinery.mp4 inputImageCount: 1 inputImageNote: Upload 1 human portrait photo. - value: "kaiju+battle-warhammer+throw+return+colossus" label: Rune Warhammer Throw-Return Colossus Valley cover: seffect/kaiju%2Bbattle-warhammer%2Bthrow%2Breturn%2Bcolossus.mp4 inputImageCount: 1 inputImageNote: Upload 1 human portrait photo. - value: "weapon+summon-siege+tower+impossible+through" label: Impossible Siege Tower Through-Shot cover: seffect/weapon%2Bsummon-siege%2Btower%2Bimpossible%2Bthrough.mp4 inputImageCount: 1 inputImageNote: Upload 1 human portrait photo. - value: "weapon+summon-lone+warrior+crane+reveal" label: Lone Warrior Battlefield Crane Reveal cover: seffect/weapon%2Bsummon-lone%2Bwarrior%2Bcrane%2Breveal.mp4 inputImageCount: 1 inputImageNote: Upload 1 human portrait photo. - value: "weapon+summon-galley+fleet+dawn+cannons" label: Historical Galley Fleet Dawn Siege cover: seffect/weapon%2Bsummon-galley%2Bfleet%2Bdawn%2Bcannons.mp4 inputImageCount: 1 inputImageNote: Upload 1 human portrait photo. - value: "weapon+summon-golden+nunchaku+arcs+plume" label: Golden Nunchaku Arcs Fireball Plume cover: seffect/weapon%2Bsummon-golden%2Bnunchaku%2Barcs%2Bplume.mp4 inputImageCount: 1 inputImageNote: Upload 1 human portrait photo. - value: "kaiju+battle-colossal+baboon+savanna+village" label: Colossal Armored Baboon Savanna Siege cover: seffect/kaiju%2Bbattle-colossal%2Bbaboon%2Bsavanna%2Bvillage.mp4 inputImageCount: 1 inputImageNote: Upload 1 human portrait photo. - value: "weapon+summon-tea+master+leaf+storm" label: Tea Master Leaf Storm cover: seffect/weapon%2Bsummon-tea%2Bmaster%2Bleaf%2Bstorm.mp4 inputImageCount: 1 inputImageNote: Upload 1 human portrait photo. - value: "rpg+ui-boss+encounter+transition" label: RPG UI Boss Encounter cover: seffect/rpg%2Bui-boss%2Bencounter%2Btransition.mp4 inputImageCount: 1 inputImageNote: Upload 1 human portrait photo. - value: "weapon+summon-monkey+king+divine+dawn" label: Monkey King Divine Dawn cover: seffect/weapon%2Bsummon-monkey%2Bking%2Bdivine%2Bdawn.mp4 inputImageCount: 1 inputImageNote: Upload 1 human portrait photo. - value: "weapon+summon-knight+woodland+horror" label: Knight vs Woodland Horror cover: seffect/weapon%2Bsummon-knight%2Bwoodland%2Bhorror.mp4 inputImageCount: 1 inputImageNote: Upload 1 human portrait photo. - value: "armor+destruction-parking+garage+rage" label: Parking Garage Armor Rage cover: seffect/armor%2Bdestruction-parking%2Bgarage%2Brage.mp4 inputImageCount: 1 inputImageNote: Upload 1 human portrait photo. - value: "kaiju+battle-pasta+kaiju+factory" label: Pasta Kaiju Factory Showdown cover: seffect/kaiju%2Bbattle-pasta%2Bkaiju%2Bfactory.mp4 inputImageCount: 1 inputImageNote: Upload 1 human portrait photo. - value: "hallway+combat-robot+corridor+duel" label: Glass-Corridor Android Duel cover: seffect/hallway%2Bcombat-robot%2Bcorridor%2Bduel.mp4 inputImageCount: 1 inputImageNote: Upload 1 human portrait photo. - value: "kaiju+battle-colossal+lobster+canal+city" label: Colossal Lobster Canal City cover: seffect/kaiju%2Bbattle-colossal%2Blobster%2Bcanal%2Bcity.mp4 inputImageCount: 1 inputImageNote: Upload 1 human portrait photo. - value: "kaiju+battle-feline+titan+beam" label: Feline Titan Ocean Rise cover: seffect/kaiju%2Bbattle-feline%2Btitan%2Bbeam.mp4 inputImageCount: 1 inputImageNote: Upload 1 human portrait photo. - value: "kaiju+battle-prehistoric+shark+breach" label: Prehistoric Shark Breach cover: seffect/kaiju%2Bbattle-prehistoric%2Bshark%2Bbreach.mp4 inputImageCount: 1 inputImageNote: Upload 1 human portrait photo. - value: "anthro+duel-desert+cat+warrior" label: Desert Cat Warrior Duel cover: seffect/anthro%2Bduel-desert%2Bcat%2Bwarrior.mp4 inputImageCount: 1 inputImageNote: Upload 1 human portrait photo. - value: "kaiju+battle-alien+fleet+sky+rift" label: Alien Fleet Sky Rift Dawn Descent cover: seffect/kaiju%2Bbattle-alien%2Bfleet%2Bsky%2Brift.mp4 inputImageCount: 1 inputImageNote: Upload 1 human portrait photo. - value: "kaiju+battle-alien+tendril+hull+breach" label: Alien Tendril Zero-G Hull Breach Escape cover: seffect/kaiju%2Bbattle-alien%2Btendril%2Bhull%2Bbreach.mp4 inputImageCount: 1 inputImageNote: Upload 1 human portrait photo. - value: "kaiju+battle-warrior+vs+colossal+stone+hand" label: Warrior vs Colossal Stone Hand Grapple cover: seffect/kaiju%2Bbattle-warrior%2Bvs%2Bcolossal%2Bstone%2Bhand.mp4 inputImageCount: 1 inputImageNote: Upload 1 human portrait photo. - value: "weapon+summon-red+katana+vortex+strike" label: Crimson Katana Vortex Ultimate Strike cover: seffect/weapon%2Bsummon-red%2Bkatana%2Bvortex%2Bstrike.mp4 inputImageCount: 1 inputImageNote: Upload 1 human portrait photo. - value: "wuxia+duel-dual+blade+moonlit+mansion" label: Dual Blade Dance Moonlit Mansion cover: seffect/wuxia%2Bduel-dual%2Bblade%2Bmoonlit%2Bmansion.mp4 inputImageCount: 2 inputImageNote: Upload 1 human portrait (lead duelist). Optionally upload a 2nd portrait for the rival duelist — if omitted, a fictional rival is generated. - value: "wuxia+duel-shrine+hall+ritual+duel" label: Dilapidated Shrine Ritual Duel cover: seffect/wuxia%2Bduel-shrine%2Bhall%2Britual%2Bduel.mp4 inputImageCount: 1 inputImageNote: Upload 1 human portrait photo. - value: "wuxia+duel-blind+sensei+lake+bamboo" label: Lake and Bamboo Duel with Blind Sensei cover: seffect/wuxia%2Bduel-blind%2Bsensei%2Blake%2Bbamboo.mp4 inputImageCount: 1 inputImageNote: Upload 1 human portrait photo. - value: "wuxia+duel-mecha+warrior+vhs+waterfall" label: VHS Mecha Warrior Waterfall Solo cover: seffect/wuxia%2Bduel-mecha%2Bwarrior%2Bvhs%2Bwaterfall.mp4 inputImageCount: 1 inputImageNote: Upload 1 human portrait photo. - value: "wuxia+duel-ink+monk+calligraphy+hall" label: Ink Monk Calligraphy Hall Sigil Battle cover: seffect/wuxia%2Bduel-ink%2Bmonk%2Bcalligraphy%2Bhall.mp4 inputImageCount: 1 inputImageNote: Upload 1 human portrait photo. - value: "wuxia+duel-cyber+ninja+brush+aerial" label: Cyber Ninja Giant Brush Aerial cover: seffect/wuxia%2Bduel-cyber%2Bninja%2Bbrush%2Baerial.mp4 inputImageCount: 1 inputImageNote: Upload 1 human portrait photo. - value: "wuxia+duel-swordswoman+vs+rock+titan" label: Lone Swordswoman vs Rock Titan cover: seffect/wuxia%2Bduel-swordswoman%2Bvs%2Brock%2Btitan.mp4 inputImageCount: 1 inputImageNote: Upload 1 human portrait photo. - value: "wuxia+duel-tech+suit+reactor+corridor" label: Tech Suit Reactor Corridor Fight cover: seffect/wuxia%2Bduel-tech%2Bsuit%2Breactor%2Bcorridor.mp4 inputImageCount: 1 inputImageNote: Upload 1 human portrait photo. - value: "wuxia+duel-ink+fluid+black+red+break" label: Ink Fluid Duel Painting Break cover: seffect/wuxia%2Bduel-ink%2Bfluid%2Bblack%2Bred%2Bbreak.mp4 inputImageCount: 2 inputImageNote: Upload 2 human portraits — [Image 1] is the lead black-ink warrior, [Image 2] is the rival red-ink warrior. Both portraits are required. - value: "wuxia+duel-urban+qi+warrior+rooftop" label: Urban Qi Warrior Library Rooftop cover: seffect/wuxia%2Bduel-urban%2Bqi%2Bwarrior%2Brooftop.mp4 inputImageCount: 1 inputImageNote: Upload 1 human portrait photo. - value: "wuxia+duel-period+dojo+one+vs+many" label: Period Dojo One vs Many cover: seffect/wuxia%2Bduel-period%2Bdojo%2Bone%2Bvs%2Bmany.mp4 inputImageCount: 1 inputImageNote: Upload 1 human portrait photo. - value: "wuxia+duel-xianxia+lightning+rune+sword" label: Xianxia Lightning Rune Sword Stand cover: seffect/wuxia%2Bduel-xianxia%2Blightning%2Brune%2Bsword.mp4 inputImageCount: 1 inputImageNote: Upload 1 human portrait photo. - value: "wuxia+duel-fairy+ten+thousand+swords" label: Fairy Ten Thousand Swords Storm cover: seffect/wuxia%2Bduel-fairy%2Bten%2Bthousand%2Bswords.mp4 inputImageCount: 1 inputImageNote: Upload 1 human portrait photo. - value: "wuxia+duel-dragon+sword+cliff+awakening" label: Dragon Sword Cliff Awakening cover: seffect/wuxia%2Bduel-dragon%2Bsword%2Bcliff%2Bawakening.mp4 inputImageCount: 1 inputImageNote: Upload 1 human portrait photo. - value: "wuxia+duel-polite+master+dojo+comedy" label: Polite Master Dojo Comedy cover: seffect/wuxia%2Bduel-polite%2Bmaster%2Bdojo%2Bcomedy.mp4 inputImageCount: 1 inputImageNote: Upload 1 human portrait photo. - value: "wuxia+duel-ruined+temple+filmic+90s" label: Ruined Temple Filmic 90s Duel cover: seffect/wuxia%2Bduel-ruined%2Btemple%2Bfilmic%2B90s.mp4 inputImageCount: 1 inputImageNote: Upload 1 human portrait photo. - value: "anthro+duel-wasteland+sisters" label: Wasteland Sisters Stylised Duel cover: seffect/anthro%2Bduel-wasteland%2Bsisters.mp4 inputImageCount: 2 inputImageNote: Upload 2 human portrait photos (paired combatants). - value: "kaiju+battle-bio+mecha+duel" label: Bio-Mech Warrior vs Organic Leviathan cover: seffect/kaiju%2Bbattle-bio%2Bmecha%2Bduel.mp4 inputImageCount: 2 inputImageNote: Upload 1 human portrait photo (warrior) and 1 bio-mech armour/leviathan reference. - 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/epic-combat-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": "kaiju+battle-industrial+park", "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.