By Eason
Every October someone in your group chat asks, "Can you make me into a zombie?" In 2026 the answer is less "open Photoshop" and more "run a pipeline." This autumn a short vertical format called the AI zombie trend (also called the zombie hug or zombie love story) spread on TikTok and Instagram Reels: one person has turned, the other recognizes them, lowers a prop rifle and opens their arms, and the clip hard-cuts to a warm memory of the two of them.
I want to unpack how a product like that works under the hood. This is a concept tutorial, not a vendor-specific API guide, so you can map the stages onto whatever models you like for your own Halloween creative-coding project.
Inputs: two still photos (person A, the one who turns; person B, the one who remembers).
Output: a short vertical MP4 with sound, where both people stay recognizable across two very different scenes.
That breaks into five stages:
Garbage in, garbage out applies doubly to generative video. Before anything expensive runs, a good pipeline checks:
Then you crop: a waist-up crop centered on the face gives the video model enough body to animate a run and a hug without losing the face.
The hard part of any "make me into X" video is that X must still look like you. Approaches you will see:
A useful trick: generate a stylized "zombified" keyframe of person A first (pale skin, torn clothes, clouded eyes) while keeping facial geometry, then animate from that keyframe.
Users should not have to write prompts. Instead, the pipeline maps a few UI choices to a structured prompt template:
relationship: couple | friends | family | dog | cat
scene_a: ruined city street at dusk
scene_b: golden wheat field, warm sunlight
beats: [recognize, lower_rifle, run, leap, cut_to_memory]
Seasonal variants are just new templates. A Halloween pumpkin patch that cuts to an autumn afternoon, or a candle-lit Día de Muertos alley that cuts to a field of marigolds, reuse the same beats with different scene descriptors. Encoding the story as beats, not prose, makes results more consistent.
Most current image-to-video models produce coherent clips of a few seconds. A 15-second story is easier as segments:
The cut lands mid-leap. That edit is doing real work: it hides the seam between segments and it is the emotional payoff of the format. Generate each segment from its own keyframe, then concatenate. Output is 9:16 because that is where the content lives.
Sound matters more than people expect. A low drone for the horror half and a softer track after the cut sells the twist. Mux it in, encode to H.264 MP4 at a mobile-friendly resolution like 720p, and you are done rendering.
Generation takes minutes, not milliseconds, so treat it as an async job: put it on a queue, let the user close the tab, and email a private link when it is ready. Add retention rules (delete source photos after a few days, videos after a few weeks) so you are not hoarding people's faces.
If you want to learn, wiring this up yourself is a great Halloween weekend project. Start with a single subject and a single segment, then add the second person and the cut.
If you just want the clip for your feed, a finished tool saves you the GPU bill. For reference, Zombie Hug packages exactly this flow: upload two photos, pick who is in the video and a scene, and get a 15-second 9:16 720p MP4 with sound by email, usually in 5 to 10 minutes. It is paid per video, which is a fair trade against debugging identity bleed at 2 a.m.
Happy haunting, and may your faces never bleed into each other.