VideoGenerator.from_pretrained(model_path, config) takes the same nested
settings as from_config; the 24 flat keywords, from_pretrained_kwargs_to_config,
FROM_PRETRAINED_KWARGS, and every flat_field in the schema are deleted.
nvfp4_fa4 is the typed field engine.attention.nvfp4_fa4, applied by a
resolution step. 65 call sites and the docs use the nested form; the three
kwargs golden cases are config cases with byte-identical results.
Every value is decided during resolution; no runtime code calls
with_override. The device offload policy (unified memory, MPS, layerwise
conflicts, lazy module load) runs as resolution steps in the main process
(fastvideo/api/device_policy.py), and the worker runs on the config it
receives. The LTX-2 refine defaults from model_index.json and the MiniMax-H3
schedule from fastvideo_inference.json are resolution steps
(fastvideo/api/checkpoint_defaults.py) that read local checkpoints or download
only those files; the H3 pipeline validates the schedule against the loaded
schedulers but no longer writes it. The preprocessing entry point passes the
downloaded local path as run state instead of a config override. Teacher and
critic models load with override_transformer_cls_name as a load argument.
The test isolation turns the device policy off, as it blocks downloads, so
that the goldens do not depend on the machine.
Against the 3f6893a0 goldens, every field still matches except boundary_ratio
and ltx2_vae_tiling (DESIGN section 9) and the fields that no longer exist.
The launcher and trainer YAML verifications report 0 unexplained differences.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
GEN3C Local Tests
Local-only parity and smoke tests for the gen3c FastVideo port. The pipeline
smoke test runs without weights; the transformer parity test compares against
the official GEN3C repo and converted weights, and is skipped in CI.
Reference Assets
| Field | Value |
|---|---|
| Model family | gen3c |
| Workload types | T2V |
| Official reference | GEN3C (local clone, see test files) |
| Local reference dir | GEN3C/ |
| Official commit/version | <TODO> |
| HF weights | <TODO> |
| HF revision | <TODO> |
| Local weights dir | <TODO> (env: GEN3C_FASTVIDEO_PATH, GEN3C_DIFFUSERS_PATH) |
| Source layout | <TODO> |
| Needs conversion | <TODO> |
Use only the env-var name for tokens (e.g.,
HF_TOKEN). Never paste a token value.
Shared Environment Setup
Run from the FastVideo repo root in the same env used for FastVideo. See the
add-model-prep skill for canonical clone + install commands.
# Clone the official reference under the FastVideo repo root.
git clone <official_repo_url> GEN3C
uv pip install --no-deps -e ./GEN3C
Do not change core dependency versions (torch, diffusers, transformers,
flash-attn, triton, CUDA packages) without explicit approval.
Official Environment Status
dependency_changes: <TODO>
official_env_status: <TODO: imports_ok | private_deps_need_stubs | blocked>
private_dep_stubs: <TODO>
blocked_on: <TODO>
Tests in this directory
Run the whole family:
pytest tests/local_tests/gen3c/ -v
| Component | Test | Concerns | Status |
|---|---|---|---|
transformer (Gen3CTransformer3DModel) |
test_gen3c.py |
<TODO> |
<TODO> |
pipeline (smoke) |
test_gen3c_pipeline_smoke.py |
random-weight smoke; full mode requires GEN3C_DIFFUSERS_PATH |
<TODO> |
Review Notes
- Required before handoff: non-skip PASS for each component parity test, including reused components that own weights or numerical behavior.
- Pipeline parity may start as a scaffold; final handoff requires non-skip PASS or an explicit blocker accepted via the escape-hatch process.