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.

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:
- 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.
- Ajuste Aspect ratio a 1:1.
- En Style LoRAs, pulse Remove item hasta que la lista esté vacía.
- Abra Advanced parameters y ajuste Prompt adherence a 3.5, Sampling steps a 28, Output format a PNG y Seed a 17231.
- 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:
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 nowLa 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
inputde una condición eninput.jsony 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 aspicyapi_task_wait. - Skill.
npx skills add spicyapi-ai/spicy-skillinstala 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
| Control | Rango en la tarea de texto a imagen | Uso en esta comparación |
|---|---|---|
loras (Style LoRAs) | Hasta 3, cada uno con path y scale | Empiece 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 defecto | Déjelo en 3.5; pruebe 2.5 para un realismo encerado |
steps (Sampling steps) | 1–50, 28 por defecto | Déjelo en 28 para evitar otra condición variable |
seed | 0–2147483647 | Mantenga 17231 para que las ejecuciones sean comparables |
| Formatos | JPEG (por defecto), PNG, WebP | PNG |
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
| Problema | Siguiente paso concreto |
|---|---|
| La solicitud se rechaza o falla más tarde | Confirme 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 cambia | Confirme 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 objeto | Reduzca la escala hacia 0.8 o 0.6. |
| El realismo parece encerado | Baje el guidance a 2.5 con la misma semilla. |
| El asa se vuelve maciza o se duplica | Baje la escala o rechace ese archivo para este sujeto. |
| El activador por sí solo produce el aspecto | El 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 producto | Use 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.

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.






