Documentacion de la API
Integra capacidades de desnudo, cambio de rostro y animacion en tu aplicacion.
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:
POST/api/v1/persons/analyzecon{image_url}→ recibes un id de analisis.- Consulta
GET /api/v1/persons/analyze/:idhastacompleted→ recibes la lista de personas con sus ids. POST /api/v3/undresscon la mismaimage_urly elperson_idelegido → recibes un id de undress.- Consulta
GET /api/v3/undress/:idhastacompletedofailed.
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 |