# Qwen-Image 2.1

يقوم Qwen-Image 2.1 بتشفير الأمر وأي صور شرطية معًا باستخدام نموذج Qwen3-VL، ثم يُزيل الضوضاء من الصورة المستهدفة باستخدام محول سببي أحادي التدفق على مستوى الكتل. راجع [`QwenImage21Transformer2DModel`](../models/qwenimage21_transformer2d) للاطلاع على الانتباه السببي على مستوى الكتل، ومعالجات الانتباه، و`causal_condition`.

القيم الافتراضية هي القيم التي يوصي بها Qwen: 40 خطوةً وبدون توجيه. مرّر `negative_prompt` مع `true_cfg_scale > 1` لتفعيل التوجيه الحر من التصنيف، مما يضاعف العمل في كل خطوة.

```python
import torch
from diffusers import QwenImage21Pipeline

pipe = QwenImage21Pipeline.from_pretrained("Qwen/Qwen-Image-2.1", dtype=torch.bfloat16).to("cuda")

# Text-to-image
image = pipe("A capybara wearing a wizard hat, oil painting").images[0]
image.save("t2i.png")

# Image-conditioned editing
edited = pipe("Move it to a snowy mountain top", image=image).images[0]
edited.save("edit.png")
```

## صور شروط متعددة

مرر قائمة إلى `image` وسيصبح كل عنصر منها كتلة مستقلة في التسلسل المشترك: يرى مُشفّر Qwen3-VL هذه العناصر كسياق بصري، بينما تُسهم VAE في رموزها الكامنة. يحافظ الانتباه السببي على مستوى الكتل على ثنائية الاتجاه داخل كل كتلة، مع السماح للكتل اللاحقة والصورة المستهدفة بالانتباه إلى الكتل السابقة، وبالتالي فإن الترتيب الذي تمرره به هو الترتيب الذي تقرأه به النموذج.

```python
edited = pipe("Put the flowers from the first image into the second scene", image=[flowers, scene]).images[0]
```

## انتباه أسرع باستخدام flex_attention

يعمل `QwenImage21AttnProcessor` الافتراضي على تنفيذ التعبئة السببية على مستوى الكتلة (block-causal prefill) كنداء واحد للانتباه لكل مقطع بادئة. ولا يحتاج إلى تجميع ويعمل على أي إصدار من PyTorch. أما `QwenImage21FlexAttnProcessor` فيعبّر عن نفس القناع كنداء واحد لـ`flex_attention`، وهو أسرع عندما يكون النموذج **_مجمّعًا_**.

> [!TIP]
> قم بتجميع النموذج عند الانتقال إلى المعالج المرن. إن `flex_attention` غير المُجمَّع يُنشئ مصفوفة درجات الانتباه الكاملة بدقة fp32، وهو ما يكون أبطأ بكثير ويستنفد الذاكرة عند الدقة العالية.

```python
from diffusers.models.transformers.transformer_qwenimage21 import QwenImage21FlexAttnProcessor

pipe.transformer.set_attn_processor(QwenImage21FlexAttnProcessor())
pipe.transformer.compile()
```

## تحميل نقاط التفتيش أحادية الملف

```python
import torch
from diffusers import QwenImage21Pipeline, QwenImage21Transformer2DModel

transformer = QwenImage21Transformer2DModel.from_single_file(
    "https://huggingface.co/Comfy-Org/Qwen-Image-2.1/blob/main/diffusion_models/qwen_image_2.1_bf16.safetensors",
    dtype=torch.bfloat16,
)
pipe = QwenImage21Pipeline.from_pretrained("Qwen/Qwen-Image-2.1", transformer=transformer, dtype=torch.bfloat16).to(
    "cuda"
)
```

## إشارات التجميع

يمكن لمطوّري النماذج تكوين شبكة أخذ عينات افتراضية باستخدام `sample_sigmas` في إعدادات خط الأنابيب. عند تحميل نقطة تفتيش منشورة، يتم استعادة إعدادات الشبكة والمجدول الافتراضية الخاصة بها تلقائيًا.

لتجربة شبكة مختلفة وقت التشغيل، مرّر `sigmas` إلى استدعاء خط الأنابيب:

