Text-to-Image
Diffusers
English
StableDiffusionXLPipeline
stable-diffusion
stable-diffusion-xl
sdxl
photorealistic
photography
cinematic
portrait
juggernaut
rundiffusion
kandooai
Instructions to use qign/Juggernaut-XL-v9 with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Diffusers
How to use qign/Juggernaut-XL-v9 with Diffusers:
pip install -U diffusers transformers accelerate
import torch from diffusers import DiffusionPipeline # switch to "mps" for apple devices pipe = DiffusionPipeline.from_pretrained("qign/Juggernaut-XL-v9", torch_dtype=torch.bfloat16, device_map="cuda") prompt = "Astronaut in a jungle, cold color palette, muted colors, detailed, 8k" image = pipe(prompt).images[0] - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- Draw Things
- DiffusionBee
Commit ·
8da6435
0
Parent(s):
Duplicate from RunDiffusion/Juggernaut-XL-v9
Browse filesCo-authored-by: RunDiffusion <RunDiffusion@users.noreply.huggingface.co>
- .gitattributes +37 -0
- Juggernaut-XL_v9_RunDiffusionPhoto_v2.safetensors +3 -0
- README.md +185 -0
- assets/Juggernaut_v9_banner.png +3 -0
- assets/Juggernaut_v9_banner.webp +3 -0
- model_index.json +41 -0
- scheduler/scheduler_config.json +18 -0
- text_encoder/config.json +24 -0
- text_encoder/model.fp16.safetensors +3 -0
- text_encoder_2/config.json +24 -0
- text_encoder_2/model.fp16.safetensors +3 -0
- tokenizer/merges.txt +0 -0
- tokenizer/special_tokens_map.json +30 -0
- tokenizer/tokenizer_config.json +30 -0
- tokenizer/vocab.json +0 -0
- tokenizer_2/merges.txt +0 -0
- tokenizer_2/special_tokens_map.json +24 -0
- tokenizer_2/tokenizer_config.json +38 -0
- tokenizer_2/vocab.json +0 -0
- unet/config.json +72 -0
- unet/diffusion_pytorch_model.fp16.safetensors +3 -0
- vae/config.json +31 -0
- vae/diffusion_pytorch_model.fp16.safetensors +3 -0
.gitattributes
ADDED
|
@@ -0,0 +1,37 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
*.7z filter=lfs diff=lfs merge=lfs -text
|
| 2 |
+
*.arrow filter=lfs diff=lfs merge=lfs -text
|
| 3 |
+
*.bin filter=lfs diff=lfs merge=lfs -text
|
| 4 |
+
*.bz2 filter=lfs diff=lfs merge=lfs -text
|
| 5 |
+
*.ckpt filter=lfs diff=lfs merge=lfs -text
|
| 6 |
+
*.ftz filter=lfs diff=lfs merge=lfs -text
|
| 7 |
+
*.gz filter=lfs diff=lfs merge=lfs -text
|
| 8 |
+
*.h5 filter=lfs diff=lfs merge=lfs -text
|
| 9 |
+
*.joblib filter=lfs diff=lfs merge=lfs -text
|
| 10 |
+
*.lfs.* filter=lfs diff=lfs merge=lfs -text
|
| 11 |
+
*.mlmodel filter=lfs diff=lfs merge=lfs -text
|
| 12 |
+
*.model filter=lfs diff=lfs merge=lfs -text
|
| 13 |
+
*.msgpack filter=lfs diff=lfs merge=lfs -text
|
| 14 |
+
*.npy filter=lfs diff=lfs merge=lfs -text
|
| 15 |
+
*.npz filter=lfs diff=lfs merge=lfs -text
|
| 16 |
+
*.onnx filter=lfs diff=lfs merge=lfs -text
|
| 17 |
+
*.ot filter=lfs diff=lfs merge=lfs -text
|
| 18 |
+
*.parquet filter=lfs diff=lfs merge=lfs -text
|
| 19 |
+
*.pb filter=lfs diff=lfs merge=lfs -text
|
| 20 |
+
*.pickle filter=lfs diff=lfs merge=lfs -text
|
| 21 |
+
*.pkl filter=lfs diff=lfs merge=lfs -text
|
| 22 |
+
*.pt filter=lfs diff=lfs merge=lfs -text
|
| 23 |
+
*.pth filter=lfs diff=lfs merge=lfs -text
|
| 24 |
+
*.rar filter=lfs diff=lfs merge=lfs -text
|
| 25 |
+
*.safetensors filter=lfs diff=lfs merge=lfs -text
|
| 26 |
+
saved_model/**/* filter=lfs diff=lfs merge=lfs -text
|
| 27 |
+
*.tar.* filter=lfs diff=lfs merge=lfs -text
|
| 28 |
+
*.tar filter=lfs diff=lfs merge=lfs -text
|
| 29 |
+
*.tflite filter=lfs diff=lfs merge=lfs -text
|
| 30 |
+
*.tgz filter=lfs diff=lfs merge=lfs -text
|
| 31 |
+
*.wasm filter=lfs diff=lfs merge=lfs -text
|
| 32 |
+
*.xz filter=lfs diff=lfs merge=lfs -text
|
| 33 |
+
*.zip filter=lfs diff=lfs merge=lfs -text
|
| 34 |
+
*.zst filter=lfs diff=lfs merge=lfs -text
|
| 35 |
+
*tfevents* filter=lfs diff=lfs merge=lfs -text
|
| 36 |
+
assets/Juggernaut_v9_banner.png filter=lfs diff=lfs merge=lfs -text
|
| 37 |
+
assets/Juggernaut_v9_banner.webp filter=lfs diff=lfs merge=lfs -text
|
Juggernaut-XL_v9_RunDiffusionPhoto_v2.safetensors
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:c9e3e68f89b8e38689e1097d4be4573cf308de4e3fd044c64ca697bdb4aa8bca
|
| 3 |
+
size 7105348188
|
README.md
ADDED
|
@@ -0,0 +1,185 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
---
|
| 2 |
+
license: creativeml-openrail-m
|
| 3 |
+
language:
|
| 4 |
+
- en
|
| 5 |
+
library_name: diffusers
|
| 6 |
+
pipeline_tag: text-to-image
|
| 7 |
+
base_model: stabilityai/stable-diffusion-xl-base-1.0
|
| 8 |
+
tags:
|
| 9 |
+
- stable-diffusion
|
| 10 |
+
- stable-diffusion-xl
|
| 11 |
+
- sdxl
|
| 12 |
+
- text-to-image
|
| 13 |
+
- photorealistic
|
| 14 |
+
- photography
|
| 15 |
+
- cinematic
|
| 16 |
+
- portrait
|
| 17 |
+
- juggernaut
|
| 18 |
+
- rundiffusion
|
| 19 |
+
- kandooai
|
| 20 |
+
---
|
| 21 |
+
|
| 22 |
+
<div align="center">
|
| 23 |
+
|
| 24 |
+
<a href="https://www.rundiffusion.com/juggernaut?utm_source=huggingface&utm_medium=model_card&utm_campaign=juggernaut_xl_v9&utm_content=header_banner">
|
| 25 |
+
<img src="https://huggingface.co/RunDiffusion/Juggernaut-XL-v9/resolve/main/assets/Juggernaut_v9_banner.webp" alt="Juggernaut XL v9 — by RunDiffusion" />
|
| 26 |
+
</a>
|
| 27 |
+
|
| 28 |
+
<h1>Juggernaut XL v9 by RunDiffusion</h1>
|
| 29 |
+
|
| 30 |
+
<p><i>The world's most-downloaded SDXL model — purpose-built for photorealism.</i></p>
|
| 31 |
+
|
| 32 |
+
<p><b>6M+ downloads on Hugging Face · Overwhelmingly Positive on Civitai · 26 months in production</b></p>
|
| 33 |
+
|
| 34 |
+
<p>
|
| 35 |
+
<a href="https://app.rundiffusion.com/login?utm_source=huggingface&utm_medium=model_card&utm_campaign=juggernaut_xl_v9&utm_content=hero_cta"><img alt="Try Juggernaut XL v9 — Free" src="https://img.shields.io/badge/%E2%96%B6%20Try%20Juggernaut%20XL%20v9%20%E2%80%94%20Free-7C3AED?style=for-the-badge&labelColor=7C3AED"></a>
|
| 36 |
+
</p>
|
| 37 |
+
|
| 38 |
+
<p>
|
| 39 |
+
<a href="https://www.rundiffusion.com/prompting?utm_source=huggingface&utm_medium=model_card&utm_campaign=juggernaut_xl_v9&utm_content=prompting_resource"><img alt="Prompting Guides" src="https://img.shields.io/badge/%F0%9F%93%96%20Prompting%20Guides-1f1f23?style=for-the-badge"></a> <a href="https://www.rundiffusion.com/juggernaut?utm_source=huggingface&utm_medium=model_card&utm_campaign=juggernaut_xl_v9&utm_content=lineup_compare"><img alt="Compare the Lineup" src="https://img.shields.io/badge/Compare%20the%20Lineup-1971c2?style=for-the-badge&labelColor=1f1f23"></a> <a href="https://civitai.com/models/133005/juggernaut-xl"><img alt="Civitai" src="https://img.shields.io/badge/Civitai-Overwhelmingly%20Positive-EAB308?style=for-the-badge&labelColor=1f1f23"></a> <img alt="License: CreativeML Open RAIL-M" src="https://img.shields.io/badge/License-OpenRAIL--M-2ea44f?style=for-the-badge">
|
| 40 |
+
</p>
|
| 41 |
+
|
| 42 |
+
</div>
|
| 43 |
+
|
| 44 |
+
> Juggernaut XL is the most popular SDXL fine-tune in the world. Version 9 — co-developed by **KandooAI** and **RunDiffusion**, integrating **RunDiffusion Photo v2** — is the proven photorealism workhorse trusted by **hundreds of thousands of creators**: 6M+ all-time downloads on Hugging Face, 1.5M+ on Civitai, and an *Overwhelmingly Positive* rating across 7,780+ reviews.
|
| 45 |
+
|
| 46 |
+
## Why Juggernaut XL v9 in 2026?
|
| 47 |
+
|
| 48 |
+
The SDXL ecosystem is the single most mature corner of open image generation, and v9 is its most refined photorealism checkpoint. Choose Juggernaut XL v9 when you want:
|
| 49 |
+
|
| 50 |
+
- 📸 **Photorealism that holds up under scrutiny** — skin texture, micro-contrast, and natural lighting that translates from concept to print.
|
| 51 |
+
- 💻 **Reasonable hardware** — runs comfortably on 8 GB of VRAM, unlike newer DiT-based models that demand 16+ GB.
|
| 52 |
+
- 🧰 **The full SDXL toolbox** — drop-in compatibility with the thousands of SDXL ControlNets, IP-Adapter variants, AnimateDiff, regional prompting tools, and LoRAs already in your workflow.
|
| 53 |
+
- 🏆 **Battle-tested reliability** — 26+ months in production, used in agencies, studios, and shipping products around the world.
|
| 54 |
+
|
| 55 |
+
For experimental and frontier work, see the rest of the [Juggernaut family](#looking-for-something-newer). For SDXL photorealism, this is the king of the hill.
|
| 56 |
+
|
| 57 |
+
---
|
| 58 |
+
|
| 59 |
+
<div align="center">
|
| 60 |
+
|
| 61 |
+
<h3>🚀 Skip the setup. Try Juggernaut XL v9 in your browser.</h3>
|
| 62 |
+
|
| 63 |
+
<p>No installs. No GPU rental. No model downloads. <b>Just generate.</b></p>
|
| 64 |
+
|
| 65 |
+
<a href="https://app.rundiffusion.com/login?utm_source=huggingface&utm_medium=model_card&utm_campaign=juggernaut_xl_v9&utm_content=midpage_cta"><img alt="Launch Juggernaut on RunDiffusion" src="https://img.shields.io/badge/%E2%96%B6%20Launch%20on%20RunDiffusion-7C3AED?style=for-the-badge&labelColor=7C3AED"></a>
|
| 66 |
+
|
| 67 |
+
<p><i>Pre-loaded into ComfyUI · Forge · Automatic1111 · Fooocus · InvokeAI · SwarmUI</i></p>
|
| 68 |
+
|
| 69 |
+
</div>
|
| 70 |
+
|
| 71 |
+
---
|
| 72 |
+
|
| 73 |
+
## What V9 Brought Over V8
|
| 74 |
+
|
| 75 |
+
- **RunDiffusion Photo v2** integration — a substantial upgrade to the photographic backbone of the model
|
| 76 |
+
- Improved **skin detail** and micro-texture rendering
|
| 77 |
+
- Stronger **lighting** and **contrast** control
|
| 78 |
+
- Better consistency across **portrait**, **architecture**, **automotive**, **wildlife**, **food**, **interior**, and **landscape** photography
|
| 79 |
+
|
| 80 |
+
## Two Ways to Run Juggernaut XL v9
|
| 81 |
+
|
| 82 |
+
### 🚀 Easiest — Run it on RunDiffusion (recommended)
|
| 83 |
+
|
| 84 |
+
One-click access to Juggernaut XL v9 inside the UI you already know — ComfyUI, Forge, Automatic1111, Fooocus, InvokeAI, or SwarmUI. No setup, no model downloads, no GPU to rent. **Free trial included.**
|
| 85 |
+
|
| 86 |
+
<div align="center">
|
| 87 |
+
<a href="https://app.rundiffusion.com/login?utm_source=huggingface&utm_medium=model_card&utm_campaign=juggernaut_xl_v9&utm_content=quickstart_try"><img alt="Get Started Free" src="https://img.shields.io/badge/Get%20Started%20Free%20%E2%86%92-7C3AED?style=for-the-badge&labelColor=7C3AED"></a>
|
| 88 |
+
</div>
|
| 89 |
+
|
| 90 |
+
### 💻 Or run it locally — Diffusers
|
| 91 |
+
|
| 92 |
+
```python
|
| 93 |
+
import torch
|
| 94 |
+
from diffusers import DiffusionPipeline
|
| 95 |
+
|
| 96 |
+
pipe = DiffusionPipeline.from_pretrained(
|
| 97 |
+
"RunDiffusion/Juggernaut-XL-v9",
|
| 98 |
+
torch_dtype=torch.float16,
|
| 99 |
+
variant="fp16",
|
| 100 |
+
use_safetensors=True,
|
| 101 |
+
).to("cuda")
|
| 102 |
+
|
| 103 |
+
prompt = "Cinematic mid shot photo of an astronaut walking through a neon-lit Tokyo alley at night, hyperdetailed photography, skin details, shallow depth of field"
|
| 104 |
+
|
| 105 |
+
image = pipe(
|
| 106 |
+
prompt,
|
| 107 |
+
width=832, height=1216,
|
| 108 |
+
num_inference_steps=35,
|
| 109 |
+
guidance_scale=5.0,
|
| 110 |
+
).images[0]
|
| 111 |
+
|
| 112 |
+
image.save("juggernaut_xl_v9.png")
|
| 113 |
+
```
|
| 114 |
+
|
| 115 |
+
For ComfyUI / Forge / InvokeAI / SwarmUI: download `Juggernaut-XL_v9_RunDiffusionPhoto_v2.safetensors` and drop it into your `models/checkpoints/` directory.
|
| 116 |
+
|
| 117 |
+
## Recommended Settings
|
| 118 |
+
|
| 119 |
+
| Parameter | Value |
|
| 120 |
+
| --- | --- |
|
| 121 |
+
| Resolution | `832 × 1216` (portrait) · `1216 × 832` (landscape) |
|
| 122 |
+
| Sampler | `DPM++ 2M Karras` |
|
| 123 |
+
| Steps | `30 – 40` |
|
| 124 |
+
| CFG scale | `3 – 7` (lower = more realistic) |
|
| 125 |
+
| VAE | **Already baked in** — no external VAE required |
|
| 126 |
+
| Hi-Res fix | `4xNMKD-Siax_200k` upscaler · 15 steps · 0.3 denoise · 1.5× upscale |
|
| 127 |
+
|
| 128 |
+
> **Negative prompts:** start with **none**. Add specific things you don't want as you iterate. Heavy negatives often hurt more than they help on this model.
|
| 129 |
+
|
| 130 |
+
### Useful Prompt Keywords
|
| 131 |
+
|
| 132 |
+
These tokens reliably steer output:
|
| 133 |
+
|
| 134 |
+
```
|
| 135 |
+
Architecture Photography · Wildlife Photography · Car Photography
|
| 136 |
+
Food Photography · Interior Photography · Landscape Photography
|
| 137 |
+
Hyperdetailed Photography · Cinematic Movie · Still Mid Shot Photo
|
| 138 |
+
Full Body Photo · Skin Details
|
| 139 |
+
```
|
| 140 |
+
|
| 141 |
+
📖 **For deeper prompting technique** — sampler choices, multi-subject framing, lighting language, negative-prompt strategy — see the [**RunDiffusion prompting library**](https://www.rundiffusion.com/prompting?utm_source=huggingface&utm_medium=model_card&utm_campaign=juggernaut_xl_v9&utm_content=prompting_inline). Free to read, no signup.
|
| 142 |
+
|
| 143 |
+
## Files In This Repo
|
| 144 |
+
|
| 145 |
+
| File | Purpose |
|
| 146 |
+
| --- | --- |
|
| 147 |
+
| `Juggernaut-XL_v9_RunDiffusionPhoto_v2.safetensors` | Single-file checkpoint for ComfyUI / Forge / InvokeAI / SwarmUI |
|
| 148 |
+
| `unet/`, `text_encoder/`, `text_encoder_2/`, `vae/`, `tokenizer/`, `tokenizer_2/`, `scheduler/`, `model_index.json` | Diffusers-format directory tree (FP16 variant) for `from_pretrained` |
|
| 149 |
+
|
| 150 |
+
## Looking For Something Newer?
|
| 151 |
+
|
| 152 |
+
The Juggernaut family has continued to evolve. Match the model to your project:
|
| 153 |
+
|
| 154 |
+
| Model | Architecture | Best for |
|
| 155 |
+
| --- | --- | --- |
|
| 156 |
+
| **[Juggernaut Z](https://huggingface.co/RunDiffusion/Juggernaut-Z-Image)** | Lumina-Image-2 | Cinematic, presentation-ready output with stronger lighting and atmosphere |
|
| 157 |
+
| **[Juggernaut Pro Flux](https://www.rundiffusion.com/juggernaut-pro-flux?utm_source=huggingface&utm_medium=model_card&utm_campaign=juggernaut_xl_v9&utm_content=cross_promo_pro_flux)** | FLUX.1 | Highest photo quality with strong consistency and lower token cost |
|
| 158 |
+
| **[Juggernaut XII / XIII Ragnarok](https://www.rundiffusion.com/juggernaut?utm_source=huggingface&utm_medium=model_card&utm_campaign=juggernaut_xl_v9&utm_content=cross_promo_family)** | SDXL | The latest evolutions of the SDXL line, refined for prompt adherence and realism |
|
| 159 |
+
| **Juggernaut XL v9** *(this model)* | SDXL 1.0 | Proven SDXL photorealism workhorse with the broadest tooling ecosystem |
|
| 160 |
+
|
| 161 |
+
All of them — and 100+ other SOTA models — are pre-loaded on **[RunDiffusion](https://app.rundiffusion.com/login?utm_source=huggingface&utm_medium=model_card&utm_campaign=juggernaut_xl_v9&utm_content=family_compare)**. Switch between them in two clicks.
|
| 162 |
+
|
| 163 |
+
## Commercial Use
|
| 164 |
+
|
| 165 |
+
This model **may not be deployed behind paid API services** without explicit licensing. For commercial licensing, custom models, business inquiries, or consultation, contact **[juggernaut@rundiffusion.com](mailto:juggernaut@rundiffusion.com)**.
|
| 166 |
+
|
| 167 |
+
You are free to use this model for personal and creative work under the terms of the [CreativeML Open RAIL-M license](https://huggingface.co/spaces/CompVis/stable-diffusion-license).
|
| 168 |
+
|
| 169 |
+
## Credits
|
| 170 |
+
|
| 171 |
+
Juggernaut XL v9 was created by **[KandooAI](https://twitter.com/Juggernaut_AI)** in collaboration with **[RunDiffusion](https://www.rundiffusion.com/?utm_source=huggingface&utm_medium=model_card&utm_campaign=juggernaut_xl_v9&utm_content=credits)**. The photographic backbone — **RunDiffusion Photo v2** — was developed by the RunDiffusion team. Thanks to **Adam Stewart** for prompting workflow.
|
| 172 |
+
|
| 173 |
+
---
|
| 174 |
+
|
| 175 |
+
<div align="center">
|
| 176 |
+
|
| 177 |
+
<h3>Ready to generate?</h3>
|
| 178 |
+
|
| 179 |
+
<p>Juggernaut XL v9 is one click away — no setup, no GPU rental, no model downloads.</p>
|
| 180 |
+
|
| 181 |
+
<a href="https://app.rundiffusion.com/login?utm_source=huggingface&utm_medium=model_card&utm_campaign=juggernaut_xl_v9&utm_content=footer_cta"><img alt="Try Juggernaut XL v9 — Free" src="https://img.shields.io/badge/%E2%96%B6%20Try%20Juggernaut%20XL%20v9%20%E2%80%94%20Free-7C3AED?style=for-the-badge&labelColor=7C3AED"></a>
|
| 182 |
+
|
| 183 |
+
<p><sub><a href="https://www.rundiffusion.com/juggernaut?utm_source=huggingface&utm_medium=model_card&utm_campaign=juggernaut_xl_v9&utm_content=footer_lineup">Compare the full Juggernaut lineup</a> · <a href="https://www.rundiffusion.com/prompting?utm_source=huggingface&utm_medium=model_card&utm_campaign=juggernaut_xl_v9&utm_content=footer_prompting">Prompting guides</a> · <a href="mailto:juggernaut@rundiffusion.com">Commercial licensing</a></sub></p>
|
| 184 |
+
|
| 185 |
+
</div>
|
assets/Juggernaut_v9_banner.png
ADDED
|
Git LFS Details
|
assets/Juggernaut_v9_banner.webp
ADDED
|
Git LFS Details
|
model_index.json
ADDED
|
@@ -0,0 +1,41 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"_class_name": "StableDiffusionXLPipeline",
|
| 3 |
+
"_diffusers_version": "0.27.0.dev0",
|
| 4 |
+
"feature_extractor": [
|
| 5 |
+
null,
|
| 6 |
+
null
|
| 7 |
+
],
|
| 8 |
+
"force_zeros_for_empty_prompt": true,
|
| 9 |
+
"image_encoder": [
|
| 10 |
+
null,
|
| 11 |
+
null
|
| 12 |
+
],
|
| 13 |
+
"scheduler": [
|
| 14 |
+
"diffusers",
|
| 15 |
+
"DDPMScheduler"
|
| 16 |
+
],
|
| 17 |
+
"text_encoder": [
|
| 18 |
+
"transformers",
|
| 19 |
+
"CLIPTextModel"
|
| 20 |
+
],
|
| 21 |
+
"text_encoder_2": [
|
| 22 |
+
"transformers",
|
| 23 |
+
"CLIPTextModelWithProjection"
|
| 24 |
+
],
|
| 25 |
+
"tokenizer": [
|
| 26 |
+
"transformers",
|
| 27 |
+
"CLIPTokenizer"
|
| 28 |
+
],
|
| 29 |
+
"tokenizer_2": [
|
| 30 |
+
"transformers",
|
| 31 |
+
"CLIPTokenizer"
|
| 32 |
+
],
|
| 33 |
+
"unet": [
|
| 34 |
+
"diffusers",
|
| 35 |
+
"UNet2DConditionModel"
|
| 36 |
+
],
|
| 37 |
+
"vae": [
|
| 38 |
+
"diffusers",
|
| 39 |
+
"AutoencoderKL"
|
| 40 |
+
]
|
| 41 |
+
}
|
scheduler/scheduler_config.json
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"_class_name": "DDPMScheduler",
|
| 3 |
+
"_diffusers_version": "0.24.0.dev0",
|
| 4 |
+
"beta_end": 0.012,
|
| 5 |
+
"beta_schedule": "scaled_linear",
|
| 6 |
+
"beta_start": 0.00085,
|
| 7 |
+
"clip_sample": false,
|
| 8 |
+
"clip_sample_range": 1.0,
|
| 9 |
+
"dynamic_thresholding_ratio": 0.995,
|
| 10 |
+
"interpolation_type": "linear",
|
| 11 |
+
"num_train_timesteps": 1000,
|
| 12 |
+
"prediction_type": "epsilon",
|
| 13 |
+
"rescale_betas_zero_snr": false,
|
| 14 |
+
"sample_max_value": 1.0,
|
| 15 |
+
"set_alpha_to_one": false,
|
| 16 |
+
"skip_prk_steps": true,
|
| 17 |
+
"timestep_spacing": "trailing"
|
| 18 |
+
}
|
text_encoder/config.json
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"architectures": [
|
| 3 |
+
"CLIPTextModel"
|
| 4 |
+
],
|
| 5 |
+
"attention_dropout": 0.0,
|
| 6 |
+
"bos_token_id": 0,
|
| 7 |
+
"dropout": 0.0,
|
| 8 |
+
"eos_token_id": 2,
|
| 9 |
+
"hidden_act": "quick_gelu",
|
| 10 |
+
"hidden_size": 768,
|
| 11 |
+
"initializer_factor": 1.0,
|
| 12 |
+
"initializer_range": 0.02,
|
| 13 |
+
"intermediate_size": 3072,
|
| 14 |
+
"layer_norm_eps": 1e-05,
|
| 15 |
+
"max_position_embeddings": 77,
|
| 16 |
+
"model_type": "clip_text_model",
|
| 17 |
+
"num_attention_heads": 12,
|
| 18 |
+
"num_hidden_layers": 12,
|
| 19 |
+
"pad_token_id": 1,
|
| 20 |
+
"projection_dim": 768,
|
| 21 |
+
"torch_dtype": "float16",
|
| 22 |
+
"transformers_version": "4.38.0.dev0",
|
| 23 |
+
"vocab_size": 49408
|
| 24 |
+
}
|
text_encoder/model.fp16.safetensors
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:698656aa4f452e1f8f38287240054a9b8d339b3051ec17d77d63bdb5605db01a
|
| 3 |
+
size 246144152
|
text_encoder_2/config.json
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"architectures": [
|
| 3 |
+
"CLIPTextModelWithProjection"
|
| 4 |
+
],
|
| 5 |
+
"attention_dropout": 0.0,
|
| 6 |
+
"bos_token_id": 0,
|
| 7 |
+
"dropout": 0.0,
|
| 8 |
+
"eos_token_id": 2,
|
| 9 |
+
"hidden_act": "gelu",
|
| 10 |
+
"hidden_size": 1280,
|
| 11 |
+
"initializer_factor": 1.0,
|
| 12 |
+
"initializer_range": 0.02,
|
| 13 |
+
"intermediate_size": 5120,
|
| 14 |
+
"layer_norm_eps": 1e-05,
|
| 15 |
+
"max_position_embeddings": 77,
|
| 16 |
+
"model_type": "clip_text_model",
|
| 17 |
+
"num_attention_heads": 20,
|
| 18 |
+
"num_hidden_layers": 32,
|
| 19 |
+
"pad_token_id": 1,
|
| 20 |
+
"projection_dim": 1280,
|
| 21 |
+
"torch_dtype": "float16",
|
| 22 |
+
"transformers_version": "4.38.0.dev0",
|
| 23 |
+
"vocab_size": 49408
|
| 24 |
+
}
|
text_encoder_2/model.fp16.safetensors
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:9962c194f50a9c580ebe573f2a4756d76dcd29abe15bffb0a5905509eb6a8dda
|
| 3 |
+
size 1389382176
|
tokenizer/merges.txt
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
tokenizer/special_tokens_map.json
ADDED
|
@@ -0,0 +1,30 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"bos_token": {
|
| 3 |
+
"content": "<|startoftext|>",
|
| 4 |
+
"lstrip": false,
|
| 5 |
+
"normalized": true,
|
| 6 |
+
"rstrip": false,
|
| 7 |
+
"single_word": false
|
| 8 |
+
},
|
| 9 |
+
"eos_token": {
|
| 10 |
+
"content": "<|endoftext|>",
|
| 11 |
+
"lstrip": false,
|
| 12 |
+
"normalized": false,
|
| 13 |
+
"rstrip": false,
|
| 14 |
+
"single_word": false
|
| 15 |
+
},
|
| 16 |
+
"pad_token": {
|
| 17 |
+
"content": "<|endoftext|>",
|
| 18 |
+
"lstrip": false,
|
| 19 |
+
"normalized": false,
|
| 20 |
+
"rstrip": false,
|
| 21 |
+
"single_word": false
|
| 22 |
+
},
|
| 23 |
+
"unk_token": {
|
| 24 |
+
"content": "<|endoftext|>",
|
| 25 |
+
"lstrip": false,
|
| 26 |
+
"normalized": false,
|
| 27 |
+
"rstrip": false,
|
| 28 |
+
"single_word": false
|
| 29 |
+
}
|
| 30 |
+
}
|
tokenizer/tokenizer_config.json
ADDED
|
@@ -0,0 +1,30 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"add_prefix_space": false,
|
| 3 |
+
"added_tokens_decoder": {
|
| 4 |
+
"49406": {
|
| 5 |
+
"content": "<|startoftext|>",
|
| 6 |
+
"lstrip": false,
|
| 7 |
+
"normalized": true,
|
| 8 |
+
"rstrip": false,
|
| 9 |
+
"single_word": false,
|
| 10 |
+
"special": true
|
| 11 |
+
},
|
| 12 |
+
"49407": {
|
| 13 |
+
"content": "<|endoftext|>",
|
| 14 |
+
"lstrip": false,
|
| 15 |
+
"normalized": false,
|
| 16 |
+
"rstrip": false,
|
| 17 |
+
"single_word": false,
|
| 18 |
+
"special": true
|
| 19 |
+
}
|
| 20 |
+
},
|
| 21 |
+
"bos_token": "<|startoftext|>",
|
| 22 |
+
"clean_up_tokenization_spaces": true,
|
| 23 |
+
"do_lower_case": true,
|
| 24 |
+
"eos_token": "<|endoftext|>",
|
| 25 |
+
"errors": "replace",
|
| 26 |
+
"model_max_length": 77,
|
| 27 |
+
"pad_token": "<|endoftext|>",
|
| 28 |
+
"tokenizer_class": "CLIPTokenizer",
|
| 29 |
+
"unk_token": "<|endoftext|>"
|
| 30 |
+
}
|
tokenizer/vocab.json
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
tokenizer_2/merges.txt
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
tokenizer_2/special_tokens_map.json
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"bos_token": {
|
| 3 |
+
"content": "<|startoftext|>",
|
| 4 |
+
"lstrip": false,
|
| 5 |
+
"normalized": true,
|
| 6 |
+
"rstrip": false,
|
| 7 |
+
"single_word": false
|
| 8 |
+
},
|
| 9 |
+
"eos_token": {
|
| 10 |
+
"content": "<|endoftext|>",
|
| 11 |
+
"lstrip": false,
|
| 12 |
+
"normalized": false,
|
| 13 |
+
"rstrip": false,
|
| 14 |
+
"single_word": false
|
| 15 |
+
},
|
| 16 |
+
"pad_token": "!",
|
| 17 |
+
"unk_token": {
|
| 18 |
+
"content": "<|endoftext|>",
|
| 19 |
+
"lstrip": false,
|
| 20 |
+
"normalized": false,
|
| 21 |
+
"rstrip": false,
|
| 22 |
+
"single_word": false
|
| 23 |
+
}
|
| 24 |
+
}
|
tokenizer_2/tokenizer_config.json
ADDED
|
@@ -0,0 +1,38 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"add_prefix_space": false,
|
| 3 |
+
"added_tokens_decoder": {
|
| 4 |
+
"0": {
|
| 5 |
+
"content": "!",
|
| 6 |
+
"lstrip": false,
|
| 7 |
+
"normalized": false,
|
| 8 |
+
"rstrip": false,
|
| 9 |
+
"single_word": false,
|
| 10 |
+
"special": true
|
| 11 |
+
},
|
| 12 |
+
"49406": {
|
| 13 |
+
"content": "<|startoftext|>",
|
| 14 |
+
"lstrip": false,
|
| 15 |
+
"normalized": true,
|
| 16 |
+
"rstrip": false,
|
| 17 |
+
"single_word": false,
|
| 18 |
+
"special": true
|
| 19 |
+
},
|
| 20 |
+
"49407": {
|
| 21 |
+
"content": "<|endoftext|>",
|
| 22 |
+
"lstrip": false,
|
| 23 |
+
"normalized": false,
|
| 24 |
+
"rstrip": false,
|
| 25 |
+
"single_word": false,
|
| 26 |
+
"special": true
|
| 27 |
+
}
|
| 28 |
+
},
|
| 29 |
+
"bos_token": "<|startoftext|>",
|
| 30 |
+
"clean_up_tokenization_spaces": true,
|
| 31 |
+
"do_lower_case": true,
|
| 32 |
+
"eos_token": "<|endoftext|>",
|
| 33 |
+
"errors": "replace",
|
| 34 |
+
"model_max_length": 77,
|
| 35 |
+
"pad_token": "!",
|
| 36 |
+
"tokenizer_class": "CLIPTokenizer",
|
| 37 |
+
"unk_token": "<|endoftext|>"
|
| 38 |
+
}
|
tokenizer_2/vocab.json
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
unet/config.json
ADDED
|
@@ -0,0 +1,72 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"_class_name": "UNet2DConditionModel",
|
| 3 |
+
"_diffusers_version": "0.27.0.dev0",
|
| 4 |
+
"act_fn": "silu",
|
| 5 |
+
"addition_embed_type": "text_time",
|
| 6 |
+
"addition_embed_type_num_heads": 64,
|
| 7 |
+
"addition_time_embed_dim": 256,
|
| 8 |
+
"attention_head_dim": [
|
| 9 |
+
5,
|
| 10 |
+
10,
|
| 11 |
+
20
|
| 12 |
+
],
|
| 13 |
+
"attention_type": "default",
|
| 14 |
+
"block_out_channels": [
|
| 15 |
+
320,
|
| 16 |
+
640,
|
| 17 |
+
1280
|
| 18 |
+
],
|
| 19 |
+
"center_input_sample": false,
|
| 20 |
+
"class_embed_type": null,
|
| 21 |
+
"class_embeddings_concat": false,
|
| 22 |
+
"conv_in_kernel": 3,
|
| 23 |
+
"conv_out_kernel": 3,
|
| 24 |
+
"cross_attention_dim": 2048,
|
| 25 |
+
"cross_attention_norm": null,
|
| 26 |
+
"down_block_types": [
|
| 27 |
+
"DownBlock2D",
|
| 28 |
+
"CrossAttnDownBlock2D",
|
| 29 |
+
"CrossAttnDownBlock2D"
|
| 30 |
+
],
|
| 31 |
+
"downsample_padding": 1,
|
| 32 |
+
"dropout": 0.0,
|
| 33 |
+
"dual_cross_attention": false,
|
| 34 |
+
"encoder_hid_dim": null,
|
| 35 |
+
"encoder_hid_dim_type": null,
|
| 36 |
+
"flip_sin_to_cos": true,
|
| 37 |
+
"freq_shift": 0,
|
| 38 |
+
"in_channels": 4,
|
| 39 |
+
"layers_per_block": 2,
|
| 40 |
+
"mid_block_only_cross_attention": null,
|
| 41 |
+
"mid_block_scale_factor": 1,
|
| 42 |
+
"mid_block_type": "UNetMidBlock2DCrossAttn",
|
| 43 |
+
"norm_eps": 1e-05,
|
| 44 |
+
"norm_num_groups": 32,
|
| 45 |
+
"num_attention_heads": null,
|
| 46 |
+
"num_class_embeds": null,
|
| 47 |
+
"only_cross_attention": false,
|
| 48 |
+
"out_channels": 4,
|
| 49 |
+
"projection_class_embeddings_input_dim": 2816,
|
| 50 |
+
"resnet_out_scale_factor": 1.0,
|
| 51 |
+
"resnet_skip_time_act": false,
|
| 52 |
+
"resnet_time_scale_shift": "default",
|
| 53 |
+
"reverse_transformer_layers_per_block": null,
|
| 54 |
+
"sample_size": 128,
|
| 55 |
+
"time_cond_proj_dim": null,
|
| 56 |
+
"time_embedding_act_fn": null,
|
| 57 |
+
"time_embedding_dim": null,
|
| 58 |
+
"time_embedding_type": "positional",
|
| 59 |
+
"timestep_post_act": null,
|
| 60 |
+
"transformer_layers_per_block": [
|
| 61 |
+
1,
|
| 62 |
+
2,
|
| 63 |
+
10
|
| 64 |
+
],
|
| 65 |
+
"up_block_types": [
|
| 66 |
+
"CrossAttnUpBlock2D",
|
| 67 |
+
"CrossAttnUpBlock2D",
|
| 68 |
+
"UpBlock2D"
|
| 69 |
+
],
|
| 70 |
+
"upcast_attention": false,
|
| 71 |
+
"use_linear_projection": true
|
| 72 |
+
}
|
unet/diffusion_pytorch_model.fp16.safetensors
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:cf1ee18eb36712683f50c1e674634875e2adf7413d7492d5f9aa7e69e1a8c17a
|
| 3 |
+
size 5135149760
|
vae/config.json
ADDED
|
@@ -0,0 +1,31 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"_class_name": "AutoencoderKL",
|
| 3 |
+
"_diffusers_version": "0.27.0.dev0",
|
| 4 |
+
"act_fn": "silu",
|
| 5 |
+
"block_out_channels": [
|
| 6 |
+
128,
|
| 7 |
+
256,
|
| 8 |
+
512,
|
| 9 |
+
512
|
| 10 |
+
],
|
| 11 |
+
"down_block_types": [
|
| 12 |
+
"DownEncoderBlock2D",
|
| 13 |
+
"DownEncoderBlock2D",
|
| 14 |
+
"DownEncoderBlock2D",
|
| 15 |
+
"DownEncoderBlock2D"
|
| 16 |
+
],
|
| 17 |
+
"force_upcast": true,
|
| 18 |
+
"in_channels": 3,
|
| 19 |
+
"latent_channels": 4,
|
| 20 |
+
"layers_per_block": 2,
|
| 21 |
+
"norm_num_groups": 32,
|
| 22 |
+
"out_channels": 3,
|
| 23 |
+
"sample_size": 1024,
|
| 24 |
+
"scaling_factor": 0.13025,
|
| 25 |
+
"up_block_types": [
|
| 26 |
+
"UpDecoderBlock2D",
|
| 27 |
+
"UpDecoderBlock2D",
|
| 28 |
+
"UpDecoderBlock2D",
|
| 29 |
+
"UpDecoderBlock2D"
|
| 30 |
+
]
|
| 31 |
+
}
|
vae/diffusion_pytorch_model.fp16.safetensors
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:6353737672c94b96174cb590f711eac6edf2fcce5b6e91aa9d73c5adc589ee48
|
| 3 |
+
size 167335342
|