# Reprocessing

This API endpoint allows you to reprocess any image you own. To reprocess an image, you must provide the `image_id` and a valid API key.

{% hint style="info" %}
**Important note**

All preferences that you don't specify will default to the previously set preferences of your image from the last time it was enhanced.
{% endhint %}

{% tabs %}
{% tab title="JavaScript" %}

```javascript
const apiKey = "YOUR_API_KEY";
const imageId = "ID_OF_YOUR_IMAGE";
const preferences = {
  ai_version: "4.x",
  enhance: true,
  enhance_type: 'neutral',
  hdr: true
}

const processImage = async (imageId, apiKey, preferences) => {
    const processImageResponse = await fetch(
      `https://api.autoenhance.ai/v3/images/${imageId}/process`,
      {
        method: "POST",
        headers: {
          "Content-Type": "application/json",
          "x-api-key": apiKey,
        },
        body: JSON.stringify({
          ...preferences
        }),
      }
    );

    const data = await processImageResponse.json();
}
```

{% endtab %}

{% tab title="Python" %}

```python
import requests

api_key = "YOUR_API_KEY"
image_id = "ID_OF_YOUR_IMAGE"
preferences = {
    "ai_version": "4.x",
    "enhance": True,
    "enhance_type": "neutral",
    "hdr": True
}

def edit_image(api_key, image_id, preferences):
    url = f"https://api.autoenhance.ai/v3/images/{image_id}/process"
    headers = {
        "Content-Type": "application/json",
        "x-api-key": api_key,
    }
    payload = {
        **preferences
    }
    
    response = requests.post(url, headers=headers, json=payload)
    response_data = response.json()

    return response_data
```

{% endtab %}

{% tab title="PHP" %}

```php
$image_id = "ID_OF_YOUR_IMAGE";
$api_key = "YOUR_API_KEY";
$preferences = array(
    'ai_version' => '4.x',
    'enhance' => true,
    'enhance_type' => 'neutral',
    'hdr' => true
);

function process_image($image_id, $api_key, $preferences) {
    $url = "https://api.autoenhance.ai/v3/images/$image_id/process";

    $options = array(
        'http' => array(
            'header'  => "Content-Type: application/json\r\n" .
                         "x-api-key: $api_key",
            'method'  => 'POST',
            'content' => json_encode($preferences),
        ),
    );

    $context  = stream_context_create($options);
    $result = file_get_contents($url, false, $context);

    if ($result === FALSE) {
        return 'Error processing image';
    }

    $data = json_decode($result, true);
    // Process the $data as needed
    return $data;
}
```

{% endtab %}

{% tab title="cURL" %}

```
curl -X POST \
  https://api.autoenhance.ai/v3/images/ID_OF_YOUR_IMAGE/process \
  -H 'Content-Type: application/json' \
  -H 'x-api-key: YOUR_API_KEY' \
  -d '{
        "ai_version": "4.x",
        "enhance": true,
        "enhance_type": "neutral",
        "hdr": true
      }'
```

{% endtab %}
{% endtabs %}

The response after successfully editing or reprocessing an image will contain all the details of your image with the uploaded values.

### Specification

{% openapi src="<https://api.autoenhance.ai/docs/openapi.spec>" path="/v3/images/{id}/process" method="post" %}
<https://api.autoenhance.ai/docs/openapi.spec>
{% endopenapi %}
