Black Forest Labs: FLUX.3 Image
FLUX 3 Image создаёт и редактирует изображения по текстовому заданию и набору до десяти референсов. Добавляет ограничивающие рамки в промпте для композиции и локальных изменений, привязку к веб-источникам и поиску изображений, а также пять классов разрешения.
О модели
Описание раскрывает возможности модели. Доступные в Ailoot входные данные, результаты и параметры выбранного метода перечислены ниже.
FLUX 3 Image — модель Black Forest Labs для генерации и редактирования изображений с явным управлением композицией. Текст создаёт новую сцену; предоставленные изображения задают объект, редактируемую сцену или объединяемые элементы. Ограничивающие рамки позволяют указывать в задании место каждого элемента и изменяемые части существующей картинки. Результат — изображение, у которого нужно проверить запрошенную сцену, текст и макет.
Создайте сцену или задайте правку
Для нового изображения опишите объект, действие или позу, обстановку, свет и кадрирование. Заключите точный текст внутри изображения в кавычки и укажите место. Авторское товарное задание может показывать красную походную кружку на светлой каменной поверхности, с крупным заголовком над ней и мягким утренним светом, открывающим ручку. Определите отношения заголовка, товара и фона вместо несвязанных стилевых слов.
Для редактирования обозначьте конкретный объект и изменение: перекрасить кружку, заменить этикетку, переместить фигуру или изменить стиль сцены. Одна правка не требует вручную нарисованной рамки. Документированный процесс расширяет инструкцию перед генерацией и может автоматически найти названный элемент и добавить рамку. Возвращённый расширенный промпт фиксирует эту интерпретацию, что полезно, если инструкция выбрала неверный объект или добавила лишнюю деталь.
Объединение и подготовка референсов
Конкретный профиль разработчика принимает от одного до десяти референсов по URL изображения или как закодированные данные. Каждый должен быть не менее 256×256 пикселей и не более 16 мегапикселей. Назовите референс по позиции или видимому содержимому, затем объясните роль: человек из Image 1, куртка из Image 2, комната из Image 3. Референс — источник визуальной информации, а не указание копировать каждую постороннюю деталь.
Соотношение сторон по умолчанию — auto. В спецификации запроса приоритет имеет соотношение из промпта; иначе кадрирование задаёт первый референс, а при отсутствии референса и запрошенной формы используется квадрат. Для композиции поставьте нужный референс сцены первым или явно выберите соотношение. Сохраняйте исходные изображения и порядок вместе с результатом, чтобы следующая правка использовала ту же визуальную отправную точку.
Размещение элементов ограничивающими рамками
Промпт макета объединяет описание и JSON-массив строк элементов. В описании элемент назван маркером вроде <cup_1>; строка содержит id, bbox и desc. Координаты — целые числа от 0 до 1000 в порядке [top, left, bottom, right], отсчитываемые от левого верхнего угла. Например, [0, 0, 500, 500] обозначает левую верхнюю четверть независимо от пиксельного размера изображения. Используйте соотношение сторон, под которое спроектирован макет: сетка координат растягивается вместе с кадром.
Строка редактирования вместо этого использует from, src_bbox и tgt_bbox вместе с идентификатором и описанием. ref_image_0 означает первое предоставленное изображение. Одинаковые исходная и целевая рамки закрепляют элемент; разные — перемещают его или меняют размер. Новая строка без источника генерирует описанное в целевом месте, позволяя добавления, замены или перекрашивание. Строка с источником без цели удаляет элемент. Задавайте добавления и удаления и текстом, и строками, сохраняя опорные строки деталей, которые должны остаться на месте.
Выделите надписям отдельную рамку и заключите точный текст в кавычки в desc. Рамки направляют размещение и масштаб, но не являются масками обрезки: элемент может выходить за прямоугольник. Разработчик сообщает, что в примерах новые объекты в рамках около 40×25 пикселей часто не появлялись. Оставьте достаточно видимого пространства и проверяйте границы правки. Пиксели вне цели обычно стабильны, но тени, отражения и соседнее освещение могут меняться.
Привязка к источникам, классы результата и полезные записи
Документированный профиль по умолчанию включает привязку к источникам, позволяя веб-поиску и поиску изображений информировать генерацию. Её можно отключить для задания, использующего только собственное описание и референсы. Для реального объекта ясно укажите место, событие или предмет, отделяя факты от художественной обработки. Изображение с использованием поиска всё равно нужно сравнивать с авторитетными материалами, если надпись, объект или изображённое событие должны быть точными.
Пять классов разрешения — 768sq, 1k, 1.5k, 2k и 4k, по умолчанию 1k. Они представляют уровни равной пиксельной площади, поэтому точные ширина и высота зависят от выбранного соотношения. Пятнадцать фиксированных соотношений идут от 21:9 через квадратные и вертикальные форматы до 9:21. Профиль управляет размером через соотношение и разрешение; он не предоставляет поля seed, width или height из запросов FLUX.2. Документированный селектор версии сейчас обозначает обновляемый выпуск, а не датированное соответствие весам поставщика.
Процесс разработчика возвращает изображение после асинхронной обработки вместе с расширенным промптом. Подписанная ссылка скачивания действует один час. Сохраняйте само изображение, конечный промпт и референсы, не полагаясь на временную ссылку. Для проверенного материала сравните запрошенный текст, положение предметов, идентичность референсов и изменённую область в целевом размере показа. Завершённая генерация — начало проверки этих визуальных требований.
Ailoot Ultra · Картинки POST /v1/images/generations black-forest-labs/flux-3-image
black-forest-labs/flux-3-image
black-forest-labs/flux-3-imageНачало
FLUX 3 Image создаёт и редактирует изображения по текстовому заданию и набору до десяти референсов. Добавляет ограничивающие рамки в промпте для композиции и локальных изменений, привязку к веб-источникам и поиску изображений, а также пять классов разрешения.
- Допустимые входные данные
- Текст · Картинки
- Результаты
- Картинки
Доступно в Ailoot · входные данные и методы
Ailoot Ultra · Картинки POST /v1/images/generations
- Входные данные
text,image- Результат
image
| Поле | Тип | Требование | Значения и ограничения | По умолчанию |
|---|---|---|---|---|
Полеmodel | Типstring | ТребованиеОбязательно | Значения и ограничения black-forest-labs/flux-3-image | По умолчанию— |
Полеprompt | Типstring | ТребованиеОбязательно | Значения и ограничения Минимальная длина: 1 | По умолчанию— |
Полеresolution | Типstring | ТребованиеНеобязательно | Значения и ограничения 768, 1K, 1.5K, 2K, 4K | По умолчанию— |
Полеaspect_ratio | Типstring | ТребованиеНеобязательно | Значения и ограничения 21:9, 2:1, 16:9, 3:2, 7:5, 4:3, 5:4, 1:1, 4:5, 3:4, 5:7, 2:3, 9:16, 1:2, 9:21, auto | По умолчанию— |
Полеn | Типinteger | ТребованиеНеобязательно | Значения и ограничения Минимум: 1 Максимум: 1 | По умолчанию— |
Полеinput_references | Типarray | ТребованиеНеобязательно | Значения и ограничения Минимум элементов: 0 Максимум элементов: 10 | По умолчанию— |
Поле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.082 оценка до генерации Эта оценка не является дополнительным списанием или фиксированным тарифом для завершённой генерации. |
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-3-image', '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-3-image
Псевдонимы путей метода
/v1/images
Связанные ID для вызова
FAQ · Black Forest Labs: FLUX.3 Image
- Какие входные данные и результаты доступны?
POST /v1/images/generations·black-forest-labs/flux-3-image:text,image→image- Какие поля использует запрос?
POST /v1/images/generations·black-forest-labs/flux-3-image:model,prompt,resolution,aspect_ratio,n,input_references,provider- Какие ограничения действуют?
POST /v1/images/generations·black-forest-labs/flux-3-image:n.minimum:1;n.maximum:1