Back to work
AI ProductAgent: VL-Coresystem

Starlify — Turn a Child's Photo into a Hardcover Storybook

Upload one photo, meet your storybook hero in 30 seconds, read a personalized 24-page story in 3 minutes, then order the hardcover. Multi-model orchestration plus a layout system keeps the AI look out of a premium gift.

Starlify — Turn a Child's Photo into a Hardcover Storybook

I wanted to do something rare in the AI era: make generative output end as a gift you can hold in your hands. Starlify's scenario is concrete — a parent uploads one photo of their child, sees the child become a storybook hero in 30 seconds, reads a personalized 24-page story in 3 minutes, and receives a hardcover book after ordering.

The hard part is not "generation"

In 2026, producing one beautiful illustration is trivial. The real three hurdles of this business:

  1. Character consistency — the hero must be the same child across all 26 pages (cover + 24 + back); a face that shifts between pages destroys everything;
  2. Premium feel — a gift cannot afford the cheap AI look; the visuals must survive a bookshelf;
  3. The cost black hole — a book costs about $5 in image generation, and an architecture where "any logged-in user can burn $5 of platform money for free" dies within a week.

The Character Bible: nail consistency at the source

The mainstream approach is masking plus inpainting. We walked that road first (FLUX Fill plus SAM auto-segmentation) and scrapped the whole thing after testing — segmentation fails on watercolor picture-book styles, and seam quality was unacceptable. The replacement idea front-loads consistency: generate a Character Bible from the photo (a multi-angle, multi-expression character sheet) with a "signature costume" written immutably into the prompt — from then on, every page trusts the Bible, never the original photo. Each page substitution passes two reference images at once (the base page + the Bible) and completes "swap the hero" and "render the child's name into the scene — on the cake, the road sign, the banner" in a single call.

Upload photoCharacter Bible(30-60s)2 sample pages(wow)22 pages inparallel (≤90s)Print order (300DPI)
From photo to hardcover

The 22 pages run at concurrency 4, and one failed page never sinks the book — failures are marked explicitly so the UI can distinguish "still generating" from "missing."

Plugging the cost hole with a commitment ladder

Generation is lazy — each increment of user commitment buys the platform's next expense:

User commitsPlatform spendsUser sees
Anonymous upload~$0.6Hero + 2 sample pages
Phone sign-in+$0.4Cover + curated previews
Paid unlock+$4All 24 pages online
Hardcover orderPrint costThe book (unlock fee fully credited)

Locked pages never touch the AI at all; with IP rate limits, local sample caching, and a global daily budget kill-switch, scripts cannot bleed the anonymous tier dry.

Three invisible but lethal details

  • User-supplied variables (name, hobbies) are fenced into pure data before entering any prompt — defense against prompt injection;
  • Child-content safety scanning is two-tiered: high-confidence violations are blocked outright, low-confidence ones are flagged for human review — the conversion funnel never stalls on false positives;
  • The bucket holding children's photos has versioning disabled: when a user exercises their right to deletion, it is a physical, irrecoverable delete (under privacy law, a versioned backup here is a violation, not a feature).

Current state: the end-to-end flow works, 389 unit tests plus 27 end-to-end tests pass green, and the entire "night, old books, candlelight" visual system has been ported 1:1 from design files across 10 scenes × 3 breakpoints. Heading toward public launch.