May 03, 2026 · by Khaled Uno
How we use FLUX to create AI art
A look behind the scenes at Khaled Uno — how we pick the model, the prompt, and the parameters to generate five visions a day with FLUX.
At Khaled Uno we generate five images every morning at 06:00. It's not magic, it's a small Node script talking to Replicate, which in turn runs Black Forest Labs' FLUX.1 [schnell].
Why FLUX schnell
When we picked the model, we compared three options:
- Stable Diffusion XL — solid, but ~10 seconds per image and weak on text.
- Imagen 3 — top-tier quality, but closed and licensed in Vertex AI's shadow.
- FLUX.1 [schnell] — open weights (Apache 2.0), ~2 seconds per image, excellent compositions.
For a site that lives on iteration speed and low cost, schnell wins. Each 1024×1024 image costs about $0.003 on Replicate, meaning five visions a day cost less than a coffee per month.
The prompt
Each theme has five "shot variants": hero wide, mid character, macro detail, aerial top-down, painterly abstract. The prompt is the concatenation of the theme's base prompt with the shot's suffix:
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
About 30 tokens. FLUX responds better to concrete descriptions than vague adjectives: "neon-soaked street" works better than "atmospheric mood."
The parameters that matter
{
"aspect_ratio": "1:1",
"output_format": "webp",
"output_quality": 90,
"num_inference_steps": 4,
"go_fast": true
}
num_inference_steps: 4— schnell is optimized for 1-4 steps. Going higher doesn't improve quality but doubles the cost.go_fast: true— uses Replicate's optimization for FLUX schnell, halves latency.output_format: "webp"— smaller than JPEG, better quality.
What does NOT work
We tried negative prompts (blurry, watermark, text…) but on FLUX schnell the effect is marginal. The model isn't as guidable as SDXL. Better to invest tokens in the positive prompt.
We also tried batching (5 images in a single call): not supported by the model on Replicate. Five sequential calls with retry are more reliable.
The result
Eight seconds for five images, saved to ~/khaled.uno/public/images/<id>/{1..5}.webp, indexed in MariaDB. The site uses ISR to serve them in a blink.
Every morning, a new collection. Where imagination becomes pixels.