> For the complete documentation index, see [llms.txt](https://docs.nudify.me/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.nudify.me/generations/pro-nudification.md).

# Pro Nudification

The Pro Nudification API allows for the creation of AI-based jobs focused on undressing and nudification.&#x20;

### Model

```
nudifyme/img/instant
```

### Pricing

```
0.08 / image
```

### Create Instant Nudification Job

Use this [endpoint](/api/generate.md#post-generate) to start a new instant nudification generation job.

<table><thead><tr><th width="225">Input</th><th>Description</th></tr></thead><tbody><tr><td>input.imageUrl</td><td>The target image that's going to nudify.</td></tr><tr><td>input.maskUrl</td><td>A black and white mask image used to control the processing area. White regions indicate the parts of the target image that should be modified, while black regions are preserved as they are.</td></tr><tr><td>input.mode</td><td>The transformation mode. Only accepts: <br>undress, lingerie, or bikini. <br><br><em>Default: "undress"</em></td></tr><tr><td>input.size</td><td>Sets the breast size for the generated result. Only accepts:  <br>auto, small, medium, or big. <br><br><em>Default: "auto"</em></td></tr><tr><td>input.shape</td><td>Controls the body shape of the generated result. Only accepts: <br>auto, slim, skinny, curvy, athletic, or chubby. <br><br><em>Default: "auto"</em></td></tr><tr><td>input.prompt</td><td>An optional custom prompt. When provided, it overrides input.mode, input.size, and input.shape.</td></tr></tbody></table>

#### Sample ImageUrl and MaskUrl

<table data-card-size="large" data-view="cards" data-full-width="true"><thead><tr><th align="center"></th><th data-hidden data-card-cover data-type="files"></th></tr></thead><tbody><tr><td align="center">Sample Image</td><td><a href="/files/YnFQHdXGGITUV60uVHVT">/files/YnFQHdXGGITUV60uVHVT</a></td></tr><tr><td align="center">Sample Mask</td><td><a href="/files/UvhpV3onvzBB0qJPg7VX">/files/UvhpV3onvzBB0qJPg7VX</a></td></tr></tbody></table>

#### Example Request

Using the default value:

```javascript
const response = await fetch(
  'https://api.deepixels.co/v1/generate',
  {
    method: 'POST',
    headers: {
      'Content-Type': 'application/json',
      'x-api-key': 'YOUR_API_KEY'
    },
    body: JSON.stringify({
      model: 'nudifyme/img/pro-nudification',
      input: {
        imageUrl: 'https://s3.media.deepixels.co/gprod/models/6b8a58c1-54d4-4c2a-8b28-4803898afb33/image.png',
        maskUrl: 'https://s3.media.deepixels.co/gprod/models/6b8a58c1-54d4-4c2a-8b28-4803898afb33/masks.png',
      },
      webhook: 'YOUR_WEBHOOK_URL'
    })
  }
);

const data = await response.json();

console.log(data);
```

When using the bikini mode:

```javascript
const response = await fetch(
  'https://api.deepixels.co/v1/generate',
  {
    method: 'POST',
    headers: {
      'Content-Type': 'application/json',
      'x-api-key': 'YOUR_API_KEY'
    },
    body: JSON.stringify({
      model: 'nudifyme/img/pro-nudification',
      input: {
        imageUrl: 'https://s3.media.deepixels.co/gprod/models/6b8a58c1-54d4-4c2a-8b28-4803898afb33/image.png',
        maskUrl: 'https://s3.media.deepixels.co/gprod/models/6b8a58c1-54d4-4c2a-8b28-4803898afb33/masks.png',
        mode: `bikini`
      },
      webhook: 'YOUR_WEBHOOK_URL'
    })
  }
);

const data = await response.json();

console.log(data);
```

When using the custom prompt:

```javascript
const response = await fetch(
  'https://api.deepixels.co/v1/generate',
  {
    method: 'POST',
    headers: {
      'Content-Type': 'application/json',
      'x-api-key': 'YOUR_API_KEY'
    },
    body: JSON.stringify({
      model: 'nudifyme/img/pro-nudification',
      input: {
        imageUrl: 'https://s3.media.deepixels.co/gprod/models/6b8a58c1-54d4-4c2a-8b28-4803898afb33/image.png',
        maskUrl: 'https://s3.media.deepixels.co/gprod/models/6b8a58c1-54d4-4c2a-8b28-4803898afb33/masks.png',
        prompt: `your custom prompt here`
      },
      webhook: 'YOUR_WEBHOOK_URL'
    })
  }
);

const data = await response.json();

console.log(data);
```

#### Job Creation Response

```json
{
  "jobId": "cd5167b9-a7cf-47e9-ad88-8fcb4032daf0",
  "status": "created"
}
```

### Getting Final Results

When processing is complete, the final job result can be received in either of the following ways:

* By sending a GET request to the job status [endpoint](/api/generate.md#get-get)
* Automatically via webhook if a webhook URL was provided during job creation

Both methods return the same response payload.

```json
{
  "jobId": "cd5167b9-a7cf-47e9-ad88-8fcb4032daf0",
  "model": "nudifyme/img/pro-nudification",
  "status": "completed",
  "input": {
    "imageUrl": "https://s3.media.deepixels.co/gprod/models/6b8a58c1-54d4-4c2a-8b28-4803898afb33/image.png",
    "maskUrl": "https://s3.media.deepixels.co/gprod/models/6b8a58c1-54d4-4c2a-8b28-4803898afb33/masks.png",
  },
  "webhook": "YOUR_WEBHOOK_URL",
  "output": {
    "imageUrl": [
      "https://s3.media.deepixels.co/cage/files/b/0a8e439a/hR-5vVdbgaApYSuY0Qm9Y_cca64ff5427642eab37b5d3e6d44d961.jpg"
    ]
  },
  "date": 1770926680739
}
```

<table><thead><tr><th width="225">Input</th><th>Description</th></tr></thead><tbody><tr><td>output.imageUrl</td><td>Array of generated image URLs. Even if only one image is generated, it is returned as an array to support multi-output models in the future.</td></tr></tbody></table>
