khaled.uno

03 maggio 2026 · di Khaled Uno

Come usiamo FLUX per creare arte AI

Un'occhiata dietro le quinte di Khaled Uno — come scegliamo il modello, il prompt e i parametri per generare cinque visioni al giorno con FLUX.

aifluxprompt-engineering

A Khaled Uno generiamo cinque immagini ogni mattina alle 06:00. Non è magia, è un piccolo script Node che parla con Replicate, che a sua volta esegue FLUX.1 [schnell] di Black Forest Labs.

Perché FLUX schnell

Quando abbiamo deciso il modello, abbiamo confrontato tre opzioni:

  • Stable Diffusion XL — solido, ma pesa ~10 secondi a immagine e perde dettagli sui testi.
  • Imagen 3 — qualità altissima, ma chiuso e con licenza poco amichevole all'ombra di Vertex AI.
  • FLUX.1 [schnell] — open weights (Apache 2.0), ~2 secondi a immagine, eccellente sulle composizioni.

Per un sito che vive di velocità di iterazione e basso costo, schnell vince. Ogni immagine 1024×1024 costa circa $0.003 su Replicate, il che significa che cinque visioni al giorno costano meno di un caffè al mese.

Il prompt

Ogni tema ha cinque "shot variants": hero wide, mid character, macro detail, aerial top-down, painterly abstract. Il prompt è la concatenazione del prompt di base del tema con il suffisso dello shot:

neon-soaked Tokyo street at night after heavy rain,
holographic billboards in kanji, reflections in puddles,
cyberpunk 2099, epic cinematic wide shot, ultra-detailed,
volumetric lighting, 35mm anamorphic, octane render

Sono ~30 token. FLUX risponde meglio a descrizioni concrete che a aggettivi vaghi: "neon-soaked street" funziona meglio di "atmospheric mood".

I parametri che contano

{
  "aspect_ratio": "1:1",
  "output_format": "webp",
  "output_quality": 90,
  "num_inference_steps": 4,
  "go_fast": true
}
  • num_inference_steps: 4 — schnell è ottimizzato per 1-4 step. Andare oltre non migliora la qualità ma raddoppia il costo.
  • go_fast: true — usa l'ottimizzazione di Replicate per FLUX schnell, dimezza la latenza.
  • output_format: "webp" — pesa meno di JPEG, qualità superiore.

Cosa NON funziona

Abbiamo provato a inserire il prompt negativo (blurry, watermark, text…) ma su FLUX schnell ha effetto marginale. Il modello non è guidato come SDXL. Meglio investire i token nel prompt positivo.

Abbiamo anche provato il batching (5 immagini in una sola chiamata): non supportato dal modello via Replicate. Cinque chiamate sequenziali con retry sono più affidabili.

Il risultato

Otto secondi per cinque immagini, salvate in ~/khaled.uno/public/images/<id>/{1..5}.webp, indicizzate in MariaDB. Il sito usa ISR per servirle in un blink.

Ogni mattina, una nuova collezione. Where imagination becomes pixels.