Возможность · Генерация манекенов
API генерации AI-манекенов для ваших собственных моделей
В двух словах
API генерации манекенов Photta создает фотореалистичную AI-модель по выбранным вами атрибутам, возвращает переиспользуемый id манекена и стоит 4 credits. Два конструктора: для одежды и оптимизированный для украшений крупным планом.
- Типичное время: 30-60s
- Кредиты: 4 credits
- Обработка: async, polling
- Лимиты: 600 запросов/мин
- Аутентификация: Ключ Bearer
Все показатели на этой странице взяты из документации API Photta · проверено
RESPONSE=$(curl -s -X POST https://api.photta.app/api/v1/mannequins/generate \
-H "Authorization: Bearer $PHOTTA_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"category": "Female",
"ethnicity": "east_asian_korean",
"age": "late_20s",
"skin_tone": "light_medium",
"expression": "neutral",
"hair_style": "long_straight",
"hair_color": "black",
"body_type": "slim",
"height": "average"
}')
ID=$(echo "$RESPONSE" | jq -r '.data.id')const res = await fetch("https://api.photta.app/api/v1/mannequins/generate", {
method: "POST",
headers: { Authorization: `Bearer ${process.env.PHOTTA_API_KEY}`, "Content-Type": "application/json" },
body: JSON.stringify({
"category": "Female",
"ethnicity": "east_asian_korean",
"age": "late_20s",
"skin_tone": "light_medium",
"expression": "neutral",
"hair_style": "long_straight",
"hair_color": "black",
"body_type": "slim",
"height": "average"
}),
});
const { data } = await res.json(); // data.id, data.statusimport os, requests
res = requests.post(
"https://api.photta.app/api/v1/mannequins/generate",
headers={"Authorization": f"Bearer {os.environ['PHOTTA_API_KEY']}"},
json={
"category": "Female",
"ethnicity": "east_asian_korean",
"age": "late_20s",
"skin_tone": "light_medium",
"expression": "neutral",
"hair_style": "long_straight",
"hair_color": "black",
"body_type": "slim",
"height": "average"
},
)
data = res.json()["data"] # data["id"], data["status"]Коротко о главном
Коротко о главном
- Эндпоинт
- POST /api/v1/mannequins/generate
- Аутентификация
- API-ключ Bearer
- Обработка
- Асинхронно — опрашивайте эндпоинт статуса
- Типичное время
- 30-60s
- Кредиты
- 4 credits
- Ограничения на входные данные
- До 10 МБ на изображение; JPEG, PNG, WebP
- Идемпотентность
- Нет
Запрос и ответ
Запрос
RESPONSE=$(curl -s -X POST https://api.photta.app/api/v1/mannequins/generate \
-H "Authorization: Bearer $PHOTTA_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"category": "Female",
"ethnicity": "east_asian_korean",
"age": "late_20s",
"skin_tone": "light_medium",
"expression": "neutral",
"hair_style": "long_straight",
"hair_color": "black",
"body_type": "slim",
"height": "average"
}')
ID=$(echo "$RESPONSE" | jq -r '.data.id')const res = await fetch("https://api.photta.app/api/v1/mannequins/generate", {
method: "POST",
headers: { Authorization: `Bearer ${process.env.PHOTTA_API_KEY}`, "Content-Type": "application/json" },
body: JSON.stringify({
"category": "Female",
"ethnicity": "east_asian_korean",
"age": "late_20s",
"skin_tone": "light_medium",
"expression": "neutral",
"hair_style": "long_straight",
"hair_color": "black",
"body_type": "slim",
"height": "average"
}),
});
const { data } = await res.json(); // data.id, data.statusimport os, requests
res = requests.post(
"https://api.photta.app/api/v1/mannequins/generate",
headers={"Authorization": f"Bearer {os.environ['PHOTTA_API_KEY']}"},
json={
"category": "Female",
"ethnicity": "east_asian_korean",
"age": "late_20s",
"skin_tone": "light_medium",
"expression": "neutral",
"hair_style": "long_straight",
"hair_color": "black",
"body_type": "slim",
"height": "average"
},
)
data = res.json()["data"] # data["id"], data["status"]202 Accepted / Завершено
{
"data": {
"id": "mmk_r4s5t6",
"status": "processing",
"category": "Female",
"credits_used": 4,
"created_at": "2026-04-10T14:00:00Z"
},
"request_id": "req_mnk002"
}{
"data": {
"id": "mmk_r4s5t6",
"status": "completed",
"mannequin": {
"id": "mnk_v7w8x9",
"name": "Generated Mannequin",
"gender": "female",
"thumbnail_url": "https://cdn.photta.app/mannequins/mnk_v7w8x9-thumb.jpg"
},
"credits_used": 4,
"created_at": "2026-04-10T14:00:00Z",
"completed_at": "2026-04-10T14:00:42Z",
"duration_ms": 42000
},
"request_id": "req_mnk003"
}Параметры запроса
categoryТип: stringОбязательное
Mannequin category.
Значения:FemaleMaleGirlChildBoyChildethnicityТип: string
Ethnic appearance.
Значения:east_asian_koreaneast_asian_chinesesoutheast_asiansouth_asiannordicwestern_europeaneastern_europeanmediterraneanafricanafrican_americanmiddle_easternlatin_americanbrazilianmixed_asian_europeanpolynesianageТип: string
Age range.
Значения:early_20slate_20searly_30slate_30s40s50sbaby_1toddler_2_4young_5_7child_8_10preteen_11_13skin_toneТип: string
Skin tone.
Значения:lightlight_mediummediummedium_darkdarkface_shapeТип: string
Face shape.
Значения:ovalsquareroundheartoblongdiamondeye_colorТип: string
Eye color.
Значения:browndark_brownblackbluegreenhazelgrayambereye_shapeТип: string
Eye shape.
Значения:almondroundmonolidhoodedupturneddownturnedexpressionТип: string
Facial expression.
Значения:neutralsoft_smilewarm_smileseriousconfidentfriendlyfacial_hairТип: string
Facial hair style (Male only).
Значения:nonelight_stubblemedium_stubbleshort_beardfull_beardgoateemustachemakeupТип: string
Makeup style (Female only).
Значения:naturalminimalsoft_glamprofessionaleditorialhair_styleТип: string
Hair style. Available options depend on category — use /options endpoint.
hair_colorТип: string
Hair color.
Значения:blackdark_brownmedium_brownlight_brownauburnredblondeplatinum_blondegraywhitehair_textureТип: string
Hair texture.
Значения:straightwavycurlycoilybody_typeТип: string
Body type. Options depend on category — use /options endpoint.
heightТип: string
Height.
Значения:shortaveragetallglassesТип: string
Glasses.
Значения:noneeyeglassessunglassesfrecklesТип: string
Freckles.
Значения:nonelightprominentpiercingsТип: string
Piercings.
Значения:noneearnosemultiple
Ошибки
- 400
invalid_request_error - The request is malformed or contains invalid parameters.
- 401
authentication_error - The API key is missing, invalid, or expired.
- 402
insufficient_credits_error - Your account does not have enough credits.
- 404
not_found_error - The requested resource does not exist.
- 409
conflict_error - The request conflicts with current state — e.g. your concurrent-batch cap is reached.
- 429
rate_limit_error - Too many requests. Slow down and retry.Retry-After: 30
- 500
api_error - An internal server error occurred. Retry later.
Лимиты
- 600 запросов в минуту на один API-ключ (Фиксированное окно; лимит одинаков для всех планов)
- Ответ 429 содержит заголовок Retry-After: 30 секунд
- До 10 МБ на изображение
- Форматы: JPEG, PNG, WebP
- Параллельных пакетов на план: Free 1 · Hobby 2 · Seller 3 · Brand 4 · Studio 6
- Только polling — API не отправляет вебхуки.
Атрибуты на входе, готовая к переиспользованию модель на выходе
Прочитайте options, выберите атрибуты, отправьте запрос, выполните polling и используйте id повторно.
Шаг 1
Сгенерируйте API-ключ
Генерация манекенов использует те же учетные данные и тот же баланс credits, что и любая другая возможность Photta.
Шаг 2
Изучите каталог options
GET `/api/v1/mannequins/generate/options` возвращает все допустимые значения, включая списки `hair_style` и `body_type`, различающиеся в зависимости от категории. Формируйте форму на его основе, а не хардкодьте enum-значения.
Шаг 3
Отправьте POST-запрос на создание манекена
Вызовите POST `/api/v1/mannequins/generate` с параметром `category` — `Female`, `Male`, `GirlChild` или `BoyChild` — и любыми из 17 опциональных атрибутов: этническая принадлежность, возраст, тон кожи, форма лица и глаз, мимика, растительность на лице, макияж, волосы, тип телосложения, рост, очки, веснушки и пирсинг.
Шаг 4
Выполняйте polling до завершения задачи
Вызывайте GET `/api/v1/mannequins/generate/:id` каждые 3 секунды, пока `data.status` не примет значение `completed` или `failed`; обычно выполнение занимает от 30 до 60 секунд.
Шаг 5
Повторно используйте манекен
В теле ответа с завершенным статусом содержится объект `mannequin` с собственным id. Передавайте этот id как `mannequin_id` в последующих задачах try-on или примерки очков, и на каждом кадре будет сохраняться одно и то же лицо.
Один и тот же эндпоинт на Node.js, Python и cURL
Node.js
API генерации AI-манекенов на Node.js
Вызывайте aPI генерации AI-манекенов от Photta из бэкенда на Node.js с помощью нативного fetch. SDK не требуется: сохраните ключ, отправьте задачу, получите результат через polling.
ЧитатьPython
API генерации AI-манекенов на Python
Вызывайте Photta aPI генерации AI-манекенов на Python с помощью библиотеки requests. Обертка на тридцать строк, поддержка асинхронности через httpx, работает в Django, FastAPI и Celery.
ЧитатьcURL
API генерации AI-манекенов с помощью cURL
Вызывайте aPI генерации AI-манекенов от Photta напрямую из терминала с помощью cURL. Отправка, поллинг, загрузка — каждый фрагмент готов к использованию с jq для построения скриптовых пайплайнов.
Читать
Вопросы разработчиков перед генерацией моделей
Что такое AI-манекен?
Сгенерированная модель, внешность которой вы задаете параметрами, а не кастингом. Она возвращается в виде id, поэтому одно и то же лицо, прическа и тело могут демонстрировать любую вещь из каталога.
Сколько стоит манекен?
4 credits, как для конструктора одежды, так и для конструктора украшений. Повторное использование существующего манекена в последующей съемке не требует доплаты — вы платите за try-on, а не за модель.
Какие атрибуты можно настроить?
Параметр `category` обязателен. Все остальное опционально: этническая принадлежность, возраст, тон кожи, форма лица, цвет и форма глаз, мимика, растительность на лице, макияж, прическа, цвет и текстура волос, тип телосложения, рост, очки, веснушки и пирсинг. Допустимые значения перечислены в эндпоинте options.
Для чего нужен конструктор украшений?
POST `/api/v1/mannequins/jewelry/generate` создает модель, оптимизированную для съемки украшений крупным планом: вместо атрибутов всего тела он принимает `jewelry_type`, `shot_type`, `camera_angle`, `background` и `lighting`, чтобы зона декольте, ухо или кисть руки выглядели корректно на макропланах.
Можно ли использовать одну и ту же модель в разных съемках?
Да — в этом и заключается суть эндпоинта. Сгенерированный id манекена принимается в качестве `mannequin_id` при try-on одежды, try-on украшений и в студии примерки очков.
Как опрашивать результат через polling?
Выполняйте GET `/api/v1/mannequins/generate/:id` каждые 3 секунды, пока `data.status` не примет значение `completed` или `failed`. Конструктор ювелирных изделий опрашивает собственный эндпоинт статуса.
Связанные возможности
Возможности
API виртуального try-on для одежды
REST API, примеряющий одежду на AI-манекены. Асинхронно, генерация за 1.5–4 минуты, 5 credits для 2K, 6 для 4K. Примеры для cURL, Node.js и Python.
Посмотреть endpointВозможности
API примерки ювелирных изделий для колье, колец, браслетов и серег
Примерка ожерелий, колец, браслетов и серёг на AI-моделях через REST. 5 credits в 2K, встроенные манекены крупным планом, рендеринг с учётом отражений из документации Photta.
Посмотреть endpointРазработка
Внедрите виртуальную примерку (virtual try-on) в свое приложение
Полное пошаговое руководство по запуску виртуальной примерки с помощью Photta API: загрузка, отправка задачи, polling из воркера и отображение результата. Паттерны для TypeScript и бэкенда.
Посмотреть endpointСравнение
Photta против Fitroom — выберите подходящий fashion AI API
Сравнение Photta и Fitroom по доступным endpoints, стоимости вызова в credits, модели тарификации и возможностям интеграции. Данные собраны с сайтов 2026-04-19. Без выдуманных цифр.
Посмотреть endpointБыстрый старт
Первое изображение в Photta менее чем за 5 минут.
Зарегистрируйтесь, сгенерируйте API-ключ, выполните первый вызов cURL, опрашивайте статус до завершения, сохраните результат. 5 шагов с полным описанием.
Посмотреть endpointСправочник
Ошибки Photta API
Полный список типов ошибок Photta API с их статус-кодами, формат тела ошибки и сбои, которые имеет смысл повторять.
Посмотреть endpointСправочник
Rate limits в Photta API
Rate limit Photta API, его окно, заголовок Retry-After, интервал polling и ограничения параллелизма по планам — прямо из документации API.
Посмотреть endpoint
Все показатели на этой странице взяты из документации API Photta · проверено
Протестируйте API за пять минут
Сгенерируйте API-ключ Photta, вставьте пример cURL выше, и вы получите первое изображение на модели быстрее, чем сварится кофе.
- 30-60s
- 4 credits
- async, polling
- 600 запросов/мин
- Ключ Bearer