# black-forest-labs/flux-kontext-max/text-to-image API

This document provides details on the input and output parameters for the `black-forest-labs/flux-kontext-max/text-to-image` model API, aiding you in understanding the meaning of fields when using the API.

---

## Request Parameters

### Request Body

| Field Name     | Type   | Required | Default  | Description                                                                                                                                              |
| -------------- | ------ | -------- | -------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- |
| prompt         | string | Required | -        | Prompt                                                                                                                                                   |
| model          | string | Required | -        | The model name used for this request, which should be `black-forest-labs/flux-kontext-max/text-to-image`.                                                |
| n              | int    | Optional | 1        | Number of images to generate, ranging from 1 to 4                                                                                                        |
| aspect_ratio   | string | Optional | "1:1"    | Aspect ratio of the image in the format "width:height", e.g., "16:9" or "1:1". Supported dimensions: "21:9", "16:9", "4:3", "3:2", "1:1", "2:3", "3:4", "9:16", "9:21" |
| seed           | int    | Optional | -1       | Random seed used to control the randomness of the model output. If you want the generated content to remain consistent, use the same seed value.          |
| steps          | int    | Optional | 20       | Number of inference steps, ranging from 1 to 50                                                                                                          |
| guidance_scale | float  | Optional | 2.5      | Degree of relevance between model output and prompt, i.e., the freedom of the generated image; the larger the value, the lower the freedom of the model, resulting in stronger relevance to the user's prompt. Value range: [1, 10].  |
| negative_prompt | string | Optional | -       | Negative prompt, used to specify content you do not wish to appear in the generated image                                                                |
| response_format | string | Optional | "url"   | Specifies the format to return the generated image in, default is `url`, options include `b64_json`                                                                                 |

## Response Parameters

| Field Name     | Type      | Description                                                                                                                                                                 |
| -------------- | --------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| created        | `integer` | Unix timestamp (seconds) of the creation time of this request.                                                                                                                                                     |
| data           | `array`   | Information of the output images, including the URL for downloading the image or the Base64 encoding. <br>• If the format of the generated image return is specified as url, the corresponding subfield is url; <br>• If specified as b64_json, the corresponding subfield is b64_json. <br>Note: The link will expire within 7 days after generation, please save the image promptly. |
| error          | `Object`  | Error information object                                                                                                                                                     |
| error.code     | `string`  | Error code                                                                                                                                                                   |
| error.message  | `string`  | Error message                                                                                                                                                                |
| error.param    | `string`  | Request id                                                                                                                                                                   |

## Examples

### OPENAI Compatible Interface

`POST https://api.umodelverse.ai/v1/images/generations`

#### Synchronous Request

```bash
curl --location 'https://api.umodelverse.ai/v1/images/generations' \
--header "Authorization: Bearer $MODELVERSE_API_KEY" \
--header 'Content-Type: application/json' \
--data '{
    "model": "black-forest-labs/flux-kontext-max/text-to-image",
    "prompt": "Convert to quick pencil sketch",
    "aspect_ratio": "16:9"
}'
```

```python
import os
from openai import OpenAI

client = OpenAI(
    base_url=os.getenv("BASE_URL", "https://api.umodelverse.ai/v1"),
    api_key=os.getenv("API_KEY", "$MODELVERSE_API_KEY")
)

response = client.images.generate(
    model="black-forest-labs/flux-kontext-max/text-to-image",
    prompt="Convert to quick pencil sketch",
    extra_body={
        "aspect_ratio": "16:9"
    }
)

print(response.data[0].url)
```

### Response

```json
{
  "created": 1750667997,
  "data": [
    {
      "url": "https://xxxxx/xxxx.png",
      "b64_json": "data:image/png;base64,{image_base64_string}"
    }
  ],
  "usage": {
    "input_tokens_details": {}
  }
}
```

```json
{
  "error": {
    "message": "error_message",
    "type": "error_type",
    "param": "request_id",
    "code": "error_code"
  }
}
```

<!--
TODO: Asynchronous Request
### Asynchronous Request

``` -->
