본문 바로가기메인 메뉴 바로가기사이드 메뉴 바로가기

kakao developers

관련사이트

사이드 메뉴

플랫폼 API

API 제공

전용 API

어드민 API

이 문서는 KAGE REST API 사용법을 안내합니다.

메서드URL인증 방식
POST카카오
http://kapi.kakao.com/v2/internal/storage/image/upload
공동체
https://kapi.kakao.com/v2/internal/storage/image/upload
외부
https://kapi.kakao.com/v2/storage/image/upload
액세스 토큰
서비스 앱 어드민 키
위임

KAGE에 이미지 파일을 업로드합니다. 아래 규칙이 적용됩니다.

  • 이미지 파일
    • 지원 확장자: JPG, GIF, BMP, PNG, WEBP
    • 최대 용량: 5MB 이하 권장
  • 요청문
    • Content-Typemultipart/form-data로 지정

헤더에 원하는 인증 방식별 정보를 담아 POST로 요청합니다. image_type 값에 따라 이미지 크기가 자동 조정됩니다.

요청 성공 시 응답은 업로드한 이미지 정보를 포함한 JSON 객체입니다. 요청 실패 시 응답 코드로 원인을 확인합니다.

이름설명필수
AuthorizationAuthorization: Bearer ${ACCESS_TOKEN}
인증 방식, 액세스 토큰으로 인증 요청
O
이름타입설명필수
image_typeString업로드할 이미지 타입, ImageType 중 하나, 지정한 타입에 해당하는 크기로 조정(Resize)해 업로드O
fileBinary업로드할 바이너리(Binary) 파일O
secure_resourceBoolean이미지 URL 값의 HTTPS 반환 여부
true: HTTPS 사용
  • false: HTTP 사용
(기본값: false)
X
이름설명필수
AuthorizationAuthorization: KakaoAK ${SERVICE_APP_ADMIN_KEY}
인증 방식, 서비스 앱 어드민 키로 인증 요청
O
이름타입설명필수
image_typeString업로드할 이미지 타입, ImageType 중 하나, 지정한 타입에 해당하는 크기로 조정(Resize)해 업로드O
fileBinary업로드할 바이너리(Binary) 파일O
secure_resourceBoolean이미지 URL 값의 HTTPS 반환 여부
true: HTTPS 사용
  • false: HTTP 사용
(기본값: false)
X
  • 내부 API 요청 시에만 사용 가능합니다.
이름설명필수
AuthorizationAuthorization: KakaoAK ${DELEGATOR_APP_ADMIN_KEY}
인증 방식, 플랫폼 앱 어드민 키로 인증 요청
서비스 앱의 권한을 플랫폼 앱이 위임받아 요청하는 방식으로 내부 API 요청 시 사용 가능
서비스 구분을 위해 서비스 앱의 앱 ID, 앱 키, 토큰 중 하나 파라미터로 전달 필요
O
  • 요청 대상 서비스 앱을 지정하는 파라미터에 따라 필수 파라미터 구성이 달라집니다.
    • 서비스 앱 키: target_app_key
    • 서비스 앱 ID: target_app_id
이름타입설명필수
target_app_keyString이미지를 업로드할 서비스 앱의 키O(Optional)
target_app_idString이미지를 업로드할 서비스 앱의 IDO(Optional)
image_typeString스크랩할 이미지의 타입, ImageType 중 하나, 지정한 타입에 해당하는 크기로 이미지를 조정(Resize)해 스크랩O
fileBinary업로드할 바이너리(Binary) 파일O
secure_resourceBoolean이미지 URL 값의 HTTPS 반환 여부
true: HTTPS 사용
  • false: HTTP 사용
