Diffusers documentation
LTX-Video
LTX-Video
LTX-Video, metin ve görüntülerden yüksek çözünürlüklü videoların hızlı ve gerçek zamanlı olarak üretilmesi için tasarlanmış bir difüzyon dönüştürücüsüdür. LTX-Video'nun ana özelliği Video-VAE'dir. Video-VAE, daha yüksek piksel-temsil sıkıştırma oranına (1:192) sahiptir; bu da daha verimli video veri işleme ve daha hızlı üretim hızı sağlar. Üretim sırasında ince detayların kaybolmasını desteklemek ve önlemek için Video-VAE çözücü, temsil-piksel dönüşümünü ve son gürültü azaltma adımını gerçekleştirir.
Tüm orijinal LTX-Video checkpoint'lerini Lightricks kuruluşu altında bulabilirsiniz.
Diğer video oluşturma görevlerine ait daha fazla örnek için sağ kenar çubuğundaki LTX-Video modellerine tıklayın.
Aşağıdaki örnek, bellek veya çıkarım hızı için optimize edilmiş bir video üretmenin nasıl yapılacağını gösterir.
Çeşitli bellek tasarrufu teknikleri hakkında daha fazla ayrıntı için Bellek kullanımını azaltma kılavuzuna bakın.
Aşağıdaki LTX-Video modeli ~10GB VRAM gerektirir.
import torch
from diffusers import LTXPipeline, AutoModel
from diffusers.hooks import apply_group_offloading
from diffusers.utils import export_to_video
# fp8 layerwise weight-casting
transformer = AutoModel.from_pretrained(
"Lightricks/LTX-Video",
subfolder="transformer",
dtype=torch.bfloat16
)
transformer.enable_layerwise_casting(
storage_dtype=torch.float8_e4m3fn, compute_dtype=torch.bfloat16
)
pipeline = LTXPipeline.from_pretrained("Lightricks/LTX-Video", transformer=transformer, dtype=torch.bfloat16)
# group-offloading
onload_device = torch.device("cuda")
offload_device = torch.device("cpu")
pipeline.transformer.enable_group_offload(onload_device=onload_device, offload_device=offload_device, offload_type="leaf_level", use_stream=True)
apply_group_offloading(pipeline.text_encoder, onload_device=onload_device, offload_type="block_level", num_blocks_per_group=2)
apply_group_offloading(pipeline.vae, onload_device=onload_device, offload_type="leaf_level")
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 = pipeline(
prompt=prompt,
negative_prompt=negative_prompt,
width=768,
height=512,
num_frames=161,
decode_timestep=0.03,
decode_noise_scale=0.025,
num_inference_steps=50,
).frames[0]
export_to_video(video, "output.mp4", fps=24)Derleme ilk seferde yavaştır ancak pipeline'a yapılan sonraki çağrılar daha hızlıdır. Önbelleğe alma, ara çıktıları saklayıp yeniden kullanarak çıkarımı hızlandırabilir.
import torch
from diffusers import LTXPipeline
from diffusers.utils import export_to_video
pipeline = LTXPipeline.from_pretrained(
"Lightricks/LTX-Video", dtype=torch.bfloat16
)
# torch.compile
pipeline.transformer.to(memory_format=torch.channels_last)
pipeline.transformer = torch.compile(
pipeline.transformer, mode="max-autotune", fullgraph=True
)
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 = pipeline(
prompt=prompt,
negative_prompt=negative_prompt,
width=768,
height=512,
num_frames=161,
decode_timestep=0.03,
decode_noise_scale=0.025,
num_inference_steps=50,
).frames[0]
export_to_video(video, "output.mp4", fps=24)Notlar
LTX-Video deposundan üretim için aşağıdaki önerilen ayarlara başvurun.
- Dönüştürücü, VAE ve metin kodlayıcı için önerilen dtype
torch.bfloat16'dır. VAE ve metin kodlayıcı ayrıcatorch.float32veyatorch.float16olabilir. - LTX-Video'nun guidance-distilled varyantları için
guidance_scaledeğerini1.0olarak ayarlayın. Diğer herhangi bir model için iyi bir üretim kalitesi elde etmek amacıylaguidance_scaledeğeri,5.0gibi daha yüksek bir değere ayarlanmalıdır. - Zaman adımı farkındalıklı VAE varyantları (LTX-Video 0.9.1 ve üzeri) için
decode_timestepdeğerini0.05veimage_cond_noise_scaledeğerini0.025olarak ayarlayın. - Birden fazla koşullandırma görseli ve videosu arasında interpolasyonu destekleyen varyantlar (LTX-Video 0.9.5 ve üzeri) için en iyi sonuçları almak benzer görseller ve videolar kullanın. Koşullandırma girdilerinden sapma, üretilen videoda ani geçişlere yol açabilir.
- Dönüştürücü, VAE ve metin kodlayıcı için önerilen dtype
LTX-Video 0.9.7, uzamsal latent bir yükseltici ve 13B parametreli bir dönüştürücü içerir. Çıkarım sırasında, düşük çözünürlüklü bir video önce hızla oluşturulur ve ardından yükseltilip iyileştirilir.
Örnek kodu göster
import torch from diffusers import LTXConditionPipeline, LTXLatentUpsamplePipeline from diffusers.pipelines.ltx.pipeline_ltx_condition import LTXVideoCondition from diffusers.utils import export_to_video, load_video pipeline = LTXConditionPipeline.from_pretrained("Lightricks/LTX-Video-0.9.7-dev", dtype=torch.bfloat16) pipeline_upsample = LTXLatentUpsamplePipeline.from_pretrained("Lightricks/ltxv-spatial-upscaler-0.9.7", vae=pipeline.vae, dtype=torch.bfloat16) pipeline.to("cuda") # or "mps", "xpu", "cpu" pipe_upsample.to("cuda") pipeline.vae.enable_tiling() def round_to_nearest_resolution_acceptable_by_vae(height, width): height = height - (height % pipeline.vae_temporal_compression_ratio) width = width - (width % pipeline.vae_temporal_compression_ratio) return height, width video = load_video( "https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/diffusers/cosmos/cosmos-video2world-input-vid.mp4" )[:21] # only use the first 21 frames as conditioning condition1 = LTXVideoCondition(video=video, frame_index=0) prompt = """ The video depicts a winding mountain road covered in snow, with a single vehicle traveling along it. The road is flanked by steep, rocky cliffs and sparse vegetation. The landscape is characterized by rugged terrain and a river visible in the distance. The scene captures the solitude and beauty of a winter drive through a mountainous region. """ negative_prompt = "worst quality, inconsistent motion, blurry, jittery, distorted" expected_height, expected_width = 768, 1152 downscale_factor = 2 / 3 num_frames = 161 # 1. Generate video at smaller resolution # Text-only conditioning is also supported without the need to pass `conditions` downscaled_height, downscaled_width = int(expected_height * downscale_factor), int(expected_width * downscale_factor) downscaled_height, downscaled_width = round_to_nearest_resolution_acceptable_by_vae(downscaled_height, downscaled_width) latents = pipeline( conditions=[condition1], prompt=prompt, negative_prompt=negative_prompt, width=downscaled_width, height=downscaled_height, num_frames=num_frames, num_inference_steps=30, decode_timestep=0.05, decode_noise_scale=0.025, image_cond_noise_scale=0.0, guidance_scale=5.0, guidance_rescale=0.7, generator=torch.Generator().manual_seed(0), output_type="latent", ).frames # 2. Upscale generated video using latent upsampler with fewer inference steps # The available latent upsampler upscales the height/width by 2x upscaled_height, upscaled_width = downscaled_height * 2, downscaled_width * 2 upscaled_latents = pipe_upsample( latents=latents, output_type="latent" ).frames # 3. Denoise the upscaled video with few steps to improve texture (optional, but recommended) video = pipeline( conditions=[condition1], prompt=prompt, negative_prompt=negative_prompt, width=upscaled_width, height=upscaled_height, num_frames=num_frames, denoise_strength=0.4, # Effectively, 4 inference steps out of 10 num_inference_steps=10, latents=upscaled_latents, decode_timestep=0.05, decode_noise_scale=0.025, image_cond_noise_scale=0.0, guidance_scale=5.0, guidance_rescale=0.7, generator=torch.Generator().manual_seed(0), output_type="pil", ).frames[0] # 4. Downscale the video to the expected resolution video = [frame.resize((expected_width, expected_height)) for frame in video] export_to_video(video, "output.mp4", fps=24)LTX-Video 0.9.7 damıtılmış modeli, üretimi hızlandırmak için rehberlik ve zaman adımı damıtması uygulanmıştır. İyi üretim kalitesi için
guidance_scale'ın1.0olarak ayarlanması venum_inference_steps'in4ile10arasında bir değere ayarlanması gerekir. En iyi sonuçlar için aşağıdaki özel zaman adımlarını da kullanmalısınız.- Upscaling için hazırlık amacıyla temel model çıkarımı:
[1000, 993, 987, 981, 975, 909, 725, 0.03]. - Yaklaştırma:
[1000, 909, 725, 421, 0].
Örnek kodu göster
import torch from diffusers import LTXConditionPipeline, LTXLatentUpsamplePipeline from diffusers.pipelines.ltx.pipeline_ltx_condition import LTXVideoCondition from diffusers.utils import export_to_video, load_video pipeline = LTXConditionPipeline.from_pretrained("Lightricks/LTX-Video-0.9.7-distilled", dtype=torch.bfloat16) pipe_upsample = LTXLatentUpsamplePipeline.from_pretrained("Lightricks/ltxv-spatial-upscaler-0.9.7", vae=pipeline.vae, dtype=torch.bfloat16) pipeline.to("cuda") # or "mps", "xpu", "cpu" pipe_upsample.to("cuda") pipeline.vae.enable_tiling() def round_to_nearest_resolution_acceptable_by_vae(height, width): height = height - (height % pipeline.vae_spatial_compression_ratio) width = width - (width % pipeline.vae_spatial_compression_ratio) return height, width prompt = """ artistic anatomical 3d render, utlra quality, human half full male body with transparent skin revealing structure instead of organs, muscular, intricate creative patterns, monochromatic with backlighting, lightning mesh, scientific concept art, blending biology with botany, surreal and ethereal quality, unreal engine 5, ray tracing, ultra realistic, 16K UHD, rich details. camera zooms out in a rotating fashion """ negative_prompt = "worst quality, inconsistent motion, blurry, jittery, distorted" expected_height, expected_width = 768, 1152 downscale_factor = 2 / 3 num_frames = 161 # 1. Generate video at smaller resolution downscaled_height, downscaled_width = int(expected_height * downscale_factor), int(expected_width * downscale_factor) downscaled_height, downscaled_width = round_to_nearest_resolution_acceptable_by_vae(downscaled_height, downscaled_width) latents = pipeline( prompt=prompt, negative_prompt=negative_prompt, width=downscaled_width, height=downscaled_height, num_frames=num_frames, timesteps=[1000, 993, 987, 981, 975, 909, 725, 0.03], decode_timestep=0.05, decode_noise_scale=0.025, image_cond_noise_scale=0.0, guidance_scale=1.0, guidance_rescale=0.7, generator=torch.Generator().manual_seed(0), output_type="latent", ).frames # 2. Upscale generated video using latent upsampler with fewer inference steps # The available latent upsampler upscales the height/width by 2x upscaled_height, upscaled_width = downscaled_height * 2, downscaled_width * 2 upscaled_latents = pipe_upsample( latents=latents, adain_factor=1.0, output_type="latent" ).frames # 3. Denoise the upscaled video with few steps to improve texture (optional, but recommended) video = pipeline( prompt=prompt, negative_prompt=negative_prompt, width=upscaled_width, height=upscaled_height, num_frames=num_frames, denoise_strength=0.999, # Effectively, 4 inference steps out of 5 timesteps=[1000, 909, 725, 421, 0], latents=upscaled_latents, decode_timestep=0.05, decode_noise_scale=0.025, image_cond_noise_scale=0.0, guidance_scale=1.0, guidance_rescale=0.7, generator=torch.Generator().manual_seed(0), output_type="pil", ).frames[0] # 4. Downscale the video to the expected resolution video = [frame.resize((expected_width, expected_height)) for frame in video] export_to_video(video, "output.mp4", fps=24)- Upscaling için hazırlık amacıyla temel model çıkarımı:
LTX-Video 0.9.8 damıtılmış modeli, 0.9.7 varyantına benzerdir. Rehberlik ve zaman adımı damıtılmıştır ve yukarıdaki gibi benzer çıkarım kodu kullanılabilir. Bu sürümün bir iyileştirmesi, çok uzun videoların oluşturulmasını desteklemesidir. Ayrıca,
tone_map_compression_ratioparametresi kullanılarak oluşturulan videonun kalitesini artırmak için ton eşlemesinin (tone mapping) kullanılmasını destekler.0.6varsayılan değeri önerilmektedir.Örnek kodu göster
import torch from diffusers import LTXConditionPipeline, LTXLatentUpsamplePipeline from diffusers.pipelines.ltx.pipeline_ltx_condition import LTXVideoCondition from diffusers.models.latent_upscaler import LTXLatentUpsamplerModel from diffusers.utils import export_to_video, load_video pipeline = LTXConditionPipeline.from_pretrained("Lightricks/LTX-Video-0.9.8-13B-distilled", dtype=torch.bfloat16) # TODO: Update the checkpoint here once updated in LTX org upsampler = LTXLatentUpsamplerModel.from_pretrained("a-r-r-o-w/LTX-0.9.8-Latent-Upsampler", dtype=torch.bfloat16) pipe_upsample = LTXLatentUpsamplePipeline(vae=pipeline.vae, latent_upsampler=upsampler).to(torch.bfloat16) pipeline.to("cuda") # or "mps", "xpu", "cpu" pipe_upsample.to("cuda") pipeline.vae.enable_tiling() def round_to_nearest_resolution_acceptable_by_vae(height, width): height = height - (height % pipeline.vae_spatial_compression_ratio) width = width - (width % pipeline.vae_spatial_compression_ratio) return height, width prompt = """The camera pans over a snow-covered mountain range, revealing a vast expanse of snow-capped peaks and valleys.The mountains are covered in a thick layer of snow, with some areas appearing almost white while others have a slightly darker, almost grayish hue. The peaks are jagged and irregular, with some rising sharply into the sky while others are more rounded. The valleys are deep and narrow, with steep slopes that are also covered in snow. The trees in the foreground are mostly bare, with only a few leaves remaining on their branches. The sky is overcast, with thick clouds obscuring the sun. The overall impression is one of peace and tranquility, with the snow-covered mountains standing as a testament to the power and beauty of nature.""" # prompt = """A woman walks away from a white Jeep parked on a city street at night, then ascends a staircase and knocks on a door. The woman, wearing a dark jacket and jeans, walks away from the Jeep parked on the left side of the street, her back to the camera; she walks at a steady pace, her arms swinging slightly by her sides; the street is dimly lit, with streetlights casting pools of light on the wet pavement; a man in a dark jacket and jeans walks past the Jeep in the opposite direction; the camera follows the woman from behind as she walks up a set of stairs towards a building with a green door; she reaches the top of the stairs and turns left, continuing to walk towards the building; she reaches the door and knocks on it with her right hand; the camera remains stationary, focused on the doorway; the scene is captured in real-life footage.""" negative_prompt = "bright colors, symbols, graffiti, watermarks, worst quality, inconsistent motion, blurry, jittery, distorted" expected_height, expected_width = 480, 832 downscale_factor = 2 / 3 # num_frames = 161 num_frames = 361 # 1. Generate video at smaller resolution downscaled_height, downscaled_width = int(expected_height * downscale_factor), int(expected_width * downscale_factor) downscaled_height, downscaled_width = round_to_nearest_resolution_acceptable_by_vae(downscaled_height, downscaled_width) latents = pipeline( prompt=prompt, negative_prompt=negative_prompt, width=downscaled_width, height=downscaled_height, num_frames=num_frames, timesteps=[1000, 993, 987, 981, 975, 909, 725, 0.03], decode_timestep=0.05, decode_noise_scale=0.025, image_cond_noise_scale=0.0, guidance_scale=1.0, guidance_rescale=0.7, generator=torch.Generator().manual_seed(0), output_type="latent", ).frames # 2. Upscale generated video using latent upsampler with fewer inference steps # The available latent upsampler upscales the height/width by 2x upscaled_height, upscaled_width = downscaled_height * 2, downscaled_width * 2 upscaled_latents = pipe_upsample( latents=latents, adain_factor=1.0, tone_map_compression_ratio=0.6, output_type="latent" ).frames # 3. Denoise the upscaled video with few steps to improve texture (optional, but recommended) video = pipeline( prompt=prompt, negative_prompt=negative_prompt, width=upscaled_width, height=upscaled_height, num_frames=num_frames, denoise_strength=0.999, # Effectively, 4 inference steps out of 5 timesteps=[1000, 909, 725, 421, 0], latents=upscaled_latents, decode_timestep=0.05, decode_noise_scale=0.025, image_cond_noise_scale=0.0, guidance_scale=1.0, guidance_rescale=0.7, generator=torch.Generator().manual_seed(0), output_type="pil", ).frames[0] # 4. Downscale the video to the expected resolution video = [frame.resize((expected_width, expected_height)) for frame in video] export_to_video(video, "output.mp4", fps=24)LTX-Video, load_lora_weights() ile LoRA'ları destekler.
Örnek kodu göster
import torch from diffusers import LTXConditionPipeline from diffusers.utils import export_to_video, load_image pipeline = LTXConditionPipeline.from_pretrained( "Lightricks/LTX-Video-0.9.5", dtype=torch.bfloat16 ) pipeline.load_lora_weights("Lightricks/LTX-Video-Cakeify-LoRA", adapter_name="cakeify") pipeline.set_adapters("cakeify") # use "CAKEIFY" to trigger the LoRA prompt = "CAKEIFY a person using a knife to cut a cake shaped like a Pikachu plushie" image = load_image("https://huggingface.co/Lightricks/LTX-Video-Cakeify-LoRA/resolve/main/assets/images/pikachu.png") video = pipeline( prompt=prompt, image=image, width=576, height=576, num_frames=161, decode_timestep=0.03, decode_noise_scale=0.025, num_inference_steps=50, ).frames[0] export_to_video(video, "output.mp4", fps=26)LTX-Video, loaders.FromOriginalModelMixin.from_single_file() veya loaders.FromSingleFileMixin.from_single_file() ile GGUF checkpoint gibi tek dosyalardan yükleme destekler.
Örnek kodu göster
import torch from diffusers.utils import export_to_video from diffusers import LTXPipeline, AutoModel, GGUFQuantizationConfig transformer = AutoModel.from_single_file( "https://huggingface.co/city96/LTX-Video-gguf/blob/main/ltx-video-2b-v0.9-Q3_K_S.gguf" quantization_config=GGUFQuantizationConfig(compute_dtype=torch.bfloat16), dtype=torch.bfloat16 ) pipeline = LTXPipeline.from_pretrained( "Lightricks/LTX-Video", transformer=transformer, dtype=torch.bfloat16 )
LTXI2VLongMultiPromptPipeline
sınıf diffusers.LTXI2VLongMultiPromptPipeline
< source >( scheduler: FlowMatchEulerDiscreteSchedulervae: AutoencoderKLLTXVideotext_encoder: T5EncoderModeltokenizer: T5TokenizerFasttransformer: LTXVideoTransformer3DModel )
Parametreler
- transformer (LTXVideoTransformer3DModel) — Kodlanmış video latentlerini gürültüden arındırmak için kullanılan Koşullu Transformer mimarisi.
- scheduler (FlowMatchEulerDiscreteScheduler veya
LTXEulerAncestralRFScheduler) — Kodlanmış görüntü latentlerini gürültüden arındırmak içintransformerile birlikte kullanılacak bir zamanlayıcı. - vae (AutoencoderKLLTXVideo) — Görselleri latent temsillere kodlamak ve latent temsillerden çözmek için Varyasyonel Oto-Kodlayıcı (VAE) Modeli.
- text_encoder (
T5EncoderModel) — T5, özellikle google/t5-v1_1-xxl varyantı. - tokenizer (
T5TokenizerFast) — Tokenizer of class T5TokenizerFast.
ComfyUI uyumluluğuna sahip, uzun süreli I2V (görselden videoya) çoklu istemli iş akışı.
Öne çıkan özellikler:
- Sadece zamansal kayan pencere örneklemesi (uzamsal H/W bölme yok); pencereler arasında otoregresif füzyon.
- Pencere başlarında yumuşak geçişlere sahip pencere başına çoklu istemli segmentasyon.
- I2V için token başına maske ile ilk kare sert koşullandırma.
- Zaman penceresi ve VAE karoları ile çözümlenme yoluyla VRAM kontrolü.
Referans: https://github.com/Lightricks/LTX-Video
__call__
< source >( prompt: str | list[str] = Nonenegative_prompt: str | list[str] | None = Noneprompt_segments: list[dict[str, Any]] | None = Noneheight: int = 512width: int = 704num_frames: int = 161frame_rate: float = 25guidance_scale: float = 1.0guidance_rescale: float = 0.0num_inference_steps: int | None = 8sigmas: list[float, torch.Tensor] | None = Nonegenerator: torch.Generator | list[torch.Generator] | None = Noneseed: int | None = 0cond_image: 'PIL.Image.Image' | torch.Tensor | None = Nonecond_strength: float = 0.5latents: torch.Tensor | None = Nonetemporal_tile_size: int = 80temporal_overlap: int = 24temporal_overlap_cond_strength: float = 0.5adain_factor: float = 0.25guidance_latents: torch.Tensor | None = Noneguiding_strength: float = 1.0negative_index_latents: torch.Tensor | None = Nonenegative_index_strength: float = 1.0skip_steps_sigma_threshold: float | None = 1decode_timestep: float | None = 0.05decode_noise_scale: float | None = 0.025decode_horizontal_tiles: int = 4decode_vertical_tiles: int = 4decode_overlap: int = 3output_type: str | None = 'latent'return_dict: bool = Trueattention_kwargs: dict[str, Any] | None = Nonecallback_on_step_end: Callable[[int, int], None] | None = Nonecallback_on_step_end_tensor_inputs: list[str] = ['latents']max_sequence_length: int = 128 ) → ~pipelines.ltx.LTXPipelineOutput or tuple
Parametreler
- prompt (
strveyalist[str], isteğe bağlı) — Pencere başına pozitif metin istemleri. Tek bir dize ’|’ içeriyorsa, parçalar çubuklara göre bölünür. - negative_prompt (
strveyalist[str], isteğe bağlı) — İstenmeyen içeriği bastırmak için negatif istem(ler). - prompt_segments (
list[dict], isteğe bağlı) — Pencere başına istemleri geçersiz kılmak için {“start_window”, “end_window”, “text”} içeren segment eşlemesi. - height (
int, varsayılan512) — Piksel cinsinden çıktı görüntü yüksekliği; 32'ye bölünebilir olmalıdır. - width (
int, varsayılan704) — Piksel cinsinden çıktı görüntü genişliği; 32'ye bölünebilir olmalıdır. - num_frames (
int, varsayılan161) — Çıktı kare sayısı (çözümlenmiş piksel uzayında). - frame_rate (
float, varsayılan25) — Saniye başına kare sayısı;video_coordsiçindeki zaman koordinatlarını normalize etmek için kullanılır. - guidance_scale (
float, varsayılan1.0) — CFG ölçeği; > 1 değerleri sınıflandırıcı-özgürlüklü yönlendirmeyi etkinleştirir. - guidance_rescale (
float, varsayılan0.0) — CFG altında aşırı pozlamayı azaltmak için isteğe bağlı yeniden ölçekleme (bkz.rescale_noise_cfg). - num_inference_steps (
int, isteğe bağlı, varsayılan8) — Pencere başına gürültü azaltma adımları.sigmassağlanırsa yok sayılır. - sigmas (
list[float]veyatorch.Tensor, isteğe bağlı) — Pencere başına açık sigma zamanlaması; ayarlanırsanum_inference_stepsdeğerini geçersiz kılar. - generator (
torch.Generatorveyalist[torch.Generator], isteğe bağlı) — Rastgeleliği kontrol eder; liste kabul edilir ancak yalnızca ilk eleman kullanılır (batch=1). - seed (
int, isteğe bağlı, varsayılan0) — Belirtilirse, küresel latentler için paylaşılan üreteci tohumlar ve her zaman penceresi içinseed + w_startile pencereye özgü bir üreteç türetir. - cond_image (
PIL.Image.Imageveyatorch.Tensor, isteğe bağlı) — Koşullandırma görüntüsü;cond_strength > 0olduğunda token başına maske ile 0. kareyi sabitler. - cond_strength (
float, varsayılan0.5) — İlk kare sert koşullandırma gücü (daha küçük cond_mask ⇒ daha güçlü koruma). - latents (
torch.Tensor, isteğe bağlı) — Başlangıç latensleri [B, C_lat, F_lat, H_lat, W_lat]; None iserandn_tensorile örneklenir. - temporal_tile_size (
int, varsayılan80) — Zamansal pencere boyutu (çözümlenmiş kare cinsinden); içsel olarak VAE zamansal sıkıştırması ile ölçeklenir. - temporal_overlap (
int, varsayılan24) — Ardışık pencereler arasındaki örtüşme (çözümlenmiş kare cinsinden); içsel olarak sıkıştırma ile ölçeklenir. - temporal_overlap_cond_strength (
float, varsayılan0.5) — Yeni pencere başına önceki pencere kuyruğu latentlerini enjekte etmek için kullanılan güç. - adain_factor (
float, varsayılan0.25) — Çapraz pencere tutarlılığı için AdaIN normalizasyon gücü (0 devre dışı bırakır). - guidance_latents (
torch.Tensor, isteğe bağlı) — Pencere başına enjekte edilen referans latentler; sonraki pencereler için uzunluk, örtüşme tarafından kısaltılır. - guiding_strength (
float, varsayılan1.0) —guidance_latentsiçin enjeksiyon gücü. - negative_index_latents (
torch.Tensor, isteğe bağlı) — “Negatif indeks” semantiği için pencere başına eklenen tek kareli latent. - negative_index_strength (
float, varsayılan1.0) —negative_index_latentsiçin enjeksiyon gücü. - skip_steps_sigma_threshold (
float, isteğe bağlı, varsayılan1) — Bu eşiği aşan sigma değerine sahip adımları atlayın. - decode_timestep (
float, isteğe bağlı, varsayılan0.05) — Çözme zamanı timestep'i (VAE, timestep_conditioning'i destekliyorsa). - decode_noise_scale (
float, isteğe bağlı, varsayılan0.025) — Çözme zamanı gürültü karışım ölçeği (VAE, timestep_conditioning'i destekliyorsa). - decode_horizontal_tiles (
int, varsayılan4) — VAE çözümleme sırasında yatay karoların sayısı. - decode_vertical_tiles (
int, varsayılan4) — VAE çözümleme sırasında dikey karoların sayısı. - decode_overlap (
int, varsayılan3) — VAE çözümleme sırasında karolar arasındaki örtüşme (latent piksel cinsinden). - output_type (
str, isteğe bağlı, varsayılan"latent") — Oluşturulan videonun çıktı biçimi. “latent”, “pt”, “np” veya “pil” arasında seçim yapın. “latent” seçilirse, çözümleme yapılmadan latentler döndürülür. - return_dict (
bool, isteğe bağlı, varsayılanTrue) — Düz bir tuple yerine~pipelines.ltx.LTXPipelineOutputdöndürülüp döndürülmemesi. - attention_kwargs (
dict, isteğe bağlı) — Dönüştürücüye (transformer) iletilecek ek dikkat (attention) parametreleri. - callback_on_step_end (
PipelineCallbackveyaMultiPipelineCallbacks, isteğe bağlı) — Adım başına geri çağrı kancası. - callback_on_step_end_tensor_inputs (
list[str], varsayılan["latents"]) — Callback'e aktarılacak locals() anahtarları. - max_sequence_length (
int, varsayılan128) — İstem kodlaması için Tokenizer'ın maksimum uzunluğu.
Dönüş değeri
~pipelines.ltx.LTXPipelineOutput veya tuple
return_dict True ise ~pipelines.ltx.LTXPipelineOutput döndürülür, aksi halde ilk öğesi üretilen karelerin listesini içeren bir tuple döndürülür. Çıktı biçimi output_type değerine bağlıdır:
- “latent”/“pt”:
torch.Tensor[B, C, F, H, W]; “latent” normalize edilmiş latent uzayda, “pt” ise VAE çıktı uzayındadır. - “np”:
np.ndarrayişlenmiş. - “pil”:
list[PIL.Image.Image]PIL görüntüleri listesi.
Zaman kayan pencereleri ve çoklu istem zamanlaması kullanarak görüntüden videoya bir dizi oluşturun.
Örnekler:
>>> import torch
>>> from diffusers import LTXEulerAncestralRFScheduler, LTXI2VLongMultiPromptPipeline
>>> pipe = LTXI2VLongMultiPromptPipeline.from_pretrained("LTX-Video-0.9.8-13B-distilled")
>>> # For ComfyUI parity, swap in the RF scheduler (keeps the original config).
>>> pipe.scheduler = LTXEulerAncestralRFScheduler.from_config(pipe.scheduler.config)
>>> pipe = pipe.to("cuda").to(dtype=torch.bfloat16)
>>> # Example A: get decoded frames (PIL)
>>> out = pipe(
... prompt="a chimpanzee walks | a chimpanzee eats",
... num_frames=161,
... height=512,
... width=704,
... temporal_tile_size=80,
... temporal_overlap=24,
... output_type="pil",
... return_dict=True,
... )
>>> frames = out.frames[0] # list of PIL.Image.Image
>>> # Example B: get latent video and decode later (saves VRAM during sampling)
>>> out_latent = pipe(prompt="a chimpanzee walking", output_type="latent", return_dict=True).frames
>>> frames = pipe.vae_decode_tiled(out_latent, output_type="pil")[0]Şekiller: Gizli boyutlar (otomatik oluşturulduğunda):
- F_lat = (num_frames - 1) // vae_temporal_compression_ratio + 1
- H_lat = height // vae_spatial_compression_ratio
- W_lat = width // vae_spatial_compression_ratio
Notlar:
- Seeding:
seedsağlandığında, her zaman penceresiseed + w_startile tohumlanmış yerel bir üreteç kullanır; üreteç geçirilmediyse ortak üreteç, küresel latentler için bir kez tohumlanır; aksi halde geçirilen üreteç yeniden kullanılır. - CFG: isteğe bağlı
guidance_rescaleile birleşiknoise_pred = uncond + w * (text - uncond). - Bellek: denoising tam çerçeveyi tahmin eder (uzaysal karolama yoktur); OOM'den kaçınmak için decoding karolanabilir.
encode_prompt
< source >( prompt: str | list[str]negative_prompt: str | list[str] | None = Nonedo_classifier_free_guidance: bool = Truenum_videos_per_prompt: int = 1prompt_embeds: torch.Tensor | None = Nonenegative_prompt_embeds: torch.Tensor | None = Noneprompt_attention_mask: torch.Tensor | None = Nonenegative_prompt_attention_mask: torch.Tensor | None = Nonemax_sequence_length: int = 128device: torch.device | None = Nonedtype: torch.dtype | None = None )
Parametreler
- prompt (
strveyalist[str], isteğe bağlı) — kodlanacak prompt - negative_prompt (
strveyalist[str], isteğe bağlı) — Görsel üretimini yönlendirmemek için kullanılan istem veya istemler. Tanımlanmamışsa, bunun yerinenegative_prompt_embedsparametresinin geçirilmesi gerekir. Yönlendirme kullanılmadığında (yaniguidance_scaledeğeri1'den küçükse) yok sayılır. - do_classifier_free_guidance (
bool, isteğe bağlı, varsayılanTrue) — Classifier free guidance kullanılacak mı? - num_videos_per_prompt (
int, isteğe bağlı, varsayılan 1) — Her prompt için oluşturulması gereken video sayısı. Sonuç gömme vektörlerinin yerleştirileceği torch cihazı - prompt_embeds (
torch.Tensor, isteğe bağlı) — Önceden oluşturulmuş metin gömme değerleri. Metin girdilerini kolayca ayarlamak için kullanılabilir, ör. prompt ağırlıklandırma. Sağlanmazsa, metin gömme değerleripromptgirdi argümanından oluşturulur. - negative_prompt_embeds (
torch.Tensor, isteğe bağlı) — Önceden 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_promptgirdi argümanından oluşturulur. - device — (
torch.device, isteğe bağlı): torch cihazı - dtype — (
torch.dtype, isteğe bağlı): torch dtype
İsteği metin kodlayıcı gizli durumlarına kodlar.
prepare_latents
< source >( batch_size: intnum_channels_latents: intheight: intwidth: intnum_frames: intdevice: torch.devicegenerator: torch.Generator | Nonedtype: torch.dtype = torch.float32latents: torch.Tensor | None = Nonecond_latents: torch.Tensor | None = Nonecond_strength: float = 0.0negative_index_latents: torch.Tensor | None = None )
Temel latentleri hazırlayın ve isteğe bağlı olarak ilk kare koşullama latentlerini enjekte edin.
vae_decode_tiled
< source >( latents: torch.Tensordecode_timestep: float | None = Nonedecode_noise_scale: float | None = Nonehorizontal_tiles: int = 4vertical_tiles: int = 4overlap: int = 3last_frame_fix: bool = Truegenerator: torch.Generator | None = Noneoutput_type: str = 'pt'auto_denormalize: bool = Truecompute_dtype: torch.dtype = torch.float32enable_vae_tiling: bool = False ) →
Parametreler
- latents — [B, C_latent, F_latent, H_latent, W_latent]
- decode_timestep — İsteğe bağlı decode timestep (yalnızca VAE timestep_conditioning destekliyorsa geçerlidir)
- decode_noise_scale — İsteğe bağlı decode gürültüsü interpolasyonu (yalnızca VAE timestep_conditioning destekliyorsa geçerlidir)
- horizontal_tiles, vertical_tiles — Yatay/dikey olarak kaç karo olacak (>= 1)
- overlap — Gizli uzayda örtüşme (gizli piksel cinsinden, >= 0)
- last_frame_fix — “Son kareyi tekrarla” düzeltmesinin etkinleştirilip etkinleştirilmeyeceği
- generator — Rastgele üreteç (decode_noise_scale gürültüsü için kullanılır)
- output_type — “latent” | “pt” | “np” | “pil”
- “latent”: latentleri değiştirmeden döndürür (aşağı akış işleme için faydalıdır)
- “pt”: VAE çıktı uzayında tensör döndür
- “np”/“pil”: VideoProcessor.postprocess_video ile işlenmiş çıktılar
- auto_denormalize — True ise,
latentsiçin LTX de-normalizasyonu içsel olarak uygulanır (önerilir) - compute_dtype — Karo birleştirme sırasında kullanılan hassasiyet (varsayılan float32; dikiş bulanıklığını önemli ölçüde azaltır)
- enable_vae_tiling — True ise, tiling işlemini VAE’nin yerleşik
tiled_decodefonksiyonuna devreder (vae.use_tilingayarlanır).
Dönüş değeri
- output_type="latent" ise
girdi latents değerini değiştirmeden döndürür
- output_type="pt" ise: [B, C, F, H, W] döndürür (değerler yaklaşık [-1, 1] aralığındadır)
- output_type="np"/"pil" ise: postprocess_video aracılığıyla işlenmiş çıktıları döndürür
Diffusers tarzında uygulanan, ComfyUI ile uyumlu VAE tabanlı uzamsal karolalı çözümleme.
- Çakışan karoları doğrusal olarak tüyler ve karıştırarak dikişleri önleyin.
- İsteğe bağlı last_frame_fix: çözümlenmeden önce son latent kareyi kopyalayın, ardından sonundan time_scale_factor kareyi atın.
- timestep_conditioning ve decode_noise_scale enjeksiyonunu destekler.
- Varsayılan olarak, “normalized latents” (gürültüden arındırma çıktısı) içsel olarak de-normalize edilir (auto_denormalize=True).
- Tile fusion, bulanıklık ve renk kaymalarını azaltmak için compute_dtype (varsayılan olarak float32) içinde hesaplanır.
LTXPipeline
sınıf diffusers.LTXPipeline
< source >( scheduler: FlowMatchEulerDiscreteSchedulervae: AutoencoderKLLTXVideotext_encoder: T5EncoderModeltokenizer: T5Tokenizertransformer: LTXVideoTransformer3DModel )
Parametreler
- transformer (LTXVideoTransformer3DModel) — Kodlanmış video latentlerini gürültüden arındırmak için kullanılan Koşullu Transformer mimarisi.
- scheduler (FlowMatchEulerDiscreteScheduler) —
Kodlanmış görüntü latentlerini gürültüden arındırmak için
transformerile birlikte kullanılacak bir zamanlayıcı. - vae (AutoencoderKLLTXVideo) — Görselleri latent temsillere kodlamak ve latent temsillerden çözmek için Varyasyonel Oto-Kodlayıcı (VAE) Modeli.
- text_encoder (
T5EncoderModel) — T5, özellikle google/t5-v1_1-xxl varyantı. - tokenizer (
CLIPTokenizer) — CLIPTokenizer sınıfının tokenization aracı. - tokenizer (
T5TokenizerFast) — Sınıfı T5TokenizerFast olan ikinci Tokenizer.
Metinden videoya üretim için Pipeline.
Referans: https://github.com/Lightricks/LTX-Video
__call__
< source >( prompt: str | list[str] = Nonenegative_prompt: str | list[str] | None = Noneheight: int = 512width: int = 704num_frames: int = 161frame_rate: int = 25num_inference_steps: int = 50timesteps: list = Noneguidance_scale: float = 3guidance_rescale: float = 0.0num_videos_per_prompt: int | None = 1generator: typing.Union[torch.Generator, list[torch.Generator], NoneType] = Nonelatents: typing.Optional[torch.Tensor] = Noneprompt_embeds: typing.Optional[torch.Tensor] = Noneprompt_attention_mask: typing.Optional[torch.Tensor] = Nonenegative_prompt_embeds: typing.Optional[torch.Tensor] = Nonenegative_prompt_attention_mask: typing.Optional[torch.Tensor] = Nonedecode_timestep: float | list[float] = 0.0decode_noise_scale: float | list[float] | None = Noneoutput_type: str | None = 'pil'return_dict: bool = Trueattention_kwargs: dict[str, typing.Any] | None = Nonecallback_on_step_end: typing.Optional[typing.Callable[[int, int], NoneType]] = Nonecallback_on_step_end_tensor_inputs: list = ['latents']max_sequence_length: int = 128 ) → ~pipelines.ltx.LTXPipelineOutput or tuple
Parametreler
- prompt (
strveyalist[str], isteğe bağlı) — Görsel üretimi yönlendirmek için istem veya istemler. Tanımlanmadıysa bunun yerineprompt_embedsgeçirilmelidir. - negative_prompt (
strveyalist[str], isteğe bağlı) — Görsel üretimini yönlendirmemek için kullanılan istem veya istemler. Tanımlanmazsa, bunun yerinenegative_prompt_embedsparametresinin geçirilmesi gerekir. Yönlendirme kullanılmadığında (guidance_scale < 1) yok sayılır. - height (
int, varsayılan512) — Oluşturulan görüntünün piksel cinsinden yüksekliği. En iyi sonuçlar için varsayılan olarak 480 olarak ayarlanır. - width (
int, varsayılan704) — Oluşturulan görüntünün piksel cinsinden genişliği. En iyi sonuçlar için varsayılan olarak 848 olarak ayarlanır. - num_frames (
int, varsayılan161) — Üretilecek video kare sayısı - frame_rate (
int, varsayılan25) — Oluşturulan videonun hedef kare hızı. - 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 görüntüye yol açar. - timesteps (
list[int], isteğe bağlı) —timestepsargümanını destekleyen zamanlayıcılarla gürültü azaltma süreci için kullanılacak özel zaman adımları.set_timestepsyönteminde. Tanımlanmamışsa,num_inference_stepsgeçirildiğinde varsayılan davranış kullanılacaktır. Azalan sırada olmalıdır. - guidance_scale (
float, varsayılan3) — Classifier-Free Diffusion Guidance makalesinde tanımlandığı gibi yönlendirme ölçeği.guidance_scale, Imagen Paper makalesindeki 2. denklemindekiwolarak tanımlanır. Yönlendirme ölçeği,guidance_scale > 1olarak ayarlanarak etkinleştirilir. Daha yüksek yönlendirme ölçeği,promptmetniyle yakından ilişkili görsellerin üretilmesini teşvik eder, ancak bu genellikle daha düşük görsel kalitesi pahasına gerçekleşir. - guidance_rescale (
float, isteğe bağlı, varsayılan 0.0) — Common Diffusion Noise Schedules and Sample Steps are Flawed makalesinde önerilen guidance rescale faktörü.guidance_scale, Common Diffusion Noise Schedules and Sample Steps are Flawed makalesindeki 16. denklemdeφolarak tanımlanmıştır. Guidance rescale faktörü, zero terminal SNR kullanılırken aşırı pozlamayı düzeltmelidir. - num_videos_per_prompt (
int, isteğe bağlı, varsayılan 1) — Her prompt için üretilecek video sayısı. - generator (
torch.Generatorveyalist[torch.Generator], isteğe bağlı) — Üretimi deterministik hale getirmek için bir veya torch üreteci listesi. - latents (
torch.Tensor, isteğe bağlı) — Gaussian dağılımdan örneklenmiş, gürültülü ve önceden oluşturulmuş latents; görüntü üretimi için girdi olarak kullanılabilir. Farklı istemlerle aynı üretimi ayarlamak için kullanılabilir. Sağlanmazsa, sağlanan rastgelegeneratorkullanılarak örneklemeye dayalı bir latents tensörü oluşturulur. - prompt_embeds (
torch.Tensor, isteğe bağlı) — Önceden oluşturulmuş metin gömme değerleri. Metin girdilerini kolayca ayarlamak için kullanılabilir, ör. prompt ağırlıklandırma. Sağlanmazsa, metin gömme değerleripromptgirdi 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. - negative_prompt_embeds (
torch.FloatTensor, isteğe bağlı) — Önceden oluşturulmuş negatif metin gömme değerleri. PixArt-Sigma için bu negatif istem "" olmalıdır. Sağlanmazsa, negative_prompt_embeds,negative_promptgirdi argümanından oluşturulur. - negative_prompt_attention_mask (
torch.FloatTensor, isteğe bağlı) — Negatif metin gömme vektörleri için önceden oluşturulmuş dikkat maskesi. - decode_timestep (
float, varsayılan0.0) — Üretilen videonun çözümlendiği zaman adımı. - decode_noise_scale (
float, varsayılanNone) — Çözme zaman adımında rastgele gürültü ile gürültüsü azaltılmış latentler arasındaki interpolasyon katsayısı. - output_type (
str, isteğe bağlı, varsayılan"pil") — Görsel oluşturma çıktısının biçimi. Şunlardan birini seçin: PIL:PIL.Image.Imageveyanp.array. - return_dict (
bool, isteğe bağlı, varsayılanTrue) — Düz bir tuple yerine~pipelines.ltx.LTXPipelineOutputdöndürülüp döndürülmemesi. - attention_kwargs (
dict, isteğe bağlı) — Belirtilirse, diffusers.models.attention_processor içindekiself.processoraltında tanımlananAttentionProcessor'a iletilen bir kwargs sözlüğü. - callback_on_step_end (
Callable, isteğe bağlı) — Çıkarım sırasında her gürültü azaltma adımının sonunda çağrılan bir işlev. İşlev aşağıdaki argümanlarla çağrılır:callback_on_step_end(self: DiffusionPipeline, step: int, timestep: int, callback_kwargs: Dict).callback_kwargs,callback_on_step_end_tensor_inputstarafından belirtilen tüm tensörlerin listesini içerir. - callback_on_step_end_tensor_inputs (
list, isteğe bağlı) —callback_on_step_endişlevi için girdi tensörlerinin listesi. Listede belirtilen tensörler,callback_kwargsargümanı olarak geçirilir. Yalnızca pipeline sınıfınızın._callback_tensor_inputsözniteliğinde listelenen değişkenleri dahil edebilirsiniz. - max_sequence_length (
int, varsayılan128) —promptile kullanılacak maksimum dizi uzunluğu.
Dönüş değeri
~pipelines.ltx.LTXPipelineOutput veya tuple
return_dict True ise ~pipelines.ltx.LTXPipelineOutput döndürülür, aksi halde ilk öğesi üretilen görüntülerin listesini içeren bir tuple döndürülür.
Üretim için pipeline çağrıldığında tetiklenen işlev.
Örnekler:
>>> import torch
>>> from diffusers import LTXPipeline
>>> from diffusers.utils import export_to_video
>>> pipe = LTXPipeline.from_pretrained("Lightricks/LTX-Video", 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=704,
... height=480,
... num_frames=161,
... num_inference_steps=50,
... ).frames[0]
>>> export_to_video(video, "output.mp4", fps=24)encode_prompt
< source >( prompt: str | list[str]negative_prompt: str | list[str] | None = Nonedo_classifier_free_guidance: bool = Truenum_videos_per_prompt: int = 1prompt_embeds: typing.Optional[torch.Tensor] = Nonenegative_prompt_embeds: typing.Optional[torch.Tensor] = Noneprompt_attention_mask: typing.Optional[torch.Tensor] = Nonenegative_prompt_attention_mask: typing.Optional[torch.Tensor] = Nonemax_sequence_length: int = 128device: typing.Optional[torch.device] = Nonedtype: typing.Optional[torch.dtype] = None )
Parametreler
- prompt (
strveyalist[str], isteğe bağlı) — kodlanacak prompt - negative_prompt (
strveyalist[str], isteğe bağlı) — Görsel üretimini yönlendirmemek için kullanılan istem veya istemler. Tanımlanmamışsa, bunun yerinenegative_prompt_embedsparametresinin geçirilmesi gerekir. Yönlendirme kullanılmadığında (yaniguidance_scaledeğeri1'den küçükse) yok sayılır. - do_classifier_free_guidance (
bool, isteğe bağlı, varsayılanTrue) — Classifier free guidance kullanılacak mı? - num_videos_per_prompt (
int, isteğe bağlı, varsayılan 1) — Her prompt için oluşturulması gereken video sayısı. Sonuç gömme vektörlerinin yerleştirileceği torch cihazı - prompt_embeds (
torch.Tensor, isteğe bağlı) — Önceden oluşturulmuş metin gömme değerleri. Metin girdilerini kolayca ayarlamak için kullanılabilir, ör. prompt ağırlıklandırma. Sağlanmazsa, metin gömme değerleripromptgirdi argümanından oluşturulur. - negative_prompt_embeds (
torch.Tensor, isteğe bağlı) — Önceden 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_promptgirdi argümanından oluşturulur. - device — (
torch.device, isteğe bağlı): torch cihazı - dtype — (
torch.dtype, isteğe bağlı): torch dtype
İsteği metin kodlayıcı gizli durumlarına kodlar.
LTXImageToVideoPipeline
sınıf diffusers.LTXImageToVideoPipeline
< source >( scheduler: FlowMatchEulerDiscreteSchedulervae: AutoencoderKLLTXVideotext_encoder: T5EncoderModeltokenizer: T5Tokenizertransformer: LTXVideoTransformer3DModel )
Parametreler
- transformer (LTXVideoTransformer3DModel) — Kodlanmış video latentlerini gürültüden arındırmak için kullanılan Koşullu Transformer mimarisi.
- scheduler (FlowMatchEulerDiscreteScheduler) —
Kodlanmış görüntü latentlerini gürültüden arındırmak için
transformerile birlikte kullanılacak bir zamanlayıcı. - vae (AutoencoderKLLTXVideo) — Görselleri latent temsillere kodlamak ve latent temsillerden çözmek için Varyasyonel Oto-Kodlayıcı (VAE) Modeli.
- text_encoder (
T5EncoderModel) — T5, özellikle google/t5-v1_1-xxl varyantı. - tokenizer (
CLIPTokenizer) — CLIPTokenizer sınıfının tokenization aracı. - tokenizer (
T5TokenizerFast) — Sınıfı T5TokenizerFast olan ikinci Tokenizer.
Görselden video üretimi için pipeline.
Referans: https://github.com/Lightricks/LTX-Video
__call__
< source >( image: typing.Union[PIL.Image.Image, numpy.ndarray, torch.Tensor, list[PIL.Image.Image], list[numpy.ndarray], list[torch.Tensor]] = Noneprompt: str | list[str] = Nonenegative_prompt: str | list[str] | None = Noneheight: int = 512width: int = 704num_frames: int = 161frame_rate: int = 25num_inference_steps: int = 50timesteps: list = Noneguidance_scale: float = 3guidance_rescale: float = 0.0num_videos_per_prompt: int | None = 1generator: typing.Union[torch.Generator, list[torch.Generator], NoneType] = Nonelatents: typing.Optional[torch.Tensor] = Noneprompt_embeds: typing.Optional[torch.Tensor] = Noneprompt_attention_mask: typing.Optional[torch.Tensor] = Nonenegative_prompt_embeds: typing.Optional[torch.Tensor] = Nonenegative_prompt_attention_mask: typing.Optional[torch.Tensor] = Nonedecode_timestep: float | list[float] = 0.0decode_noise_scale: float | list[float] | None = Noneoutput_type: str | None = 'pil'return_dict: bool = Trueattention_kwargs: dict[str, typing.Any] | None = Nonecallback_on_step_end: typing.Optional[typing.Callable[[int, int], NoneType]] = Nonecallback_on_step_end_tensor_inputs: list = ['latents']max_sequence_length: int = 128 ) → ~pipelines.ltx.LTXPipelineOutput or tuple
Parametreler
- image (
PipelineImageInput) — Üretimin koşullandırılacağı girdi görüntüsü. Bir görüntü, görüntü listesi veyatorch.Tensorolmalıdır. - prompt (
strveyalist[str], isteğe bağlı) — Görsel üretimi yönlendirmek için istem veya istemler. Tanımlanmadıysa bunun yerineprompt_embedsgeçirilmelidir. - negative_prompt (
strveyalist[str], isteğe bağlı) — Görsel üretimini yönlendirmemek için kullanılan istem veya istemler. Tanımlanmazsa, bunun yerinenegative_prompt_embedsparametresinin geçirilmesi gerekir. Yönlendirme kullanılmadığında (guidance_scale < 1) yok sayılır. - height (
int, varsayılan512) — Oluşturulan görüntünün piksel cinsinden yüksekliği. En iyi sonuçlar için varsayılan olarak 480 olarak ayarlanır. - width (
int, varsayılan704) — Oluşturulan görüntünün piksel cinsinden genişliği. En iyi sonuçlar için varsayılan olarak 848 olarak ayarlanır. - num_frames (
int, varsayılan161) — Üretilecek video kare sayısı - frame_rate (
int, varsayılan25) — Oluşturulan videonun hedef kare hızı. - 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 görüntüye yol açar. - timesteps (
list[int], isteğe bağlı) —timestepsargümanını destekleyen zamanlayıcılarla gürültü azaltma süreci için kullanılacak özel zaman adımları.set_timestepsyönteminde. Tanımlanmamışsa,num_inference_stepsgeçirildiğinde varsayılan davranış kullanılacaktır. Azalan sırada olmalıdır. - guidance_scale (
float, varsayılan3) — Classifier-Free Diffusion Guidance makalesinde tanımlandığı gibi yönlendirme ölçeği.guidance_scale, Imagen Paper makalesindeki 2. denklemindekiwolarak tanımlanır. Yönlendirme ölçeği,guidance_scale > 1olarak ayarlanarak etkinleştirilir. Daha yüksek yönlendirme ölçeği,promptmetniyle yakından ilişkili görsellerin üretilmesini teşvik eder, ancak bu genellikle daha düşük görsel kalitesi pahasına gerçekleşir. - guidance_rescale (
float, isteğe bağlı, varsayılan 0.0) — Common Diffusion Noise Schedules and Sample Steps are Flawed makalesinde önerilen guidance rescale faktörü.guidance_scale, Common Diffusion Noise Schedules and Sample Steps are Flawed makalesindeki 16. denklemdeφolarak tanımlanmıştır. Guidance rescale faktörü, zero terminal SNR kullanılırken aşırı pozlamayı düzeltmelidir. - num_videos_per_prompt (
int, isteğe bağlı, varsayılan 1) — Her prompt için üretilecek video sayısı. - generator (
torch.Generatorveyalist[torch.Generator], isteğe bağlı) — Üretimi deterministik hale getirmek için bir veya torch üreteci listesi. - latents (
torch.Tensor, isteğe bağlı) — Gaussian dağılımdan örneklenmiş, gürültülü ve önceden oluşturulmuş latents; görüntü üretimi için girdi olarak kullanılabilir. Farklı istemlerle aynı üretimi ayarlamak için kullanılabilir. Sağlanmazsa, sağlanan rastgelegeneratorkullanılarak örneklemeye dayalı bir latents tensörü oluşturulur. - prompt_embeds (
torch.Tensor, isteğe bağlı) — Önceden oluşturulmuş metin gömme değerleri. Metin girdilerini kolayca ayarlamak için kullanılabilir, ör. prompt ağırlıklandırma. Sağlanmazsa, metin gömme değerleripromptgirdi 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. - negative_prompt_embeds (
torch.FloatTensor, isteğe bağlı) — Önceden oluşturulmuş negatif metin gömme değerleri. PixArt-Sigma için bu negatif istem "" olmalıdır. Sağlanmazsa, negative_prompt_embeds,negative_promptgirdi argümanından oluşturulur. - negative_prompt_attention_mask (
torch.FloatTensor, isteğe bağlı) — Negatif metin gömme vektörleri için önceden oluşturulmuş dikkat maskesi. - decode_timestep (
float, varsayılan0.0) — Üretilen videonun çözümlendiği zaman adımı. - decode_noise_scale (
float, varsayılanNone) — Çözme zaman adımında rastgele gürültü ile gürültüsü azaltılmış latentler arasındaki interpolasyon katsayısı. - output_type (
str, isteğe bağlı, varsayılan"pil") — Görsel oluşturma çıktısının biçimi. Şunlardan birini seçin: PIL:PIL.Image.Imageveyanp.array. - return_dict (
bool, isteğe bağlı, varsayılanTrue) — Düz bir tuple yerine~pipelines.ltx.LTXPipelineOutputdöndürülüp döndürülmemesi. - attention_kwargs (
dict, isteğe bağlı) — Belirtilirse, diffusers.models.attention_processor içindekiself.processoraltında tanımlananAttentionProcessor'a iletilen bir kwargs sözlüğü. - callback_on_step_end (
Callable, isteğe bağlı) — Çıkarım sırasında her gürültü azaltma adımının sonunda çağrılan bir işlev. İşlev aşağıdaki argümanlarla çağrılır:callback_on_step_end(self: DiffusionPipeline, step: int, timestep: int, callback_kwargs: Dict).callback_kwargs,callback_on_step_end_tensor_inputstarafından belirtilen tüm tensörlerin listesini içerir. - callback_on_step_end_tensor_inputs (
list, isteğe bağlı) —callback_on_step_endişlevi için girdi tensörlerinin listesi. Listede belirtilen tensörler,callback_kwargsargümanı olarak geçirilir. Yalnızca pipeline sınıfınızın._callback_tensor_inputsözniteliğinde listelenen değişkenleri dahil edebilirsiniz. - max_sequence_length (
int, varsayılan128) —promptile kullanılacak maksimum dizi uzunluğu.
Dönüş değeri
~pipelines.ltx.LTXPipelineOutput veya tuple
return_dict True ise ~pipelines.ltx.LTXPipelineOutput döndürülür, aksi halde ilk öğesi üretilen görüntülerin listesini içeren bir tuple döndürülür.
Üretim için pipeline çağrıldığında tetiklenen işlev.
Örnekler:
>>> import torch
>>> from diffusers import LTXImageToVideoPipeline
>>> from diffusers.utils import export_to_video, load_image
>>> pipe = LTXImageToVideoPipeline.from_pretrained("Lightricks/LTX-Video", torch_dtype=torch.bfloat16)
>>> pipe.to("cuda")
>>> image = load_image(
... "https://huggingface.co/datasets/a-r-r-o-w/tiny-meme-dataset-captioned/resolve/main/images/8.png"
... )
>>> prompt = "A young girl stands calmly in the foreground, looking directly at the camera, as a house fire rages in the background. Flames engulf the structure, with smoke billowing into the air. Firefighters in protective gear rush to the scene, a fire truck labeled '38' visible behind them. The girl's neutral expression contrasts sharply with the chaos of the fire, creating a poignant and emotionally charged scene."
>>> negative_prompt = "worst quality, inconsistent motion, blurry, jittery, distorted"
>>> video = pipe(
... image=image,
... prompt=prompt,
... negative_prompt=negative_prompt,
... width=704,
... height=480,
... num_frames=161,
... num_inference_steps=50,
... ).frames[0]
>>> export_to_video(video, "output.mp4", fps=24)encode_prompt
< source >( prompt: str | list[str]negative_prompt: str | list[str] | None = Nonedo_classifier_free_guidance: bool = Truenum_videos_per_prompt: int = 1prompt_embeds: typing.Optional[torch.Tensor] = Nonenegative_prompt_embeds: typing.Optional[torch.Tensor] = Noneprompt_attention_mask: typing.Optional[torch.Tensor] = Nonenegative_prompt_attention_mask: typing.Optional[torch.Tensor] = Nonemax_sequence_length: int = 128device: typing.Optional[torch.device] = Nonedtype: typing.Optional[torch.dtype] = None )
Parametreler
- prompt (
strveyalist[str], isteğe bağlı) — kodlanacak prompt - negative_prompt (
strveyalist[str], isteğe bağlı) — Görsel üretimini yönlendirmemek için kullanılan istem veya istemler. Tanımlanmamışsa, bunun yerinenegative_prompt_embedsparametresinin geçirilmesi gerekir. Yönlendirme kullanılmadığında (yaniguidance_scaledeğeri1'den küçükse) yok sayılır. - do_classifier_free_guidance (
bool, isteğe bağlı, varsayılanTrue) — Classifier free guidance kullanılacak mı? - num_videos_per_prompt (
int, isteğe bağlı, varsayılan 1) — Her prompt için oluşturulması gereken video sayısı. Sonuç gömme vektörlerinin yerleştirileceği torch cihazı - prompt_embeds (
torch.Tensor, isteğe bağlı) — Önceden oluşturulmuş metin gömme değerleri. Metin girdilerini kolayca ayarlamak için kullanılabilir, ör. prompt ağırlıklandırma. Sağlanmazsa, metin gömme değerleripromptgirdi argümanından oluşturulur. - negative_prompt_embeds (
torch.Tensor, isteğe bağlı) — Önceden 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_promptgirdi argümanından oluşturulur. - device — (
torch.device, isteğe bağlı): torch cihazı - dtype — (
torch.dtype, isteğe bağlı): torch dtype
İsteği metin kodlayıcı gizli durumlarına kodlar.
LTXConditionPipeline
sınıf diffusers.LTXConditionPipeline
< source >( scheduler: FlowMatchEulerDiscreteSchedulervae: AutoencoderKLLTXVideotext_encoder: T5EncoderModeltokenizer: T5Tokenizertransformer: LTXVideoTransformer3DModel )
Parametreler
- transformer (LTXVideoTransformer3DModel) — Kodlanmış video latentlerini gürültüden arındırmak için kullanılan Koşullu Transformer mimarisi.
- scheduler (FlowMatchEulerDiscreteScheduler) —
Kodlanmış görüntü latentlerini gürültüden arındırmak için
transformerile birlikte kullanılacak bir zamanlayıcı. - vae (AutoencoderKLLTXVideo) — Görselleri latent temsillere kodlamak ve latent temsillerden çözmek için Varyasyonel Oto-Kodlayıcı (VAE) Modeli.
- text_encoder (
T5EncoderModel) — T5, özellikle google/t5-v1_1-xxl varyantı. - tokenizer (
CLIPTokenizer) — CLIPTokenizer sınıfının tokenization aracı. - tokenizer (
T5TokenizerFast) — Sınıfı T5TokenizerFast olan ikinci Tokenizer.
Metin/görsel/video'dan video üretimi için pipeline.
Referans: https://github.com/Lightricks/LTX-Video
__call__
< source >( conditions: diffusers.pipelines.ltx.pipeline_ltx_condition.LTXVideoCondition | list[diffusers.pipelines.ltx.pipeline_ltx_condition.LTXVideoCondition] = Noneimage: typing.Union[PIL.Image.Image, numpy.ndarray, torch.Tensor, list[PIL.Image.Image], list[numpy.ndarray], list[torch.Tensor], list[typing.Union[PIL.Image.Image, numpy.ndarray, torch.Tensor, list[PIL.Image.Image], list[numpy.ndarray], list[torch.Tensor]]]] = Nonevideo: list = Noneframe_index: int | list[int] = 0strength: float | list[float] = 1.0denoise_strength: float = 1.0prompt: str | list[str] = Nonenegative_prompt: str | list[str] | None = Noneheight: int = 512width: int = 704num_frames: int = 161frame_rate: int = 25num_inference_steps: int = 50timesteps: list = Noneguidance_scale: float = 3guidance_rescale: float = 0.0image_cond_noise_scale: float = 0.15num_videos_per_prompt: int | None = 1generator: typing.Union[torch.Generator, list[torch.Generator], NoneType] = Nonelatents: typing.Optional[torch.Tensor] = Noneprompt_embeds: typing.Optional[torch.Tensor] = Noneprompt_attention_mask: typing.Optional[torch.Tensor] = Nonenegative_prompt_embeds: typing.Optional[torch.Tensor] = Nonenegative_prompt_attention_mask: typing.Optional[torch.Tensor] = Nonedecode_timestep: float | list[float] = 0.0decode_noise_scale: float | list[float] | None = Noneoutput_type: str | None = 'pil'return_dict: bool = Trueattention_kwargs: dict[str, typing.Any] | None = Nonecallback_on_step_end: typing.Optional[typing.Callable[[int, int], NoneType]] = Nonecallback_on_step_end_tensor_inputs: list = ['latents']max_sequence_length: int = 256 ) → ~pipelines.ltx.LTXPipelineOutput or tuple
Parametreler
- conditions (
list[LTXVideoCondition], *optional*) — Video üretimi için kare koşullandırma öğelerinin listesi. Sağlanmazsa, koşullarimage,video,frame_indexvestrengthkullanılarak oluşturulur. - image (
PipelineImageInputveyalist[PipelineImageInput], isteğe bağlı) — Video üretimini koşullandırmak için kullanılacak görüntü veya görüntüler. Sağlanmazsa,videoveyaconditionsparametresinin geçirilmesi gerekir. - video (
list[PipelineImageInput], isteğe bağlı) — Video üretimini koşullandırmak için kullanılacak video. Sağlanmazsa,imageveyaconditionsparametrelerinden birinin geçirilmesi gerekir. - frame_index (
intveyalist[int], isteğe bağlı) — Görselin veya videonun video üretimini koşullu olarak etkileyeceği kare indeksi veya kare indeksleri. Sağlanmazsa,conditionsparametresinin geçirilmesi gerekir. - strength (
floatveyalist[float], isteğe bağlı) — Koşullandırma etkisinin gücü veya güçleri. Verilmezse,conditionsparametresinin geçirilmesi gerekir. - denoise_strength (
float, varsayılan1.0) — Düzenleme için latente eklenen gürültünün şiddeti. Daha yüksek şiddet, latente daha fazla gürültü eklenmesine ve dolayısıyla orijinal video ile üretilen video arasında daha fazla farka yol açar. Bu, video-dan-video düzenleme için faydalıdır. - prompt (
strveyalist[str], isteğe bağlı) — Görsel üretimi yönlendirmek için istem veya istemler. Tanımlanmadıysa bunun yerineprompt_embedsgeçirilmelidir. - negative_prompt (
strveyalist[str], isteğe bağlı) — Görsel üretimini yönlendirmemek için kullanılan istem veya istemler. Tanımlanmazsa, bunun yerinenegative_prompt_embedsparametresinin geçirilmesi gerekir. Yönlendirme kullanılmadığında (guidance_scale < 1) yok sayılır. - height (
int, varsayılan512) — Oluşturulan görüntünün piksel cinsinden yüksekliği. En iyi sonuçlar için varsayılan olarak 480 olarak ayarlanır. - width (
int, varsayılan704) — Oluşturulan görüntünün piksel cinsinden genişliği. En iyi sonuçlar için varsayılan olarak 848 olarak ayarlanır. - num_frames (
int, varsayılan161) — Üretilecek video kare sayısı - frame_rate (
int, varsayılan25) — Oluşturulan videonun hedef kare hızı. - 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 görüntüye yol açar. - timesteps (
list[int], isteğe bağlı) —timestepsargümanını destekleyen zamanlayıcılarla gürültü azaltma süreci için kullanılacak özel zaman adımları.set_timestepsyönteminde. Tanımlanmamışsa,num_inference_stepsgeçirildiğinde varsayılan davranış kullanılacaktır. Azalan sırada olmalıdır. - guidance_scale (
float, varsayılan3) — Classifier-Free Diffusion Guidance makalesinde tanımlandığı gibi yönlendirme ölçeği.guidance_scale, Imagen Paper makalesindeki 2. denklemindekiwolarak tanımlanır. Yönlendirme ölçeği,guidance_scale > 1olarak ayarlanarak etkinleştirilir. Daha yüksek yönlendirme ölçeği,promptmetniyle yakından ilişkili görsellerin üretilmesini teşvik eder, ancak bu genellikle daha düşük görsel kalitesi pahasına gerçekleşir. - guidance_rescale (
float, isteğe bağlı, varsayılan 0.0) — Common Diffusion Noise Schedules and Sample Steps are Flawed makalesinde önerilen guidance rescale faktörü.guidance_scale, Common Diffusion Noise Schedules and Sample Steps are Flawed makalesindeki 16. denklemdeφolarak tanımlanmıştır. Guidance rescale faktörü, zero terminal SNR kullanılırken aşırı pozlamayı düzeltmelidir. - image_cond_noise_scale (
float, varsayılan0.15) — Koşullandırma görüntüsü latentlerine eklenen gürültünün ölçeği. - num_videos_per_prompt (
int, isteğe bağlı, varsayılan 1) — Her prompt için üretilecek video sayısı. - generator (
torch.Generatorveyalist[torch.Generator], isteğe bağlı) — Üretimi deterministik hale getirmek için bir veya torch üreteci listesi. - latents (
torch.Tensor, isteğe bağlı) — Gaussian dağılımdan örneklenmiş, gürültülü ve önceden oluşturulmuş latents; görüntü üretimi için girdi olarak kullanılabilir. Farklı istemlerle aynı üretimi ayarlamak için kullanılabilir. Sağlanmazsa, sağlanan rastgelegeneratorkullanılarak örneklemeye dayalı bir latents tensörü oluşturulur. - prompt_embeds (
torch.Tensor, isteğe bağlı) — Önceden oluşturulmuş metin gömme değerleri. Metin girdilerini kolayca ayarlamak için kullanılabilir, ör. prompt ağırlıklandırma. Sağlanmazsa, metin gömme değerleripromptgirdi 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. - negative_prompt_embeds (
torch.FloatTensor, isteğe bağlı) — Önceden oluşturulmuş negatif metin gömme değerleri. PixArt-Sigma için bu negatif istem "" olmalıdır. Sağlanmazsa, negative_prompt_embeds,negative_promptgirdi argümanından oluşturulur. - negative_prompt_attention_mask (
torch.FloatTensor, isteğe bağlı) — Negatif metin gömme vektörleri için önceden oluşturulmuş dikkat maskesi. - decode_timestep (
float, varsayılan0.0) — Üretilen videonun çözümlendiği zaman adımı. - decode_noise_scale (
float, varsayılanNone) — Çözme zaman adımında rastgele gürültü ile gürültüsü azaltılmış latentler arasındaki interpolasyon katsayısı. - output_type (
str, isteğe bağlı, varsayılan"pil") — Görsel oluşturma çıktısının biçimi. Şunlardan birini seçin: PIL:PIL.Image.Imageveyanp.array. - return_dict (
bool, isteğe bağlı, varsayılanTrue) — Düz bir tuple yerine~pipelines.ltx.LTXPipelineOutputdöndürülüp döndürülmemesi. - attention_kwargs (
dict, isteğe bağlı) — Belirtilirse, diffusers.models.attention_processor içindekiself.processoraltında tanımlananAttentionProcessor'a iletilen bir kwargs sözlüğü. - callback_on_step_end (
Callable, isteğe bağlı) — Çıkarım sırasında her gürültü azaltma adımının sonunda çağrılan bir işlev. İşlev aşağıdaki argümanlarla çağrılır:callback_on_step_end(self: DiffusionPipeline, step: int, timestep: int, callback_kwargs: Dict).callback_kwargs,callback_on_step_end_tensor_inputstarafından belirtilen tüm tensörlerin listesini içerir. - callback_on_step_end_tensor_inputs (
list, isteğe bağlı) —callback_on_step_endişlevi için girdi tensörlerinin listesi. Listede belirtilen tensörler,callback_kwargsargümanı olarak geçirilir. Yalnızca pipeline sınıfınızın._callback_tensor_inputsözniteliğinde listelenen değişkenleri dahil edebilirsiniz. - max_sequence_length (
int, varsayılan128) —promptile kullanılacak maksimum dizi uzunluğu.
Dönüş değeri
~pipelines.ltx.LTXPipelineOutput veya tuple
return_dict True ise ~pipelines.ltx.LTXPipelineOutput döndürülür, aksi halde ilk öğesi üretilen görüntülerin listesini içeren bir tuple döndürülür.
Üretim için pipeline çağrıldığında tetiklenen işlev.
Örnekler:
>>> import torch
>>> from diffusers.pipelines.ltx.pipeline_ltx_condition import LTXConditionPipeline, LTXVideoCondition
>>> from diffusers.utils import export_to_video, load_video, load_image
>>> pipe = LTXConditionPipeline.from_pretrained("Lightricks/LTX-Video-0.9.5", torch_dtype=torch.bfloat16)
>>> pipe.to("cuda")
>>> # Load input image and video
>>> video = load_video(
... "https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/diffusers/cosmos/cosmos-video2world-input-vid.mp4"
... )
>>> image = load_image(
... "https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/diffusers/cosmos/cosmos-video2world-input.jpg"
... )
>>> # Create conditioning objects
>>> condition1 = LTXVideoCondition(
... image=image,
... frame_index=0,
... )
>>> condition2 = LTXVideoCondition(
... video=video,
... frame_index=80,
... )
>>> prompt = "The video depicts a long, straight highway stretching into the distance, flanked by metal guardrails. The road is divided into multiple lanes, with a few vehicles visible in the far distance. The surrounding landscape features dry, grassy fields on one side and rolling hills on the other. The sky is mostly clear with a few scattered clouds, suggesting a bright, sunny day. And then the camera switch to a winding mountain road covered in snow, with a single vehicle traveling along it. The road is flanked by steep, rocky cliffs and sparse vegetation. The landscape is characterized by rugged terrain and a river visible in the distance. The scene captures the solitude and beauty of a winter drive through a mountainous region."
>>> negative_prompt = "worst quality, inconsistent motion, blurry, jittery, distorted"
>>> # Generate video
>>> generator = torch.Generator("cuda").manual_seed(0)
>>> # Text-only conditioning is also supported without the need to pass `conditions`
>>> video = pipe(
... conditions=[condition1, condition2],
... prompt=prompt,
... negative_prompt=negative_prompt,
... width=768,
... height=512,
... num_frames=161,
... num_inference_steps=40,
... generator=generator,
... ).frames[0]
>>> export_to_video(video, "output.mp4", fps=24)add_noise_to_image_conditioning_latents
< source >( t: floatinit_latents: Tensorlatents: Tensornoise_scale: floatconditioning_mask: Tensorgeneratoreps = 1e-06 )
Sert koşullama latentlerine zaman adımı bağımlısı gürültü ekleyin. Bu, özellikle tek bir kareye koşullandığında hareket sürekliliğine yardımcı olur.
encode_prompt
< source >( prompt: str | list[str]negative_prompt: str | list[str] | None = Nonedo_classifier_free_guidance: bool = Truenum_videos_per_prompt: int = 1prompt_embeds: typing.Optional[torch.Tensor] = Nonenegative_prompt_embeds: typing.Optional[torch.Tensor] = Noneprompt_attention_mask: typing.Optional[torch.Tensor] = Nonenegative_prompt_attention_mask: typing.Optional[torch.Tensor] = Nonemax_sequence_length: int = 256device: typing.Optional[torch.device] = Nonedtype: typing.Optional[torch.dtype] = None )
Parametreler
- prompt (
strveyalist[str], isteğe bağlı) — kodlanacak prompt - negative_prompt (
strveyalist[str], isteğe bağlı) — Görsel üretimini yönlendirmemek için kullanılan istem veya istemler. Tanımlanmamışsa, bunun yerinenegative_prompt_embedsparametresinin geçirilmesi gerekir. Yönlendirme kullanılmadığında (yaniguidance_scaledeğeri1'den küçükse) yok sayılır. - do_classifier_free_guidance (
bool, isteğe bağlı, varsayılanTrue) — Classifier free guidance kullanılacak mı? - num_videos_per_prompt (
int, isteğe bağlı, varsayılan 1) — Her prompt için oluşturulması gereken video sayısı. Sonuç gömme vektörlerinin yerleştirileceği torch cihazı - prompt_embeds (
torch.Tensor, isteğe bağlı) — Önceden oluşturulmuş metin gömme değerleri. Metin girdilerini kolayca ayarlamak için kullanılabilir, ör. prompt ağırlıklandırma. Sağlanmazsa, metin gömme değerleripromptgirdi argümanından oluşturulur. - negative_prompt_embeds (
torch.Tensor, isteğe bağlı) — Önceden 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_promptgirdi argümanından oluşturulur. - device — (
torch.device, isteğe bağlı): torch cihazı - dtype — (
torch.dtype, isteğe bağlı): torch dtype
İsteği metin kodlayıcı gizli durumlarına kodlar.
trim_conditioning_sequence
< source >( start_frame: intsequence_num_frames: inttarget_num_frames: int ) → int
Koşullandırma dizisini izin verilen kare sayısına kırpın.
LTXLatentUpsamplePipeline
sınıf diffusers.LTXLatentUpsamplePipeline
< source >( vae: AutoencoderKLLTXVideolatent_upsampler: LTXLatentUpsamplerModel )
__call__
< source >( video: list[typing.Union[PIL.Image.Image, numpy.ndarray, torch.Tensor, list[PIL.Image.Image], list[numpy.ndarray], list[torch.Tensor]]] | None = Noneheight: int = 512width: int = 704latents: typing.Optional[torch.Tensor] = Nonedecode_timestep: float | list[float] = 0.0decode_noise_scale: float | list[float] | None = Noneadain_factor: float = 0.0tone_map_compression_ratio: float = 0.0generator: typing.Union[torch.Generator, list[torch.Generator], NoneType] = Noneoutput_type: str | None = 'pil'return_dict: bool = True ) → ~pipelines.ltx.LTXPipelineOutput or tuple
Parametreler
- video (
list[PipelineImageInput], isteğe bağlı) — Yukarı örneklemeye alınacak girdi video kareleri.latentsile birbirini dışlar. - height (
int, varsayılan512) — Yukarı örneklenmiş çıktının piksel cinsinden yüksekliği. - width (
int, varsayılan704) — Yukarı örneklenmiş çıktının piksel cinsinden genişliği. - latents (
torch.Tensor, isteğe bağlı) — Örnekleme yapılacak önceden kodlanmış video latensleri.videoile karşılıklı olarak dışlayıcıdır. - decode_timestep (
floatveyalist[float], varsayılan0.0) — Yukarı örneklenen latentlerin çözümlendiği zaman adımı. - decode_noise_scale (
floatveyalist[float], isteğe bağlı) — Çözme zaman adımında rastgele gürültü ile gürültüsü azaltılmış latentler arasındaki interpolasyon katsayısı. - adain_factor (
float, varsayılan0.0) — Yukarı örneklenen latentlere uygulanan AdaIN istatistiksel eşleştirmenin gücü. - tone_map_compression_ratio (
float, varsayılan0.0) — Yukarı örneklenen latentlerin ton eşlemesinde kullanılan sıkıştırma oranı. [0, 1] aralığında olmalıdır. - generator (
torch.Generatorveyalist[torch.Generator], isteğe bağlı) — Üretimi deterministik hale getirmek için kullanılan birtorch.Generator. - output_type (
str, isteğe bağlı, varsayılan"pil") — Oluşturulan videonun çıktı biçimi.PIL.Image,np.arrayveyalatentarasında seçim yapın. - return_dict (
bool, isteğe bağlı, varsayılanTrue) — Düz bir tuple yerine~pipelines.ltx.LTXPipelineOutputdöndürülüp döndürülmemesi.
Dönüş değeri
~pipelines.ltx.LTXPipelineOutput veya tuple
return_dict True ise ~pipelines.ltx.LTXPipelineOutput, aksi halde tuple. Tuple döndürülürken ilk öğe, örneklemesi artırılmış videoya (veya output_type="latent" ise latentlere) karşılık gelir.
Latent upsampling için pipeline çağrıldığında çağrılan işlev.
adain_filter_latent
< source >( latents: Tensorreference_latents: Tensorfactor: float = 1.0 ) → torch.Tensor
Parametreler
- latents (
torch.Tensor) — Normalizasyon için girdi latensleri - reference_latents (
torch.Tensor) — Stil istatistiklerini sağlayan referans latentleri. - factor (
float) — Orijinal ve dönüştürülmüş latent arasındaki karışım faktörü. Aralık: -10.0 ile 10.0, Varsayılan: 1.0
Dönüş değeri
torch.Tensor
Dönüştürülmüş gizli tensör
Referans latent tensörden gelen istatistiklere dayanarak, bir latent tensöre Adaptif Örnek Normalizasyonu (AdaIN) uygular.
tone_map_latents
< source >( latents: Tensorcompression: float )
Sigmoid tabanlı bir sıkıştırma kullanarak gizli değerlerin dinamik aralığını algısal olarak pürüzsüz bir şekilde azaltmak için doğrusal olmayan bir ton eşleme fonksiyonu uygular.
Bu, özellikle compression faktörü ile dinamik davranışı kontrol ederken, yüksek varyanslı latentleri düzenlemek veya üretim sırasında çıktıları koşullandırmak için kullanışlıdır.
LTXPipelineOutput
sınıf diffusers.pipelines.ltx.pipeline_output.LTXPipelineOutput
< source >( frames: Tensor )
Parametreler
- frames (
torch.Tensor,np.ndarrayveya list[list[PIL.Image.Image]]) — video çıktıları listesi -batch_size,uzunluğunda iç içe geçmiş bir liste olabilir; 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 dizisi veya Torch tensörü de olabilir.
LTX pipeline'leri için çıktı sınıfı.