ComfyUI-Maplestory
A custom node that fetches Maplestory character images using Nexon API with configurable actions, emotions, and weapon motions. (Description by CC)
ComfyUI-Maplestory
메이플스토리 캐릭터 이미지를 가져오는 커스텀노드 ComfyUI-Maplestory
<입력>
- api key 입력 필드
- 캐릭터 이름
- 조회 기준일 (2023년 12월 21일부터 가능)
- 액션
- 감정표현
- 무기 모션
<출력>
- 텍스트: character_name, world_name, character_level. character_guild_name
- 이미지: character_image
<예시> 아래는 예시 입니다. (닉네임:캐릭터명)
- 캐릭터 식별자 조회
요청
curl -X 'GET' \
'https://open.api.nexon.com/maplestory/v1/id?character_name=캐릭터명' \
-H 'accept: application/json' \
-H 'x-nxopen-api-key: YOUR_API_KEY'
응답
{
"ocid": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
}
- 기본 정보 조회 (조회 기준일은 KST 기준, YYYY-MM-DD 형식의 optional query)
요청
curl -X 'GET' \
'https://open.api.nexon.com/maplestory/v1/character/basic?ocid=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&date=2025-01-19' \
-H 'accept: application/json' \
-H 'x-nxopen-api-key: YOUR_API_KEY'
응답
{
"date": "2025-01-19T00:00+09:00",
"character_name": "캐릭터명",
"world_name": "월드명",
"character_gender": "여",
"character_class": "아크메이지(불,독)",
"character_class_level": "6",
"character_level": 291,
"character_exp": 84572237590417,
"character_exp_rate": "26.124",
"character_guild_name": "길드명",
"character_image": "https://open.api.nexon.com/static/maplestory/character/look/ABCDEFG?wmotion=W00",
"character_date_create": "2021-06-17T00:00+09:00",
"access_flag": "true",
"liberation_quest_clear": "1"
}
여기에서 character_image는 아래의 내용을 활용할 수 있다.
조회된 캐릭터 외형 이미지 URL에 쿼리 파리미터를 사용하여 캐릭터 이미지의 동작이나 감정표현을 변경하실 수 있습니다. 쿼리 파라미터는 API로 조회된 URL 뒤에 물음표(?)와 "Key=value" 쌍을 입력하여 조회합니다. 여러 개의 쿼리 파라미터를 전달하려면 파라미터 사이에 앰퍼샌드(&)을 추가하여 하나의 문자열로 입력합니다. 액션 및 감정표현에 프레임 값("Key=value.number")을 입력하여 아바타 이미지를 프레임 별로 조회 가능합니다. (20250116 추가) 게임에 설정된 무기 모션이 반영된 이미지로 조회되며, 무기 모션 파라미터로 변경하며 사용할 수 있습니다. (20251120 추가) 예시: https://open.api.nexon.com/static/maplestory/character/look/ABCDEFG?action=A00.2&emotion=E00 캐릭터 외형 이미지에 사용할 수 있는 쿼리 파라미터는 다음과 같습니다.
action: 액션 (A00 ~ A41) A00: stand1 (default)
- frame: 0 ~ 2 A01: stand2
- frame: 0 ~ 2 A02: walk1
- frame: 0 ~ 3 A03: walk2
- frame: 0 ~ 3 A04: prone
- frame: 0 A05: fly
- frame: 0 ~ 1 A06: jump
- frame: 0 A07: sit
- frame: 0 A08: ladder
- frame: 0 ~ 1 A09: rope
- frame: 0 ~ 1 A10: heal
- frame: 0 ~ 2 A11: alert
- frame: 0 ~ 2 A12: proneStab
- frame: 0 ~ 1 A13: swingO1
- frame: 0 ~ 2 A14: swingO2
- frame: 0 ~ 2 A15: swingO3
- frame: 0 ~ 2 A16: swingOF
- frame: 0 ~ 3 A17: swingP1
- frame: 0 ~ 2 A18: swingP2
- frame: 0 ~ 2 A19: swingPF
- frame: 0 ~ 3 A20: swingT1
- frame: 0 ~ 2 A21: swingT2
- frame: 0 ~ 2 A22: swingT3
- frame: 0 ~ 2 A23: swingTF
- frame: 0 ~ 3 A24: stabO1
- frame: 0 ~ 1 A25: stabO2
- frame: 0 ~ 1 A26: stabOF
- frame: 0 ~ 2 A27: stabT1
- frame: 0 ~ 2 A28: stabT2
- frame: 0 ~ 2 A29: stabTF
- frame: 0 ~ 3 A30: shoot1
- frame: 0 ~ 2 A31: shoot2
- frame: 0 ~ 4 A32: shootF
- frame: 0 ~ 2 A33: dead
- frame: 0 A34: ghostwalk
- frame: 0 ~ 3 A35: ghoststand
- frame: 0 ~ 2 A36: ghostjump
- frame: 0 A37: ghostproneStab
- frame: 0 ~ 1 A38: ghostladder
- frame: 0 ~ 1 A39: ghostrope
- frame: 0 ~ 1 A40: ghostfly
- frame: 0 ~ 1 A41: ghostsit
- frame: 0 ~ 0
emotion: 감정표현 (E00 ~ E24) E00: default (default)
- frame: 0 E01: wink
- frame: 0 E02: smile
- frame: 0 E03: cry
- frame: 0 E04: angry
- frame: 0 E05: bewildered
- frame: 0 E06: blink
- frame: 0 ~ 2 E07: blaze
- frame: 0 ~ 1 E08: bowing
- frame: 0 ~ 1 E09: cheers
- frame: 0 E10: chu
- frame: 0 E11: dam
- frame: 0 ~ 1 E12: despair
- frame: 0 ~ 1 E13: glitter
- frame: 0 ~ 1 E14: hit
- frame: 0 E15: hot
- frame: 0 ~ 1 E16: hum
- frame: 0 ~ 1 E17: love
- frame: 0 ~ 1 E18: oops
- frame: 0 E19: pain
- frame: 0 E20: troubled
- frame: 0 E21: qBlue
- frame: 0 E22: shine
- frame: 0 E23: stunned
- frame: 0 E24: vomit
- frame: 0 ~ 1
wmotion: 무기 모션 (W00 ~ W04) W00: 기본 모션 (default, 무기 타입에 따른 모션) W01: 한손 모션 W02: 두손 모션 W03: 건 모션 W04: 무기 제외
기준일은 optional 이므로 디폴트를 비워둬야함. 참고로 오늘 날짜를 입력하면 아래와 같은 에러가 나옴
Exception: Failed to get basic info: {"error":{"name":"OPENAPI00004","message":"Please input valid parameter"}}