There is a specific kind of asset I keep needing: a short clip of an app doing the thing it does. A thumb lands on a button, a screen slides in, a number ticks up, a photo develops. Six or seven seconds, phone-sized, the kind of loop that lives at the top of a landing page and says this is real, here is what it feels like. This week I went looking for the fastest way to make one, and I ended up writing down a rule I should have written down months ago: you cannot generate a UI demo. You have to build the UI and record it.
The temptation is obvious. Generative video is genuinely astonishing now. Hand it a prompt about a product in a kitchen, a person laughing at a table, light coming through a window, and it will hand you back something you'd have paid a film crew for a year ago. So the natural next thought is: if it can do the kitchen, surely it can do the screen. Describe the interface, describe the tap, describe the transition, and let the model render the loop. No dev build, no device, no screen recorder. Just a prompt.
It does not work, and the way it fails is instructive.
Where the model breaks
The thing generative video cannot do is hold a rigid, meaningful structure stable across frames. A face is forgiving, your eye accepts a cheekbone that shifts a pixel between frames, because real faces move and light is soft and you were never counting the pixels. An interface is unforgiving. Text has to be the same text in frame one and frame sixty. A button is a hard rectangle with a label that means something; if the label morphs into a different not-quite-word halfway through the tap, the illusion doesn't soften, it shatters. Icons drift. A "5" becomes a glyph that was never a "5." The button you're tapping subtly hallucinates into a different button by the time your thumb reaches it.
And the viewer clocks it instantly. This is the part that actually stings. The whole reason you want the clip is to say this is real. A generated UI clip does the exact opposite. It broadcasts this is fake to anyone who has ever used a phone, which is everyone. You have spent effort producing the single most counter-productive artifact possible: a proof-of-realness that proves the opposite. It doesn't just fail to help; it actively feeds the suspicion that the whole product is vapor.
The boring answer is the right one
So the rule I settled on is a split, not a ban. Generative video is for the photographic wrapper. Hands, tables, rooms, the lived world around the product. The moment the frame contains the actual interface, you stop generating and start recording.
Which means: build the thing. Or build a faithful throwaway of the thing. Code a small interactive prototype of exactly the screen and the gesture you want to show, real components, real text, real transition, drive it in a headless browser or a device frame, capture the screen, and cut the result down with a couple of lines of FFmpeg. It is more work than typing a prompt. It is not much more work, and it produces an asset that is true in the one way that matters: every pixel of the interface in the clip is a pixel the interface actually renders. Nothing morphs because nothing was invented.
There's a quiet bonus in this that I didn't expect. Forcing the demo to be a real, coded prototype means the demo is a spec. You can't screen-record a flow you haven't actually decided on. The prompt-to-video path let me stay vague, "something like a tap, something like a reveal", and vagueness is exactly what you want to eliminate before you show something to anyone. The recording is honest partly because it refuses to let you fake the underlying decision.
The general shape of the rule
I think the useful generalization is this: use generative models for the parts of a frame the human eye tolerates as fluid, and refuse them for the parts the human eye holds to a specification. Skin, light, cloth, water, weather, fluid, generate away. Type, numbers, logos, UI chrome, anything with a correct-versus-incorrect state, specified, and a model that guesses will guess wrong in a way your audience can see.
The mistake isn't reaching for the powerful tool. The mistake is not noticing that "make me a video of a product" and "make me a video of a screen" are different requests, and only one of them is inside the tool's competence. The first is a photograph in motion. The second is a document that happens to move, and documents you write, you don't hallucinate. The fastest path to a UI demo that reads as real turns out to be the unglamorous one: build the interface, point a recorder at it, and let the truth do the selling.