Skip to main content

Понимание основной концепции

MidJourney API имитирует взаимодействия с кнопками Discord. В отличие от типичных REST API, он работает как машина состояний, где каждая операция возвращает новые кнопки для следующего шага.

4 основных API


Полная схема workflow


Ключевая концепция: кнопки и customId

Каждая успешно завершённая задача возвращает массив buttons. У каждой кнопки есть customId, который используется для запуска следующего действия. Пример ответа от /mj/task/\{id\}/fetch:
customId не является фиксированным значением. Он меняется для каждой задачи. Всегда получайте его из массива buttons.

Справочник кнопок по этапам

После IMAGINE (изображение 4-grid)

Эти кнопки возвращаются, когда завершается первоначальная генерация изображения:

После UPSCALE (одно изображение)

После апскейла вы получаете доступ к инструментам редактирования:
Примечание: Названия кнопок и форматы customId могут различаться в зависимости от версии MJ, указанной в вашем prompt (например, --v 6.1 vs --v 5.2). Всегда считывайте кнопки из ответа API.
Кнопка Inpaint (Vary Region) появляется только после Upscale.

Полный пример: генерация и апскейл

Шаг 1: Отправьте imagine request

Ответ:

Шаг 2: Опрашивайте статус задачи

Ответ (когда выполнение завершено):

Шаг 3: Нажмите U1 для апскейла

Ответ:

Шаг 4: Опрашивайте новую задачу и получите результат


Когда требуется Modal?

Когда вы вызываете /mj/submit/action и статус задачи становится MODAL вместо SUCCESS, вы должны вызвать /mj/submit/modal, чтобы передать дополнительные входные данные.

Подтверждённые операции с Modal

Пример: поток Inpaint

Выбор режима скорости

Добавьте префикс скорости к пути:

Другие точки входа

Эти API — независимые точки входа, которые не следуют потоку imagine → action:

Советы по устранению неполадок

На основе дизайна API и рабочего процесса ниже приведены распространённые проблемы, с которыми вы можете столкнуться: