import{s as G,o as N,n as O}from"../chunks/scheduler.182ea377.js";import{S as F,i as J,g as p,s as u,r as X,A as K,h as c,f as a,c as m,j as U,u as H,x as T,k as W,y as Q,a as i,v as A,d as C,t as k,w as z}from"../chunks/index.abf12888.js";import{T as V}from"../chunks/Tip.230e2334.js";import{H as B}from"../chunks/Heading.16916d63.js";function Y(v){let s,d='To learn how to use SDXL Turbo for various tasks, how to optimize performance, and other usage examples, take a look at the <a href="../../../using-diffusers/sdxl_turbo">SDXL Turbo</a> guide.',r,l,f='Check out the <a href="https://huggingface.co/stabilityai" rel="nofollow">Stability AI</a> Hub organization for the official base and refiner model checkpoints!';return{c(){s=p("p"),s.innerHTML=d,r=u(),l=p("p"),l.innerHTML=f},l(n){s=c(n,"P",{"data-svelte-h":!0}),T(s)!=="svelte-neqfre"&&(s.innerHTML=d),r=m(n),l=c(n,"P",{"data-svelte-h":!0}),T(l)!=="svelte-1n0z285"&&(l.innerHTML=f)},m(n,o){i(n,s,o),i(n,r,o),i(n,l,o)},p:O,d(n){n&&(a(s),a(r),a(l))}}}function Z(v){let s,d,r,l,f,n,o,q='Stable Diffusion XL (SDXL) Turbo was proposed in <a href="https://stability.ai/research/adversarial-diffusion-distillation" rel="nofollow">Adversarial Diffusion Distillation</a> by Axel Sauer, Dominik Lorenz, Andreas Blattmann, and Robin Rombach.',w,g,E="The abstract from the paper is:",x,b,j="<em>We introduce Adversarial Diffusion Distillation (ADD), a novel training approach that efficiently samples large-scale foundational image diffusion models in just 1–4 steps while maintaining high image quality. We use score distillation to leverage large-scale off-the-shelf image diffusion models as a teacher signal in combination with an adversarial loss to ensure high image fidelity even in the low-step regime of one or two sampling steps. Our analyses show that our model clearly outperforms existing few-step methods (GANs,Latent Consistency Models) in a single step and reaches the performance of state-of-the-art diffusion models (SDXL) in only four steps. ADD is the first method to unlock single-step, real-time image synthesis with foundation models.</em>",D,$,y,_,I='<li>SDXL Turbo uses the exact same architecture as <a href="./stable_diffusion_xl">SDXL</a>, which means it also has the same API. Please refer to the <a href="./stable_diffusion_xl">SDXL</a> API reference for more details.</li> <li>SDXL Turbo should disable guidance scale by setting <code>guidance_scale=0.0</code>.</li> <li>SDXL Turbo should use <code>timestep_spacing=&#39;trailing&#39;</code> for the scheduler and use between 1 and 4 steps.</li> <li>SDXL Turbo has been trained to generate images of size 512x512.</li> <li>SDXL Turbo is open-access, but not open-source meaning that one might have to buy a model license in order to use it for commercial applications. Make sure to read the <a href="https://huggingface.co/stabilityai/sdxl-turbo" rel="nofollow">official model card</a> to learn more.</li>',S,h,M,L,P;return f=new B({props:{title:"SDXL Turbo",local:"sdxl-turbo",headingTag:"h1"}}),$=new B({props:{title:"Tips",local:"tips",headingTag:"h2"}}),h=new V({props:{$$slots:{default:[Y]},$$scope:{ctx:v}}}),{c(){s=p("meta"),d=u(),r=p("p"),l=u(),X(f.$$.fragment),n=u(),o=p("p"),o.innerHTML=q,w=u(),g=p("p"),g.textContent=E,x=u(),b=p("p"),b.innerHTML=j,D=u(),X($.$$.fragment),y=u(),_=p("ul"),_.innerHTML=I,S=u(),X(h.$$.fragment),M=u(),L=p("p"),this.h()},l(e){const t=K("svelte-u9bgzb",document.head);s=c(t,"META",{name:!0,content:!0}),t.forEach(a),d=m(e),r=c(e,"P",{}),U(r).forEach(a),l=m(e),H(f.$$.fragment,e),n=m(e),o=c(e,"P",{"data-svelte-h":!0}),T(o)!=="svelte-1lov3q2"&&(o.innerHTML=q),w=m(e),g=c(e,"P",{"data-svelte-h":!0}),T(g)!=="svelte-1cwsb16"&&(g.textContent=E),x=m(e),b=c(e,"P",{"data-svelte-h":!0}),T(b)!=="svelte-g4uhaw"&&(b.innerHTML=j),D=m(e),H($.$$.fragment,e),y=m(e),_=c(e,"UL",{"data-svelte-h":!0}),T(_)!=="svelte-1s9reyj"&&(_.innerHTML=I),S=m(e),H(h.$$.fragment,e),M=m(e),L=c(e,"P",{}),U(L).forEach(a),this.h()},h(){W(s,"name","hf:doc:metadata"),W(s,"content",ee)},m(e,t){Q(document.head,s),i(e,d,t),i(e,r,t),i(e,l,t),A(f,e,t),i(e,n,t),i(e,o,t),i(e,w,t),i(e,g,t),i(e,x,t),i(e,b,t),i(e,D,t),A($,e,t),i(e,y,t),i(e,_,t),i(e,S,t),A(h,e,t),i(e,M,t),i(e,L,t),P=!0},p(e,[t]){const R={};t&2&&(R.$$scope={dirty:t,ctx:e}),h.$set(R)},i(e){P||(C(f.$$.fragment,e),C($.$$.fragment,e),C(h.$$.fragment,e),P=!0)},o(e){k(f.$$.fragment,e),k($.$$.fragment,e),k(h.$$.fragment,e),P=!1},d(e){e&&(a(d),a(r),a(l),a(n),a(o),a(w),a(g),a(x),a(b),a(D),a(y),a(_),a(S),a(M),a(L)),a(s),z(f,e),z($,e),z(h,e)}}}const ee='{"title":"SDXL Turbo","local":"sdxl-turbo","sections":[{"title":"Tips","local":"tips","sections":[],"depth":2}],"depth":1}';function te(v){return N(()=>{new URLSearchParams(window.location.search).get("fw")}),[]}class le extends F{constructor(s){super(),J(this,s,te,Z,G,{})}}export{le as component};
