Параметр sref в Midjourney: как использовать референсы стилей в своих генерациях

Любой, кто хотя бы раз пробовал генерировать изображения в Midjourney, наверняка сталкивался с одной и той же проблемой — нейросеть выдаёт потрясающую картинку, но повторить её стилистику в следующем промте оказывается практически невозможно. Цвета съезжают, настроение меняется, а от той самой «магии» первого результата не остаётся и следа. Ещё буквально год назад с этим приходилось мириться, подбирая десятки формулировок вроде «in the style of» и надеясь на удачу. Но разработчики Midjourney добавили довольно изящный инструмент, который разом перевернул подход к стилизации, — параметр —sref. А чтобы разобраться, как он работает и где всплывут подводные камни, стоит копнуть чуть глубже стандартных инструкций.

Все топовые нейросети в одном месте

Что такое —sref и зачем он вообще нужен?

Суть параметра укладывается в одно предложение: —sref (сокращение от style reference) позволяет «скормить» нейросети изображение-образец, из которого она вытянет стилистические черты — палитру, фактуру мазков, характер освещения, общее настроение — и перенесёт их на новую генерацию. Дело в том, что Midjourney анализирует не содержание референса, а именно его визуальную подачу. Если в качестве образца подсунуть фотографию заката в розово-золотых тонах, нейросеть не станет рисовать закат. Она подхватит мягкую тёплую гамму и расплывчатые градиенты, а применит их к тому сюжету, который описан в промте. Это принципиальное отличие от параметра —cref, который работает с персонажами и их внешностью. И путать эти два инструмента — довольно распространённая ошибка среди новичков.

Как выглядит синтаксис?

Ничего сверхъестественного. В конце промта, после основного описания сцены, добавляется конструкция —sref URL, где вместо URL подставляется прямая ссылка на изображение. К слову, ссылка должна вести именно на файл картинки, а не на страницу галереи или альбома — иначе бот её просто проигнорирует. Вот как это выглядит на практике: допустим, нужна иллюстрация средневекового замка в стилистике акварельных работ Уильяма Тёрнера. Промт будет выглядеть примерно так: medieval castle on a cliff, misty morning —sref https://example.com/turner_watercolor.jpg. Нейросеть возьмёт из референса размытые контуры, приглушённые охристо-голубые тона и лёгкую «водянистость» текстур, а сюжет сформирует по текстовому описанию.

Кстати, никто не мешает использовать в качестве референса собственные генерации из Midjourney. Многие так и поступают: находят удачный результат, копируют ссылку на него и дальше эксплуатируют эту стилистику в десятках новых промтов. Это удобно. Ведь появляется возможность выстроить целую серию визуально связанных иллюстраций — скажем, для лендинга или книги.

Зачем переплачивать за нейросети? Экономьте сотни долларов каждый месяц 💸

Оплачивать Midjourney, премиум-версии ChatGPT, видео- и аудио-генераторы по отдельности — это безумно дорого и неудобно. Этот сервис решает проблему! Получите полный пакет премиум-моделей (более 90 топовых нейросетей) по цене одной доступной подписки. Безлимитные возможности, никаких скрытых платежей и сгорающих токенов при активном тарифе.

Перестаньте платить за 10 разных сайтов. Выбирайте выгоду и творите без ограничений 👉 https://clck.ru/3RNCRL

Параметр —sw: тонкая настройка «силы» стиля

Само по себе добавление —sref уже творит чудеса, но есть нюанс. Иногда нейросеть настолько увлекается стилем-образцом, что результат превращается в почти точную копию референса — со всеми его огрехами и случайными деталями. А бывает обратная ситуация: стиль считывается слишком поверхностно, и на выходе получается нечто невнятное. Для такого случая существует параметр —sw (style weight), который регулирует интенсивность влияния референса. Значение по умолчанию — 100. Диапазон варьируется от 0 до 1000. При значении около 20–50 нейросеть лишь слегка заимствует общее настроение картинки, при 300–500 стиль начинает солировать, а на отметке ближе к тысяче генерация буквально «пропитывается» образцом до мельчайших штрихов.

На практике львиная доля пользователей работает в диапазоне от 50 до 250. Это связано с тем, что слишком высокие значения часто подавляют текстовый промт — и нейросеть начинает игнорировать описание сюжета в угоду стилю. А слишком низкие делают референс практически бесполезным. Золотая середина — штука индивидуальная, и подбирать её приходится опытным путём. Но стоит начать с дефолтной сотни и двигаться в ту или иную сторону.

Можно ли использовать несколько референсов одновременно?

