Перейти к основному содержанию
В этой статье будет представлена инструкция по интеграции Flux Images Generation API — с его помощью можно генерировать официальные изображения Flux, вводя пользовательские параметры.

Процесс получения доступа

Чтобы использовать Flux Images Generation API, сначала получите ваш API Token в консоли Ace Data Cloud и сохраните его для дальнейшего использования. Если вы ещё не вошли в систему или не зарегистрировались, вы будете автоматически перенаправлены на страницу входа, где вам предложат зарегистрироваться и войти в систему; после завершения вы автоматически вернётесь на текущую страницу. Один API Token позволяет вызывать все сервисы платформы, нет необходимости подавать отдельную заявку для каждого сервиса. При первом получении предоставляется бесплатная квота для бесплатного ознакомления; при недостатке квоты можно пополнить общий баланс в консоли.
📘 Полная документация: Flux Images Generation API →

Базовое использование

Сначала рассмотрим базовый способ использования: достаточно ввести промпт prompt, действие генерации action и размер изображения size, чтобы получить обработанный результат. Сначала необходимо просто передать поле action со значением generate, затем также нужно ввести промпт. Конкретное содержимое выглядит следующим образом:

Можно увидеть, что здесь мы настроили Request Headers, включая:
  • accept: в каком формате вы хотите получить результат ответа; здесь указывается application/json, то есть формат JSON.
  • authorization: ключ для вызова API, после получения его можно непосредственно выбрать из выпадающего списка.
Также настроен Request Body, включающий:
  • action: действие этой задачи генерации изображения.
  • size: размер результата генерации изображения. Для серий flux-2-flex / flux-2-pro / flux-2-max обязательно необходимо передавать соотношение сторон изображения (например, 1:1, 16:9); размеры в пикселях вроде 1024x1024 не принимаются, при отсутствии будет возвращена ошибка 400.
  • count: количество генерируемых изображений, значение по умолчанию — 1; этот параметр действует только для задач генерации изображений и не действует для задач редактирования.
  • prompt: промпт.
  • model: модель генерации, по умолчанию flux-dev; новейшими флагманскими моделями являются flux-2-pro, flux-2-max (более высокое качество изображения, требуется использовать соотношение сторон изображения size).
  • callback_url: URL, на который необходимо отправить результат обратного вызова.
  • async: необязательно; при установке значения true интерфейс немедленно возвращает task_id, без необходимости предоставлять callback_url, после чего результат можно получить путём опроса соответствующего интерфейса запроса задач.
Параметр size имеет некоторые особые ограничения, главным образом он делится на два типа: соотношение ширины и высоты width x height и соотношение сторон изображения x:y; подробнее: Рекомендуемые соотношения сторон изображения: “21:9”, “16:9”, “4:3”, “3:2”, “1:1”, “2:3”, “3:4”, “9:16”, “9:21”. После выбора параметров справа автоматически будет сгенерирован соответствующий код. Перед копированием подтвердите, что в заголовке авторизации используется ваш собственный API Key, в документации и снимках экрана не должны присутствовать реальные учётные данные. Нажмите кнопку «Try», чтобы выполнить тестирование; здесь мы получили следующий результат:
Результат содержит несколько полей, описание которых приведено ниже:
  • success: статус задачи генерации видео в данный момент.
  • task_id: ID задачи генерации видео в данный момент.
  • trace_id: ID отслеживания генерации видео в данный момент.
  • data: список результатов задачи генерации изображения в данный момент.
    • image_url: ссылка на задачу генерации изображения в данный момент.
    • prompt: промпт.
Можно увидеть, что мы получили удовлетворительную информацию об изображении; нам нужно лишь получить сгенерированное изображение Flux по адресу ссылки на изображение в data результата. Кроме того, если вы хотите сгенерировать соответствующий код интеграции, его можно скопировать напрямую; например, код CURL выглядит следующим образом:

Задача редактирования изображения

Если вы хотите отредактировать определённое изображение, сначала в параметр image_url необходимо передать ссылку на редактируемое изображение; в этом случае action поддерживает только edit, после чего можно указать следующее содержимое:
  • model: модель, используемая для этой задачи редактирования изображения; поддерживаются flux-dev, flux-pro, flux-kontext-pro, flux-kontext-max, flux-2-flex, flux-2-pro, flux-2-max.
  • image_url: загрузите изображение, которое необходимо отредактировать.
Пример заполнения выглядит следующим образом:

После заполнения автоматически генерируется следующий код:

Соответствующий код:
Нажмите «Запустить», и можно обнаружить, что результат будет получен немедленно, как показано ниже:
Можно увидеть, что сгенерированный эффект представляет собой редактирование исходного изображения, результат аналогичен описанному выше.

Асинхронный обратный вызов

Поскольку Flux Images Generation API требует относительно длительного времени для генерации, примерно 1–2 минуты, если API долго не отвечает, HTTP-запрос будет постоянно поддерживать соединение, что приводит к дополнительному потреблению системных ресурсов, поэтому данный API также предоставляет поддержку асинхронных обратных вызовов. Общий процесс таков: когда клиент инициирует запрос, он дополнительно указывает поле callback_url, после того как клиент отправляет API-запрос, API немедленно возвращает результат, содержащий информацию поля task_id, которое представляет ID текущей задачи. Когда задача завершена, результат генерации изображения будет отправлен в виде POST JSON на указанный клиентом callback_url, где также будет включено поле task_id, таким образом результаты задачи можно связать по ID. Ниже мы на примере рассмотрим, как именно это сделать. Прежде всего, Webhook обратного вызова — это сервис, способный принимать HTTP-запросы, разработчик должен заменить его URL-адресом самостоятельно развернутого HTTP-сервера. Для удобства демонстрации здесь используется публичный пример сайта Webhook https://webhook.site/, откройте этот сайт, чтобы получить Webhook URL, как показано на рисунке: Скопируйте этот URL, и его можно будет использовать в качестве Webhook, пример здесь: https://webhook.site/3d32690d-6780-4187-a65c-870061e8c8ab. Далее мы можем установить для поля callback_url указанный выше Webhook URL, одновременно заполнив соответствующие параметры, конкретное содержимое показано на рисунке:

Нажмите «Запустить», и можно увидеть, что сразу будет получен результат, как показано ниже:
Подождав немного, мы можем наблюдать результат сгенерированного изображения на https://webhook.site/3d32690d-6780-4187-a65c-870061e8c8ab, как показано на рисунке: Содержимое следующее:
Можно увидеть, что в результате есть поле task_id, остальные поля аналогичны описанным выше, через это поле можно реализовать связь задач.

Обработка ошибок

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

Пример ответа с ошибкой

Заключение

Из этого документа вы уже узнали, как использовать Flux Images Generation API для генерации изображений путем ввода текста запроса. Надеемся, этот документ поможет вам лучше интегрировать и использовать данный API. Если у вас возникнут какие-либо вопросы, пожалуйста, в любое время свяжитесь с нашей командой технической поддержки.