import{s as je,o as Fe,n as Ge}from"../chunks/scheduler.53228c21.js";import{S as Le,i as Ne,e as r,s as i,c as h,h as Ee,a as l,d as n,b as a,f as W,g as b,j as u,k as q,l as f,m as o,n as v,t as y,o as w,p as x}from"../chunks/index.100fac89.js";import{C as Oe}from"../chunks/CopyLLMTxtMenu.fb2ec027.js";import{D as be}from"../chunks/Docstring.86a664ae.js";import{C as Ue}from"../chunks/CodeBlock.d30a6509.js";import{E as Ze}from"../chunks/ExampleCodeBlock.15d6107c.js";import{H as ve,E as Ye}from"../chunks/MermaidChart.svelte_svelte_type_style_lang.09d4dba9.js";function Se(A){let p,$="Examples:",B,m,g;return m=new Ue({props:{code:"aW1wb3J0JTIwdG9yY2glMEFmcm9tJTIwZGlmZnVzZXJzJTIwaW1wb3J0JTIwQnJpYVBpcGVsaW5lJTBBJTBBcGlwZSUyMCUzRCUyMEJyaWFQaXBlbGluZS5mcm9tX3ByZXRyYWluZWQoJTIyYnJpYWFpJTJGQlJJQS0zLjIlMjIlMkMlMjB0b3JjaF9kdHlwZSUzRHRvcmNoLmJmbG9hdDE2KSUwQXBpcGUudG8oJTIyY3VkYSUyMiklMEElMEFwaXBlLnRleHRfZW5jb2RlciUyMCUzRCUyMHBpcGUudGV4dF9lbmNvZGVyLnRvKGR0eXBlJTNEdG9yY2guYmZsb2F0MTYpJTBBZm9yJTIwYmxvY2slMjBpbiUyMHBpcGUudGV4dF9lbmNvZGVyLmVuY29kZXIuYmxvY2slM0ElMEElMjAlMjAlMjAlMjBibG9jay5sYXllciU1Qi0xJTVELkRlbnNlUmVsdURlbnNlLndvLnRvKGR0eXBlJTNEdG9yY2guZmxvYXQzMiklMEElMEFpZiUyMHBpcGUudmFlLmNvbmZpZy5zaGlmdF9mYWN0b3IlMjAlM0QlM0QlMjAwJTNBJTBBJTIwJTIwJTIwJTIwcGlwZS52YWUudG8oZHR5cGUlM0R0b3JjaC5mbG9hdDMyKSUwQSUwQXByb21wdCUyMCUzRCUyMCUyMlBob3RvcmVhbGlzdGljJTIwZm9vZCUyMHBob3RvZ3JhcGh5JTIwb2YlMjBhJTIwc3RhY2slMjBvZiUyMGZsdWZmeSUyMHBhbmNha2VzJTIwb24lMjBhJTIwd2hpdGUlMjBwbGF0ZSUyQyUyMHdpdGglMjBtYXBsZSUyMHN5cnVwJTIwYmVpbmclMjBwb3VyZWQlMjBvdmVyJTIwdGhlbS4lMjBPbiUyMHRvcCUyMG9mJTIwdGhlJTIwcGFuY2FrZXMlMjBhcmUlMjB0aGUlMjB3b3JkcyUyMCdCUklBJTIwMy4yJyUyMGluJTIwYm9sZCUyQyUyMHllbGxvdyUyQyUyMDNEJTIwbGV0dGVycy4lMjBUaGUlMjBiYWNrZ3JvdW5kJTIwaXMlMjBkYXJrJTIwYW5kJTIwb3V0JTIwb2YlMjBmb2N1cy4lMjIlMEFpbWFnZSUyMCUzRCUyMHBpcGUocHJvbXB0KS5pbWFnZXMlNUIwJTVEJTBBaW1hZ2Uuc2F2ZSglMjJicmlhLnBuZyUyMik=",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> BriaPipeline

<span class="hljs-meta">&gt;&gt;&gt; </span>pipe = BriaPipeline.from_pretrained(<span class="hljs-string">&quot;briaai/BRIA-3.2&quot;</span>, torch_dtype=torch.bfloat16)
<span class="hljs-meta">&gt;&gt;&gt; </span>pipe.to(<span class="hljs-string">&quot;cuda&quot;</span>)
<span class="hljs-comment"># BRIA&#x27;s T5 text encoder is sensitive to precision. We need to cast it to bfloat16 and keep the final layer in float32.</span>

<span class="hljs-meta">&gt;&gt;&gt; </span>pipe.text_encoder = pipe.text_encoder.to(dtype=torch.bfloat16)
<span class="hljs-meta">&gt;&gt;&gt; </span><span class="hljs-keyword">for</span> block <span class="hljs-keyword">in</span> pipe.text_encoder.encoder.block:
<span class="hljs-meta">... </span>    block.layer[-<span class="hljs-number">1</span>].DenseReluDense.wo.to(dtype=torch.float32)
<span class="hljs-comment"># BRIA&#x27;s VAE is not supported in mixed precision, so we use float32.</span>

<span class="hljs-meta">&gt;&gt;&gt; </span><span class="hljs-keyword">if</span> pipe.vae.config.shift_factor == <span class="hljs-number">0</span>:
<span class="hljs-meta">... </span>    pipe.vae.to(dtype=torch.float32)

<span class="hljs-meta">&gt;&gt;&gt; </span>prompt = <span class="hljs-string">&quot;Photorealistic food photography of a stack of fluffy pancakes on a white plate, with maple syrup being poured over them. On top of the pancakes are the words &#x27;BRIA 3.2&#x27; in bold, yellow, 3D letters. The background is dark and out of focus.&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;bria.png&quot;</span>)`,wrap:!1}}),{c(){p=r("p"),p.textContent=$,B=i(),h(m.$$.fragment)},l(s){p=l(s,"P",{"data-svelte-h":!0}),u(p)!=="svelte-kvfsh7"&&(p.textContent=$),B=a(s),b(m.$$.fragment,s)},m(s,_){o(s,p,_),o(s,B,_),v(m,s,_),g=!0},p:Ge,i(s){g||(y(m.$$.fragment,s),g=!0)},o(s){w(m.$$.fragment,s),g=!1},d(s){s&&(n(p),n(B)),x(m,s)}}}function Ve(A){let p,$,B,m,g,s,_,X,k,ye="Text-to-image models have mastered imagination - but not control. FIBO changes that.",Q,P,we="FIBO is trained on structured JSON captions up to 1,000+ words and designed to understand and control different visual parameters such as lighting, composition, color, and camera settings, enabling precise and reproducible outputs.",K,I,xe="With only 8 billion parameters, FIBO provides a new level of image quality, prompt adherence and proffesional control.",ee,C,Be=`FIBO is trained exclusively on a structured prompt and will not work with freeform text prompts.
you can use the <a href="https://huggingface.co/briaai/FIBO-VLM-prompt-to-JSON" rel="nofollow">FIBO-VLM-prompt-to-JSON</a> model or the <a href="https://huggingface.co/briaai/FIBO-gemini-prompt-to-JSON" rel="nofollow">FIBO-gemini-prompt-to-JSON</a>  to convert your freeform text prompt to a structured JSON prompt.`,te,J,Te="its not recommended to use freeform text prompts directly with FIBO, as it will not produce the best results.",ne,U,Me='you can learn more about FIBO in  <a href="https://huggingface.co/briaai/FIBO" rel="nofollow">Bria Fibo Hugging Face page</a>.',oe,j,ie,F,$e='<em>As the model is gated, before using it with diffusers you first need to go to the <a href="https://huggingface.co/briaai/FIBO" rel="nofollow">Bria Fibo Hugging Face page</a>, fill in the form and accept the gate. Once you are in, you need to login so that your system knows you’ve accepted the gate.</em>',ae,G,ke="Use the command below to log in:",se,L,re,N,le,d,E,me,S,Pe="Based on FluxPipeline with several changes:",ge,V,Ie="<li>no pooled embeddings</li> <li>We use zero padding for prompts</li> <li>No guidance embedding since this is not a distilled version</li>",fe,T,O,ue,R,Ce="Function invoked when calling the pipeline for generation.",_e,M,he,z,Z,pe,Y,de,H,ce;return g=new Oe({props:{containerStyle:"float: right; margin-left: 10px; display: inline-flex; position: relative; z-index: 10;"}}),_=new ve({props:{title:"Bria Fibo",local:"bria-fibo",headingTag:"h1"}}),j=new ve({props:{title:"Usage",local:"usage",headingTag:"h2"}}),L=new Ue({props:{code:"aGYlMjBhdXRoJTIwbG9naW4=",highlighted:"hf auth login",wrap:!1}}),N=new ve({props:{title:"BriaPipeline",local:"diffusers.BriaPipeline",headingTag:"h2"}}),E=new be({props:{name:"class diffusers.BriaPipeline",anchor:"diffusers.BriaPipeline",parameters:[{name:"transformer",val:": BriaTransformer2DModel"},{name:"scheduler",val:": typing.Union[diffusers.schedulers.scheduling_flow_match_euler_discrete.FlowMatchEulerDiscreteScheduler, diffusers.schedulers.scheduling_utils.KarrasDiffusionSchedulers]"},{name:"vae",val:": AutoencoderKL"},{name:"text_encoder",val:": T5EncoderModel"},{name:"tokenizer",val:": T5TokenizerFast"},{name:"image_encoder",val:": CLIPVisionModelWithProjection = None"},{name:"feature_extractor",val:": CLIPImageProcessor = None"}],parametersDescription:[{anchor:"diffusers.BriaPipeline.transformer",description:`<strong>transformer</strong> (<a href="/docs/diffusers/main/en/api/models/bria_transformer#diffusers.BriaTransformer2DModel">BriaTransformer2DModel</a>) &#x2014;
Conditional Transformer (MMDiT) architecture to denoise the encoded image latents.`,name:"transformer"},{anchor:"diffusers.BriaPipeline.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"},{anchor:"diffusers.BriaPipeline.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.BriaPipeline.text_encoder",description:`<strong>text_encoder</strong> (<code>T5EncoderModel</code>) &#x2014;
Frozen text-encoder. Bria uses
<a href="https://huggingface.co/docs/transformers/model_doc/t5#transformers.T5EncoderModel" rel="nofollow">T5</a>, specifically the
<a href="https://huggingface.co/google/t5-v1_1-xxl" rel="nofollow">t5-v1_1-xxl</a> variant.`,name:"text_encoder"},{anchor:"diffusers.BriaPipeline.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"}],source:"https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/bria/pipeline_bria.py#L89"}}),O=new be({props:{name:"__call__",anchor:"diffusers.BriaPipeline.__call__",parameters:[{name:"prompt",val:": typing.Union[str, typing.List[str]] = None"},{name:"height",val:": typing.Optional[int] = None"},{name:"width",val:": typing.Optional[int] = None"},{name:"num_inference_steps",val:": int = 30"},{name:"timesteps",val:": typing.List[int] = None"},{name:"guidance_scale",val:": float = 5"},{name:"negative_prompt",val:": typing.Union[str, typing.List[str], NoneType] = None"},{name:"num_images_per_prompt",val:": typing.Optional[int] = 1"},{name:"generator",val:": typing.Union[torch._C.Generator, typing.List[torch._C.Generator], NoneType] = None"},{name:"latents",val:": typing.Optional[torch.FloatTensor] = None"},{name:"prompt_embeds",val:": typing.Optional[torch.FloatTensor] = None"},{name:"negative_prompt_embeds",val:": typing.Optional[torch.FloatTensor] = None"},{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.Optional[typing.Callable[[int, int, typing.Dict], NoneType]] = None"},{name:"callback_on_step_end_tensor_inputs",val:": typing.List[str] = ['latents']"},{name:"max_sequence_length",val:": int = 128"},{name:"clip_value",val:": typing.Optional[float] = None"},{name:"normalize",val:": bool = False"}],parametersDescription:[{anchor:"diffusers.BriaPipeline.__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.BriaPipeline.__call__.height",description:`<strong>height</strong> (<code>int</code>, <em>optional</em>, defaults to self.unet.config.sample_size * self.vae_scale_factor) &#x2014;
The height in pixels of the generated image. This is set to 1024 by default for the best results.`,name:"height"},{anchor:"diffusers.BriaPipeline.__call__.width",description:`<strong>width</strong> (<code>int</code>, <em>optional</em>, defaults to self.unet.config.sample_size * self.vae_scale_factor) &#x2014;
The width in pixels of the generated image. This is set to 1024 by default for the best results.`,name:"width"},{anchor:"diffusers.BriaPipeline.__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.BriaPipeline.__call__.timesteps",description:`<strong>timesteps</strong> (<code>List[int]</code>, <em>optional</em>) &#x2014;
Custom timesteps to use for the denoising process with schedulers which support a <code>timesteps</code> argument
in their <code>set_timesteps</code> method. If not defined, the default behavior when <code>num_inference_steps</code> is
passed will be used. Must be in descending order.`,name:"timesteps"},{anchor:"diffusers.BriaPipeline.__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.BriaPipeline.__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.BriaPipeline.__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.BriaPipeline.__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.BriaPipeline.__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 be generated by sampling using the supplied random <code>generator</code>.`,name:"latents"},{anchor:"diffusers.BriaPipeline.__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.BriaPipeline.__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.BriaPipeline.__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.BriaPipeline.__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.bria.BriaPipelineOutput</code> instead of a plain tuple.`,name:"return_dict"},{anchor:"diffusers.BriaPipeline.__call__.attention_kwargs",description:`<strong>attention_kwargs</strong> (<code>dict</code>, <em>optional</em>) &#x2014;
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.BriaPipeline.__call__.callback_on_step_end",description:`<strong>callback_on_step_end</strong> (<code>Callable</code>, <em>optional</em>) &#x2014;
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.BriaPipeline.__call__.callback_on_step_end_tensor_inputs",description:`<strong>callback_on_step_end_tensor_inputs</strong> (<code>List</code>, <em>optional</em>) &#x2014;
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.BriaPipeline.__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/bria/pipeline_bria.py#L448",returnDescription:`<script context="module">export const metadata = 'undefined';<\/script>


<p><code>~pipelines.bria.BriaPipelineOutput</code> if <code>return_dict</code>
is True, otherwise a <code>tuple</code>. When returning a tuple, the first element is a list with the generated
images.</p>
`,returnType:`<script context="module">export const metadata = 'undefined';<\/script>


<p><code>~pipelines.bria.BriaPipelineOutput</code> or <code>tuple</code></p>
`}}),M=new Ze({props:{anchor:"diffusers.BriaPipeline.__call__.example",$$slots:{default:[Se]},$$scope:{ctx:A}}}),Z=new be({props:{name:"encode_prompt",anchor:"diffusers.BriaPipeline.encode_prompt",parameters:[{name:"prompt",val:": typing.Union[str, typing.List[str]]"},{name:"device",val:": typing.Optional[torch.device] = None"},{name:"num_images_per_prompt",val:": int = 1"},{name:"do_classifier_free_guidance",val:": bool = True"},{name:"negative_prompt",val:": typing.Union[str, typing.List[str], NoneType] = None"},{name:"prompt_embeds",val:": typing.Optional[torch.FloatTensor] = None"},{name:"negative_prompt_embeds",val:": typing.Optional[torch.FloatTensor] = None"},{name:"max_sequence_length",val:": int = 128"},{name:"lora_scale",val:": typing.Optional[float] = None"}],parametersDescription:[{anchor:"diffusers.BriaPipeline.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.BriaPipeline.encode_prompt.device",description:`<strong>device</strong> &#x2014; (<code>torch.device</code>):
torch device`,name:"device"},{anchor:"diffusers.BriaPipeline.encode_prompt.num_images_per_prompt",description:`<strong>num_images_per_prompt</strong> (<code>int</code>) &#x2014;
number of images that should be generated per prompt`,name:"num_images_per_prompt"},{anchor:"diffusers.BriaPipeline.encode_prompt.do_classifier_free_guidance",description:`<strong>do_classifier_free_guidance</strong> (<code>bool</code>) &#x2014;
whether to use classifier free guidance or not`,name:"do_classifier_free_guidance"},{anchor:"diffusers.BriaPipeline.encode_prompt.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.BriaPipeline.encode_prompt.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.BriaPipeline.encode_prompt.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"}],source:"https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/bria/pipeline_bria.py#L146"}}),Y=new Ye({props:{source:"https://github.com/huggingface/diffusers/blob/main/docs/source/en/api/pipelines/bria_fibo.md"}}),{c(){p=r("meta"),$=i(),B=r("p"),m=i(),h(g.$$.fragment),s=i(),h(_.$$.fragment),X=i(),k=r("p"),k.textContent=ye,Q=i(),P=r("p"),P.textContent=we,K=i(),I=r("p"),I.textContent=xe,ee=i(),C=r("p"),C.innerHTML=Be,te=i(),J=r("p"),J.textContent=Te,ne=i(),U=r("p"),U.innerHTML=Me,oe=i(),h(j.$$.fragment),ie=i(),F=r("p"),F.innerHTML=$e,ae=i(),G=r("p"),G.textContent=ke,se=i(),h(L.$$.fragment),re=i(),h(N.$$.fragment),le=i(),d=r("div"),h(E.$$.fragment),me=i(),S=r("p"),S.textContent=Pe,ge=i(),V=r("ul"),V.innerHTML=Ie,fe=i(),T=r("div"),h(O.$$.fragment),ue=i(),R=r("p"),R.textContent=Ce,_e=i(),h(M.$$.fragment),he=i(),z=r("div"),h(Z.$$.fragment),pe=i(),h(Y.$$.fragment),de=i(),H=r("p"),this.h()},l(e){const t=Ee("svelte-u9bgzb",document.head);p=l(t,"META",{name:!0,content:!0}),t.forEach(n),$=a(e),B=l(e,"P",{}),W(B).forEach(n),m=a(e),b(g.$$.fragment,e),s=a(e),b(_.$$.fragment,e),X=a(e),k=l(e,"P",{"data-svelte-h":!0}),u(k)!=="svelte-iqpl0"&&(k.textContent=ye),Q=a(e),P=l(e,"P",{"data-svelte-h":!0}),u(P)!=="svelte-8pn13u"&&(P.textContent=we),K=a(e),I=l(e,"P",{"data-svelte-h":!0}),u(I)!=="svelte-j21x2m"&&(I.textContent=xe),ee=a(e),C=l(e,"P",{"data-svelte-h":!0}),u(C)!=="svelte-yvf2ql"&&(C.innerHTML=Be),te=a(e),J=l(e,"P",{"data-svelte-h":!0}),u(J)!=="svelte-glnvq5"&&(J.textContent=Te),ne=a(e),U=l(e,"P",{"data-svelte-h":!0}),u(U)!=="svelte-1wfrg05"&&(U.innerHTML=Me),oe=a(e),b(j.$$.fragment,e),ie=a(e),F=l(e,"P",{"data-svelte-h":!0}),u(F)!=="svelte-19cfle3"&&(F.innerHTML=$e),ae=a(e),G=l(e,"P",{"data-svelte-h":!0}),u(G)!=="svelte-12sg8l0"&&(G.textContent=ke),se=a(e),b(L.$$.fragment,e),re=a(e),b(N.$$.fragment,e),le=a(e),d=l(e,"DIV",{class:!0});var c=W(d);b(E.$$.fragment,c),me=a(c),S=l(c,"P",{"data-svelte-h":!0}),u(S)!=="svelte-18cwt80"&&(S.textContent=Pe),ge=a(c),V=l(c,"UL",{"data-svelte-h":!0}),u(V)!=="svelte-ubdgrr"&&(V.innerHTML=Ie),fe=a(c),T=l(c,"DIV",{class:!0});var D=W(T);b(O.$$.fragment,D),ue=a(D),R=l(D,"P",{"data-svelte-h":!0}),u(R)!=="svelte-v78lg8"&&(R.textContent=Ce),_e=a(D),b(M.$$.fragment,D),D.forEach(n),he=a(c),z=l(c,"DIV",{class:!0});var Je=W(z);b(Z.$$.fragment,Je),Je.forEach(n),c.forEach(n),pe=a(e),b(Y.$$.fragment,e),de=a(e),H=l(e,"P",{}),W(H).forEach(n),this.h()},h(){q(p,"name","hf:doc:metadata"),q(p,"content",Re),q(T,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),q(z,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),q(d,"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,p),o(e,$,t),o(e,B,t),o(e,m,t),v(g,e,t),o(e,s,t),v(_,e,t),o(e,X,t),o(e,k,t),o(e,Q,t),o(e,P,t),o(e,K,t),o(e,I,t),o(e,ee,t),o(e,C,t),o(e,te,t),o(e,J,t),o(e,ne,t),o(e,U,t),o(e,oe,t),v(j,e,t),o(e,ie,t),o(e,F,t),o(e,ae,t),o(e,G,t),o(e,se,t),v(L,e,t),o(e,re,t),v(N,e,t),o(e,le,t),o(e,d,t),v(E,d,null),f(d,me),f(d,S),f(d,ge),f(d,V),f(d,fe),f(d,T),v(O,T,null),f(T,ue),f(T,R),f(T,_e),v(M,T,null),f(d,he),f(d,z),v(Z,z,null),o(e,pe,t),v(Y,e,t),o(e,de,t),o(e,H,t),ce=!0},p(e,[t]){const c={};t&2&&(c.$$scope={dirty:t,ctx:e}),M.$set(c)},i(e){ce||(y(g.$$.fragment,e),y(_.$$.fragment,e),y(j.$$.fragment,e),y(L.$$.fragment,e),y(N.$$.fragment,e),y(E.$$.fragment,e),y(O.$$.fragment,e),y(M.$$.fragment,e),y(Z.$$.fragment,e),y(Y.$$.fragment,e),ce=!0)},o(e){w(g.$$.fragment,e),w(_.$$.fragment,e),w(j.$$.fragment,e),w(L.$$.fragment,e),w(N.$$.fragment,e),w(E.$$.fragment,e),w(O.$$.fragment,e),w(M.$$.fragment,e),w(Z.$$.fragment,e),w(Y.$$.fragment,e),ce=!1},d(e){e&&(n($),n(B),n(m),n(s),n(X),n(k),n(Q),n(P),n(K),n(I),n(ee),n(C),n(te),n(J),n(ne),n(U),n(oe),n(ie),n(F),n(ae),n(G),n(se),n(re),n(le),n(d),n(pe),n(de),n(H)),n(p),x(g,e),x(_,e),x(j,e),x(L,e),x(N,e),x(E),x(O),x(M),x(Z),x(Y,e)}}}const Re='{"title":"Bria Fibo","local":"bria-fibo","sections":[{"title":"Usage","local":"usage","sections":[],"depth":2},{"title":"BriaPipeline","local":"diffusers.BriaPipeline","sections":[],"depth":2}],"depth":1}';function ze(A){return Fe(()=>{new URLSearchParams(window.location.search).get("fw")}),[]}class Ke extends Le{constructor(p){super(),Ne(this,p,ze,Ve,je,{})}}export{Ke as component};
