Перейти к основному контенту

Рабочий процесс Wan 2.7: сначала концепт, затем правка изображения

Создайте изображение Wan 2.7 по брифу или референсам: спланируйте палитру и зоны правки, выберите Standard или Pro и проверьте итоговую композицию.

Автор
Lydia
Опубликовано
Время чтения
10 мин чтения
Обновлено
Вымышленный взрослый иллюстратор рассматривает физическую иллюстрацию маяка рядом с образцами краски в прибрежной студии

Используйте Wan 2.7 text-to-image для нового концепта по цене $0,03 за изображение, а редактирование Wan 2.7 — чтобы доработать готовый исходник по той же цене. Выбирайте Pro за $0,075 за изображение, когда нужен вывод в 4k: его даёт только Pro для текста, а Pro edit всегда возвращает 2k. Стандартная генерация и правка дают 1k или 2k и до четырёх результатов за вызов. Настройки ниже собирают обложку с маяком, а затем убирают лишнюю лодку с помощью измеренной рамки правки.

Сначала выберите эндпоинт

ЗадачаРазрешениеРезультатов за вызовДругие параметры
Wan 2.7 text1k (по умолчанию), 2k1–4Палитра, seed, переключатель «размышления» (по умолчанию включён)
Wan 2.7 edit1k (по умолчанию), 2k1–41–9 исходников, палитра, рамки, seed
Pro text2k (по умолчанию), 4k1Палитра, seed
Pro editФиксированные 2k11–9 исходников, палитра, рамки, seed

Для масштаба: 1k — примерно 1 мегапиксель, 2k — около 4, 4k — около 16. Все четыре принимают 1:1, 4:3, 3:4, 16:9, 9:16, 3:2 и 2:3. Для текста по умолчанию квадрат. У правки значения по умолчанию нет: она следует пропорциям последнего исходного изображения. Задавайте 2:3 явно, когда генерируете без палитры, чтобы позднее добавленный референс не определял форму. aspect_ratio нельзя сочетать с color_palette и bounding_boxes: запрос с обоими вернёт ошибку 40004, поэтому в таких запросах aspect_ratio опускайте (текстовый запрос с палитрой тогда вернёт квадрат по умолчанию, а правка с рамкой сохранит пропорции последнего исходника). Ни у одного из четырёх нет выбора формата вывода.

Pro edit настроен на длинные инструкции из нескольких частей («возьми этот предмет, помести на ту поверхность, подгони свет под второе изображение, не трогай этикетку»), поэтому выбирайте его для составных правок, а не ради разрешения.

Сгенерируйте концепт обложки

Используйте стандартную генерацию по тексту с resolution: "2k", aspect_ratio: "2:3", num_outputs: 1, enable_thinking: true и seed 314159. Фиксированный seed сохраняет исходное случайное состояние, пока вы меняете по одной формулировке; опустите его, чтобы получить новый вариант. При выключенном enable_thinking генерация быстрее; пока вы ещё ищете композицию, оставьте его включённым. Промпт остаётся на английском без изменений:

Original painted cover artwork for a fictional coastal mystery. One white lighthouse on a charcoal rocky island above dark teal water, the entire tower visible slightly right of center. One small mustard-yellow lamp at its top. One fictional adult keeper aged 45 in a rust raincoat walks along a clear path toward the tower. The keeper is small relative to the building. Pale restrained sky with quiet space in the upper third for separately added typography. Strong large silhouettes, soft dusk light, no lettering, extra towers, boats or disaster spectacle.

Вертикальная иллюстрация белого маяка над скалистым тёмно-бирюзовым морем с маленьким взрослым смотрителем

Иллюстрация, не результат Wan (небо теплее, чем просит промпт): маленький смотритель задаёт масштаб, а маяк остаётся главным.

Сначала попробуйте в Playground

  1. Откройте страницу Wan 2.7 text-to-image и оставайтесь на вкладке Playground в режиме Form. Для запуска войдите в аккаунт с пополненным балансом.
  2. Вставьте приведённый выше промпт обложки в поле Prompt. Установите Resolution на 2k и Seed на 314159; пока ищете композицию, оставьте Deep thinking включённым.
  3. В Aspect ratio выберите 2:3. Если на шаге 4 добавляете палитру, выберите вместо этого Auto, потому что вместе их использовать нельзя.
  4. По желанию: в Color palette нажмите Add a color, введите каждый код #RRGGBB и при необходимости его долю в процентах (от 3 до 10 цветов; набор для маяка приведён в следующем разделе).
  5. Запустите модель, проверьте башню и масштаб смотрителя, затем измените одну формулировку и запустите снова с тем же seed.

