Black Forest Labs: FLUX.3 Image
FLUX 3 Image crea y edita imágenes a partir de un encargo escrito y hasta diez referencias. Añade cuadros delimitadores definidos en el prompt para la composición y los cambios locales, fundamentación mediante búsqueda 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 de la composición. Una descripción textual puede crear una escena nueva; las imágenes proporcionadas pueden establecer un sujeto, una escena que revisar o varios elementos que combinar. Los cuadros delimitadores permiten especificar 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 distribución solicitados que deben inspeccionarse.
Crea una escena o da una instrucción de edición
Para una imagen nueva, describe el sujeto, la acción o pose, el entorno, la luz y el encuadre. Escribe entre comillas el texto exacto que debe aparecer dentro de la imagen e indica dónde va. Un encargo original de producto podría mostrar una taza roja de camping sobre una superficie de piedra clara, con un titular grande encima y una luz suave de mañana que revele el asa. Define la relación entre el titular, el producto y el fondo en lugar de aportar palabras de estilo inconexas.
Para editar, identifica el objeto concreto y el cambio: cambiar el color de la taza, sustituir una etiqueta, mover una figura o cambiar el estilo de la escena. Una edición individual no requiere dibujar manualmente un cuadro. 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 que resulta ú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 productor acepta de una a 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 los 16 megapíxeles. Identifica una referencia por su posición o contenido visible y explica después su función: la persona de la Imagen 1, la chaqueta de la Imagen 2 y la habitación de la Imagen 3. Una referencia visual es una fuente de información visual, no una instrucción para copiar todos los detalles ajenos que contenga.
El ajuste de relación de aspecto es auto de forma predeterminada. En la especificación de solicitudes, una relación pedida en el prompt tiene prioridad; en caso contrario, la primera referencia establece el encuadre, con salida cuadrada como alternativa cuando ni una referencia ni una forma solicitada lo determinan. Para una composición, coloca primero la referencia de la escena prevista o elige la relació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.
Coloca elementos con cuadros delimitadores
Un prompt de composición combina una descripción con un array 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 números 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 independientemente de las dimensiones en píxeles de la imagen. Utiliza 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 iguales fijan un elemento; los diferentes lo desplazan o redimensionan. Una fila nueva sin origen genera su descripción en la ubicación de destino y permite añadir, sustituir 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.
Asigna al texto su propio cuadro y cita su redacción exacta en desc. Los cuadros orientan la colocación y la escala; no son máscaras de recorte, por lo que un elemento puede sobresalir del rectángulo. El fabricante informa de que los objetos nuevos dentro de cuadros de unos 40×25 píxeles a menudo no aparecían en sus ejemplos. Deja espacio visible suficiente e inspecciona los límites editados. Los píxeles fuera del destino suelen permanecer estables, pero las sombras, los reflejos y la iluminación próxima aún pueden cambiar.
Fundamentación, clases de salida y registros útiles
El perfil documentado activa la fundamentación de forma predeterminada, permitiendo que la búsqueda web y de imágenes informe la generación. Puede desactivarse para un encargo que deba utilizar únicamente su descripción y sus referencias. Para un tema 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 fuentes autorizadas 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 predeterminada. Representan niveles de igual área de píxeles, por lo que la anchura y la altura exactas dependen de la relación seleccionada. Quince relaciones fijas abarcan desde 21:9, pasando por formatos cuadrados y verticales, hasta 9:21. El perfil de este modelo controla el tamaño mediante relación y resolución; no expone los campos seed, width o height utilizados en los perfiles de solicitudes FLUX.2. Su selector de versión documentado identifica actualmente una versión cambiante, en lugar de establecer una correspondencia fechada con los pesos del proveedor.
El flujo del productor devuelve una imagen tras un procesamiento asíncrono, junto con el prompt ampliado. Su enlace firmado de descarga de 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 colocación de los objetos, la identidad de las referencias y la zona modificada al tamaño de visualización previsto. Una generación completada 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-imagePrimeros pasos
FLUX 3 Image crea y edita imágenes a partir de un encargo escrito y hasta diez referencias. Añade cuadros delimitadores definidos en el prompt para la composición y los cambios locales, fundamentación mediante búsqueda 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
- Tipos de entrada
text,image- Tipos de 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} · task_id real devuelto o registro de la biblioteca multimedia
GET /v1/media/assets/{asset_id}/content
GET /v1/media/assets
GET /v1/media/assets/{asset_id}
Planes
Cómo se calcula el cargo definitivo
Las tarifas mostradas estiman el coste antes de la generación. El cargo final se calcula a partir del coste registrado para la generación original. La duración medida del resultado y las cantidades previstas no constituyen 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 rápido
- Sin especificar Cuando se selecciona el modo rápido
- Modo flex
- Sin especificar Cuando se selecciona el modo flex
- Esfuerzo máximo de razonamiento
- Sin especificar Cuando el esfuerzo máximo de razonamiento utiliza el ajuste predeterminado (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ónCoste estimado de generación | Tabla de tarifas— | Cantidad previstaestimación para una generación | Cargo Salida · Coste 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 para la generación completada. |
Ailoot reserva un importe 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 las cabeceras, 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 task_id/asset_id realmente devueltos o la biblioteca multimedia propia; 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