```python
# Use the checkpoint's default sampling grid.
image = pipe(prompt).images[0]

# Override the default grid for this call.
image = pipe(prompt, sigmas=[1.0, 0.8, 0.5, 0.2]).images[0]
```

يوضح الشبكة المخصصة أعلاه واجهة برمجة التطبيقات؛ وتعتمد جودة التوليد على نقطة الفحص والشبكة. تستثني قوائم سيغما قيمة سيغما النهائية، والتي تضيفها المجدول. تتجاوز قوائم `sigmas` الصريحة قيمة `sample_sigmas` المُعدّة، وتحدد أيٌّ من القائمتين عدد الخطوات بدلاً من `num_inference_steps`. إذا لم تُوفَّر أيٌّ منهما، يستخدم خط الأنابيب `num_inference_steps` لتوليد الجدول. يطبّق المجدول المعالجة المُعدّة لديه على أيٍّ من الشبكتين.

## المنفصلة

يتوفر Qwen-Image 2.1 أيضاً على شكل [خط أنابيب معياري](../../modular_diffusers/overview). تعمل نفس الوحدات على توليد الصور من النص والتوليد المشروط بالصور: مرّر `image` لتوجيه التوليد بناءً على صورة واحدة أو أكثر. يتم تكوين التوجيه الحر من التصنيف (Classifier-free guidance) عبر مكوّن `guider` بدلاً من معامل استدعاء `true_cfg_scale`، ويكون كاش KV للمقدمة مفعّلاً افتراضياً (يتم تعطيله عبر `use_kv_cache=False`).

```python
import torch
from diffusers import ClassifierFreeGuidance, ModularPipeline

pipe = ModularPipeline.from_pretrained("Qwen/Qwen-Image-2.1")
pipe.load_components(dtype=torch.bfloat16)
pipe.to("cuda")

image = pipe(prompt="A capybara wearing a wizard hat, oil painting").images[0]

# Turn classifier-free guidance on for an edit.
pipe.update_components(guider=ClassifierFreeGuidance(guidance_scale=4.0))
edited = pipe(prompt="Move it to a snowy mountain top", negative_prompt="blurry", image=image).images[0]
```

