Схема работы с Midjourney для получения изображения
Post
https://mjapi.ru/midjourney/jobsImagine.php

Запуск генерации 4 картинок

Get
https://mjapi.ru/midjourney/jobsInfo.php

Получение 4 картинок

Post
https://mjapi.ru/midjourney/jobsButtonUpscale.php

Апскейл выбранной

Get
https://mjapi.ru/midjourney/jobsInfo.php

Получение Апскейла

для максимального размера
Post
https://mjapi.ru/midjourney/jobsButtonUpscale.php

Апскейл выбранной

Get
https://mjapi.ru/midjourney/jobsInfo.php

Получение Апскейла

Imagine

Генерация 4 изображений по промпту

Post
https://mjapi.ru/midjourney/jobsImagine.php
Request header
Authorization: Bearer {API token}
Content-Type: application/json
Query parameters
{
discord: "Discord token",
prompt: "/imagine {prompt}",
server: "Discord server id",
channel: "Discord channel id",
maxJobs: "3 или 11",
replyUrl: "URL для callback",
replyRef: "Ваш reference id"
}
Формат ответа сервера JSON
{
"jobid": "<jobid>", // string - ID для проверки статуса
"verb": "imagine", // 'imagine' - тип операции
"status": "started", // 'started'|'moderated'|'failed' - текущий статус
"prompt": "Colibri bird", // string - исходный промпт
"channel": "<Discord channel id>", // string - ID канала Discord
"server": "<Discord server id>", // string - ID сервера Discord
"replyUrl": "url адрес вашего вебхука ", // string - URL для callback
"replyRef": "<your optional reference id>", // string - ваш reference ID
"error": null, // string|null - ошибка (если есть)
"errorDetails": null, // string|null - детали ошибки
"executingJobs": [], // string[] - выполняемые задачи
"code": 200 // number - HTTP статус код
}

Примечание: Для получения отдельных апскейл-изображений используйте jobid в запросе к эндпоинту jobsSeed после завершения генерации.

Все поля являются опциональными и могут отсутствовать в ответе в зависимости от статуса задания.

Status

Получение информации о задании (Imagine, Upscale, Upscale Max, Describe, Seed)

Get
https://mjapi.ru/midjourney/jobsInfo.php
Request header
Authorization: Bearer {API token}
Query parameters
{
"jobid": "ID задания"
"replyUrl": "Адрес вебхука, на который придёт ответ"
"replyRef": "Ваш reference id"
}
Формат ответа сервера JSON
{
"jobid": "<jobid>", // string - ID задания
"verb": "imagine", // 'imagine'|'button'|'blend'|'describe' - тип операции
"status": "completed", // 'created'|'started'|'completed'|'failed' - статус
"created": "2025-03-09T09:04:49.667Z", // string (ISO 8601) - время создания
"updated": "2025-03-09T09:19:20.256Z", // string (ISO 8601) - время обновления
"prompt": "Steampunk cat", // string - исходный промпт
"children": [ // array - дочерние задания
{
"button": "U1", // string - тип кнопки (U1-U4, V1-V4 и др.)
"jobid": "<jobid>",
"messageId": "<Discord message id>"
},
{
"button": "U2",
"jobid": "<jobid>",
"messageId": "<Discord message id>"
},
{
"messageId": "<Discord message id>",
"button": "U3",
"jobid": "<jobid>"
}
],
"buttons": [ // array - доступные кнопки действий
"U1", "U2", "U3", "U4", "V1", "V2", "V3", "V4"
],
"channel": "<Discord channel id>", // string - ID канала
"server": "<Discord server id>", // string - ID сервера
"maxJobs": 3, // number - лимит одновременных задач
"content": "**Steampunk cat --s 750 --v 5.2** - <@Discord user id> (fast)", // string - статус генерации
"timestamp": "2025-03-09T09:05:24.991000+00:00", // string - временная метка
"attachments": [ // array - сгенерированные изображения
{
"url": "<generated image url>",
"proxy_url": "<generated proxy image url>",
"width": 2048, // number - ширина изображения
"height": 2048, // number - высота изображения
"content_type": "<generated image type>",
"id": "<Discord image id>",
"filename": "<generated image name>",
"size": 7204115 // number - размер файла в байтах
}
],
"code": 200 // number - HTTP статус код
}

Примечание: Ответ содержит сгенерированные изображения и доступные действия (кнопки).

Поля children содержат информацию о дочерних заданиях (апскейлах/вариациях).

Все поля являются опциональными и могут отсутствовать в зависимости от статуса задания.

Upscale

Апскейл изображения

