Per eseguire un LoRA FLUX.1 Dev tramite API, invia l'URL dei pesi e una scala nell'elenco loras. Per mantenere intatto il soggetto, esegui la scena una volta senza adattatore e poi aggiungi il file con lo stesso seed, la stessa guidance e gli stessi passi, cambiando solo la scala del LoRA. Un avvio praticabile è scala 1, guidance 3.5, 28 passi e un'inquadratura quadrata. I file di realismo spesso risultano migliori con una guidance da 2.5 a 3. Un controllo più tre scalini di scala sono quattro immagini a $0.018, cioè $0.072. Tieni il risultato i cui oggetti restano utilizzabili, non quello con il look più marcato.
La scena di lavoro è una brocca fittizia in cobalto opaco con un manico a mezzaluna su lino crema.
Decidi che cosa deve contribuire l'adattatore
La scena richiede una brocca leggibile, un becco corto, un manico aperto e il contatto con il lino, illuminata in modo morbido con una texture ceramica contenuta. Se l'adattatore aggiunge una lucentezza marcata o un ornamento elaborato, può funzionare e insieme restare sbagliato per questo brief.
Per una versione con un personaggio adulto, sostituisci la brocca con un adulto fittizio di 35 anni in una camicia blu navy abbottonata accanto a un muro di studio semplice, e tieni la posa e l'abbigliamento identiche in tutte le condizioni.

