一个纯前端的ComfyUI工作流导出插件,无需添加任何节点,直接通过Web界面配置参数并导出完整的工作流JSON文件。
- 🎯 纯前端实现: 无需添加任何ComfyUI节点,直接使用Web界面
- 📋 智能节点识别: 自动扫描工作流中的所有节点并进行类型匹配
- 📤 一键导出: 导出包含工作流、API格式和输入参数的完整JSON文件
- 🎨 可视化配置: 提供友好的参数配置和节点选择界面
- 🔧 灵活配置: 支持最多10个输入参数,每个参数可关联多个节点
插件会自动推断参数类型,并在导出时归一化为统一的类型系统:
| ComfyUI 内部类型 | 导出归一化类型 | 说明 |
|---|---|---|
| text | string |
单行文本输入 |
| textarea | string |
多行文本输入 |
| seed | seed |
随机种子数值输入 |
| int | number |
整数数值输入 |
| float | number |
浮点数数值输入 |
| select | number |
下拉选择框(保留options字段) |
| image | image |
图片文件,连接LoadImage等节点 |
| video | video |
视频文件,连接VHS_LoadVideo等节点 |
| audio | audio |
音频文件,连接LoadAudio等节点 |
| boolean | boolean |
真/假选择 |
- 将插件文件夹放入
ComfyUI/custom_nodes/目录 - 重启ComfyUI
- 在界面上方会出现 "FlowX导出" 按钮
在ComfyUI中正常构建你的工作流,无需添加任何特殊节点。
点击ComfyUI界面上方的 "FlowX导出" 按钮,打开配置界面。
- 工作流名称: 为你的工作流起一个名字
- 工作流描述: 描述工作流的功能
- 版本号: 设置版本号
对于每个需要暴露给用户的参数:
- 启用参数: 点击参数旁边的"启用"按钮
- 填写信息:
- 参数名称: 用户看到的参数名
- 参数描述: 参数的说明文字
- 参数类型: 选择合适的参数类型
- 选项配置: 如果是select类型,填写选项(逗号分隔)
- 选择关联节点: 勾选工作流中与此参数相关的节点
点击 "导出工作流JSON" 按钮,系统会自动下载包含完整配置的JSON文件。
导出文件采用归一化的类型系统,格式如下:
{
"inputs_params": [
{
"name": "输入图片",
"description": "请上传一张图片",
"type": "image",
"required": true,
"node_id": "7",
"node_type": "LoadImage",
"node_title": "Load Image",
"input_name": "image"
},
{
"name": "采样步数",
"description": "生成图像的迭代次数",
"type": "number",
"required": false,
"node_id": "3",
"node_type": "KSampler",
"node_title": "KSampler",
"input_name": "steps",
"default": 20,
"min": 1,
"max": 100,
"step": 1
},
{
"name": "采样器",
"description": "选择采样方法",
"type": "number",
"required": true,
"node_id": "3",
"node_type": "KSampler",
"input_name": "sampler_name",
"options": ["euler", "euler_a", "heun", "dpm_2", "lms"]
}
],
"task_data": {
"api_format_data": {
// 完整的ComfyUI API格式数据
}
}
}-
inputs_params: 工作流输入参数数组
name: 参数显示名称description: 参数说明type: 归一化后的参数类型(string/number/seed/boolean/image/video/audio)required: 是否必填node_id: 关联的ComfyUI节点IDnode_type: 节点类型input_name: 节点的输入名称default: 默认值(可选)min/max/step: 数值范围约束(可选)options: 选择框选项(type为number且有选项时)
-
task_data: 任务执行数据
api_format_data: ComfyUI API格式的完整工作流数据
插件会自动识别工作流中的节点类型,并提示哪些节点适合哪种参数类型:
- image: LoadImage, LoadImageMask, ImageLoad
- video: VHS_LoadVideo, LoadVideo, VideoLoad
- audio: LoadAudio, AudioLoad, VHS_LoadAudio
- text/textarea: TextInput, StringConstant, Text, CLIPTextEncode
- int: IntConstant, NumberInput, KSampler
- float: FloatConstant, NumberInput, KSampler
- boolean: BooleanConstant, CheckBox
- select: StringConstant, TextInput
- 无需在工作流中添加任何特殊节点
- 参数名称不能为空
- select类型的参数需要在选项配置中填写选项(逗号分隔)
- 系统会自动验证节点类型匹配,不匹配的节点会显示为灰色
- 导出的JSON文件会自动下载到浏览器默认下载位置
MIT License