Ino Create Model File Config
The JSON recipe card that tells a downloader where the model lives
- ModelConfig
ComfyUI-InoNodes does not download models the way you're used to. Instead of a dropdown of files you already have, it works from download configs - JSON strings that describe where a model lives and where it should go. Ino Create Model File Config is how you build one of those from plain fields. If the pack's model system is a recipe book, this is the node that lets you write your own recipe instead of picking from the pre-printed ones.
It's one of 23 nodes in the pack's InoModelHelper category, and it sits at the top of a pipeline that looks like: build a config → hand it to a downloader → load the result.
The inputs
The node asks for the coordinates of a model file, and almost every field has a tooltip saying "depends on the host" - because which fields matter changes with where you're downloading from:
host- dropdown:s3,hf(HuggingFace), orcivitai. This is the most important field; it decides what the config means.model_type- dropdown of ComfyUI's model folders (diffusion_models,loras,vae,clip,controlnet, and a long tail of others). Determines whichmodels/subdirectory the file lands in.model_subfolder- an extra folder under that type. Defaults toflux1dev, which tells you the author's home turf.repo_id- for HF: theowner/repo(e.g.black-forest-labs/FLUX.1-dev). For Civitai: the model ID. For S3: the S3 config reference.filename- the actual file to fetch. For Civitai it doubles as the file ID.subfolder,repo_type,revision- optional refinements for HF-style repos; irrelevant for some hosts.
One output: ModelConfig, a JSON string like {"host": "hf", "model_type": "diffusion_models", ...} - exactly the shape the downloader nodes expect.
How it works
It just packs the fields into a dict and serializes it to JSON. There's no magic here, which is the point: the config is a plain, inspectable, editable string. You can build it with this node, or with Ino Json Set Field (patch it), or Ino Show Model Config (unpack it). The whole family speaks the same format.
What to feed it into
The natural consumer is a downloader:
- Ino Handle Download Model - reads the config's
hostand routes to S3, HuggingFace, or Civitai automatically. - Ino Http Download Model - for plain HTTP URLs (set
hostaccordingly or just use the URL input). - Ino Hugging Face Download Repo / Download Model - when the config describes an HF repo.
You can also embed a file config inside a bigger structure - for example Ino Create Lora Config takes a JSON file field that is itself a model-file config, so you can assemble a full "this LoRA, downloaded from here" recipe.
Gotchas
The tooltips aren't decoration - repo_id, filename, and friends genuinely mean different things per host, and mixing them up is the number-one source of "download failed" messages. Also, the enabled toggle applies here: disabled returns an empty string, not an error, so a downstream downloader fed an empty config fails confusingly. And note this pack ships with its own curated catalogs (CSV files listing known models); this node is for when you need a config that isn't in the catalog.
Installation
Part of ComfyUI-InoNodes:
- ComfyUI Manager: search "ComfyUI Ino Nodes", install, restart.
- Manual:
cd ComfyUI/custom_nodes && git clone https://github.com/nobandegani/comfyui_ino_nodes && cd comfyui_ino_nodes && pip install -r requirements.txt, restart.
Python 3.10+, ComfyUI 0.18.1+ (V3 schema). No models or keys needed for this node - but if you actually download something, the target host may want credentials (Civitai token, S3 env vars) set as environment variables.
Inputs (9)
| Name | Type | Default | Description |
|---|---|---|---|
| enabled | BOOLEAN | true | — |
| host | COMBO | 3 options: s3, hf, civitai | |
| model_type | COMBO | 32 options: audio_encoders, checkpoints, clip, clip_vision, controlnet, detection, +26 | |
| model_subfolder | STRING | flux1dev | — |
| repo_id | STRING | depends on the host. | |
| filename | STRING | depends on the host. | |
| subfolder | STRING | depends on the host. | |
| repo_type | STRING | depends on the host. | |
| revision | STRING | depends on the host. |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| ModelConfig | STRING | — |