UNPKG

@wiro-ai/n8n-nodes-wiroai

Version:

n8n community node for Wiro AI — 290+ AI models: video, image, audio, LLM, 3D, and more.

212 lines 10.7 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.StoreImageGenerator = void 0; const n8n_workflow_1 = require("n8n-workflow"); const auth_1 = require("../utils/auth"); const polling_1 = require("../utils/polling"); class StoreImageGenerator { constructor() { this.description = { displayName: 'Wiro - Store Image Generator', name: 'storeImageGenerator', icon: { light: 'file:wiro.svg', dark: 'file:wiro.svg' }, group: ['transform'], version: 1, description: 'Store Image Generator', defaults: { name: 'Wiro - Store Image Generator', }, inputs: [n8n_workflow_1.NodeConnectionTypes.Main], outputs: [n8n_workflow_1.NodeConnectionTypes.Main], usableAsTool: true, credentials: [ { name: 'wiroApi', required: true, }, ], properties: [ { displayName: 'Screenshots URL', name: 'inputImagesUrl', type: 'string', default: '', required: true, description: 'The generation process requires a minimum input of 3 images. Input sets containing fewer than 3 images will trigger an error, and any inputs beyond the fourth image will be disregarded.', }, { displayName: 'Description', name: 'description', type: 'string', default: '', required: true, description: 'Provide a description or context for the image generation', }, { displayName: 'Store', name: 'store', type: 'options', default: 'apple', required: true, description: 'Select the store for your app screenshots', options: [ { name: 'Apple App Store', value: 'apple' }, { name: 'Google Play Store', value: 'google' }, ], }, { displayName: 'Background Color', name: 'color', type: 'options', default: '', description: 'Background color of the images. Auto by default.', options: [ { name: 'Auto', value: '' }, { name: 'Black And Blue Gradient', value: '#000000,#0047aa' }, { name: 'Black And Red Gradient', value: '#000000,#e60026' }, { name: 'Black And White Gradient', value: '#000000,#FFFFFF' }, { name: 'Black Gradient', value: '#18181D,#000000' }, { name: 'Blue Gradient', value: '#4582c0,#0047ab' }, { name: 'Blue Purple Gradients', value: '#4582c0,#6e3b88' }, { name: 'Blue White Gradients', value: '#4582c0,#FFFFFF' }, { name: 'Blue Yellow Gradient', value: '#4582c0,#fdb300' }, { name: 'Brown Gradient', value: '#A17530,#703F00' }, { name: 'Christmas', value: '#028553,#e60026' }, { name: 'Cyan Gradient', value: '#19ccb1,#72c9ef' }, { name: 'Dark Gradient', value: '#18181D,#332642' }, { name: 'Dark Green Gradient', value: '#212e20,#028553' }, { name: 'Dark Purple Gradient', value: '#332642,#6e3b88' }, { name: 'Gold Gradient', value: '#fdb300,#bb972b' }, { name: 'Gray Gradient', value: '#A5ACAF,#5C5C5C' }, { name: 'Green Blue Gradient', value: '#7ecaab,#4582c0' }, { name: 'Green Gradient', value: '#7ecaab,#028553' }, { name: 'Lavender Gradient', value: '#edd5fd,#c9a7c7' }, { name: 'Light Blue Gradients', value: '#A6E1F9,#4BC7CE' }, { name: 'Light Green Gradient', value: '#b1d41d,#7ecaab' }, { name: 'Light Pink Gradient', value: '#f6bcd2,#fcc9bc' }, { name: 'Light Purple Gradients', value: '#c9a7c7,#BDC4E3' }, { name: 'Maroon Gradient', value: '#660000,#94373e' }, { name: 'Metal Gradient', value: '#acadb1,#5C5C5C' }, { name: 'Natural Gradient', value: '#8cb14d,#6b564a' }, { name: 'Navy Blue', value: '#012e5d,#4582c0' }, { name: 'Ocean Gradient', value: '#2d8a7f,#72c9ef' }, { name: 'Orange Gradient', value: '#ff9c40,#df8d04' }, { name: 'Pastel Gradient', value: '#f6bcd2,#cbfff8' }, { name: 'Pink Blue Gradient', value: '#fa9bcb,#4582c0' }, { name: 'Pink Gradient', value: '#fa9bcb,#E46FB1' }, { name: 'Pink Purple Gradient', value: '#fa9bcb,#6e3b88' }, { name: 'Purple Gradient', value: '#a684a7,#550f75' }, { name: 'Rainbow Gradient', value: '#e60026,#4582c0' }, { name: 'Red And White Gradient', value: '#e60026,#FFFFFF' }, { name: 'Red Gradient', value: '#e60026,#a70104' }, { name: 'Red Orange', value: '#e60026,#ff9c40' }, { name: 'Silver Gradient', value: '#c4a8ff,#acadb1' }, { name: 'Skin Color Gradient', value: '#ffdaab,#8f5624' }, { name: 'Sky Gradients', value: '#72c9ef,#DCEFF4' }, { name: 'Sunset Gradient', value: '#ff9c40,#a70104' }, { name: 'Teal Gradient', value: '#19ccb1,#0a6400' }, { name: 'Violet Gradient', value: '#a179a5,#6e3b88' }, { name: 'White Gradient', value: '#FFFFFF,#F5F2E8' }, { name: 'Yellow Gradient', value: '#FFDA8F,#fdb300' }, { name: 'Yellow Red', value: '#fdb300,#e60026' }, ], }, { displayName: 'Font', name: 'font', type: 'options', default: 'Arimo', required: true, description: 'Select option for font', options: [ { name: 'Arimo', value: 'Arimo' }, { name: 'Inter', value: 'Inter' }, { name: 'Lato', value: 'Lato' }, { name: 'Montserrat', value: 'Montserrat' }, { name: 'Noto Sans', value: 'Noto Sans' }, { name: 'Nunito', value: 'Nunito' }, { name: 'Nunito Sans', value: 'Nunito Sans' }, { name: 'Open Sans', value: 'Open Sans' }, { name: 'Oswald', value: 'Oswald' }, { name: 'Playfair Display', value: 'Playfair Display' }, { name: 'Poppins', value: 'Poppins' }, { name: 'Raleway', value: 'Raleway' }, { name: 'Roboto', value: 'Roboto' }, { name: 'Roboto Condensed', value: 'Roboto Condensed' }, { name: 'Roboto Mono', value: 'Roboto Mono' }, { name: 'Roboto Slab', value: 'Roboto Slab' }, { name: 'Rubik', value: 'Rubik' }, { name: 'Ubuntu', value: 'Ubuntu' }, ], }, { displayName: 'Font Color', name: 'fontColor', type: 'color', default: '', description: 'Please enter a hex colour code', }, ], }; } async execute() { const returnData = []; const inputImagesUrl = this.getNodeParameter('inputImagesUrl', 0); const description = this.getNodeParameter('description', 0); const store = this.getNodeParameter('store', 0); const color = this.getNodeParameter('color', 0, ''); const font = this.getNodeParameter('font', 0); const fontColor = this.getNodeParameter('fontColor', 0, ''); const credentials = await this.getCredentials('wiroApi'); const apiKey = credentials.apiKey; const apiSecret = credentials.apiSecret; const headers = (0, auth_1.generateWiroAuthHeaders)(apiKey, apiSecret); const response = await this.helpers.httpRequest({ method: 'POST', url: 'https://api.wiro.ai/v1/Run/wiro/Store Image Generator', headers: { ...headers, 'Content-Type': 'application/json', }, body: { inputImagesUrl, description, store, color, font, fontColor, }, }); if (!(response === null || response === void 0 ? void 0 : response.taskid) || !(response === null || response === void 0 ? void 0 : response.socketaccesstoken)) { throw new n8n_workflow_1.NodeApiError(this.getNode(), { message: 'Wiro API did not return a valid task ID or socket access token ' + JSON.stringify(response), }); } const taskid = response.taskid; const socketaccesstoken = response.socketaccesstoken; const result = await polling_1.pollTaskUntilComplete.call(this, socketaccesstoken, headers); const responseJSON = { taskid: taskid, url: '', status: '', }; switch (result) { case '-1': case '-2': case '-3': case '-4': responseJSON.status = 'failed'; break; default: responseJSON.status = 'completed'; responseJSON.url = result !== null && result !== void 0 ? result : ''; } returnData.push({ json: responseJSON, }); return [returnData]; } } exports.StoreImageGenerator = StoreImageGenerator; //# sourceMappingURL=StoreImageGenerator.node.js.map