I’m Rob, one of the family makers behind MoonFable. We used Gemini 3.1 Flash Image on Vertex AI to produce 1,360 illustrations for a fixed library of 152 children’s stories. The unusual part is not the volume; it is the set of constraints we added so generated media never goes directly to a child.
Each series starts with a versioned story bible: character appearance, wardrobe, palette, setting, visual rules, and recurring continuity facts. Every scene prompt includes the relevant character references and the local scene brief. Generation jobs are deterministic at the workflow level: manifests record model provenance and output state, scripts are resumable, and a failed scene can be regenerated without rebuilding an entire story.
Image generation is only one stage. A separate vision-QC pass checks each result against the brief for missing or duplicated characters, continuity, anatomy, unwanted readable text, age and fear level, and basic scene logic. A person then makes the publishing decision. Failed images do not continue automatically.
A real example is on our process page. Gemini produced a strong winter street scene but invented readable shop signage and document-like labels even though the brief prohibited text. The scene was held back, repaired, and reviewed again. The final image preserves the composition and characters but removes the unwanted text. That sort of evidence has been much more useful to us than a claim that a model is simply “consistent.”
The rest of the pipeline is deliberately multi-model. Claude critiques manuscripts in a fresh context and performs an independent visual review. ElevenLabs provides stable narration and alignment timestamps. People approve the manuscript, the visual corrections, and the final package. The shipped Flutter app contains a fixed, downloadable catalog: no prompt box, no live generation during story time, and no child data sent to a model.
The production notes and the actual before/after correction are here:
moonfable. us/ how-its-made
The hardest remaining problem is deciding how much visual drift is acceptable across a long series. Pixel-level sameness is neither possible nor desirable, but wardrobe, age, silhouette, relationships, and story-critical objects must remain stable. For teams producing referenced narrative sequences, which continuity checks have been most predictive of what readers actually notice?