Skip to main content

핵심 개념 이해하기

MidJourney API는 Discord 버튼 상호작용을 시뮬레이션합니다. 일반적인 REST API와 달리, 각 작업이 다음 단계에 사용할 새로운 버튼을 반환하는 상태 머신처럼 동작합니다.

4가지 핵심 API


전체 워크플로우 다이어그램


핵심 개념: Buttons와 customId

성공한 각 작업은 buttons 배열을 반환합니다. 각 버튼에는 다음 작업을 실행할 때 사용하는 customId가 있습니다. /mj/task/\{id\}/fetch의 응답 예시:
customId는 고정된 값이 아닙니다. 작업마다 달라집니다. 항상 buttons 배열에서 가져오세요.

단계별 버튼 참조

IMAGINE 이후 (4분할 그리드 이미지)

초기 이미지 생성이 완료되면 다음 버튼이 반환됩니다:

UPSCALE 이후 (단일 이미지)

업스케일 후에는 편집 도구를 사용할 수 있습니다:
참고: 버튼 라벨과 customId 형식은 프롬프트에 지정한 MJ 버전(예: --v 6.1--v 5.2)에 따라 달라질 수 있습니다. 항상 API 응답에서 버튼을 읽으세요.
Inpaint (Vary Region) 버튼은 Upscale 이후에만 표시됩니다.

전체 예시: 생성 및 업스케일

1단계: imagine 요청 제출

응답:

2단계: 작업 상태 폴링

응답(완료 시):

3단계: U1을 클릭해 업스케일

응답:

4단계: 새 작업을 폴링하고 결과 받기


Modal은 언제 필요한가요?

/mj/submit/action을 호출했을 때 작업 상태가 SUCCESS가 아니라 MODAL이 되면, 추가 입력을 제공하기 위해 /mj/submit/modal을 호출해야 합니다.

확인된 Modal 작업

예시: Inpaint 흐름

속도 모드 선택

경로에 속도 접두사를 추가하세요:

기타 진입점

이 API들은 imagine → action 흐름을 따르지 않는 독립적인 진입점입니다:

문제 해결 팁

API 설계와 워크플로를 기준으로, 다음은 자주 발생할 수 있는 문제들입니다: