Hotel Lobby AI Video Generator — Devpost project page
Inspiration
The orange booth clip is one of those formats that works because it is instantly recognisable. Two people, a specific orange booth, a specific camera angle, a specific kind of performance. It spreads because everyone recognises the setup before they have even watched what happens.
The barrier to joining in is that you need to actually film it. Not everyone has an orange booth, a friend available, or the willingness to appear on camera.
The question this product answers is narrow and specific: can I put my own two people into that recognisable scene, from two photos, and get something that belongs in the trend?
What it does
Two photos in, one vertical video out.
- Cast any duo into the booth scene — friends, couples, pets
- Produces a TikTok-ready vertical clip
- Renders in minutes
- No filming, no editing, no appearing on camera
How I built it
This is a single-purpose generator, and that constraint is the design.
1. Fixed scene, variable subject. Because the scene is always the same, everything about the background, camera, and lighting is known ahead of time. That removes the largest source of error in video generation — the scene does not have to be inferred, only the people in it.
2. Two-image identity conditioning. Each subject is encoded from a single photo. The hard part is that a single photo gives you a face at one angle under one lighting condition, and the booth performance demands many angles. Identity has to survive that extrapolation without drifting into a generic face.
3. Motion as a fixed template. The performance is a reference motion, applied to both subjects, with the interaction between them — who looks at whom, the relative positioning — handled explicitly rather than emerging. This is the one place where a fixed template genuinely helps: two people have to occupy the same space coherently.
4. Vertical-first composition. The output is designed at 9:16 with the subject placement and safe areas set for a phone screen, since that is the only place it will be watched.
Challenges I ran into
Pets break face-based identity immediately. A dog has no face landmarks in the way a person does, so the identity pipeline that works for two humans produced a generic dog. Handling non-human subjects needed a different conditioning path, and "any duo" as a feature forced that problem early.
Two people need to be separate identities, not one averaged identity. Early versions blended the two source photos into a single representation and produced a person who looked like neither. The two identities have to be kept separate all the way through generation and only meet in the compositing of the scene.
One photo is very little evidence. A single front-facing photo gives no information about profile, expression range, or how the person looks in motion. The output is convincing in the shots the reference supports and weaker where it has to extrapolate, and setting expectations honestly about that is part of the product.
Accomplishments that I'm proud of
- Working for pets, not just people. It forced a more general identity pipeline than I would have built otherwise.
- Keeping two identities genuinely distinct through the whole generation.
- Turning the format's narrowness into an advantage: a fixed scene means consistent quality.
What I learned
A narrow product is a technical advantage. Having one scene meant I could solve the scene once instead of building a general video generator. Constraining scope is what made the output good.
Trends are a timing product. The format is the value, and the format has a shelf life. That changes how the product should be built — fast iteration on formats matters more than depth on any single one.
What's next for Hotel Lobby AI Video Generator
- More scenes. The engine is scene-agnostic; adding recognisable formats is the obvious expansion.
- Better handling of poor reference photos. Guide the user toward a usable photo before spending a render on one that cannot work.
- Duo controls. Let users adjust positioning and interaction rather than accepting the template exactly.
- Faster iteration. Cheaper preview renders so the user can try a few before committing to a final.
Log in or sign up for Devpost to join the conversation.