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Начало
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 · Картинки
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}/contentGET /v1/media/assetsGET /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 для вызова
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