models

Black Forest Labs: FLUX.2 Flex

Markdown · JSON

Black Forest Labs: FLUX.2 Flex

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

О модели

Описание раскрывает возможности модели. Доступные в Ailoot входные данные, результаты и параметры выбранного метода перечислены ниже.

FLUX.2 [flex] — версия Black Forest Labs для генерации и редактирования изображений, специализирующаяся на типографике, отображении текста и сохранении мелких деталей. Она использует текстовые инструкции сцены и референсные изображения, выдавая картинку. Её определяющая настройка — регулируемое сэмплирование: документированный профиль предоставляет шаги вывода и guidance, позволяя уточнять визуальное задание и словами, и параметрами.

Надписи и мелкие детали

Типографическая задача начинается с самого текста. Заключите каждую строку в кавычки, задайте место, различайте заголовок, вспомогательный текст и подпись. Опишите стиль букв, масштаб и цвет относительно сцены. Авторское задание постера может показывать кобальтово-синий велосипед в светлой студии, с крупным заголовком над рамой и меньшей строкой характеристик под ней. Изображение должно одновременно ясно показывать товар и порядок чтения.

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

Шаги и guidance решают разные задачи

Конкретный профиль разработчика принимает от одного до пятидесяти шагов вывода, по умолчанию пятьдесят. Описание связывает большее число шагов с детализацией и реализмом. Guidance находится в диапазоне от 1.5 до 10, по умолчанию 5. Более высокое значение усиливает следование промпту, но может снижать реализм. Поэтому точные дизайнерские указания и естественная фотографичность могут требовать разных настроек внутри профиля.

Сравнивая изменение настройки, сохраняйте формулировки, референсы и форму результата. Оценивайте особенность, ради которой внесено изменение: формы букв, положение объекта или текстуру материала. Меняйте параметр по конкретной визуальной причине, не считая большее число автоматически лучшим. Это настройки сэмплирования разработчика; четырёхшаговый дистиллированный [klein] и стандартные настройки [pro] или [max] относятся к другим моделям.

В спецификации [flex] расширение промпта включено по умолчанию и отключается собственной настройкой prompt_upsampling. При необходимости это сохраняет подробное задание в исходном виде. Общее руководство рекомендует ставить основной объект и важное действие перед второстепенным оформлением и описывает структурированные JSON-промпты наряду с естественным языком. Используйте структуру, в которой проще задать необходимые отношения.

Правки по референсам

Конкретный профиль запроса содержит восемь позиций референсных изображений. Интерактивный процесс разработчика отдельно допускает до десяти; эти числа относятся к разным интерфейсам. Определите, задаёт ли картинка редактируемую сцену, товар, персонажа, одежду или стиль. Для правки обозначьте объект и изменение, затем окружающую композицию, материалы или свет, которые нужно сохранить.

Авторская задача упаковки может использовать коробку из первого изображения и отделку из второго, заменить переднюю этикетку утверждённым текстом и сохранить пропорции коробки. В групповой композиции каждому объекту можно назначить отдельный референс и сохранять эти назначения. Примеры семейства охватывают смену предметов и фона, композиции, правку текста и стилизацию. Запросите одну связанную правку с понятной целью, затем сравните и изменённую область, и сохраняемые части.

Размер, цвет и полученное изображение

Руководство FLUX.2 документирует минимум 64×64 пикселя, размеры кратно 16 и результат до 4 мегапикселей; для обычного применения рекомендуется до 2 мегапикселей. Конкретная спецификация [flex] перечисляет JPEG, PNG и WebP, по умолчанию JPEG. Также предусмотрен необязательный случайный seed. Для сравнения версий сохраняйте фактическую модель, seed и настройки сэмплирования вместе с исходными референсами: одно имя семейства не определяет полную конфигурацию генерации.

В работе с важным цветом связывайте каждый hex-код с названным предметом или текстовым элементом. Для композиции задайте пропорции через размеры изображения и оставьте достаточно места для читаемых надписей. В общем руководстве нет механизма негативного промпта, поэтому позитивно описывайте нужный вид: резкий фокус, чистый фон или явно свободную область для текста. Многоязычные примеры поддерживают написание культурно специфического задания на подходящем языке, но не устанавливают гарантированное фиксированное число языков.

Процесс FLUX.2 разработчика возвращает изображение после обработки и использует временные подписанные ссылки с десятиминутным окном получения. Сохраняйте само изображение вместе с заданием. Проверяйте типографику, мелкие детали, идентичность референсов и визуальную обработку до размещения в макете. Итоговым материалом может стать выбранный постер, товарное изображение или отредактированная композиция с точными настройками для следующей правки.

Ailoot Ultra · Картинки POST /v1/images/generations black-forest-labs/flux.2-flex

black-forest-labs/flux.2-flex

Black Forest Labs /black-forest-labs/flux.2-flex

Начало

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

Допустимые входные данные
Текст · Картинки
Результаты
Картинки

Доступно в Ailoot · входные данные и методы

