Ir al contenido principal

FLUX.1 Dev LoRA: un brief de estilo que mantiene útil la escena

Ejecute FLUX.1 Dev LoRA sin perder el sujeto: control sin adaptador, valores iniciales de escala y guidance y cuándo pasar a la edición con máscara.

Autor
Lydia
Publicado
Lectura
13 min de lectura
Actualizado
Dos adultos en una mesa de taller de cerámica miran una jarra de cobalto sobre lino crema

Para ejecutar un LoRA de FLUX.1 Dev por API, envíe la URL de sus pesos y una escala en la lista loras. Para mantener intacto el sujeto, ejecute la escena una vez sin adaptador y luego añada el archivo con la misma semilla, el mismo guidance y los mismos pasos, cambiando solo la escala del LoRA. Un punto de partida viable es escala 1, guidance 3.5, 28 pasos y un encuadre cuadrado. Los archivos de realismo suelen verse mejor con guidance entre 2.5 y 3. Un control más tres pasos de escala son cuatro imágenes a $0.018, o $0.072. Quédese con el resultado cuyos objetos sigan siendo utilizables, no con el que tiene el aspecto más fuerte.

La escena de trabajo es una jarra ficticia de cobalto mate con un asa en forma de media luna sobre lino crema.

Decida qué debe aportar el adaptador

La escena necesita una jarra legible, un pico corto, un asa abierta y contacto con el lino, iluminado de forma suave con textura cerámica contenida. Si el adaptador añade un brillo dramático u ornatamento elaborado, puede estar funcionando y aun así ser incorrecto para este brief.

Para una versión con un personaje adulto, sustituya la jarra por un adulto ficticio de 35 años con una camisa azul marino abotonada junto a una pared de estudio lisa, y mantenga la pose y la ropa idénticas en todas las condiciones.

Jarra de cerámica de cobalto con una abertura de asa visible sobre lino crema

Ilustración, no un resultado de FLUX: el sujeto objetivo, con un cuerpo, una abertura de asa y un pico corto.

Elija un archivo compatible con FLUX.1 Dev

Un archivo compatible indica FLUX.1 Dev como base de entrenamiento. Un LoRA de otra versión de FLUX, de una arquitectura específica de edición, de SDXL, de Z-Image o de Qwen-Image se cargará y luego cambiará poco, así que compruebe primero la base. Use en path un enlace directo al archivo de pesos, no la página web que lo describe: una URL de página se rechaza al enviar la solicitud, y un repositorio con acceso que exige iniciar sesión también se rechaza al enviarla.

Por ejemplo, la ficha del modelo de fotorrealismo de XLabs indica FLUX.1 Dev como base, y el enlace directo al archivo usado en el código siguiente termina en /resolve/main/lora.safetensors (unos 22 MB). La ficha aplica la licencia no comercial de FLUX.1 Dev al propio archivo; lea sus términos antes de usar las salidas en trabajo para clientes.

Si la ficha documenta una frase de activación, colóquela al principio del prompt exactamente como está escrita (la ficha de XLabs no documenta ninguna). Si indica una intensidad recomendada, empiece ahí; en caso contrario, use la escalera de abajo.

Pruébelo primero en el Playground

Abra FLUX.1 Dev LoRA texto a imagen en la pestaña Playground, en la vista Form, e inicie sesión con una cuenta con saldo para ejecutar. Empiece por el control, una ejecución sin pesos:

  1. Pegue el prompt de abajo en Prompt. FLUX sigue prompts largos y específicos, así que escriba frases completas. No hay campo de prompt negativo, así que diga lo que quiere ("one handle", "no lettering") en lugar de listar exclusiones.
  2. Ajuste Aspect ratio a 1:1.
  3. En Style LoRAs, pulse Remove item hasta que la lista esté vacía.
  4. Abra Advanced parameters y ajuste Prompt adherence a 3.5, Sampling steps a 28, Output format a PNG y Seed a 17231.
  5. Ejecute el modelo y guarde la imagen.

One matte cobalt ceramic pitcher with a rounded body, short spout and one crescent handle on cream linen. Whole vessel visible, open handle against a quiet cream wall, oak stool behind without overlap. Soft daylight from the left, natural ceramic texture, contact shadow. Square composition, no lettering or extra vessels.

Si este control tiene dos asas o una base flotante, corrija primero la escena: aparte el taburete de la abertura del asa, pida una vista de tres cuartos más clara o elimine el taburete. Un prompt modificado cambia la imagen incluso con la misma semilla, así que mantenga el texto idéntico en todas las ejecuciones posteriores.

Luego añada un adaptador. Pulse Add item, pegue el enlace directo a los pesos en LoRA file (un archivo accesible para el que tenga autorización) y ajuste Strength a 1. No cambie nada más y ejecute otra vez. La intensidad 1 aplica el archivo tal como lo entrenó su autor, y el campo acepta de 0 a 4. Ejecute 0.8, 1.0 y 1.2 como escalera (añada 0.5 si 0.8 sigue siendo demasiado fuerte): baje hacia 0.8 si el aspecto es pesado; los estilos de ilustración fuertes pueden necesitar un poco más de 1. No apile tres archivos antes de que uno se haya demostrado. Si el archivo necesita un activador, ejecute también el activador solo y sin LoRA; el texto por sí solo puede desplazar la imagen base.

