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
| from .utils import get_dict_value | |
| def get_worflow_node(extra_pnginfo, node_id: str, default=None): | |
| # First, break out of any subgraphs | |
| node_ids = str(node_id).split(':') | |
| workflow_nodes = get_dict_value(extra_pnginfo, 'workflow.nodes', default=[]) | |
| workflow_subgraphs = get_dict_value(extra_pnginfo, 'workflow.definitions.subgraphs', default=[]) | |
| nodes_list = workflow_nodes | |
| found = None | |
| for individual_node_id in node_ids: | |
| found = next((n for n in nodes_list if str(n['id']) == individual_node_id), None) | |
| if isinstance(found, dict) and 'type' in found: | |
| # Are we a subgraph? Right now, subgraph types are a UUID that exists as an id in the | |
| # aubgraphs list. But, rather than check if we're a UUID, let's just check if it exists | |
| # anyway, that when if (when) Comfy changes the id structure we'll keep working. | |
| subgraph = next((n for n in workflow_subgraphs if str(n['id']) == found['type']), None) | |
| if isinstance(subgraph, dict) and 'nodes' in subgraph: | |
| nodes_list = subgraph['nodes'] | |
| return found if found is not None else default | |