#
# مرخّص بموجب ترخيص Apache الإصدار 2.0 (المسمى "الترخيص")
# لا يجوز لك استخدام هذا الملف إلا وفقاً لشروط الترخيص.
# يمكنك الحصول على نسخة من الترخيص في
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# ما لم يقتضِ ذلك القانون المعمول به أو ما اتُّفق عليه كتابياً، البرمجيات
# تُوزَّع بموجب الرخصة على أساس "كما هي"،
# بلا أي ضمانات أو شروط من أي نوع، سواء صريحة أو ضمنية.
# راجع الترخيص لمعرفة اللغة المحددة التي تحكم الصلاحيات و
# قيود بموجب الترخيص. -->

# HunyuanVideo-1.5

HunyuanVideo-1.5 هو نموذج خفيف الوزن وقوي لتوليد الفيديو، يحقق جودة بصرية واتساقًا حركيًا من الطراز الأول باستخدام 8.3 مليار معامل فقط، مما يتيح استنتاجًا فعالًا على وحدات معالجة الرسومات الموجهة للمستهلكين. يعتمد هذا الإنجاز على عدة مكونات رئيسية، بما في ذلك تدقيق دقيق للبيانات، وهندسة DiT متقدمة مع انتباه انتقائي ومنزلق للبلاطات (SSTA)، وفهم ثنائي اللغة معزز عبر ترميز النص الواعي بالرموز، والتدريب المسبق التدريبي والتدريب اللاحق، وشبكة فعالة لتحسين دقة الفيديو. بالاستفادة من هذه التصاميم، طورنا إطارًا موحّدًا قادرًا على توليد فيديو عالي الجودة من النص إلى الفيديو ومن الصورة إلى الفيديو عبر مدد ودقات متعددة. تُظهر التجارب الواسعة أن هذا النموذج المدمج والكفء يُرسّخ طرازًا جديدًا من الطراز الأول بين النماذج مفتوحة المصدر.

