From Two Photos to a 15-Second Zombie Story: How an AI Photo-to-Video Pipeline Works (Halloween 2026 Creative Coding) A developer outlined a five-stage AI photo-to-video pipeline that turns two still photos into a 15-second vertical zombie story, using keyframe generation, beat-based prompt templates, segmented image-to-video generation, and a mid-leap hard cut to hide seams. The writeup describes identity-preservation techniques, async queue-based rendering, and retention rules for source photos, and cites the paid tool Zombie Hug as packaging the same flow. 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 https://aizombietrend.com 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.