Войти

FLUX.2 Pro Text to Image

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

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

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

Обзор

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

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

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

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

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

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

Советы

FAQ

Чем FLUX.2 Pro отличается от Max, Flex и Klein для Text-to-Image?

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

Зачем нужен seed, и на что влияет значение -1?

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

Какое соотношение сторон выбирать под разные задачи?

Каждый формат оптимизирован под конкретный контекст: 1:1 — для соцсетей, аватаров и товаров; 16:9 — для веб-баннеров и презентаций; 9:16 — для Stories и мобильных экранов; 3:2 — для DSLR-стиля; 21:9 — для кинопанорам. Выбор пропорций влияет на то, как модель скомпонует сцену: один и тот же промпт в 16:9 и в 1:1 даст разную композицию. Определяйтесь с форматом до написания промпта — исходя из конечного места использования.

Как точно задать цвета в изображении?

Для точных цветов используйте hex-коды, обязательно привязывая их к конкретному объекту: «куртка цвета #1E3A5F», а не просто «используй #1E3A5F». Без привязки к объекту модель применит цвет непредсказуемо. Для менее критичных случаев хорошо работают конкретные описания — «глубокий полночный синий», «выгоревший красный кирпич» — они стабильнее, чем просто «синий» или «красный».

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

Модели FLUX нередко ошибаются с кириллицей — если критически важна русскоязычная надпись, проверьте результат или используйте английский текст. Заключайте нужный текст в кавычки и сразу указывайте, где и как он расположен: «надпись "ОТКРЫТО" красными неоновыми буквами над дверью». Для точных цветов используйте hex-коды с привязкой к объекту: «золотой текст с засечками #C9A84C». Держите надписи короткими — до 3–4 слов: длинные фразы и несколько разных надписей в одном изображении резко снижают точность. Если нужна строгая типографика или сложные UI-элементы — рассмотрите FLUX.2 Flex, он специализирован на работе с текстом.

Цены

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

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

API

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

Параметры

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

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

Запрос

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

curl -X POST "https://api.flixa.io/v1/image/flux-2/pro-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/pro-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/pro-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"