(기본값: false)
X
이름설명
PROFILE110x110 픽셀로 잘라낸(crop) 이미지와 640x640 픽셀로 크기를 조정(Resize)한 이미지
APP_ICON128x128 픽셀로 넓이를 조정한 이미지
BADGE_ICON21x21, 28x28, 32x32, 16x16, 48x48 픽셀로 각각 조정한 이미지
OPENLINK640x640 픽셀과 1024x1024 픽셀의 크기로 각각 조정한 이미지
MAGAZINE1200x200 픽셀로 조정한 이미지
기준 크기 초과 시 이미지 비율 유지하며 긴 변을 200 픽셀로 조정
MAGAZINE2200x300 픽셀로 조정한 이미지
기준 크기 초과 시 이미지 비율 유지하며 200x300 픽셀 이하로 조정
MAGAZINE3700x380 픽셀로 조정한 이미지
기준 크기 초과 시 이미지 비율 유지하며 700x380 픽셀 이하로 조정
MAGAZINE4700x700 픽셀로 조정한 이미지
기준 크기 초과 시 이미지 비율 유지하며 긴 변을 700 픽셀로 조정
ORIGINAL확장자(JPG, GIF, BMP, PNG, WEBP) 그대로의 이미지 원본
KAKAOLINK40확장자 그대로의 이미지 원본
이미지 용량 5MB 이상이면 가로 길이를 800 픽셀로 조정
이름타입설명
imagesObject업로드된 이미지의 전체 URL
키는 이미지 크기, 값은 URL로 구성
(예: "110x110":"http://yyy.kakaocdn.net/.../profile_110x110c.jpg")
infosObject업로드된 이미지 정보
키는 이미지 크기, 값은 ImageInfo로 구성, 예제 참고
이름타입설명필수
urlString이미지의 전체 URLO
lengthNumber이미지의 용량(단위: byte)O
content_typeString이미지의 포맷(Format)O
widthNumber이미지의 가로 크기O
heightNumber이미지의 세로 크기O
  • 파라미터
    • 업로드할 바이너리 파일(file)
    • 업로드할 이미지의 타입(image_type): 프로필 이미지(PROFILE)
    • 이미지 URL HTTPS 반환 여부(secure_resource): 사용하지 않음(false)
curl -X POST "http://kapi.kakao.com/v2/internal/storage/image/upload" \
-H "Content-Type: multipart/form-data" \
-H "Authorization: Bearer ${ACCESS_TOKEN}" \
-F "image_type=PROFILE" \
-F "file=@/aaaa/bbbb/cccc/0.jpg" \
-F "secure_resource=false"
  • 파라미터
    • 업로드할 이미지의 타입(image_type): 프로필 이미지(PROFILE)
    • 업로드할 바이너리 파일(file)
    • 이미지 URL HTTPS 반환 여부(secure_resource): 사용함(true)
curl -v -X POST "http://kapi.kakao.com/v2/internal/storage/image/upload" \
-H "Authorization: KakaoAK ${SERVICE_APP_ADMIN_KEY}" \
-F "image_type=PROFILE" \
-F "file=@/aaaa/bbbb/cccc/0.jpg"
-F "secure_resource=true"
  • 파라미터
    • 서비스 앱 키(target_app_key)
    • 업로드할 이미지의 타입(image_type): 원본 이미지(ORIGINAL)
    • 업로드할 바이너리 파일(file)
    • 이미지 URL HTTPS 반환 여부(secure_resource): 사용하지 않음(false)
curl -v -X POST "http://kapi.kakao.com/v2/internal/storage/image/upload" \
-H "Authorization: KakaoAK ${DELEGATOR_APP_ADMIN_KEY}" \
-d "target_app_key=${SERVICE_APP_KEY}" \
-F "image_type=ORIGINAL" \
-F "file=@/aaaa/bbbb/cccc/0.jpg" \
-F "secure_resource=false"
  • 파라미터
    • 서비스 앱 ID(target_app_id)
    • 업로드할 이미지의 타입(image_type): 프로필 이미지(PROFILE)
    • 업로드할 바이너리 파일(file)
    • 이미지 URL HTTPS 반환 여부(secure_resource): 사용함(true)
