n8n-nodes-comfyui-all 2.4.3 → 2.4.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -9,9 +9,11 @@
9
9
  - 🎨 **Universal Workflow Support** - Works with any ComfyUI workflow in API format
10
10
  - 🔄 **Dynamic Parameters** - Override workflow parameters dynamically
11
11
  - 🎬 **Multi-Modal Support** - Supports images and videos for both input and output
12
- - 🤖 **AI Agent Ready** - Can be used as a tool in AI Agent workflows
12
+ - 🤖 **AI Agent Ready** - Two specialized nodes for different use cases:
13
+ - **ComfyUI Tool** - Optimized for AI Agent workflows (URL-based image input)
14
+ - **ComfyUI** - Full-featured node for standard workflows (binary & URL support)
13
15
  - 📊 **Flexible Configuration** - JSON mode or single parameter mode
14
- - 🔗 **URL Image Support** - Load images from URLs or binary data
16
+ - 🔗 **Multiple Image Input Methods** - URL, binary data
15
17
  - 🏷️ **Customizable Output** - Customize binary output property names
16
18
 
17
19
  ## 📦 Installation
@@ -1 +1 @@
1
- {"version":3,"file":"ComfyUiTool.node.d.ts","sourceRoot":"","sources":["../../../nodes/ComfyUiTool/ComfyUiTool.node.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAEnB,MAAM,cAAc,CAAC;AActB,qBAAa,WAAW;IACtB;;OAEG;IACH,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MA2HT;IAEF;;OAEG;IACG,OAAO,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC;CA+MxE"}
1
+ {"version":3,"file":"ComfyUiTool.node.d.ts","sourceRoot":"","sources":["../../../nodes/ComfyUiTool/ComfyUiTool.node.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAEnB,MAAM,cAAc,CAAC;AAWtB,qBAAa,WAAW;IACtB;;OAEG;IACH,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MA2HT;IAEF;;OAEG;IACG,OAAO,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC;CA6MxE"}
@@ -124,12 +124,12 @@ class ComfyUiTool {
124
124
  placeholder: 'e.g., 5, 12, load_image_1',
125
125
  },
126
126
  {
127
- displayName: 'Image Data (Base64 or Path)',
128
- name: 'imageData',
127
+ displayName: 'Image URL',
128
+ name: 'imageUrl',
129
129
  type: 'string',
130
130
  default: '',
131
- description: 'Optional: Image data as base64 string (with or without data:image/... prefix) or file path. Use this when passing images from AI Agents or as text parameters.',
132
- placeholder: 'data:image/png;base64,iVBORw0KG... or /tmp/image.png',
131
+ description: 'Optional: URL of the image to process. Use this when passing images from AI Agents. The node will download and upload the image to ComfyUI.',
132
+ placeholder: 'https://example.com/image.png',
133
133
  },
134
134
  {
135
135
  displayName: 'Parameter Overrides',
@@ -187,7 +187,7 @@ class ComfyUiTool {
187
187
  const workflowJson = this.getNodeParameter('workflowJson', 0);
188
188
  const timeout = this.getNodeParameter('timeout', 0);
189
189
  const loadImageNodeId = this.getNodeParameter('loadImageNodeId', 0);
190
- const imageData = this.getNodeParameter('imageData', 0);
190
+ const imageUrl = this.getNodeParameter('imageUrl', 0);
191
191
  const parameterOverrides = this.getNodeParameter('parameterOverrides', 0);
192
192
  // Validate URL
193
193
  if (!(0, validation_1.validateUrl)(comfyUiUrl)) {
@@ -209,9 +209,6 @@ class ComfyUiTool {
209
209
  throw new n8n_workflow_1.NodeOperationError(this.getNode(), `Failed to parse workflow JSON. Please ensure it is valid ComfyUI API format.\nError: ${error instanceof Error ? error.message : String(error)}`);
210
210
  }
211
211
  logger.info('Processing ComfyUI workflow execution request', { comfyUiUrl, timeout });
212
- // Get input data
213
- const inputData = this.getInputData();
214
- const hasInputImage = (0, agentToolHelpers_1.hasBinaryData)(inputData);
215
212
  let uploadedImageFilename = null;
216
213
  // Create ComfyUI client
217
214
  const client = new ComfyUiClient_1.ComfyUIClient({
@@ -221,75 +218,66 @@ class ComfyUiTool {
221
218
  logger,
222
219
  });
223
220
  try {
224
- // If input contains image and LoadImage node ID is specified, upload it
225
- if (hasInputImage && loadImageNodeId) {
226
- const binaryKey = (0, agentToolHelpers_1.getFirstBinaryKey)(inputData);
227
- if (!binaryKey) {
228
- throw new n8n_workflow_1.NodeOperationError(this.getNode(), 'Binary data found but no binary key detected.');
221
+ // Handle image URL (for AI Agents)
222
+ if (imageUrl && loadImageNodeId) {
223
+ logger.info('Downloading image from URL', { url: imageUrl, nodeId: loadImageNodeId });
224
+ // Validate URL
225
+ const { validateUrl } = await Promise.resolve().then(() => __importStar(require('../validation')));
226
+ if (!validateUrl(imageUrl)) {
227
+ throw new n8n_workflow_1.NodeOperationError(this.getNode(), `Invalid image URL "${imageUrl}". Must be a valid HTTP/HTTPS URL.`);
229
228
  }
230
- const binaryData = (0, agentToolHelpers_1.extractBinaryData)(inputData, binaryKey);
231
- if (!binaryData) {
232
- throw new n8n_workflow_1.NodeOperationError(this.getNode(), `Failed to extract binary data from key "${binaryKey}".`);
233
- }
234
- logger.info('Uploading input image to ComfyUI', {
235
- fileName: binaryData.fileName,
236
- mimeType: binaryData.mimeType,
237
- nodeId: loadImageNodeId,
238
- });
239
- // Convert base64 to buffer
240
- const buffer = Buffer.from(binaryData.data, 'base64');
241
- // Upload image to ComfyUI
242
- uploadedImageFilename = await client.uploadImage(buffer, binaryData.fileName || 'input_image.png');
243
- logger.info('Successfully uploaded input image', { filename: uploadedImageFilename });
244
- // Update workflow with uploaded image filename
245
- workflow = (0, agentToolHelpers_1.updateNodeParameter)(workflow, loadImageNodeId, 'inputs.image', uploadedImageFilename);
246
- }
247
- else if (imageData && loadImageNodeId) {
248
- // Handle image data passed as base64 string or file path (for AI Agents)
249
- logger.info('Processing image data from parameter', { dataLength: imageData.length, nodeId: loadImageNodeId });
250
229
  let buffer;
251
230
  let filename;
252
- if (imageData.startsWith('data:image')) {
253
- // Data URL format: data:image/png;base64,iVBORw0KG...
254
- const [mimeType, base64Data] = imageData.split(',');
255
- if (!base64Data) {
256
- throw new n8n_workflow_1.NodeOperationError(this.getNode(), 'Invalid data URL format. Expected: data:image/<type>;base64,<data>');
231
+ try {
232
+ // Download image using n8n's httpRequest
233
+ const imageResponse = await this.helpers.httpRequest({
234
+ method: 'GET',
235
+ url: imageUrl,
236
+ encoding: 'arraybuffer',
237
+ timeout: timeout * 1000,
238
+ });
239
+ if (!imageResponse || !Buffer.isBuffer(imageResponse)) {
240
+ throw new n8n_workflow_1.NodeOperationError(this.getNode(), `Failed to download image from URL "${imageUrl}". The server did not return valid image data.`);
257
241
  }
258
- buffer = Buffer.from(base64Data, 'base64');
259
- const extension = mimeType.split('/')[1]?.split(';')[0] || 'png';
260
- filename = `agent_image.${extension}`;
261
- logger.info('Decoded image from data URL', { mimeType: mimeType.split(';')[0], size: buffer.length });
262
- }
263
- else if (imageData.startsWith('/') || imageData.startsWith('./') || imageData.startsWith('../')) {
264
- // File path
265
- const fs = await Promise.resolve().then(() => __importStar(require('fs/promises')));
242
+ buffer = Buffer.from(imageResponse);
243
+ if (buffer.length === 0) {
244
+ throw new n8n_workflow_1.NodeOperationError(this.getNode(), `Downloaded image from URL "${imageUrl}" is empty.`);
245
+ }
246
+ // Extract filename from URL
266
247
  try {
267
- buffer = await fs.readFile(imageData);
268
- filename = imageData.split('/').pop() || 'agent_image.png';
269
- logger.info('Read image from file', { path: imageData, size: buffer.length });
248
+ const urlObj = new URL(imageUrl);
249
+ const pathname = urlObj.pathname;
250
+ filename = pathname.split('/').pop() || 'agent_image.png';
251
+ // Ensure filename has extension
252
+ if (!filename.includes('.')) {
253
+ filename = 'agent_image.png';
254
+ }
270
255
  }
271
- catch (error) {
272
- throw new n8n_workflow_1.NodeOperationError(this.getNode(), `Failed to read image file from path "${imageData}": ${error instanceof Error ? error.message : String(error)}`);
256
+ catch {
257
+ filename = 'agent_image.png';
273
258
  }
259
+ logger.info('Successfully downloaded image', {
260
+ url: imageUrl,
261
+ size: buffer.length,
262
+ filename
263
+ });
274
264
  }
275
- else {
276
- // Plain base64 string (without data:image/... prefix)
277
- try {
278
- buffer = Buffer.from(imageData, 'base64');
279
- filename = 'agent_image.png';
280
- logger.info('Decoded image from base64 string', { size: buffer.length });
265
+ catch (error) {
266
+ if (error instanceof n8n_workflow_1.NodeOperationError) {
267
+ throw error;
281
268
  }
282
- catch (error) {
283
- throw new n8n_workflow_1.NodeOperationError(this.getNode(), `Failed to decode base64 image data. Make sure the data is valid base64 or a data URL (data:image/...;base64,...). Error: ${error instanceof Error ? error.message : String(error)}`);
269
+ const httpError = error;
270
+ const statusCode = httpError.response?.statusCode;
271
+ const statusMessage = httpError.response?.statusMessage;
272
+ let errorMessage = `Failed to download image from URL "${imageUrl}"`;
273
+ if (statusCode) {
274
+ errorMessage += ` (HTTP ${statusCode} ${statusMessage || ''})`;
284
275
  }
285
- }
286
- // Validate buffer
287
- if (!buffer || buffer.length === 0) {
288
- throw new n8n_workflow_1.NodeOperationError(this.getNode(), 'Decoded image data is empty. Please check the image data.');
276
+ throw new n8n_workflow_1.NodeOperationError(this.getNode(), errorMessage);
289
277
  }
290
278
  // Upload image to ComfyUI
291
279
  uploadedImageFilename = await client.uploadImage(buffer, filename);
292
- logger.info('Successfully uploaded image from parameter', { filename: uploadedImageFilename });
280
+ logger.info('Successfully uploaded image to ComfyUI', { filename: uploadedImageFilename });
293
281
  // Update workflow with uploaded image filename
294
282
  workflow = (0, agentToolHelpers_1.updateNodeParameter)(workflow, loadImageNodeId, 'inputs.image', uploadedImageFilename);
295
283
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ComfyUiTool.node.js","sourceRoot":"","sources":["../../../nodes/ComfyUiTool/ComfyUiTool.node.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ComfyUiTool.node.js","sourceRoot":"","sources":["../../../nodes/ComfyUiTool/ComfyUiTool.node.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "n8n-nodes-comfyui-all",
3
- "version": "2.4.3",
3
+ "version": "2.4.5",
4
4
  "description": "n8n community nodes for ComfyUI workflow execution with dynamic parameter support",
5
5
  "keywords": [
6
6
  "n8n-community-node-package",
@@ -1,125 +0,0 @@
1
- /**
2
- * ComfyUI Tool - AI Agent-friendly image generation node
3
- *
4
- * This node is designed to be used as an AI Agent tool with minimal configuration.
5
- * It accepts a simple text query and automatically generates images using ComfyUI.
6
- */
7
- import { IExecuteFunctions, INodeExecutionData } from 'n8n-workflow';
8
- export declare class ComfyUiTool {
9
- /**
10
- * Node description for n8n
11
- */
12
- description: {
13
- displayName: string;
14
- name: string;
15
- icon: string;
16
- iconColor: string;
17
- group: string[];
18
- version: number[];
19
- defaultVersion: number;
20
- description: string;
21
- defaults: {
22
- name: string;
23
- };
24
- usableAsTool: boolean;
25
- inputs: string[];
26
- outputs: string[];
27
- subtitle: string;
28
- notes: string[];
29
- inputSample: {
30
- query: string;
31
- };
32
- outputSample: {
33
- json: {
34
- success: boolean;
35
- imageCount: number;
36
- imageUrls: string[];
37
- prompt: string;
38
- parameters: {
39
- width: number;
40
- height: number;
41
- steps: number;
42
- cfg: number;
43
- seed: number;
44
- };
45
- };
46
- binary: {
47
- data: {
48
- data: string;
49
- mimeType: string;
50
- fileName: string;
51
- };
52
- };
53
- };
54
- properties: ({
55
- displayName: string;
56
- name: string;
57
- type: string;
58
- required: boolean;
59
- default: string;
60
- description: string;
61
- minValue?: undefined;
62
- maxValue?: undefined;
63
- placeholder?: undefined;
64
- options?: undefined;
65
- } | {
66
- displayName: string;
67
- name: string;
68
- type: string;
69
- default: number;
70
- description: string;
71
- minValue: number;
72
- maxValue: number;
73
- required?: undefined;
74
- placeholder?: undefined;
75
- options?: undefined;
76
- } | {
77
- displayName: string;
78
- name: string;
79
- type: string;
80
- default: string;
81
- description: string;
82
- placeholder: string;
83
- required?: undefined;
84
- minValue?: undefined;
85
- maxValue?: undefined;
86
- options?: undefined;
87
- } | {
88
- displayName: string;
89
- name: string;
90
- type: string;
91
- placeholder: string;
92
- default: {};
93
- options: ({
94
- displayName: string;
95
- name: string;
96
- type: string;
97
- typeOptions: {
98
- rows: number;
99
- };
100
- default: string;
101
- description: string;
102
- minValue?: undefined;
103
- maxValue?: undefined;
104
- } | {
105
- displayName: string;
106
- name: string;
107
- type: string;
108
- default: number;
109
- description: string;
110
- minValue: number;
111
- maxValue: number;
112
- typeOptions?: undefined;
113
- })[];
114
- required?: undefined;
115
- description?: undefined;
116
- minValue?: undefined;
117
- maxValue?: undefined;
118
- })[];
119
- };
120
- /**
121
- * Execute function - called when the node runs
122
- */
123
- execute(this: IExecuteFunctions): Promise<INodeExecutionData[][]>;
124
- }
125
- //# sourceMappingURL=ComfyUiTool.node.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ComfyUiTool.node.d.ts","sourceRoot":"","sources":["../../nodes/ComfyUiTool.node.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAEnB,MAAM,cAAc,CAAC;AAStB,qBAAa,WAAW;IACtB;;OAEG;IACH,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAyIT;IAEF;;OAEG;IACG,OAAO,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC;CAyIxE"}
@@ -1,265 +0,0 @@
1
- "use strict";
2
- /**
3
- * ComfyUI Tool - AI Agent-friendly image generation node
4
- *
5
- * This node is designed to be used as an AI Agent tool with minimal configuration.
6
- * It accepts a simple text query and automatically generates images using ComfyUI.
7
- */
8
- Object.defineProperty(exports, "__esModule", { value: true });
9
- exports.ComfyUiTool = void 0;
10
- const n8n_workflow_1 = require("n8n-workflow");
11
- const ComfyUiClient_1 = require("./ComfyUiClient");
12
- const validation_1 = require("./validation");
13
- const logger_1 = require("./logger");
14
- const agentToolHelpers_1 = require("./agentToolHelpers");
15
- const workflowConfig_1 = require("./workflowConfig");
16
- class ComfyUiTool {
17
- constructor() {
18
- /**
19
- * Node description for n8n
20
- */
21
- this.description = {
22
- displayName: 'ComfyUI Tool',
23
- name: 'comfyUiTool',
24
- icon: 'file:comfyui.svg',
25
- iconColor: '#77C157',
26
- group: ['transform'],
27
- version: [1],
28
- defaultVersion: 1,
29
- description: 'AI-friendly image generation tool. Simply describe what you want to create.',
30
- defaults: {
31
- name: 'ComfyUI Tool',
32
- },
33
- usableAsTool: true,
34
- inputs: ['main'],
35
- outputs: ['main'],
36
- subtitle: 'AI Image Generator',
37
- notes: [
38
- 'Optimized for AI Agent usage',
39
- 'Automatically parses natural language queries',
40
- 'Supports size, steps, cfg, seed, and negative prompt parameters',
41
- 'Example: "A beautiful sunset, size:1024x768, steps:30"',
42
- ],
43
- inputSample: {
44
- query: 'A beautiful landscape painting',
45
- },
46
- outputSample: {
47
- json: {
48
- success: true,
49
- imageCount: 1,
50
- imageUrls: ['http://127.0.0.1:8188/view?filename=ComfyUI_00001.png'],
51
- prompt: 'A beautiful landscape painting',
52
- parameters: {
53
- width: 512,
54
- height: 512,
55
- steps: 20,
56
- cfg: 8,
57
- seed: 123456789,
58
- },
59
- },
60
- binary: {
61
- data: {
62
- data: 'base64_encoded_image_data',
63
- mimeType: 'image/png',
64
- fileName: 'ComfyUI_00001.png',
65
- },
66
- },
67
- },
68
- properties: [
69
- {
70
- displayName: 'ComfyUI URL',
71
- name: 'comfyUiUrl',
72
- type: 'string',
73
- required: true,
74
- default: 'http://127.0.0.1:8188',
75
- description: 'URL of ComfyUI server',
76
- },
77
- {
78
- displayName: 'Timeout (Seconds)',
79
- name: 'timeout',
80
- type: 'number',
81
- default: 120,
82
- description: 'Maximum time to wait for image generation (in seconds). Default: 120 (2 minutes).',
83
- minValue: 10,
84
- maxValue: 600,
85
- },
86
- {
87
- displayName: 'Output Binary Key',
88
- name: 'outputBinaryKey',
89
- type: 'string',
90
- default: 'data',
91
- description: 'Property name for the output binary data (e.g., "data", "image", "output")',
92
- placeholder: 'data',
93
- },
94
- {
95
- displayName: 'Default Negative Prompt',
96
- name: 'defaultNegativePrompt',
97
- type: 'string',
98
- default: 'ugly, blurry, low quality, distorted',
99
- description: 'Default negative prompt to use when not specified in query',
100
- placeholder: 'ugly, blurry, low quality',
101
- },
102
- {
103
- displayName: 'Advanced Options',
104
- name: 'advancedOptions',
105
- type: 'collection',
106
- placeholder: 'Add Option',
107
- default: {},
108
- options: [
109
- {
110
- displayName: 'Custom Workflow JSON',
111
- name: 'customWorkflow',
112
- type: 'string',
113
- typeOptions: {
114
- rows: 20,
115
- },
116
- default: '',
117
- description: 'Optional: Custom ComfyUI workflow JSON (API Format). If empty, uses default workflow. Only use this if you want to override the default template.',
118
- },
119
- {
120
- displayName: 'Default Width',
121
- name: 'defaultWidth',
122
- type: 'number',
123
- default: 512,
124
- description: 'Default image width when not specified in query',
125
- minValue: 64,
126
- maxValue: 4096,
127
- },
128
- {
129
- displayName: 'Default Height',
130
- name: 'defaultHeight',
131
- type: 'number',
132
- default: 512,
133
- description: 'Default image height when not specified in query',
134
- minValue: 64,
135
- maxValue: 4096,
136
- },
137
- {
138
- displayName: 'Default Steps',
139
- name: 'defaultSteps',
140
- type: 'number',
141
- default: 20,
142
- description: 'Default sampling steps when not specified in query',
143
- minValue: 1,
144
- maxValue: 150,
145
- },
146
- {
147
- displayName: 'Default CFG',
148
- name: 'defaultCfg',
149
- type: 'number',
150
- default: 8,
151
- description: 'Default CFG scale when not specified in query',
152
- minValue: 1,
153
- maxValue: 30,
154
- },
155
- ],
156
- },
157
- ],
158
- };
159
- }
160
- /**
161
- * Execute function - called when the node runs
162
- */
163
- async execute() {
164
- const logger = (0, logger_1.createLogger)(this.logger);
165
- // Get node parameters
166
- const comfyUiUrl = this.getNodeParameter('comfyUiUrl', 0);
167
- const timeout = this.getNodeParameter('timeout', 0);
168
- const outputBinaryKey = this.getNodeParameter('outputBinaryKey', 0);
169
- const defaultNegativePrompt = this.getNodeParameter('defaultNegativePrompt', 0);
170
- const advancedOptions = this.getNodeParameter('advancedOptions', 0);
171
- const { customWorkflow = '', defaultWidth = 512, defaultHeight = 512, defaultSteps = 20, defaultCfg = 8, } = advancedOptions || {};
172
- // Validate URL
173
- if (!(0, validation_1.validateUrl)(comfyUiUrl)) {
174
- throw new n8n_workflow_1.NodeOperationError(this.getNode(), 'Invalid ComfyUI URL. Must be a valid HTTP/HTTPS URL.');
175
- }
176
- // Validate output binary key
177
- (0, validation_1.validateOutputBinaryKey)(outputBinaryKey);
178
- // Get input data
179
- const inputData = this.getInputData();
180
- if (!inputData || inputData.length === 0) {
181
- throw new n8n_workflow_1.NodeOperationError(this.getNode(), 'No input data provided. Please provide a query text.');
182
- }
183
- // Get query from input
184
- const firstItem = inputData[0];
185
- const query = firstItem.json.query ||
186
- firstItem.json.text ||
187
- firstItem.json.prompt ||
188
- '';
189
- if (!query || query.trim().length === 0) {
190
- throw new n8n_workflow_1.NodeOperationError(this.getNode(), 'No query found in input. Please provide a "query", "text", or "prompt" field with a description of the image you want to generate.');
191
- }
192
- logger.info('Processing image generation request', { query, comfyUiUrl, timeout });
193
- // Parse the query to extract parameters
194
- const params = (0, agentToolHelpers_1.parseInput)(query, {
195
- negativePrompt: defaultNegativePrompt,
196
- width: defaultWidth,
197
- height: defaultHeight,
198
- steps: defaultSteps,
199
- cfg: defaultCfg,
200
- });
201
- logger.debug('Parsed parameters', {
202
- prompt: params.prompt,
203
- width: params.width,
204
- height: params.height,
205
- steps: params.steps,
206
- cfg: params.cfg,
207
- seed: params.seed,
208
- });
209
- // Get workflow template
210
- let workflowTemplate;
211
- if (customWorkflow && customWorkflow.trim().length > 0) {
212
- workflowTemplate = (0, validation_1.safeJsonParse)(customWorkflow, 'Custom workflow JSON');
213
- }
214
- else {
215
- workflowTemplate = (0, workflowConfig_1.getWorkflowTemplate)();
216
- }
217
- // Update workflow with parsed parameters
218
- const workflow = (0, agentToolHelpers_1.updateWorkflow)(workflowTemplate, params);
219
- // Create ComfyUI client
220
- const client = new ComfyUiClient_1.ComfyUIClient({
221
- baseUrl: comfyUiUrl,
222
- timeout: timeout * 1000,
223
- helpers: this.helpers,
224
- logger,
225
- });
226
- try {
227
- logger.info('Starting ComfyUI workflow execution');
228
- // Execute workflow
229
- const result = await client.executeWorkflow(workflow);
230
- if (!result.success) {
231
- logger.error('Workflow execution failed', result.error);
232
- throw new n8n_workflow_1.NodeOperationError(this.getNode(), `Failed to generate image: ${result.error}`);
233
- }
234
- // Process results
235
- const { json, binary } = await client.processResults(result, outputBinaryKey);
236
- // Add metadata to JSON output
237
- const enhancedJson = {
238
- ...json,
239
- prompt: params.prompt,
240
- parameters: {
241
- width: params.width,
242
- height: params.height,
243
- steps: params.steps,
244
- cfg: params.cfg,
245
- seed: params.seed,
246
- negative_prompt: params.negative_prompt,
247
- },
248
- };
249
- logger.info('Image generation completed successfully', {
250
- imageCount: json.imageCount,
251
- });
252
- return [this.helpers.constructExecutionMetaData([{ json: enhancedJson, binary }], { itemData: { item: 0 } })];
253
- }
254
- catch (error) {
255
- logger.error('Error during workflow execution', error);
256
- throw error;
257
- }
258
- finally {
259
- client.destroy();
260
- logger.debug('Client destroyed');
261
- }
262
- }
263
- }
264
- exports.ComfyUiTool = ComfyUiTool;
265
- //# sourceMappingURL=ComfyUiTool.node.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ComfyUiTool.node.js","sourceRoot":"","sources":["../../nodes/ComfyUiTool.node.ts"],"names":[],"mappings":"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"}