Skip to main content
Сводка лучших практик по частым вопросам, оптимизации производительности и обработке ошибок. Рекомендуется прочитать целиком перед интеграцией.

Отправка задачи и опрос

Все эндпоинты отправки — асинхронные задачи: после отправки возвращается task_id, затем периодически запрашивайте статус через GET /v1/midjourney/{task_id}, пока он не станет SUCCESS / FAILURE.
  • Ритм опроса: рекомендуется раз в 3–5 с; более высокая частота бессмысленна и тратит квоту.
  • Не блокируйте синхронно ожидание завершения задачи внутри web-запроса — после отправки сразу возвращайте task_id, а фронтенд пусть опрашивает асинхронно.

Проектирование промптов

Хороший промпт:
  • Субъект в начале: сначала субъект, затем описание сцены, в конце модификаторы.
  • Явные структурированные параметры: использовать --ar / --v / --s (или соответствующие поля body) контролируемее, чем полагаться на значения по умолчанию.
  • Избегайте двусмысленных слов: photorealistic точнее, чем realistic.
Избегайте: излишней абстрактности («make it good»), размытого субъекта (несколько равноправных объектов без выделения главного), кавычек вокруг слов (будут восприняты как буквальное значение). Аниме Niji: передайте 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, два шага):
⚠️ После перехода 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
Рекомендация: если для итогового ролика нужен лишь 1 сегмент — используйте batch_size=1; 4 — только для пакетного сравнения вариантов, не включайте 4 по умолчанию (стоимость вырастет в N раз).

Конкурентность и пропускная способность

  • У платформы есть лимит на число отправок в минуту; при превышении возвращается 429, нужен повтор с задержкой.
  • Реальная конкурентность генерации определяется ёмкостью системы; при превышении задачи становятся в очередь; долгое нахождение задачи в SUBMITTED обычно означает очередь.
  • При опросе обязательно используйте sleep, не зацикливайтесь без sleep.

Рекомендации по мониторингу

Чек-лист устранения неполадок