@ibracob.dev/n8n-nodes-fal 1.0.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.
- package/LICENSE +21 -0
- package/README.md +216 -0
- package/dist/credentials/FalApi.credentials.d.ts +10 -0
- package/dist/credentials/FalApi.credentials.d.ts.map +1 -0
- package/dist/credentials/FalApi.credentials.js +36 -0
- package/dist/credentials/FalApi.credentials.js.map +1 -0
- package/dist/credentials/fal-ai-logo.svg +3 -0
- package/dist/nodes/Fal/Fal.node.d.ts +6 -0
- package/dist/nodes/Fal/Fal.node.d.ts.map +1 -0
- package/dist/nodes/Fal/Fal.node.js +202 -0
- package/dist/nodes/Fal/Fal.node.js.map +1 -0
- package/dist/nodes/Fal/enums/index.d.ts +2 -0
- package/dist/nodes/Fal/enums/index.d.ts.map +1 -0
- package/dist/nodes/Fal/enums/index.js +18 -0
- package/dist/nodes/Fal/enums/index.js.map +1 -0
- package/dist/nodes/Fal/enums/queue-status.enum.d.ts +7 -0
- package/dist/nodes/Fal/enums/queue-status.enum.d.ts.map +1 -0
- package/dist/nodes/Fal/enums/queue-status.enum.js +11 -0
- package/dist/nodes/Fal/enums/queue-status.enum.js.map +1 -0
- package/dist/nodes/Fal/fal-ai-logo.svg +3 -0
- package/dist/nodes/Fal/interfaces/index.d.ts +3 -0
- package/dist/nodes/Fal/interfaces/index.d.ts.map +1 -0
- package/dist/nodes/Fal/interfaces/index.js +19 -0
- package/dist/nodes/Fal/interfaces/index.js.map +1 -0
- package/dist/nodes/Fal/interfaces/queue-status-response.interface.d.ts +14 -0
- package/dist/nodes/Fal/interfaces/queue-status-response.interface.d.ts.map +1 -0
- package/dist/nodes/Fal/interfaces/queue-status-response.interface.js +3 -0
- package/dist/nodes/Fal/interfaces/queue-status-response.interface.js.map +1 -0
- package/dist/nodes/Fal/interfaces/queue-submit-response.interface.d.ts +6 -0
- package/dist/nodes/Fal/interfaces/queue-submit-response.interface.d.ts.map +1 -0
- package/dist/nodes/Fal/interfaces/queue-submit-response.interface.js +3 -0
- package/dist/nodes/Fal/interfaces/queue-submit-response.interface.js.map +1 -0
- package/dist/nodes/Fal/resources/image-editing/description.d.ts +5 -0
- package/dist/nodes/Fal/resources/image-editing/description.d.ts.map +1 -0
- package/dist/nodes/Fal/resources/image-editing/description.js +178 -0
- package/dist/nodes/Fal/resources/image-editing/description.js.map +1 -0
- package/dist/nodes/Fal/resources/image-editing/execute/index.d.ts +3 -0
- package/dist/nodes/Fal/resources/image-editing/execute/index.d.ts.map +1 -0
- package/dist/nodes/Fal/resources/image-editing/execute/index.js +63 -0
- package/dist/nodes/Fal/resources/image-editing/execute/index.js.map +1 -0
- package/dist/nodes/Fal/resources/image-editing/index.d.ts +4 -0
- package/dist/nodes/Fal/resources/image-editing/index.d.ts.map +1 -0
- package/dist/nodes/Fal/resources/image-editing/index.js +41 -0
- package/dist/nodes/Fal/resources/image-editing/index.js.map +1 -0
- package/dist/nodes/Fal/resources/image-editing/models.d.ts +6 -0
- package/dist/nodes/Fal/resources/image-editing/models.d.ts.map +1 -0
- package/dist/nodes/Fal/resources/image-editing/models.js +31 -0
- package/dist/nodes/Fal/resources/image-editing/models.js.map +1 -0
- package/dist/nodes/Fal/resources/image-to-video/description.d.ts +5 -0
- package/dist/nodes/Fal/resources/image-to-video/description.d.ts.map +1 -0
- package/dist/nodes/Fal/resources/image-to-video/description.js +236 -0
- package/dist/nodes/Fal/resources/image-to-video/description.js.map +1 -0
- package/dist/nodes/Fal/resources/image-to-video/execute/index.d.ts +3 -0
- package/dist/nodes/Fal/resources/image-to-video/execute/index.d.ts.map +1 -0
- package/dist/nodes/Fal/resources/image-to-video/execute/index.js +64 -0
- package/dist/nodes/Fal/resources/image-to-video/execute/index.js.map +1 -0
- package/dist/nodes/Fal/resources/image-to-video/index.d.ts +4 -0
- package/dist/nodes/Fal/resources/image-to-video/index.d.ts.map +1 -0
- package/dist/nodes/Fal/resources/image-to-video/index.js +41 -0
- package/dist/nodes/Fal/resources/image-to-video/index.js.map +1 -0
- package/dist/nodes/Fal/resources/image-to-video/models.d.ts +6 -0
- package/dist/nodes/Fal/resources/image-to-video/models.d.ts.map +1 -0
- package/dist/nodes/Fal/resources/image-to-video/models.js +66 -0
- package/dist/nodes/Fal/resources/image-to-video/models.js.map +1 -0
- package/dist/nodes/Fal/resources/llm/description.d.ts +5 -0
- package/dist/nodes/Fal/resources/llm/description.d.ts.map +1 -0
- package/dist/nodes/Fal/resources/llm/description.js +132 -0
- package/dist/nodes/Fal/resources/llm/description.js.map +1 -0
- package/dist/nodes/Fal/resources/llm/execute/index.d.ts +3 -0
- package/dist/nodes/Fal/resources/llm/execute/index.d.ts.map +1 -0
- package/dist/nodes/Fal/resources/llm/execute/index.js +49 -0
- package/dist/nodes/Fal/resources/llm/execute/index.js.map +1 -0
- package/dist/nodes/Fal/resources/llm/index.d.ts +4 -0
- package/dist/nodes/Fal/resources/llm/index.d.ts.map +1 -0
- package/dist/nodes/Fal/resources/llm/index.js +41 -0
- package/dist/nodes/Fal/resources/llm/index.js.map +1 -0
- package/dist/nodes/Fal/resources/llm/models.d.ts +6 -0
- package/dist/nodes/Fal/resources/llm/models.d.ts.map +1 -0
- package/dist/nodes/Fal/resources/llm/models.js +136 -0
- package/dist/nodes/Fal/resources/llm/models.js.map +1 -0
- package/dist/nodes/Fal/resources/queue/description.d.ts +4 -0
- package/dist/nodes/Fal/resources/queue/description.d.ts.map +1 -0
- package/dist/nodes/Fal/resources/queue/description.js +149 -0
- package/dist/nodes/Fal/resources/queue/description.js.map +1 -0
- package/dist/nodes/Fal/resources/queue/execute/index.d.ts +3 -0
- package/dist/nodes/Fal/resources/queue/execute/index.d.ts.map +1 -0
- package/dist/nodes/Fal/resources/queue/execute/index.js +220 -0
- package/dist/nodes/Fal/resources/queue/execute/index.js.map +1 -0
- package/dist/nodes/Fal/resources/queue/index.d.ts +4 -0
- package/dist/nodes/Fal/resources/queue/index.d.ts.map +1 -0
- package/dist/nodes/Fal/resources/queue/index.js +9 -0
- package/dist/nodes/Fal/resources/queue/index.js.map +1 -0
- package/dist/nodes/Fal/resources/queue/models.d.ts +75 -0
- package/dist/nodes/Fal/resources/queue/models.d.ts.map +1 -0
- package/dist/nodes/Fal/resources/queue/models.js +12 -0
- package/dist/nodes/Fal/resources/queue/models.js.map +1 -0
- package/dist/nodes/Fal/resources/text-to-image/description.d.ts +5 -0
- package/dist/nodes/Fal/resources/text-to-image/description.d.ts.map +1 -0
- package/dist/nodes/Fal/resources/text-to-image/description.js +165 -0
- package/dist/nodes/Fal/resources/text-to-image/description.js.map +1 -0
- package/dist/nodes/Fal/resources/text-to-image/execute/index.d.ts +3 -0
- package/dist/nodes/Fal/resources/text-to-image/execute/index.d.ts.map +1 -0
- package/dist/nodes/Fal/resources/text-to-image/execute/index.js +64 -0
- package/dist/nodes/Fal/resources/text-to-image/execute/index.js.map +1 -0
- package/dist/nodes/Fal/resources/text-to-image/index.d.ts +4 -0
- package/dist/nodes/Fal/resources/text-to-image/index.d.ts.map +1 -0
- package/dist/nodes/Fal/resources/text-to-image/index.js +41 -0
- package/dist/nodes/Fal/resources/text-to-image/index.js.map +1 -0
- package/dist/nodes/Fal/resources/text-to-image/models.d.ts +6 -0
- package/dist/nodes/Fal/resources/text-to-image/models.d.ts.map +1 -0
- package/dist/nodes/Fal/resources/text-to-image/models.js +36 -0
- package/dist/nodes/Fal/resources/text-to-image/models.js.map +1 -0
- package/dist/nodes/Fal/resources/text-to-video/description.d.ts +5 -0
- package/dist/nodes/Fal/resources/text-to-video/description.d.ts.map +1 -0
- package/dist/nodes/Fal/resources/text-to-video/description.js +174 -0
- package/dist/nodes/Fal/resources/text-to-video/description.js.map +1 -0
- package/dist/nodes/Fal/resources/text-to-video/execute/index.d.ts +3 -0
- package/dist/nodes/Fal/resources/text-to-video/execute/index.d.ts.map +1 -0
- package/dist/nodes/Fal/resources/text-to-video/execute/index.js +57 -0
- package/dist/nodes/Fal/resources/text-to-video/execute/index.js.map +1 -0
- package/dist/nodes/Fal/resources/text-to-video/index.d.ts +4 -0
- package/dist/nodes/Fal/resources/text-to-video/index.d.ts.map +1 -0
- package/dist/nodes/Fal/resources/text-to-video/index.js +41 -0
- package/dist/nodes/Fal/resources/text-to-video/index.js.map +1 -0
- package/dist/nodes/Fal/resources/text-to-video/models.d.ts +6 -0
- package/dist/nodes/Fal/resources/text-to-video/models.d.ts.map +1 -0
- package/dist/nodes/Fal/resources/text-to-video/models.js +26 -0
- package/dist/nodes/Fal/resources/text-to-video/models.js.map +1 -0
- package/dist/nodes/Fal/resources/utility/description.d.ts +5 -0
- package/dist/nodes/Fal/resources/utility/description.d.ts.map +1 -0
- package/dist/nodes/Fal/resources/utility/description.js +101 -0
- package/dist/nodes/Fal/resources/utility/description.js.map +1 -0
- package/dist/nodes/Fal/resources/utility/execute/index.d.ts +3 -0
- package/dist/nodes/Fal/resources/utility/execute/index.d.ts.map +1 -0
- package/dist/nodes/Fal/resources/utility/execute/index.js +56 -0
- package/dist/nodes/Fal/resources/utility/execute/index.js.map +1 -0
- package/dist/nodes/Fal/resources/utility/index.d.ts +4 -0
- package/dist/nodes/Fal/resources/utility/index.d.ts.map +1 -0
- package/dist/nodes/Fal/resources/utility/index.js +41 -0
- package/dist/nodes/Fal/resources/utility/index.js.map +1 -0
- package/dist/nodes/Fal/resources/utility/models.d.ts +6 -0
- package/dist/nodes/Fal/resources/utility/models.d.ts.map +1 -0
- package/dist/nodes/Fal/resources/utility/models.js +31 -0
- package/dist/nodes/Fal/resources/utility/models.js.map +1 -0
- package/dist/nodes/Fal/resources/video-to-video/description.d.ts +5 -0
- package/dist/nodes/Fal/resources/video-to-video/description.d.ts.map +1 -0
- package/dist/nodes/Fal/resources/video-to-video/description.js +144 -0
- package/dist/nodes/Fal/resources/video-to-video/description.js.map +1 -0
- package/dist/nodes/Fal/resources/video-to-video/execute/index.d.ts +3 -0
- package/dist/nodes/Fal/resources/video-to-video/execute/index.d.ts.map +1 -0
- package/dist/nodes/Fal/resources/video-to-video/execute/index.js +47 -0
- package/dist/nodes/Fal/resources/video-to-video/execute/index.js.map +1 -0
- package/dist/nodes/Fal/resources/video-to-video/index.d.ts +4 -0
- package/dist/nodes/Fal/resources/video-to-video/index.d.ts.map +1 -0
- package/dist/nodes/Fal/resources/video-to-video/index.js +41 -0
- package/dist/nodes/Fal/resources/video-to-video/index.js.map +1 -0
- package/dist/nodes/Fal/resources/video-to-video/models.d.ts +6 -0
- package/dist/nodes/Fal/resources/video-to-video/models.d.ts.map +1 -0
- package/dist/nodes/Fal/resources/video-to-video/models.js +11 -0
- package/dist/nodes/Fal/resources/video-to-video/models.js.map +1 -0
- package/dist/nodes/Fal/resources/vision/description.d.ts +5 -0
- package/dist/nodes/Fal/resources/vision/description.d.ts.map +1 -0
- package/dist/nodes/Fal/resources/vision/description.js +146 -0
- package/dist/nodes/Fal/resources/vision/description.js.map +1 -0
- package/dist/nodes/Fal/resources/vision/execute/index.d.ts +3 -0
- package/dist/nodes/Fal/resources/vision/execute/index.d.ts.map +1 -0
- package/dist/nodes/Fal/resources/vision/execute/index.js +56 -0
- package/dist/nodes/Fal/resources/vision/execute/index.js.map +1 -0
- package/dist/nodes/Fal/resources/vision/index.d.ts +4 -0
- package/dist/nodes/Fal/resources/vision/index.d.ts.map +1 -0
- package/dist/nodes/Fal/resources/vision/index.js +41 -0
- package/dist/nodes/Fal/resources/vision/index.js.map +1 -0
- package/dist/nodes/Fal/resources/vision/models.d.ts +6 -0
- package/dist/nodes/Fal/resources/vision/models.d.ts.map +1 -0
- package/dist/nodes/Fal/resources/vision/models.js +46 -0
- package/dist/nodes/Fal/resources/vision/models.js.map +1 -0
- package/dist/nodes/Fal/resources/workflow/description.d.ts +4 -0
- package/dist/nodes/Fal/resources/workflow/description.d.ts.map +1 -0
- package/dist/nodes/Fal/resources/workflow/description.js +178 -0
- package/dist/nodes/Fal/resources/workflow/description.js.map +1 -0
- package/dist/nodes/Fal/resources/workflow/execute/index.d.ts +3 -0
- package/dist/nodes/Fal/resources/workflow/execute/index.d.ts.map +1 -0
- package/dist/nodes/Fal/resources/workflow/execute/index.js +120 -0
- package/dist/nodes/Fal/resources/workflow/execute/index.js.map +1 -0
- package/dist/nodes/Fal/resources/workflow/index.d.ts +4 -0
- package/dist/nodes/Fal/resources/workflow/index.d.ts.map +1 -0
- package/dist/nodes/Fal/resources/workflow/index.js +9 -0
- package/dist/nodes/Fal/resources/workflow/index.js.map +1 -0
- package/dist/nodes/Fal/resources/workflow/models.d.ts +65 -0
- package/dist/nodes/Fal/resources/workflow/models.d.ts.map +1 -0
- package/dist/nodes/Fal/resources/workflow/models.js +9 -0
- package/dist/nodes/Fal/resources/workflow/models.js.map +1 -0
- package/dist/nodes/Fal/utils/poll-queue.util.d.ts +9 -0
- package/dist/nodes/Fal/utils/poll-queue.util.d.ts.map +1 -0
- package/dist/nodes/Fal/utils/poll-queue.util.js +62 -0
- package/dist/nodes/Fal/utils/poll-queue.util.js.map +1 -0
- package/package.json +86 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2025 ibracob.dev
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1,216 @@
|
|
|
1
|
+
# n8n-nodes-fal
|
|
2
|
+
|
|
3
|
+
This is an n8n community node that integrates with [Fal.ai](https://fal.ai) to provide comprehensive AI capabilities including text generation, image/video generation, and multimodal AI models.
|
|
4
|
+
|
|
5
|
+
## Features
|
|
6
|
+
|
|
7
|
+
- **LLM (Text Generation)** with 25+ language models including GPT, Claude, Gemini, DeepSeek, and Llama
|
|
8
|
+
- **Text-to-Image** generation using FLUX and Stable Diffusion models
|
|
9
|
+
- **Text-to-Video** generation with OpenAI Sora 2 and Google Veo 3.1
|
|
10
|
+
- **Image Editing** (image-to-image transformation) with FLUX, Reve, and Seedream
|
|
11
|
+
- **Image-to-Video** generation with Sora 2, Veo 3.1, and more
|
|
12
|
+
- **Video-to-Video** transformation with Sora 2 Remix
|
|
13
|
+
- **Vision Language Models** for image analysis with GPT, Claude, Gemini, Llama
|
|
14
|
+
- **Workflow Execution** - Chain multiple AI models together in custom workflows
|
|
15
|
+
- **Queue Management** - Advanced control over request submission, status monitoring, and cancellation
|
|
16
|
+
- **Utility Operations** (upscaling, background removal, NSFW detection)
|
|
17
|
+
- Support for 60+ AI models across all capabilities
|
|
18
|
+
- Queue-based processing with automatic status polling
|
|
19
|
+
- Webhook support for asynchronous operations
|
|
20
|
+
|
|
21
|
+
## Installation
|
|
22
|
+
|
|
23
|
+
### Option 1: Via n8n Community Nodes (Recommended - when published)
|
|
24
|
+
|
|
25
|
+
1. In n8n, go to **Settings** → **Community Nodes**
|
|
26
|
+
2. Click **Install a community node**
|
|
27
|
+
3. Enter: `n8n-nodes-fal`
|
|
28
|
+
4. Click **Install**
|
|
29
|
+
|
|
30
|
+
### Option 2: Manual Installation (Development)
|
|
31
|
+
|
|
32
|
+
```bash
|
|
33
|
+
# Clone the repository
|
|
34
|
+
git clone https://github.com/ibraschwan/n8n-nodes-fal.git
|
|
35
|
+
cd n8n-nodes-fal
|
|
36
|
+
|
|
37
|
+
# Install dependencies and build
|
|
38
|
+
npm install
|
|
39
|
+
npm run build
|
|
40
|
+
|
|
41
|
+
# Link to your n8n installation
|
|
42
|
+
cd ~/.n8n/custom/
|
|
43
|
+
npm link /path/to/n8n-nodes-fal
|
|
44
|
+
|
|
45
|
+
# Restart n8n
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
## Quick Start
|
|
49
|
+
|
|
50
|
+
1. **Get your Fal.ai API key** from [fal.ai/dashboard/keys](https://fal.ai/dashboard/keys)
|
|
51
|
+
2. **Add the Fal node** to your workflow
|
|
52
|
+
3. **Configure credentials** with your API key
|
|
53
|
+
4. **Choose a resource** (Text to Image, LLM, etc.)
|
|
54
|
+
5. **Set parameters** and execute!
|
|
55
|
+
|
|
56
|
+
See the [**Complete Usage Guide**](./USAGE_GUIDE.md) for detailed examples and workflows.
|
|
57
|
+
|
|
58
|
+
## Credentials
|
|
59
|
+
|
|
60
|
+
You'll need a Fal.ai API key. You can obtain one from [fal.ai/dashboard/keys](https://fal.ai/dashboard/keys).
|
|
61
|
+
|
|
62
|
+
## Operations
|
|
63
|
+
|
|
64
|
+
### LLM (Text Generation)
|
|
65
|
+
Generate text using state-of-the-art language models (25+ models):
|
|
66
|
+
|
|
67
|
+
**OpenAI Models:**
|
|
68
|
+
- **GPT-5 Chat** (Premium 10x) - Latest GPT-5 model
|
|
69
|
+
- **O3** (Premium 10x) - OpenAI's reasoning model
|
|
70
|
+
- **GPT-4.1** (Premium 10x) - Advanced GPT-4
|
|
71
|
+
- **GPT-4o** (Premium 10x) - Optimized GPT-4
|
|
72
|
+
- GPT-5 Mini, GPT-5 Nano, GPT-4o Mini
|
|
73
|
+
- GPT-OSS 120B - Open source variant
|
|
74
|
+
|
|
75
|
+
**Anthropic Claude:**
|
|
76
|
+
- **Claude 3.7 Sonnet** (Premium 10x) - Latest Claude
|
|
77
|
+
- **Claude 3.5 Sonnet** (Premium 10x) - Advanced reasoning
|
|
78
|
+
- **Claude 3.5 Haiku** (Premium 10x) - Fast Claude
|
|
79
|
+
- Claude 3 Haiku
|
|
80
|
+
|
|
81
|
+
**Google Gemini:**
|
|
82
|
+
- **Gemini 2.5 Pro** (Premium 10x) - Most capable Gemini
|
|
83
|
+
- **Gemini Pro 1.5** (Premium 10x) - Advanced model
|
|
84
|
+
- Gemini 2.5 Flash, Gemini 2.0 Flash
|
|
85
|
+
- Gemini Flash 1.5, Flash 1.5 8B
|
|
86
|
+
- Gemini 2.5 Flash Lite (default, cost-effective)
|
|
87
|
+
|
|
88
|
+
**Meta Llama:**
|
|
89
|
+
- Llama 3.1 70B, Llama 3.1 8B
|
|
90
|
+
- Llama 3.2 3B, Llama 3.2 1B
|
|
91
|
+
- Llama 4 Maverick, Llama 4 Scout
|
|
92
|
+
|
|
93
|
+
**Other:**
|
|
94
|
+
- **DeepSeek R1** (Premium 10x) - Advanced reasoning model
|
|
95
|
+
|
|
96
|
+
**Features:**
|
|
97
|
+
- System prompts for custom instructions
|
|
98
|
+
- Temperature control (0-2) for creativity/consistency
|
|
99
|
+
- Max tokens configuration
|
|
100
|
+
- Priority settings (throughput/latency)
|
|
101
|
+
- Reasoning mode for compatible models
|
|
102
|
+
|
|
103
|
+
### Text to Image
|
|
104
|
+
Generate images from text prompts using various AI models:
|
|
105
|
+
- **FLUX 1.1 Pro** - High-quality text-to-image generation
|
|
106
|
+
- **FLUX 1 Pro/Dev/Schnell** - Professional and fast variants
|
|
107
|
+
- **Stable Diffusion XL** - Fast SDXL generation
|
|
108
|
+
- **Stable Diffusion 3.5 Large** - Latest SD model
|
|
109
|
+
|
|
110
|
+
### Text to Video
|
|
111
|
+
Generate videos from text prompts with state-of-the-art models:
|
|
112
|
+
- **Sora 2 Pro** - OpenAI's richly detailed videos with audio
|
|
113
|
+
- **Sora 2** - OpenAI's state-of-the-art video generation with audio
|
|
114
|
+
- **Veo 3.1** - Google's most advanced AI video generation with sound
|
|
115
|
+
- **Veo 3.1 Fast** - Faster and more cost-effective version
|
|
116
|
+
- Supports 4s, 6s, and 8s video durations
|
|
117
|
+
- Multiple aspect ratios (16:9, 9:16, 1:1)
|
|
118
|
+
- Audio generation support
|
|
119
|
+
|
|
120
|
+
### Image Editing
|
|
121
|
+
Edit and transform existing images using text prompts:
|
|
122
|
+
- **Reve Edit** - Transform images via text prompts
|
|
123
|
+
- **Nano Banana Edit** - Google's state-of-the-art editing model
|
|
124
|
+
- **Seedream V4 Edit** - ByteDance unified generation/editing
|
|
125
|
+
- **FLUX Pro Kontext** - Targeted local edits and scene transformations
|
|
126
|
+
- **FLUX Kontext LoRA** - Fast editing with LoRA support
|
|
127
|
+
|
|
128
|
+
### Image to Video
|
|
129
|
+
Convert images into videos using AI models:
|
|
130
|
+
- **Sora 2 Pro Image to Video** - OpenAI's richly detailed videos with audio from images
|
|
131
|
+
- **Sora 2 Image to Video** - OpenAI's state-of-the-art image to video with audio
|
|
132
|
+
- **Veo 3.1 Image to Video** - Google's state-of-the-art image animation
|
|
133
|
+
- **Veo 3.1 First-Last Frame** - Generate videos from start/end frames
|
|
134
|
+
- **Veo 3.1 Reference to Video** - Videos from reference images
|
|
135
|
+
- **Kling V1.6 Pro/Standard** - High-quality image to video
|
|
136
|
+
- **Runway Gen3** - Fast Turbo generation
|
|
137
|
+
- **Luma Dream Machine** - Luma AI video generation
|
|
138
|
+
|
|
139
|
+
### Video to Video
|
|
140
|
+
Transform and remix existing videos:
|
|
141
|
+
- **Sora 2 Remix** - Transform videos based on text/image prompts
|
|
142
|
+
- Rich edits and style changes
|
|
143
|
+
- Creative reinterpretations
|
|
144
|
+
- Preserves motion and structure
|
|
145
|
+
- Supports aspect ratio and duration customization
|
|
146
|
+
|
|
147
|
+
### Vision (Image Analysis)
|
|
148
|
+
Analyze images using vision language models:
|
|
149
|
+
- **Gemini 2.5 Flash/Pro** - Google's latest vision models
|
|
150
|
+
- **Claude 3.7/3.5 Sonnet** - Anthropic's advanced vision AI
|
|
151
|
+
- **GPT-4o** - OpenAI's vision model
|
|
152
|
+
- **Llama 3.2 90B Vision** - Meta's vision model
|
|
153
|
+
- Support for multiple images per request
|
|
154
|
+
- Customizable temperature and token limits
|
|
155
|
+
|
|
156
|
+
### Workflow
|
|
157
|
+
Execute custom workflows or pre-built workflow endpoints:
|
|
158
|
+
- **Execute Custom Workflow** - Define multi-step workflows with JSON
|
|
159
|
+
- **Execute Pre-Built Workflow** - Use Fal's pre-built workflows (e.g., `workflows/fal-ai/sdxl-sticker`)
|
|
160
|
+
- Chain multiple models together in sequence
|
|
161
|
+
- Webhook support for asynchronous processing
|
|
162
|
+
- Example: Generate image → Remove background → Create sticker (all in one workflow)
|
|
163
|
+
|
|
164
|
+
### Queue Management
|
|
165
|
+
Advanced queue control for long-running or batch operations:
|
|
166
|
+
- **Submit Request** - Queue any model request and get a request ID
|
|
167
|
+
- **Get Status** - Check request status, queue position, and logs
|
|
168
|
+
- **Stream Status** - Real-time status updates via Server-Sent Events
|
|
169
|
+
- **Get Response** - Retrieve completed results
|
|
170
|
+
- **Cancel Request** - Cancel queued requests before processing
|
|
171
|
+
- Perfect for monitoring, batching, and advanced orchestration
|
|
172
|
+
|
|
173
|
+
### Utility
|
|
174
|
+
Professional-grade utility operations:
|
|
175
|
+
- **Image Upscaling** - Enhance images with Topaz AI (2x or 4x)
|
|
176
|
+
- **Video Upscaling** - Professional video upscaling with Topaz (2x or 4x)
|
|
177
|
+
- **Remove Background (Image)** - Bria RMBG 2.0 for clean cutouts
|
|
178
|
+
- **Remove Background (Video)** - Automatic video background removal
|
|
179
|
+
- **NSFW Detection** - Predict if images are NSFW or SFW
|
|
180
|
+
|
|
181
|
+
## Example Workflows
|
|
182
|
+
|
|
183
|
+
### Simple Image Generation
|
|
184
|
+
```
|
|
185
|
+
Manual Trigger → Fal (Text to Image, FLUX 1.1 Pro, "sunset over ocean")
|
|
186
|
+
```
|
|
187
|
+
|
|
188
|
+
### AI Content Pipeline
|
|
189
|
+
```
|
|
190
|
+
Fal (Generate) → Fal (Edit) → Fal (Upscale)
|
|
191
|
+
```
|
|
192
|
+
|
|
193
|
+
### Queue-Based Processing
|
|
194
|
+
```
|
|
195
|
+
Fal (Queue: Submit) → Wait → Fal (Queue: Get Status) → IF → Fal (Queue: Get Response)
|
|
196
|
+
```
|
|
197
|
+
|
|
198
|
+
### Multi-Step Video Creation
|
|
199
|
+
```
|
|
200
|
+
Fal (Text→Image) → Fal (Image→Video) → Fal (Upscale Video)
|
|
201
|
+
```
|
|
202
|
+
|
|
203
|
+
See the [**Complete Usage Guide**](./USAGE_GUIDE.md) for more examples!
|
|
204
|
+
|
|
205
|
+
## Compatibility
|
|
206
|
+
|
|
207
|
+
Tested with n8n version 1.0.0 and above.
|
|
208
|
+
|
|
209
|
+
## Resources
|
|
210
|
+
|
|
211
|
+
- [n8n community nodes documentation](https://docs.n8n.io/integrations/community-nodes/)
|
|
212
|
+
- [Fal.ai Documentation](https://fal.ai/docs)
|
|
213
|
+
|
|
214
|
+
## License
|
|
215
|
+
|
|
216
|
+
MIT
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { IAuthenticateGeneric, ICredentialTestRequest, ICredentialType, INodeProperties } from 'n8n-workflow';
|
|
2
|
+
export declare class FalApi implements ICredentialType {
|
|
3
|
+
name: string;
|
|
4
|
+
displayName: string;
|
|
5
|
+
documentationUrl: string;
|
|
6
|
+
properties: INodeProperties[];
|
|
7
|
+
authenticate: IAuthenticateGeneric;
|
|
8
|
+
test: ICredentialTestRequest;
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=FalApi.credentials.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FalApi.credentials.d.ts","sourceRoot":"","sources":["../../credentials/FalApi.credentials.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,oBAAoB,EACpB,sBAAsB,EACtB,eAAe,EACf,eAAe,EACf,MAAM,cAAc,CAAC;AAEtB,qBAAa,MAAO,YAAW,eAAe;IAC7C,IAAI,SAAY;IAChB,WAAW,SAAa;IACxB,gBAAgB,SAAyB;IACzC,UAAU,EAAE,eAAe,EAAE,CAU3B;IAEF,YAAY,EAAE,oBAAoB,CAOhC;IAEF,IAAI,EAAE,sBAAsB,CAM1B;CACF"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.FalApi = void 0;
|
|
4
|
+
class FalApi {
|
|
5
|
+
name = 'falApi';
|
|
6
|
+
displayName = 'Fal API';
|
|
7
|
+
documentationUrl = 'https://fal.ai/docs';
|
|
8
|
+
properties = [
|
|
9
|
+
{
|
|
10
|
+
displayName: 'API Key',
|
|
11
|
+
name: 'apiKey',
|
|
12
|
+
type: 'string',
|
|
13
|
+
typeOptions: { password: true },
|
|
14
|
+
default: '',
|
|
15
|
+
required: true,
|
|
16
|
+
description: 'The API key for Fal.ai. You can obtain one from your Fal.ai dashboard.',
|
|
17
|
+
},
|
|
18
|
+
];
|
|
19
|
+
authenticate = {
|
|
20
|
+
type: 'generic',
|
|
21
|
+
properties: {
|
|
22
|
+
headers: {
|
|
23
|
+
Authorization: '=Key {{$credentials.apiKey}}',
|
|
24
|
+
},
|
|
25
|
+
},
|
|
26
|
+
};
|
|
27
|
+
test = {
|
|
28
|
+
request: {
|
|
29
|
+
baseURL: 'https://queue.fal.run',
|
|
30
|
+
url: '/fal-ai/fast-sdxl/requests',
|
|
31
|
+
method: 'GET',
|
|
32
|
+
},
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
exports.FalApi = FalApi;
|
|
36
|
+
//# sourceMappingURL=FalApi.credentials.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FalApi.credentials.js","sourceRoot":"","sources":["../../credentials/FalApi.credentials.ts"],"names":[],"mappings":";;;AAOA,MAAa,MAAM;IAClB,IAAI,GAAG,QAAQ,CAAC;IAChB,WAAW,GAAG,SAAS,CAAC;IACxB,gBAAgB,GAAG,qBAAqB,CAAC;IACzC,UAAU,GAAsB;QAC/B;YACC,WAAW,EAAE,SAAS;YACtB,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE;YAC/B,OAAO,EAAE,EAAE;YACX,QAAQ,EAAE,IAAI;YACd,WAAW,EAAE,wEAAwE;SACrF;KACD,CAAC;IAEF,YAAY,GAAyB;QACpC,IAAI,EAAE,SAAS;QACf,UAAU,EAAE;YACX,OAAO,EAAE;gBACR,aAAa,EAAE,8BAA8B;aAC7C;SACD;KACD,CAAC;IAEF,IAAI,GAA2B;QAC9B,OAAO,EAAE;YACR,OAAO,EAAE,uBAAuB;YAChC,GAAG,EAAE,4BAA4B;YACjC,MAAM,EAAE,KAAK;SACb;KACD,CAAC;CACF;AAhCD,wBAgCC"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
<svg width="170" height="171" viewBox="0 0 170 171" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<path fill-rule="evenodd" clip-rule="evenodd" d="M109.571 0.690002C112.515 0.690002 114.874 3.08348 115.155 6.01352C117.665 32.149 138.466 52.948 164.603 55.458C167.534 55.7394 169.927 58.0985 169.927 61.042V110.255C169.927 113.198 167.534 115.557 164.603 115.839C138.466 118.349 117.665 139.148 115.155 165.283C114.874 168.213 112.515 170.607 109.571 170.607H60.3553C57.4116 170.607 55.0524 168.213 54.7709 165.283C52.2608 139.148 31.4601 118.349 5.32289 115.839C2.39266 115.557 -0.000976562 113.198 -0.000976562 110.255V61.042C-0.000976562 58.0985 2.39267 55.7394 5.3229 55.458C31.4601 52.948 52.2608 32.149 54.7709 6.01351C55.0524 3.08348 57.4116 0.690002 60.3553 0.690002H109.571ZM34.1182 85.5045C34.1182 113.776 57.0124 136.694 85.2539 136.694C113.495 136.694 136.39 113.776 136.39 85.5045C136.39 57.2332 113.495 34.3147 85.2539 34.3147C57.0124 34.3147 34.1182 57.2332 34.1182 85.5045Z" fill="black"/>
|
|
3
|
+
</svg>
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { IExecuteFunctions, INodeExecutionData, INodeType, INodeTypeDescription } from 'n8n-workflow';
|
|
2
|
+
export declare class Fal implements INodeType {
|
|
3
|
+
description: INodeTypeDescription;
|
|
4
|
+
execute(this: IExecuteFunctions): Promise<INodeExecutionData[][]>;
|
|
5
|
+
}
|
|
6
|
+
//# sourceMappingURL=Fal.node.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Fal.node.d.ts","sourceRoot":"","sources":["../../../nodes/Fal/Fal.node.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,iBAAiB,EACjB,kBAAkB,EAClB,SAAS,EACT,oBAAoB,EAEpB,MAAM,cAAc,CAAC;AAYtB,qBAAa,GAAI,YAAW,SAAS;IACpC,WAAW,EAAE,oBAAoB,CAyF/B;IAEI,OAAO,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC;CA8DvE"}
|
|
@@ -0,0 +1,202 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.Fal = void 0;
|
|
37
|
+
const n8n_workflow_1 = require("n8n-workflow");
|
|
38
|
+
const textToImage = __importStar(require("./resources/text-to-image"));
|
|
39
|
+
const textToVideo = __importStar(require("./resources/text-to-video"));
|
|
40
|
+
const imageEditing = __importStar(require("./resources/image-editing"));
|
|
41
|
+
const imageToVideo = __importStar(require("./resources/image-to-video"));
|
|
42
|
+
const videoToVideo = __importStar(require("./resources/video-to-video"));
|
|
43
|
+
const vision = __importStar(require("./resources/vision"));
|
|
44
|
+
const llm = __importStar(require("./resources/llm"));
|
|
45
|
+
const utility = __importStar(require("./resources/utility"));
|
|
46
|
+
const workflow = __importStar(require("./resources/workflow"));
|
|
47
|
+
const queue = __importStar(require("./resources/queue"));
|
|
48
|
+
class Fal {
|
|
49
|
+
description = {
|
|
50
|
+
displayName: 'Fal',
|
|
51
|
+
name: 'fal',
|
|
52
|
+
icon: 'file:fal-ai-logo.svg',
|
|
53
|
+
group: ['transform'],
|
|
54
|
+
version: 1,
|
|
55
|
+
subtitle: '={{$parameter["operation"] + ": " + $parameter["resource"]}}',
|
|
56
|
+
description: 'Interact with Fal.ai API',
|
|
57
|
+
defaults: {
|
|
58
|
+
name: 'Fal',
|
|
59
|
+
},
|
|
60
|
+
inputs: ['main'],
|
|
61
|
+
outputs: ['main'],
|
|
62
|
+
credentials: [
|
|
63
|
+
{
|
|
64
|
+
name: 'falApi',
|
|
65
|
+
required: true,
|
|
66
|
+
},
|
|
67
|
+
],
|
|
68
|
+
requestDefaults: {
|
|
69
|
+
baseURL: 'https://queue.fal.run',
|
|
70
|
+
headers: {
|
|
71
|
+
Accept: 'application/json',
|
|
72
|
+
'Content-Type': 'application/json',
|
|
73
|
+
},
|
|
74
|
+
},
|
|
75
|
+
properties: [
|
|
76
|
+
{
|
|
77
|
+
displayName: 'Resource',
|
|
78
|
+
name: 'resource',
|
|
79
|
+
type: 'options',
|
|
80
|
+
noDataExpression: true,
|
|
81
|
+
options: [
|
|
82
|
+
{
|
|
83
|
+
name: 'LLM (Text Generation)',
|
|
84
|
+
value: 'llm',
|
|
85
|
+
},
|
|
86
|
+
{
|
|
87
|
+
name: 'Text to Image',
|
|
88
|
+
value: 'textToImage',
|
|
89
|
+
},
|
|
90
|
+
{
|
|
91
|
+
name: 'Text to Video',
|
|
92
|
+
value: 'textToVideo',
|
|
93
|
+
},
|
|
94
|
+
{
|
|
95
|
+
name: 'Image Editing',
|
|
96
|
+
value: 'imageEditing',
|
|
97
|
+
},
|
|
98
|
+
{
|
|
99
|
+
name: 'Image to Video',
|
|
100
|
+
value: 'imageToVideo',
|
|
101
|
+
},
|
|
102
|
+
{
|
|
103
|
+
name: 'Video to Video',
|
|
104
|
+
value: 'videoToVideo',
|
|
105
|
+
},
|
|
106
|
+
{
|
|
107
|
+
name: 'Vision (Image Analysis)',
|
|
108
|
+
value: 'vision',
|
|
109
|
+
},
|
|
110
|
+
{
|
|
111
|
+
name: 'Workflow',
|
|
112
|
+
value: 'workflow',
|
|
113
|
+
},
|
|
114
|
+
{
|
|
115
|
+
name: 'Queue',
|
|
116
|
+
value: 'queue',
|
|
117
|
+
},
|
|
118
|
+
{
|
|
119
|
+
name: 'Utility',
|
|
120
|
+
value: 'utility',
|
|
121
|
+
},
|
|
122
|
+
],
|
|
123
|
+
default: 'textToImage',
|
|
124
|
+
},
|
|
125
|
+
...llm.description,
|
|
126
|
+
...textToImage.description,
|
|
127
|
+
...textToVideo.description,
|
|
128
|
+
...imageEditing.description,
|
|
129
|
+
...imageToVideo.description,
|
|
130
|
+
...videoToVideo.description,
|
|
131
|
+
...vision.description,
|
|
132
|
+
...workflow.workflowOperations,
|
|
133
|
+
...workflow.workflowFields,
|
|
134
|
+
...queue.queueOperations,
|
|
135
|
+
...queue.queueFields,
|
|
136
|
+
...utility.description,
|
|
137
|
+
],
|
|
138
|
+
};
|
|
139
|
+
async execute() {
|
|
140
|
+
const items = this.getInputData();
|
|
141
|
+
const returnData = [];
|
|
142
|
+
const resource = this.getNodeParameter('resource', 0);
|
|
143
|
+
for (let i = 0; i < items.length; i++) {
|
|
144
|
+
try {
|
|
145
|
+
let responseData;
|
|
146
|
+
if (resource === 'llm') {
|
|
147
|
+
responseData = await llm.execute.execute.call(this, i);
|
|
148
|
+
}
|
|
149
|
+
else if (resource === 'textToImage') {
|
|
150
|
+
responseData = await textToImage.execute.execute.call(this, i);
|
|
151
|
+
}
|
|
152
|
+
else if (resource === 'textToVideo') {
|
|
153
|
+
responseData = await textToVideo.execute.execute.call(this, i);
|
|
154
|
+
}
|
|
155
|
+
else if (resource === 'imageEditing') {
|
|
156
|
+
responseData = await imageEditing.execute.execute.call(this, i);
|
|
157
|
+
}
|
|
158
|
+
else if (resource === 'imageToVideo') {
|
|
159
|
+
responseData = await imageToVideo.execute.execute.call(this, i);
|
|
160
|
+
}
|
|
161
|
+
else if (resource === 'videoToVideo') {
|
|
162
|
+
responseData = await videoToVideo.execute.execute.call(this, i);
|
|
163
|
+
}
|
|
164
|
+
else if (resource === 'vision') {
|
|
165
|
+
responseData = await vision.execute.execute.call(this, i);
|
|
166
|
+
}
|
|
167
|
+
else if (resource === 'workflow') {
|
|
168
|
+
responseData = await workflow.executeWorkflow.call(this, i);
|
|
169
|
+
}
|
|
170
|
+
else if (resource === 'queue') {
|
|
171
|
+
responseData = await queue.executeQueue.call(this, i);
|
|
172
|
+
}
|
|
173
|
+
else if (resource === 'utility') {
|
|
174
|
+
responseData = await utility.execute.execute.call(this, i);
|
|
175
|
+
}
|
|
176
|
+
else {
|
|
177
|
+
throw new n8n_workflow_1.NodeOperationError(this.getNode(), `The resource "${resource}" is not known!`, {
|
|
178
|
+
itemIndex: i,
|
|
179
|
+
});
|
|
180
|
+
}
|
|
181
|
+
const executionData = this.helpers.constructExecutionMetaData(this.helpers.returnJsonArray(responseData), { itemData: { item: i } });
|
|
182
|
+
returnData.push(...executionData);
|
|
183
|
+
}
|
|
184
|
+
catch (error) {
|
|
185
|
+
if (this.continueOnFail()) {
|
|
186
|
+
const errorMessage = error instanceof Error ? error.message : 'Unknown error';
|
|
187
|
+
returnData.push({
|
|
188
|
+
json: {
|
|
189
|
+
error: errorMessage,
|
|
190
|
+
},
|
|
191
|
+
pairedItem: { item: i },
|
|
192
|
+
});
|
|
193
|
+
continue;
|
|
194
|
+
}
|
|
195
|
+
throw error;
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
return [returnData];
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
exports.Fal = Fal;
|
|
202
|
+
//# sourceMappingURL=Fal.node.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Fal.node.js","sourceRoot":"","sources":["../../../nodes/Fal/Fal.node.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../nodes/Fal/enums/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./queue-status.enum"), exports);
|
|
18
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../nodes/Fal/enums/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,sDAAoC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"queue-status.enum.d.ts","sourceRoot":"","sources":["../../../../nodes/Fal/enums/queue-status.enum.ts"],"names":[],"mappings":"AAAA,oBAAY,WAAW;IACtB,OAAO,aAAa;IACpB,UAAU,gBAAgB;IAC1B,SAAS,cAAc;IACvB,MAAM,WAAW;CACjB"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.QueueStatus = void 0;
|
|
4
|
+
var QueueStatus;
|
|
5
|
+
(function (QueueStatus) {
|
|
6
|
+
QueueStatus["InQueue"] = "IN_QUEUE";
|
|
7
|
+
QueueStatus["InProgress"] = "IN_PROGRESS";
|
|
8
|
+
QueueStatus["Completed"] = "COMPLETED";
|
|
9
|
+
QueueStatus["Failed"] = "FAILED";
|
|
10
|
+
})(QueueStatus || (exports.QueueStatus = QueueStatus = {}));
|
|
11
|
+
//# sourceMappingURL=queue-status.enum.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"queue-status.enum.js","sourceRoot":"","sources":["../../../../nodes/Fal/enums/queue-status.enum.ts"],"names":[],"mappings":";;;AAAA,IAAY,WAKX;AALD,WAAY,WAAW;IACtB,mCAAoB,CAAA;IACpB,yCAA0B,CAAA;IAC1B,sCAAuB,CAAA;IACvB,gCAAiB,CAAA;AAClB,CAAC,EALW,WAAW,2BAAX,WAAW,QAKtB"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
<svg width="170" height="171" viewBox="0 0 170 171" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<path fill-rule="evenodd" clip-rule="evenodd" d="M109.571 0.690002C112.515 0.690002 114.874 3.08348 115.155 6.01352C117.665 32.149 138.466 52.948 164.603 55.458C167.534 55.7394 169.927 58.0985 169.927 61.042V110.255C169.927 113.198 167.534 115.557 164.603 115.839C138.466 118.349 117.665 139.148 115.155 165.283C114.874 168.213 112.515 170.607 109.571 170.607H60.3553C57.4116 170.607 55.0524 168.213 54.7709 165.283C52.2608 139.148 31.4601 118.349 5.32289 115.839C2.39266 115.557 -0.000976562 113.198 -0.000976562 110.255V61.042C-0.000976562 58.0985 2.39267 55.7394 5.3229 55.458C31.4601 52.948 52.2608 32.149 54.7709 6.01351C55.0524 3.08348 57.4116 0.690002 60.3553 0.690002H109.571ZM34.1182 85.5045C34.1182 113.776 57.0124 136.694 85.2539 136.694C113.495 136.694 136.39 113.776 136.39 85.5045C136.39 57.2332 113.495 34.3147 85.2539 34.3147C57.0124 34.3147 34.1182 57.2332 34.1182 85.5045Z" fill="black"/>
|
|
3
|
+
</svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../nodes/Fal/interfaces/index.ts"],"names":[],"mappings":"AAAA,cAAc,mCAAmC,CAAC;AAClD,cAAc,mCAAmC,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./queue-submit-response.interface"), exports);
|
|
18
|
+
__exportStar(require("./queue-status-response.interface"), exports);
|
|
19
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../nodes/Fal/interfaces/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,oEAAkD;AAClD,oEAAkD"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { QueueStatus } from '../enums';
|
|
2
|
+
export interface QueueStatusResponse {
|
|
3
|
+
status: QueueStatus;
|
|
4
|
+
response_url?: string;
|
|
5
|
+
logs?: Array<{
|
|
6
|
+
message: string;
|
|
7
|
+
timestamp: string;
|
|
8
|
+
level: string;
|
|
9
|
+
}>;
|
|
10
|
+
metrics?: {
|
|
11
|
+
inference_time?: number;
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=queue-status-response.interface.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"queue-status-response.interface.d.ts","sourceRoot":"","sources":["../../../../nodes/Fal/interfaces/queue-status-response.interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAEvC,MAAM,WAAW,mBAAmB;IACnC,MAAM,EAAE,WAAW,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,IAAI,CAAC,EAAE,KAAK,CAAC;QACZ,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,MAAM,CAAC;QAClB,KAAK,EAAE,MAAM,CAAC;KACd,CAAC,CAAC;IACH,OAAO,CAAC,EAAE;QACT,cAAc,CAAC,EAAE,MAAM,CAAC;KACxB,CAAC;CACF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"queue-status-response.interface.js","sourceRoot":"","sources":["../../../../nodes/Fal/interfaces/queue-status-response.interface.ts"],"names":[],"mappings":""}
|