Buckets:
| import{s as ze,o as Ye,n as He}from"../chunks/scheduler.53228c21.js";import{S as Ve,i as Le,e as r,s as a,c as d,h as Se,a as i,d as n,b as s,f as ee,g as c,j as m,k as O,l as y,m as o,n as u,t as f,o as g,p as h}from"../chunks/index.100fac89.js";import{C as De}from"../chunks/CopyLLMTxtMenu.d379e2c2.js";import{D as Ae}from"../chunks/Docstring.38f1c7dc.js";import{C as ve}from"../chunks/CodeBlock.d30a6509.js";import{E as Oe}from"../chunks/ExampleCodeBlock.5b0c77bb.js";import{H as Je,E as Ke}from"../chunks/MermaidChart.svelte_svelte_type_style_lang.7ff5b7b1.js";function et(te){let p,Z="Examples:",J,_,w;return _=new ve({props:{code:"aW1wb3J0JTIwdG9yY2glMEFmcm9tJTIwZGlmZnVzZXJzJTIwaW1wb3J0JTIwQXVyYUZsb3dQaXBlbGluZSUwQSUwQXBpcGUlMjAlM0QlMjBBdXJhRmxvd1BpcGVsaW5lLmZyb21fcHJldHJhaW5lZCglMjJmYWwlMkZBdXJhRmxvdyUyMiUyQyUyMHRvcmNoX2R0eXBlJTNEdG9yY2guZmxvYXQxNiklMEFwaXBlJTIwJTNEJTIwcGlwZS50byglMjJjdWRhJTIyKSUwQXByb21wdCUyMCUzRCUyMCUyMkElMjBjYXQlMjBob2xkaW5nJTIwYSUyMHNpZ24lMjB0aGF0JTIwc2F5cyUyMGhlbGxvJTIwd29ybGQlMjIlMEFpbWFnZSUyMCUzRCUyMHBpcGUocHJvbXB0KS5pbWFnZXMlNUIwJTVEJTBBaW1hZ2Uuc2F2ZSglMjJhdXJhX2Zsb3cucG5nJTIyKQ==",highlighted:`<span class="hljs-meta">>>> </span><span class="hljs-keyword">import</span> torch | |
| <span class="hljs-meta">>>> </span><span class="hljs-keyword">from</span> diffusers <span class="hljs-keyword">import</span> AuraFlowPipeline | |
| <span class="hljs-meta">>>> </span>pipe = AuraFlowPipeline.from_pretrained(<span class="hljs-string">"fal/AuraFlow"</span>, torch_dtype=torch.float16) | |
| <span class="hljs-meta">>>> </span>pipe = pipe.to(<span class="hljs-string">"cuda"</span>) | |
| <span class="hljs-meta">>>> </span>prompt = <span class="hljs-string">"A cat holding a sign that says hello world"</span> | |
| <span class="hljs-meta">>>> </span>image = pipe(prompt).images[<span class="hljs-number">0</span>] | |
| <span class="hljs-meta">>>> </span>image.save(<span class="hljs-string">"aura_flow.png"</span>)`,wrap:!1}}),{c(){p=r("p"),p.textContent=Z,J=a(),d(_.$$.fragment)},l(l){p=i(l,"P",{"data-svelte-h":!0}),m(p)!=="svelte-kvfsh7"&&(p.textContent=Z),J=s(l),c(_.$$.fragment,l)},m(l,T){o(l,p,T),o(l,J,T),u(_,l,T),w=!0},p:He,i(l){w||(f(_.$$.fragment,l),w=!0)},o(l){g(_.$$.fragment,l),w=!1},d(l){l&&(n(p),n(J)),h(_,l)}}}function tt(te){let p,Z,J,_,w,l,T,ne,C,$e='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.',oe,A,Ie='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>.',ae,U,je='<p>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.</p>',se,$,re,I,Be="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.",ie,j,Ge='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/pr_12652/en/api/pipelines/aura_flow#diffusers.AuraFlowPipeline">AuraFlowPipeline</a> for inference with bitsandbytes.',le,B,pe,G,Pe='Loading <a href="https://huggingface.co/docs/diffusers/quantization/gguf" rel="nofollow">GGUF checkpoints</a> are also supported:',de,P,ce,X,me,E,Xe='AuraFlow can be compiled with <code>torch.compile()</code> to speed up inference latency even for different resolutions. First, install PyTorch nightly following the instructions from <a href="https://pytorch.org/" rel="nofollow">here</a>. The snippet below shows the changes needed to enable this:',ue,Q,fe,N,Ee='Specifying <code>use_duck_shape</code> to be <code>False</code> instructs the compiler if it should use the same symbolic variable to represent input sizes that are the same. For more details, check out <a href="https://github.com/huggingface/diffusers/pull/11327#discussion_r2047659790" rel="nofollow">this comment</a>.',ge,W,Qe="This enables from 100% (on low resolutions) to a 30% (on 1536x1536 resolution) speed improvements.",he,R,Ne='Thanks to <a href="https://github.com/huggingface/diffusers/pull/11297/" rel="nofollow">AstraliteHeart</a> who helped us rewrite the <a href="/docs/diffusers/pr_12652/en/api/models/aura_flow_transformer2d#diffusers.AuraFlowTransformer2DModel">AuraFlowTransformer2DModel</a> class so that the above works for different resolutions (<a href="https://github.com/huggingface/diffusers/pull/11297/" rel="nofollow">PR</a>).',_e,q,we,M,z,Ue,b,Y,xe,L,We="Function invoked when calling the pipeline for generation.",Fe,x,ke,S,Re=`Returns: <a href="/docs/diffusers/pr_12652/en/api/pipelines/ddim#diffusers.ImagePipelineOutput">ImagePipelineOutput</a> or <code>tuple</code>: | |
| If <code>return_dict</code> is <code>True</code>, <a href="/docs/diffusers/pr_12652/en/api/pipelines/ddim#diffusers.ImagePipelineOutput">ImagePipelineOutput</a> is returned, otherwise a <code>tuple</code> is returned | |
| where the first element is a list with the generated images.`,Ze,F,H,Ce,D,qe="Encodes the prompt into text encoder hidden states.",be,V,ye,K,Te;return w=new De({props:{containerStyle:"float: right; margin-left: 10px; display: inline-flex; position: relative; z-index: 10;"}}),T=new Je({props:{title:"AuraFlow",local:"auraflow",headingTag:"h1"}}),$=new Je({props:{title:"Quantization",local:"quantization",headingTag:"h2"}}),B=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">"fal/AuraFlow"</span>, | |
| subfolder=<span class="hljs-string">"text_encoder"</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">"fal/AuraFlow"</span>, | |
| subfolder=<span class="hljs-string">"transformer"</span>, | |
| quantization_config=quant_config, | |
| torch_dtype=torch.float16, | |
| ) | |
| pipeline = AuraFlowPipeline.from_pretrained( | |
| <span class="hljs-string">"fal/AuraFlow"</span>, | |
| text_encoder=text_encoder_8bit, | |
| transformer=transformer_8bit, | |
| torch_dtype=torch.float16, | |
| device_map=<span class="hljs-string">"balanced"</span>, | |
| ) | |
| prompt = <span class="hljs-string">"a tiny astronaut hatching from an egg on the moon"</span> | |
| image = pipeline(prompt).images[<span class="hljs-number">0</span>] | |
| image.save(<span class="hljs-string">"auraflow.png"</span>)`,wrap:!1}}),P=new ve({props:{code:"aW1wb3J0JTIwdG9yY2glMEFmcm9tJTIwZGlmZnVzZXJzJTIwaW1wb3J0JTIwKCUwQSUyMCUyMCUyMCUyMEF1cmFGbG93UGlwZWxpbmUlMkMlMEElMjAlMjAlMjAlMjBHR1VGUXVhbnRpemF0aW9uQ29uZmlnJTJDJTBBJTIwJTIwJTIwJTIwQXVyYUZsb3dUcmFuc2Zvcm1lcjJETW9kZWwlMkMlMEEpJTBBJTBBdHJhbnNmb3JtZXIlMjAlM0QlMjBBdXJhRmxvd1RyYW5zZm9ybWVyMkRNb2RlbC5mcm9tX3NpbmdsZV9maWxlKCUwQSUyMCUyMCUyMCUyMCUyMmh0dHBzJTNBJTJGJTJGaHVnZ2luZ2ZhY2UuY28lMkZjaXR5OTYlMkZBdXJhRmxvdy12MC4zLWdndWYlMkZibG9iJTJGbWFpbiUyRmF1cmFfZmxvd18wLjMtUTJfSy5nZ3VmJTIyJTJDJTBBJTIwJTIwJTIwJTIwcXVhbnRpemF0aW9uX2NvbmZpZyUzREdHVUZRdWFudGl6YXRpb25Db25maWcoY29tcHV0ZV9kdHlwZSUzRHRvcmNoLmJmbG9hdDE2KSUyQyUwQSUyMCUyMCUyMCUyMHRvcmNoX2R0eXBlJTNEdG9yY2guYmZsb2F0MTYlMkMlMEEpJTBBJTBBcGlwZWxpbmUlMjAlM0QlMjBBdXJhRmxvd1BpcGVsaW5lLmZyb21fcHJldHJhaW5lZCglMEElMjAlMjAlMjAlMjAlMjJmYWwlMkZBdXJhRmxvdy12MC4zJTIyJTJDJTBBJTIwJTIwJTIwJTIwdHJhbnNmb3JtZXIlM0R0cmFuc2Zvcm1lciUyQyUwQSUyMCUyMCUyMCUyMHRvcmNoX2R0eXBlJTNEdG9yY2guYmZsb2F0MTYlMkMlMEEpJTBBJTBBcHJvbXB0JTIwJTNEJTIwJTIyYSUyMGN1dGUlMjBwb255JTIwaW4lMjBhJTIwZmllbGQlMjBvZiUyMGZsb3dlcnMlMjIlMEFpbWFnZSUyMCUzRCUyMHBpcGVsaW5lKHByb21wdCkuaW1hZ2VzJTVCMCU1RCUwQWltYWdlLnNhdmUoJTIyYXVyYWZsb3cucG5nJTIyKQ==",highlighted:`<span class="hljs-keyword">import</span> torch | |
| <span class="hljs-keyword">from</span> diffusers <span class="hljs-keyword">import</span> ( | |
| AuraFlowPipeline, | |
| GGUFQuantizationConfig, | |
| AuraFlowTransformer2DModel, | |
| ) | |
| transformer = AuraFlowTransformer2DModel.from_single_file( | |
| <span class="hljs-string">"https://huggingface.co/city96/AuraFlow-v0.3-gguf/blob/main/aura_flow_0.3-Q2_K.gguf"</span>, | |
| quantization_config=GGUFQuantizationConfig(compute_dtype=torch.bfloat16), | |
| torch_dtype=torch.bfloat16, | |
| ) | |
| pipeline = AuraFlowPipeline.from_pretrained( | |
| <span class="hljs-string">"fal/AuraFlow-v0.3"</span>, | |
| transformer=transformer, | |
| torch_dtype=torch.bfloat16, | |
| ) | |
| prompt = <span class="hljs-string">"a cute pony in a field of flowers"</span> | |
| image = pipeline(prompt).images[<span class="hljs-number">0</span>] | |
| image.save(<span class="hljs-string">"auraflow.png"</span>)`,wrap:!1}}),X=new Je({props:{title:"Support for torch.compile()",local:"support-for-torchcompile",headingTag:"h2"}}),Q=new ve({props:{code:"JTJCJTIwdG9yY2guZnguZXhwZXJpbWVudGFsLl9jb25maWcudXNlX2R1Y2tfc2hhcGUlMjAlM0QlMjBGYWxzZSUwQSUyQiUyMHBpcGVsaW5lLnRyYW5zZm9ybWVyJTIwJTNEJTIwdG9yY2guY29tcGlsZSglMEElMjAlMjAlMjAlMjBwaXBlbGluZS50cmFuc2Zvcm1lciUyQyUyMGZ1bGxncmFwaCUzRFRydWUlMkMlMjBkeW5hbWljJTNEVHJ1ZSUwQSk=",highlighted:`<span class="hljs-addition">+ torch.fx.experimental._config.use_duck_shape = False</span> | |
| <span class="hljs-addition">+ pipeline.transformer = torch.compile(</span> | |
| pipeline.transformer, fullgraph=True, dynamic=True | |
| )`,wrap:!1}}),q=new Je({props:{title:"AuraFlowPipeline",local:"diffusers.AuraFlowPipeline",headingTag:"h2"}}),z=new Ae({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>) — | |
| 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>) — | |
| 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/pr_12652/en/api/models/autoencoderkl#diffusers.AutoencoderKL">AutoencoderKL</a>) — | |
| 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/pr_12652/en/api/models/aura_flow_transformer2d#diffusers.AuraFlowTransformer2DModel">AuraFlowTransformer2DModel</a>) — | |
| 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/pr_12652/en/api/schedulers/flow_match_euler_discrete#diffusers.FlowMatchEulerDiscreteScheduler">FlowMatchEulerDiscreteScheduler</a>) — | |
| 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/vr_12652/src/diffusers/pipelines/aura_flow/pipeline_aura_flow.py#L123"}}),Y=new Ae({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"},{name:"attention_kwargs",val:": typing.Optional[typing.Dict[str, typing.Any]] = None"},{name:"callback_on_step_end",val:": typing.Union[typing.Callable[[int, int, typing.Dict], NoneType], diffusers.callbacks.PipelineCallback, diffusers.callbacks.MultiPipelineCallbacks, NoneType] = None"},{name:"callback_on_step_end_tensor_inputs",val:": typing.List[str] = ['latents']"}],parametersDescription:[{anchor:"diffusers.AuraFlowPipeline.__call__.prompt",description:`<strong>prompt</strong> (<code>str</code> or <code>List[str]</code>, <em>optional</em>) — | |
| 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>) — | |
| 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) — | |
| 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) — | |
| 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) — | |
| 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>) — | |
| 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) — | |
| Guidance scale as defined in <a href="https://huggingface.co/papers/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://huggingface.co/papers/2205.11487" rel="nofollow">Imagen Paper</a>. Guidance scale is enabled by setting | |
| <code>guidance_scale > 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) — | |
| 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>) — | |
| 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>) — | |
| 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 be 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>) — | |
| 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>) — | |
| 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>) — | |
| 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>) — | |
| 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>"pil"</code>) — | |
| 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>) — | |
| 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__.attention_kwargs",description:`<strong>attention_kwargs</strong> (<code>dict</code>, <em>optional</em>) — | |
| A kwargs dictionary that if specified is passed along to the <code>AttentionProcessor</code> as defined under | |
| <code>self.processor</code> in | |
| <a href="https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/attention_processor.py" rel="nofollow">diffusers.models.attention_processor</a>.`,name:"attention_kwargs"},{anchor:"diffusers.AuraFlowPipeline.__call__.callback_on_step_end",description:`<strong>callback_on_step_end</strong> (<code>Callable</code>, <em>optional</em>) — | |
| A function that calls at the end of each denoising steps during the inference. The function is called | |
| with the following arguments: <code>callback_on_step_end(self: DiffusionPipeline, step: int, timestep: int, callback_kwargs: Dict)</code>. <code>callback_kwargs</code> will include a list of all tensors as specified by | |
| <code>callback_on_step_end_tensor_inputs</code>.`,name:"callback_on_step_end"},{anchor:"diffusers.AuraFlowPipeline.__call__.callback_on_step_end_tensor_inputs",description:`<strong>callback_on_step_end_tensor_inputs</strong> (<code>List</code>, <em>optional</em>) — | |
| The list of tensor inputs for the <code>callback_on_step_end</code> function. The tensors specified in the list | |
| will be passed as <code>callback_kwargs</code> argument. You will only be able to include variables listed in the | |
| <code>._callback_tensor_inputs</code> attribute of your pipeline class.`,name:"callback_on_step_end_tensor_inputs"},{anchor:"diffusers.AuraFlowPipeline.__call__.max_sequence_length",description:"<strong>max_sequence_length</strong> (<code>int</code> defaults to 256) — Maximum sequence length to use with the <code>prompt</code>.",name:"max_sequence_length"}],source:"https://github.com/huggingface/diffusers/blob/vr_12652/src/diffusers/pipelines/aura_flow/pipeline_aura_flow.py#L438"}}),x=new Oe({props:{anchor:"diffusers.AuraFlowPipeline.__call__.example",$$slots:{default:[et]},$$scope:{ctx:te}}}),H=new Ae({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"},{name:"lora_scale",val:": typing.Optional[float] = None"}],parametersDescription:[{anchor:"diffusers.AuraFlowPipeline.encode_prompt.prompt",description:`<strong>prompt</strong> (<code>str</code> or <code>List[str]</code>, <em>optional</em>) — | |
| 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>) — | |
| 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>) — | |
| 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) — | |
| number of images that should be generated per prompt`,name:"num_images_per_prompt"},{anchor:"diffusers.AuraFlowPipeline.encode_prompt.device",description:`<strong>device</strong> — (<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>) — | |
| 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>) — | |
| 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>) — | |
| 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>) — | |
| 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) — Maximum sequence length to use for the prompt.",name:"max_sequence_length"},{anchor:"diffusers.AuraFlowPipeline.encode_prompt.lora_scale",description:`<strong>lora_scale</strong> (<code>float</code>, <em>optional</em>) — | |
| A lora scale that will be applied to all LoRA layers of the text encoder if LoRA layers are loaded.`,name:"lora_scale"}],source:"https://github.com/huggingface/diffusers/blob/vr_12652/src/diffusers/pipelines/aura_flow/pipeline_aura_flow.py#L232"}}),V=new Ke({props:{source:"https://github.com/huggingface/diffusers/blob/main/docs/source/en/api/pipelines/aura_flow.md"}}),{c(){p=r("meta"),Z=a(),J=r("p"),_=a(),d(w.$$.fragment),l=a(),d(T.$$.fragment),ne=a(),C=r("p"),C.innerHTML=$e,oe=a(),A=r("p"),A.innerHTML=Ie,ae=a(),U=r("blockquote"),U.innerHTML=je,se=a(),d($.$$.fragment),re=a(),I=r("p"),I.textContent=Be,ie=a(),j=r("p"),j.innerHTML=Ge,le=a(),d(B.$$.fragment),pe=a(),G=r("p"),G.innerHTML=Pe,de=a(),d(P.$$.fragment),ce=a(),d(X.$$.fragment),me=a(),E=r("p"),E.innerHTML=Xe,ue=a(),d(Q.$$.fragment),fe=a(),N=r("p"),N.innerHTML=Ee,ge=a(),W=r("p"),W.textContent=Qe,he=a(),R=r("p"),R.innerHTML=Ne,_e=a(),d(q.$$.fragment),we=a(),M=r("div"),d(z.$$.fragment),Ue=a(),b=r("div"),d(Y.$$.fragment),xe=a(),L=r("p"),L.textContent=We,Fe=a(),d(x.$$.fragment),ke=a(),S=r("p"),S.innerHTML=Re,Ze=a(),F=r("div"),d(H.$$.fragment),Ce=a(),D=r("p"),D.textContent=qe,be=a(),d(V.$$.fragment),ye=a(),K=r("p"),this.h()},l(e){const t=Se("svelte-u9bgzb",document.head);p=i(t,"META",{name:!0,content:!0}),t.forEach(n),Z=s(e),J=i(e,"P",{}),ee(J).forEach(n),_=s(e),c(w.$$.fragment,e),l=s(e),c(T.$$.fragment,e),ne=s(e),C=i(e,"P",{"data-svelte-h":!0}),m(C)!=="svelte-mz8sy4"&&(C.innerHTML=$e),oe=s(e),A=i(e,"P",{"data-svelte-h":!0}),m(A)!=="svelte-1tuv1oa"&&(A.innerHTML=Ie),ae=s(e),U=i(e,"BLOCKQUOTE",{class:!0,"data-svelte-h":!0}),m(U)!=="svelte-4gxvdb"&&(U.innerHTML=je),se=s(e),c($.$$.fragment,e),re=s(e),I=i(e,"P",{"data-svelte-h":!0}),m(I)!=="svelte-1ou2pxc"&&(I.textContent=Be),ie=s(e),j=i(e,"P",{"data-svelte-h":!0}),m(j)!=="svelte-1tae8w6"&&(j.innerHTML=Ge),le=s(e),c(B.$$.fragment,e),pe=s(e),G=i(e,"P",{"data-svelte-h":!0}),m(G)!=="svelte-9873at"&&(G.innerHTML=Pe),de=s(e),c(P.$$.fragment,e),ce=s(e),c(X.$$.fragment,e),me=s(e),E=i(e,"P",{"data-svelte-h":!0}),m(E)!=="svelte-10cvqm3"&&(E.innerHTML=Xe),ue=s(e),c(Q.$$.fragment,e),fe=s(e),N=i(e,"P",{"data-svelte-h":!0}),m(N)!=="svelte-mmsxgw"&&(N.innerHTML=Ee),ge=s(e),W=i(e,"P",{"data-svelte-h":!0}),m(W)!=="svelte-rc38yx"&&(W.textContent=Qe),he=s(e),R=i(e,"P",{"data-svelte-h":!0}),m(R)!=="svelte-1fvpeh1"&&(R.innerHTML=Ne),_e=s(e),c(q.$$.fragment,e),we=s(e),M=i(e,"DIV",{class:!0});var v=ee(M);c(z.$$.fragment,v),Ue=s(v),b=i(v,"DIV",{class:!0});var k=ee(b);c(Y.$$.fragment,k),xe=s(k),L=i(k,"P",{"data-svelte-h":!0}),m(L)!=="svelte-v78lg8"&&(L.textContent=We),Fe=s(k),c(x.$$.fragment,k),ke=s(k),S=i(k,"P",{"data-svelte-h":!0}),m(S)!=="svelte-19g06ks"&&(S.innerHTML=Re),k.forEach(n),Ze=s(v),F=i(v,"DIV",{class:!0});var Me=ee(F);c(H.$$.fragment,Me),Ce=s(Me),D=i(Me,"P",{"data-svelte-h":!0}),m(D)!=="svelte-16q0ax1"&&(D.textContent=qe),Me.forEach(n),v.forEach(n),be=s(e),c(V.$$.fragment,e),ye=s(e),K=i(e,"P",{}),ee(K).forEach(n),this.h()},h(){O(p,"name","hf:doc:metadata"),O(p,"content",nt),O(U,"class","tip"),O(b,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),O(F,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),O(M,"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){y(document.head,p),o(e,Z,t),o(e,J,t),o(e,_,t),u(w,e,t),o(e,l,t),u(T,e,t),o(e,ne,t),o(e,C,t),o(e,oe,t),o(e,A,t),o(e,ae,t),o(e,U,t),o(e,se,t),u($,e,t),o(e,re,t),o(e,I,t),o(e,ie,t),o(e,j,t),o(e,le,t),u(B,e,t),o(e,pe,t),o(e,G,t),o(e,de,t),u(P,e,t),o(e,ce,t),u(X,e,t),o(e,me,t),o(e,E,t),o(e,ue,t),u(Q,e,t),o(e,fe,t),o(e,N,t),o(e,ge,t),o(e,W,t),o(e,he,t),o(e,R,t),o(e,_e,t),u(q,e,t),o(e,we,t),o(e,M,t),u(z,M,null),y(M,Ue),y(M,b),u(Y,b,null),y(b,xe),y(b,L),y(b,Fe),u(x,b,null),y(b,ke),y(b,S),y(M,Ze),y(M,F),u(H,F,null),y(F,Ce),y(F,D),o(e,be,t),u(V,e,t),o(e,ye,t),o(e,K,t),Te=!0},p(e,[t]){const v={};t&2&&(v.$$scope={dirty:t,ctx:e}),x.$set(v)},i(e){Te||(f(w.$$.fragment,e),f(T.$$.fragment,e),f($.$$.fragment,e),f(B.$$.fragment,e),f(P.$$.fragment,e),f(X.$$.fragment,e),f(Q.$$.fragment,e),f(q.$$.fragment,e),f(z.$$.fragment,e),f(Y.$$.fragment,e),f(x.$$.fragment,e),f(H.$$.fragment,e),f(V.$$.fragment,e),Te=!0)},o(e){g(w.$$.fragment,e),g(T.$$.fragment,e),g($.$$.fragment,e),g(B.$$.fragment,e),g(P.$$.fragment,e),g(X.$$.fragment,e),g(Q.$$.fragment,e),g(q.$$.fragment,e),g(z.$$.fragment,e),g(Y.$$.fragment,e),g(x.$$.fragment,e),g(H.$$.fragment,e),g(V.$$.fragment,e),Te=!1},d(e){e&&(n(Z),n(J),n(_),n(l),n(ne),n(C),n(oe),n(A),n(ae),n(U),n(se),n(re),n(I),n(ie),n(j),n(le),n(pe),n(G),n(de),n(ce),n(me),n(E),n(ue),n(fe),n(N),n(ge),n(W),n(he),n(R),n(_e),n(we),n(M),n(be),n(ye),n(K)),n(p),h(w,e),h(T,e),h($,e),h(B,e),h(P,e),h(X,e),h(Q,e),h(q,e),h(z),h(Y),h(x),h(H),h(V,e)}}}const nt='{"title":"AuraFlow","local":"auraflow","sections":[{"title":"Quantization","local":"quantization","sections":[],"depth":2},{"title":"Support for torch.compile()","local":"support-for-torchcompile","sections":[],"depth":2},{"title":"AuraFlowPipeline","local":"diffusers.AuraFlowPipeline","sections":[],"depth":2}],"depth":1}';function ot(te){return Ye(()=>{new URLSearchParams(window.location.search).get("fw")}),[]}class ct extends Ve{constructor(p){super(),Le(this,p,ot,tt,ze,{})}}export{ct as component}; | |
Xet Storage Details
- Size:
- 33.5 kB
- Xet hash:
- 98815d38b3e80d5ac3f59727ffb88296b63f88360f0ac040b49b5dce2c81552e
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.