Да, и это одна из самых недооценённых возможностей. Midjourney позволяет указать сразу несколько URL через пробел после —sref, и тогда нейросеть попытается «сплавить» стили воедино. Выглядит это довольно эффектно, хотя результат не всегда предсказуем. Скажем, если смешать акварельную мягкость с жёстким киберпанковским неоном, на выходе может получиться что-то по-настоящему самобытное — или полная каша. Тем более что у каждого из референсов можно задать индивидуальный вес через двоеточие: —sref URL1::2 URL2::1. В таком случае первый образец будет влиять вдвое сильнее второго. Это изящный механизм, но им стоит пользоваться аккуратно — не перегружая нейросеть противоречивыми вводными.

Стоит ли использовать —sref вместе с текстовыми описаниями стиля?

Неоднозначный вопрос. Многие считают, что визуальный референс полностью заменяет словесное описание стилистики. Но на самом деле лучшие результаты получаются именно при комбинации обоих подходов. Допустим, добавлен —sref с картинкой в духе импрессионизма, но при этом в самом промте указано oil painting, thick brushstrokes, warm palette. В таком случае текст и изображение работают синергетически — нейросеть точнее «понимает», что именно от неё хотят. А вот противоречия между промтом и референсом способны привести к откровенно странным результатам. Если в тексте написано minimalist flat illustration, а в —sref подсунута фотореалистичная картинка с кучей деталей, бот начнёт метаться между двумя крайностями. Зрелище довольно удручающее.

К тому же стоит помнить про ещё один нюанс. Параметр —sref влияет исключительно на стиль, но не на композицию и не на конкретные объекты в кадре. Если нужно, чтобы поза персонажа или расположение элементов совпадали с образцом, одного —sref будет мало. Для этого существуют другие инструменты — тот же —cref для персонажей или функция describe, которая извлекает текстовое описание из картинки.

Какие изображения лучше всего подходят в качестве референсов?

Задача не из лёгких. Ведь не каждая картинка одинаково хорошо «читается» нейросетью как стилистический образец. Практика показывает, что лучше всего работают изображения с ярко выраженным визуальным характером: работы с насыщенной цветовой палитрой, чётким освещением и узнаваемой манерой исполнения. Это может быть кадр из анимационного фильма (вспомнить хотя бы «Человека-паука: Через вселенные» с его комиксовой текстурой), репродукция картины, скриншот из видеоигры с продуманной стилистикой, даже рекламный баннер с выверенной колористикой. Главное — чтобы «визуальный почерк» бросался в глаза.

А вот обычные фотографии без какой-то выраженной художественной обработки — не лучший выбор. Нейросети попросту не за что зацепиться. Она «видит» стандартное освещение, обычные цвета и никакого стилистического послания. Результат в таком случае мало чем отличается от генерации без —sref вовсе. Впрочем, есть исключение: если фотография обработана в каком-нибудь жёстком цветовом грейдинге — скажем, с бирюзово-оранжевым тонированием в духе голливудских блокбастеров — то и она сработает как добротный стилистический якорь.

Случайный стиль: параметр —sref random

Отдельно стоит упомянуть одну любопытную функцию, о которой знают не все. Вместо ссылки на конкретное изображение можно указать —sref random, и тогда Midjourney самостоятельно «выдумает» стилистику. Каждый раз новую. По сути, это генератор случайных визуальных стилей, и с его помощью можно набрести на совершенно неожиданные решения — от ретро-плакатной графики до чего-то напоминающего японскую гравюру, пропущенную через фильтр глитч-арта. Разумеется, результат абсолютно непредсказуем, и девять из десяти попыток могут уйти в корзину. Но десятая иногда оказывается настоящим кладезем вдохновения.

К слову, у каждого случайно сгенерированного стиля есть свой числовой идентификатор. Midjourney показывает его в ответе после генерации. Этот номер можно записать и впоследствии использовать вместо URL: —sref 1234567890. Так понравившийся случайный стиль закрепляется и становится воспроизводимым. Довольно элегантное решение, которое превращает случайность в рабочий инструмент.

Где всплывут ошибки?

Без ложки дёгтя не обходится. Первая и самая частая проблема — битые или недоступные ссылки. Midjourney не умеет «ходить» на закрытые серверы, страницы с авторизацией или ссылки, требующие прокрутки JavaScript. Если ссылка ведёт на Pinterest, Google Images или другой агрегатор, бот с высокой вероятностью получит не саму картинку, а HTML-страницу. И молча проигнорирует референс. Поэтому безопаснее всего загружать образец прямо в чат Discord, а потом копировать ссылку оттуда.

