Обзор Yes Ai API Qwen Images. Создание нейрофотосессий - часть 5

Что такое нейрофотосессия? Это когда вы отправляете одну свою фотографию, а на выходе получаете целую коллекцию новых образов. Меняется стиль, одежда, даже фон — всё автоматически. Причём от пользователя требуется минимум: загрузи фото и выбери стили. Всё это работает через API Qwen Image Edit.

Обзор Yes Ai API Qwen Images. Создание нейрофотосессий - часть 5

Перед тем как внедрять нейрофотосессии в свой проект, советую опробовать функцию в нашем Telegram-боте. Он позволяет быстро понять, как сервис работает на практике.

Работа с API отличается от стандартного бота тем, что вы сами контролируете стили трансформации. Можно заранее подобрать трендовые или фирменные образы и предложить их клиентам. Перед запуском хорошо бы протестировать каждый стиль отдельно, чтобы отсечь лишнее и оставить только актуальное.

Пошаговая инструкция по запуску нейрофотосессии через API Qwen Image Edit

POST https://api.yesai.su/v2/qwen/generations
headers: { Content-Type: application/json, Authorization: Bearer }

Запрос для создания нейрофотосессии через нейросеть Qwen Images API:

curl -X POST https://api.yesai.su/v2/qwen/generations -H "Authorization: Bearer <token>" -H "Content-Type: application/json" -d '{ "type": 120, "prompt": "девушка улыбается", "checkpoint_id": 2, "sampler_id": 1, "steps": 20, "cfg": 2.5, "denoise": 1, "copies": 1 }'

Параметры генерации нейрофотосессии:

  • type: 120
    Это ключ к запуску генерации по сценарию «нейрофотосессия».
  • prompt = ''
    Необязательный блок, сюда можно подкинуть свою идею или пару фраз, чтобы задавать тон создаваемой фотосессии. Если поле оставить пустым — нейросеть подхватит базовый стиль.
  • steps: 20
    Эта штука определяет, сколько промежуточных шагов потребуется от черновика до итогового изображения. По умолчанию стоит двадцать. Хочется быстрее — ставь 10, а если хочется помучиться ради деталей — можно накрутить до 30 шагов.
  • cfg: 2.5
    Загадочная аббревиатура, которая показывает, насколько строго нейросеть держится за твой запрос. Обычно хватает 2.5. Можно слегка ослабить поводья (до 2.0) или, наоборот, закрутить гайки до 3.0, чтобы получить максимально точный результат.
  • denoise: 1
    Регулирует степень вмешательства нейросети: за сколько она преобразует изначальное фото. 1 — стандарт, в редких случаях можно осторожно поиграть значением в пределах 0.9–1.1.
  • copies: 1
    Сколько снимков сразу сгенерировать? По умолчанию — один. Можно сделать два, чтобы выбрать, какой получился круче.
  • photoshoot_id: 1
    Тут выбирается стиль для нейрофото. Работает только с этим типом генерации. По умолчанию: 1, обязательно для type = 120 (от 1 до 64), доступные варианты: 0 - без стиля, 1 - случайный стиль, 2 - 3D-мультперсонаж, 3 - Акварельный портрет, 4 - Аниме-персонаж, 5 - В арт-пространстве, 6 - В горах, 7 - В кафе, 8 - В ночном клубе, 9 - В офисе, 10 - В Париже, 11 - В ресторане, 12 - В спортзале, 13 - В старинной библиотеке, 14 - Вампир, 15 - Древнеегипетский фараон, 16 - Зомби, 17 - Игра престолов, 18 - Киберпанк-персонаж, 19 - Киборг, 20 - Комикс-стиль, 21 - Королевский образ, 22 - Кукла, 23 - Маг, 24 - Матрица, 25 - На зимнем курорте, 26 - На пляже, 27 - На природе, 28 - На фестивале, 29 - На яхте, 30 - Пилот истребителя, 31 - Пират, 32 - Поп-звезда, 33 - Рыцарь, 34 - Секретный агент, 35 - Стимпанк-персонаж, 36 - Супергерой, 37 - Ученик школы магии, 38 - Хиппи, 39 - Cyberpunk 2077, 40 - LEGO-персонаж, 41 - Marvel / DC супергерой, 42 - Minecraft).
  • references_urls: []
    Здесь обязательно нужна ссылка на исходное фото. Без нее ничего не заработает.

Ошибки, с которыми можно столкнуться:

