Commit Graph
149 Commits
Author SHA1 Message Date
Jared Therriault c00a2d30b5 Add metadata viewer editing function for images - now you can change field names and values in metadata. No add or delete functions yet. 2026-06-30 17:19:53 -07:00
Jared Therriault 6bb49bcce5 Complete rework of loading threads in imagedrawer, add ability to cancel, auto-cancel when switching contexts 2026-06-30 14:44:33 -07:00
Jared Therriault 9a7fc1989c Allow for custom metadata in images and videos 2026-06-30 14:25:39 -07:00
Jared Therriault da6b4b0ea4 Add subdirectory selector for lora/lycoris/embeddings. Defaults to "Please select" and loads nothing until you choose a subdirectory. Applied the same to subdirectoryexplorer to avoid big loading hitches when loading input/favorites/output/temp. 2026-06-29 20:18:16 -07:00
Jared Therriault da2cbc9006 Update TextManager to v1
-Adds buttons that affect all text containers in a given list (or only visible ones when longpressing)
-Abstracts search to external class
-Integrates with dynamic prompt systems (use the right-side switch on the text container, set a group. All dynamic containers in the same group will become a dynamic prompt group)
-Improve node configuration persistence
-Improve container duplication
-Improve search, so now all text container parameters are searchable (like group==1 or dynamic==true)
-Allow panning the graph canvas when hovering node with middle mouse button
2026-06-29 15:06:38 -07:00
Jared Therriault 915c916302 Ensure path exists before text loading 2026-06-27 19:27:38 -07:00
Jared Therriault 592b6e99bc Reduce ParseDynamicPrompts returning the same choice multiple times in a row 2026-06-27 19:27:04 -07:00
Jared Therriault 830a92ed76 Add some py utilities for production workflows 2026-06-27 19:24:45 -07:00
Jared Therriault 52f0eb2eb6 Fix issue in which sometimes LoadVisualMediaFromPath wouldn't load the correct file type 2026-06-27 19:24:12 -07:00
Jared Therriault 3725f35aa8 Add save_prompt_server_prompt to SaveVideoWithOptions, remove ReturnTypes since IMAGE wasn't returning the expected data 2026-02-26 13:16:51 -08:00
Jared Therriault 92331ca78d Restore class defaults when save_to_output_dir is True in SaveImageWithOutput; fixes issue where it would always save to temp if ever saved to temp 2026-02-14 20:08:55 -08:00
Jared Therriault 6de8d2dde3 Add alternate code path in python backend when deleting an item
-Allows for non-image/video items to be deleted on request
2025-12-30 14:49:36 -08:00
Jared Therriault 816b5e8dab Update Text Manager python backend
-Fixes SyntaxError: f-string: expecting '}'
2025-12-30 14:39:40 -08:00
Jared Therriault 7328bc7ba8 Add TextManager node (experimental)
Loads all saved prompts from a designated folder and allows you to mix and match prompts, edit them and save them to new files or overwrite existing ones
2025-12-22 01:00:57 -08:00
Jared Therriault 6fbbd7b0cb More sorting optimizations 2025-12-16 19:44:07 -08:00
Jared Therriault 71a89500bb Improve sorting by date in ImageDrawer
This ensures that, if available, we'll sort using the date the file was created rather than modified date. Modified will be used as a fallback.
2025-12-16 19:43:52 -08:00
Jared Therriault a107e94efe Add support for inline wildcards to ParseWildcards
Allows you to define "variables" that you can use throughout your prompts.

For example, plug this into your inline_wildcards field:

gender=male
color=red

Prompt:

A __color__ __gender__ cockatoo flapping his __color__ feathers.

Becomes:

A red male cockatoo flapping his red feathers.
2025-12-16 19:42:19 -08:00
Jared Therriault 98ca47844e Add MakeParameterTable and GetParameterFromTable nodes
For a large number of parameters, using a table is faster than plugging in a list
2025-12-16 19:38:25 -08:00
Jared Therriault a27b29b005 Add EmptyCudaCache node 2025-12-16 19:37:08 -08:00
Jared Therriault d064f8f311 Improve spacing with newlines in remove_parseable_data_from_string 2025-09-08 17:16:01 -07:00
Jared Therriault 6c2a4e6733 Return nothing when all weighted options of a dynamic prompt are 0 rather than hanging 2025-07-29 09:30:56 -07:00
Jared Therriault 198aad00d6 Add date and time tokens to SaveVideoWithOptions file format. Now you can add %date% or %time% in addition to or instead of %counter% when naming your output gens. 2025-06-08 18:11:05 -07:00
Jared Therriault 03453bf687 Improve UX for file type filter on GetRandomFileFromDirectory 2025-04-19 14:23:24 -07:00
Jared Therriault 755f282b1c Improve logging when loading loras 2025-03-30 16:59:34 -07:00
Jared Therriault f78cdcbb52 One more fix to subdirectory folders - restore search terms when metadata is not json serializable 2025-03-07 14:32:57 -08:00
Jared Therriault 164d35275c Fix issue in which some image metadata could not be serialized, thus wouldn't show in the drawer 2025-03-06 21:46:15 -08:00
Jared Therriault 73bafff9f4 Add webp support for envs that don't natively support it 2025-02-26 12:21:49 -08:00
Jared Therriault 4514730d43 Get metadata for images and videos when gathering from disk so that the metadata can be searched by the user before loading the entire image 2025-02-26 12:11:28 -08:00
JaredTherriault 99b6306cd2 Normalize path before open in file manager 2025-02-05 20:43:09 -08:00
JaredTherriault 67bf09ddc1 Fix issue where embeddings were not being properly loaded 2025-02-05 13:14:24 -08:00
JaredTherriault 262ad8acb0 Print debug message when opening file manager. Temporary. 2025-02-05 12:18:14 -08:00
JaredTherriault 980fe69abb Add multiplier param to size selector 2025-02-03 19:24:54 -08:00
JaredTherriault 9ee3a87136 Rename default_to_use to parameter_display_value for better clarity 2025-02-02 17:25:39 -08:00
JaredTherriault c765d974f7 Fix for issue in comment below
Error message occurred while importing the 'ComfyUI-JNodes' module.

