class_docstr: Pipeline for text-to-image generation using stable unCLIP.
  
  This model inherits from [`DiffusionPipeline`]. Check the superclass documentation for the generic methods
  implemented for all pipelines (downloading, saving, running on a particular device, etc.).
  
  Args:
      prior_tokenizer ([`CLIPTokenizer`]):
          A [`CLIPTokenizer`].
      prior_text_encoder ([`CLIPTextModelWithProjection`]):
          Frozen [`CLIPTextModelWithProjection`] text-encoder.
      prior ([`PriorTransformer`]):
          The canonincal unCLIP prior to approximate the image embedding from the text embedding.
      prior_scheduler ([`KarrasDiffusionSchedulers`]):
          Scheduler used in the prior denoising process.
      image_normalizer ([`StableUnCLIPImageNormalizer`]):
          Used to normalize the predicted image embeddings before the noise is applied and un-normalize the image
          embeddings after the noise has been applied.
      image_noising_scheduler ([`KarrasDiffusionSchedulers`]):
          Noise schedule for adding noise to the predicted image embeddings. The amount of noise to add is determined
          by the `noise_level`.
      tokenizer ([`CLIPTokenizer`]):
          A [`CLIPTokenizer`].
      text_encoder ([`CLIPTextModel`]):
          Frozen [`CLIPTextModel`] text-encoder.
      unet ([`UNet2DConditionModel`]):
          A [`UNet2DConditionModel`] to denoise the encoded image latents.
      scheduler ([`KarrasDiffusionSchedulers`]):
          A scheduler to be used in combination with `unet` to denoise the encoded image latents.
      vae ([`AutoencoderKL`]):
          Variational Auto-Encoder (VAE) Model to encode and decode images to and from latent representations.
code: def prepare_prior_extra_step_kwargs(self, generator, eta):
      # prepare extra kwargs for the prior_scheduler step, since not all prior_schedulers have the same signature
      # eta (η) is only used with the DDIMScheduler, it will be ignored for other prior_schedulers.
      # eta corresponds to η in DDIM paper: https://arxiv.org/abs/2010.02502
      # and should be between [0, 1]
  
      accepts_eta = "eta" in set(
          inspect.signature(self.prior_scheduler.step).parameters.keys()
      )
      extra_step_kwargs = {}
      if accepts_eta:
          extra_step_kwargs["eta"] = eta
  
      # check if the prior_scheduler accepts generator
      accepts_generator = "generator" in set(
          inspect.signature(self.prior_scheduler.step).parameters.keys()
      )
      if accepts_generator:
          extra_step_kwargs["generator"] = generator
      return extra_step_kwargs
  
imports: import inspect
  from typing import Any, Callable, Dict, List, Optional, Tuple, Union
  import torch
  from transformers import CLIPTextModel, CLIPTextModelWithProjection, CLIPTokenizer
  from transformers.models.clip.modeling_clip import CLIPTextModelOutput
  from ...image_processor import VaeImageProcessor
  from ...loaders import LoraLoaderMixin, TextualInversionLoaderMixin
  from ...models import AutoencoderKL, PriorTransformer, UNet2DConditionModel
  from ...models.embeddings import get_timestep_embedding
  from ...models.lora import adjust_lora_scale_text_encoder
  from ...schedulers import KarrasDiffusionSchedulers
  from ...utils import USE_PEFT_BACKEND, deprecate, logging, replace_example_docstring, scale_lora_layers, unscale_lora_layers
  from ...utils.torch_utils import randn_tensor
  from ..pipeline_utils import DiffusionPipeline, ImagePipelineOutput
  from .stable_unclip_image_normalizer import StableUnCLIPImageNormalizer
label_desc: Use image node_id 8 for calling the StableUnCLIPPipeline obj's underlying member method code with example usage: obj.prepare_prior_extra_step_kwargs(generator, eta) and returns: extra_step_kwargs