Instructions to use hgjc/ltx-ugc-bundle with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- LTX.io
How to use hgjc/ltx-ugc-bundle with LTX.io:
# Install the LTX-2 pipelines git clone https://github.com/Lightricks/LTX-2.git cd LTX-2 uv sync --frozen
# Download the weights from this repo, plus the Gemma text encoder hf download hgjc/ltx-ugc-bundle --local-dir models/ltx-ugc-bundle hf download google/gemma-3-12b-it-qat-q4_0-unquantized --local-dir models/gemma-3-12b
# Fast pipeline (distilled model, no distilled LoRA needed) uv run python -m ltx_pipelines.distilled \ --distilled-checkpoint-path models/ltx-ugc-bundle/<distilled-checkpoint>.safetensors \ --spatial-upsampler-path models/ltx-ugc-bundle/<spatial-upsampler>.safetensors \ --gemma-root models/gemma-3-12b \ --prompt "A beautiful sunset over the ocean" \ --output-path output.mp4 # For image-to-video, add: --image path/to/image.jpg 0 0.8# HQ pipeline (two-stage, higher quality) uv run python -m ltx_pipelines.ti2vid_two_stages_hq \ --checkpoint-path models/ltx-ugc-bundle/<checkpoint>.safetensors \ --distilled-lora models/ltx-ugc-bundle/<distilled-lora>.safetensors 0.8 \ --spatial-upsampler-path models/ltx-ugc-bundle/<spatial-upsampler>.safetensors \ --gemma-root models/gemma-3-12b \ --prompt "A beautiful sunset over the ocean" \ --output-path output.mp4 # For image-to-video, add: --image path/to/image.jpg 0 0.8 - Notebooks
- Google Colab
- Kaggle
| import json | |
| import os | |
| import folder_paths | |
| import server | |
| from .utils import find_tags | |
| class easyModelManager: | |
| def __init__(self): | |
| self.img_suffixes = [".png", ".jpg", ".jpeg", ".gif", ".webp", ".bmp", ".tiff", ".svg", ".tif", ".tiff"] | |
| self.default_suffixes = [".ckpt", ".pt", ".bin", ".pth", ".safetensors"] | |
| self.models_config = { | |
| "checkpoints": {"suffix": self.default_suffixes}, | |
| "loras": {"suffix": self.default_suffixes}, | |
| "unet": {"suffix": self.default_suffixes}, | |
| } | |
| self.model_lists = {} | |
| def find_thumbnail(self, model_type, name): | |
| file_no_ext = os.path.splitext(name)[0] | |
| for ext in self.img_suffixes: | |
| full_path = folder_paths.get_full_path(model_type, file_no_ext + ext) | |
| if os.path.isfile(str(full_path)): | |
| return full_path | |
| return None | |
| def get_model_lists(self, model_type): | |
| if model_type not in self.models_config: | |
| return [] | |
| filenames = folder_paths.get_filename_list(model_type) | |
| model_lists = [] | |
| for name in filenames: | |
| model_suffix = os.path.splitext(name)[-1] | |
| if model_suffix not in self.models_config[model_type]["suffix"]: | |
| continue | |
| else: | |
| cfg = { | |
| "name": os.path.basename(os.path.splitext(name)[0]), | |
| "full_name": name, | |
| "remark": '', | |
| "file_path": folder_paths.get_full_path(model_type, name), | |
| "type": model_type, | |
| "suffix": model_suffix, | |
| "dir_tags": find_tags(name), | |
| "cover": self.find_thumbnail(model_type, name), | |
| "metadata": None, | |
| "sha256": None | |
| } | |
| model_lists.append(cfg) | |
| return model_lists | |
| def get_model_info(self, model_type, model_name): | |
| pass | |
| # if __name__ == "__main__": | |
| # manager = easyModelManager() | |
| # print(manager.get_model_lists("checkpoints")) |