curl -v -X POST "http://kapi.kakao.com/v2/internal/storage/image/upload" \
-H "Authorization: KakaoAK ${DELEGATOR_APP_ADMIN_KEY}" \
-d "target_app_id=${SERVICE_APP_ID}" \
-F "image_type=PROFILE" \
-F "file=@/aaaa/bbbb/cccc/0.jpg" \
-F "secure_resource=true"
{
"images": {
"110x110": "http://yyy.kakaocdn.net/dn/.../..../profile_110x110c.jpg",
"640x640": "http://yyy.kakaocdn.net/dn/.../..../profile_640x640s.jpg"
},
"infos": {
"110x110": {
"url": "http://yyy.kakaocdn.net/dn/.../..../profile_110x110c.jpg",
"length": 2653,
"content_type": "image/jpeg",
"width": 110,
"height": 110
},
"640x640": {
"url": "http://yyy.kakaocdn.net/dn/.../..../profile_640x640s.jpg",
"length": 14650,
"content_type": "image/jpeg",
"width": 360,
"height": 640
}
}
}
{
"images": {
"original": "http://yyy.kakaocdn.net/dn/.../..../original.jpg"
},
"infos": {
"original": {
"url": "http://yyy.kakaocdn.net/dn/.../..../original.jpg",
"length": 30423,
"content_type": "image/jpeg",
"width": 700,
"height": 1244
}
}
}
{
"images": {
"21x21": "http://yyy.kakaocdn.net/dn/.../..../badge_icon_21x21s.jpg",
"48x48": "http://yyy.kakaocdn.net/dn/.../..../badge_icon_48x48s.jpg",
"28x28": "http://yyy.kakaocdn.net/dn/.../..../badge_icon_28x28s.jpg",
"16x16": "http://yyy.kakaocdn.net/dn/.../..../badge_icon_16x16s.jpg",
"32x32": "http://yyy.kakaocdn.net/dn/.../..../badge_icon_32x32s.jpg"
},
"infos": {
"21x21": {
"url": "http://yyy.kakaocdn.net/dn/.../..../badge_icon_21x21s.jpg",
"length": 743,
"content_type": "image/jpeg",
"width": 12,
"height": 21
},
"48x48": {
"url": "http://yyy.kakaocdn.net/dn/.../..../badge_icon_48x48s.jpg",
"length": 1032,
"content_type": "image/jpeg",
"width": 27,
"height": 48
},
"28x28": {
"url": "http://yyy.kakaocdn.net/dn/.../..../badge_icon_28x28s.jpg",
"length": 790,
"content_type": "image/jpeg",
"width": 16,
"height": 28
},
"16x16": {
"url": "http://yyy.kakaocdn.net/dn/.../..../badge_icon_16x16s.jpg",
"length": 694,
"content_type": "image/jpeg",
"width": 9,
"height": 16
},
"32x32": {
"url": "http://yyy.kakaocdn.net/dn/.../..../badge_icon_32x32s.jpg",
"length": 838,
"content_type": "image/jpeg",
"width": 18,
"height": 32
}
}
}
메서드URL인증 방식
POST카카오
http://kapi.kakao.com/v2/internal/storage/image/scrap
공동체
https://kapi.kakao.com/v2/internal/storage/image/scrap
외부
https://kapi.kakao.com/v2/storage/image/scrap
액세스 토큰
서비스 앱 어드민 키
위임

KAGE에 이미지를 URL로 업로드합니다. 아래 규칙이 적용됩니다.

  • 이미지 파일
    • 지원 확장자: JPG, GIF, BMP, PNG, WEBP
    • 최대 용량: 5MB 이하 권장
  • 요청문
    • Content-Typeapplication/x-www-form-urlencoded로 지정

헤더에 원하는 인증 정보를 담아 POST로 요청합니다. image_type 값에 따라 이미지 크기가 자동 조정됩니다.

요청 성공 시 응답은 업로드한 이미지 정보를 포함한 JSON 객체입니다. 요청 실패 시 응답 코드로 원인을 확인합니다.

이름형식설명
AuthorizationAuthorization: Bearer ${ACCESS_TOKEN}
인증 방식, 액세스 토큰으로 인증 요청
O
이름타입설명필수
image_typeString스크랩할 이미지의 타입, ImageType 중 하나, 지정한 타입에 해당하는 크기로 이미지를 조정(Resize)해 스크랩O
image_urlString스크랩할 이미지의 URLO
secure_resourceBoolean이미지 URL 값의 HTTPS 반환 여부
true: HTTPS 사용
  • false: HTTP 사용
