Funcionalidad · Generación de maniquíes

API de generación de maniquíes con IA para tus propios modelos

En una frase

La API de generación de maniquíes de Photta crea un modelo fotorrealista con IA a partir de los atributos que elijas, devuelve un id de maniquí reutilizable y cuesta 4 credits. Dos generadores: uno para ropa y otro ajustado para primeros planos de joyería.

  • Tiempo típico: 30-60s
  • Credits: 4 credits
  • Procesamiento: asíncrono, polling
  • Límites: 600 requests/min
  • Autenticación: Bearer key

Cada cifra de esta página proviene de la documentación de la API de Photta · verificado

POST/api/v1/mannequins/generate
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')

De un vistazo

De un vistazo

Endpoint
POST /api/v1/mannequins/generate
Autenticación
Bearer API key
Procesamiento
Asíncrono — realiza polling al endpoint de estado
Tiempo típico
30-60s
Credits
4 credits
Límites de entrada
Hasta 10 MB por imagen; JPEG, PNG, WebP
Idempotente
No

Petición y respuesta

Petición

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')

202 Accepted / Completado

{
  "data": {
    "id": "mmk_r4s5t6",
    "status": "processing",
    "category": "Female",
    "credits_used": 4,
    "created_at": "2026-04-10T14:00:00Z"
  },
  "request_id": "req_mnk002"
}

Parámetros de la petición

category

Tipo: stringObligatorio

Mannequin category.

Valores: FemaleMaleGirlChildBoyChild
ethnicity

Tipo: string

Ethnic appearance.

Valores: east_asian_koreaneast_asian_chinesesoutheast_asiansouth_asiannordicwestern_europeaneastern_europeanmediterraneanafricanafrican_americanmiddle_easternlatin_americanbrazilianmixed_asian_europeanpolynesian
age

Tipo: string

Age range.

Valores: early_20slate_20searly_30slate_30s40s50sbaby_1toddler_2_4young_5_7child_8_10preteen_11_13
skin_tone

Tipo: string

Skin tone.

Valores: lightlight_mediummediummedium_darkdark
face_shape

Tipo: string

Face shape.

Valores: ovalsquareroundheartoblongdiamond
eye_color

Tipo: string

Eye color.

Valores: browndark_brownblackbluegreenhazelgrayamber
eye_shape

Tipo: string

Eye shape.

Valores: almondroundmonolidhoodedupturneddownturned
expression

Tipo: string

Facial expression.

Valores: neutralsoft_smilewarm_smileseriousconfidentfriendly
facial_hair

Tipo: string

Facial hair style (Male only).

Valores: nonelight_stubblemedium_stubbleshort_beardfull_beardgoateemustache
makeup

Tipo: string

Makeup style (Female only).

Valores: naturalminimalsoft_glamprofessionaleditorial
hair_style

Tipo: string

Hair style. Available options depend on category — use /options endpoint.

hair_color

Tipo: string

Hair color.

Valores: blackdark_brownmedium_brownlight_brownauburnredblondeplatinum_blondegraywhite
hair_texture

Tipo: string

Hair texture.

Valores: straightwavycurlycoily
body_type

Tipo: string

Body type. Options depend on category — use /options endpoint.

height

Tipo: string

Height.

Valores: shortaveragetall
glasses

Tipo: string

Glasses.

Valores: noneeyeglassessunglasses
freckles

Tipo: string

Freckles.

Valores: nonelightprominent
piercings

Tipo: string

Piercings.

Valores: noneearnosemultiple

Errores

400invalid_request_error
The request is malformed or contains invalid parameters.
401authentication_error
The API key is missing, invalid, or expired.
402insufficient_credits_error
Your account does not have enough credits.
404not_found_error
The requested resource does not exist.
409conflict_error
The request conflicts with current state — e.g. your concurrent-batch cap is reached.
429rate_limit_error
Too many requests. Slow down and retry.Retry-After: 30
500api_error
An internal server error occurred. Retry later.