Illustrazione, non un risultato FLUX: il soggetto di riferimento, con un corpo, un'apertura del manico e un becco corto.
Scegli un file compatibile con FLUX.1 Dev
Un file compatibile indica FLUX.1 Dev come base di addestramento. Un LoRA per un'altra release di FLUX, per un'architettura dedicata all'editing, per SDXL, Z-Image o Qwen-Image si carica e poi cambia poco, quindi verifica prima la base. In path usa un link diretto al file dei pesi, non la pagina web che lo descrive: un URL di pagina viene rifiutato all'invio, e lo è anche un repository protetto che richiede l'accesso.
Per esempio, la scheda del modello fotorealistico di XLabs indica FLUX.1 Dev come base, e il link diretto al file usato nel codice qui sotto termina con /resolve/main/lora.safetensors (circa 22 MB). La scheda applica la licenza non commerciale di FLUX.1 Dev al file stesso; leggine i termini prima di usare i risultati in lavorazioni per i clienti.
Se la scheda documenta una frase di attivazione, mettila subito all'inizio del prompt esattamente come è scritta (la scheda XLabs non ne documenta nessuna). Se indica un'intensità consigliata, parti da lì; altrimenti usa la scaletta qui sotto.
Prova prima nel Playground
Apri FLUX.1 Dev LoRA da testo a immagine nella scheda Playground, nella vista Form, e accedi con un account con credito per eseguire. Inizia dal controllo, un'esecuzione senza pesi:
- Incolla il prompt qui sotto in Prompt. FLUX segue prompt lunghi e specifici, quindi scrivi frasi complete. Non esiste un campo per il prompt negativo, quindi di' quello che vuoi ("one handle", "no lettering") invece di elencare esclusioni.
- Imposta Aspect ratio su 1:1.
- In Style LoRAs, premi Remove item finché l'elenco non è vuoto.
- Apri Advanced parameters e imposta Prompt adherence a 3.5, Sampling steps a 28, Output format su PNG e Seed a 17231.
- Esegui il modello e salva l'immagine.
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.
Se questo controllo ha due manici o una base sospesa, sistema prima la scena: allontana lo sgabello dall'apertura del manico, chiedi una vista a tre quarti più nitida oppure togli lo sgabello. Un prompt modificato cambia l'immagine anche con lo stesso seed, quindi tieni il testo identico in ogni esecuzione successiva.
Poi aggiungi un solo adattatore. Premi Add item, incolla il link diretto ai pesi in LoRA file (un file raggiungibile che sei autorizzato a usare) e imposta Strength a 1. Non cambiare altro ed esegui di nuovo. L'intensità 1 applica il file come l'ha addestrato il suo autore, e il campo accetta da 0 a 4. Esegui 0.8, 1.0 e 1.2 come scaletta (aggiungi 0.5 se 0.8 è ancora troppo forte): scendi verso 0.8 se il look è pesante; gli stili illustrativi forti possono richiedere un po' più di 1. Non impilare tre file prima che uno si sia dimostrato valido. Se il file richiede un trigger, esegui anche il trigger da solo senza LoRA; il testo da solo può già spostare l'immagine di base.
Se un file di realismo sembra ceroso o troppo definito, ripeti la migliore intensità con Prompt adherence a 2.5 e lo stesso seed. Prompt adherence determina quanto rigorosamente l'immagine segue il prompt; non è l'intensità dell'adattatore.
Poi eseguilo dal codice
Lo stesso controllo e gli stessi tre scalini d'intensità, mantenendo costanti il seed e ogni altro campo. Installa l'SDK Python (pip install spicyapi), imposta SPICY_API_KEY nell'ambiente del tuo server ed esegui:
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 nowCreazione, attesa, download, ripetizioni e codici di errore sono coperti dalla guida alle task e dal riferimento dell'SDK Python. I pesi vengono scaricati a ogni job, quindi una prima chiamata con un file grande è più lenta di un'esecuzione semplice (vedi Esegui il tuo LoRA su un'API ospitata).
Oppure lascia il lavoro a un agente
Quando un assistente deve eseguire il confronto, tutti e tre gli strumenti ufficiali mostrano il prezzo e ti chiedono conferma prima di una chiamata a pagamento.
- CLI. Metti l'oggetto
inputdi una condizione ininput.json, poi:
``bash spicyapi tasks create --model black-forest-labs/flux-1-dev-lora/text-to-image --input-file input.json --wait ``
Vedi la doc della CLI; npx @spicyapi/cli funziona senza installazione.
- Server MCP. Aggiungi il server MCP al tuo assistente, poi chiedi: "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." Chiama
spicyapi_task_create, che si ferma per la tua conferma del prezzo, e poispicyapi_task_wait. - Skill.
npx skills add spicyapi-ai/spicy-skillinstalla l'Agent Skill, che fa leggere a un assistente di programmazione lo schema del modello in tempo reale invece di indovinare i campi.
Non confondere i controlli
| Controllo | Intervallo sull'attività da testo a immagine | Uso in questo confronto |
|---|---|---|
loras (Style LoRAs) | Fino a 3, ciascuno con path e scale | Inizia da uno; il controllo senza file usa [] |
| Scala del LoRA (Strength) | 0–4, 1 applica il file come addestrato | Varia questo valore tenendo fissi gli altri parametri |
guidance_scale (Prompt adherence) | 0–20, 3.5 predefinito | Lascialo a 3.5; prova 2.5 per un realismo ceroso |
steps (Sampling steps) | 1–50, 28 predefinito | Lascialo a 28 per evitare un'altra condizione variabile |
seed | 0–2147483647 | Tieni 17231 perché le esecuzioni restino confrontabili |
| Formati | JPEG (predefinito), PNG, WebP | PNG |
L'attività offre nove rapporti d'aspetto (da 21:9 a 9:21, tutti intorno a un megapixel e a un unico prezzo) ma nessuna risoluzione né campi separati di larghezza e altezza, nessun'immagine in ingresso e nessuna maschera. Una voce con scale: 0 può comunque scaricare il file, quindi non sostituisce il controllo con elenco vuoto.
Correggi un esperimento fallito con l'adattatore
| Problema | Prossimo passo concreto |
|---|---|
| Richiesta rifiutata o errore più tardi | Verifica che path restituisca il file .safetensors senza login e non una pagina di scheda. Un host scritto male o un file che scompare in seguito viene accettato all'invio e fallisce dopo. |
| L'immagine cambia appena | Verifica che la base del file sia FLUX.1 Dev e che ogni trigger richiesto sia all'inizio del prompt; poi aumenta la scala di 0.2. |
| Lo stile sovrasta l'oggetto | Riduci la scala verso 0.8 o 0.6. |
| Il realismo sembra ceroso | Abbassa la guidance a 2.5 con lo stesso seed. |
| Il manico diventa pieno o duplicato | Abbassa la scala oppure rifiuta quel file per questo soggetto. |
| Il trigger da solo produce il look | Il look viene dalle parole, non dal file; giudica il file solo su ciò che aggiunge rispetto all'immagine con il trigger da solo. |
| Lo stile è utile ma la forma del prodotto cambia | Usa l'editor con maschera (sezione successiva) oppure componi il livello del prodotto. |
Confronta il recipiente, il bordo del manico e la parete alla stessa dimensione di visualizzazione e scegli in base alla resa e alla struttura utilizzabile, non in base a quanto è cambiato.
Usa l'editor quando una fonte deve guidare l'immagine
FLUX.1 Dev LoRA editing è una seconda attività sullo stesso modello, anch'essa a $0.018 per immagine. Richiede image_url e prompt e accetta lo stesso elenco loras, la stessa guidance e gli stessi passi. Due controlli sono nuovi: strength (da 0 a 1, 0.8 predefinito), che determina quanto il risultato si allontana dalla fonte, e un mask_url facoltativo, un'immagine in bianco e nero della stessa dimensione in cui il bianco viene ridisegnato e il nero mantenuto. Fonte e maschera sono limitate a 10 MB ciascuna e possono essere entrambe un link pubblico al file.
Al valore predefinito di 0.8 la posa e l'impianto restano; intorno a 0.95 il modello ridisegna quasi tutto. Parti da 0.8 e procedi a passi di 0.05, cambiando a ogni esecuzione solo la forza o la scala del LoRA: se la fonte traspare, aumenta; se la forma deriva, abbassa. Con la maschera usa da 0.9 a 1 perché l'area bianca cambi davvero, e descrivi solo ciò che appartiene all'area bianca.
Un uso pratico di questo brief: tieni la brocca che hai approvato e ridai stile a tutto ciò che la circonda. Nel Playground apri l'attività di editing, inserisci l'immagine di controllo in Input image, dipingi di bianco la parete e il lino e di nero la brocca in un'immagine della stessa dimensione e aggiungila sotto Advanced parameters come Mask, poi imposta Transformation strength a 0.95, aggiungi i tuoi pesi sotto Style LoRAs e usa un prompt solo per la nuova resa: "Cream linen with deep folds and a quiet plaster wall, soft daylight from the left, restrained film grain." Tieni il seed, Prompt adherence a 3.5 e Sampling steps a 28 del controllo. Nelle richieste API gli stessi campi sono image_url, mask_url, strength e loras sul modello black-forest-labs/flux-1-dev-lora/edit.
Sfuma il bordo della maschera o segui il contorno dell'oggetto; un rettangolo rigido lascia una cucitura visibile. L'editing segue la forma della fonte, quindi non esiste un campo aspect_ratio, e il risultato torna su circa 0.7 megapixel (una fonte da 1024 x 1536 torna a 672 x 1008), più piccolo di un'inquadratura da testo a immagine. Quando i pixel esatti del prodotto sono obbligatori, tieni il livello originale del prodotto su uno sfondo preparato separatamente e tratta quel compositing come rifinitura.

Materiali di riferimento per il brief: una fotografia, un disegno e campioni di smalto.
Contenuti per adulti: che cosa cambia il LoRA e che cosa no
FLUX.1 Dev LoRA è una rotta senza censura: SpicyAPI non aggiunge alcun filtro di contenuti della piattaforma e i LoRA orientati agli adulti si caricano e vengono renderizzati. Caricare un LoRA non fissa l'ambito dei contenuti; il modello base continua a decidere che cosa viene restituito. Sui nostri test di settembre 2026 il modello semplice ha prodotto immagini NSFW suggestive e a mezzo busto partendo dal testo, e ha attenuato le richieste di figura intera e di due persone. Con un LoRA per adulti caricato, la prova più forte ha prodotto immagini NSFW avanzate ma mai la scena di intensità massima. In editing, una richiesta di busto su un ritratto vestito è tornata come richiesto a forza 0.95 (con o senza LoRA) e a 1 con la maschera, ma attenuata a 0.85: quindi aumenta la forza prima di cambiare modello. FLUX è senza censura? riporta i risultati livello per livello.
Un LoRA di stile fotografico cambia l'aspetto, non l'ambito dei contenuti. Usa solo adulti fittizi o persone che hanno dato un consenso documentato.
Come proseguire
Lascia fuori il LoRA se l'esecuzione semplice già soddisfa il brief. Per controllare un nuovo file su un'intera libreria, cercando link errati e pesi inerti, vedi Esegui il tuo LoRA su un'API ospitata. Per lo stesso metodo del controllo prima su un'altra base, vedi il test Z-Image Turbo LoRA con lo stesso seed.