Post
https://mjapi.ru/midjourney/jobsButtonUpscale.php
Request header
Authorization: Bearer {API token}
Content-Type: application/json
Query parameters
{
"jobid": "ID задания",
"discord": "Discord token",
"button": "U1 или U2 или U3 или U4",
"maxJobs": 3 для тарифов 10 и 30$, 12 для 60 и 120$,
"replyUrl": "Адрес вебхука, на который придёт ответ",
"replyRef": "Ваш reference id"
}
Формат ответа сервера JSON
{
"jobid": "<jobid>", // string - ID задания
"verb": "button", // 'button' - тип операции
"status": "started", // 'started'|'moderated'|'failed' - статус
"created": "2025-03-09T20:19:57.073Z", // string (ISO 8601) - время создания
"updated": "2025-03-09T20:19:58.536Z", // string (ISO 8601) - время обновления
"button": "V1", // string - тип кнопки (U1-U4, V1-V4 и др.)
"parentJobId": "<jobid>", // string - ID родительского задания
"discord": "<ABC...secured...xyz>", // string - частичный Discord токен
"channel": "<Discord channel id>", // string - ID канала
"server": "<Discord server id>", // string - ID сервера
"maxJobs": 3, // number - лимит одновременных задач
"replyUrl": "url адрес вашего вебхука ", // string - URL для callback
"replyRef": "<your optional reference id>", // string - ваш reference ID
"content": "<Discord message content>", // string - содержимое сообщения
"messageId": "<Discord message id>", // string - ID сообщения
"timestamp": "2025-03-09T20:19:57.926000+00:00", // string - временная метка
"error": null, // string|null - ошибка (если есть)
"errorDetails": null, // string|null - детали ошибки
"executingJobs": [], // string[] - выполняемые задачи
"code": 200 // number - HTTP статус код
}

Примечание: Ответ содержит информацию о запущенном действии с кнопки (вариации, апскейл и др.).

Поле button может принимать значения: U1-U4 (апскейл), V1-V4 (вариации), 🔄 (регенерация) и другие доступные кнопки.

Все поля являются опциональными и могут отсутствовать в зависимости от статуса задания.

Upscale x2

Апскейл изображения максимально возможный

Post
https://mjapi.ru/midjourney/jobsButtonUpscale.php
Request header
Authorization: Bearer {API token}
Content-Type: application/json
Query parameters
{
"jobid": "ID задания",
"discord": "Discord token",
"button": "Upscale (Subtle)",
"maxJobs": 3 для тарифов 10 и 30$, 12 для 60 и 120$,
"replyUrl": "Адрес вебхука, на который придёт ответ",
"replyRef": "Ваш reference id"
}
Формат ответа сервера JSON
{
"jobid": "<jobid>", // string - ID задания
"verb": "button", // 'button' - тип операции
"status": "started", // 'started'|'moderated'|'failed' - статус
"created": "2025-03-09T20:19:57.073Z", // string (ISO 8601) - время создания
"updated": "2025-03-09T20:19:58.536Z", // string (ISO 8601) - время обновления
"button": "V1", // string - тип кнопки (U1-U4, V1-V4 и др.)
"parentJobId": "<jobid>", // string - ID родительского задания
"discord": "<ABC...secured...xyz>", // string - частичный Discord токен
"channel": "<Discord channel id>", // string - ID канала
"server": "<Discord server id>", // string - ID сервера
"maxJobs": 3, // number - лимит одновременных задач
"replyUrl": "url адрес вашего вебхука ", // string - URL для callback
"replyRef": "<your optional reference id>", // string - ваш reference ID
"content": "<Discord message content>", // string - содержимое сообщения
"messageId": "<Discord message id>", // string - ID сообщения
"timestamp": "2025-03-09T20:19:57.926000+00:00", // string - временная метка
"error": null, // string|null - ошибка (если есть)
"errorDetails": null, // string|null - детали ошибки
"executingJobs": [], // string[] - выполняемые задачи
"code": 200 // number - HTTP статус код
}
Seed

Если вы хотите сделать апскейл всех 4-х полученных изображений

Post
https://mjapi.ru/midjourney/jobsSeed.php
Request header
Authorization: Bearer {API token}
Content-Type: application/json
Request body
{
"jobid": "ID задания",
"discord": "Discord token",
"replyUrl": "Адрес вебхука, на который придёт ответ",
"replyRef": "Ваш reference id"
}
Получение seed и отдельных апскейл-изображений
Доступно для завершенных заданий:
  • Imagine
  • Blend
Результаты будут отправлены на указанный вебхук (replyUrl) или доступны при запросе статуса задания.
Формат ответа сервера JSON
{
"jobid": "<jobid>", // string - ID задания
"verb": "seed_async", // 'seed_async' - тип операции
"status": "started", // 'started'|'failed' - статус
"created": "2025-03-09T20:19:57.073Z", // string (ISO 8601) - время создания
"updated": "2025-03-09T20:19:58.536Z", // string (ISO 8601) - время обновления
"parentJobId": "<jobid>", // string - ID родительского задания
"discord": "<ABC...secured...xyz>", // string - частичный Discord токен
"channel": "<Discord channel id>", // string - ID канала
"replyUrl": "url адрес вашего вебхука ", // string - URL для callback
"replyRef": "<your optional reference id>", // string - ваш reference ID
"code": 200 // number - HTTP статус код
}
Формат ответа с полученным seed
{
"jobid": "<jobid>",
"verb": "imagine|button|blend",
"status": "completed",
"created": "2025-03-09T02:04:49.667Z",
"updated": "2025-03-09T02:04:53.490Z",
"seed": { // object - информация о seed
"content": "**<prompt>**\n**Job ID**: <Job ID>\n**seed** <seed>", // string - сообщение с seed
"value": 123456789, // number - числовое значение seed
"attachments": [ // array - изображения seed
{
"id": "<id 1>",
"url": "<image 1 url>",
"proxy_url": "<image 1 proxy url>",
"width": 1024,
"height": 1024,
"size": 12345,
"placeholder_version": 1,
"placeholder": "<placeholder 1>",
"filename": "<image 1 file name>",
"content_type": "<image 1 content-type>"
},
...остальные изображения...
]
},
"prompt": "Steampunk cat",
"discord": "<ABC...secured...xyz>",
"channel": "<Discord channel id>",
"server": "<Discord server id>",
"maxJobs": 3,
"replyUrl": "url адрес вашего вебхука ",
"replyRef": "<your optional reference id>",
"messageId": "<Discord message id>",
"timestamp": "2025-03-09T02:04:51.926000+00:00",
"code": 200
}

