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

# Image Generate

> Easily create an image from scratch with our AI image generator by entering descriptive text.

<Warning>The resources (image, video, voice) generated by our API are valid for 7 days. Please save the relevant resources as soon as possible to prevent expiration.</Warning>

### Text to image / Image to image

```
POST https://openapi.akool.com/api/open/v3/content/image/createbyprompt
```

**Request Headers**

| **Parameter** | **Value**        | **Description**                                                                                                                                                 |
| ------------- | ---------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| x-api-key     | API Key          | Your API Key used for request authorization. If both Authorization and x-api-key have values, Authorization will be used first and x-api-key will be discarded. |
| Authorization | Bearer `{token}` | Your API Key used for request authorization.[Get Token](/authentication/usage#get-the-token)                                                                    |

**Body Attributes**

| **Parameter** | **Type** | **Value**                                     | **Description**                                                                                                                      |
| ------------- | -------- | --------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------ |
| prompt        | String   |                                               | Describe the information needed to generate the image                                                                                |
| scale         | String   | "1:1" "4:3" "3:4" "16:9" "9:16"   "3:2" "2:3" | The size of the generated image   default: "1:1"                                                                                     |
| source\_image | String   |                                               | Need to generate the original image link of the image 【If you want to perform imageToImage operation you can pass in this parameter】 |
| webhookUrl    | String   |                                               | Callback url address based on HTTP request                                                                                           |

**Response Attributes**

| **Parameter** | **Type** | **Value**                      | **Description**                                                                                                     |
| ------------- | -------- | ------------------------------ | ------------------------------------------------------------------------------------------------------------------- |
| code          | int      | 1000                           | Interface returns business status code(1000:success)                                                                |
| msg           | String   |                                | Interface returns status information                                                                                |
| data          | Object   | `{ _id: "", image_status: 1 }` | \_id: Interface returns data, image\_status: the status of image: 【1:queueing, 2:processing, 3:completed, 4:failed】 |

**Example**

**Body**

```json theme={null}
{
    "prompt": "Sun Wukong is surrounded by heavenly soldiers and generals", // Describe the information needed to generate the image
    "scale": "1:1",
    "source_image": "https://drz0f01yeq1cx.cloudfront.net/1708333063911-9cbe39b7-3c5f-4a35-894c-359a6cbb76c3-3283.png", // Need to generate the original image link of the image 【If you want to perform imageToImage operation you can pass in this parameter】
    "webhookUrl":"" //  Callback url address based on HTTP request
}
```

**Request**

<CodeGroup>
  ```bash cURL theme={null}
  curl --location 'https://openapi.akool.com/api/open/v3/content/image/createbyprompt' \
  --header "x-api-key: {{API Key}}" \
  --header 'Content-Type: application/json' \
  --data '{
      "prompt": "Sun Wukong is surrounded by heavenly soldiers and generals",
      "source_image": "https://drz0f01yeq1cx.cloudfront.net/1708333063911-9cbe39b7-3c5f-4a35-894c-359a6cbb76c3-3283.png",
       "scale": "1:1",
      "webhookUrl":""
  }
  '
  ```

  ```java Java theme={null}
  OkHttpClient client = new OkHttpClient().newBuilder()
    .build();
  MediaType mediaType = MediaType.parse("application/json");
  RequestBody body = RequestBody.create(mediaType, "{\n    \"prompt\": \"Sun Wukong is surrounded by heavenly soldiers and generals\", \n    \"source_image\": \"https://drz0f01yeq1cx.cloudfront.net/1708333063911-9cbe39b7-3c5f-4a35-894c-359a6cbb76c3-3283.png\", \n    \"webhookUrl\":\"\" \n}\n");
  Request request = new Request.Builder()
    .url("https://openapi.akool.com/api/open/v3/content/image/createbyprompt")
    .method("POST", body)
    .addHeader("x-api-key", "{{API Key}}")
    .addHeader("Content-Type", "application/json")
    .build();
  Response response = client.newCall(request).execute();
  ```

  ```javascript Javascript theme={null}
  const myHeaders = new Headers();
  myHeaders.append("x-api-key", "{{API Key}}");
  myHeaders.append("Content-Type", "application/json");

  const raw = JSON.stringify({
    "prompt": "Sun Wukong is surrounded by heavenly soldiers and generals",
    "source_image": "https://drz0f01yeq1cx.cloudfront.net/1708333063911-9cbe39b7-3c5f-4a35-894c-359a6cbb76c3-3283.png",
   "scale": "1:1",
    "webhookUrl": ""
  });

  const requestOptions = {
    method: "POST",
    headers: myHeaders,
    body: raw,
    redirect: "follow"
  };

  fetch("https://openapi.akool.com/api/open/v3/content/image/createbyprompt", requestOptions)
    .then((response) => response.text())
    .then((result) => console.log(result))
    .catch((error) => console.error(error));
  ```

  ```php PHP  theme={null}
  <?php
  $client = new Client();
  $headers = [
    'x-api-key' =>'{{API Key}}',
    'Content-Type' => 'application/json'
  ];
  $body = '{
    "prompt": "Sun Wukong is surrounded by heavenly soldiers and generals",
    "source_image": "https://drz0f01yeq1cx.cloudfront.net/1708333063911-9cbe39b7-3c5f-4a35-894c-359a6cbb76c3-3283.png",
   "scale": "1:1",
    "webhookUrl": ""
  }';
  $request = new Request('POST', 'https://openapi.akool.com/api/open/v3/content/image/createbyprompt', $headers, $body);
  $res = $client->sendAsync($request)->wait();
  echo $res->getBody();
  ```

  ```python Python  theme={null}
  import requests
  import json

  url = "https://openapi.akool.com/api/open/v3/content/image/createbyprompt"

  payload = json.dumps({
    "prompt": "Sun Wukong is surrounded by heavenly soldiers and generals",
    "source_image": "https://drz0f01yeq1cx.cloudfront.net/1708333063911-9cbe39b7-3c5f-4a35-894c-359a6cbb76c3-3283.png",
   "scale": "1:1",
    "webhookUrl": ""
  })
  headers = {
    'x-api-key':'{{API Key}}',
    'Content-Type': 'application/json'
  }

  response = requests.request("POST", url, headers=headers, data=payload)

  print(response.text)
  ```
</CodeGroup>

**Response**

```json theme={null}
{
    "code": 1000,
    "msg": "OK",
    "data": {
        "faceswap_quality": 2,
        "deduction_credit": 2, 
        "buttons": [],  
        "used_buttons": [], 
        "upscaled_urls": [],    
        "_id": "64dd82eef0b6684651e90131",
        "uid": 378337,  
        "create_time": 1692238574633, 
        "origin_prompt": "***", 
        "source_image": "https://***.cloudfront.net/1702436829534-4a813e6c-303e-48c7-8a4e-b915ae408b78-5034.png", 
        "prompt": "***** was a revolutionary leader who transformed *** into a powerful communist state.",    
        "type": 4,
        "from": 1,  
        "image_status": 1  // the status of image： 【1:queueing, 2:processing,3:completed, 4:failed】
    }
}
```

### Generate 4K or variations

```
POST https://openapi.akool.com/api/open/v3/content/image/createbybutton
```

**Request Headers**

| **Parameter** | **Value**        | **Description**                                                                                                                                                 |
| ------------- | ---------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| x-api-key     | API Key          | Your API Key used for request authorization. If both Authorization and x-api-key have values, Authorization will be used first and x-api-key will be discarded. |
| Authorization | Bearer `{token}` | Your API Key used for request authorization.[Get Token](/authentication/usage#get-the-token)                                                                    |

**Body Attributes**

| **Parameter** | **Type** | **Value** | **Description**                                                                                                                                                                                                                                                                                                                                                              |
| ------------- | -------- | --------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| \_id          | String   |           | the image`_id` you had generated, you can got it from [Create By Prompt API](/ai-tools-suite/image-generate#text-to-image-image-to-image)                                                                                                                                                                                                                                    |
| button        | String   |           | the type of operation you want to perform, You can get the field（display\_buttons） value from [Info By Model ID API](/ai-tools-suite/image-generate#get-image-result-image-info)【U(1-4): Generate a single 4k image based on the corresponding serial number original image， V(1-4)：Generate a single variant image based on the corresponding serial number original image】 |
| webhookUrl    | String   |           | Callback url address based on HTTP request                                                                                                                                                                                                                                                                                                                                   |

**Response Attributes**

| **Parameter** | **Type** | **Value**                                                          | **Description**                                                                                                                                                                                                                                |
| ------------- | -------- | ------------------------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| code          | int      | 1000                                                               | Interface returns business status code(1000:success)                                                                                                                                                                                           |
| msg           | String   |                                                                    | Interface returns status information                                                                                                                                                                                                           |
| data          | Object   | `{_id:"",image_content_model_id: "",op_button: "",image_status:1}` | `_id`: Interface returns data image\_content\_model\_id: the origin image `_id` you had generated op\_button: the type of operation you want to perform image\_status:  the status of image： 【1:queueing, 2:processing, 3:completed, 4:failed】 |

**Example**

**Body**

```json theme={null}
{
    "_id": "65d3206b83ccf5ab7d46cdc6",  // the image【_id】 you had generated, you can got it from https://openapi.akool.com/api/open/v3/content/image/createbyprompt
    "button": "U2",  // the type of operation you want to perform, You can get the field（display_buttons） value from https://content.akool.com/api/v1/content/image/infobyid 【U(1-4): Generate a single 4k image based on the corresponding serial number original image， V(1-4)：Generate a single variant image based on the corresponding serial number original image】
    "webhookUrl":"" //  Callback url address based on HTTP request
}
```

**Request**

<CodeGroup>
  ```bash cURL theme={null}
  curl --location 'https://openapi.akool.com/api/open/v3/content/image/createbybutton' \
  --header "x-api-key: {{API Key}}" \
  --header 'Content-Type: application/json' \
  --data '{
      "_id": "65d3206b83ccf5ab7d46cdc6",
      "button": "U2",
      "webhookUrl":""
  }'
  ```

  ```java Java theme={null}
  OkHttpClient client = new OkHttpClient().newBuilder()
    .build();
  MediaType mediaType = MediaType.parse("application/json");
  RequestBody body = RequestBody.create(mediaType, "{\n    \"_id\": \"65d3206b83ccf5ab7d46cdc6\",  \n    \"button\": \"U2\",  \n    \"webhookUrl\":\"\" \n}");
  Request request = new Request.Builder()
    .url("https://openapi.akool.com/api/open/v3/content/image/createbybutton")
    .method("POST", body)
    .addHeader("x-api-key", "{{API Key}}")
    .addHeader("Content-Type", "application/json")
    .build();
  Response response = client.newCall(request).execute();
  ```

  ```js Javascript theme={null}
  const myHeaders = new Headers();
  myHeaders.append("x-api-key", "{{API Key}}");
  myHeaders.append("Content-Type", "application/json");

  const raw = JSON.stringify({
    "_id": "65d3206b83ccf5ab7d46cdc6",
    "button": "U2",
    "webhookUrl": ""
  });

  const requestOptions = {
    method: "POST",
    headers: myHeaders,
    body: raw,
    redirect: "follow"
  };

  fetch("https://openapi.akool.com/api/open/v3/content/image/createbybutton", requestOptions)
    .then((response) => response.text())
    .then((result) => console.log(result))
    .catch((error) => console.error(error));
  ```

  ```php PHP theme={null}
  <?php
  $client = new Client();
  $headers = [
    'x-api-key' =>'{{API Key}}',
    'Content-Type' => 'application/json'
  ];
  $body = '{
    "_id": "65d3206b83ccf5ab7d46cdc6",
    "button": "U2",
    "webhookUrl": ""
  }';
  $request = new Request('POST', 'https://openapi.akool.com/api/open/v3/content/image/createbybutton', $headers, $body);
  $res = $client->sendAsync($request)->wait();
  echo $res->getBody();
  ```

  ```python Python theme={null}
  import requests
  import json

  url = "https://openapi.akool.com/api/open/v3/content/image/createbybutton"

  payload = json.dumps({
    "_id": "65d3206b83ccf5ab7d46cdc6",
    "button": "U2",
    "webhookUrl": ""
  })
  headers = {
    'x-api-key':'{{API Key}}',
    'Content-Type': 'application/json'
  }

  response = requests.request("POST", url, headers=headers, data=payload)

  print(response.text)
  ```
</CodeGroup>

**Response**

```json theme={null}
{
    "code": 1000,
    "msg": "OK",
    "data": {
        "faceswap_quality": 2,
        "deduction_credit": 2,
        "buttons": [],
        "used_buttons": [],
        "upscaled_urls": [],
        "_id": "6508292f16e5ba407d47d21b",
        "image_content_model_id": "6508288416e5ba407d47d13f", // the origin image【_id】 you had generated
        "create_time": 1695033647012,
        "op_button": "U2",  // the type of operation you want to perform
        "op_buttonMessageId": "kwZsk6elltno5Nt37VLj",
        "image_status": 1,  // the status of image： 【1:queueing, 2:processing, 3:completed, 4:failed】
        "from": 1
    }
}
```

### Get  Image Result image info

```
GET https://openapi.akool.com/api/open/v3/content/image/infobymodelid?image_model_id=64dd838cf0b6684651e90217
```

**Request Headers**

| **Parameter** | **Value**        | **Description**                                                                                                                                                 |
| ------------- | ---------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| x-api-key     | API Key          | Your API Key used for request authorization. If both Authorization and x-api-key have values, Authorization will be used first and x-api-key will be discarded. |
| Authorization | Bearer `{token}` | Your API Key used for request authorization.[Get Token](/authentication/usage#get-the-token)                                                                    |

**Query Attributes**

| **Parameter**    | **Type** | **Value** | **Description**                                                                                                                                                                                                                              |
| ---------------- | -------- | --------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| image\_model\_id | String   |           | image db id：You can get it based on the `_id` field returned by [Create By Prompt API](/ai-tools-suite/image-generate#text-to-image-image-to-image) or [Create By Button API](/ai-tools-suite/image-generate#generate-4k-or-variations) api. |

**Response Attributes**

| **Parameter** | **Type** | **Value**                          | **Description**                                                                                                                                          |
| ------------- | -------- | ---------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- |
| code          | int      | 1000                               | Interface returns business status code(1000:success)                                                                                                     |
| msg           | String   |                                    | Interface returns status information                                                                                                                     |
| data          | Object   | `{image_status:1,_id:"",image:""}` | image\_status:  the status of image： 【1:queueing, 2:processing, 3:completed, 4:failed】 image: Image result after processing \_id: Interface returns data |

**Example**

**Request**

<CodeGroup>
  ```bash cURL theme={null}
  curl --location 'https://openapi.akool.com/api/open/v3/content/image/infobymodelid?image_model_id=662a10df4197b3af58532e89' \
  --header "x-api-key: {{API Key}}"
  ```

  ```java Java theme={null}
  OkHttpClient client = new OkHttpClient().newBuilder()
    .build();
  MediaType mediaType = MediaType.parse("text/plain");
  RequestBody body = RequestBody.create(mediaType, "");
  Request request = new Request.Builder()
    .url("https://openapi.akool.com/api/open/v3/content/image/infobymodelid?image_model_id=662a10df4197b3af58532e89")
    .method("GET", body)
    .addHeader("x-api-key", "{{API Key}}")
    .build();
  Response response = client.newCall(request).execute();
  ```

  ```js Javascript  theme={null}
  const myHeaders = new Headers();
  myHeaders.append("x-api-key", "{{API Key}}");

  const requestOptions = {
    method: "GET",
    headers: myHeaders,
    redirect: "follow"
  };

  fetch("https://openapi.akool.com/api/open/v3/content/image/infobymodelid?image_model_id=662a10df4197b3af58532e89", requestOptions)
    .then((response) => response.text())
    .then((result) => console.log(result))
    .catch((error) => console.error(error));
  ```

  ```php PHP  theme={null}
  <?php
  $client = new Client();
  $headers = [
    'x-api-key' =>'{{API Key}}'
  ];
  $request = new Request('GET', 'https://openapi.akool.com/api/open/v3/content/image/infobymodelid?image_model_id=662a10df4197b3af58532e89', $headers);
  $res = $client->sendAsync($request)->wait();
  echo $res->getBody();
  ```

  ```python Python theme={null}
  import requests

  url = "https://openapi.akool.com/api/open/v3/content/image/infobymodelid?image_model_id=662a10df4197b3af58532e89"

  payload = {}
  headers = {
    'x-api-key':'{{API Key}}'
  }

  response = requests.request("GET", url, headers=headers, data=payload)

  print(response.text)
  ```
</CodeGroup>

**Response**

```json theme={null}
{
    "code": 1000,
    "msg": "OK",
    "data": {
        "faceswap_quality": 2,
        "deduction_credit": 2,
        "buttons": [ "U1",
            "U2",
            "U3",
            "U4",
            "V1",
            "V2",
            "V3",
            "V4"],
        "used_buttons": [],
        "upscaled_urls": [],
        "_id": "662a10df4197b3af58532e89",
        "create_time": 1714032863272,
        "uid": 378337,
        "type": 3,
        "image_status": 3,  // the status of image：【1：queueing， 2：processing，3：completed，4：failed】
        "image": "https://***.cloudfront.net/1714032892336-e0ec9305-e217-4b79-8704-e595a822c12b-8013.png"  // Image result after processing
    }
}
```

**Response Code Description**

<Note> Please note that if the value of the response code is not equal to 1000, the request is failed or wrong</Note>

| **Parameter** | **Value** | **Description**                                        |
| ------------- | --------- | ------------------------------------------------------ |
| code          | 1000      | Success                                                |
| code          | 1003      | Parameter error  or Parameter can not be empty         |
| code          | 1008      | The content you get does not exist                     |
| code          | 1009      | You do not have permission to operate                  |
| code          | 1010      | You can not operate this content                       |
| code          | 1101      | Invalid authorization or The request token has expired |
| code          | 1102      | Authorization cannot be empty                          |
| code          | 1108      | image generate error,please try again later            |
| code          | 1200      | The account has been banned                            |
