You need to agree to share your contact information to access this model

This repository is publicly accessible, but you have to accept the conditions to access its files and content.

Log in or Sign Up to review the conditions and access this model content.

Linarix-v2

Usage

Requires diffusers >= 0.38.0 — earlier versions have a trust_remote_code RCE (advisory). For production, pin a commit hash with revision= so the remote code cannot change under you.

Install

pip install -U "diffusers>=0.38.0" transformers accelerate safetensors torchvision scipy
pip install "flash-linear-attention @ git+https://github.com/fla-org/flash-linear-attention.git@3c4c54ae7397d37130d7101edd0f4eb596af896d"

FLA is required, not optional: the GDN-2 mixers and Block AttnRes need this exact build.

Generate

import torch
from diffusers import DiffusionPipeline

pipe = DiffusionPipeline.from_pretrained(
    "Akrao9/Linarix-v2",
    custom_pipeline="pipeline_boomer",
    trust_remote_code=True,
    torch_dtype=torch.bfloat16,
).to("cuda")

image = pipe("a lighthouse on a rocky cliff above crashing waves at golden hour")[0]
image.save("output.png")

Every sampler setting defaults to the value this model was tuned and showcased at (STORK4, 20 steps, cfg_scale=4.0, flow_shift=5.0), so passing nothing reproduces the grid above. Override only what you want to change:

image = pipe(
    "a quiet cobblestone street in an old European town, evening",
    seed=42,          # None (default) draws a fresh seed each call
    cfg_scale=3.0,    # lower = softer, less saturated; raise for prompt adherence
    steps=32,         # more steps buy little past the default
)[0]

The transformer weights come from this repo. The DC-AE VAE and Qwen/Qwen3.5-4B text encoder are fetched from their upstream repos on first use — run hf auth login first if this repo is gated for you.

Batched inference

Pass a list of prompts to generate a batch in one call:

images = pipe([
    "a lighthouse above crashing waves",
    "a red fox in fresh snow",
    "a steam locomotive on a stone bridge",
])
images[0].save("a.png")

Two things matter for throughput. VAE slicing is on by default, decoding one image at a time so batched-decode peak memory stays flat; toggle with pipe.disable_vae_slicing(), or add pipe.enable_vae_tiling() for large images on low VRAM (both work before the VAE is lazily loaded). And keep components resident on the GPU when benchmarking — the default offload_text_encoder=True moves the text encoder to CPU after each call, which is the right trade for VRAM but adds per-call transfer overhead that dominates small batches.

Samples

Linarix-v2 samples

All 1024px, EMA weights, STORK4 / 20 steps, derivative_order=1, substeps=14, cfg_scale=4.0, cfg_rescale=0.5, cfg_interval=[0.1, 0.9], and flow_shift=5.0. Prompts (left→right, top→bottom):

  1. a snow-covered mountain village at blue hour, warm windows glowing
  2. a desert canyon at sunset, layered red rock walls
  3. a wooden pier stretching into a misty lake at dawn
  4. a stone castle on a green hilltop under drifting clouds
  5. an elderly fisherman mending nets on a harbour wall
  6. a ginger cat asleep on a sunlit windowsill
  7. a vintage motorcycle parked on a rain-slicked city street at night
  8. a field of sunflowers under a bright summer sky
  9. a narrow canal in Venice with weathered facades, late afternoon
  10. a steaming bowl of ramen on a dark wooden table
  11. a great horned owl perched on a bare branch at dusk
  12. a glass greenhouse full of ferns, soft diffused light
Downloads last month
26
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Paper for akrao9/Linarix-v2