(기본값: false)
X
이름설명필수
AuthorizationAuthorization: KakaoAK ${SERVICE_APP_ADMIN_KEY}
인증 방식, 서비스 앱 어드민 키로 인증 요청
O
Content-TypeContent-Type: application/x-www-form-urlencoded;charset=utf-8
요청 데이터 타입
O
이름타입설명필수
image_typeString스크랩할 이미지의 타입, ImageType 중 하나, 지정한 타입에 해당하는 크기로 이미지를 조정(Resize)해 스크랩O
image_urlString스크랩할 이미지의 URLO
secure_resourceBoolean이미지 URL 값의 HTTPS 반환 여부
true: HTTPS 사용
  • false: HTTP 사용
(기본값: false)
X
  • 내부 API 요청 시에만 사용 가능합니다.
이름설명필수
AuthorizationAuthorization: KakaoAK ${DELEGATOR_APP_ADMIN_KEY}
인증 방식, 플랫폼 앱 어드민 키로 인증 요청
서비스 앱의 권한을 플랫폼 앱이 위임받아 요청하는 방식으로 내부 API 요청 시 사용 가능
서비스 구분을 위해 서비스 앱의 앱 ID, 앱 키, 토큰 중 하나 파라미터로 전달 필요
O
  • 요청 대상 서비스 앱을 지정하는 파라미터에 따라 필수 파라미터 구성이 달라집니다.
    • 서비스 앱 키: target_app_key
    • 서비스 앱 ID: target_app_id
이름타입설명필수
target_app_keyString이미지를 스크랩할 서비스 앱의 키O(Optional)
target_app_idInteger이미지를 스크랩할 서비스 앱의 IDO(Optional)
image_typeString스크랩할 이미지의 타입, ImageType 중 하나, 지정한 타입에 해당하는 크기로 이미지를 조정(Resize)해 스크랩O
image_urlString스크랩할 이미지의 URLO
secure_resourceBoolean이미지 URL 값의 HTTPS 반환 여부
true: HTTPS 사용
  • false: HTTP 사용
(기본값: false)
X
이름타입설명
imagesObject스크랩된 이미지의 전체 URL
키는 이미지 크기, 값은 URL로 구성
(예: "110x110":"http://yyy.kakaocdn.net/.../profile_110x110c.jpg")
infosObject스크랩된 이미지 정보
키는 이미지 크기, 값은 ImageInfo로 구성, 예제 참고
  • 파라미터
    • 스크랩할 이미지의 타입(image_type): 프로필 이미지(PROFILE)
    • 스크랩할 이미지 URL(image_url)
    • 이미지 URL HTTPS 반환 여부(secure_resource): 사용하지 않음(false)
curl -X POST "http://kapi.kakao.com/v2/internal/storage/image/scrap" \
-H "Content-Type: application/x-www-form-urlencoded;charset=utf-8" \
-H "Authorization: Bearer ${ACCESS_TOKEN}" \
-d "image_type=PROFILE" \
-d "image_url=http://yyy.kakaocdn.net/dn/.../..../imagefile.jpg" \
-d "secure_resource=false"
  • 파라미터
    • 스크랩할 이미지의 타입(image_type): 프로필 이미지(PROFILE)
    • 스크랩할 이미지 URL(image_url)
    • 이미지 URL HTTPS 반환 여부(secure_resource): 사용함(true)
curl -v -X POST "http://kapi.kakao.com/v2/internal/storage/image/scrap" \
-H "Authorization: KakaoAK ${SERVICE_APP_ADMIN_KEY}" \
-d "image_type=PROFILE" \
-d "image_url=http://yyy.kakaocdn.net/dn/.../..../imagefile.jpg" \
-d "secure_resource=true"
  • 파라미터
    • 서비스 앱 키(target_app_key)
    • 스크랩할 이미지의 타입(image_type): 원본 이미지(ORIGINAL)
    • 스크랩할 이미지 URL(image_url)
    • 이미지 URL HTTPS 반환 여부(secure_resource): 사용하지 않음(false)
