Documentacion de la API

Integra capacidades de desnudo, cambio de rostro y animacion en tu aplicacion.

Claves de API

Inicia sesion para crear y gestionar tus claves de API.

Iniciar sesion

Autorizacion

Incluye tu clave de API en el encabezado Authorization de cada solicitud.

Authorization: Bearer <your_api_key>

API de Undress

La API de Undress genera una imagen desnuda — o un video animado — a partir de una foto de origen. Cada solicitud requiere el encabezado Authorization: Bearer <your_api_key> y un cuerpo JSON.

Cuatro estilos, agrupados aqui como subsecciones:

Estilo Salida Creditos Endpoint
Standard Imagen estatica 1 POST /api/v1/undress
Premium v2 Imagen estatica 3 POST /api/v1/undress
Premium v3 Imagen estatica de mayor calidad 5 POST /api/v3/undress
Video mp4 animado 7 inicial · 5 continuar POST /api/v1/undress

standard, premium_v2 y video comparten POST /api/v1/undress — elige mediante el campo style y luego consulta GET /api/v1/undress/:id. source_image siempre es una imagen codificada en base64 en formato jpeg, png o webp, de hasta 12 MB. premium_v2 es el unico estilo donde mask/automask afectan realmente al comportamiento; para los demas estilos v1 el servidor siempre genera la mascara automaticamente.

Premium v3 vive en su propio endpoint (POST /api/v3/undress) y siempre se dirige a una persona explicitamente seleccionada, por lo que requiere una llamada previa a la API de Analisis de Personas para elegir a la persona. Consulta Premium v3 mas abajo.

Standard

El estilo mas barato — 1 credito, una sola imagen estatica, mascara generada por el servidor, sin opciones de personalizacion.

Crear Undress

POST /api/v1/undress

Parametro Tipo Requerido Descripcion
source_image string (base64) si Codificado en base64, jpeg/png/webp, hasta 12 MB.
style string si Debe ser "standard".
curl -X POST https://deepstrip.com/api/v1/undress \
  -H "Authorization: Bearer <your_api_key>" \
  -H "Content-Type: application/json" \
  -d '{"source_image": "<base64_encoded_image>", "style": "standard"}'

Respuestas:

201 {"id": "69d280ab-42c5-4f49-9881-51076afb1747"}

400 {"error": "no_credits"} — la cuenta no tiene creditos.

400 {"error": "invalid_params", "errors": ["Image is invalid"]} — fallo de validacion; errors lista los motivos.

400 {"error": "internal_server_error"} — la solicitud fue rechazada como anomala.

Obtener Resultado de Undress

GET /api/v1/undress/:id

Consulta hasta que status sea completed o failed. result es la URL de la imagen.

curl https://deepstrip.com/api/v1/undress/<identifier> \
  -H "Authorization: Bearer <your_api_key>"

200 {"status": "pending"}

200 {"status": "completed", "result": "<result url>", "image": "<result url>"}image es un alias obsoleto de result, conservado por retrocompatibilidad.

200 {"status": "failed", "details": "analysis_failed"} — la entrada fue rechazada (p. ej. no se detecto persona, sujeto menor de edad). No reintentar con la misma entrada.

200 {"status": "failed", "details": "system_error"} — la generacion misma fallo. Se puede reintentar.

404 {"error": "NOT_FOUND"}

Premium v2

3 creditos, una sola imagen estatica. Mascara opcional proporcionada por el usuario o generada por el servidor, ademas de opciones de forma corporal / pechos / vello.

Crear Undress

POST /api/v1/undress

Parametro Tipo Requerido Descripcion
source_image string (base64) si Codificado en base64, jpeg/png/webp, hasta 12 MB.
style string si Debe ser "premium_v2".
mask string (base64) cuando automask no es true png codificado en base64, hasta 1 MB. Blanco = region a desvestir, negro = conservar.
automask boolean opcional true indica al servidor que genere la mascara por ti.
body_shape string opcional fat, skinny, athletic o old. Omitir para normal.
boobs string opcional small o large. Omitir para normal.
hair string opcional hairy o shaved. Omitir para normal.

