ChrisColeTech commited on
Commit
c096fd0
Β·
verified Β·
1 Parent(s): f962225

card: document img2img, with a per-checkpoint comparison at strength 0.75

Browse files
Files changed (1) hide show
  1. README.md +29 -0
README.md CHANGED
@@ -3,6 +3,7 @@ license: unknown
3
  pipeline_tag: text-to-image
4
  tags:
5
  - text-to-image
 
6
  - stable-diffusion-xl
7
  - sdxl
8
  - checkpoint
@@ -63,6 +64,34 @@ Values this build is run with in practice. They are read out of a live config wh
63
 
64
  ---
65
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
66
  ## Layout
67
 
68
  Each `.safetensors` under `combined/` is a complete SDXL checkpoint β€” unet, both text encoders and the VAE in one file β€” so any standard SDXL loader can take it directly. The shared CLIP-L and OpenCLIP-G tokenizers live under `config/tokenizer/` and `config/tokenizer_2/`. There is no per-component split here.
 
3
  pipeline_tag: text-to-image
4
  tags:
5
  - text-to-image
6
+ - image-to-image
7
  - stable-diffusion-xl
8
  - sdxl
9
  - checkpoint
 
64
 
65
  ---
66
 
67
+ ## img2img
68
+
69
+ Both checkpoints do `img2img` as well as `txt2img`. The same source image, the same prompt, the same seed β€” run through each checkpoint at the production `strength` of **0.75**.
70
+
71
+ <table>
72
+ <tr>
73
+ <td align="center"><img src="https://huggingface.co/ChrisColeTech/sdxl/resolve/main/samples/img2img-source.png" width="250" alt="source image"><br><sub><b>source</b></sub></td>
74
+ <td align="center"><img src="https://huggingface.co/ChrisColeTech/sdxl/resolve/main/samples/img2img-juggernaut.png" width="250" alt="Juggernaut XL v9 img2img at strength 0.75"><br><sub><b>Juggernaut XL v9</b></sub></td>
75
+ <td align="center"><img src="https://huggingface.co/ChrisColeTech/sdxl/resolve/main/samples/img2img-illustrious.png" width="250" alt="Illustrious Anime v4 img2img at strength 0.75"><br><sub><b>Illustrious Anime v4</b></sub></td>
76
+ </tr>
77
+ </table>
78
+
79
+ **Source** β€” `a red apple on a rustic wooden table beside a window, soft daylight, visible wood grain, studio photograph, sharp focus`. Generated separately, 1024Γ—1024, seed 7.
80
+
81
+ **img2img prompt** β€” `the same scene rendered as a vivid oil painting, thick visible brushstrokes, rich saturated colour, painterly texture`, at 1024Γ—1024, **30 steps**, **strength 0.75**, seed 7. Roughly 170 s per image on an A100 80GB.
82
+
83
+ ### What the two checkpoints do differently
84
+
85
+ This pair is the reason both are in this repo, and it is worth reading before you pick one.
86
+
87
+ - **Juggernaut XL v9 keeps the subject.** The apple stays the apple β€” same object, same central composition, same scale β€” and the paint treatment is applied over it. The setting drifts (the window and table became a shoreline), which is expected: at `strength 0.75` only a quarter of the source survives the denoise, and a photographic checkpoint spends that budget on the subject.
88
+ - **Illustrious Anime v4 does not.** At the same strength the apple becomes a different object entirely β€” a red lidded jar. That is not a fault to fix with settings; it is an anime checkpoint being handed a photographic source and a painting prompt, which is off-domain in both directions, so it re-imagines rather than restyles.
89
+
90
+ **Practical rule:** for img2img over photographs, use Juggernaut. Use Illustrious for img2img only when the source is already illustration, or lower `strength` to ~0.3–0.4 so more of the source survives to anchor it.
91
+
92
+ **On `strength`:** it is the fraction of the image the sampler is free to rewrite, so it trades style against fidelity directly. Below ~0.3 you get little more than a gloss pass; above ~0.8 the source is a loose suggestion and the composition may not survive. 0.75 is the production value and is chosen for restyling, not for subtle edits.
93
+ ---
94
+
95
  ## Layout
96
 
97
  Each `.safetensors` under `combined/` is a complete SDXL checkpoint β€” unet, both text encoders and the VAE in one file β€” so any standard SDXL loader can take it directly. The shared CLIP-L and OpenCLIP-G tokenizers live under `config/tokenizer/` and `config/tokenizer_2/`. There is no per-component split here.