Ailoot Ultra · Картинки POST /v1/images/generations
Входные данные
text, image
Результат
image
ПолеТипТребованиеЗначения и ограниченияПо умолчанию
ПолеmodelТипstringТребованиеОбязательноЗначения и ограничения
black-forest-labs/flux.2-flex
По умолчанию—
ПолеpromptТипstringТребованиеОбязательноЗначения и ограничения
Минимальная длина: 1
По умолчанию—
Полеaspect_ratioТипstringТребованиеНеобязательноЗначения и ограничения
1:1, 4:3, 3:4, 3:2, 2:3, 16:9, 9:16, 21:9, auto
По умолчанию—
Полеoutput_formatТипstringТребованиеНеобязательноЗначения и ограничения
png, jpeg
По умолчанию—
ПолеnТипintegerТребованиеНеобязательноЗначения и ограничения
Минимум: 1
Максимум: 1
По умолчанию—
Полеinput_referencesТипarrayТребованиеНеобязательноЗначения и ограничения
Минимум элементов: 0
Максимум элементов: 8
По умолчанию—
ПолеproviderТипobjectТребованиеНеобязательноЗначения и ограниченияПо умолчанию—
Параметры и жизненный цикл метода
ПараметрКонтракт
Параметрcontent_typeКонтрактapplication/json
ПараметрrequiredКонтрактmodel, prompt
Параметрmaterial_typesКонтрактtext, image

Жизненный цикл: synchronous_result_then_owned_library

GET /v1/media/tasks/{task_id} · Фактически возвращённый task_id или запись в медиатеке

GET /v1/media/assets/{asset_id}/content

GET /v1/media/assets

GET /v1/media/assets/{asset_id}

Тарифы

Как рассчитывается итоговая плата

Отображаемые тарифы позволяют оценить стоимость до генерации. Итоговое списание рассчитывается по стоимости, записанной для исходной генерации. Измеренная длительность результата и прогнозные объёмы не являются итоговым оплачиваемым объёмом.

Тарифная справка не добавляет режимы запроса. Поддерживаемые параметры указаны для выбранного метода.

Быстрый режим
Не указано При выборе быстрого режима
Режим flex
Не указано При выборе режима flex
Максимальная интенсивность рассуждений
Не указано При максимальной интенсивности рассуждений с корректировкой по умолчанию (default)

Оценочные ставки для сравнения

Цены по конфигурациям

Сопоставьте каждую плату с указанными условиями. Для каждого набора альтернативных конфигураций используйте одну ставку.

КонфигурацияШкала ставокПрогноз количестваРасчётная единицаПлата
КонфигурацияБазовые тарифы на токеныШкала ставокБазовая ставкаПрогноз количества—Расчётная единица—Плата
Вход · Входные токены · Оценка только для сравнения — / 1K токенов
Выход · Выходные токены · Оценка только для сравнения — / 1K токенов
Вход · Чтение кэша · Оценка только для сравнения — / 1K токенов
Вход · Запись в кэш · Оценка только для сравнения — / 1K токенов
Вход · Запись в кэш, 1 час · Оценка только для сравнения — / 1K токенов
Конфигурациямегапиксель входного изображенияШкала ставок—Прогноз количества—Расчётная единицаза мегапиксель входного изображенияПлата
Вход · мегапиксель входного изображения · Оценка только для сравнения $0.12 за мегапиксель входного изображения
Конфигурациямегапиксель выходного изображенияШкала ставок—Прогноз количества—Расчётная единицаза мегапиксель выходного изображенияПлата
Выход · мегапиксель выходного изображения · Оценка только для сравнения $0.12 за мегапиксель выходного изображения
КонфигурацияОриентировочная стоимость генерацииШкала ставок—Прогноз количестваОценка для одной генерацииРасчётная единица—Плата
Выход · Оценочная стоимость генерации · Оценка только для сравнения $0.12 оценка до генерации

Эта оценка не является дополнительным списанием или фиксированным тарифом для завершённой генерации.

Ailoot резервирует расчётную сумму перед запросом. После получения результата списывает итоговую плату по измеренному расходу. Для окончательного списания за потоковый ответ используется итоговая запись расхода. Как работают резервирование и расчёт →

Примеры запросов

Ailoot Ultra · Картинки

curl
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
export AILOOT_API_KEY
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p={'model': 'black-forest-labs/flux.2-flex', 'prompt': 'a red panda astronaut floating in space, studio lighting'}

Path("request.json").write_text(json.dumps(p,ensure_ascii=False))
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/images/generations \
  -H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
  --data-binary @request.json -D response-headers.txt -o result.json
python3 - <<'PY_RESULT'
import base64, json, os, subprocess
from pathlib import Path
from urllib.parse import urlsplit, urljoin

