Процес подачі заявки
Щоб використовувати API, спочатку потрібно перейти на сторінку Midjourney Edits API для подачі заявки на відповідну послугу. Після переходу на сторінку натисніть кнопку «Acquire», як показано на малюнку:
Якщо ви ще не увійшли в систему або не зареєстровані, вас автоматично перенаправлять на сторінку входу, запрошуючи вас зареєструватися та увійти. Після входу або реєстрації ви автоматично повернетеся на поточну сторінку.
При першій подачі заявки вам буде надано безкоштовний ліміт, який дозволяє безкоштовно використовувати цей API.
Основне використання
Спочатку потрібно ознайомитися з основним способом використання, а саме: введення підказкиprompt, дії action, посилання на зображення image_url, щоб отримати оброблений результат. Спочатку потрібно просто передати поле action, значення якого буде generate, конкретний зміст виглядає так:

accept: формат відповіді, який ви хочете отримати, тут вказаноapplication/json, тобто формат JSON.authorization: ключ для виклику API, після подачі заявки ви можете вибрати його зі списку.
mask: можна вказати маску для редагування та повторної генерації зображення.split_images: розділити згенероване зображення на кілька зображень, які повертаються через поле sub_image_urls. За замовчуванням - false.action: дія для редагування зображення, за замовчуванням -generate.image_url: посилання на зображення, яке потрібно редагувати.prompt: підказка.mode: режим генерації, можливі варіантиfast/relax/turbo.callback_url: URL для отримання результатів.

success: статус виконання завдання редагування зображення.task_id: ID завдання редагування зображення.image_id: ID зображення для цього завдання редагування.sub_image_urls: кілька результатів зображення для завдання генерації.image_url: посилання на згенероване зображення.image_width: ширина згенерованого зображення.image_height: висота згенерованого зображення.progress: поле прогресу для завдання редагування зображення.
image_url.
Крім того, якщо ви хочете згенерувати відповідний код інтеграції, ви можете просто скопіювати його, наприклад, код CURL виглядає так:
Асинхронний зворотний виклик
Оскільки час генерації Midjourney Edits API відносно довгий, приблизно 1-2 хвилини, якщо API довго не відповідає, HTTP запит буде підтримувати з’єднання, що призводить до додаткових витрат системних ресурсів. Тому цей API також підтримує асинхронний зворотний виклик. Загальний процес: коли клієнт ініціює запит, додатково вказується полеcallback_url. Після ініціювання запиту API відразу поверне результат, що містить інформацію про поле task_id, яке представляє ID поточного завдання. Коли завдання завершено, результати генерації будуть надіслані на вказаний клієнтом callback_url у форматі POST JSON, в якому також буде включено поле task_id, що дозволяє пов’язати результати завдання за ID.
Давайте розглянемо приклад, щоб зрозуміти, як це працює.
По-перше, зворотний виклик Webhook - це служба, яка може приймати HTTP запити, розробники повинні замінити на URL свого власного HTTP сервера. Для зручності демонстрації використовується публічний сайт зразка Webhook https://webhook.site/, відкривши цей сайт, ви отримаєте URL Webhook, як показано на малюнку:
Скопіюйте цей URL, і ви зможете використовувати його як Webhook, приклад тут: https://webhook.site/556e6971-b41f-4fa8-9151-6e91acd0399f.
Далі ми можемо налаштувати поле callback_url на вказаний Webhook URL, одночасно заповнивши відповідні параметри, конкретний зміст виглядає так, як показано на малюнку:

https://webhook.site/556e6971-b41f-4fa8-9151-6e91acd0399f, як показано на малюнку:

task_id, інші поля схожі на наведені вище, через це поле можна реалізувати зв’язок завдань.
Обробка помилок
При виклику API, якщо виникає помилка, API повертає відповідний код помилки та інформацію. Наприклад:400 token_mismatched: Неправильний запит, можливо, через відсутні або недійсні параметри.400 api_not_implemented: Неправильний запит, можливо, через відсутні або недійсні параметри.401 invalid_token: Неавторизовано, недійсний або відсутній токен авторизації.429 too_many_requests: Занадто багато запитів, ви перевищили ліміт запитів.500 api_error: Внутрішня помилка сервера, щось пішло не так на сервері.