Con mascara automatica y personalizacion corporal:

curl -X POST https://deepstrip.com/api/v1/undress \
  -H "Authorization: Bearer <your_api_key>" \
  -H "Content-Type: application/json" \
  -d '{"source_image": "<base64_encoded_image>", "style": "premium_v2", "automask": true, "body_shape": "athletic", "boobs": "large", "hair": "shaved"}'

Con una mascara proporcionada por el usuario:

curl -X POST https://deepstrip.com/api/v1/undress \
  -H "Authorization: Bearer <your_api_key>" \
  -H "Content-Type: application/json" \
  -d '{"source_image": "<base64_encoded_image>", "mask": "<base64_encoded_mask_png>", "style": "premium_v2"}'

Respuestas:

201 {"id": "69d280ab-42c5-4f49-9881-51076afb1747"}

400 {"error": "no_credits"}

400 {"error": "invalid_params", "errors": ["Image is invalid"]}

400 {"error": "internal_server_error"} — la solicitud fue rechazada como anomala.

Obtener Resultado de Undress

GET /api/v1/undress/:id — misma estructura de respuesta que Standard.

Premium v3

Imagen estatica de mayor calidad — 5 creditos. A diferencia de los demas estilos, Premium v3 vive en un endpoint separado (POST /api/v3/undress) y requiere un paso previo de deteccion de personas.

Requisito previo: llama primero a la API de Analisis de Personas para obtener un person_id. Premium v3 siempre se dirige a una persona explicitamente seleccionada — no puedes enviar una foto sin elegir primero a quien desvestir.

Flujo completo:

  1. POST /api/v1/persons/analyze con {image_url} → recibes un id de analisis.
  2. Consulta GET /api/v1/persons/analyze/:id hasta completed → recibes la lista de personas con sus ids.
  3. POST /api/v3/undress con la misma image_url y el person_id elegido → recibes un id de undress.
  4. Consulta GET /api/v3/undress/:id hasta completed o failed.

Sin opciones mask / automask / rasgos corporales — todo se deriva de la persona seleccionada.

Crear Undress

POST /api/v3/undress

Parametro Tipo Requerido Descripcion
image_url string si URL HTTPS de una imagen jpeg, png o webp, hasta 12 MB. Debe ser identica byte a byte a la URL usada en el analisis de personas.
person_id string si id de la persona a desvestir, tomado del array persons[] de un analisis completed perteneciente a la misma clave de API.
person_gender string opcional Sobrescribe el genero detectado para esta persona. Acepta "male" o "female" (sin distinguir mayusculas). Usalo cuando el detector clasifica mal y quieres forzar el flujo opuesto.
body_shape string opcional, solo mujeres Fuerza la silueta corporal. Uno de "as_in_photo" (la IA conserva la forma original, valor por defecto), "fat", "skinny", "athletic".
boobs string opcional, solo mujeres Fuerza el tamaño del pecho. Uno de "as_in_photo" (decide la IA, valor por defecto), "small", "large", "huge".
curl -X POST https://deepstrip.com/api/v3/undress \
  -H "Authorization: Bearer <your_api_key>" \
  -H "Content-Type: application/json" \
  -d '{"image_url": "https://example.com/photo.jpg", "person_id": "6f2a13e4-5b52-4c39-9a7d-29e80a9c1a62"}'

Respuestas:

201 {"id": "69d280ab-42c5-4f49-9881-51076afb1747"}

400 {"error": "invalid_params", "errors": ["image_url is required"]} — falta image_url / person_id, person_gender invalido, o el registro fallo la validacion a nivel de modelo.

400 {"error": "invalid_person_id"}person_id desconocido, expirado (> 3 horas), pertenece a otra clave de API, o el image_url enviado no coincide con el analizado para esa persona.

