Inspiration
We were really interested to see how well we could do product swapping with AI at the time and how real we could get the AI to look when mixed with live action. We initially wanted to swap the beach ball with a bunch of different objects/materials but only the electricity ball looked good enough!
How we built it
We built this with a custom comfyUI workflow that uses VACE. It was the only way we could control the mask well enough.
There are 2 swaps in the video:
- 🏖️ Beach ball → ⚡ Electricity ball
- 💁♂️ Anson → 💀 Skeleton
First tried Kling’s Swap for the ball, but the mask was too tight — it killed the electric flare effect outside the object. No matter what base image I used, the generation couldn’t spill beyond the mask and currently there isn’t a way to adjust the mask.
I ended up creating my own custom comfyUI workflow where I increased the mask size by a few pixels to allow more room for interpretation. Static crackles = ✅!!
But for the Anson Kao → Skeleton moment? That was Kling. Worked really well for tight-body swaps!
Challenges we ran into
The mask that was generated with Kling and Runway were too strict and didnt' allow for anything to be generated outside of the mask of the object. And because the beach ball was a well defined object - generating anything that resembled fire or electricity where there are sparks outside the mask was impossible and looked really bad. So although Kling and Runway are easy one click solutions for swapping objects, for this scenario, we had to do a custom workflow where we had control over the mask and input image.
Built With
- comfy
- kling

Log in or sign up for Devpost to join the conversation.