Вторая ошибка — попытка использовать —sref в версии ниже пятой. Этот параметр работает начиная с Midjourney v5.2 и полноценно раскрывается в v6. В более ранних моделях он попросту не распознаётся, и бот его тихо проглатывает, никак не применяя. Ну и, конечно же, нельзя не упомянуть классическую ошибку — путаницу между —sref и —style. Второй параметр переключает между встроенными пресетами самой Midjourney (вроде —style raw), а первый подтягивает внешний визуальный образец. Вещи принципиально разные, хотя названия обманчиво похожи.

Практический сценарий: создание визуальной серии для бренда

Допустим, нужно сделать серию из восьми иллюстраций для страницы «О компании» — все в одной стилистике. Раньше для этого пришлось бы либо нанимать иллюстратора (серьёзное вложение), либо генерировать десятки вариантов в надежде, что повезёт с консистентностью. Сейчас подход выглядит иначе. Сначала генерируется (или подбирается) одна картинка-эталон, стилистика которой устраивает заказчика. Потом ссылка на неё используется как —sref во всех последующих промтах. При этом —sw фиксируется на одном значении — скажем, на 150 — для всей серии. Результат: восемь разных сюжетов, объединённых общей визуальной «ДНК». Палитра, текстуры, характер теней — всё перекликается. А если дополнительно закрепить seed (через параметр —seed), предсказуемость возрастает ещё сильнее.

Тот же приём работает для оформления блога, иллюстраций к детской книге, серии обложек подкаста и даже мудбордов для дизайн-проектов. Вся суть в том, что —sref превращает Midjourney из «генератора случайных красивых картинок» в инструмент с контролируемым визуальным языком. А это уже совсем другой уровень работы.

Чем —sref отличается от прочих методов стилизации?

До появления —sref пользователи вынуждены были описывать стиль словами, что работало, мягко говоря, через раз. Формулировка in the style of Van Gogh выдавала нечто условно импрессионистское, но едва ли совпадающее с конкретной серией или периодом творчества художника. Текстовое описание — штука размытая: у слова «акварельный» в голове у каждого человека свой образ, и у нейросети тоже свой. Визуальный же референс однозначен. Он содержит конкретные пиксели, конкретные оттенки, конкретную степень детализации. И нейросеть считывает всё это напрямую, без промежуточной интерпретации слов.

Все топовые нейросети в одном месте

Отдельно стоит упомянуть разницу с /describe. Эта команда делает обратную вещь: берёт картинку и генерирует текстовый промт, описывающий её. Некоторые пользователи комбинируют оба подхода — сначала «описывают» эталонную картинку через /describe, а потом вставляют полученный текст в новый промт с добавлением —sref на ту же картинку. Избыточно? Возможно. Но результат получается на удивление точным. Тем более что издержек у такого подхода практически нет — разве что чуть больше времени на подготовку промта.

Несколько щепетильных моментов про авторские права

Вопрос неудобный, но игнорировать его не стоит. Если в качестве —sref используется чужая работа — картина современного художника, кадр из фильма, фрагмент чьего-то дизайна — возникает этическая и юридическая серая зона. Формально Midjourney не копирует изображение, а «извлекает» из него стилистические особенности. Но грань между «вдохновением стилем» и «заимствованием визуального языка» весьма тонка. Да и сами художники всё чаще высказывают обеспокоенность тем, что нейросети обучаются на их работах без разрешения. Впрочем, если речь идёт о собственных фотографиях, иллюстрациях или уже сгенерированных изображениях — никаких претензий быть не может. Поэтому безопаснее всего строить референсную базу из собственного визуального контента.

Что дальше: куда движется функция стилевых референсов?

Буквально за последний год команда Midjourney дважды обновляла логику работы —sref, и каждый раз качество «считывания» стиля заметно подрастало. В шестой версии нейросеть научилась отделять стиль от содержания значительно аккуратнее — если раньше из референса с изображением кошки она могла притащить в генерацию кошачьи уши «просто так», то теперь подобные казусы встречаются всё реже. И есть все основания полагать, что в будущих версиях точность станет ещё выше. К тому же ходят слухи о возможности сохранять стилевые пресеты прямо в профиле пользователя — чтобы не искать нужную ссылку каждый раз.

Параметр —sref — это, пожалуй, один из тех инструментов, которые отделяют случайного пользователя от человека, осознанно управляющего генерацией. Он не требует глубоких технических знаний, не бьёт по бюджету (работает на любой подписке) и при этом радикально повышает контроль над результатом. Не стоит бояться экспериментов: смешивать стили, крутить —sw, пробовать —sref random и фиксировать удачные находки. Именно так рождается собственный визуальный почерк — пусть и при помощи нейросети. Удачи в генерациях, и пусть каждый новый промт приносит что-нибудь стоящее.