يمكنك العثور على جميع نقاط التفتيش الأصلية لنموذج HunyuanVideo تحت منظمة [Tencent](https://huggingface.co/tencent).

> [!TIP]
> انقر على نماذج HunyuanVideo في الشريط الجانبي الأيمن لمزيد من الأمثلة على مهام توليد الفيديو.
>
> تستخدم الأمثلة أدناه نقطة تحقق من [hunyuanvideo-community](https://huggingface.co/hunyuanvideo-community) لأن الأوزان مخزنة في تخطيط متوافق مع Diffusers.

يُبيّن المثال أدناه كيفية توليد فيديو مُحسَّن للذاكرة أو لسرعة الاستدلال.

راجع دليل [تقليل استهلاك الذاكرة](../../optimization/memory) لمزيد من التفاصيل حول تقنيات توفير الذاكرة المختلفة.

```py
import torch
from diffusers import AutoModel, HunyuanVideo15Pipeline
from diffusers.utils import export_to_video

pipeline = HunyuanVideo15Pipeline.from_pretrained(
    "HunyuanVideo-1.5-Diffusers-480p_t2v",
    dtype=torch.bfloat16,
)

# model-offloading and tiling
pipeline.enable_model_cpu_offload()
pipeline.vae.enable_tiling()

prompt = "A fluffy teddy bear sits on a bed of soft pillows surrounded by children's toys."
video = pipeline(prompt=prompt, num_frames=61, num_inference_steps=30).frames[0]
export_to_video(video, "output.mp4", fps=15)
```

## ملاحظات

- يستخدم HunyuanVideo1.5 أقنعة انتباه (attention masks) مع تسلسلات بطول متغير. للحصول على أفضل أداء، نوصي باستخدام واجهة خلفية (backend) للانتباه تتعامل مع الحشو (padding) بكفاءة.

    - **H100/H800:** `_flash_3_hub` أو `_flash_3_varlen_hub`
    - **A100/A800/RTX 4090:** `flash_hub` أو `flash_varlen_hub`
    - **بطاقات رسومية أخرى:** `sage_hub`

راجع دليل [واجهات الانتباه الخلفية](../../optimization/attention_backends) لمزيد من التفاصيل حول استخدام واجهة خلفية مختلفة.

```py
pipe.transformer.set_attention_backend("flash_hub")  # or your preferred backend
```

- يستخدم [HunyuanVideo15Pipeline](/docs/diffusers/v0.43.0/ar/api/pipelines/hunyuan_video15#diffusers.HunyuanVideo15Pipeline) موجِّهًا ولا يقبل معامل `guidance_scale` وقت التشغيل.

يمكنك التحقق من إعداد الموجّه الافتراضي باستخدام `pipe.guider`:

```py
>>> pipe.guider 
ClassifierFreeGuidance {
  "_class_name": "ClassifierFreeGuidance",
  "_diffusers_version": "0.36.0.dev0",
  "enabled": true,
  "guidance_rescale": 0.0,
  "guidance_scale": 6.0,
  "start": 0.0,
  "stop": 1.0,
  "use_original_formulation": false
}

State:
  step: None
  num_inference_steps: None
  timestep: None
  count_prepared: 0
  enabled: True
  num_conditions: 2
```

لتحديث إعدادات guider، يمكنك تشغيل `pipe.guider = pipe.guider.new(...)`

```py
pipe.guider = pipe.guider.new(guidance_scale=5.0)
```

اقرأ المزيد حول Guider [هنا](../../using-diffusers/guiders).

## HunyuanVideo15Pipeline[[diffusers.HunyuanVideo15Pipeline]]

#### diffusers.HunyuanVideo15Pipeline[[diffusers.HunyuanVideo15Pipeline]]

```python
diffusers.HunyuanVideo15Pipeline(text_encoder: Qwen2_5_VLTextModel, tokenizer: Qwen2Tokenizer, transformer: HunyuanVideo15Transformer3DModel, vae: AutoencoderKLHunyuanVideo15, scheduler: FlowMatchEulerDiscreteScheduler, text_encoder_2: T5EncoderModel, tokenizer_2: ByT5Tokenizer, guider: ClassifierFreeGuidance)
```

[المصدر](https://github.com/huggingface/diffusers/blob/v0.43.0/src/diffusers/pipelines/hunyuan_video1_5/pipeline_hunyuan_video1_5.py#L166)

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

transformer ([HunyuanVideo15Transformer3DModel](/docs/diffusers/v0.43.0/ar/api/models/hunyuan_video15_transformer_3d#diffusers.HunyuanVideo15Transformer3DModel)) : معمارية Transformer الشرطية (MMDiT) لإزالة الضوضاء من كامنات الفيديو المُرمّزة.

scheduler ([FlowMatchEulerDiscreteScheduler](/docs/diffusers/v0.43.0/ar/api/schedulers/flow_match_euler_discrete#diffusers.FlowMatchEulerDiscreteScheduler)) : مُجدوِل يُستخدم بالاقتران مع `transformer` لإزالة الضوضاء من كامنات الفيديو المُرمَّزة.

vae ([AutoencoderKLHunyuanVideo15](/docs/diffusers/v0.43.0/ar/api/models/autoencoder_kl_hunyuan_video15#diffusers.AutoencoderKLHunyuanVideo15)) : نموذج الترميز التحويلي التبايني (VAE) لتشفير وفك تشفير مقاطع الفيديو إلى تمثيلات كامنة ومنها.

text_encoder (`Qwen2.5-VL-7B-Instruct`) : [Qwen2.5-VL-7B-Instruct](https://huggingface.co/Qwen/Qwen2.5-VL-7B-Instruct)، وتحديداً النسخة [Qwen2.5-VL-7B-Instruct](https://huggingface.co/Qwen/Qwen2.5-VL-7B-Instruct).

tokenizer (`Qwen2Tokenizer`) : مُجزِّئ من الفئة [Qwen2Tokenizer].

text_encoder_2 (`T5EncoderModel`) : [T5EncoderModel](https://huggingface.co/docs/transformers/en/model_doc/t5#transformers.T5EncoderModel) النسخة.

tokenizer_2 (`ByT5Tokenizer`) : مُقسِّم من الفئة [ByT5Tokenizer]

guider ([ClassifierFreeGuidance](/docs/diffusers/v0.43.0/ar/api/modular_diffusers/guiders#diffusers.ClassifierFreeGuidance)) : [ClassifierFreeFreeGuidance]للإرشاد الحر من التصنيف.

خط أنابيب لتوليد الفيديو من النص باستخدام HunyuanVideo1.5.

يرث هذا النموذج من [DiffusionPipeline](/docs/diffusers/v0.43.0/ar/api/pipelines/overview#diffusers.DiffusionPipeline). راجع توثيق الفئة الأصلية لمعرفة الطرق العامة المُنفَّذة لجميع خطوط الأنابيب (التنزيل، الحفظ، التشغيل على جهاز معين، إلخ).

#### __call__[[diffusers.HunyuanVideo15Pipeline.__call__]]

```python
__call__(prompt: str | list[str] = None, negative_prompt: str | list[str] = None, height: int | None = None, width: int | None = None, num_frames: int = 121, num_inference_steps: int = 50, sigmas: list[float] = None, num_videos_per_prompt: int | None = 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, prompt_embeds_2: typing.Optional[torch.Tensor] = None, prompt_embeds_mask_2: typing.Optional[torch.Tensor] = None, negative_prompt_embeds_2: typing.Optional[torch.Tensor] = None, negative_prompt_embeds_mask_2: typing.Optional[torch.Tensor] = None, output_type: str | None = 'np', return_dict: bool = True, attention_kwargs: dict[str, typing.Any] | None = None)
```

[المصدر](https://github.com/huggingface/diffusers/blob/v0.43.0/src/diffusers/pipelines/hunyuan_video1_5/pipeline_hunyuan_video1_5.py#L542)

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

prompt (`str` أو `list[str]`، *اختياري*) : الأمر أو الأوامر التي تُوجّه توليد الصورة. إذا لم تُعرَّف، يجب تمرير `prompt_embeds` بدلاً منها.

negative_prompt (`str` أو `list[str]`، *اختياري*) : الموجه أو الموجهات التي لا ينبغي توجيه توليد الصورة بها. إذا لم يُعرَّف، يجب تمرير `negative_prompt_embeds` بدلاً من ذلك.

height (`int`، *اختياري*) : ارتفاع الفيديو المولّد بالبكسلات.

width (`int`, *اختياري*) : عرض الفيديو المولّد بالبكسلات.

num_frames (`int`، القيمة الافتراضية `121`) : عدد الإطارات في الفيديو المولّد.

num_inference_steps (`int`، القيمة الافتراضية `50`) : عدد خطوات إزالة الضوضاء. تؤدي زيادة عدد خطوات إزالة الضوضاء عادةً إلى فيديو بجودة أعلى على حساب بطء الاستدلال.

sigmas (`list[float]`، *اختياري*) : قيم `sigmas` مخصصة لاستخدامها في عملية إزالة الضوضاء مع المجدولين الذين يدعمون معامل `sigmas` في طريقة `set_timesteps` الخاصة بهم. إذا لم تُعرَّف، فسيتم استخدام السلوك الافتراضي عند تمرير `num_inference_steps`.

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

generator (`torch.Generator` أو `list[torch.Generator]`، *اختياري*) : [`torch.Generator`](https://pytorch.org/docs/stable/generated/torch.Generator.html) لجعل التوليد حتميًا.

latents (`torch.Tensor`، *اختياري*) : كامنات ضجيج مُولّدة مسبقًا، مُستخرجة من توزيع غاوسي، تُستخدم كمدخلات لتوليد الفيديو. يمكن استخدامها لتعديل نفس التوليد باستخدام أوامر مختلفة. إذا لم تُقدَّم، يتم توليد كامنات من خلال الاستخراج باستخدام `generator` العشوائي المُقدَّم.

prompt_embeds (`torch.Tensor`، *اختياري*) : تمثيلات نصية مُولّدة مسبقًا. يمكن استخدامها لتعديل مدخلات النص بسهولة (وزن الأوامر). إذا لم تُقدَّم، يتم توليد تمثيلات النص من معامل الإدخال `prompt`.

prompt_embeds_mask (`torch.Tensor`، *اختياري*) : قناع مُولَّد مسبقًا لتضمينات الموجه.

negative_prompt_embeds (`torch.Tensor`, *اختياري*) : تمثيلات نصية سالبة مُولّدة مسبقًا. يمكن استخدامها لتعديل مدخلات النص بسهولة، *مثلًا* وزن الأوامر. إذا لم تُقدَّم، فسيتم توليد negative_prompt_embeds من معامل الإدخال `negative_prompt`.

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

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

prompt_embeds_mask_2 (`torch.Tensor`، *اختياري*) : قناع مُولّد مسبقًا لتضمينات الموجه من مُشفّر النص الثاني.

negative_prompt_embeds_2 (`torch.Tensor`، *اختياري*) : تمثيلات نصية سالبة مُولّدة مسبقًا من مُشفّر النص الثاني.

negative_prompt_embeds_mask_2 (`torch.Tensor`، *اختياري*) : قناع مُولّد مسبقًا لتضمينات الموجه السلبي من مُشفّر النص الثاني.

output_type (`str`، *اختياري*، الافتراضي `"np"`) : صيغة مخرجات الفيديو المولّد. اختر بين "np" أو "pt" أو "latent".

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

attention_kwargs (`dict`، *اختياري*) : قاموس kwargs يُمرَّر إلى `AttentionProcessor` إذا تم تحديده، كما هو معرَّف تحت `self.processor` في [diffusers.models.attention_processor](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/attention_processor.py).

**يعيد:** `~HunyuanVideo15PipelineOutput` أو `tuple`

إذا كان `return_dict` هو `True`، يُعاد `HunyuanVideo15PipelineOutput`، وإلا يُعاد `tuple` يكون عنصره الأول قائمة بالفيديوهات المولّدة.

دالة الاستدعاء call لخط الأنابيب pipeline الخاص بالتوليد.

أمثلة:
```python
>>> import torch
>>> from diffusers import HunyuanVideo15Pipeline
>>> from diffusers.utils import export_to_video

>>> model_id = "hunyuanvideo-community/HunyuanVideo-1.5-480p_t2v"
>>> pipe = HunyuanVideo15Pipeline.from_pretrained(model_id, torch_dtype=torch.float16)
>>> pipe.vae.enable_tiling()
>>> pipe.to("cuda")

>>> output = pipe(
...     prompt="A cat walks on the grass, realistic",
...     num_inference_steps=50,
... ).frames[0]
>>> export_to_video(output, "output.mp4", fps=15)
```

#### encode_prompt[[diffusers.HunyuanVideo15Pipeline.encode_prompt]]

```python
encode_prompt(prompt: str | list[str], device: typing.Optional[torch.device] = None, dtype: typing.Optional[torch.dtype] = None, batch_size: int = 1, num_videos_per_prompt: int = 1, prompt_embeds: typing.Optional[torch.Tensor] = None, prompt_embeds_mask: typing.Optional[torch.Tensor] = None, prompt_embeds_2: typing.Optional[torch.Tensor] = None, prompt_embeds_mask_2: typing.Optional[torch.Tensor] = None)
```

[المصدر](https://github.com/huggingface/diffusers/blob/v0.43.0/src/diffusers/pipelines/hunyuan_video1_5/pipeline_hunyuan_video1_5.py#L334)

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

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

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

batch_size (`int`) : حجم الدفعة (batch size) للموجّهات، القيمة الافتراضية هي 1

num_videos_per_prompt (`int`) : عدد الصور التي يجب توليدها لكل موجه

prompt_embeds (`torch.Tensor`، *اختياري*) : تمثيلات نصية مُولّدة مسبقًا. إذا لم تُقدَّم، فسيتم توليد تمثيلات النص من معامل الإدخال `prompt`.

prompt_embeds_mask (`torch.Tensor`، *اختياري*) : قناع نصي مُولّد مسبقًا. إذا لم يُقدَّم، فسيتم توليد قناع النص من معامل الإدخال `prompt`.

prompt_embeds_2 (`torch.Tensor`، *اختياري*) : تمثيلات نصوص رموز مُولّدة مسبقًا من ByT5. إذا لم تُقدَّم، فستُولَّد من معامل الإدخال `prompt` باستخدام self.tokenizer_2 و self.text_encoder_2.

prompt_embeds_mask_2 (`torch.Tensor`، *اختياري*) : قناع نص الرموز المُولَّد مسبقًا من ByT5. إذا لم يُقدَّم، فسيتم توليده من معامل الإدخال `prompt` باستخدام self.tokenizer_2 و self.text_encoder_2.

#### prepare_cond_latents_and_mask[[diffusers.HunyuanVideo15Pipeline.prepare_cond_latents_and_mask]]

```python
prepare_cond_latents_and_mask(latents, dtype: typing.Optional[torch.dtype], device: typing.Optional[torch.device])
```

[المصدر](https://github.com/huggingface/diffusers/blob/v0.43.0/src/diffusers/pipelines/hunyuan_video1_5/pipeline_hunyuan_video1_5.py#L508)

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

latents : متجه الكامنين الرئيسي (B, C, F, H, W)

**يعيد:** `tuple`

(cond_latents_concat, mask_concat) - كلاهما متجهات صفرية في t2v

جهّز الكمونيات الشرطية والقناع لتوليد t2v.

## HunyuanVideo15ImageToVideoPipeline[[diffusers.HunyuanVideo15ImageToVideoPipeline]]

#### diffusers.HunyuanVideo15ImageToVideoPipeline[[diffusers.HunyuanVideo15ImageToVideoPipeline]]

```python
diffusers.HunyuanVideo15ImageToVideoPipeline(text_encoder: Qwen2_5_VLTextModel, tokenizer: Qwen2Tokenizer, transformer: HunyuanVideo15Transformer3DModel, vae: AutoencoderKLHunyuanVideo15, scheduler: FlowMatchEulerDiscreteScheduler, text_encoder_2: T5EncoderModel, tokenizer_2: ByT5Tokenizer, guider: ClassifierFreeGuidance, image_encoder: SiglipVisionModel, feature_extractor: SiglipImageProcessorPil)
```

[المصدر](https://github.com/huggingface/diffusers/blob/v0.43.0/src/diffusers/pipelines/hunyuan_video1_5/pipeline_hunyuan_video1_5_image2video.py#L193)

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

transformer ([HunyuanVideo15Transformer3DModel](/docs/diffusers/v0.43.0/ar/api/models/hunyuan_video15_transformer_3d#diffusers.HunyuanVideo15Transformer3DModel)) : معمارية Transformer الشرطية (MMDiT) لإزالة الضوضاء من كامنات الفيديو المُرمّزة.

scheduler ([FlowMatchEulerDiscreteScheduler](/docs/diffusers/v0.43.0/ar/api/schedulers/flow_match_euler_discrete#diffusers.FlowMatchEulerDiscreteScheduler)) : مُجدوِل يُستخدم بالاقتران مع `transformer` لإزالة الضوضاء من كامنات الفيديو المُرمَّزة.

vae ([AutoencoderKLHunyuanVideo15](/docs/diffusers/v0.43.0/ar/api/models/autoencoder_kl_hunyuan_video15#diffusers.AutoencoderKLHunyuanVideo15)) : نموذج الترميز التحويلي التبايني (VAE) لتشفير وفك تشفير مقاطع الفيديو إلى تمثيلات كامنة ومنها.

text_encoder (`Qwen2.5-VL-7B-Instruct`) : [Qwen2.5-VL-7B-Instruct](https://huggingface.co/Qwen/Qwen2.5-VL-7B-Instruct)، وتحديداً النسخة [Qwen2.5-VL-7B-Instruct](https://huggingface.co/Qwen/Qwen2.5-VL-7B-Instruct).

tokenizer (`Qwen2Tokenizer`) : مُجزِّئ من الفئة [Qwen2Tokenizer].

text_encoder_2 (`T5EncoderModel`) : [T5EncoderModel](https://huggingface.co/docs/transformers/en/model_doc/t5#transformers.T5EncoderModel) النسخة.

tokenizer_2 (`ByT5Tokenizer`) : مُقسِّم من الفئة [ByT5Tokenizer]

guider ([ClassifierFreeGuidance](/docs/diffusers/v0.43.0/ar/api/modular_diffusers/guiders#diffusers.ClassifierFreeGuidance)) : [ClassifierFreeFreeGuidance]للإرشاد الحر من التصنيف.

image_encoder (`SiglipVisionModel`) : متغير [SiglipVisionModel](https://huggingface.co/docs/transformers/en/model_doc/siglip#transformers.SiglipVisionModel).

feature_extractor (`SiglipImageProcessor`) : [SiglipImageProcessor](https://huggingface.co/docs/transformers/en/model_doc/siglip#transformers.SiglipImageProcessor) النسخة.

خط أنابيب لتوليد الفيديو من الصور باستخدام HunyuanVideo1.5.

يرث هذا النموذج من [DiffusionPipeline](/docs/diffusers/v0.43.0/ar/api/pipelines/overview#diffusers.DiffusionPipeline). راجع توثيق الفئة الأصلية لمعرفة الطرق العامة المُنفَّذة لجميع خطوط الأنابيب (التنزيل، الحفظ، التشغيل على جهاز معين، إلخ).

#### __call__[[diffusers.HunyuanVideo15ImageToVideoPipeline.__call__]]

```python
__call__(image: Image, prompt: str | list[str] = None, negative_prompt: str | list[str] = None, num_frames: int = 121, num_inference_steps: int = 50, sigmas: list[float] = None, num_videos_per_prompt: int | None = 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, prompt_embeds_2: typing.Optional[torch.Tensor] = None, prompt_embeds_mask_2: typing.Optional[torch.Tensor] = None, negative_prompt_embeds_2: typing.Optional[torch.Tensor] = None, negative_prompt_embeds_mask_2: typing.Optional[torch.Tensor] = None, output_type: str | None = 'np', return_dict: bool = True, attention_kwargs: dict[str, typing.Any] | None = None)
```

[المصدر](https://github.com/huggingface/diffusers/blob/v0.43.0/src/diffusers/pipelines/hunyuan_video1_5/pipeline_hunyuan_video1_5_image2video.py#L650)

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

image (`PIL.Image.Image`) : الصورة المدخلة التي تُشترط عليها عملية توليد الفيديو.

prompt (`str` أو `list[str]`، *اختياري*) : الأمر أو الأوامر التي تُوجّه توليد الفيديو. إذا لم يُعرَّف، يجب تمرير `prompt_embeds` بدلاً منه.

negative_prompt (`str` أو `list[str]`، *اختياري*) : الموجه أو الموجهات التي لا ينبغي استخدامها لتوجيه توليد الفيديو. إذا لم يُعرَّف، يجب تمرير `negative_prompt_embeds` بدلاً من ذلك.

num_frames (`int`، القيمة الافتراضية `121`) : عدد الإطارات في الفيديو المولّد.

num_inference_steps (`int`، القيمة الافتراضية `50`) : عدد خطوات إزالة الضوضاء. تؤدي زيادة عدد خطوات إزالة الضوضاء عادةً إلى فيديو بجودة أعلى على حساب بطء الاستدلال.

sigmas (`list[float]`، *اختياري*) : قيم `sigmas` مخصصة لاستخدامها في عملية إزالة الضوضاء مع المجدولين الذين يدعمون معامل `sigmas` في طريقة `set_timesteps` الخاصة بهم. إذا لم تُعرَّف، فسيتم استخدام السلوك الافتراضي عند تمرير `num_inference_steps`.

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

generator (`torch.Generator` أو `list[torch.Generator]`، *اختياري*) : [`torch.Generator`](https://pytorch.org/docs/stable/generated/torch.Generator.html) لجعل التوليد حتميًا.

latents (`torch.Tensor`، *اختياري*) : كامنات ضجيج مُولّدة مسبقًا، مُستخرجة من توزيع غاوسي، تُستخدم كمدخلات لتوليد الفيديو. يمكن استخدامها لتعديل نفس التوليد باستخدام أوامر مختلفة. إذا لم تُقدَّم، يتم توليد كامنات من خلال الاستخراج باستخدام `generator` العشوائي المُقدَّم.

prompt_embeds (`torch.Tensor`، *اختياري*) : تمثيلات نصية مُولّدة مسبقًا. يمكن استخدامها لتعديل مدخلات النص بسهولة (وزن الأوامر). إذا لم تُقدَّم، يتم توليد تمثيلات النص من معامل الإدخال `prompt`.

prompt_embeds_mask (`torch.Tensor`، *اختياري*) : قناع مُولَّد مسبقًا لتضمينات الموجه.

negative_prompt_embeds (`torch.Tensor`, *اختياري*) : تمثيلات نصية سالبة مُولّدة مسبقًا. يمكن استخدامها لتعديل مدخلات النص بسهولة، *مثلًا* وزن الأوامر. إذا لم تُقدَّم، فسيتم توليد negative_prompt_embeds من معامل الإدخال `negative_prompt`.

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

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

prompt_embeds_mask_2 (`torch.Tensor`، *اختياري*) : قناع مُولّد مسبقًا لتضمينات الموجه من مُشفّر النص الثاني.

negative_prompt_embeds_2 (`torch.Tensor`، *اختياري*) : تمثيلات نصية سالبة مُولّدة مسبقًا من مُشفّر النص الثاني.

negative_prompt_embeds_mask_2 (`torch.Tensor`، *اختياري*) : قناع مُولّد مسبقًا لتضمينات الموجه السلبي من مُشفّر النص الثاني.

output_type (`str`، *اختياري*، الافتراضي `"np"`) : صيغة مخرجات الفيديو المولّد. اختر بين "np" أو "pt" أو "latent".

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

attention_kwargs (`dict`، *اختياري*) : قاموس kwargs يُمرَّر إلى `AttentionProcessor` إذا تم تحديده، كما هو معرَّف تحت `self.processor` في [diffusers.models.attention_processor](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/attention_processor.py).

**يعيد:** `~HunyuanVideo15PipelineOutput` أو `tuple`

إذا كان `return_dict` هو `True`، يُعاد `HunyuanVideo15PipelineOutput`، وإلا يُعاد `tuple` يكون عنصره الأول قائمة بالفيديوهات المولّدة.

دالة الاستدعاء call لخط الأنابيب pipeline الخاص بالتوليد.

أمثلة:
```python
>>> import torch
>>> from diffusers import HunyuanVideo15ImageToVideoPipeline
>>> from diffusers.utils import export_to_video

>>> model_id = "hunyuanvideo-community/HunyuanVideo-1.5-480p_i2v"
>>> pipe = HunyuanVideo15ImageToVideoPipeline.from_pretrained(model_id, torch_dtype=torch.float16)
>>> pipe.vae.enable_tiling()
>>> pipe.to("cuda")

>>> image = load_image("https://huggingface.co/datasets/YiYiXu/testing-images/resolve/main/wan_i2v_input.JPG")

>>> output = pipe(
...     prompt="Summer beach vacation style, a white cat wearing sunglasses sits on a surfboard. The fluffy-furred feline gazes directly at the camera with a relaxed expression. Blurred beach scenery forms the background featuring crystal-clear waters, distant green hills, and a blue sky dotted with white clouds. The cat assumes a naturally relaxed posture, as if savoring the sea breeze and warm sunlight. A close-up shot highlights the feline's intricate details and the refreshing atmosphere of the seaside.",
...     image=image,
...     num_inference_steps=50,
... ).frames[0]
>>> export_to_video(output, "output.mp4", fps=24)
```

#### encode_prompt[[diffusers.HunyuanVideo15ImageToVideoPipeline.encode_prompt]]

```python
encode_prompt(prompt: str | list[str], device: typing.Optional[torch.device] = None, dtype: typing.Optional[torch.dtype] = None, batch_size: int = 1, num_videos_per_prompt: int = 1, prompt_embeds: typing.Optional[torch.Tensor] = None, prompt_embeds_mask: typing.Optional[torch.Tensor] = None, prompt_embeds_2: typing.Optional[torch.Tensor] = None, prompt_embeds_mask_2: typing.Optional[torch.Tensor] = None)
```

[المصدر](https://github.com/huggingface/diffusers/blob/v0.43.0/src/diffusers/pipelines/hunyuan_video1_5/pipeline_hunyuan_video1_5_image2video.py#L422)

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

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

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

batch_size (`int`) : حجم الدفعة (batch size) للموجّهات، القيمة الافتراضية هي 1

num_videos_per_prompt (`int`) : عدد الصور التي يجب توليدها لكل موجه

prompt_embeds (`torch.Tensor`، *اختياري*) : تمثيلات نصية مُولّدة مسبقًا. إذا لم تُقدَّم، فسيتم توليد تمثيلات النص من معامل الإدخال `prompt`.

prompt_embeds_mask (`torch.Tensor`، *اختياري*) : قناع نصي مُولّد مسبقًا. إذا لم يُقدَّم، فسيتم توليد قناع النص من معامل الإدخال `prompt`.

prompt_embeds_2 (`torch.Tensor`، *اختياري*) : تمثيلات نصوص رموز مُولّدة مسبقًا من ByT5. إذا لم تُقدَّم، فستُولَّد من معامل الإدخال `prompt` باستخدام self.tokenizer_2 و self.text_encoder_2.

prompt_embeds_mask_2 (`torch.Tensor`، *اختياري*) : قناع نص الرموز المُولَّد مسبقًا من ByT5. إذا لم يُقدَّم، فسيتم توليده من معامل الإدخال `prompt` باستخدام self.tokenizer_2 و self.text_encoder_2.

#### prepare_cond_latents_and_mask[[diffusers.HunyuanVideo15ImageToVideoPipeline.prepare_cond_latents_and_mask]]

```python
prepare_cond_latents_and_mask(latents: Tensor, image: Image, batch_size: int, height: int, width: int, dtype: dtype, device: device)
```

[المصدر](https://github.com/huggingface/diffusers/blob/v0.43.0/src/diffusers/pipelines/hunyuan_video1_5/pipeline_hunyuan_video1_5_image2video.py#L594)

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

latents : متجه الكامنين الرئيسي (B, C, F, H, W)

**يعيد:** `tuple`

(cond_latents_concat, mask_concat) - كلاهما متجهات صفرية في t2v

جهّز الكمونيات الشرطية والقناع لتوليد t2v.

## HunyuanVideo15PipelineOutput[[diffusers.pipelines.hunyuan_video1_5.pipeline_output.HunyuanVideo15PipelineOutput]]

#### diffusers.pipelines.hunyuan_video1_5.pipeline_output.HunyuanVideo15PipelineOutput[[diffusers.pipelines.hunyuan_video1_5.pipeline_output.HunyuanVideo15PipelineOutput]]

```python
diffusers.pipelines.hunyuan_video1_5.pipeline_output.HunyuanVideo15PipelineOutput(frames: Tensor)
```

[المصدر](https://github.com/huggingface/diffusers/blob/v0.43.0/src/diffusers/pipelines/hunyuan_video1_5/pipeline_output.py#L9)

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

frames (`torch.Tensor`، `np.ndarray`، أو list[list[PIL.Image.Image]]) : قائمة من مخرجات الفيديو - يمكن أن تكون قائمة متداخلة بطول `batch_size,` حيث تحتوي كل قائمة فرعية على تسلسلات صور PIL منزوعة الضوضاء بطول `num_frames.` كما يمكن أن تكون مصفوفة NumPy أو متجه Torch بأبعاد `(batch_size, num_frames, channels, height, width)`.

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

