Downloads · 30 days
105
21% of all-time downloads
NeedAHugNOW/City-Pop-LoKr
City-Pop-LoKr is a text-to-image model from NeedAHugNOW. Use it when you need an image from a text prompt. It is set up for diffusers. The card lists the license as other.
LoKR (Low-Rank Kronecker) adapters for Krea 2, trained on a curated dataset of 297 city pop paintings at 1024px resolution. The adapters capture a signature city-pop aesthetic: sharp geometric compositions, flat color…
Downloads · 30 days
105
21% of all-time downloads
All-time downloads
505
Public
Repo size
703 MB
Likes
9
Public
Click a slice to open those files.
.safetensors441 MB · 89%
From the Hugging Face model README
LoKR (Low-Rank Kronecker) adapters for Krea 2, trained on a curated dataset of 297 city pop paintings at 1024px resolution. The adapters capture a signature city-pop aesthetic: sharp geometric compositions, flat color blocks, pointillist texture, and atmospheric depth.
This is a first attempt and an educational endeavour. We identified several areas for improvement during development; a refined version is under development.
Two variants are provided, each trained for different objectives:
| Adapter | Role | Training Objective | Effective Rank | Size |
|---|---|---|---|---|
city-pop-texture | Surface fidelity | MSE reconstruction only | 128 | 112 MB |
city-pop-structure | Compositional coherence | MSE + perceptual feature matching | 384 | 85 MB |
Trained with standard flow-matching MSE loss only. Excels at reproducing surface texture, color palette, and pointillist dot patterns. Best used as a final layer in multi-adapter stacks, or standalone at moderate strength (1.5-2.5) when you want style transfer without heavy structural intervention.
Trained with MSE reconstruction plus a perceptual feature-matching regularizer. This regularizer is active only during high-noise timesteps (t > 0.5) where global structure and composition are being formed, and decays across training so that MSE dominates the final epochs and locks in style/palette.
This adapter excels at maintaining compositional integrity and spatial coherence, especially at higher strengths (2.0-4.0) where the texture adapter begins to lose structure. It resists the "style collapse" failure mode where geometric primitives dominate at high inference strength. Therefore it acts as a conditioner for texture adapter and provides higher compatibility within multi-adapter stacks.
Load either adapter (or both stacked) via the standard LoRA Loader node. An example workflow is provided as workflow.json (and workflow.png with embedded workflow data). Split sigma workflow is recommended.
Stacked (recommended): structure adapter at strength 1.0 on the high-noise stage, texture adapter at strength 1.5 on the low-noise stage.
Krea-2 RAW base
-> LoRA Loader (city-pop-structure, strength 1.0) [high-noise stage]
-> 1st KSampler
-> Krea-2 base (Turbo or Turbofied Raw)
-> LoRA Loader (city-pop-texture, strength 1.5) [low-noise stage]
-> 2nd KSampler -> decode
Two approaches were tested for the low-noise stage, both producing good results:
| Turbofied Raw (Raw + Turbo LoRA) | Turbo Model Direct | |
|---|---|---|
| Variety | Higher (Raw inherent diversity) | Lower (stronger corrective tendency) |
| Artifacts | Can distort limbs at handshake | Turbo model corrects them automatically |
| Strength range | Texture ~2.0 | Texture ~1.5 (lower) |
| Step count | More steps possible on Raw combo | Fixed Turbo steps |
Both approaches work well. The adapters were trained on Raw and transfer to Turbo directly without performance loss, contrary to common advice that training and inference weight mismatches degrade adapter quality. Choice between the two is preference-driven.
The adapters respond strongly to prompt framing. No trigger word is needed — the style emerges from adapter strength.
Works well:
Does not work well:
Below: same prompt, four configurations.
| Base (no adapter) | Texture only | Structure only | Stacked (structure + texture) |
|---|---|---|---|
![]() | ![]() | ![]() | ![]() |
Prompt: A young woman with pink and aqua two-tone hair tied in a messy updo, wearing large over-ear headphones, reclining lazily in a plush magenta armchair beside a tall apartment window. She wears a loose yellow romper with black trim and black slide sandals, one leg kicked up casually against the window frame. A sleek black cat with glowing yellow eyes sits on the dark floor looking up at her. The room is dim and moody with silhouettes of large potted plants, while intense sunlight floods in from the window revealing a sunlit urban cityscape with tall buildings and green vines outside.
Trained on a single RTX A4000 16GB (Ampere) with block offloading:
| Parameter | city-pop-texture | city-pop-structure |
|---|---|---|
| Precision | bf16 | bf16 |
| Block swap | 26/28 blocks | 26/28 blocks |
| Gradient checkpointing | Yes | Yes |
| Peak VRAM | ~13 GB | ~14.2 GB |
Both adapters target all 264 linear layers in Krea-2's MMDiT using the LoKR (Kronecker product) parameterization. The Kronecker decomposition factorizes each weight update as A (kron) B, where the factor parameter controls the rank-to-parameter ratio. Higher factor = more rank per parameter, more expressive per MB.
| city-pop-texture | city-pop-structure | |
|---|---|---|
| dim | 32 | 48 |
| alpha | 32 | 48 |
| factor | 4 | 8 |
| Effective rank | 128 | 384 |
| Modules | 264 | 264 |
| File size | 112 MB | 85 MB |
The structure adapter's higher effective rank (384 vs 128) gives it 3x the rank capacity per parameter, allowing it to learn more complex spatial decompositions needed for structural coherence.
| Metric | city-pop-texture | city-pop-structure |
|---|---|---|
| Surface texture fidelity | Strong | Moderate |
| Color palette match | Strong | Moderate |
| Compositional stability | Moderate | Strong |
| High-strength resilience (ID) | Up to 3.0 | Up to 4.0+ |
| High-strength resilience (OOD) | Up to 1.5 | Up to 2.0 |
| Style collapse resistance | Lower | Higher |
| Best use | Standalone or top layer | Stacking, high-strength |
This project is a labour of love for non-commercial, research, and educational purposes only. The author respects and supports the original artist and does not claim to reproduce, replace, or compete with their work. If the artist wishes, they are welcome to reach out and the repo will be taken down immediately.
These adapters are Derivatives of Krea 2, licensed under the Krea 2 Community License Agreement. The original Krea 2 model has been modified through LoKR adapter training. "Krea 2" is a mark of Krea.ai, Inc. These adapters are not official Krea products and are not endorsed by Krea.
Commercial use is permitted under the terms of the Krea 2 Community License, subject to the revenue threshold and other conditions specified therein. Users must implement appropriate content filtering measures as required by Section 4.2 of the license agreement.
Krea 2 is licensed under the Krea 2 Community License Agreement. For more information, visit https://krea.ai/krea-2-licensing.
Trained July 2026. Feedback and issue reports welcome.