Примечание: Ответ содержит либо статус обработки запроса seed, либо уже полученные данные seed.

Поле seed.value содержит числовое значение seed, а seed.attachments - массив сгенерированных изображений.

Если seed уже был получен ранее, API вернёт оригинальное задание с добавленными полями seed.

Describe

Генерация описания по изображению

Post
https://mjapi.ru/midjourney/jobsDescribe.php
Request header
Authorization: Bearer {API token}
Content-Type: application/json
Query parameters
{
"describeUrl": "URL изображения",
"discord": "Discord token",
"server": "Discord server id",
"channel": "Discord channel id",
"maxJobs": 3 для тарифов 10 и 30$, 12 для 60 и 120$,
"replyUrl": "Адрес вебхука, на который придёт ответ"
"replyRef": "Ваш reference id"
}
Формат ответа сервера JSON
{
"jobid": "<jobid>", // string - ID задания
"verb": "describe", // 'describe' - тип операции
"status": "started", // 'started'|'moderated'|'failed' - статус
"describeUrl": "https://...1.png", // string - URL изображения для описания
"discord": "<ABC...secured...xyz>", // string - частичный Discord токен
"channel": "<Discord channel id>", // string - ID канала Discord
"server": "<Discord server id>", // string - ID сервера Discord
"maxJobs": 3, // number - лимит одновременных задач
"messageId": "<Discord message id>", // string - ID сообщения Discord
"content": "", // string - текст описания (заполняется при завершении)
"timestamp": "2023-10-06T18:36:48.875000+00:00", // string - временная метка
"replyUrl": null, // string|null - URL для callback
"replyRef": null, // string|null - ваш reference ID
"error": null, // string|null - ошибка (если есть)
"errorDetails": null, // string|null - детали ошибки
"executingJobs": [], // string[] - выполняемые задачи
"code": 200 // number - HTTP статус код
}

Примечание: Ответ содержит начальный статус операции описания изображения.

Поле content будет заполнено текстовым описанием после завершения обработки.

Для получения результатов используйте jobid в запросе статуса или укажите replyUrl для callback.

Mode

Изменение режима работы

Post
https://mjapi.ru/midjourney/jobsMode.php
Request header
Authorization: Bearer {API token}
Content-Type: application/json
Query parameters
{
"mode": "Режим работы",
"discord": "Discord token",
"server": "Discord server id",
"channel": "Discord channel id",
"replyUrl": "Адрес вебхука, на который придёт ответ",
"replyRef": "Ваш reference id"
}
Формат ответа сервера JSON
{
"jobid": "<jobid>", // string - ID задания
"verb": "relax", // 'relax' - тип операции (переключение в relaxed-режим)
"status": "completed", // 'completed'|'failed' - статус выполнения
"created": "2025-03-09T02:04:52.667Z", // string (ISO 8601) - время создания
"updated": "2025-03-09T02:04:53.490Z", // string (ISO 8601) - время обновления
"discord": "<ABC...secured...xyz>", // string - частичный Discord токен
"channel": "<Discord channel id>", // string - ID канала Discord
"server": "<Discord server id>", // string - ID сервера Discord
"replyUrl": "url адрес вашего вебхука ", // string - URL для callback
"replyRef": "<your optional reference id>", // string - ваш reference ID
"messageId": "<Discord message id>", // string - ID сообщения Discord
"timestamp": "2025-03-09T02:04:52.774000+00:00", // string - временная метка
"content": "Done! Your jobs now do not consume fast-hours, but might take a little longer. You can always switch back with `/fast`", // string - сообщение о результате
"error": null, // string|null - ошибка (если есть)
"errorDetails": null, // string|null - детали ошибки
"code": 200 // number - HTTP статус код
}

Примечание: Ответ подтверждает успешное переключение в relaxed-режим.

В relaxed-режиме задания не используют fast-часы, но могут выполняться дольше.

Для возврата в fast-режим используйте соответствующий эндпоинт.

Restart after captcha

Перезапуск после капчи

Post
https://mjapi.ru/midjourney/restartAfterCAPTCHA.php
Request header
Authorization: Bearer {API token}
Content-Type: application/json
Query parameters
{
"channel": "Discord channel id"
}