ugcinc 2.70.0 → 2.72.0

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.
@@ -186,6 +186,29 @@ function getAllNodes() {
186
186
  },
187
187
  ],
188
188
  },
189
+ {
190
+ type: "image-generation",
191
+ label: "Image Generation",
192
+ description: "Generate images using AI models",
193
+ category: "AI",
194
+ inputs: [
195
+ {
196
+ id: "prompt",
197
+ title: "Prompt",
198
+ type: "text",
199
+ required: true,
200
+ },
201
+ // Image input is dynamically added for edit models
202
+ ],
203
+ outputs: [
204
+ {
205
+ id: "output",
206
+ title: "Generated Image",
207
+ type: "image",
208
+ required: true,
209
+ },
210
+ ],
211
+ },
189
212
  {
190
213
  type: "llm",
191
214
  label: "LLM",
package/dist/types.d.ts CHANGED
@@ -712,7 +712,7 @@ export interface NodeControlConfig {
712
712
  */
713
713
  supportsPerInputMode?: boolean;
714
714
  }
715
- export type NodeTypeEnum = 'image' | 'video' | 'audio' | 'text' | 'image-editor' | 'video-editor' | 'llm' | 'output' | 'variable' | 'workflow';
715
+ export type NodeTypeEnum = 'image' | 'video' | 'audio' | 'text' | 'image-editor' | 'video-editor' | 'image-generation' | 'llm' | 'output' | 'variable' | 'workflow';
716
716
  export interface OutputSchemaProperty {
717
717
  type: 'string' | 'number' | 'boolean' | 'array' | 'object';
718
718
  items?: 'string' | 'number' | 'boolean';
@@ -731,6 +731,15 @@ export interface LLMOutputField {
731
731
  /** For array types - the item type */
732
732
  items?: 'string' | 'number' | 'boolean';
733
733
  }
734
+ /**
735
+ * API Keys configuration for LLM providers (user can bring their own)
736
+ */
737
+ export interface LLMApiKeys {
738
+ openai?: string;
739
+ claude?: string;
740
+ gemini?: string;
741
+ groq?: string;
742
+ }
734
743
  /**
735
744
  * LLM Node Configuration
736
745
  */
@@ -744,6 +753,27 @@ export interface LLMNodeConfig {
744
753
  useStructuredOutput?: boolean;
745
754
  imageInputRefs?: string[];
746
755
  videoInputRefs?: string[];
756
+ apiKeys?: LLMApiKeys;
757
+ }
758
+ /**
759
+ * Image Generation Model IDs
760
+ * Text-only models take just a prompt, edit models require an image input
761
+ */
762
+ export type ImageGenerationTextModel = 'fal-ai/gemini-3-pro-image-preview' | 'fal-ai/nano-banana-pro' | 'fal-ai/nano-banana' | 'fal-ai/gpt-image-1/text-to-image';
763
+ export type ImageGenerationEditModel = 'fal-ai/gemini-3-pro-image-preview/edit' | 'fal-ai/nano-banana-pro/edit' | 'fal-ai/nano-banana/edit' | 'fal-ai/gpt-image-1/edit-image';
764
+ export type ImageGenerationModel = ImageGenerationTextModel | ImageGenerationEditModel;
765
+ /**
766
+ * Image Generation Node Configuration
767
+ */
768
+ export interface ImageGenerationNodeConfig {
769
+ /** Selected model ID */
770
+ model: ImageGenerationModel;
771
+ /** Custom fal.ai API key (optional - uses platform key if not provided) */
772
+ apiKey?: string;
773
+ /** Image aspect ratio (e.g., "1:1", "16:9", "9:16") */
774
+ aspectRatio?: string;
775
+ /** Number of images to generate (default: 1) */
776
+ numImages?: number;
747
777
  }
748
778
  export interface WorkflowNodeDefinition {
749
779
  id: string;
@@ -763,6 +793,7 @@ export interface WorkflowNodeDefinition {
763
793
  textOptions?: string[];
764
794
  videoEditor?: VideoEditorNodeConfig;
765
795
  imageEditor?: ImageEditorNodeConfig;
796
+ imageGeneration?: ImageGenerationNodeConfig;
766
797
  llm?: LLMNodeConfig;
767
798
  outputSchema?: Record<string, OutputSchemaProperty>;
768
799
  provider?: 'groq' | 'openai' | 'claude' | 'gemini';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ugcinc",
3
- "version": "2.70.0",
3
+ "version": "2.72.0",
4
4
  "description": "TypeScript/JavaScript client for the UGC Inc API",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",