-
Notifications
You must be signed in to change notification settings - Fork 5.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
allow current timestamp in save image prefix #4030
allow current timestamp in save image prefix #4030
Conversation
This method is very prone to typos, and at the very least reducing it from I still am of the opinion that a default implementation that is not subject to typos is preferable, such as an implementation that has a list of format options that follow basic standard image management practices such as the nested format A single typo can potentially create a huge mess of a folder structure when done the way you suggest. For example, if nested folders are desired and there is a typo in the form of I don't see any benefit that is conferred by requiring manual entry over having a list that allows switching between standardized formats when the goal is to create a simple means of organizing images for users. |
I would be very careful defining it as "y" because if we look at strftime type date identification codes (which follows the libc standard and the accepted strftime defaults according to that and Python's implementation) would get us I'd suggest that it'd be easier to allow people to define their own datetime formats, ala a |
Thats fair, it should follow a standard format, like strftime %Y, but a shortened standard that doesn't cause the filename to be truncated in the display would be ideal. Im assuming the reason for having the individual year-month-day is to allow flexibility in formatting so that you can do nested folders with year/month/day or even just do a dated file with year-month-day-filename or filename-year-month-day however you want to do it. My preferred implementation is just a multiple format selection for user friendliness since this is useful enough that it should be a forward facing feature, not something that you need to dig through the documentation to find exists. However, having the ability to also do the custom formatting still included is also beneficial. |
I agree, having the ease of customization to extract the specific bits works great, but lets be careful how we name them. "%year%" is more understandable than "%y%" in my opinion because "plain text reading" is easier. Not opposed to a "common" set of options to use if you want to use %date% or such as a replacement. But, if all else fails, follow ISO standard ( Note that I was inspired here by your PR to make #4037 which is not yet ready for review that lets people have much more control over the output format ala (Yes, I'm one of those people. Even if the wider user-base doesn't use it, it doesn't necessarily hurt to have the more complicated functionality available for those who want that fine-grained control).) |
If we had to vote on a standard format, id go with the strftime way of |
AKA ISO 8601 format. Agreed if we had a dropdown to select that'd be great, but we'd still need to define a 'standard' or use Python to query the current locale and use its date generation. I say this because we also see day-month-year formats and month-day-year formats depending on locales. ISO8601 exists for this reason. Fully agree though it also helps having items like |
I suggested localization in the original pr #3402 but it seems people want to adhere to unix standard 8601 format, and not localize. I like your PR idea of having a single short %dt to do date time for use in a way like I agree 8601 for nested folders (although technically YYYY/MM/DD is not 8601, but would be processed by folder_paths.py as a nested file tree). Im agnostic about 8601 or localization for a folder that is just the current date, and I like localization as an option for inclusion in the file name like you suggest. Definitely need a standard way of doing things going forward though so users know what to expect. |
Added to my PR in draft #4037 with Hope you don't mind me building up that with additional functionality as we discuss here :) |
my only real issue with %year% is that the space for the filename is finite, and using it as indicated, truncates at 9 characters in the display, and navigating in the value modal when you change things, isn't much better. Using a standard format like %Y-%m-%d gives another 12 character of space for file naming. So this change should either include changes the expand the number of characters that can be displayed, or use a shorter format. If the goal is user friendly, the selection list is the obvious solution. (see my updated output examples of what it actually does.) |
Unless we have a mechanism to detect what is or isn't a variable (current standard is A mini-middleground might be something like my PR which would do a format of
The question I have though is the "finite" limit. If we really want to save space for file naming, and allow customization to this extent, we need to make sure that whatever limit exists is actually sane, or whether we also need to expand that limit on the system. (Excluding the max file length that Windows sets, which is painfully annoying) |
Agreed on all points. The current issue isn't that it wont allow longer file lengths, it just truncates them in display, and resizing the node does not expand the number of characters that will be displayed. Combine that with the value editor also being incapable of showing a filename that includes those variables in full, and you have a really user unfriendly situation. I haven't checked .js for the display, I am assuming it's just assigning it a width and overflow behavior on load and not refreshing on resize or something simple. |
commit 6cc962e Merge: 34104b4 d854ed0 Author: tommi @tm-10 <thomas@trauminc.com> Date: Fri Oct 4 13:05:15 2024 +0100 Merge branch 'master' of https://github.com/thomastraum/ComfyUI commit 34104b4 Author: tommi @tm-10 <thomas@trauminc.com> Date: Fri Oct 4 13:04:01 2024 +0100 added .venv commit d854ed0 Author: comfyanonymous <comfyanonymous@protonmail.com> Date: Thu Oct 3 09:44:54 2024 -0400 Allow using SD3 type te output on flux model. commit abcd006 Author: comfyanonymous <comfyanonymous@protonmail.com> Date: Thu Oct 3 09:26:11 2024 -0400 Allow more permutations of clip/t5 in dual clip loader. commit d985d1d Author: comfyanonymous <comfyanonymous@protonmail.com> Date: Wed Oct 2 04:25:17 2024 -0400 CLIP Loader node now supports clip_l and clip_g only for SD3. commit d1cdf51 Author: comfyanonymous <comfyanonymous@protonmail.com> Date: Tue Oct 1 07:08:41 2024 -0400 Refactor some of the TE detection code. commit b4626ab Author: comfyanonymous <comfyanonymous@protonmail.com> Date: Mon Sep 30 06:03:27 2024 -0400 Add simpletuner lycoris format for SD unet. commit a9e459c Author: comfyanonymous <comfyanonymous@protonmail.com> Date: Sun Sep 29 11:13:53 2024 -0400 Use torch.nn.functional.linear in RGB preview code. Add an optional bias to the latent RGB preview code. commit 3bb4dec Author: comfyanonymous <comfyanonymous@protonmail.com> Date: Sat Sep 28 14:42:14 2024 -0400 Fix issue with loras, lowvram and --fast fp8. commit 8733191 Author: City <125218114+city96@users.noreply.github.com> Date: Sat Sep 28 04:07:51 2024 +0200 Flux torch.compile fix (comfyanonymous#5082) commit 83b01f9 Author: comfyanonymous <comfyanonymous@protonmail.com> Date: Fri Sep 27 02:12:37 2024 -0400 Add backend option to TorchCompileModel. If you want to use the cudagraphs backend you need to: --disable-cuda-malloc If you get other backends working feel free to make a PR to add them. commit d72e871 Author: comfyanonymous <comfyanonymous@protonmail.com> Date: Thu Sep 26 03:17:52 2024 -0400 Add a note that the experimental model downloader api will be removed. commit 037c315 Author: comfyanonymous <comfyanonymous@protonmail.com> Date: Wed Sep 25 03:24:13 2024 -0400 Move some nodes out of _for_testing. commit bdd4a22 Author: comfyanonymous <comfyanonymous@protonmail.com> Date: Tue Sep 24 22:57:22 2024 -0400 Fix flux TE not loading t5 embeddings. commit fdf3756 Author: comfyanonymous <comfyanonymous@protonmail.com> Date: Tue Sep 24 04:32:55 2024 -0400 Add batch size to EmptyLatentAudio. commit 08c8968 Author: Alex "mcmonkey" Goodwin <4000772+mcmonkey4eva@users.noreply.github.com> Date: Tue Sep 24 16:50:45 2024 +0900 Internal download API: Add proper validated directory input (comfyanonymous#4981) * add internal /folder_paths route returns a json maps of folder paths * (minor) format download_models.py * initial folder path input on download api * actually, require folder_path and clean up some code * partial tests update * fix & logging * also download to a tmp file not the live file to avoid compounding errors from network failure * update tests again * test tweaks * workaround the first tests blocker * fix file handling in tests * rewrite test for create_model_path * minor doc fix * avoid 'mock_directory' use temp dir to avoid accidental fs pollution from tests commit 479a427 Author: chaObserv <154517000+chaObserv@users.noreply.github.com> Date: Tue Sep 24 14:42:56 2024 +0800 Add dpmpp_2m_cfg_pp (comfyanonymous#4992) commit 3a0eeee Author: comfyanonymous <comfyanonymous@protonmail.com> Date: Mon Sep 23 04:38:19 2024 -0400 Make --listen listen on both ipv4 and ipv6 at the same time by default. commit 447da7e Author: comfyanonymous <comfyanonymous@protonmail.com> Date: Mon Sep 23 04:36:59 2024 -0400 Support listening on multiple addresses. commit 9c41bc8 Author: comfyanonymous <comfyanonymous@protonmail.com> Date: Mon Sep 23 02:32:29 2024 -0400 Remove useless line. commit 6ad0ddb Author: Robin Huang <robin.j.huang@gmail.com> Date: Sun Sep 22 18:01:39 2024 +0900 Run unit tests on Windows/MacOS as well. (comfyanonymous#5018) * Run unit tests on Windows as well. * Test on mac. * Continue running on error. * Compared normalized paths to work cross platform. * Only test common set of mimetypes across operating systems. commit a55142f Author: RandomGitUser321 <ruinerx@gmail.com> Date: Sun Sep 22 04:59:10 2024 -0400 Add ws.close() to the websocket examples (comfyanonymous#5020) * add ws.close() to websocket examples * add and explain ws.close() in websocket examples commit 5718ef6 Author: comfyanonymous <comfyanonymous@protonmail.com> Date: Sun Sep 22 03:41:48 2024 -0400 Add total and free ram to /system_stats. commit 13ecf10 Author: RandomGitUser321 <ruinerx@gmail.com> Date: Sun Sep 22 02:30:44 2024 -0400 Added to the websockets_api_example.py to show how to decode latent previews from the binary stream (comfyanonymous#5016) * Update websockets_api_example.py * even more simplfied commit 7a415f4 Author: comfyanonymous <comfyanonymous@protonmail.com> Date: Sun Sep 22 01:24:52 2024 -0400 Add an optional VAE input to the ControlNetApplyAdvanced node. Deprecate the other controlnet nodes. commit 89fa2fc Author: Chenlei Hu <chenlei.hu@mail.utoronto.ca> Date: Sun Sep 22 12:28:54 2024 +0900 Update web content to release v1.2.60 (comfyanonymous#5017) * Update web content to release v1.2.60 * Remove dist.zip commit 364b69e Author: comfyanonymous <comfyanonymous@protonmail.com> Date: Sat Sep 21 09:12:31 2024 -0400 Make SD3 empty latent image zeros. This shouldn't change anything. The reason it was not zeros is because it did matter in early versions of the code. commit dc96a1a Author: comfyanonymous <comfyanonymous@protonmail.com> Date: Sat Sep 21 04:50:12 2024 -0400 Load controlnet in fp8 if weights are in fp8. commit 2d810b0 Author: comfyanonymous <comfyanonymous@protonmail.com> Date: Sat Sep 21 01:51:51 2024 -0400 Add load_controlnet_state_dict function. commit 9f7e9f0 Author: comfyanonymous <comfyanonymous@protonmail.com> Date: Sat Sep 21 01:33:18 2024 -0400 Add an error message when a controlnet needs a VAE but none is given. commit a355f38 Author: comfyanonymous <comfyanonymous@protonmail.com> Date: Sat Sep 21 01:32:46 2024 -0400 Make the SD3 controlnet node the default one. commit 38c6908 Author: huchenlei <chenlei.hu@mail.utoronto.ca> Date: Fri Sep 13 15:44:32 2024 +0900 Add docstring commit 70a708d Author: comfyanonymous <comfyanonymous@protonmail.com> Date: Fri Sep 20 02:31:44 2024 -0400 Fix model merging issue. commit e7d4782 Author: yoinked <pepe.dannyboy@gmail.com> Date: Thu Sep 19 20:23:09 2024 -0700 add laplace scheduler [2407.03297] (comfyanonymous#4990) * add laplace scheduler [2407.03297] * should be here instead lol * better settings commit 3326bdf Author: Alex "mcmonkey" Goodwin <4000772+mcmonkey4eva@users.noreply.github.com> Date: Thu Sep 19 22:52:55 2024 +0900 add internal /folder_paths route (comfyanonymous#4980) returns a json maps of folder paths commit 68bb885 Author: Alex "mcmonkey" Goodwin <4000772+mcmonkey4eva@users.noreply.github.com> Date: Thu Sep 19 21:59:55 2024 +0900 add 'is_default' to model paths config (comfyanonymous#4979) * add 'is_default' to model paths config including impl and doc in example file * update weirdly overspecific test expectations * oh there's two * sigh commit ad66f7c Author: comfyanonymous <comfyanonymous@protonmail.com> Date: Thu Sep 19 05:01:00 2024 -0400 Add model_options to load_controlnet function. commit de8e8e3 Author: Simon Lui <502929+simonlui@users.noreply.github.com> Date: Thu Sep 19 18:11:42 2024 +0900 Fix xpu Pytorch nightly build from calling optimize which doesn't exist. (comfyanonymous#4978) commit a1e71cf Author: Alex "mcmonkey" Goodwin <4000772+mcmonkey4eva@users.noreply.github.com> Date: Thu Sep 19 17:40:14 2024 +0900 very simple strong-cache on model list (comfyanonymous#4969) * very simple strong-cache on model list * store the cache after validation too * only cache object_info for now * use a 'with' context commit 0bfc7cc Author: comfyanonymous <comfyanonymous@protonmail.com> Date: Wed Sep 18 09:39:43 2024 -0400 Create the temp directory on ComfyUI startup instead. commit 7183fd1 Author: Tom <88888824+ImDarkTom@users.noreply.github.com> Date: Tue Sep 17 09:22:05 2024 +0100 Add route to list model types (comfyanonymous#4846) * Add list models route * Better readable model types list commit 254838f Author: Alex "mcmonkey" Goodwin <4000772+mcmonkey4eva@users.noreply.github.com> Date: Tue Sep 17 16:57:17 2024 +0900 add simple error check to model loading (comfyanonymous#4950) commit 0b7dfa9 Author: pharmapsychotic <96542870+pharmapsychotic@users.noreply.github.com> Date: Tue Sep 17 02:51:10 2024 -0500 Improve tiling calculations to reduce number of tiles that need to be processed. (comfyanonymous#4944) commit d514bb3 Author: comfyanonymous <comfyanonymous@protonmail.com> Date: Tue Sep 17 03:49:54 2024 -0400 Add some option to model_options for the text encoder. load_device, offload_device and the initial_device can now be set. commit 0849c80 Author: comfyanonymous <comfyanonymous@protonmail.com> Date: Tue Sep 17 01:57:59 2024 -0400 get_key_patches now works without unloading the model. commit 56e8f5e Author: comfyanonymous <comfyanonymous@protonmail.com> Date: Mon Sep 16 00:30:36 2024 -0400 VAEDecodeAudio now does some normalization on the audio. commit e813abb Author: comfyanonymous <comfyanonymous@protonmail.com> Date: Sun Sep 15 07:59:18 2024 -0400 Long CLIP L support for SDXL, SD3 and Flux. Use the *CLIPLoader nodes. commit 5e68a4c Author: JettHu <35261585+JettHu@users.noreply.github.com> Date: Sun Sep 15 13:03:09 2024 +0800 Reduce repeated calls of INPUT_TYPES in cache (comfyanonymous#4922) commit ca08597 Author: comfyanonymous <comfyanonymous@protonmail.com> Date: Sat Sep 14 09:17:13 2024 -0400 Make the inpaint controlnet node work with non inpaint ones. commit f48e390 Author: comfyanonymous <comfyanonymous@protonmail.com> Date: Sat Sep 14 09:05:16 2024 -0400 Support AliMama SD3 and Flux inpaint controlnets. Use the ControlNetInpaintingAliMamaApply node. commit 369a6dd Author: Chenlei Hu <chenlei.hu@mail.utoronto.ca> Date: Sat Sep 14 12:30:44 2024 +0900 Remove empty spaces in user_manager.py (comfyanonymous#4917) commit b3ce8fb Author: comfyanonymous <comfyanonymous@protonmail.com> Date: Fri Sep 13 23:24:47 2024 -0400 Revert "Reduce repeated calls of get_immediate_node_signature for ancestors in cache (comfyanonymous#4871)" This reverts commit f6b7194. commit cf80d28 Author: comfyanonymous <comfyanonymous@protonmail.com> Date: Fri Sep 13 09:52:20 2024 -0400 Support loading controlnets with different input. commit 6fb44c4 Author: Acly <aclysia@gmail.com> Date: Fri Sep 13 14:25:11 2024 +0200 Make adding links/nodes to ExecutionList non-recursive (comfyanonymous#4886) Graphs with 300+ chained nodes run into maximum recursion depth error (limit is 1000 in CPython) commit d2247c1 Author: Chenlei Hu <chenlei.hu@mail.utoronto.ca> Date: Fri Sep 13 16:45:31 2024 +0900 Normalize path returned by /userdata to always use / as separator (comfyanonymous#4906) commit cb12ad7 Author: Chenlei Hu <chenlei.hu@mail.utoronto.ca> Date: Fri Sep 13 15:40:59 2024 +0900 Add full_info flag in /userdata endpoint to list out file size and last modified timestamp (comfyanonymous#4905) * Add full_info flag in /userdata endpoint to list out file size and last modified timestamp * nit commit f6b7194 Author: JettHu <35261585+JettHu@users.noreply.github.com> Date: Fri Sep 13 11:02:52 2024 +0800 Reduce repeated calls of get_immediate_node_signature for ancestors in cache (comfyanonymous#4871) commit 7c6eb4f Author: comfyanonymous <comfyanonymous@protonmail.com> Date: Thu Sep 12 20:27:07 2024 -0400 Set some nodes as DEPRECATED. commit b962db9 Author: Robin Huang <robin.j.huang@gmail.com> Date: Thu Sep 12 21:10:27 2024 +0900 Add cli arg to override user directory (comfyanonymous#4856) * Override user directory. * Use overridden user directory. * Remove prints. * Remove references to global user_files. * Remove unused replace_folder function. * Remove newline. * Remove global during get_user_directory. * Add validation. commit d0b7ab8 Author: comfyanonymous <comfyanonymous@protonmail.com> Date: Thu Sep 12 05:23:32 2024 -0400 Add a simple experimental TorchCompileModel node. It probably only works on Linux. For maximum speed on Flux with Nvidia 40 series/ada and newer try using this node with fp8_e4m3fn and the --fast argument. commit 405b529 Author: Yoland Yan <4950057+yoland68@users.noreply.github.com> Date: Thu Sep 12 17:53:08 2024 +0900 Minor: update tests-unit README.md (comfyanonymous#4896) commit 9d72018 Author: comfyanonymous <comfyanonymous@protonmail.com> Date: Thu Sep 12 03:56:52 2024 -0400 types -> comfy_types to fix import issue. commit d247bc5 Author: Robin Huang <robin.j.huang@gmail.com> Date: Thu Sep 12 14:52:06 2024 +0900 Expand variables in base_path for extra_config_paths.yaml. (comfyanonymous#4893) * Expand variables in base_path for extra_config_paths.yaml. * Fix comments. commit 9f4daca Author: comfyanonymous <comfyanonymous@protonmail.com> Date: Wed Sep 11 02:51:36 2024 -0400 Doesn't really make sense for cfg_pp sampler to call regular one. commit b5d0f2a Author: yoinked <pepe.dannyboy@gmail.com> Date: Tue Sep 10 23:49:44 2024 -0700 Add CFG++ to DPM++ 2S Ancestral (comfyanonymous#3871) * Update sampling.py * Update samplers.py * my bad * "fix" the sampler * Update samplers.py * i named it wrong * minor sampling improvements mainly using a dynamic rho value (hey this sounds a lot like smea!!!) * revert rho change rho? r? its just 1/2 commit e760bf5 Author: bymyself <abolkonsky.rem@gmail.com> Date: Tue Sep 10 23:00:07 2024 -0700 Add content-type filter method to folder_paths (comfyanonymous#4054) * Add content-type filter method to folder_paths * Add unit tests * Hardcode webp content-type * Annotate content_types as Literal["image", "video", "audio"] commit 36c83cd Author: comfyanonymous <comfyanonymous@protonmail.com> Date: Wed Sep 11 01:00:31 2024 -0400 Limit origin check to when host is loopback. This should still prevent the exploit without breaking things for people who use reverse proxies. commit 81778a7 Author: Yoland Yan <4950057+yoland68@users.noreply.github.com> Date: Tue Sep 10 13:44:49 2024 +0900 [🗻 Mount Fuji Commit] Add unit tests for folder path utilities (comfyanonymous#4869) All past 30 min of comtts are done on the top of Mt Fuji By Comfy, Robin, and Yoland All other comfy org members died on the way Introduced unit tests to verify the correctness of various folder path utility functions such as `get_directory_by_type`, `annotated_filepath`, and `recursive_search` among others. These tests cover scenarios including directory retrieval, filepath annotation, recursive file searches, and filtering files by extensions, enhancing the robustness and reliability of the codebase. commit bc94662 Author: comfyanonymous <comfyanonymous@protonmail.com> Date: Tue Sep 10 00:43:37 2024 -0400 Cleanup. commit 9fa8faa Author: Robin Huang <robin.j.huang@gmail.com> Date: Mon Sep 9 21:33:44 2024 -0700 Expand user directory for basepath in extra_models_paths.yaml (comfyanonymous#4857) * Expand user path. * Add test. * Add unit test for expanding base path. * Simplify unit test. * Remove comment. * Remove comment. * Checkpoints. * Refactor. commit 9a7444e Author: comfyanonymous <comfyanonymous@protonmail.com> Date: Tue Sep 10 00:21:33 2024 -0400 Add diffusion_models to the extra_model_paths.yaml.example commit 54fca4a Author: comfyanonymous <comfyanonymous@protonmail.com> Date: Mon Sep 9 16:23:21 2024 -0400 If host does not contain a port only compare the hostnames. commit cd49553 Author: Chenlei Hu <chenlei.hu@mail.utoronto.ca> Date: Mon Sep 9 17:32:55 2024 +0900 Add back CI action for tests-ui (comfyanonymous#4859) commit 8354203 Author: david02871 <dyoung287@gmail.com> Date: Mon Sep 9 09:31:18 2024 +0100 Add .venv to gitignore (comfyanonymous#4756) commit e0b4124 Author: comfyanonymous <comfyanonymous@protonmail.com> Date: Mon Sep 9 03:18:17 2024 -0400 Fix issue where sometimes origin doesn't contain the port. commit 619263d Author: Alex "mcmonkey" Goodwin <4000772+mcmonkey4eva@users.noreply.github.com> Date: Mon Sep 9 15:55:51 2024 +0900 allow current timestamp in save image prefix (comfyanonymous#4030) commit e3b0402 Author: comfyanonymous <comfyanonymous@protonmail.com> Date: Mon Sep 9 01:04:03 2024 -0400 Ignore origin domain when it's empty. commit 967867d Author: Darion <root@w1gs.dev> Date: Sun Sep 8 21:02:32 2024 -0400 fix: url decode filename from API (comfyanonymous#4801) commit cbaac71 Author: comfyanonymous <comfyanonymous@protonmail.com> Date: Sun Sep 8 19:35:23 2024 -0400 Fix issue with last commit. commit 3ab3516 Author: comfyanonymous <comfyanonymous@protonmail.com> Date: Sun Sep 8 18:08:28 2024 -0400 By default only accept requests where origin header matches the host. Browsers are dumb and let any website do requests to localhost this should prevent this without breaking things. CORS prevents the javascript from reading the response but they can still write it. At the moment this is only enabled when the --enable-cors-header argument is not used. commit 9c5fca7 Author: comfyanonymous <comfyanonymous@protonmail.com> Date: Sun Sep 8 10:10:47 2024 -0400 Fix lora issue. commit a5da4d0 Author: guill <guill@users.noreply.github.com> Date: Sun Sep 8 06:48:47 2024 -0700 Fix error with ExecutionBlocker and OUTPUT_IS_LIST (comfyanonymous#4836) This change resolves an error when a node with OUTPUT_IS_LIST=(True,) receives an ExecutionBlocker. I've also added a unit test for this case. commit 32a60a7 Author: comfyanonymous <comfyanonymous@protonmail.com> Date: Sun Sep 8 09:31:41 2024 -0400 Support onetrainer text encoder Flux lora. commit bb52934 Author: Jim Winkens <57461+nom@users.noreply.github.com> Date: Sat Sep 7 05:28:32 2024 -0400 Fix import issue (comfyanonymous#4815) commit 8aabd7c Author: comfyanonymous <comfyanonymous@protonmail.com> Date: Sat Sep 7 03:21:02 2024 -0400 SaveLora node can now save "full diff" lora format. This isn't actually a lora format and is saving the full diff of the weights in a format that can be used in the lora loader nodes. commit a09b29c Author: comfyanonymous <comfyanonymous@protonmail.com> Date: Sat Sep 7 02:56:24 2024 -0400 Add an option to the SaveLora node to store the bias diff. commit 9bfee68 Author: comfyanonymous <comfyanonymous@protonmail.com> Date: Sat Sep 7 02:30:12 2024 -0400 LoraSave node now supports generating text encoder loras. text_encoder_diff should be connected to a CLIPMergeSubtract node. model_diff and text_encoder_diff are optional inputs so you can create model only loras, text encoder only loras or a lora that contains both. commit ea77750 Author: comfyanonymous <comfyanonymous@protonmail.com> Date: Sat Sep 7 02:13:13 2024 -0400 Support a generic Comfy format for text encoder loras. This is a format with keys like: text_encoders.clip_l.transformer.text_model.encoder.layers.9.self_attn.v_proj.lora_up.weight Instead of waiting for me to add support for specific lora formats you can convert your text encoder loras to this format instead. If you want to see an example save a text encoder lora with the SaveLora node with the commit right after this one. commit c27ebeb Author: comfyanonymous <comfyanonymous@protonmail.com> Date: Fri Sep 6 03:21:52 2024 -0400 Fix onnx export not working on flux. commit 0c7c98a Author: guill <guill@users.noreply.github.com> Date: Thu Sep 5 16:33:02 2024 -0700 Nodes using UNIQUE_ID as input are NOT_IDEMPOTENT (comfyanonymous#4793) As suggested by @ltdrdata, we can automatically consider nodes that take the UNIQUE_ID hidden input to be NOT_IDEMPOTENT. commit dc2eb75 Author: comfyanonymous <comfyanonymous@protonmail.com> Date: Thu Sep 5 19:21:52 2024 -0400 Update stable release workflow to latest pytorch with cuda 12.4. commit fa34efe Author: Chenlei Hu <chenlei.hu@mail.utoronto.ca> Date: Thu Sep 5 15:56:01 2024 -0700 Update frontend to v1.2.47 (comfyanonymous#4798) * Update web content to release v1.2.47 * Update shortcut list
Example:
Just set filename prefix to eg
%year%-%month%-%day%/ComfyUI
,this will save as eg
ComfyUI/output/2024-07-15/ComfyUI_00001_.png
Supercedes #3402 but with cleaner code and a more configurable usage
The benefit is, of course, more ways to organize files.
Arguably more vars would be useful, eg prompt and wotnot, but that would require text processing nodes linking together, which is possible with some custom node packs.
Date/time however is easily inserted directly.
I also added an
if "%" in filename_prefix:
guard to prevent redundant calculations when the user doesn't want them.