Diffusers documentation
Pika H3 Flex
Pika H3 Flex
Pika H3 Flex, MiniMax-H3'ün altı adımlı bir video ve ses üreticisine dönüştürülmesi için Pika tarafından yapılan eğitim sonrası (post-training) işlemidir. MiniMax-H3'ün sıkıştırılmış dizisini (packed sequence), Qwen3-VL koşullandırıcısını (conditioner) ve iki VAE'sini korur; iki şeyi değiştirir: örnekleyici (sampler), Euler güncellemesi yerine her adımda temiz tahmini yerinde yeniden gürültüleyen (re-noise) sabit bir altı adımlık zaman çizelgesi ve ağırlıklar, iki MiniMax-H3 dönüştürücü (transformer) bölümü üzerinde bir çift rank-128 LoRA adaptörü. Video ve onun senkronize stereo ses bandı, aynı altı ileri geçişten (forward pass) çıkar.
Sürüm, adaptörlerdir: FL2VA adaptörü (fl2va/adapter.safetensors), metin ve uç kare koşullandırması için transformer/ bölümünü sürerken, Ref2VA adaptörü (ref2va/adapter.safetensors), çok modlu referanslar için transformer_ref/ bölümünü sürer. Temel bileşenler MiniMaxAI/MiniMax-H3'e aittir ve değiştirilmemiştir; ayrıca, repozituar kendi başına yüklenebilmesi için bu bileşenlerin bir kopyasını barındırır.
Pika H3 Flex, MiniMax-H3 gibi yalnızca Modular Diffusers blokları olarak entegre edilir: bloklar ve PikaH3FlexModularPipeline tüm entegrasyonu oluşturur ve DiffusionPipeline tarafı yoktur.
Yükleniyor
Bir pipeline iki adımda oluşturulur: bileşenler, MiniMax-H3 temel bileşenlerini ve iki zamanlayıcı yapılandırmasını adlandıran modular_model_index.json üzerinden yüklenir, ardından seçilen iş akışının adaptörü load_lora_weights() ile üzerine yüklenir. Adaptörler, diffusers modül adlarının düz PEFT dökümleridir ve eğitim ölçeklerinde yüklenir (alpha == rank, 1.0).
| İş Akışı | Girdiler | Dönüştürücü bölme | Uyarlama |
|---|---|---|---|
t2va | prompt | transformer/ | fl2va/adapter.safetensors |
fl2va | prompt ve image ve/veya last_image | transformer/ | fl2va/adapter.safetensors |
ref2va | prompt ve references | transformer_ref/ | ref2va/adapter.safetensors |
import torch
from diffusers import ModularPipeline
pipe = ModularPipeline.from_pretrained("Pika-Labs/Pika-H3-Flex", workflow="fl2va")
pipe.load_components(dtype={"vae": torch.float32, "audio_vae": torch.float32, "default": torch.bfloat16})
pipe.load_lora_weights("Pika-Labs/Pika-H3-Flex", weight_name="fl2va/adapter.safetensors")Workflow parametresinin geçirilmesi, blokları o göreve göre budar; böylece yalnızca kendi transformer bölümü alınır, adaptör mevcut tek bölüme yönlendirilir ve pipeline yalnızca o görevin isteklerini kabul eder — fl2va pipeline'ı bir anahtar kare gerektirirken, t2va pipeline'ı hiçbir şey almaz. Her iki bölümü de barındıran (bir workflow= olmadan yüklenen) bir pipeline için, Ref2VA adaptörünün nereye gideceği belirtilmelidir: pipe.load_lora_weights(..., weight_name="ref2va/adapter.safetensors", load_into_transformer_ref=True). İki VAE, yayınlanan paketin yaptığı gibi float32 olarak yayınlanır ve float32'de çözümlenir; her şey bfloat16'da çalışır.
pipe.doc, önünüzdeki hattın ne aldığını ve ne döndürdüğünü gösterir: varsayılanlarıyla birlikte her girdi, beklediği bileşenler ve ürettiği çıktılar.
Yüklenen MiniMax-H3'ün yeniden kullanımı
Temel bileşenler MiniMax-H3’ün olduğundan, zaten yüklenmiş bir MiniMax-H3 hattı, iki zamanlayıcı ve adaptörler dışında her şeyi barındırır. Bu bölüm, yüklenmiş bu bileşenlerden bir Pika H3 Flex hattı oluşturur ve her iki hattı yan yana hazır tutar: tek bir ComponentsManager, her bileşeni bir kez tutar ve her iki hat için de dışa aktarır; Pika H3 Flex hattı yalnızca kendi iki zamanlayıcısını ekler ve adaptörler, paylaşılan dönüştürücülerin iki modelden hangisini çalıştıracağını belirler.
import torch
from diffusers import ComponentsManager, ModularPipeline
dtype = {"vae": torch.float32, "audio_vae": torch.float32, "default": torch.bfloat16}
manager = ComponentsManager()
manager.enable_auto_cpu_offload(device="cuda")
# The MiniMax-H3 pipeline already in use, with every workflow loaded. `collection` registers its components in the
# manager under that name, so they can be fetched by it later.
minimax = ModularPipeline.from_pretrained("MiniMaxAI/MiniMax-H3", components_manager=manager, collection="minimax-h3")
minimax.load_components(dtype=dtype)
# The Pika H3 Flex pipeline, in its own collection. Only its own components are loaded: the two schedulers.
pika = ModularPipeline.from_pretrained("Pika-Labs/Pika-H3-Flex", components_manager=manager, collection="pika-h3-flex")
pika.load_components(names=["scheduler", "audio_scheduler"])
# The rest comes from the MiniMax-H3 collection, and `update_components` puts it in the Pika H3 Flex pipeline.
shared = ["text_encoder", "tokenizer", "processor", "vae", "audio_vae", "transformer", "transformer_ref"]
pika.update_components(**{name: manager.get_one(name=name, collection="minimax-h3") for name in shared})
# The adapters go into the shared transformers.
pika.load_lora_weights("Pika-Labs/Pika-H3-Flex", weight_name="fl2va/adapter.safetensors")
pika.load_lora_weights(
"Pika-Labs/Pika-H3-Flex", weight_name="ref2va/adapter.safetensors", load_into_transformer_ref=True
)print(manager) sonucu şu şekilde gösterilir: her paylaşılan bileşen bir kez listelenir ve her iki koleksiyona da aittir, Pika H3 Flex koleksiyonu iki zamanlayıcısını ekler ve iki dönüştürücü bir adaptör taşır.
Models:
Name_ID | Class | Size (GB) | Collection
transformer_1397... | MiniMaxH3Transformer3DModel | 63.02 | minimax-h3
| | | pika-h3-flex
transformer_ref_13... | MiniMaxH3Transformer3DModel | 63.02 | minimax-h3
| | | pika-h3-flex
text_encoder_1397... | Qwen3VLForConditionalGeneration | 62.13 | minimax-h3
| | | pika-h3-flex
vae_1397... | AutoencoderKLMiniMaxH3 | 9.70 | minimax-h3
| | | pika-h3-flex
audio_vae_1397... | AutoencoderKLMiniMaxH3Audio | 0.56 | minimax-h3
| | | pika-h3-flex
Other Components:
ID | Class | Collection
scheduler_1397... | MiniMaxH3Scheduler | minimax-h3
audio_scheduler_1397... | MiniMaxH3Scheduler | minimax-h3
scheduler_1397... | MiniMaxH3Scheduler | pika-h3-flex
audio_scheduler_1397... | MiniMaxH3Scheduler | pika-h3-flex
tokenizer_1397... | Qwen2Tokenizer | minimax-h3
| | pika-h3-flex
processor_1397... | Qwen3VLProcessor | minimax-h3
| | pika-h3-flex
Additional Component Info:
transformer_1397...:
Adapters: ['default_0']
transformer_ref_13...:
Adapters: ['default_0']Adaptörler, paylaşılan dönüştürücülerin hangi model olduğunu belirler. MiniMax-H3'e geri dönmek için pika.disable_lora() çağrısı yapmanız yeterlidir: sonraki minimax(...) isteği temel modeli çalıştırır. pika.enable_lora() Pika H3 Flex'i yeniden etkinleştirir. Arada hiçbir şey yeniden yüklenmez; yönetici, her iki deyiş hattı da ilgili bileşene ulaştığında her bir bileşeni hızlandırıcı üzerinde açıp kapatır.
MiniMax-H3'ten farklı olan
- Altı adım,
num_inference_stepsyok. Her iki MiniMaxH3Scheduler örneği de (video içinshift=12.0, ses içinshift=3.0), hattındenoising_step_listyapılandırması olan yayınlanan[1000, 750, 500, 250, 100, 40, 0]zamanlaması üzerindestochastic_samplingile çalışır: her adım temiz örneği tahmin eder ve sondan bir önceki hariç tüm adımlar, onu bir sonraki sigmaya yeni gürültüyle yeniden gürültüler. Adım sayısı, adaptörün sözleşmesidir ve bir girdi değildir. - Her adımda taze gürültü. Bir istek,
generatoriçinden sabit bir sırayla çekim yapar: koşullandırma gürültüsü için her anahtar kare veya görsel referans için bir çekim, video gürültüsü, ses gürültüsü ve ardından ilk beş adımın her birindeki video ve ses yeniden gürültüleme çekimleri.latentsveyaaudio_latentsgeçirildiğinde, ilk iki çekim değiştirilir ve geri kalanı olduğu gibi kalır. - Keyframe'lar kırpılır, uzatılmaz.
fl2vakeyframe'i, kendi çözünürlüğünde tuvalin en-boy oranına göre merkezden kırpılır ve tuvale yeniden boyutlandırılır. - Referanslar tuvalin çözünürlük katmanını takip eder. Pika H3 Flex, bir sepet tablosu üzerinde üretim yapar — 480p ve 768p katmanları, her biri on bir en-boy oranı içerir — ve bir
ref2vaisteği, tuvalinin katmanına göre koşullandırılır: bir görüntü referansı, 768 katmanının altında 1024 piksel kısa kenar ve bu katmandan yukarıda 2048 piksel olarak kodlanır; bir video referansı ise katmanın kendi tuval kuralına göre yerleştirilir. Her video veya bağımsız ses referansı 2 ila 15 saniye arasında sürer ve video süreleri ile bağımsız ses süreleri ayrı ayrı en fazla 15 saniyeyi bulur.
Üretim
Yayınlanan kovalar, Pika H3 Flex'in doğrulandığı tuval boyutlarıdır. Bunlardan birini height ve width olarak geçirin:
| 21:9 | 16:9 | 3:2 | 4:3 | 5:4 | 1:1 | 4:5 | 3:4 | 2:3 | 9:16 | 9:21 | |
|---|---|---|---|---|---|---|---|---|---|---|---|
| 480p | 960x416 | 832x480 | 704x480 | 640x480 | 608x480 | 480x480 | 480x608 | 480x640 | 480x704 | 480x832 | 416x960 |
| 768p | 1536x672 | 1344x768 | 1152x768 | 1024x768 | 960x768 | 768x768 | 768x960 | 768x1024 | 768x1152 | 768x1344 | 672x1536 |
import torch
from diffusers import ComponentsManager, ModularPipeline
from diffusers.utils import load_image
from diffusers.utils.export_utils import encode_video
# 61.7GB of transformer and 62.1GB of conditioner do not sit on one accelerator, so the components are
# registered in a manager that moves each one on and off as the blocks reach it.
manager = ComponentsManager()
manager.enable_auto_cpu_offload(device="cuda") # or "mps", "xpu", "cpu"
# Create one pipeline for all supported workflows, then load the `fl2va` workflow's components, which is
# enough to run both the fl2va and t2va requests below.
pipe = ModularPipeline.from_pretrained("Pika-Labs/Pika-H3-Flex", components_manager=manager)
pipe.load_components(
workflow="fl2va", dtype={"vae": torch.float32, "audio_vae": torch.float32, "default": torch.bfloat16}
)
pipe.load_lora_weights("Pika-Labs/Pika-H3-Flex", weight_name="fl2va/adapter.safetensors")
prompt = (
"integrated_multimodal_description: A cinematic close shot of a red ceramic cup on a wooden table beside an "
"open window. A soft breeze moves a linen curtain. The camera slowly pushes toward the cup as warm morning "
"light crosses the table.\n"
"overall_soundscape: Gentle wind through the window and faint birdsong outside. No speech.\n"
"non_diegetic_music: None.\n"
)
outputs = ["videos", "audio", "sampling_rate"]
# Text to video + audio on the 480p 16:9 bucket, 5 seconds.
results = pipe(
prompt=prompt,
height=480,
width=832,
num_frames=124,
generator=torch.Generator("cuda").manual_seed(42),
output=outputs
)
# First frame (and optionally `last_image`) to video + audio. The keyframe is center-cropped onto the canvas and
# held as the first frame, so the prompt describes the keyframe and what happens from it.
image = load_image(
"https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/diffusers/astronaut.jpg"
)
i2va_prompt = (
"For the target video, at 0.00 seconds into the target video, <Picture 1> (from [Shot 1]) is fully referenced.\n\n"
"integrated_multimodal_description: [Shot 1] Begin with the supplied image of a small toy astronaut figurine "
"standing on a grey rocky moon surface, holding a white egg-shaped object. Preserve the figurine, its orange "
"visor and the rocks. The astronaut slowly turns its helmet toward the camera and lifts the egg a little; fine "
"dust drifts up around its boots. The camera slowly pushes in in one continuous shot. By the end the astronaut "
"stands still, egg held up.\n\n"
"overall_soundscape: Soft low wind and faint crunch of dust under the boots. No speech.\n\n"
"non_diegetic_music: N/A\n"
)
results = pipe(
prompt=i2va_prompt,
image=image,
height=480,
width=832,
num_frames=124,
generator=torch.Generator("cuda").manual_seed(42),
output=outputs,
)
encode_video(
results["videos"][0],
fps=24,
output_path="pika_h3_flex_fl2va.mp4",
audio=results["audio"][0],
audio_sample_rate=results["sampling_rate"],
)ref2va iş akışı, MiniMax-H3’ün yaptığı gibi, sıralı bir referans listesi alır — en fazla 9 görüntü, 3 video ve 3 ses kliği, toplamda 12 — her modallite için bir referans sınıfı ile. Ayrıca en çok bellek gerektiren istektir: referanslar dizinin kendi satırlarını ekler ve 768p’de yalnızca transformer 80 GB’lık bir kartı doldurur. Bu nedenle aşağıdaki örnek, transformer’ın bloklarını CPU belleğinden birer birer akış olarak işlerken, yönetici diğer bileşenleri önceki gibi cihaz üzerinde ve dışında taşır. Tek bir 80 GB’lık kart üzerinde 768p referans isteği çalıştırır; akış olmadan 480p’de kalın.
import torch
from diffusers import ComponentsManager, ModularPipeline
from diffusers.modular_pipelines.pika_h3_flex import (
PikaH3FlexAudioReference,
PikaH3FlexImageReference,
PikaH3FlexVideoReference,
)
manager = ComponentsManager()
manager.enable_auto_cpu_offload(device="cuda") # or "mps", "xpu", "cpu"
pipe = ModularPipeline.from_pretrained(
"Pika-Labs/Pika-H3-Flex", workflow="ref2va", components_manager=manager
)
pipe.load_components(dtype={"vae": torch.float32, "audio_vae": torch.float32, "default": torch.bfloat16})
pipe.load_lora_weights("Pika-Labs/Pika-H3-Flex", weight_name="ref2va/adapter.safetensors")
# Keep the transformer in CPU memory and bring in one block at a time while it runs.
pipe.transformer_ref.enable_group_offload(
onload_device=torch.device("cuda"),
offload_device=torch.device("cpu"),
offload_type="block_level",
num_blocks_per_group=1,
use_stream=True,
)
results = pipe(
prompt="subject_definitions: <Subject 1> is the woman in <Picture 1>. summary: [reference generation] <Subject 1> waves at the camera.",
references=[
PikaH3FlexImageReference.from_file("subject.png"),
PikaH3FlexVideoReference.from_file("motion_ref.mp4"), # frames, their `fps` and the soundtrack
PikaH3FlexAudioReference.from_file("voice.wav"), # waveform and its `sample_rate`
],
height=768,
width=1344,
num_frames=124,
generator=torch.Generator("cuda").manual_seed(42),
output=["videos", "audio", "sampling_rate"],
)PikaH3FlexModularPipeline
sınıf diffusers.PikaH3FlexModularPipeline
< source >( blocks: diffusers.modular_pipelines.modular_pipeline.ModularPipelineBlocks | None = Nonepretrained_model_name_or_path: str | os.PathLike | None = Nonecomponents_manager: diffusers.modular_pipelines.components_manager.ComponentsManager | None = Nonecollection: str | None = Noneworkflow: str | None = Nonemodular_config_dict: dict[str, typing.Any] | None = Noneconfig_dict: dict[str, typing.Any] | None = None**kwargs )
Pika H3 Flex ile ortak video + ses üretimi için bir ModularPipeline, post-trained altı adımlı MiniMax-H3: t2va (yalnızca metin) ve fl2va (ilk ve/veya son ana kare) iş akışları transformer/ checkpoint bölümüne karşı, fl2va adaptörü ile; ve ref2va (omni-reference) iş akışı transformer_ref/ bölümüne karşı, ref2va adaptörü ile.
Temel bileşenler MiniMax-H3’ünkilerdir ve Pika H3 Flex sürümü, iki transformer bölümünün üzerine yerleştirilen bir çift rank-128 LoRA adaptörüdür; bu nedenle bir pipeline iki adımda oluşturulur: bileşenler, temel bileşenleri ve iki zamanlayıcıyı adlandıran bir modular_model_index.json üzerinden yüklenir ve seçilen iş akışının adaptörü load_lora_weights() ile yüklenir.
import torch
from diffusers import ModularPipeline
pipe = ModularPipeline.from_pretrained("Pika-Labs/Pika-H3-Flex", workflow="fl2va")
pipe.load_components(dtype={"vae": torch.float32, "audio_vae": torch.float32, "default": torch.bfloat16})
pipe.load_lora_weights("Pika-Labs/Pika-H3-Flex", weight_name="fl2va/adapter.safetensors")MiniMax-H3 gibi, Pika H3 Flex de metin koşullandırma, anahtar kare veya referans koşullandırma latentleri, ses latentleri ve video latentlerini aynı anda barındıran tek bir paketlenmiş diziyi gürültüden arındırır. Bu nedenle bloklar, modalite başına tensörler yerine bir satır düzenini (row layout) devreder ve pipeline, tek bir transformer çağrısı içinde adım atılan iki zamanlayıcıyı (shift = 12.0 video için, shift = 3.0 ses için) taşır. MiniMax-H3'ten farklı olarak, bu iki zamanlayıcı denoising_step_list sabit altı adımlık listesi üzerinde stochastic_sampling kullanan MiniMaxH3Scheduler örnekleridir: num_inference_steps yoktur ve her adım, isteğin üretecinden (generator) taze gürültü çeker.
Uyarlama katmanları, taban modelleri gibi rehberlik damıtılmıştır: bir rehber, negative_prompt veya guidance_scale yoktur ve her adım tam olarak bir ileri geçiş çalıştırır.
Bu modül, her bloğun dayandığı model bilgilerini taşır — yapılandırma türevli geometri özellikler olarak, tuval, katman ve kare sayısı aritmetiği işlevler olarak — ve koşullandırma, kodlama ve gürültü sözleşmeleri blokların kendisinde yaşar.
PikaH3FlexBlocks
Pika H3 Flex ile ortak video + ses üretimi için Auto Modular pipeline blokları: references ve anahtar kare girdilerine göre seçilen t2va (yalnızca metin), fl2va (ilk ve/veya son anahtar kare) ve ref2va (omni-referans) iş akışları. t2va ve fl2va iş akışları transformer bölümünü fl2va adaptörüyle, ref2va ise transformer_ref bölümünü ref2va adaptörüyle çalıştırır; bu nedenle isteğin gittiği iş akışının adaptörünü yükleyin. workflow= verilmediğinde, bileşenlerin yüklenmesi her iki 61,7 GB’lık transformer bölümünü de çeker — görevin gerektirdiği şeyi yüklemek için birini belirtin.
Desteklenen iş akışları:
t2va:promptgerektirirfl2va:prompt,imageveyaprompt,last_imagegerektirirref2va:promptvereferencesgerektirir
Bileşenler:
image_processor (VaeImageProcessor) text_encoder (Qwen3VLForConditionalGeneration) tokenizer
(Qwen2Tokenizer) processor (Qwen3VLProcessor) vae (AutoencoderKLMiniMaxH3) audio_vae
(AutoencoderKLMiniMaxH3Audio) scheduler (MiniMaxH3Scheduler) audio_scheduler (MiniMaxH3Scheduler)
transformer_ref (MiniMaxH3Transformer3DModel) transformer (MiniMaxH3Transformer3DModel) video_processor
(VideoProcessor)
Yapılandırmalar: canvas_short_edge (varsayılan: 768) canvas_max_pixels (varsayılan: 1032192) denoising_step_list (varsayılan: [1000, 750, 500, 250, 100, 40, 0])
Girdiler:
references (list, isteğe bağlı):
Koşullandırılacak referanslar, modelin onları okuması gereken sırayla: sıra, bunları istek sunumunda etiketler ve paylaşımlı döner saat üzerinde yerleştirir, bu nedenle farklı bir sıra farklı bir istektir. Her modallite için bir dataclass, hepsi bellek içi medya tutar — en fazla 9 adet PikaH3FlexImageReference, kendi fps değerinde en fazla 3 adet PikaH3FlexVideoReference (kendi audio ses bandı da koşullandırılır) veya kendi sample_rate değerinde en fazla 3 adet PikaH3FlexAudioReference — toplamda en fazla 12 referans ve ses referansları tek başına olamaz. Her video veya bağımsız ses referansı 2 ila 15 saniye sürer ve video süreleri ile bağımsız ses süreleri her biri en fazla 15 saniyeye kadar toplanır. Bu bloklar asla bir medya dosyası açmaz: hızları da getiren her sınıfın from_file sınıf metoduyla çözümlenir.
height (int, isteğe bağlı):
Üretilen videonun piksel cinsinden yüksekliği, 32'nin bir katı.
width (int, isteğe bağlı):
Üretilen videonun piksel cinsinden genişliği, 32'nin bir katı.
num_frames (int, isteğe bağlı):
Sabit 24 fps'de üretilecek kare sayısı: 120 ila 360, yani 5 ila 15 saniye, video VAE'nin çözebileceği bir sonraki 17 * n + 5 değerine yuvarlanır. Referans ses bandı kadar uzun bir video üretmek için round(samples / sample_rate * 24) geçirin.
image (Image, isteğe bağlı):
Videonun başladığı anahtar kare. Tuvalin en-boy oranına göre ortadan kırpılır ve üzerine yeniden boyutlandırılır; tuval varsayılan olarak kendi en-boy oranından türetilir.
last_image (Image, isteğe bağlı):
Videonun bittiği anahtar kare. Bir kareye kadar üretmek için tek başına geçirilebilir. image gibi, tuvalin en-boy oranına göre ortadan kırpılır ve üzerine yeniden boyutlandırılır.
prompt (str):
Üretimi yönlendirmek için istek, tek bir dize.
normalized_references (list, isteğe bağlı):
Kurulum adımı tarafından normalize edilen referanslar, paketlenmiş sırayla.
keyframes (list, isteğe bağlı):
Hedef tuvale yerleştirilen anahtar kareler, paketlenmiş sırayla.
condition_latents (list, isteğe bağlı):
Kodlanmış video koşullandırma latentleri, paketlenmiş sırayla her görüntü ve video referansı için bir adet. Şekilleri, her referans bloğunun geometrisinin geldiği yerdir.
audio_condition_latents (list, isteğe bağlı):
Kodlanmış ses koşullandırma satırları, paketlenmiş sırayla ses içeren her referans için bir adet.
generator (Generator, isteğe bağlı):
İsteğin üreteci. Koşullandırma gürültüsü, üretilen satırların gürültüsünden önce, her koşul için bir çekimle buradan çekilir.
latents (Tensor):
(1, 24, num_latent_frames, latent_height, latent_width) şeklinde önceden üretilmiş video gürültüsü, çekim yerine kullanılır.
audio_latents (Tensor):
(2, 32, num_audio_latents) şeklinde önceden üretilmiş ses gürültüsü.
*denoiser_input_fields (None,isteğe bağlı):
Transformer'ın adla okuduğu paketlenmiş dizinin yapısal tanımı: token_tags, position_ids ve üç satır-dizin tensörü.
attention_kwargs (dict,isteğe bağlı):
Dikkat işleyicileri için ek kwargs.
keyframe_anchors (tuple,isteğe bağlı, varsayılan ()):
Her anahtar karenin videonun hangi ucuna sabitlendiği, paketlenmiş sırayla.
output_type (str,isteğe bağlı*, varsayılan pil):
Çıktı biçimi: ‘pil’, ‘np’ veya ‘pt’.
Çıktılar:
videos (list):
Oluşturulan video.
audio (Tensor):
(1, 2, num_samples) biçiminde oluşturulan ses bandı.
sampling_rate (int):
Hz cinsinden oluşturulan ses bandının örneklem hızı.
PikaH3FlexImageReference
sınıf diffusers.modular_pipelines.pika_h3_flex.PikaH3FlexImageReference
< source >( image: typing.Union[PIL.Image.Image, numpy.ndarray, torch.Tensor] )
Parametreler
- image (
PIL.Image.Image,np.ndarrayveyatorch.Tensor) — Referans görüntü: bir görüntü,(height, width, 3)boyutunda bir dizi veya(3, height, width)boyutunda bir tensör,uint8veya[0, 1]aralığında kayan noktalı. Üretilen geometriyi asla bağlamaz; kendi kısa kenarında kodlanır, yayınlanan checkpoint için 2048, istek hangi tuvalde üretirse üretsin.
Bir konu, stil veya sahne referansı: istek başına en fazla 9.
from_file
< source >( media )
Bir görüntü dosyasını load_image() üzerinden PikaH3FlexImageReference içine yükleyin.
PikaH3FlexVideoReference
sınıf diffusers.modular_pipelines.pika_h3_flex.PikaH3FlexVideoReference
< source >( frames: typing.Union[list[PIL.Image.Image], numpy.ndarray, torch.Tensor]fps: float | None = Noneaudio: typing.Optional[torch.Tensor] = Nonesample_rate: int | None = None )
Parametreler
- frames (
list[PIL.Image.Image],np.ndarrayveyatorch.Tensor) — Referans kareler: bir görüntü listesi,(num_frames, height, width, 3)boyutunda bir dizi veya(num_frames, 3, height, width)boyutunda bir tensör,uint8veya[0, 1]aralığında kayan noktalı. - fps (
float, isteğe bağlı, varsayılan 24.0) —frames’in taşıdığı kare hızı; referansın görme bloklarını conditioner’ın 2 fps ızgarasına yerleştiren değer budur. MiniMax-H3’ün kendi saati 24 fps olduğundan, başka bir hız tüm kareleri atlayarak ve çoğaltarak bu hıza yeniden örneklenir; bu da kareler bir dosyadan geldiğinde doğru ayarlanacak alanı oluşturur. - audio (
torch.Tensor, şekli(channels, num_samples), isteğe bağlı) — Bu videonun ses bandı, mono veya stereo; kendi referansı olarak değil, referansın kendi ses bandı olarak koşullandırılır. Bu parametre verilmezse, referans yalnızca harekete göre koşullandırılır. - sample_rate (
int, isteğe bağlı) —audioörneklerini taşıdığı hız. Belirtilmezse, ses VAE'sinin kendi hızı kullanılır ve örnekler olduğu gibi bırakılır; başka bir hız belirtilirse örnekler bu hıza yeniden örneklenir.
Bir hareket ve kamera referansı: istek başına en fazla 3 adet, kendi ses efektleriyle birlikte koşullandırılır.
from_file
< source >( media ) → PikaH3FlexVideoReference
Bir video dosyasını, çözünürlüğünde, kare hızında ve taşıdığı ses kaydında PikaH3FlexVideoReference olarak çözümlen.
Oranlar referansa yerleşir; bu, load_video() yerine bu şekilde çözümleme yapmanın amacıdır: MiniMax-H3, referansı kendi 24 fps'ine yeniden örnekler, bu yüzden giriş sırasında kaybedilen bir kare hızı, yanlış hızda koşullandırılmış bir istemektir ve bunu bildirecek hiçbir şey yoktur. Meta verileri yanlış olan bir kapsayıcı, döndürülen referans üzerinde fps veya sample_rate değerlerini geçersiz kılarak düzeltilir.
PyAV gerektirir.
PikaH3FlexAudioReference
sınıf diffusers.modular_pipelines.pika_h3_flex.PikaH3FlexAudioReference
< source >( audio: Tensorsample_rate: int | None = None )
Parametreler
- audio (
torch.Tensor, şekli(channels, num_samples)) — Referans dalga formu, mono veya stereo. - sample_rate (
int, isteğe bağlı) —audioörneklerini taşıdığı hız. Belirtilmezse, ses VAE'sinin kendi hızı kullanılır ve örnekler olduğu gibi bırakılır; başka bir hız belirtilirse örnekler bu hıza yeniden örneklenir.
Ses veya müzik referansı: istek başına en fazla 3 adet ve asla tek başına değil — bir ses referansı, en az bir görsel veya video referansı ile eşleştirilmelidir. Hiçbir zaman conditioner'a ulaşmaz ve yalnızca ses VAE tarafından kodlanır.
from_file
< source >( media ) → PikaH3FlexAudioReference
Bir ses dosyasını, taşıdığı örneklem hızında PikaH3FlexAudioReference olarak çözümlen.
PyAV gerektirir.