Traceback (most recent call last):
File "D:\AI\Stable Diffusion\ComfyUI_windows_portable\ComfyUI\nodes.py", line 2110, in load_custom_node
module_spec.loader.exec_module(module)
File "", line 940, in exec_module
File "", line 241, in call_with_frames_removed
File "D:\AI\Stable Diffusion\ComfyUI_windows_portable\ComfyUI\custom_nodes\ComfyUI-JNodes_init.py", line 107, in
load_nodes()
File "D:\AI\Stable Diffusion\ComfyUI_windows_portable\ComfyUI\custom_nodes\ComfyUI-JNodes_init_.py", line 96, in load_nodes
module = importlib.import_module(
^^^^^^^^^^^^^^^^^^^^^^^^
File "importlib_init_.py", line 126, in import_module
File "", line 1204, in _gcd_import
File "", line 1176, in _find_and_load
File "", line 1147, in _find_and_load_unlocked
File "", line 690, in _load_unlocked
File "", line 936, in exec_module
File "", line 1074, in get_code
File "", line 1004, in source_to_code
File "", line 241, in _call_with_frames_removed
File "D:\AI\Stable Diffusion\ComfyUI_windows_portable\ComfyUI\custom_nodes\ComfyUI-JNodes\py\parameter_list.py", line 78
logger.info(f"Did not find parameter_name '{parameter_name}' in parameter_list. Using '{parameter_default if len(str(parameter_default)) < 5 else "given default"}'.")
^^^^^
SyntaxError: f-string: expecting '}'
2025-02-02 17:22:38 -08:00
JaredTherriault ee6628e9cd Add get_next_base_filename 2025-02-01 15:59:06 -08:00
JaredTherriault 53a59084aa Fix misspelling (read_we_request_content to read_web_request_content), implement save_image_as_model_preview 2025-02-01 15:58:56 -08:00
JaredTherriault 828f8b3a77 Update save_model_config to save_model_user_info, in service of the lora user info editor 2025-01-31 13:13:22 -08:00
JaredTherriault 5469e54623 Attempt to ensure parameter nodes run every time without causing connected nodes to have to run every time 2025-01-31 13:12:47 -08:00
JaredTherriault 0a8dcc4655 Update code to reflect changes to civit.ai model IDs 2025-01-22 17:10:08 -08:00
JaredTherriault d6b227873e Create custom settings backend for JNodes settings (now saved in jnodes.settings.json in the comfy user folder) 2025-01-05 15:45:02 -08:00
JaredTherriault befd96144e Add preliminary support for video lora previews 2025-01-04 11:15:56 -08:00
JaredTherriault 2b303a901e Call AddOrSetMetaDataKey on every run to ensure specific metadata keys are being added or removed every time 2024-12-26 11:10:53 -08:00
JaredTherriault e029b0d477 Add description to SetMetadataA1111 node 2024-12-26 11:07:22 -08:00
JaredTherriault 6040a3a0de Remove PROMPT hidden input from Save Video node, since we don't use it 2024-12-26 11:05:02 -08:00
JaredTherriault 0932d97473 Code hygiene 2024-12-23 14:59:06 -08:00
JaredTherriault da6c3637cd Fix workflow metadata output, allow drag and drop animated webp workflow loading, fix metadata not showing for animated webp 2024-12-23 14:55:45 -08:00
JaredTherriault 73fc7d36ef Add DiffusionModelSelector + String (Hunyuan Video), Add more default choices to ImageSizeSelector, allow custom resolutions to be added to dropdown list in ImageSizeSelector, added aspect ratio hints to ImageSizeSelector list, ImageSizeSelector list now sorted by height
To add custom resolutions to ImageSizeSelector list: "You can add to this list by creating a text file named 'ImageSizeSelectorResolutions.txt' in the 'ComfyUI/JNodes' folder (create it if it doesn't exist) and add new resolutions there in this format: '1280x720 (16:9), 1600x1000 (16:10), 848x480 (16:9)'. Giving an aspect ratio is optional. Ensure you always have at least one comma, even with only one added resolution."
2024-12-21 15:47:53 -08:00
JaredTherriault dc6fcc1ddd Fix vae output pin on VaeSelector 2024-12-14 14:38:03 -08:00
JaredTherriault e453801340 Get A1111 metadata node working 2024-12-14 14:37:28 -08:00
JaredTherriault 7e33bf72c2 Add "SeparateStringByDelimiters" (like "split" in many programming languages) that takes a string and returns concatenated strings where each line begins with the delimiter 2024-12-14 14:36:57 -08:00