Отправка задачи и опрос
Все эндпоинты отправки — асинхронные задачи: после отправки возвращаетсяtask_id, затем периодически запрашивайте статус через GET /v1/midjourney/{task_id}, пока он не станет SUCCESS / FAILURE.
- Ритм опроса: рекомендуется раз в 3–5 с; более высокая частота бессмысленна и тратит квоту.
- Не блокируйте синхронно ожидание завершения задачи внутри web-запроса — после отправки сразу возвращайте
task_id, а фронтенд пусть опрашивает асинхронно.
Проектирование промптов
Хороший промпт:- Субъект в начале: сначала субъект, затем описание сцены, в конце модификаторы.
- Явные структурированные параметры: использовать
--ar/--v/--s(или соответствующие поля body) контролируемее, чем полагаться на значения по умолчанию. - Избегайте двусмысленных слов:
photorealisticточнее, чемrealistic.
niji: true + version: "7", платформа нормализует это в --niji 7, тарификация идёт по midjourney@imagine-niji7.
Лучшие практики генерации по образцу
- Сожмите до < 5 MiB: лимит платформы — 12 MiB, но небольшие изображения передаются / обрабатываются быстрее.
- Подойдут форматы PNG / JPG / WebP, рекомендуется качественный JPG.
- Разрешения 1024–2048 px достаточно, выше — расточительно.
- Вес образца
iw(0–3, по умолчанию 1): >1 — ближе к оригиналу, <1 — свободнее.
Обработка ошибок и стратегия повторов
Процесс вторичных операций
⚠️ После перехода inpaint в MODAL необходимо вызвать /modal в течение 30 минут, иначе задача в фоне будет автоматически отменена (CANCEL) с возвратом средств.
Контроль тарификации video
- Один сегмент:
batch_size: 1→ списывается 1 ×midjourney@video - Пакет из 4 сегментов:
batch_size: 4→ списывается 4 ×midjourney@video - Один HD-сегмент:
video_type: "vid_1.1_i2v_720"+batch_size: 1→ списывается 1 ×midjourney@video-720p
batch_size=1; 4 — только для пакетного сравнения вариантов, не включайте 4 по умолчанию (стоимость вырастет в N раз).
Конкурентность и пропускная способность
- У платформы есть лимит на число отправок в минуту; при превышении возвращается
429, нужен повтор с задержкой. - Реальная конкурентность генерации определяется ёмкостью системы; при превышении задачи становятся в очередь; долгое нахождение задачи в
SUBMITTEDобычно означает очередь. - При опросе обязательно используйте
sleep, не зацикливайтесь без sleep.