400 {"error": "image_fetch_failed"} — el servidor no pudo descargar la imagen en image_url (no HTTPS, sin 2xx, content-type no permitido, > 12 MB, timeout o demasiadas redirecciones).

400 {"error": "under_age"} — la edad estimada de la persona elegida es menor de 18. No repitas con esta persona.

400 {"error": "no_credits"} — la cuenta se quedo sin creditos.

Regenerar (gratis, una vez por undress)

POST /api/v3/undress/:id/regenerate

Cuando una generacion no satisface, puedes volver a ejecutarla gratis con otra semilla aleatoria. Misma imagen de origen, misma persona, sin consumir creditos. Se permite exactamente una regeneracion gratuita por undress padre, y solo dentro de las 24 horas siguientes a su creacion. El person_gender sobrescrito del padre (si lo hay) se hereda.

curl -X POST https://deepstrip.com/api/v3/undress/<parent_id>/regenerate \
  -H "Authorization: Bearer <your_api_key>"

Respuestas:

201 {"id": "<new_undress_id>"} — consulta GET /api/v3/undress/:id con el nuevo id.

400 {"error": "already_regenerated"} — la regeneracion gratuita ya se uso para este padre.

400 {"error": "parent_expired"} — el undress padre tiene mas de 24 horas.

400 {"error": "parent_not_completed"} — el undress padre aun no ha terminado; espera a completed antes de regenerar.

400 {"error": "not_v3"} — solo los undresses premium v3 pueden regenerarse con este endpoint.

404 {"error": "NOT_FOUND"} — id padre desconocido o creado con otra clave de API.

Obtener Resultado de Undress

GET /api/v3/undress/:id

Misma estructura de respuesta que GET /api/v1/undress/:id.

curl https://deepstrip.com/api/v3/undress/<id> \
  -H "Authorization: Bearer <your_api_key>"

200 {"status": "pending"}

200 {"status": "completed", "result": "<result url>", "image": "<result url>"}image es un alias obsoleto de result.

200 {"status": "failed", "details": "analysis_failed"} — entrada rechazada. No repitas con la misma entrada.

200 {"status": "failed", "details": "system_error"} — la generacion en si fallo. Es seguro reintentar.

404 {"error": "NOT_FOUND"}

Video

Salida mp4 animada — 7 creditos para el video inicial, 5 creditos para continuar con la siguiente capa de ropa. Siempre con mascara automatica, sin opciones de personalizacion.

Crear Undress

POST /api/v1/undress

Parametro Tipo Requerido Descripcion
source_image string (base64) si — salvo cuando se usa parent Codificado en base64, jpeg/png/webp, hasta 12 MB.
style string si — salvo cuando se usa parent Debe ser "video".
parent string (uuid) opcional Id de un undress video anterior para continuar con la siguiente capa de ropa. El estilo y la imagen de origen se heredan; el parent debe tener menos de 24 horas. Cuesta 5 creditos.

Undress animado inicial — 7 creditos:

curl -X POST https://deepstrip.com/api/v1/undress \
  -H "Authorization: Bearer <your_api_key>" \
  -H "Content-Type: application/json" \
  -d '{"source_image": "<base64_encoded_image>", "style": "video"}'

Continuar un video anterior — 5 creditos (el estilo y la imagen de origen se heredan del parent):

curl -X POST https://deepstrip.com/api/v1/undress \
  -H "Authorization: Bearer <your_api_key>" \
  -H "Content-Type: application/json" \
  -d '{"parent": "<id-of-previous-video-undress>"}'

Respuestas:

201 {"id": "69d280ab-42c5-4f49-9881-51076afb1747"}

400 {"error": "no_credits"}

400 {"error": "invalid_params", "errors": ["Image is invalid"]}

400 {"error": "parent_expired"} — el undress parent tiene mas de 24 horas.

400 {"error": "too_many_retries"} — no quedan regeneraciones gratuitas para este parent.

400 {"error": "internal_server_error"} — la solicitud fue rechazada como anomala.

Obtener Resultado de Undress

