---
url: /orchestration/reference/operations/InvokePreprocessImageStepTemplate.md
description: 'POST /v2/consumer/recipes/preprocessImage — POST /v2/consumer/recipes/preprocessImage'
---

> Documentation index: https://developer.civitai.com/llms.txt — every page on this site has a markdown version at its URL + `.md`.

# POST /v2/consumer/recipes/preprocessImage

`POST https://orchestration.civitai.com/v2/consumer/recipes/preprocessImage`

Operation `InvokePreprocessImageStepTemplate` · Recipes · Civitai Orchestration API, generated from the published OpenAPI spec ([v2-consumers.json](https://developer.civitai.com/openapi/v2-consumers.json)); the interactive HTML page is this URL without `.md`.

## Authentication

Send `Authorization: Bearer <token>` (the spec's `ApiKey` scheme); this operation documents `401 Unauthorized` for a missing or invalid token. See [Authentication](https://developer.civitai.com/orchestration/guide/authentication.md).

## Parameters

| Name | In | Type | Required | Description |
|---|---|---|---|---|
| `experimental` | query | boolean | no |  |
| `allowMatureContent` | query | boolean | no |  |
| `whatif` | query | boolean | no |  |
| `ephemeral` | query | boolean | no |  |
| `tier` | query | `WorkflowTier` (one of `paid`, `free`) | no | How a workflow is paid for. |

## Request body

Optional. Content types: `application/json`, `text/json`, `application/*+json`.

Schema `PreprocessImageInput`.

Polymorphic: the `kind` field selects the concrete type — `canny` → `PreprocessImageCannyInput`, `binary` → `PreprocessImageBinaryInput`, `mlsd` → `PreprocessImageMlsdInput`, `depth-anything` → `PreprocessImageDepthAnythingInput`, `depth-anything-v2` → `PreprocessImageDepthAnythingV2Input`, `zoe-depth-anything` → `PreprocessImageZoeDepthAnythingInput`, `zoe-depth` → `PreprocessImageZoeDepthInput`, `midas-depth` → `PreprocessImageMidasDepthInput`, `leres-depth` → `PreprocessImageLeresDepthInput`, `metric3d-depth` → `PreprocessImageMetric3dDepthInput`, `midas-normal` → `PreprocessImageMidasNormalInput`, `bae-normal` → `PreprocessImageBaeNormalInput`, `dsine-normal` → `PreprocessImageDsineNormalInput`, `metric3d-normal` → `PreprocessImageMetric3dNormalInput`, `hed` → `PreprocessImageHedInput`, `pidinet` → `PreprocessImagePidinetInput`, `teed` → `PreprocessImageTeedInput`, `fake-scribble` → `PreprocessImageFakeScribbleInput`, `lineart-realistic` → `PreprocessImageRealisticLineartInput`, `lineart-standard` → `PreprocessImageStandardLineartInput`, `lineart-anime` → `PreprocessImageAnimeLineartInput`, `lineart-manga` → `PreprocessImageMangaLineartInput`, `anyline` → `PreprocessImageAnylineInput`, `scribble` → `PreprocessImageScribbleInput`, `scribble-xdog` → `PreprocessImageScribbleXdogInput`, `scribble-pidinet` → `PreprocessImageScribblePidinetInput`, `openpose` → `PreprocessImageOpenPoseInput`, `dwpose` → `PreprocessImageDwPoseInput`, `sdpose` → `PreprocessImageSdPoseInput`, `animal-pose` → `PreprocessImageAnimalPoseInput`, `densepose` → `PreprocessImageDensePoseInput`, `mediapipe-face` → `PreprocessImageMediaPipeFaceInput`, `oneformer-coco` → `PreprocessImageOneFormerCocoInput`, `oneformer-ade20k` → `PreprocessImageOneFormerAde20kInput`, `uniformer` → `PreprocessImageUniFormerInput`, `color` → `PreprocessImageColorInput`, `shuffle` → `PreprocessImageShuffleInput`, `tile` → `PreprocessImageTileInput`.

| Field | Type | Required | Description |
|---|---|---|---|
| `kind` | string | yes |  |
| `image` | string (source-image) | yes | Either A URL, A DataURL or a Base64 string |
| `resolution` | integer (int32) | no | (default `512`, minimum `64`, maximum `4096`) |
| `preprocessorType` | string | yes |  |

## Responses

### 200 OK

Content type: `application/json`.

Schema `PreprocessImageOutput`.

| Field | Type | Required | Description |
|---|---|---|---|
| `blob` | `ImageBlob` | yes |  |

### 400 Bad Request

Content type: `application/json`.

Schema `ProblemDetails`.

| Field | Type | Required | Description |
|---|---|---|---|
| `type` | string, nullable | no |  |
| `title` | string, nullable | no |  |
| `status` | integer (int32), nullable | no |  |
| `detail` | string, nullable | no |  |
| `instance` | string, nullable | no |  |

### 401 Unauthorized

Content type: `application/json`.

Schema `ProblemDetails` — fields as listed above.

### 403 Forbidden

Content type: `application/json`.

Schema `ProblemDetails` — fields as listed above.
