Illustrating a story that did not exist an hour ago

A story that is written fresh every evening cannot have an illustration drawn in advance. So Dreamify draws one, from the story, while the text is being prepared. Three problems follow, and they are the interesting part of the feature.

Consistency

Image models are happy to produce anything, which means they are happy to produce something that looks nothing like last night's picture. Children notice. We hold the style with a fixed visual guide: palette, line, lighting, the kind of characters, the kind of world. The story changes every night; the way it looks does not.

Safety

Every picture passes through checks before it is shown, every time, with no exceptions for speed. The story engine already knows the topics a parent has asked us never to mention, and the illustration prompt inherits those. If a picture fails a check, the app uses a safe fallback rather than showing something questionable or making the parent wait.

Speed

A parent opens the app at bedtime. The whole story, text, narration and picture, has to be ready in about a minute. We generate in parallel and show the story as soon as the text and audio are ready, with the picture arriving moments later if it is slower. The child is never waiting on the image.

One picture, not a picture book

We could illustrate every scene. We chose one picture per story on purpose: it is faster, safer, cheaper, and, at bedtime, enough. A single image sets the scene; the narration does the rest. More pictures would mean more screen time at the exact moment the point is to look away from the screen.

What we gave up

Putting the child's face in the picture. Technically possible, and parents sometimes ask for it. It would mean holding photos of children, and we decided the magic was not worth that. The hero in the picture looks like a storybook character with the child's name, and children are very happy to accept that.

Written by , founder of KNT App Studio. He designs and ships the studio's iOS apps (Dreamify, Viola and GERG) and runs Apple Search Ads and ASO for the studio and the teams it works with. Posts describe what we did and what it cost; when a number is an estimate, the text says so.