def save_images(items):
    if not items: raise SystemExit("No completed images; retain the full response")
    for index, item in enumerate(items):
        encoded=item.get("b64_json")
        uri=item.get("url", "")
        if not encoded and uri.startswith("data:image/"):
            header, separator, encoded=uri.partition(",")
            if not separator or ";base64" not in header: raise SystemExit("Unsupported image data URI")
        if encoded:
            raw=base64.b64decode(encoded,validate=True)
        elif uri:
            uri=urljoin("https://api.ailoot.ai",uri)
            parsed=urlsplit(uri)
            if parsed.scheme!="https" or not parsed.netloc or parsed.username or parsed.password:
                raise SystemExit("Invalid returned image URL")
            owned=parsed.netloc=="api.ailoot.ai" and parsed.path.startswith("/v1/media/assets/") and parsed.path.endswith("/content")
            args=["curl","--fail-with-body","--silent","--show-error",uri]
            if owned: args += ["-H","Authorization: Bearer "+os.environ["AILOOT_API_KEY"]]
            temporary=Path(f"image-{index}.bin")
            subprocess.run(args+["-o",str(temporary)],check=True)
            raw=temporary.read_bytes()
            temporary.unlink()
        else: raise SystemExit("Image has neither bytes nor URL")
        if not raw: raise SystemExit("Empty image result")
        ext="png" if raw.startswith(b"\x89PNG") else "jpg" if raw.startswith(b"\xff\xd8") else "webp" if raw[:4]==b"RIFF" and raw[8:12]==b"WEBP" else "svg" if raw.lstrip().startswith((b"<svg",b"<?xml")) else "bin"
        Path(f"image-{index}.{ext}").write_bytes(raw)
    print("Every returned image saved; complete response metadata retained")
save_images(json.loads(Path("result.json").read_text())["data"])
PY_RESULT

Получить и сохранить результаты

Ailoot Ultra · Картинки

Загрузите каждое полученное изображение или сохраните его содержимое Base64

  • GET /v1/media/tasks/{task_id}
  • GET /v1/media/assets/{asset_id}/content
  • GET /v1/media/assets
  • GET /v1/media/assets/{asset_id}
Чтение другого содержимого
Читать существующие материалы, принадлежащие вам
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/media/assets \
  -H "Authorization: Bearer $AILOOT_API_KEY" -o owned-assets.json
# Preserve every returned asset and follow its exact signed content URL. Do not construct a signed token.
Сохраняйте все готовые результаты

Сохраните каждое готовое изображение; загрузите содержимое по каждому полученному URL или декодируйте его содержимое Base64.

Сохраняйте полный ответ и заголовки, все фактические результаты, исходные возвращённые идентификаторы и все поля использования. Восстанавливайте исходную операцию без повторной отправки запроса создания.

Если нужно проверить исходный ответ

Сохраните возвращённый X-Client-Request-ID для сверки. Читайте только фактически возвращённые значения task_id/asset_id или собственную медиатеку; никогда не составляйте URL задачи из ID операции и никогда не отправляйте запрос создания повторно.

Поля ответа
ПолеТип
ПолеcreatedТип
Полеdata[].urlТип
Полеdata[].b64_jsonТип
ПолеusageТип

Псевдонимы

Псевдонимы моделей

Ailoot Ultra black-forest-labs/flux.2-flex

Псевдонимы путей метода

/v1/images

Связанные ID для вызова

black-forest-labs/flux.2-flex

FAQ · Black Forest Labs: FLUX.2 Flex
Какие входные данные и результаты доступны?

POST /v1/images/generations · black-forest-labs/flux.2-flex: text, image → image

Какие поля использует запрос?

POST /v1/images/generations · black-forest-labs/flux.2-flex: model, prompt, aspect_ratio, output_format, n, input_references, provider

Какие ограничения действуют?

POST /v1/images/generations · black-forest-labs/flux.2-flex: n.minimum: 1; n.maximum: 1

Подробнее

Подключите Ailoot к Claude Code, OpenCode, Hermes или своему приложению.

Компания и портфель её проектов

Компания и портфель её проектов: миллионы клиентов; продажи на миллиарды ежемесячно.

Покупайте токены со скидкой.

Скидка по подписке для регулярной работы. Промокоды — до 50% на покупку токенов.

Подписка
Выберите тариф со скидкой для своих регулярных запросов.
Промокод до 50%
Введите код при покупке. Цена пересчитается с учётом действующей акции.
Расходы в истории
Модель, токены и сумма сохраняются для каждого запроса.

Выбрать подписку · Посмотреть цены моделей

Подключайте API к продукту, который вы продаёте.

SaaS, приложения и боты — по оферте и лицензионному договору Ailoot. Для перепродажи запросите реселлерскую лицензию.

Коммерческое приложение
Встраивайте генерацию текста, картинок, видео и звука в платные функции своего сервиса.
Лицензия для реселлера
Пришлите описание проекта и схему доступа. Запросите письменные условия использования и перепродажи.
Документы на сайте
Оферта, лицензионный договор и политика обработки данных доступны до подключения.

Запросить реселлерскую лицензию · Оферта и лицензионный договор