import{s as Te,o as Me,n as ye}from"../chunks/scheduler.8c3d61f6.js";import{S as Je,i as xe,g as p,s as r,r as w,A as Fe,h as d,f as n,c as s,j as R,u as b,x as F,k as V,y as f,a,v as y,d as v,t as T,w as M}from"../chunks/index.da70eac4.js";import{T as $e}from"../chunks/Tip.1d9b8c37.js";import{D as me}from"../chunks/Docstring.6b390b9a.js";import{C as ve}from"../chunks/CodeBlock.00a903b3.js";import{E as Ue}from"../chunks/ExampleCodeBlock.db12be95.js";import{H as ce,E as Ae}from"../chunks/EditOnGithub.1e64e623.js";function Ie(Q){let o,J='AuraFlow can be quite expensive to run on consumer hardware devices. However, you can perform a suite of optimizations to run it faster and in a more memory-friendly manner. Check out <a href="https://huggingface.co/blog/sd3#memory-optimizations-for-sd3" rel="nofollow">this section</a> for more details.';return{c(){o=p("p"),o.innerHTML=J},l(l){o=d(l,"P",{"data-svelte-h":!0}),F(o)!=="svelte-q1wg22"&&(o.innerHTML=J)},m(l,m){a(l,o,m)},p:ye,d(l){l&&n(o)}}}function ke(Q){let o,J="Examples:",l,m,c;return m=new ve({props:{code:"aW1wb3J0JTIwdG9yY2glMEFmcm9tJTIwZGlmZnVzZXJzJTIwaW1wb3J0JTIwQXVyYUZsb3dQaXBlbGluZSUwQSUwQXBpcGUlMjAlM0QlMjBBdXJhRmxvd1BpcGVsaW5lLmZyb21fcHJldHJhaW5lZCglMjJmYWwlMkZBdXJhRmxvdyUyMiUyQyUyMHRvcmNoX2R0eXBlJTNEdG9yY2guZmxvYXQxNiklMEFwaXBlJTIwJTNEJTIwcGlwZS50byglMjJjdWRhJTIyKSUwQXByb21wdCUyMCUzRCUyMCUyMkElMjBjYXQlMjBob2xkaW5nJTIwYSUyMHNpZ24lMjB0aGF0JTIwc2F5cyUyMGhlbGxvJTIwd29ybGQlMjIlMEFpbWFnZSUyMCUzRCUyMHBpcGUocHJvbXB0KS5pbWFnZXMlNUIwJTVEJTBBaW1hZ2Uuc2F2ZSglMjJhdXJhX2Zsb3cucG5nJTIyKQ==",highlighted:`<span class="hljs-meta">&gt;&gt;&gt; </span><span class="hljs-keyword">import</span> torch
<span class="hljs-meta">&gt;&gt;&gt; </span><span class="hljs-keyword">from</span> diffusers <span class="hljs-keyword">import</span> AuraFlowPipeline

<span class="hljs-meta">&gt;&gt;&gt; </span>pipe = AuraFlowPipeline.from_pretrained(<span class="hljs-string">&quot;fal/AuraFlow&quot;</span>, torch_dtype=torch.float16)
<span class="hljs-meta">&gt;&gt;&gt; </span>pipe = pipe.to(<span class="hljs-string">&quot;cuda&quot;</span>)
<span class="hljs-meta">&gt;&gt;&gt; </span>prompt = <span class="hljs-string">&quot;A cat holding a sign that says hello world&quot;</span>
<span class="hljs-meta">&gt;&gt;&gt; </span>image = pipe(prompt).images[<span class="hljs-number">0</span>]
<span class="hljs-meta">&gt;&gt;&gt; </span>image.save(<span class="hljs-string">&quot;aura_flow.png&quot;</span>)`,wrap:!1}}),{c(){o=p("p"),o.textContent=J,l=r(),w(m.$$.fragment)},l(i){o=d(i,"P",{"data-svelte-h":!0}),F(o)!=="svelte-kvfsh7"&&(o.textContent=J),l=s(i),b(m.$$.fragment,i)},m(i,g){a(i,o,g),a(i,l,g),y(m,i,g),c=!0},p:ye,i(i){c||(v(m.$$.fragment,i),c=!0)},o(i){T(m.$$.fragment,i),c=!1},d(i){i&&(n(o),n(l)),M(m,i)}}}function Ze(Q){let o,J,l,m,c,i,g,ue='AuraFlow is inspired by <a href="../pipelines/stable_diffusion/stable_diffusion_3">Stable Diffusion 3</a> and is by far the largest text-to-image generation model that comes with an Apache 2.0 license. This model achieves state-of-the-art results on the <a href="https://github.com/djghosh13/geneval" rel="nofollow">GenEval</a> benchmark.',Y,I,fe='It was developed by the Fal team and more details about it can be found in <a href="https://blog.fal.ai/auraflow/" rel="nofollow">this blog post</a>.',H,$,L,k,S,Z,ge="Quantization helps reduce the memory requirements of very large models by storing model weights in a lower precision data type. However, quantization may have varying impact on video quality depending on the video model.",D,C,_e='Refer to the <a href="../../quantization/overview">Quantization</a> overview to learn more about supported quantization backends and selecting a quantization backend that supports your use case. The example below demonstrates how to load a quantized <a href="/docs/diffusers/main/en/api/pipelines/aura_flow#diffusers.AuraFlowPipeline">AuraFlowPipeline</a> for inference with bitsandbytes.',O,P,K,j,ee,_,X,re,u,E,se,N,he="Function invoked when calling the pipeline for generation.",ie,U,le,q,we=`Returns: <a href="/docs/diffusers/main/en/api/pipelines/latent_diffusion#diffusers.ImagePipelineOutput">ImagePipelineOutput</a> or <code>tuple</code>:
If <code>return_dict</code> is <code>True</code>, <a href="/docs/diffusers/main/en/api/pipelines/latent_diffusion#diffusers.ImagePipelineOutput">ImagePipelineOutput</a> is returned, otherwise a <code>tuple</code> is returned
where the first element is a list with the generated images.`,pe,A,B,de,z,be="Encodes the prompt into text encoder hidden states.",te,G,ne,W,oe;return c=new ce({props:{title:"AuraFlow",local:"auraflow",headingTag:"h1"}}),$=new $e({props:{$$slots:{default:[Ie]},$$scope:{ctx:Q}}}),k=new ce({props:{title:"Quantization",local:"quantization",headingTag:"h2"}}),P=new ve({props:{code:"aW1wb3J0JTIwdG9yY2glMEFmcm9tJTIwZGlmZnVzZXJzJTIwaW1wb3J0JTIwQml0c0FuZEJ5dGVzQ29uZmlnJTIwYXMlMjBEaWZmdXNlcnNCaXRzQW5kQnl0ZXNDb25maWclMkMlMjBBdXJhRmxvd1RyYW5zZm9ybWVyMkRNb2RlbCUyQyUyMEF1cmFGbG93UGlwZWxpbmUlMEFmcm9tJTIwdHJhbnNmb3JtZXJzJTIwaW1wb3J0JTIwQml0c0FuZEJ5dGVzQ29uZmlnJTIwYXMlMjBCaXRzQW5kQnl0ZXNDb25maWclMkMlMjBUNUVuY29kZXJNb2RlbCUwQSUwQXF1YW50X2NvbmZpZyUyMCUzRCUyMEJpdHNBbmRCeXRlc0NvbmZpZyhsb2FkX2luXzhiaXQlM0RUcnVlKSUwQXRleHRfZW5jb2Rlcl84Yml0JTIwJTNEJTIwVDVFbmNvZGVyTW9kZWwuZnJvbV9wcmV0cmFpbmVkKCUwQSUyMCUyMCUyMCUyMCUyMmZhbCUyRkF1cmFGbG93JTIyJTJDJTBBJTIwJTIwJTIwJTIwc3ViZm9sZGVyJTNEJTIydGV4dF9lbmNvZGVyJTIyJTJDJTBBJTIwJTIwJTIwJTIwcXVhbnRpemF0aW9uX2NvbmZpZyUzRHF1YW50X2NvbmZpZyUyQyUwQSUyMCUyMCUyMCUyMHRvcmNoX2R0eXBlJTNEdG9yY2guZmxvYXQxNiUyQyUwQSklMEElMEFxdWFudF9jb25maWclMjAlM0QlMjBEaWZmdXNlcnNCaXRzQW5kQnl0ZXNDb25maWcobG9hZF9pbl84Yml0JTNEVHJ1ZSklMEF0cmFuc2Zvcm1lcl84Yml0JTIwJTNEJTIwQXVyYUZsb3dUcmFuc2Zvcm1lcjJETW9kZWwuZnJvbV9wcmV0cmFpbmVkKCUwQSUyMCUyMCUyMCUyMCUyMmZhbCUyRkF1cmFGbG93JTIyJTJDJTBBJTIwJTIwJTIwJTIwc3ViZm9sZGVyJTNEJTIydHJhbnNmb3JtZXIlMjIlMkMlMEElMjAlMjAlMjAlMjBxdWFudGl6YXRpb25fY29uZmlnJTNEcXVhbnRfY29uZmlnJTJDJTBBJTIwJTIwJTIwJTIwdG9yY2hfZHR5cGUlM0R0b3JjaC5mbG9hdDE2JTJDJTBBKSUwQSUwQXBpcGVsaW5lJTIwJTNEJTIwQXVyYUZsb3dQaXBlbGluZS5mcm9tX3ByZXRyYWluZWQoJTBBJTIwJTIwJTIwJTIwJTIyZmFsJTJGQXVyYUZsb3clMjIlMkMlMEElMjAlMjAlMjAlMjB0ZXh0X2VuY29kZXIlM0R0ZXh0X2VuY29kZXJfOGJpdCUyQyUwQSUyMCUyMCUyMCUyMHRyYW5zZm9ybWVyJTNEdHJhbnNmb3JtZXJfOGJpdCUyQyUwQSUyMCUyMCUyMCUyMHRvcmNoX2R0eXBlJTNEdG9yY2guZmxvYXQxNiUyQyUwQSUyMCUyMCUyMCUyMGRldmljZV9tYXAlM0QlMjJiYWxhbmNlZCUyMiUyQyUwQSklMEElMEFwcm9tcHQlMjAlM0QlMjAlMjJhJTIwdGlueSUyMGFzdHJvbmF1dCUyMGhhdGNoaW5nJTIwZnJvbSUyMGFuJTIwZWdnJTIwb24lMjB0aGUlMjBtb29uJTIyJTBBaW1hZ2UlMjAlM0QlMjBwaXBlbGluZShwcm9tcHQpLmltYWdlcyU1QjAlNUQlMEFpbWFnZS5zYXZlKCUyMmF1cmFmbG93LnBuZyUyMik=",highlighted:`<span class="hljs-keyword">import</span> torch
<span class="hljs-keyword">from</span> diffusers <span class="hljs-keyword">import</span> BitsAndBytesConfig <span class="hljs-keyword">as</span> DiffusersBitsAndBytesConfig, AuraFlowTransformer2DModel, AuraFlowPipeline
<span class="hljs-keyword">from</span> transformers <span class="hljs-keyword">import</span> BitsAndBytesConfig <span class="hljs-keyword">as</span> BitsAndBytesConfig, T5EncoderModel

quant_config = BitsAndBytesConfig(load_in_8bit=<span class="hljs-literal">True</span>)
text_encoder_8bit = T5EncoderModel.from_pretrained(
    <span class="hljs-string">&quot;fal/AuraFlow&quot;</span>,
    subfolder=<span class="hljs-string">&quot;text_encoder&quot;</span>,
    quantization_config=quant_config,
    torch_dtype=torch.float16,
)

quant_config = DiffusersBitsAndBytesConfig(load_in_8bit=<span class="hljs-literal">True</span>)
transformer_8bit = AuraFlowTransformer2DModel.from_pretrained(
    <span class="hljs-string">&quot;fal/AuraFlow&quot;</span>,
    subfolder=<span class="hljs-string">&quot;transformer&quot;</span>,
    quantization_config=quant_config,
    torch_dtype=torch.float16,
)

pipeline = AuraFlowPipeline.from_pretrained(
    <span class="hljs-string">&quot;fal/AuraFlow&quot;</span>,
    text_encoder=text_encoder_8bit,
    transformer=transformer_8bit,
    torch_dtype=torch.float16,
    device_map=<span class="hljs-string">&quot;balanced&quot;</span>,
)

prompt = <span class="hljs-string">&quot;a tiny astronaut hatching from an egg on the moon&quot;</span>
image = pipeline(prompt).images[<span class="hljs-number">0</span>]
image.save(<span class="hljs-string">&quot;auraflow.png&quot;</span>)`,wrap:!1}}),j=new ce({props:{title:"AuraFlowPipeline",local:"diffusers.AuraFlowPipeline",headingTag:"h2"}}),X=new me({props:{name:"class diffusers.AuraFlowPipeline",anchor:"diffusers.AuraFlowPipeline",parameters:[{name:"tokenizer",val:": T5Tokenizer"},{name:"text_encoder",val:": UMT5EncoderModel"},{name:"vae",val:": AutoencoderKL"},{name:"transformer",val:": AuraFlowTransformer2DModel"},{name:"scheduler",val:": FlowMatchEulerDiscreteScheduler"}],parametersDescription:[{anchor:"diffusers.AuraFlowPipeline.tokenizer",description:`<strong>tokenizer</strong> (<code>T5TokenizerFast</code>) &#x2014;
Tokenizer of class
<a href="https://huggingface.co/docs/transformers/model_doc/t5#transformers.T5Tokenizer" rel="nofollow">T5Tokenizer</a>.`,name:"tokenizer"},{anchor:"diffusers.AuraFlowPipeline.text_encoder",description:`<strong>text_encoder</strong> (<code>T5EncoderModel</code>) &#x2014;
Frozen text-encoder. AuraFlow uses
<a href="https://huggingface.co/docs/transformers/model_doc/t5#transformers.T5EncoderModel" rel="nofollow">T5</a>, specifically the
<a href="https://huggingface.co/EleutherAI/pile-t5-xl" rel="nofollow">EleutherAI/pile-t5-xl</a> variant.`,name:"text_encoder"},{anchor:"diffusers.AuraFlowPipeline.vae",description:`<strong>vae</strong> (<a href="/docs/diffusers/main/en/api/models/autoencoderkl#diffusers.AutoencoderKL">AutoencoderKL</a>) &#x2014;
Variational Auto-Encoder (VAE) Model to encode and decode images to and from latent representations.`,name:"vae"},{anchor:"diffusers.AuraFlowPipeline.transformer",description:`<strong>transformer</strong> (<a href="/docs/diffusers/main/en/api/models/aura_flow_transformer2d#diffusers.AuraFlowTransformer2DModel">AuraFlowTransformer2DModel</a>) &#x2014;
Conditional Transformer (MMDiT and DiT) architecture to denoise the encoded image latents.`,name:"transformer"},{anchor:"diffusers.AuraFlowPipeline.scheduler",description:`<strong>scheduler</strong> (<a href="/docs/diffusers/main/en/api/schedulers/flow_match_euler_discrete#diffusers.FlowMatchEulerDiscreteScheduler">FlowMatchEulerDiscreteScheduler</a>) &#x2014;
A scheduler to be used in combination with <code>transformer</code> to denoise the encoded image latents.`,name:"scheduler"}],source:"https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/aura_flow/pipeline_aura_flow.py#L114"}}),E=new me({props:{name:"__call__",anchor:"diffusers.AuraFlowPipeline.__call__",parameters:[{name:"prompt",val:": typing.Union[str, typing.List[str]] = None"},{name:"negative_prompt",val:": typing.Union[str, typing.List[str]] = None"},{name:"num_inference_steps",val:": int = 50"},{name:"sigmas",val:": typing.List[float] = None"},{name:"guidance_scale",val:": float = 3.5"},{name:"num_images_per_prompt",val:": typing.Optional[int] = 1"},{name:"height",val:": typing.Optional[int] = 1024"},{name:"width",val:": typing.Optional[int] = 1024"},{name:"generator",val:": typing.Union[torch._C.Generator, typing.List[torch._C.Generator], NoneType] = None"},{name:"latents",val:": typing.Optional[torch.Tensor] = None"},{name:"prompt_embeds",val:": typing.Optional[torch.Tensor] = None"},{name:"prompt_attention_mask",val:": typing.Optional[torch.Tensor] = None"},{name:"negative_prompt_embeds",val:": typing.Optional[torch.Tensor] = None"},{name:"negative_prompt_attention_mask",val:": typing.Optional[torch.Tensor] = None"},{name:"max_sequence_length",val:": int = 256"},{name:"output_type",val:": typing.Optional[str] = 'pil'"},{name:"return_dict",val:": bool = True"}],parametersDescription:[{anchor:"diffusers.AuraFlowPipeline.__call__.prompt",description:`<strong>prompt</strong> (<code>str</code> or <code>List[str]</code>, <em>optional</em>) &#x2014;
The prompt or prompts to guide the image generation. If not defined, one has to pass <code>prompt_embeds</code>.
instead.`,name:"prompt"},{anchor:"diffusers.AuraFlowPipeline.__call__.negative_prompt",description:`<strong>negative_prompt</strong> (<code>str</code> or <code>List[str]</code>, <em>optional</em>) &#x2014;
The prompt or prompts not to guide the image generation. If not defined, one has to pass
<code>negative_prompt_embeds</code> instead. Ignored when not using guidance (i.e., ignored if <code>guidance_scale</code> is
less than <code>1</code>).`,name:"negative_prompt"},{anchor:"diffusers.AuraFlowPipeline.__call__.height",description:`<strong>height</strong> (<code>int</code>, <em>optional</em>, defaults to self.transformer.config.sample_size * self.vae_scale_factor) &#x2014;
The height in pixels of the generated image. This is set to 1024 by default for best results.`,name:"height"},{anchor:"diffusers.AuraFlowPipeline.__call__.width",description:`<strong>width</strong> (<code>int</code>, <em>optional</em>, defaults to self.transformer.config.sample_size * self.vae_scale_factor) &#x2014;
The width in pixels of the generated image. This is set to 1024 by default for best results.`,name:"width"},{anchor:"diffusers.AuraFlowPipeline.__call__.num_inference_steps",description:`<strong>num_inference_steps</strong> (<code>int</code>, <em>optional</em>, defaults to 50) &#x2014;
The number of denoising steps. More denoising steps usually lead to a higher quality image at the
expense of slower inference.`,name:"num_inference_steps"},{anchor:"diffusers.AuraFlowPipeline.__call__.sigmas",description:`<strong>sigmas</strong> (<code>List[float]</code>, <em>optional</em>) &#x2014;
Custom sigmas used to override the timestep spacing strategy of the scheduler. If <code>sigmas</code> is passed,
<code>num_inference_steps</code> and <code>timesteps</code> must be <code>None</code>.`,name:"sigmas"},{anchor:"diffusers.AuraFlowPipeline.__call__.guidance_scale",description:`<strong>guidance_scale</strong> (<code>float</code>, <em>optional</em>, defaults to 5.0) &#x2014;
Guidance scale as defined in <a href="https://arxiv.org/abs/2207.12598" rel="nofollow">Classifier-Free Diffusion Guidance</a>.
<code>guidance_scale</code> is defined as <code>w</code> of equation 2. of <a href="https://arxiv.org/pdf/2205.11487.pdf" rel="nofollow">Imagen
Paper</a>. Guidance scale is enabled by setting <code>guidance_scale &gt; 1</code>. Higher guidance scale encourages to generate images that are closely linked to the text <code>prompt</code>,
usually at the expense of lower image quality.`,name:"guidance_scale"},{anchor:"diffusers.AuraFlowPipeline.__call__.num_images_per_prompt",description:`<strong>num_images_per_prompt</strong> (<code>int</code>, <em>optional</em>, defaults to 1) &#x2014;
The number of images to generate per prompt.`,name:"num_images_per_prompt"},{anchor:"diffusers.AuraFlowPipeline.__call__.generator",description:`<strong>generator</strong> (<code>torch.Generator</code> or <code>List[torch.Generator]</code>, <em>optional</em>) &#x2014;
One or a list of <a href="https://pytorch.org/docs/stable/generated/torch.Generator.html" rel="nofollow">torch generator(s)</a>
to make generation deterministic.`,name:"generator"},{anchor:"diffusers.AuraFlowPipeline.__call__.latents",description:`<strong>latents</strong> (<code>torch.FloatTensor</code>, <em>optional</em>) &#x2014;
Pre-generated noisy latents, sampled from a Gaussian distribution, to be used as inputs for image
generation. Can be used to tweak the same generation with different prompts. If not provided, a latents
tensor will ge generated by sampling using the supplied random <code>generator</code>.`,name:"latents"},{anchor:"diffusers.AuraFlowPipeline.__call__.prompt_embeds",description:`<strong>prompt_embeds</strong> (<code>torch.FloatTensor</code>, <em>optional</em>) &#x2014;
Pre-generated text embeddings. Can be used to easily tweak text inputs, <em>e.g.</em> prompt weighting. If not
provided, text embeddings will be generated from <code>prompt</code> input argument.`,name:"prompt_embeds"},{anchor:"diffusers.AuraFlowPipeline.__call__.prompt_attention_mask",description:`<strong>prompt_attention_mask</strong> (<code>torch.Tensor</code>, <em>optional</em>) &#x2014;
Pre-generated attention mask for text embeddings.`,name:"prompt_attention_mask"},{anchor:"diffusers.AuraFlowPipeline.__call__.negative_prompt_embeds",description:`<strong>negative_prompt_embeds</strong> (<code>torch.FloatTensor</code>, <em>optional</em>) &#x2014;
Pre-generated negative text embeddings. Can be used to easily tweak text inputs, <em>e.g.</em> prompt
weighting. If not provided, negative_prompt_embeds will be generated from <code>negative_prompt</code> input
argument.`,name:"negative_prompt_embeds"},{anchor:"diffusers.AuraFlowPipeline.__call__.negative_prompt_attention_mask",description:`<strong>negative_prompt_attention_mask</strong> (<code>torch.Tensor</code>, <em>optional</em>) &#x2014;
Pre-generated attention mask for negative text embeddings.`,name:"negative_prompt_attention_mask"},{anchor:"diffusers.AuraFlowPipeline.__call__.output_type",description:`<strong>output_type</strong> (<code>str</code>, <em>optional</em>, defaults to <code>&quot;pil&quot;</code>) &#x2014;
The output format of the generate image. Choose between
<a href="https://pillow.readthedocs.io/en/stable/" rel="nofollow">PIL</a>: <code>PIL.Image.Image</code> or <code>np.array</code>.`,name:"output_type"},{anchor:"diffusers.AuraFlowPipeline.__call__.return_dict",description:`<strong>return_dict</strong> (<code>bool</code>, <em>optional</em>, defaults to <code>True</code>) &#x2014;
Whether or not to return a <code>~pipelines.stable_diffusion_xl.StableDiffusionXLPipelineOutput</code> instead
of a plain tuple.`,name:"return_dict"},{anchor:"diffusers.AuraFlowPipeline.__call__.max_sequence_length",description:"<strong>max_sequence_length</strong> (<code>int</code> defaults to 256) &#x2014; Maximum sequence length to use with the <code>prompt</code>.",name:"max_sequence_length"}],source:"https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/aura_flow/pipeline_aura_flow.py#L390"}}),U=new Ue({props:{anchor:"diffusers.AuraFlowPipeline.__call__.example",$$slots:{default:[ke]},$$scope:{ctx:Q}}}),B=new me({props:{name:"encode_prompt",anchor:"diffusers.AuraFlowPipeline.encode_prompt",parameters:[{name:"prompt",val:": typing.Union[str, typing.List[str]]"},{name:"negative_prompt",val:": typing.Union[str, typing.List[str]] = None"},{name:"do_classifier_free_guidance",val:": bool = True"},{name:"num_images_per_prompt",val:": int = 1"},{name:"device",val:": typing.Optional[torch.device] = None"},{name:"prompt_embeds",val:": typing.Optional[torch.Tensor] = None"},{name:"negative_prompt_embeds",val:": typing.Optional[torch.Tensor] = None"},{name:"prompt_attention_mask",val:": typing.Optional[torch.Tensor] = None"},{name:"negative_prompt_attention_mask",val:": typing.Optional[torch.Tensor] = None"},{name:"max_sequence_length",val:": int = 256"}],parametersDescription:[{anchor:"diffusers.AuraFlowPipeline.encode_prompt.prompt",description:`<strong>prompt</strong> (<code>str</code> or <code>List[str]</code>, <em>optional</em>) &#x2014;
prompt to be encoded`,name:"prompt"},{anchor:"diffusers.AuraFlowPipeline.encode_prompt.negative_prompt",description:`<strong>negative_prompt</strong> (<code>str</code> or <code>List[str]</code>, <em>optional</em>) &#x2014;
The prompt not to guide the image generation. If not defined, one has to pass <code>negative_prompt_embeds</code>
instead. Ignored when not using guidance (i.e., ignored if <code>guidance_scale</code> is less than <code>1</code>).`,name:"negative_prompt"},{anchor:"diffusers.AuraFlowPipeline.encode_prompt.do_classifier_free_guidance",description:`<strong>do_classifier_free_guidance</strong> (<code>bool</code>, <em>optional</em>, defaults to <code>True</code>) &#x2014;
whether to use classifier free guidance or not`,name:"do_classifier_free_guidance"},{anchor:"diffusers.AuraFlowPipeline.encode_prompt.num_images_per_prompt",description:`<strong>num_images_per_prompt</strong> (<code>int</code>, <em>optional</em>, defaults to 1) &#x2014;
number of images that should be generated per prompt`,name:"num_images_per_prompt"},{anchor:"diffusers.AuraFlowPipeline.encode_prompt.device",description:`<strong>device</strong> &#x2014; (<code>torch.device</code>, <em>optional</em>):
torch device to place the resulting embeddings on`,name:"device"},{anchor:"diffusers.AuraFlowPipeline.encode_prompt.prompt_embeds",description:`<strong>prompt_embeds</strong> (<code>torch.Tensor</code>, <em>optional</em>) &#x2014;
Pre-generated text embeddings. Can be used to easily tweak text inputs, <em>e.g.</em> prompt weighting. If not
provided, text embeddings will be generated from <code>prompt</code> input argument.`,name:"prompt_embeds"},{anchor:"diffusers.AuraFlowPipeline.encode_prompt.prompt_attention_mask",description:`<strong>prompt_attention_mask</strong> (<code>torch.Tensor</code>, <em>optional</em>) &#x2014;
Pre-generated attention mask for text embeddings.`,name:"prompt_attention_mask"},{anchor:"diffusers.AuraFlowPipeline.encode_prompt.negative_prompt_embeds",description:`<strong>negative_prompt_embeds</strong> (<code>torch.Tensor</code>, <em>optional</em>) &#x2014;
Pre-generated negative text embeddings.`,name:"negative_prompt_embeds"},{anchor:"diffusers.AuraFlowPipeline.encode_prompt.negative_prompt_attention_mask",description:`<strong>negative_prompt_attention_mask</strong> (<code>torch.Tensor</code>, <em>optional</em>) &#x2014;
Pre-generated attention mask for negative text embeddings.`,name:"negative_prompt_attention_mask"},{anchor:"diffusers.AuraFlowPipeline.encode_prompt.max_sequence_length",description:"<strong>max_sequence_length</strong> (<code>int</code>, defaults to 256) &#x2014; Maximum sequence length to use for the prompt.",name:"max_sequence_length"}],source:"https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/aura_flow/pipeline_aura_flow.py#L212"}}),G=new Ae({props:{source:"https://github.com/huggingface/diffusers/blob/main/docs/source/en/api/pipelines/aura_flow.md"}}),{c(){o=p("meta"),J=r(),l=p("p"),m=r(),w(c.$$.fragment),i=r(),g=p("p"),g.innerHTML=ue,Y=r(),I=p("p"),I.innerHTML=fe,H=r(),w($.$$.fragment),L=r(),w(k.$$.fragment),S=r(),Z=p("p"),Z.textContent=ge,D=r(),C=p("p"),C.innerHTML=_e,O=r(),w(P.$$.fragment),K=r(),w(j.$$.fragment),ee=r(),_=p("div"),w(X.$$.fragment),re=r(),u=p("div"),w(E.$$.fragment),se=r(),N=p("p"),N.textContent=he,ie=r(),w(U.$$.fragment),le=r(),q=p("p"),q.innerHTML=we,pe=r(),A=p("div"),w(B.$$.fragment),de=r(),z=p("p"),z.textContent=be,te=r(),w(G.$$.fragment),ne=r(),W=p("p"),this.h()},l(e){const t=Fe("svelte-u9bgzb",document.head);o=d(t,"META",{name:!0,content:!0}),t.forEach(n),J=s(e),l=d(e,"P",{}),R(l).forEach(n),m=s(e),b(c.$$.fragment,e),i=s(e),g=d(e,"P",{"data-svelte-h":!0}),F(g)!=="svelte-mz8sy4"&&(g.innerHTML=ue),Y=s(e),I=d(e,"P",{"data-svelte-h":!0}),F(I)!=="svelte-1tuv1oa"&&(I.innerHTML=fe),H=s(e),b($.$$.fragment,e),L=s(e),b(k.$$.fragment,e),S=s(e),Z=d(e,"P",{"data-svelte-h":!0}),F(Z)!=="svelte-1ou2pxc"&&(Z.textContent=ge),D=s(e),C=d(e,"P",{"data-svelte-h":!0}),F(C)!=="svelte-76czaq"&&(C.innerHTML=_e),O=s(e),b(P.$$.fragment,e),K=s(e),b(j.$$.fragment,e),ee=s(e),_=d(e,"DIV",{class:!0});var x=R(_);b(X.$$.fragment,x),re=s(x),u=d(x,"DIV",{class:!0});var h=R(u);b(E.$$.fragment,h),se=s(h),N=d(h,"P",{"data-svelte-h":!0}),F(N)!=="svelte-v78lg8"&&(N.textContent=he),ie=s(h),b(U.$$.fragment,h),le=s(h),q=d(h,"P",{"data-svelte-h":!0}),F(q)!=="svelte-e17ang"&&(q.innerHTML=we),h.forEach(n),pe=s(x),A=d(x,"DIV",{class:!0});var ae=R(A);b(B.$$.fragment,ae),de=s(ae),z=d(ae,"P",{"data-svelte-h":!0}),F(z)!=="svelte-16q0ax1"&&(z.textContent=be),ae.forEach(n),x.forEach(n),te=s(e),b(G.$$.fragment,e),ne=s(e),W=d(e,"P",{}),R(W).forEach(n),this.h()},h(){V(o,"name","hf:doc:metadata"),V(o,"content",Ce),V(u,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),V(A,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),V(_,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8")},m(e,t){f(document.head,o),a(e,J,t),a(e,l,t),a(e,m,t),y(c,e,t),a(e,i,t),a(e,g,t),a(e,Y,t),a(e,I,t),a(e,H,t),y($,e,t),a(e,L,t),y(k,e,t),a(e,S,t),a(e,Z,t),a(e,D,t),a(e,C,t),a(e,O,t),y(P,e,t),a(e,K,t),y(j,e,t),a(e,ee,t),a(e,_,t),y(X,_,null),f(_,re),f(_,u),y(E,u,null),f(u,se),f(u,N),f(u,ie),y(U,u,null),f(u,le),f(u,q),f(_,pe),f(_,A),y(B,A,null),f(A,de),f(A,z),a(e,te,t),y(G,e,t),a(e,ne,t),a(e,W,t),oe=!0},p(e,[t]){const x={};t&2&&(x.$$scope={dirty:t,ctx:e}),$.$set(x);const h={};t&2&&(h.$$scope={dirty:t,ctx:e}),U.$set(h)},i(e){oe||(v(c.$$.fragment,e),v($.$$.fragment,e),v(k.$$.fragment,e),v(P.$$.fragment,e),v(j.$$.fragment,e),v(X.$$.fragment,e),v(E.$$.fragment,e),v(U.$$.fragment,e),v(B.$$.fragment,e),v(G.$$.fragment,e),oe=!0)},o(e){T(c.$$.fragment,e),T($.$$.fragment,e),T(k.$$.fragment,e),T(P.$$.fragment,e),T(j.$$.fragment,e),T(X.$$.fragment,e),T(E.$$.fragment,e),T(U.$$.fragment,e),T(B.$$.fragment,e),T(G.$$.fragment,e),oe=!1},d(e){e&&(n(J),n(l),n(m),n(i),n(g),n(Y),n(I),n(H),n(L),n(S),n(Z),n(D),n(C),n(O),n(K),n(ee),n(_),n(te),n(ne),n(W)),n(o),M(c,e),M($,e),M(k,e),M(P,e),M(j,e),M(X),M(E),M(U),M(B),M(G,e)}}}const Ce='{"title":"AuraFlow","local":"auraflow","sections":[{"title":"Quantization","local":"quantization","sections":[],"depth":2},{"title":"AuraFlowPipeline","local":"diffusers.AuraFlowPipeline","sections":[],"depth":2}],"depth":1}';function Pe(Q){return Me(()=>{new URLSearchParams(window.location.search).get("fw")}),[]}class qe extends Je{constructor(o){super(),xe(this,o,Pe,Ze,Te,{})}}export{qe as component};
