¡Guarde como JXL, AVIF, WebP, JPEG, JPEG2K, personalice la carpeta, los subcarpetas y los nombres de archivo de sus imágenes!
Admite esas extensiones: JXL AVIF WebP JPG JPEG J2K JP2 PNG GIF TIFF BMP

json (texto), en cada carpeta.
| Atributo | Descripción |
|---|---|
filename_prefix | Prefijo de cadena agregado a los archivos. |
filename_keys | Cadena separada por comas con parámetros de muestras para agregar al nombre de archivo. Por ejemplo: sampler_name, scheduler, cfg, denoise agregado al nombre de archivo en orden por escrito. resolution también funciona. vae_name model_name (Modelo Upscale), ckpt_name (punto de control) son otros que deberían funcionar. Aquí puede probar cualquier nombre de parámetro de cualquier nodo. Mientras el parámetro tenga el mismo nombre de variable definido en el objeto prompt , deberían funcionar. Lo mismo se aplica a foldername_keys . |
foldername_prefix | Prefijo de cadena agregado a las carpetas. |
foldername_keys | Cadena separada por comas con parámetros de muestras para agregar al nombre de FolderName. Agregue más subcarpetas escribiendo un "./" separado con comas. Por ejemplo: sampler_name, ./, ckpt_name |
delimiter | Ahora un carácter de delimitador de campo libre = 1 puede ser cualquier cosa que su sistema de archivos admita. Los usuarios de Windows aún deben usar "/" para subcarpetas. |
save_job_data | Si está habilitado, guarda información sobre cada trabajo como entradas en un archivo de texto jobs.json , dentro de la carpeta generada. Opciones mulitple para guardar prompt , basic data , sampler settings , loaded models . |
job_data_per_image | Cuando está habilitado, guarda archivos de datos de trabajo individuales para cada imagen. |
job_custom_text | Cadena personalizada para guardar junto con los datos del trabajo. Haga clic derecho en el nodo y convierta en entrada para conectarse con otro nodo. |
save_metadata | Guarda metadatos en la imagen. |
counter_digits | Número de dígitos utilizados para el contador de imágenes. 3 = Image_001.png. Ajustará el contador si se eliminan los archivos. Busca el número más alto en la carpeta, no llena los vacíos. |
counter_position | Contador de imágenes primero o último en el nombre de archivo. |
one_counter_per_folder | Alternar el mostrador. Ya sea un contador por carpeta, o se restablece cuando cambia un parámetro/indicación. |
image_preview | Enciende y apaga la vista previa de la imagen. |
output_ext | Extensión del archivo: PNG de forma predeterminada o WebP (próximamente). |
quality | Calidad para formatos jpeg/jxl/webp/avif/j2k; predeterminado 90 (AVIF solo necesita 60 para los mismos resultados). |
named_keys | Prefijo cada valor por su nombre de clave: prefix-sseed = 123456-width = 1024-ETC-0001.avif |
filename_keys y foldername_keys se tratan como cadenas personalizadaswrongNumber.attribute , obtendrá attribute en su nombre de archivo.%Y-%m-%d o %F etcckpt_name y control_net_nameckpt_path o control_net_path en caso de que tenga subcarpetas para ellos y desee usarlas como subcarpetas.custom_string evitará que la apaza delimitador, el punto será el delimitador images : las imágenes generadas.Opcional:
positive_text_opt - Entrada de cadena opcional para cuando se usa nodos personalizados para un texto de inmediato positivo.negative_text_opt - Entrada de cadena opcional para cuando se usa nodos personalizados para texto de inmediato negativo. Convierte los formatos de fecha y hora de UNIX:
| Unix DateTetime | Ejemplo | Comentario |
|---|---|---|
| %F o%y-%m-%D | 2024-05-22 | |
| %D | 22/05/24 | Esto efectivamente crea subcarpetas |
| %F%h-%m-%s | 2024-05-22 09-13-58 | |
| %Y/%V | 2024/21 | Año subcarpeta / ISO Semana Subcarpeta |

