Buckets:
| # Flux2 | |
| Flux.2 — это недавняя серия моделей генерации изображений от Black Forest Labs, предшественником которой была серия [Flux.1](./flux). Это совершенно новая модель с новой архитектурой, обученная с нуля! | |
| Оригинальные контрольные точки модели Flux можно найти [здесь](https://huggingface.co/black-forest-labs). Исходный код для инференса доступен [здесь](https://github.com/black-forest-labs/flux2). | |
| > [!TIP] | |
| > Запуск Flux2 на потребительском оборудовании может быть довольно затратным. Однако вы можете применить набор оптимизаций, чтобы ускорить работу и снизить требования к памяти. Подробности изложены в [этом разделе](https://huggingface.co/blog/sd3#memory-optimizations-for-sd3). Кроме того, Flux может выиграть от квантования с точки зрения эффективности использования памяти, что, однако, приводит к увеличению задержки вывода. Подробнее см. в [этой статье](https://huggingface.co/blog/quanto-diffusers). | |
| > | |
| > [Кэширование](../../optimization/cache) также может ускорить инференс за счёт хранения и повторного использования промежуточных результатов. | |
| ## Увеличение разрешения подписей | |
| Flux.2 потенциально способен генерировать более качественные результаты при использовании улучшенных промптов. Мы можем «апсэмплировать» входной промпт, задав аргумент `caption_upsample_temperature` в параметрах вызова пайплайна. [Официальная реализация](https://github.com/black-forest-labs/flux2/blob/5a5d316b1b42f6b59a8c9194b77c8256be848432/src/flux2/text_encoder.py#L140) рекомендует использовать значение 0.15. | |
| ## Flux2Pipeline[[diffusers.Flux2Pipeline]] | |
| #### diffusers.Flux2Pipeline[[diffusers.Flux2Pipeline]] | |
| ```python | |
| diffusers.Flux2Pipeline(scheduler: FlowMatchEulerDiscreteScheduler, vae: AutoencoderKLFlux2, text_encoder: Mistral3ForConditionalGeneration, tokenizer: AutoProcessor, transformer: Flux2Transformer2DModel) | |
| ``` | |
| [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/flux2/pipeline_flux2.py#L251) | |
| **Параметры:** | |
| transformer ([Flux2Transformer2DModel](/docs/diffusers/main/ru/api/models/flux2_transformer#diffusers.Flux2Transformer2DModel)) : архитектура условного Transformer (MMDiT) для удаления шума из закодированных латентов изображения. | |
| scheduler ([FlowMatchEulerDiscreteScheduler](/docs/diffusers/main/ru/api/schedulers/flow_match_euler_discrete#diffusers.FlowMatchEulerDiscreteScheduler)) : планировщик, используемый в связке с `transformer` для удаления шума из закодированных латентов изображения. | |
| vae (`AutoencoderKLFlux2`) : Модель вариационного автоэнкодера (VAE) для кодирования изображений в латентные представления и декодирования из них. | |
| text_encoder (`Mistral3ForConditionalGeneration`) : [Mistral3ForConditionalGeneration](https://huggingface.co/docs/transformers/en/model_doc/mistral3#transformers.Mistral3ForConditionalGeneration) | |
| tokenizer (`AutoProcessor`) : Токенизатор класса [PixtralProcessor](https://huggingface.co/docs/transformers/en/model_doc/pixtral#transformers.PixtralProcessor). | |
| Пайплайн Flux2 для генерации изображений по тексту. | |
| Справочная информация: [https://bfl.ai/blog/flux-2](https://bfl.ai/blog/flux-2) | |
| #### __call__[[diffusers.Flux2Pipeline.__call__]] | |
| ```python | |
| __call__(image: PIL.Image.Image | list[PIL.Image.Image] | None = None, prompt: str | list[str] = None, height: int | None = None, width: int | None = None, num_inference_steps: int = 50, sigmas: list[float] | None = None, guidance_scale: float | None = 4.0, num_images_per_prompt: int = 1, generator: typing.Union[torch.Generator, list[torch.Generator], NoneType] = None, latents: typing.Optional[torch.Tensor] = None, prompt_embeds: typing.Optional[torch.Tensor] = None, output_type: str | None = 'pil', return_dict: bool = True, attention_kwargs: dict[str, typing.Any] | None = None, callback_on_step_end: typing.Optional[typing.Callable[[int, int], NoneType]] = None, callback_on_step_end_tensor_inputs: list[str] = ['latents'], max_sequence_length: int = 512, text_encoder_out_layers: tuple[int] = (10, 20, 30), caption_upsample_temperature: float = None) | |
| ``` | |
| [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/flux2/pipeline_flux2.py#L746) | |
| **Параметры:** | |
| image (`torch.Tensor`, `PIL.Image.Image`, `np.ndarray`, `list[torch.Tensor]`, `list[PIL.Image.Image]` или `list[np.ndarray]`) : `Image`, массив numpy или тензор, представляющие пакет изображений, который будет использоваться в качестве начальной точки. Для массивов numpy и тензоров pytorch ожидаемый диапазон значений составляет `[0, 1]`. Если передается тензор или список тензоров, ожидаемая форма должна быть `(B, C, H, W)` или `(C, H, W)`. Если передается массив numpy или список массивов, ожидаемая форма должна быть `(B, H, W, C)` или `(H, W, C)`. Также можно передавать латенты изображений в качестве `image`, но при прямой передаче латентов они не кодируются повторно. | |
| prompt (`str` или `list[str]`, *необязательный*) : Промпт или промпты для управления генерацией изображения. Если не задан, необходимо передать `prompt_embeds` вместо него. | |
| guidance_scale (`float`, *optional*, по умолчанию 1.0) : Встроенный масштаб руководства (embedded guidance scale) включается при установке `guidance_scale` > 1. Более высокое значение `guidance_scale` побуждает модель генерировать изображения, более точно соответствующие `prompt`, за счёт снижения качества изображения. Модели, дистиллированные по руководству (guidance-distilled), аппроксимируют истинное классификаторно-свободное руководство (classifier-free guidance) для `guidance_scale` > 1. Подробнее см. в [статье](https://huggingface.co/papers/2210.03142). | |
| height (`int`, *optional*, по умолчанию self.unet.config.sample_size * self.vae_scale_factor) : Высота генерируемого изображения в пикселях. По умолчанию установлено значение 1024 для достижения наилучших результатов. | |
| width (`int`, *optional*, по умолчанию self.unet.config.sample_size * self.vae_scale_factor) : Ширина генерируемого изображения в пикселях. По умолчанию установлено значение 1024 для достижения наилучших результатов. | |
| num_inference_steps (`int`, *optional*, по умолчанию 50) : Количество шагов денойзинга. Как правило, большее число шагов денойзинга приводит к изображению более высокого качества, но за счёт более медленного вывода. | |
| sigmas (`list[float]`, *optional*) : Пользовательские сигмы для процесса денойзинга в планировщиках, поддерживающих аргумент `sigmas` в методе `set_timesteps`. Если не задано, будет использовано поведение по умолчанию при передаче `num_inference_steps`. | |
| num_images_per_prompt (`int`, *необязательный*, по умолчанию 1) : Количество изображений, генерируемых на один запрос. | |
| generator (`torch.Generator` или `list[torch.Generator]`, *необязательный*) : Один или список [генераторов torch](https://pytorch.org/docs/stable/generated/torch.Generator.html) для обеспечения детерминированности генерации. | |
| latents (`torch.Tensor`, *необязательный*) : Предварительно сгенерированные зашумленные латенты, выбранные из гауссова распределения, которые используются в качестве входных данных для генерации изображений. Можно использовать, чтобы скорректировать одну и ту же генерацию с разными промптами. Если не предоставлены, тензор латентов будет сгенерирован путём выборки с использованием переданного случайного `generator`. | |
| prompt_embeds (`torch.Tensor`, *необязательный*) : Предварительно сгенерированные текстовые эмбеддинги. Можно использовать для простой настройки текстовых входных данных, *например* для взвешивания промпта. Если не предоставлены, текстовые эмбеддинги будут сгенерированы из входного аргумента `prompt`. | |
| output_type (`str`, *необязательный*, по умолчанию `"pil"`) : Формат вывода для генерируемого изображения. Выберите между [PIL](https://pillow.readthedocs.io/en/stable/): `PIL.Image.Image` или `np.array`. | |
| return_dict (`bool`, *необязательный*, по умолчанию `True`) : Возвращать ли `~pipelines.qwenimage.QwenImagePipelineOutput` вместо обычного кортежа. | |
| attention_kwargs (`dict`, *необязательный*) : Словарь kwargs, который при указании передается в `AttentionProcessor`, определенный в `self.processor` в [diffusers.models.attention_processor](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/attention_processor.py). | |
| callback_on_step_end (`Callable`, *необязательный*) : функция, вызываемая в конце каждого шага денойзинга во время инференса. Функция вызывается со следующими аргументами: `callback_on_step_end(self: DiffusionPipeline, step: int, timestep: int, callback_kwargs: Dict)`. `callback_kwargs` будет содержать список всех тензоров, как указано в `callback_on_step_end_tensor_inputs`. | |
| callback_on_step_end_tensor_inputs (`List`, *необязательный*) : Список тензорных входных данных для функции `callback_on_step_end`. Тензоры, указанные в списке, будут переданы в качестве аргумента `callback_kwargs`. Вы сможете включать только переменные, перечисленные в атрибуте `._callback_tensor_inputs` вашего класса конвейера. | |
| max_sequence_length (`int` по умолчанию 512) : Максимальная длина последовательности, используемая с `prompt`. | |
| text_encoder_out_layers (`tuple[int]`) : Индексы слоёв, используемые в `text_encoder` для получения финальных эмбеддингов промпта. | |
| caption_upsample_temperature (`float`) : Если указано, мы будем пытаться выполнять апсемплинг подписей для потенциального улучшения результатов. Мы рекомендуем установить значение 0.15, если планируется выполнение апсемплинга подписей. | |
| **Возвращает:** `~pipelines.flux2.Flux2PipelineOutput` или `tuple` | |
| `~pipelines.flux2.Flux2PipelineOutput`, если `return_dict` равно True, иначе `tuple`. При возврате кортежа первым элементом является список с сгенерированными изображениями. | |
| Функция, вызываемая при обращении к конвейеру для генерации. | |
| Примеры: | |
| ```py | |
| >>> import torch | |
| >>> from diffusers import Flux2Pipeline | |
| >>> pipe = Flux2Pipeline.from_pretrained("black-forest-labs/FLUX.2-dev", torch_dtype=torch.bfloat16) | |
| >>> pipe.to("cuda") | |
| >>> prompt = "A cat holding a sign that says hello world" | |
| >>> # Depending on the variant being used, the pipeline call will slightly vary. | |
| >>> # Refer to the pipeline documentation for more details. | |
| >>> image = pipe(prompt, num_inference_steps=50, guidance_scale=2.5).images[0] | |
| >>> image.save("flux.png") | |
| ``` | |
| ## Flux2KleinPipeline[[diffusers.Flux2KleinPipeline]] | |
| #### diffusers.Flux2KleinPipeline[[diffusers.Flux2KleinPipeline]] | |
| ```python | |
| diffusers.Flux2KleinPipeline(scheduler: FlowMatchEulerDiscreteScheduler, vae: AutoencoderKLFlux2, text_encoder: Qwen3ForCausalLM, tokenizer: Qwen2Tokenizer, transformer: Flux2Transformer2DModel, is_distilled: bool = False) | |
| ``` | |
| [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/flux2/pipeline_flux2_klein.py#L155) | |
| **Параметры:** | |
| transformer ([Flux2Transformer2DModel](/docs/diffusers/main/ru/api/models/flux2_transformer#diffusers.Flux2Transformer2DModel)) : архитектура условного Transformer (MMDiT) для удаления шума из закодированных латентов изображения. | |
| scheduler ([FlowMatchEulerDiscreteScheduler](/docs/diffusers/main/ru/api/schedulers/flow_match_euler_discrete#diffusers.FlowMatchEulerDiscreteScheduler)) : планировщик, используемый в связке с `transformer` для удаления шума из закодированных латентов изображения. | |
| vae (`AutoencoderKLFlux2`) : Модель вариационного автоэнкодера (VAE) для кодирования изображений в латентные представления и декодирования из них. | |
| text_encoder (`Qwen3ForCausalLM`) : [Qwen3ForCausalLM](https://huggingface.co/docs/transformers/en/model_doc/qwen3#transformers.Qwen3ForCausalLM) | |
| tokenizer (`Qwen2TokenizerFast`) : Токенизатор класса [Qwen2TokenizerFast](https://huggingface.co/docs/transformers/en/model_doc/qwen2#transformers.Qwen2TokenizerFast). | |
| Пайплайн Flux2 Klein для генерации изображений по тексту. | |
| Ссылка: [https://bfl.ai/blog/flux2-klein-towards-interactive-visual-intelligence](https://bfl.ai/blog/flux2-klein-towards-interactive-visual-intelligence) | |
| #### __call__[[diffusers.Flux2KleinPipeline.__call__]] | |
| ```python | |
| __call__(image: list[PIL.Image.Image] | PIL.Image.Image | None = None, prompt: str | list[str] = None, height: int | None = None, width: int | None = None, num_inference_steps: int = 50, sigmas: list[float] | None = None, guidance_scale: float = 4.0, num_images_per_prompt: int = 1, generator: typing.Union[torch.Generator, list[torch.Generator], NoneType] = None, latents: typing.Optional[torch.Tensor] = None, prompt_embeds: typing.Optional[torch.Tensor] = None, negative_prompt_embeds: str | list[str] | None = None, output_type: str = 'pil', return_dict: bool = True, attention_kwargs: dict[str, typing.Any] | None = None, callback_on_step_end: typing.Optional[typing.Callable[[int, int, dict], NoneType]] = None, callback_on_step_end_tensor_inputs: list[str] = ['latents'], max_sequence_length: int = 512, text_encoder_out_layers: tuple[int] = (9, 18, 27)) | |
| ``` | |
| [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/flux2/pipeline_flux2_klein.py#L614) | |
| **Параметры:** | |
| image (`torch.Tensor`, `PIL.Image.Image`, `np.ndarray`, `List[torch.Tensor]`, `List[PIL.Image.Image]` или `List[np.ndarray]`) : `Image`, массив numpy или тензор, представляющие пакет изображений, который будет использоваться в качестве начальной точки. Для массивов numpy и тензоров pytorch ожидаемый диапазон значений составляет `[0, 1]`. Если передан тензор или список тензоров, ожидаемая форма должна быть `(B, C, H, W)` или `(C, H, W)`. Если передан массив numpy или список массивов, ожидаемая форма должна быть `(B, H, W, C)` или `(H, W, C)`. Также можно передавать латенты изображений в качестве `image`, но при прямой передаче латентов они не кодируются повторно. | |
| prompt (`str` или `List[str]`, *необязательный*) : Промпт или промпты для управления генерацией изображения. Если не задан, необходимо передать `prompt_embeds` вместо него. | |
| guidance_scale (`float`, *optional*, по умолчанию 4.0) : Масштаб руководства, как определено в [Classifier-Free Diffusion Guidance](https://huggingface.co/papers/2207.12598). `guidance_scale` определяется как `w` из уравнения 2. в [Imagen Paper](https://huggingface.co/papers/2205.11487). Масштаб руководства активируется при установке `guidance_scale > 1`. Более высокий масштаб руководства способствует генерации изображений, тесно связанных с текстовым `prompt`, обычно за счёт снижения качества изображения. Для пошагово дистиллированных моделей `guidance_scale` игнорируется. | |
| height (`int`, *optional*, по умолчанию self.unet.config.sample_size * self.vae_scale_factor) : Высота генерируемого изображения в пикселях. По умолчанию установлено значение 1024 для достижения наилучших результатов. | |
| width (`int`, *optional*, по умолчанию self.unet.config.sample_size * self.vae_scale_factor) : Ширина генерируемого изображения в пикселях. По умолчанию установлено значение 1024 для достижения наилучших результатов. | |
| num_inference_steps (`int`, *optional*, по умолчанию 50) : Количество шагов денойзинга. Как правило, большее число шагов денойзинга приводит к изображению более высокого качества, но за счёт более медленного вывода. | |
| sigmas (`List[float]`, *необязательный*) : Пользовательские сигмы для процесса денуазинга в планировщиках, поддерживающих аргумент `sigmas` в методе `set_timesteps`. Если не задано, будет использоваться поведение по умолчанию при передаче `num_inference_steps`. | |
| num_images_per_prompt (`int`, *необязательный*, по умолчанию 1) : Количество изображений, генерируемых на один запрос. | |
| generator (`torch.Generator` или `List[torch.Generator]`, *необязательный*) : Один или список [генераторов torch](https://pytorch.org/docs/stable/generated/torch.Generator.html) для обеспечения детерминированности генерации. | |
| latents (`torch.Tensor`, *необязательный*) : Предварительно сгенерированные зашумленные латенты, выбранные из гауссова распределения, которые используются в качестве входных данных для генерации изображений. Можно использовать, чтобы скорректировать одну и ту же генерацию с разными промптами. Если не предоставлены, тензор латентов будет сгенерирован путём выборки с использованием переданного случайного `generator`. | |
| prompt_embeds (`torch.Tensor`, *необязательный*) : Предварительно сгенерированные текстовые эмбеддинги. Можно использовать для простой настройки текстовых входных данных, *например* для взвешивания промпта. Если не предоставлены, текстовые эмбеддинги будут сгенерированы из входного аргумента `prompt`. | |
| negative_prompt_embeds (`torch.Tensor`, *необязательный*) : Предварительно сгенерированные отрицательные текстовые эмбеддинги. Обратите внимание, что в этом конвейере в качестве отрицательного промпта используется "". Если значение не указано, оно будет сгенерировано из "". | |
| output_type (`str`, *необязательный*, по умолчанию `"pil"`) : Формат вывода для генерируемого изображения. Выберите между [PIL](https://pillow.readthedocs.io/en/stable/): `PIL.Image.Image` или `np.array`. | |
| return_dict (`bool`, *необязательный*, по умолчанию `True`) : Возвращать ли `~pipelines.qwenimage.QwenImagePipelineOutput` вместо обычного кортежа. | |
| attention_kwargs (`dict`, *необязательный*) : Словарь kwargs, который при указании передается в `AttentionProcessor`, определенный в `self.processor` в [diffusers.models.attention_processor](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/attention_processor.py). | |
| callback_on_step_end (`Callable`, *необязательный*) : функция, вызываемая в конце каждого шага денойзинга во время инференса. Функция вызывается со следующими аргументами: `callback_on_step_end(self: DiffusionPipeline, step: int, timestep: int, callback_kwargs: Dict)`. `callback_kwargs` будет содержать список всех тензоров, как указано в `callback_on_step_end_tensor_inputs`. | |
| callback_on_step_end_tensor_inputs (`List`, *необязательный*) : Список тензорных входных данных для функции `callback_on_step_end`. Тензоры, указанные в списке, будут переданы в качестве аргумента `callback_kwargs`. Вы сможете включать только переменные, перечисленные в атрибуте `._callback_tensor_inputs` вашего класса конвейера. | |
| max_sequence_length (`int` по умолчанию 512) : Максимальная длина последовательности, используемая с `prompt`. | |
| text_encoder_out_layers (`tuple[int]`) : Индексы слоёв, используемые в `text_encoder` для получения финальных эмбеддингов промпта. | |
| **Возвращает:** `~pipelines.flux2.Flux2PipelineOutput` или `tuple` | |
| `~pipelines.flux2.Flux2PipelineOutput`, если `return_dict` равно True, иначе `tuple`. При возврате кортежа первым элементом является список с сгенерированными изображениями. | |
| Функция, вызываемая при обращении к конвейеру для генерации. | |
| Примеры: | |
| ```py | |
| >>> import torch | |
| >>> from diffusers import Flux2KleinPipeline | |
| >>> pipe = Flux2KleinPipeline.from_pretrained( | |
| ... "black-forest-labs/FLUX.2-klein-base-9B", torch_dtype=torch.bfloat16 | |
| ... ) | |
| >>> pipe.to("cuda") | |
| >>> prompt = "A cat holding a sign that says hello world" | |
| >>> # Depending on the variant being used, the pipeline call will slightly vary. | |
| >>> # Refer to the pipeline documentation for more details. | |
| >>> image = pipe(prompt, num_inference_steps=50, guidance_scale=4.0).images[0] | |
| >>> image.save("flux2_output.png") | |
| ``` | |
| ## Flux2KleinKVPipeline[[diffusers.Flux2KleinKVPipeline]] | |
| #### diffusers.Flux2KleinKVPipeline[[diffusers.Flux2KleinKVPipeline]] | |
| ```python | |
| diffusers.Flux2KleinKVPipeline(scheduler: FlowMatchEulerDiscreteScheduler, vae: AutoencoderKLFlux2, text_encoder: Qwen3ForCausalLM, tokenizer: Qwen2Tokenizer, transformer: Flux2Transformer2DModel, is_distilled: bool = True) | |
| ``` | |
| [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/flux2/pipeline_flux2_klein_kv.py#L155) | |
| **Параметры:** | |
| transformer ([Flux2Transformer2DModel](/docs/diffusers/main/ru/api/models/flux2_transformer#diffusers.Flux2Transformer2DModel)) : архитектура условного Transformer (MMDiT) для удаления шума из закодированных латентов изображения. | |
| scheduler ([FlowMatchEulerDiscreteScheduler](/docs/diffusers/main/ru/api/schedulers/flow_match_euler_discrete#diffusers.FlowMatchEulerDiscreteScheduler)) : планировщик, используемый в связке с `transformer` для удаления шума из закодированных латентов изображения. | |
| vae (`AutoencoderKLFlux2`) : Модель вариационного автоэнкодера (VAE) для кодирования изображений в латентные представления и декодирования из них. | |
| text_encoder (`Qwen3ForCausalLM`) : [Qwen3ForCausalLM](https://huggingface.co/docs/transformers/en/model_doc/qwen3#transformers.Qwen3ForCausalLM) | |
| tokenizer (`Qwen2TokenizerFast`) : Токенизатор класса [Qwen2TokenizerFast](https://huggingface.co/docs/transformers/en/model_doc/qwen2#transformers.Qwen2TokenizerFast). | |
| Пайплайн Flux2 Klein KV для генерации изображений по тексту с использованием KV-кэшированного условия на основе референсного изображения. | |
| На первом шаге удаления шума токены опорного изображения включаются в прямой проход, а их проекции K/V внимания кэшируются. На последующих шагах кэшированные K/V переиспользуются без повторного вычисления, что обеспечивает более быстрый вывод при использовании опорных изображений. | |
| Ссылка: [https://bfl.ai/blog/flux2-klein-towards-interactive-visual-intelligence](https://bfl.ai/blog/flux2-klein-towards-interactive-visual-intelligence) | |
| #### __call__[[diffusers.Flux2KleinKVPipeline.__call__]] | |
| ```python | |
| __call__(image: list[PIL.Image.Image] | PIL.Image.Image | None = None, prompt: str | list[str] = None, height: int | None = None, width: int | None = None, num_inference_steps: int = 4, sigmas: list[float] | None = None, num_images_per_prompt: int = 1, generator: typing.Union[torch.Generator, list[torch.Generator], NoneType] = None, latents: typing.Optional[torch.Tensor] = None, prompt_embeds: typing.Optional[torch.Tensor] = None, output_type: str = 'pil', return_dict: bool = True, attention_kwargs: dict[str, typing.Any] | None = None, callback_on_step_end: typing.Optional[typing.Callable[[int, int, dict], NoneType]] = None, callback_on_step_end_tensor_inputs: list[str] = ['latents'], max_sequence_length: int = 512, text_encoder_out_layers: tuple[int] = (9, 18, 27)) | |
| ``` | |
| [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/flux2/pipeline_flux2_klein_kv.py#L610) | |
| **Параметры:** | |
| image (`PIL.Image.Image` или `List[PIL.Image.Image]`, *необязательный*) : Справочное изображение(я) для условного формирования. На первом шаге денойзинга токены справочных изображений включаются в прямой проход, а их значения внимания K/V кэшируются. На последующих шагах кэшированные K/V переиспользуются без повторного вычисления. | |
| prompt (`str` или `List[str]`, *необязательный*) : Промпт или промпты для управления генерацией изображения. | |
| height (`int`, *необязательный*) : Высота генерируемого изображения в пикселях. | |
| width (`int`, *необязательный*) : Ширина сгенерированного изображения в пикселях. | |
| num_inference_steps (`int`, *optional*, по умолчанию 4) : Количество шагов денойзинга. | |
| sigmas (`List[float]`, *необязательный*) : Пользовательские сигмы для расписания денойзинга. | |
| num_images_per_prompt (`int`, *необязательный*, по умолчанию 1) : Количество изображений, генерируемых на один запрос. | |
| generator (`torch.Generator` или `List[torch.Generator]`, *необязательный*) : Генератор(ы) для детерминированной генерации. | |
| latents (`torch.Tensor`, *необязательный*) : Предварительно сгенерированные зашумленные латенты. | |
| prompt_embeds (`torch.Tensor`, *необязательный*) : Предварительно сгенерированные текстовые эмбеддинги. | |
| output_type (`str`, *необязательный*, по умолчанию `"pil"`) : Формат вывода: `"pil"` или `"np"`. | |
| return_dict (`bool`, *необязательный*, по умолчанию `True`) : Возвращать ли `Flux2PipelineOutput` или обычный кортеж. | |
| attention_kwargs (`dict`, *необязательный*) : Дополнительные аргументы, передаваемые в обработчики внимания. | |
| callback_on_step_end (`Callable`, *необязательный*) : Функция обратного вызова, вызываемая в конце каждого шага удаления шума. | |
| callback_on_step_end_tensor_inputs (`List`, *необязательный*) : тензорные входные данные для функции обратного вызова. | |
| max_sequence_length (`int`, по умолчанию 512) : Максимальная длина последовательности для промпта. | |
| text_encoder_out_layers (`tuple[int]`) : Индексы слоёв для извлечения скрытых состояний текстового кодировщика. | |
| **Возвращает:** | |
| `~pipelines.flux2.Flux2PipelineOutput` или `tuple`. | |
| Функция, вызываемая при обращении к конвейеру для генерации. | |
| Примеры: | |
| ```py | |
| >>> import torch | |
| >>> from PIL import Image | |
| >>> from diffusers import Flux2KleinKVPipeline | |
| >>> pipe = Flux2KleinKVPipeline.from_pretrained( | |
| ... "black-forest-labs/FLUX.2-klein-9b-kv", torch_dtype=torch.bfloat16 | |
| ... ) | |
| >>> pipe.to("cuda") | |
| >>> ref_image = Image.open("reference.png") | |
| >>> image = pipe("A cat dressed like a wizard", image=ref_image, num_inference_steps=4).images[0] | |
| >>> image.save("flux2_kv_output.png") | |
| ``` | |
Xet Storage Details
- Size:
- 34.2 kB
- Xet hash:
- 9d62060843919edf57b7246bb1e79f28d5f833d8b845aa5d603c60e71ab64350
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.