> ## Documentation Index
> Fetch the complete documentation index at: https://docs.iacrea.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Blue Sky API

> API documentation for the blue sky service

# Blue Sky API

The blue sky service allows you to transform a cloudy, gray, or unattractive sky into a bright blue sky, significantly enhancing the appearance of your outdoor photos.

## Generate a blue sky

<ParamField path="POST /api/sky/generate" />

Calling this endpoint launches a new generation to obtain a blue sky. This endpoint also creates a new project; depending on your subscription, it is possible to obtain free variations on the same project.

As generation can take several minutes, the result is not immediately available. You can either provide a webhook URL or regularly query the retrieval API.

### Request Parameters

<ParamField body="user_id" type="string" required>
  The unique user identifier (UUID) that you can retrieve from your Developer Space
</ParamField>

<ParamField body="image_url" type="string" required>
  URL of the image whose sky you want to modify (format: jpg, png)
</ParamField>

<ParamField body="webhook" type="string">
  The URL we call once the generation is complete. The request body is the same as the response from the retrieval API
</ParamField>

### Response

<ResponseField name="generation_id" type="string">
  The unique generation identifier (UUID) to use with the retrieval API
</ResponseField>

<ResponseField name="remaining_photos" type="number">
  The number of photos remaining after this generation
</ResponseField>

<ResponseField name="project_id" type="string">
  The unique project identifier (UUID)
</ResponseField>

### Request Example

```bash theme={null}
curl --request POST \
--url 'https://iacrea.com/api/sky/generate' \
--header x-api-key:API_KEY \
--header 'Content-Type: application/json' \
--data '{
  "user_id": "uuid",
  "image_url": "https://my-image-url.jpg"
}'
```

### Response Example

```json theme={null}
{
  "generation_id": "uuid",
  "remaining_photos": 100,
  "project_id": "uuid"
}
```

## Generate a variation of a blue sky

<ParamField path="POST /api/sky/generate-variation" />

Calling this endpoint allows you to generate a variation of a previously generated blue sky. As generation can take several minutes, the result is not immediately available.

### Request Parameters

<ParamField body="user_id" type="string" required>
  The unique user identifier (UUID) that you can retrieve from your Developer Space
</ParamField>

<ParamField body="generation_id" type="string" required>
  The unique identifier of the previous generation you want to create a variation of
</ParamField>

### Response

<ResponseField name="generation_id" type="string">
  The unique identifier of the new generation (UUID) to use with the retrieval API
</ResponseField>

<ResponseField name="remaining_photos" type="number">
  The number of photos remaining after this generation
</ResponseField>

### Request Example

```bash theme={null}
curl --request POST \
--url 'https://iacrea.com/api/sky/generate-variation' \
--header x-api-key:API_KEY \
--header 'Content-Type: application/json' \
--data '{
  "user_id": "uuid",
  "generation_id": "uuid"
}'
```

### Response Example

```json theme={null}
{
  "generation_id": "uuid",
  "remaining_photos": 100
}
```

## Retrieve a blue sky

<ParamField path="POST /api/sky/get" />

This endpoint allows you to obtain the result of a previously performed generation. It lets you know the status of your generation and retrieve the URL of your generated images.

**Important note:** In case of "FAILED" status, your photos are automatically refunded.

### Request Parameters

<ParamField body="user_id" type="string" required>
  The unique user identifier (UUID) that you can retrieve from your Developer Space
</ParamField>

<ParamField body="generation_id" type="string" required>
  The unique generation identifier (UUID) returned by the generation API
</ParamField>

### Response

<ResponseField name="status" type="string">
  The generation status: "STARTING", "PROCESSING", "SUCCEEDED", "FAILED"
</ResponseField>

<ResponseField name="urls" type="array">
  An array containing the URLs of generated images (present only if status="SUCCEEDED")
</ResponseField>

<ResponseField name="variationNumber" type="number">
  The number of variations already performed on this project
</ResponseField>

### Request Example

```bash theme={null}
curl --request POST \
--url 'https://iacrea.com/api/sky/get' \
--header x-api-key:API_KEY \
--header 'Content-Type: application/json' \
--data '{
  "user_id": "uuid",
  "generation_id": "uuid"
}'
```

### Response Example

```json theme={null}
{
  "status": "SUCCEEDED",
  "urls": ["https://generated-image-url"],
  "variationNumber": 2
}
```
