Midjourney Proxy
Вызов Midjourney через формат Midjourney Proxy. Все эндпоинты отправки задач — POST (кроме запросов состояния); аутентификация та же, что и у остальных эндпоинтов.
Порядок работы
- Отправьте задачу (
/mj/submit/*) → получите ID задачи. - Опрашивайте состояние (
/mj/task/{id}/fetch) → получитеstatusиimageUrl. - При необходимости увеличьте / создайте вариации / перегенерируйте результат из 4 сетки (
/mj/submit/changeили/mj/submit/action).
Imagine
POST /mj/submit/imaginecurl https://test.kailin.com.cn/mj/submit/imagine \
-H "Content-Type: application/json" \
-H "Authorization: Bearer sk-your-token" \
-d '{ "prompt": "a cyberpunk cat, neon light --ar 16:9" }'
| Параметр | Тип | Обязательно | Описание |
|---|---|---|---|
prompt | string | Да | Промпт для рисования, допускаются флаги MJ (--ar, --v, …) |
base64Array | array | Нет | Референсные изображения (массив Base64) |
notifyHook | string | Нет | URL обратного вызова (работает и опрос состояния) |
state | string | Нет | Произвольное сквозное поле |
Ответ:
{ "code": 1, "description": "Submitted", "result": "1792xxxx-task-id" }
code: 1 — успех, result содержит ID задачи; code: 21 — задача требует подтверждения через /mj/submit/modal; code: 22 — дубликат задачи; code: 9 — задача в очереди (в result приходит уведомление).
Запрос задачи
GET /mj/task/{id}/fetchcurl https://test.kailin.com.cn/mj/task/1792xxxx-task-id/fetch \
-H "Authorization: Bearer sk-your-token"
{
"id": "1792xxxx-task-id",
"action": "IMAGINE",
"status": "SUCCESS",
"progress": "100%",
"imageUrl": "https://cdn.example.com/mj/xxx.png",
"prompt": "a cyberpunk cat, neon light --ar 16:9",
"submitTime": 1730000000000,
"finishTime": 1730000600000
}
| Поле | Описание |
|---|---|
status | NOT_START / SUBMITTED / IN_PROGRESS / SUCCESS / FAILURE / CANCEL |
imageUrl | URL результирующего изображения (возвращается при статусе SUCCESS) |
failReason | Причина сбоя (при статусе FAILURE) |
Пакетный запрос
POST /mj/task/list-by-condition{ "ids": ["id1", "id2"] }
Последующие действия
Увеличение / вариации / перегенерация
POST /mj/submit/change{ "taskId": "1792xxxx-task-id", "action": "UPSCALE", "index": 2 }
| Параметр | Описание |
|---|---|
action | UPSCALE / VARIATION / REROLL / HIGH_VARIATION / LOW_VARIATION / ZOOM и др. |
index | Позиция в сетке 1–4 (обязательно для UPSCALE / VARIATION) |
customId | Либо передайте customId кнопки, возвращённый задачей |
Действия по кнопкам
POST /mj/submit/actionИмитирует нажатие одной из buttons, возвращённых задачей (кнопки U/V, Regional, Pan и др.):
{ "taskId": "1792xxxx-task-id", "customId": "MJ::JOB::upsample::3::uuid" }
Другие эндпоинты отправки
| Эндпоинт | Описание |
|---|---|
POST /mj/submit/blend | Смешивание 2–4 изображений (base64Array, необязательные dimensions) |
POST /mj/submit/describe | Изображение → промпт (отправьте base64, вернёт четыре варианта промпта) |
POST /mj/submit/modal | Подтверждение задачи с code: 21 (taskId + prompt) |
POST /mj/submit/shorten | Анализ и сокращение промпта |
POST /mj/submit/simple-change | Быстрое изменение: content вида "taskId U2" |
POST /mj/submit/edits | Частичное редактирование |
POST /mj/submit/video | Генерация видео |
POST /mj/submit/upload-discord-images | Загрузка изображений и получение референсных URL |
POST /mj/insight-face/swap | Замена лица (InsightFace) |
Служебные эндпоинты
| Эндпоинт | Описание |
|---|---|
GET /mj/task/{id}/image-seed | Получить image seed задачи |
GET /mj/image/{id} | Проксированный доступ к изображению |
Совет
Каждая отправка, вернувшая code: 21, должна быть подтверждена через /mj/submit/modal до выполнения — типично для крупных портретов и подобных сцен.