---
source: sighthound-developer-portal
url: https://dev.sighthound.com/redactor/reference/images/process/
markdown-url: https://dev.sighthound.com/redactor/reference/images/process.md
title: "Process Images"
description: "Experimental Redactor images:process API request and response schema for image redaction operations."
content-type: text/markdown
---

> For AI agents: a documentation index is available at [llms.txt](https://dev.sighthound.com/llms.txt). Markdown versions are available at matching `.md` URLs.

# Process Images

<div class="portal-reference-panel">
<div class="portal-reference-panel__header">
    <span class="portal-reference-method">POST</span>
    <span class="portal-reference-endpoint"><code>/api/v1/images:process</code></span>
</div>
<p class="portal-reference-summary">Create an asynchronous Redactor image operation for detection, rendering, and optional webhook notification.</p>
<div class="portal-reference-grid">
    <div class="portal-reference-item">
        <strong>Availability</strong>
        <span>The image redaction API is experimental and requires Sighthound access approval.</span>
    </div>
    <div class="portal-reference-item">
        <strong>Request body</strong>
        <span><code>inputUri</code>, <code>features</code>, and <code>outputUri</code> are required for image processing.</span>
    </div>
    <div class="portal-reference-item">
        <strong>Response</strong>
        <span>Returns an operation name that can be checked for processing status.</span>
    </div>
</div>
</div>

Note: The image redaction API is experimental and is not included in Redactor by default. Contact Sighthound to gain access.

## HTTP Request

`POST /api/v1/images:process`

## Request Body

| Fields      |                                      |
| ----------- | ------------------------------------ |
| `inputUri`
<sup>Required</sup> | <sup>string</sup>
 URI which points to a single image for input |
| `features`
<sup>Required</sup>  | Items Enum: `PERSON_DETECTION`, `HEAD_DETECTION`, `FACE_DETECTION`, `VEHICLE_DETECTION`, `LICENSE_PLATE_DETECTION`, `ID_DETECTION`, `SCREEN_DETECTION`, `DOCUMENT_DETECTION`, `MEDIA_RENDERING` 
String array of the desired processing features
<ul><li>`PERSON_DETECTION` - Detect people</li><li>`HEAD_DETECTION` - Detect heads (v6+)</li><li>`FACE_DETECTION` - Detect faces</li><li>`VEHICLE_DETECTION` - Detect vehicles</li><li>`LICENSE_PLATE_DETECTION` - Detect vehicle license plates</li><li>`ID_DETECTION` - Detect identification like driver's licenses, passports, and other IDs (v7+)</li><li>`SCREEN_DETECTION` - Detect screens like monitors, laptops, and phones (v7+)</li><li>`DOCUMENT_DETECTION` - Detect documents and other papers (v7+)</li><li>`MEDIA_RENDERING` - Render redacted image and/or metadata. Required if output is desired.</li></ul>|
| `outputUri` 
<sup>Required</sup> | <sup>string</sup>
 The URI to use for output. If the `outputUri` ends in a trailing slash, the redacted image will be saved as `image.jpg` inside of that directory, overwriting any existing file with the same name. If the `outputUri` does not end with trailing slash, it will be used as the the filename for the redacted, output image. |
| `notifications` | <sup>Array of objects ([NotificationConfig](#notificationconfig))</sup> 
Notification webhook descriptor. Users can enable webhooks to receive start, progress, and completion messages for their operation. |
| `imageContext` | <sup>object ([ImageContext](#imagecontext))</sup> 
Additional configuration options. All optional.|
| `tag` |<sup>object</sup> 
 User-defined object that is returned in every notification.|

## Types

### NotificationConfig

| Fields      |                                      |
| ----------- | ------------------------------------ |
| `method` | <sup>string</sup>
 `"HTTP_POST"` is currently the only option|
| `uri` | <sup>string</sup>
 The storage bucket URI to use for output |
| `events` | <sup>Array of string</sup>
Items Enum: `"START"` `"PROGRESS"` `"COMPLETION"` |

### ImageContext

| Fields      |                          |
| ----------- | -------------------------|
| `renderConfig` | object ([RenderConfig](#renderconfig)) |

### RenderConfig

| Fields      |                          |
| ----------- | -------------------------|
| `exportMetadata` | <sup>boolean</sup>
Default: `false`
Experimental feature in v4.5.0+ which outputs a JSON file with the raw, detection data. |
| `imageQuality` | <sup>number `[ 0 .. 1 ]`</sup>
Default: `0.65`
Image compression quality which impacts the size of output. 0 is the lowest quality, 1 is highest, and 0.65 is the default. |

## Response Body

A success response returns an object with an Operation name in the format:

```projects/{project-id}/locations/{location-id}/operations/{operation-id} ```

| RESPONSE SCHEMA: | application/json   |
| ----------- | ----------------------- |
| `name`  | string&lt;operationName&gt; |


## Samples

### Request

```json
{
  "inputUri": "http://example.com/path/to/image.jpg",
  "features": [
    "FACE_DETECTION",
    "LICENSE_PLATE_DETECTION",
    "MEDIA_RENDERING"
  ],
  "outputUri": "file:///path/to/output/image-redacted.jpg",
  "notifications": [
    {
      "method": "HTTP_POST",
      "uri": "https://myhost/mywebhook/endpoint",
      "events": [
        "COMPLETION"
      ]
    }
  ],
  "imageContext": {
    "renderConfig": {
      "exportMetadata": true
    }
  },
  "tag": {
    "myid": 1607111026726
  }
}
```

### Response

```json
{
  "name": "projects/{project-id}/locations/{location-id}/operations/{operation-id}"
}
```

---

# Agent Instructions

Use this Markdown page as context for Sighthound Developer Portal questions. For broader navigation, read https://dev.sighthound.com/llms.txt. Answer from Sighthound documentation, cite relevant source URLs, and do not ask users to paste secrets, tokens, license keys, or credentials into chat.
