Одежда · Возможность
Virtual Try-On API — Photta
Один REST-вызов превращает flat-lay фото одежды в качественный снимок на модели. Асинхронно, 1.5–4 минуты на генерацию, 5 кредитов за 2K или 6 кредитов за 4K.
Суть
API виртуальной примерки Photta принимает flat-lay фото изделия и ID манекена, возвращая фото на модели в 2K или 4K. Аутентификация через `Authorization: Bearer photta_live_xxx`, POST-запрос на `/api/v1/tryon/apparel`, опрос эндпоинта по ID генерации каждые 3–5 секунд и скачивание результата при статусе `completed`.
curl -X POST https://api.photta.app/api/v1/tryon/apparel \
-H "Authorization: Bearer $PHOTTA_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"product_type": "one_piece",
"product_images": ["https://example.com/dress.jpg"],
"mannequin_id": "mnk_f3a9b1",
"background_color": "#F5F0E8",
"resolution": "2K",
"aspect_ratio": "3:4"
}'Чего ожидать
Typical completion
1.5–4min
2K / 4K credits
5 / 6
Aspect ratios
10
Product types
4
Код от и до
Выберите язык
Один эндпоинт, три рабочих примера. Каждый фрагмент кода соответствует официальной документации Photta.
Как это работает
Четыре вызова API, одно фото товара
Выберите манекен, отправьте задачу, опрашивайте до готовности, скачайте результат.
- 01
Шаг 1
Создайте API-ключ
Зарегистрируйтесь на ai.photta.app, откройте вкладку Developers, нажмите Generate API key. Live-ключи начинаются с `photta_live_`. Сохраните ключ в `PHOTTA_API_KEY` — не фиксируйте его в коде.
- 02
Шаг 2
Выберите манекен
Используйте GET `/api/v1/mannequins` для списка доступных опций. Выбирайте ID под ваш бренд — доступны фильтры по телосложению, мимике и этнической принадлежности.
- 03
Шаг 3
Отправьте задачу на примерку
Отправьте POST на `/api/v1/tryon/apparel` с параметрами `product_type`, `product_images`, `mannequin_id`, `resolution`, `aspect_ratio`. API вернет 202 Accepted с ID генерации.
- 04
Шаг 4
Опрашивайте до завершения задачи
Делайте GET `/api/v1/tryon/apparel/:id` каждые 3 секунды. Когда `data.status` станет `completed`, ответ будет содержать `output_url` и `thumbnail_url`. Установите лимит попыток, чтобы зависшая задача не блокировала ваш запрос.
- 05
Шаг 5
Скачайте и сохраните
Загрузите данные по `output_url` и сохраните в своем хранилище объектов. URL в CDN стабилен, но ваш продукт не должен зависеть от него при рендеринге.
Вопросы других разработчиков
Вопросы разработчиков перед запуском примерки одежды
Что такое Virtual Try-On API от Photta?+
REST-эндпоинт, который принимает flat-lay фото товара и ID манекена и возвращает фотореалистичное изображение на модели. Тот же пайплайн, что и в приложении Photta. Поддерживается четыре типа товаров: верх, низ, верх+низ, слитное изделие.
Сколько стоит один вызов?+
5 кредитов за результат 2K, 6 кредитов за 4K. Кредиты включены в подписку, их можно докупать. Неудачные генерации не тратят кредиты — они возвращаются на баланс.
Сколько времени занимает генерация?+
Обычно от 1.5 до 4 минут от начала до конца. POST-запрос возвращает ID генерации менее чем за секунду; работа GPU идет в фоне, пока вы опрашиваете статус.
Какие типы товаров поддерживаются?+
Четыре типа: `top`, `bottom`, `top_and_bottom`, `one_piece`. Для каждого нужен свой формат `product_images` — например, для `top_and_bottom` требуются URL-адреса и для `top_image`, и для `bottom_image`.
Можно ли использовать своего манекена?+
Да. Загрузите фото манекена через `/api/v1/mannequins/upload` или создайте нового ИИ-манекена через `/api/v1/mannequins/generate-model`. Полученный ID можно сразу использовать в запросе на примерку.
Как опрашивать результат?+
Выполняйте GET `/api/v1/tryon/apparel/:id` каждые 3–5 секунд, пока `data.status` не станет `completed` или `failed`. Ограничьте количество попыток — 120 итераций по 3 секунды с запасом перекрывают штатное время работы.
Одежда · Возможность
Создайте аккаунт и получите API-ключ
API виртуальной примерки Photta принимает flat-lay фото изделия и ID манекена, возвращая фото на модели в 2K или 4K. Аутентификация через `Authorization: Bearer photta_live_xxx`, POST-запрос на `/api/v1/tryon/apparel`, опрос эндпоинта по ID генерации каждые 3–5 секунд и скачивание результата при статусе `completed`.