n8n-nodes-selfhosthub
Version:
Collection of n8n nodes for self-hosted AI services, including Leonardo.ai integration for AI image and content generation capabilities.
372 lines • 10.2 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.jsonTemplateParameters = exports.advancedModeParameters = exports.resolutionParameter = exports.draftParameter = exports.cacheParameter = exports.qualityParameter = exports.framerateParameter = exports.outputHeightParameter = exports.outputWidthParameter = exports.webhookUrlParameter = exports.recordIdParameter = void 0;
exports.createAdvancedModeOverrides = createAdvancedModeOverrides;
exports.createBasicModeParams = createBasicModeParams;
/**
* Shared common parameters used across JSON2Video operations
* These parameters appear in multiple operations and should be defined once
*/
/**
* Record ID parameter - used for webhook correlation
* Optional in all modes since JSON2Video can auto-generate IDs
*/
exports.recordIdParameter = {
displayName: 'Record ID',
name: 'recordId',
type: 'string',
required: false,
default: '',
description: 'Optional identifier for webhook correlation. If not provided, JSON2Video will auto-generate one.',
};
/**
* Webhook URL parameter - optional for all operations
*/
exports.webhookUrlParameter = {
displayName: 'Webhook URL',
name: 'webhookUrl',
type: 'string',
default: '',
required: false,
description: 'Optional webhook URL for status notifications when video is complete',
};
/**
* Output dimensions parameters for advanced mode overrides
*/
exports.outputWidthParameter = {
displayName: 'Output Width',
name: 'outputWidth',
type: 'number',
default: undefined,
description: 'Override the output width in the JSON template',
};
exports.outputHeightParameter = {
displayName: 'Output Height',
name: 'outputHeight',
type: 'number',
default: undefined,
description: 'Override the output height in the JSON template',
};
/**
* Framerate parameter for advanced mode overrides
*/
exports.framerateParameter = {
displayName: 'Framerate',
name: 'framerate',
type: 'number',
default: undefined,
description: 'Override the framerate in the JSON template',
};
/**
* Quality parameter - shared across operations
*/
exports.qualityParameter = {
displayName: 'Quality',
name: 'quality',
type: 'options',
options: [
{ name: 'Low', value: 'low' },
{ name: 'Medium', value: 'medium' },
{ name: 'High', value: 'high' },
{ name: 'Very High', value: 'very_high' },
],
default: 'medium',
description: 'Video quality setting',
};
/**
* Cache parameter for advanced mode overrides
*/
exports.cacheParameter = {
displayName: 'Cache',
name: 'cache',
type: 'boolean',
default: false,
description: 'Override the cache setting in the JSON template',
};
/**
* Draft parameter for advanced mode overrides
*/
exports.draftParameter = {
displayName: 'Draft',
name: 'draft',
type: 'boolean',
default: false,
description: 'Override the draft setting in the JSON template',
};
/**
* Resolution parameter for advanced mode overrides
*/
exports.resolutionParameter = {
displayName: 'Resolution',
name: 'resolution',
type: 'options',
options: [
{ name: 'Full HD', value: 'full-hd' },
{ name: 'HD', value: 'hd' },
{ name: '4K', value: '4k' },
{ name: 'Custom', value: 'custom' },
],
default: '',
description: 'Override the resolution in the JSON template',
};
/**
* Advanced mode toggle parameters for each operation
*/
exports.advancedModeParameters = {
createMovie: {
displayName: 'Advanced Mode',
name: 'advancedMode',
type: 'boolean',
default: false,
description: 'Whether to use advanced mode with direct JSON template input',
displayOptions: {
show: {
operation: ['createMovie'],
},
},
},
mergeVideoAudio: {
displayName: 'Advanced Mode',
name: 'advancedModeMergeAudio',
type: 'boolean',
default: false,
description: 'Whether to use advanced mode with direct JSON template input',
displayOptions: {
show: {
operation: ['mergeVideoAudio'],
},
},
},
mergeVideos: {
displayName: 'Advanced Mode',
name: 'advancedModeMergeVideos',
type: 'boolean',
default: false,
description: 'Whether to use advanced mode with direct JSON template input',
displayOptions: {
show: {
operation: ['mergeVideos'],
},
},
},
};
/**
* JSON template parameters for each operation in advanced mode
*/
exports.jsonTemplateParameters = {
createMovie: {
displayName: 'JSON Template',
name: 'jsonTemplate',
type: 'json',
default: `{
"fps": 25,
"width": 1024,
"height": 768,
"quality": "high",
"scenes": [
{
"elements": [
{
"type": "image",
"src": "https://example.com/image.jpg",
"start": 0,
"duration": 5,
"position": "center-center"
}
]
}
]
}`,
description: 'Complete JSON template for the movie. Override parameters below will replace values in this template.',
displayOptions: {
show: {
operation: ['createMovie'],
advancedMode: [true],
},
},
},
mergeVideoAudio: {
displayName: 'JSON Template',
name: 'jsonTemplateMergeAudio',
type: 'json',
default: `{
"fps": 30,
"width": 1024,
"height": 768,
"quality": "high",
"scenes": [
{
"elements": [
{
"type": "video",
"src": "https://example.com/video.mp4",
"muted": true
},
{
"type": "audio",
"src": "https://example.com/audio.mp3",
"volume": 1.0
}
]
}
]
}`,
description: 'Complete JSON template for merging video and audio. Override parameters below will replace values in this template.',
displayOptions: {
show: {
operation: ['mergeVideoAudio'],
advancedModeMergeAudio: [true],
},
},
},
mergeVideos: {
displayName: 'JSON Template',
name: 'jsonTemplateMergeVideos',
type: 'json',
default: `{
"fps": 30,
"width": 1024,
"height": 768,
"quality": "high",
"scenes": [
{
"elements": [
{
"type": "video",
"src": "https://example.com/video1.mp4"
}
]
},
{
"elements": [
{
"type": "video",
"src": "https://example.com/video2.mp4"
}
]
}
]
}`,
description: 'Complete JSON template for merging videos. Override parameters below will replace values in this template.',
displayOptions: {
show: {
operation: ['mergeVideos'],
advancedModeMergeVideos: [true],
},
},
},
};
/**
* Helper function to create advanced mode override parameters with proper display options
*/
function createAdvancedModeOverrides(operation, advancedModeParam) {
return [
{
...exports.recordIdParameter,
displayOptions: {
show: {
operation: [operation],
[]: [true],
},
},
},
{
...exports.webhookUrlParameter,
displayOptions: {
show: {
operation: [operation],
[]: [true],
},
},
},
{
...exports.outputWidthParameter,
displayOptions: {
show: {
operation: [operation],
[]: [true],
},
},
},
{
...exports.outputHeightParameter,
displayOptions: {
show: {
operation: [operation],
[]: [true],
},
},
},
{
...exports.framerateParameter,
displayOptions: {
show: {
operation: [operation],
[]: [true],
},
},
},
{
...exports.qualityParameter,
displayOptions: {
show: {
operation: [operation],
[]: [true],
},
},
},
{
...exports.cacheParameter,
displayOptions: {
show: {
operation: [operation],
[]: [true],
},
},
},
{
...exports.draftParameter,
displayOptions: {
show: {
operation: [operation],
[]: [true],
},
},
},
{
...exports.resolutionParameter,
displayOptions: {
show: {
operation: [operation],
[]: [true],
},
},
},
];
}
/**
* Helper function to create basic mode parameters with proper display options
*/
function createBasicModeParams(operation, advancedModeParam) {
return [
{
...exports.recordIdParameter,
displayOptions: {
show: {
operation: [operation],
[]: [false],
},
},
},
{
...exports.webhookUrlParameter,
displayOptions: {
show: {
operation: [operation],
[]: [false],
},
},
},
];
}
//# sourceMappingURL=commonParams.js.map