Документация API
Интегрируйте возможности раздевания, замены лиц и анимации в ваше приложение.
Авторизация
Передавайте ваш API-ключ в заголовке Authorization каждого запроса.
Authorization: Bearer <your_api_key>
Undress API
Undress API генерирует раздетое изображение — или анимированное видео — по исходной фотографии. Каждый запрос требует заголовок Authorization: Bearer <your_api_key> и тело в формате JSON.
Четыре стиля, сгруппированные здесь как подразделы:
| Стиль | Результат | Кредиты | Эндпоинт |
|---|---|---|---|
| Standard | Статичное изображение | 1 | POST /api/v1/undress |
| Premium v2 | Статичное изображение | 3 | POST /api/v1/undress |
| Premium v3 | Статика высочайшего качества | 5 | POST /api/v3/undress |
| Видео | Анимированный mp4 | 7 начальный · 5 при продолжении | POST /api/v1/undress |
standard, premium_v2 и video используют общий POST /api/v1/undress — выбирайте стиль через поле style, затем опрашивайте GET /api/v1/undress/:id. source_image всегда — изображение в формате jpeg, png или webp, закодированное в base64, размером до 12 МБ. premium_v2 — единственный стиль, где параметры mask/automask действительно влияют на поведение; для остальных v1-стилей сервер всегда автоматически генерирует маску.
Premium v3 расположен на отдельном эндпоинте (POST /api/v3/undress) и всегда работает с одной явно выбранной персоной, поэтому требует предварительного вызова API анализа персон для выбора персоны. См. раздел Premium v3 ниже.
Standard
Самый дешёвый стиль — 1 кредит, одно статичное изображение, маска генерируется сервером, параметров настройки нет.
Создание Undress
POST /api/v1/undress
| Параметр | Тип | Обязательно | Описание |
|---|---|---|---|
source_image |
string (base64) | да | base64-кодированное изображение jpeg/png/webp, до 12 МБ. |
style |
string | да | Должно быть "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"}'
Ответы:
201 {"id": "69d280ab-42c5-4f49-9881-51076afb1747"}
400 {"error": "no_credits"} — на счёте нет кредитов.
400 {"error": "invalid_params", "errors": ["Image is invalid"]} — ошибка валидации; errors содержит список причин.
400 {"error": "internal_server_error"} — запрос отклонён как аномальный.
Получение результата Undress
GET /api/v1/undress/:id
Опрашивайте до тех пор, пока status не станет completed или failed. result — URL изображения.
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 — устаревший алиас для result, сохранён для обратной совместимости.
200 {"status": "failed", "details": "analysis_failed"} — входные данные отклонены (например, человек не обнаружен, несовершеннолетний субъект). Не повторяйте с тем же входом.
200 {"status": "failed", "details": "system_error"} — сама генерация завершилась ошибкой. Безопасно повторить.
404 {"error": "NOT_FOUND"}
Premium v2
3 кредита, одно статичное изображение. Опциональная пользовательская маска или автогенерация плюс параметры формы тела, груди и волос.
Создание Undress
POST /api/v1/undress
| Параметр | Тип | Обязательно | Описание |
|---|---|---|---|
source_image |
string (base64) | да | base64-кодированное изображение jpeg/png/webp, до 12 МБ. |
style |
string | да | Должно быть "premium_v2". |
mask |
string (base64) | когда automask не true |
base64-кодированный png, до 1 МБ. Белый = область для раздевания, чёрный = сохранить. |
automask |
boolean | опционально | true сообщает серверу сгенерировать маску самостоятельно. |
body_shape |
string | опционально | fat, skinny, athletic или old. Опустите для обычной формы. |
boobs |
string | опционально | small или large. Опустите для обычных. |
hair |
string | опционально | hairy или shaved. Опустите для обычных. |
С автомаской и настройкой тела:
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"}'
С маской, предоставленной пользователем:
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"}'
Ответы:
201 {"id": "69d280ab-42c5-4f49-9881-51076afb1747"}
400 {"error": "no_credits"}
400 {"error": "invalid_params", "errors": ["Image is invalid"]}
400 {"error": "internal_server_error"} — запрос отклонён как аномальный.
Получение результата Undress
GET /api/v1/undress/:id — та же структура ответа, что и у Standard.
Premium v3
Статичное изображение высочайшего качества — 5 кредитов. В отличие от других стилей, Premium v3 расположен на отдельном эндпоинте (POST /api/v3/undress) и требует предварительного шага обнаружения персоны.
Предварительное условие: сначала вызовите API анализа персон, чтобы получить
person_id. Premium v3 всегда работает с одной явно выбранной персоной — отправить фотографию, не выбрав, кого раздевать, нельзя.
Полный поток:
POST/api/v1/persons/analyzeс{image_url}→ получить id анализа.- Опросить
GET /api/v1/persons/analyze/:idдоcompleted→ получить список персон с id. POST /api/v3/undressс тем жеimage_urlи выбраннымperson_id→ получить id undress.- Опросить
GET /api/v3/undress/:idдоcompletedилиfailed.
Никаких mask / automask / тело-параметров — всё определяется по выбранной персоне.
Создать undress
POST /api/v3/undress
| Параметр | Тип | Обязательно | Описание |
|---|---|---|---|
image_url |
string | да | HTTPS-URL изображения в формате jpeg, png или webp, до 12 МБ. Должен побайтно совпадать с URL, использованным в анализе персон. |
person_id |
string | да | id персоны для раздевания из массива persons[] завершённого анализа, принадлежащего тому же API-ключу. |
person_gender |
string | опционально | Переопределяет определённый детектором пол для этой персоны. Принимает "male" или "female" (регистронезависимо). Используйте, когда детектор ошибся и нужно принудительно выбрать противоположный воркфлоу. |
body_shape |
string | опционально, только для женщин | Задаёт форму тела. Одно из значений: "as_in_photo" (ИИ сохраняет исходную форму, по умолчанию), "fat", "skinny", "athletic". |
boobs |
string | опционально, только для женщин | Задаёт размер груди. Одно из значений: "as_in_photo" (ИИ решает сам, по умолчанию), "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"}'
Ответы:
201 {"id": "69d280ab-42c5-4f49-9881-51076afb1747"}
400 {"error": "invalid_params", "errors": ["image_url is required"]} — отсутствует image_url / person_id, некорректный person_gender, или запись не прошла валидацию модели.
400 {"error": "invalid_person_id"} — person_id неизвестен, истёк (> 3 часов), принадлежит другому API-ключу, или переданный image_url не совпадает с проанализированным для этой персоны.
400 {"error": "image_fetch_failed"} — сервер не смог скачать изображение по image_url (не HTTPS, не 2xx, запрещённый content-type, > 12 МБ, таймаут или слишком много редиректов).
400 {"error": "under_age"} — оценённый возраст выбранной персоны меньше 18. Не повторяйте с этой персоной.
400 {"error": "no_credits"} — у аккаунта закончились кредиты.
Перегенерировать (бесплатно, один раз на undress)
POST /api/v3/undress/:id/regenerate
Если результат не устроил, можно бесплатно перегенерировать его с другим случайным сидом. То же исходное изображение, тот же человек, кредиты не списываются. Одна бесплатная перегенерация на родительский undress, только в течение 24 часов после его создания. Переопределение person_gender у родителя (если было) наследуется.
curl -X POST https://deepstrip.com/api/v3/undress/<parent_id>/regenerate \
-H "Authorization: Bearer <your_api_key>"
Ответы:
201 {"id": "<new_undress_id>"} — опрашивайте GET /api/v3/undress/:id с новым id.
400 {"error": "already_regenerated"} — бесплатная перегенерация уже использована для этого родителя.
400 {"error": "parent_expired"} — родительский undress старше 24 часов.
400 {"error": "parent_not_completed"} — родительский undress ещё не завершён; дождитесь completed перед перегенерацией.
400 {"error": "not_v3"} — через этот эндпоинт можно перегенерировать только premium v3 undress.
404 {"error": "NOT_FOUND"} — родительский id неизвестен или был создан другим API-ключом.
Получить результат undress
GET /api/v3/undress/:id
Та же структура ответа, что и у 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 это устаревший алиас для result.
200 {"status": "failed", "details": "analysis_failed"} — ввод отклонён. Не повторяйте с тем же вводом.
200 {"status": "failed", "details": "system_error"} — сама генерация не удалась. Безопасно повторить.
404 {"error": "NOT_FOUND"}
Видео
Анимированный mp4 на выходе — 7 кредитов за начальное видео, 5 кредитов для продолжения со следующим слоем одежды. Всегда автомаска, параметров настройки нет.
Создание Undress
POST /api/v1/undress
| Параметр | Тип | Обязательно | Описание |
|---|---|---|---|
source_image |
string (base64) | да — кроме случаев с parent |
base64-кодированное изображение jpeg/png/webp, до 12 МБ. |
style |
string | да — кроме случаев с parent |
Должно быть "video". |
parent |
string (uuid) | опционально | Id предыдущего video-undress для продолжения со следующим предметом одежды. Стиль и источник наследуются; родитель должен быть младше 24 часов. Стоит 5 кредитов. |
Начальный анимированный undress — 7 кредитов:
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"}'
Продолжить предыдущее видео — 5 кредитов (стиль и источник наследуются от 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>"}'
Ответы:
201 {"id": "69d280ab-42c5-4f49-9881-51076afb1747"}
400 {"error": "no_credits"}
400 {"error": "invalid_params", "errors": ["Image is invalid"]}
400 {"error": "parent_expired"} — родительский undress старше 24 часов.
400 {"error": "too_many_retries"} — бесплатные регенерации для этого parent исчерпаны.
400 {"error": "internal_server_error"} — запрос отклонён как аномальный.
Получение результата Undress
GET /api/v1/undress/:id — та же структура ответа, что и у Standard; result — URL mp4, а не URL изображения.
Замена лица на видео-результате
Применимо только к завершённым undress’ам со стилем video. Выполняет бесплатную замену лица на анимированном результате для улучшения консистентности лица; обычно занимает 60–120 секунд.
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 не найден, не принадлежит вызывающему, либо имеет стиль, отличный от 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 Во время обработки undress_result_id равен null. По завершении undress_result_id указывает на новый undress — получите его видео через 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 анализа персон
Определяет людей на изображении, чтобы вы могли выбрать конкретную персону для раздевания через Premium v3. Анализы создаются асинхронно и хранятся в кэше 3 часа. Создание ограничено 15 запросами в минуту на один API-ключ.
Байты изображения не загружаются — передайте HTTPS-URL, и детектор сам его скачает.
Создать анализ
POST /api/v1/persons/analyze
Тело запроса
| Параметр | Тип | Обязательно | Описание |
|---|---|---|---|
image_url |
string | да | HTTPS-URL изображения в формате jpeg, png или webp. Должен совпадать с URL, который вы позже передадите в POST /api/v3/undress — он участвует в проверке 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"}'
Ответы
201 {"id": "a1e0b0c8-..."} — опрашивайте GET /api/v1/persons/analyze/:id для получения результата.
400 {"error": "invalid_params", "errors": ["image_url must use HTTPS"]} — отсутствующий, не HTTPS или некорректный URL.
429 {"error": "rate_limited", "retry_after": 37} — более 15 анализов в текущую минуту для этого API-ключа. retry_after — секунды до следующего окна.
Получить результат анализа
GET /api/v1/persons/analyze/:id
Опрашивайте, пока status не станет completed или failed. Запись кэша истекает через 3 часа после создания; далее GET возвращает 404.
curl https://deepstrip.com/api/v1/persons/analyze/<id> \
-H "Authorization: Bearer <your_api_key>"
Ответы
200 {"status": "pending"} — детектор ещё работает.
200 Завершено, с персонами:
{
"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
}
]
}
Персоны, возраст или пол которых не удалось распознать, отфильтровываются. Передавайте persons[].id как person_id в POST /api/v3/undress.
200 {"status": "completed", "persons": []} — детектор отработал успешно, но не нашёл распознаваемых персон. Это не ошибка; выберите другое изображение.
200 {"status": "failed", "details": "detector_failed"} — детектор не смог обработать URL (недоступно, некорректное изображение, сбой сервиса). Попробуйте позже или с другим URL.
404 {"error": "NOT_FOUND"} — неизвестный id, кэш истёк (> 3 часов) или анализ принадлежит другому API-ключу.
FaceSwap API
Создание FaceSwap
POST /api/v1/face_swaps
Принимает изображение лица и целевое изображение.
Изображения лица и цели должны быть в формате base64 в форматах jpeg, webp или 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>"}'
Ответы:
201 {"id": "69d280ab-42c5-4f49-9881-51076afb1747"}
400 {"error": "no_credits"}
400 {"error": "invalid_params", "errors": ["Image is invalid"]}
Получение результата FaceSwap
GET /api/v1/face_swaps/:id
Возвращает сгенерированное изображение или статус генерации.
curl https://deepstrip.com/api/v1/face_swaps/<identifier> \
-H "Authorization: Bearer <your_api_key>" \
-H "Content-Type: application/json"
Ответы:
200 {"status": "completed", "image": "<result image url>"}
200 {"status": "pending"}
200 {"status": "failed"}
404 {"error": "NOT_FOUND"}
Face Swap Videos API
Анализ видео
POST /api/v1/face_swap_videos/analyze
Рассчитать стоимость обработки видео на основе его длительности.
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"}'
Ответы:
200 {"price": 4.0, "duration": 20}
400 {"error": "INVALID_VIDEO_URL", "details": ["must be a valid URL", "must use HTTPS"]}
422 размеры видео не должны превышать 1920x1080 — {"error": "ANALYSIS_FAILED", "details": "too_large"}
Создание Face Swap Video
POST /api/v1/face_swap_videos
Создать новую задачу замены лица на видео по 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"}'
Ответы:
201 {"id": "69d280ab-42c5-4f49-9881-51076afb1747", "status": "created", "message": "Face swap video creation started"}
400 {"error": "VALIDATION_ERROR", "details": ["Video is required"]}
Получение статуса Face Swap Video
GET /api/v1/face_swap_videos/:id
Проверить статус задачи замены лица на видео и получить URL результата после завершения.
curl https://deepstrip.com/api/v1/face_swap_videos/<identifier> \
-H "Authorization: Bearer <your_api_key>" \
-H "Content-Type: application/json"
Ответы:
200 Обработка
{
"id": "69d280ab-42c5-4f49-9881-51076afb1747",
"status": "processing",
"progress": 45.5,
"step": "working",
"result_url": null,
"error_details": null
}
200 Завершено
{
"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"}
Animate Photo API
Animate Photo API преобразует статические фотографии в видео с плавным, естественным движением.
Создание анимации
POST /api/v1/animations
Принимает исходное изображение и ID шаблона для создания задачи анимации.
Исходное изображение должно быть в формате base64 data URI в формате jpeg, png или webp (например, data:image/jpeg;base64,/9j/4AAQ...).
Доступные шаблоны
Параметр template_id обязателен и определяет стиль анимации. Параметр preset_id также принимается для обратной совместимости (устарел).
GET /api/v1/animation_templates (также доступен по адресу /api/v1/animation_presets, устарел)
curl https://deepstrip.com/api/v1/animation_templates
Пример ответа:
[{"id": 1, "name": "Missionary POV", "name_de": "Missionarsstellung POV", "name_es": "Misionero POV", ..., "combo": false, "price": 7}, ...]
Ответ содержит локализованные названия для всех поддерживаемых языков (en, de, es, pt, fr, ru, zh). Поле name содержит английское название. Каждое поле name_XX содержит перевод для соответствующей локали, при отсутствии перевода используется английское название.
Текущие шаблоны:
| 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 |
Комбо-шаблоны объединяют два стиля анимации и стоят 14 кредитов вместо 7.
Пример запроса:
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}'
Ответы:
201 {"id": "69d280ab-42c5-4f49-9881-51076afb1747"}
400 {"error": "no_credits"}
400 {"error": "invalid_params", "errors": ["Input is invalid"]}
400 Анализ не пройден — обнаружен несовершеннолетний:
{"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 Анализ не пройден — лицо не найдено:
{"error": "analysis_failed", "error_details": {"code": "no_face_found"}}
Получение результата анимации
GET /api/v1/animations/:id
Возвращает URL сгенерированного видео или статус генерации.
curl https://deepstrip.com/api/v1/animations/<identifier> \
-H "Authorization: Bearer <your_api_key>" \
-H "Content-Type: application/json"
Ответы:
200 {"status": "completed", "result": "<result video url>"}
200 {"status": "pending"}
200 {"status": "failed"} — системная ошибка или неизвестный сбой
200 Ошибка — обнаружен несовершеннолетний:
{"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 Ошибка — лицо не найдено:
{"status": "failed", "error_details": {"code": "no_face_found"}}
404 {"error": "NOT_FOUND"}
Журнал изменений
| Дата | Изменение |
|---|---|
| 29.04.2026 | Добавлено значение "athletic" в опции body_shape для Premium v3 (POST /api/v3/undress). |
| 24.04.2026 | Упрощён person_gender в Premium v3: принимаются только "male" и "female" (псевдонимы "man"/"woman" больше не поддерживаются). Внутреннее поле gender_score удалено из документации ответа Persons Analysis. |
| 24.04.2026 | Реорганизована документация API: Undress стал единым разделом с подсекциями Standard, Premium v2, Premium v3, Video. В описании Premium v3 теперь явно указана ссылка на Persons Analysis API как обязательный шаг. |
| 21.04.2026 | Добавлен POST /api/v3/undress/:id/regenerate — одна бесплатная перегенерация на родительский undress, действительна 24 часа. |
| 21.04.2026 | Breaking: Стиль premium_v3 удалён из POST /api/v1/undress; Premium v3 теперь доступен через POST /api/v3/undress и требует image_url + person_id. Добавлены POST /api/v1/persons/analyze + GET /api/v1/persons/analyze/:id (15 запросов/мин на API-ключ, кэш 3 часа). |
| 20.04.2026 | Цена premium_v3 снижена с 10 кредитов до 5 кредитов |
| 19.04.2026 | Раздел Undress API переписан; исправлен URL /api/v1/undress_face_swap_videos (множественное число), задокументировано поле details в failed, добавлены too_many_retries/parent_expired/internal_server_error, добавлено old в опции body_shape |
| 07.04.2026 | Premium v3 упрощён до единого стиля premium_v3 с разрешением 2.0 MP, фиксированно 10 кредитов |
| 01.04.2026 | Добавлены стили Premium v3 |
| 28.03.2026 | Добавлен error_details в ответы API анимации (обнаружение несовершеннолетних и отсутствие лица) |
| 15.03.2026 | Добавлены комбо-шаблоны анимации (14 кредитов) |
| 24.02.2026 | Пресеты анимации переименованы в шаблоны анимации; /api/v1/animation_presets по-прежнему работает (устарел) |
| 03.02.2026 | Добавлены локализованные названия в эндпоинт пресетов анимации |
| 02.02.2026 | Добавлен эндпоинт списка пресетов анимации |
| 01.02.2026 | Критическое обновление Animate Photo API |
| 21.01.2026 | Добавлен Animate Photo API |
| 21.01.2026 | Добавлены опции body_shape, boobs, hair для стиля premium_v2 |
| 19.12.2025 | Удалена базовая замена лица на фото |
| 13.12.2025 | Обновлена документация о видео раздевания |
| 12.12.2025 | Добавлена возможность создания видео раздевания |
| 11.12.2025 | Удалены устаревшие опции из спецификации OpenAPI |
| 26.09.2025 | Удалена информация о неподдерживаемых стилях раздевания |
| 30.12.2024 | Добавлена ссылка на бета-версию документации API |
| 27.12.2024 | Добавлен Face Swap Videos API |
| 10.12.2024 | Добавлено поле version в FaceSwap API |
| 25.10.2024 | Добавлен FaceSwap API |
| 18.10.2024 | Добавлен стиль premium v2 |
| 21.09.2024 | Добавлена ссылка на спецификацию OpenAPI |
| 21.09.2024 | Добавлена информация об автоматической генерации масок |
| 16.09.2024 | Добавлена ссылка на страницу цен |
| 11.05.2024 | Добавлен пример использования curl |
| 10.05.2024 | Обновлена документация API для синхронизации с текущей версией |