Buckets:

mishig's picture
|
download
raw
37.2 kB
# Kandinsky 6
Kandinsky 6, [Kandinsky Lab](https://huggingface.co/kandinskylab) tarafından geliştirilen bir video üretim modeli ailesidir. Ana model, metinden veya bir referans görüntüden video ve senkronize ses üretmek için tek bir çok modlu difüzyon dönüştürücüsü kullanır: video ve ses latentleri, iki modalite arasında çapraz dikkat (cross-attention) uygulayan füzyon blokları aracılığıyla birlikte gürültüden arındırılır; her biri kendi Qwen2.5-VL metin dalı ve bir CLIP havuzlanmış gömme (pooled embedding) ile koşullandırılmıştır. Ayrı bir süper çözünürlük modeli, üretilen videoyu nedensel bir 3D K-VAE'nin latent uzayında karot karot (tile by tile) ölçek büyütür.
> [!TIP]
> Hub'daki [Kandinsky Lab](https://huggingface.co/kandinskylab) kuruluşunu, hem temel hem de süper çözünürlük modellerinin akış eşleştirme ve damıtılmış varyantlarını içeren resmi kontrol noktalarının tam seti için inceleyin.
>
> Distilled checkpoint'lar, az adımlı [PiflowScheduler](/docs/diffusers/main/tr/api/schedulers/piflow#diffusers.PiflowScheduler) ile birlikte gelir ve `guidance_scale=1.0` ile çalıştırılmalıdır.
## Mevcut modeller
| Model | Pipeline | Notlar |
|---|---|---|
| [`kandinskylab/Kandinsky-6.0-Pro-5s-Diffusers`](https://huggingface.co/kandinskylab/Kandinsky-6.0-Pro-5s-Diffusers) | [Kandinsky6TI2VAPipeline](/docs/diffusers/main/tr/api/pipelines/kandinsky6#diffusers.Kandinsky6TI2VAPipeline) | Akış eşleştirme, `guidance_scale=5.0`, 50 adım |
| [`kandinskylab/Kandinsky-6.0-Pro-distill-5s-Diffusers`](https://huggingface.co/kandinskylab/Kandinsky-6.0-Pro-distill-5s-Diffusers) | [Kandinsky6TI2VAPipeline](/docs/diffusers/main/tr/api/pipelines/kandinsky6#diffusers.Kandinsky6TI2VAPipeline) | Distilled, `guidance_scale=1.0`, 10 adım |
| [`kandinskylab/Kandinsky-6.0-Lite-5s-Diffusers`](https://huggingface.co/kandinskylab/Kandinsky-6.0-Lite-5s-Diffusers) | [Kandinsky6TI2VAPipeline](/docs/diffusers/main/tr/api/pipelines/kandinsky6#diffusers.Kandinsky6TI2VAPipeline) | Akış eşleştirme, `guidance_scale=5.0`, 50 adım |
| [`kandinskylab/Kandinsky-6.0-Lite-distill-5s-Diffusers`](https://huggingface.co/kandinskylab/Kandinsky-6.0-Lite-distill-5s-Diffusers) | [Kandinsky6TI2VAPipeline](/docs/diffusers/main/tr/api/pipelines/kandinsky6#diffusers.Kandinsky6TI2VAPipeline) | Distilled, `guidance_scale=1.0`, 10 adım |
| [`kandinskylab/Kandinsky-6.0-Pro-pretrain-5s-Diffusers`](https://huggingface.co/kandinskylab/Kandinsky-6.0-Pro-pretrain-5s-Diffusers) | [Kandinsky6TI2VAPipeline](/docs/diffusers/main/tr/api/pipelines/kandinsky6#diffusers.Kandinsky6TI2VAPipeline) | Akış eşleştirme, `guidance_scale=5.0`, 50 adım |
| [`kandinskylab/Kandinsky-6.0-Lite-pretrain-5s-Diffusers`](https://huggingface.co/kandinskylab/Kandinsky-6.0-Lite-pretrain-5s-Diffusers) | [Kandinsky6TI2VAPipeline](/docs/diffusers/main/tr/api/pipelines/kandinsky6#diffusers.Kandinsky6TI2VAPipeline) | Akış eşleştirme, `guidance_scale=5.0`, 50 adım |
| [`kandinskylab/Kandinsky-6.0-VSR-5s-Diffusers`](https://huggingface.co/kandinskylab/Kandinsky-6.0-VSR-5s-Diffusers) | [Kandinsky6SRPipeline](/docs/diffusers/main/tr/api/pipelines/kandinsky6#diffusers.Kandinsky6SRPipeline) | Akış eşleştirme süper çözünürlüğü |
| [`kandinskylab/Kandinsky-6.0-VSR-distilled2steps-5s-Diffusers`](https://huggingface.co/kandinskylab/Kandinsky-6.0-VSR-distilled2steps-5s-Diffusers) | [Kandinsky6SRPipeline](/docs/diffusers/main/tr/api/pipelines/kandinsky6#diffusers.Kandinsky6SRPipeline) | Damıtılmış süper çözünürlük, 2 adım |
## Metin/görselden video ve ses
```python
import torch
from diffusers import Kandinsky6TI2VAPipeline
from diffusers.utils import encode_video
pipe = Kandinsky6TI2VAPipeline.from_pretrained(
"kandinskylab/Kandinsky-6.0-Pro-distill-5s-Diffusers", torch_dtype=torch.bfloat16
)
pipe.enable_model_cpu_offload()
output = pipe(
prompt="A cat and a dog baking a cake together in a kitchen.",
height=480,
width=864,
num_frames=121,
num_inference_steps=10,
guidance_scale=1.0,
)
encode_video(
output.frames[0],
fps=24,
output_path="output.mp4",
audio=output.audio[0][None],
audio_sample_rate=pipe.audio_sample_rate,
)
```
İlk kareyi bir referans görüntüye göre koşullandırmak için `image=`, yalnızca video üretmek için `sample_audio=False` ve kısa istekleri önce ayrıntılı isteklere dönüştürmek için Qwen2.5-VL metin kodlayıcısına izin vermek için `expand_prompts=True` parametrelerini iletin.
## Video süper çözünürlüğü
[Kandinsky6SRPipeline](/docs/diffusers/main/tr/api/pipelines/kandinsky6#diffusers.Kandinsky6SRPipeline), [Kandinsky6TI2VAPipeline](/docs/diffusers/main/tr/api/pipelines/kandinsky6#diffusers.Kandinsky6TI2VAPipeline) tarafından üretilen kareleri alır ve bunları `2`, `4` veya `2.25` (1.125x ikili doğrusal ön büyütme ve ardından 2x yolu) kat oranında büyütür. Video, üst üste binen karolara bölünür; her karo, SR dönüştürücüsünün eğitim gördüğü karo boyutlarından birinde iyileştirilir ve karolar Hann pencereleriyle geri birleştirilir.
```python
# required: lets inductor pick flex-attention tiles that fit the SR block mask
torch._inductor.config.max_autotune = True
sr_pipe = Kandinsky6SRPipeline.from_pretrained(
"kandinskylab/Kandinsky-6.0-VSR-distilled2steps-5s-Diffusers", torch_dtype=torch.bfloat16
)
# The SR transformer always runs NABLA sparse attention on the `flex` backend. Compile it, otherwise flex falls
# back to an eager implementation that needs far more memory at video resolutions.
sr_pipe.enable_model_cpu_offload()
sr_pipe.transformer.set_attention_backend("flex")
sr_pipe.transformer.compile_repeated_blocks(fullgraph=True)
upscaled = sr_pipe(video=output.frames[0], resolution_scale=2.25, num_inference_steps=2).frames[0]
```
## Bellek optimizasyonu
Genel teknikler için [Bellek kullanımını azaltma](../../optimization/memory) kılavuzuna bakın. Hem [Kandinsky6TI2VAPipeline](/docs/diffusers/main/tr/api/pipelines/kandinsky6#diffusers.Kandinsky6TI2VAPipeline) hem de [Kandinsky6SRPipeline](/docs/diffusers/main/tr/api/pipelines/kandinsky6#diffusers.Kandinsky6SRPipeline), (yukarıda kullanılan) [model offloading](../../optimization/memory#model-offloading) ve hızdan ödün vererek daha küçük bir ayak izi için [sequential CPU offloading](../../optimization/memory#cpu-offloading) destekler:
```python
pipe.enable_sequential_cpu_offload()
```
[Kandinsky6TI2VAPipeline](/docs/diffusers/main/tr/api/pipelines/kandinsky6#diffusers.Kandinsky6TI2VAPipeline)'in video VAE'si, yüksek çözünürlükler veya uzun videolar için [tiled decoding](../../optimization/memory#vae-tiling) (döşemeli çözümleme) desteği de sunar:
```python
pipe.vae.enable_tiling()
```
## Notlar
- `height` ve `width`, video VAE'nin uzamsal sıkıştırma oranının transformer'ın yama boyutuyla çarpımına bölünmelidir — varsayılan [Kandinsky6TI2VAPipeline](/docs/diffusers/main/tr/api/pipelines/kandinsky6#diffusers.Kandinsky6TI2VAPipeline) yapılandırmasında bu değer `16`'dır (`8` sıkıştırma oranına sahip `AutoencoderKLHunyuanVideo`, `patch_size=(1, 2, 2)`). Yukarıdaki örnekte kullanılan `480x864` bu koşulu sağlar.
- [Kandinsky6SRPipeline](/docs/diffusers/main/tr/api/pipelines/kandinsky6#diffusers.Kandinsky6SRPipeline)'in girdisi `video`, bazı tam sayı `k` için `1 + k * vae_scale_factor_temporal` kareye sahip olmalıdır (varsayılan K-VAE yapılandırmasıyla `4` zamansal sıkıştırma oranı, bu nedenle `121` kare çalışır ancak `120` çalışmaz) — bu koşulu zaten sağlamayan bir videoyu ölçeklendirmeden önce kırpın veya doldurun.
- `expand_prompts=True`, gürültü azaltma öncesinde ek bir üretim turu için zaten yüklenmiş Qwen2.5-VL metin kodlayıcısını yeniden kullanır; bu nedenle gecikme ekler ancak ek model ağırlığı gerektirmez.
- Daha hızlı tekrarlı çıkarım için tekrarlanan dönüştürücü bloklarını derleyin:
```python
pipe.transformer.compile_repeated_blocks(fullgraph=True)
```
## Kandinsky6TI2VAPipeline[[diffusers.Kandinsky6TI2VAPipeline]]
#### diffusers.Kandinsky6TI2VAPipeline[[diffusers.Kandinsky6TI2VAPipeline]]
```python
diffusers.Kandinsky6TI2VAPipeline(transformer: Kandinsky6Transformer3DModel, vae: AutoencoderKLHunyuanVideo, text_encoder: Qwen2_5_VLForConditionalGeneration, tokenizer: Qwen2_5_VLProcessor, text_encoder_2: CLIPTextModel, tokenizer_2: CLIPTokenizer, scheduler: diffusers.schedulers.scheduling_flow_match_euler_discrete.FlowMatchEulerDiscreteScheduler | diffusers.schedulers.scheduling_piflow.PiflowScheduler, audio_vae: diffusers.models.autoencoders.autoencoder_mmaudio.MMAudioVAE | None = None, vocoder: diffusers.models.autoencoders.mmaudio_vocoder.MMAudioVocoder | None = None)
```
[Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/kandinsky6/pipeline_kandinsky6_ti2va.py#L178)
**Parametreler:**
transformer ([Kandinsky6Transformer3DModel](/docs/diffusers/main/tr/api/models/kandinsky6_transformer#diffusers.Kandinsky6Transformer3DModel)) : Video ve ses latentlerini gürültüden arındıran çok modlu dönüştürücü.
vae ([AutoencoderKLHunyuanVideo](/docs/diffusers/main/tr/api/models/autoencoder_kl_hunyuan_video#diffusers.AutoencoderKLHunyuanVideo)) : Referans görüntüyü kodlamak ve üretilen videoyu çözmek için kullanılan Video VAE.
text_encoder ([Qwen2_5_VLForConditionalGeneration](https://huggingface.co/docs/transformers/main/en/model_doc/qwen2_5_vl#transformers.Qwen2_5_VLForConditionalGeneration)) : Qwen2.5-VL modeli, token düzeyinde metin gömme (embedding) ve isteğe bağlı olarak prompt genişletme sağlar.
tokenizer ([Qwen2_5_VLProcessor](https://huggingface.co/docs/transformers/main/en/model_doc/qwen2_5_vl#transformers.Qwen2_5_VLProcessor)) : `text_encoder` işlemcisi.
text_encoder_2 ([CLIPTextModel](https://huggingface.co/docs/transformers/main/en/model_doc/clip#transformers.CLIPTextModel)) : Havuzlanmış metin gömümünü (pooled text embedding) sağlayan CLIP metin kodlayıcısı.
tokenizer_2 ([CLIPTokenizer](https://huggingface.co/docs/transformers/main/en/model_doc/clip#transformers.CLIPTokenizer)) : `text_encoder_2`'nin tokenizer'ı.
scheduler ([FlowMatchEulerDiscreteScheduler](/docs/diffusers/main/tr/api/schedulers/flow_match_euler_discrete#diffusers.FlowMatchEulerDiscreteScheduler) veya [PiflowScheduler](/docs/diffusers/main/tr/api/schedulers/piflow#diffusers.PiflowScheduler)) : `transformer` ile birlikte latentleri gürültüden arındırmak için kullanılan zamanlayıcı. Distilled checkpoint'ler bir [PiflowScheduler](/docs/diffusers/main/tr/api/schedulers/piflow#diffusers.PiflowScheduler) ile birlikte gelir ve `guidance_scale=1.0` ile çalıştırılmalıdır.
audio_vae ([MMAudioVAE](/docs/diffusers/main/tr/api/models/kandinsky6_vae#diffusers.MMAudioVAE), *isteğe bağlı*) : Üretilen ses latentlerini mel spektrograma çözmek için kullanılan ses VAE'si. Yalnızca `sample_audio=True` olduğunda gereklidir.
vocoder ([MMAudioVocoder](/docs/diffusers/main/tr/api/models/kandinsky6_vae#diffusers.MMAudioVocoder), *isteğe bağlı*) : `audio_vae`'nin çözdüğü mel spektrogramı bir dalga formuna dönüştürmek için kullanılan vokoder. Yalnızca `sample_audio=True` olduğunda gereklidir.
Kandinsky 6 ile metin/görselden video ve ses üretimi için Pipeline.
Video ve ses latentleri, Qwen2.5-VL metin token'ları ve bir CLIP pooled embedding ile koşullandırılmış tek bir çok modlu transformer tarafından birlikte gürültüden arındırılır. İsteğe bağlı bir referans görüntü, ilk kareyi koşullandırır.
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.Kandinsky6TI2VAPipeline.__call__]]
```python
__call__(prompt: str | list[str] | None = 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 = None, height: int = 512, width: int = 768, num_frames: int = 121, frame_rate: float = 24.0, num_inference_steps: int = 50, timesteps: list[int] | None = None, sigmas: list[float] | None = None, guidance_scale: float = 5.0, num_videos_per_prompt: int = 1, generator: typing.Union[torch.Generator, list[torch.Generator], NoneType] = None, latents: typing.Optional[torch.Tensor] = None, audio_latents: typing.Optional[torch.Tensor] = None, prompt_embeds: typing.Optional[torch.Tensor] = None, pooled_prompt_embeds: typing.Optional[torch.Tensor] = None, negative_prompt_embeds: typing.Optional[torch.Tensor] = None, negative_pooled_prompt_embeds: typing.Optional[torch.Tensor] = None, sample_audio: bool = True, expand_prompts: bool = False, max_sequence_length: int = 1024, output_type: str = 'pil', return_dict: bool = True, callback_on_step_end: collections.abc.Callable[[int, int, dict], None] | None = None, callback_on_step_end_tensor_inputs: list = ['latents'])
```
[Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/kandinsky6/pipeline_kandinsky6_ti2va.py#L644)
**Parametreler:**
prompt (`str` veya `list[str]`, *isteğe bağlı*) : Üretimi yönlendirmek için istem veya istemler. `prompt_embeds` verilmediği sürece zorunludur.
image (`PipelineImageInput`, *isteğe bağlı*) : İlk kareyi koşullandıran referans görüntü(ler) (görüntüden video ve ses).
negative_prompt (`str` veya `list[str]`, *isteğe bağlı*) : Üretimi yönlendirmemek için kullanılan istem veya istemler. Varsayılan olarak Kandinsky 6 negatif istemi kullanılır.
height (`int`, varsayılan `512`) : Üretilen videonun piksel cinsinden yüksekliği.
width (`int`, varsayılan `768`) : Üretilen videonun piksel cinsinden genişliği.
num_frames (`int`, varsayılan `121`) : Üretilen kare sayısı.
frame_rate (`float`, varsayılan `24.0`) : Videonun oluşturulduğu kare hızı; senkronize sesin uzunluğunu belirler.
num_inference_steps (`int`, varsayılan `50`) : Gürültü azaltma adım sayısı. Distilled checkpoint'ler için `16` kullanın.
timesteps (`list[int]`, *isteğe bağlı*) : Bunları destekleyen zamanlayıcılar için özel zaman adımları.
sigmas (`list[float]`, *isteğe bağlı*) : Bunları destekleyen zamanlayıcılar için özel sigmalar.
guidance_scale (`float`, varsayılan `5.0`) : Classifier-free guidance ölçeği. [PiflowScheduler](/docs/diffusers/main/tr/api/schedulers/piflow#diffusers.PiflowScheduler) ile `1.0` olmalıdır.
num_videos_per_prompt (`int`, varsayılan `1`) : Her istem için üretilecek video sayısı.
generator (`torch.Generator` veya `list[torch.Generator]`, *isteğe bağlı*) : Başlangıç gürültüsü ve referans görüntü kodlaması için kullanılan üreteç(ler).
latents (`torch.Tensor`, *isteğe bağlı*) : `(batch_size, channels, num_latent_frames, latent_height, latent_width)` biçiminde önceden oluşturulmuş video latentsleri.
audio_latents (`torch.Tensor`, *isteğe bağlı*) : `(batch_size, channels, audio_length)` biçiminde önceden oluşturulmuş ses latentleri.
prompt_embeds (`torch.Tensor`, *isteğe bağlı*) : Önceden oluşturulmuş Qwen2.5-VL metin gömme değerleri.
pooled_prompt_embeds (`torch.Tensor`, *isteğe bağlı*) : Önceden oluşturulmuş CLIP havuzlanmış metin gömme değerleri.
negative_prompt_embeds (`torch.Tensor`, *isteğe bağlı*) : Önceden oluşturulmuş negatif Qwen2.5-VL metin gömme değerleri.
negative_pooled_prompt_embeds (`torch.Tensor`, *isteğe bağlı*) : Önceden oluşturulmuş negatif CLIP havuzlanmış metin gömme değerleri.
sample_audio (`bool`, varsayılan `True`) : Senkronize ses üretilecek mi. Boru hattının bir `audio_vae` ve bir `vocoder` içermesi gerekir.
expand_prompts (`bool`, varsayılan `False`) : Kodlamadan önce istemlerin [expand_prompts()](/docs/diffusers/main/tr/api/pipelines/kandinsky6#diffusers.Kandinsky6TI2VAPipeline.expand_prompts) ile yeniden yazılıp yazılmayacağı.
max_sequence_length (`int`, varsayılan `1024`) : Sohbet şablonundan sonraki maksimum istem belirteç sayısı.
output_type (`str`, varsayılan `"pil"`) : Üretilen videonun çıktı biçimi: `"pil"`, `"np"`, `"pt"` veya `"latent"`.
return_dict (`bool`, varsayılan `True`) : Düz bir tuple yerine [Kandinsky6TI2VAPipelineOutput](/docs/diffusers/main/tr/api/pipelines/kandinsky6#diffusers.Kandinsky6TI2VAPipelineOutput) döndürülecek mi?
callback_on_step_end (`Callable`, *isteğe bağlı*) : `callback_on_step_end(self, step, timestep, callback_kwargs)` ile her gürültü azaltma adımının sonunda çağrılan bir işlev. Listelenen tensörleri geçersiz kılan bir sözlük döndürebilir.
callback_on_step_end_tensor_inputs (`list[str]`, varsayılan `["latents"]`) : `callback_on_step_end`'e iletilen girdi tensörleri; `_callback_tensor_inputs`'ün bir alt kümesi.
**Dönüş:** [Kandinsky6TI2VAPipelineOutput](/docs/diffusers/main/tr/api/pipelines/kandinsky6#diffusers.Kandinsky6TI2VAPipelineOutput) veya `tuple`
Oluşturulan video ve ses; `return_dict=False` olduğunda `(frames, audio)` demeti.
Üretim için pipeline'ın çağrı fonksiyonu.
Örnekler:
```python
>>> import torch
>>> from diffusers import Kandinsky6TI2VAPipeline
>>> from diffusers.utils import encode_video
>>> pipe = Kandinsky6TI2VAPipeline.from_pretrained(
... "kandinskylab/Kandinsky-6.0-Pro-distill-5s-Diffusers", torch_dtype=torch.bfloat16
... )
>>> pipe.enable_model_cpu_offload()
>>> output = pipe(
... prompt="A cat and a dog baking a cake together in a kitchen.",
... height=480,
... width=864,
... num_frames=121,
... num_inference_steps=16,
... guidance_scale=1.0,
... )
>>> encode_video(
... output.frames[0],
... fps=24,
... output_path="output.mp4",
... audio=output.audio[0][None],
... audio_sample_rate=pipe.audio_sample_rate,
... )
```
#### encode_image[[diffusers.Kandinsky6TI2VAPipeline.encode_image]]
```python
encode_image(image: typing.Union[PIL.Image.Image, numpy.ndarray, torch.Tensor, list[PIL.Image.Image], list[numpy.ndarray], list[torch.Tensor]], height: int, width: int, device: device, dtype: dtype, num_videos_per_prompt: int = 1, generator: typing.Optional[torch.Generator] = None)
```
[Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/kandinsky6/pipeline_kandinsky6_ti2va.py#L551)
Referans görüntülerini, VAE `scaling_factor` ile ölçeklendirilmiş `(batch_size, latent_height, latent_width, latent_channels)` boyutunda ilk kare latentlerine kodlar. PIL görüntüleri `height x width` boyutuna yeniden boyutlandırılır ve merkezden kırpılır; tensörler ve diziler zaten bu boyutta olmalıdır. Latentler, batch boyutu boyunca `num_videos_per_prompt` kez tekrarlanır.
#### encode_prompt[[diffusers.Kandinsky6TI2VAPipeline.encode_prompt]]
```python
encode_prompt(prompt: str | list[str], negative_prompt: str | list[str] | None = None, do_classifier_free_guidance: bool = True, num_videos_per_prompt: int = 1, prompt_embeds: typing.Optional[torch.Tensor] = None, pooled_prompt_embeds: typing.Optional[torch.Tensor] = None, prompt_attention_mask: typing.Optional[torch.Tensor] = None, negative_prompt_embeds: typing.Optional[torch.Tensor] = None, negative_pooled_prompt_embeds: typing.Optional[torch.Tensor] = None, negative_prompt_attention_mask: typing.Optional[torch.Tensor] = None, max_sequence_length: int = 1024, device: typing.Optional[torch.device] = None, dtype: typing.Optional[torch.dtype] = None)
```
[Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/kandinsky6/pipeline_kandinsky6_ti2va.py#L309)
**Parametreler:**
prompt (`str` veya `list[str]`) : Kodlanacak istem.
negative_prompt (`str` veya `list[str]`, *isteğe bağlı*) : Üretimi yönlendirmemek için kullanılan istem. `do_classifier_free_guidance` `False` olduğunda yok sayılır.
do_classifier_free_guidance (`bool`, varsayılan `True`) : Negatif istemin de kodlanıp kodlanmayacağı.
num_videos_per_prompt (`int`, varsayılan `1`) : Her istem için üretilen video sayısı; gömceler buna göre tekrarlanır.
prompt_embeds (`torch.Tensor`, *isteğe bağlı*) : Önceden oluşturulmuş Qwen2.5-VL metin gömme değerleri. `prompt` kodlamasını atlar.
pooled_prompt_embeds (`torch.Tensor`, *isteğe bağlı*) : Önceden oluşturulmuş CLIP havuzlanmış metin gömme değerleri. `prompt_embeds` ile birlikte verilmelidir.
prompt_attention_mask (`torch.Tensor`, *isteğe bağlı*) : `prompt_embeds` için Boolean dolgu maskesi.
negative_prompt_embeds (`torch.Tensor`, *isteğe bağlı*) : Önceden oluşturulmuş negatif Qwen2.5-VL metin gömme değerleri.
negative_pooled_prompt_embeds (`torch.Tensor`, *isteğe bağlı*) : Önceden oluşturulmuş negatif CLIP havuzlanmış metin gömme değerleri.
negative_prompt_attention_mask (`torch.Tensor`, *isteğe bağlı*) : `negative_prompt_embeds` için Boolean dolgu maskesi.
max_sequence_length (`int`, varsayılan `1024`) : Sohbet şablonundan sonraki maksimum istem belirteç sayısı.
device (`torch.device`, *isteğe bağlı*) : Metin kodlayıcıların çalıştırılacağı cihaz.
dtype (`torch.dtype`, *isteğe bağlı*) : Dönen gömme (embedding) vektörlerinin veri tipi.
İsteği metin kodlayıcı gizli durumlarına kodlar.
#### expand_prompts[[diffusers.Kandinsky6TI2VAPipeline.expand_prompts]]
```python
expand_prompts(prompt: str | list[str], tokenizer, text_encoder, device: device, image: PIL.Image.Image | list[PIL.Image.Image] | None = None, max_sequence_length: int = 1024, generator: typing.Union[torch.Generator, list[torch.Generator], NoneType] = None)
```
[Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/kandinsky6/pipeline_kandinsky6_ti2va.py#L412)
**Parametreler:**
prompt (`str` veya `list[str]`) : Genişletilecek istem veya istemler.
tokenizer : Qwen2.5-VL işlemcisi, örn. `pipe.tokenizer`.
text_encoder : Örneğin `pipe.text_encoder` gibi Qwen2.5-VL modeli.
device (`torch.device`) : Metin kodlayıcısının çalıştırılacağı cihaz.
image (`PIL.Image.Image` veya `list[PIL.Image.Image]`, *isteğe bağlı*) : Bir görüntüden videoya çağrısının referans görüntü(ler)i.
max_sequence_length (`int`, varsayılan `1024`) : Her istem için üretilen en fazla jeton sayısı.
generator (`torch.Generator` veya `list[torch.Generator]`, *isteğe bağlı*) : Örneklenen genişlemeyi tohumlar; bir liste, `prompt`'un uzunluğuyla eşleşmeli ve her öğe için bir üreteç içermelidir. `generate`, küresel RNG'den çizer, bu nedenle küresel RNG bu üretecin tohumundan tohumlanır; sonraki `randn_tensor` çağrıları `generator`'ı doğrudan kullanmaya devam eder.
**Dönüş:** `str` veya `list[str]`
Genişletilmiş istem(ler).
Kısa istekleri, bir referans görsel verildiğinde bu görsel üzerinden temellendirerek Qwen2.5-VL metin kodlayıcısıyla ayrıntılı video+ses isteklerine dönüştürür. `staticmethod` olduğu için, pipeline çalıştırılmadan önce bağımsız olarak kullanılabilir.
#### prepare_audio_latents[[diffusers.Kandinsky6TI2VAPipeline.prepare_audio_latents]]
```python
prepare_audio_latents(batch_size: int, num_channels_latents: int, audio_length: int, dtype: dtype, device: device, generator: typing.Union[torch.Generator, list[torch.Generator], NoneType], audio_latents: typing.Optional[torch.Tensor] = None)
```
[Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/kandinsky6/pipeline_kandinsky6_ti2va.py#L607)
Dönüştürücünün `(batch_size, audio_length, channels)` yerleşimindeki ses latentlerini döndürür. Kullanıcı tarafından sağlanan `audio_latents` tensörünün `(batch_size, channels, audio_length)` yerleşiminde olması beklenir.
#### prepare_latents[[diffusers.Kandinsky6TI2VAPipeline.prepare_latents]]
```python
prepare_latents(batch_size: int, num_channels_latents: int, height: int, width: int, num_frames: int, dtype: dtype, device: device, generator: typing.Union[torch.Generator, list[torch.Generator], NoneType], latents: typing.Optional[torch.Tensor] = None)
```
[Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/kandinsky6/pipeline_kandinsky6_ti2va.py#L578)
Dönüştürücünün `(batch_size, num_frames, height, width, channels)` yerleşimindeki video latentlerini döndürür. Kullanıcı tarafından sağlanan `latents` tensörünün `(batch_size, channels, num_frames, height, width)` yerleşiminde olması beklenir.
## Kandinsky6SRPipeline[[diffusers.Kandinsky6SRPipeline]]
#### diffusers.Kandinsky6SRPipeline[[diffusers.Kandinsky6SRPipeline]]
```python
diffusers.Kandinsky6SRPipeline(transformer: Kandinsky6SRTransformer3DModel, vae: Kandinsky6SRVAE, scheduler: diffusers.schedulers.scheduling_flow_match_euler_discrete.FlowMatchEulerDiscreteScheduler | diffusers.schedulers.scheduling_piflow.PiflowScheduler, latent_upscaler: diffusers.models.latent_upscaler.latent_upscaler_kandinsky6_sr.Kandinsky6SRLatentUpscalerBank | None = None)
```
[Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/kandinsky6/pipeline_kandinsky6_sr.py#L143)
**Parametreler:**
transformer ([Kandinsky6SRTransformer3DModel](/docs/diffusers/main/tr/api/models/kandinsky6_transformer#diffusers.Kandinsky6SRTransformer3DModel)) : Gizli karoları (latent tiles) iyileştiren Transformer.
vae ([Kandinsky6SRVAE](/docs/diffusers/main/tr/api/models/kandinsky6_vae#diffusers.Kandinsky6SRVAE)) : Girdi videosunu kodlamak ve rafine edilmiş karoları çözmek için kullanılan nedensel video K-VAE.
scheduler ([FlowMatchEulerDiscreteScheduler](/docs/diffusers/main/tr/api/schedulers/flow_match_euler_discrete#diffusers.FlowMatchEulerDiscreteScheduler) veya [PiflowScheduler](/docs/diffusers/main/tr/api/schedulers/piflow#diffusers.PiflowScheduler)): `transformer` ile birlikte karoları gürültüden arındırmak için kullanılan zamanlayıcı. Distilled checkpoint'ler bir [PiflowScheduler](/docs/diffusers/main/tr/api/schedulers/piflow#diffusers.PiflowScheduler) ile birlikte gelir.
latent_upscaler ([Kandinsky6SRLatentUpscalerBank](/docs/diffusers/main/tr/api/pipelines/kandinsky6#diffusers.Kandinsky6SRLatentUpscalerBank), *isteğe bağlı*) : Desteklenen ölçekler için latent upscaler'lar.
Kandinsky 6 ile video süper çözünürlüğü için Pipeline.
Video, üst üste binen mekânsal karolara bölünür; her karo, modelin eğitim gördüğü karo boyutlarından (`transformer.config.tile_sizes`) birinde SR dönüştürücüsü tarafından iyileştirilir ve iyileştirilen karolar Hann pencereleriyle geri birleştirilir. Hattın bir `latent_upscaler` bileşeni varsa karolar, tüm videonun K-VAE gizli temsillerinden kesilir ve gizli uzayda büyütülür; aksi halde piksel karoları iki doğrusal (bilinear) yöntemle büyütülür ve kodlanır.
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.Kandinsky6SRPipeline.__call__]]
```python
__call__(video: typing.Union[list[PIL.Image.Image], list[list[PIL.Image.Image]], numpy.ndarray, torch.Tensor], resolution_scale: float = 2.25, num_inference_steps: int = 4, timesteps: list[int] | None = None, sigmas: list[float] | None = None, lq_noise_scale: float = 0.7, min_overlap: float = 0.2, tiles_batch_size: int = 1, generator: typing.Union[torch.Generator, list[torch.Generator], NoneType] = None, output_type: str = 'pil', return_dict: bool = True)
```
[Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/kandinsky6/pipeline_kandinsky6_sr.py#L228)
**Parametreler:**
video (`list[PIL.Image.Image]`, `np.ndarray` veya `torch.Tensor`) : [preprocess_video()](/docs/diffusers/main/tr/api/video_processor#diffusers.VideoProcessor.preprocess_video) tarafından kabul edilen herhangi bir biçimde, `1 + k * 4` kare içeren düşük çözünürlüklü video(lar). Boyutlar, VAE uzamsal çarpanının katına yuvarlanır.
resolution_scale (`float`, varsayılan `2.25`) : Toplam uzamsal büyütme: `2`, `4` veya `2.25` (1.125x ikili doğrusal ön büyütme ardından 2x yolu).
num_inference_steps (`int`, varsayılan `4`) : Her karo için gürültü azaltma adım sayısı. Distilled checkpoint'ler ile `2` kullanın.
timesteps (`list[int]`, *isteğe bağlı*) : Bunları destekleyen zamanlayıcılar için özel zaman adımları.
sigmas (`list[float]`, *isteğe bağlı*) : Bunları destekleyen zamanlayıcılar için özel sigmalar.
lq_noise_scale (`float`, varsayılan `0.7`) : Gürültü giderme işleminden önce düşük çözünürlüklü latentlere karıştırılan Gauss gürültüsü miktarı (variyans koruyucu).
min_overlap (`float`, varsayılan `0.2`) : Karo boyutunun bir kesri olarak komşu karolar arasındaki minimum örtüşme.
tiles_batch_size (`int`, varsayılan `1`) : Her transformer çağrısında gürültüsü giderilen karoların sayısı.
generator (`torch.Generator` veya `list[torch.Generator]`, *isteğe bağlı*) : Karoların içine karıştırılan gürültü için kullanılan üreteç(ler).
output_type (`str`, varsayılan `"pil"`) : Üretilen videonun çıktı biçimi: `"pil"`, `"np"` veya `"pt"`.
return_dict (`bool`, varsayılan `True`) : Düz bir tuple yerine [Kandinsky6SRPipelineOutput](/docs/diffusers/main/tr/api/pipelines/kandinsky6#diffusers.Kandinsky6SRPipelineOutput) döndürülüp döndürülmediğini belirtir.
**Dönüş:** [Kandinsky6SRPipelineOutput](/docs/diffusers/main/tr/api/pipelines/kandinsky6#diffusers.Kandinsky6SRPipelineOutput) veya `tuple`
Süper çözünürlüklü video; `return_dict=False` olduğunda tek elemanlı bir demet.
Süper çözünürlük için pipeline'ın çağrı fonksiyonu.
Örnekler:
```python
>>> import torch
>>> from diffusers import Kandinsky6SRPipeline, Kandinsky6TI2VAPipeline
>>> from diffusers.utils import export_to_video
>>> pipe = Kandinsky6TI2VAPipeline.from_pretrained(
... "kandinskylab/Kandinsky-6.0-Pro-distill-5s-Diffusers", torch_dtype=torch.bfloat16
... )
>>> pipe.enable_model_cpu_offload()
>>> video = pipe(
... prompt="A cat and a dog baking a cake together in a kitchen.",
... height=480,
... width=864,
... num_inference_steps=16,
... guidance_scale=1.0,
... sample_audio=False,
... ).frames[0]
>>> sr_pipe = Kandinsky6SRPipeline.from_pretrained(
... "kandinskylab/Kandinsky-6.0-VSR-distilled2steps-5s-Diffusers", torch_dtype=torch.bfloat16
... )
>>> # The transformer always runs attention through the `flex` backend; compiling avoids the eager
>>> # fallback's much higher memory use at video resolutions.
>>> sr_pipe.transformer.compile_repeated_blocks(fullgraph=True)
>>> sr_pipe.enable_model_cpu_offload()
>>> output = sr_pipe(video=video, resolution_scale=2.25, num_inference_steps=2)
>>> export_to_video(output.frames[0], "output_sr.mp4", fps=24)
```
#### decode_latents[[diffusers.Kandinsky6SRPipeline.decode_latents]]
```python
decode_latents(latents: Tensor)
```
[Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/kandinsky6/pipeline_kandinsky6_sr.py#L223)
Ölçeklendirilmiş K-VAE latentlerini `[-1, 1]` aralığında `(batch_size, channels, num_frames, height, width)` boyutlu bir videoya çözer.
#### encode_video[[diffusers.Kandinsky6SRPipeline.encode_video]]
```python
encode_video(video: Tensor)
```
[Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/kandinsky6/pipeline_kandinsky6_sr.py#L213)
`(batch_size, channels, num_frames, height, width)` boyutundaki, `[-1, 1]` aralığındaki bir videoyu, VAE `scaling_factor` ile ölçeklenmiş K-VAE latentlerine kodlar.
## Kandinsky6SRLatentUpscalerBank[[diffusers.Kandinsky6SRLatentUpscalerBank]]
#### diffusers.Kandinsky6SRLatentUpscalerBank[[diffusers.Kandinsky6SRLatentUpscalerBank]]
```python
diffusers.Kandinsky6SRLatentUpscalerBank(in_channels: int = 64, stage_channels: tuple[int, int, int] = (2048, 1024, 512), num_pre_blocks: int = 5, num_mid_blocks: int = 3, num_post_blocks: int = 3, num_x2_adapter_blocks: int = 2, scales: tuple[int, ...] = (2, 4), scaling_factor: float = 0.910344004631042)
```
[Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/latent_upscaler/latent_upscaler_kandinsky6_sr.py#L251)
**Parametreler:**
in_channels (`int`, varsayılan `64`) : Gizli kanal sayısı.
stage_channels (`tuple[int, int, int]`, varsayılan `(2048, 1024, 512)`) : Kaskadın üç aşamasının özellik genişlikleri.
num_pre_blocks (`int`, varsayılan `5`) : x4 modelinin ilk yukarı örneklemesinden önceki artımsal bloklar.
num_mid_blocks (`int`, varsayılan `3`) : İki upsampling arasında kalan residual bloklar.
num_post_blocks (`int`, varsayılan `3`) : Son upsample'den sonraki residual bloklar.
num_x2_adapter_blocks (`int`, varsayılan `2`) : x2 modelinin adaptörünün artımsal blokları.
scales (`tuple[int, ...]`, varsayılan `(2, 4)`) : Bank'ın bir upscaler sağladığı uzamsal ölçekler.
scaling_factor (`float`, varsayılan `0.910344`) : Girdi latentlerinin taşıması beklenen ölçek (K-VAE `scaling_factor`).
[Kandinsky6SRPipeline](/docs/diffusers/main/tr/api/pipelines/kandinsky6#diffusers.Kandinsky6SRPipeline) tarafından kullanılan gizli yükselticiler bankı: desteklenen her uzamsal ölçek için bir `Kandinsky6SRLatentUpscaler`, K-VAE gizli değişkenleri üzerinde çalışır.
#### forward[[diffusers.Kandinsky6SRLatentUpscalerBank.forward]]
```python
forward(latents: Tensor, scale: int, return_dict: bool = True)
```
[Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/latent_upscaler/latent_upscaler_kandinsky6_sr.py#L305)
**Parametreler:**
latents (`torch.Tensor`, şekli `(batch_size, in_channels, num_frames, height, width)`) : `scaling_factor` ile ölçeklendirilmiş K-VAE latantları.
scale (`int`) : Uzamsal ölçeklendirme faktörü; `scales` değerlerinden biri.
return_dict (`bool`, varsayılan `True`) : Düz bir tuple yerine `~models.autoencoder_kl.DecoderOutput` döndürülüp döndürülmemesi.
**Dönüş:**
`(batch_size, in_channels, num_frames, height * scale, width * scale)` biçiminde ölçeklendirilmiş latentler.
## Kandinsky6TI2VAPipelineOutput[[diffusers.Kandinsky6TI2VAPipelineOutput]]
#### diffusers.Kandinsky6TI2VAPipelineOutput[[diffusers.Kandinsky6TI2VAPipelineOutput]]
```python
diffusers.Kandinsky6TI2VAPipelineOutput(frames: typing.Union[torch.Tensor, numpy.ndarray, list[list[PIL.Image.Image]]], audio: typing.Union[torch.Tensor, numpy.ndarray, NoneType] = None)
```
[Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/kandinsky6/pipeline_output.py#L25)
**Parametreler:**
frames (`torch.Tensor`, `np.ndarray` veya `list[list[PIL.Image.Image]]`) : Üretilen video. Her biri `num_frames` adet PIL görüntüsü içeren, uzunluğu `batch_size` olan iç içe geçmiş bir liste veya `(batch_size, num_frames, height, width, channels)` / `(batch_size, num_frames, channels, height, width)` biçiminde bir NumPy dizi veya torch tensörü. `output_type="latent"` ile `(batch_size, channels, num_latent_frames, latent_height, latent_width)` biçimindeki video latentleri.
audio (`torch.Tensor` veya `np.ndarray`, *isteğe bağlı*) : Ses VAE'sinin örnek hızında, `[-1, 1]` aralığında `(batch_size, num_samples)` biçiminde üretilen dalga formları veya ses örneklenmediğinde `None`. `output_type="latent"` ile `(batch_size, channels, audio_length)` biçiminde ses latentleri.
[Kandinsky6TI2VAPipeline](/docs/diffusers/main/tr/api/pipelines/kandinsky6#diffusers.Kandinsky6TI2VAPipeline) için çıktı sınıfı.
## Kandinsky6SRPipelineOutput[[diffusers.Kandinsky6SRPipelineOutput]]
#### diffusers.Kandinsky6SRPipelineOutput[[diffusers.Kandinsky6SRPipelineOutput]]
```python
diffusers.Kandinsky6SRPipelineOutput(frames: typing.Union[torch.Tensor, numpy.ndarray, list[list[PIL.Image.Image]]])
```
[Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/kandinsky6/pipeline_output.py#L46)
**Parametreler:**
frames (`torch.Tensor`, `np.ndarray` veya `list[list[PIL.Image.Image]]`) : Süper çözünürlüklü video. Her biri `num_frames` adet PIL görüntüsü içeren, uzunluğu `batch_size` olan iç içe geçmiş bir liste veya `(batch_size, num_frames, height, width, channels)` / `(batch_size, num_frames, channels, height, width)` biçiminde bir NumPy dizi veya torch tensörü.
[Kandinsky6SRPipeline](/docs/diffusers/main/tr/api/pipelines/kandinsky6#diffusers.Kandinsky6SRPipeline) için çıktı sınıfı.

Xet Storage Details

Size:
37.2 kB
·
Xet hash:
3be06bb0b1e39c24d52f7c932540761aa36b20dfcef91356ae46c747826b7024

Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.