Prompt generation - Apkawa/stable-diffusion-wiki-awesome GitHub Wiki
Рассмотрим методики генерации промптов в случае когда нет фантазии и не понимаем что хотим получить
Этот скрипт позволяет одной кнопкой рандомно генерировать промпты если совсем нет фантазии.
При необходимости можно выбрать стиль и тему из выпадающего списка, и или конкретизировать тему в промтах. По сути это вилдкарды но с более удобным интерфейсом.
Плюсы
- Простота
- Реально однокнопочная генерация
- Темы и стили выбираются из списка
- Все гибко настраивается
- Большая документация с примерами, например
Минусы
- Все таки ограниченный набор тем и стилей
- нельзя выбрать несколько тем и стилей одновременно в интерфейсе
- нет генерации сложного промпта средствами AI
Вошло в подборку по причине того что в нем появилась опция Magic Prompt которая, используя загружаемые модели, генерирует промпты используя начальную затравку.
Есть галочка I'm feeling lucky
- используя стартовый промпт как поисковый запрос ищет на сайте https://lexica.art/
Так же можно комбинировать ключевые слова различными способами
Плюсы
- Большой выбор моделей
- Гибкость
Минусы
- Не однокнопочный, нужно разбираться, но можно использовать только режим генерации промптов
Тут все просто, пишем описание на английском, модель добивает наш промпт дополнительными словами.
Плюсы
- работает быстро, подкидывает интересных стилей и авторов
Минусы
- safe и unsafe часто генерируют какую то дичь с самоповтором,
- может добавить неожиданные и нежелательные концепты, нужно вычитывать готовый промпт.
- Все же довольно ограниченный
(TODO расширить, понять какой из двух вилдкартов круче)
- dynamic prompts
- wildcards -- Устарело
Можно использовать как шорткаты для каких то концептов, так и для рандомизации.
Готовые наборы списков:
- https://rentry.org/NAIwildcards
- https://github.com/themartiantourist/Wildcards-for-SD/tree/main/Wildcards
- https://github.com/mattjaybe/sd-wildcards/tree/main/wildcards
Так же хорошо поставить tagcomplete
Плюсы
- Можно использовать и как заготовки и как рандом
Минусы
- Нужно готовить
Просим бота составить запрос. Сходу его заставить не получится
Гайд - https://dtf.ru/howto/1712844-gayd-generiruem-zapros-dlya-stable-diffusion-s-pomoshchyu-chatgpt
- Получаем доступ к чатгпт. Я использую ТГ ботов, например https://t.me/GPT4Telegrambot или https://t.me/chatgpt_advanced_bot
- Скармливаем боту запрос,
%%%PLACE YOUR INPUT HERE%%%
заменить на композицию которую хочешь сделать. Можно на русском. Например -девушка варит суп
SPOILER
You need to generate an input prompt for a text-to-image neural network. The system accepts as correct the query string, where all arguments are separated by commas.
The words in prompt are crucial. Users need to prompt what they want to see, specifying artist names, media sources, or art styles to get desired results. Be descriptive in a manne similar to prompts provided below about what you want. It is more sensitive to precise wording. That includes adjectives and prepositions like “in front of [x]“, and “taken by [camera name]“.
It also supports weights. By bracketing the words you can change their importance. For example, (rainy) would be twice as important compared to "rainy" for the model, and [rainy] would be half as important.
Write a medium lenth prompt, like below. Too long and it would fail to generate, too short and it would generate crap. Be as detailed as possible and avoid both scenarios at any cost.
As photographers and painters know, light has a huge effect on the final impression an image creates. Specify lighting conditions. Describe the type of light you want to see and the time of day it is. You don’t need complex vocabulary.
The MOST IMPORTANT thing is that a text-to-image neural network interprets the prompt from up to down, i.e. what is listed at the beginning of the prompt is more significant than what is listed near the end of the prompt. So it is recommended to place the subject of prompt in the beginning, characteristical tags in the middle and misc tags like lighting or camera settings near the end. Tags must be separated by commas, commas are not allowed in the query (what needs to be drawn), because the system treats it as one big tag.
Below few good examples are listed:
Example 1: Stunning wooden house, by James McDonald and Joarc Architects, home, interior, octane render, deviantart, cinematic, key art, hyperrealism, sun light, sunrays, canon eos c 300, ƒ 1.8, 35 mm, 8k, medium - format print
Example 2: Stunning concept art render of a mysterious magical forest with river passing through, epic concept art by barlowe wayne, ruan jia, light effect, volumetric light, 3d, ultra clear detailed, octane render, 8k, dark green, dark green and gray colour scheme
Example 3: Stunning render of a piece of steak with boiled potatoes, depth of field. bokeh. soft light. by Yasmin Albatoul, Harry Fayt. centered. extremely detailed. Nikon D850, (35mm|50mm|85mm). award winning photography.
Example 4: Stunning postapocalyptic rich marble building covered with green ivy, fog, animals, birds, deer, bunny, postapocalyptic, overgrown with plant life and ivy, artgerm, yoshitaka amano, gothic interior, 8k, octane render, unreal engine
Also you should generate a negative prompt for each prompt, describing what you do NOT want to see. Some examples:
Example 1: Black and white, blurry, not in focus, out of focus, warped, distorted, unfocused, gibberish, lowres, text, error, cropped, worst quality, low quality, normal quality, jpeg artifacts
Example 2: Deformed, blurry, bad anatomy, disfigured, poorly drawn face, mutation, mutated, extra limb, ugly, poorly drawn hands, missing limb, blurry, floating limbs, disconnected limbs, malformed hands, blur, out of focus, long neck, long body, ((((mutated hands and fingers)))), (((out of frame)))
Looking at the rules and examples listed above, create a prompt for a following query: %%%PLACE YOUR INPUT HERE%%%
Place this query in the main subject place of the string, after "stunning" but before first comma, like: "Stunning [subject], photograph..."
- Результат скармливаем SD
Плюсы
- Результаты получаются довольно интересными, почти то что хотел получить
Минусы
- Гигантский промпт, нужно кормить бота каждый раз этим промптом.
- Бот запоминает контекст и в следующий промпт может вставить промпт из предыдущего