Si un archivo de realismo parece encerado o demasiado nítido, repita la mejor intensidad con Prompt adherence en 2.5 y la misma semilla. Prompt adherence define con qué rigor sigue la imagen el prompt; no es la intensidad del adaptador.

Luego ejecútelo desde código

El mismo control y los tres pasos de intensidad, manteniendo constantes la semilla y todos los demás campos. Instale el SDK de Python (pip install spicyapi), defina SPICY_API_KEY en el entorno de su servidor y ejecute:

python
import uuid
from spicyapi import SpicyClient, output_assets

client = SpicyClient()  # reads SPICY_API_KEY from the environment

PROMPT = ("One matte cobalt ceramic pitcher with a rounded body, short spout and one crescent handle "
          "on cream linen. Whole vessel visible, open handle against a quiet cream wall, oak stool "
          "behind without overlap. Soft daylight from the left, natural ceramic texture, contact "
          "shadow. Square composition, no lettering or extra vessels.")
WEIGHTS = "https://huggingface.co/XLabs-AI/flux-RealismLora/resolve/main/lora.safetensors"  # XLabs realism, FLUX.1 Dev; swap in your own file
# 4 images x $0.018 = $0.072

for scale in (None, 0.8, 1.0, 1.2):  # None = control with no adapter
    task = client.create_task(
        model="black-forest-labs/flux-1-dev-lora/text-to-image",
        input_data={
            "prompt": PROMPT,
            "aspect_ratio": "1:1",
            "loras": [] if scale is None else [{"path": WEIGHTS, "scale": scale}],
            "guidance_scale": 3.5,
            "steps": 28,
            "seed": 17231,
            "output_format": "png",
        },
        idempotency_key=str(uuid.uuid4()),
    )
    final = client.wait_for_terminal(task["taskId"])
    if final["state"] != "succeeded":
        raise RuntimeError(f"{task['taskId']} ended as {final['state']}: {final.get('errorCode')}")
    assets = output_assets(final)
    if not assets or any(a.get("pending") or a.get("unavailable") or not a.get("url") for a in assets):
        raise RuntimeError(f"Task {task['taskId']} has no ready output; check this task before running more images")
    print(scale, assets[0]["url"])  # copy the image to your own storage now

La creación, la espera, la descarga, los reintentos y los códigos de error están cubiertos en la guía de tareas y en la referencia del SDK de Python. Los pesos se descargan en cada trabajo, así que la primera llamada con un archivo grande es más lenta que una ejecución simple (véase Ejecute su propio LoRA en una API alojada).

O deje que un agente lo ejecute

Cuando un asistente debe ejecutar la comparación, las tres herramientas oficiales muestran el precio y le preguntan antes de una llamada de pago.

  • CLI. Coloque el objeto input de una condición en input.json y luego:

``bash spicyapi tasks create --model black-forest-labs/flux-1-dev-lora/text-to-image --input-file input.json --wait ``

Consulte la documentación de la CLI; npx @spicyapi/cli funciona sin instalar nada.

  • Servidor MCP. Añada el servidor MCP a su asistente y luego pídale: "Run FLUX.1 Dev LoRA with this prompt, seed 17231, no LoRA, then again with this weights link at strength 0.8, 1 and 1.2." Llama a spicyapi_task_create, que se detiene para su confirmación de precio, y luego a spicyapi_task_wait.
  • Skill. npx skills add spicyapi-ai/spicy-skill instala el Agent Skill, que hace que un asistente de programación lea el esquema del modelo en vivo en lugar de adivinar campos.

No confunda los controles

ControlRango en la tarea de texto a imagenUso en esta comparación
loras (Style LoRAs)Hasta 3, cada uno con path y scaleEmpiece por uno; el control sin archivo usa []
Escala del LoRA (Strength)0–4, 1 aplica el archivo tal como se entrenóVaríe este valor manteniendo los demás ajustes
guidance_scale (Prompt adherence)0–20, 3.5 por defectoDéjelo en 3.5; pruebe 2.5 para un realismo encerado
steps (Sampling steps)1–50, 28 por defectoDéjelo en 28 para evitar otra condición variable
seed0–2147483647Mantenga 17231 para que las ejecuciones sean comparables
FormatosJPEG (por defecto), PNG, WebPPNG

La tarea ofrece nueve relaciones de aspecto (de 21:9 a 9:21, todas de cerca de un megapíxel y un mismo precio) pero ni resolución ni campos independientes de ancho y alto, ni entrada de imagen ni máscara. Una entrada con scale: 0 puede descargar el archivo igualmente, así que no sustituye al control con la lista vacía.

Corrija un experimento fallido con adaptador

