black-forest-labs/flux-2-klein-4b-base-lora 🔢🖼️📝❓✓ → 🖼️

⭐ Official ▶️ 1.8K runs 📅 Jan 2026 ⚙️ Cog 0.16.9
image-lora-training image-to-image text-to-image

Performance

1.5sTypical run time
1.8KTotal runs

About

A version of FLUX.2 [klein] 4B-base that supports fast fine-tuned lora inference

Example Output

Prompt:

"Transform this picture into an American comic style + Pop Art + cyber neon illustration"

Output

Example output

Performance Metrics

1.54s Prediction Time
1.55s Total Time
All Input Parameters
{
  "images": [
    "https://replicate.delivery/pbxt/OUXk3BnCcKocjFFBg98Uj4jylAqrch7bIeI2JG0TjXeJMRJX/pexels-ren-lavsad-379156630-18609132.jpg"
  ],
  "prompt": "Transform this picture into an American comic style + Pop Art + cyber neon illustration",
  "lora_scales": [
    0.8
  ],
  "aspect_ratio": "match_input_image",
  "lora_weights": [
    "https://huggingface.co/starsfriday/FLUX.2-klein-AC-Style-LORA/resolve/main/flux2_klein_lowres.safetensors"
  ],
  "output_format": "jpg",
  "output_quality": 95,
  "output_megapixels": "1"
}
Input Parameters
seed Type: integer
Random seed. Set for reproducible generation
images Type: arrayDefault:
List of input images for image-to-image generation. Maximum 5 images. Must be jpeg, png, gif, or webp.
prompt (required) Type: string
Text prompt for image generation.
lora_scales Type: array
Scales for each LoRA as a list of floats. Must match the number of lora_weights. Defaults to 1.0 for each if not provided.
aspect_ratio Default: 1:1
Aspect ratio for the generated image. Use 'match_input_image' to match the aspect ratio of the first input image.
lora_weights Type: array
LoRA weights as a list of URLs. Supports ComfyUI and native Flux Klein format LoRAs. ComfyUI LoRAs are automatically converted.
output_format Default: jpg
Format of the output images
output_quality Type: integerDefault: 95Range: 0 - 100
Quality when saving the output images, from 0 to 100. 100 is best quality, 0 is lowest quality. Not relevant for .png outputs.
output_megapixels Default: 1
Resolution of the output image in megapixels
disable_safety_checker Type: booleanDefault: false
Disable safety checker for generated images.
Output Schema

Output

Type: arrayItems Type: stringItems Format: uri

