Войти

FLUX.2 Max Text to Image

Создание реалистичных изображений по текстовому описанию, включая читаемый текст в кадре.

Запрос
Опишите сцену, стиль, освещение и детали. Если нужен текст в кадре, укажите точную фразу в кавычках.
Ширина и высота изображения: от 256 до 1536 пикселей, шаг 8.
Ширина 256
Высота 256
Задайте seed для повторяемого результата. -1 — случайный результат при каждом запуске.

О модели FLUX.2 Max Text to Image

Обзор

FLUX.2 Max Text to Image — флагманский Text-to-Image-эндпоинт линейки FLUX.2 от Black Forest Labs. Семейство FLUX.2 представлено в ноябре 2025 года; модель Max запущена в декабре 2025 года как вариант с наивысшим качеством генерации и сильнейшим следованием промпту. Эта разновидность предназначена для создания готовых визуалов по текстовому описанию: продуктовых фото, рекламных кадров, иллюстраций, портретов и сцен с читаемым текстом в кадре. Среди родственных операций FLUX.2 Max Text to Image занимает позицию финальных кадров высокого качества: Flash подходит для быстрых итераций и черновых прогонов, Pro — для масштабной продакшен-генерации с балансом скорости и качества, Flex — для типографики и мелких деталей, а Max — когда нужен максимум детализации, точное следование сложному промпту и стабильный фотореализм без компромиссов. Главное для пользователя: это высший Text-to-Image-вариант FLUX.2 для ключевых материалов, где результат должен выглядеть как финальный продуктовый материал. Модель особенно силна в пространственной логике, свете, композиции и отрисовке коротких надписей — для текста в кадре лучше указывать точную фразу в кавычках.

Сильные стороны

Критерий Оценка Комментарий
Качество отдельного кадра Не является безусловным лидером всех публичных рейтингов, но даёт очень высокое качество кадра: сильную детализацию, реалистичный свет, материалы и чистую картинку.
Соответствие запросу Перегруженные промпты с большим числом условий всё ещё могут терять часть деталей, но в целом модель очень хорошо следует запросу и точно передаёт объекты, стиль и атрибуты.
Эстетика и композиция Может уступать отдельным моделям в специфической художественной выразительности, но обычно строит очень сильные композиции для рекламы, продукта, постеров и кинематографичных сцен.
Стиль и разнообразие При большом числе генераций может проявляться узнаваемая FLUX-эстетика, но модель очень хорошо удерживает заданный стиль и даёт разнообразные пригодные варианты.
Композиционное рассуждение Сложный счёт, множественные объекты с разными свойствами и вложенные условия остаются рискованными, но пространственная логика и привязка атрибутов к объектам сильнее среднего.
Здравый смысл сцены Редкие или причинно сложные сцены могут давать логические ошибки, но обычные ситуации, свет, материалы, перспектива и физика сцены чаще выглядят правдоподобно.
Анатомия и физическая правдоподобность В сложных позах, толпах и мелких физических взаимодействиях всё ещё возможны ошибки, но анатомия, лица, руки, перспектива, тени и материалы находятся на высоком уровне.

Сценари использования (use cases)

Ограничения и недостатки

Примеры промптов

Советы

FAQ

В чём отличие FLUX.2 Max от других вариантов FLUX.2?

FLUX.2 Max — флагман семейства: максимальное качество изображений, наивысшая консистентность при редактировании и уникальная функция веб-поиска (grounding search) — генерация с учётом актуальных данных из интернета. FLUX.2 Pro обеспечивает лучший баланс качества и производительности для высоконагруженных продакшен-процессов. FLUX.2 Klein генерирует результат за доли секунды для приложений, работающих в режиме реального времени. FLUX.2 Flex оптимизирован для типографики и мелких деталей. Выбирайте Max, когда приоритет — максимальное качество финального контента.

Для чего нужен параметр Seed и как им пользоваться?

Seed — начальное значение генератора случайных чисел. При одинаковом seed, промпте и параметрах модель всегда создаёт идентичное изображение — это удобно для итеративной доработки. Значение -1 означает случайный seed при каждом запуске и даёт новый результат. Зафиксируйте понравившийся seed, чтобы получить несколько вариаций одной сцены без потери стиля.

Какое максимальное разрешение изображения поддерживает FLUX.2 Max?

Модель поддерживает генерацию до 4 мегапикселей, например 2048×2048. Стороны изображения должны быть кратны 16. Задавая ширину и высоту независимо, можно создавать изображения в любых соотношениях сторон — от квадрата до широкоформатных кадров.

Поддерживает ли FLUX.2 негативные промпты?

Нет — FLUX.2 не поддерживает негативные промпты. Вместо описания того, чего следует избегать, нужно явно формулировать желаемый результат: вместо «без размытия» — «чёткая резкость по всему кадру», вместо «нет людей» — «пустая сцена». Такой подход даёт более предсказуемые результаты и лучше раскрывает возможности модели.

Цены

Цена при активной подписке

Стоимость необязательной подписки 299 ₽/месяц Подробнее

API

Инструкция ниже является выдержкой из документации.

Параметры

Поля тела JSON-запроса, которые используются в Playground и доступны для настройки через API. Порядок совпадает с формой на странице.

Параметр Тип Обязательный По умолчанию Допустимые значения Описание
prompt string Да от 1 символов Опишите сцену, стиль, освещение и детали. Если нужен текст в кадре, укажите точную фразу в кавычках.
size string Нет 256*256 Ширина и высота изображения: от 256 до 1536 пикселей, шаг 8.
seed integer Нет -1 -1–2147483647 Задайте seed для повторяемого результата. -1 — случайный результат при каждом запуске.

