Sutur

Blog · Behind the scenes

What went wrong drawing One Thousand and One Nights, and what we changed

The faults our AI pipeline made across 13 volumes of the Nights, how we caught them, and a checklist so you can avoid them.

· 3 min read

In short

  • Across 13 volumes the small language model invented characters, the image model drew things we told it not to, and a font could not draw a dash.
  • None of these was caught by a tool alone. A person looking at the pages found them.
  • We fixed and republished each volume. The checklist at the end is for anyone building something similar.

Where we are

We have drawn the first thirteen volumes of One Thousand and One Nights as manga, from the frame story to night 129. A volume is about thirty pages, and the image model makes roughly 470 to 575 candidate pictures for it. Mistakes at that scale are certain, so what matters is how fast they are found.

The language model invented the cast

For every volume the 7B language model wrote the character list from the text. It usually got the names right and the roles wrong: the hunchback became "the boy", a donkey became a camel, a sheikh was drawn with glasses, and one volume listed the moon, a deer and a nightingale, which are images in a poem, not characters. A small model fills gaps with plausible guesses. We rewrote every cast by hand against the text, redrew all the portraits and reviewed them one by one.

Telling an image model what not to draw makes it draw it

Writing "no phones, no cars" into a prompt made them appear, because the model reads the words, not the "no". The fix is to describe only what should be in the picture and to state the era once, as period clothing and objects only. We then check every volume for glasses, wristwatches and electric lamps.

A dash became a box

Covers named each volume with a range of nights, such as 34 to 39, joined by an en dash. The Arabic lettering font has no such glyph, so eight covers showed an empty box. The tool had not failed; the font had. We replaced the range with the name of the tale.

The checker is only a filter

The vision model scans every picture, but it is a 7B model: it misses real faults and flags harmless pictures, such as a man resting under a tree. It never saw that one page had two identical crowned kings where the story has one young man, or that a cover showed a bare torso on every attempt. A person found those, by looking.

What we changed

We check the cast against the text before drawing, put the tale's name on covers, review every flagged panel with a person, and republish a volume whenever a fault turns up. Nothing here costs readers money, so a fault costs their trust, and we would rather fix it in public.

Tech notes

  • Scale13 volumes, about 30 pages each, roughly 470 to 575 candidate pictures per volume
  • Cast model7B language model; names reliable, roles and looks not
  • Image modelZ-Image Turbo; prompts must say what to draw, never what to avoid
  • CoversLettering font lacked the en dash; replaced by the tale's name
  • Checker7B vision model; useful filter, not a substitute for a reviewer
  • Fix loopCorrect, redraw, rebuild the PDF, republish the volume

Try it yourself

  1. Never trust a generated cast: compare every name and role with the source text.
  2. Describe the scene positively and name the era once; do not list forbidden objects.
  3. Test every font with the exact characters your titles use.
  4. Treat automatic checks as filters and put a person on the flagged pages.
  5. Keep publishing cheap: if a fault costs a day to fix, you will leave it.