Example Execution Logs
Using seed: 1588624180
Loading 1 LoRA(s)...
Loading LoRA 1/1: https://huggingface.co/starsfriday/FLUX.2-klein-AC-Style-LORA/resolve/main/flux2_klein_lowres.safetensors
Using cached processed LoRA for: https://huggingface.co/starsfriday/FLUX.2-klein-AC-Style-LORA/resolve/main/flux2_klein_lowres.safetensors
Applying LoRA with scale 0.8...
Loading LoRA from: /tmp/lora_cache/21b8ccd7f9dd99b4d9f83bc64b6dfd6e_lora.safetensors
Loaded 224 LoRA weights
Skipping: double_blocks.0.img_attn.proj (shape mismatch: lora_A=torch.Size([32, 4096]), weight=torch.Size([3072, 3072]))
Skipping: double_blocks.0.img_attn.qkv (shape mismatch: lora_A=torch.Size([32, 4096]), weight=torch.Size([9216, 3072]))
Skipping: double_blocks.0.img_mlp.0 (module not found)
Skipping: double_blocks.0.img_mlp.2 (module not found)
Skipping: double_blocks.0.txt_attn.proj (shape mismatch: lora_A=torch.Size([32, 4096]), weight=torch.Size([3072, 3072]))
Skipping: double_blocks.0.txt_attn.qkv (shape mismatch: lora_A=torch.Size([32, 4096]), weight=torch.Size([9216, 3072]))
Skipping: double_blocks.0.txt_mlp.0 (module not found)
Skipping: double_blocks.0.txt_mlp.2 (module not found)
Skipping: double_blocks.1.img_attn.proj (shape mismatch: lora_A=torch.Size([32, 4096]), weight=torch.Size([3072, 3072]))
Skipping: double_blocks.1.img_attn.qkv (shape mismatch: lora_A=torch.Size([32, 4096]), weight=torch.Size([9216, 3072]))
Skipping: double_blocks.1.img_mlp.0 (module not found)
Skipping: double_blocks.1.img_mlp.2 (module not found)
Skipping: double_blocks.1.txt_attn.proj (shape mismatch: lora_A=torch.Size([32, 4096]), weight=torch.Size([3072, 3072]))
Skipping: double_blocks.1.txt_attn.qkv (shape mismatch: lora_A=torch.Size([32, 4096]), weight=torch.Size([9216, 3072]))
Skipping: double_blocks.1.txt_mlp.0 (module not found)
Skipping: double_blocks.1.txt_mlp.2 (module not found)
Skipping: double_blocks.2.img_attn.proj (shape mismatch: lora_A=torch.Size([32, 4096]), weight=torch.Size([3072, 3072]))
Skipping: double_blocks.2.img_attn.qkv (shape mismatch: lora_A=torch.Size([32, 4096]), weight=torch.Size([9216, 3072]))
Skipping: double_blocks.2.img_mlp.0 (module not found)
Skipping: double_blocks.2.img_mlp.2 (module not found)
Skipping: double_blocks.2.txt_attn.proj (shape mismatch: lora_A=torch.Size([32, 4096]), weight=torch.Size([3072, 3072]))
Skipping: double_blocks.2.txt_attn.qkv (shape mismatch: lora_A=torch.Size([32, 4096]), weight=torch.Size([9216, 3072]))
Skipping: double_blocks.2.txt_mlp.0 (module not found)
Skipping: double_blocks.2.txt_mlp.2 (module not found)
Skipping: double_blocks.3.img_attn.proj (shape mismatch: lora_A=torch.Size([32, 4096]), weight=torch.Size([3072, 3072]))
Skipping: double_blocks.3.img_attn.qkv (shape mismatch: lora_A=torch.Size([32, 4096]), weight=torch.Size([9216, 3072]))
Skipping: double_blocks.3.img_mlp.0 (module not found)
Skipping: double_blocks.3.img_mlp.2 (module not found)
Skipping: double_blocks.3.txt_attn.proj (shape mismatch: lora_A=torch.Size([32, 4096]), weight=torch.Size([3072, 3072]))
Skipping: double_blocks.3.txt_attn.qkv (shape mismatch: lora_A=torch.Size([32, 4096]), weight=torch.Size([9216, 3072]))
Skipping: double_blocks.3.txt_mlp.0 (module not found)
Skipping: double_blocks.3.txt_mlp.2 (module not found)
Skipping: double_blocks.4.img_attn.proj (shape mismatch: lora_A=torch.Size([32, 4096]), weight=torch.Size([3072, 3072]))
Skipping: double_blocks.4.img_attn.qkv (shape mismatch: lora_A=torch.Size([32, 4096]), weight=torch.Size([9216, 3072]))
Skipping: double_blocks.4.img_mlp.0 (module not found)
Skipping: double_blocks.4.img_mlp.2 (module not found)
Skipping: double_blocks.4.txt_attn.proj (shape mismatch: lora_A=torch.Size([32, 4096]), weight=torch.Size([3072, 3072]))
Skipping: double_blocks.4.txt_attn.qkv (shape mismatch: lora_A=torch.Size([32, 4096]), weight=torch.Size([9216, 3072]))
Skipping: double_blocks.4.txt_mlp.0 (module not found)
Skipping: double_blocks.4.txt_mlp.2 (module not found)
Skipping: double_blocks.5.img_attn.proj (module not found)
Skipping: double_blocks.5.img_attn.qkv (module not found)
Skipping: double_blocks.5.img_mlp.0 (module not found)
Skipping: double_blocks.5.img_mlp.2 (module not found)
Skipping: double_blocks.5.txt_attn.proj (module not found)
Skipping: double_blocks.5.txt_attn.qkv (module not found)
Skipping: double_blocks.5.txt_mlp.0 (module not found)
Skipping: double_blocks.5.txt_mlp.2 (module not found)
Skipping: double_blocks.6.img_attn.proj (module not found)
Skipping: double_blocks.6.img_attn.qkv (module not found)
Skipping: double_blocks.6.img_mlp.0 (module not found)
Skipping: double_blocks.6.img_mlp.2 (module not found)
Skipping: double_blocks.6.txt_attn.proj (module not found)
Skipping: double_blocks.6.txt_attn.qkv (module not found)
Skipping: double_blocks.6.txt_mlp.0 (module not found)
Skipping: double_blocks.6.txt_mlp.2 (module not found)
Skipping: double_blocks.7.img_attn.proj (module not found)
Skipping: double_blocks.7.img_attn.qkv (module not found)
Skipping: double_blocks.7.img_mlp.0 (module not found)
Skipping: double_blocks.7.img_mlp.2 (module not found)
Skipping: double_blocks.7.txt_attn.proj (module not found)
Skipping: double_blocks.7.txt_attn.qkv (module not found)
Skipping: double_blocks.7.txt_mlp.0 (module not found)
Skipping: double_blocks.7.txt_mlp.2 (module not found)
Skipping: single_blocks.0.linear1 (shape mismatch: lora_A=torch.Size([32, 4096]), weight=torch.Size([27648, 3072]))
Skipping: single_blocks.0.linear2 (shape mismatch: lora_A=torch.Size([32, 16384]), weight=torch.Size([3072, 12288]))
Skipping: single_blocks.1.linear1 (shape mismatch: lora_A=torch.Size([32, 4096]), weight=torch.Size([27648, 3072]))
Skipping: single_blocks.1.linear2 (shape mismatch: lora_A=torch.Size([32, 16384]), weight=torch.Size([3072, 12288]))
Skipping: single_blocks.10.linear1 (shape mismatch: lora_A=torch.Size([32, 4096]), weight=torch.Size([27648, 3072]))
Skipping: single_blocks.10.linear2 (shape mismatch: lora_A=torch.Size([32, 16384]), weight=torch.Size([3072, 12288]))
Skipping: single_blocks.11.linear1 (shape mismatch: lora_A=torch.Size([32, 4096]), weight=torch.Size([27648, 3072]))
Skipping: single_blocks.11.linear2 (shape mismatch: lora_A=torch.Size([32, 16384]), weight=torch.Size([3072, 12288]))
Skipping: single_blocks.12.linear1 (shape mismatch: lora_A=torch.Size([32, 4096]), weight=torch.Size([27648, 3072]))
Skipping: single_blocks.12.linear2 (shape mismatch: lora_A=torch.Size([32, 16384]), weight=torch.Size([3072, 12288]))
Skipping: single_blocks.13.linear1 (shape mismatch: lora_A=torch.Size([32, 4096]), weight=torch.Size([27648, 3072]))
Skipping: single_blocks.13.linear2 (shape mismatch: lora_A=torch.Size([32, 16384]), weight=torch.Size([3072, 12288]))
Skipping: single_blocks.14.linear1 (shape mismatch: lora_A=torch.Size([32, 4096]), weight=torch.Size([27648, 3072]))
Skipping: single_blocks.14.linear2 (shape mismatch: lora_A=torch.Size([32, 16384]), weight=torch.Size([3072, 12288]))
Skipping: single_blocks.15.linear1 (shape mismatch: lora_A=torch.Size([32, 4096]), weight=torch.Size([27648, 3072]))
Skipping: single_blocks.15.linear2 (shape mismatch: lora_A=torch.Size([32, 16384]), weight=torch.Size([3072, 12288]))
Skipping: single_blocks.16.linear1 (shape mismatch: lora_A=torch.Size([32, 4096]), weight=torch.Size([27648, 3072]))
Skipping: single_blocks.16.linear2 (shape mismatch: lora_A=torch.Size([32, 16384]), weight=torch.Size([3072, 12288]))
Skipping: single_blocks.17.linear1 (shape mismatch: lora_A=torch.Size([32, 4096]), weight=torch.Size([27648, 3072]))
Skipping: single_blocks.17.linear2 (shape mismatch: lora_A=torch.Size([32, 16384]), weight=torch.Size([3072, 12288]))
Skipping: single_blocks.18.linear1 (shape mismatch: lora_A=torch.Size([32, 4096]), weight=torch.Size([27648, 3072]))
Skipping: single_blocks.18.linear2 (shape mismatch: lora_A=torch.Size([32, 16384]), weight=torch.Size([3072, 12288]))
Skipping: single_blocks.19.linear1 (shape mismatch: lora_A=torch.Size([32, 4096]), weight=torch.Size([27648, 3072]))
Skipping: single_blocks.19.linear2 (shape mismatch: lora_A=torch.Size([32, 16384]), weight=torch.Size([3072, 12288]))
Skipping: single_blocks.2.linear1 (shape mismatch: lora_A=torch.Size([32, 4096]), weight=torch.Size([27648, 3072]))
Skipping: single_blocks.2.linear2 (shape mismatch: lora_A=torch.Size([32, 16384]), weight=torch.Size([3072, 12288]))
Skipping: single_blocks.20.linear1 (module not found)
Skipping: single_blocks.20.linear2 (module not found)
Skipping: single_blocks.21.linear1 (module not found)
Skipping: single_blocks.21.linear2 (module not found)
Skipping: single_blocks.22.linear1 (module not found)
Skipping: single_blocks.22.linear2 (module not found)
Skipping: single_blocks.23.linear1 (module not found)
Skipping: single_blocks.23.linear2 (module not found)
Skipping: single_blocks.3.linear1 (shape mismatch: lora_A=torch.Size([32, 4096]), weight=torch.Size([27648, 3072]))
Skipping: single_blocks.3.linear2 (shape mismatch: lora_A=torch.Size([32, 16384]), weight=torch.Size([3072, 12288]))
Skipping: single_blocks.4.linear1 (shape mismatch: lora_A=torch.Size([32, 4096]), weight=torch.Size([27648, 3072]))
Skipping: single_blocks.4.linear2 (shape mismatch: lora_A=torch.Size([32, 16384]), weight=torch.Size([3072, 12288]))
Skipping: single_blocks.5.linear1 (shape mismatch: lora_A=torch.Size([32, 4096]), weight=torch.Size([27648, 3072]))
Skipping: single_blocks.5.linear2 (shape mismatch: lora_A=torch.Size([32, 16384]), weight=torch.Size([3072, 12288]))
Skipping: single_blocks.6.linear1 (shape mismatch: lora_A=torch.Size([32, 4096]), weight=torch.Size([27648, 3072]))
Skipping: single_blocks.6.linear2 (shape mismatch: lora_A=torch.Size([32, 16384]), weight=torch.Size([3072, 12288]))
Skipping: single_blocks.7.linear1 (shape mismatch: lora_A=torch.Size([32, 4096]), weight=torch.Size([27648, 3072]))
Skipping: single_blocks.7.linear2 (shape mismatch: lora_A=torch.Size([32, 16384]), weight=torch.Size([3072, 12288]))
Skipping: single_blocks.8.linear1 (shape mismatch: lora_A=torch.Size([32, 4096]), weight=torch.Size([27648, 3072]))
Skipping: single_blocks.8.linear2 (shape mismatch: lora_A=torch.Size([32, 16384]), weight=torch.Size([3072, 12288]))
Skipping: single_blocks.9.linear1 (shape mismatch: lora_A=torch.Size([32, 4096]), weight=torch.Size([27648, 3072]))
Skipping: single_blocks.9.linear2 (shape mismatch: lora_A=torch.Size([32, 16384]), weight=torch.Size([3072, 12288]))
LoRA application complete:
Applied: 0
Skipped: 112
LoRA 1 applied successfully
Loaded 1 reference image(s)
Matched dimensions from input image: 832x1248 (1.00 MP)
Generating 832x1248 image (1.00 MP, match_input_image) ...
Generation took 0.92s
Restoring model to original state...
Version Details
Version ID
c8ca755d41dd4a19b8fe1f50247bc6b37c73ac5321af8277d97c5e66e803ecdc
Version Created
January 28, 2026
Run on Replicate →