ProblemaSiguiente paso concreto
La solicitud se rechaza o falla más tardeConfirme que path devuelve el archivo .safetensors sin necesidad de iniciar sesión y no una página de ficha. Un host mal escrito o un archivo que desaparece más tarde se acepta al enviarlo y falla después.
La imagen apenas cambiaConfirme que la base del archivo es FLUX.1 Dev y que cualquier activador necesario está al principio del prompt; después suba la escala 0.2.
El estilo se impone sobre el objetoReduzca la escala hacia 0.8 o 0.6.
El realismo parece enceradoBaje el guidance a 2.5 con la misma semilla.
El asa se vuelve maciza o se duplicaBaje la escala o rechace ese archivo para este sujeto.
El activador por sí solo produce el aspectoEl aspecto viene de las palabras, no del archivo; juzgue el archivo solo por lo que añade a la imagen con activador.
El estilo es útil pero cambia la forma del productoUse el editor con máscara (siguiente sección) o componga la capa del producto.

Compare el recipiente, el borde del asa y la pared al mismo tamaño de visualización, y elija por el acabado y la estructura utilizable, no por cuánto cambió.

Use el editor cuando una fuente deba guiar la imagen

FLUX.1 Dev LoRA edición es una segunda tarea del mismo modelo, también a $0.018 por imagen. Requiere image_url y prompt y acepta la misma lista loras, el mismo guidance y los mismos pasos. Dos controles son nuevos: strength (de 0 a 1, 0.8 por defecto), que define cuánto se aleja el resultado de la fuente, y un mask_url opcional, una imagen en blanco y negro del mismo tamaño donde lo blanco se redibuja y lo negro se conserva. La fuente y la máscara están limitadas a 10 MB cada una, y cualquiera puede ser un enlace público al archivo.

Con el 0.8 por defecto, la pose y la composición se mantienen; alrededor de 0.95 el modelo redibuja casi todo. Empiece en 0.8 y avance en pasos de 0.05, cambiando solo la intensidad o la escala del LoRA en cada ejecución: si la fuente se transparenta, súbala; si la forma se desvía, bájela. Con máscara, use de 0.9 a 1 para que el área blanca cambie de verdad, y describa solo lo que pertenece al área blanca.

Un uso práctico de este brief: mantenga la jarra que aprobó y vuelva a dar estilo a todo lo demás. En el Playground, abra la tarea de edición, coloque la imagen de control en Input image, pinte la pared y el lino de blanco y la jarra de negro en una imagen del mismo tamaño y añádala bajo Advanced parameters como Mask, luego ajuste Transformation strength a 0.95, añada sus pesos bajo Style LoRAs y use un prompt solo para el nuevo acabado: "Cream linen with deep folds and a quiet plaster wall, soft daylight from the left, restrained film grain." Mantenga la semilla, Prompt adherence 3.5 y Sampling steps 28 del control. En las solicitudes de API los mismos campos son image_url, mask_url, strength y loras en el modelo black-forest-labs/flux-1-dev-lora/edit.

Difumine el borde de la máscara o siga el contorno del objeto; un rectángulo duro deja una costura visible. La edición sigue la forma de la fuente, así que no hay campo aspect_ratio, y el resultado vuelve a unos 0.7 megapíxeles (una fuente de 1024 x 1536 vuelve a 672 x 1008), menor que un encuadre de texto a imagen. Cuando los píxeles exactos del producto sean obligatorios, mantenga la capa original del producto sobre un fondo preparado aparte y trate ese compositado como acabado.

Manos ordenando una fotografía de una jarra de cobalto, un dibujo a lápiz y una muestra de esmalte sobre una mesa de taller

Materiales de referencia para el brief: una fotografía, un dibujo y muestras de esmalte.

Contenido para adultos: qué cambia el LoRA y qué no

FLUX.1 Dev LoRA es una ruta sin censura: SpicyAPI no añade ningún filtro de contenido de plataforma, y los LoRA orientados a adultos se cargan y se renderizan. Cargar un LoRA no fija el alcance del contenido; el modelo base sigue decidiendo qué devuelve. Según nuestras pruebas de septiembre de 2026, el modelo plano entregó imágenes NSFW sugerentes y de parte superior del cuerpo a partir de texto, y atenuó las peticiones de figura completa y de dos personas. Con un LoRA para adultos cargado, la prueba más fuerte produjo imágenes NSFW avanzadas pero nunca la escena de máxima intensidad. En la edición, una petición de parte superior del cuerpo sobre un retrato con ropa se devolvió tal como se pidió a intensidad 0.95 (con o sin LoRA) y a 1 con máscara, pero se atenuó a 0.85, así que aumente la intensidad antes de cambiar de modelo. ¿FLUX está sin censura? tiene los resultados nivel por nivel.

Un LoRA de estilo fotográfico cambia el aspecto, no el alcance del contenido. Use solo adultos ficticios o personas que hayan dado un consentimiento documentado.

Qué hacer a continuación

Deje fuera el LoRA si la ejecución simple ya cumple el brief. Para comprobar un archivo nuevo en toda una biblioteca, buscar enlaces malos y pesos inertes, véase Ejecute su propio LoRA en una API alojada. Para el mismo método de control primero sobre otra base, véase la prueba de Z-Image Turbo LoRA con la misma semilla.

También en English · 日本語 · 한국어 · Deutsch · Français · Português (Brasil) · Русский · Italiano · Polski

Pon esta guía en práctica