Invoke
GSD-Fooocus
Здесь вы найдете туториалы
по генерации в Fooocus на проекте GSD
Актуальная локационная Lora -
gsdloc_v13_(sindownloc)
Актуальная ассетная Lora -
gsd_v12_(sindownass)
{
"prompt": "sindownloc, sindownass, The location is a grocery store, large panoramic windows on the walls, orange floor, yellow walls, a side wall on the right, you can see the city behind the windows, signs indicating products hang from the ceiling, a large square open refrigerator with dairy products, a closed glass refrigerator with meat products, a wooden counter with vegetables, wicker baskets with vegetables, to the left of the counter there are scales, a shelf with bread and loaves, a glass closed refrigerator with a wooden base and cakes inside, a shelf with bread on the wall, pastel color, soft color, warm shades",
"negative_prompt": "",
"prompt_expansion": "",
"styles": "[]",
"performance": "Speed",
"steps": 30,
"resolution": "(1728, 576)",
"guidance_scale": 4,
"sharpness": 2,
"adm_guidance": "(1.5, 0.8, 0.3)",
"base_model": "CHEYENNE_V20\"graphic novels illustration, comics, outline, sketch\".safetensors",
"refiner_model": "None",
"refiner_switch": 0.5,
"clip_skip": 2,
"sampler": "dpmpp_2m_sde_gpu",
"scheduler": "karras",
"vae": "Default (model)",
"seed": "8535186479664849293",
"lora_combined_1": "gsdloc_v13_(sindownloc).safetensors : 0.6",
"lora_combined_2": "gsd_v12_(sindownass).safetensors : 0.45",
"metadata_scheme": "fooocus",
"version": "Fooocus v2.5.5"
}
{
"prompt": "sindownass, Cute kitty",
"negative_prompt": "",
"prompt_expansion": "",
"styles": "[]",
"performance": "Speed",
"steps": 30,
"resolution": "(1024, 1024)",
"guidance_scale": 4,
"sharpness": 2,
"adm_guidance": "(1.5, 0.8, 0.3)",
"base_model": "CHEYENNE_V20\"graphic novels illustration, comics, outline, sketch\".safetensors",
"refiner_model": "animaPencilXL_v100.safetensors",
"refiner_switch": 0.7,
"clip_skip": 2,
"sampler": "dpmpp_2m_sde_gpu",
"scheduler": "karras",
"vae": "Default (model)",
"seed": "7912287626500360609",
"lora_combined_1": "gsd_v12_(sindownass).safetensors : 0.65",
"metadata_scheme": "fooocus",
"version": "Fooocus v2.5.5"
}
Рисование от пятна
А что если мы захотим накидать быстрый силуэт от руки, и сделать из него изображение в нашем стиле. Это делается легко в 6 шагов.
{
"prompt": "sindownass, Cute kitty",
"negative_prompt": "",
"prompt_expansion": "",
"styles": "[]",
"performance": "Speed",
"steps": 30,
"resolution": "(1024, 1024)",
"guidance_scale": 4,
"sharpness": 2,
"adm_guidance": "(1.5, 0.8, 0.3)",
"base_model": "CHEYENNE_V20\"graphic novels illustration, comics, outline, sketch\".safetensors",
"refiner_model": "animaPencilXL_v100.safetensors",
"refiner_switch": 0.7,
"clip_skip": 2,
"sampler": "dpmpp_2m_sde_gpu",
"scheduler": "karras",
"vae": "Default (model)",
"seed": "7912287626500360609",
"lora_combined_1": "gsd_v12_(sindownass).safetensors : 0.65",
"metadata_scheme": "fooocus",
"version": "Fooocus v2.5.5"
}
1. Копируем Meta-данные с картинки
Каждая сгенерированная картинка в нашем Fooocus, сохраняет Meta-данные, которые мы можем скопировать
и вставить в поле ввода промта. В этой мете как раз приписана наша лора для проекта “gsd_v13_(sindownass)”
Кликай сюда чтоб скопировать
2. Применяем Meta-данные в Fooocus
Вставляем скопированные Meta-данные в поле промта, кнопка “Generate” меняется на “Load parametrs” и мы кликаем на нее, тем самым применяя Meta-данные (1)
Не забывайте поставить галочку на чек боксе с надписью “Random”. Она находится в самом низу во вкладке Seting,
и контролирует Seed генерации (2)
Сид (seed) — это число, которое задаёт начальную точку
для генерации изображения. Если использовать один и тот же сид и те же настройки, картинка получится одинаковой.
3. Рисуем нужный сам силуэт
Мы рисуем силуэт нужного нам предмета (1), главное делать это с пониманием того как будет считываться силуэт. Если мы хотим чтоб нейросеть понимала различные части объекта, рисуем их разными цветами. Это так же можно использовать чтоб дать нейросети понимание где какой цвет должен быть у предмета, об этом дальше.
Мы в дальнейшем будем использовать инструмент “CPDS” и он видит картинку так (2). “CPDS” создает карту на основе информация о силуэте, очертаниях и резкости и глубине.
4. Вставляем силуэт
Мы прожали галочку “Input Image”(1) и открываем вкладку “Image Promt”(2) и снизу ставим галочку “Advanced”(3) для того чтоб открыть нужные нам вкладки и настройки.
Вставляем наше изображение в первую вкладку 
и выбираем для него режим “CPDS”(4). И его же копию вставляем во второе место для изображения, но с режимом “Image promt” (5). Но можно делать и без “Image promt”. Иногда это на оборот мешает из за своего простого силуэта в это режиме, и нейросеть пытается считать не только цвет, но и детализацию.
Не забываем прописать нужный нам промт, промт стараемся прописать очень подробно что хотим видеть, представляем что объясняем очень рассеянному человек, чтоб нейросеть лучше понимала что мы генерируем. (6)
5. Выставляем нужные нам настройки
В основном используем параметр “Stop At”. Он отвечает 
в какой момент прекратить смотреть на референс и начать фантазировать. Если мы хотим больше похожести на наш нарисованный силуэт, то выставляем больше, если быстро нарисовали простой и хотим чтоб он многое додумал, то меньше значение.
6. Получаем готовое изображение
Делаем несколько генераций, и выбираем самое подходящее нам. Не стесняйтесь делать по несколько генераций за раз.
Я выбрал малое значение “Stop At” потому что хотел чтоб нейросеть взяла просто общий силуэт и дальше сама додумала остальное.
6.1 Можем доработать детали
Для того чтоб улучшить детализацию и поправить мелкие детали надо перенести изображение во вкладку “Inpaint or Outpaint”(1)
Выставить режим “Improve Detail”(2), этот режим минимально дорабатывает изображение. И правит мелкие нейросетевые недочеты.
В дополнительном промте можно дать подсказку 
что мы исправляем.
Дальше нажимаем кнопку “Generate”, и находясь в этом режиме мы будем генерировать только в пределах маски 
и получаем готовое доработанное изображения.
Опционально
6.2 Можем убрать ненужные детали
Для того чтоб убрать ненужные детали надо перенести изображение во вкладку “Inpaint or Outpaint”(1)
Остаемся в первом режиме “Inpaint or Outpaint (default)”(2). 
Он работает как средние изменения на изображение 
и на нем можно расширять изображение.
Выделяем маской (3) деталь которую хотим убрать и нажимаем “Generate”. И обычно мелкие детали нейросеть просто старается убрать. Хотя этот инструмент можно использовать как добавление деталей, оно добавляет что написано в окне основного промта.
Опционально
Рендер скетча
Давайте представим что мы быстро простроили изображение небрежными линиями и хотим из него получить почти готовый рендер в нашем стиле
{
"prompt": "sindownass, cute little squirrel",
"negative_prompt": "",
"prompt_expansion": "",
"styles": "[]",
"performance": "Speed",
"steps": 30,
"resolution": "(1024, 1024)",
"guidance_scale": 4,
"sharpness": 2,
"adm_guidance": "(1.5, 0.8, 0.3)",
"base_model": "CHEYENNE_V20\"graphic novels illustration, comics, outline, sketch\".safetensors",
"refiner_model": "animaPencilXL_v100.safetensors",
"refiner_switch": 0.9,
"clip_skip": 2,
"sampler": "dpmpp_2m_sde_gpu",
"scheduler": "karras",
"vae": "Default (model)",
"seed": "7174041941590111501",
"lora_combined_1": "gsd_v8_(sindownass).safetensors : 0.7",
"metadata_scheme": "fooocus",
"version": "Fooocus v2.5.5"
}
1. Копируем Meta-данные с картинки
Каждая сгенерированная картинка в нашем Fooocus, сохраняет Meta-данные, которые мы можем скопировать
и вставить в поле ввода промта. В этой мете как раз приписана наша лора для проекта “gsd_v8_(sindownass)”
Кликай сюда чтоб скопировать
2. Применяем Meta-данные в Fooocus
Вставляем скопированные Meta-данные в поле промта, кнопка “Generate” меняется на “Load parametrs” 
и мы кликаем на нее, тем самым применяя Meta-данные (1)
Не забывайте поставить галочку на чек боксе с надписью “Random”. Она находится в самом низу во вкладке Seting,
и контролирует Seed генерации (2)
Сид (seed) — это число, которое задаёт начальную точку
для генерации изображения. Если использовать один и тот же сид и те же настройки, картинка получится одинаковой.
3. Рисуем наш быстрый и простой скетч
Рисуем нужный нам скетч(1), можно делать это небрежно
и не заморачиваясь с качеством, больше обращая внимание на простройку изображения, нежели на качество.
По факту мы дорабатываем наш скетч до рендера, значит там уже должны быть заливки тех цветов который мы хотим, и так же контуры примерно одной толщины потому что мы будем использовать режим считываниеконтуров.
И в этом режиме нейросеть будет видеть
наши изображение так (2).
4. Вставляем наш скетч в “Vary”
Мы прожали галочку “Input Image”(1) и открываем вкладку “Upscale or Variation”(2) и вставляем наше изображение 
в доступное окно, переключаясь на режим “Vary(Subtle)”(3)
Режим “Vary(Subtle)” вносит незначительные изменения в ваше изображения, мы например подключили лору с нашем стилем из Lora. Но так же можно использовать стандартные стили или промты.
Мы уже на этом этапе можем нажать кнопку “Generate”(4), только не забудьте помочь нейросети понять что на изображение, написав нужный промт (5). И мы получим уже приближенное к рендеру изображение. Но мы не имеем полный контроль который хотелось бы при генерации. И мы специально допустили ошибку в скетче, горке не задали контур. И тут мы видим сгенерированное изображение без нужного контура, все это исправляется продвинутыми настройками.
5. Вставляем наш скетч как контуры
А нейросеть работает так что в “Input image” генерирует изображение с настройками той вкладки на которой мы находимся. Мы сейчас находимся на вкладке “Image Promt”. А нам бы хотелось сразу настройки с двух режимов “Image Promt” и “Upscale or Variation”, считать контуры и оставить изображение очень приближенное к оригиналу. Это можно сделать с помощью продвинутых настроек.
Открываем вкладку “Image Promt”(1) и вставляем изображение в первое поле. Выставляем режим “PyraCanny”(2). Этот режим считывает изображение
как контуры (3).
Тут мы тоже уже можем нажать кнопку “Generate” и получить сгенерированное изображение по нашим контурам,
но оно получится по цветам не то что надо, и слишком отходит от нашего скетча(4).
Включаем продвинутые настройки
Сверху справа мы переключаемся на вкладку “Advanced” (1)
И здесь если мы активируем галочку “Developer Debug Mode”(2). После этого откроются продвинутые настройки
Важно помнить что метаданные не копируют продвинутые настройки.
6. Настраивает влияние Vary(Subtle)
В первой вкладке продвинутых настроек “Debug Tools”(1) находим “Forced Overwrite of Denoising Strength of “Vary””(2) и дигаем ползунок так, чтоб изображение имело среднее влияние на нашу генерацию, а не минимальное.
Мне подошло значение 0,7.
Если позунок стоит на самом минимальном положение
то это -1, это стандартные настройки.
Если минимальное значение 0,999. То изображение имеет минимальные изменения(3).
Если максимальное значение 1. То изображение сильно отличаться от оригинального, но пытается быть похожим
на исходное(4).
7. Включаем микс двух вкладок
Мы находим пункт “Mixing Image Prompt and Vary/Upscale”
и проставляем галочку на нем, тем самым включив микс двух вкладок (1).
Теперь как мы хотели, будут работать вкладки “Image Promt” и “Upscale or Variation” одновременно.
8. Генерируем
Теперь находясь на любой вкладке “Image Promt” или “Upscale or Variation” нажимаем кнопку генерации.
Не забываем помочь нейросети понять что на изображение, добавим описывающий промт.