['success' => false, 'message' => 'MODEL_ID_IS_EMPTY'], 400
['success' => false, 'message' => 'MODEL_ID_NOT_VALID'], 400
['success' => false, 'message' => 'ID_IS_EMPTY'], 400
['success' => false, 'message' => 'ID_NOT_VALID'], 400
['success' => false, 'message' => 'TYPE_IS_EMPTY'], 400
['success' => false, 'message' => 'TYPE_NOT_VALID'], 400
['success' => false, 'message' => 'STYLE_IS_EMPTY'], 400
['success' => false, 'message' => 'STYLE_NOT_VALID'], 400
['success' => false, 'message' => 'PROMPT_IS_EMPTY'], 400
['success' => false, 'message' => 'PROMPT_NOT_VALID'], 400
['success' => false, 'message' => 'PROMPT_LORA_ID_IS_EMPTY'], 400
['success' => false, 'message' => 'PROMPT_LORA_ID_NOT_VALID'], 400
['success' => false, 'message' => 'PROMPT_LORA_WEIGHT_IS_EMPTY'], 400
['success' => false, 'message' => 'PROMPT_LORA_WEIGHT_NOT_VALID'], 400
['success' => false, 'message' => 'PROMPT_LORA_FORMAT_IS_EMPTY'], 400
['success' => false, 'message' => 'PROMPT_LORA_FORMAT_NOT_VALID'], 400
['success' => false, 'message' => 'PROMPT_LORA_FORMATS_IS_EMPTY'], 400
['success' => false, 'message' => 'PROMPT_LORA_FORMATS_NOT_VALID'], 400
['success' => false, 'message' => 'PROMPT_SETTINGS_IS_EMPTY'], 400
['success' => false, 'message' => 'CUSTOMER_ID_IS_EMPTY'], 400
['success' => false, 'message' => 'CUSTOMER_ID_NOT_VALID'], 400
['success' => false, 'message' => 'CHECKPOINT_ID_IS_EMPTY'], 400
['success' => false, 'message' => 'CHECKPOINT_ID_NOT_VALID'], 400
['success' => false, 'message' => 'SAMPLER_ID_IS_EMPTY'], 400
['success' => false, 'message' => 'SAMPLER_ID_NOT_VALID'], 400
['success' => false, 'message' => 'WIDTH_IS_EMPTY'], 400
['success' => false, 'message' => 'WIDTH_NOT_VALID'], 400
['success' => false, 'message' => 'HEIGHT_IS_EMPTY'], 400
['success' => false, 'message' => 'HEIGHT_NOT_VALID'], 400
['success' => false, 'message' => 'STEPS_IS_EMPTY'], 400
['success' => false, 'message' => 'STEPS_NOT_VALID'], 400
['success' => false, 'message' => 'CFG_IS_EMPTY'], 400
['success' => false, 'message' => 'CFG_NOT_VALID'], 400
['success' => false, 'message' => 'DENOISE_IS_EMPTY'], 400
['success' => false, 'message' => 'DENOISE_NOT_VALID'], 400
['success' => false, 'message' => 'COPIES_IS_EMPTY'], 400
['success' => false, 'message' => 'COPIES_NOT_VALID'], 400
['success' => false, 'message' => 'PHOTOSHOOT_ID_IS_EMPTY'], 400
['success' => false, 'message' => 'PHOTOSHOOT_IDS_IS_EMPTY'], 400
['success' => false, 'message' => 'PHOTOSHOOT_ID_NOT_VALID'], 400
['success' => false, 'message' => 'REFERENCES_URLS_IS_EMPTY'], 400
['success' => false, 'message' => 'REFERENCES_URLS_NOT_VALID'], 400
['success' => false, 'message' => 'RESULT_URL_IS_EMPTY'], 400
['success' => false, 'message' => 'RESULT_URL_NOT_VALID'], 400
['success' => false, 'message' => 'PHOTOSHOOT_IDS_IS_EMPTY'], 400
['success' => false, 'message' => 'PHOTOSHOOT_ID_NOT_VALID'], 400
['success' => false, 'message' => 'UNAUTHORIZED'], 401
['success' => false, 'message' => 'PHOTOSHOOT_ID_NOT_FOUND'], 404
['success' => false, 'message' => 'MODEL_ID_NOT_FOUND'], 404
['success' => false, 'message' => 'ID_NOT_FOUND'], 404
['success' => false, 'message' => 'PROMPT_LORA_ID_NOT_FOUND'], 404
['success' => false, 'message' => 'CHECKPOINT_ID_NOT_FOUND'], 404
['success' => false, 'message' => 'SAMPLER_ID_NOT_FOUND'], 404
['success' => false, 'message' => 'RESULT_URL_NOT_FOUND'], 404
['success' => false, 'message' => 'RESULT_WIDTH_NOT_FOUND'], 404
['success' => false, 'message' => 'RESULT_HEIGHT_NOT_FOUND'], 404
['success' => false, 'message' => 'PHOTOSHOOT_ID_NOT_FOUND'], 404
['success' => false, 'message' => 'USER_HAS_BEEN_BANNED'], 409
['success' => false, 'message' => 'USER_HAS_BEEN_DELETED'], 409
['success' => false, 'message' => 'NOT_ENOUGH_RPOINTS'], 409
['success' => false, 'message' => 'PROMPT_NSFW_WORDS'], 409
['success' => false, 'message' => 'PROMPT_EN_NSFW_WORDS'], 409
['success' => false, 'message' => 'PROMPT_FAILED_TO_TRANSLATE'], 409
['success' => false, 'message' => 'STYLE_LIMIT_EXCEEDED'], 409
['success' => false, 'message' => 'TASK_LIMIT_EXCEEDED'], 409
['success' => false, 'message' => 'TASK_IS_NOT_COMPLETED'], 409
['success' => false, 'message' => 'MODIFICATION_FORBIDDEN'], 409
['success' => false, 'message' => 'TOO_MANY_REQUESTS'], 429
['success' => false, 'message' => 'INTERNAL_SERVER_ERROR'], 500

Успешный ответ выглядит так:

['success' => true, 'message' => 'OK', 'results' => ['generation_data' => [ ... ]]], 200

Совет 1. Некоторые стили для нейрофотосессий плохо передают черты лица исходной фотографии. Оптимальный способ — подобрать собственные наборы примеров, экспериментируя с разными вариантами.

Совет 2. Можно разрабатывать уникальные стили для нейрофотосессий и интегрировать их в свой продукт через механику модификации изображений. Принцип работы прост: вы отправляете сервису референс-фото и промт, в котором подробно расписываете, что и как должно измениться в финальном изображении — начиная от внешности, заканчивая деталями фона. Не бойтесь пробовать разные формулировки и параметры до тех пор, пока не добьётесь того эффекта, который нужен клиенту.

Начать дискуссию