Black Forest Labs: FLUX.3 Image
FLUX 3 Image crea y edita imágenes a partir de un brief escrito y hasta diez referencias. Añade cuadros delimitadores definidos en el prompt para la composición y los cambios locales, fundamentación con búsquedas web y de imágenes, y cinco clases de resolución.
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 3 Image es el modelo de generación y edición de imágenes de Black Forest Labs con control explícito sobre la composición. Una descripción de texto puede crear una escena nueva; las imágenes proporcionadas pueden establecer un sujeto, una escena por modificar o varios elementos por combinar. Los cuadros delimitadores permiten que un brief especifique dónde va cada elemento y qué partes de una imagen existente deben cambiar. El resultado es una imagen, con la escena, el texto y la composición solicitados para revisar.
Crea una escena o da una instrucción de edición
Para una imagen nueva, describe sujeto, acción o pose, entorno, luz y encuadre. Escribe entre comillas el texto exacto que debe aparecer en la imagen e indica dónde aparece. Un brief original de producto podría mostrar una taza roja de campamento sobre una superficie de piedra clara, con un encabezado grande arriba y luz suave de la mañana que revele el asa. Define la relación entre el encabezado, el producto y el fondo en lugar de ofrecer palabras de estilo desconectadas.
Para editar, identifica el objeto concreto y el cambio: cambia el color de la taza, reemplaza una etiqueta, mueve una figura o modifica el estilo de la escena. Una sola edición no requiere un cuadro dibujado manualmente. El flujo documentado amplía la instrucción antes de generar y puede localizar el elemento nombrado y añadir un cuadro automáticamente. El prompt ampliado que devuelve registra esa interpretación, lo cual es útil cuando una instrucción selecciona el objeto equivocado o introduce un detalle no deseado.
Combina y prepara imágenes de referencia
El perfil exacto del fabricante admite entre una y diez referencias, proporcionadas como URL de imagen o datos de imagen codificados. Cada una debe tener al menos 256×256 píxeles y no superar 16 megapíxeles. Nombra una referencia por su posición o contenido visible y después explica su función: la persona de la Imagen 1, la chamarra de la Imagen 2 y la habitación de la Imagen 3. Una imagen de referencia es una fuente de información visual, no una instrucción para copiar cada detalle ajeno a la tarea que contenga.
La configuración de relación de aspecto tiene auto como valor predeterminado. En la especificación de solicitud, tiene prioridad una proporción solicitada en el prompt; de lo contrario, la primera referencia establece el encuadre, con una salida cuadrada como alternativa cuando ni una referencia ni una forma solicitada lo proporcionan. Para una composición, coloca primero la referencia de la escena prevista o elige la proporción explícitamente. Conserva las imágenes de origen y su orden junto con el resultado para que una revisión posterior utilice el mismo punto de partida visual.
Ubica elementos con cuadros delimitadores
Un prompt de composición combina una descripción con un arreglo JSON de filas de elementos. La descripción nombra un elemento mediante un marcador como <cup_1>; la fila contiene id, bbox y desc. Las coordenadas son enteros de 0 a 1000 en el orden [top, left, bottom, right], medidos desde la esquina superior izquierda. Por ejemplo, [0, 0, 500, 500] describe el cuarto superior izquierdo sin importar las dimensiones en píxeles de la imagen. Usa la relación de aspecto para la que se diseñó la composición, porque esa cuadrícula de coordenadas se estira con el encuadre.
Una fila de edición utiliza en cambio from, src_bbox y tgt_bbox junto con el identificador y la descripción. ref_image_0 significa la primera imagen proporcionada. Los cuadros de origen y destino coincidentes anclan un elemento; los cuadros diferentes lo mueven o redimensionan. Una fila nueva sin origen genera su descripción en la ubicación de destino, lo que permite añadir, reemplazar o cambiar colores. Una fila de origen sin destino elimina el elemento. Indica las adiciones y eliminaciones tanto en la instrucción escrita como en las filas, y conserva filas de anclaje para los detalles que deben permanecer en su sitio.
Dale a las letras su propio cuadro y escribe su texto exacto entre comillas en desc. Los cuadros orientan la ubicación y la escala; no son máscaras de recorte, así que un elemento puede extenderse más allá del rectángulo. El fabricante informa que en sus ejemplos los objetos nuevos en cuadros de alrededor de 40×25 píxeles con frecuencia no aparecieron. Deja suficiente espacio visible y revisa los límites editados. Los píxeles fuera del destino suelen mantenerse estables, pero las sombras, los reflejos y la iluminación cercana aún pueden cambiar.
Fundamentación con búsquedas, clases de salida y registros útiles
El perfil documentado activa de forma predeterminada la fundamentación con búsquedas, lo que permite que búsquedas web y de imágenes aporten información a la generación. Puede desactivarse para un brief que deba utilizar únicamente la descripción y las referencias proporcionadas. Para un sujeto del mundo real, identifica claramente el lugar, evento u objeto y separa el contenido factual del tratamiento artístico. Las imágenes informadas por búsquedas aún deben compararse con material de fuentes confiables cuando una etiqueta, un objeto o un evento representado deban ser exactos.
Las cinco clases de resolución son 768sq, 1k, 1.5k, 2k y 4k, con 1k como valor predeterminado. Representan niveles de igual área de píxeles, así que el ancho y el alto exactos dependen de la proporción seleccionada. Quince proporciones fijas van de 21:9, pasando por formatos cuadrados y verticales, a 9:21. El perfil de este modelo controla el tamaño mediante proporción y resolución; no expone los campos seed, width o height utilizados en los perfiles de solicitud de FLUX.2. Su selector documentado de versión actualmente nombra una versión que evoluciona, en lugar de establecer una correspondencia fechada con los pesos del proveedor.
El flujo del fabricante devuelve una imagen después del procesamiento asíncrono, junto con el prompt ampliado. Su enlace firmado de descarga de la imagen es válido durante una hora. Conserva la imagen real, el prompt final y las referencias en lugar de depender de un enlace temporal. Para un recurso revisado, compara el texto solicitado, la ubicación de los objetos, la identidad de las referencias y la zona modificada al tamaño de visualización previsto. Una generación terminada es el punto de partida para comprobar esos requisitos visuales.
Ailoot Ultra · Imágenes POST /v1/images/generations black-forest-labs/flux-3-image
black-forest-labs/flux-3-image
black-forest-labs/flux-3-imageInicio
FLUX 3 Image crea y edita imágenes a partir de un brief escrito y hasta diez referencias. Añade cuadros delimitadores definidos en el prompt para la composición y los cambios locales, fundamentación con búsquedas web y de imágenes, y cinco clases de resolución.
- 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-3-image | Predeterminado— |
Campoprompt | Tipostring | RequisitoObligatorio | Valores y límites Longitud mínima: 1 | Predeterminado— |
Camporesolution | Tipostring | RequisitoOpcional | Valores y límites 768, 1K, 1.5K, 2K, 4K | Predeterminado— |
Campoaspect_ratio | Tipostring | RequisitoOpcional | Valores y límites 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 | 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: 10 | 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 | Cargo |
|---|---|---|---|
| ConfiguraciónTarifas base por token | Tabla de tarifasTarifa base | Cantidad prevista— | 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ónCosto estimado de generación | Tabla de tarifas— | Cantidad previstaestimación para una generación | Cargo Salida · Costo estimado de generación · Estimación solo para comparar $0.082 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-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
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-3-image
Alias de rutas de métodos
/v1/images
ID de modelo relacionados
FAQ · Black Forest Labs: FLUX.3 Image
- ¿Qué entradas y resultados están disponibles?
POST /v1/images/generations·black-forest-labs/flux-3-image:text,image→image- ¿Qué campos utiliza la solicitud?
POST /v1/images/generations·black-forest-labs/flux-3-image:model,prompt,resolution,aspect_ratio,n,input_references,provider- ¿Qué límites se aplican?
POST /v1/images/generations·black-forest-labs/flux-3-image:n.minimum:1;n.maximum:1