当前位置: 首页 > news >正文

ComfyUI自定义图片导出路径

代码:direct_save_image.py
将direct_save_image.py放到custom_node文件夹下。

import os
import torch
import numpy as np
from PIL import Image
import folder_paths
import json
from PIL.PngImagePlugin import PngInfo
import timeclass DirectSaveImage:def __init__(self):self.output_dir = folder_paths.get_output_directory()self.type = "output"self.prefix_append = ""self.compress_level = 4@classmethoddef INPUT_TYPES(s):return {"required": {"images": ("IMAGE", {"tooltip": "The images to save."}),"filename_prefix": ("STRING", {"default": "ComfyUI", "tooltip": "The prefix for the file to save."}),"output_path": ("STRING", {"default": "", "multiline": False,"tooltip": "Custom output directory path. Examples:\nD:/MyImages\nE:/AI_Output\nC:/Users/YourName/Documents/ComfyUI_Results\n\nLeave empty to use default ComfyUI output folder."}),"use_custom_path": ("BOOLEAN", {"default": False, "tooltip": "Enable custom output path"})},"hidden": {"prompt": "PROMPT", "extra_pnginfo": "EXTRA_PNGINFO"},}RETURN_TYPES = ()FUNCTION = "save_images"OUTPUT_NODE = TrueCATEGORY = "image"DESCRIPTION = "Direct Save Image with custom path support"def save_images(self, images, filename_prefix="ComfyUI", output_path="", use_custom_path=False, prompt=None, extra_pnginfo=None):# 决定保存目录if use_custom_path and output_path and output_path.strip():# 使用自定义路径output_path = output_path.strip().replace('\\', '/').rstrip('/')try:os.makedirs(output_path, exist_ok=True)save_dir = output_pathexcept Exception as e:print(f"Warning: Could not create directory {output_path}, using default: {e}")save_dir = self.output_direlse:# 使用默认路径save_dir = self.output_dirfilename_prefix += self.prefix_append# 生成文件名timestamp = int(time.time())counter = 0results = list()for (batch_number, image) in enumerate(images):i = 255. * image.cpu().numpy()img = Image.fromarray(np.clip(i, 0, 255).astype(np.uint8))# 准备元数据metadata = PngInfo()if prompt is not None:metadata.add_text("prompt", json.dumps(prompt))if extra_pnginfo is not None:for x in extra_pnginfo:metadata.add_text(x, json.dumps(extra_pnginfo[x]))# 生成文件名file = f"{filename_prefix}_{timestamp}_{counter:05}_.png"file_path = os.path.join(save_dir, file)# 直接保存到目标位置try:img.save(file_path, compress_level=self.compress_level, pnginfo=metadata)print(f"Saved image to: {file_path}")results.append({"filename": file,"subfolder": "","type": self.type})except Exception as e:print(f"Error saving image to {file_path}: {e}")counter += 1return { "ui": { "images": results } }# 注册节点
NODE_CLASS_MAPPINGS = {"DirectSaveImage": DirectSaveImage
}NODE_DISPLAY_NAME_MAPPINGS = {"DirectSaveImage": "Save Image (Direct)"
} 

使用方法:

在comfyui界面中搜索Save Image(Direct)节点
use_custom_path为true时,使用自定义导出路径

use_custom_path为false时,使用默认导出路径

sou

http://www.dtcms.com/a/305859.html

相关文章:

  • SpringBoot 2.7.18 升级 3.4.6
  • PHP语法高级篇(七):MySQL数据库
  • 具身智能 自动驾驶相关岗位的技术栈与能力地图
  • 微信小程序中实现页面跳转的方法
  • 爬虫验证码处理:ddddocr 的详细使用(通用验证码识别OCR pypi版)
  • 第2章 cmd命令基础:常用基础命令(2)
  • 数据驱动的自动驾驶虚拟测试方法
  • 【同济大学】双速率自动驾驶架构LeAD:端到端+LLM,CARLA实测93%路线完成率,性能SOTA!
  • 深入浅出设计模式——创建型模式之原型模式 Prototype
  • 【MySQL 数据库】MySQL索引特性(二)页目录(B和B+树)(非)聚簇索引 索引操作
  • 李宏毅2025《机器学习》-第九讲:大型语言模型评测的困境与“古德哈特定律”**
  • java面向对象高级02——单例类(设计模式)
  • 数据分析师进阶——95页零售相关数据分析【附全文阅读】
  • 【NLP舆情分析】基于python微博舆情分析可视化系统(flask+pandas+echarts) 视频教程 - 微博评论IP地图可视化分析实现
  • 语言模型的评估指标整理
  • Python设计模式详解:策略模式(Strategy Pattern)实战指南
  • LRU (Least Recently Used) 缓存实现及原理讲解
  • Ubuntu22.04中搭建GN编译环境
  • 深入理解缓存淘汰策略:LRU vs LFU 完全解析
  • 2025 年 NOI 最后一题题解
  • LoongCollector 安全日志接入实践:企业级防火墙场景的日志标准化采集
  • Baumer工业相机堡盟工业相机如何通过YoloV8深度学习模型实现裂缝的检测识别(C#代码UI界面版)
  • docker:将cas、tomcat、字体统一打包成docker容器
  • 工厂方法模式:从基础到C++实现
  • 自动驾驶车辆的敏捷安全档案
  • java web 对比使用注解方式和 web.xml 方式配置过滤器
  • 「日拱一码」043 机器学习-多目标预测可解释性
  • 解决Nginx的HTTPS跨域内容显示问题
  • 相亲小程序聊天与互动系统模块搭建
  • C语言:指针