Як створити дитячу книжку за один день завдяки інтеграції ChatGPT і Midjourney

Як створити дитячу книжку за один день завдяки інтеграції ChatGPT і Midjourney

Укрінформ
На реалізацію подібного проєкту рядовий айтішник витратив близько 8-9 годин робочого часу та $30

Останні з поповнень полку сучасних технологій здатні внести неабиякі поліпшення у справу створення новітньої української книги. Укрінформ наводить розповідь одного з ситуативних розробників дитячої книги, вміщену на ресурсі DOU:

- Привіт. Я – Юра Дзюбан, бекенд-розробник IT-компанії Master of Code Global. Ця стаття – приклад того, як поєднати ChatGPT і Midjourney для створення ілюстрованої книги. У моєму випадку це була ілюстрована книга для дітей, але описаний підхід із незначними варіаціями має підійти для створення коміксів чи, наприклад, ілюстрованих презентацій.

Я бекенд-розробник, і ні разу не ілюстратор, тож ця стаття також демонструє, яких результатів може досягти пересічна в плані графічного дизайну людина за допомогою сучасних AI-інструментів і відносно невеликих вкладень часу і зусиль. Фото кінцевого результату, а також орієнтовні оцінки витрачених ресурсів (часу, грошей) дивіться нижче.

СТВОРЕННЯ КНИГИ: ОСНОВНІ КРОКИ

1. Визначення змісту: персонажі, сцени, діалоги

Припустимо, що ми зацікавились ідеєю створити ілюстровану історію (книгу, комікс, презентацію). Першим кроком буде логічно зрозуміти, що саме ми будемо малювати – хто наші персонажі і якими будуть наші сцени, адже далі ці образи необхідно перевести в формат запитів до моделей для генерації зображень і тексту.

У плані пошуку ідеї для візуалізації я бачу кілька варіантів:

  • Якщо метою є насамперед помалювати у Midjourney (або Dall-E, Leonardo.ai тощо), можна ілюструвати якусь існуючу історію (наприклад, казку «Аліса у країні див» чи щось подібне, якусь історичну подію тощо). Щобільше, якщо це буде якась відома історія, хороші шанси, що релевантні зображення можуть бути серед зображень, на яких тренували Midjourney, що має полегшити генерацію графіки.

    Нарешті, для навчання роботи з Midjourney можна просто повторити якийсь з існуючих прикладів.

  • Якщо готової історії немає – не страшно, тут нам допоможе ChatGPT. Можна згенерувати історію на ту чи іншу тему, проінструктувавши ChatGPT відповідати як оповідач (приклад чату в ChatGPT). Далі у форматі діалогу з ChatGPT можна уточнити описи локацій, персонажів, підібрати ключові слова для запитів у Midjourney.

  • Нарешті, можливо, у вас вже є певна історія та бачення персонажів для ілюстрації. У моєму випадку так вийшло, що поєдналось 2 мотиви – я хотів познайомитись із Midjourney, а також створити щось на кшталт «спойлера» для дітей перед тим, як подарувати їм собаку. Діти давненько просили різних тваринок, і ця книга – по суті, ілюстрація наших діалогів.

Пройшовши цей крок, ми маємо сформулювати список персонажів і сцен, які будемо малювати. У моєму випадку персонажами були мої діти, ми з дружиною і різні тваринки (кінь, ворона, ящірка, дракон, білки). Також було необхідне зображення подарункової коробки.

Частина історії та дизайну – діалоги між персонажами. У моєму випадку, діти просять батьків завести тваринку Х, а батьки під різними приводами уперто відмовляються. Остання сцена – батьки повідомляють, що, схоже, найкраща тваринка знайдена, але яка саме – то буде сюрприз.

2. Створення контенту

Маючи описи персонажів і сцен, а також ідею діалогів, переходимо до генерації тексту та зображень.

Діалоги згенеруємо за допомогою ChatGPT. Мушу зауважити, що це була чи не найлегша частина проєкту, яка зайняла від сили 10-15 хвилин. Усі діалоги в моїй історії були згенеровані за допомогою одного шаблону – «write me one sentence in the style of a children’s book about <далі йде конкретна тема>» – будь ласка, дивіться чат в ChatGPT і скріншот для прикладу нижче.

Після генерації діалогів у ChatGPT у мене вималювався наступний план. З нього слідує, що наша книга матиме 7 розворотів: 1 розворот із «зав’язкою», далі 5 розворотів про різних тварин, і останній розворот з обіцянкою подарунку. Можна переходити до створення потрібних картинок.

Генерація зображень у Midjourney була найскладнішою для мене частиною даного проєкту, процес нерідко викликав асоціації з наступним мемом:

Нагадаю, що Midjourney – один з найпопулярніших і найефективніших публічно доступних сервісів для генерації зображень на основі текстових запитів (альтернативи – DALL-E, Stable Diffusion, Leonardo.ai та інші). Сервіс платний, місячні плани починаються від $8 (за що обіцяють генерацію ~200 зображень). Взаємодія з моделлю відбувається через Discord-бота.

Запити до моделі складаються з:

  • команди, наприклад /imagine для генерації зображення чи /settings для виклику меню налаштувань;

  • ключових слів, які описують суть необхідного зображення і його стиль, наприклад little girl character, multiple poses and expressions, children’s book illustration style, full body, character sheet, simple, cute, 6-year-old girl, full color, blue children clothes, blond hair, flat color;

  • опціональних додаткових параметрів, що задають версію моделі Midjourney (наприклад, --v 5.2), пропорції зображення (--ar 4:3), «мінус-слова» (--no text, fonts, letters, watermark words, typography, slogans, signature для уникнення тексту на зображеннях) та багато іншого;

  • запити можуть включати [посилання на] зображення.

