import{s as We,o as Qe,n as Be}from"../chunks/scheduler.8c3d61f6.js";import{S as Re,i as Ve,g as c,s as a,r as b,A as Le,h as d,f as n,c as l,j as K,u as M,x as g,k as O,y as m,a as i,v as w,d as T,t as J,w as j}from"../chunks/index.da70eac4.js";import{T as Ye}from"../chunks/Tip.1d9b8c37.js";import{D as fe}from"../chunks/Docstring.6b390b9a.js";import{C as Xe}from"../chunks/CodeBlock.00a903b3.js";import{E as ke}from"../chunks/ExampleCodeBlock.db12be95.js";import{H as je,E as qe}from"../chunks/EditOnGithub.1e64e623.js";function Se(I){let o,h='Make sure to check out the Schedulers <a href="../../using-diffusers/schedulers">guide</a> to learn how to explore the tradeoff between scheduler speed and quality, and see the <a href="../../using-diffusers/loading#reuse-components-across-pipelines">reuse components across pipelines</a> section to learn how to efficiently load the same components into multiple pipelines.';return{c(){o=c("p"),o.innerHTML=h},l(p){o=d(p,"P",{"data-svelte-h":!0}),g(o)!=="svelte-1wmc0l4"&&(o.innerHTML=h)},m(p,r){i(p,o,r)},p:Be,d(p){p&&n(o)}}}function Fe(I){let o,h="Examples:",p,r,f;return r=new Xe({props:{code:"ZnJvbSUyMGRpZmZ1c2Vycy5waXBlbGluZXMlMjBpbXBvcnQlMjBCbGlwRGlmZnVzaW9uUGlwZWxpbmUlMEFmcm9tJTIwZGlmZnVzZXJzLnV0aWxzJTIwaW1wb3J0JTIwbG9hZF9pbWFnZSUwQWltcG9ydCUyMHRvcmNoJTBBJTBBYmxpcF9kaWZmdXNpb25fcGlwZSUyMCUzRCUyMEJsaXBEaWZmdXNpb25QaXBlbGluZS5mcm9tX3ByZXRyYWluZWQoJTBBJTIwJTIwJTIwJTIwJTIyU2FsZXNmb3JjZSUyRmJsaXBkaWZmdXNpb24lMjIlMkMlMjB0b3JjaF9kdHlwZSUzRHRvcmNoLmZsb2F0MTYlMEEpLnRvKCUyMmN1ZGElMjIpJTBBJTBBJTBBY29uZF9zdWJqZWN0JTIwJTNEJTIwJTIyZG9nJTIyJTBBdGd0X3N1YmplY3QlMjAlM0QlMjAlMjJkb2clMjIlMEF0ZXh0X3Byb21wdF9pbnB1dCUyMCUzRCUyMCUyMnN3aW1taW5nJTIwdW5kZXJ3YXRlciUyMiUwQSUwQWNvbmRfaW1hZ2UlMjAlM0QlMjBsb2FkX2ltYWdlKCUwQSUyMCUyMCUyMCUyMCUyMmh0dHBzJTNBJTJGJTJGaHVnZ2luZ2ZhY2UuY28lMkZkYXRhc2V0cyUyRmF5dXNodHVlcyUyRmJsaXBkaWZmdXNpb25faW1hZ2VzJTJGcmVzb2x2ZSUyRm1haW4lMkZkb2cuanBnJTIyJTBBKSUwQWd1aWRhbmNlX3NjYWxlJTIwJTNEJTIwNy41JTBBbnVtX2luZmVyZW5jZV9zdGVwcyUyMCUzRCUyMDI1JTBBbmVnYXRpdmVfcHJvbXB0JTIwJTNEJTIwJTIyb3Zlci1leHBvc3VyZSUyQyUyMHVuZGVyLWV4cG9zdXJlJTJDJTIwc2F0dXJhdGVkJTJDJTIwZHVwbGljYXRlJTJDJTIwb3V0JTIwb2YlMjBmcmFtZSUyQyUyMGxvd3JlcyUyQyUyMGNyb3BwZWQlMkMlMjB3b3JzdCUyMHF1YWxpdHklMkMlMjBsb3clMjBxdWFsaXR5JTJDJTIwanBlZyUyMGFydGlmYWN0cyUyQyUyMG1vcmJpZCUyQyUyMG11dGlsYXRlZCUyQyUyMG91dCUyMG9mJTIwZnJhbWUlMkMlMjB1Z2x5JTJDJTIwYmFkJTIwYW5hdG9teSUyQyUyMGJhZCUyMHByb3BvcnRpb25zJTJDJTIwZGVmb3JtZWQlMkMlMjBibHVycnklMkMlMjBkdXBsaWNhdGUlMjIlMEElMEElMEFvdXRwdXQlMjAlM0QlMjBibGlwX2RpZmZ1c2lvbl9waXBlKCUwQSUyMCUyMCUyMCUyMHRleHRfcHJvbXB0X2lucHV0JTJDJTBBJTIwJTIwJTIwJTIwY29uZF9pbWFnZSUyQyUwQSUyMCUyMCUyMCUyMGNvbmRfc3ViamVjdCUyQyUwQSUyMCUyMCUyMCUyMHRndF9zdWJqZWN0JTJDJTBBJTIwJTIwJTIwJTIwZ3VpZGFuY2Vfc2NhbGUlM0RndWlkYW5jZV9zY2FsZSUyQyUwQSUyMCUyMCUyMCUyMG51bV9pbmZlcmVuY2Vfc3RlcHMlM0RudW1faW5mZXJlbmNlX3N0ZXBzJTJDJTBBJTIwJTIwJTIwJTIwbmVnX3Byb21wdCUzRG5lZ2F0aXZlX3Byb21wdCUyQyUwQSUyMCUyMCUyMCUyMGhlaWdodCUzRDUxMiUyQyUwQSUyMCUyMCUyMCUyMHdpZHRoJTNENTEyJTJDJTBBKS5pbWFnZXMlMEFvdXRwdXQlNUIwJTVELnNhdmUoJTIyaW1hZ2UucG5nJTIyKQ==",highlighted:`<span class="hljs-meta">&gt;&gt;&gt; </span><span class="hljs-keyword">from</span> diffusers.pipelines <span class="hljs-keyword">import</span> BlipDiffusionPipeline
<span class="hljs-meta">&gt;&gt;&gt; </span><span class="hljs-keyword">from</span> diffusers.utils <span class="hljs-keyword">import</span> load_image
<span class="hljs-meta">&gt;&gt;&gt; </span><span class="hljs-keyword">import</span> torch

<span class="hljs-meta">&gt;&gt;&gt; </span>blip_diffusion_pipe = BlipDiffusionPipeline.from_pretrained(
<span class="hljs-meta">... </span>    <span class="hljs-string">&quot;Salesforce/blipdiffusion&quot;</span>, torch_dtype=torch.float16
<span class="hljs-meta">... </span>).to(<span class="hljs-string">&quot;cuda&quot;</span>)


<span class="hljs-meta">&gt;&gt;&gt; </span>cond_subject = <span class="hljs-string">&quot;dog&quot;</span>
<span class="hljs-meta">&gt;&gt;&gt; </span>tgt_subject = <span class="hljs-string">&quot;dog&quot;</span>
<span class="hljs-meta">&gt;&gt;&gt; </span>text_prompt_input = <span class="hljs-string">&quot;swimming underwater&quot;</span>

<span class="hljs-meta">&gt;&gt;&gt; </span>cond_image = load_image(
<span class="hljs-meta">... </span>    <span class="hljs-string">&quot;https://huggingface.co/datasets/ayushtues/blipdiffusion_images/resolve/main/dog.jpg&quot;</span>
<span class="hljs-meta">... </span>)
<span class="hljs-meta">&gt;&gt;&gt; </span>guidance_scale = <span class="hljs-number">7.5</span>
<span class="hljs-meta">&gt;&gt;&gt; </span>num_inference_steps = <span class="hljs-number">25</span>
<span class="hljs-meta">&gt;&gt;&gt; </span>negative_prompt = <span class="hljs-string">&quot;over-exposure, under-exposure, saturated, duplicate, out of frame, lowres, cropped, worst quality, low quality, jpeg artifacts, morbid, mutilated, out of frame, ugly, bad anatomy, bad proportions, deformed, blurry, duplicate&quot;</span>


<span class="hljs-meta">&gt;&gt;&gt; </span>output = blip_diffusion_pipe(
<span class="hljs-meta">... </span>    text_prompt_input,
<span class="hljs-meta">... </span>    cond_image,
<span class="hljs-meta">... </span>    cond_subject,
<span class="hljs-meta">... </span>    tgt_subject,
<span class="hljs-meta">... </span>    guidance_scale=guidance_scale,
<span class="hljs-meta">... </span>    num_inference_steps=num_inference_steps,
<span class="hljs-meta">... </span>    neg_prompt=negative_prompt,
<span class="hljs-meta">... </span>    height=<span class="hljs-number">512</span>,
<span class="hljs-meta">... </span>    width=<span class="hljs-number">512</span>,
<span class="hljs-meta">... </span>).images
<span class="hljs-meta">&gt;&gt;&gt; </span>output[<span class="hljs-number">0</span>].save(<span class="hljs-string">&quot;image.png&quot;</span>)`,wrap:!1}}),{c(){o=c("p"),o.textContent=h,p=a(),b(r.$$.fragment)},l(s){o=d(s,"P",{"data-svelte-h":!0}),g(o)!=="svelte-kvfsh7"&&(o.textContent=h),p=l(s),M(r.$$.fragment,s)},m(s,u){i(s,o,u),i(s,p,u),w(r,s,u),f=!0},p:Be,i(s){f||(T(r.$$.fragment,s),f=!0)},o(s){J(r.$$.fragment,s),f=!1},d(s){s&&(n(o),n(p)),j(r,s)}}}function Ee(I){let o,h="Examples:",p,r,f;return r=new Xe({props:{code:"ZnJvbSUyMGRpZmZ1c2Vycy5waXBlbGluZXMlMjBpbXBvcnQlMjBCbGlwRGlmZnVzaW9uQ29udHJvbE5ldFBpcGVsaW5lJTBBZnJvbSUyMGRpZmZ1c2Vycy51dGlscyUyMGltcG9ydCUyMGxvYWRfaW1hZ2UlMEFmcm9tJTIwY29udHJvbG5ldF9hdXglMjBpbXBvcnQlMjBDYW5ueURldGVjdG9yJTBBaW1wb3J0JTIwdG9yY2glMEElMEFibGlwX2RpZmZ1c2lvbl9waXBlJTIwJTNEJTIwQmxpcERpZmZ1c2lvbkNvbnRyb2xOZXRQaXBlbGluZS5mcm9tX3ByZXRyYWluZWQoJTBBJTIwJTIwJTIwJTIwJTIyU2FsZXNmb3JjZSUyRmJsaXBkaWZmdXNpb24tY29udHJvbG5ldCUyMiUyQyUyMHRvcmNoX2R0eXBlJTNEdG9yY2guZmxvYXQxNiUwQSkudG8oJTIyY3VkYSUyMiklMEElMEFzdHlsZV9zdWJqZWN0JTIwJTNEJTIwJTIyZmxvd2VyJTIyJTBBdGd0X3N1YmplY3QlMjAlM0QlMjAlMjJ0ZWFwb3QlMjIlMEF0ZXh0X3Byb21wdCUyMCUzRCUyMCUyMm9uJTIwYSUyMG1hcmJsZSUyMHRhYmxlJTIyJTBBJTBBY2xkbV9jb25kX2ltYWdlJTIwJTNEJTIwbG9hZF9pbWFnZSglMEElMjAlMjAlMjAlMjAlMjJodHRwcyUzQSUyRiUyRmh1Z2dpbmdmYWNlLmNvJTJGZGF0YXNldHMlMkZheXVzaHR1ZXMlMkZibGlwZGlmZnVzaW9uX2ltYWdlcyUyRnJlc29sdmUlMkZtYWluJTJGa2V0dGxlLmpwZyUyMiUwQSkucmVzaXplKCg1MTIlMkMlMjA1MTIpKSUwQWNhbm55JTIwJTNEJTIwQ2FubnlEZXRlY3RvcigpJTBBY2xkbV9jb25kX2ltYWdlJTIwJTNEJTIwY2FubnkoY2xkbV9jb25kX2ltYWdlJTJDJTIwMzAlMkMlMjA3MCUyQyUyMG91dHB1dF90eXBlJTNEJTIycGlsJTIyKSUwQXN0eWxlX2ltYWdlJTIwJTNEJTIwbG9hZF9pbWFnZSglMEElMjAlMjAlMjAlMjAlMjJodHRwcyUzQSUyRiUyRmh1Z2dpbmdmYWNlLmNvJTJGZGF0YXNldHMlMkZheXVzaHR1ZXMlMkZibGlwZGlmZnVzaW9uX2ltYWdlcyUyRnJlc29sdmUlMkZtYWluJTJGZmxvd2VyLmpwZyUyMiUwQSklMEFndWlkYW5jZV9zY2FsZSUyMCUzRCUyMDcuNSUwQW51bV9pbmZlcmVuY2Vfc3RlcHMlMjAlM0QlMjA1MCUwQW5lZ2F0aXZlX3Byb21wdCUyMCUzRCUyMCUyMm92ZXItZXhwb3N1cmUlMkMlMjB1bmRlci1leHBvc3VyZSUyQyUyMHNhdHVyYXRlZCUyQyUyMGR1cGxpY2F0ZSUyQyUyMG91dCUyMG9mJTIwZnJhbWUlMkMlMjBsb3dyZXMlMkMlMjBjcm9wcGVkJTJDJTIwd29yc3QlMjBxdWFsaXR5JTJDJTIwbG93JTIwcXVhbGl0eSUyQyUyMGpwZWclMjBhcnRpZmFjdHMlMkMlMjBtb3JiaWQlMkMlMjBtdXRpbGF0ZWQlMkMlMjBvdXQlMjBvZiUyMGZyYW1lJTJDJTIwdWdseSUyQyUyMGJhZCUyMGFuYXRvbXklMkMlMjBiYWQlMjBwcm9wb3J0aW9ucyUyQyUyMGRlZm9ybWVkJTJDJTIwYmx1cnJ5JTJDJTIwZHVwbGljYXRlJTIyJTBBJTBBJTBBb3V0cHV0JTIwJTNEJTIwYmxpcF9kaWZmdXNpb25fcGlwZSglMEElMjAlMjAlMjAlMjB0ZXh0X3Byb21wdCUyQyUwQSUyMCUyMCUyMCUyMHN0eWxlX2ltYWdlJTJDJTBBJTIwJTIwJTIwJTIwY2xkbV9jb25kX2ltYWdlJTJDJTBBJTIwJTIwJTIwJTIwc3R5bGVfc3ViamVjdCUyQyUwQSUyMCUyMCUyMCUyMHRndF9zdWJqZWN0JTJDJTBBJTIwJTIwJTIwJTIwZ3VpZGFuY2Vfc2NhbGUlM0RndWlkYW5jZV9zY2FsZSUyQyUwQSUyMCUyMCUyMCUyMG51bV9pbmZlcmVuY2Vfc3RlcHMlM0RudW1faW5mZXJlbmNlX3N0ZXBzJTJDJTBBJTIwJTIwJTIwJTIwbmVnX3Byb21wdCUzRG5lZ2F0aXZlX3Byb21wdCUyQyUwQSUyMCUyMCUyMCUyMGhlaWdodCUzRDUxMiUyQyUwQSUyMCUyMCUyMCUyMHdpZHRoJTNENTEyJTJDJTBBKS5pbWFnZXMlMEFvdXRwdXQlNUIwJTVELnNhdmUoJTIyaW1hZ2UucG5nJTIyKQ==",highlighted:`<span class="hljs-meta">&gt;&gt;&gt; </span><span class="hljs-keyword">from</span> diffusers.pipelines <span class="hljs-keyword">import</span> BlipDiffusionControlNetPipeline
<span class="hljs-meta">&gt;&gt;&gt; </span><span class="hljs-keyword">from</span> diffusers.utils <span class="hljs-keyword">import</span> load_image
<span class="hljs-meta">&gt;&gt;&gt; </span><span class="hljs-keyword">from</span> controlnet_aux <span class="hljs-keyword">import</span> CannyDetector
<span class="hljs-meta">&gt;&gt;&gt; </span><span class="hljs-keyword">import</span> torch

<span class="hljs-meta">&gt;&gt;&gt; </span>blip_diffusion_pipe = BlipDiffusionControlNetPipeline.from_pretrained(
<span class="hljs-meta">... </span>    <span class="hljs-string">&quot;Salesforce/blipdiffusion-controlnet&quot;</span>, torch_dtype=torch.float16
<span class="hljs-meta">... </span>).to(<span class="hljs-string">&quot;cuda&quot;</span>)

<span class="hljs-meta">&gt;&gt;&gt; </span>style_subject = <span class="hljs-string">&quot;flower&quot;</span>
<span class="hljs-meta">&gt;&gt;&gt; </span>tgt_subject = <span class="hljs-string">&quot;teapot&quot;</span>
<span class="hljs-meta">&gt;&gt;&gt; </span>text_prompt = <span class="hljs-string">&quot;on a marble table&quot;</span>

<span class="hljs-meta">&gt;&gt;&gt; </span>cldm_cond_image = load_image(
<span class="hljs-meta">... </span>    <span class="hljs-string">&quot;https://huggingface.co/datasets/ayushtues/blipdiffusion_images/resolve/main/kettle.jpg&quot;</span>
<span class="hljs-meta">... </span>).resize((<span class="hljs-number">512</span>, <span class="hljs-number">512</span>))
<span class="hljs-meta">&gt;&gt;&gt; </span>canny = CannyDetector()
<span class="hljs-meta">&gt;&gt;&gt; </span>cldm_cond_image = canny(cldm_cond_image, <span class="hljs-number">30</span>, <span class="hljs-number">70</span>, output_type=<span class="hljs-string">&quot;pil&quot;</span>)
<span class="hljs-meta">&gt;&gt;&gt; </span>style_image = load_image(
<span class="hljs-meta">... </span>    <span class="hljs-string">&quot;https://huggingface.co/datasets/ayushtues/blipdiffusion_images/resolve/main/flower.jpg&quot;</span>
<span class="hljs-meta">... </span>)
<span class="hljs-meta">&gt;&gt;&gt; </span>guidance_scale = <span class="hljs-number">7.5</span>
<span class="hljs-meta">&gt;&gt;&gt; </span>num_inference_steps = <span class="hljs-number">50</span>
<span class="hljs-meta">&gt;&gt;&gt; </span>negative_prompt = <span class="hljs-string">&quot;over-exposure, under-exposure, saturated, duplicate, out of frame, lowres, cropped, worst quality, low quality, jpeg artifacts, morbid, mutilated, out of frame, ugly, bad anatomy, bad proportions, deformed, blurry, duplicate&quot;</span>


<span class="hljs-meta">&gt;&gt;&gt; </span>output = blip_diffusion_pipe(
<span class="hljs-meta">... </span>    text_prompt,
<span class="hljs-meta">... </span>    style_image,
<span class="hljs-meta">... </span>    cldm_cond_image,
<span class="hljs-meta">... </span>    style_subject,
<span class="hljs-meta">... </span>    tgt_subject,
<span class="hljs-meta">... </span>    guidance_scale=guidance_scale,
<span class="hljs-meta">... </span>    num_inference_steps=num_inference_steps,
<span class="hljs-meta">... </span>    neg_prompt=negative_prompt,
<span class="hljs-meta">... </span>    height=<span class="hljs-number">512</span>,
<span class="hljs-meta">... </span>    width=<span class="hljs-number">512</span>,
<span class="hljs-meta">... </span>).images
<span class="hljs-meta">&gt;&gt;&gt; </span>output[<span class="hljs-number">0</span>].save(<span class="hljs-string">&quot;image.png&quot;</span>)`,wrap:!1}}),{c(){o=c("p"),o.textContent=h,p=a(),b(r.$$.fragment)},l(s){o=d(s,"P",{"data-svelte-h":!0}),g(o)!=="svelte-kvfsh7"&&(o.textContent=h),p=l(s),M(r.$$.fragment,s)},m(s,u){i(s,o,u),i(s,p,u),w(r,s,u),f=!0},p:Be,i(s){f||(T(r.$$.fragment,s),f=!0)},o(s){J(r.$$.fragment,s),f=!1},d(s){s&&(n(o),n(p)),j(r,s)}}}function ze(I){let o,h,p,r,f,s,u,ve='BLIP-Diffusion was proposed in <a href="https://arxiv.org/abs/2305.14720" rel="nofollow">BLIP-Diffusion: Pre-trained Subject Representation for Controllable Text-to-Image Generation and Editing</a>. It enables zero-shot subject-driven generation and control-guided zero-shot generation.',te,N,Ue="The abstract from the paper is:",ne,$,Ce='<em>Subject-driven text-to-image generation models create novel renditions of an input subject based on text prompts. Existing models suffer from lengthy fine-tuning and difficulties preserving the subject fidelity. To overcome these limitations, we introduce BLIP-Diffusion, a new subject-driven image generation model that supports multimodal control which consumes inputs of subject images and text prompts. Unlike other subject-driven generation models, BLIP-Diffusion introduces a new multimodal encoder which is pre-trained to provide subject representation. We first pre-train the multimodal encoder following BLIP-2 to produce visual representation aligned with the text. Then we design a subject representation learning task which enables a diffusion model to leverage such visual representation and generates new subject renditions. Compared with previous methods such as DreamBooth, our model enables zero-shot subject-driven generation, and efficient fine-tuning for customized subject with up to 20x speedup. We also demonstrate that BLIP-Diffusion can be flexibly combined with existing techniques such as ControlNet and prompt-to-prompt to enable novel subject-driven generation and editing applications. Project page at <a href="https://dxli94.github.io/BLIP-Diffusion-website/" rel="nofollow">this https URL</a>.</em>',se,G,xe='The original codebase can be found at <a href="https://github.com/salesforce/LAVIS/tree/main/projects/blip-diffusion" rel="nofollow">salesforce/LAVIS</a>. You can find the official BLIP-Diffusion checkpoints under the <a href="https://hf.co/SalesForce" rel="nofollow">hf.co/SalesForce</a> organization.',oe,k,Ie='<code>BlipDiffusionPipeline</code> and <code>BlipDiffusionControlNetPipeline</code> were contributed by <a href="https://github.com/ayushtues/" rel="nofollow"><code>ayushtues</code></a>.',ie,Z,ae,X,le,_,W,ue,q,Ze="Pipeline for Zero-Shot Subject Driven Generation using Blip Diffusion.",ge,S,Pe=`This model inherits from <a href="/docs/diffusers/v0.32.1/en/api/pipelines/overview#diffusers.DiffusionPipeline">DiffusionPipeline</a>. Check the superclass documentation for the generic methods the
library implements for all the pipelines (such as downloading or saving, running on a particular device, etc.)`,he,U,Q,_e,F,De="Function invoked when calling the pipeline for generation.",ye,P,re,R,pe,y,V,be,E,Ne="Pipeline for Canny Edge based Controlled subject-driven generation using Blip Diffusion.",Me,z,$e=`This model inherits from <a href="/docs/diffusers/v0.32.1/en/api/pipelines/overview#diffusers.DiffusionPipeline">DiffusionPipeline</a>. Check the superclass documentation for the generic methods the
library implements for all the pipelines (such as downloading or saving, running on a particular device, etc.)`,we,C,L,Te,H,Ge="Function invoked when calling the pipeline for generation.",Je,D,ce,Y,de,ee,me;return f=new je({props:{title:"BLIP-Diffusion",local:"blip-diffusion",headingTag:"h1"}}),Z=new Ye({props:{$$slots:{default:[Se]},$$scope:{ctx:I}}}),X=new je({props:{title:"BlipDiffusionPipeline",local:"diffusers.BlipDiffusionPipeline",headingTag:"h2"}}),W=new fe({props:{name:"class diffusers.BlipDiffusionPipeline",anchor:"diffusers.BlipDiffusionPipeline",parameters:[{name:"tokenizer",val:": CLIPTokenizer"},{name:"text_encoder",val:": ContextCLIPTextModel"},{name:"vae",val:": AutoencoderKL"},{name:"unet",val:": UNet2DConditionModel"},{name:"scheduler",val:": PNDMScheduler"},{name:"qformer",val:": Blip2QFormerModel"},{name:"image_processor",val:": BlipImageProcessor"},{name:"ctx_begin_pos",val:": int = 2"},{name:"mean",val:": typing.List[float] = None"},{name:"std",val:": typing.List[float] = None"}],parametersDescription:[{anchor:"diffusers.BlipDiffusionPipeline.tokenizer",description:`<strong>tokenizer</strong> (<code>CLIPTokenizer</code>) &#x2014;
Tokenizer for the text encoder`,name:"tokenizer"},{anchor:"diffusers.BlipDiffusionPipeline.text_encoder",description:`<strong>text_encoder</strong> (<code>ContextCLIPTextModel</code>) &#x2014;
Text encoder to encode the text prompt`,name:"text_encoder"},{anchor:"diffusers.BlipDiffusionPipeline.vae",description:`<strong>vae</strong> (<a href="/docs/diffusers/v0.32.1/en/api/models/autoencoderkl#diffusers.AutoencoderKL">AutoencoderKL</a>) &#x2014;
VAE model to map the latents to the image`,name:"vae"},{anchor:"diffusers.BlipDiffusionPipeline.unet",description:`<strong>unet</strong> (<a href="/docs/diffusers/v0.32.1/en/api/models/unet2d-cond#diffusers.UNet2DConditionModel">UNet2DConditionModel</a>) &#x2014;
Conditional U-Net architecture to denoise the image embedding.`,name:"unet"},{anchor:"diffusers.BlipDiffusionPipeline.scheduler",description:`<strong>scheduler</strong> (<a href="/docs/diffusers/v0.32.1/en/api/schedulers/pndm#diffusers.PNDMScheduler">PNDMScheduler</a>) &#x2014;
A scheduler to be used in combination with <code>unet</code> to generate image latents.`,name:"scheduler"},{anchor:"diffusers.BlipDiffusionPipeline.qformer",description:`<strong>qformer</strong> (<code>Blip2QFormerModel</code>) &#x2014;
QFormer model to get multi-modal embeddings from the text and image.`,name:"qformer"},{anchor:"diffusers.BlipDiffusionPipeline.image_processor",description:`<strong>image_processor</strong> (<code>BlipImageProcessor</code>) &#x2014;
Image Processor to preprocess and postprocess the image.`,name:"image_processor"},{anchor:"diffusers.BlipDiffusionPipeline.ctx_begin_pos",description:`<strong>ctx_begin_pos</strong> (int, <code>optional</code>, defaults to 2) &#x2014;
Position of the context token in the text encoder.`,name:"ctx_begin_pos"}],source:"https://github.com/huggingface/diffusers/blob/v0.32.1/src/diffusers/pipelines/blip_diffusion/pipeline_blip_diffusion.py#L75"}}),Q=new fe({props:{name:"__call__",anchor:"diffusers.BlipDiffusionPipeline.__call__",parameters:[{name:"prompt",val:": typing.List[str]"},{name:"reference_image",val:": Image"},{name:"source_subject_category",val:": typing.List[str]"},{name:"target_subject_category",val:": typing.List[str]"},{name:"latents",val:": typing.Optional[torch.Tensor] = None"},{name:"guidance_scale",val:": float = 7.5"},{name:"height",val:": int = 512"},{name:"width",val:": int = 512"},{name:"num_inference_steps",val:": int = 50"},{name:"generator",val:": typing.Union[torch._C.Generator, typing.List[torch._C.Generator], NoneType] = None"},{name:"neg_prompt",val:": typing.Optional[str] = ''"},{name:"prompt_strength",val:": float = 1.0"},{name:"prompt_reps",val:": int = 20"},{name:"output_type",val:": typing.Optional[str] = 'pil'"},{name:"return_dict",val:": bool = True"}],parametersDescription:[{anchor:"diffusers.BlipDiffusionPipeline.__call__.prompt",description:`<strong>prompt</strong> (<code>List[str]</code>) &#x2014;
The prompt or prompts to guide the image generation.`,name:"prompt"},{anchor:"diffusers.BlipDiffusionPipeline.__call__.reference_image",description:`<strong>reference_image</strong> (<code>PIL.Image.Image</code>) &#x2014;
The reference image to condition the generation on.`,name:"reference_image"},{anchor:"diffusers.BlipDiffusionPipeline.__call__.source_subject_category",description:`<strong>source_subject_category</strong> (<code>List[str]</code>) &#x2014;
The source subject category.`,name:"source_subject_category"},{anchor:"diffusers.BlipDiffusionPipeline.__call__.target_subject_category",description:`<strong>target_subject_category</strong> (<code>List[str]</code>) &#x2014;
The target subject category.`,name:"target_subject_category"},{anchor:"diffusers.BlipDiffusionPipeline.__call__.latents",description:`<strong>latents</strong> (<code>torch.Tensor</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 random sampling.`,name:"latents"},{anchor:"diffusers.BlipDiffusionPipeline.__call__.guidance_scale",description:`<strong>guidance_scale</strong> (<code>float</code>, <em>optional</em>, defaults to 7.5) &#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.BlipDiffusionPipeline.__call__.height",description:`<strong>height</strong> (<code>int</code>, <em>optional</em>, defaults to 512) &#x2014;
The height of the generated image.`,name:"height"},{anchor:"diffusers.BlipDiffusionPipeline.__call__.width",description:`<strong>width</strong> (<code>int</code>, <em>optional</em>, defaults to 512) &#x2014;
The width of the generated image.`,name:"width"},{anchor:"diffusers.BlipDiffusionPipeline.__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.BlipDiffusionPipeline.__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.BlipDiffusionPipeline.__call__.neg_prompt",description:`<strong>neg_prompt</strong> (<code>str</code>, <em>optional</em>, defaults to &quot;&quot;) &#x2014;
The prompt or prompts not to guide the image generation. Ignored when not using guidance (i.e., ignored
if <code>guidance_scale</code> is less than <code>1</code>).`,name:"neg_prompt"},{anchor:"diffusers.BlipDiffusionPipeline.__call__.prompt_strength",description:`<strong>prompt_strength</strong> (<code>float</code>, <em>optional</em>, defaults to 1.0) &#x2014;
The strength of the prompt. Specifies the number of times the prompt is repeated along with prompt_reps
to amplify the prompt.`,name:"prompt_strength"},{anchor:"diffusers.BlipDiffusionPipeline.__call__.prompt_reps",description:`<strong>prompt_reps</strong> (<code>int</code>, <em>optional</em>, defaults to 20) &#x2014;
The number of times the prompt is repeated along with prompt_strength to amplify the prompt.`,name:"prompt_reps"},{anchor:"diffusers.BlipDiffusionPipeline.__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: <code>&quot;pil&quot;</code> (<code>PIL.Image.Image</code>), <code>&quot;np&quot;</code>
(<code>np.array</code>) or <code>&quot;pt&quot;</code> (<code>torch.Tensor</code>).`,name:"output_type"},{anchor:"diffusers.BlipDiffusionPipeline.__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 <a href="/docs/diffusers/v0.32.1/en/api/pipelines/latent_diffusion#diffusers.ImagePipelineOutput">ImagePipelineOutput</a> instead of a plain tuple.`,name:"return_dict"}],source:"https://github.com/huggingface/diffusers/blob/v0.32.1/src/diffusers/pipelines/blip_diffusion/pipeline_blip_diffusion.py#L186",returnType:`<script context="module">export const metadata = 'undefined';<\/script>


<p><a
  href="/docs/diffusers/v0.32.1/en/api/pipelines/latent_diffusion#diffusers.ImagePipelineOutput"
>ImagePipelineOutput</a> or <code>tuple</code></p>
`}}),P=new ke({props:{anchor:"diffusers.BlipDiffusionPipeline.__call__.example",$$slots:{default:[Fe]},$$scope:{ctx:I}}}),R=new je({props:{title:"BlipDiffusionControlNetPipeline",local:"diffusers.BlipDiffusionControlNetPipeline",headingTag:"h2"}}),V=new fe({props:{name:"class diffusers.BlipDiffusionControlNetPipeline",anchor:"diffusers.BlipDiffusionControlNetPipeline",parameters:[{name:"tokenizer",val:": CLIPTokenizer"},{name:"text_encoder",val:": ContextCLIPTextModel"},{name:"vae",val:": AutoencoderKL"},{name:"unet",val:": UNet2DConditionModel"},{name:"scheduler",val:": PNDMScheduler"},{name:"qformer",val:": Blip2QFormerModel"},{name:"controlnet",val:": ControlNetModel"},{name:"image_processor",val:": BlipImageProcessor"},{name:"ctx_begin_pos",val:": int = 2"},{name:"mean",val:": typing.List[float] = None"},{name:"std",val:": typing.List[float] = None"}],parametersDescription:[{anchor:"diffusers.BlipDiffusionControlNetPipeline.tokenizer",description:`<strong>tokenizer</strong> (<code>CLIPTokenizer</code>) &#x2014;
Tokenizer for the text encoder`,name:"tokenizer"},{anchor:"diffusers.BlipDiffusionControlNetPipeline.text_encoder",description:`<strong>text_encoder</strong> (<code>ContextCLIPTextModel</code>) &#x2014;
Text encoder to encode the text prompt`,name:"text_encoder"},{anchor:"diffusers.BlipDiffusionControlNetPipeline.vae",description:`<strong>vae</strong> (<a href="/docs/diffusers/v0.32.1/en/api/models/autoencoderkl#diffusers.AutoencoderKL">AutoencoderKL</a>) &#x2014;
VAE model to map the latents to the image`,name:"vae"},{anchor:"diffusers.BlipDiffusionControlNetPipeline.unet",description:`<strong>unet</strong> (<a href="/docs/diffusers/v0.32.1/en/api/models/unet2d-cond#diffusers.UNet2DConditionModel">UNet2DConditionModel</a>) &#x2014;
Conditional U-Net architecture to denoise the image embedding.`,name:"unet"},{anchor:"diffusers.BlipDiffusionControlNetPipeline.scheduler",description:`<strong>scheduler</strong> (<a href="/docs/diffusers/v0.32.1/en/api/schedulers/pndm#diffusers.PNDMScheduler">PNDMScheduler</a>) &#x2014;
A scheduler to be used in combination with <code>unet</code> to generate image latents.`,name:"scheduler"},{anchor:"diffusers.BlipDiffusionControlNetPipeline.qformer",description:`<strong>qformer</strong> (<code>Blip2QFormerModel</code>) &#x2014;
QFormer model to get multi-modal embeddings from the text and image.`,name:"qformer"},{anchor:"diffusers.BlipDiffusionControlNetPipeline.controlnet",description:`<strong>controlnet</strong> (<a href="/docs/diffusers/v0.32.1/en/api/models/controlnet#diffusers.ControlNetModel">ControlNetModel</a>) &#x2014;
ControlNet model to get the conditioning image embedding.`,name:"controlnet"},{anchor:"diffusers.BlipDiffusionControlNetPipeline.image_processor",description:`<strong>image_processor</strong> (<code>BlipImageProcessor</code>) &#x2014;
Image Processor to preprocess and postprocess the image.`,name:"image_processor"},{anchor:"diffusers.BlipDiffusionControlNetPipeline.ctx_begin_pos",description:`<strong>ctx_begin_pos</strong> (int, <code>optional</code>, defaults to 2) &#x2014;
Position of the context token in the text encoder.`,name:"ctx_begin_pos"}],source:"https://github.com/huggingface/diffusers/blob/v0.32.1/src/diffusers/pipelines/controlnet/pipeline_controlnet_blip_diffusion.py#L82"}}),L=new fe({props:{name:"__call__",anchor:"diffusers.BlipDiffusionControlNetPipeline.__call__",parameters:[{name:"prompt",val:": typing.List[str]"},{name:"reference_image",val:": Image"},{name:"condtioning_image",val:": Image"},{name:"source_subject_category",val:": typing.List[str]"},{name:"target_subject_category",val:": typing.List[str]"},{name:"latents",val:": typing.Optional[torch.Tensor] = None"},{name:"guidance_scale",val:": float = 7.5"},{name:"height",val:": int = 512"},{name:"width",val:": int = 512"},{name:"num_inference_steps",val:": int = 50"},{name:"generator",val:": typing.Union[torch._C.Generator, typing.List[torch._C.Generator], NoneType] = None"},{name:"neg_prompt",val:": typing.Optional[str] = ''"},{name:"prompt_strength",val:": float = 1.0"},{name:"prompt_reps",val:": int = 20"},{name:"output_type",val:": typing.Optional[str] = 'pil'"},{name:"return_dict",val:": bool = True"}],parametersDescription:[{anchor:"diffusers.BlipDiffusionControlNetPipeline.__call__.prompt",description:`<strong>prompt</strong> (<code>List[str]</code>) &#x2014;
The prompt or prompts to guide the image generation.`,name:"prompt"},{anchor:"diffusers.BlipDiffusionControlNetPipeline.__call__.reference_image",description:`<strong>reference_image</strong> (<code>PIL.Image.Image</code>) &#x2014;
The reference image to condition the generation on.`,name:"reference_image"},{anchor:"diffusers.BlipDiffusionControlNetPipeline.__call__.condtioning_image",description:`<strong>condtioning_image</strong> (<code>PIL.Image.Image</code>) &#x2014;
The conditioning canny edge image to condition the generation on.`,name:"condtioning_image"},{anchor:"diffusers.BlipDiffusionControlNetPipeline.__call__.source_subject_category",description:`<strong>source_subject_category</strong> (<code>List[str]</code>) &#x2014;
The source subject category.`,name:"source_subject_category"},{anchor:"diffusers.BlipDiffusionControlNetPipeline.__call__.target_subject_category",description:`<strong>target_subject_category</strong> (<code>List[str]</code>) &#x2014;
The target subject category.`,name:"target_subject_category"},{anchor:"diffusers.BlipDiffusionControlNetPipeline.__call__.latents",description:`<strong>latents</strong> (<code>torch.Tensor</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 random sampling.`,name:"latents"},{anchor:"diffusers.BlipDiffusionControlNetPipeline.__call__.guidance_scale",description:`<strong>guidance_scale</strong> (<code>float</code>, <em>optional</em>, defaults to 7.5) &#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.BlipDiffusionControlNetPipeline.__call__.height",description:`<strong>height</strong> (<code>int</code>, <em>optional</em>, defaults to 512) &#x2014;
The height of the generated image.`,name:"height"},{anchor:"diffusers.BlipDiffusionControlNetPipeline.__call__.width",description:`<strong>width</strong> (<code>int</code>, <em>optional</em>, defaults to 512) &#x2014;
The width of the generated image.`,name:"width"},{anchor:"diffusers.BlipDiffusionControlNetPipeline.__call__.seed",description:`<strong>seed</strong> (<code>int</code>, <em>optional</em>, defaults to 42) &#x2014;
The seed to use for random generation.`,name:"seed"},{anchor:"diffusers.BlipDiffusionControlNetPipeline.__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.BlipDiffusionControlNetPipeline.__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.BlipDiffusionControlNetPipeline.__call__.neg_prompt",description:`<strong>neg_prompt</strong> (<code>str</code>, <em>optional</em>, defaults to &quot;&quot;) &#x2014;
The prompt or prompts not to guide the image generation. Ignored when not using guidance (i.e., ignored
if <code>guidance_scale</code> is less than <code>1</code>).`,name:"neg_prompt"},{anchor:"diffusers.BlipDiffusionControlNetPipeline.__call__.prompt_strength",description:`<strong>prompt_strength</strong> (<code>float</code>, <em>optional</em>, defaults to 1.0) &#x2014;
The strength of the prompt. Specifies the number of times the prompt is repeated along with prompt_reps
to amplify the prompt.`,name:"prompt_strength"},{anchor:"diffusers.BlipDiffusionControlNetPipeline.__call__.prompt_reps",description:`<strong>prompt_reps</strong> (<code>int</code>, <em>optional</em>, defaults to 20) &#x2014;
The number of times the prompt is repeated along with prompt_strength to amplify the prompt.`,name:"prompt_reps"}],source:"https://github.com/huggingface/diffusers/blob/v0.32.1/src/diffusers/pipelines/controlnet/pipeline_controlnet_blip_diffusion.py#L234",returnType:`<script context="module">export const metadata = 'undefined';<\/script>


<p><a
  href="/docs/diffusers/v0.32.1/en/api/pipelines/latent_diffusion#diffusers.ImagePipelineOutput"
>ImagePipelineOutput</a> or <code>tuple</code></p>
`}}),D=new ke({props:{anchor:"diffusers.BlipDiffusionControlNetPipeline.__call__.example",$$slots:{default:[Ee]},$$scope:{ctx:I}}}),Y=new qe({props:{source:"https://github.com/huggingface/diffusers/blob/main/docs/source/en/api/pipelines/blip_diffusion.md"}}),{c(){o=c("meta"),h=a(),p=c("p"),r=a(),b(f.$$.fragment),s=a(),u=c("p"),u.innerHTML=ve,te=a(),N=c("p"),N.textContent=Ue,ne=a(),$=c("p"),$.innerHTML=Ce,se=a(),G=c("p"),G.innerHTML=xe,oe=a(),k=c("p"),k.innerHTML=Ie,ie=a(),b(Z.$$.fragment),ae=a(),b(X.$$.fragment),le=a(),_=c("div"),b(W.$$.fragment),ue=a(),q=c("p"),q.textContent=Ze,ge=a(),S=c("p"),S.innerHTML=Pe,he=a(),U=c("div"),b(Q.$$.fragment),_e=a(),F=c("p"),F.textContent=De,ye=a(),b(P.$$.fragment),re=a(),b(R.$$.fragment),pe=a(),y=c("div"),b(V.$$.fragment),be=a(),E=c("p"),E.textContent=Ne,Me=a(),z=c("p"),z.innerHTML=$e,we=a(),C=c("div"),b(L.$$.fragment),Te=a(),H=c("p"),H.textContent=Ge,Je=a(),b(D.$$.fragment),ce=a(),b(Y.$$.fragment),de=a(),ee=c("p"),this.h()},l(e){const t=Le("svelte-u9bgzb",document.head);o=d(t,"META",{name:!0,content:!0}),t.forEach(n),h=l(e),p=d(e,"P",{}),K(p).forEach(n),r=l(e),M(f.$$.fragment,e),s=l(e),u=d(e,"P",{"data-svelte-h":!0}),g(u)!=="svelte-1im19ct"&&(u.innerHTML=ve),te=l(e),N=d(e,"P",{"data-svelte-h":!0}),g(N)!=="svelte-1cwsb16"&&(N.textContent=Ue),ne=l(e),$=d(e,"P",{"data-svelte-h":!0}),g($)!=="svelte-1wic6w9"&&($.innerHTML=Ce),se=l(e),G=d(e,"P",{"data-svelte-h":!0}),g(G)!=="svelte-f1ydvp"&&(G.innerHTML=xe),oe=l(e),k=d(e,"P",{"data-svelte-h":!0}),g(k)!=="svelte-18ljjot"&&(k.innerHTML=Ie),ie=l(e),M(Z.$$.fragment,e),ae=l(e),M(X.$$.fragment,e),le=l(e),_=d(e,"DIV",{class:!0});var B=K(_);M(W.$$.fragment,B),ue=l(B),q=d(B,"P",{"data-svelte-h":!0}),g(q)!=="svelte-1nzcqmi"&&(q.textContent=Ze),ge=l(B),S=d(B,"P",{"data-svelte-h":!0}),g(S)!=="svelte-z1o2s0"&&(S.innerHTML=Pe),he=l(B),U=d(B,"DIV",{class:!0});var x=K(U);M(Q.$$.fragment,x),_e=l(x),F=d(x,"P",{"data-svelte-h":!0}),g(F)!=="svelte-v78lg8"&&(F.textContent=De),ye=l(x),M(P.$$.fragment,x),x.forEach(n),B.forEach(n),re=l(e),M(R.$$.fragment,e),pe=l(e),y=d(e,"DIV",{class:!0});var v=K(y);M(V.$$.fragment,v),be=l(v),E=d(v,"P",{"data-svelte-h":!0}),g(E)!=="svelte-1njh28z"&&(E.textContent=Ne),Me=l(v),z=d(v,"P",{"data-svelte-h":!0}),g(z)!=="svelte-z1o2s0"&&(z.innerHTML=$e),we=l(v),C=d(v,"DIV",{class:!0});var A=K(C);M(L.$$.fragment,A),Te=l(A),H=d(A,"P",{"data-svelte-h":!0}),g(H)!=="svelte-v78lg8"&&(H.textContent=Ge),Je=l(A),M(D.$$.fragment,A),A.forEach(n),v.forEach(n),ce=l(e),M(Y.$$.fragment,e),de=l(e),ee=d(e,"P",{}),K(ee).forEach(n),this.h()},h(){O(o,"name","hf:doc:metadata"),O(o,"content",He),O(U,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),O(_,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),O(C,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),O(y,"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){m(document.head,o),i(e,h,t),i(e,p,t),i(e,r,t),w(f,e,t),i(e,s,t),i(e,u,t),i(e,te,t),i(e,N,t),i(e,ne,t),i(e,$,t),i(e,se,t),i(e,G,t),i(e,oe,t),i(e,k,t),i(e,ie,t),w(Z,e,t),i(e,ae,t),w(X,e,t),i(e,le,t),i(e,_,t),w(W,_,null),m(_,ue),m(_,q),m(_,ge),m(_,S),m(_,he),m(_,U),w(Q,U,null),m(U,_e),m(U,F),m(U,ye),w(P,U,null),i(e,re,t),w(R,e,t),i(e,pe,t),i(e,y,t),w(V,y,null),m(y,be),m(y,E),m(y,Me),m(y,z),m(y,we),m(y,C),w(L,C,null),m(C,Te),m(C,H),m(C,Je),w(D,C,null),i(e,ce,t),w(Y,e,t),i(e,de,t),i(e,ee,t),me=!0},p(e,[t]){const B={};t&2&&(B.$$scope={dirty:t,ctx:e}),Z.$set(B);const x={};t&2&&(x.$$scope={dirty:t,ctx:e}),P.$set(x);const v={};t&2&&(v.$$scope={dirty:t,ctx:e}),D.$set(v)},i(e){me||(T(f.$$.fragment,e),T(Z.$$.fragment,e),T(X.$$.fragment,e),T(W.$$.fragment,e),T(Q.$$.fragment,e),T(P.$$.fragment,e),T(R.$$.fragment,e),T(V.$$.fragment,e),T(L.$$.fragment,e),T(D.$$.fragment,e),T(Y.$$.fragment,e),me=!0)},o(e){J(f.$$.fragment,e),J(Z.$$.fragment,e),J(X.$$.fragment,e),J(W.$$.fragment,e),J(Q.$$.fragment,e),J(P.$$.fragment,e),J(R.$$.fragment,e),J(V.$$.fragment,e),J(L.$$.fragment,e),J(D.$$.fragment,e),J(Y.$$.fragment,e),me=!1},d(e){e&&(n(h),n(p),n(r),n(s),n(u),n(te),n(N),n(ne),n($),n(se),n(G),n(oe),n(k),n(ie),n(ae),n(le),n(_),n(re),n(pe),n(y),n(ce),n(de),n(ee)),n(o),j(f,e),j(Z,e),j(X,e),j(W),j(Q),j(P),j(R,e),j(V),j(L),j(D),j(Y,e)}}}const He='{"title":"BLIP-Diffusion","local":"blip-diffusion","sections":[{"title":"BlipDiffusionPipeline","local":"diffusers.BlipDiffusionPipeline","sections":[],"depth":2},{"title":"BlipDiffusionControlNetPipeline","local":"diffusers.BlipDiffusionControlNetPipeline","sections":[],"depth":2}],"depth":1}';function Ae(I){return Qe(()=>{new URLSearchParams(window.location.search).get("fw")}),[]}class it extends Re{constructor(o){super(),Ve(this,o,Ae,ze,We,{})}}export{it as component};
