# Common Resources

## Enum Definitions and JSON Representation

This document provides a comprehensive explanation of the enums used in the AdCreative API. These enums are essential for understanding the JSON requests and responses, enabling developers to use the correct values.

***

### 1. `RenderKind`

The `RenderKind` enum specifies the dimensions of the output renders. Each value corresponds to a specific size or group of sizes.

#### Definition

```json
{
    "Unset": 0,
    "Post": 1,
    "Story": 2,
    "Landscape": 4,
    "Vertical": 8,
    "PinSize": 16,
    "Social": 31,
    "MediumBanner": 32,
    "LeaderBoard": 64,
    "WideSkyScraper": 128,
    "HalfPage": 256,
    "LargeLeaderboard": 512,
    "FullHD": 1024,
    "Portrait": 2048,
    "Widescreen": 4096,
    "VideoPortrait": 8192,
    "VideoLandscape": 16384,
    "Display": 992,
    "All": 1023
}
```

#### Description

| Value              | Description                          | Dimensions     |
| ------------------ | ------------------------------------ | -------------- |
| `Unset`            | No rendering type set.               | N/A            |
| `Post`             | Square post size.                    | 1080x1080 px   |
| `Story`            | Vertical story size.                 | 1080x1920 px   |
| `Landscape`        | Landscape size for banners.          | 1200x628 px    |
| `Vertical`         | Vertical size for portrait ads.      | 1080x1350 px   |
| `PinSize`          | Pinterest-specific size.             | 1000x1500 px   |
| `Social`           | Combination of all social sizes.     | Multiple sizes |
| `MediumBanner`     | Medium rectangle banner.             | 300x250 px     |
| `LeaderBoard`      | Large horizontal banner.             | 728x90 px      |
| `WideSkyScraper`   | Tall vertical banner.                | 160x600 px     |
| `HalfPage`         | Large vertical half-page banner.     | 300x600 px     |
| `LargeLeaderboard` | Large leaderboard banner.            | 970x90 px      |
| `FullHD`           | Full HD resolution.                  | 1920x1080 px   |
| `Portrait`         | Portrait resolution.                 | 768x1024 px    |
| `Widescreen`       | Widescreen resolution.               | 1024x768 px    |
| `VideoPortrait`    | Portrait-oriented video resolution.  | 768x1280 px    |
| `VideoLandscape`   | Landscape-oriented video resolution. | 1280x768 px    |
| `Display`          | Combination of display ad sizes.     | Multiple sizes |
| `All`              | All possible sizes.                  | Multiple sizes |

***

### 2. `RenderType`

The `RenderType` enum specifies the type of output render.

#### Definition

```json
{
    "Unset": 0,
    "Html": 1,
    "Svg": 2,
    "AiProduct": 4,
    "AiImageUpscaling": 8,
    "AiProductCreative": 16,
    "AiImageGeneration": 32,
    "AiSampledImageGeneration": 64,
    "AiFaceEnhancing": 128,
    "AiInPainting": 1024,
    "AiOutPainting": 127,
    "AiDressing": 256,
    "AiDetailEnhancing": 512,
    "TemplateBased": 19,
    "AiGenerationBased": 100,
    "All": 127
}
```

#### Description

| Value                      | Description                                 |
| -------------------------- | ------------------------------------------- |
| `Unset`                    | No render type set.                         |
| `Html`                     | HTML-based render (deprecated).             |
| `Svg`                      | SVG format render.                          |
| `AiProduct`                | AI-generated product images.                |
| `AiImageUpscaling`         | AI-based image upscaling.                   |
| `AiProductCreative`        | AI-generated product creatives.             |
| `AiImageGeneration`        | AI-based image generation.                  |
| `AiSampledImageGeneration` | AI image generation using a sample.         |
| `AiFaceEnhancing`          | AI-based facial detail enhancement.         |
| `AiInPainting`             | AI-based in-painting for image restoration. |
| `AiOutPainting`            | AI-based out-painting for extending images. |
| `AiDressing`               | AI dressing of models.                      |
| `AiDetailEnhancing`        | AI-based detail enhancement.                |
| `TemplateBased`            | Template-based rendering types.             |
| `AiGenerationBased`        | AI generation-related rendering types.      |
| `All`                      | All rendering types.                        |

***

### 3. `RenderState`

The `RenderState` enum describes the state of a rendering process.

#### Definition

```json
{
    "NotStarted": 0,
    "Started": 1,
    "Scheduled": 2,
    "Cancelled": 3,
    "Failed": 4,
    "Succeeded": 5,
    "Default": 0
}
```

#### Description

| Value        | Description                                     |
| ------------ | ----------------------------------------------- |
| `NotStarted` | The render process has not started.             |
| `Started`    | The render process has started.                 |
| `Scheduled`  | The render process is scheduled.                |
| `Cancelled`  | The render process was cancelled.               |
| `Failed`     | The render process failed.                      |
| `Succeeded`  | The render process succeeded.                   |
| `Default`    | The default state (equivalent to `NotStarted`). |

***

### 4. `NotificationChannel`

The `NotificationChannel` enum specifies the channel for notifications.

#### Definition

```json
{
    "WebHook": 0,
    "SignalR": 1,
    "RabbitMQ": 2
}
```

#### Description

| Value      | Description                          |
| ---------- | ------------------------------------ |
| `WebHook`  | Notifications are sent via WebHook.  |
| `SignalR`  | Notifications are sent via SignalR.  |
| `RabbitMQ` | Notifications are sent via RabbitMQ. |

***

This document serves as a reference for all enum definitions, ensuring consistent and correct usage in JSON requests and responses.

***


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://api-docs.adcreative.ai/docs/common-resources.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
