[refactor]: group model-family settings under pipeline.model

pipeline.model is a tagged union: a mapping with exactly one key, which
names the model family (ltx2, minimax_h3, longcat, or generic) and selects
that family's options class. The former sibling sections pipeline.ltx2,
pipeline.minimax_h3, and pipeline.longcat, and the DiT/VAE architecture
override dicts pipeline.dit and pipeline.vae, live inside the family block.
The parser implements tagged unions as a general mechanism (a dataclass
with a TAGS table); the family is readable as pipeline.model.family.

Resolution validates the tag against the family that the registry chose
for model_path (validate_model_family raises and names the registry class
and the right block) and fills the family's empty block when the input has
none (fill_model_family), so readers never see None. Family-only fills and
derivations (the MiniMax-H3 parallel-VAE environment variables, the LTX-2
tile-size derivation and refine preset copy, the LongCat BSA mirrors) run
only for their family.

Against the 3f6893a0 goldens every PipelineConfig is identical and no
other field differs beyond the allowed categories; family-only settings
are no longer decided on models of another family. LingBot-Video reads
its refiner switch from pipeline.preset_overrides.refine.enabled and loads
the refiner by default when the checkpoint has one, as at 3f6893a0.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01CbSuTKA9oX4YsECdcBPAsX
This commit is contained in:
Davids048
2026-10-05 06:04:17 +00:00
co-authored by Claude Fable 5.1
parent a5aa64ab6b
commit 1ea7278c00
213 changed files with 3018 additions and 7042 deletions
@@ -96,7 +96,7 @@ class MiniMaxH3GenerationBackend:
model_path=model_path,
pipeline=PipelineSelection(
components=ComponentConfig(lora_path=adapter_path, lora_strength=1.0),
minimax_h3=MiniMaxH3Options(vae_parallel_decode=True, vae_parallel_decode_strategy="gather"),
model=MiniMaxH3Options(vae_parallel_decode=True, vae_parallel_decode_strategy="gather"),
),
engine=EngineConfig(
num_gpus=DREAMVERSE_SP_SIZE,
@@ -93,8 +93,8 @@ def test_initialize_builds_vsa_datafree_fasth3_generator(monkeypatch):
assert config.engine.attention.vsa_sparsity == 0.9
assert config.engine.attention.vsa_tile_size == 64
assert config.engine.compile.regional is False
assert config.pipeline.minimax_h3.vae_parallel_decode is True
assert config.pipeline.minimax_h3.vae_parallel_decode_strategy == "gather"
assert config.pipeline.model.vae_parallel_decode is True
assert config.pipeline.model.vae_parallel_decode_strategy == "gather"
assert config.engine.num_gpus == 4
assert config.engine.parallelism.tp_size == 1
assert config.engine.parallelism.sp_size == 4
+3 -3
View File
@@ -198,8 +198,8 @@ longer exists also fails the test, so the fixing pull request deletes its entry.
| `FASTVIDEO_MLX_WINDOW` | int | `0` | attention | MLX FastWan windowed attention size in tokens. 0 uses full attention. |
| `FASTVIDEO_MLX_WINDOW_SINK` | int | `0` | attention | Number of sink tokens that MLX windowed attention always attends to. |
| `FASTVIDEO_INFERENCE_TORCH_COMPILE` | bool | `0` | performance | Compile each DiT transformer block with fullgraph torch.compile at inference. Same as engine.compile.regional=True. |
| `FASTVIDEO_VAE_PARALLEL_DECODE` | bool | `0` | performance | MiniMax-H3 VAE decode splits its temporal chunks across the sequence-parallel ranks instead of running serially on the output rank. Same as pipeline.minimax_h3.vae_parallel_decode=True. |
| `FASTVIDEO_VAE_PARALLEL_ENCODE` | bool | `0` | performance | MiniMax-H3 reference-video VAE encode splits its temporal chunks across the sequence-parallel ranks. Same as pipeline.minimax_h3.vae_parallel_encode=True. |
| `FASTVIDEO_VAE_PARALLEL_DECODE` | bool | `0` | performance | MiniMax-H3 VAE decode splits its temporal chunks across the sequence-parallel ranks instead of running serially on the output rank. Same as pipeline.model.minimax_h3.vae_parallel_decode=True. |
| `FASTVIDEO_VAE_PARALLEL_ENCODE` | bool | `0` | performance | MiniMax-H3 reference-video VAE encode splits its temporal chunks across the sequence-parallel ranks. Same as pipeline.model.minimax_h3.vae_parallel_encode=True. |
| `FASTVIDEO_VAE_PARALLEL_DECODE_STRATEGY` | str | unset | performance | Collective that moves chunks in parallel VAE decode: gather (used when unset) or all_gather. |
| `FASTVIDEO_MINIMAX_H3_FUSIONS` | str | `""` | performance | MiniMax-H3 inference-only Triton fusions: all, 1, or a comma-separated subset of modulate,qknorm_rope,swiglu. Empty, 0, or none keeps the eager implementation. |
| `FASTVIDEO_FSDP2_AUTOWRAP` | bool | `0` | performance | FSDP2 shards modules by parameter count instead of the model's shard conditions. Not supported by self-forcing distillation. |
@@ -235,7 +235,7 @@ longer exists also fails the test, so the fixing pull request deletes its entry.
| `FASTVIDEO_LTX2_GEMMA_LOG` | str | `""` | debug | Log file for LTX-2 Gemma text-encoder hidden states, used by parity tests. Deprecated names: `LTX2_FASTVIDEO_GEMMA_LOG`. |
| `FASTVIDEO_COSMOS25_LOG_KNOBS` | bool | `0` | debug | Log the Cosmos 2.5 latent-preparation conditioning inputs. |
| `FASTVIDEO_CFG_GATE_STEP` | float | `1.0` | sampling | CFG gating fraction in [0, 1]. Steps before len(timesteps) \* X run the conditional and unconditional forwards; later steps reuse the cached difference. 1.0 disables gating. |
| `FASTVIDEO_LTX2_USE_DISTILLED_SIGMAS` | bool | `1` | sampling | LTX-2 uses the distilled sigma schedule when pipeline.ltx2.use_distilled_sigmas is also true. Deprecated names: `LTX2_USE_DISTILLED_SIGMAS`. |
| `FASTVIDEO_LTX2_USE_DISTILLED_SIGMAS` | bool | `1` | sampling | LTX-2 uses the distilled sigma schedule when pipeline.model.ltx2.use_distilled_sigmas is also true. Deprecated names: `LTX2_USE_DISTILLED_SIGMAS`. |
| `FASTVIDEO_EVAL_CACHE` | path | computed | eval | Cache directory for evaluation models and datasets. Defaults to $FASTVIDEO_CACHE_ROOT/eval. |
| `FASTVIDEO_PHYSICS_IQ_BUCKET_URL` | str | `https://storage.googleapis.com/physics-iq-benchmark` | eval | Base URL of the Physics-IQ benchmark bucket. |
| `FASTVIDEO_VBENCH_FULL_INFO_JSON` | str | unset | eval | Path to VBench_full_info.json, used instead of the vendored copy. Deprecated names: `VBENCH_FULL_INFO_JSON`. |
@@ -78,47 +78,53 @@ surfaces:
- pipeline.embedded_cfg_scale
- pipeline.dmd_denoising_steps
- pipeline.boundary_ratio
- pipeline.dit
- pipeline.vae
- pipeline.model.generic.dit
- pipeline.model.generic.vae
- pipeline.model.ltx2.dit
- pipeline.model.ltx2.vae
- pipeline.model.minimax_h3.dit
- pipeline.model.minimax_h3.vae
- pipeline.model.longcat.dit
- pipeline.model.longcat.vae
unsupported:
- pipeline.preset
- pipeline.preset_version
- pipeline.components.vae_weights
moved:
pipeline.preset_overrides:
target: generator.pipeline.ltx2.refine
note: "Only the refine mapping applies: resolution copies pipeline.preset_overrides.refine into the pipeline.ltx2.refine fields of the same names. Other keys have no effect."
target: generator.pipeline.model.ltx2.refine
note: "Only the refine mapping applies: resolution copies pipeline.preset_overrides.refine into the pipeline.model.ltx2.refine fields of the same names when the model is LTX-2. Other keys have no effect."
preset_owned:
- pipeline.ltx2.vae_spatial_tile_size_in_pixels
- pipeline.ltx2.vae_spatial_tile_overlap_in_pixels
- pipeline.ltx2.vae_temporal_tile_size_in_frames
- pipeline.ltx2.vae_temporal_tile_overlap_in_frames
- pipeline.ltx2.initial_latent_path
- pipeline.ltx2.audio_latent_path
- pipeline.ltx2.legacy_native_noise_order
- pipeline.ltx2.use_distilled_sigmas
- pipeline.ltx2.refine.enabled
- pipeline.ltx2.refine.num_inference_steps
- pipeline.ltx2.refine.guidance_scale
- pipeline.ltx2.refine.add_noise
- pipeline.ltx2.refine.image_crf
- pipeline.ltx2.refine.video_position_offset_sec
- pipeline.ltx2.refine.transformer_path
- pipeline.ltx2.refine.lora_path
- pipeline.ltx2.refine.noise_path
- pipeline.ltx2.refine.audio_noise_path
- pipeline.minimax_h3.sequential_load
- pipeline.minimax_h3.video_decode_backend
- pipeline.minimax_h3.taeh3_checkpoint
- pipeline.minimax_h3.taeh3_chunk_size
- pipeline.minimax_h3.vae_parallel_decode
- pipeline.minimax_h3.vae_parallel_encode
- pipeline.minimax_h3.vae_parallel_decode_strategy
- pipeline.longcat.enable_bsa
- pipeline.longcat.bsa_sparsity
- pipeline.longcat.bsa_cdf_threshold
- pipeline.longcat.bsa_chunk_q
- pipeline.longcat.bsa_chunk_k
- pipeline.model.ltx2.vae_spatial_tile_size_in_pixels
- pipeline.model.ltx2.vae_spatial_tile_overlap_in_pixels
- pipeline.model.ltx2.vae_temporal_tile_size_in_frames
- pipeline.model.ltx2.vae_temporal_tile_overlap_in_frames
- pipeline.model.ltx2.initial_latent_path
- pipeline.model.ltx2.audio_latent_path
- pipeline.model.ltx2.legacy_native_noise_order
- pipeline.model.ltx2.use_distilled_sigmas
- pipeline.model.ltx2.refine.enabled
- pipeline.model.ltx2.refine.num_inference_steps
- pipeline.model.ltx2.refine.guidance_scale
- pipeline.model.ltx2.refine.add_noise
- pipeline.model.ltx2.refine.image_crf
- pipeline.model.ltx2.refine.video_position_offset_sec
- pipeline.model.ltx2.refine.transformer_path
- pipeline.model.ltx2.refine.lora_path
- pipeline.model.ltx2.refine.noise_path
- pipeline.model.ltx2.refine.audio_noise_path
- pipeline.model.minimax_h3.sequential_load
- pipeline.model.minimax_h3.video_decode_backend
- pipeline.model.minimax_h3.taeh3_checkpoint
- pipeline.model.minimax_h3.taeh3_chunk_size
- pipeline.model.minimax_h3.vae_parallel_decode
- pipeline.model.minimax_h3.vae_parallel_encode
- pipeline.model.minimax_h3.vae_parallel_decode_strategy
- pipeline.model.longcat.enable_bsa
- pipeline.model.longcat.bsa_sparsity
- pipeline.model.longcat.bsa_cdf_threshold
- pipeline.model.longcat.bsa_chunk_q
- pipeline.model.longcat.bsa_chunk_k
compatibility_only:
pipeline.experimental: "Open mapping for settings without a typed path: the pipeline_config source (a JSON path, a mapping, or a PipelineConfig), keys that runtime code reads by name (for example ray_runtime_env), and PipelineConfig attribute overrides for model-only fields (for example flow_shift_sr). Resolution rejects a key whose PipelineConfig attribute has a typed path."
internal_only:
@@ -163,19 +169,19 @@ surfaces:
moved:
enable_bsa:
sources: [fastvideo.configs.pipelines.longcat.LongCatT2V480PConfig, fastvideo.configs.pipelines.longcat.LongCatT2V704PConfig]
target: generator.pipeline.longcat.enable_bsa
target: generator.pipeline.model.longcat.enable_bsa
bsa_sparsity:
sources: [fastvideo.configs.pipelines.longcat.LongCatT2V480PConfig, fastvideo.configs.pipelines.longcat.LongCatT2V704PConfig]
target: generator.pipeline.longcat.bsa_sparsity
target: generator.pipeline.model.longcat.bsa_sparsity
bsa_cdf_threshold:
sources: [fastvideo.configs.pipelines.longcat.LongCatT2V480PConfig, fastvideo.configs.pipelines.longcat.LongCatT2V704PConfig]
target: generator.pipeline.longcat.bsa_cdf_threshold
target: generator.pipeline.model.longcat.bsa_cdf_threshold
bsa_chunk_q:
sources: [fastvideo.configs.pipelines.longcat.LongCatT2V480PConfig, fastvideo.configs.pipelines.longcat.LongCatT2V704PConfig]
target: generator.pipeline.longcat.bsa_chunk_q
target: generator.pipeline.model.longcat.bsa_chunk_q
bsa_chunk_k:
sources: [fastvideo.configs.pipelines.longcat.LongCatT2V480PConfig, fastvideo.configs.pipelines.longcat.LongCatT2V704PConfig]
target: generator.pipeline.longcat.bsa_chunk_k
target: generator.pipeline.model.longcat.bsa_chunk_k
preset_owned:
flux2_text_encoder_type:
sources:
+1 -1
View File
@@ -277,7 +277,7 @@ def build_generator_config(args) -> "GeneratorConfig":
workload_type=args.workload or "t2v",
preset=args.preset, # e.g. "ltx2_two_stage"
components=ComponentConfig(upsampler_weights=args.refine_upsampler),
ltx2=LTX2Options(refine=LTX2RefineOptions(lora_path=args.refine_lora)),
model=LTX2Options(refine=LTX2RefineOptions(lora_path=args.refine_lora)),
),
)
```
+3 -3
View File
@@ -50,7 +50,7 @@ jobs still need this split: sequence parallel replicates the DiT on each GB10
`VideoGenerator.from_pretrained` accepts the option names below as keywords, except `lazy_module_load` and
`h3_sequential_load`. In a YAML config or a dotted override, each option is a typed field:
`engine.use_fsdp_inference`, `engine.offload.<field>` as listed in the defaults above, and
`pipeline.minimax_h3.sequential_load` for `h3_sequential_load`.
`pipeline.model.minimax_h3.sequential_load` for `h3_sequential_load`.
### `use_fsdp_inference`
@@ -109,8 +109,8 @@ because the encoder has been released.
Leave the default on Spark / DGX Spark when `lazy_module_load` is off. When
both would arm (the GB10 auto case), lazy owns deferral and sequential stands
down so VAE `torch.compile` can attach to the lazy proxy. Force
`pipeline.minimax_h3.sequential_load: true` only when you need the split on a discrete GPU without
lazy load. Set `pipeline.minimax_h3.sequential_load: false` when you need more than one prompt per
`pipeline.model.minimax_h3.sequential_load: true` only when you need the split on a discrete GPU without
lazy load. Set `pipeline.model.minimax_h3.sequential_load: false` when you need more than one prompt per
worker and have enough memory to keep the encoder.
### `text_encoder_cpu_offload`
+6 -2
View File
@@ -317,7 +317,7 @@ gen.generate(request={"prompt": "A raccoon in sunflowers", "output": {"save_vide
`engine.quantization.transformer_quant` takes a quantization registry name and builds that config with its default
arguments. To pass constructor arguments, such as per-channel granularity, set the config instance on the DiT config
through `pipeline.dit` instead:
through `pipeline.model.generic.dit` instead:
```python
from fastvideo import VideoGenerator
@@ -326,7 +326,11 @@ from fastvideo.layers.quantization import get_quantization_config
gen = VideoGenerator.from_config({
"model_path": "Wan-AI/Wan2.1-T2V-1.3B-Diffusers",
"pipeline": {
"dit": {"quant_config": get_quantization_config("FP8")(granularity="channel")}, # slower, higher accuracy
"model": {
"generic": {
"dit": {"quant_config": get_quantization_config("FP8")(granularity="channel")}, # slower, higher accuracy
},
},
},
})
```
+1 -1
View File
@@ -263,7 +263,7 @@ def build_generator_config(args: argparse.Namespace) -> GeneratorConfig:
lora_path=getattr(args, "lora_path", None),
lora_strength=float(getattr(args, "lora_strength", 1.0)),
),
minimax_h3=MiniMaxH3Options(
model=MiniMaxH3Options(
sequential_load=args.h3_sequential_load,
video_decode_backend=None if args.video_decode_backend == "h3-vae" else args.video_decode_backend,
taeh3_checkpoint=args.taeh3_checkpoint,
@@ -73,7 +73,7 @@ def main() -> None:
model_path="MiniMaxAI/MiniMax-H3",
pipeline=PipelineSelection(
components=ComponentConfig(lora_path=adapter_path, lora_strength=1.0),
minimax_h3=MiniMaxH3Options(vae_parallel_decode=True, vae_parallel_decode_strategy="gather"),
model=MiniMaxH3Options(vae_parallel_decode=True, vae_parallel_decode_strategy="gather"),
),
engine=EngineConfig(
num_gpus=4,
@@ -63,7 +63,7 @@ def main() -> None:
model_path="MiniMaxAI/MiniMax-H3",
pipeline=PipelineSelection(
components=ComponentConfig(lora_path=adapter_path, lora_strength=1.0),
minimax_h3=MiniMaxH3Options(vae_parallel_decode=True, vae_parallel_decode_strategy="gather"),
model=MiniMaxH3Options(vae_parallel_decode=True, vae_parallel_decode_strategy="gather"),
),
engine=EngineConfig(
num_gpus=4,
@@ -36,9 +36,10 @@ generator:
vsa_sparsity: 0.9
vsa_tile_size: 64
pipeline:
minimax_h3:
vae_parallel_decode: true
vae_parallel_decode_strategy: gather
model:
minimax_h3:
vae_parallel_decode: true
vae_parallel_decode_strategy: gather
request:
prompt: >-
A wide cinematic shot of an alpine meadow at sunrise, pale pink mountain
@@ -36,9 +36,10 @@ generator:
vsa_sparsity: 0.9
vsa_tile_size: 64
pipeline:
minimax_h3:
vae_parallel_decode: true
vae_parallel_decode_strategy: gather
model:
minimax_h3:
vae_parallel_decode: true
vae_parallel_decode_strategy: gather
request:
prompt: >-
A wide cinematic shot of an alpine meadow at sunrise, pale pink mountain
@@ -60,7 +60,7 @@ def basic_generation():
"pin_cpu_memory": False,
},
},
"pipeline": {"longcat": {"enable_bsa": False}},
"pipeline": {"model": {"longcat": {"enable_bsa": False}}},
})
output_path = "outputs_video/longcat_i2v_basic"
@@ -113,7 +113,7 @@ def distill_refine_generation():
},
},
"pipeline": {
"longcat": {"enable_bsa": False},
"model": {"longcat": {"enable_bsa": False}},
"components": {
"lora_path": "FastVideo/LongCat-Video-T2V-Distilled-LoRA",
"lora_nickname": "distilled",
@@ -171,11 +171,13 @@ def distill_refine_generation():
},
},
"pipeline": {
"longcat": {
"enable_bsa": True,
"bsa_sparsity": 0.875,
"bsa_chunk_q": [4, 4, 4],
"bsa_chunk_k": [4, 4, 4],
"model": {
"longcat": {
"enable_bsa": True,
"bsa_sparsity": 0.875,
"bsa_chunk_q": [4, 4, 4],
"bsa_chunk_k": [4, 4, 4],
},
},
"components": {
"lora_path": "FastVideo/LongCat-Video-T2V-Refinement-LoRA",
@@ -53,7 +53,7 @@ def basic_generation():
"pin_cpu_memory": False,
},
},
"pipeline": {"longcat": {"enable_bsa": False}},
"pipeline": {"model": {"longcat": {"enable_bsa": False}}},
})
output_path = "outputs_video/longcat_t2v_basic"
@@ -105,7 +105,7 @@ def distill_refine_generation():
},
},
"pipeline": {
"longcat": {"enable_bsa": False},
"model": {"longcat": {"enable_bsa": False}},
"components": {
"lora_path": "FastVideo/LongCat-Video-T2V-Distilled-LoRA",
"lora_nickname": "distilled",
@@ -159,11 +159,13 @@ def distill_refine_generation():
},
},
"pipeline": {
"longcat": {
"enable_bsa": True,
"bsa_sparsity": 0.875,
"bsa_chunk_q": [4, 4, 8],
"bsa_chunk_k": [4, 4, 8],
"model": {
"longcat": {
"enable_bsa": True,
"bsa_sparsity": 0.875,
"bsa_chunk_q": [4, 4, 8],
"bsa_chunk_k": [4, 4, 8],
},
},
"components": {
"lora_path": "FastVideo/LongCat-Video-T2V-Refinement-LoRA",
+9 -7
View File
@@ -69,7 +69,7 @@ def basic_generation():
"pin_cpu_memory": False,
},
},
"pipeline": {"longcat": {"enable_bsa": False}},
"pipeline": {"model": {"longcat": {"enable_bsa": False}}},
})
output_path = "outputs_video/longcat_vc_basic"
@@ -128,7 +128,7 @@ def distill_refine_generation():
},
},
"pipeline": {
"longcat": {"enable_bsa": False},
"model": {"longcat": {"enable_bsa": False}},
"components": {
"lora_path": "FastVideo/LongCat-Video-T2V-Distilled-LoRA",
"lora_nickname": "distilled",
@@ -185,11 +185,13 @@ def distill_refine_generation():
},
},
"pipeline": {
"longcat": {
"enable_bsa": True,
"bsa_sparsity": 0.875,
"bsa_chunk_q": [4, 4, 8],
"bsa_chunk_k": [4, 4, 8],
"model": {
"longcat": {
"enable_bsa": True,
"bsa_sparsity": 0.875,
"bsa_chunk_q": [4, 4, 8],
"bsa_chunk_k": [4, 4, 8],
},
},
"components": {
"lora_path": "FastVideo/LongCat-Video-T2V-Refinement-LoRA",
@@ -195,7 +195,7 @@ def main() -> None:
},
},
"components": {"upsampler_weights": str(refine_upsampler_path)},
"ltx2": {"refine": {"lora_path": ""}},
"model": {"ltx2": {"refine": {"lora_path": ""}}},
"experimental": {"pipeline_config": pipeline_config},
"vae_tiling": False,
},
@@ -54,7 +54,7 @@ Recipe setting ↔ typed field
- VAE tiling ↔ ``pipeline.vae_tiling``
- Refine stage on ↔ ``pipeline.preset_overrides["refine"]["enabled"]``
- Refine upsampler ↔ ``pipeline.components.upsampler_weights``
- Refine LoRA ↔ ``pipeline.ltx2.refine.lora_path``
- Refine LoRA ↔ ``pipeline.model.ltx2.refine.lora_path``
- Refine denoising steps ↔ ``pipeline.preset_overrides["refine"]["num_inference_steps"]``
- Refine guidance scale ↔ ``pipeline.preset_overrides["refine"]["guidance_scale"]``
- Refine noise injection ↔ ``pipeline.preset_overrides["refine"]["add_noise"]``
@@ -234,7 +234,7 @@ def main() -> None:
},
},
"components": {"upsampler_weights": str(refine_upsampler_path)},
"ltx2": {"refine": {"lora_path": ""}}, # keep refine LoRA disabled for distilled model
"model": {"ltx2": {"refine": {"lora_path": ""}}}, # keep refine LoRA disabled for distilled model
"experimental": {
"pipeline_config": pipeline_config,
},
@@ -42,7 +42,7 @@ Everything the demo needs ships in the upstream `fastvideo` package:
`pipeline_config.dit_config.quant_config = NVFP4Config()` in `app.py` (same
pattern as `examples/inference/basic/basic_ltx2_distilled_fast_profile.py`).
- **LTX-2.3 refine settings in the typed config** — `app.py` passes
`pipeline.components.upsampler_weights`, `pipeline.ltx2.refine.lora_path`,
`pipeline.components.upsampler_weights`, `pipeline.model.ltx2.refine.lora_path`,
`pipeline.preset_overrides.refine` (`enabled`, `num_inference_steps`,
`guidance_scale`, `add_noise`), and `pipeline.vae_tiling` to
`VideoGenerator.from_config`. The typed fields are defined in
@@ -70,9 +70,11 @@ def main():
"components": {
"upsampler_weights": str(refine_upsampler_path),
},
"ltx2": {
"refine": {
"lora_path": "", # disable refine LoRA for distilled model
"model": {
"ltx2": {
"refine": {
"lora_path": "", # disable refine LoRA for distilled model
},
},
},
"preset_overrides": {
@@ -182,7 +182,7 @@ def main(argv: Sequence[str] | None = None) -> None:
model_path=args.model_path,
pipeline=PipelineSelection(
components=ComponentConfig(lora_path=args.lora_path, lora_strength=args.lora_strength),
minimax_h3=MiniMaxH3Options(vae_parallel_decode=True, vae_parallel_decode_strategy="gather"),
model=MiniMaxH3Options(vae_parallel_decode=True, vae_parallel_decode_strategy="gather"),
),
engine=EngineConfig(
num_gpus=args.num_gpus,
@@ -81,7 +81,7 @@ def main():
taehv_model = load_taehv(args.taehv_checkpoint) if use_taehv else None
# A registry name cannot carry the FP8 granularity, so the FP8Config
# instance goes to the DiT config's quant_config through pipeline.dit.
# instance goes to the DiT config's quant_config through pipeline.model.generic.dit.
dit_overrides = {} if args.bf16 else {"quant_config": get_quantization_config("FP8")(granularity=args.granularity)}
generator = VideoGenerator.from_config({
"model_path": args.model,
@@ -102,7 +102,7 @@ def main():
},
"pipeline": {
"output_type": "latent" if use_taehv else "pil",
"dit": dit_overrides,
"model": {"generic": {"dit": dit_overrides}},
},
})
+4 -3
View File
@@ -24,9 +24,10 @@ generator:
vsa_tile_size: 64
pipeline:
workload_type: t2v
minimax_h3:
vae_parallel_decode: true
vae_parallel_decode_strategy: gather
model:
minimax_h3:
vae_parallel_decode: true
vae_parallel_decode_strategy: gather
server:
host: 0.0.0.0
+4 -3
View File
@@ -24,9 +24,10 @@ generator:
vsa_tile_size: 64
pipeline:
workload_type: t2v
minimax_h3:
vae_parallel_decode: true
vae_parallel_decode_strategy: gather
model:
minimax_h3:
vae_parallel_decode: true
vae_parallel_decode_strategy: gather
server:
host: 0.0.0.0
+4 -3
View File
@@ -27,9 +27,10 @@ generator:
lora_path: /path/to/adapter_model.safetensors
lora_nickname: fasth3-dense-datafree
lora_strength: 1.0
minimax_h3:
vae_parallel_decode: true
vae_parallel_decode_strategy: gather
model:
minimax_h3:
vae_parallel_decode: true
vae_parallel_decode_strategy: gather
server:
host: 0.0.0.0
+4 -3
View File
@@ -33,9 +33,10 @@ generator:
vsa_tile_size: 64
pipeline:
workload_type: t2v
minimax_h3:
vae_parallel_decode: true
vae_parallel_decode_strategy: gather
model:
minimax_h3:
vae_parallel_decode: true
vae_parallel_decode_strategy: gather
server:
host: 0.0.0.0
+4
View File
@@ -8,12 +8,14 @@ from fastvideo.api.schema import (
GenerationPlan,
GenerationRequest,
GeneratorConfig,
GenericModelOptions,
GpuPoolConfig,
InputConfig,
LTX2Options,
LTX2RefineOptions,
LongCatOptions,
MiniMaxH3Options,
ModelOptions,
OffloadConfig,
OutputConfig,
ParallelismConfig,
@@ -73,12 +75,14 @@ __all__ = [
"GenerationPlan",
"GenerationRequest",
"GeneratorConfig",
"GenericModelOptions",
"GpuPoolConfig",
"InputConfig",
"LTX2Options",
"LTX2RefineOptions",
"LongCatOptions",
"MiniMaxH3Options",
"ModelOptions",
"OffloadConfig",
"OutputConfig",
"ParallelismConfig",
+9 -9
View File
@@ -25,16 +25,16 @@ logger = init_logger(__name__)
# Refine component paths, by the model_index.json key that supplies the checkpoint's default.
LTX2_REFINE_PATH_KEYS = {
"pipeline.ltx2.refine.transformer_path": "fastvideo_refine_transformer_path",
"pipeline.ltx2.refine.lora_path": "fastvideo_refine_lora_path",
"pipeline.ltx2.refine.noise_path": "fastvideo_refine_noise_path",
"pipeline.ltx2.refine.audio_noise_path": "fastvideo_refine_audio_noise_path",
"pipeline.model.refine.transformer_path": "fastvideo_refine_transformer_path",
"pipeline.model.refine.lora_path": "fastvideo_refine_lora_path",
"pipeline.model.refine.noise_path": "fastvideo_refine_noise_path",
"pipeline.model.refine.audio_noise_path": "fastvideo_refine_audio_noise_path",
}
# Refine switches, by the model_index.json key that supplies the checkpoint's default and the value's type.
LTX2_REFINE_SWITCH_KEYS = (
("pipeline.ltx2.refine.num_inference_steps", "fastvideo_refine_num_inference_steps", int),
("pipeline.ltx2.refine.guidance_scale", "fastvideo_refine_guidance_scale", float),
("pipeline.ltx2.refine.add_noise", "fastvideo_refine_add_noise", bool),
("pipeline.model.refine.num_inference_steps", "fastvideo_refine_num_inference_steps", int),
("pipeline.model.refine.guidance_scale", "fastvideo_refine_guidance_scale", float),
("pipeline.model.refine.add_noise", "fastvideo_refine_add_noise", bool),
)
# Directory names under which published LTX-2 checkpoints bundle the refine upsampler without declaring it.
_UPSAMPLER_DIRECTORY_NAMES = ("spatial_upscaler", "spatial_upsampler")
@@ -136,8 +136,8 @@ def ltx2_refine_checkpoint_step(defaults: Any) -> ResolutionStep:
return {}
root = _ltx2_checkpoint_root(model_path, revision, model_index)
values: dict[str, Any] = {}
if model_index.get("fastvideo_refine_enabled") is True and view.get("pipeline.ltx2.refine.enabled") is None:
values["pipeline.ltx2.refine.enabled"] = True
if model_index.get("fastvideo_refine_enabled") is True and view.get("pipeline.model.refine.enabled") is None:
values["pipeline.model.refine.enabled"] = True
if view.get("pipeline.components.upsampler_weights") is None:
upsampler_path = _resolve_refine_upsampler_path(root, model_index)
if upsampler_path is not None:
+181 -73
View File
@@ -8,17 +8,21 @@ step's name, and then materializes the model's ``PipelineConfig`` once and attac
The steps run in this order. A fill step sets a field only while it is ``None``, so an earlier step takes
precedence over a later one: user input, then environment variables, then model defaults.
1. Environment variables fill typed fields.
2. Model defaults from the model's ``PipelineConfig`` fill the typed fields of ``PIPELINE_CONFIG_MIRRORS`` that are
still unset.
3. ``pipeline.preset_overrides.refine`` sets the LTX-2 refine fields, and the checkpoint's bundled files fill the
1. The model family steps check that a written ``pipeline.model`` block is the family of the model's
``PipelineConfig`` and fill the family's empty block when none is written, so every later step and every runtime
reader finds ``pipeline.model`` set (``MODEL_FAMILY_CONFIG_CLASSES``).
2. Environment variables fill typed fields.
3. Model defaults from the model's ``PipelineConfig`` fill the typed fields of ``PIPELINE_CONFIG_MIRRORS`` and of the
family's ``MODEL_FAMILY_MIRRORS`` that are still unset.
4. ``pipeline.preset_overrides.refine`` sets the LTX-2 refine fields, and the checkpoint's bundled files fill the
LTX-2 refine fields and the MiniMax-H3 DMD schedule that are still unset (``fastvideo.api.checkpoint_defaults``).
4. Derived values replace placeholders and load the files that a path names.
5. The device policy settles the offload settings for the memory class of the local device
5. Derived values replace placeholders and load the files that a path names.
6. The device policy settles the offload settings for the memory class of the local device
(``fastvideo.api.device_policy``).
6. Validation steps raise on inconsistent values and decide nothing.
7. ``fill_runtime_defaults`` gives every field that is still unset its runtime default.
7. Validation steps raise on inconsistent values and decide nothing.
8. ``fill_runtime_defaults`` gives every field that is still unset its runtime default.
A step that decides a field of one family's block runs only when ``pipeline.model`` is that family's block.
``fastvideo.api.training_schema`` resolves the training and preprocessing roots with the same steps plus their own.
"""
from __future__ import annotations
@@ -33,14 +37,74 @@ from typing import Any
import fastvideo.envs as envs
from fastvideo.api.checkpoint_defaults import dmd_schedule_checkpoint_step, ltx2_refine_checkpoint_step
from fastvideo.api.device_policy import DEVICE_POLICY_STEPS
from fastvideo.api.parser import parse_config
from fastvideo.api.parser import parse_config, union_tag
from fastvideo.api.resolution import (ResolutionStep, ResolutionView, ResolvedGeneratorConfig, resolve_generator_config,
thaw)
from fastvideo.api.schema import ExecutionMode, GeneratorConfig, WorkloadType
from fastvideo.api.schema import ExecutionMode, GeneratorConfig, ModelOptions, WorkloadType
from fastvideo.logger import init_logger
logger = init_logger(__name__)
# Family tag of ``pipeline.model`` -> the dotted name of the ``PipelineConfig`` class whose models take that block,
# including its subclasses. A model whose ``PipelineConfig`` is none of these is ``generic``.
MODEL_FAMILY_CONFIG_CLASSES: dict[str, str] = {
"ltx2": "fastvideo.pipelines.basic.ltx2.pipeline_configs.LTX2T2VConfig",
"minimax_h3": "fastvideo.configs.pipelines.minimax_h3.MiniMaxH3PipelineConfig",
"longcat": "fastvideo.configs.pipelines.longcat.LongCatT2V480PConfig",
}
GENERIC_FAMILY = "generic"
def model_family(pipeline_config: Any) -> str:
"""The ``pipeline.model`` family tag of a model, from the class of its ``PipelineConfig``."""
from fastvideo.utils import resolve_obj_by_qualname
for family, class_name in MODEL_FAMILY_CONFIG_CLASSES.items():
if isinstance(pipeline_config, resolve_obj_by_qualname(class_name)):
return family
return GENERIC_FAMILY
def _family(view: ResolutionView) -> str:
"""The family tag of the ``pipeline.model`` block; the model family steps have set the block."""
return view.get("pipeline.model").family
def _input_path(path: str, family: str) -> str:
"""The input spelling of a typed path through ``pipeline.model``: the family tag follows ``pipeline.model``."""
prefix = "pipeline.model."
return f"{prefix}{family}.{path[len(prefix):]}" if path.startswith(prefix) else path
def model_family_steps(defaults: Any) -> tuple[ResolutionStep, ResolutionStep]:
"""Build the two steps that settle ``pipeline.model`` for the model whose ``PipelineConfig`` is ``defaults``.
``validate_model_family`` raises ``ValueError`` when the written block is of another family than the model;
the ``generic`` block is accepted for every model. ``fill_model_family`` sets the family's empty block when
``pipeline.model`` is unset, and replaces a ``generic`` block on a family model with the family's block that
carries the same ``dit`` and ``vae`` overrides, so the model's readers always find their fields.
"""
family = model_family(defaults)
def validate_model_family(view: ResolutionView) -> dict[str, Any]:
model = view.get("pipeline.model")
if model is not None and model.family not in (family, GENERIC_FAMILY):
raise ValueError(f"pipeline.model.{model.family} does not apply to {view.get('model_path')}: the registry "
f"resolved it to {type(defaults).__name__}, whose block is pipeline.model.{family}")
return {}
def fill_model_family(view: ResolutionView) -> dict[str, Any]:
model = view.get("pipeline.model")
if model is None:
return {"pipeline.model": ModelOptions.TAGS[family]()}
if model.family == GENERIC_FAMILY and family != GENERIC_FAMILY:
return {"pipeline.model": ModelOptions.TAGS[family](dit=thaw(model.dit), vae=thaw(model.vae))}
return {}
validate_model_family.__qualname__ = "validate_model_family"
fill_model_family.__qualname__ = f"fill_model_family[{family}]"
return validate_model_family, fill_model_family
def fill_attention_backend_from_env(view: ResolutionView) -> dict[str, Any]:
"""``FASTVIDEO_ATTENTION_BACKEND`` sets ``engine.attention.backend`` while the field is unset.
@@ -66,16 +130,18 @@ def fill_vae_parallel_from_env(view: ResolutionView) -> dict[str, Any]:
"""The ``FASTVIDEO_VAE_PARALLEL_*`` variables set the MiniMax-H3 sequence-parallel VAE options.
Each switch turns on while it is unset. The decode strategy fills while it is unset, and is ``gather`` when
the variable is unset too.
the variable is unset too. The step decides nothing for a model of another family.
"""
if _family(view) != "minimax_h3":
return {}
values: dict[str, Any] = {}
if view.get("pipeline.minimax_h3.vae_parallel_decode") is None and envs.FASTVIDEO_VAE_PARALLEL_DECODE.get():
values["pipeline.minimax_h3.vae_parallel_decode"] = True
if view.get("pipeline.minimax_h3.vae_parallel_encode") is None and envs.FASTVIDEO_VAE_PARALLEL_ENCODE.get():
values["pipeline.minimax_h3.vae_parallel_encode"] = True
if view.get("pipeline.minimax_h3.vae_parallel_decode_strategy") is None:
if view.get("pipeline.model.vae_parallel_decode") is None and envs.FASTVIDEO_VAE_PARALLEL_DECODE.get():
values["pipeline.model.vae_parallel_decode"] = True
if view.get("pipeline.model.vae_parallel_encode") is None and envs.FASTVIDEO_VAE_PARALLEL_ENCODE.get():
values["pipeline.model.vae_parallel_encode"] = True
if view.get("pipeline.model.vae_parallel_decode_strategy") is None:
strategy = envs.FASTVIDEO_VAE_PARALLEL_DECODE_STRATEGY.get() or "gather"
values["pipeline.minimax_h3.vae_parallel_decode_strategy"] = strategy
values["pipeline.model.vae_parallel_decode_strategy"] = strategy
return values
@@ -97,17 +163,27 @@ PIPELINE_CONFIG_MIRRORS: dict[str, str] = {
"pipeline.boundary_ratio": "boundary_ratio",
"pipeline.vae_tiling": "vae_tiling",
"pipeline.vae_sp": "vae_sp",
"pipeline.longcat.enable_bsa": "enable_bsa",
"pipeline.longcat.bsa_sparsity": "bsa_sparsity",
"pipeline.longcat.bsa_cdf_threshold": "bsa_cdf_threshold",
"pipeline.longcat.bsa_chunk_q": "bsa_chunk_q",
"pipeline.longcat.bsa_chunk_k": "bsa_chunk_k",
}
# Family tag -> the mirrors of that family's ``pipeline.model`` block, which apply only to a model of the family.
MODEL_FAMILY_MIRRORS: dict[str, dict[str, str]] = {
"longcat": {
"pipeline.model.enable_bsa": "enable_bsa",
"pipeline.model.bsa_sparsity": "bsa_sparsity",
"pipeline.model.bsa_cdf_threshold": "bsa_cdf_threshold",
"pipeline.model.bsa_chunk_q": "bsa_chunk_q",
"pipeline.model.bsa_chunk_k": "bsa_chunk_k",
},
}
# Mirrored paths that the defaults step leaves unset: an LTX-2 tile size can turn ``pipeline.vae_tiling`` on before
# :func:`vae_tiling_default_step` fills it from the model default.
_FILLED_AFTER_DERIVATION = frozenset({"pipeline.vae_tiling"})
def pipeline_config_mirrors(family: str) -> dict[str, str]:
"""``PIPELINE_CONFIG_MIRRORS`` plus the mirrors of the ``pipeline.model`` block of ``family``."""
return {**PIPELINE_CONFIG_MIRRORS, **MODEL_FAMILY_MIRRORS.get(family, {})}
def _pipeline_config_source(config: GeneratorConfig) -> Any:
"""The source that the model's ``PipelineConfig`` is built from: a JSON path, a mapping, or a ``PipelineConfig``.
@@ -132,15 +208,16 @@ def pipeline_config_defaults_step(config: GeneratorConfig, defaults: Any = None)
"""Build the step that fills unset typed fields with the values of the model's ``PipelineConfig``.
``defaults`` is the instance from :func:`build_model_pipeline_config`; it is built from ``config`` when it is
not given. A typed field of ``PIPELINE_CONFIG_MIRRORS`` is filled when its value is ``None`` and its attribute on
that ``PipelineConfig`` is not ``None``. The step's source name carries the ``PipelineConfig`` class name.
not given. A typed field of :func:`pipeline_config_mirrors` is filled when its value is ``None`` and its
attribute on that ``PipelineConfig`` is not ``None``. The step's source name carries the ``PipelineConfig`` class
name.
"""
if defaults is None:
defaults = build_model_pipeline_config(config)
def fill_pipeline_config_defaults(view: ResolutionView) -> dict[str, Any]:
values: dict[str, Any] = {}
for dotted_path, attribute in PIPELINE_CONFIG_MIRRORS.items():
for dotted_path, attribute in pipeline_config_mirrors(_family(view)).items():
default = getattr(defaults, attribute, None)
if dotted_path not in _FILLED_AFTER_DERIVATION and default is not None and view.get(dotted_path) is None:
values[dotted_path] = deepcopy(default)
@@ -162,16 +239,18 @@ def derive_parallel_sizes(view: ResolutionView) -> dict[str, Any]:
_LTX2_VAE_TILE_FIELDS = (
"pipeline.ltx2.vae_spatial_tile_size_in_pixels",
"pipeline.ltx2.vae_spatial_tile_overlap_in_pixels",
"pipeline.ltx2.vae_temporal_tile_size_in_frames",
"pipeline.ltx2.vae_temporal_tile_overlap_in_frames",
"pipeline.model.vae_spatial_tile_size_in_pixels",
"pipeline.model.vae_spatial_tile_overlap_in_pixels",
"pipeline.model.vae_temporal_tile_size_in_frames",
"pipeline.model.vae_temporal_tile_overlap_in_frames",
)
def derive_vae_tiling_from_ltx2_tile_sizes(view: ResolutionView) -> dict[str, Any]:
"""An LTX-2 VAE tile size turns ``pipeline.vae_tiling`` on while the field is unset."""
if view.get("pipeline.vae_tiling") is not None or all(view.get(path) is None for path in _LTX2_VAE_TILE_FIELDS):
if _family(view) != "ltx2" or view.get("pipeline.vae_tiling") is not None:
return {}
if all(view.get(path) is None for path in _LTX2_VAE_TILE_FIELDS):
return {}
return {"pipeline.vae_tiling": True}
@@ -197,15 +276,16 @@ def copy_refine_preset_overrides(view: ResolutionView) -> dict[str, Any]:
The keys are the refine preset and stage override fields (``enabled``, ``add_noise``, ``num_inference_steps``,
``guidance_scale``, ``image_crf``, ``video_position_offset_sec``); a ``None`` value leaves its field unchanged.
The step decides nothing for a model of another family; those pipelines read ``pipeline.preset_overrides``.
"""
from fastvideo.pipelines.basic.ltx2.stage_overrides import (refine_preset_override_fields,
refine_stage_override_fields)
refine = view.get_plain("pipeline.preset_overrides").get("refine")
if not isinstance(refine, Mapping):
if _family(view) != "ltx2" or not isinstance(refine, Mapping):
return {}
keys = refine_preset_override_fields() | refine_stage_override_fields()
return {f"pipeline.ltx2.refine.{key}": refine[key] for key in sorted(keys) if refine.get(key) is not None}
return {f"pipeline.model.refine.{key}": refine[key] for key in sorted(keys) if refine.get(key) is not None}
def load_moba_config(view: ResolutionView) -> dict[str, Any]:
@@ -256,10 +336,12 @@ def validate_unsupported_fields(view: ResolutionView) -> dict[str, Any]:
def validate_experimental_keys(view: ResolutionView) -> dict[str, Any]:
"""A ``pipeline.experimental`` key must not name a ``PipelineConfig`` attribute that has a typed path.
Materialization writes those attributes from their typed paths (``PIPELINE_CONFIG_MIRRORS``), so the key is set at
the typed path instead.
Materialization writes those attributes from their typed paths (:func:`pipeline_config_mirrors`), so the key is
set at the typed path instead; the message spells a family field as the input writes it,
``pipeline.model.<family>.<field>``.
"""
typed_paths = {attribute: path for path, attribute in PIPELINE_CONFIG_MIRRORS.items()}
family = _family(view)
typed_paths = {attribute: _input_path(path, family) for path, attribute in pipeline_config_mirrors(family).items()}
misplaced = sorted(set(view.get("pipeline.experimental")) & set(typed_paths))
if misplaced:
moves = ", ".join(f"pipeline.experimental.{key} -> {typed_paths[key]}" for key in misplaced)
@@ -283,8 +365,11 @@ VAE_PARALLEL_DECODE_STRATEGIES = ("gather", "all_gather")
def validate_vae_parallel_decode_strategy(view: ResolutionView) -> dict[str, Any]:
"""``pipeline.minimax_h3.vae_parallel_decode_strategy`` must be ``gather`` or ``all_gather``, from any source."""
strategy = view.get("pipeline.minimax_h3.vae_parallel_decode_strategy")
"""A MiniMax-H3 ``pipeline.model.vae_parallel_decode_strategy`` must be ``gather`` or ``all_gather``, from any
source."""
if _family(view) != "minimax_h3":
return {}
strategy = view.get("pipeline.model.vae_parallel_decode_strategy")
if strategy not in VAE_PARALLEL_DECODE_STRATEGIES:
raise ValueError(f"vae_parallel_decode_strategy must be one of {VAE_PARALLEL_DECODE_STRATEGIES}, "
f"got {strategy!r}.")
@@ -335,8 +420,7 @@ def torch_compile_kwargs(resolved_config: ResolvedGeneratorConfig) -> dict[str,
return kwargs
# Values that runtime code uses for typed fields that no earlier step decided. The LTX-2 refine switches are the
# stage-2 defaults of the LTX-2 pipeline; the checkpoint's model_index.json fills them first when it declares them.
# Values that runtime code uses for typed fields that no earlier step decided.
RUNTIME_DEFAULTS: dict[str, Any] = {
"engine.attention.vsa_sparsity": 0.0,
"engine.attention.vsa_tile_size": 256,
@@ -346,22 +430,32 @@ RUNTIME_DEFAULTS: dict[str, Any] = {
"engine.compile.audio_vae_enabled": False,
"engine.compile.regional": False,
"pipeline.workload_type": WorkloadType.T2V,
"pipeline.minimax_h3.taeh3_chunk_size": 5,
"pipeline.minimax_h3.vae_parallel_decode": False,
"pipeline.minimax_h3.vae_parallel_encode": False,
"pipeline.minimax_h3.video_decode_backend": "h3-vae",
"pipeline.ltx2.legacy_native_noise_order": False,
"pipeline.ltx2.use_distilled_sigmas": True,
"pipeline.ltx2.refine.enabled": False,
"pipeline.ltx2.refine.add_noise": True,
"pipeline.ltx2.refine.guidance_scale": 1.0,
"pipeline.ltx2.refine.num_inference_steps": 3,
}
# Family tag -> the runtime defaults of that family's ``pipeline.model`` block. The LTX-2 refine switches are the
# stage-2 defaults of the LTX-2 pipeline; the checkpoint's model_index.json fills them first when it declares them.
MODEL_FAMILY_RUNTIME_DEFAULTS: dict[str, dict[str, Any]] = {
"minimax_h3": {
"pipeline.model.taeh3_chunk_size": 5,
"pipeline.model.vae_parallel_decode": False,
"pipeline.model.vae_parallel_encode": False,
"pipeline.model.video_decode_backend": "h3-vae",
},
"ltx2": {
"pipeline.model.legacy_native_noise_order": False,
"pipeline.model.use_distilled_sigmas": True,
"pipeline.model.refine.enabled": False,
"pipeline.model.refine.add_noise": True,
"pipeline.model.refine.guidance_scale": 1.0,
"pipeline.model.refine.num_inference_steps": 3,
},
}
def fill_runtime_defaults(view: ResolutionView) -> dict[str, Any]:
"""Give each field in ``RUNTIME_DEFAULTS`` its runtime default while it is still unset; runs after every other step."""
return {path: deepcopy(default) for path, default in RUNTIME_DEFAULTS.items() if view.get(path) is None}
"""Give each field in ``RUNTIME_DEFAULTS``, and in the ``MODEL_FAMILY_RUNTIME_DEFAULTS`` of the model's family,
its runtime default while it is still unset; runs after every other step."""
defaults = {**RUNTIME_DEFAULTS, **MODEL_FAMILY_RUNTIME_DEFAULTS.get(_family(view), {})}
return {path: deepcopy(default) for path, default in defaults.items() if view.get(path) is None}
ENVIRONMENT_STEPS: tuple[ResolutionStep, ...] = (
@@ -390,14 +484,16 @@ def generator_resolution_steps(
) -> tuple[ResolutionStep, ...]:
"""The resolution steps of any generator root, in the order that they run.
``before_placeholders`` runs after the checkpoint fills and before ``derive_parallel_sizes``, for checks that need
the -1 placeholders; ``after`` runs last. The device-policy steps run after every fill and derivation and before
the validations. ``validate_parallel_sizes`` checks the sizes before ``derive_num_gpus_from_parallel_sizes`` raises
``num_gpus``.
The model family steps run first, because the environment and model-default fills write into the
``pipeline.model`` block. ``before_placeholders`` runs after the checkpoint fills and before
``derive_parallel_sizes``, for checks that need the -1 placeholders; ``after`` runs last. The device-policy steps
run after every fill and derivation and before the validations. ``validate_parallel_sizes`` checks the sizes
before ``derive_num_gpus_from_parallel_sizes`` raises ``num_gpus``.
"""
if defaults is None:
defaults = build_model_pipeline_config(config)
return (
*model_family_steps(defaults),
*ENVIRONMENT_STEPS,
pipeline_config_defaults_step(config, defaults),
copy_refine_preset_overrides,
@@ -424,10 +520,10 @@ def inference_resolution_steps(config: GeneratorConfig, defaults: Any = None) ->
# LTX-2 VAE tile size path -> the ``vae_config`` attribute that the LTX-2 VAE reads.
_LTX2_VAE_TILE_ATTRIBUTES = {
"pipeline.ltx2.vae_spatial_tile_size_in_pixels": "ltx2_spatial_tile_size_in_pixels",
"pipeline.ltx2.vae_spatial_tile_overlap_in_pixels": "ltx2_spatial_tile_overlap_in_pixels",
"pipeline.ltx2.vae_temporal_tile_size_in_frames": "ltx2_temporal_tile_size_in_frames",
"pipeline.ltx2.vae_temporal_tile_overlap_in_frames": "ltx2_temporal_tile_overlap_in_frames",
"pipeline.model.vae_spatial_tile_size_in_pixels": "ltx2_spatial_tile_size_in_pixels",
"pipeline.model.vae_spatial_tile_overlap_in_pixels": "ltx2_spatial_tile_overlap_in_pixels",
"pipeline.model.vae_temporal_tile_size_in_frames": "ltx2_temporal_tile_size_in_frames",
"pipeline.model.vae_temporal_tile_overlap_in_frames": "ltx2_temporal_tile_overlap_in_frames",
}
@@ -467,26 +563,29 @@ def materialize_pipeline_config(resolved: ResolvedGeneratorConfig, pipeline_conf
``pipeline_config`` is the instance from :func:`build_model_pipeline_config`. In order, materialization sets the
``pipeline.experimental`` keys that are ``PipelineConfig`` attributes (model-only fields), the attributes of
``PIPELINE_CONFIG_MIRRORS`` from their typed values, and the ``pipeline.vae`` and ``pipeline.dit`` entries on
``vae_config`` and ``dit_config``; a ``None`` value leaves its attribute unchanged. It then writes the LTX-2 VAE
tile sizes onto ``vae_config``, pins the ``engine.quantization.transformer_quant`` config on ``dit_config``, runs
``check_pipeline_config``, and loads the VAE encoder for a preprocessing run.
:func:`pipeline_config_mirrors` from their typed values, and the ``vae`` and ``dit`` entries of the
``pipeline.model`` block on ``vae_config`` and ``dit_config``; a ``None`` value leaves its attribute unchanged. For
an LTX-2 model it then writes the VAE tile sizes onto ``vae_config``. It pins the
``engine.quantization.transformer_quant`` config on ``dit_config``, runs ``check_pipeline_config``, and loads the
VAE encoder for a preprocessing run.
"""
config = resolved.to_config()
family = config.pipeline.model.family
_set_present_attributes(pipeline_config, {
key: value
for key, value in config.pipeline.experimental.items() if key != "pipeline_config"
})
mirrored = {attribute: _config_value(config, path) for path, attribute in PIPELINE_CONFIG_MIRRORS.items()}
mirrored = {attribute: _config_value(config, path) for path, attribute in pipeline_config_mirrors(family).items()}
if mirrored["text_encoder_precisions"] is not None:
mirrored["text_encoder_precisions"] = tuple(mirrored["text_encoder_precisions"])
_set_present_attributes(pipeline_config, mirrored)
_set_present_attributes(pipeline_config.vae_config, config.pipeline.vae)
_set_present_attributes(pipeline_config.dit_config, config.pipeline.dit)
_set_present_attributes(pipeline_config.vae_config, {
attribute: _config_value(config, path)
for path, attribute in _LTX2_VAE_TILE_ATTRIBUTES.items()
})
_set_present_attributes(pipeline_config.vae_config, config.pipeline.model.vae)
_set_present_attributes(pipeline_config.dit_config, config.pipeline.model.dit)
if family == "ltx2":
_set_present_attributes(pipeline_config.vae_config, {
attribute: _config_value(config, path)
for path, attribute in _LTX2_VAE_TILE_ATTRIBUTES.items()
})
_apply_transformer_quant(pipeline_config, _config_value(config, "engine.quantization.transformer_quant"))
pipeline_config.check_pipeline_config()
if resolved.mode == ExecutionMode.PREPROCESS and not pipeline_config.vae_config.load_encoder:
@@ -540,19 +639,21 @@ def _non_default_fields(value: Any, default: Any) -> dict[str, Any]:
"""Fields of the dataclass ``value`` that differ from the same fields of ``default``, recursively.
A nested config that is set while its default is ``None`` is kept, with its own non-default fields, so that
parsing recreates it.
parsing recreates it. A tagged-union block is written under its tag, ``{"ltx2": {...}}``, as the input spells it.
"""
written: dict[str, Any] = {}
for config_field in fields(value):
current = getattr(value, config_field.name)
base = getattr(default, config_field.name)
if is_dataclass(current) and is_dataclass(base):
if is_dataclass(current) and is_dataclass(base) and type(current) is type(base):
nested = _non_default_fields(current, base)
if nested:
written[config_field.name] = nested
elif is_dataclass(current):
nested_type: Any = type(current)
written[config_field.name] = _non_default_fields(current, nested_type())
nested = _non_default_fields(current, nested_type())
tag = union_tag(current)
written[config_field.name] = nested if tag is None else {tag: nested}
elif current != base:
written[config_field.name] = current
return written
@@ -561,6 +662,10 @@ def _non_default_fields(value: Any, default: Any) -> dict[str, Any]:
__all__ = [
"torch_compile_kwargs",
"ENVIRONMENT_STEPS",
"GENERIC_FAMILY",
"MODEL_FAMILY_CONFIG_CLASSES",
"MODEL_FAMILY_MIRRORS",
"MODEL_FAMILY_RUNTIME_DEFAULTS",
"PIPELINE_CONFIG_MIRRORS",
"VALIDATION_STEPS",
"apply_nvfp4_fa4_env",
@@ -576,7 +681,10 @@ __all__ = [
"inference_resolution_steps",
"load_moba_config",
"materialize_pipeline_config",
"model_family",
"model_family_steps",
"pipeline_config_defaults_step",
"pipeline_config_mirrors",
"resolve_config",
"resolve_inference_config",
"validate_attention_backend",
+106 -2
View File
@@ -48,9 +48,18 @@ def parse_config(config_type: type[T], raw: Mapping[str, Any] | T) -> T:
def config_to_dict(config: Any) -> Any:
"""Serialize a typed config object into plain Python containers."""
"""Serialize a typed config object into plain Python containers.
A tagged-union member is written in its input form, ``{tag: fields}``, without the ``family`` tag field, so the
result parses back with :func:`parse_config`.
"""
if dataclasses.is_dataclass(config) and not isinstance(config, type):
return {field.name: config_to_dict(getattr(config, field.name)) for field in dataclasses.fields(config)}
tag = union_tag(config)
fields = {
field.name: config_to_dict(getattr(config, field.name))
for field in dataclasses.fields(config) if tag is None or field.name != TAG_FIELD
}
return fields if tag is None else {tag: fields}
if isinstance(config, list):
return [config_to_dict(item) for item in config]
if isinstance(config, dict):
@@ -109,6 +118,79 @@ def _load_raw_mapping(handle: Any, config_path: Path) -> Any:
raise ValueError(f"Unsupported config file format: {config_path}")
# A tagged union is a dataclass that defines ``TAGS`` in its own namespace: a mapping from tag to the dataclass that
# the tag selects. Its input is a mapping with exactly one key, the tag, whose value is parsed as the selected class.
# Every selected class carries the tag in the ``TAG_FIELD`` field, whose default is the tag; the input never writes it.
TAG_FIELD = "family"
def tagged_union_tags(config_type: Any) -> Mapping[str, type[Any]] | None:
"""The ``TAGS`` table of a tagged-union dataclass, or ``None`` for any other annotation.
Only the class that defines ``TAGS`` is the union; the classes that it selects inherit the attribute and parse as
plain dataclasses.
"""
if not isinstance(config_type, type) or not dataclasses.is_dataclass(config_type):
return None
return vars(config_type).get("TAGS")
def union_tag(config: Any) -> str | None:
"""The tag under which a tagged-union member instance is written, or ``None`` for any other value."""
for base in type(config).__mro__:
tags = tagged_union_tags(base)
if tags is not None:
for tag, member_type in tags.items():
if member_type is type(config):
return tag
raise ConfigValidationError("", f"{type(config).__name__} is not in the TAGS of {base.__name__}")
return None
def strip_union_tags(config_type: type[Any], paths: set[str]) -> set[str]:
"""Rewrite dotted input paths through a tagged-union field into the field paths of the parsed config.
An input path ``pipeline.model.ltx2.refine.enabled`` names the member block by its tag; the parsed config holds
the block at ``pipeline.model``, so the path becomes ``pipeline.model.refine.enabled``. Paths that do not go
through a tagged-union field of ``config_type`` are unchanged.
"""
union_paths = _tagged_union_field_paths(config_type, "")
if not union_paths:
return paths
stripped: set[str] = set()
for path in paths:
for union_path, tags in union_paths.items():
if path.startswith(union_path + "."):
tag, _, rest = path[len(union_path) + 1:].partition(".")
if tag in tags:
path = _join_path(union_path, rest) if rest else union_path
break
stripped.add(path)
return stripped
def _tagged_union_field_paths(config_type: type[Any], prefix: str) -> dict[str, Mapping[str, type[Any]]]:
"""Dotted path -> ``TAGS`` for every tagged-union field reachable through the nested dataclass fields."""
found: dict[str, Mapping[str, type[Any]]] = {}
spec = _get_dataclass_spec(config_type)
for name in spec.fields_by_name:
field_path = _join_path(prefix, name)
for candidate in _annotation_classes(spec.type_hints[name]):
tags = tagged_union_tags(candidate)
if tags is not None:
found[field_path] = tags
elif dataclasses.is_dataclass(candidate):
found.update(_tagged_union_field_paths(candidate, field_path))
return found
def _annotation_classes(annotation: Any) -> list[type[Any]]:
"""The classes that an annotation names directly or as members of an optional or union annotation."""
if get_origin(annotation) in _UNION_ORIGINS:
return [candidate for candidate in get_args(annotation) if isinstance(candidate, type)]
return [annotation] if isinstance(annotation, type) else []
class _SchemaParser:
def parse_dataclass(
@@ -150,6 +232,9 @@ class _SchemaParser:
if origin is tuple:
return self._parse_tuple(annotation, value, path)
if isinstance(annotation, type) and dataclasses.is_dataclass(annotation):
tags = tagged_union_tags(annotation)
if tags is not None:
return self._parse_tagged_union(annotation, tags, value, path)
return self.parse_dataclass(annotation, value, path)
if isinstance(annotation, type) and issubclass(annotation, enum.Enum):
return self._parse_enum(annotation, value, path)
@@ -172,6 +257,21 @@ class _SchemaParser:
if key not in spec.fields_by_name:
raise ConfigValidationError(_join_path(path, key), "unknown field")
def _parse_tagged_union(self, union_type: type[Any], tags: Mapping[str, type[Any]], value: Any, path: str) -> Any:
"""Parse ``{tag: fields}`` into the member class that ``tags[tag]`` names, with ``TAG_FIELD`` set to the tag."""
if not isinstance(value, Mapping):
raise ConfigValidationError(path, f"expected mapping with one key for {union_type.__name__}")
choices = ", ".join(sorted(tags))
if len(value) != 1:
raise ConfigValidationError(path, f"expected exactly one key, one of ({choices}); got {sorted(value)!r}")
tag, fields = next(iter(value.items()))
if tag not in tags:
raise ConfigValidationError(_join_path(path, str(tag)), f"unknown key; expected one of ({choices})")
member_path = _join_path(path, tag)
if isinstance(fields, Mapping) and TAG_FIELD in fields:
raise ConfigValidationError(_join_path(member_path, TAG_FIELD), f"set by the key {tag!r}; remove it")
return self.parse_dataclass(tags[tag], fields, member_path)
def _parse_union(self, annotation: Any, value: Any, path: str) -> Any:
candidates = [candidate for candidate in get_args(annotation) if candidate is not type(None)]
if value is None and len(candidates) != len(get_args(annotation)):
@@ -328,10 +428,14 @@ def _type_name(annotation: Any) -> str:
__all__ = [
"TAG_FIELD",
"config_to_dict",
"load_config",
"load_raw_config",
"load_run_config",
"load_serve_config",
"parse_config",
"strip_union_tags",
"tagged_union_tags",
"union_tag",
]
+10 -7
View File
@@ -34,7 +34,7 @@ import dataclasses
from types import MappingProxyType
from typing import Any
from fastvideo.api.parser import parse_config
from fastvideo.api.parser import parse_config, strip_union_tags
from fastvideo.api.request_metadata import _record_value_paths, get_explicit_paths
from fastvideo.api.schema import GenerationRequest, GeneratorConfig
@@ -505,15 +505,18 @@ def resolve_generator_config(
``raw`` is the merged YAML, CLI-override, and keyword input in the nested
shape of ``config_class``, which is ``GeneratorConfig`` or one of its
subclasses. Every leaf written in ``raw`` is an explicit path. Each step
sees the decisions of the steps before it. ``materialize`` receives the
resolved values and returns the ``PipelineConfig`` that the result holds
as ``pipeline_config``.
subclasses. Every leaf written in ``raw`` is an explicit path, spelled as
the parsed config holds it (a tagged-union block loses its tag segment:
``pipeline.model.ltx2.refine.enabled`` is explicit as
``pipeline.model.refine.enabled``). Each step sees the decisions of the
steps before it. ``materialize`` receives the resolved values and returns
the ``PipelineConfig`` that the result holds as ``pipeline_config``.
"""
if not isinstance(raw, Mapping):
raise TypeError(f"expected a raw config mapping, got {type(raw).__name__}")
explicit_paths: set[str] = set()
_record_value_paths(raw, "", explicit_paths)
written_paths: set[str] = set()
_record_value_paths(raw, "", written_paths)
explicit_paths = strip_union_tags(config_class, written_paths)
tree, raw_tree, decisions = _run_steps(parse_config(config_class, raw), frozenset(explicit_paths), steps)
resolved = ResolvedGeneratorConfig(tree, raw_tree, frozenset(explicit_paths), decisions, ())
if materialize is None:
+46 -14
View File
@@ -3,7 +3,7 @@ from __future__ import annotations
from dataclasses import dataclass, field
from enum import Enum
from typing import Any, Literal
from typing import Any, ClassVar, Literal
class ExecutionMode(str, Enum):
@@ -226,9 +226,32 @@ class LTX2RefineOptions:
@dataclass
class LTX2Options:
"""LTX-2 settings. ``None`` keeps the model's default."""
class ModelOptions:
"""Settings of one model family, written as ``pipeline.model`` with exactly one key that names the family.
``ModelOptions`` is a tagged union: the parser reads the single key of the mapping, looks the family up in
``TAGS``, and parses the key's value as that family's options class, so a ``pipeline.model`` value is always an
instance of one of the ``TAGS`` classes with ``family`` set to its tag. The ``family`` key itself is not written
in the input. ``dit`` and ``vae`` hold overrides for fields of the model's DiT and VAE arch configs, such as
``prefix`` or ``load_encoder``; the families add their own settings.
"""
TAGS: ClassVar[dict[str, type[ModelOptions]]]
family: str = "generic"
dit: dict[str, Any] = field(default_factory=dict)
vae: dict[str, Any] = field(default_factory=dict)
@dataclass
class GenericModelOptions(ModelOptions):
"""The ``generic`` block: arch overrides for a model that has no family settings, such as Wan."""
@dataclass
class LTX2Options(ModelOptions):
"""The ``ltx2`` block: LTX-2 settings. ``None`` keeps the model's default."""
family: str = "ltx2"
vae_spatial_tile_size_in_pixels: int | None = None
vae_spatial_tile_overlap_in_pixels: int | None = None
vae_temporal_tile_size_in_frames: int | None = None
@@ -245,9 +268,10 @@ class LTX2Options:
@dataclass
class MiniMaxH3Options:
"""MiniMax-H3 settings. ``None`` keeps the model's default."""
class MiniMaxH3Options(ModelOptions):
"""The ``minimax_h3`` block: MiniMax-H3 settings. ``None`` keeps the model's default."""
family: str = "minimax_h3"
sequential_load: bool | None = None
"""Encode with Qwen3-VL, release that encoder, then load the DiT and VAEs. ``None`` enables it on
unified-memory devices only."""
@@ -269,9 +293,10 @@ class MiniMaxH3Options:
@dataclass
class LongCatOptions:
"""LongCat block sparse attention (BSA) settings. ``None`` keeps the model's default."""
class LongCatOptions(ModelOptions):
"""The ``longcat`` block: LongCat block sparse attention (BSA) settings. ``None`` keeps the model's default."""
family: str = "longcat"
enable_bsa: bool | None = None
bsa_sparsity: float | None = None
bsa_cdf_threshold: float | None = None
@@ -281,6 +306,14 @@ class LongCatOptions:
"""Key chunk shape as ``[T, H, W]``."""
ModelOptions.TAGS = {
"generic": GenericModelOptions,
"ltx2": LTX2Options,
"minimax_h3": MiniMaxH3Options,
"longcat": LongCatOptions,
}
@dataclass
class PipelineSelection:
workload_type: WorkloadType | None = None
@@ -301,13 +334,10 @@ class PipelineSelection:
"""Mixture-of-experts switch point of a two-transformer model. ``None`` keeps the model's default."""
output_type: str = "pil"
"""Output of the decoding stage: ``pil`` for decoded frames, ``latent`` to skip the VAE decode."""
dit: dict[str, Any] = field(default_factory=dict)
"""Overrides for fields of the model's DiT config, such as ``prefix``."""
vae: dict[str, Any] = field(default_factory=dict)
"""Overrides for fields of the model's VAE config, such as ``load_encoder`` or ``use_tiling``."""
ltx2: LTX2Options = field(default_factory=LTX2Options)
minimax_h3: MiniMaxH3Options = field(default_factory=MiniMaxH3Options)
longcat: LongCatOptions = field(default_factory=LongCatOptions)
model: ModelOptions | None = None
"""Model-family settings and arch overrides, keyed by the family: ``ltx2``, ``minimax_h3``, ``longcat``, or
``generic``. The family must be the one that the registry picks for ``model_path``, or ``generic``. Resolution
fills the family's empty block when the field is unset, so a resolved config always has ``pipeline.model``."""
preset_overrides: dict[str, Any] = field(default_factory=dict)
experimental: dict[str, Any] = field(default_factory=dict)
@@ -506,12 +536,14 @@ __all__ = [
"GenerationPlan",
"GenerationRequest",
"GeneratorConfig",
"GenericModelOptions",
"GpuPoolConfig",
"InputConfig",
"LTX2Options",
"LTX2RefineOptions",
"LongCatOptions",
"MiniMaxH3Options",
"ModelOptions",
"OffloadConfig",
"OutputConfig",
"ParallelismConfig",
+3 -3
View File
@@ -363,12 +363,12 @@ FASTVIDEO_VAE_PARALLEL_DECODE = EnvBool(
False,
category="performance",
doc="MiniMax-H3 VAE decode splits its temporal chunks across the sequence-parallel ranks instead of running "
"serially on the output rank. Same as pipeline.minimax_h3.vae_parallel_decode=True.")
"serially on the output rank. Same as pipeline.model.minimax_h3.vae_parallel_decode=True.")
FASTVIDEO_VAE_PARALLEL_ENCODE = EnvBool(
False,
category="performance",
doc="MiniMax-H3 reference-video VAE encode splits its temporal chunks across the sequence-parallel ranks. "
"Same as pipeline.minimax_h3.vae_parallel_encode=True.")
"Same as pipeline.model.minimax_h3.vae_parallel_encode=True.")
FASTVIDEO_VAE_PARALLEL_DECODE_STRATEGY = EnvStr(
None,
category="performance",
@@ -496,7 +496,7 @@ FASTVIDEO_CFG_GATE_STEP = EnvFloat(
FASTVIDEO_LTX2_USE_DISTILLED_SIGMAS = EnvBool(
True,
category="sampling",
doc="LTX-2 uses the distilled sigma schedule when pipeline.ltx2.use_distilled_sigmas is also true.",
doc="LTX-2 uses the distilled sigma schedule when pipeline.model.ltx2.use_distilled_sigmas is also true.",
deprecated_names=("LTX2_USE_DISTILLED_SIGMAS", ))
# ================== Evaluation ==================
@@ -33,9 +33,10 @@ class LingBotVideoPipeline(LoRAPipeline, ComposedPipelineBase):
"""Load the optional refiner DiT and the VAE encoder only when declared."""
model_index = self._load_config(self.model_path)
required = list(type(self)._required_config_modules)
# The shared stage-2 refine switch: ``pipeline.preset_overrides.refine.enabled`` resolves into
# ``pipeline.ltx2.refine.enabled``; ``None`` loads the refiner when the checkpoint has one.
load_refiner = "transformer_2" in model_index and resolved_config.pipeline.ltx2.refine.enabled is not False
# The shared stage-2 refine switch ``pipeline.preset_overrides.refine.enabled``; ``None`` loads the refiner
# when the checkpoint has one.
refine = resolved_config.pipeline.preset_overrides.get("refine") or {}
load_refiner = "transformer_2" in model_index and refine.get("enabled") is not False
if load_refiner:
required.append("transformer_2")
resolved_config.pipeline_config.vae_config.load_encoder = True
@@ -46,7 +46,7 @@ class LongCatImageToVideoPipeline(LoRAPipeline, ComposedPipelineBase):
"""Initialize LongCat-specific components."""
# Same BSA initialization as base LongCat pipeline
pipeline_config = resolved_config.pipeline_config
bsa_options = resolved_config.pipeline.longcat
bsa_options = resolved_config.pipeline.model
transformer = self.get_module("transformer", None)
if transformer is None:
return
@@ -35,7 +35,7 @@ class LongCatPipeline(LoRAPipeline, ComposedPipelineBase):
# Enable BSA (Block Sparse Attention) if configured
pipeline_config = resolved_config.pipeline_config
bsa_options = resolved_config.pipeline.longcat
bsa_options = resolved_config.pipeline.model
transformer = self.get_module("transformer", None)
if transformer is None:
raise RuntimeError("Transformer module not found during initializing LongCat pipeline.")
@@ -48,7 +48,7 @@ class LongCatVideoContinuationPipeline(LoRAPipeline, ComposedPipelineBase):
def initialize_pipeline(self, resolved_config: ResolvedGeneratorConfig):
"""Initialize LongCat-specific components."""
pipeline_config = resolved_config.pipeline_config
bsa_options = resolved_config.pipeline.longcat
bsa_options = resolved_config.pipeline.model
transformer = self.get_module("transformer", None)
if transformer is None:
return
+12 -12
View File
@@ -31,7 +31,7 @@ class LTX2Pipeline(LoRAPipeline):
]
def create_pipeline_stages(self, resolved_config: ResolvedGeneratorConfig):
refine_enabled = resolved_config.pipeline.ltx2.refine.enabled
refine_enabled = resolved_config.pipeline.model.refine.enabled
self.add_stage(
stage_name="input_validation_stage",
@@ -66,7 +66,7 @@ class LTX2Pipeline(LoRAPipeline):
)
if refine_enabled:
stage2_steps = resolved_config.pipeline.ltx2.refine.num_inference_steps
stage2_steps = resolved_config.pipeline.model.refine.num_inference_steps
# LTX-2 refine currently supports two explicitly tested step
# counts:
# - 3 steps: official distilled schedule
@@ -87,7 +87,7 @@ class LTX2Pipeline(LoRAPipeline):
else:
logger.warning(
"For LTX-2 refinement, "
"pipeline.ltx2.refine.num_inference_steps=%s is not a tested "
"pipeline.model.ltx2.refine.num_inference_steps=%s is not a tested "
"setting. Using denoising steps other than 2 or 3 "
"may cause quality degradation.",
stage2_steps,
@@ -104,16 +104,16 @@ class LTX2Pipeline(LoRAPipeline):
vae=self.get_module("vae"),
transformer=transformer_refine,
sigmas=stage2_sigmas,
add_noise=resolved_config.pipeline.ltx2.refine.add_noise,
add_noise=resolved_config.pipeline.model.refine.add_noise,
),
)
if resolved_config.pipeline.ltx2.refine.lora_path:
if resolved_config.pipeline.model.refine.lora_path:
self.add_stage(
stage_name="ltx2_refine_lora_stage",
stage=LTX2RefineLoRAStage(
pipeline=self,
lora_path=resolved_config.pipeline.ltx2.refine.lora_path,
lora_path=resolved_config.pipeline.model.refine.lora_path,
),
)
@@ -123,7 +123,7 @@ class LTX2Pipeline(LoRAPipeline):
transformer=transformer_refine,
sigmas_override=stage2_sigmas,
num_inference_steps_override=len(stage2_sigmas) - 1,
force_guidance_scale=(resolved_config.pipeline.ltx2.refine.guidance_scale),
force_guidance_scale=(resolved_config.pipeline.model.refine.guidance_scale),
initial_audio_latents_key="ltx2_audio_latents",
),
)
@@ -207,10 +207,10 @@ class LTX2Pipeline(LoRAPipeline):
if module_name not in modules or modules[module_name] is None:
raise ValueError(f"Required module {module_name} was not loaded properly")
if resolved_config.pipeline.ltx2.refine.enabled:
if resolved_config.pipeline.model.refine.enabled:
upsampler_path = resolved_config.pipeline.components.upsampler_weights
if upsampler_path is None:
raise ValueError("pipeline.ltx2.refine.enabled is True but "
raise ValueError("pipeline.model.ltx2.refine.enabled is True but "
"pipeline.components.upsampler_weights was not provided.")
if not os.path.isdir(upsampler_path):
raise ValueError("pipeline.components.upsampler_weights must be a directory "
@@ -233,16 +233,16 @@ class LTX2Pipeline(LoRAPipeline):
if (loaded_modules is not None and "transformer_refine" in loaded_modules):
modules["transformer_refine"] = loaded_modules["transformer_refine"]
elif resolved_config.pipeline.ltx2.refine.transformer_path:
elif resolved_config.pipeline.model.refine.transformer_path:
modules["transformer_refine"] = (PipelineComponentLoader.load_module(
module_name="transformer_refine",
component_model_path=(resolved_config.pipeline.ltx2.refine.transformer_path),
component_model_path=(resolved_config.pipeline.model.refine.transformer_path),
transformers_or_diffusers="diffusers",
resolved_config=resolved_config,
))
logger.info(
"Loaded module transformer_refine from %s",
resolved_config.pipeline.ltx2.refine.transformer_path,
resolved_config.pipeline.model.refine.transformer_path,
)
return modules
@@ -9,7 +9,7 @@
The refine upsampler path lives on
:class:`~fastvideo.api.schema.ComponentConfig` (``upsampler_weights``), and the
refine LoRA path on :class:`~fastvideo.api.schema.LTX2RefineOptions`
(``pipeline.ltx2.refine.lora_path``).
(``pipeline.model.ltx2.refine.lora_path``).
"""
from __future__ import annotations
@@ -244,7 +244,7 @@ class LTX2DenoisingStage(PipelineStage):
logger.info("[LTX2] Using override sigma schedule, %s", self.sigmas_override)
else:
# Use distilled hardcoded schedule (or subsets) when enabled.
use_distilled_sigmas = (resolved_config.pipeline.ltx2.use_distilled_sigmas
use_distilled_sigmas = (resolved_config.pipeline.model.use_distilled_sigmas
and envs.FASTVIDEO_LTX2_USE_DISTILLED_SIGMAS.get())
max_distilled_steps = len(DISTILLED_SIGMA_VALUES) - 1
if use_distilled_sigmas and num_inference_steps <= max_distilled_steps:
@@ -341,7 +341,7 @@ class LTX2DenoisingStage(PipelineStage):
audio_shape.frames,
audio_shape.mel_bins,
)
audio_latent_path = resolved_config.pipeline.ltx2.audio_latent_path
audio_latent_path = resolved_config.pipeline.model.audio_latent_path
audio_latents = self._load_audio_latents(
audio_latent_path,
device=latents.device,
@@ -350,7 +350,7 @@ class LTX2DenoisingStage(PipelineStage):
) if audio_latent_path else None
if audio_latents is None:
audio_generator = None
if resolved_config.pipeline.ltx2.initial_latent_path and batch.seed is not None:
if resolved_config.pipeline.model.initial_latent_path and batch.seed is not None:
audio_generator = torch.Generator(device=latents.device).manual_seed(batch.seed)
elif batch.generator is not None:
audio_generator = (batch.generator[0] if isinstance(batch.generator, list) else batch.generator)
@@ -114,7 +114,7 @@ class LTX2LatentPreparationStage(PipelineStage):
dtype = batch.prompt_embeds[0].dtype
device = get_local_torch_device()
generator = batch.generator
if generator is not None and not resolved_config.pipeline.ltx2.legacy_native_noise_order:
if generator is not None and not resolved_config.pipeline.model.legacy_native_noise_order:
if isinstance(generator, list):
if generator and generator[0].device.type != device.type:
seeds = batch.seeds
@@ -134,7 +134,7 @@ class LTX2LatentPreparationStage(PipelineStage):
num_frames = latent_num_frames if latent_num_frames is not None else batch.num_frames
height = batch.height
width = batch.width
latent_path = resolved_config.pipeline.ltx2.initial_latent_path
latent_path = resolved_config.pipeline.model.initial_latent_path
if height is None or width is None:
raise ValueError("Height and width must be provided")
@@ -160,7 +160,7 @@ class LTX2LatentPreparationStage(PipelineStage):
loaded_latents = self._load_initial_latent(latent_path, device, dtype)
if loaded_latents is not None:
latents = loaded_latents
elif resolved_config.pipeline.ltx2.legacy_native_noise_order:
elif resolved_config.pipeline.model.legacy_native_noise_order:
latents = randn_tensor(
shape,
generator=generator,
@@ -178,7 +178,7 @@ class LTX2LatentPreparationStage(PipelineStage):
)
self._save_initial_latent(latent_path, latents)
else:
if resolved_config.pipeline.ltx2.legacy_native_noise_order:
if resolved_config.pipeline.model.legacy_native_noise_order:
latents = randn_tensor(
shape,
generator=generator,
@@ -67,7 +67,7 @@ class LTX2RefineInitStage(PipelineStage):
batch: ForwardBatch,
resolved_config: ResolvedGeneratorConfig,
) -> ForwardBatch:
if not resolved_config.pipeline.ltx2.refine.enabled:
if not resolved_config.pipeline.model.refine.enabled:
return batch
height = batch.height
@@ -137,7 +137,7 @@ class LTX2UpsampleStage(PipelineStage):
batch: ForwardBatch,
resolved_config: ResolvedGeneratorConfig,
) -> ForwardBatch:
if not resolved_config.pipeline.ltx2.refine.enabled:
if not resolved_config.pipeline.model.refine.enabled:
return batch
if batch.latents is None:
@@ -212,7 +212,7 @@ class LTX2UpsampleStage(PipelineStage):
if patchifier is not None:
video_shape = VideoLatentShape.from_torch_shape(latents.shape)
patch_noise_shape = patchifier.patchify(latents).shape
noise_path = resolved_config.pipeline.ltx2.refine.noise_path
noise_path = resolved_config.pipeline.model.refine.noise_path
noise = self._load_noise(
noise_path,
device=latents.device,
@@ -251,7 +251,7 @@ class LTX2UpsampleStage(PipelineStage):
audio_shape = AudioLatentShape.from_torch_shape(audio_latents.shape)
audio_patch = audio_patchifier.patchify(audio_latents)
audio_noise_shape = audio_patch.shape
audio_noise_path = (resolved_config.pipeline.ltx2.refine.audio_noise_path)
audio_noise_path = (resolved_config.pipeline.model.refine.audio_noise_path)
audio_noise = self._load_noise(
audio_noise_path,
device=audio_latents.device,
@@ -273,7 +273,7 @@ class LTX2UpsampleStage(PipelineStage):
audio_noised_patch = audio_noise * sigma0 + audio_patch * (1.0 - sigma0)
audio_latents = audio_patchifier.unpatchify(audio_noised_patch, audio_shape)
else:
audio_noise_path = (resolved_config.pipeline.ltx2.refine.audio_noise_path)
audio_noise_path = (resolved_config.pipeline.model.refine.audio_noise_path)
audio_noise = self._load_noise(
audio_noise_path,
device=audio_latents.device,
@@ -306,7 +306,7 @@ class LTX2UpsampleStage(PipelineStage):
resolved_config: ResolvedGeneratorConfig,
) -> VerificationResult:
result = VerificationResult()
if resolved_config.pipeline.ltx2.refine.enabled:
if resolved_config.pipeline.model.refine.enabled:
result.add_check("latents", batch.latents, [V.is_tensor, V.with_dims(5)])
return result
@@ -370,9 +370,9 @@ class LTX2RefineLoRAStage(PipelineStage):
batch: ForwardBatch,
resolved_config: ResolvedGeneratorConfig,
) -> ForwardBatch:
if not resolved_config.pipeline.ltx2.refine.enabled:
if not resolved_config.pipeline.model.refine.enabled:
return batch
lora_path = resolved_config.pipeline.ltx2.refine.lora_path or self._lora_path
lora_path = resolved_config.pipeline.model.refine.lora_path or self._lora_path
if not lora_path or self._applied:
return batch
@@ -89,7 +89,7 @@ def _apply_h3_checkpoint_arch_configs(model_path: str, resolved_config: Resolved
def _use_taeh3_t2va(resolved_config: ResolvedGeneratorConfig | None, *, ref2va: bool) -> bool:
return (not ref2va and resolved_config is not None
and resolved_config.pipeline.minimax_h3.video_decode_backend == "taeh3")
and resolved_config.pipeline.model.video_decode_backend == "taeh3")
class MiniMaxH3BasePipeline(LoRAPipeline, ComposedPipelineBase):
@@ -219,7 +219,7 @@ class MiniMaxH3BasePipeline(LoRAPipeline, ComposedPipelineBase):
if resolved_config.engine.offload.lazy_module_load:
logger.info("MiniMax-H3 sequential module load off: lazy_module_load owns deferral")
return False
requested = resolved_config.pipeline.minimax_h3.sequential_load
requested = resolved_config.pipeline.model.sequential_load
if requested is True:
return True
if requested is False:
@@ -80,8 +80,8 @@ class MiniMaxH3VideoDecodingStage(PipelineStage):
def forward(self, batch: ForwardBatch, resolved_config: ResolvedGeneratorConfig) -> ForwardBatch:
"""Decode H3 video latents into normalized CPU pixels."""
placeholder = torch.empty((0, 3, 0, 0, 0), device="cpu", dtype=torch.float32)
sp_group, is_output_rank, parallel = _decode_participation(
resolved_config, resolved_config.pipeline.minimax_h3.vae_parallel_decode)
sp_group, is_output_rank, parallel = _decode_participation(resolved_config,
resolved_config.pipeline.model.vae_parallel_decode)
if not is_output_rank and not parallel:
# Consumers read the output rank's ForwardBatch. Keep a
# verifier-compatible placeholder on other ranks and avoid
@@ -102,7 +102,7 @@ class MiniMaxH3VideoDecodingStage(PipelineStage):
h3_dit_patch_size(resolved_config),
)
device = get_local_torch_device()
backend = resolved_config.pipeline.minimax_h3.video_decode_backend
backend = resolved_config.pipeline.model.video_decode_backend
if backend == "taeh3":
from fastvideo.models.vaes.minimax_h3_taeh3 import decode_ncthw_latents_taeh3, taeh3_decoded_pixel_shape
@@ -115,8 +115,8 @@ class MiniMaxH3VideoDecodingStage(PipelineStage):
pixels = decode_ncthw_latents_taeh3(
latents,
device=device,
checkpoint_path=resolved_config.pipeline.minimax_h3.taeh3_checkpoint,
chunk_size=int(resolved_config.pipeline.minimax_h3.taeh3_chunk_size or 5),
checkpoint_path=resolved_config.pipeline.model.taeh3_checkpoint,
chunk_size=int(resolved_config.pipeline.model.taeh3_chunk_size or 5),
)
batch.output = pixels.float().cpu() if is_output_rank else placeholder
if is_output_rank and tuple(batch.output.shape) != expected:
@@ -148,7 +148,7 @@ class MiniMaxH3VideoDecodingStage(PipelineStage):
torch.autocast(device_type=device.type, dtype=torch.float16, enabled=device.type == "cuda"),
):
if parallel:
strategy = (resolved_config.pipeline.minimax_h3.vae_parallel_decode_strategy
strategy = (resolved_config.pipeline.model.vae_parallel_decode_strategy
or DEFAULT_DECODE_GATHER_STRATEGY)
logger.info("MiniMax-H3 VAE decode: sequence-parallel chunks across %d ranks (%s)",
sp_group.world_size, strategy)
@@ -129,7 +129,7 @@ class MiniMaxH3LatentPreparationStage(PipelineStage):
# uniform by construction: each rank encodes a clip subset and the
# all-gather leaves the identical full posterior everywhere.
parallel_group = None
if resolved_config.pipeline.minimax_h3.vae_parallel_encode and model_parallel_is_initialized():
if resolved_config.pipeline.model.vae_parallel_encode and model_parallel_is_initialized():
sp_group = get_sp_group()
if sp_group.world_size > 1:
parallel_group = sp_group
+16 -10
View File
@@ -376,7 +376,7 @@ def collect_cases() -> list[SnapshotCase]:
}
},
"pipeline": {
"ltx2": {
"preset_overrides": {
"refine": {
"enabled": True
}
@@ -398,9 +398,11 @@ def collect_cases() -> list[SnapshotCase]:
"ltx2_refine_lora_path": {
"model_path": LTX2,
"pipeline": {
"ltx2": {
"refine": {
"lora_path": "/checkpoints/refine_lora.safetensors"
"model": {
"ltx2": {
"refine": {
"lora_path": "/checkpoints/refine_lora.safetensors"
}
}
}
},
@@ -408,9 +410,11 @@ def collect_cases() -> list[SnapshotCase]:
"ltx2_refine_lora_disabled": {
"model_path": LTX2,
"pipeline": {
"ltx2": {
"refine": {
"lora_path": ""
"model": {
"ltx2": {
"refine": {
"lora_path": ""
}
}
}
},
@@ -438,9 +442,11 @@ def collect_cases() -> list[SnapshotCase]:
"ltx2_vae_tile_sizes": {
"model_path": LTX2,
"pipeline": {
"ltx2": {
"vae_spatial_tile_size_in_pixels": 512,
"vae_temporal_tile_size_in_frames": 64
"model": {
"ltx2": {
"vae_spatial_tile_size_in_pixels": 512,
"vae_temporal_tile_size_in_frames": 64
}
}
},
},
@@ -276,9 +276,13 @@
"pipeline_config_class": "fastvideo.models.wan.pipeline_config.WanT2V480PConfig",
"resolution_decisions": [
[
"fill_vae_parallel_from_env",
"fill_model_family[generic]",
{
"pipeline.minimax_h3.vae_parallel_decode_strategy": "gather"
"pipeline.model": {
"dit": {},
"family": "generic",
"vae": {}
}
}
],
[
@@ -317,16 +321,6 @@
"engine.compile.regional": false,
"engine.compile.text_encoder_enabled": false,
"engine.compile.vae_enabled": false,
"pipeline.ltx2.legacy_native_noise_order": false,
"pipeline.ltx2.refine.add_noise": true,
"pipeline.ltx2.refine.enabled": false,
"pipeline.ltx2.refine.guidance_scale": 1.0,
"pipeline.ltx2.refine.num_inference_steps": 3,
"pipeline.ltx2.use_distilled_sigmas": true,
"pipeline.minimax_h3.taeh3_chunk_size": 5,
"pipeline.minimax_h3.vae_parallel_decode": false,
"pipeline.minimax_h3.vae_parallel_encode": false,
"pipeline.minimax_h3.video_decode_backend": "h3-vae",
"pipeline.workload_type": "t2v"
}
]
@@ -409,54 +403,19 @@
"upsampler_weights": null,
"vae_weights": null
},
"dit": {},
"dmd_denoising_steps": null,
"embedded_cfg_scale": 6.0,
"experimental": {},
"flow_shift": 5.0,
"longcat": {
"bsa_cdf_threshold": null,
"bsa_chunk_k": null,
"bsa_chunk_q": null,
"bsa_sparsity": null,
"enable_bsa": null
},
"ltx2": {
"audio_latent_path": null,
"initial_latent_path": null,
"legacy_native_noise_order": false,
"refine": {
"add_noise": true,
"audio_noise_path": null,
"enabled": false,
"guidance_scale": 1.0,
"image_crf": null,
"lora_path": null,
"noise_path": null,
"num_inference_steps": 3,
"transformer_path": null,
"video_position_offset_sec": null
},
"use_distilled_sigmas": true,
"vae_spatial_tile_overlap_in_pixels": null,
"vae_spatial_tile_size_in_pixels": null,
"vae_temporal_tile_overlap_in_frames": null,
"vae_temporal_tile_size_in_frames": null
},
"minimax_h3": {
"sequential_load": null,
"taeh3_checkpoint": null,
"taeh3_chunk_size": 5,
"vae_parallel_decode": false,
"vae_parallel_decode_strategy": "gather",
"vae_parallel_encode": false,
"video_decode_backend": "h3-vae"
"model": {
"dit": {},
"family": "generic",
"vae": {}
},
"output_type": "pil",
"preset": null,
"preset_overrides": {},
"preset_version": null,
"vae": {},
"vae_sp": false,
"vae_tiling": false,
"workload_type": "t2v"
@@ -281,9 +281,13 @@
"pipeline_config_class": "fastvideo.models.wan.pipeline_config.Wan2_2_T2V_A14B_Config",
"resolution_decisions": [
[
"fill_vae_parallel_from_env",
"fill_model_family[generic]",
{
"pipeline.minimax_h3.vae_parallel_decode_strategy": "gather"
"pipeline.model": {
"dit": {},
"family": "generic",
"vae": {}
}
}
],
[
@@ -331,16 +335,6 @@
"engine.compile.regional": false,
"engine.compile.text_encoder_enabled": false,
"engine.compile.vae_enabled": false,
"pipeline.ltx2.legacy_native_noise_order": false,
"pipeline.ltx2.refine.add_noise": true,
"pipeline.ltx2.refine.enabled": false,
"pipeline.ltx2.refine.guidance_scale": 1.0,
"pipeline.ltx2.refine.num_inference_steps": 3,
"pipeline.ltx2.use_distilled_sigmas": true,
"pipeline.minimax_h3.taeh3_chunk_size": 5,
"pipeline.minimax_h3.vae_parallel_decode": false,
"pipeline.minimax_h3.vae_parallel_encode": false,
"pipeline.minimax_h3.video_decode_backend": "h3-vae",
"pipeline.workload_type": "t2v"
}
]
@@ -423,7 +417,6 @@
"upsampler_weights": null,
"vae_weights": null
},
"dit": {},
"dmd_denoising_steps": [
1000,
750,
@@ -433,49 +426,15 @@
"embedded_cfg_scale": 6.0,
"experimental": {},
"flow_shift": 12.0,
"longcat": {
"bsa_cdf_threshold": null,
"bsa_chunk_k": null,
"bsa_chunk_q": null,
"bsa_sparsity": null,
"enable_bsa": null
},
"ltx2": {
"audio_latent_path": null,
"initial_latent_path": null,
"legacy_native_noise_order": false,
"refine": {
"add_noise": true,
"audio_noise_path": null,
"enabled": false,
"guidance_scale": 1.0,
"image_crf": null,
"lora_path": null,
"noise_path": null,
"num_inference_steps": 3,
"transformer_path": null,
"video_position_offset_sec": null
},
"use_distilled_sigmas": true,
"vae_spatial_tile_overlap_in_pixels": null,
"vae_spatial_tile_size_in_pixels": null,
"vae_temporal_tile_overlap_in_frames": null,
"vae_temporal_tile_size_in_frames": null
},
"minimax_h3": {
"sequential_load": null,
"taeh3_checkpoint": null,
"taeh3_chunk_size": 5,
"vae_parallel_decode": false,
"vae_parallel_decode_strategy": "gather",
"vae_parallel_encode": false,
"video_decode_backend": "h3-vae"
"model": {
"dit": {},
"family": "generic",
"vae": {}
},
"output_type": "pil",
"preset": null,
"preset_overrides": {},
"preset_version": null,
"vae": {},
"vae_sp": false,
"vae_tiling": false,
"workload_type": "t2v"
@@ -276,9 +276,13 @@
"pipeline_config_class": "fastvideo.models.wan.pipeline_config.WanT2V480PConfig",
"resolution_decisions": [
[
"fill_vae_parallel_from_env",
"fill_model_family[generic]",
{
"pipeline.minimax_h3.vae_parallel_decode_strategy": "gather"
"pipeline.model": {
"dit": {},
"family": "generic",
"vae": {}
}
}
],
[
@@ -320,16 +324,6 @@
"engine.compile.regional": false,
"engine.compile.text_encoder_enabled": false,
"engine.compile.vae_enabled": false,
"pipeline.ltx2.legacy_native_noise_order": false,
"pipeline.ltx2.refine.add_noise": true,
"pipeline.ltx2.refine.enabled": false,
"pipeline.ltx2.refine.guidance_scale": 1.0,
"pipeline.ltx2.refine.num_inference_steps": 3,
"pipeline.ltx2.use_distilled_sigmas": true,
"pipeline.minimax_h3.taeh3_chunk_size": 5,
"pipeline.minimax_h3.vae_parallel_decode": false,
"pipeline.minimax_h3.vae_parallel_encode": false,
"pipeline.minimax_h3.video_decode_backend": "h3-vae",
"pipeline.workload_type": "t2v"
}
]
@@ -412,54 +406,19 @@
"upsampler_weights": null,
"vae_weights": null
},
"dit": {},
"dmd_denoising_steps": null,
"embedded_cfg_scale": 6.0,
"experimental": {},
"flow_shift": 3.0,
"longcat": {
"bsa_cdf_threshold": null,
"bsa_chunk_k": null,
"bsa_chunk_q": null,
"bsa_sparsity": null,
"enable_bsa": null
},
"ltx2": {
"audio_latent_path": null,
"initial_latent_path": null,
"legacy_native_noise_order": false,
"refine": {
"add_noise": true,
"audio_noise_path": null,
"enabled": false,
"guidance_scale": 1.0,
"image_crf": null,
"lora_path": null,
"noise_path": null,
"num_inference_steps": 3,
"transformer_path": null,
"video_position_offset_sec": null
},
"use_distilled_sigmas": true,
"vae_spatial_tile_overlap_in_pixels": null,
"vae_spatial_tile_size_in_pixels": null,
"vae_temporal_tile_overlap_in_frames": null,
"vae_temporal_tile_size_in_frames": null
},
"minimax_h3": {
"sequential_load": null,
"taeh3_checkpoint": null,
"taeh3_chunk_size": 5,
"vae_parallel_decode": false,
"vae_parallel_decode_strategy": "gather",
"vae_parallel_encode": false,
"video_decode_backend": "h3-vae"
"model": {
"dit": {},
"family": "generic",
"vae": {}
},
"output_type": "pil",
"preset": null,
"preset_overrides": {},
"preset_version": null,
"vae": {},
"vae_sp": false,
"vae_tiling": false,
"workload_type": "t2v"
@@ -276,9 +276,13 @@
"pipeline_config_class": "fastvideo.models.wan.pipeline_config.WanT2V480PConfig",
"resolution_decisions": [
[
"fill_vae_parallel_from_env",
"fill_model_family[generic]",
{
"pipeline.minimax_h3.vae_parallel_decode_strategy": "gather"
"pipeline.model": {
"dit": {},
"family": "generic",
"vae": {}
}
}
],
[
@@ -320,16 +324,6 @@
"engine.compile.regional": false,
"engine.compile.text_encoder_enabled": false,
"engine.compile.vae_enabled": false,
"pipeline.ltx2.legacy_native_noise_order": false,
"pipeline.ltx2.refine.add_noise": true,
"pipeline.ltx2.refine.enabled": false,
"pipeline.ltx2.refine.guidance_scale": 1.0,
"pipeline.ltx2.refine.num_inference_steps": 3,
"pipeline.ltx2.use_distilled_sigmas": true,
"pipeline.minimax_h3.taeh3_chunk_size": 5,
"pipeline.minimax_h3.vae_parallel_decode": false,
"pipeline.minimax_h3.vae_parallel_encode": false,
"pipeline.minimax_h3.video_decode_backend": "h3-vae",
"pipeline.workload_type": "t2v"
}
]
@@ -412,7 +406,6 @@
"upsampler_weights": null,
"vae_weights": null
},
"dit": {},
"dmd_denoising_steps": null,
"embedded_cfg_scale": 6.0,
"experimental": {
@@ -424,49 +417,15 @@
}
},
"flow_shift": 3.0,
"longcat": {
"bsa_cdf_threshold": null,
"bsa_chunk_k": null,
"bsa_chunk_q": null,
"bsa_sparsity": null,
"enable_bsa": null
},
"ltx2": {
"audio_latent_path": null,
"initial_latent_path": null,
"legacy_native_noise_order": false,
"refine": {
"add_noise": true,
"audio_noise_path": null,
"enabled": false,
"guidance_scale": 1.0,
"image_crf": null,
"lora_path": null,
"noise_path": null,
"num_inference_steps": 3,
"transformer_path": null,
"video_position_offset_sec": null
},
"use_distilled_sigmas": true,
"vae_spatial_tile_overlap_in_pixels": null,
"vae_spatial_tile_size_in_pixels": null,
"vae_temporal_tile_overlap_in_frames": null,
"vae_temporal_tile_size_in_frames": null
},
"minimax_h3": {
"sequential_load": null,
"taeh3_checkpoint": null,
"taeh3_chunk_size": 5,
"vae_parallel_decode": false,
"vae_parallel_decode_strategy": "gather",
"vae_parallel_encode": false,
"video_decode_backend": "h3-vae"
"model": {
"dit": {},
"family": "generic",
"vae": {}
},
"output_type": "pil",
"preset": null,
"preset_overrides": {},
"preset_version": null,
"vae": {},
"vae_sp": false,
"vae_tiling": false,
"workload_type": "t2v"
@@ -256,12 +256,6 @@
},
"pipeline_config_class": "fastvideo.pipelines.basic.ltx2.pipeline_configs.LTX2T2VConfig",
"resolution_decisions": [
[
"fill_vae_parallel_from_env",
{
"pipeline.minimax_h3.vae_parallel_decode_strategy": "gather"
}
],
[
"fill_pipeline_config_defaults[LTX2T2VConfig]",
{
@@ -299,16 +293,12 @@
"engine.compile.regional": false,
"engine.compile.text_encoder_enabled": false,
"engine.compile.vae_enabled": false,
"pipeline.ltx2.legacy_native_noise_order": false,
"pipeline.ltx2.refine.add_noise": true,
"pipeline.ltx2.refine.enabled": false,
"pipeline.ltx2.refine.guidance_scale": 1.0,
"pipeline.ltx2.refine.num_inference_steps": 3,
"pipeline.ltx2.use_distilled_sigmas": true,
"pipeline.minimax_h3.taeh3_chunk_size": 5,
"pipeline.minimax_h3.vae_parallel_decode": false,
"pipeline.minimax_h3.vae_parallel_encode": false,
"pipeline.minimax_h3.video_decode_backend": "h3-vae",
"pipeline.model.legacy_native_noise_order": false,
"pipeline.model.refine.add_noise": true,
"pipeline.model.refine.enabled": false,
"pipeline.model.refine.guidance_scale": 1.0,
"pipeline.model.refine.num_inference_steps": 3,
"pipeline.model.use_distilled_sigmas": true,
"pipeline.workload_type": "t2v"
}
]
@@ -391,20 +381,14 @@
"upsampler_weights": null,
"vae_weights": null
},
"dit": {},
"dmd_denoising_steps": null,
"embedded_cfg_scale": 6.0,
"experimental": {},
"flow_shift": null,
"longcat": {
"bsa_cdf_threshold": null,
"bsa_chunk_k": null,
"bsa_chunk_q": null,
"bsa_sparsity": null,
"enable_bsa": null
},
"ltx2": {
"model": {
"audio_latent_path": null,
"dit": {},
"family": "ltx2",
"initial_latent_path": null,
"legacy_native_noise_order": false,
"refine": {
@@ -420,25 +404,16 @@
"video_position_offset_sec": null
},
"use_distilled_sigmas": true,
"vae": {},
"vae_spatial_tile_overlap_in_pixels": null,
"vae_spatial_tile_size_in_pixels": null,
"vae_temporal_tile_overlap_in_frames": null,
"vae_temporal_tile_size_in_frames": null
},
"minimax_h3": {
"sequential_load": null,
"taeh3_checkpoint": null,
"taeh3_chunk_size": 5,
"vae_parallel_decode": false,
"vae_parallel_decode_strategy": "gather",
"vae_parallel_encode": false,
"video_decode_backend": "h3-vae"
},
"output_type": "pil",
"preset": null,
"preset_overrides": {},
"preset_version": null,
"vae": {},
"vae_sp": false,
"vae_tiling": true,
"workload_type": "t2v"
@@ -256,12 +256,6 @@
},
"pipeline_config_class": "fastvideo.pipelines.basic.ltx2.pipeline_configs.LTX2T2VConfig",
"resolution_decisions": [
[
"fill_vae_parallel_from_env",
{
"pipeline.minimax_h3.vae_parallel_decode_strategy": "gather"
}
],
[
"fill_pipeline_config_defaults[LTX2T2VConfig]",
{
@@ -299,16 +293,12 @@
"engine.compile.regional": false,
"engine.compile.text_encoder_enabled": false,
"engine.compile.vae_enabled": false,
"pipeline.ltx2.legacy_native_noise_order": false,
"pipeline.ltx2.refine.add_noise": true,
"pipeline.ltx2.refine.enabled": false,
"pipeline.ltx2.refine.guidance_scale": 1.0,
"pipeline.ltx2.refine.num_inference_steps": 3,
"pipeline.ltx2.use_distilled_sigmas": true,
"pipeline.minimax_h3.taeh3_chunk_size": 5,
"pipeline.minimax_h3.vae_parallel_decode": false,
"pipeline.minimax_h3.vae_parallel_encode": false,
"pipeline.minimax_h3.video_decode_backend": "h3-vae",
"pipeline.model.legacy_native_noise_order": false,
"pipeline.model.refine.add_noise": true,
"pipeline.model.refine.enabled": false,
"pipeline.model.refine.guidance_scale": 1.0,
"pipeline.model.refine.num_inference_steps": 3,
"pipeline.model.use_distilled_sigmas": true,
"pipeline.workload_type": "t2v"
}
]
@@ -391,20 +381,14 @@
"upsampler_weights": null,
"vae_weights": null
},
"dit": {},
"dmd_denoising_steps": null,
"embedded_cfg_scale": 6.0,
"experimental": {},
"flow_shift": null,
"longcat": {
"bsa_cdf_threshold": null,
"bsa_chunk_k": null,
"bsa_chunk_q": null,
"bsa_sparsity": null,
"enable_bsa": null
},
"ltx2": {
"model": {
"audio_latent_path": null,
"dit": {},
"family": "ltx2",
"initial_latent_path": null,
"legacy_native_noise_order": false,
"refine": {
@@ -420,25 +404,16 @@
"video_position_offset_sec": null
},
"use_distilled_sigmas": true,
"vae": {},
"vae_spatial_tile_overlap_in_pixels": null,
"vae_spatial_tile_size_in_pixels": null,
"vae_temporal_tile_overlap_in_frames": null,
"vae_temporal_tile_size_in_frames": null
},
"minimax_h3": {
"sequential_load": null,
"taeh3_checkpoint": null,
"taeh3_chunk_size": 5,
"vae_parallel_decode": false,
"vae_parallel_decode_strategy": "gather",
"vae_parallel_encode": false,
"video_decode_backend": "h3-vae"
},
"output_type": "pil",
"preset": null,
"preset_overrides": {},
"preset_version": null,
"vae": {},
"vae_sp": false,
"vae_tiling": true,
"workload_type": "t2v"
@@ -256,12 +256,6 @@
},
"pipeline_config_class": "fastvideo.pipelines.basic.ltx2.pipeline_configs.LTX2T2VConfig",
"resolution_decisions": [
[
"fill_vae_parallel_from_env",
{
"pipeline.minimax_h3.vae_parallel_decode_strategy": "gather"
}
],
[
"fill_pipeline_config_defaults[LTX2T2VConfig]",
{
@@ -299,16 +293,12 @@
"engine.compile.regional": false,
"engine.compile.text_encoder_enabled": false,
"engine.compile.vae_enabled": false,
"pipeline.ltx2.legacy_native_noise_order": false,
"pipeline.ltx2.refine.add_noise": true,
"pipeline.ltx2.refine.enabled": false,
"pipeline.ltx2.refine.guidance_scale": 1.0,
"pipeline.ltx2.refine.num_inference_steps": 3,
"pipeline.ltx2.use_distilled_sigmas": true,
"pipeline.minimax_h3.taeh3_chunk_size": 5,
"pipeline.minimax_h3.vae_parallel_decode": false,
"pipeline.minimax_h3.vae_parallel_encode": false,
"pipeline.minimax_h3.video_decode_backend": "h3-vae",
"pipeline.model.legacy_native_noise_order": false,
"pipeline.model.refine.add_noise": true,
"pipeline.model.refine.enabled": false,
"pipeline.model.refine.guidance_scale": 1.0,
"pipeline.model.refine.num_inference_steps": 3,
"pipeline.model.use_distilled_sigmas": true,
"pipeline.workload_type": "t2v"
}
]
@@ -391,20 +381,14 @@
"upsampler_weights": null,
"vae_weights": null
},
"dit": {},
"dmd_denoising_steps": null,
"embedded_cfg_scale": 6.0,
"experimental": {},
"flow_shift": null,
"longcat": {
"bsa_cdf_threshold": null,
"bsa_chunk_k": null,
"bsa_chunk_q": null,
"bsa_sparsity": null,
"enable_bsa": null
},
"ltx2": {
"model": {
"audio_latent_path": null,
"dit": {},
"family": "ltx2",
"initial_latent_path": null,
"legacy_native_noise_order": false,
"refine": {
@@ -420,25 +404,16 @@
"video_position_offset_sec": null
},
"use_distilled_sigmas": true,
"vae": {},
"vae_spatial_tile_overlap_in_pixels": null,
"vae_spatial_tile_size_in_pixels": 512,
"vae_temporal_tile_overlap_in_frames": null,
"vae_temporal_tile_size_in_frames": 64
},
"minimax_h3": {
"sequential_load": null,
"taeh3_checkpoint": null,
"taeh3_chunk_size": 5,
"vae_parallel_decode": false,
"vae_parallel_decode_strategy": "gather",
"vae_parallel_encode": false,
"video_decode_backend": "h3-vae"
},
"output_type": "pil",
"preset": null,
"preset_overrides": {},
"preset_version": null,
"vae": {},
"vae_sp": false,
"vae_tiling": true,
"workload_type": "t2v"
@@ -276,9 +276,13 @@
"pipeline_config_class": "fastvideo.models.wan.pipeline_config.WanT2V480PConfig",
"resolution_decisions": [
[
"fill_vae_parallel_from_env",
"fill_model_family[generic]",
{
"pipeline.minimax_h3.vae_parallel_decode_strategy": "gather"
"pipeline.model": {
"dit": {},
"family": "generic",
"vae": {}
}
}
],
[
@@ -320,15 +324,6 @@
"engine.compile.regional": false,
"engine.compile.text_encoder_enabled": false,
"engine.compile.vae_enabled": false,
"pipeline.ltx2.legacy_native_noise_order": false,
"pipeline.ltx2.refine.add_noise": true,
"pipeline.ltx2.refine.guidance_scale": 1.0,
"pipeline.ltx2.refine.num_inference_steps": 3,
"pipeline.ltx2.use_distilled_sigmas": true,
"pipeline.minimax_h3.taeh3_chunk_size": 5,
"pipeline.minimax_h3.vae_parallel_decode": false,
"pipeline.minimax_h3.vae_parallel_encode": false,
"pipeline.minimax_h3.video_decode_backend": "h3-vae",
"pipeline.workload_type": "t2v"
}
]
@@ -411,54 +406,23 @@
"upsampler_weights": null,
"vae_weights": null
},
"dit": {},
"dmd_denoising_steps": null,
"embedded_cfg_scale": 6.0,
"experimental": {},
"flow_shift": 3.0,
"longcat": {
"bsa_cdf_threshold": null,
"bsa_chunk_k": null,
"bsa_chunk_q": null,
"bsa_sparsity": null,
"enable_bsa": null
},
"ltx2": {
"audio_latent_path": null,
"initial_latent_path": null,
"legacy_native_noise_order": false,
"refine": {
"add_noise": true,
"audio_noise_path": null,
"enabled": true,
"guidance_scale": 1.0,
"image_crf": null,
"lora_path": null,
"noise_path": null,
"num_inference_steps": 3,
"transformer_path": null,
"video_position_offset_sec": null
},
"use_distilled_sigmas": true,
"vae_spatial_tile_overlap_in_pixels": null,
"vae_spatial_tile_size_in_pixels": null,
"vae_temporal_tile_overlap_in_frames": null,
"vae_temporal_tile_size_in_frames": null
},
"minimax_h3": {
"sequential_load": null,
"taeh3_checkpoint": null,
"taeh3_chunk_size": 5,
"vae_parallel_decode": false,
"vae_parallel_decode_strategy": "gather",
"vae_parallel_encode": false,
"video_decode_backend": "h3-vae"
"model": {
"dit": {},
"family": "generic",
"vae": {}
},
"output_type": "pil",
"preset": null,
"preset_overrides": {},
"preset_overrides": {
"refine": {
"enabled": true
}
},
"preset_version": null,
"vae": {},
"vae_sp": false,
"vae_tiling": false,
"workload_type": "t2v"
@@ -304,9 +304,13 @@
"pipeline_config_class": "fastvideo.configs.pipelines.hunyuan.FastHunyuanConfig",
"resolution_decisions": [
[
"fill_vae_parallel_from_env",
"fill_model_family[generic]",
{
"pipeline.minimax_h3.vae_parallel_decode_strategy": "gather"
"pipeline.model": {
"dit": {},
"family": "generic",
"vae": {}
}
}
],
[
@@ -348,16 +352,6 @@
"engine.compile.regional": false,
"engine.compile.text_encoder_enabled": false,
"engine.compile.vae_enabled": false,
"pipeline.ltx2.legacy_native_noise_order": false,
"pipeline.ltx2.refine.add_noise": true,
"pipeline.ltx2.refine.enabled": false,
"pipeline.ltx2.refine.guidance_scale": 1.0,
"pipeline.ltx2.refine.num_inference_steps": 3,
"pipeline.ltx2.use_distilled_sigmas": true,
"pipeline.minimax_h3.taeh3_chunk_size": 5,
"pipeline.minimax_h3.vae_parallel_decode": false,
"pipeline.minimax_h3.vae_parallel_encode": false,
"pipeline.minimax_h3.video_decode_backend": "h3-vae",
"pipeline.workload_type": "t2v"
}
]
@@ -441,54 +435,19 @@
"upsampler_weights": null,
"vae_weights": null
},
"dit": {},
"dmd_denoising_steps": null,
"embedded_cfg_scale": 6,
"experimental": {},
"flow_shift": 17,
"longcat": {
"bsa_cdf_threshold": null,
"bsa_chunk_k": null,
"bsa_chunk_q": null,
"bsa_sparsity": null,
"enable_bsa": null
},
"ltx2": {
"audio_latent_path": null,
"initial_latent_path": null,
"legacy_native_noise_order": false,
"refine": {
"add_noise": true,
"audio_noise_path": null,
"enabled": false,
"guidance_scale": 1.0,
"image_crf": null,
"lora_path": null,
"noise_path": null,
"num_inference_steps": 3,
"transformer_path": null,
"video_position_offset_sec": null
},
"use_distilled_sigmas": true,
"vae_spatial_tile_overlap_in_pixels": null,
"vae_spatial_tile_size_in_pixels": null,
"vae_temporal_tile_overlap_in_frames": null,
"vae_temporal_tile_size_in_frames": null
},
"minimax_h3": {
"sequential_load": null,
"taeh3_checkpoint": null,
"taeh3_chunk_size": 5,
"vae_parallel_decode": false,
"vae_parallel_decode_strategy": "gather",
"vae_parallel_encode": false,
"video_decode_backend": "h3-vae"
"model": {
"dit": {},
"family": "generic",
"vae": {}
},
"output_type": "pil",
"preset": null,
"preset_overrides": {},
"preset_version": null,
"vae": {},
"vae_sp": true,
"vae_tiling": true,
"workload_type": "t2v"
@@ -276,9 +276,13 @@
"pipeline_config_class": "fastvideo.models.wan.pipeline_config.WanT2V480PConfig",
"resolution_decisions": [
[
"fill_vae_parallel_from_env",
"fill_model_family[generic]",
{
"pipeline.minimax_h3.vae_parallel_decode_strategy": "gather"
"pipeline.model": {
"dit": {},
"family": "generic",
"vae": {}
}
}
],
[
@@ -320,16 +324,6 @@
"engine.compile.regional": false,
"engine.compile.text_encoder_enabled": false,
"engine.compile.vae_enabled": false,
"pipeline.ltx2.legacy_native_noise_order": false,
"pipeline.ltx2.refine.add_noise": true,
"pipeline.ltx2.refine.enabled": false,
"pipeline.ltx2.refine.guidance_scale": 1.0,
"pipeline.ltx2.refine.num_inference_steps": 3,
"pipeline.ltx2.use_distilled_sigmas": true,
"pipeline.minimax_h3.taeh3_chunk_size": 5,
"pipeline.minimax_h3.vae_parallel_decode": false,
"pipeline.minimax_h3.vae_parallel_encode": false,
"pipeline.minimax_h3.video_decode_backend": "h3-vae",
"pipeline.workload_type": "t2v"
}
]
@@ -416,54 +410,19 @@
"upsampler_weights": null,
"vae_weights": null
},
"dit": {},
"dmd_denoising_steps": null,
"embedded_cfg_scale": 6.0,
"experimental": {},
"flow_shift": 3.0,
"longcat": {
"bsa_cdf_threshold": null,
"bsa_chunk_k": null,
"bsa_chunk_q": null,
"bsa_sparsity": null,
"enable_bsa": null
},
"ltx2": {
"audio_latent_path": null,
"initial_latent_path": null,
"legacy_native_noise_order": false,
"refine": {
"add_noise": true,
"audio_noise_path": null,
"enabled": false,
"guidance_scale": 1.0,
"image_crf": null,
"lora_path": null,
"noise_path": null,
"num_inference_steps": 3,
"transformer_path": null,
"video_position_offset_sec": null
},
"use_distilled_sigmas": true,
"vae_spatial_tile_overlap_in_pixels": null,
"vae_spatial_tile_size_in_pixels": null,
"vae_temporal_tile_overlap_in_frames": null,
"vae_temporal_tile_size_in_frames": null
},
"minimax_h3": {
"sequential_load": null,
"taeh3_checkpoint": null,
"taeh3_chunk_size": 5,
"vae_parallel_decode": false,
"vae_parallel_decode_strategy": "gather",
"vae_parallel_encode": false,
"video_decode_backend": "h3-vae"
"model": {
"dit": {},
"family": "generic",
"vae": {}
},
"output_type": "pil",
"preset": null,
"preset_overrides": {},
"preset_version": null,
"vae": {},
"vae_sp": false,
"vae_tiling": false,
"workload_type": "t2v"
@@ -276,9 +276,13 @@
"pipeline_config_class": "fastvideo.models.wan.pipeline_config.WanT2V480PConfig",
"resolution_decisions": [
[
"fill_vae_parallel_from_env",
"fill_model_family[generic]",
{
"pipeline.minimax_h3.vae_parallel_decode_strategy": "gather"
"pipeline.model": {
"dit": {},
"family": "generic",
"vae": {}
}
}
],
[
@@ -319,16 +323,6 @@
"engine.compile.regional": false,
"engine.compile.text_encoder_enabled": false,
"engine.compile.vae_enabled": false,
"pipeline.ltx2.legacy_native_noise_order": false,
"pipeline.ltx2.refine.add_noise": true,
"pipeline.ltx2.refine.enabled": false,
"pipeline.ltx2.refine.guidance_scale": 1.0,
"pipeline.ltx2.refine.num_inference_steps": 3,
"pipeline.ltx2.use_distilled_sigmas": true,
"pipeline.minimax_h3.taeh3_chunk_size": 5,
"pipeline.minimax_h3.vae_parallel_decode": false,
"pipeline.minimax_h3.vae_parallel_encode": false,
"pipeline.minimax_h3.video_decode_backend": "h3-vae",
"pipeline.workload_type": "t2v"
}
]
@@ -411,54 +405,19 @@
"upsampler_weights": null,
"vae_weights": null
},
"dit": {},
"dmd_denoising_steps": null,
"embedded_cfg_scale": 6.0,
"experimental": {},
"flow_shift": 3.0,
"longcat": {
"bsa_cdf_threshold": null,
"bsa_chunk_k": null,
"bsa_chunk_q": null,
"bsa_sparsity": null,
"enable_bsa": null
},
"ltx2": {
"audio_latent_path": null,
"initial_latent_path": null,
"legacy_native_noise_order": false,
"refine": {
"add_noise": true,
"audio_noise_path": null,
"enabled": false,
"guidance_scale": 1.0,
"image_crf": null,
"lora_path": null,
"noise_path": null,
"num_inference_steps": 3,
"transformer_path": null,
"video_position_offset_sec": null
},
"use_distilled_sigmas": true,
"vae_spatial_tile_overlap_in_pixels": null,
"vae_spatial_tile_size_in_pixels": null,
"vae_temporal_tile_overlap_in_frames": null,
"vae_temporal_tile_size_in_frames": null
},
"minimax_h3": {
"sequential_load": null,
"taeh3_checkpoint": null,
"taeh3_chunk_size": 5,
"vae_parallel_decode": false,
"vae_parallel_decode_strategy": "gather",
"vae_parallel_encode": false,
"video_decode_backend": "h3-vae"
"model": {
"dit": {},
"family": "generic",
"vae": {}
},
"output_type": "pil",
"preset": null,
"preset_overrides": {},
"preset_version": null,
"vae": {},
"vae_sp": false,
"vae_tiling": false,
"workload_type": "t2v"
@@ -257,9 +257,33 @@
"pipeline_config_class": "fastvideo.pipelines.basic.ltx2.pipeline_configs.LTX2T2VConfig",
"resolution_decisions": [
[
"fill_vae_parallel_from_env",
"fill_model_family[ltx2]",
{
"pipeline.minimax_h3.vae_parallel_decode_strategy": "gather"
"pipeline.model": {
"audio_latent_path": null,
"dit": {},
"family": "ltx2",
"initial_latent_path": null,
"legacy_native_noise_order": null,
"refine": {
"add_noise": null,
"audio_noise_path": null,
"enabled": null,
"guidance_scale": null,
"image_crf": null,
"lora_path": null,
"noise_path": null,
"num_inference_steps": null,
"transformer_path": null,
"video_position_offset_sec": null
},
"use_distilled_sigmas": null,
"vae": {},
"vae_spatial_tile_overlap_in_pixels": null,
"vae_spatial_tile_size_in_pixels": null,
"vae_temporal_tile_overlap_in_frames": null,
"vae_temporal_tile_size_in_frames": null
}
}
],
[
@@ -293,16 +317,12 @@
"engine.compile.regional": false,
"engine.compile.text_encoder_enabled": false,
"engine.compile.vae_enabled": false,
"pipeline.ltx2.legacy_native_noise_order": false,
"pipeline.ltx2.refine.add_noise": true,
"pipeline.ltx2.refine.enabled": false,
"pipeline.ltx2.refine.guidance_scale": 1.0,
"pipeline.ltx2.refine.num_inference_steps": 3,
"pipeline.ltx2.use_distilled_sigmas": true,
"pipeline.minimax_h3.taeh3_chunk_size": 5,
"pipeline.minimax_h3.vae_parallel_decode": false,
"pipeline.minimax_h3.vae_parallel_encode": false,
"pipeline.minimax_h3.video_decode_backend": "h3-vae",
"pipeline.model.legacy_native_noise_order": false,
"pipeline.model.refine.add_noise": true,
"pipeline.model.refine.enabled": false,
"pipeline.model.refine.guidance_scale": 1.0,
"pipeline.model.refine.num_inference_steps": 3,
"pipeline.model.use_distilled_sigmas": true,
"pipeline.workload_type": "t2v"
}
]
@@ -385,20 +405,14 @@
"upsampler_weights": null,
"vae_weights": null
},
"dit": {},
"dmd_denoising_steps": null,
"embedded_cfg_scale": 6.0,
"experimental": {},
"flow_shift": null,
"longcat": {
"bsa_cdf_threshold": null,
"bsa_chunk_k": null,
"bsa_chunk_q": null,
"bsa_sparsity": null,
"enable_bsa": null
},
"ltx2": {
"model": {
"audio_latent_path": null,
"dit": {},
"family": "ltx2",
"initial_latent_path": null,
"legacy_native_noise_order": false,
"refine": {
@@ -414,25 +428,16 @@
"video_position_offset_sec": null
},
"use_distilled_sigmas": true,
"vae": {},
"vae_spatial_tile_overlap_in_pixels": null,
"vae_spatial_tile_size_in_pixels": null,
"vae_temporal_tile_overlap_in_frames": null,
"vae_temporal_tile_size_in_frames": null
},
"minimax_h3": {
"sequential_load": null,
"taeh3_checkpoint": null,
"taeh3_chunk_size": 5,
"vae_parallel_decode": false,
"vae_parallel_decode_strategy": "gather",
"vae_parallel_encode": false,
"video_decode_backend": "h3-vae"
},
"output_type": "pil",
"preset": null,
"preset_overrides": {},
"preset_version": null,
"vae": {},
"vae_sp": false,
"vae_tiling": false,
"workload_type": "t2v"
@@ -276,15 +276,19 @@
"pipeline_config_class": "fastvideo.models.wan.pipeline_config.WanT2V480PConfig",
"resolution_decisions": [
[
"fill_attention_backend_from_env",
"fill_model_family[generic]",
{
"engine.attention.backend": "TORCH_SDPA"
"pipeline.model": {
"dit": {},
"family": "generic",
"vae": {}
}
}
],
[
"fill_vae_parallel_from_env",
"fill_attention_backend_from_env",
{
"pipeline.minimax_h3.vae_parallel_decode_strategy": "gather"
"engine.attention.backend": "TORCH_SDPA"
}
],
[
@@ -326,16 +330,6 @@
"engine.compile.regional": false,
"engine.compile.text_encoder_enabled": false,
"engine.compile.vae_enabled": false,
"pipeline.ltx2.legacy_native_noise_order": false,
"pipeline.ltx2.refine.add_noise": true,
"pipeline.ltx2.refine.enabled": false,
"pipeline.ltx2.refine.guidance_scale": 1.0,
"pipeline.ltx2.refine.num_inference_steps": 3,
"pipeline.ltx2.use_distilled_sigmas": true,
"pipeline.minimax_h3.taeh3_chunk_size": 5,
"pipeline.minimax_h3.vae_parallel_decode": false,
"pipeline.minimax_h3.vae_parallel_encode": false,
"pipeline.minimax_h3.video_decode_backend": "h3-vae",
"pipeline.workload_type": "t2v"
}
]
@@ -418,54 +412,19 @@
"upsampler_weights": null,
"vae_weights": null
},
"dit": {},
"dmd_denoising_steps": null,
"embedded_cfg_scale": 6.0,
"experimental": {},
"flow_shift": 3.0,
"longcat": {
"bsa_cdf_threshold": null,
"bsa_chunk_k": null,
"bsa_chunk_q": null,
"bsa_sparsity": null,
"enable_bsa": null
},
"ltx2": {
"audio_latent_path": null,
"initial_latent_path": null,
"legacy_native_noise_order": false,
"refine": {
"add_noise": true,
"audio_noise_path": null,
"enabled": false,
"guidance_scale": 1.0,
"image_crf": null,
"lora_path": null,
"noise_path": null,
"num_inference_steps": 3,
"transformer_path": null,
"video_position_offset_sec": null
},
"use_distilled_sigmas": true,
"vae_spatial_tile_overlap_in_pixels": null,
"vae_spatial_tile_size_in_pixels": null,
"vae_temporal_tile_overlap_in_frames": null,
"vae_temporal_tile_size_in_frames": null
},
"minimax_h3": {
"sequential_load": null,
"taeh3_checkpoint": null,
"taeh3_chunk_size": 5,
"vae_parallel_decode": false,
"vae_parallel_decode_strategy": "gather",
"vae_parallel_encode": false,
"video_decode_backend": "h3-vae"
"model": {
"dit": {},
"family": "generic",
"vae": {}
},
"output_type": "pil",
"preset": null,
"preset_overrides": {},
"preset_version": null,
"vae": {},
"vae_sp": false,
"vae_tiling": false,
"workload_type": "t2v"
@@ -276,9 +276,13 @@
"pipeline_config_class": "fastvideo.models.wan.pipeline_config.WanT2V480PConfig",
"resolution_decisions": [
[
"fill_vae_parallel_from_env",
"fill_model_family[generic]",
{
"pipeline.minimax_h3.vae_parallel_decode_strategy": "gather"
"pipeline.model": {
"dit": {},
"family": "generic",
"vae": {}
}
}
],
[
@@ -320,16 +324,6 @@
"engine.compile.regional": false,
"engine.compile.text_encoder_enabled": false,
"engine.compile.vae_enabled": false,
"pipeline.ltx2.legacy_native_noise_order": false,
"pipeline.ltx2.refine.add_noise": true,
"pipeline.ltx2.refine.enabled": false,
"pipeline.ltx2.refine.guidance_scale": 1.0,
"pipeline.ltx2.refine.num_inference_steps": 3,
"pipeline.ltx2.use_distilled_sigmas": true,
"pipeline.minimax_h3.taeh3_chunk_size": 5,
"pipeline.minimax_h3.vae_parallel_decode": false,
"pipeline.minimax_h3.vae_parallel_encode": false,
"pipeline.minimax_h3.video_decode_backend": "h3-vae",
"pipeline.workload_type": "t2v"
}
]
@@ -412,54 +406,19 @@
"upsampler_weights": null,
"vae_weights": null
},
"dit": {},
"dmd_denoising_steps": null,
"embedded_cfg_scale": 6.0,
"experimental": {},
"flow_shift": 3.0,
"longcat": {
"bsa_cdf_threshold": null,
"bsa_chunk_k": null,
"bsa_chunk_q": null,
"bsa_sparsity": null,
"enable_bsa": null
},
"ltx2": {
"audio_latent_path": null,
"initial_latent_path": null,
"legacy_native_noise_order": false,
"refine": {
"add_noise": true,
"audio_noise_path": null,
"enabled": false,
"guidance_scale": 1.0,
"image_crf": null,
"lora_path": null,
"noise_path": null,
"num_inference_steps": 3,
"transformer_path": null,
"video_position_offset_sec": null
},
"use_distilled_sigmas": true,
"vae_spatial_tile_overlap_in_pixels": null,
"vae_spatial_tile_size_in_pixels": null,
"vae_temporal_tile_overlap_in_frames": null,
"vae_temporal_tile_size_in_frames": null
},
"minimax_h3": {
"sequential_load": null,
"taeh3_checkpoint": null,
"taeh3_chunk_size": 5,
"vae_parallel_decode": false,
"vae_parallel_decode_strategy": "gather",
"vae_parallel_encode": false,
"video_decode_backend": "h3-vae"
"model": {
"dit": {},
"family": "generic",
"vae": {}
},
"output_type": "pil",
"preset": null,
"preset_overrides": {},
"preset_version": null,
"vae": {},
"vae_sp": false,
"vae_tiling": false,
"workload_type": "t2v"
@@ -276,15 +276,19 @@
"pipeline_config_class": "fastvideo.models.wan.pipeline_config.WanT2V480PConfig",
"resolution_decisions": [
[
"fill_regional_compile_from_env",
"fill_model_family[generic]",
{
"engine.compile.regional": true
"pipeline.model": {
"dit": {},
"family": "generic",
"vae": {}
}
}
],
[
"fill_vae_parallel_from_env",
"fill_regional_compile_from_env",
{
"pipeline.minimax_h3.vae_parallel_decode_strategy": "gather"
"engine.compile.regional": true
}
],
[
@@ -325,16 +329,6 @@
"engine.compile.audio_vae_enabled": false,
"engine.compile.text_encoder_enabled": false,
"engine.compile.vae_enabled": false,
"pipeline.ltx2.legacy_native_noise_order": false,
"pipeline.ltx2.refine.add_noise": true,
"pipeline.ltx2.refine.enabled": false,
"pipeline.ltx2.refine.guidance_scale": 1.0,
"pipeline.ltx2.refine.num_inference_steps": 3,
"pipeline.ltx2.use_distilled_sigmas": true,
"pipeline.minimax_h3.taeh3_chunk_size": 5,
"pipeline.minimax_h3.vae_parallel_decode": false,
"pipeline.minimax_h3.vae_parallel_encode": false,
"pipeline.minimax_h3.video_decode_backend": "h3-vae",
"pipeline.workload_type": "t2v"
}
]
@@ -417,54 +411,19 @@
"upsampler_weights": null,
"vae_weights": null
},
"dit": {},
"dmd_denoising_steps": null,
"embedded_cfg_scale": 6.0,
"experimental": {},
"flow_shift": 3.0,
"longcat": {
"bsa_cdf_threshold": null,
"bsa_chunk_k": null,
"bsa_chunk_q": null,
"bsa_sparsity": null,
"enable_bsa": null
},
"ltx2": {
"audio_latent_path": null,
"initial_latent_path": null,
"legacy_native_noise_order": false,
"refine": {
"add_noise": true,
"audio_noise_path": null,
"enabled": false,
"guidance_scale": 1.0,
"image_crf": null,
"lora_path": null,
"noise_path": null,
"num_inference_steps": 3,
"transformer_path": null,
"video_position_offset_sec": null
},
"use_distilled_sigmas": true,
"vae_spatial_tile_overlap_in_pixels": null,
"vae_spatial_tile_size_in_pixels": null,
"vae_temporal_tile_overlap_in_frames": null,
"vae_temporal_tile_size_in_frames": null
},
"minimax_h3": {
"sequential_load": null,
"taeh3_checkpoint": null,
"taeh3_chunk_size": 5,
"vae_parallel_decode": false,
"vae_parallel_decode_strategy": "gather",
"vae_parallel_encode": false,
"video_decode_backend": "h3-vae"
"model": {
"dit": {},
"family": "generic",
"vae": {}
},
"output_type": "pil",
"preset": null,
"preset_overrides": {},
"preset_version": null,
"vae": {},
"vae_sp": false,
"vae_tiling": false,
"workload_type": "t2v"
@@ -276,11 +276,13 @@
"pipeline_config_class": "fastvideo.models.wan.pipeline_config.WanT2V480PConfig",
"resolution_decisions": [
[
"fill_vae_parallel_from_env",
"fill_model_family[generic]",
{
"pipeline.minimax_h3.vae_parallel_decode": true,
"pipeline.minimax_h3.vae_parallel_decode_strategy": "all_gather",
"pipeline.minimax_h3.vae_parallel_encode": true
"pipeline.model": {
"dit": {},
"family": "generic",
"vae": {}
}
}
],
[
@@ -322,14 +324,6 @@
"engine.compile.regional": false,
"engine.compile.text_encoder_enabled": false,
"engine.compile.vae_enabled": false,
"pipeline.ltx2.legacy_native_noise_order": false,
"pipeline.ltx2.refine.add_noise": true,
"pipeline.ltx2.refine.enabled": false,
"pipeline.ltx2.refine.guidance_scale": 1.0,
"pipeline.ltx2.refine.num_inference_steps": 3,
"pipeline.ltx2.use_distilled_sigmas": true,
"pipeline.minimax_h3.taeh3_chunk_size": 5,
"pipeline.minimax_h3.video_decode_backend": "h3-vae",
"pipeline.workload_type": "t2v"
}
]
@@ -412,54 +406,19 @@
"upsampler_weights": null,
"vae_weights": null
},
"dit": {},
"dmd_denoising_steps": null,
"embedded_cfg_scale": 6.0,
"experimental": {},
"flow_shift": 3.0,
"longcat": {
"bsa_cdf_threshold": null,
"bsa_chunk_k": null,
"bsa_chunk_q": null,
"bsa_sparsity": null,
"enable_bsa": null
},
"ltx2": {
"audio_latent_path": null,
"initial_latent_path": null,
"legacy_native_noise_order": false,
"refine": {
"add_noise": true,
"audio_noise_path": null,
"enabled": false,
"guidance_scale": 1.0,
"image_crf": null,
"lora_path": null,
"noise_path": null,
"num_inference_steps": 3,
"transformer_path": null,
"video_position_offset_sec": null
},
"use_distilled_sigmas": true,
"vae_spatial_tile_overlap_in_pixels": null,
"vae_spatial_tile_size_in_pixels": null,
"vae_temporal_tile_overlap_in_frames": null,
"vae_temporal_tile_size_in_frames": null
},
"minimax_h3": {
"sequential_load": null,
"taeh3_checkpoint": null,
"taeh3_chunk_size": 5,
"vae_parallel_decode": true,
"vae_parallel_decode_strategy": "all_gather",
"vae_parallel_encode": true,
"video_decode_backend": "h3-vae"
"model": {
"dit": {},
"family": "generic",
"vae": {}
},
"output_type": "pil",
"preset": null,
"preset_overrides": {},
"preset_version": null,
"vae": {},
"vae_sp": false,
"vae_tiling": false,
"workload_type": "t2v"
@@ -343,9 +343,13 @@
"pipeline_config_class": "fastvideo.configs.pipelines.dreamx_world.DreamXWorld5BCamPipelineConfig",
"resolution_decisions": [
[
"fill_vae_parallel_from_env",
"fill_model_family[generic]",
{
"pipeline.minimax_h3.vae_parallel_decode_strategy": "gather"
"pipeline.model": {
"dit": {},
"family": "generic",
"vae": {}
}
}
],
[
@@ -387,16 +391,6 @@
"engine.compile.regional": false,
"engine.compile.text_encoder_enabled": false,
"engine.compile.vae_enabled": false,
"pipeline.ltx2.legacy_native_noise_order": false,
"pipeline.ltx2.refine.add_noise": true,
"pipeline.ltx2.refine.enabled": false,
"pipeline.ltx2.refine.guidance_scale": 1.0,
"pipeline.ltx2.refine.num_inference_steps": 3,
"pipeline.ltx2.use_distilled_sigmas": true,
"pipeline.minimax_h3.taeh3_chunk_size": 5,
"pipeline.minimax_h3.vae_parallel_decode": false,
"pipeline.minimax_h3.vae_parallel_encode": false,
"pipeline.minimax_h3.video_decode_backend": "h3-vae",
"pipeline.workload_type": "t2v"
}
]
@@ -479,54 +473,19 @@
"upsampler_weights": null,
"vae_weights": null
},
"dit": {},
"dmd_denoising_steps": null,
"embedded_cfg_scale": 6.0,
"experimental": {},
"flow_shift": 3.0,
"longcat": {
"bsa_cdf_threshold": null,
"bsa_chunk_k": null,
"bsa_chunk_q": null,
"bsa_sparsity": null,
"enable_bsa": null
},
"ltx2": {
"audio_latent_path": null,
"initial_latent_path": null,
"legacy_native_noise_order": false,
"refine": {
"add_noise": true,
"audio_noise_path": null,
"enabled": false,
"guidance_scale": 1.0,
"image_crf": null,
"lora_path": null,
"noise_path": null,
"num_inference_steps": 3,
"transformer_path": null,
"video_position_offset_sec": null
},
"use_distilled_sigmas": true,
"vae_spatial_tile_overlap_in_pixels": null,
"vae_spatial_tile_size_in_pixels": null,
"vae_temporal_tile_overlap_in_frames": null,
"vae_temporal_tile_size_in_frames": null
},
"minimax_h3": {
"sequential_load": null,
"taeh3_checkpoint": null,
"taeh3_chunk_size": 5,
"vae_parallel_decode": false,
"vae_parallel_decode_strategy": "gather",
"vae_parallel_encode": false,
"video_decode_backend": "h3-vae"
"model": {
"dit": {},
"family": "generic",
"vae": {}
},
"output_type": "pil",
"preset": null,
"preset_overrides": {},
"preset_version": null,
"vae": {},
"vae_sp": false,
"vae_tiling": false,
"workload_type": "t2v"
@@ -385,9 +385,13 @@
"pipeline_config_class": "fastvideo.configs.pipelines.dreamx_world.DreamXWorld5BARPipelineConfig",
"resolution_decisions": [
[
"fill_vae_parallel_from_env",
"fill_model_family[generic]",
{
"pipeline.minimax_h3.vae_parallel_decode_strategy": "gather"
"pipeline.model": {
"dit": {},
"family": "generic",
"vae": {}
}
}
],
[
@@ -435,16 +439,6 @@
"engine.compile.regional": false,
"engine.compile.text_encoder_enabled": false,
"engine.compile.vae_enabled": false,
"pipeline.ltx2.legacy_native_noise_order": false,
"pipeline.ltx2.refine.add_noise": true,
"pipeline.ltx2.refine.enabled": false,
"pipeline.ltx2.refine.guidance_scale": 1.0,
"pipeline.ltx2.refine.num_inference_steps": 3,
"pipeline.ltx2.use_distilled_sigmas": true,
"pipeline.minimax_h3.taeh3_chunk_size": 5,
"pipeline.minimax_h3.vae_parallel_decode": false,
"pipeline.minimax_h3.vae_parallel_encode": false,
"pipeline.minimax_h3.video_decode_backend": "h3-vae",
"pipeline.workload_type": "t2v"
}
]
@@ -527,7 +521,6 @@
"upsampler_weights": null,
"vae_weights": null
},
"dit": {},
"dmd_denoising_steps": [
1000,
750,
@@ -537,49 +530,15 @@
"embedded_cfg_scale": 6.0,
"experimental": {},
"flow_shift": 5.0,
"longcat": {
"bsa_cdf_threshold": null,
"bsa_chunk_k": null,
"bsa_chunk_q": null,
"bsa_sparsity": null,
"enable_bsa": null
},
"ltx2": {
"audio_latent_path": null,
"initial_latent_path": null,
"legacy_native_noise_order": false,
"refine": {
"add_noise": true,
"audio_noise_path": null,
"enabled": false,
"guidance_scale": 1.0,
"image_crf": null,
"lora_path": null,
"noise_path": null,
"num_inference_steps": 3,
"transformer_path": null,
"video_position_offset_sec": null
},
"use_distilled_sigmas": true,
"vae_spatial_tile_overlap_in_pixels": null,
"vae_spatial_tile_size_in_pixels": null,
"vae_temporal_tile_overlap_in_frames": null,
"vae_temporal_tile_size_in_frames": null
},
"minimax_h3": {
"sequential_load": null,
"taeh3_checkpoint": null,
"taeh3_chunk_size": 5,
"vae_parallel_decode": false,
"vae_parallel_decode_strategy": "gather",
"vae_parallel_encode": false,
"video_decode_backend": "h3-vae"
"model": {
"dit": {},
"family": "generic",
"vae": {}
},
"output_type": "pil",
"preset": null,
"preset_overrides": {},
"preset_version": null,
"vae": {},
"vae_sp": false,
"vae_tiling": false,
"workload_type": "t2v"
@@ -304,9 +304,13 @@
"pipeline_config_class": "fastvideo.configs.pipelines.hunyuan.FastHunyuanConfig",
"resolution_decisions": [
[
"fill_vae_parallel_from_env",
"fill_model_family[generic]",
{
"pipeline.minimax_h3.vae_parallel_decode_strategy": "gather"
"pipeline.model": {
"dit": {},
"family": "generic",
"vae": {}
}
}
],
[
@@ -348,16 +352,6 @@
"engine.compile.regional": false,
"engine.compile.text_encoder_enabled": false,
"engine.compile.vae_enabled": false,
"pipeline.ltx2.legacy_native_noise_order": false,
"pipeline.ltx2.refine.add_noise": true,
"pipeline.ltx2.refine.enabled": false,
"pipeline.ltx2.refine.guidance_scale": 1.0,
"pipeline.ltx2.refine.num_inference_steps": 3,
"pipeline.ltx2.use_distilled_sigmas": true,
"pipeline.minimax_h3.taeh3_chunk_size": 5,
"pipeline.minimax_h3.vae_parallel_decode": false,
"pipeline.minimax_h3.vae_parallel_encode": false,
"pipeline.minimax_h3.video_decode_backend": "h3-vae",
"pipeline.workload_type": "t2v"
}
]
@@ -441,54 +435,19 @@
"upsampler_weights": null,
"vae_weights": null
},
"dit": {},
"dmd_denoising_steps": null,
"embedded_cfg_scale": 6,
"experimental": {},
"flow_shift": 17,
"longcat": {
"bsa_cdf_threshold": null,
"bsa_chunk_k": null,
"bsa_chunk_q": null,
"bsa_sparsity": null,
"enable_bsa": null
},
"ltx2": {
"audio_latent_path": null,
"initial_latent_path": null,
"legacy_native_noise_order": false,
"refine": {
"add_noise": true,
"audio_noise_path": null,
"enabled": false,
"guidance_scale": 1.0,
"image_crf": null,
"lora_path": null,
"noise_path": null,
"num_inference_steps": 3,
"transformer_path": null,
"video_position_offset_sec": null
},
"use_distilled_sigmas": true,
"vae_spatial_tile_overlap_in_pixels": null,
"vae_spatial_tile_size_in_pixels": null,
"vae_temporal_tile_overlap_in_frames": null,
"vae_temporal_tile_size_in_frames": null
},
"minimax_h3": {
"sequential_load": null,
"taeh3_checkpoint": null,
"taeh3_chunk_size": 5,
"vae_parallel_decode": false,
"vae_parallel_decode_strategy": "gather",
"vae_parallel_encode": false,
"video_decode_backend": "h3-vae"
"model": {
"dit": {},
"family": "generic",
"vae": {}
},
"output_type": "pil",
"preset": null,
"preset_overrides": {},
"preset_version": null,
"vae": {},
"vae_sp": true,
"vae_tiling": true,
"workload_type": "t2v"
@@ -386,10 +386,27 @@
},
"pipeline_config_class": "fastvideo.configs.pipelines.minimax_h3.MiniMaxH3PipelineConfig",
"resolution_decisions": [
[
"fill_model_family[minimax_h3]",
{
"pipeline.model": {
"dit": {},
"family": "minimax_h3",
"sequential_load": null,
"taeh3_checkpoint": null,
"taeh3_chunk_size": null,
"vae": {},
"vae_parallel_decode": null,
"vae_parallel_decode_strategy": null,
"vae_parallel_encode": null,
"video_decode_backend": null
}
}
],
[
"fill_vae_parallel_from_env",
{
"pipeline.minimax_h3.vae_parallel_decode_strategy": "gather"
"pipeline.model.vae_parallel_decode_strategy": "gather"
}
],
[
@@ -428,16 +445,10 @@
"engine.compile.regional": false,
"engine.compile.text_encoder_enabled": false,
"engine.compile.vae_enabled": false,
"pipeline.ltx2.legacy_native_noise_order": false,
"pipeline.ltx2.refine.add_noise": true,
"pipeline.ltx2.refine.enabled": false,
"pipeline.ltx2.refine.guidance_scale": 1.0,
"pipeline.ltx2.refine.num_inference_steps": 3,
"pipeline.ltx2.use_distilled_sigmas": true,
"pipeline.minimax_h3.taeh3_chunk_size": 5,
"pipeline.minimax_h3.vae_parallel_decode": false,
"pipeline.minimax_h3.vae_parallel_encode": false,
"pipeline.minimax_h3.video_decode_backend": "h3-vae",
"pipeline.model.taeh3_chunk_size": 5,
"pipeline.model.vae_parallel_decode": false,
"pipeline.model.vae_parallel_encode": false,
"pipeline.model.video_decode_backend": "h3-vae",
"pipeline.workload_type": "t2v"
}
]
@@ -520,44 +531,17 @@
"upsampler_weights": null,
"vae_weights": null
},
"dit": {},
"dmd_denoising_steps": null,
"embedded_cfg_scale": null,
"experimental": {},
"flow_shift": null,
"longcat": {
"bsa_cdf_threshold": null,
"bsa_chunk_k": null,
"bsa_chunk_q": null,
"bsa_sparsity": null,
"enable_bsa": null
},
"ltx2": {
"audio_latent_path": null,
"initial_latent_path": null,
"legacy_native_noise_order": false,
"refine": {
"add_noise": true,
"audio_noise_path": null,
"enabled": false,
"guidance_scale": 1.0,
"image_crf": null,
"lora_path": null,
"noise_path": null,
"num_inference_steps": 3,
"transformer_path": null,
"video_position_offset_sec": null
},
"use_distilled_sigmas": true,
"vae_spatial_tile_overlap_in_pixels": null,
"vae_spatial_tile_size_in_pixels": null,
"vae_temporal_tile_overlap_in_frames": null,
"vae_temporal_tile_size_in_frames": null
},
"minimax_h3": {
"model": {
"dit": {},
"family": "minimax_h3",
"sequential_load": null,
"taeh3_checkpoint": null,
"taeh3_chunk_size": 5,
"vae": {},
"vae_parallel_decode": false,
"vae_parallel_decode_strategy": "gather",
"vae_parallel_encode": false,
@@ -567,7 +551,6 @@
"preset": null,
"preset_overrides": {},
"preset_version": null,
"vae": {},
"vae_sp": false,
"vae_tiling": true,
"workload_type": "t2v"
@@ -386,10 +386,27 @@
},
"pipeline_config_class": "fastvideo.configs.pipelines.minimax_h3.MiniMaxH3PipelineConfig",
"resolution_decisions": [
[
"fill_model_family[minimax_h3]",
{
"pipeline.model": {
"dit": {},
"family": "minimax_h3",
"sequential_load": null,
"taeh3_checkpoint": null,
"taeh3_chunk_size": null,
"vae": {},
"vae_parallel_decode": null,
"vae_parallel_decode_strategy": null,
"vae_parallel_encode": null,
"video_decode_backend": null
}
}
],
[
"fill_vae_parallel_from_env",
{
"pipeline.minimax_h3.vae_parallel_decode_strategy": "gather"
"pipeline.model.vae_parallel_decode_strategy": "gather"
}
],
[
@@ -428,16 +445,10 @@
"engine.compile.regional": false,
"engine.compile.text_encoder_enabled": false,
"engine.compile.vae_enabled": false,
"pipeline.ltx2.legacy_native_noise_order": false,
"pipeline.ltx2.refine.add_noise": true,
"pipeline.ltx2.refine.enabled": false,
"pipeline.ltx2.refine.guidance_scale": 1.0,
"pipeline.ltx2.refine.num_inference_steps": 3,
"pipeline.ltx2.use_distilled_sigmas": true,
"pipeline.minimax_h3.taeh3_chunk_size": 5,
"pipeline.minimax_h3.vae_parallel_decode": false,
"pipeline.minimax_h3.vae_parallel_encode": false,
"pipeline.minimax_h3.video_decode_backend": "h3-vae",
"pipeline.model.taeh3_chunk_size": 5,
"pipeline.model.vae_parallel_decode": false,
"pipeline.model.vae_parallel_encode": false,
"pipeline.model.video_decode_backend": "h3-vae",
"pipeline.workload_type": "t2v"
}
]
@@ -520,44 +531,17 @@
"upsampler_weights": null,
"vae_weights": null
},
"dit": {},
"dmd_denoising_steps": null,
"embedded_cfg_scale": null,
"experimental": {},
"flow_shift": null,
"longcat": {
"bsa_cdf_threshold": null,
"bsa_chunk_k": null,
"bsa_chunk_q": null,
"bsa_sparsity": null,
"enable_bsa": null
},
"ltx2": {
"audio_latent_path": null,
"initial_latent_path": null,
"legacy_native_noise_order": false,
"refine": {
"add_noise": true,
"audio_noise_path": null,
"enabled": false,
"guidance_scale": 1.0,
"image_crf": null,
"lora_path": null,
"noise_path": null,
"num_inference_steps": 3,
"transformer_path": null,
"video_position_offset_sec": null
},
"use_distilled_sigmas": true,
"vae_spatial_tile_overlap_in_pixels": null,
"vae_spatial_tile_size_in_pixels": null,
"vae_temporal_tile_overlap_in_frames": null,
"vae_temporal_tile_size_in_frames": null
},
"minimax_h3": {
"model": {
"dit": {},
"family": "minimax_h3",
"sequential_load": null,
"taeh3_checkpoint": null,
"taeh3_chunk_size": 5,
"vae": {},
"vae_parallel_decode": false,
"vae_parallel_decode_strategy": "gather",
"vae_parallel_encode": false,
@@ -567,7 +551,6 @@
"preset": null,
"preset_overrides": {},
"preset_version": null,
"vae": {},
"vae_sp": false,
"vae_tiling": true,
"workload_type": "t2v"
@@ -280,9 +280,13 @@
"pipeline_config_class": "fastvideo.models.wan.pipeline_config.FastWan2_1_T2V_480P_Config",
"resolution_decisions": [
[
"fill_vae_parallel_from_env",
"fill_model_family[generic]",
{
"pipeline.minimax_h3.vae_parallel_decode_strategy": "gather"
"pipeline.model": {
"dit": {},
"family": "generic",
"vae": {}
}
}
],
[
@@ -329,16 +333,6 @@
"engine.compile.regional": false,
"engine.compile.text_encoder_enabled": false,
"engine.compile.vae_enabled": false,
"pipeline.ltx2.legacy_native_noise_order": false,
"pipeline.ltx2.refine.add_noise": true,
"pipeline.ltx2.refine.enabled": false,
"pipeline.ltx2.refine.guidance_scale": 1.0,
"pipeline.ltx2.refine.num_inference_steps": 3,
"pipeline.ltx2.use_distilled_sigmas": true,
"pipeline.minimax_h3.taeh3_chunk_size": 5,
"pipeline.minimax_h3.vae_parallel_decode": false,
"pipeline.minimax_h3.vae_parallel_encode": false,
"pipeline.minimax_h3.video_decode_backend": "h3-vae",
"pipeline.workload_type": "t2v"
}
]
@@ -421,7 +415,6 @@
"upsampler_weights": null,
"vae_weights": null
},
"dit": {},
"dmd_denoising_steps": [
1000,
757,
@@ -430,49 +423,15 @@
"embedded_cfg_scale": 6.0,
"experimental": {},
"flow_shift": 8.0,
"longcat": {
"bsa_cdf_threshold": null,
"bsa_chunk_k": null,
"bsa_chunk_q": null,
"bsa_sparsity": null,
"enable_bsa": null
},
"ltx2": {
"audio_latent_path": null,
"initial_latent_path": null,
"legacy_native_noise_order": false,
"refine": {
"add_noise": true,
"audio_noise_path": null,
"enabled": false,
"guidance_scale": 1.0,
"image_crf": null,
"lora_path": null,
"noise_path": null,
"num_inference_steps": 3,
"transformer_path": null,
"video_position_offset_sec": null
},
"use_distilled_sigmas": true,
"vae_spatial_tile_overlap_in_pixels": null,
"vae_spatial_tile_size_in_pixels": null,
"vae_temporal_tile_overlap_in_frames": null,
"vae_temporal_tile_size_in_frames": null
},
"minimax_h3": {
"sequential_load": null,
"taeh3_checkpoint": null,
"taeh3_chunk_size": 5,
"vae_parallel_decode": false,
"vae_parallel_decode_strategy": "gather",
"vae_parallel_encode": false,
"video_decode_backend": "h3-vae"
"model": {
"dit": {},
"family": "generic",
"vae": {}
},
"output_type": "pil",
"preset": null,
"preset_overrides": {},
"preset_version": null,
"vae": {},
"vae_sp": false,
"vae_tiling": false,
"workload_type": "t2v"
@@ -280,9 +280,13 @@
"pipeline_config_class": "fastvideo.models.wan.pipeline_config.FastWan2_1_T2V_480P_Config",
"resolution_decisions": [
[
"fill_vae_parallel_from_env",
"fill_model_family[generic]",
{
"pipeline.minimax_h3.vae_parallel_decode_strategy": "gather"
"pipeline.model": {
"dit": {},
"family": "generic",
"vae": {}
}
}
],
[
@@ -329,16 +333,6 @@
"engine.compile.regional": false,
"engine.compile.text_encoder_enabled": false,
"engine.compile.vae_enabled": false,
"pipeline.ltx2.legacy_native_noise_order": false,
"pipeline.ltx2.refine.add_noise": true,
"pipeline.ltx2.refine.enabled": false,
"pipeline.ltx2.refine.guidance_scale": 1.0,
"pipeline.ltx2.refine.num_inference_steps": 3,
"pipeline.ltx2.use_distilled_sigmas": true,
"pipeline.minimax_h3.taeh3_chunk_size": 5,
"pipeline.minimax_h3.vae_parallel_decode": false,
"pipeline.minimax_h3.vae_parallel_encode": false,
"pipeline.minimax_h3.video_decode_backend": "h3-vae",
"pipeline.workload_type": "t2v"
}
]
@@ -421,7 +415,6 @@
"upsampler_weights": null,
"vae_weights": null
},
"dit": {},
"dmd_denoising_steps": [
1000,
757,
@@ -430,49 +423,15 @@
"embedded_cfg_scale": 6.0,
"experimental": {},
"flow_shift": 8.0,
"longcat": {
"bsa_cdf_threshold": null,
"bsa_chunk_k": null,
"bsa_chunk_q": null,
"bsa_sparsity": null,
"enable_bsa": null
},
"ltx2": {
"audio_latent_path": null,
"initial_latent_path": null,
"legacy_native_noise_order": false,
"refine": {
"add_noise": true,
"audio_noise_path": null,
"enabled": false,
"guidance_scale": 1.0,
"image_crf": null,
"lora_path": null,
"noise_path": null,
"num_inference_steps": 3,
"transformer_path": null,
"video_position_offset_sec": null
},
"use_distilled_sigmas": true,
"vae_spatial_tile_overlap_in_pixels": null,
"vae_spatial_tile_size_in_pixels": null,
"vae_temporal_tile_overlap_in_frames": null,
"vae_temporal_tile_size_in_frames": null
},
"minimax_h3": {
"sequential_load": null,
"taeh3_checkpoint": null,
"taeh3_chunk_size": 5,
"vae_parallel_decode": false,
"vae_parallel_decode_strategy": "gather",
"vae_parallel_encode": false,
"video_decode_backend": "h3-vae"
"model": {
"dit": {},
"family": "generic",
"vae": {}
},
"output_type": "pil",
"preset": null,
"preset_overrides": {},
"preset_version": null,
"vae": {},
"vae_sp": false,
"vae_tiling": false,
"workload_type": "t2v"
@@ -281,9 +281,13 @@
"pipeline_config_class": "fastvideo.models.wan.pipeline_config.FastWan2_2_TI2V_5B_Config",
"resolution_decisions": [
[
"fill_vae_parallel_from_env",
"fill_model_family[generic]",
{
"pipeline.minimax_h3.vae_parallel_decode_strategy": "gather"
"pipeline.model": {
"dit": {},
"family": "generic",
"vae": {}
}
}
],
[
@@ -330,16 +334,6 @@
"engine.compile.regional": false,
"engine.compile.text_encoder_enabled": false,
"engine.compile.vae_enabled": false,
"pipeline.ltx2.legacy_native_noise_order": false,
"pipeline.ltx2.refine.add_noise": true,
"pipeline.ltx2.refine.enabled": false,
"pipeline.ltx2.refine.guidance_scale": 1.0,
"pipeline.ltx2.refine.num_inference_steps": 3,
"pipeline.ltx2.use_distilled_sigmas": true,
"pipeline.minimax_h3.taeh3_chunk_size": 5,
"pipeline.minimax_h3.vae_parallel_decode": false,
"pipeline.minimax_h3.vae_parallel_encode": false,
"pipeline.minimax_h3.video_decode_backend": "h3-vae",
"pipeline.workload_type": "t2v"
}
]
@@ -422,7 +416,6 @@
"upsampler_weights": null,
"vae_weights": null
},
"dit": {},
"dmd_denoising_steps": [
1000,
757,
@@ -431,49 +424,15 @@
"embedded_cfg_scale": 6.0,
"experimental": {},
"flow_shift": 5.0,
"longcat": {
"bsa_cdf_threshold": null,
"bsa_chunk_k": null,
"bsa_chunk_q": null,
"bsa_sparsity": null,
"enable_bsa": null
},
"ltx2": {
"audio_latent_path": null,
"initial_latent_path": null,
"legacy_native_noise_order": false,
"refine": {
"add_noise": true,
"audio_noise_path": null,
"enabled": false,
"guidance_scale": 1.0,
"image_crf": null,
"lora_path": null,
"noise_path": null,
"num_inference_steps": 3,
"transformer_path": null,
"video_position_offset_sec": null
},
"use_distilled_sigmas": true,
"vae_spatial_tile_overlap_in_pixels": null,
"vae_spatial_tile_size_in_pixels": null,
"vae_temporal_tile_overlap_in_frames": null,
"vae_temporal_tile_size_in_frames": null
},
"minimax_h3": {
"sequential_load": null,
"taeh3_checkpoint": null,
"taeh3_chunk_size": 5,
"vae_parallel_decode": false,
"vae_parallel_decode_strategy": "gather",
"vae_parallel_encode": false,
"video_decode_backend": "h3-vae"
"model": {
"dit": {},
"family": "generic",
"vae": {}
},
"output_type": "pil",
"preset": null,
"preset_overrides": {},
"preset_version": null,
"vae": {},
"vae_sp": false,
"vae_tiling": false,
"workload_type": "t2v"
@@ -281,9 +281,13 @@
"pipeline_config_class": "fastvideo.models.wan.pipeline_config.FastWan2_2_TI2V_5B_Config",
"resolution_decisions": [
[
"fill_vae_parallel_from_env",
"fill_model_family[generic]",
{
"pipeline.minimax_h3.vae_parallel_decode_strategy": "gather"
"pipeline.model": {
"dit": {},
"family": "generic",
"vae": {}
}
}
],
[
@@ -330,16 +334,6 @@
"engine.compile.regional": false,
"engine.compile.text_encoder_enabled": false,
"engine.compile.vae_enabled": false,
"pipeline.ltx2.legacy_native_noise_order": false,
"pipeline.ltx2.refine.add_noise": true,
"pipeline.ltx2.refine.enabled": false,
"pipeline.ltx2.refine.guidance_scale": 1.0,
"pipeline.ltx2.refine.num_inference_steps": 3,
"pipeline.ltx2.use_distilled_sigmas": true,
"pipeline.minimax_h3.taeh3_chunk_size": 5,
"pipeline.minimax_h3.vae_parallel_decode": false,
"pipeline.minimax_h3.vae_parallel_encode": false,
"pipeline.minimax_h3.video_decode_backend": "h3-vae",
"pipeline.workload_type": "t2v"
}
]
@@ -422,7 +416,6 @@
"upsampler_weights": null,
"vae_weights": null
},
"dit": {},
"dmd_denoising_steps": [
1000,
757,
@@ -431,49 +424,15 @@
"embedded_cfg_scale": 6.0,
"experimental": {},
"flow_shift": 5.0,
"longcat": {
"bsa_cdf_threshold": null,
"bsa_chunk_k": null,
"bsa_chunk_q": null,
"bsa_sparsity": null,
"enable_bsa": null
},
"ltx2": {
"audio_latent_path": null,
"initial_latent_path": null,
"legacy_native_noise_order": false,
"refine": {
"add_noise": true,
"audio_noise_path": null,
"enabled": false,
"guidance_scale": 1.0,
"image_crf": null,
"lora_path": null,
"noise_path": null,
"num_inference_steps": 3,
"transformer_path": null,
"video_position_offset_sec": null
},
"use_distilled_sigmas": true,
"vae_spatial_tile_overlap_in_pixels": null,
"vae_spatial_tile_size_in_pixels": null,
"vae_temporal_tile_overlap_in_frames": null,
"vae_temporal_tile_size_in_frames": null
},
"minimax_h3": {
"sequential_load": null,
"taeh3_checkpoint": null,
"taeh3_chunk_size": 5,
"vae_parallel_decode": false,
"vae_parallel_decode_strategy": "gather",
"vae_parallel_encode": false,
"video_decode_backend": "h3-vae"
"model": {
"dit": {},
"family": "generic",
"vae": {}
},
"output_type": "pil",
"preset": null,
"preset_overrides": {},
"preset_version": null,
"vae": {},
"vae_sp": false,
"vae_tiling": false,
"workload_type": "t2v"
@@ -308,9 +308,13 @@
"pipeline_config_class": "fastvideo.configs.pipelines.gen3c.Gen3CConfig",
"resolution_decisions": [
[
"fill_vae_parallel_from_env",
"fill_model_family[generic]",
{
"pipeline.minimax_h3.vae_parallel_decode_strategy": "gather"
"pipeline.model": {
"dit": {},
"family": "generic",
"vae": {}
}
}
],
[
@@ -351,16 +355,6 @@
"engine.compile.regional": false,
"engine.compile.text_encoder_enabled": false,
"engine.compile.vae_enabled": false,
"pipeline.ltx2.legacy_native_noise_order": false,
"pipeline.ltx2.refine.add_noise": true,
"pipeline.ltx2.refine.enabled": false,
"pipeline.ltx2.refine.guidance_scale": 1.0,
"pipeline.ltx2.refine.num_inference_steps": 3,
"pipeline.ltx2.use_distilled_sigmas": true,
"pipeline.minimax_h3.taeh3_chunk_size": 5,
"pipeline.minimax_h3.vae_parallel_decode": false,
"pipeline.minimax_h3.vae_parallel_encode": false,
"pipeline.minimax_h3.video_decode_backend": "h3-vae",
"pipeline.workload_type": "t2v"
}
]
@@ -443,54 +437,19 @@
"upsampler_weights": null,
"vae_weights": null
},
"dit": {},
"dmd_denoising_steps": null,
"embedded_cfg_scale": 6,
"experimental": {},
"flow_shift": 1.0,
"longcat": {
"bsa_cdf_threshold": null,
"bsa_chunk_k": null,
"bsa_chunk_q": null,
"bsa_sparsity": null,
"enable_bsa": null
},
"ltx2": {
"audio_latent_path": null,
"initial_latent_path": null,
"legacy_native_noise_order": false,
"refine": {
"add_noise": true,
"audio_noise_path": null,
"enabled": false,
"guidance_scale": 1.0,
"image_crf": null,
"lora_path": null,
"noise_path": null,
"num_inference_steps": 3,
"transformer_path": null,
"video_position_offset_sec": null
},
"use_distilled_sigmas": true,
"vae_spatial_tile_overlap_in_pixels": null,
"vae_spatial_tile_size_in_pixels": null,
"vae_temporal_tile_overlap_in_frames": null,
"vae_temporal_tile_size_in_frames": null
},
"minimax_h3": {
"sequential_load": null,
"taeh3_checkpoint": null,
"taeh3_chunk_size": 5,
"vae_parallel_decode": false,
"vae_parallel_decode_strategy": "gather",
"vae_parallel_encode": false,
"video_decode_backend": "h3-vae"
"model": {
"dit": {},
"family": "generic",
"vae": {}
},
"output_type": "pil",
"preset": null,
"preset_overrides": {},
"preset_version": null,
"vae": {},
"vae_sp": true,
"vae_tiling": true,
"workload_type": "t2v"
@@ -361,9 +361,13 @@
"pipeline_config_class": "fastvideo.configs.pipelines.hyworld.HYWorldConfig",
"resolution_decisions": [
[
"fill_vae_parallel_from_env",
"fill_model_family[generic]",
{
"pipeline.minimax_h3.vae_parallel_decode_strategy": "gather"
"pipeline.model": {
"dit": {},
"family": "generic",
"vae": {}
}
}
],
[
@@ -405,16 +409,6 @@
"engine.compile.regional": false,
"engine.compile.text_encoder_enabled": false,
"engine.compile.vae_enabled": false,
"pipeline.ltx2.legacy_native_noise_order": false,
"pipeline.ltx2.refine.add_noise": true,
"pipeline.ltx2.refine.enabled": false,
"pipeline.ltx2.refine.guidance_scale": 1.0,
"pipeline.ltx2.refine.num_inference_steps": 3,
"pipeline.ltx2.use_distilled_sigmas": true,
"pipeline.minimax_h3.taeh3_chunk_size": 5,
"pipeline.minimax_h3.vae_parallel_decode": false,
"pipeline.minimax_h3.vae_parallel_encode": false,
"pipeline.minimax_h3.video_decode_backend": "h3-vae",
"pipeline.workload_type": "t2v"
}
]
@@ -498,54 +492,19 @@
"upsampler_weights": null,
"vae_weights": null
},
"dit": {},
"dmd_denoising_steps": null,
"embedded_cfg_scale": 6.0,
"experimental": {},
"flow_shift": 5,
"longcat": {
"bsa_cdf_threshold": null,
"bsa_chunk_k": null,
"bsa_chunk_q": null,
"bsa_sparsity": null,
"enable_bsa": null
},
"ltx2": {
"audio_latent_path": null,
"initial_latent_path": null,
"legacy_native_noise_order": false,
"refine": {
"add_noise": true,
"audio_noise_path": null,
"enabled": false,
"guidance_scale": 1.0,
"image_crf": null,
"lora_path": null,
"noise_path": null,
"num_inference_steps": 3,
"transformer_path": null,
"video_position_offset_sec": null
},
"use_distilled_sigmas": true,
"vae_spatial_tile_overlap_in_pixels": null,
"vae_spatial_tile_size_in_pixels": null,
"vae_temporal_tile_overlap_in_frames": null,
"vae_temporal_tile_size_in_frames": null
},
"minimax_h3": {
"sequential_load": null,
"taeh3_checkpoint": null,
"taeh3_chunk_size": 5,
"vae_parallel_decode": false,
"vae_parallel_decode_strategy": "gather",
"vae_parallel_encode": false,
"video_decode_backend": "h3-vae"
"model": {
"dit": {},
"family": "generic",
"vae": {}
},
"output_type": "pil",
"preset": null,
"preset_overrides": {},
"preset_version": null,
"vae": {},
"vae_sp": true,
"vae_tiling": true,
"workload_type": "t2v"
@@ -314,9 +314,13 @@
"pipeline_config_class": "fastvideo.configs.pipelines.hunyuangamecraft.HunyuanGameCraftPipelineConfig",
"resolution_decisions": [
[
"fill_vae_parallel_from_env",
"fill_model_family[generic]",
{
"pipeline.minimax_h3.vae_parallel_decode_strategy": "gather"
"pipeline.model": {
"dit": {},
"family": "generic",
"vae": {}
}
}
],
[
@@ -358,16 +362,6 @@
"engine.compile.regional": false,
"engine.compile.text_encoder_enabled": false,
"engine.compile.vae_enabled": false,
"pipeline.ltx2.legacy_native_noise_order": false,
"pipeline.ltx2.refine.add_noise": true,
"pipeline.ltx2.refine.enabled": false,
"pipeline.ltx2.refine.guidance_scale": 1.0,
"pipeline.ltx2.refine.num_inference_steps": 3,
"pipeline.ltx2.use_distilled_sigmas": true,
"pipeline.minimax_h3.taeh3_chunk_size": 5,
"pipeline.minimax_h3.vae_parallel_decode": false,
"pipeline.minimax_h3.vae_parallel_encode": false,
"pipeline.minimax_h3.video_decode_backend": "h3-vae",
"pipeline.workload_type": "t2v"
}
]
@@ -451,54 +445,19 @@
"upsampler_weights": null,
"vae_weights": null
},
"dit": {},
"dmd_denoising_steps": null,
"embedded_cfg_scale": 6.0,
"experimental": {},
"flow_shift": 5,
"longcat": {
"bsa_cdf_threshold": null,
"bsa_chunk_k": null,
"bsa_chunk_q": null,
"bsa_sparsity": null,
"enable_bsa": null
},
"ltx2": {
"audio_latent_path": null,
"initial_latent_path": null,
"legacy_native_noise_order": false,
"refine": {
"add_noise": true,
"audio_noise_path": null,
"enabled": false,
"guidance_scale": 1.0,
"image_crf": null,
"lora_path": null,
"noise_path": null,
"num_inference_steps": 3,
"transformer_path": null,
"video_position_offset_sec": null
},
"use_distilled_sigmas": true,
"vae_spatial_tile_overlap_in_pixels": null,
"vae_spatial_tile_size_in_pixels": null,
"vae_temporal_tile_overlap_in_frames": null,
"vae_temporal_tile_size_in_frames": null
},
"minimax_h3": {
"sequential_load": null,
"taeh3_checkpoint": null,
"taeh3_chunk_size": 5,
"vae_parallel_decode": false,
"vae_parallel_decode_strategy": "gather",
"vae_parallel_encode": false,
"video_decode_backend": "h3-vae"
"model": {
"dit": {},
"family": "generic",
"vae": {}
},
"output_type": "pil",
"preset": null,
"preset_overrides": {},
"preset_version": null,
"vae": {},
"vae_sp": true,
"vae_tiling": true,
"workload_type": "t2v"
@@ -257,9 +257,33 @@
"pipeline_config_class": "fastvideo.pipelines.basic.ltx2.pipeline_configs.LTX2T2VConfig",
"resolution_decisions": [
[
"fill_vae_parallel_from_env",
"fill_model_family[ltx2]",
{
"pipeline.minimax_h3.vae_parallel_decode_strategy": "gather"
"pipeline.model": {
"audio_latent_path": null,
"dit": {},
"family": "ltx2",
"initial_latent_path": null,
"legacy_native_noise_order": null,
"refine": {
"add_noise": null,
"audio_noise_path": null,
"enabled": null,
"guidance_scale": null,
"image_crf": null,
"lora_path": null,
"noise_path": null,
"num_inference_steps": null,
"transformer_path": null,
"video_position_offset_sec": null
},
"use_distilled_sigmas": null,
"vae": {},
"vae_spatial_tile_overlap_in_pixels": null,
"vae_spatial_tile_size_in_pixels": null,
"vae_temporal_tile_overlap_in_frames": null,
"vae_temporal_tile_size_in_frames": null
}
}
],
[
@@ -299,16 +323,12 @@
"engine.compile.regional": false,
"engine.compile.text_encoder_enabled": false,
"engine.compile.vae_enabled": false,
"pipeline.ltx2.legacy_native_noise_order": false,
"pipeline.ltx2.refine.add_noise": true,
"pipeline.ltx2.refine.enabled": false,
"pipeline.ltx2.refine.guidance_scale": 1.0,
"pipeline.ltx2.refine.num_inference_steps": 3,
"pipeline.ltx2.use_distilled_sigmas": true,
"pipeline.minimax_h3.taeh3_chunk_size": 5,
"pipeline.minimax_h3.vae_parallel_decode": false,
"pipeline.minimax_h3.vae_parallel_encode": false,
"pipeline.minimax_h3.video_decode_backend": "h3-vae",
"pipeline.model.legacy_native_noise_order": false,
"pipeline.model.refine.add_noise": true,
"pipeline.model.refine.enabled": false,
"pipeline.model.refine.guidance_scale": 1.0,
"pipeline.model.refine.num_inference_steps": 3,
"pipeline.model.use_distilled_sigmas": true,
"pipeline.workload_type": "t2v"
}
]
@@ -391,20 +411,14 @@
"upsampler_weights": null,
"vae_weights": null
},
"dit": {},
"dmd_denoising_steps": null,
"embedded_cfg_scale": 6.0,
"experimental": {},
"flow_shift": null,
"longcat": {
"bsa_cdf_threshold": null,
"bsa_chunk_k": null,
"bsa_chunk_q": null,
"bsa_sparsity": null,
"enable_bsa": null
},
"ltx2": {
"model": {
"audio_latent_path": null,
"dit": {},
"family": "ltx2",
"initial_latent_path": null,
"legacy_native_noise_order": false,
"refine": {
@@ -420,25 +434,16 @@
"video_position_offset_sec": null
},
"use_distilled_sigmas": true,
"vae": {},
"vae_spatial_tile_overlap_in_pixels": null,
"vae_spatial_tile_size_in_pixels": null,
"vae_temporal_tile_overlap_in_frames": null,
"vae_temporal_tile_size_in_frames": null
},
"minimax_h3": {
"sequential_load": null,
"taeh3_checkpoint": null,
"taeh3_chunk_size": 5,
"vae_parallel_decode": false,
"vae_parallel_decode_strategy": "gather",
"vae_parallel_encode": false,
"video_decode_backend": "h3-vae"
},
"output_type": "pil",
"preset": null,
"preset_overrides": {},
"preset_version": null,
"vae": {},
"vae_sp": false,
"vae_tiling": true,
"workload_type": "t2v"
@@ -257,9 +257,33 @@
"pipeline_config_class": "fastvideo.pipelines.basic.ltx2.pipeline_configs.LTX2T2VConfig",
"resolution_decisions": [
[
"fill_vae_parallel_from_env",
"fill_model_family[ltx2]",
{
"pipeline.minimax_h3.vae_parallel_decode_strategy": "gather"
"pipeline.model": {
"audio_latent_path": null,
"dit": {},
"family": "ltx2",
"initial_latent_path": null,
"legacy_native_noise_order": null,
"refine": {
"add_noise": null,
"audio_noise_path": null,
"enabled": null,
"guidance_scale": null,
"image_crf": null,
"lora_path": null,
"noise_path": null,
"num_inference_steps": null,
"transformer_path": null,
"video_position_offset_sec": null
},
"use_distilled_sigmas": null,
"vae": {},
"vae_spatial_tile_overlap_in_pixels": null,
"vae_spatial_tile_size_in_pixels": null,
"vae_temporal_tile_overlap_in_frames": null,
"vae_temporal_tile_size_in_frames": null
}
}
],
[
@@ -299,16 +323,12 @@
"engine.compile.regional": false,
"engine.compile.text_encoder_enabled": false,
"engine.compile.vae_enabled": false,
"pipeline.ltx2.legacy_native_noise_order": false,
"pipeline.ltx2.refine.add_noise": true,
"pipeline.ltx2.refine.enabled": false,
"pipeline.ltx2.refine.guidance_scale": 1.0,
"pipeline.ltx2.refine.num_inference_steps": 3,
"pipeline.ltx2.use_distilled_sigmas": true,
"pipeline.minimax_h3.taeh3_chunk_size": 5,
"pipeline.minimax_h3.vae_parallel_decode": false,
"pipeline.minimax_h3.vae_parallel_encode": false,
"pipeline.minimax_h3.video_decode_backend": "h3-vae",
"pipeline.model.legacy_native_noise_order": false,
"pipeline.model.refine.add_noise": true,
"pipeline.model.refine.enabled": false,
"pipeline.model.refine.guidance_scale": 1.0,
"pipeline.model.refine.num_inference_steps": 3,
"pipeline.model.use_distilled_sigmas": true,
"pipeline.workload_type": "t2v"
}
]
@@ -391,20 +411,14 @@
"upsampler_weights": null,
"vae_weights": null
},
"dit": {},
"dmd_denoising_steps": null,
"embedded_cfg_scale": 6.0,
"experimental": {},
"flow_shift": null,
"longcat": {
"bsa_cdf_threshold": null,
"bsa_chunk_k": null,
"bsa_chunk_q": null,
"bsa_sparsity": null,
"enable_bsa": null
},
"ltx2": {
"model": {
"audio_latent_path": null,
"dit": {},
"family": "ltx2",
"initial_latent_path": null,
"legacy_native_noise_order": false,
"refine": {
@@ -420,25 +434,16 @@
"video_position_offset_sec": null
},
"use_distilled_sigmas": true,
"vae": {},
"vae_spatial_tile_overlap_in_pixels": null,
"vae_spatial_tile_size_in_pixels": null,
"vae_temporal_tile_overlap_in_frames": null,
"vae_temporal_tile_size_in_frames": null
},
"minimax_h3": {
"sequential_load": null,
"taeh3_checkpoint": null,
"taeh3_chunk_size": 5,
"vae_parallel_decode": false,
"vae_parallel_decode_strategy": "gather",
"vae_parallel_encode": false,
"video_decode_backend": "h3-vae"
},
"output_type": "pil",
"preset": null,
"preset_overrides": {},
"preset_version": null,
"vae": {},
"vae_sp": false,
"vae_tiling": true,
"workload_type": "t2v"
@@ -257,9 +257,33 @@
"pipeline_config_class": "fastvideo.pipelines.basic.ltx2.pipeline_configs.LTX2T2VConfig",
"resolution_decisions": [
[
"fill_vae_parallel_from_env",
"fill_model_family[ltx2]",
{
"pipeline.minimax_h3.vae_parallel_decode_strategy": "gather"
"pipeline.model": {
"audio_latent_path": null,
"dit": {},
"family": "ltx2",
"initial_latent_path": null,
"legacy_native_noise_order": null,
"refine": {
"add_noise": null,
"audio_noise_path": null,
"enabled": null,
"guidance_scale": null,
"image_crf": null,
"lora_path": null,
"noise_path": null,
"num_inference_steps": null,
"transformer_path": null,
"video_position_offset_sec": null
},
"use_distilled_sigmas": null,
"vae": {},
"vae_spatial_tile_overlap_in_pixels": null,
"vae_spatial_tile_size_in_pixels": null,
"vae_temporal_tile_overlap_in_frames": null,
"vae_temporal_tile_size_in_frames": null
}
}
],
[
@@ -299,16 +323,12 @@
"engine.compile.regional": false,
"engine.compile.text_encoder_enabled": false,
"engine.compile.vae_enabled": false,
"pipeline.ltx2.legacy_native_noise_order": false,
"pipeline.ltx2.refine.add_noise": true,
"pipeline.ltx2.refine.enabled": false,
"pipeline.ltx2.refine.guidance_scale": 1.0,
"pipeline.ltx2.refine.num_inference_steps": 3,
"pipeline.ltx2.use_distilled_sigmas": true,
"pipeline.minimax_h3.taeh3_chunk_size": 5,
"pipeline.minimax_h3.vae_parallel_decode": false,
"pipeline.minimax_h3.vae_parallel_encode": false,
"pipeline.minimax_h3.video_decode_backend": "h3-vae",
"pipeline.model.legacy_native_noise_order": false,
"pipeline.model.refine.add_noise": true,
"pipeline.model.refine.enabled": false,
"pipeline.model.refine.guidance_scale": 1.0,
"pipeline.model.refine.num_inference_steps": 3,
"pipeline.model.use_distilled_sigmas": true,
"pipeline.workload_type": "t2v"
}
]
@@ -391,20 +411,14 @@
"upsampler_weights": null,
"vae_weights": null
},
"dit": {},
"dmd_denoising_steps": null,
"embedded_cfg_scale": 6.0,
"experimental": {},
"flow_shift": null,
"longcat": {
"bsa_cdf_threshold": null,
"bsa_chunk_k": null,
"bsa_chunk_q": null,
"bsa_sparsity": null,
"enable_bsa": null
},
"ltx2": {
"model": {
"audio_latent_path": null,
"dit": {},
"family": "ltx2",
"initial_latent_path": null,
"legacy_native_noise_order": false,
"refine": {
@@ -420,25 +434,16 @@
"video_position_offset_sec": null
},
"use_distilled_sigmas": true,
"vae": {},
"vae_spatial_tile_overlap_in_pixels": null,
"vae_spatial_tile_size_in_pixels": null,
"vae_temporal_tile_overlap_in_frames": null,
"vae_temporal_tile_size_in_frames": null
},
"minimax_h3": {
"sequential_load": null,
"taeh3_checkpoint": null,
"taeh3_chunk_size": 5,
"vae_parallel_decode": false,
"vae_parallel_decode_strategy": "gather",
"vae_parallel_encode": false,
"video_decode_backend": "h3-vae"
},
"output_type": "pil",
"preset": null,
"preset_overrides": {},
"preset_version": null,
"vae": {},
"vae_sp": false,
"vae_tiling": true,
"workload_type": "t2v"
@@ -257,9 +257,33 @@
"pipeline_config_class": "fastvideo.pipelines.basic.ltx2.pipeline_configs.LTX2T2VConfig",
"resolution_decisions": [
[
"fill_vae_parallel_from_env",
"fill_model_family[ltx2]",
{
"pipeline.minimax_h3.vae_parallel_decode_strategy": "gather"
"pipeline.model": {
"audio_latent_path": null,
"dit": {},
"family": "ltx2",
"initial_latent_path": null,
"legacy_native_noise_order": null,
"refine": {
"add_noise": null,
"audio_noise_path": null,
"enabled": null,
"guidance_scale": null,
"image_crf": null,
"lora_path": null,
"noise_path": null,
"num_inference_steps": null,
"transformer_path": null,
"video_position_offset_sec": null
},
"use_distilled_sigmas": null,
"vae": {},
"vae_spatial_tile_overlap_in_pixels": null,
"vae_spatial_tile_size_in_pixels": null,
"vae_temporal_tile_overlap_in_frames": null,
"vae_temporal_tile_size_in_frames": null
}
}
],
[
@@ -299,16 +323,12 @@
"engine.compile.regional": false,
"engine.compile.text_encoder_enabled": false,
"engine.compile.vae_enabled": false,
"pipeline.ltx2.legacy_native_noise_order": false,
"pipeline.ltx2.refine.add_noise": true,
"pipeline.ltx2.refine.enabled": false,
"pipeline.ltx2.refine.guidance_scale": 1.0,
"pipeline.ltx2.refine.num_inference_steps": 3,
"pipeline.ltx2.use_distilled_sigmas": true,
"pipeline.minimax_h3.taeh3_chunk_size": 5,
"pipeline.minimax_h3.vae_parallel_decode": false,
"pipeline.minimax_h3.vae_parallel_encode": false,
"pipeline.minimax_h3.video_decode_backend": "h3-vae",
"pipeline.model.legacy_native_noise_order": false,
"pipeline.model.refine.add_noise": true,
"pipeline.model.refine.enabled": false,
"pipeline.model.refine.guidance_scale": 1.0,
"pipeline.model.refine.num_inference_steps": 3,
"pipeline.model.use_distilled_sigmas": true,
"pipeline.workload_type": "t2v"
}
]
@@ -391,20 +411,14 @@
"upsampler_weights": null,
"vae_weights": null
},
"dit": {},
"dmd_denoising_steps": null,
"embedded_cfg_scale": 6.0,
"experimental": {},
"flow_shift": null,
"longcat": {
"bsa_cdf_threshold": null,
"bsa_chunk_k": null,
"bsa_chunk_q": null,
"bsa_sparsity": null,
"enable_bsa": null
},
"ltx2": {
"model": {
"audio_latent_path": null,
"dit": {},
"family": "ltx2",
"initial_latent_path": null,
"legacy_native_noise_order": false,
"refine": {
@@ -420,25 +434,16 @@
"video_position_offset_sec": null
},
"use_distilled_sigmas": true,
"vae": {},
"vae_spatial_tile_overlap_in_pixels": null,
"vae_spatial_tile_size_in_pixels": null,
"vae_temporal_tile_overlap_in_frames": null,
"vae_temporal_tile_size_in_frames": null
},
"minimax_h3": {
"sequential_load": null,
"taeh3_checkpoint": null,
"taeh3_chunk_size": 5,
"vae_parallel_decode": false,
"vae_parallel_decode_strategy": "gather",
"vae_parallel_encode": false,
"video_decode_backend": "h3-vae"
},
"output_type": "pil",
"preset": null,
"preset_overrides": {},
"preset_version": null,
"vae": {},
"vae_sp": false,
"vae_tiling": true,
"workload_type": "t2v"
@@ -257,9 +257,33 @@
"pipeline_config_class": "fastvideo.pipelines.basic.ltx2.pipeline_configs.LTX2T2VConfig",
"resolution_decisions": [
[
"fill_vae_parallel_from_env",
"fill_model_family[ltx2]",
{
"pipeline.minimax_h3.vae_parallel_decode_strategy": "gather"
"pipeline.model": {
"audio_latent_path": null,
"dit": {},
"family": "ltx2",
"initial_latent_path": null,
"legacy_native_noise_order": null,
"refine": {
"add_noise": null,
"audio_noise_path": null,
"enabled": null,
"guidance_scale": null,
"image_crf": null,
"lora_path": null,
"noise_path": null,
"num_inference_steps": null,
"transformer_path": null,
"video_position_offset_sec": null
},
"use_distilled_sigmas": null,
"vae": {},
"vae_spatial_tile_overlap_in_pixels": null,
"vae_spatial_tile_size_in_pixels": null,
"vae_temporal_tile_overlap_in_frames": null,
"vae_temporal_tile_size_in_frames": null
}
}
],
[
@@ -299,16 +323,12 @@
"engine.compile.regional": false,
"engine.compile.text_encoder_enabled": false,
"engine.compile.vae_enabled": false,
"pipeline.ltx2.legacy_native_noise_order": false,
"pipeline.ltx2.refine.add_noise": true,
"pipeline.ltx2.refine.enabled": false,
"pipeline.ltx2.refine.guidance_scale": 1.0,
"pipeline.ltx2.refine.num_inference_steps": 3,
"pipeline.ltx2.use_distilled_sigmas": true,
"pipeline.minimax_h3.taeh3_chunk_size": 5,
"pipeline.minimax_h3.vae_parallel_decode": false,
"pipeline.minimax_h3.vae_parallel_encode": false,
"pipeline.minimax_h3.video_decode_backend": "h3-vae",
"pipeline.model.legacy_native_noise_order": false,
"pipeline.model.refine.add_noise": true,
"pipeline.model.refine.enabled": false,
"pipeline.model.refine.guidance_scale": 1.0,
"pipeline.model.refine.num_inference_steps": 3,
"pipeline.model.use_distilled_sigmas": true,
"pipeline.workload_type": "t2v"
}
]
@@ -391,20 +411,14 @@
"upsampler_weights": null,
"vae_weights": null
},
"dit": {},
"dmd_denoising_steps": null,
"embedded_cfg_scale": 6.0,
"experimental": {},
"flow_shift": null,
"longcat": {
"bsa_cdf_threshold": null,
"bsa_chunk_k": null,
"bsa_chunk_q": null,
"bsa_sparsity": null,
"enable_bsa": null
},
"ltx2": {
"model": {
"audio_latent_path": null,
"dit": {},
"family": "ltx2",
"initial_latent_path": null,
"legacy_native_noise_order": false,
"refine": {
@@ -420,25 +434,16 @@
"video_position_offset_sec": null
},
"use_distilled_sigmas": true,
"vae": {},
"vae_spatial_tile_overlap_in_pixels": null,
"vae_spatial_tile_size_in_pixels": null,
"vae_temporal_tile_overlap_in_frames": null,
"vae_temporal_tile_size_in_frames": null
},
"minimax_h3": {
"sequential_load": null,
"taeh3_checkpoint": null,
"taeh3_chunk_size": 5,
"vae_parallel_decode": false,
"vae_parallel_decode_strategy": "gather",
"vae_parallel_encode": false,
"video_decode_backend": "h3-vae"
},
"output_type": "pil",
"preset": null,
"preset_overrides": {},
"preset_version": null,
"vae": {},
"vae_sp": false,
"vae_tiling": true,
"workload_type": "t2v"
@@ -257,9 +257,33 @@
"pipeline_config_class": "fastvideo.pipelines.basic.ltx2.pipeline_configs.LTX2T2VConfig",
"resolution_decisions": [
[
"fill_vae_parallel_from_env",
"fill_model_family[ltx2]",
{
"pipeline.minimax_h3.vae_parallel_decode_strategy": "gather"
"pipeline.model": {
"audio_latent_path": null,
"dit": {},
"family": "ltx2",
"initial_latent_path": null,
"legacy_native_noise_order": null,
"refine": {
"add_noise": null,
"audio_noise_path": null,
"enabled": null,
"guidance_scale": null,
"image_crf": null,
"lora_path": null,
"noise_path": null,
"num_inference_steps": null,
"transformer_path": null,
"video_position_offset_sec": null
},
"use_distilled_sigmas": null,
"vae": {},
"vae_spatial_tile_overlap_in_pixels": null,
"vae_spatial_tile_size_in_pixels": null,
"vae_temporal_tile_overlap_in_frames": null,
"vae_temporal_tile_size_in_frames": null
}
}
],
[
@@ -299,16 +323,12 @@
"engine.compile.regional": false,
"engine.compile.text_encoder_enabled": false,
"engine.compile.vae_enabled": false,
"pipeline.ltx2.legacy_native_noise_order": false,
"pipeline.ltx2.refine.add_noise": true,
"pipeline.ltx2.refine.enabled": false,
"pipeline.ltx2.refine.guidance_scale": 1.0,
"pipeline.ltx2.refine.num_inference_steps": 3,
"pipeline.ltx2.use_distilled_sigmas": true,
"pipeline.minimax_h3.taeh3_chunk_size": 5,
"pipeline.minimax_h3.vae_parallel_decode": false,
"pipeline.minimax_h3.vae_parallel_encode": false,
"pipeline.minimax_h3.video_decode_backend": "h3-vae",
"pipeline.model.legacy_native_noise_order": false,
"pipeline.model.refine.add_noise": true,
"pipeline.model.refine.enabled": false,
"pipeline.model.refine.guidance_scale": 1.0,
"pipeline.model.refine.num_inference_steps": 3,
"pipeline.model.use_distilled_sigmas": true,
"pipeline.workload_type": "t2v"
}
]
@@ -391,20 +411,14 @@
"upsampler_weights": null,
"vae_weights": null
},
"dit": {},
"dmd_denoising_steps": null,
"embedded_cfg_scale": 6.0,
"experimental": {},
"flow_shift": null,
"longcat": {
"bsa_cdf_threshold": null,
"bsa_chunk_k": null,
"bsa_chunk_q": null,
"bsa_sparsity": null,
"enable_bsa": null
},
"ltx2": {
"model": {
"audio_latent_path": null,
"dit": {},
"family": "ltx2",
"initial_latent_path": null,
"legacy_native_noise_order": false,
"refine": {
@@ -420,25 +434,16 @@
"video_position_offset_sec": null
},
"use_distilled_sigmas": true,
"vae": {},
"vae_spatial_tile_overlap_in_pixels": null,
"vae_spatial_tile_size_in_pixels": null,
"vae_temporal_tile_overlap_in_frames": null,
"vae_temporal_tile_size_in_frames": null
},
"minimax_h3": {
"sequential_load": null,
"taeh3_checkpoint": null,
"taeh3_chunk_size": 5,
"vae_parallel_decode": false,
"vae_parallel_decode_strategy": "gather",
"vae_parallel_encode": false,
"video_decode_backend": "h3-vae"
},
"output_type": "pil",
"preset": null,
"preset_overrides": {},
"preset_version": null,
"vae": {},
"vae_sp": false,
"vae_tiling": true,
"workload_type": "t2v"
@@ -257,9 +257,33 @@
"pipeline_config_class": "fastvideo.pipelines.basic.ltx2.pipeline_configs.LTX2T2VConfig",
"resolution_decisions": [
[
"fill_vae_parallel_from_env",
"fill_model_family[ltx2]",
{
"pipeline.minimax_h3.vae_parallel_decode_strategy": "gather"
"pipeline.model": {
"audio_latent_path": null,
"dit": {},
"family": "ltx2",
"initial_latent_path": null,
"legacy_native_noise_order": null,
"refine": {
"add_noise": null,
"audio_noise_path": null,
"enabled": null,
"guidance_scale": null,
"image_crf": null,
"lora_path": null,
"noise_path": null,
"num_inference_steps": null,
"transformer_path": null,
"video_position_offset_sec": null
},
"use_distilled_sigmas": null,
"vae": {},
"vae_spatial_tile_overlap_in_pixels": null,
"vae_spatial_tile_size_in_pixels": null,
"vae_temporal_tile_overlap_in_frames": null,
"vae_temporal_tile_size_in_frames": null
}
}
],
[
@@ -299,16 +323,12 @@
"engine.compile.regional": false,
"engine.compile.text_encoder_enabled": false,
"engine.compile.vae_enabled": false,
"pipeline.ltx2.legacy_native_noise_order": false,
"pipeline.ltx2.refine.add_noise": true,
"pipeline.ltx2.refine.enabled": false,
"pipeline.ltx2.refine.guidance_scale": 1.0,
"pipeline.ltx2.refine.num_inference_steps": 3,
"pipeline.ltx2.use_distilled_sigmas": true,
"pipeline.minimax_h3.taeh3_chunk_size": 5,
"pipeline.minimax_h3.vae_parallel_decode": false,
"pipeline.minimax_h3.vae_parallel_encode": false,
"pipeline.minimax_h3.video_decode_backend": "h3-vae",
"pipeline.model.legacy_native_noise_order": false,
"pipeline.model.refine.add_noise": true,
"pipeline.model.refine.enabled": false,
"pipeline.model.refine.guidance_scale": 1.0,
"pipeline.model.refine.num_inference_steps": 3,
"pipeline.model.use_distilled_sigmas": true,
"pipeline.workload_type": "t2v"
}
]
@@ -391,20 +411,14 @@
"upsampler_weights": null,
"vae_weights": null
},
"dit": {},
"dmd_denoising_steps": null,
"embedded_cfg_scale": 6.0,
"experimental": {},
"flow_shift": null,
"longcat": {
"bsa_cdf_threshold": null,
"bsa_chunk_k": null,
"bsa_chunk_q": null,
"bsa_sparsity": null,
"enable_bsa": null
},
"ltx2": {
"model": {
"audio_latent_path": null,
"dit": {},
"family": "ltx2",
"initial_latent_path": null,
"legacy_native_noise_order": false,
"refine": {
@@ -420,25 +434,16 @@
"video_position_offset_sec": null
},
"use_distilled_sigmas": true,
"vae": {},
"vae_spatial_tile_overlap_in_pixels": null,
"vae_spatial_tile_size_in_pixels": null,
"vae_temporal_tile_overlap_in_frames": null,
"vae_temporal_tile_size_in_frames": null
},
"minimax_h3": {
"sequential_load": null,
"taeh3_checkpoint": null,
"taeh3_chunk_size": 5,
"vae_parallel_decode": false,
"vae_parallel_decode_strategy": "gather",
"vae_parallel_encode": false,
"video_decode_backend": "h3-vae"
},
"output_type": "pil",
"preset": null,
"preset_overrides": {},
"preset_version": null,
"vae": {},
"vae_sp": false,
"vae_tiling": true,
"workload_type": "t2v"
@@ -284,9 +284,13 @@
"pipeline_config_class": "fastvideo.configs.pipelines.lingbot_video.LingBotVideoT2VConfig",
"resolution_decisions": [
[
"fill_vae_parallel_from_env",
"fill_model_family[generic]",
{
"pipeline.minimax_h3.vae_parallel_decode_strategy": "gather"
"pipeline.model": {
"dit": {},
"family": "generic",
"vae": {}
}
}
],
[
@@ -327,16 +331,6 @@
"engine.compile.regional": false,
"engine.compile.text_encoder_enabled": false,
"engine.compile.vae_enabled": false,
"pipeline.ltx2.legacy_native_noise_order": false,
"pipeline.ltx2.refine.add_noise": true,
"pipeline.ltx2.refine.enabled": false,
"pipeline.ltx2.refine.guidance_scale": 1.0,
"pipeline.ltx2.refine.num_inference_steps": 3,
"pipeline.ltx2.use_distilled_sigmas": true,
"pipeline.minimax_h3.taeh3_chunk_size": 5,
"pipeline.minimax_h3.vae_parallel_decode": false,
"pipeline.minimax_h3.vae_parallel_encode": false,
"pipeline.minimax_h3.video_decode_backend": "h3-vae",
"pipeline.workload_type": "t2v"
}
]
@@ -419,54 +413,19 @@
"upsampler_weights": null,
"vae_weights": null
},
"dit": {},
"dmd_denoising_steps": null,
"embedded_cfg_scale": null,
"experimental": {},
"flow_shift": 3.0,
"longcat": {
"bsa_cdf_threshold": null,
"bsa_chunk_k": null,
"bsa_chunk_q": null,
"bsa_sparsity": null,
"enable_bsa": null
},
"ltx2": {
"audio_latent_path": null,
"initial_latent_path": null,
"legacy_native_noise_order": false,
"refine": {
"add_noise": true,
"audio_noise_path": null,
"enabled": false,
"guidance_scale": 1.0,
"image_crf": null,
"lora_path": null,
"noise_path": null,
"num_inference_steps": 3,
"transformer_path": null,
"video_position_offset_sec": null
},
"use_distilled_sigmas": true,
"vae_spatial_tile_overlap_in_pixels": null,
"vae_spatial_tile_size_in_pixels": null,
"vae_temporal_tile_overlap_in_frames": null,
"vae_temporal_tile_size_in_frames": null
},
"minimax_h3": {
"sequential_load": null,
"taeh3_checkpoint": null,
"taeh3_chunk_size": 5,
"vae_parallel_decode": false,
"vae_parallel_decode_strategy": "gather",
"vae_parallel_encode": false,
"video_decode_backend": "h3-vae"
"model": {
"dit": {},
"family": "generic",
"vae": {}
},
"output_type": "pil",
"preset": null,
"preset_overrides": {},
"preset_version": null,
"vae": {},
"vae_sp": false,
"vae_tiling": false,
"workload_type": "t2v"
@@ -284,9 +284,13 @@
"pipeline_config_class": "fastvideo.configs.pipelines.lingbot_video.LingBotVideoT2VConfig",
"resolution_decisions": [
[
"fill_vae_parallel_from_env",
"fill_model_family[generic]",
{
"pipeline.minimax_h3.vae_parallel_decode_strategy": "gather"
"pipeline.model": {
"dit": {},
"family": "generic",
"vae": {}
}
}
],
[
@@ -327,16 +331,6 @@
"engine.compile.regional": false,
"engine.compile.text_encoder_enabled": false,
"engine.compile.vae_enabled": false,
"pipeline.ltx2.legacy_native_noise_order": false,
"pipeline.ltx2.refine.add_noise": true,
"pipeline.ltx2.refine.enabled": false,
"pipeline.ltx2.refine.guidance_scale": 1.0,
"pipeline.ltx2.refine.num_inference_steps": 3,
"pipeline.ltx2.use_distilled_sigmas": true,
"pipeline.minimax_h3.taeh3_chunk_size": 5,
"pipeline.minimax_h3.vae_parallel_decode": false,
"pipeline.minimax_h3.vae_parallel_encode": false,
"pipeline.minimax_h3.video_decode_backend": "h3-vae",
"pipeline.workload_type": "t2v"
}
]
@@ -419,54 +413,19 @@
"upsampler_weights": null,
"vae_weights": null
},
"dit": {},
"dmd_denoising_steps": null,
"embedded_cfg_scale": null,
"experimental": {},
"flow_shift": 3.0,
"longcat": {
"bsa_cdf_threshold": null,
"bsa_chunk_k": null,
"bsa_chunk_q": null,
"bsa_sparsity": null,
"enable_bsa": null
},
"ltx2": {
"audio_latent_path": null,
"initial_latent_path": null,
"legacy_native_noise_order": false,
"refine": {
"add_noise": true,
"audio_noise_path": null,
"enabled": false,
"guidance_scale": 1.0,
"image_crf": null,
"lora_path": null,
"noise_path": null,
"num_inference_steps": 3,
"transformer_path": null,
"video_position_offset_sec": null
},
"use_distilled_sigmas": true,
"vae_spatial_tile_overlap_in_pixels": null,
"vae_spatial_tile_size_in_pixels": null,
"vae_temporal_tile_overlap_in_frames": null,
"vae_temporal_tile_size_in_frames": null
},
"minimax_h3": {
"sequential_load": null,
"taeh3_checkpoint": null,
"taeh3_chunk_size": 5,
"vae_parallel_decode": false,
"vae_parallel_decode_strategy": "gather",
"vae_parallel_encode": false,
"video_decode_backend": "h3-vae"
"model": {
"dit": {},
"family": "generic",
"vae": {}
},
"output_type": "pil",
"preset": null,
"preset_overrides": {},
"preset_version": null,
"vae": {},
"vae_sp": false,
"vae_tiling": false,
"workload_type": "t2v"
@@ -306,9 +306,13 @@
"pipeline_config_class": "fastvideo.configs.pipelines.lingbotworld.LingBotWorldI2V480PConfig",
"resolution_decisions": [
[
"fill_vae_parallel_from_env",
"fill_model_family[generic]",
{
"pipeline.minimax_h3.vae_parallel_decode_strategy": "gather"
"pipeline.model": {
"dit": {},
"family": "generic",
"vae": {}
}
}
],
[
@@ -351,16 +355,6 @@
"engine.compile.regional": false,
"engine.compile.text_encoder_enabled": false,
"engine.compile.vae_enabled": false,
"pipeline.ltx2.legacy_native_noise_order": false,
"pipeline.ltx2.refine.add_noise": true,
"pipeline.ltx2.refine.enabled": false,
"pipeline.ltx2.refine.guidance_scale": 1.0,
"pipeline.ltx2.refine.num_inference_steps": 3,
"pipeline.ltx2.use_distilled_sigmas": true,
"pipeline.minimax_h3.taeh3_chunk_size": 5,
"pipeline.minimax_h3.vae_parallel_decode": false,
"pipeline.minimax_h3.vae_parallel_encode": false,
"pipeline.minimax_h3.video_decode_backend": "h3-vae",
"pipeline.workload_type": "t2v"
}
]
@@ -443,54 +437,19 @@
"upsampler_weights": null,
"vae_weights": null
},
"dit": {},
"dmd_denoising_steps": null,
"embedded_cfg_scale": 6.0,
"experimental": {},
"flow_shift": 10.0,
"longcat": {
"bsa_cdf_threshold": null,
"bsa_chunk_k": null,
"bsa_chunk_q": null,
"bsa_sparsity": null,
"enable_bsa": null
},
"ltx2": {
"audio_latent_path": null,
"initial_latent_path": null,
"legacy_native_noise_order": false,
"refine": {
"add_noise": true,
"audio_noise_path": null,
"enabled": false,
"guidance_scale": 1.0,
"image_crf": null,
"lora_path": null,
"noise_path": null,
"num_inference_steps": 3,
"transformer_path": null,
"video_position_offset_sec": null
},
"use_distilled_sigmas": true,
"vae_spatial_tile_overlap_in_pixels": null,
"vae_spatial_tile_size_in_pixels": null,
"vae_temporal_tile_overlap_in_frames": null,
"vae_temporal_tile_size_in_frames": null
},
"minimax_h3": {
"sequential_load": null,
"taeh3_checkpoint": null,
"taeh3_chunk_size": 5,
"vae_parallel_decode": false,
"vae_parallel_decode_strategy": "gather",
"vae_parallel_encode": false,
"video_decode_backend": "h3-vae"
"model": {
"dit": {},
"family": "generic",
"vae": {}
},
"output_type": "pil",
"preset": null,
"preset_overrides": {},
"preset_version": null,
"vae": {},
"vae_sp": false,
"vae_tiling": false,
"workload_type": "t2v"
@@ -276,9 +276,18 @@
"pipeline_config_class": "fastvideo.configs.pipelines.longcat.LongCatT2V480PConfig",
"resolution_decisions": [
[
"fill_vae_parallel_from_env",
"fill_model_family[longcat]",
{
"pipeline.minimax_h3.vae_parallel_decode_strategy": "gather"
"pipeline.model": {
"bsa_cdf_threshold": null,
"bsa_chunk_k": null,
"bsa_chunk_q": null,
"bsa_sparsity": null,
"dit": {},
"enable_bsa": null,
"family": "longcat",
"vae": {}
}
}
],
[
@@ -291,7 +300,7 @@
],
"engine.precision.vae": "bf16",
"pipeline.embedded_cfg_scale": 6.0,
"pipeline.longcat.enable_bsa": false,
"pipeline.model.enable_bsa": false,
"pipeline.vae_sp": false
}
],
@@ -319,16 +328,6 @@
"engine.compile.regional": false,
"engine.compile.text_encoder_enabled": false,
"engine.compile.vae_enabled": false,
"pipeline.ltx2.legacy_native_noise_order": false,
"pipeline.ltx2.refine.add_noise": true,
"pipeline.ltx2.refine.enabled": false,
"pipeline.ltx2.refine.guidance_scale": 1.0,
"pipeline.ltx2.refine.num_inference_steps": 3,
"pipeline.ltx2.use_distilled_sigmas": true,
"pipeline.minimax_h3.taeh3_chunk_size": 5,
"pipeline.minimax_h3.vae_parallel_decode": false,
"pipeline.minimax_h3.vae_parallel_encode": false,
"pipeline.minimax_h3.video_decode_backend": "h3-vae",
"pipeline.workload_type": "t2v"
}
]
@@ -411,54 +410,24 @@
"upsampler_weights": null,
"vae_weights": null
},
"dit": {},
"dmd_denoising_steps": null,
"embedded_cfg_scale": 6.0,
"experimental": {},
"flow_shift": null,
"longcat": {
"model": {
"bsa_cdf_threshold": null,
"bsa_chunk_k": null,
"bsa_chunk_q": null,
"bsa_sparsity": null,
"enable_bsa": false
},
"ltx2": {
"audio_latent_path": null,
"initial_latent_path": null,
"legacy_native_noise_order": false,
"refine": {
"add_noise": true,
"audio_noise_path": null,
"enabled": false,
"guidance_scale": 1.0,
"image_crf": null,
"lora_path": null,
"noise_path": null,
"num_inference_steps": 3,
"transformer_path": null,
"video_position_offset_sec": null
},
"use_distilled_sigmas": true,
"vae_spatial_tile_overlap_in_pixels": null,
"vae_spatial_tile_size_in_pixels": null,
"vae_temporal_tile_overlap_in_frames": null,
"vae_temporal_tile_size_in_frames": null
},
"minimax_h3": {
"sequential_load": null,
"taeh3_checkpoint": null,
"taeh3_chunk_size": 5,
"vae_parallel_decode": false,
"vae_parallel_decode_strategy": "gather",
"vae_parallel_encode": false,
"video_decode_backend": "h3-vae"
"dit": {},
"enable_bsa": false,
"family": "longcat",
"vae": {}
},
"output_type": "pil",
"preset": null,
"preset_overrides": {},
"preset_version": null,
"vae": {},
"vae_sp": false,
"vae_tiling": false,
"workload_type": "t2v"
@@ -276,9 +276,18 @@
"pipeline_config_class": "fastvideo.configs.pipelines.longcat.LongCatT2V480PConfig",
"resolution_decisions": [
[
"fill_vae_parallel_from_env",
"fill_model_family[longcat]",
{
"pipeline.minimax_h3.vae_parallel_decode_strategy": "gather"
"pipeline.model": {
"bsa_cdf_threshold": null,
"bsa_chunk_k": null,
"bsa_chunk_q": null,
"bsa_sparsity": null,
"dit": {},
"enable_bsa": null,
"family": "longcat",
"vae": {}
}
}
],
[
@@ -291,7 +300,7 @@
],
"engine.precision.vae": "bf16",
"pipeline.embedded_cfg_scale": 6.0,
"pipeline.longcat.enable_bsa": false,
"pipeline.model.enable_bsa": false,
"pipeline.vae_sp": false
}
],
@@ -319,16 +328,6 @@
"engine.compile.regional": false,
"engine.compile.text_encoder_enabled": false,
"engine.compile.vae_enabled": false,
"pipeline.ltx2.legacy_native_noise_order": false,
"pipeline.ltx2.refine.add_noise": true,
"pipeline.ltx2.refine.enabled": false,
"pipeline.ltx2.refine.guidance_scale": 1.0,
"pipeline.ltx2.refine.num_inference_steps": 3,
"pipeline.ltx2.use_distilled_sigmas": true,
"pipeline.minimax_h3.taeh3_chunk_size": 5,
"pipeline.minimax_h3.vae_parallel_decode": false,
"pipeline.minimax_h3.vae_parallel_encode": false,
"pipeline.minimax_h3.video_decode_backend": "h3-vae",
"pipeline.workload_type": "t2v"
}
]
@@ -411,54 +410,24 @@
"upsampler_weights": null,
"vae_weights": null
},
"dit": {},
"dmd_denoising_steps": null,
"embedded_cfg_scale": 6.0,
"experimental": {},
"flow_shift": null,
"longcat": {
"model": {
"bsa_cdf_threshold": null,
"bsa_chunk_k": null,
"bsa_chunk_q": null,
"bsa_sparsity": null,
"enable_bsa": false
},
"ltx2": {
"audio_latent_path": null,
"initial_latent_path": null,
"legacy_native_noise_order": false,
"refine": {
"add_noise": true,
"audio_noise_path": null,
"enabled": false,
"guidance_scale": 1.0,
"image_crf": null,
"lora_path": null,
"noise_path": null,
"num_inference_steps": 3,
"transformer_path": null,
"video_position_offset_sec": null
},
"use_distilled_sigmas": true,
"vae_spatial_tile_overlap_in_pixels": null,
"vae_spatial_tile_size_in_pixels": null,
"vae_temporal_tile_overlap_in_frames": null,
"vae_temporal_tile_size_in_frames": null
},
"minimax_h3": {
"sequential_load": null,
"taeh3_checkpoint": null,
"taeh3_chunk_size": 5,
"vae_parallel_decode": false,
"vae_parallel_decode_strategy": "gather",
"vae_parallel_encode": false,
"video_decode_backend": "h3-vae"
"dit": {},
"enable_bsa": false,
"family": "longcat",
"vae": {}
},
"output_type": "pil",
"preset": null,
"preset_overrides": {},
"preset_version": null,
"vae": {},
"vae_sp": false,
"vae_tiling": false,
"workload_type": "t2v"
@@ -276,9 +276,18 @@
"pipeline_config_class": "fastvideo.configs.pipelines.longcat.LongCatT2V480PConfig",
"resolution_decisions": [
[
"fill_vae_parallel_from_env",
"fill_model_family[longcat]",
{
"pipeline.minimax_h3.vae_parallel_decode_strategy": "gather"
"pipeline.model": {
"bsa_cdf_threshold": null,
"bsa_chunk_k": null,
"bsa_chunk_q": null,
"bsa_sparsity": null,
"dit": {},
"enable_bsa": null,
"family": "longcat",
"vae": {}
}
}
],
[
@@ -291,7 +300,7 @@
],
"engine.precision.vae": "bf16",
"pipeline.embedded_cfg_scale": 6.0,
"pipeline.longcat.enable_bsa": false,
"pipeline.model.enable_bsa": false,
"pipeline.vae_sp": false
}
],
@@ -319,16 +328,6 @@
"engine.compile.regional": false,
"engine.compile.text_encoder_enabled": false,
"engine.compile.vae_enabled": false,
"pipeline.ltx2.legacy_native_noise_order": false,
"pipeline.ltx2.refine.add_noise": true,
"pipeline.ltx2.refine.enabled": false,
"pipeline.ltx2.refine.guidance_scale": 1.0,
"pipeline.ltx2.refine.num_inference_steps": 3,
"pipeline.ltx2.use_distilled_sigmas": true,
"pipeline.minimax_h3.taeh3_chunk_size": 5,
"pipeline.minimax_h3.vae_parallel_decode": false,
"pipeline.minimax_h3.vae_parallel_encode": false,
"pipeline.minimax_h3.video_decode_backend": "h3-vae",
"pipeline.workload_type": "t2v"
}
]
@@ -411,54 +410,24 @@
"upsampler_weights": null,
"vae_weights": null
},
"dit": {},
"dmd_denoising_steps": null,
"embedded_cfg_scale": 6.0,
"experimental": {},
"flow_shift": null,
"longcat": {
"model": {
"bsa_cdf_threshold": null,
"bsa_chunk_k": null,
"bsa_chunk_q": null,
"bsa_sparsity": null,
"enable_bsa": false
},
"ltx2": {
"audio_latent_path": null,
"initial_latent_path": null,
"legacy_native_noise_order": false,
"refine": {
"add_noise": true,
"audio_noise_path": null,
"enabled": false,
"guidance_scale": 1.0,
"image_crf": null,
"lora_path": null,
"noise_path": null,
"num_inference_steps": 3,
"transformer_path": null,
"video_position_offset_sec": null
},
"use_distilled_sigmas": true,
"vae_spatial_tile_overlap_in_pixels": null,
"vae_spatial_tile_size_in_pixels": null,
"vae_temporal_tile_overlap_in_frames": null,
"vae_temporal_tile_size_in_frames": null
},
"minimax_h3": {
"sequential_load": null,
"taeh3_checkpoint": null,
"taeh3_chunk_size": 5,
"vae_parallel_decode": false,
"vae_parallel_decode_strategy": "gather",
"vae_parallel_encode": false,
"video_decode_backend": "h3-vae"
"dit": {},
"enable_bsa": false,
"family": "longcat",
"vae": {}
},
"output_type": "pil",
"preset": null,
"preset_overrides": {},
"preset_version": null,
"vae": {},
"vae_sp": false,
"vae_tiling": false,
"workload_type": "t2v"
@@ -305,9 +305,13 @@
"pipeline_config_class": "fastvideo.configs.pipelines.mmaudio.MMAudioV2AConfig",
"resolution_decisions": [
[
"fill_vae_parallel_from_env",
"fill_model_family[generic]",
{
"pipeline.minimax_h3.vae_parallel_decode_strategy": "gather"
"pipeline.model": {
"dit": {},
"family": "generic",
"vae": {}
}
}
],
[
@@ -347,16 +351,6 @@
"engine.compile.regional": false,
"engine.compile.text_encoder_enabled": false,
"engine.compile.vae_enabled": false,
"pipeline.ltx2.legacy_native_noise_order": false,
"pipeline.ltx2.refine.add_noise": true,
"pipeline.ltx2.refine.enabled": false,
"pipeline.ltx2.refine.guidance_scale": 1.0,
"pipeline.ltx2.refine.num_inference_steps": 3,
"pipeline.ltx2.use_distilled_sigmas": true,
"pipeline.minimax_h3.taeh3_chunk_size": 5,
"pipeline.minimax_h3.vae_parallel_decode": false,
"pipeline.minimax_h3.vae_parallel_encode": false,
"pipeline.minimax_h3.video_decode_backend": "h3-vae",
"pipeline.workload_type": "t2v"
}
]
@@ -439,54 +433,19 @@
"upsampler_weights": null,
"vae_weights": null
},
"dit": {},
"dmd_denoising_steps": null,
"embedded_cfg_scale": 6.0,
"experimental": {},
"flow_shift": null,
"longcat": {
"bsa_cdf_threshold": null,
"bsa_chunk_k": null,
"bsa_chunk_q": null,
"bsa_sparsity": null,
"enable_bsa": null
},
"ltx2": {
"audio_latent_path": null,
"initial_latent_path": null,
"legacy_native_noise_order": false,
"refine": {
"add_noise": true,
"audio_noise_path": null,
"enabled": false,
"guidance_scale": 1.0,
"image_crf": null,
"lora_path": null,
"noise_path": null,
"num_inference_steps": 3,
"transformer_path": null,
"video_position_offset_sec": null
},
"use_distilled_sigmas": true,
"vae_spatial_tile_overlap_in_pixels": null,
"vae_spatial_tile_size_in_pixels": null,
"vae_temporal_tile_overlap_in_frames": null,
"vae_temporal_tile_size_in_frames": null
},
"minimax_h3": {
"sequential_load": null,
"taeh3_checkpoint": null,
"taeh3_chunk_size": 5,
"vae_parallel_decode": false,
"vae_parallel_decode_strategy": "gather",
"vae_parallel_encode": false,
"video_decode_backend": "h3-vae"
"model": {
"dit": {},
"family": "generic",
"vae": {}
},
"output_type": "pil",
"preset": null,
"preset_overrides": {},
"preset_version": null,
"vae": {},
"vae_sp": false,
"vae_tiling": false,
"workload_type": "t2v"
@@ -365,9 +365,13 @@
"pipeline_config_class": "fastvideo.configs.pipelines.matrixgame2.MatrixGame2I2V480PConfig",
"resolution_decisions": [
[
"fill_vae_parallel_from_env",
"fill_model_family[generic]",
{
"pipeline.minimax_h3.vae_parallel_decode_strategy": "gather"
"pipeline.model": {
"dit": {},
"family": "generic",
"vae": {}
}
}
],
[
@@ -414,16 +418,6 @@
"engine.compile.regional": false,
"engine.compile.text_encoder_enabled": false,
"engine.compile.vae_enabled": false,
"pipeline.ltx2.legacy_native_noise_order": false,
"pipeline.ltx2.refine.add_noise": true,
"pipeline.ltx2.refine.enabled": false,
"pipeline.ltx2.refine.guidance_scale": 1.0,
"pipeline.ltx2.refine.num_inference_steps": 3,
"pipeline.ltx2.use_distilled_sigmas": true,
"pipeline.minimax_h3.taeh3_chunk_size": 5,
"pipeline.minimax_h3.vae_parallel_decode": false,
"pipeline.minimax_h3.vae_parallel_encode": false,
"pipeline.minimax_h3.video_decode_backend": "h3-vae",
"pipeline.workload_type": "t2v"
}
]
@@ -506,7 +500,6 @@
"upsampler_weights": null,
"vae_weights": null
},
"dit": {},
"dmd_denoising_steps": [
1000,
666,
@@ -515,49 +508,15 @@
"embedded_cfg_scale": 6.0,
"experimental": {},
"flow_shift": 5.0,
"longcat": {
"bsa_cdf_threshold": null,
"bsa_chunk_k": null,
"bsa_chunk_q": null,
"bsa_sparsity": null,
"enable_bsa": null
},
"ltx2": {
"audio_latent_path": null,
"initial_latent_path": null,
"legacy_native_noise_order": false,
"refine": {
"add_noise": true,
"audio_noise_path": null,
"enabled": false,
"guidance_scale": 1.0,
"image_crf": null,
"lora_path": null,
"noise_path": null,
"num_inference_steps": 3,
"transformer_path": null,
"video_position_offset_sec": null
},
"use_distilled_sigmas": true,
"vae_spatial_tile_overlap_in_pixels": null,
"vae_spatial_tile_size_in_pixels": null,
"vae_temporal_tile_overlap_in_frames": null,
"vae_temporal_tile_size_in_frames": null
},
"minimax_h3": {
"sequential_load": null,
"taeh3_checkpoint": null,
"taeh3_chunk_size": 5,
"vae_parallel_decode": false,
"vae_parallel_decode_strategy": "gather",
"vae_parallel_encode": false,
"video_decode_backend": "h3-vae"
"model": {
"dit": {},
"family": "generic",
"vae": {}
},
"output_type": "pil",
"preset": null,
"preset_overrides": {},
"preset_version": null,
"vae": {},
"vae_sp": false,
"vae_tiling": false,
"workload_type": "t2v"
@@ -365,9 +365,13 @@
"pipeline_config_class": "fastvideo.configs.pipelines.matrixgame2.MatrixGame2I2V480PConfig",
"resolution_decisions": [
[
"fill_vae_parallel_from_env",
"fill_model_family[generic]",
{
"pipeline.minimax_h3.vae_parallel_decode_strategy": "gather"
"pipeline.model": {
"dit": {},
"family": "generic",
"vae": {}
}
}
],
[
@@ -414,16 +418,6 @@
"engine.compile.regional": false,
"engine.compile.text_encoder_enabled": false,
"engine.compile.vae_enabled": false,
"pipeline.ltx2.legacy_native_noise_order": false,
"pipeline.ltx2.refine.add_noise": true,
"pipeline.ltx2.refine.enabled": false,
"pipeline.ltx2.refine.guidance_scale": 1.0,
"pipeline.ltx2.refine.num_inference_steps": 3,
"pipeline.ltx2.use_distilled_sigmas": true,
"pipeline.minimax_h3.taeh3_chunk_size": 5,
"pipeline.minimax_h3.vae_parallel_decode": false,
"pipeline.minimax_h3.vae_parallel_encode": false,
"pipeline.minimax_h3.video_decode_backend": "h3-vae",
"pipeline.workload_type": "t2v"
}
]
@@ -506,7 +500,6 @@
"upsampler_weights": null,
"vae_weights": null
},
"dit": {},
"dmd_denoising_steps": [
1000,
666,
@@ -515,49 +508,15 @@
"embedded_cfg_scale": 6.0,
"experimental": {},
"flow_shift": 5.0,
"longcat": {
"bsa_cdf_threshold": null,
"bsa_chunk_k": null,
"bsa_chunk_q": null,
"bsa_sparsity": null,
"enable_bsa": null
},
"ltx2": {
"audio_latent_path": null,
"initial_latent_path": null,
"legacy_native_noise_order": false,
"refine": {
"add_noise": true,
"audio_noise_path": null,
"enabled": false,
"guidance_scale": 1.0,
"image_crf": null,
"lora_path": null,
"noise_path": null,
"num_inference_steps": 3,
"transformer_path": null,
"video_position_offset_sec": null
},
"use_distilled_sigmas": true,
"vae_spatial_tile_overlap_in_pixels": null,
"vae_spatial_tile_size_in_pixels": null,
"vae_temporal_tile_overlap_in_frames": null,
"vae_temporal_tile_size_in_frames": null
},
"minimax_h3": {
"sequential_load": null,
"taeh3_checkpoint": null,
"taeh3_chunk_size": 5,
"vae_parallel_decode": false,
"vae_parallel_decode_strategy": "gather",
"vae_parallel_encode": false,
"video_decode_backend": "h3-vae"
"model": {
"dit": {},
"family": "generic",
"vae": {}
},
"output_type": "pil",
"preset": null,
"preset_overrides": {},
"preset_version": null,
"vae": {},
"vae_sp": false,
"vae_tiling": false,
"workload_type": "t2v"
@@ -365,9 +365,13 @@
"pipeline_config_class": "fastvideo.configs.pipelines.matrixgame2.MatrixGame2I2V480PConfig",
"resolution_decisions": [
[
"fill_vae_parallel_from_env",
"fill_model_family[generic]",
{
"pipeline.minimax_h3.vae_parallel_decode_strategy": "gather"
"pipeline.model": {
"dit": {},
"family": "generic",
"vae": {}
}
}
],
[
@@ -414,16 +418,6 @@
"engine.compile.regional": false,
"engine.compile.text_encoder_enabled": false,
"engine.compile.vae_enabled": false,
"pipeline.ltx2.legacy_native_noise_order": false,
"pipeline.ltx2.refine.add_noise": true,
"pipeline.ltx2.refine.enabled": false,
"pipeline.ltx2.refine.guidance_scale": 1.0,
"pipeline.ltx2.refine.num_inference_steps": 3,
"pipeline.ltx2.use_distilled_sigmas": true,
"pipeline.minimax_h3.taeh3_chunk_size": 5,
"pipeline.minimax_h3.vae_parallel_decode": false,
"pipeline.minimax_h3.vae_parallel_encode": false,
"pipeline.minimax_h3.video_decode_backend": "h3-vae",
"pipeline.workload_type": "t2v"
}
]
@@ -506,7 +500,6 @@
"upsampler_weights": null,
"vae_weights": null
},
"dit": {},
"dmd_denoising_steps": [
1000,
666,
@@ -515,49 +508,15 @@
"embedded_cfg_scale": 6.0,
"experimental": {},
"flow_shift": 5.0,
"longcat": {
"bsa_cdf_threshold": null,
"bsa_chunk_k": null,
"bsa_chunk_q": null,
"bsa_sparsity": null,
"enable_bsa": null
},
"ltx2": {
"audio_latent_path": null,
"initial_latent_path": null,
"legacy_native_noise_order": false,
"refine": {
"add_noise": true,
"audio_noise_path": null,
"enabled": false,
"guidance_scale": 1.0,
"image_crf": null,
"lora_path": null,
"noise_path": null,
"num_inference_steps": 3,
"transformer_path": null,
"video_position_offset_sec": null
},
"use_distilled_sigmas": true,
"vae_spatial_tile_overlap_in_pixels": null,
"vae_spatial_tile_size_in_pixels": null,
"vae_temporal_tile_overlap_in_frames": null,
"vae_temporal_tile_size_in_frames": null
},
"minimax_h3": {
"sequential_load": null,
"taeh3_checkpoint": null,
"taeh3_chunk_size": 5,
"vae_parallel_decode": false,
"vae_parallel_decode_strategy": "gather",
"vae_parallel_encode": false,
"video_decode_backend": "h3-vae"
"model": {
"dit": {},
"family": "generic",
"vae": {}
},
"output_type": "pil",
"preset": null,
"preset_overrides": {},
"preset_version": null,
"vae": {},
"vae_sp": false,
"vae_tiling": false,
"workload_type": "t2v"
@@ -365,9 +365,13 @@
"pipeline_config_class": "fastvideo.configs.pipelines.matrixgame2.MatrixGame2I2V480PConfig",
"resolution_decisions": [
[
"fill_vae_parallel_from_env",
"fill_model_family[generic]",
{
"pipeline.minimax_h3.vae_parallel_decode_strategy": "gather"
"pipeline.model": {
"dit": {},
"family": "generic",
"vae": {}
}
}
],
[
@@ -414,16 +418,6 @@
"engine.compile.regional": false,
"engine.compile.text_encoder_enabled": false,
"engine.compile.vae_enabled": false,
"pipeline.ltx2.legacy_native_noise_order": false,
"pipeline.ltx2.refine.add_noise": true,
"pipeline.ltx2.refine.enabled": false,
"pipeline.ltx2.refine.guidance_scale": 1.0,
"pipeline.ltx2.refine.num_inference_steps": 3,
"pipeline.ltx2.use_distilled_sigmas": true,
"pipeline.minimax_h3.taeh3_chunk_size": 5,
"pipeline.minimax_h3.vae_parallel_decode": false,
"pipeline.minimax_h3.vae_parallel_encode": false,
"pipeline.minimax_h3.video_decode_backend": "h3-vae",
"pipeline.workload_type": "t2v"
}
]
@@ -506,7 +500,6 @@
"upsampler_weights": null,
"vae_weights": null
},
"dit": {},
"dmd_denoising_steps": [
1000,
666,
@@ -515,49 +508,15 @@
"embedded_cfg_scale": 6.0,
"experimental": {},
"flow_shift": 5.0,
"longcat": {
"bsa_cdf_threshold": null,
"bsa_chunk_k": null,
"bsa_chunk_q": null,
"bsa_sparsity": null,
"enable_bsa": null
},
"ltx2": {
"audio_latent_path": null,
"initial_latent_path": null,
"legacy_native_noise_order": false,
"refine": {
"add_noise": true,
"audio_noise_path": null,
"enabled": false,
"guidance_scale": 1.0,
"image_crf": null,
"lora_path": null,
"noise_path": null,
"num_inference_steps": 3,
"transformer_path": null,
"video_position_offset_sec": null
},
"use_distilled_sigmas": true,
"vae_spatial_tile_overlap_in_pixels": null,
"vae_spatial_tile_size_in_pixels": null,
"vae_temporal_tile_overlap_in_frames": null,
"vae_temporal_tile_size_in_frames": null
},
"minimax_h3": {
"sequential_load": null,
"taeh3_checkpoint": null,
"taeh3_chunk_size": 5,
"vae_parallel_decode": false,
"vae_parallel_decode_strategy": "gather",
"vae_parallel_encode": false,
"video_decode_backend": "h3-vae"
"model": {
"dit": {},
"family": "generic",
"vae": {}
},
"output_type": "pil",
"preset": null,
"preset_overrides": {},
"preset_version": null,
"vae": {},
"vae_sp": false,
"vae_tiling": false,
"workload_type": "t2v"
@@ -365,9 +365,13 @@
"pipeline_config_class": "fastvideo.configs.pipelines.matrixgame2.MatrixGame2I2V480PConfig",
"resolution_decisions": [
[
"fill_vae_parallel_from_env",
"fill_model_family[generic]",
{
"pipeline.minimax_h3.vae_parallel_decode_strategy": "gather"
"pipeline.model": {
"dit": {},
"family": "generic",
"vae": {}
}
}
],
[
@@ -414,16 +418,6 @@
"engine.compile.regional": false,
"engine.compile.text_encoder_enabled": false,
"engine.compile.vae_enabled": false,
"pipeline.ltx2.legacy_native_noise_order": false,
"pipeline.ltx2.refine.add_noise": true,
"pipeline.ltx2.refine.enabled": false,
"pipeline.ltx2.refine.guidance_scale": 1.0,
"pipeline.ltx2.refine.num_inference_steps": 3,
"pipeline.ltx2.use_distilled_sigmas": true,
"pipeline.minimax_h3.taeh3_chunk_size": 5,
"pipeline.minimax_h3.vae_parallel_decode": false,
"pipeline.minimax_h3.vae_parallel_encode": false,
"pipeline.minimax_h3.video_decode_backend": "h3-vae",
"pipeline.workload_type": "t2v"
}
]
@@ -506,7 +500,6 @@
"upsampler_weights": null,
"vae_weights": null
},
"dit": {},
"dmd_denoising_steps": [
1000,
666,
@@ -515,49 +508,15 @@
"embedded_cfg_scale": 6.0,
"experimental": {},
"flow_shift": 5.0,
"longcat": {
"bsa_cdf_threshold": null,
"bsa_chunk_k": null,
"bsa_chunk_q": null,
"bsa_sparsity": null,
"enable_bsa": null
},
"ltx2": {
"audio_latent_path": null,
"initial_latent_path": null,
"legacy_native_noise_order": false,
"refine": {
"add_noise": true,
"audio_noise_path": null,
"enabled": false,
"guidance_scale": 1.0,
"image_crf": null,
"lora_path": null,
"noise_path": null,
"num_inference_steps": 3,
"transformer_path": null,
"video_position_offset_sec": null
},
"use_distilled_sigmas": true,
"vae_spatial_tile_overlap_in_pixels": null,
"vae_spatial_tile_size_in_pixels": null,
"vae_temporal_tile_overlap_in_frames": null,
"vae_temporal_tile_size_in_frames": null
},
"minimax_h3": {
"sequential_load": null,
"taeh3_checkpoint": null,
"taeh3_chunk_size": 5,
"vae_parallel_decode": false,
"vae_parallel_decode_strategy": "gather",
"vae_parallel_encode": false,
"video_decode_backend": "h3-vae"
"model": {
"dit": {},
"family": "generic",
"vae": {}
},
"output_type": "pil",
"preset": null,
"preset_overrides": {},
"preset_version": null,
"vae": {},
"vae_sp": false,
"vae_tiling": false,
"workload_type": "t2v"
@@ -365,9 +365,13 @@
"pipeline_config_class": "fastvideo.configs.pipelines.matrixgame2.MatrixGame2I2V480PConfig",
"resolution_decisions": [
[
"fill_vae_parallel_from_env",
"fill_model_family[generic]",
{
"pipeline.minimax_h3.vae_parallel_decode_strategy": "gather"
"pipeline.model": {
"dit": {},
"family": "generic",
"vae": {}
}
}
],
[
@@ -414,16 +418,6 @@
"engine.compile.regional": false,
"engine.compile.text_encoder_enabled": false,
"engine.compile.vae_enabled": false,
"pipeline.ltx2.legacy_native_noise_order": false,
"pipeline.ltx2.refine.add_noise": true,
"pipeline.ltx2.refine.enabled": false,
"pipeline.ltx2.refine.guidance_scale": 1.0,
"pipeline.ltx2.refine.num_inference_steps": 3,
"pipeline.ltx2.use_distilled_sigmas": true,
"pipeline.minimax_h3.taeh3_chunk_size": 5,
"pipeline.minimax_h3.vae_parallel_decode": false,
"pipeline.minimax_h3.vae_parallel_encode": false,
"pipeline.minimax_h3.video_decode_backend": "h3-vae",
"pipeline.workload_type": "t2v"
}
]
@@ -506,7 +500,6 @@
"upsampler_weights": null,
"vae_weights": null
},
"dit": {},
"dmd_denoising_steps": [
1000,
666,
@@ -515,49 +508,15 @@
"embedded_cfg_scale": 6.0,
"experimental": {},
"flow_shift": 5.0,
"longcat": {
"bsa_cdf_threshold": null,
"bsa_chunk_k": null,
"bsa_chunk_q": null,
"bsa_sparsity": null,
"enable_bsa": null
},
"ltx2": {
"audio_latent_path": null,
"initial_latent_path": null,
"legacy_native_noise_order": false,
"refine": {
"add_noise": true,
"audio_noise_path": null,
"enabled": false,
"guidance_scale": 1.0,
"image_crf": null,
"lora_path": null,
"noise_path": null,
"num_inference_steps": 3,
"transformer_path": null,
"video_position_offset_sec": null
},
"use_distilled_sigmas": true,
"vae_spatial_tile_overlap_in_pixels": null,
"vae_spatial_tile_size_in_pixels": null,
"vae_temporal_tile_overlap_in_frames": null,
"vae_temporal_tile_size_in_frames": null
},
"minimax_h3": {
"sequential_load": null,
"taeh3_checkpoint": null,
"taeh3_chunk_size": 5,
"vae_parallel_decode": false,
"vae_parallel_decode_strategy": "gather",
"vae_parallel_encode": false,
"video_decode_backend": "h3-vae"
"model": {
"dit": {},
"family": "generic",
"vae": {}
},
"output_type": "pil",
"preset": null,
"preset_overrides": {},
"preset_version": null,
"vae": {},
"vae_sp": false,
"vae_tiling": false,
"workload_type": "t2v"
@@ -329,9 +329,13 @@
"pipeline_config_class": "fastvideo.configs.pipelines.matrixgame3.MatrixGame3I2V720PConfig",
"resolution_decisions": [
[
"fill_vae_parallel_from_env",
"fill_model_family[generic]",
{
"pipeline.minimax_h3.vae_parallel_decode_strategy": "gather"
"pipeline.model": {
"dit": {},
"family": "generic",
"vae": {}
}
}
],
[
@@ -373,16 +377,6 @@
"engine.compile.regional": false,
"engine.compile.text_encoder_enabled": false,
"engine.compile.vae_enabled": false,
"pipeline.ltx2.legacy_native_noise_order": false,
"pipeline.ltx2.refine.add_noise": true,
"pipeline.ltx2.refine.enabled": false,
"pipeline.ltx2.refine.guidance_scale": 1.0,
"pipeline.ltx2.refine.num_inference_steps": 3,
"pipeline.ltx2.use_distilled_sigmas": true,
"pipeline.minimax_h3.taeh3_chunk_size": 5,
"pipeline.minimax_h3.vae_parallel_decode": false,
"pipeline.minimax_h3.vae_parallel_encode": false,
"pipeline.minimax_h3.video_decode_backend": "h3-vae",
"pipeline.workload_type": "t2v"
}
]
@@ -465,54 +459,19 @@
"upsampler_weights": null,
"vae_weights": null
},
"dit": {},
"dmd_denoising_steps": null,
"embedded_cfg_scale": 6.0,
"experimental": {},
"flow_shift": 5.0,
"longcat": {
"bsa_cdf_threshold": null,
"bsa_chunk_k": null,
"bsa_chunk_q": null,
"bsa_sparsity": null,
"enable_bsa": null
},
"ltx2": {
"audio_latent_path": null,
"initial_latent_path": null,
"legacy_native_noise_order": false,
"refine": {
"add_noise": true,
"audio_noise_path": null,
"enabled": false,
"guidance_scale": 1.0,
"image_crf": null,
"lora_path": null,
"noise_path": null,
"num_inference_steps": 3,
"transformer_path": null,
"video_position_offset_sec": null
},
"use_distilled_sigmas": true,
"vae_spatial_tile_overlap_in_pixels": null,
"vae_spatial_tile_size_in_pixels": null,
"vae_temporal_tile_overlap_in_frames": null,
"vae_temporal_tile_size_in_frames": null
},
"minimax_h3": {
"sequential_load": null,
"taeh3_checkpoint": null,
"taeh3_chunk_size": 5,
"vae_parallel_decode": false,
"vae_parallel_decode_strategy": "gather",
"vae_parallel_encode": false,
"video_decode_backend": "h3-vae"
"model": {
"dit": {},
"family": "generic",
"vae": {}
},
"output_type": "pil",
"preset": null,
"preset_overrides": {},
"preset_version": null,
"vae": {},
"vae_sp": false,
"vae_tiling": false,
"workload_type": "t2v"
@@ -285,9 +285,13 @@
"pipeline_config_class": "fastvideo.models.wan.pipeline_config.SelfForcingWan2_2_T2V480PConfig",
"resolution_decisions": [
[
"fill_vae_parallel_from_env",
"fill_model_family[generic]",
{
"pipeline.minimax_h3.vae_parallel_decode_strategy": "gather"
"pipeline.model": {
"dit": {},
"family": "generic",
"vae": {}
}
}
],
[
@@ -340,16 +344,6 @@
"engine.compile.regional": false,
"engine.compile.text_encoder_enabled": false,
"engine.compile.vae_enabled": false,
"pipeline.ltx2.legacy_native_noise_order": false,
"pipeline.ltx2.refine.add_noise": true,
"pipeline.ltx2.refine.enabled": false,
"pipeline.ltx2.refine.guidance_scale": 1.0,
"pipeline.ltx2.refine.num_inference_steps": 3,
"pipeline.ltx2.use_distilled_sigmas": true,
"pipeline.minimax_h3.taeh3_chunk_size": 5,
"pipeline.minimax_h3.vae_parallel_decode": false,
"pipeline.minimax_h3.vae_parallel_encode": false,
"pipeline.minimax_h3.video_decode_backend": "h3-vae",
"pipeline.workload_type": "t2v"
}
]
@@ -432,7 +426,6 @@
"upsampler_weights": null,
"vae_weights": null
},
"dit": {},
"dmd_denoising_steps": [
1000,
850,
@@ -446,49 +439,15 @@
"embedded_cfg_scale": 6.0,
"experimental": {},
"flow_shift": 12.0,
"longcat": {
"bsa_cdf_threshold": null,
"bsa_chunk_k": null,
"bsa_chunk_q": null,
"bsa_sparsity": null,
"enable_bsa": null
},
"ltx2": {
"audio_latent_path": null,
"initial_latent_path": null,
"legacy_native_noise_order": false,
"refine": {
"add_noise": true,
"audio_noise_path": null,
"enabled": false,
"guidance_scale": 1.0,
"image_crf": null,
"lora_path": null,
"noise_path": null,
"num_inference_steps": 3,
"transformer_path": null,
"video_position_offset_sec": null
},
"use_distilled_sigmas": true,
"vae_spatial_tile_overlap_in_pixels": null,
"vae_spatial_tile_size_in_pixels": null,
"vae_temporal_tile_overlap_in_frames": null,
"vae_temporal_tile_size_in_frames": null
},
"minimax_h3": {
"sequential_load": null,
"taeh3_checkpoint": null,
"taeh3_chunk_size": 5,
"vae_parallel_decode": false,
"vae_parallel_decode_strategy": "gather",
"vae_parallel_encode": false,
"video_decode_backend": "h3-vae"
"model": {
"dit": {},
"family": "generic",
"vae": {}
},
"output_type": "pil",
"preset": null,
"preset_overrides": {},
"preset_version": null,
"vae": {},
"vae_sp": false,
"vae_tiling": false,
"workload_type": "t2v"
@@ -276,9 +276,13 @@
"pipeline_config_class": "fastvideo.models.wan.pipeline_config.WanT2V720PConfig",
"resolution_decisions": [
[
"fill_vae_parallel_from_env",
"fill_model_family[generic]",
{
"pipeline.minimax_h3.vae_parallel_decode_strategy": "gather"
"pipeline.model": {
"dit": {},
"family": "generic",
"vae": {}
}
}
],
[
@@ -320,16 +324,6 @@
"engine.compile.regional": false,
"engine.compile.text_encoder_enabled": false,
"engine.compile.vae_enabled": false,
"pipeline.ltx2.legacy_native_noise_order": false,
"pipeline.ltx2.refine.add_noise": true,
"pipeline.ltx2.refine.enabled": false,
"pipeline.ltx2.refine.guidance_scale": 1.0,
"pipeline.ltx2.refine.num_inference_steps": 3,
"pipeline.ltx2.use_distilled_sigmas": true,
"pipeline.minimax_h3.taeh3_chunk_size": 5,
"pipeline.minimax_h3.vae_parallel_decode": false,
"pipeline.minimax_h3.vae_parallel_encode": false,
"pipeline.minimax_h3.video_decode_backend": "h3-vae",
"pipeline.workload_type": "t2v"
}
]
@@ -412,54 +406,19 @@
"upsampler_weights": null,
"vae_weights": null
},
"dit": {},
"dmd_denoising_steps": null,
"embedded_cfg_scale": 6.0,
"experimental": {},
"flow_shift": 5.0,
"longcat": {
"bsa_cdf_threshold": null,
"bsa_chunk_k": null,
"bsa_chunk_q": null,
"bsa_sparsity": null,
"enable_bsa": null
},
"ltx2": {
"audio_latent_path": null,
"initial_latent_path": null,
"legacy_native_noise_order": false,
"refine": {
"add_noise": true,
"audio_noise_path": null,
"enabled": false,
"guidance_scale": 1.0,
"image_crf": null,
"lora_path": null,
"noise_path": null,
"num_inference_steps": 3,
"transformer_path": null,
"video_position_offset_sec": null
},
"use_distilled_sigmas": true,
"vae_spatial_tile_overlap_in_pixels": null,
"vae_spatial_tile_size_in_pixels": null,
"vae_temporal_tile_overlap_in_frames": null,
"vae_temporal_tile_size_in_frames": null
},
"minimax_h3": {
"sequential_load": null,
"taeh3_checkpoint": null,
"taeh3_chunk_size": 5,
"vae_parallel_decode": false,
"vae_parallel_decode_strategy": "gather",
"vae_parallel_encode": false,
"video_decode_backend": "h3-vae"
"model": {
"dit": {},
"family": "generic",
"vae": {}
},
"output_type": "pil",
"preset": null,
"preset_overrides": {},
"preset_version": null,
"vae": {},
"vae_sp": false,
"vae_tiling": false,
"workload_type": "t2v"
@@ -135,9 +135,13 @@
"pipeline_config_class": "fastvideo.configs.pipelines.stable_audio.StableAudioT2AConfig",
"resolution_decisions": [
[
"fill_vae_parallel_from_env",
"fill_model_family[generic]",
{
"pipeline.minimax_h3.vae_parallel_decode_strategy": "gather"
"pipeline.model": {
"dit": {},
"family": "generic",
"vae": {}
}
}
],
[
@@ -175,16 +179,6 @@
"engine.compile.regional": false,
"engine.compile.text_encoder_enabled": false,
"engine.compile.vae_enabled": false,
"pipeline.ltx2.legacy_native_noise_order": false,
"pipeline.ltx2.refine.add_noise": true,
"pipeline.ltx2.refine.enabled": false,
"pipeline.ltx2.refine.guidance_scale": 1.0,
"pipeline.ltx2.refine.num_inference_steps": 3,
"pipeline.ltx2.use_distilled_sigmas": true,
"pipeline.minimax_h3.taeh3_chunk_size": 5,
"pipeline.minimax_h3.vae_parallel_decode": false,
"pipeline.minimax_h3.vae_parallel_encode": false,
"pipeline.minimax_h3.video_decode_backend": "h3-vae",
"pipeline.workload_type": "t2v"
}
]
@@ -265,54 +259,19 @@
"upsampler_weights": null,
"vae_weights": null
},
"dit": {},
"dmd_denoising_steps": null,
"embedded_cfg_scale": 6.0,
"experimental": {},
"flow_shift": null,
"longcat": {
"bsa_cdf_threshold": null,
"bsa_chunk_k": null,
"bsa_chunk_q": null,
"bsa_sparsity": null,
"enable_bsa": null
},
"ltx2": {
"audio_latent_path": null,
"initial_latent_path": null,
"legacy_native_noise_order": false,
"refine": {
"add_noise": true,
"audio_noise_path": null,
"enabled": false,
"guidance_scale": 1.0,
"image_crf": null,
"lora_path": null,
"noise_path": null,
"num_inference_steps": 3,
"transformer_path": null,
"video_position_offset_sec": null
},
"use_distilled_sigmas": true,
"vae_spatial_tile_overlap_in_pixels": null,
"vae_spatial_tile_size_in_pixels": null,
"vae_temporal_tile_overlap_in_frames": null,
"vae_temporal_tile_size_in_frames": null
},
"minimax_h3": {
"sequential_load": null,
"taeh3_checkpoint": null,
"taeh3_chunk_size": 5,
"vae_parallel_decode": false,
"vae_parallel_decode_strategy": "gather",
"vae_parallel_encode": false,
"video_decode_backend": "h3-vae"
"model": {
"dit": {},
"family": "generic",
"vae": {}
},
"output_type": "pil",
"preset": null,
"preset_overrides": {},
"preset_version": null,
"vae": {},
"vae_sp": false,
"vae_tiling": false,
"workload_type": "t2v"
@@ -135,9 +135,13 @@
"pipeline_config_class": "fastvideo.configs.pipelines.stable_audio.StableAudioOpenSmallConfig",
"resolution_decisions": [
[
"fill_vae_parallel_from_env",
"fill_model_family[generic]",
{
"pipeline.minimax_h3.vae_parallel_decode_strategy": "gather"
"pipeline.model": {
"dit": {},
"family": "generic",
"vae": {}
}
}
],
[
@@ -175,16 +179,6 @@
"engine.compile.regional": false,
"engine.compile.text_encoder_enabled": false,
"engine.compile.vae_enabled": false,
"pipeline.ltx2.legacy_native_noise_order": false,
"pipeline.ltx2.refine.add_noise": true,
"pipeline.ltx2.refine.enabled": false,
"pipeline.ltx2.refine.guidance_scale": 1.0,
"pipeline.ltx2.refine.num_inference_steps": 3,
"pipeline.ltx2.use_distilled_sigmas": true,
"pipeline.minimax_h3.taeh3_chunk_size": 5,
"pipeline.minimax_h3.vae_parallel_decode": false,
"pipeline.minimax_h3.vae_parallel_encode": false,
"pipeline.minimax_h3.video_decode_backend": "h3-vae",
"pipeline.workload_type": "t2v"
}
]
@@ -265,54 +259,19 @@
"upsampler_weights": null,
"vae_weights": null
},
"dit": {},
"dmd_denoising_steps": null,
"embedded_cfg_scale": 6.0,
"experimental": {},
"flow_shift": null,
"longcat": {
"bsa_cdf_threshold": null,
"bsa_chunk_k": null,
"bsa_chunk_q": null,
"bsa_sparsity": null,
"enable_bsa": null
},
"ltx2": {
"audio_latent_path": null,
"initial_latent_path": null,
"legacy_native_noise_order": false,
"refine": {
"add_noise": true,
"audio_noise_path": null,
"enabled": false,
"guidance_scale": 1.0,
"image_crf": null,
"lora_path": null,
"noise_path": null,
"num_inference_steps": 3,
"transformer_path": null,
"video_position_offset_sec": null
},
"use_distilled_sigmas": true,
"vae_spatial_tile_overlap_in_pixels": null,
"vae_spatial_tile_size_in_pixels": null,
"vae_temporal_tile_overlap_in_frames": null,
"vae_temporal_tile_size_in_frames": null
},
"minimax_h3": {
"sequential_load": null,
"taeh3_checkpoint": null,
"taeh3_chunk_size": 5,
"vae_parallel_decode": false,
"vae_parallel_decode_strategy": "gather",
"vae_parallel_encode": false,
"video_decode_backend": "h3-vae"
"model": {
"dit": {},
"family": "generic",
"vae": {}
},
"output_type": "pil",
"preset": null,
"preset_overrides": {},
"preset_version": null,
"vae": {},
"vae_sp": false,
"vae_tiling": false,
"workload_type": "t2v"
@@ -310,9 +310,13 @@
"pipeline_config_class": "fastvideo.models.wan.pipeline_config.WANV2VConfig",
"resolution_decisions": [
[
"fill_vae_parallel_from_env",
"fill_model_family[generic]",
{
"pipeline.minimax_h3.vae_parallel_decode_strategy": "gather"
"pipeline.model": {
"dit": {},
"family": "generic",
"vae": {}
}
}
],
[
@@ -354,16 +358,6 @@
"engine.compile.regional": false,
"engine.compile.text_encoder_enabled": false,
"engine.compile.vae_enabled": false,
"pipeline.ltx2.legacy_native_noise_order": false,
"pipeline.ltx2.refine.add_noise": true,
"pipeline.ltx2.refine.enabled": false,
"pipeline.ltx2.refine.guidance_scale": 1.0,
"pipeline.ltx2.refine.num_inference_steps": 3,
"pipeline.ltx2.use_distilled_sigmas": true,
"pipeline.minimax_h3.taeh3_chunk_size": 5,
"pipeline.minimax_h3.vae_parallel_decode": false,
"pipeline.minimax_h3.vae_parallel_encode": false,
"pipeline.minimax_h3.video_decode_backend": "h3-vae",
"pipeline.workload_type": "t2v"
}
]
@@ -446,54 +440,19 @@
"upsampler_weights": null,
"vae_weights": null
},
"dit": {},
"dmd_denoising_steps": null,
"embedded_cfg_scale": 6.0,
"experimental": {},
"flow_shift": 3.0,
"longcat": {
"bsa_cdf_threshold": null,
"bsa_chunk_k": null,
"bsa_chunk_q": null,
"bsa_sparsity": null,
"enable_bsa": null
},
"ltx2": {
"audio_latent_path": null,
"initial_latent_path": null,
"legacy_native_noise_order": false,
"refine": {
"add_noise": true,
"audio_noise_path": null,
"enabled": false,
"guidance_scale": 1.0,
"image_crf": null,
"lora_path": null,
"noise_path": null,
"num_inference_steps": 3,
"transformer_path": null,
"video_position_offset_sec": null
},
"use_distilled_sigmas": true,
"vae_spatial_tile_overlap_in_pixels": null,
"vae_spatial_tile_size_in_pixels": null,
"vae_temporal_tile_overlap_in_frames": null,
"vae_temporal_tile_size_in_frames": null
},
"minimax_h3": {
"sequential_load": null,
"taeh3_checkpoint": null,
"taeh3_chunk_size": 5,
"vae_parallel_decode": false,
"vae_parallel_decode_strategy": "gather",
"vae_parallel_encode": false,
"video_decode_backend": "h3-vae"
"model": {
"dit": {},
"family": "generic",
"vae": {}
},
"output_type": "pil",
"preset": null,
"preset_overrides": {},
"preset_version": null,
"vae": {},
"vae_sp": false,
"vae_tiling": false,
"workload_type": "t2v"

Some files were not shown because too many files have changed in this diff Show More