API 文档

将脱衣、换脸和动画功能集成到您的应用程序中。

API 密钥

登录以创建和管理您的 API 密钥。

登录

授权

在每个请求的 Authorization 头中传递您的 API 密钥。

Authorization: Bearer <your_api_key>

脱衣 API

脱衣 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

standardpremium_v2video 共用 POST /api/v1/undress——通过 style 字段选择,然后轮询 GET /api/v1/undress/:idsource_image 始终为 base64 编码的 jpegpngwebp,最大 12 MB。只有 premium_v2 风格下 mask/automask 才真正影响行为;其他 v1 风格下服务器始终自动生成蒙版。

Premium v3 有独立的端点(POST /api/v3/undress),始终针对一个明确选定的人物,因此需要先调用 人物分析 API 以选择目标人物。参见下文的 Premium v3

Standard

最便宜的风格——1 积分,单张静态图像,服务器生成蒙版,无自定义选项。

创建脱衣任务

POST /api/v1/undress

参数 类型 必填 描述
source_image string (base64) base64 编码的 jpeg/png/webp,最大 12 MB。
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"}——请求被判定为异常而拒绝。

获取脱衣结果

GET /api/v1/undress/:id

轮询直到 statuscompletedfailedresult 为图像 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>"}——imageresult 的已弃用别名,为向后兼容保留。

200 {"status": "failed", "details": "analysis_failed"}——输入被拒绝(例如未检测到人、未成年人)。请勿使用相同输入重试。

200 {"status": "failed", "details": "system_error"}——生成本身失败。可以重试。

404 {"error": "NOT_FOUND"}

Premium v2

3 积分,单张静态图像。可选用户提供的蒙版或服务器生成蒙版,并提供身形 / 胸部 / 毛发选项。

创建脱衣任务

POST /api/v1/undress

参数 类型 必填 描述
source_image string (base64) base64 编码的 jpeg/png/webp,最大 12 MB。
style string 取值必须为 "premium_v2"
mask string (base64) automask 不为 true base64 编码的 png,最大 1 MB。白色 = 需要脱衣的区域,黑色 = 保留。
automask boolean 可选 true 表示由服务器生成蒙版。
body_shape string 可选 fatskinnyathleticold。省略表示正常。
boobs string 可选 smalllarge。省略表示正常。
hair string 可选 hairyshaved。省略表示正常。

使用自动蒙版和身体自定义:

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"}——请求被判定为异常而拒绝。

获取脱衣结果

GET /api/v1/undress/:id——响应结构与 Standard 相同。

Premium v3

最高质量静态图像——5 积分。与其他风格不同,Premium v3 有独立的端点POST /api/v3/undress),并且需要预先进行人物检测步骤。

前提条件: 先调用 人物分析 API 获取 person_id。Premium v3 始终针对一个明确选定的人物——不选择目标人物就无法提交图像。

完整流程:

  1. POST /api/v1/persons/analyze 带上 {image_url} → 得到分析 id。
  2. 轮询 GET /api/v1/persons/analyze/:id 直到 completed → 得到带 id 的人物列表。
  3. POST /api/v3/undress 带上相同的 image_url 和选定的 person_id → 得到脱衣 id。
  4. 轮询 GET /api/v3/undress/:id 直到 completedfailed

mask / automask / 身体选项——所有内容均由选定的人物推导得出。

创建脱衣

POST /api/v3/undress

参数 类型 必填 描述
image_url string jpegpngwebp 图像的 HTTPS URL,最大 12 MB。必须与人物分析时使用的 URL 逐字节一致。
person_id string 要脱衣的人物 id,取自同一 API 密钥下 completed 分析的 persons[] 数组。
person_gender string 可选 覆盖检测器对该人物识别的性别。接受 "male""female"(不区分大小写)。当检测器识别错误,而您想强制使用相反的工作流时使用。
body_shape string 可选,仅女性 强制设置体型。可选值:"as_in_photo"(AI 保留原始体型,默认值)、"fat""skinny""athletic"
boobs string 可选,仅女性 强制设置胸部尺寸。可选值:"as_in_photo"(由 AI 决定,默认值)、"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_idperson_gender 无效,或记录未通过模型层校验。

400 {"error": "invalid_person_id"}——person_id 未知、已过期(> 3 小时)、属于其他 API 密钥,或传入的 image_url 与该人物分析所用的 URL 不匹配。

400 {"error": "image_fetch_failed"}——服务器无法下载 image_url 指向的图像(非 HTTPS、非 2xx、不允许的 content-type、> 12 MB、超时或重定向过多)。

400 {"error": "under_age"}——所选人物的预估年龄小于 18。请勿再次使用该人物。

400 {"error": "no_credits"}——账户积分不足。

重新生成(免费,每个 undress 一次)

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

当结果不理想时,可用不同的随机种子免费重新生成。相同的原图、相同的人物,不消耗积分。每个父级 undress 仅允许 1 次 免费重新生成,且仅在父级创建后的 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>"}——使用新 id 轮询 GET /api/v3/undress/:id

400 {"error": "already_regenerated"}——此父级 undress 的免费重新生成名额已使用。

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 密钥创建。

获取脱衣结果

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>"}——imageresult 的已废弃别名。