GET /api/v1/undress/:id — misma estructura de respuesta que Standard; result es una URL mp4 en lugar de una URL de imagen.

Face Swap sobre Resultado de Video

Aplica solo a undresses video completados. Ejecuta un face swap gratuito sobre el resultado animado para mejorar la consistencia del rostro; normalmente tarda 60-120 segundos.

POST /api/v1/undress_face_swap_videos

curl -X POST https://deepstrip.com/api/v1/undress_face_swap_videos \
  -H "Authorization: Bearer <your_api_key>" \
  -H "Content-Type: application/json" \
  -d '{"undress_id": "<id-of-the-video-undress>"}'

201

{
  "id": "69d280ab-42c5-4f49-9881-51076afb1747",
  "face_swap_video_id": "35b4a4a8-e5e6-4613-b1a3-d538b8698d06",
  "undress_id": "69968efe-556d-4805-87bd-1556a49f4e37",
  "undress_result_id": null
}

404 {"error": "NOT_FOUND"} — undress no encontrado, no pertenece al llamador o no es de estilo video.

GET /api/v1/undress_face_swap_videos/:id

curl https://deepstrip.com/api/v1/undress_face_swap_videos/<identifier> \
  -H "Authorization: Bearer <your_api_key>"

200 Durante el procesamiento, undress_result_id es null. Al completarse, undress_result_id apunta a un nuevo undress — obten su video con GET /api/v1/undress/:id:

{
  "id": "69d280ab-42c5-4f49-9881-51076afb1747",
  "face_swap_video_id": "35b4a4a8-e5e6-4613-b1a3-d538b8698d06",
  "undress_id": "69968efe-556d-4805-87bd-1556a49f4e37",
  "undress_result_id": "616c2b43-c432-416d-8ecb-470a670fbdee"
}

404 {"error": "NOT_FOUND"}

API de Analisis de Personas

Detecta personas en una imagen para que puedas desvestir a una persona concreta con Premium v3. Los analisis se crean de forma asincrona y se mantienen en cache durante 3 horas. El endpoint esta limitado a 15 solicitudes por minuto por clave de API.

No subes los bytes de la imagen — pasa una URL HTTPS; el servicio detector la descarga por ti.

Crear analisis

POST /api/v1/persons/analyze

Cuerpo de la solicitud

Parametro Tipo Obligatorio Descripcion
image_url string si URL HTTPS de una imagen jpeg, png o webp. Debe ser la misma URL que luego envies a POST /api/v3/undress — forma parte de la validacion del person_id.
curl -X POST https://deepstrip.com/api/v1/persons/analyze \
  -H "Authorization: Bearer <your_api_key>" \
  -H "Content-Type: application/json" \
  -d '{"image_url": "https://example.com/photo.jpg"}'

Respuestas

201 {"id": "a1e0b0c8-..."} — consulta GET /api/v1/persons/analyze/:id para el resultado.

400 {"error": "invalid_params", "errors": ["image_url must use HTTPS"]} — URL ausente, no HTTPS o mal formada.

429 {"error": "rate_limited", "retry_after": 37} — mas de 15 analisis en el minuto actual para esta clave de API. retry_after es el numero de segundos hasta la proxima ventana.


Obtener resultado del analisis

GET /api/v1/persons/analyze/:id

Consulta hasta que status sea completed o failed. La entrada del cache expira 3 horas despues de crearse; a partir de entonces GET devuelve 404.

curl https://deepstrip.com/api/v1/persons/analyze/<id> \
  -H "Authorization: Bearer <your_api_key>"

Respuestas

200 {"status": "pending"} — el detector sigue trabajando.

200 Completado, con personas:

{
  "status": "completed",
  "persons": [
    {
      "id": "6f2a13e4-5b52-4c39-9a7d-29e80a9c1a62",
      "bbox": [112.0, 80.0, 430.0, 920.0],
      "age": 27.3,
      "gender": "female",
      "score": 0.94
    }
  ]
}

Las personas cuya edad o genero no pudo reconocerse se filtran. Pasa persons[].id como person_id a POST /api/v3/undress.

