01 — Concept
Contemporary Narratives in the Language of Ivan Bilibin’s Book Illustration
Ivan Bilibin (1876–1942) forged a recognizable visual language for Russian fairy tales: a delicate, sharp contour, flat color blocking, ornate borders, and motifs reminiscent of popular prints (lubok). I decided to test how this language translates to 21st-century subjects—a student with a laptop, a cat on the keyboard, a bicycle courier, and a deadline visualized as a clock monster. For this project, I fine-tuned Stable Diffusion XL and created an eight-piece series titled «Contemporary Fairytales.»
02 — Dataset and Rights
From 310 files to 80 square images
The source material comes from Ivan Bilibin’s work on Wikimedia Commons. Only files where Bilibin is listed as the author and carry a Public Domain or CC0 status were included. For each image, the author, license, and a link to the source page have been saved; the complete list is available in attribution.csv in the notebook.
I reviewed 17 categories and 310 files. After filtering by JPEG/PNG format, a minimum dimension of 600 px on the shortest side, and legal status, 97 works remained.
Following selection and central cropping, the final dataset comprised 80 images, sized 768×768 (a 1:1 aspect ratio). The captions were generated by the BLIP model, and each was augmented with the style token «illustration in BILIBIN style.»

03 — Model Training
SDXL DreamBooth LoRA in Google Colab
Base model—Stable Diffusion XL 1.0. Method—DreamBooth + LoRA: instead of training the entire model, additional rank 16 matrices were trained. Training was performed in Google Colab on a T4 GPU.
Parameters: 512 px; batch size 2; gradient accumulation 3; effective batch 6; 600 steps; learning rate 1e−4; snr_gamma 5; mixed precision fp16.
To save memory, gradient checkpointing and 8-bit Adam were used, and for SDXL stability—VAE fix was implemented. Training was completed in 57 minutes and 51 seconds.
04 — Final Series
Eight Modern Fairy Tales
After completing the course, I generated eight square illustrations based on various contemporary themes, using fixed seeds 100–107. All images utilized 30 generation steps and a CFG of 7.5.
The series is structured as a cohesive cycle: a contemporary object or situation is transformed into a fairy-tale event. Recurring elements—a decorative frame, localized color palettes, a graphic outline, a frontal book composition, and intentionally stylized space—tie the images together, while the plots and color schemes introduce variation.
The frames are displayed in pairs in generation order—from seed 100 to seed 107—to illustrate how the stylistic features persist across different narratives.








05 — Series Analysis
What the model learned and where it errs
The most successfully transferred elements are the graphic line, flat color fields, the ornamental frame, and the feeling of a book page. Compared to the base SDXL LoRA, this version more consistently forms the decorative contour and makes the compositions less photorealistic.
The images vary in palette, character scale, and ornamentation density—some lean toward a close-up scene, while others resemble a narrative title card. Cohesion is maintained by the frame and the frontal presentation.
Errors are noticeable in hands, modern objects, and typography; occasionally, the ornamentation merges with the object.
My next step would be to introduce characters in various poses, refine the captions, and test the LoRA at rank 32 with a lower learning rate.
Below are four scenarios (frames 01, 04, 07, and 08) shown for comparison: the result from the base SDXL on the left, and the model with the LoRA applied to the same scenario on the right.








06 — Code and Reproducibility
Google Colab Notebook
The notebook includes dataset collection and filtering, label creation, preparation of 80 square images, running SDXL DreamBooth LoRA, saving the weights, generating a series, and comparing the base SDXL with the fine-tuned model. All key cells have been executed; the training reached 600 out of 600 steps.
https://colab.research.google.com/drive/1RTVwzzGTIlQdzFLM_FpZAx9R1CLsNmnw


07 — Application of Generative Models
The project utilized: Stable Diffusion XL 1.0 — for base generation and LoRA training; BLIP — for preliminary dataset captioning; and VAE fix and the diffusers script — for the technical training component.
Claude assisted in structuring the explanation and verifying the completeness of the description.
My original contributions included: topic and source selection, legal review and dataset curation, training parameters, prompt engineering, selection of the eight final results, sequence ordering, and visual analysis.
AI did not make decisions regarding the concept or the final selection.
SDXL Model: https://huggingface.co/stabilityai/stable-diffusion-xl-base-1.0
BLIP: https://huggingface.co/Salesforce/blip-image-captioning-base
