Запити для Midjourney – навичка з елементами мистецтва. Існує досить багато тонкощів і прийомів, наприклад, для генерації консистентних персонажів (з використанням параметру —seed, шляхом включення у запит масиву посилань на попередньо відібрані зображення тощо).

На кожен запит модель генерує 4 варіації зображення і виводить 4 пари кнопок (U1/V1 – U4/V4) для збільшення (upscaling) чи генерації варіацій (variations) відповідних картинок.

Загальний підхід до генерації виходить наступним (і в цілому нагадує розробку): пробуємо певний запит, якщо результат не влаштовує, вносимо у нього невеликі зміни (керуючись власною логікою, прийомами, чужими прикладами тощо), і так повторюємо до отримання прийнятного результату.

Найлегше було генерувати тварин, особливо драконів, ящірку. Діти виходили дещо важче, а з батьками/ дорослими результат взагалі якось дуже часто не збігався з очікуваннями (ризикну припустити, що це може бути пов’язане з тим, що тварин і дітей в моделі на запит «children’s illustration book» помітно більше, ніж дорослих персонажів).

Ще одна проблема з генерацією зображень у Midjourney – важко зупинитись, адже наступний запит, можливо, дасть ще кращий результат ;)

Врешті після близько 3 годин активної переписки з Midjourney-ботом (упродовж кількох днів) і ~220 запитів я отримав зображення усіх персонажів і об’єктів, які планував.

Збільшуємо вибрані зображення, зберігаємо їх локально, – і можна переходити до наступного етапу.

3. Обробка, монтаж, друк

Для отримання чіткіших зображень і якіснішої обрізки фону зображення рекомендується додатково масштабувати. Пошук видає чималу кількість сервісів для збільшення масштабу (upscaling), як безоплатних, так платних (часто з trial-пакетом). Я скористався pixelbin.io, що має цілком зручний інтерфейс і обіцяє масштабування х4 разів.

Таким чином зображення, які були збережені з Midjourney і мали розмір біля 692×692 px, було збільшено до 2768×2768 px.

Далі було кілька годин достатньо рутинних маніпуляцій у Photoshop (альтернативно згодиться Gimp, pixlr.com чи аналоги), що зводились в основному до:

  • вирізання зображень з їх фону;

  • правки артефактів з пальцями та зіницями (слабке місце Midjourney, принаймні до версії 5.1);

  • компонування окремих зображень на розворотах, їх відносного масштабування, часом, дзеркальне відображення;

  • роботи з текстом. Для написів було використано шрифт Henny Penny (шкода, що такого немає для кирилиці).

Вихідною задумкою було оформити дану роботу у вигляді фотокниги. Тож ще на стадії створення нового документу у Photoshop слід зрозуміти, якого розміру будуть сторінки нашої фотокниги, щоб задати потрібний розмір полотна (зважаючи на те, що роздільна здатність зображень для друку становить 300 пікселів на дюйм).

Одна з помилок, якої я припустився в контексті друку – залишив надто малі відступи між зображеннями та краями сторінок, що довелося підправити.

Після цього я скористався одним з вітчизняних сервісів для фотодруку, де в онлайн-редакторі вибрав параметри книги (розміри, матеріали) і розмістив картинки на розворотах. Через 5-7 робочих днів після замовлення отримав роздруковану книгу.

ПІДСУМКИ

Готові зображення, а також фото роздрукованої книги можна побачити у цьому репозиторії. Нижче наведу кілька обраних фото:

Час, що знадобився на проєкт: у моєму випадку, на те, щоб розібратись, як малювати у Midjourney і пройти вищеописані кроки, пішло близько 8-9 годин роботи (упродовж кількох днів) – приблизно по 1/3 на навчання, генерацію зображень і монтаж.

Грошові витрати: від $0 до ~$30+

  • $8 на місячний Basic Plan у Midjourney (при цьому я витратив лише біля 50% квоти на генерацію ~220 зображень). Даний пункт витрат, гіпотетично, можна звести до 0, скориставшись Stable Diffusion, Leonardo.ai чи іншими безоплатними альтернативами;

  • ~$18 (650 грн) на друк фотокниги (опціонально);

  • Інші можливі витрати – плата за сервіси для upscaling зображень, софт для обробки графіки, але в обох випадках вистачає безплатних варіантів.

Це був цікавий і місцями непростий (що стосується знайомства з Midjourney) досвід, який, думаю, знадобиться мені в майбутньому для генерації зображень для презентацій і, не виключено, у проєктах з елементами text-to-image генерації.

Використання ChatGPT в комбінації з Midjourney відкриває нові можливості, і при належному підході може дати синергічний ефект, який було б неможливо отримати, використовуючи їх поодинці.

Ну, й анонс подарунка, думаю, вдався ;)

P.S. Якщо, можливо, ви віддаєте перевагу споживанню подібних інструкцій у відеоформаті – будь ласка, дивіться детальне відео на YouTube (англійською мовою).

DOU

Приєднуйтесь до наших каналів Telegram, Instagram та YouTube.

Розширений пошукПриховати розширений пошук
За період:
-