Hay un requisito.txt que se encargará de eso, pero en caso de que:
pip install piexif pillow pillow-avif-plugin
Para JPEG XL / JXL es más complicado. No puede compilar la rueda jxlpy en las ventanas. Por lo tanto, usamos una alternativa: ImageCodecs
pip install -U imagecodecs
git clone para clonar el repositorio de Save-Image-Extended-Comfyui en Comfyui Custom_Nodes git clone https://github.com/audioscavenger/save-image-extended-comfyui
JPEG XL es un acalorado debate en el foro de Chromium y, si es cierto, que Google está trabajando en WebP2, es poco probable que JXL despegue pronto. Los proponentes posiblemente declaren sin pruebas, que JXL es mejor y más rápido que el mejor códec actual: AVIF. Pero nuevamente, sin el apoyo de la industria, no va a ninguna parte.
Probé con compresión 90 y es bueno, con una advertencia. La compresión ofrecida por la almohada es 3 veces más baja que la magia de imagen para el mismo nivel. No tengo idea de por qué.
La almohada no puede guardar los datos de Exif en JPEG2000, ni puede comprimirlo de ninguna manera. ¿Quién diablos está usando JPEG2000 en 2024 de todos modos?
Descargo de responsabilidad: no verifica los caracteres ilegales ingresados en los nombres de archivo o carpeta. Puede no ser compatible con cualquier otro nodo personalizado, dependiendo de los cambios en el objeto prompt . Probado y trabajando con muestreadores predeterminados, nodos de eficiencia, UltimatesDupScale, Comfyroll, Composer, Negitools y otros 45 nodos.
Configuración de calidad y compresión: el valor predeterminado es 90, 100 activará sin pérdidas para AVIF y WebP solamente.
Comparación rápida del tamaño por extensión, para la misma imagen 512x512, con una calidad visual similar:
| Extendido | Compresión | Fabricante | Tamaño | Compresión |
|---|---|---|---|---|
| png | Max 9 | Pilotear | 413111 | 0% |
| J2K | n / A | Pilotear | 395028 | 4% |
| jxl | sin pérdidas | Pilotear | 301310 | 27% |
| jxl | 90 | Pilotear | 179210 | 57% |
| jpeg | 90 | Pilotear | 88554 | 79% |
| avic | 90 | Imaginar | 67272 | 84% |
| webp | 90 | Imaginar | 64416 | 84% |
| webp | 90 | Pilotear | 64356 | 84% |
| avic | 60 | Pilotear | 47353 | 89% |
| avic | 60 | Imaginar | 33691 | 92% |
Acerca de Extensions WebP AVIF JPEG JXL: COMFYUI solo puede cargar PNG y WebP ATM ... ¡no dude en pedirle al equipo Comfyui que agregue soporte para AVIF/JPEG/JXL!
Los metadatos se incluyen en las etiquetas EXIF IFD a continuación, como se define aquí fue que Node Suite también usa esas etiquetas. Deben estar uno al lado del otro para poder poder cargarlos con arrastrar y soltar.
| Datos | Exif | Nombre | La cuerda se ve como |
|---|---|---|---|
| inmediato | 0x010f | Hacer | Aviso: {"5" ...} |
| flujo de trabajo | 0x010e | Imagenedescription | Flujo de trabajo: {"5" ...} |
Puede recuperar el indicador manualmente con ExifTool, aquí hay algunos comandos de ejemplo:
exiftool -Parameters -Prompt -Workflow image.pngexiftool -Parameters -UserComment -ImageDescription image.{jpg|jpeg|webp|avif|jxl} Comfyui no puede cargar un cajero automático sin pérdidas. No dude en intentar arreglar pnginfo.js
Incompatible con extendido-SaveImage-Comfyui : este nodo se puede descartar de forma segura, ya que solo ofrece salida WebP. Mi nodo ya agrega JPEG y WebP.
Lo pidió ... ¡ahora puede seleccionar de qué nodo obtener los valores del widget! Anteriormente, este nodo personalizado simplemente devolvería el último valor encontrado: inútil si tiene múltiples nodos mismos ... para ver números de nodo en la interfaz de usuario, habilite los ID de insignia :

Jobs.json Muestra: siempre generado y agregado, no estoy seguro de para qué se puede usar.

¡Feliz ahorro!
Reiniciar por Audioscavenger desde 2024-05-05, idea original de @thedyze
No te prometiré la luna, pero como uso este nodo yo mismo, lo mantendré tanto como pueda. Proporciono una forma de contactarme y aceptaré relaciones públicas y colaboraciones. Una vez que siento que no tengo tiempo para trabajar en ello, con mucho gusto transferiré la propiedad o dejaré que las colaboraciones lo mantengan.
HACER:
steps_total como entrada a un ksampler, emitirá el índice de la salida, en lugar del valor de los pasos ("[Nodenum, 0]" en lugar del valor de los pasos). Corrección: ¡Use steps_total en lugar de steps !__all__ en init.pylen(splitKey) = 2 para identificar el formato real de "nodo.widget"/name en FolderName_Keys, Comfy cree que desea guardar fuera de la carpeta de salidapnginfo.js and app.js`GPL 3.0
Como mi trabajo? Esta herramienta te ayudó? ¿Quieres patrocinar más genialidad como esta?
