Black Forest Labs: FLUX.2 Flex
FLUX.2 [flex] se especializa en tipografía dentro de imágenes y pequeños detalles visuales, con pasos de muestreo y guía ajustables. Usa texto y referencias de imagen para desarrollar carteles, composiciones de producto o revisiones precisas, equilibrando el seguimiento de instrucciones y el realismo.
Sobre el modelo
Esta descripción cubre las capacidades del modelo. Las entradas, salidas y opciones disponibles en Ailoot se indican a continuación para el método seleccionado.
FLUX.2 [flex] es la edición de generación y edición de imágenes de Black Forest Labs especializada en tipografía, representación de texto y conservación de detalles pequeños. Utiliza instrucciones escritas de la escena y referencias de imagen para producir una imagen. Su control distintivo es el muestreo ajustable: el perfil documentado expone tanto pasos de inferencia como guía, lo que permite perfeccionar un brief visual mediante la configuración y las palabras.
Letras y detalles finos
Una tarea tipográfica debe comenzar con el texto real. Escribe cada línea entre comillas, define dónde va y distingue encabezado, texto de apoyo y etiqueta. Describe el estilo, la escala y el color de las letras en relación con la escena. Un brief original de cartel podría mostrar una bicicleta azul cobalto en un estudio de tonos claros, con un título grande encima del cuadro y una línea más pequeña de especificaciones debajo. La imagen debe dejar claros tanto el producto como el orden de lectura.
Para una imagen detallada de producto, identifica las partes que determinan si el resultado es útil: una carátula, una etiqueta de control, una costura, el borde de un material o una marca del empaque. Proporciona una referencia legible y explica qué característica establece. Una escena que en general parece similar puede aun así modificar un carácter o componente crítico, de modo que debes comparar el detalle generado al tamaño de visualización previsto. La especialización del modelo es una razón para dar requisitos exactos, no una garantía de que la corrección de texto o la inspección visual dejen de ser necesarias.
Los pasos y la guía cumplen funciones distintas
El perfil exacto del fabricante admite entre uno y cincuenta pasos de inferencia, con cincuenta como valor predeterminado. Su descripción asocia más pasos con mayor detalle y realismo. La guía va de 1.5 a 10, con un valor predeterminado de 5. Una guía más alta refuerza el seguimiento del prompt, pero puede reducir el realismo. Por ello, una imagen con instrucciones exactas de diseño y otra que busca un aspecto fotográfico natural pueden requerir elecciones distintas dentro de ese perfil.
Mantén constantes la redacción, las referencias y la forma de salida al comparar un cambio de configuración. Observa la característica que motivó el cambio: la forma de las letras, la ubicación de los objetos o la textura del material. Cambia una configuración por una razón visual específica, en lugar de considerar que un número grande es automáticamente mejor. Estos son controles de muestreo del fabricante; el perfil destilado de cuatro pasos de [klein] y los controles estándar de [pro] o [max] son elecciones de modelo distintas.
La ampliación del prompt está activada de forma predeterminada en la especificación de [flex] y puede desactivarse mediante su propio control prompt_upsampling. Esto permite que un brief detallado se mantenga como el texto proporcionado cuando resulte apropiado. La guía compartida del fabricante recomienda colocar el sujeto principal y la acción importante antes de la decoración secundaria, y describe prompts estructurados en JSON junto con briefs en lenguaje natural. Usa la estructura que facilite especificar las relaciones requeridas.
Revisiones guiadas por referencias
El perfil exacto de solicitud contiene ocho posiciones para imágenes de referencia. El flujo interactivo del fabricante permite hasta diez imágenes por separado; esas cantidades describen interfaces distintas. Define si una imagen aporta la escena por editar, un producto, un personaje, ropa o un estilo. Para una revisión, identifica el objeto y el cambio, y luego nombra la composición del entorno, los materiales o la luz que deben conservarse.
Una tarea original de empaque podría utilizar la caja de cartón de la primera imagen y el acabado de una segunda, reemplazar la etiqueta frontal por el texto aprobado y conservar las proporciones de la caja. Una composición de grupo puede asignar una referencia distinta a cada sujeto y mantener esas asignaciones. Los ejemplos de la familia abarcan cambios de objetos y fondos, composiciones, ediciones de texto y transformaciones de estilo. Solicita una revisión integrada con un objetivo claro y después compara tanto la zona editada como las partes que debían mantenerse estables.
Tamaño, color e imagen devuelta
La guía de FLUX.2 documenta un mínimo de 64×64 píxeles, dimensiones en múltiplos de 16 y una salida de hasta 4 megapíxeles, con hasta 2 megapíxeles recomendados para uso habitual. La especificación exacta de [flex] incluye salida JPEG, PNG y WebP, con JPEG como formato predeterminado. También proporciona una semilla aleatoria opcional. Conserva el modelo real, la semilla y la configuración de muestreo junto con las referencias de origen al comparar versiones; el nombre de una familia por sí solo no identifica la configuración completa de generación.
Para trabajo sensible al color, vincula cada código hexadecimal con un objeto o elemento de texto identificado. Para la composición, especifica la relación de aspecto prevista mediante las dimensiones de la imagen y deja suficiente espacio para letras legibles. La guía compartida no tiene un mecanismo de prompts negativos, así que describe el aspecto deseado de manera positiva: enfoque nítido, fondo limpio o un área claramente vacía para texto. Sus ejemplos multilingües permiten redactar un brief culturalmente específico en el idioma apropiado sin establecer una garantía de un número fijo de idiomas.
El flujo de FLUX.2 del fabricante devuelve una imagen después del procesamiento y utiliza enlaces firmados temporales con una ventana de descarga de diez minutos. Conserva juntos la imagen real y el brief. Revisa la tipografía, los detalles finos, la identidad de las referencias y el tratamiento visual antes de colocar el recurso en una composición. El entregable puede ser un cartel seleccionado, una imagen de producto o una composición editada, con su configuración exacta conservada para la siguiente revisión.
Ailoot Ultra · Imágenes POST /v1/images/generations black-forest-labs/flux.2-flex
black-forest-labs/flux.2-flexInicio
FLUX.2 [flex] se especializa en tipografía dentro de imágenes y pequeños detalles visuales, con pasos de muestreo y guía ajustables. Usa texto y referencias de imagen para desarrollar carteles, composiciones de producto o revisiones precisas, equilibrando el seguimiento de instrucciones y el realismo.
- Entradas aceptadas
- Texto · Imágenes
- Resultados
- Imágenes
Disponible en Ailoot · entradas y métodos
Ailoot Ultra · Imágenes POST /v1/images/generations
- Entrada
text,image- Salida
image
| Campo | Tipo | Requisito | Valores y límites | Predeterminado |
|---|---|---|---|---|
Campomodel | Tipostring | RequisitoObligatorio | Valores y límites black-forest-labs/flux.2-flex | Predeterminado— |
Campoprompt | Tipostring | RequisitoObligatorio | Valores y límites Longitud mínima: 1 | Predeterminado— |
Campoaspect_ratio | Tipostring | RequisitoOpcional | Valores y límites 1:1, 4:3, 3:4, 3:2, 2:3, 16:9, 9:16, 21:9, auto | Predeterminado— |
Campooutput_format | Tipostring | RequisitoOpcional | Valores y límites png, jpeg | Predeterminado— |
Campon | Tipointeger | RequisitoOpcional | Valores y límites Mínimo: 1 Máximo: 1 | Predeterminado— |
Campoinput_references | Tipoarray | RequisitoOpcional | Valores y límites Número mínimo de elementos: 0 Número máximo de elementos: 8 | Predeterminado— |
Campoprovider | Tipoobject | RequisitoOpcional | Valores y límites | Predeterminado— |
Parámetros del método y ciclo de vida
| Parámetro | Contrato |
|---|---|
Parámetrocontent_type | Contratoapplication/json |
Parámetrorequired | Contratomodel, prompt |
Parámetromaterial_types | Contratotext, image |
Ciclo de vida: synchronous_result_then_owned_library
GET /v1/media/tasks/{task_id} · El task_id real devuelto o el registro de la biblioteca multimedia
GET /v1/media/assets/{asset_id}/content
GET /v1/media/assets
GET /v1/media/assets/{asset_id}
Tarifas
Cómo se calcula el cargo definitivo
Las tarifas mostradas permiten estimar el costo antes de la generación. El cargo final se calcula a partir del costo registrado para la generación original. La duración medida de la salida y las cantidades estimadas no son la cantidad facturable final.
Las referencias tarifarias no añaden opciones a la solicitud. Los parámetros admitidos se indican en el método seleccionado.
- Modo fast
- Sin especificar Cuando se selecciona el modo fast
- Modo flex
- Sin especificar Cuando se selecciona el modo flex
- Esfuerzo máximo de razonamiento
- Sin especificar Cuando el esfuerzo máximo de razonamiento usa el ajuste default
Tarifas estimadas para comparar
Precios por configuración
Relaciona cada cargo con las condiciones mostradas. Usa una tarifa para cada conjunto de configuraciones alternativas.
| Configuración | Tabla de tarifas | Cantidad prevista | Unidad de facturación | Cargo |
|---|---|---|---|---|
| ConfiguraciónTarifas base por token | Tabla de tarifasTarifa base | Cantidad prevista— | Unidad de facturación— | Cargo Entrada · Tokens de entrada · Estimación solo para comparar — / 1K tokens Salida · Tokens de salida · Estimación solo para comparar — / 1K tokens Entrada · Lectura de caché · Estimación solo para comparar — / 1K tokens Entrada · Escritura en caché · Estimación solo para comparar — / 1K tokens Entrada · Escritura en caché, 1 hora · Estimación solo para comparar — / 1K tokens |
| Configuraciónmegapíxel de imagen de entrada | Tabla de tarifas— | Cantidad prevista— | Unidad de facturaciónpor megapíxel de imagen de entrada | Cargo Entrada · megapíxel de imagen de entrada · Estimación solo para comparar $0.12 por megapíxel de imagen de entrada |
| Configuraciónmegapíxel de imagen de salida | Tabla de tarifas— | Cantidad prevista— | Unidad de facturaciónpor megapíxel de imagen de salida | Cargo Salida · megapíxel de imagen de salida · Estimación solo para comparar $0.12 por megapíxel de imagen de salida |
| ConfiguraciónCosto estimado de generación | Tabla de tarifas— | Cantidad previstaestimación para una generación | Unidad de facturación— | Cargo Salida · Costo estimado de generación · Estimación solo para comparar $0.12 estimación previa a la generación Esta estimación no es un cargo adicional ni una tarifa fija por la generación completada. |
Ailoot reserva un monto estimado antes de la solicitud. Tras obtener el resultado, liquida el cargo definitivo según el uso medido. En las respuestas en flujo, la liquidación usa el registro de uso final. Cómo funcionan la reserva y la liquidación →
Solicitudes de ejemplo
Ailoot Ultra · Imágenes
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
Recibir y guardar resultados
Ailoot Ultra · Imágenes
Descarga cada imagen recibida o guarda su contenido Base64
GET /v1/media/tasks/{task_id}GET /v1/media/assets/{asset_id}/contentGET /v1/media/assetsGET /v1/media/assets/{asset_id}
Otras consultas de contenido
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.
Conserva todos los resultados completados
Guarda todas las imágenes completadas; descarga cada URL recibida o decodifica su contenido Base64.
Conserva la respuesta completa y los encabezados, todas las salidas reales, los identificadores originales devueltos y todos los campos de uso. Recupera la operación original sin volver a enviar la solicitud de creación.
Si es necesario revisar la respuesta original
Conserva el X-Client-Request-ID devuelto para la conciliación. Consulta únicamente los valores reales de task_id/asset_id devueltos o la biblioteca multimedia de tu propiedad; nunca construyas una URL de tarea a partir del ID de la operación ni vuelvas a enviar la solicitud de creación.
Campos de respuesta
| Campo | Tipo |
|---|---|
Campocreated | Tipo |
Campodata[].url | Tipo |
Campodata[].b64_json | Tipo |
Campousage | Tipo |
Alias
Alias del modelo
Ailoot Ultra black-forest-labs/flux.2-flex
Alias de rutas de métodos
/v1/images
ID de modelo relacionados
FAQ · Black Forest Labs: FLUX.2 Flex
- ¿Qué entradas y resultados están disponibles?
POST /v1/images/generations·black-forest-labs/flux.2-flex:text,image→image- ¿Qué campos utiliza la solicitud?
POST /v1/images/generations·black-forest-labs/flux.2-flex:model,prompt,aspect_ratio,output_format,n,input_references,provider- ¿Qué límites se aplican?
POST /v1/images/generations·black-forest-labs/flux.2-flex:n.minimum:1;n.maximum:1