---
license: creativeml-openrail-m
base_model: stabilityai/stable-diffusion-xl-base-1.0
tags:
- stable-diffusion-xl
- sdxl
- lora
- text-to-image
- punk
- art-style
- collage
- xerox
- zine
- orange-county
- diffusers
library_name: diffusers
pipeline_tag: text-to-image
widget:
- text: "oc-punk-flyer, collage of skulls and reaching hands, torn paper edges, xerox photocopy, high contrast, no text, no words, no letters"
output:
url: examples/collage_skulls_hands_s0.4.png
- text: "oc-punk-flyer, skeleton surfer, palm trees, waves, torn magazine cutouts, xerox texture, high contrast, no text, no words, no letters"
output:
url: examples/collage_surf_death_s0.4.png
- text: "oc-punk-flyer, raised fists, broken chains, barbed wire, punk resistance, xerox photocopy, high contrast, no text, no words, no letters"
output:
url: examples/collage_fists_s0.35.png
- text: "oc-punk-flyer, burning suburban house, palm trees, fire, Orange County decay, high contrast, no text, no words, no letters"
output:
url: examples/burning_suburb_s0.35.png
---
# OC Punk Flyer LoRA — Orange County California Punk Art Style
A LoRA fine-tune of SDXL 1.0 trained on **Orange County, California punk rock flyer art** from 1978–2000. Generates high-contrast Xerox-style collages, cut-and-paste zine aesthetics, skull/skeleton motifs, and Southern California beach-nihilism imagery in the visual language of the OC hardcore punk scene — the same DIY aesthetic behind bands like Social Distortion, The Offspring, Bad Religion, Agent Orange, and the entire Huntington Beach / Costa Mesa / Fullerton punk underground.
> **Trigger word:** `oc-punk-flyer`
## Example Generations
### OC City Vibes
| Huntington Beach — Surf Punk | Huntington Beach — Pier Walk | Costa Mesa — Strip Mall Decay |
|:---:|:---:|:---:|
|  |  |  |
| Irvine — Tract Houses | Santa Ana — Downtown Grit | Orange — Old Towne |
|:---:|:---:|:---:|
|  |  |  |
| Tustin — Hangar Ruins | Long Beach — Harbor Industrial | Irvine — Suburban Sprawl |
|:---:|:---:|:---:|
|  |  |  |
### Collages
| Skulls & Hands | Surf & Death | Eyes |
|:---:|:---:|:---:|
|  |  |  |
| Raised Fist | TV Static | Suburban Decay |
|:---:|:---:|:---:|
|  |  |  |
| Anarchy | Beach Punk | Skate & Destroy |
|:---:|:---:|:---:|
|  |  |  |
### Punk Portraits & Objects
| Guitar Closeup | Mohawk Portrait | Mosh Pit |
|:---:|:---:|:---:|
|  |  |  |
| Combat Boots | Burning Suburbs | Skeleton Beach |
|:---:|:---:|:---:|
|  |  |  |
| Skater Punk | Beach Nihilism | Skulls Collage |
|:---:|:---:|:---:|
|  |  |  |
## Usage
### With Diffusers
```python
import torch
from diffusers import StableDiffusionXLPipeline
pipe = StableDiffusionXLPipeline.from_pretrained(
"stabilityai/stable-diffusion-xl-base-1.0",
torch_dtype=torch.float16,
variant="fp16",
)
pipe.load_lora_weights("cahlen/oc-punk-flyer-sdxl-lora")
pipe.set_adapters(["default_0"], adapter_weights=[0.4])
pipe.to("cuda")
image = pipe(
prompt="oc-punk-flyer, collage of skulls and reaching hands, torn paper edges, xerox photocopy, high contrast, no text, no words, no letters",
negative_prompt="text, words, letters, writing, typography, font, caption, label, title, headline, sign, logo, watermark, signature, blurry, photorealistic, photo, smooth gradients, 3d render, clean, modern, digital",
width=768,
height=1024,
num_inference_steps=30,
guidance_scale=7.5,
).images[0]
image.save("punk_art.png")
```
### With ComfyUI / A1111
Load `pytorch_lora_weights.safetensors` as a standard SDXL LoRA. Use trigger word `oc-punk-flyer` in your prompt.
## Recommended Settings
| Parameter | Recommended | Notes |
|-----------|------------|-------|
| **LoRA scale** | **0.3–0.5** | Sweet spot for style without text artifacts. See guide below. |
| **Resolution** | 768x1024 | Portrait orientation works best (trained at 1024px) |
| **CFG / Guidance** | 7.5 | Standard SDXL guidance |
| **Steps** | 25–30 | Diminishing returns past 30 |
| **Sampler** | Euler a, DPM++ 2M Karras | Standard SDXL samplers |
### LoRA Scale Guide
The most important parameter. Controls how much of the punk flyer style is applied:
| Scale | Effect | Best For |
|-------|--------|----------|
| **0.3** | Light style influence, very clean | Crowd scenes, portraits — subjects that tend to trigger text |
| **0.35** | Moderate style, mostly clean | General purpose, collages, city scenes |
| **0.4** | Strong style, good balance | Collages, objects, landscapes — the default sweet spot |
| **0.5** | Full style, occasional text artifacts | Skulls, skeletons, abstract subjects that don't trigger text |
| **0.6+** | Very strong, likely text artifacts | Only for subjects that never trigger text (abstract, objects) |
### Text Suppression
This LoRA was trained on punk rock flyers which are inherently text-heavy. The model has learned to associate the style with text/typography elements. To generate clean art without garbled text:
1. **Use LoRA scale 0.3–0.4** (most important)
2. **Add to your prompt:** `no text, no words, no letters`
3. **Add to negative prompt:** `text, words, letters, writing, typography, font, caption, label, title, headline, sign, logo, watermark, signature`
4. **Avoid "performance" prompts** — band-on-stage, concert venue, performer compositions strongly trigger text. Use object/scene/collage prompts instead.
### Prompt Tips
- Always start with the trigger word: `oc-punk-flyer`
- **Collage prompts work best:** `collage of [subjects], torn paper, xerox texture, high contrast`
- **Object-focused prompts stay clean:** guitars, boots, skateboards, buildings
- **Scene/landscape prompts work well:** burning houses, beach scenes, urban decay, suburban sprawl
- **Add xerox/zine keywords** to reinforce the style: `xerox texture`, `xerox photocopy`, `punk zine`, `torn paper`, `cut-and-paste`
- **Avoid:** `poster`, `flyer`, `banner`, `concert`, `show`, `performing` (trigger text generation)
## Training Details
| Parameter | Value |
|-----------|-------|
| **Base model** | [stabilityai/stable-diffusion-xl-base-1.0](https://huggingface.co/stabilityai/stable-diffusion-xl-base-1.0) |
| **Framework** | [SimpleTuner](https://github.com/bghira/SimpleTuner) |
| **LoRA rank / alpha** | 32 / 32 |
| **Optimizer** | Prodigy (auto-adjusting LR, initial 1.0) |
| **Batch size x Accum** | 1 x 4 (effective batch 4) |
| **Max steps** | 3,500 |
| **Precision** | bf16 |
| **SNR gamma** | 5 |
| **Noise offset** | 0.05 |
| **Caption dropout** | 0.20 |
### Dataset
| Metric | Value |
|--------|-------|
| **Sources** | Cornell Digital Library, Internet Archive |
| **Raw scraped** | 2,351 punk flyer images |
| **Curated** | Top 200 by programmatic scoring (entropy, contrast, B&W fraction, edge density, aspect ratio, resolution) |
| **After preprocessing** | 402 images (200 original + 200 B&W augmentation + 2 multi-crop) |
| **Repeats** | 2 |
| **Effective samples/epoch** | 804 |
| **Total epochs** | ~17.4 |
| **Caption strategy** | Instance prompt only (`oc-punk-flyer`) — style LoRAs learn better when captions describe content only |
### Why SDXL over FLUX
SDXL 1.0 (3.5B parameters) was chosen over FLUX (12B+) because FLUX's strong photorealistic prior overwhelms rank-32 style LoRAs. SDXL's smaller parameter count is more amenable to specialized art styles at practical LoRA ranks.
## Style Reference
This LoRA captures the visual language of Orange County punk/hardcore flyers from 1978–2000:
- **High-contrast Xerox aesthetic** — photocopied, degraded, raw
- **Cut-and-paste collage** — torn paper, magazine cutouts, layered imagery
- **Skull/skeleton motifs** — the universal punk visual shorthand
- **Beach nihilism** — palm trees, surf culture subverted with death imagery
- **Suburban decay** — tract houses, strip malls, power lines, OC sprawl
- **DIY zine culture** — hand-drawn, rough, anti-commercial
## License
This LoRA inherits the [CreativeML OpenRAIL-M](https://huggingface.co/spaces/CompVis/stable-diffusion-license) license from the SDXL base model.
## Acknowledgments
Training data sourced from public digital archives (Cornell Digital Library, Internet Archive). This LoRA is a tribute to the OC punk and hardcore community and their extraordinary DIY visual culture.