يتوافق نقطة التفتيش Turbo مع كتلها الخاصة ([QwenImage21TurboAutoBlocks](/docs/diffusers/main/ar/api/pipelines/qwenimage21#diffusers.QwenImage21TurboAutoBlocks)): فهي تعمل دون `guider`، ولا تستقبل `negative_prompt`، وتُجري أخذ العينات من شبكة sigma المرفقة معها. يختار `ModularPipeline.from_pretrained` كتل Turbo من مدخل `sample_sigmas` في إعدادات نقطة التفتيش، لذا لا حاجة لأي إعداد:

```python
import torch
from diffusers import ModularPipeline

pipe = ModularPipeline.from_pretrained("Qwen/Qwen-Image-2.1-Turbo")
pipe.load_components(dtype=torch.bfloat16)
pipe.to("cuda")

image = pipe(prompt="A capybara wearing a wizard hat, oil painting").images[0]
```

## QwenImage21Pipeline[[diffusers.QwenImage21Pipeline]]

#### diffusers.QwenImage21Pipeline[[diffusers.QwenImage21Pipeline]]

```python
diffusers.QwenImage21Pipeline(scheduler: FlowMatchEulerDiscreteScheduler, vae: AutoencoderKLQwenImage21, text_encoder: Qwen3VLForConditionalGeneration, processor: Qwen3VLProcessor, transformer: QwenImage21Transformer2DModel, sample_sigmas: list[float] | None = None)
```

[المصدر](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/qwenimage21/pipeline_qwenimage21.py#L159)

**المعاملات:**

scheduler ([FlowMatchEulerDiscreteScheduler](/docs/diffusers/main/ar/api/schedulers/flow_match_euler_discrete#diffusers.FlowMatchEulerDiscreteScheduler)) : الجدولة المستخدمة لإزالة الضوضاء من كائنات الصورة المشفرة.

vae ([AutoencoderKLQwenImage21](/docs/diffusers/main/ar/api/models/autoencoderkl_qwenimage21#diffusers.AutoencoderKLQwenImage21)) : مُشفِّر مُتغيِّر (Variational auto-encoder) يُحوِّل الصور إلى فضاء الكامِن ذي 64 قناة ويعيدها منه.

text_encoder (`Qwen3VLForConditionalGeneration`) : نموذج Qwen3-VL الذي ينتج التضمينات المشتركة للنص والصورة.

processor (`Qwen3VLProcessor`) : مُعالِج يقوم ببناء قالب المحادثة (chat template) وتجزئة (tokenization) النص (prompt) والصور الشرطية (condition images).

transformer ([QwenImage21Transformer2DModel](/docs/diffusers/main/ar/api/models/qwenimage21_transformer2d#diffusers.QwenImage21Transformer2DModel)) : محوّل سببيّ الكتلي ذو التدفق الواحد الذي يُزيل الضوضاء من الكمونيات.

sample_sigmas (`list[float]`، *اختياري*) : قيم سيجما الافتراضية للعينة التي يحددها مؤلف النموذج، باستثناء سيجما النهائي. يحدد طولها عدد خطوات إزالة الضوضاء. لتجربة شبكة مختلفة وقت التشغيل، مرّر `sigmas` إلى `__call__`.

التوليد من النص إلى الصورة والتوليد المشروط على الصورة باستخدام Qwen-Image 2.1.

تُرمَّز صورة المُوجِّه وصورة الشرط معًا بواسطة نموذج Qwen3-VL، لذا تشغل صورة الشرط فتحات الرؤية التي خصصها المُرمِّز لها، ويرى المُحوِّل تسلسلًا واحدًا متشابكًا من النص والصور.

#### __call__[[diffusers.QwenImage21Pipeline.__call__]]

```python
__call__(prompt: str | list[str] = None, image: typing.Union[PIL.Image.Image, numpy.ndarray, torch.Tensor, list[PIL.Image.Image], list[numpy.ndarray], list[torch.Tensor], NoneType] = None, negative_prompt: str | list[str] = None, true_cfg_scale: float = 1.0, height: int | None = None, width: int | None = None, num_inference_steps: int = 40, 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, prompt_embeds_mask: typing.Optional[torch.Tensor] = None, negative_prompt_embeds: typing.Optional[torch.Tensor] = None, negative_prompt_embeds_mask: 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, dict], NoneType]] = None, callback_on_step_end_tensor_inputs: list[str] = ['latents'], output_resolution: int = 1024, use_kv_cache: bool = True)
```

[المصدر](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/qwenimage21/pipeline_qwenimage21.py#L509)

**المعاملات:**

prompt (`str` أو `list[str]`، *اختياري*) : الأمر الموجّه لتوليد الصورة. مرّر `prompt_embeds` بدلاً من ذلك لتزويد التضمينات مباشرة.

image (`PipelineImageInput`، *اختياري*) : صورة أو أكثر من صور الشروط، بصيغة صورة PIL أو مصفوفة numpy. يتم ترميزها بواسطة مُرمِّز النص كسياق بصري، وبواسطة VAE إلى رموز كامنة تُضاف قبل الضوضاء. القائمة تمثل مجموعة واحدة من الصور مشتركة بين كل الأوامر في الدفعة، وليس عنصرًا واحدًا لكل أمر.

negative_prompt (`str` أو `list[str]`، *اختياري*) : الأمر النصي الذي لا يوجّه توليد الصورة. يتم تجاهله عندما لا يكون `true_cfg_scale` أكبر من 1.

true_cfg_scale (`float`، *اختياري*، القيمة الافتراضية 1.0) : مقياس التوجيه الحر من التصنيف. يتم تفعيله بواسطة `true_cfg_scale > 1` معًا مع موجه سلبي. يُقصد بـ Qwen-Image 2.1 أن يُعتمد على أخذ العينات دون توجيه، ومن هنا تكون القيمة الافتراضية 1.0.

height (`int`، *اختياري*) : ارتفاع الصورة المولّدة بالبكسلات. يُشتق من نسبة أبعاد صورة الشرط إذا تمّ حذفه.

width (`int`، *اختياري*) : عرض الصورة المولدة بالبكسل. يُشتق من نسبة أبعاد صورة الشرط إذا تم حذفه.

num_inference_steps (`int`، *اختياري*، القيمة الافتراضية 40) : عدد خطوات إزالة الضوضاء. يتم تجاهله عند استخدام `sigmas` أو `sample_sigmas` المُهيّأ في خط الأنابيب؛ حيث يحدد طول ذلك الجدول عدد الخطوات.

sigmas (`list[float]`، *اختياري*) : قيم سيجما (sigmas) للعينة التي يجب تجربتها في هذه الاستدعاء، باستثناء سيجما النهائي. يتجاوز هذا الإعداد `sample_sigmas` المُهيأ في خط الأنابيب ويحدد عدد خطوات إزالة الضوضاء. يطبّق المجدول (scheduler) المعالجة المُهيأة لديه على هذه القيم.

num_images_per_prompt (`int`، *اختياري*، القيمة الافتراضية 1) : عدد الصور المولّدة لكل موجه.

generator (`torch.Generator` أو `list[torch.Generator]`، *اختياري*) : مولّدات لجعل التوليد حتميًا.

latents (`torch.Tensor`، *اختياري*) : كامنات ضجيج مُولّدة مسبقًا.

prompt_embeds (`torch.Tensor`، *اختياري*) : تمثيلات نصية مُولّدة مسبقًا، والتي تتخطى ترميز الموجه. مرّر `prompt_embeds_mask` معها.

prompt_embeds_mask (`torch.Tensor`، *اختياري*) : قناع منطقي (Bool) يحدد المواضع الصالحة لـ`prompt_embeds`.

negative_prompt_embeds (`torch.Tensor`، *اختياري*) : تمثيلات نصية سالبة مُولّدة مسبقًا، تُستخدم بدلًا من `negative_prompt`. مرّر `negative_prompt_embeds_mask` معها.

negative_prompt_embeds_mask (`torch.Tensor`، *اختياري*) : قناع منطقي (Bool) يحدد المواضع الصالحة لـ`negative_prompt_embeds`.

output_type (`str`، *اختياري*، الافتراضي `"pil"`) : صيغة الإخراج، `"pil"` أو `"np"` أو `"pt"` أو `"latent"`.

return_dict (`bool`، *اختياري*، الافتراضي `True`) : ما إذا كان يجب إرجاع `~pipelines.qwenimage.QwenImagePipelineOutput` بدلاً من tuple عادي.

attention_kwargs (`dict`، *اختياري*) : يُمرَّر إلى معالج الانتباه.

callback_on_step_end (`Callable`، *اختياري*) : يُستدعى في نهاية كل خطوة إزالة ضوضاء.

callback_on_step_end_tensor_inputs (`list[str]`، *اختياري*، القيمة الافتراضية `["latents"]`) : المصفوفات من حلقة إزالة الضوضاء التي تُمرَّر إلى `callback_on_step_end`. يجب أن تكون مدرجة في `_callback_tensor_inputs` الخاص بالخط الأنابيب.

output_resolution (`int`، *اختياري*، القيمة الافتراضية 1024) : طول الجانب المستهدف المستخدم لاستنتاج `height`/`width` وإعادة تحجيم صور الشروط.

use_kv_cache (`bool`، *اختياري*، القيمة الافتراضية `True`) : تخزين مفاتيح وقيم النص وصورة الشرط بعد الخطوة الأولى. هذا صحيح لأن `causal_condition` يعدّل تلك الرموز من `t = 0`، مما يجعل تفعيلاتها مستقلة عن الخطوة. التبديل بين هذا الخيار لا يُعيد إنتاج الصورة نفسها بتطابق تام على مستوى البتات في الدقة المخفّضة. يؤدي التخزين المؤقت إلى أن تستجيب خطوة فك الترميز بتخطيط تسلسل مختلف عن خطوة التعبئة المسبقة، لذا يتم تقسيمها إلى بلاطات بشكل مختلف وتقع على قيم تقريب مختلفة؛ وكلاهما يتوافق مع مرجع fp32 ضمن نفس التسامح. ثم يُضخّم فرق بمقدار وحدة أخيرة واحدة (ULP) في الكتلة الأولى عبر 32 كتلة وكل خطوة من خطوات العيّنة، لذا تعطي الإعدادات العيّنتان عينات متمايزة بصريًا لكنها صالحة بالتساوي. لتثبيت عيّنة، ثبّت هذا العلم.

**يعيد:** `~pipelines.qwenimage.QwenImagePipelineOutput` أو `tuple`

`~pipelines.qwenimage.QwenImagePipelineOutput` إذا كان `return_dict` هو True، وإلا فسيكون `tuple` يكون عنصره الأول قائمة بالصور المولّدة.

الدالة التي تُستدعى عند استدعاء خط الأنابيب للتوليد.

أمثلة:
```py
>>> import torch
>>> from diffusers import QwenImage21Pipeline

>>> pipe = QwenImage21Pipeline.from_pretrained("Qwen/Qwen-Image-2.1", dtype=torch.bfloat16)
>>> pipe.to("cuda")
>>> prompt = "A capybara wearing a wizard hat, reading a book by candlelight, oil painting"
>>> image = pipe(prompt).images[0]
>>> image.save("qwenimage21.png")
```

#### encode_prompt[[diffusers.QwenImage21Pipeline.encode_prompt]]

```python
encode_prompt(prompt: str | list[str], image: list[typing.Union[PIL.Image.Image, numpy.ndarray, torch.Tensor, list[PIL.Image.Image], list[numpy.ndarray], list[torch.Tensor]]] | None = None, device: typing.Optional[torch.device] = None, num_images_per_prompt: int = 1, prompt_embeds: typing.Optional[torch.Tensor] = None, prompt_embeds_mask: typing.Optional[torch.Tensor] = None, image_pad_mask: typing.Optional[torch.Tensor] = None)
```

[المصدر](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/qwenimage21/pipeline_qwenimage21.py#L339)

**المعاملات:**

prompt (`str` أو `list[str]`، *اختياري*) : النص الذي سيتم ترميزه.

image (`list[PipelineImageInput]`، *اختياري*) : صور الشروط التي سيتم ترميزها إلى جانب الأمر النصي.

device (`torch.device`) : جهاز Torch.

num_images_per_prompt (`int`) : عدد الصور المولّدة لكل موجه.

prompt_embeds (`torch.Tensor`، *اختياري*) : تمثيلات نصية مُولّدة مسبقًا. يتخطى الترميز عند توفيرها.

## QwenImagePipelineOutput[[diffusers.pipelines.qwenimage.pipeline_output.QwenImagePipelineOutput]]

#### diffusers.pipelines.qwenimage.pipeline_output.QwenImagePipelineOutput[[diffusers.pipelines.qwenimage.pipeline_output.QwenImagePipelineOutput]]

```python
diffusers.pipelines.qwenimage.pipeline_output.QwenImagePipelineOutput(images: list[PIL.Image.Image] | numpy.ndarray)
```

[المصدر](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/qwenimage/pipeline_output.py#L10)

**المعاملات:**

images (`list[PIL.Image.Image]` أو `np.ndarray`) : قائمة من صور PIL منزوعة الضوضاء بطول `batch_size` أو مصفوفة numpy بأبعاد `(batch_size, height, width, num_channels)`. تمثل صور PIL أو مصفوفة numpy صورًا منزوعة الضوضاء من خط أنابيب الانتشار.

فئة الإخراج لخطوط أنابيب Stable Diffusion.

## QwenImage21ModularPipeline[[diffusers.QwenImage21ModularPipeline]]

#### diffusers.QwenImage21ModularPipeline[[diffusers.QwenImage21ModularPipeline]]

```python
diffusers.QwenImage21ModularPipeline(blocks: diffusers.modular_pipelines.modular_pipeline.ModularPipelineBlocks | None = None, pretrained_model_name_or_path: str | os.PathLike | None = None, components_manager: diffusers.modular_pipelines.components_manager.ComponentsManager | None = None, collection: str | None = None, workflow: str | None = None, modular_config_dict: dict[str, typing.Any] | None = None, config_dict: dict[str, typing.Any] | None = None, **kwargs)
```

[المصدر](https://github.com/huggingface/diffusers/blob/main/src/diffusers/modular_pipelines/qwenimage21/modular_pipeline.py#L23)

خط أنابيب ModularPipeline لـ Qwen-Image 2.1.

## QwenImage21AutoBlocks[[diffusers.QwenImage21AutoBlocks]]

#### diffusers.QwenImage21AutoBlocks[[diffusers.QwenImage21AutoBlocks]]

```python
diffusers.QwenImage21AutoBlocks()
```

[المصدر](https://github.com/huggingface/diffusers/blob/main/src/diffusers/modular_pipelines/qwenimage21/modular_blocks_qwenimage21.py#L497)

خط أنابيب Auto Modular لتوليد الصور من النص وللتوليد المشروط بالصور باستخدام Qwen-Image 2.1.
- لتوليد الصور من النص، كل ما عليك تقديمه هو `prompt`
- للإنشاء المشروط بالصور، يجب عليك تقديم `prompt` و`image` (صورة واحدة أو قائمة)

سير العمل المدعومة:
- `text2image`: يتطلب `prompt`
- `image_conditioned`: يتطلب `prompt`، `image`

المكوّنات: image_processor (`VaeImageProcessor`) text_encoder (`Qwen3VLForConditionalGeneration`) processor (`Qwen3VLProcessor`) vae (`AutoencoderKLQwenImage21`) scheduler (`FlowMatchEulerDiscreteScheduler`) guider (`ClassifierFreeGuidance`) transformer (`QwenImage21Transformer2DModel`)

المدخلات: image (`Image | list`, *اختياري*): صورة مرجعية أو صور مرجعية لإزالة الضوضاء. يمكن أن تكون صورة واحدة أو قائمة من الصور. output_resolution (`int`, *اختياري*, القيمة الافتراضية 1024): طول الجانب المستهدف المستخدم لاستنتاج حجم المخرجات وإعادة تحجيم صور الشروط. prompt (`str`): الأمر النصي أو الأوامر النصية لتوجيه توليد الصورة. negative_prompt (`str`, *اختياري*): الأمر النصي أو الأوامر النصية التي لا يجب أن توجه توليد الصورة. generator (`Generator`, *اختياري*): مولّد Torch لتوليد حتمي. num_images_per_prompt (`int`, *اختياري*, القيمة الافتراضية 1): عدد الصور المراد توليدها لكل أمر نصي. height (`int`, *اختياري*): ارتفاع الصورة المولّدة بالبكسل. width (`int`, *اختياري*): عرض الصورة المولّدة بالبكسل. image_latents (`list`, *اختياري*): الكمونيات المعيارية لكل صورة شرط. يمكن توليدها من خطوة vae_encoder. latents (`Tensor`): كمونيات ضوضائية مُولّدة مسبقًا لتوليد الصورة. num_inference_steps (`int`): عدد خطوات إزالة الضوضاء. sigmas (`list`, *اختياري*): قيم sigmas مخصصة لعملية إزالة الضوضاء. use_kv_cache (`bool`, *اختياري*, القيمة الافتراضية True): تخزين مفاتيح وقيم النص وصورة الشرط مؤقتًا بعد الخطوة الأولى. هذا صالح لأن `causal_condition` يعدّل تلك الرموز من `t = 0`، مما يجعل تنشيطاتها مستقلة عن الخطوة. التبديل بين تفعيلها أو تعطيلها لا يعيد إنتاج نفس الصورة بتطابق تام على مستوى البتات في الدقة المخفّضة. attention_kwargs (`dict`, *اختياري*): معاملات إضافية لمعالجات الانتباه. **denoiser_input_fields (`None`, *اختياري*): مدخلات النموذج الشرطي لمزيل الضوضاء: مثل prompt_embeds، وnegative_prompt_embeds، وما إلى ذلك. output_type (`str`, *اختياري*, القيمة الافتراضية pil): صيغة المخرجات: 'pil'، 'np'، 'pt'.

المخرجات: صور (`list`): الصور المولّدة.

## QwenImage21TurboModularPipeline[[diffusers.QwenImage21TurboModularPipeline]]

#### diffusers.QwenImage21TurboModularPipeline[[diffusers.QwenImage21TurboModularPipeline]]

```python
diffusers.QwenImage21TurboModularPipeline(blocks: diffusers.modular_pipelines.modular_pipeline.ModularPipelineBlocks | None = None, pretrained_model_name_or_path: str | os.PathLike | None = None, components_manager: diffusers.modular_pipelines.components_manager.ComponentsManager | None = None, collection: str | None = None, workflow: str | None = None, modular_config_dict: dict[str, typing.Any] | None = None, config_dict: dict[str, typing.Any] | None = None, **kwargs)
```

[المصدر](https://github.com/huggingface/diffusers/blob/main/src/diffusers/modular_pipelines/qwenimage21/modular_pipeline.py#L54)

ModularPipeline لـ Qwen-Image 2.1 Turbo، وهو نقطة التفتيش المُسرَّعة التي تُنتج عينات في خطوات قليلة دون توجيه.

## QwenImage21TurboAutoBlocks[[diffusers.QwenImage21TurboAutoBlocks]]

#### diffusers.QwenImage21TurboAutoBlocks[[diffusers.QwenImage21TurboAutoBlocks]]

```python
diffusers.QwenImage21TurboAutoBlocks()
```

[المصدر](https://github.com/huggingface/diffusers/blob/main/src/diffusers/modular_pipelines/qwenimage21/modular_blocks_qwenimage21_turbo.py#L466)

خط أنابيب Auto Modular لتوليد الصور من النص وللتوليد المشروط بالصور باستخدام Qwen-Image 2.1 Turbo، وهو نقطة التفتيش المُسرَّعة التي تُعَيِّن شبكة sigma المرفقة معها في خطوات قليلة دون توجيه.
- لتوليد الصور من النص، كل ما عليك تقديمه هو `prompt`
- للإنشاء المشروط بالصور، يجب عليك تقديم `prompt` و`image` (صورة واحدة أو قائمة)

سير العمل المدعومة:
- `text2image`: يتطلب `prompt`
- `image_conditioned`: يتطلب `prompt`، `image`

المكوّنات: image_processor (`VaeImageProcessor`) text_encoder (`Qwen3VLForConditionalGeneration`) processor (`Qwen3VLProcessor`) vae (`AutoencoderKLQwenImage21`) scheduler (`FlowMatchEulerDiscreteScheduler`) transformer (`QwenImage21Transformer2DModel`)

الإعدادات: sample_sigmas (الافتراضي: None): شبكة العينة المرفقة مع نقطة الحفظ، وتُستخدم عند عدم تمرير `sigmas`.

المدخلات: image (`Image | list`, *اختياري*): صورة مرجعية أو صور مرجعية لإزالة الضوضاء. يمكن أن تكون صورة واحدة أو قائمة من الصور. output_resolution (`int`, *اختياري*, القيمة الافتراضية 1024): طول الضلع المستهدف المستخدم لاستنتاج حجم المخرجات وإعادة تحجيم صور الشروط. prompt (`str`): الأمر النصي أو الأوامر النصية لتوجيه توليد الصور. generator (`Generator`, *اختياري*): مولّد Torch لتوليد حتمي. num_images_per_prompt (`int`, *اختياري*, القيمة الافتراضية 1): عدد الصور المراد توليدها لكل أمر نصي. height (`int`, *اختياري*): ارتفاع الصورة المولّدة بالبكسل. width (`int`, *اختياري*): عرض الصورة المولّدة بالبكسل. image_latents (`list`, *اختياري*): الكمونيات المعيارية لكل صورة شرط. يمكن توليدها من خطوة vae_encoder. latents (`Tensor`): كمونيات ضوضائية مُولّدة مسبقًا لتوليد الصور. num_inference_steps (`int`): عدد خطوات إزالة الضوضاء. sigmas (`list`, *اختياري*): قيم sigmas مخصصة لعملية إزالة الضوضاء. use_kv_cache (`bool`, *اختياري*, القيمة الافتراضية True): تخزين مفاتيح وقيم النص وصورة الشرط مؤقتًا بعد الخطوة الأولى. هذا صالح لأن `causal_condition` يعدّل تلك الرموز من `t = 0`، مما يجعل تنشيطاتها مستقلة عن الخطوة. التبديل بين تفعيلها أو تعطيلها لا يعيد إنتاج نفس الصورة بتطابق تام على مستوى البتات في الدقة المخفّضة. attention_kwargs (`dict`, *اختياري*): معاملات إضافية لمعالجات الانتباه. **denoiser_input_fields (`None`, *اختياري*): مدخلات النموذج الشرطي لمزيل الضوضاء: مثل prompt_embeds و negative_prompt_embeds وما إلى ذلك. output_type (`str`, *اختياري*, القيمة الافتراضية pil): صيغة المخرجات: 'pil' أو 'np' أو 'pt'.

المخرجات: صور (`list`): الصور المولّدة.