Límites

  • 600 solicitudes por minuto por API key (Ventana fija; el límite es el mismo en todos los planes)
  • Un 429 incluye Retry-After: 30 segundos
  • Hasta 10 MB por imagen
  • Formatos: JPEG, PNG, WebP
  • Lotes simultáneos por plan: Free 1 · Hobby 2 · Seller 3 · Brand 4 · Studio 6
  • Solo polling — la API no envía webhooks.

Entrada de atributos, salida de un modelo reutilizable

Lee las opciones, elige los atributos, envía la solicitud, haz polling y luego reutiliza el id.

  1. Paso 1

    Genera una API key

    La generación de maniquíes utiliza las mismas credenciales y el mismo saldo de credits que cualquier otra funcionalidad de Photta.

  2. Paso 2

    Consulta el catálogo de opciones

    GET `/api/v1/mannequins/generate/options` devuelve todos los valores aceptados, incluidas las listas de `hair_style` y `body_type` que varían según la categoría. Construye tu formulario a partir de él en lugar de codificar los enums de forma fija.

  3. Paso 3

    Haz POST del maniquí

    POST `/api/v1/mannequins/generate` con `category` —`Female`, `Male`, `GirlChild` o `BoyChild`— más cualquiera de los 17 atributos opcionales: etnia, edad, tono de piel, forma de la cara y de los ojos, expresión, vello facial, maquillaje, cabello, tipo de cuerpo, altura, gafas, pecas y piercings.

  4. Paso 4

    Haz polling hasta que el trabajo se complete

    GET `/api/v1/mannequins/generate/:id` cada 3 segundos hasta que `data.status` sea `completed` o `failed`; la finalización típica tarda de 30 a 60 segundos.

  5. Paso 5

    Reutiliza el maniquí

    El cuerpo de la respuesta completada incluye un objeto `mannequin` con su propio id. Envía ese id como `mannequin_id` en trabajos posteriores de try-on o de gafas y cada toma mantendrá el mismo rostro.

Preguntas que los desarrolladores hacen antes de generar modelos

¿Qué es un maniquí con IA?

Un modelo generado cuya apariencia defines mediante parámetros en lugar de un casting. Se devuelve como un id, por lo que el mismo rostro, cabello y cuerpo pueden vestir cada prenda de un catálogo.

¿Cuánto cuesta un maniquí?

4 credits, tanto para el generador de ropa como para el de joyería. Reutilizar un maniquí existente en una sesión posterior no tiene coste adicional: pagas por el try-on, no por el modelo.

¿Qué atributos puedo configurar?

`category` es obligatorio. Todo lo demás es opcional: etnia, edad, tono de piel, forma de la cara, color y forma de los ojos, expresión, vello facial, maquillaje, estilo de peinado, color y textura, tipo de cuerpo, altura, gafas, pecas y piercings. El endpoint de opciones lista los valores aceptados.

¿Para qué sirve el generador de joyería?

POST `/api/v1/mannequins/jewelry/generate` crea un modelo optimizado para planos detalle de joyería: recibe `jewelry_type`, `shot_type`, `camera_angle`, `background` y `lighting` en lugar de los atributos de cuerpo entero, de modo que el escote, la oreja o la mano se aprecien correctamente en distancias cortas.

¿Puedo reutilizar el mismo modelo en distintas sesiones?

Sí, ese es el propósito del endpoint. El id del maniquí generado se acepta como `mannequin_id` en el try-on de ropa, el try-on de joyería y el estudio de gafas.

¿Cómo hago polling para obtener el resultado?

GET `/api/v1/mannequins/generate/:id` cada 3 segundos hasta que `data.status` sea `completed` o `failed`. El generador de joyería consulta su propia ruta de estado.

Funcionalidades relacionadas

Cada cifra de esta página proviene de la documentación de la API de Photta · verificado

Prueba la API en cinco minutos

Genera una API key de Photta, pega el snippet de cURL de arriba y tendrás tu primera imagen con modelo antes de que termine de prepararse el café.

  • 30-60s
  • 4 credits
  • asíncrono, polling
  • 600 requests/min
  • Bearer key