curl -v -X POST "http://kapi.kakao.com/v2/internal/storage/image/scrap?" \
-H "Authorization: KakaoAK ${DELEGATOR_APP_ADMIN_KEY}" \
-d "target_app_key=${SERVICE_APP_KEY}" \
-d "image_type=ORIGINAL" \
-d "image_url=http://yyy.kakaocdn.net/dn/.../..../imagefile.jpg" \
-d "secure_resource=false"
  • 파라미터
    • 서비스 앱 ID(target_app_id)
    • 스크랩할 이미지 URL(image_url)
    • 스크랩할 이미지의 타입(image_type): 프로필 이미지(PROFILE)
    • 이미지 URL HTTPS 반환 여부(secure_resource): 사용함(true)
curl -v -X POST "http://kapi.kakao.com/v2/internal/storage/image/scrap" \
-H "Authorization: KakaoAK ${DELEGATOR_APP_ADMIN_KEY}" \
-d "target_app_id=${SERVICE_APP_ID}" \
-d "image_type=PROFILE" \
-d "image_url=http://yyy.kakaocdn.net/dn/.../..../imagefile.jpg" \
-d "secure_resource=true"
{
"images": {
"110x110": "http://yyy.kakaocdn.net/dn/.../..../profile_110x110c.jpg",
"640x640": "http://yyy.kakaocdn.net/dn/.../..../profile_640x640s.jpg"
},
"infos": {
"110x110": {
"url": "http://yyy.kakaocdn.net/dn/.../..../profile_110x110c.jpg",
"length": 1540,
"content_type": "image/jpeg",
"width": 110,
"height": 110
},
"640x640": {
"url": "http://yyy.kakaocdn.net/dn/.../..../profile_640x640s.jpg",
"length": 11350,
"content_type": "image/jpeg",
"width": 640,
"height": 360
}
}
}
{
"images": {
"original": "http://yyy.kakaocdn.net/dn/.../..../original.jpg"
},
"infos": {
"original": {
"url": "http://yyy.kakaocdn.net/dn/.../..../original.jpg",
"length": 30423,
"content_type": "image/jpeg",
"width": 700,
"height": 1244
}
}
}
{
"images": {
"21x21": "http://yyy.kakaocdn.net/dn/.../..../badge_icon_21x21s.jpg",
"48x48": "http://yyy.kakaocdn.net/dn/.../..../badge_icon_48x48s.jpg",
"28x28": "http://yyy.kakaocdn.net/dn/.../..../badge_icon_28x28s.jpg",
"16x16": "http://yyy.kakaocdn.net/dn/.../..../badge_icon_16x16s.jpg",
"32x32": "http://yyy.kakaocdn.net/dn/.../..../badge_icon_32x32s.jpg"
},
"infos": {
"21x21": {
"url": "http://yyy.kakaocdn.net/dn/.../..../badge_icon_21x21s.jpg",
"length": 743,
"content_type": "image/jpeg",
"width": 12,
"height": 21
},
"48x48": {
"url": "http://yyy.kakaocdn.net/dn/.../..../badge_icon_48x48s.jpg",
"length": 1032,
"content_type": "image/jpeg",
"width": 27,
"height": 48
},
"28x28": {
"url": "http://yyy.kakaocdn.net/dn/.../..../badge_icon_28x28s.jpg",
"length": 790,
"content_type": "image/jpeg",
"width": 16,
"height": 28
},
"16x16": {
"url": "http://yyy.kakaocdn.net/dn/.../..../badge_icon_16x16s.jpg",
"length": 694,
"content_type": "image/jpeg",
"width": 9,
"height": 16
},
"32x32": {
"url": "http://yyy.kakaocdn.net/dn/.../..../badge_icon_32x32s.jpg",
"length": 838,
"content_type": "image/jpeg",
"width": 18,
"height": 32
}
}
}
메서드URL인증 방식
DELETE카카오
http://kapi.kakao.com/v2/internal/storage/image/delete
공동체
https://kapi.kakao.com/v2/internal/storage/image/delete
외부
https://kapi.kakao.com/v2/storage/image/delete
액세스 토큰
서비스 앱 어드민 키
위임

KAGE에 업로드한 이미지를 삭제합니다.

업로드된 이미지의 URL(image_url)이나 이미지 토큰(image_token) 값으로 해당 이미지 삭제를 요청할 수 있습니다. image_token은 이미지 업로드 성공 응답으로 받은 image_url에 포함된 값입니다. 아래 예제를 참고합니다.

