cuentoconlaIA.com is live: the story.
Watching the Artemis II launch with my kid, a bedtime conversation, and why character consistency changed everything.
Last updated: May 1, 2026
cuentoconlaIA.com generates 20-page personalised illustrated storybooks. You upload a few photos of your kid (or pet, or anything), pick a theme, and ~5–10 minutes later you get a PDF where they're the protagonist.
Origin
I was watching the Artemis II launch 🚀 with my son and we started riffing on what it'd be like if his stuffed toy Buli 🍄🟫 was the zero-g indicator instead of Rise (or Snoopy, in the first mission). I wanted to turn that into an actual book he could hold. Then I figured other parents probably want the same.
The interesting technical problem
For me, the interesting problem is character consistency across 20 pages. I tried the self-hosted route first — ComfyUI + CivitAI, seeds, LoRAs, the usual stack — and got close but not close enough. Faces would drift between pages, outfits morphed, the stuffed toy went through identity crises. For a kid's book, consistency is, I think, the whole product: if the child can't recognise themselves on every page, the magic dies.
I ended up using a frontier model for the generation, which solved consistency at the cost of self-hosting. Not satisfying as an engineer, but the product works (kind of — interested in feedback!). I'm still curious whether IP-Adapter or per-character LoRA training would close the gap on an open stack. Genuinely interested if anyone has shipped this.
The stack
AWS — Python — Next.js — Stripe — LLM provider (via API). Generation runs async on a job queue; the user gets an email when the PDF is ready. Under the hood:
- Step Functions Standard orchestrates the whole chain (plan-story → generate-image × 20 → assemble-pdf → publish-output → send-email), gated by Stripe's `payment_intent.succeeded`.
- AWS Lambda (Python 3.13, ARM64) runs each step — 9 API functions + 9 pipeline functions.
- AWS Rekognition moderates uploads before any model reads them.
- Amazon SES sends transactional mail (book ready, preview, error, refund).
- DynamoDB stores jobs / users / creations / rate limits across single-table-design tables.
- CloudFront + S3 serve the static site (Next.js export); an HTTP API Gateway exposes the wizard.
The name
It's a Spanish wordplay: "cuento con la IA" means both "a story with the AI" and "I rely on / count on the AI." A double reading — and my kid loved it.
What's next
I've now generated four Artemis-themed storybooks for my son and I'll probably print them for bedtime. The question still lingering: how to best achieve this quality without leaning on frontier models? If you have ideas, write me — fastest channel right now is LinkedIn.
If you want to try it, the home page is at cuentoconlaIA.com/en/. There's a full sample book you can read before buying — the guided-mode Artemis I mission we used as the canonical test case. And on about us + the methodology page you get the full detail of who's behind it and how it works.
— David