URL LoRA Loader
Load a LoRA straight from a URL and skip the downloads folder
- model
- clip
- model
- clip
- status
URL LoRA Loader is the "skip the download step" node: you give it a direct link to a .safetensors LoRA, and it downloads the file, loads it into ComfyUI, and applies it to your MODEL and CLIP - all in one run. No dragging files into your models/loras folder, no manual download, no restart. If the URL is up, the LoRA just works.
For the workflow that needs it, it's quietly brilliant: you can point a render at a fresh LoRA that a collaborator just dropped on a bucket or a HuggingFace repo, and run the graph without anyone touching the server's disk. It pairs naturally with this pack's S3 theme - a presigned S3 URL is just a URL to this node - but it'll happily fetch from anywhere that serves a file over HTTP.
How it works
It streams the file to a temp location with requests (the timeout is configurable), sniffs the extension from the URL to figure out the format - defaulting to .safetensors when the URL has no recognizable extension, since a .safetensors file can't contain executable code and is the safe default - then loads it with comfy.utils.load_torch_file and applies it with the same comfy.sd.load_lora_for_models path the core LoraLoader uses. The temp file is deleted after the run; nothing persists on disk unless you copy it yourself. It does keep a small in-memory cache keyed by URL, so re-running with the same link won't re-download on every queue.
The inputs that matter
- model / clip - from your checkpoint loader, same as any LoRA node.
- lora_url - the direct URL to the LoRA file.
- strength_model / strength_clip - both default 1.0, negative values allowed.
- timeout - download timeout in seconds, default 30, up to 300. Bump it for slow hosts or big files.
Outputs are model, clip, and a status string.
Install
ComfyUI Manager (search s3_serverless_inline_storage_utils) or:
cd ComfyUI/custom_nodes
git clone https://github.com/udayjain26/s3_serverless_inline_storage_utils
Restart, find it under S3 Serverless Storage. No models to download - that's kind of the point - and no extra deps beyond the pack's requests.
Troubleshooting
The failure behavior is friendly: on any error it returns your original, unmodified model and clip plus a status message explaining what went wrong, instead of killing the run. So check status if your LoRA seems to have no effect - it may not have loaded at all.
The most common failure is a URL that isn't a direct file link. Google Drive, for instance, hands you a HTML page, not the binary; the node will download that HTML and either fail to load it or give you garbage. Use a proper direct/download link (HuggingFace resolve/main/... URLs, a raw S3 object URL, or a presigned link) rather than a page. Presigned URLs also expire, so a link that worked yesterday may 404 today. And while the in-memory cache is nice for repeats, remember it's memory, not disk - restart ComfyUI and the next run downloads fresh, so don't point this at a flaky host if you can help it.
Inputs (6)
| Name | Type | Default | Description |
|---|---|---|---|
| model | MODEL | The diffusion model the LoRA will be applied to. | |
| clip | CLIP | The CLIP model the LoRA will be applied to. | |
| lora_url | STRING | URL to the LoRA file (e.g., 'https://example.com/lora.safetensors') | |
| strength_model | FLOAT | 1.00-100–100 | How strongly to modify the diffusion model. This value can be negative. |
| strength_clip | FLOAT | 1.00-100–100 | How strongly to modify the CLIP model. This value can be negative. |
| timeoutopt | INT | 305–300 | Request timeout in seconds |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| model | MODEL | The modified diffusion model. |
| clip | CLIP | The modified CLIP model. |
| status | STRING | Status message |