---
url: /orchestration/reference/operations/InvokeImageGenStepTemplate.md
description: 'POST /v2/consumer/recipes/imageGen — Image Generation'
---

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

# Image Generation

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

Operation `InvokeImageGenStepTemplate` · 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`.

Generate images through text/image inputs using any of our supported engines

## 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 `ImageGenInput`.

Polymorphic: the `engine` field selects the concrete type — `openai` → `OpenApiImageGenInput`, `flux1-kontext` → `Flux1KontextImageGenInput`, `flux1-pro` → `Flux1ProFamilyImageGenInput`, `flux2` → `Flux2ImageGenInput`, `google` → `GoogleImageGenInput`, `wan` → `WanImageGenInput`, `gemini` → `GeminiImageGenInput`, `sdcpp` → `SdCppImageGenInput`, `comfy` → `ComfyImageGenInput`, `seedream` → `SeedreamImageGenInput`, `grok` → `GrokImageGenInput`, `fal` → `FalImageGenInput`, `qwen` → `QwenApiImageGenInput`, `krea` → `KreaImageGenInput`, `krea3` → `Krea3ImageGenInput`.

| Field | Type | Required | Description |
|---|---|---|---|
| `engine` | string | yes |  |
| `outputFormat` | `ImageGenOutputFormat` (one of `jpeg`, `png`, `webP`) | no | (default `"jpeg"`) |
| `imageMetadata` | string, nullable | no | External metadata that will be stored with the image |

## Responses

### 200 OK

Content type: `application/json`.

Schema `ImageGenOutput`.

| Field | Type | Required | Description |
|---|---|---|---|
| `images` | array of `ImageBlob` | yes |  |
| `errors` | array of string, nullable | no |  |

### 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.