200 {"status": "completed", "persons": []} — el detector funciono pero no encontro personas reconocibles. No es un fallo; prueba con otra imagen.

200 {"status": "failed", "details": "detector_failed"} — el detector no pudo procesar la URL (inaccesible, imagen invalida, error de servicio). Intenta de nuevo mas tarde o con otra URL.

404 {"error": "NOT_FOUND"} — id desconocido, cache expirado (> 3 horas) o analisis creado por otra clave de API.


API de FaceSwap

Crear FaceSwap

POST /api/v1/face_swaps

Acepta la imagen del rostro y la imagen de destino.

Las imagenes del rostro y de destino deben estar codificadas en base64 en formato jpeg, webp o png.

curl -X POST https://deepstrip.com/api/v1/face_swaps \
  -H "Authorization: Bearer <your_api_key>" \
  -H "Content-Type: application/json" \
  -d '{"image": "<base64_encoded_image>", "face": "<base64_encoded_face>"}'

Respuestas:

201 {"id": "69d280ab-42c5-4f49-9881-51076afb1747"}

400 {"error": "no_credits"}

400 {"error": "invalid_params", "errors": ["Image is invalid"]}


Obtener Resultado de FaceSwap

GET /api/v1/face_swaps/:id

Devuelve la imagen generada o el estado de la generacion.

curl https://deepstrip.com/api/v1/face_swaps/<identifier> \
  -H "Authorization: Bearer <your_api_key>" \
  -H "Content-Type: application/json"

Respuestas:

200 {"status": "completed", "image": "<result image url>"}

200 {"status": "pending"}

200 {"status": "failed"}

404 {"error": "NOT_FOUND"}

API de Face Swap de Videos


Analizar Video

POST /api/v1/face_swap_videos/analyze

Calcula el precio para procesar un video segun su duracion.

curl -X POST https://deepstrip.com/api/v1/face_swap_videos/analyze \
  -H "Authorization: Bearer <your_api_key>" \
  -H "Content-Type: application/json" \
  -d '{"video_url": "https://example.com/video.mp4", "preview": false, "version": "v2"}'

Respuestas:

200 {"price": 4.0, "duration": 20}

400 {"error": "INVALID_VIDEO_URL", "details": ["must be a valid URL", "must use HTTPS"]}

422 las dimensiones del video no deben exceder 1920x1080 — {"error": "ANALYSIS_FAILED", "details": "too_large"}


Crear Face Swap de Video

POST /api/v1/face_swap_videos

Crea un nuevo trabajo de face swap de video usando una URL.

curl -X POST https://deepstrip.com/api/v1/face_swap_videos \
  -H "Authorization: Bearer <your_api_key>" \
  -H "Content-Type: application/json" \
  -d '{"video_url": "https://example.com/video.mp4", "face_url": "https://example.com/face.jpg", "preview": false, "version": "v2"}'

Respuestas:

201 {"id": "69d280ab-42c5-4f49-9881-51076afb1747", "status": "created", "message": "Face swap video creation started"}

400 {"error": "VALIDATION_ERROR", "details": ["Video is required"]}


Obtener Estado de Face Swap de Video

GET /api/v1/face_swap_videos/:id

Verifica el estado de un trabajo de face swap de video y obtiene la URL del resultado cuando este completado.

curl https://deepstrip.com/api/v1/face_swap_videos/<identifier> \
  -H "Authorization: Bearer <your_api_key>" \
  -H "Content-Type: application/json"

Respuestas:

200 Procesando

{
  "id": "69d280ab-42c5-4f49-9881-51076afb1747",
  "status": "processing",
  "progress": 45.5,
  "step": "working",
  "result_url": null,
  "error_details": null
}

200 Completado

{
  "id": "69d280ab-42c5-4f49-9881-51076afb1747",
  "status": "completed",
  "progress": 100.0,
  "step": "uploading",
  "result_url": "https://assets.nodress.ai/videos/result.mp4",
  "error_details": null
}