Запрос

Асинхронный запуск: POST https://api.flixa.io/v1/image/flux-2/max-text-to-image с заголовком Authorization: Bearer $FLIXA_API_KEY и телом JSON. Ниже — пример с полями из Playground.

curl -X POST "https://api.flixa.io/v1/image/flux-2/max-text-to-image" \
  -H "Authorization: Bearer $FLIXA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "seed": -1,
  "size": "1024*1024",
  "prompt": "Превратите это фото товара в премиальную студийную рекламу: мягкий кинематографический свет, чистый бежевый фон, лёгкие тени, реалистичные отражения и эстетика люксового бренда."
}'
import json
import os
import requests

url = "https://api.flixa.io/v1/image/flux-2/max-text-to-image"
payload = json.loads({"prompt": "\u041f\u0440\u0435\u0432\u0440\u0430\u0442\u0438\u0442\u0435 \u044d\u0442\u043e \u0444\u043e\u0442\u043e \u0442\u043e\u0432\u0430\u0440\u0430 \u0432 \u043f\u0440\u0435\u043c\u0438\u0430\u043b\u044c\u043d\u0443\u044e \u0441\u0442\u0443\u0434\u0438\u0439\u043d\u0443\u044e \u0440\u0435\u043a\u043b\u0430\u043c\u0443: \u043c\u044f\u0433\u043a\u0438\u0439 \u043a\u0438\u043d\u0435\u043c\u0430\u0442\u043e\u0433\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0441\u0432\u0435\u0442, \u0447\u0438\u0441\u0442\u044b\u0439 \u0431\u0435\u0436\u0435\u0432\u044b\u0439 \u0444\u043e\u043d, \u043b\u0451\u0433\u043a\u0438\u0435 \u0442\u0435\u043d\u0438, \u0440\u0435\u0430\u043b\u0438\u0441\u0442\u0438\u0447\u043d\u044b\u0435 \u043e\u0442\u0440\u0430\u0436\u0435\u043d\u0438\u044f \u0438 \u044d\u0441\u0442\u0435\u0442\u0438\u043a\u0430 \u043b\u044e\u043a\u0441\u043e\u0432\u043e\u0433\u043e \u0431\u0440\u0435\u043d\u0434\u0430.", "seed": -1, "size": "1024*1024"})

response = requests.post(
    url,
    headers={"Authorization": f"Bearer {os.environ['FLIXA_API_KEY']}"},
    json=payload,
    timeout=120,
)
print(response.json())
const response = await fetch(
  "https://api.flixa.io/v1/image/flux-2/max-text-to-image",
  {
    method: "POST",
    headers: {
      Authorization: `Bearer ${process.env.FLIXA_API_KEY}`,
      "Content-Type": "application/json",
    },
    body: JSON.stringify({"prompt": "\u041f\u0440\u0435\u0432\u0440\u0430\u0442\u0438\u0442\u0435 \u044d\u0442\u043e \u0444\u043e\u0442\u043e \u0442\u043e\u0432\u0430\u0440\u0430 \u0432 \u043f\u0440\u0435\u043c\u0438\u0430\u043b\u044c\u043d\u0443\u044e \u0441\u0442\u0443\u0434\u0438\u0439\u043d\u0443\u044e \u0440\u0435\u043a\u043b\u0430\u043c\u0443: \u043c\u044f\u0433\u043a\u0438\u0439 \u043a\u0438\u043d\u0435\u043c\u0430\u0442\u043e\u0433\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0441\u0432\u0435\u0442, \u0447\u0438\u0441\u0442\u044b\u0439 \u0431\u0435\u0436\u0435\u0432\u044b\u0439 \u0444\u043e\u043d, \u043b\u0451\u0433\u043a\u0438\u0435 \u0442\u0435\u043d\u0438, \u0440\u0435\u0430\u043b\u0438\u0441\u0442\u0438\u0447\u043d\u044b\u0435 \u043e\u0442\u0440\u0430\u0436\u0435\u043d\u0438\u044f \u0438 \u044d\u0441\u0442\u0435\u0442\u0438\u043a\u0430 \u043b\u044e\u043a\u0441\u043e\u0432\u043e\u0433\u043e \u0431\u0440\u0435\u043d\u0434\u0430.", "seed": -1, "size": "1024*1024"}),
  }
);

console.log(await response.json());

Пример ответа

Сразу после POST приходит объект с идентификатором задачи и статусом (queued или processing). Готовый результат — в поле outputs после завершения.

{
  "id": "550e8400-e29b-41d4-a716-446655440000",
  "status": "queued",
  "created_at": "2026-05-22T12:00:00Z"
}

После успешного завершения:

{
  "id": "550e8400-e29b-41d4-a716-446655440000",
  "status": "completed",
  "outputs": [
    { "url": "https://storage.example/result.png", "type": "image" }
  ]
}

Поллинг

Пока задача в работе, опрашивайте GET https://api.flixa.io/v1/predictions/{id}/result с тем же API-ключом. Рекомендуемый интервал — 1–2 секунды; остановитесь при completed, failed или cancelled.

  • queued / processing — продолжайте опрос.
  • completed — заберите URL из outputs.
  • failed — смотрите error в теле ответа.
curl "https://api.flixa.io/v1/predictions/{id}/result" \
  -H "Authorization: Bearer $FLIXA_API_KEY"