Views
No views yet
diffusers/LTX-2.3-Distilled-Diffusers.diffusers with LTX-2 support:pip install -U git+https://github.com/huggingface/diffusers1import torch
2from diffusers import LTX2Pipeline
3from diffusers.pipelines.ltx2.export_utils import encode_video
4from diffusers.pipelines.ltx2.utils import DEFAULT_NEGATIVE_PROMPT
5
6pipe = LTX2Pipeline.from_pretrained(
7 "diffusers/LTX-2.3-Diffusers", torch_dtype=torch.bfloat16
8)
9pipe.enable_model_cpu_offload()
10
11prompt = "A flowing river in a forest at golden hour, gentle wind in the leaves."
12frame_rate = 24.0
13
14video, audio = pipe(
15 prompt=prompt,
16 negative_prompt=DEFAULT_NEGATIVE_PROMPT,
17 width=768,
18 height=512,
19 num_frames=121,
20 frame_rate=frame_rate,
21 num_inference_steps=30,
22 guidance_scale=3.0,
23 output_type="np",
24 return_dict=False,
25)
26
27encode_video(
28 video[0],
29 fps=frame_rate,
30 audio=audio[0].float().cpu(),
31 audio_sample_rate=pipe.vocoder.config.output_sampling_rate,
32 output_path="ltx2_t2v.mp4",
33)1import torch
2from diffusers import LTX2ConditionPipeline
3from diffusers.pipelines.ltx2.pipeline_ltx2_condition import LTX2VideoCondition
4from diffusers.pipelines.ltx2.utils import DEFAULT_NEGATIVE_PROMPT
5from diffusers.utils import load_image
6
7pipe = LTX2ConditionPipeline.from_pretrained(
8 "diffusers/LTX-2.3-Diffusers", torch_dtype=torch.bfloat16
9)
10pipe.enable_model_cpu_offload()
11
12first_image = load_image("https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/diffusers/flf2v_input_first_frame.png")
13last_image = load_image("https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/diffusers/flf2v_input_last_frame.png")
14
15conditions = [
16 LTX2VideoCondition(frames=first_image, index=0, strength=1.0),
17 LTX2VideoCondition(frames=last_image, index=-1, strength=1.0),
18]
19
20prompt = "CG animation style, a small blue bird takes off from the ground, flapping its wings."
21frame_rate = 24.0
22
23video = pipe(
24 conditions=conditions,
25 prompt=prompt,
26 negative_prompt=DEFAULT_NEGATIVE_PROMPT,
27 width=768,
28 height=512,
29 num_frames=121,
30 frame_rate=frame_rate,
31 num_inference_steps=40,
32 guidance_scale=4.0,
33 output_type="np",
34 return_dict=False,
35)1import torch
2from diffusers import LTX2InContextPipeline
3from diffusers.pipelines.ltx2.export_utils import encode_video
4from diffusers.pipelines.ltx2.utils import DEFAULT_NEGATIVE_PROMPT
5
6pipe = LTX2InContextPipeline.from_pretrained(
7 "diffusers/LTX-2.3-Diffusers", torch_dtype=torch.bfloat16
8)
9pipe.enable_model_cpu_offload()
10pipe.load_lora_weights(
11 "Lightricks/LTX-2-19b-LoRA-Camera-Control-Dolly-In",
12 adapter_name="ic_lora",
13 weight_name="ltx-2-19b-lora-camera-control-dolly-in.safetensors",
14)
15pipe.set_adapters("ic_lora", 1.0)
16
17prompt = "A flowing river in a forest"
18frame_rate = 24.0
19
20video, audio = pipe(
21 prompt=prompt,
22 negative_prompt=DEFAULT_NEGATIVE_PROMPT,
23 width=768,
24 height=512,
25 num_frames=121,
26 frame_rate=frame_rate,
27 num_inference_steps=30,
28 guidance_scale=3.0,
29 output_type="np",
30 return_dict=False,
31)
32
33encode_video(
34 video[0],
35 fps=frame_rate,
36 audio=audio[0].float().cpu(),
37 audio_sample_rate=pipe.vocoder.config.output_sampling_rate,
38 output_path="ltx2_ic_lora.mp4",
39)width and height must be divisible by 32; num_frames must equal 8k + 1.