The problem
Generating AI imagery for stories has a fundamental coherence problem: every frame produces a different person. Without character consistency, you can generate "a girl walking down a street" twenty times and get twenty different girls. That's not storytelling — that's a slideshow.
Approach
- Use PuLID face-swap (fal.ai) as the core mechanism — generate the scene, then face-swap the consistent character in.
- Firebase Auth + Firestore as the backbone: characters, stories, generations all live in user-scoped documents.
- Multi-step generation: user defines character → writes story → system generates scenes one at a time with face conditioning.
- Razorpay subscription wired through Firebase — cancellation, upgrade, plan management all handled.
- 7-phase marketing playbook from Day 0: Foundation → Organic → PH Launch → Creator Seeding → India Push → SEO → Paid.
Architecture
Diagram · loads on scroll
Outcome
- Live and monetised at cinematictale.com.
- Real users generating real stories with consistent characters.
Lessons learned
- Character consistency is the leap from "AI image generator" to "AI storytelling." It's the entire product.
- Subscription requires bulletproof auth. Razorpay integration is straightforward; the hard part is handling the edge cases (cancellation mid-cycle, plan changes, payment failures).
- Marketing is a system, not an afterthought. The 7-phase playbook turned launch from "hit publish and pray" into a deliberate sequence.