> For the complete documentation index, see [llms.txt](https://developer.apiplex.net/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://developer.apiplex.net/service/kakao-message/kakao-image-upload.md).

# Image Upload API

## **API PLEX Image Upload API**

### Path variable

{% hint style="warning" %}
Please refer to the following information to ensure that path variables are not omitted when making calls
{% endhint %}

| code   | description      |
| ------ | ---------------- |
| userId | API PLEX user ID |

### Single image upload

## API PLEX regular Image upload API

<mark style="color:green;">`POST`</mark> `https://tyrar0qvgf.apigw.ntruss.com/file/v1/FT/image/{userId}`

Upload a regular image to use in KakaoTalk Friend Talk. \
Uploaded images will be deleted after 3 months.

#### Headers

| Name                                           | Type   | Description                       |
| ---------------------------------------------- | ------ | --------------------------------- |
| Content-Type<mark style="color:red;">\*</mark> | string | multipart/form-data;charset=utf-8 |

#### Request Body

| Name                                    | Type | Description                                                                                                                                                                                                             |
| --------------------------------------- | ---- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| image<mark style="color:red;">\*</mark> | file | <p>Image to upload:</p><p>- Recommended size: 720px \* 720px</p><p>- Size limit: Less than 500px in width or aspect ratio less than 2:1 or greater than 3:4</p><p> - File format and size: jpg, png / Maximum 500KB</p> |

{% tabs %}
{% tab title="200: OK Response returned successfully" %}

{% endtab %}
{% endtabs %}

## API PLEX Wide Image upload API

<mark style="color:green;">`POST`</mark> `https://tyrar0qvgf.apigw.ntruss.com/file/v1/FT_WIDE/image/{userId}`

Upload a wide image to use in KakaoTalk Wide. \
Uploaded images will be deleted after 3 months.

#### Headers

| Name                                           | Type   | Description                       |
| ---------------------------------------------- | ------ | --------------------------------- |
| Content-Type<mark style="color:red;">\*</mark> | string | multipart/form-data;charset=utf-8 |

#### Request Body

| Name                                    | Type | Description                                                                                                     |
| --------------------------------------- | ---- | --------------------------------------------------------------------------------------------------------------- |
| image<mark style="color:red;">\*</mark> | file | <p>Image to upload:</p><p>- Size limit: 800px \* 600px</p><p>- File format and size: jpg, png / Maximum 2MB</p> |

{% tabs %}
{% tab title="200: OK Response returned successfully" %}

{% endtab %}
{% endtabs %}

#### Response Body

```json
{
     "data": {
         "image_key": "string",
         "request_date": "string",
         "name": "string",
         "url": "string"
    }
}
```

<table data-full-width="false"><thead><tr><th width="106">key</th><th width="141"> </th><th width="87">type</th><th>description</th></tr></thead><tbody><tr><td>data</td><td></td><td>object</td><td>upload result</td></tr><tr><td> </td><td>image_key</td><td>string</td><td>upload key</td></tr><tr><td> </td><td>request_date</td><td>string</td><td>requested upload date (In the YYYYMMDD format)</td></tr><tr><td> </td><td>name</td><td>string</td><td>upload file name</td></tr><tr><td> </td><td>url</td><td>string</td><td>upload image url (Enter in the request body when sending KakaoTalk Friend Talk)</td></tr><tr><td>errcode</td><td></td><td>string</td><td><a href="#error-code">error code</a></td></tr><tr><td>errmsg</td><td></td><td>string</td><td>error message</td></tr></tbody></table>

#### error codes

<table><thead><tr><th width="118.33333333333331">code</th><th width="325">message</th><th>description</th></tr></thead><tbody><tr><td>E600</td><td>FailedToUploadImageException</td><td>- </td></tr><tr><td></td><td>    InvalidImageMaxLengthException</td><td>Exceeded image size limit</td></tr><tr><td></td><td>    InvalidImageSizeException</td><td>Image size not allowed for sending</td></tr><tr><td></td><td>    InvalidImageFormatException</td><td>Unsupported image format</td></tr><tr><td>G900</td><td>Gateway system error occurred</td><td>GATEWAY error</td></tr><tr><td>CE400</td><td>필수값이 누락되었습니다. (%s)</td><td>required field is missing</td></tr><tr><td>CE500</td><td>System error</td><td>CJ ON system error</td></tr><tr><td>CE504</td><td>일시적인 시스템 오류입니다. (네트워크 타임아웃 to 카카오)</td><td>request/response network timeout (CJON &#x3C;--> kakao)</td></tr></tbody></table>

### Multiple image upload

## Upload a image to use in KakaoTalk Friend Talk Wide Item List.

<mark style="color:green;">`POST`</mark> `https://tyrar0qvgf.apigw.ntruss.com/file/v1/ft-wide-item-list/image/{userId}`

Upload a wide image to use in KakaoTalk Wide Item List. \
Uploaded images will be deleted after 3 months.

#### Headers

| Name                                           | Type   | Description         |
| ---------------------------------------------- | ------ | ------------------- |
| Content-Type<mark style="color:red;">\*</mark> | String | multipart/form-data |

#### Request Body

| Name                                    | Type    | Description                                                                                                                                                                                                         |
| --------------------------------------- | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| image<mark style="color:red;">\*</mark> | file\[] | <p>- Image for Friend Talk Wide Item List</p><p>- maximun count: 4</p><p>- limit size: width 400px \* height 400px \~ width 800px \~ height 400px</p><p>- file format and size: jpg, png / maximum 2MB for each</p> |

{% tabs %}
{% tab title="200: OK Response returned successfully" %}

{% endtab %}
{% endtabs %}

## Upload a image to use in KakaoTalk Friend Talk Carousel Feed.

<mark style="color:green;">`POST`</mark> `https://tyrar0qvgf.apigw.ntruss.com/file/v1/ft-carousel-feed/image/{userId}`

Upload a wide image to use in KakaoTalk Carousel Feed. \
Uploaded images will be deleted after 3 months.

#### Headers

| Name                                           | Type   | Description         |
| ---------------------------------------------- | ------ | ------------------- |
| Content-Type<mark style="color:red;">\*</mark> | String | multipart/form-data |

#### Request Body

| Name                                    | Type    | Description                                                                                                                                                                                                             |
| --------------------------------------- | ------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| image<mark style="color:red;">\*</mark> | file\[] | <p>- Image for Friend Talk Carousel Feed</p><p>- maximun count: 6</p><p>- limit size: minimum width 500px, width:height rate minimum 2:1, maximum 3:4</p><p>- file format and size: jpg, png / maximum 2MB for each</p> |

{% tabs %}
{% tab title="200: OK Response returned successfully" %}

{% endtab %}
{% endtabs %}

#### Response Body

```json5
{
     "result": {
         "success": [
             "formField": "string",
             "url": "string"
         ],
         "failure": [
             "formField": "string",
             "error": {
                 "code": "string",
                 "message": "string"
             }
         ]
         "request_date": "string",
         "name": "string",
         "url": "string"
    },
    "code": "string"
}
```

<table data-full-width="false"><thead><tr><th width="92">키</th><th width="132"> </th><th width="104"></th><th width="102"></th><th width="134">타입</th><th>설명</th></tr></thead><tbody><tr><td>code</td><td></td><td></td><td></td><td>string</td><td>결과 코드</td></tr><tr><td>result</td><td></td><td></td><td></td><td>object</td><td></td></tr><tr><td></td><td>success</td><td></td><td></td><td>object array</td><td>성공 결과 목록</td></tr><tr><td></td><td></td><td>formField</td><td></td><td>string</td><td>순번을 포함한 image field</td></tr><tr><td></td><td></td><td>url</td><td></td><td>string</td><td>업로드된 이미지 url (친구톡 발송시 요청 body에 입력)</td></tr><tr><td></td><td>failure</td><td></td><td></td><td>object array</td><td></td></tr><tr><td></td><td></td><td>formField</td><td></td><td>string</td><td>순번을 포함한 image field</td></tr><tr><td></td><td></td><td>error</td><td></td><td>object</td><td>에러 정보</td></tr><tr><td></td><td></td><td></td><td>code</td><td>string</td><td>에러 코드</td></tr><tr><td></td><td></td><td></td><td>message</td><td>string</td><td>에러 메세지</td></tr></tbody></table>

#### result codes

<table><thead><tr><th width="118.33333333333331">code</th><th width="325">message</th><th>description</th></tr></thead><tbody><tr><td>0000</td><td>-</td><td>success</td></tr><tr><td>6000</td><td>Result.failure[].error.message</td><td>several image upload failed</td></tr><tr><td>G900</td><td>Gateway 시스템 오류가 발생했습니다.</td><td>server internal error</td></tr><tr><td>CE400</td><td>필수값이 누락되었습니다. (%s)</td><td>required field is missing</td></tr><tr><td>CE500</td><td>System error</td><td>CJ ON system error</td></tr><tr><td>CE504</td><td>일시적인 시스템 오류입니다. (네트워크 타임아웃 to 카카오)</td><td>request/response network timeout (CJON &#x3C;--> kakao)</td></tr></tbody></table>

#### error codes

<table><thead><tr><th width="100">code</th><th width="287">message</th><th>설명</th></tr></thead><tbody><tr><td>2001</td><td>InvalidImageLengthException</td><td>image size over</td></tr><tr><td>2002</td><td>InvalidImageShapeException</td><td>invalid image shape</td></tr><tr><td>2003</td><td>InvalidImageFormatException</td><td>invalid image file format</td></tr><tr><td>2004</td><td>FailedToUploadImageException</td><td>server internal error</td></tr><tr><td>413</td><td>Request Entity Too Large</td><td>image file size over</td></tr></tbody></table>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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://developer.apiplex.net/service/kakao-message/kakao-image-upload.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.
