Skip to content

Conversation

@akleine
Copy link
Contributor

@akleine akleine commented Jan 7, 2026

Once I wrote "three TinySD models should be enough" ( #939 ), but I changed my mind on user's request in December 2025 ( #603 ) and because SDXS-512 is so incredible fast. (That makes SDXS very handy for my sdcpp-on-android project.)

The main challenge for me was that SDXS does not use AutoEncoderKL as primary VAE (as most else) but AutoEncoderTiny, see also https://huggingface.co/IDKiro/sdxs-512-dreamshaper . I also hope that including SDXS into sd.cpp will convince @IDKiro to release into the public his SDXS-1024 one day.

Comment on lines 119 to 120
std::shared_ptr<TinyAutoEncoder> first_stage_model_tiny = nullptr;
std::shared_ptr<TinyAutoEncoder> tae_first_stage;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why not just use tae_first_stage ?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Also even though it's recommended to use with TAESD by default, it should work just fine with sd1.x KL-F8 VAE, just slower.

@akleine
Copy link
Contributor Author

akleine commented Jan 8, 2026

@stduhpf wrote:

Also even though it's recommended to use with TAESD by default, it should work just fine with sd1.x KL-F8 VAE, just slower.

Yes, but one needs additional options, it is slower and the output is not in the same quality as intended by IDkiro.
BTW, in the second commit I have included this example using --taesd :

~/stable-diffusion.cpp/build/bin/sd-cli -m sdxs  -p "portrait of a lovely cat" \
  --cfg-scale 1 --steps 1  --taesd  sdxs/vae/diffusion_pytorch_model.safetensors

I simply like the idea of using the provided models just "out of the box" without more mandatory options than really needed. That was the reason to continue after the second commit (i.e. the U-Net part).

Anyway, a big THANK YOU for code your revision.
And you are right, better use only one variable here, making all very short and clear now.
So the patch code size just melted down like ice in the sunshine ...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants