UNPKG

n8n-nodes-aimlapi

Version:

Custom n8n node for integrating with the AI/ML API platform (AIMLAPI) to interact with LLMs and multimodal AI models such as chat completion endpoints.

50 lines 2.42 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.executeImageGeneration = executeImageGeneration; const request_1 = require("../utils/request"); const object_1 = require("../utils/object"); async function executeImageGeneration({ context, itemIndex, baseURL, model, }) { const prompt = context.getNodeParameter('imagePrompt', itemIndex); const extract = context.getNodeParameter('imageExtract', itemIndex); const options = context.getNodeParameter('imageOptions', itemIndex, {}); const requestOptions = (0, request_1.createRequestOptions)(baseURL, '/v1/images/generations'); const body = { model, prompt, }; (0, object_1.setIfDefined)(body, 'n', options.imageCount); (0, object_1.setIfDefined)(body, 'size', options.size); (0, object_1.setIfDefined)(body, 'response_format', options.responseFormat); (0, object_1.setIfDefined)(body, 'quality', options.quality); (0, object_1.setIfDefined)(body, 'style', options.style); (0, object_1.setIfDefined)(body, 'background', options.background); (0, object_1.setIfDefined)(body, 'negative_prompt', options.negativePrompt); requestOptions.body = body; const response = (await context.helpers.httpRequestWithAuthentication.call(context, 'aimlApi', requestOptions)); const data = response.data ?? []; switch (extract) { case 'firstUrl': { const url = data.find((entry) => typeof entry.url === 'string')?.url ?? ''; return { json: { url }, pairedItem: { item: itemIndex } }; } case 'allUrls': { const urls = data .map((entry) => entry.url) .filter((url) => Boolean(url)); return { json: { urls }, pairedItem: { item: itemIndex } }; } case 'firstBase64': { const base64 = data.find((entry) => typeof entry.b64_json === 'string')?.b64_json ?? ''; return { json: { base64 }, pairedItem: { item: itemIndex } }; } case 'allBase64': { const base64 = data .map((entry) => entry.b64_json) .filter((value) => Boolean(value)); return { json: { base64 }, pairedItem: { item: itemIndex } }; } default: return { json: { result: response }, pairedItem: { item: itemIndex } }; } } //# sourceMappingURL=imageGeneration.execute.js.map