Перейти к основному содержанию
Для большинства задач FLUX.2 берите flux-2-pro. Генерация и редактирование идут через один JSON-эндпоинт с оплатой за вызов, а ссылка на результат действует 10 минут после генерации, поэтому скачивайте изображение сразу. Формат запроса у всех трёх моделей одинаковый.

Подготовка

1

Создайте API-ключ

Модели FLUX.2 оплачиваются за вызов. В разделе Управление токенами создайте ключ (или измените существующий) и выберите Режим оплаты (计费模式) — «сначала по использованию» (按量优先, рекомендуется) или «оплата за вызов» (按次计费). Ключ с режимом «сначала по использованию» вызывает и модели с оплатой за вызов, и модели с оплатой по использованию; ключ с оплатой за вызов — только модели с оплатой за вызов.Храните ключ в переменной окружения на сервере.Диалог создания токена в консоли: режим оплаты «оплата за вызов» (按次计费), затем кнопка «Создать».
2

Настройте окружение

Экспортируйте ключ и установите requests, который нужен примерам на Python:

Генерация изображения

Этот запрос создаёт горизонтальное изображение 1792×1024 и записывает ответ в flux-generation.json:

Сохранение результата

В ответе приходит data[0].url. Ссылка перестаёт работать через 10 минут после генерации, поэтому скачивайте изображение сразу. FLUX возвращает только URL, без b64_json. Сохраните скрипт как save_images.py: он скачивает все изображения из ответа, а заодно умеет декодировать b64_json, который возвращают некоторые другие модели изображений.
save_images.py
Скрипт выведет Сохранено: flux-robot-1.jpg. FLUX.2 возвращает JPEG, если не указать output_format со значением png.

Генерация на Python

Размер изображения

Размер задаётся либо строкой size в стиле OpenAI, либо полями width и height в пикселях. Используйте один из способов, не оба сразу. width и height должны быть кратны 16 и не меньше 64 пикселей, а общий размер — не больше примерно 4 мегапикселей (например, 2048×2048). При редактировании работают те же поля размера.

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

Чтобы отредактировать изображение, а не генерировать только по тексту, добавьте input_image в тот же JSON-запрос. Этот минимальный пример сохраняет главный объект публичного изображения и меняет фон:
Несколько референсов передаются только через эти JSON-поля этого эндпоинта. Локальные файлы, до восьми референсов, вспомогательная функция на Python и промпты для редактирования описаны в разделе Редактирование FLUX.2.

Параметры

Совместимость с прежними моделями: FLUX Kontext

flux-kontext-pro ($0.035 за вызов) и flux-kontext-max ($0.07 за вызов) остаются доступны для существующих интеграций. Эндпоинт тот же, отличия такие:
  • Вместо size они принимают поле aspect_ratio. В OpenAI Python SDK передавайте его через extra_body.
  • Подходит любое соотношение сторон от 3:7 до 7:3, размер результата остаётся около одного мегапикселя.
Распространённые соотношения и примерный размер результата: Для новой генерации и редактирования используйте FLUX.2.

Частые вопросы

Нужно ли опрашивать результат, как в BFL API?

Нет. BFL API возвращает ID задачи и polling_url, который нужно опрашивать до статуса Ready. LaoZhang API дожидается изображения в рамках того же запроса и возвращает его в data[0].url. Вместо опроса задайте клиенту большой таймаут; в примере на Python это 240 секунд. Если запрос проходит через обратный прокси или serverless-функцию, увеличьте и их таймаут или лимит выполнения, иначе соединение закроется раньше, чем изображение будет готово.

Почему ссылка на изображение перестаёт работать?

Ссылки на результат действуют 10 минут после генерации — столько же, сколько живут ссылки на результаты у самого BFL. Скачивайте каждое изображение на сервер сразу после ответа, храните его у себя и передавайте в базу данных или фронтенд собственный адрес. В пакетных задачах скачивайте каждый результат, как только завершился его запрос, а не после всей пачки. Параллельность держите такой, чтобы скачивание успевало за генерацией. Истёкшую ссылку обновить нельзя. Отправьте запрос заново — он будет оплачен как новый вызов.

Как получать воспроизводимый результат?

Передавайте один и тот же seed с той же моделью, промптом и размером. Это удобно, когда вы дорабатываете один дизайн.

Как добиться точного текста и фирменных цветов?

Для изображений с большим количеством текста — постеров, инфографики, макетов интерфейсов — сначала попробуйте flux-2-flex: BFL позиционирует её для отрисовки текста и мелких деталей. Если нужно максимальное качество и самое точное следование промпту, берите flux-2-max. Чтобы попасть в фирменные цвета, укажите в промпте hex-коды, например the mug is #FF5A1F. Для сложных сцен можно описать объект, фон, освещение и стиль JSON-строкой и передать её в prompt.

Списываются ли деньги за неудачные запросы?

Нет. FLUX.2 оплачивается за вызов: запрос, вернувший изображение, оплачивается один раз, а ответ с кодом не 200 (например, ошибка параметров или блокировка модерацией) не оплачивается. Таймаут на стороне клиента — не то же самое, что ошибка. Сервер мог уже создать изображение и списать оплату, поэтому перед повторной отправкой проверьте журнал вызовов. Окончательная запись о списаниях — именно журнал вызовов.

Можно ли использовать OpenAI SDK?

Да, через client.images.generate():
  • В base_url укажите https://api.laozhang.ai/v1.
  • model, prompt и size передавайте как обычно.
  • Поля, специфичные для FLUX, например width, height и seed, передавайте в extra_body.
URL изображения находится в response.data[0].url; скачивайте его сразу. Для редактирования тоже используйте client.images.generate() и передавайте input_image в extra_body: client.images.edit() принимает только одно изображение. Подробнее — в частых вопросах на странице Редактирование FLUX.2.

Связанные материалы