200 {"status": "failed", "details": "analysis_failed"}——输入被拒绝。请勿使用相同输入重试。

200 {"status": "failed", "details": "system_error"}——生成本身失败。可以安全重试。

404 {"error": "NOT_FOUND"}

视频

动画 mp4 输出——初次视频 7 积分,继续脱下一层衣物 5 积分。始终自动蒙版,无自定义选项。

创建脱衣任务

POST /api/v1/undress

参数 类型 必填 描述
source_image string (base64) 是——使用 parent 时除外 base64 编码的 jpeg/png/webp,最大 12 MB。
style string 是——使用 parent 时除外 取值必须为 "video"
parent string (uuid) 可选 上一次 video 脱衣任务的 id,用于继续脱下一件衣物。风格和源图像继承自父任务;父任务必须不超过 24 小时。消耗 5 积分。

初次动画脱衣——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"}——parent undress 已超过 24 小时。

400 {"error": "too_many_retries"}——此 parent 已无免费重试次数。

400 {"error": "internal_server_error"}——请求被判定为异常而拒绝。

获取脱衣结果

GET /api/v1/undress/:id——响应结构与 Standard 相同;result 为 mp4 URL 而非图像 URL。

在视频结果上换脸

仅适用于已完成的 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_idnull。完成后,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 小时。该端点对每个 API 密钥限制为 每分钟 15 次请求

无需上传图像字节——只需传入 HTTPS URL,检测服务会自行获取。

创建分析

POST /api/v1/persons/analyze

请求体

参数 类型 必填 描述
image_url string jpegpngwebp 图像的 HTTPS URL。必须与随后传入 POST /api/v3/undress 的 URL 完全一致——它是 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"]} — URL 缺失、非 HTTPS 或格式错误。

429 {"error": "rate_limited", "retry_after": 37} — 当前分钟内该 API 密钥的分析请求超过 15 次。retry_after 是距离下一个时间窗口的秒数。


获取分析结果

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

轮询直到 status 变为 completedfailed。缓存条目在创建后 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 密钥创建。


换脸 API

创建换脸任务

POST /api/v1/face_swaps

接受面部图像和目标图像。

面部图像和目标图像应为 base64 编码的 jpegwebppng 格式图像。

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"]}


获取换脸结果

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"}

视频换脸 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"}


创建换脸视频

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"]}


获取换脸视频状态

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"}

照片动画 API

照片动画 API 可将静态照片转换为具有流畅自然运动的视频。

创建动画

POST /api/v1/animations

接受源图像和模板 ID 来创建动画任务。

源图像应为 base64 编码的数据 URI,格式为 jpegpngwebp(例如 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 在 Premium v3(POST /api/v3/undress)的 body_shape 选项中新增 "athletic"
24.04.2026 简化 Premium v3 中的 person_gender:仅接受 "male""female"(别名 "man"/"woman" 不再支持)。从 Persons Analysis 响应文档中移除了内部的 gender_score 字段。
24.04.2026 重新组织 API 文档:Undress 现在是一个单独的章节,下设 Standard、Premium v2、Premium v3、视频 子章节。Premium v3 描述中现在显式链接了 Persons Analysis API 作为前置条件。
21.04.2026 新增 POST /api/v3/undress/:id/regenerate — 每个父级 undress 一次免费重新生成,有效期 24 小时。
21.04.2026 不兼容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(每个 API 密钥每分钟 15 次请求,缓存 3 小时)。
20.04.2026 premium_v3 价格从 10 积分下调至 5 积分
19.04.2026 重写 Undress API 章节;修正 /api/v1/undress_face_swap_videos URL(复数形式),补充 failed 中的 details 字段,新增 too_many_retries/parent_expired/internal_server_error,在 body_shape 中新增 old
07.04.2026 Premium v3 简化为单一 premium_v3 风格,2.0 MP 分辨率,固定 10 积分
01.04.2026 添加了 Premium v3 风格
28.03.2026 为动画 API 响应添加了 error_details(未成年人检测和未检测到人脸)
15.03.2026 添加了组合动画模板(14 个积分)
24.02.2026 将动画预设重命名为动画模板;/api/v1/animation_presets 仍可使用(已弃用)
03.02.2026 为动画预设端点添加了本地化名称
02.02.2026 添加了动画预设列表端点
01.02.2026 照片动画 API 的重大更新
21.01.2026 添加了照片动画 API
21.01.2026 为 premium_v2 风格添加了 body_shape、boobs、hair 选项
19.12.2025 移除了基础照片换脸功能
13.12.2025 更新了关于脱衣视频的文档
12.12.2025 添加了创建脱衣视频的功能
11.12.2025 从 OpenAPI 规范中移除了旧版选项
26.09.2025 移除了关于不支持的脱衣风格的信息
30.12.2024 添加了 API 文档测试版的链接
27.12.2024 添加了视频换脸 API
10.12.2024 为换脸 API 添加了 version 字段
25.10.2024 添加了换脸 API
18.10.2024 添加了 premium v2 风格
21.09.2024 添加了 OpenAPI 规范的链接
21.09.2024 添加了关于自动蒙版生成的信息
16.09.2024 添加了价格页面的链接
11.05.2024 添加了 curl 使用示例
10.05.2024 更新了 API 文档以与当前版本同步