Для правки с лодкой откройте страницу Wan 2.7 edit, добавьте утверждённое изображение в Images (Add a file или Asset URL) и растяните рамку поверх лодки и кильватерного следа в Edit areas; Fine-tune coordinates показывает те же числа. В промпте ссылайтесь на «отмеченную область». Тело запроса в Playground — тот же JSON, который принимает API, так что рабочую настройку отсюда можно сразу скопировать в код.

Playground Wan 2.7 edit в режиме Form для правки с девятью референсами

Страница Wan 2.7 edit в режиме Form: поле Prompt и кнопка Run.

Передайте корректную палитру

color_palette принимает 3–10 шестизначных hex-цветов (рекомендуется 8) и направляет весь кадр: сцену, одежду и свет. У каждого цвета может быть ratio — доля в процентах; цвета без доли делят остаток поровну. Считайте доли запрошенным распределением, а не измеренным числом пикселей. В запросе с маяком четыре цвета с суммой 100: #173E46 бирюзовый 45, #E8E1D3 бледное небо 30, #34383A графитовый 20 и #C9A448 горчичный 5. При отправке опустите aspect_ratio.

Если жёлтый заливает небо, уберите из промпта формулировки про тёплое золотистое небо и уменьшите роль акцента.

Уберите лодку по координатам из настоящего исходника

Допустим, на утверждённом изображении есть отвлекающая лодка. Перейдите к стандартной правке, возьмите утверждённое изображение первым исходником и оставьте 2k и один результат; aspect_ratio опустите, потому что его нельзя сочетать с bounding_boxes. Каждая запись в bounding_boxes указывает исходник через image_index, нумерация с единицы, а координаты — это пиксели от левого верхнего угла этого исходника.

Для гипотетического исходника 1200 × 1800, где лодка и след заключены между (120,1180) и (390,1420), рамка выглядит так: {"image_index": 1, "x1": 120, "y1": 1180, "x2": 390, "y2": 1420}, а промпт звучит так: "Remove the small boat and its wake inside the marked lower-left sea area. Continue the surrounding dark teal water and painterly texture. Retain the lighthouse, rocky island, adult keeper, path and quiet sky. No new objects or lettering."

Эти координаты приведены для примера; измерьте свою лодку. Если превью показывает тот же исходник в 600 × 900, умножьте координаты превью на два: точка превью (60,590) становится точкой исходника (120,1180). Пересчитывайте после любой обрезки или изменения размера: рамка всегда относится к отправленному файлу, а не к запрошенному размеру результата.

На каждый исходник допускается до двух рамок (восемнадцать на девять исходников). Включайте в рамку и след, а не только корпус, иначе лодка останется видна по смыслу. Рамка говорит, где действовать, а промпт — чем заменить; ни то ни другое не гарантирует тех же пикселей в остальной части. Используйте от 1 до 9 исходных изображений в формате JPEG, WebP или непрозрачный PNG, каждое — публичным HTTPS-URL или загруженным файлом spicy://.

Если исходников несколько, укажите, для чего каждый («изображение 1 — сцена, изображение 2 — пальто, изображение 3 — референс палитры»).

Физическая иллюстрация маяка, отдельная фотография плаща и четыре нарисованных образца цвета на деревянном столе

Иллюстрация, не результат Wan: отдельные материалы для исходника, одежды и палитры, у каждого своя роль.

Затем запустите из кода

Установите Python SDK (pip install spicyapi), задайте SPICY_API_KEY в окружении сервера и выполните оба шага: концепт, а затем удаление лодки, когда у вас будет утверждённое изображение.

python
import uuid
from spicyapi import SpicyClient, output_assets

client = SpicyClient()  # reads SPICY_API_KEY from the environment

def run(model, input_data):
    task = client.create_task(model=model, input_data=input_data,
                              idempotency_key=str(uuid.uuid4()))
    final = client.wait_for_terminal(task["taskId"])
    if final["state"] != "succeeded":
        raise RuntimeError(f"{task['taskId']} ended as {final['state']}: {final.get('errorCode')}")
    return output_assets(final)[0]["url"]  # copy the image to your own storage now

concept_url = run("alibaba/wan-2.7/text-to-image", {
    "prompt": "Painted cover for a fictional coastal mystery: one white lighthouse above dark teal sea on charcoal rocks, one small mustard-yellow lamp and one small adult keeper in a rust coat on a clear path. Pale quiet upper sky for later typography. Whole tower visible; no lettering or extra towers.",
    "resolution": "2k",
    "num_outputs": 1,
    "enable_thinking": True,
    "seed": 314159,
    "color_palette": [
        {"hex": "#173E46", "ratio": 45},
        {"hex": "#E8E1D3", "ratio": 30},
        {"hex": "#34383A", "ratio": 20},
        {"hex": "#C9A448", "ratio": 5},
    ],
})

