Войти

FLUX.2 Flash Text to Image

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

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

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

Обзор

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

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

Критерий Оценка Комментарий
Скорость и стоимость Компромисс по предельному качеству всё же есть, но скорость и низкая стоимость делают модель очень сильной для массовых генераций, быстрых превью и A/B-итераций.
Соответствие запросу В перегруженных запросах часть условий может теряться, но обычным и средним по сложности промптам модель следует хорошо, особенно в предметных, рекламных и фотореалистичных задачах.
Качество отдельного кадра Не дотягивает до максимальной точности и детализации FLUX.2 Max или Pro, но для быстрой модели даёт сильное качество кадра: реализм, свет, материалы и чистую проработку деталей.
Стиль и разнообразие При массовой генерации может появляться усреднённая FLUX-эстетика, но модель хорошо переключает стили и даёт полезное разнообразие вариантов для быстрых итераций.
Эстетика и композиция Иногда уходит в более шаблонную визуальную эстетику из-за оптимизации под скорость, но обычно строит приятные композиции для постеров, продуктовых кадров и соцсетей.
Управляемость генерации Тонкая настройка ограничена по сравнению с FLUX.2 Flex или локальными воркфлоу, но есть seed, сила следования промпту (prompt guidance), размеры, форматы, расширение промпта (prompt expansion) и проверка безопасности (safety checker).
Анатомия и физическая правдоподобность В сложных позах, толпах и мелких физических взаимодействиях возможны ошибки, но анатомия, руки, кожа, ткань и свет заметно лучше среднего уровня быстрых моделей.

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

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

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

Советы

FAQ

Когда выбирать FLUX.2 Flash, а когда более качественный вариант FLUX.2?

FLUX.2 Flash стоит выбирать для быстрых черновиков, перебора идей и серий вариантов, где важна скорость обратной связи. Если нужен финальный ассет с максимальной детализацией, более сильным следованием сложному промпту или специальным контролем над типографикой и мелкими деталями, лучше переходить на более качественный или более управляемый вариант той же линейки Text-to-Image.

Как написать промпт, чтобы FLUX.2 Flash лучше попал в нужную сцену?

Начинайте с главного объекта и действия, затем добавляйте стиль, свет, композицию и второстепенные детали. Для большинства задач лучше работает понятное естественное описание средней длины, а не набор разрозненных тегов; самые важные требования ставьте ближе к началу промпта.

Как добиться читаемого текста внутри изображения?

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

Почему в форме нет негативного промпта и как попросить модель убрать лишнее?

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

Как размер изображения и seed влияют на результат?

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

Цены

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

Стоимость необязательной подписки 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/flash-text-to-image с заголовком Authorization: Bearer $FLIXA_API_KEY и телом JSON. Ниже — пример с полями из Playground.

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