404 {"error": "NOT_FOUND"}

API de Animar Foto

La API de Animar Foto convierte fotos estaticas en videos con movimiento suave y natural.

Crear Animacion

POST /api/v1/animations

Acepta una imagen de origen y un ID de plantilla para crear un trabajo de animacion.

La imagen de origen debe ser un URI de datos codificado en base64 en formato jpeg, png o webp (por ejemplo, data:image/jpeg;base64,/9j/4AAQ...).

Plantillas Disponibles

El parametro template_id es obligatorio y determina el estilo de animacion. preset_id tambien se acepta por compatibilidad con versiones anteriores (obsoleto).

GET /api/v1/animation_templates (tambien disponible en /api/v1/animation_presets, obsoleto)

curl https://deepstrip.com/api/v1/animation_templates

Respuesta de ejemplo:

[{"id": 1, "name": "Missionary POV", "name_de": "Missionarsstellung POV", "name_es": "Misionero POV", ..., "combo": false, "price": 7}, ...]

La respuesta incluye nombres localizados para todos los idiomas soportados (en, de, es, pt, fr, ru, zh). El campo name contiene el nombre en ingles. Cada campo name_XX contiene la traduccion para ese idioma, utilizando el ingles como valor predeterminado si no esta configurado.

Plantillas actuales:

ID Name Combo Price (credits)
3 Reverse Cowgirl No 7
4 Face Sitting No 7
5 Breast Expansion No 7
6 Doggy Style No 7
8 Cumshot on the face No 7
9 Foot Show No 7
12 Pet Play No 7
13 Squirt No 7
30 Breast Play No 7
16 Breast Play Solo No 7
17 Spooning No 7
18 Deep Throat BBC No 7
19 Blowjob No 7
21 Double Blowjob No 7
7 Dildo Handjob No 7
24 Handjob No 7
26 Two-Hand Handjob No 7
29 Standing Doggy No 7
33 Sex Machine No 7
36 Pussy Fingering No 7
38 Doggy POV No 7
1 Missionary POV No 7
45 Missionary Side View No 7
28 Kissing No 7
46 Lesbian Kissing No 7
47 Gay Kissing No 7
48 Smoking No 7
49 Blowjob POV No 7
79 Ahegao No 7
55 Pregnant No 7
56 Deep Throat with Cumshot BBC Yes 14
57 Two Guys Handjob No 7
58 Rough Blowjob No 7
83 Kissing & Undressing Yes 14
75 Pussy Rubbing No 7
76 Pussy rubbing with creampie Yes 14
77 Riding the gear shift No 7
86 Gains weight quickly No 7
78 Continue Action No 7

Las plantillas combo combinan dos estilos de animacion y cuestan 14 creditos en lugar de 7.

Solicitud de ejemplo:

curl -X POST https://deepstrip.com/api/v1/animations \
  -H "Authorization: Bearer <your_api_key>" \
  -H "Content-Type: application/json" \
  -d '{"source_image": "<base64_encoded_image>", "template_id": 1}'

Respuestas:

201 {"id": "69d280ab-42c5-4f49-9881-51076afb1747"}

400 {"error": "no_credits"}

400 {"error": "invalid_params", "errors": ["Input is invalid"]}

400 Analisis fallido — menor detectado:

{"error": "analysis_failed", "error_details": {"code": "face.child", "underage_persons": [{"age": 17.6, "face": {"x1": 36, "x2": 99, "y1": 103, "y2": 176}, "body": {"x1": 1, "x2": 170, "y1": 72, "y2": 735}}]}}

400 Analisis fallido — no se encontro rostro:

{"error": "analysis_failed", "error_details": {"code": "no_face_found"}}

Obtener Resultado de Animacion

GET /api/v1/animations/:id

Devuelve la URL del video generado o el estado de la generacion.

curl https://deepstrip.com/api/v1/animations/<identifier> \
  -H "Authorization: Bearer <your_api_key>" \
  -H "Content-Type: application/json"

Respuestas:

