Разбор API Yes Ai для нейросети по переодеванию одежды ACC
В сервисе Yes Ai отктрыт API к нейросети ACC, которая занимается переодеванием одежды прямо на фотографиях. ACC (Artificial Intelligence Change Clothes) отлично распознаёт, что именно надето на человеке, и без труда меняет его гардероб в нужный образ. Всё, что требуется для работы: загрузить фото человека, на котором видно его одежду, и второе изображение с желаемым луком. Нейросеть сама подберёт и наложит новый наряд, сделав замену максимально реалистичной.
Я рекомендую попробовать эту функцию через Telegram-бота @yes_ai_bot перед использованием API на практике. Это отличный способ быстро оценить возможности инструмента без лишних сложностей и настроек.
Для кого полезен сервис переодевания одежды на фото:
- Стилисты смогут виртуально примерять разные образы без живых фотосессий.
- Владельцы магазинов и продавцы вещей на маркетплейсах вроде OZON, Wildberries легко покажут покупателям, как будет выглядеть вещь на человеке.
- Менеджеры по созданию товарных карточек получат качественные изображения без затрат на студийную съемку.
- Любой человек захочет опробовать онлайн-примерочную из дома — это даже интересно!
Чтобы начать работать с Yes Ai API, потребуется авторизационный токен — процесс его получения расписан по шагам в инструкции.
Актуальные тарифы всегда можно узнать, отправив команду /prices в бот @yes_ai_bot (см. раздел «Замена одежды ACC»).
Как отправить задачу на переодевание одежды через API
POST https://api.yesai.su/v2/stablediffusion/changeclothes
headers: { Content-Type: application/json, Authorization: Bearer }
Вот пример запроса:
Параметры задачи:
type = 55 (обязательный параметр: 55 — замена верхней одежды, 56 — замена нижней, 57 — полная замена)
photo_url = '' (обязательно вставьте ссылку на фото персонажа)
image_url = '' (обязательно укажите ссылку на изображение новой одежды)
Пример удачного ответа от сервиса после отправки задания:
['success' => true, 'message' => 'OK', 'results' => ['generation_data' => [ ... ]]], 200
Разберём, как устроен этот отклик эндпойнта, если вы отправляете задачу на смену одежды:
Варианты кодов статусов задачи:
- status: 0 (status_description: "in queue") — Задание стоит в очереди. Ждём своей очереди.
- status: 1 (status_description: "in progress") — Сейчас задание обрабатывается. Терпения, процесс идёт.
- status: 2 (status_description: "completed") — Работа успешно завершена. Можно переходить к анализу результата. Дочерние задачи появятся по мере готовности, обычно с интервалом от 10 до 30 секунд.
- status: 3 (status_description: "rejected with error") — Ошибка, выполнение остановлено. Причину ищем в полях comment_ru и comment_en.
- status: 4 (status_description: "rejected due to timeout") — Таймаут, задание не выполнено из-за превышения времени ожидания. Пробуем отправить заново.
Ниже дан перечень возможных ошибок системы:
['success' => false, 'message' => 'TYPE_IS_EMPTY'], 400
['success' => false, 'message' => 'TYPE_NOT_VALID'], 400
['success' => false, 'message' => 'PHOTO_URL_IS_EMPTY'], 400
['success' => false, 'message' => 'PHOTO_URL_NOT_VALID'], 400
['success' => false, 'message' => 'IMAGE_URL_IS_EMPTY'], 400
['success' => false, 'message' => 'IMAGE_URL_NOT_VALID'], 400
['success' => false, 'message' => 'PHOTO_FILE_SIZE_NOT_VALID'], 400
['success' => false, 'message' => 'IMAGE_FILE_SIZE_NOT_VALID'], 400
['success' => false, 'message' => 'PHOTO_MIME_TYPE_NOT_VALID'], 400
['success' => false, 'message' => 'IMAGE_MIME_TYPE_NOT_VALID'], 400
['success' => false, 'message' => 'UNAUTHORIZED'], 401
['success' => false, 'message' => 'PHOTO_NOT_FOUND'], 404
['success' => false, 'message' => 'IMAGE_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' => 'TASK_LIMIT_EXCEEDED'], 409
['success' => false, 'message' => 'TOO_MANY_REQUESTS'], 429
['success' => false, 'message' => 'INTERNAL_SERVER_ERROR'], 500
Как получить результаты замены одежды на человеке в нейросети ACC
Когда вы запускаете процесс смены одежды в ACC, нейросеть автоматически создает три разных изображения с различными вариантами одежды на одном человеке. После отправки задания система присваивает ему уникальный идентификатор. Благодаря этому ID можно отслеживать статус работы и скачивать итоговые картинки.
Каждое дочернее изображение появляется через 10–20 секунд после предыдущего. Поэтому советую именно с такой периодичностью проверять эндпойнт, чтобы не пропустить новые результаты.
GET https://api.yesai.su/v2/stablediffusion/generations/{id}/batch
headers: { Content-Type: application/json, Authorization: Bearer }
Вот пример запроса, который покажет список всех сгенерированных изображений по родительскому ID:
Параметры:
{id} = 12345 (обязательно, id родительского задания)
Ниже дан перечень возможных ошибок системы:
['success' => false, 'message' => 'ID_IS_EMPTY'], 400
['success' => false, 'message' => 'ID_NOT_VALID'], 400
['success' => false, 'message' => 'UNAUTHORIZED'], 401
['success' => false, 'message' => 'ID_NOT_FOUND'], 404
['success' => false, 'message' => 'USER_HAS_BEEN_BANNED'], 409
['success' => false, 'message' => 'USER_HAS_BEEN_DELETED'], 409
['success' => false, 'message' => 'TOO_MANY_REQUESTS'], 429
['success' => false, 'message' => 'INTERNAL_SERVER_ERROR'], 500
Пример удачного ответа при получении данных о задании:
['success' => true, 'message' => 'OK', 'results' => ['generations_data' => [ ... ]]], 200
Анализ примера ответа эндпойнта с результатами генерации в JSON
Код разбили на 2 блока, т.к. данная площадка не позволяет уместить все в один блок
Результаты задачи доступны для скачивания в течение часа после её окончания. Не откладывайте — загружайте созданные изображения на свой сервер сразу же.
Если во время работы с API Yes Ai появятся вопросы, напишите в нашу техподдержку в Telegram: @yes_ai_support Мы всегда на связи.
Оригинальная документация находиться на сайте yesai.su