image_url="${kage_domain}/${download_base_path}/${image_token}/${file_name}"
(예시)
image_url="http://yyy.kakaocdn.net/dn/{..../....}/original.jpg"

헤더에 원하는 인증 정보를 담아 DELETE로 요청합니다. 요청 시 image_urlimage_token 파라미터 중 하나는 반드시 전달해야 합니다.

요청 성공 시 응답은 바디가 없는 HTTP 200 상태 코드입니다. 요청 실패 시 응답 코드로 원인을 확인합니다.

이름설명필수
AuthorizationAuthorization: Bearer ${ACCESS_TOKEN}
인증 방식, 액세스 토큰으로 인증 요청
O
  • image_urlimage_token 중 하나의 파라미터는 필수 전달해야 합니다.
이름타입설명필수
image_urlString삭제할 이미지의 URLO(Optional)
image_tokenString삭제할 이미지의 토큰O(Optional)
이름설명필수
AuthorizationAuthorization: KakaoAK ${SERVICE_APP_ADMIN_KEY}
인증 방식, 서비스 앱 어드민 키로 인증 요청
O
  • image_urlimage_token 중 하나의 파라미터는 필수 전달해야 합니다.
이름타입설명필수
image_urlString삭제할 이미지의 URLO(Optional)
image_tokenString삭제할 이미지의 토큰O(Optional)
  • 내부 API 요청 시에만 사용 가능합니다.
이름설명필수
AuthorizationAuthorization: KakaoAK ${DELEGATOR_APP_ADMIN_KEY}
인증 방식, 플랫폼 앱 어드민 키로 인증 요청
서비스 앱의 권한을 플랫폼 앱이 위임받아 요청하는 방식으로 내부 API 요청 시 사용 가능
서비스 구분을 위해 서비스 앱의 앱 ID, 앱 키, 토큰 중 하나 파라미터로 전달 필요
O
  • image_urlimage_token 중 하나의 파라미터는 필수 전달해야 합니다.
  • 요청 대상 서비스 앱을 지정하는 파라미터에 따라 필수 파라미터 구성이 달라집니다.
    • 서비스 앱 키: target_app_key
    • 서비스 앱 ID: target_app_id
이름타입설명필수
target_app_keyString이미지를 삭제할 서비스 앱의 키O(Optional)
target_app_idInteger이미지를 삭제할 서비스 앱의 IDO(Optional)
image_urlString삭제할 이미지의 URLO(Optional)
image_tokenString삭제할 이미지의 토큰O(Optional)
  • 파라미터
    • 이미지 URL(image_url)
curl -v -G -X DELETE "http://kapi.kakao.com/v2/internal/storage/image/delete" \
-H "Authorization: Bearer ${ACCESS_TOKEN}" \
-d "image_url=http://yyy.kakaocdn.net/dn/.../..../original.jpg"
  • 파라미터
    • 이미지 토큰(image_token)
curl -v -G -X DELETE "http://kapi.kakao.com/v2/internal/storage/image/delete" \
-H "Authorization: KakaoAK ${SERVICE_APP_ADMIN_KEY}" \
-d "image_token=${IMAGE_TOKEN}"
  • 파라미터
    • 서비스 앱 키(target_app_key)
    • 이미지 URL(image_url)
curl -v -G -X DELETE "http://kapi.kakao.com/v2/internal/storage/image/delete" \
-H "Authorization: KakaoAK ${DELEGATOR_APP_ADMIN_KEY}" \
-d "target_app_key=${SERVICE_APP_KEY}" \
-d "image_url=http://yyy.kakaocdn.net/dn/.../..../original.jpg"
  • 파라미터
    • 서비스 앱 ID(target_app_id)
    • 이미지 토큰(image_token)
curl -v -G -X DELETE "http://kapi.kakao.com/v2/internal/storage/image/delete" \
-H "Authorization: KakaoAK ${DELEGATOR_APP_ADMIN_KEY}" \
-d "target_app_id=${SERVICE_APP_ID}" \
-d "image_token=${IMAGE_TOKEN}"
HTTP/1.1 200 OK

도움이 되었나요?