from .nodes.llm_api import LLMChat, LLMChatMultiModal from .nodes.compute_video_point import VideoStartPointDurationCompute from .nodes.cos import COSUpload, COSDownload from .nodes.face_detect import FaceDetect from .nodes.face_extract import FaceExtract from .nodes.heygem import HeyGemF2F, HeyGemF2FFromFile from .nodes.image import SaveImagePath from .nodes.load_image_pro import LoadNetImg from .nodes.log2db import LogToDB from .nodes.nodes_bfl import ( FluxProUltraImageNode, FluxKontextProImageNode, FluxKontextMaxImageNode, FluxProExpandNode, FluxProFillNode, FluxProCannyNode, FluxProDepthNode ) from .nodes.s3 import S3Download, S3Upload, S3UploadURL from .nodes.string_empty_judgement import StringEmptyJudgement from .nodes.text import * from .nodes.traverse_folder import TraverseFolder from .nodes.unload_all_models import UnloadAllModels from .nodes.video import VideoCut, VideoCutByFramePoint, VideoChangeFPS from .nodes.vod2local import VodToLocalNode from .nodes.prompt_id_generator import TaskIdGenerate from .nodes.random_line import RandomLineSelector from .nodes.webhook_forward import PlugAndPlayWebhook, SaveImageWithOutput # A dictionary that contains all nodes you want to export with their names # NOTE: names should be globally unique NODE_CLASS_MAPPINGS = { "FaceOccDetect": FaceDetect, "FaceExtract": FaceExtract, "COSUpload": COSUpload, "COSDownload": COSDownload, "S3Upload": S3Upload, "S3UploadURL": S3UploadURL, "S3Download": S3Download, "VideoCutCustom": VideoCut, "VideoCutByFramePoint": VideoCutByFramePoint, "VideoChangeFPS": VideoChangeFPS, "VodToLocal": VodToLocalNode, "LogToDB": LogToDB, "VideoPointCompute": VideoStartPointDurationCompute, "StringEmptyJudgement": StringEmptyJudgement, "unloadAllModels": UnloadAllModels, "TraverseFolder": TraverseFolder, "LoadTextCustom": LoadTextLocal, "LoadTextCustomOnline": LoadTextOnline, "HeyGemF2F": HeyGemF2F, "HeyGemF2FFromFile": HeyGemF2FFromFile, "SaveImagePath": SaveImagePath, "LoadNetImg": LoadNetImg, "FluxProUltraImageNode": FluxProUltraImageNode, # "FluxProImageNode": FluxProImageNode, "FluxKontextProImageNode": FluxKontextProImageNode, "FluxKontextMaxImageNode": FluxKontextMaxImageNode, "FluxProExpandNode": FluxProExpandNode, "FluxProFillNode": FluxProFillNode, "FluxProCannyNode": FluxProCannyNode, "FluxProDepthNode": FluxProDepthNode, "TaskIdGenerate": TaskIdGenerate, "RandomLineSelector": RandomLineSelector, "PlugAndPlayWebhook": PlugAndPlayWebhook, "SaveImageWithOutput": SaveImageWithOutput, "LLMChat": LLMChat, "LLMChatMultiModal": LLMChatMultiModal } # A dictionary that contains the friendly/humanly readable titles for the nodes NODE_DISPLAY_NAME_MAPPINGS = { "FaceOccDetect": "面部遮挡检测", "FaceExtract": "面部提取", "COSUpload": "COS上传", "COSDownload": "COS下载", "S3Upload": "S3上传", "S3UploadURL": "S3上传-返回URL", "S3Download": "S3下载", "VideoCutCustom": "视频剪裁", "VideoCutByFramePoint": "视频剪裁(精确帧位)", "VideoChangeFPS": "视频转换帧率", "VodToLocal": "腾讯云VOD下载", "LogToDB": "状态持久化DB", "VideoPointCompute": "视频帧位计算", "StringEmptyJudgement": "字符串是否为空", "unloadAllModels": "卸载所有已加载模型", "TraverseFolder": "遍历文件夹", "LoadTextCustom": "读取文本文件(本地)", "LoadTextCustomOnline": "读取文本文件(线上)", "HeyGemF2F": "HeyGem口型同步(API, 传入文件Tensor)", "HeyGemF2FFromFile": "HeyGem口型同步(API, 传入文件路径)", "SaveImagePath": "保存图片", "LoadNetImg": "load_net_image", "FluxProUltraImageNode": "Flux 1.1 [pro] Ultra Image", # "FluxProImageNode": "Flux 1.1 [pro] Image", "FluxKontextProImageNode": "Flux.1 Kontext [pro] Image", "FluxKontextMaxImageNode": "Flux.1 Kontext [max] Image", "FluxProExpandNode": "Flux.1 Expand Image", "FluxProFillNode": "Flux.1 Fill Image", "FluxProCannyNode": "Flux.1 Canny Control Image", "FluxProDepthNode": "Flux.1 Depth Control Image", "TaskIdGenerate": "TaskID生成器", "RandomLineSelector": "随机选择一行内容", "PlugAndPlayWebhook": "Webhook转发器", "SaveImageWithOutput": "保存图片(带输出)", "LLMChat": "LLM调用", "LLMChatMultiModal": "多模态LLM调用" }