edit_url = run("alibaba/wan-2.7/edit", {
    "image_urls": ["https://your-domain.example/approved-cover-1200x1800.jpg"],  # your approved image
    "prompt": "Remove the small boat and its wake inside the marked lower-left sea area. Continue the surrounding dark teal water and painterly texture. Retain the lighthouse, rocky island, adult keeper, path and quiet sky. No new objects or lettering.",
    "bounding_boxes": [{"image_index": 1, "x1": 120, "y1": 1180, "x2": 390, "y2": 1420}],
    "resolution": "2k",
    "num_outputs": 1,
    "seed": 314159,
})
print(concept_url, edit_url)

Создание, ожидание, скачивание, повторные попытки и коды ошибок описаны в руководстве по задачам и справочнике Python SDK. Результаты со временем удаляются, поэтому прочитайте про хранение и доставку, прежде чем полагаться на возвращённую ссылку.

Или поручите запуск агенту

Когда генерации должен запускать ассистент, все три официальных инструмента показывают цену и спрашивают подтверждение перед платным вызовом.

  • CLI. Поместите объект input для концепта в input.json, затем:

``bash spicyapi tasks create --model alibaba/wan-2.7/text-to-image --input-file input.json --wait ``

Для правки spicyapi files upload <path> превращает локальное изображение в ссылку spicy:// для image_urls. См. документацию CLI; npx @spicyapi/cli работает без установки.

  • MCP-сервер. Добавьте MCP-сервер своему ассистенту и попросите: «Run Wan 2.7 text to image with this prompt at 2k, seed 314159.» Он вызовет spicyapi_task_create, который остановится для подтверждения цены, затем spicyapi_task_wait; spicyapi_upload_file обработает локальный исходник.
  • Skill. npx skills add spicyapi-ai/spicy-skill устанавливает Agent Skill, благодаря которому ассистент для программирования читает актуальную схему модели, а не угадывает поля.

Исправление конкретного неудачного результата

СбойЧто изменить
Правка затрагивает не тот уголИсправьте image_index и пересчитайте координаты по настоящему исходнику, а не повторяйте «именно здесь».
Башня обрезанаПопросите показать башню целиком и добавить больше спокойного неба; оставьте портретный формат.
Смотритель крупнее башниНапишите «маленькая далёкая взрослая фигура на тропе»; уберите слова про портрет и крупный план.
Лодка исчезла, а след осталсяРасширьте рамку, чтобы включить след, и назовите оба объекта в инструкции.
Маяк меняется при удалении лодкиВернитесь к принятому исходнику; используйте рамку меньше или вставьте в оригинал только принятый участок моря.
Pro edit отклоняет resolutionУберите поле; Pro edit зафиксирован на 2k, а 4k относится к Pro text.
Пакет из четырёх изображений стоит дороже ожидаемогоЗадайте num_outputs: 1; стандартная цена считается за изображение, а не фиксированно за пакет.

Standard или Pro и стоимость

Один стандартный концепт плюс одна стандартная правка стоят $0,06. Стандартный запрос с четырьмя результатами стоит $0,12, а одно изображение Pro — $0,075, поэтому проход Pro text плюс Pro edit обойдётся в $0,15. Исследуйте композицию на Standard, используя num_outputs до 4. Платите за Pro text только когда нужен 4k, например для главного кадра, который будут обрезать или печатать, а за Pro edit — когда одна инструкция содержит несколько частей, и все должны сработать. Если неверна сама композиция, более высокое разрешение её не исправит.

Работа с материалами для взрослых

Оба эндпоинта правки работают без цензуры, и SpicyAPI не добавляет проверку контента. Они могут выдавать изменения, предназначенные для взрослой аудитории, но более сильные правки на любом из них иногда возвращаются ослабленными; Pro не гарантирует более откровенного результата. Стандартная текстовая задача иногда выдаёт продвинутые изображения для взрослых, но обе текстовые задачи ослабляли более сильные сцены для взрослых в наших тестах; ослабленный результат всё равно тарифицируется. Pro это ограничение не снимает. Создателям взрослых персонажей практичнее сначала создать базовое изображение или референс, а изменения для взрослой аудитории вносить потом через правку. Записанные результаты есть в англоязычной статье «Wan 2.7 Pro NSFW image test»; саму задачу можно найти на странице Wan 2.7 Pro edit. Обложка с маяком в этом руководстве полностью одета и ничего из этого не требует.

Завершение

Оставьте утверждённое изображение исходником для точечных правок и начинайте новый концепт, когда должна измениться сама композиция острова. Добавьте точное название в дизайн-инструменте, когда иллюстрация работает в размере миниатюры.

Другие языки English · 日本語 · 한국어 · Deutsch · Français · Español · Português (Brasil) · Italiano · Polski