ugcinc 2.99.4 → 2.99.6
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/dist/automations.js +11 -0
- package/dist/types.d.ts +50 -10
- package/package.json +1 -1
package/dist/automations.js
CHANGED
|
@@ -315,6 +315,17 @@ function getAllNodes() {
|
|
|
315
315
|
},
|
|
316
316
|
],
|
|
317
317
|
},
|
|
318
|
+
{
|
|
319
|
+
type: "custom-model",
|
|
320
|
+
label: "Custom Model",
|
|
321
|
+
description: "Call any fal.ai model",
|
|
322
|
+
category: "AI Generation",
|
|
323
|
+
nodeCategory: "generator",
|
|
324
|
+
// Dynamic inputs based on selected model's schema
|
|
325
|
+
inputs: [],
|
|
326
|
+
// Dynamic output based on model's output type
|
|
327
|
+
outputs: [],
|
|
328
|
+
},
|
|
318
329
|
{
|
|
319
330
|
type: "llm",
|
|
320
331
|
label: "Text Generation",
|
package/dist/types.d.ts
CHANGED
|
@@ -825,7 +825,7 @@ export interface NodeControlConfig {
|
|
|
825
825
|
*/
|
|
826
826
|
isInitializer?: boolean;
|
|
827
827
|
}
|
|
828
|
-
export type NodeTypeEnum = 'image' | 'video' | 'audio' | 'social-audio' | 'text' | 'media' | 'image-editor' | 'video-editor' | 'image-generation' | 'llm' | 'output' | 'manual-trigger' | 'recurrence' | 'workflow' | 'account' | 'post-video' | 'post-slideshow' | 'save-to-media';
|
|
828
|
+
export type NodeTypeEnum = 'image' | 'video' | 'audio' | 'social-audio' | 'text' | 'media' | 'image-editor' | 'video-editor' | 'image-generation' | 'video-generation' | 'custom-model' | 'llm' | 'output' | 'manual-trigger' | 'recurrence' | 'workflow' | 'account' | 'post-video' | 'post-slideshow' | 'save-to-media' | 'deduplicate';
|
|
829
829
|
export interface OutputSchemaProperty {
|
|
830
830
|
type: 'string' | 'number' | 'boolean' | 'array' | 'object';
|
|
831
831
|
items?: 'string' | 'number' | 'boolean';
|
|
@@ -928,6 +928,7 @@ export interface WorkflowNodeDefinition {
|
|
|
928
928
|
saveToMediaConfig?: SaveToMediaNodeConfig;
|
|
929
929
|
deduplicateConfig?: DeduplicateNodeConfig;
|
|
930
930
|
videoGeneration?: VideoGenerationNodeConfig;
|
|
931
|
+
customModelConfig?: CustomModelNodeConfig;
|
|
931
932
|
};
|
|
932
933
|
}
|
|
933
934
|
export interface OutputInput {
|
|
@@ -1092,20 +1093,59 @@ export interface DeduplicateNodeConfig {
|
|
|
1092
1093
|
/** Deduplication settings - preset level or custom config */
|
|
1093
1094
|
deduplication: DeduplicationInput;
|
|
1094
1095
|
}
|
|
1096
|
+
/**
|
|
1097
|
+
* Video Generation Model IDs
|
|
1098
|
+
* Text-to-video models take just a prompt, image-to-video models require an image input
|
|
1099
|
+
*/
|
|
1100
|
+
export type VideoGenerationTextToVideoModel = 'fal-ai/veo3.1' | 'fal-ai/veo3' | 'fal-ai/veo3/fast' | 'fal-ai/kling-video/v2.6/pro/text-to-video' | 'fal-ai/kling-video/v2.5/pro/text-to-video' | 'fal-ai/luma-dream-machine/ray-2' | 'fal-ai/luma-dream-machine/ray-2-flash' | 'fal-ai/minimax/hailuo-2.3/pro/text-to-video' | 'wan/v2.6/text-to-video' | 'fal-ai/sora-2/text-to-video';
|
|
1101
|
+
export type VideoGenerationImageToVideoModel = 'fal-ai/veo3.1/image-to-video' | 'fal-ai/veo3/image-to-video' | 'fal-ai/kling-video/v2.6/pro/image-to-video' | 'fal-ai/kling-video/v2.5/pro/image-to-video' | 'fal-ai/luma-dream-machine/ray-2/image-to-video' | 'fal-ai/luma-dream-machine/ray-2-flash/image-to-video' | 'fal-ai/minimax/hailuo-2.3/pro/image-to-video' | 'wan/v2.6/image-to-video' | 'fal-ai/sora-2/image-to-video/pro';
|
|
1102
|
+
export type VideoGenerationModel = VideoGenerationTextToVideoModel | VideoGenerationImageToVideoModel;
|
|
1095
1103
|
/**
|
|
1096
1104
|
* Video Generation node configuration - AI video generation
|
|
1097
1105
|
*/
|
|
1098
1106
|
export interface VideoGenerationNodeConfig {
|
|
1099
|
-
/**
|
|
1100
|
-
|
|
1101
|
-
/**
|
|
1102
|
-
|
|
1103
|
-
/**
|
|
1104
|
-
mode: 'text' | 'image';
|
|
1105
|
-
/** Video duration in seconds */
|
|
1106
|
-
duration?: number;
|
|
1107
|
-
/** Aspect ratio (e.g., '16:9', '9:16') */
|
|
1107
|
+
/** Selected model ID */
|
|
1108
|
+
model: VideoGenerationModel;
|
|
1109
|
+
/** Custom fal.ai API key (optional - uses platform key if not provided) */
|
|
1110
|
+
apiKey?: string;
|
|
1111
|
+
/** Video aspect ratio (e.g., "16:9", "9:16", "1:1") */
|
|
1108
1112
|
aspectRatio?: string;
|
|
1113
|
+
/** Video duration in seconds (model-dependent) */
|
|
1114
|
+
duration?: number;
|
|
1115
|
+
}
|
|
1116
|
+
/**
|
|
1117
|
+
* Custom Model input parameter type
|
|
1118
|
+
*/
|
|
1119
|
+
export type CustomModelParamType = 'string' | 'number' | 'boolean' | 'image' | 'video' | 'audio';
|
|
1120
|
+
/**
|
|
1121
|
+
* Custom Model input parameter definition
|
|
1122
|
+
*/
|
|
1123
|
+
export interface CustomModelInputParam {
|
|
1124
|
+
/** Parameter name (used as port ID) */
|
|
1125
|
+
name: string;
|
|
1126
|
+
/** Parameter type */
|
|
1127
|
+
type: CustomModelParamType;
|
|
1128
|
+
/** Whether this parameter is required */
|
|
1129
|
+
required: boolean;
|
|
1130
|
+
/** Description from OpenAPI schema */
|
|
1131
|
+
description?: string;
|
|
1132
|
+
/** Default value */
|
|
1133
|
+
default?: unknown;
|
|
1134
|
+
}
|
|
1135
|
+
/**
|
|
1136
|
+
* Custom Model node configuration - call any fal.ai model
|
|
1137
|
+
*/
|
|
1138
|
+
export interface CustomModelNodeConfig {
|
|
1139
|
+
/** fal.ai model ID (e.g., "fal-ai/flux/dev") */
|
|
1140
|
+
modelId: string;
|
|
1141
|
+
/** Display name for the model */
|
|
1142
|
+
modelName: string;
|
|
1143
|
+
/** Expected output type (determines how to extract result) */
|
|
1144
|
+
outputType: 'image' | 'video' | 'audio';
|
|
1145
|
+
/** Dynamic input parameters parsed from OpenAPI schema */
|
|
1146
|
+
inputParams: CustomModelInputParam[];
|
|
1147
|
+
/** Custom fal.ai API key (optional - uses platform key if not provided) */
|
|
1148
|
+
apiKey?: string;
|
|
1109
1149
|
}
|
|
1110
1150
|
export interface CanvasState {
|
|
1111
1151
|
zoom: number;
|