200 {"status": "completed", "result": "<result video url>"}

200 {"status": "pending"}

200 {"status": "failed"} — error del sistema o fallo desconocido

200 Fallido — menor detectado:

{"status": "failed", "error_details": {"code": "face.child", "underage_persons": [{"age": 17.6, "face": {"x1": 36, "x2": 99, "y1": 103, "y2": 176}, "body": {"x1": 1, "x2": 170, "y1": 72, "y2": 735}}]}}

200 Fallido — no se encontro rostro:

{"status": "failed", "error_details": {"code": "no_face_found"}}

404 {"error": "NOT_FOUND"}

Registro de cambios

Fecha Cambio
29.04.2026 Anadido "athletic" a las opciones de body_shape en Premium v3 (POST /api/v3/undress).
24.04.2026 Simplificado person_gender en Premium v3: solo se aceptan "male" y "female" (los alias "man"/"woman" ya no son compatibles). Eliminado el campo interno gender_score de la documentacion de respuesta de Persons Analysis.
24.04.2026 Documentacion API reorganizada: Undress ahora es una seccion unica con subsecciones Standard, Premium v2, Premium v3, Video. La descripcion de Premium v3 ahora enlaza explicitamente la API de Analisis de Personas como requisito previo.
21.04.2026 Anadido POST /api/v3/undress/:id/regenerate — una regeneracion gratuita por undress padre, valida 24 horas.
21.04.2026 Breaking: estilo premium_v3 eliminado de POST /api/v1/undress; Premium v3 vive ahora en POST /api/v3/undress y requiere image_url + person_id. Anadidos POST /api/v1/persons/analyze + GET /api/v1/persons/analyze/:id (15 solicitudes/min por clave de API, cache de 3 horas).
20.04.2026 Precio de premium_v3 reducido de 10 creditos a 5 creditos
19.04.2026 Reescrita la seccion de la API de Undress; corregida la URL /api/v1/undress_face_swap_videos (plural), documentado el campo details en failed, agregados too_many_retries/parent_expired/internal_server_error, agregado old a las opciones de body_shape
07.04.2026 Premium v3 simplificado a un unico estilo premium_v3 a 2.0 MP, 10 creditos fijos
01.04.2026 Se agregaron los estilos Premium v3
28.03.2026 Se agrego error_details a las respuestas de la API de animacion (deteccion de menores y rostro no encontrado)
15.03.2026 Se agregaron plantillas de animacion combo (14 creditos)
24.02.2026 Se renombraron los presets de animacion a plantillas de animacion; /api/v1/animation_presets sigue funcionando (obsoleto)
03.02.2026 Se agregaron nombres localizados al endpoint de presets de animacion
02.02.2026 Se agrego el endpoint de lista de presets de animacion
01.02.2026 Actualizacion importante de la API de Animar Foto
21.01.2026 Se agrego la API de Animar Foto
21.01.2026 Se agregaron las opciones body_shape, boobs, hair para el estilo premium_v2
19.12.2025 Se elimino el face swap basico de fotos
13.12.2025 Se actualizo la documentacion sobre videos de undress
12.12.2025 Se agrego la capacidad de crear videos de undress
11.12.2025 Se eliminaron opciones obsoletas de la especificacion OpenAPI
26.09.2025 Se elimino informacion sobre estilos de undress no soportados
30.12.2024 Se agrego enlace a la version beta de la documentacion de la API
27.12.2024 Se agrego la API de Face Swap de Videos
10.12.2024 Se agrego el campo version a la API de FaceSwap
25.10.2024 Se agrego la API de FaceSwap
18.10.2024 Se agrego el estilo premium v2
21.09.2024 Se agrego enlace a la especificacion OpenAPI
21.09.2024 Se agrego informacion sobre la generacion automatica de mascara
16.09.2024 Se agrego enlace a la pagina de precios
11.05.2024 Se agrego ejemplo de uso con curl
10.05.2024 Se actualizo la documentacion de la API para sincronizar con la version actual