# Motif-Video

[Teknik Rapor](https://arxiv.org/abs/2604.16503)

Motif-Video, metinden videoya ve görüntüden videoya üretim için tasarlanmış, 2B parametreli bir difüzyon dönüştürücüsüdür. Uzun video dizileri altında kararlı metin-video hizalaması için 12 çift akış + 16 tek akış + 8 DDT kodlayıcı katmanına sahip üç aşamalı bir mimari, T5Gemma2 metin kodlayıcısı ve hız tahmini için düzeltilmiş akış eşleştirmesi (rectified flow matching) özelliklerine sahiptir.

  

## Metinden Video Üretimi

Metinden video üretimi için `MotifVideoPipeline` kullanın:

```python
import torch
from diffusers import MotifVideoPipeline
from diffusers.utils import export_to_video

pipe = MotifVideoPipeline.from_pretrained(
    "Motif-Technologies/Motif-Video-2B",
    dtype=torch.bfloat16,
)
pipe.to("cuda")  # or "mps", "xpu", "cpu"

prompt = "A woman with long brown hair and light skin smiles at another woman with long blonde hair."
negative_prompt = "worst quality, inconsistent motion, blurry, jittery, distorted"

video = pipe(
    prompt=prompt,
    negative_prompt=negative_prompt,
    width=1280,
    height=736,
    num_frames=121,
    num_inference_steps=50,
).frames[0]
export_to_video(video, "output.mp4", fps=24)
```

## Görüntüden Video Üretimi

Görselden video üretimi için `MotifVideoImage2VideoPipeline` kullanın:

```python
import torch
from diffusers import MotifVideoImage2VideoPipeline
from diffusers.utils import export_to_video, load_image

pipe = MotifVideoImage2VideoPipeline.from_pretrained(
    "Motif-Technologies/Motif-Video-2B",
    dtype=torch.bfloat16,
)
pipe.to("cuda")  # or "mps", "xpu", "cpu"

image = load_image("input_image.png")
prompt = "A cinematic scene with vivid colors."
negative_prompt = "worst quality, blurry, jittery, distorted"

video = pipe(
    image=image,
    prompt=prompt,
    negative_prompt=negative_prompt,
    width=1280,
    height=736,
    num_frames=121,
    num_inference_steps=50,
).frames[0]
export_to_video(video, "i2v_output.mp4", fps=24)
```

### Hafıza-verimli Çıkarım

30 GB VRAM'dan az belleğe sahip GPU'lar (ör. RTX 4090) için model CPU offloading kullanın:

```bash
export PYTORCH_CUDA_ALLOC_CONF=expandable_segments:True
```

```python
import torch
from diffusers import MotifVideoPipeline
from diffusers.utils import export_to_video

pipe = MotifVideoPipeline.from_pretrained(
    "Motif-Technologies/Motif-Video-2B",
    dtype=torch.bfloat16,
)
pipe.enable_model_cpu_offload()

prompt = "A woman with long brown hair and light skin smiles at another woman with long blonde hair."
negative_prompt = "worst quality, inconsistent motion, blurry, jittery, distorted"

video = pipe(
    prompt=prompt,
    negative_prompt=negative_prompt,
    width=1280,
    height=736,
    num_frames=121,
    num_inference_steps=50,
).frames[0]
export_to_video(video, "output.mp4", fps=24)
```

## MotifVideoPipeline[[diffusers.MotifVideoPipeline]]

#### diffusers.MotifVideoPipeline[[diffusers.MotifVideoPipeline]]

```python
diffusers.MotifVideoPipeline(scheduler: SchedulerMixin, vae: AutoencoderKLWan, text_encoder: T5Gemma2Encoder, tokenizer: PreTrainedTokenizerBase, transformer: MotifVideoTransformer3DModel, guider: BaseGuidance, feature_extractor: typing.Optional[transformers.models.siglip.image_processing_pil_siglip.SiglipImageProcessorPil] = None)
```

[Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/motif_video/pipeline_motif_video.py#L148)

**Parametreler:**

transformer ([MotifVideoTransformer3DModel](/docs/diffusers/main/tr/api/models/motif_video_transformer_3d#diffusers.MotifVideoTransformer3DModel)) : Kodlanmış video latentlerini gürültüden arındırmak için kullanılan koşullu Transformer mimarisi.

scheduler ([SchedulerMixin](/docs/diffusers/main/tr/api/schedulers/overview#diffusers.SchedulerMixin)) : Kodlanmış video latentlerini gürültüden arındırmak için `transformer` ile birlikte kullanılacak bir zamanlayıcı. [DPMSolverMultistepScheduler](/docs/diffusers/main/tr/api/schedulers/multistep_dpm_solver#diffusers.DPMSolverMultistepScheduler) gibi `SchedulerMixin`'den türeyen bir sınıfın örneği olmalıdır. Sağlanmazsa, önceden eğitilmiş modele bağlı olan zamanlayıcı kullanılır.

vae ([AutoencoderKLWan](/docs/diffusers/main/tr/api/models/autoencoder_kl_wan#diffusers.AutoencoderKLWan)) : Video'ları latent temsillere kodlamak ve latent temsillerden video'lara çözmek için kullanılan Varyasyonel Oto-Kodlayıcı (VAE) Modeli.

text_encoder (`T5Gemma2Encoder`) : Metin istemlerini gömülü (embedding) olarak kodlamak için kullanılan birincil metin kodlayıcı.

tokenizer (`PreTrainedTokenizerBase`) : Birincil metin kodlayıcısına karşılık gelen tokenizer.

guider ([BaseGuidance](/docs/diffusers/main/tr/api/modular_diffusers/guiders#diffusers.BaseGuidance)) : Kullanılacak yönlendirme yöntemi. `BaseGuidance`'den türeyen bir sınıfın örneği olmalıdır, örneğin [ClassifierFreeGuidance](/docs/diffusers/main/tr/api/modular_diffusers/guiders#diffusers.ClassifierFreeGuidance), [AdaptiveProjectedGuidance](/docs/diffusers/main/tr/api/modular_diffusers/guiders#diffusers.AdaptiveProjectedGuidance) veya [SkipLayerGuidance](/docs/diffusers/main/tr/api/modular_diffusers/guiders#diffusers.SkipLayerGuidance). Verilmezse, varsayılan olarak `ClassifierFreeGuidance` kullanılır.

Motif-Video kullanarak metinden videoya üretim için Pipeline.

Bu model [DiffusionPipeline](/docs/diffusers/main/tr/api/pipelines/overview#diffusers.DiffusionPipeline) sınıfından devralınmıştır. Tüm pipeline'lar için uygulanan genel yöntemlerin (indirme, kaydetme, belirli bir cihazda çalıştırma vb.) belgelerini üst sınıfın dokümantasyonunda bulabilirsiniz.

#### __call__[[diffusers.MotifVideoPipeline.__call__]]

```python
__call__(prompt: typing.Union[str, typing.List[str], NoneType] = None, negative_prompt: typing.Union[str, typing.List[str], NoneType] = None, height: int = 736, width: int = 1280, num_frames: int = 121, num_inference_steps: int = 50, timesteps: typing.Optional[typing.List[int]] = None, num_videos_per_prompt: typing.Optional[int] = 1, generator: typing.Union[torch.Generator, typing.List[torch.Generator], NoneType] = None, latents: typing.Optional[torch.Tensor] = None, prompt_embeds: typing.Optional[torch.Tensor] = None, prompt_attention_mask: typing.Optional[torch.Tensor] = None, negative_prompt_embeds: typing.Optional[torch.Tensor] = None, negative_prompt_attention_mask: typing.Optional[torch.Tensor] = None, output_type: typing.Optional[str] = 'pil', return_dict: bool = True, attention_kwargs: typing.Optional[typing.Dict[str, typing.Any]] = None, callback_on_step_end: typing.Union[typing.Callable[[int, int, typing.Dict], NoneType], diffusers.callbacks.PipelineCallback, diffusers.callbacks.MultiPipelineCallbacks, NoneType] = None, callback_on_step_end_tensor_inputs: typing.List[str] = ['latents'], max_sequence_length: int = 512, vae_batch_size: int | None = None)
```

[Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/motif_video/pipeline_motif_video.py#L492)

**Parametreler:**

prompt (`str` veya `List[str]`, *isteğe bağlı*) : Video üretimini yönlendirmek için istem veya istemler. Tanımlanmamışsa, `prompt_embeds` parametresinin geçirilmesi gerekir.

negative_prompt (`str` veya `List[str]`, *isteğe bağlı*) : Video üretimini yönlendirmemek için kullanılan istem veya istemler. Tanımlanmamışsa, bunun yerine `negative_prompt_embeds` parametresinin geçirilmesi gerekir. Yönlendirme kullanılmadığında yok sayılır.

height (`int`, varsayılan `736`) : Üretilen videonun piksel cinsinden yüksekliği.

width (`int`, varsayılan `1280`) : Üretilen videonun piksel cinsinden genişliği.

num_frames (`int`, varsayılan `121`) : Üretilecek video kare sayısı.

num_inference_steps (`int`, *isteğe bağlı*, varsayılan 50) : Gürültü azaltma adım sayısı. Daha fazla gürültü azaltma adımı genellikle daha yavaş çıkarım pahasına daha yüksek kaliteli bir videoya yol açar.

timesteps (`List[int]`, *isteğe bağlı*) : Gürültü azaltma süreci için kullanılacak özel zaman adımları.

num_videos_per_prompt (`int`, *isteğe bağlı*, varsayılan 1) : Her istem için üretilecek video sayısı.

generator (`torch.Generator` veya `List[torch.Generator]`, *isteğe bağlı*) : Deterministik üretim için PyTorch Generator nesneleri.

latents (`torch.Tensor`, *isteğe bağlı*) : Önceden oluşturulmuş gürültülü latentler.

prompt_embeds (`torch.Tensor`, *isteğe bağlı*) : Önceden oluşturulmuş metin gömme değerleri.

prompt_attention_mask (`torch.Tensor`, *isteğe bağlı*) : Metin gömme (embedding) için önceden oluşturulmuş dikkat maskesi (attention mask).

negative_prompt_embeds (`torch.FloatTensor`, *isteğe bağlı*) : Önceden oluşturulmuş negatif metin gömme değerleri.

negative_prompt_attention_mask (`torch.FloatTensor`, *isteğe bağlı*) : Negatif metin gömme vektörleri için önceden oluşturulmuş dikkat maskesi.

output_type (`str`, *isteğe bağlı*, varsayılan `"pil"`) : Üretilen videonun çıktı biçimi. `"pil"`, `"np"` veya `"latent"` arasında seçim yapın.

return_dict (`bool`, *isteğe bağlı*, varsayılan `True`) : Düz bir tuple yerine [~MotifVideoPipelineOutput](/docs/diffusers/main/tr/api/pipelines/motif_video#diffusers.MotifVideoPipelineOutput) döndürülüp döndürülmemesi.

attention_kwargs (`dict`, *isteğe bağlı*) : Dikkat işlemcisine (attention processor) aktarılan argümanlar.

callback_on_step_end (`Callable`, *isteğe bağlı*) : Her gürültü azaltma adımının sonunda çağrılan bir fonksiyon veya `PipelineCallback` ya da `MultiPipelineCallbacks` alt sınıfı.

callback_on_step_end_tensor_inputs (`List`, *isteğe bağlı*) : `callback_on_step_end` işlevi için girdi tensörlerinin listesi.

max_sequence_length (`int`, varsayılan `512`) : Tokenizer için maksimum dizi uzunluğu.

vae_batch_size (`int`, *isteğe bağlı*) : VAE çözme işlemi için parti boyutu. Verilirse ve latentlerin parti boyutu daha büyükse, VAE çözme işlemi parçalar halinde yapılır.

**Dönüş:** [~MotifVideoPipelineOutput](/docs/diffusers/main/tr/api/pipelines/motif_video#diffusers.MotifVideoPipelineOutput) veya `tuple`

`return_dict` `True` ise [~MotifVideoPipelineOutput](/docs/diffusers/main/tr/api/pipelines/motif_video#diffusers.MotifVideoPipelineOutput) döndürülür, aksi halde ilk öğesi üretilen video karelerinin listesi olan bir `tuple` döndürülür.

Metinden video üretimi için pipeline'ın çağrı fonksiyonu.

Örnekler:
```python
>>> import torch
>>> from diffusers import MotifVideoPipeline
>>> from diffusers.utils import export_to_video

>>> # Load the Motif-Video pipeline
>>> motif_video_model_id = "Motif-Technologies/Motif-Video-2B"
>>> pipe = MotifVideoPipeline.from_pretrained(motif_video_model_id, torch_dtype=torch.bfloat16)
>>> pipe.to("cuda")

>>> prompt = "A woman with long brown hair and light skin smiles at another woman with long blonde hair. The woman with brown hair wears a black jacket and has a small, barely noticeable mole on her right cheek. The camera angle is a close-up, focused on the woman with brown hair's face. The lighting is warm and natural, likely from the setting sun, casting a soft glow on the scene. The scene appears to be real-life footage"
>>> negative_prompt = "worst quality, inconsistent motion, blurry, jittery, distorted"

>>> video = pipe(
...     prompt=prompt,
...     negative_prompt=negative_prompt,
...     width=1280,
...     height=736,
...     num_frames=121,
...     num_inference_steps=50,
... ).frames[0]
>>> export_to_video(video, "output.mp4", fps=24)
```

#### encode_prompt[[diffusers.MotifVideoPipeline.encode_prompt]]

```python
encode_prompt(prompt: typing.Union[str, typing.List[str]], negative_prompt: typing.Union[str, typing.List[str], NoneType] = None, num_videos_per_prompt: int = 1, prompt_embeds: typing.Optional[torch.Tensor] = None, negative_prompt_embeds: typing.Optional[torch.Tensor] = None, prompt_attention_mask: typing.Optional[torch.Tensor] = None, negative_prompt_attention_mask: typing.Optional[torch.Tensor] = None, max_sequence_length: int = 512, device: typing.Optional[torch.device] = None, dtype: typing.Optional[torch.dtype] = None)
```

[Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/motif_video/pipeline_motif_video.py#L247)

**Parametreler:**

prompt (`str` veya `List[str]`, *isteğe bağlı*) : Kodlanacak istem veya istemler.

negative_prompt (`str` veya `List[str]`, *isteğe bağlı*) : Görsel üretimi yönlendirmemek için kullanılan istem veya istemler. Tanımlanmamışsa bunun yerine `negative_prompt_embeds` parametresinin geçirilmesi gerekir. Yönlendirme kullanılmadığında (yani `guidance_scale` değeri `1`'den küçükse) yok sayılır.

num_videos_per_prompt (`int`, *isteğe bağlı*, varsayılan 1) : Her istem için üretilecek video sayısı.

prompt_embeds (`torch.Tensor`, *isteğe bağlı*) : Önceden oluşturulmuş metin gömme değerleri.

negative_prompt_embeds (`torch.Tensor`, *isteğe bağlı*) : Ön oluşturulmuş negatif metin gömme değerleri. Metin girdilerini kolayca ayarlamak için kullanılabilir, *ör.* istem ağırlıklandırması. Sağlanmazsa, negative_prompt_embeds, `negative_prompt` girdi argümanından oluşturulur.

prompt_attention_mask (`torch.Tensor`, *isteğe bağlı*) : Metin gömme (embedding) için önceden oluşturulmuş dikkat maskesi (attention mask).

negative_prompt_attention_mask (`torch.Tensor`, *isteğe bağlı*) : Negatif metin gömme vektörleri için önceden oluşturulmuş dikkat maskesi.

max_sequence_length (`int`, varsayılan 512) : Tokenizer için maksimum dizi uzunluğu.

device (`torch.device`, *isteğe bağlı*) : Tensörlerin yerleştirileceği cihaz.

dtype (`torch.dtype`, *isteğe bağlı*) : Tensörler için veri türü.

**Dönüş:** `tuple[torch.Tensor, torch.Tensor, torch.Tensor, torch.Tensor]`

Şu içeriği içeren bir demet:
- `prompt_embeds`: Olumlu istem için metin gömme değerleri
- `negative_prompt_embeds`: Negatif istem için metin gömme değerleri (yönlendirme kullanılmıyorsa None)
- `prompt_attention_mask`: Olumlu istem için dikkat maskesi
- `negative_prompt_attention_mask`: Negatif istem için dikkat maskesi (yönlendirme kullanılmıyorsa None)

İsteği metin kodlayıcı gizli durumlarına kodlar.

## MotifVideoImage2VideoPipeline[[diffusers.MotifVideoImage2VideoPipeline]]

#### diffusers.MotifVideoImage2VideoPipeline[[diffusers.MotifVideoImage2VideoPipeline]]

```python
diffusers.MotifVideoImage2VideoPipeline(scheduler: SchedulerMixin, vae: AutoencoderKLWan, text_encoder: T5Gemma2Encoder, tokenizer: PreTrainedTokenizerBase, transformer: MotifVideoTransformer3DModel, guider: BaseGuidance, feature_extractor: SiglipImageProcessorPil)
```

[Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/motif_video/pipeline_motif_video_image2video.py#L157)

**Parametreler:**

transformer ([MotifVideoTransformer3DModel](/docs/diffusers/main/tr/api/models/motif_video_transformer_3d#diffusers.MotifVideoTransformer3DModel)) : Kodlanmış video latentlerini gürültüden arındırmak için kullanılan koşullu Transformer mimarisi.

scheduler ([SchedulerMixin](/docs/diffusers/main/tr/api/schedulers/overview#diffusers.SchedulerMixin)) : Kodlanmış video latentlerini gürültüden arındırmak için `transformer` ile birlikte kullanılacak bir zamanlayıcı. [DPMSolverMultistepScheduler](/docs/diffusers/main/tr/api/schedulers/multistep_dpm_solver#diffusers.DPMSolverMultistepScheduler) gibi `SchedulerMixin`'den türeyen bir sınıfın örneği olmalıdır. Sağlanmazsa, önceden eğitilmiş modele bağlı olan zamanlayıcı kullanılır.

vae ([AutoencoderKLWan](/docs/diffusers/main/tr/api/models/autoencoder_kl_wan#diffusers.AutoencoderKLWan)) : Video'ları latent temsillere kodlamak ve latent temsillerden video'lara çözmek için kullanılan Varyasyonel Oto-Kodlayıcı (VAE) Modeli.

text_encoder (`T5Gemma2Encoder`) : Metin istemlerini gömülü (embedding) olarak kodlamak için kullanılan birincil metin kodlayıcı.

tokenizer (`PreTrainedTokenizerBase`) : Birincil metin kodlayıcısına karşılık gelen tokenizer.

feature_extractor (`SiglipImageProcessor`) : SigLIP görme kodlayıcısı için görüntü işleyici.

guider ([BaseGuidance](/docs/diffusers/main/tr/api/modular_diffusers/guiders#diffusers.BaseGuidance)) : Kullanılacak yönlendirme yöntemi. `BaseGuidance`'den türeyen bir sınıfın örneği olmalıdır, örneğin [ClassifierFreeGuidance](/docs/diffusers/main/tr/api/modular_diffusers/guiders#diffusers.ClassifierFreeGuidance), [AdaptiveProjectedGuidance](/docs/diffusers/main/tr/api/modular_diffusers/guiders#diffusers.AdaptiveProjectedGuidance) veya [SkipLayerGuidance](/docs/diffusers/main/tr/api/modular_diffusers/guiders#diffusers.SkipLayerGuidance). Verilmezse, varsayılan olarak `ClassifierFreeGuidance` kullanılır.

İlk kare koşullandırması kullanılarak Motif-Video ile görüntüden videoya üretim için pipeline.

Bu model [DiffusionPipeline](/docs/diffusers/main/tr/api/pipelines/overview#diffusers.DiffusionPipeline) sınıfından devralınmıştır. Tüm pipeline'lar için uygulanan genel yöntemlerin (indirme, kaydetme, belirli bir cihazda çalıştırma vb.) belgelerini üst sınıfın dokümantasyonunda bulabilirsiniz.

#### __call__[[diffusers.MotifVideoImage2VideoPipeline.__call__]]

```python
__call__(image: typing.Union[PIL.Image.Image, numpy.ndarray, torch.Tensor, list[PIL.Image.Image], list[numpy.ndarray], list[torch.Tensor]], prompt: typing.Union[str, typing.List[str]], negative_prompt: typing.Union[str, typing.List[str], NoneType] = None, height: int = 736, width: int = 1280, num_frames: int = 121, num_inference_steps: int = 50, timesteps: typing.Optional[typing.List[int]] = None, num_videos_per_prompt: typing.Optional[int] = 1, generator: typing.Union[torch.Generator, typing.List[torch.Generator], NoneType] = None, latents: typing.Optional[torch.Tensor] = None, prompt_embeds: typing.Optional[torch.Tensor] = None, prompt_attention_mask: typing.Optional[torch.Tensor] = None, negative_prompt_embeds: typing.Optional[torch.Tensor] = None, negative_prompt_attention_mask: typing.Optional[torch.Tensor] = None, output_type: typing.Optional[str] = 'pil', return_dict: bool = True, attention_kwargs: typing.Optional[typing.Dict[str, typing.Any]] = None, callback_on_step_end: typing.Union[typing.Callable[[int, int, typing.Dict], NoneType], diffusers.callbacks.PipelineCallback, diffusers.callbacks.MultiPipelineCallbacks, NoneType] = None, callback_on_step_end_tensor_inputs: typing.List[str] = ['latents'], max_sequence_length: int = 512)
```

[Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/motif_video/pipeline_motif_video_image2video.py#L620)

**Parametreler:**

image (`PipelineImageInput`) : Video üretimi için ilk kare olarak kullanılacak giriş görüntüsü.

prompt (`str` veya `List[str]`) : Video üretimini yönlendirmek için istem veya istemler.

negative_prompt (`str` veya `List[str]`, *isteğe bağlı*) : Video üretimini yönlendirmemek için kullanılan istem veya istemler.

height (`int`, varsayılan `736`) : Üretilen videonun piksel cinsinden yüksekliği.

width (`int`, varsayılan `1280`) : Üretilen videonun piksel cinsinden genişliği.

num_frames (`int`, varsayılan `121`) : Üretilecek video kare sayısı.

num_inference_steps (`int`, *isteğe bağlı*, varsayılan 50) : Gürültü azaltma adım sayısı.

timesteps (`List[int]`, *isteğe bağlı*) : Gürültü azaltma süreci için kullanılacak özel zaman adımları.

num_videos_per_prompt (`int`, *isteğe bağlı*, varsayılan 1) : Her istem için üretilecek video sayısı.

generator (`torch.Generator` veya `List[torch.Generator]`, *isteğe bağlı*) : Deterministik üretim için PyTorch Generator nesneleri.

latents (`torch.Tensor`, *isteğe bağlı*) : Önceden oluşturulmuş gürültülü latentler.

prompt_embeds (`torch.Tensor`, *isteğe bağlı*) : Önceden oluşturulmuş metin gömme değerleri.

prompt_attention_mask (`torch.Tensor`, *isteğe bağlı*) : Metin gömme (embedding) için önceden oluşturulmuş dikkat maskesi (attention mask).

negative_prompt_embeds (`torch.FloatTensor`, *isteğe bağlı*) : Önceden oluşturulmuş negatif metin gömme değerleri.

negative_prompt_attention_mask (`torch.FloatTensor`, *isteğe bağlı*) : Negatif metin gömme vektörleri için önceden oluşturulmuş dikkat maskesi.

output_type (`str`, *isteğe bağlı*, varsayılan `"pil"`) : Üretilen videonun çıktı biçimi.

return_dict (`bool`, *isteğe bağlı*, varsayılan `True`) : Düz bir tuple yerine [~MotifVideoPipelineOutput](/docs/diffusers/main/tr/api/pipelines/motif_video#diffusers.MotifVideoPipelineOutput) döndürülüp döndürülmemesi.

attention_kwargs (`dict`, *isteğe bağlı*) : Dikkat işlemcisine (attention processor) aktarılan argümanlar.

callback_on_step_end (`Callable`, *isteğe bağlı*) : Her gürültü azaltma adımının sonunda çağrılan bir fonksiyon veya `PipelineCallback` alt sınıfı.

callback_on_step_end_tensor_inputs (`List`, *isteğe bağlı*) : `callback_on_step_end` işlevi için girdi tensörlerinin listesi.

max_sequence_length (`int`, varsayılan `512`) : Tokenizer için maksimum dizi uzunluğu.

**Dönüş:** [~MotifVideoPipelineOutput](/docs/diffusers/main/tr/api/pipelines/motif_video#diffusers.MotifVideoPipelineOutput) veya `tuple`

`return_dict` `True` ise [~MotifVideoPipelineOutput](/docs/diffusers/main/tr/api/pipelines/motif_video#diffusers.MotifVideoPipelineOutput) döndürülür, aksi halde ilk öğesi üretilen video karelerinin listesi olan bir `tuple` döndürülür.

Görselden video üretimi için pipeline'ın çağrı fonksiyonu.

Örnekler:
```python
>>> import torch
>>> from PIL import Image
>>> from diffusers import MotifVideoImage2VideoPipeline
>>> from diffusers.utils import export_to_video, load_image

>>> # Load the Motif-Video image-to-video pipeline
>>> motif_video_model_id = "Motif-Technologies/Motif-Video-2B"
>>> pipe = MotifVideoImage2VideoPipeline.from_pretrained(motif_video_model_id, torch_dtype=torch.bfloat16)
>>> pipe.to("cuda")

>>> # Load an image
>>> image = load_image(
...     "https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/diffusers/astronaut.png"
... )

>>> prompt = "An astronaut is walking on the moon surface, kicking up dust with each step"
>>> negative_prompt = "worst quality, inconsistent motion, blurry, jittery, distorted"

>>> video = pipe(
...     image=image,
...     prompt=prompt,
...     negative_prompt=negative_prompt,
...     width=1280,
...     height=736,
...     num_frames=121,
...     num_inference_steps=50,
... ).frames[0]
>>> export_to_video(video, "output.mp4", fps=24)
```

#### encode_prompt[[diffusers.MotifVideoImage2VideoPipeline.encode_prompt]]

```python
encode_prompt(prompt: typing.Union[str, typing.List[str]], negative_prompt: typing.Union[str, typing.List[str], NoneType] = None, num_videos_per_prompt: int = 1, prompt_embeds: typing.Optional[torch.Tensor] = None, negative_prompt_embeds: typing.Optional[torch.Tensor] = None, prompt_attention_mask: typing.Optional[torch.Tensor] = None, negative_prompt_attention_mask: typing.Optional[torch.Tensor] = None, max_sequence_length: int = 512, device: typing.Optional[torch.device] = None, dtype: typing.Optional[torch.dtype] = None)
```

[Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/motif_video/pipeline_motif_video_image2video.py#L259)

**Parametreler:**

prompt (`str` veya `List[str]`, *isteğe bağlı*) : Kodlanacak istem veya istemler.

negative_prompt (`str` veya `List[str]`, *isteğe bağlı*) : Görsel üretimi yönlendirmemek için kullanılan istem veya istemler. Tanımlanmamışsa bunun yerine `negative_prompt_embeds` parametresinin geçirilmesi gerekir. Yönlendirme kullanılmadığında (yani `guidance_scale` değeri `1`'den küçükse) yok sayılır.

num_videos_per_prompt (`int`, *isteğe bağlı*, varsayılan 1) : Her istem için üretilecek video sayısı.

prompt_embeds (`torch.Tensor`, *isteğe bağlı*) : Önceden oluşturulmuş metin gömme değerleri.

negative_prompt_embeds (`torch.Tensor`, *isteğe bağlı*) : Ön oluşturulmuş negatif metin gömme değerleri. Metin girdilerini kolayca ayarlamak için kullanılabilir, *ör.* istem ağırlıklandırması. Sağlanmazsa, negative_prompt_embeds, `negative_prompt` girdi argümanından oluşturulur.

prompt_attention_mask (`torch.Tensor`, *isteğe bağlı*) : Metin gömme (embedding) için önceden oluşturulmuş dikkat maskesi (attention mask).

negative_prompt_attention_mask (`torch.Tensor`, *isteğe bağlı*) : Negatif metin gömme vektörleri için önceden oluşturulmuş dikkat maskesi.

max_sequence_length (`int`, varsayılan 512) : Tokenizer için maksimum dizi uzunluğu.

device (`torch.device`, *isteğe bağlı*) : Tensörlerin yerleştirileceği cihaz.

dtype (`torch.dtype`, *isteğe bağlı*) : Tensörler için veri türü.

**Dönüş:** `tuple[torch.Tensor, torch.Tensor, torch.Tensor, torch.Tensor]`

Şu içeriği içeren bir demet:
- `prompt_embeds`: Olumlu istem için metin gömme değerleri
- `negative_prompt_embeds`: Negatif istem için metin gömme değerleri (yönlendirme kullanılmıyorsa None)
- `prompt_attention_mask`: Olumlu istem için dikkat maskesi
- `negative_prompt_attention_mask`: Negatif istem için dikkat maskesi (yönlendirme kullanılmıyorsa None)

İsteği metin kodlayıcı gizli durumlarına kodlar.

## MotifVideoPipelineOutput[[diffusers.MotifVideoPipelineOutput]]

#### diffusers.MotifVideoPipelineOutput[[diffusers.MotifVideoPipelineOutput]]

```python
diffusers.MotifVideoPipelineOutput(frames: Tensor)
```

[Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/motif_video/pipeline_output.py#L9)

**Parametreler:**

frames (`torch.Tensor`, `np.ndarray` veya List[List[PIL.Image.Image]]) : Video çıktıları listesi - `batch_size,` uzunluğunda iç içe geçmiş bir liste olabilir; bu durumda her alt liste, `num_frames.` uzunluğunda gürültüsü azaltılmış PIL görüntü dizileri içerir. Ayrıca `(batch_size, num_frames, channels, height, width)` biçiminde bir NumPy dizi veya Torch tensörü de olabilir.

Motif-Video iş akışları için çıktı sınıfı.

