n8n-nodes-piapi 0.1.2 → 0.1.4
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/README.md +8 -1
 - package/dist/nodes/PiAPI/DiffRhythm/DiffRhythmAudioGeneration.node.d.ts +5 -0
 - package/dist/nodes/PiAPI/DiffRhythm/DiffRhythmAudioGeneration.node.js +259 -0
 - package/dist/nodes/PiAPI/DiffRhythm/DiffRhythmAudioGeneration.node.js.map +1 -0
 - package/dist/nodes/PiAPI/{Skyreels/SkytreelsImageToVideo.node.d.ts → Faceswap/FaceswapImageToImage.node.d.ts} +1 -1
 - package/dist/nodes/PiAPI/Faceswap/FaceswapImageToImage.node.js +278 -0
 - package/dist/nodes/PiAPI/Faceswap/FaceswapImageToImage.node.js.map +1 -0
 - package/dist/nodes/PiAPI/Faceswap/FaceswapVideoToVideo.node.d.ts +5 -0
 - package/dist/nodes/PiAPI/Faceswap/FaceswapVideoToVideo.node.js +297 -0
 - package/dist/nodes/PiAPI/Faceswap/FaceswapVideoToVideo.node.js.map +1 -0
 - package/dist/nodes/PiAPI/FileUpload/FileUpload.node.d.ts +5 -0
 - package/dist/nodes/PiAPI/FileUpload/FileUpload.node.js +215 -0
 - package/dist/nodes/PiAPI/FileUpload/FileUpload.node.js.map +1 -0
 - package/dist/nodes/PiAPI/Flux/FluxTextToImage.node.js +20 -8
 - package/dist/nodes/PiAPI/Flux/FluxTextToImage.node.js.map +1 -1
 - package/dist/nodes/PiAPI/ImageUpscale/ImageUpscale.node.d.ts +5 -0
 - package/dist/nodes/PiAPI/ImageUpscale/ImageUpscale.node.js +209 -0
 - package/dist/nodes/PiAPI/ImageUpscale/ImageUpscale.node.js.map +1 -0
 - package/dist/nodes/PiAPI/MMAudio/MMAudioVideoToAudio.node.d.ts +5 -0
 - package/dist/nodes/PiAPI/MMAudio/MMAudioVideoToAudio.node.js +241 -0
 - package/dist/nodes/PiAPI/MMAudio/MMAudioVideoToAudio.node.js.map +1 -0
 - package/dist/nodes/PiAPI/Midjourney/PiAPIMidjourney.node.d.ts +5 -0
 - package/dist/nodes/PiAPI/Midjourney/PiAPIMidjourney.node.js +426 -0
 - package/dist/nodes/PiAPI/Midjourney/PiAPIMidjourney.node.js.map +1 -0
 - package/dist/nodes/PiAPI/Qubico/QubicoSegment.node.d.ts +5 -0
 - package/dist/nodes/PiAPI/Qubico/QubicoSegment.node.js +243 -0
 - package/dist/nodes/PiAPI/Qubico/QubicoSegment.node.js.map +1 -0
 - package/dist/nodes/PiAPI/RemoveBackground/RemoveBackground.node.d.ts +5 -0
 - package/dist/nodes/PiAPI/RemoveBackground/RemoveBackground.node.js +188 -0
 - package/dist/nodes/PiAPI/RemoveBackground/RemoveBackground.node.js.map +1 -0
 - package/dist/nodes/PiAPI/Skyreels/PiAPISkyreels.node.d.ts +5 -0
 - package/dist/nodes/PiAPI/Skyreels/PiAPISkyreels.node.js +335 -0
 - package/dist/nodes/PiAPI/Skyreels/PiAPISkyreels.node.js.map +1 -0
 - package/dist/nodes/PiAPI/Skyreels/SkyreelsImageToVideo.node.d.ts +5 -0
 - package/dist/nodes/PiAPI/Skyreels/{SkytreelsImageToVideo.node.js → SkyreelsImageToVideo.node.js} +4 -4
 - package/dist/nodes/PiAPI/Skyreels/SkyreelsImageToVideo.node.js.map +1 -0
 - package/dist/nodes/PiAPI/Skyreels/index.d.ts +2 -2
 - package/dist/nodes/PiAPI/Skyreels/index.js +3 -3
 - package/dist/nodes/PiAPI/Skyreels/index.js.map +1 -1
 - package/dist/nodes/PiAPI/TTS/TextToSpeech.node.d.ts +5 -0
 - package/dist/nodes/PiAPI/TTS/TextToSpeech.node.js +214 -0
 - package/dist/nodes/PiAPI/TTS/TextToSpeech.node.js.map +1 -0
 - package/dist/nodes/PiAPI/VideoUpscale/VideoUpscale.node.d.ts +5 -0
 - package/dist/nodes/PiAPI/VideoUpscale/VideoUpscale.node.js +194 -0
 - package/dist/nodes/PiAPI/VideoUpscale/VideoUpscale.node.js.map +1 -0
 - package/dist/nodes/PiAPI/shared/Interfaces.d.ts +179 -5
 - package/dist/package.json +14 -3
 - package/dist/tsconfig.tsbuildinfo +1 -1
 - package/package.json +14 -3
 - package/dist/nodes/PiAPI/Skyreels/SkytreelsImageToVideo.node.js.map +0 -1
 
| 
         @@ -0,0 +1,297 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            "use strict";
         
     | 
| 
      
 2 
     | 
    
         
            +
            Object.defineProperty(exports, "__esModule", { value: true });
         
     | 
| 
      
 3 
     | 
    
         
            +
            exports.FaceswapVideoToVideo = void 0;
         
     | 
| 
      
 4 
     | 
    
         
            +
            const n8n_workflow_1 = require("n8n-workflow");
         
     | 
| 
      
 5 
     | 
    
         
            +
            const GenericFunctions_1 = require("../shared/GenericFunctions");
         
     | 
| 
      
 6 
     | 
    
         
            +
            class FaceswapVideoToVideo {
         
     | 
| 
      
 7 
     | 
    
         
            +
                constructor() {
         
     | 
| 
      
 8 
     | 
    
         
            +
                    this.description = {
         
     | 
| 
      
 9 
     | 
    
         
            +
                        displayName: 'PiAPI Video Faceswap',
         
     | 
| 
      
 10 
     | 
    
         
            +
                        name: 'faceswapVideoToVideo',
         
     | 
| 
      
 11 
     | 
    
         
            +
                        icon: 'file:../piapi.svg',
         
     | 
| 
      
 12 
     | 
    
         
            +
                        group: ['transform'],
         
     | 
| 
      
 13 
     | 
    
         
            +
                        version: 1,
         
     | 
| 
      
 14 
     | 
    
         
            +
                        description: 'Swap faces from an image to a video using PiAPI Video Faceswap',
         
     | 
| 
      
 15 
     | 
    
         
            +
                        defaults: {
         
     | 
| 
      
 16 
     | 
    
         
            +
                            name: 'Video Faceswap',
         
     | 
| 
      
 17 
     | 
    
         
            +
                        },
         
     | 
| 
      
 18 
     | 
    
         
            +
                        inputs: ["main"],
         
     | 
| 
      
 19 
     | 
    
         
            +
                        outputs: ["main"],
         
     | 
| 
      
 20 
     | 
    
         
            +
                        credentials: [
         
     | 
| 
      
 21 
     | 
    
         
            +
                            {
         
     | 
| 
      
 22 
     | 
    
         
            +
                                name: 'piAPIApi',
         
     | 
| 
      
 23 
     | 
    
         
            +
                                required: true,
         
     | 
| 
      
 24 
     | 
    
         
            +
                            },
         
     | 
| 
      
 25 
     | 
    
         
            +
                        ],
         
     | 
| 
      
 26 
     | 
    
         
            +
                        properties: [
         
     | 
| 
      
 27 
     | 
    
         
            +
                            {
         
     | 
| 
      
 28 
     | 
    
         
            +
                                displayName: 'Swap Image Input Method',
         
     | 
| 
      
 29 
     | 
    
         
            +
                                name: 'swapImageInputMethod',
         
     | 
| 
      
 30 
     | 
    
         
            +
                                type: 'options',
         
     | 
| 
      
 31 
     | 
    
         
            +
                                options: [
         
     | 
| 
      
 32 
     | 
    
         
            +
                                    {
         
     | 
| 
      
 33 
     | 
    
         
            +
                                        name: 'URL',
         
     | 
| 
      
 34 
     | 
    
         
            +
                                        value: 'url',
         
     | 
| 
      
 35 
     | 
    
         
            +
                                    },
         
     | 
| 
      
 36 
     | 
    
         
            +
                                    {
         
     | 
| 
      
 37 
     | 
    
         
            +
                                        name: 'Binary Data',
         
     | 
| 
      
 38 
     | 
    
         
            +
                                        value: 'binaryData',
         
     | 
| 
      
 39 
     | 
    
         
            +
                                    },
         
     | 
| 
      
 40 
     | 
    
         
            +
                                ],
         
     | 
| 
      
 41 
     | 
    
         
            +
                                default: 'url',
         
     | 
| 
      
 42 
     | 
    
         
            +
                                description: 'Method to input the swap image data',
         
     | 
| 
      
 43 
     | 
    
         
            +
                            },
         
     | 
| 
      
 44 
     | 
    
         
            +
                            {
         
     | 
| 
      
 45 
     | 
    
         
            +
                                displayName: 'Swap Image Binary Property',
         
     | 
| 
      
 46 
     | 
    
         
            +
                                name: 'swapBinaryPropertyName',
         
     | 
| 
      
 47 
     | 
    
         
            +
                                type: 'string',
         
     | 
| 
      
 48 
     | 
    
         
            +
                                default: 'data',
         
     | 
| 
      
 49 
     | 
    
         
            +
                                required: true,
         
     | 
| 
      
 50 
     | 
    
         
            +
                                displayOptions: {
         
     | 
| 
      
 51 
     | 
    
         
            +
                                    show: {
         
     | 
| 
      
 52 
     | 
    
         
            +
                                        swapImageInputMethod: ['binaryData'],
         
     | 
| 
      
 53 
     | 
    
         
            +
                                    },
         
     | 
| 
      
 54 
     | 
    
         
            +
                                },
         
     | 
| 
      
 55 
     | 
    
         
            +
                                description: 'Name of the binary property containing the swap image data',
         
     | 
| 
      
 56 
     | 
    
         
            +
                            },
         
     | 
| 
      
 57 
     | 
    
         
            +
                            {
         
     | 
| 
      
 58 
     | 
    
         
            +
                                displayName: 'Swap Image URL',
         
     | 
| 
      
 59 
     | 
    
         
            +
                                name: 'swapImageUrl',
         
     | 
| 
      
 60 
     | 
    
         
            +
                                type: 'string',
         
     | 
| 
      
 61 
     | 
    
         
            +
                                default: '',
         
     | 
| 
      
 62 
     | 
    
         
            +
                                required: true,
         
     | 
| 
      
 63 
     | 
    
         
            +
                                displayOptions: {
         
     | 
| 
      
 64 
     | 
    
         
            +
                                    show: {
         
     | 
| 
      
 65 
     | 
    
         
            +
                                        swapImageInputMethod: ['url'],
         
     | 
| 
      
 66 
     | 
    
         
            +
                                    },
         
     | 
| 
      
 67 
     | 
    
         
            +
                                },
         
     | 
| 
      
 68 
     | 
    
         
            +
                                description: 'URL of the image containing the face(s) to swap',
         
     | 
| 
      
 69 
     | 
    
         
            +
                            },
         
     | 
| 
      
 70 
     | 
    
         
            +
                            {
         
     | 
| 
      
 71 
     | 
    
         
            +
                                displayName: 'Target Video Input Method',
         
     | 
| 
      
 72 
     | 
    
         
            +
                                name: 'targetVideoInputMethod',
         
     | 
| 
      
 73 
     | 
    
         
            +
                                type: 'options',
         
     | 
| 
      
 74 
     | 
    
         
            +
                                options: [
         
     | 
| 
      
 75 
     | 
    
         
            +
                                    {
         
     | 
| 
      
 76 
     | 
    
         
            +
                                        name: 'URL',
         
     | 
| 
      
 77 
     | 
    
         
            +
                                        value: 'url',
         
     | 
| 
      
 78 
     | 
    
         
            +
                                    },
         
     | 
| 
      
 79 
     | 
    
         
            +
                                    {
         
     | 
| 
      
 80 
     | 
    
         
            +
                                        name: 'Binary Data',
         
     | 
| 
      
 81 
     | 
    
         
            +
                                        value: 'binaryData',
         
     | 
| 
      
 82 
     | 
    
         
            +
                                    },
         
     | 
| 
      
 83 
     | 
    
         
            +
                                ],
         
     | 
| 
      
 84 
     | 
    
         
            +
                                default: 'url',
         
     | 
| 
      
 85 
     | 
    
         
            +
                                description: 'Method to input the target video data',
         
     | 
| 
      
 86 
     | 
    
         
            +
                            },
         
     | 
| 
      
 87 
     | 
    
         
            +
                            {
         
     | 
| 
      
 88 
     | 
    
         
            +
                                displayName: 'Target Video Binary Property',
         
     | 
| 
      
 89 
     | 
    
         
            +
                                name: 'targetVideoBinaryPropertyName',
         
     | 
| 
      
 90 
     | 
    
         
            +
                                type: 'string',
         
     | 
| 
      
 91 
     | 
    
         
            +
                                default: 'data',
         
     | 
| 
      
 92 
     | 
    
         
            +
                                required: true,
         
     | 
| 
      
 93 
     | 
    
         
            +
                                displayOptions: {
         
     | 
| 
      
 94 
     | 
    
         
            +
                                    show: {
         
     | 
| 
      
 95 
     | 
    
         
            +
                                        targetVideoInputMethod: ['binaryData'],
         
     | 
| 
      
 96 
     | 
    
         
            +
                                    },
         
     | 
| 
      
 97 
     | 
    
         
            +
                                },
         
     | 
| 
      
 98 
     | 
    
         
            +
                                description: 'Name of the binary property containing the target video data',
         
     | 
| 
      
 99 
     | 
    
         
            +
                            },
         
     | 
| 
      
 100 
     | 
    
         
            +
                            {
         
     | 
| 
      
 101 
     | 
    
         
            +
                                displayName: 'Target Video URL',
         
     | 
| 
      
 102 
     | 
    
         
            +
                                name: 'targetVideoUrl',
         
     | 
| 
      
 103 
     | 
    
         
            +
                                type: 'string',
         
     | 
| 
      
 104 
     | 
    
         
            +
                                default: '',
         
     | 
| 
      
 105 
     | 
    
         
            +
                                required: true,
         
     | 
| 
      
 106 
     | 
    
         
            +
                                displayOptions: {
         
     | 
| 
      
 107 
     | 
    
         
            +
                                    show: {
         
     | 
| 
      
 108 
     | 
    
         
            +
                                        targetVideoInputMethod: ['url'],
         
     | 
| 
      
 109 
     | 
    
         
            +
                                    },
         
     | 
| 
      
 110 
     | 
    
         
            +
                                },
         
     | 
| 
      
 111 
     | 
    
         
            +
                                description: 'URL of the target video that will have faces replaced (MP4 only, max 10MB, max 720p)',
         
     | 
| 
      
 112 
     | 
    
         
            +
                            },
         
     | 
| 
      
 113 
     | 
    
         
            +
                            {
         
     | 
| 
      
 114 
     | 
    
         
            +
                                displayName: 'Video Requirements',
         
     | 
| 
      
 115 
     | 
    
         
            +
                                name: 'videoRequirements',
         
     | 
| 
      
 116 
     | 
    
         
            +
                                type: 'notice',
         
     | 
| 
      
 117 
     | 
    
         
            +
                                default: 'Video must be MP4 format, maximum 10MB size, maximum 720p resolution, and maximum 600 frames.',
         
     | 
| 
      
 118 
     | 
    
         
            +
                            },
         
     | 
| 
      
 119 
     | 
    
         
            +
                            {
         
     | 
| 
      
 120 
     | 
    
         
            +
                                displayName: 'Face Indices Information',
         
     | 
| 
      
 121 
     | 
    
         
            +
                                name: 'faceIndicesInfo',
         
     | 
| 
      
 122 
     | 
    
         
            +
                                type: 'notice',
         
     | 
| 
      
 123 
     | 
    
         
            +
                                default: 'Faces are detected in order from left to right in most cases. For diagonal positioning, top-left might be 1 and bottom-right 0. Leave blank to swap all detected faces.',
         
     | 
| 
      
 124 
     | 
    
         
            +
                            },
         
     | 
| 
      
 125 
     | 
    
         
            +
                            {
         
     | 
| 
      
 126 
     | 
    
         
            +
                                displayName: 'Advanced Options',
         
     | 
| 
      
 127 
     | 
    
         
            +
                                name: 'advancedOptions',
         
     | 
| 
      
 128 
     | 
    
         
            +
                                type: 'collection',
         
     | 
| 
      
 129 
     | 
    
         
            +
                                placeholder: 'Add Option',
         
     | 
| 
      
 130 
     | 
    
         
            +
                                default: {},
         
     | 
| 
      
 131 
     | 
    
         
            +
                                options: [
         
     | 
| 
      
 132 
     | 
    
         
            +
                                    {
         
     | 
| 
      
 133 
     | 
    
         
            +
                                        displayName: 'Swap Faces Index',
         
     | 
| 
      
 134 
     | 
    
         
            +
                                        name: 'swapFacesIndex',
         
     | 
| 
      
 135 
     | 
    
         
            +
                                        type: 'string',
         
     | 
| 
      
 136 
     | 
    
         
            +
                                        default: '',
         
     | 
| 
      
 137 
     | 
    
         
            +
                                        placeholder: '0 or 0,1',
         
     | 
| 
      
 138 
     | 
    
         
            +
                                        description: 'Index(es) of faces to use from the swap image (e.g., "0" or "1,0")',
         
     | 
| 
      
 139 
     | 
    
         
            +
                                    },
         
     | 
| 
      
 140 
     | 
    
         
            +
                                    {
         
     | 
| 
      
 141 
     | 
    
         
            +
                                        displayName: 'Target Faces Index',
         
     | 
| 
      
 142 
     | 
    
         
            +
                                        name: 'targetFacesIndex',
         
     | 
| 
      
 143 
     | 
    
         
            +
                                        type: 'string',
         
     | 
| 
      
 144 
     | 
    
         
            +
                                        default: '',
         
     | 
| 
      
 145 
     | 
    
         
            +
                                        placeholder: '0 or 0,1',
         
     | 
| 
      
 146 
     | 
    
         
            +
                                        description: 'Index(es) of faces to replace in the target video (e.g., "0" or "0,1")',
         
     | 
| 
      
 147 
     | 
    
         
            +
                                    },
         
     | 
| 
      
 148 
     | 
    
         
            +
                                ],
         
     | 
| 
      
 149 
     | 
    
         
            +
                            },
         
     | 
| 
      
 150 
     | 
    
         
            +
                            {
         
     | 
| 
      
 151 
     | 
    
         
            +
                                displayName: 'Wait For Completion',
         
     | 
| 
      
 152 
     | 
    
         
            +
                                name: 'waitForCompletion',
         
     | 
| 
      
 153 
     | 
    
         
            +
                                type: 'boolean',
         
     | 
| 
      
 154 
     | 
    
         
            +
                                default: false,
         
     | 
| 
      
 155 
     | 
    
         
            +
                                description: 'Whether to wait for the face swap process to complete before continuing',
         
     | 
| 
      
 156 
     | 
    
         
            +
                            },
         
     | 
| 
      
 157 
     | 
    
         
            +
                            {
         
     | 
| 
      
 158 
     | 
    
         
            +
                                displayName: 'Max Retries',
         
     | 
| 
      
 159 
     | 
    
         
            +
                                name: 'maxRetries',
         
     | 
| 
      
 160 
     | 
    
         
            +
                                type: 'number',
         
     | 
| 
      
 161 
     | 
    
         
            +
                                default: 20,
         
     | 
| 
      
 162 
     | 
    
         
            +
                                description: 'Maximum number of retries to check task status',
         
     | 
| 
      
 163 
     | 
    
         
            +
                                displayOptions: {
         
     | 
| 
      
 164 
     | 
    
         
            +
                                    show: {
         
     | 
| 
      
 165 
     | 
    
         
            +
                                        waitForCompletion: [true],
         
     | 
| 
      
 166 
     | 
    
         
            +
                                    },
         
     | 
| 
      
 167 
     | 
    
         
            +
                                },
         
     | 
| 
      
 168 
     | 
    
         
            +
                            },
         
     | 
| 
      
 169 
     | 
    
         
            +
                            {
         
     | 
| 
      
 170 
     | 
    
         
            +
                                displayName: 'Retry Interval',
         
     | 
| 
      
 171 
     | 
    
         
            +
                                name: 'retryInterval',
         
     | 
| 
      
 172 
     | 
    
         
            +
                                type: 'number',
         
     | 
| 
      
 173 
     | 
    
         
            +
                                default: 3000,
         
     | 
| 
      
 174 
     | 
    
         
            +
                                description: 'Interval between retries in milliseconds',
         
     | 
| 
      
 175 
     | 
    
         
            +
                                displayOptions: {
         
     | 
| 
      
 176 
     | 
    
         
            +
                                    show: {
         
     | 
| 
      
 177 
     | 
    
         
            +
                                        waitForCompletion: [true],
         
     | 
| 
      
 178 
     | 
    
         
            +
                                    },
         
     | 
| 
      
 179 
     | 
    
         
            +
                                },
         
     | 
| 
      
 180 
     | 
    
         
            +
                            },
         
     | 
| 
      
 181 
     | 
    
         
            +
                        ],
         
     | 
| 
      
 182 
     | 
    
         
            +
                    };
         
     | 
| 
      
 183 
     | 
    
         
            +
                }
         
     | 
| 
      
 184 
     | 
    
         
            +
                async execute() {
         
     | 
| 
      
 185 
     | 
    
         
            +
                    var _a, _b;
         
     | 
| 
      
 186 
     | 
    
         
            +
                    const items = this.getInputData();
         
     | 
| 
      
 187 
     | 
    
         
            +
                    const returnData = [];
         
     | 
| 
      
 188 
     | 
    
         
            +
                    for (let i = 0; i < items.length; i++) {
         
     | 
| 
      
 189 
     | 
    
         
            +
                        try {
         
     | 
| 
      
 190 
     | 
    
         
            +
                            const swapImageInputMethod = this.getNodeParameter('swapImageInputMethod', i);
         
     | 
| 
      
 191 
     | 
    
         
            +
                            const targetVideoInputMethod = this.getNodeParameter('targetVideoInputMethod', i);
         
     | 
| 
      
 192 
     | 
    
         
            +
                            const waitForCompletion = this.getNodeParameter('waitForCompletion', i, false);
         
     | 
| 
      
 193 
     | 
    
         
            +
                            const advancedOptions = this.getNodeParameter('advancedOptions', i, {});
         
     | 
| 
      
 194 
     | 
    
         
            +
                            let swapImageData;
         
     | 
| 
      
 195 
     | 
    
         
            +
                            if (swapImageInputMethod === 'url') {
         
     | 
| 
      
 196 
     | 
    
         
            +
                                swapImageData = this.getNodeParameter('swapImageUrl', i);
         
     | 
| 
      
 197 
     | 
    
         
            +
                            }
         
     | 
| 
      
 198 
     | 
    
         
            +
                            else {
         
     | 
| 
      
 199 
     | 
    
         
            +
                                const swapBinaryPropertyName = this.getNodeParameter('swapBinaryPropertyName', i);
         
     | 
| 
      
 200 
     | 
    
         
            +
                                const swapBinaryData = this.helpers.assertBinaryData(i, swapBinaryPropertyName);
         
     | 
| 
      
 201 
     | 
    
         
            +
                                if (swapBinaryData.mimeType && !swapBinaryData.mimeType.includes('image')) {
         
     | 
| 
      
 202 
     | 
    
         
            +
                                    throw new n8n_workflow_1.NodeOperationError(this.getNode(), 'The provided swap binary data is not an image', { itemIndex: i });
         
     | 
| 
      
 203 
     | 
    
         
            +
                                }
         
     | 
| 
      
 204 
     | 
    
         
            +
                                const base64String = Buffer.from(await this.helpers.getBinaryDataBuffer(i, swapBinaryPropertyName)).toString('base64');
         
     | 
| 
      
 205 
     | 
    
         
            +
                                swapImageData = `data:${swapBinaryData.mimeType};base64,${base64String}`;
         
     | 
| 
      
 206 
     | 
    
         
            +
                            }
         
     | 
| 
      
 207 
     | 
    
         
            +
                            let targetVideoData;
         
     | 
| 
      
 208 
     | 
    
         
            +
                            if (targetVideoInputMethod === 'url') {
         
     | 
| 
      
 209 
     | 
    
         
            +
                                targetVideoData = this.getNodeParameter('targetVideoUrl', i);
         
     | 
| 
      
 210 
     | 
    
         
            +
                            }
         
     | 
| 
      
 211 
     | 
    
         
            +
                            else {
         
     | 
| 
      
 212 
     | 
    
         
            +
                                const targetVideoBinaryPropertyName = this.getNodeParameter('targetVideoBinaryPropertyName', i);
         
     | 
| 
      
 213 
     | 
    
         
            +
                                const targetVideoBinaryData = this.helpers.assertBinaryData(i, targetVideoBinaryPropertyName);
         
     | 
| 
      
 214 
     | 
    
         
            +
                                if (targetVideoBinaryData.mimeType && !targetVideoBinaryData.mimeType.includes('video/mp4')) {
         
     | 
| 
      
 215 
     | 
    
         
            +
                                    throw new n8n_workflow_1.NodeOperationError(this.getNode(), 'The provided target binary data is not an MP4 video', { itemIndex: i });
         
     | 
| 
      
 216 
     | 
    
         
            +
                                }
         
     | 
| 
      
 217 
     | 
    
         
            +
                                const base64String = Buffer.from(await this.helpers.getBinaryDataBuffer(i, targetVideoBinaryPropertyName)).toString('base64');
         
     | 
| 
      
 218 
     | 
    
         
            +
                                targetVideoData = `data:${targetVideoBinaryData.mimeType};base64,${base64String}`;
         
     | 
| 
      
 219 
     | 
    
         
            +
                            }
         
     | 
| 
      
 220 
     | 
    
         
            +
                            const requestBody = {
         
     | 
| 
      
 221 
     | 
    
         
            +
                                model: 'Qubico/video-toolkit',
         
     | 
| 
      
 222 
     | 
    
         
            +
                                task_type: 'face-swap',
         
     | 
| 
      
 223 
     | 
    
         
            +
                                input: {
         
     | 
| 
      
 224 
     | 
    
         
            +
                                    swap_image: swapImageData,
         
     | 
| 
      
 225 
     | 
    
         
            +
                                    target_video: targetVideoData,
         
     | 
| 
      
 226 
     | 
    
         
            +
                                },
         
     | 
| 
      
 227 
     | 
    
         
            +
                            };
         
     | 
| 
      
 228 
     | 
    
         
            +
                            if (advancedOptions.swapFacesIndex) {
         
     | 
| 
      
 229 
     | 
    
         
            +
                                requestBody.input.swap_faces_index = advancedOptions.swapFacesIndex;
         
     | 
| 
      
 230 
     | 
    
         
            +
                            }
         
     | 
| 
      
 231 
     | 
    
         
            +
                            if (advancedOptions.targetFacesIndex) {
         
     | 
| 
      
 232 
     | 
    
         
            +
                                requestBody.input.target_faces_index = advancedOptions.targetFacesIndex;
         
     | 
| 
      
 233 
     | 
    
         
            +
                            }
         
     | 
| 
      
 234 
     | 
    
         
            +
                            const response = await GenericFunctions_1.piApiRequest.call(this, 'POST', '/api/v1/task', requestBody);
         
     | 
| 
      
 235 
     | 
    
         
            +
                            const taskId = (_a = response.data) === null || _a === void 0 ? void 0 : _a.task_id;
         
     | 
| 
      
 236 
     | 
    
         
            +
                            if (!taskId) {
         
     | 
| 
      
 237 
     | 
    
         
            +
                                throw new n8n_workflow_1.NodeOperationError(this.getNode(), 'Failed to get a valid task ID from the API');
         
     | 
| 
      
 238 
     | 
    
         
            +
                            }
         
     | 
| 
      
 239 
     | 
    
         
            +
                            let executionData;
         
     | 
| 
      
 240 
     | 
    
         
            +
                            if (waitForCompletion) {
         
     | 
| 
      
 241 
     | 
    
         
            +
                                const maxRetries = this.getNodeParameter('maxRetries', i, 20);
         
     | 
| 
      
 242 
     | 
    
         
            +
                                const retryInterval = this.getNodeParameter('retryInterval', i, 3000);
         
     | 
| 
      
 243 
     | 
    
         
            +
                                executionData = await GenericFunctions_1.waitForTaskCompletion.call(this, taskId, maxRetries, retryInterval);
         
     | 
| 
      
 244 
     | 
    
         
            +
                            }
         
     | 
| 
      
 245 
     | 
    
         
            +
                            else {
         
     | 
| 
      
 246 
     | 
    
         
            +
                                executionData = {
         
     | 
| 
      
 247 
     | 
    
         
            +
                                    task_id: taskId,
         
     | 
| 
      
 248 
     | 
    
         
            +
                                    status: ((_b = response.data) === null || _b === void 0 ? void 0 : _b.status) || 'pending',
         
     | 
| 
      
 249 
     | 
    
         
            +
                                };
         
     | 
| 
      
 250 
     | 
    
         
            +
                            }
         
     | 
| 
      
 251 
     | 
    
         
            +
                            returnData.push({
         
     | 
| 
      
 252 
     | 
    
         
            +
                                json: executionData,
         
     | 
| 
      
 253 
     | 
    
         
            +
                            });
         
     | 
| 
      
 254 
     | 
    
         
            +
                        }
         
     | 
| 
      
 255 
     | 
    
         
            +
                        catch (error) {
         
     | 
| 
      
 256 
     | 
    
         
            +
                            if (error.message && error.message.includes('failed to get valid image')) {
         
     | 
| 
      
 257 
     | 
    
         
            +
                                const errorMessage = 'The API could not process the provided image. Please ensure the image is accessible, in a common format (JPEG, PNG), and meets the size requirements (under 2048x2048 resolution).';
         
     | 
| 
      
 258 
     | 
    
         
            +
                                if (this.continueOnFail()) {
         
     | 
| 
      
 259 
     | 
    
         
            +
                                    returnData.push({
         
     | 
| 
      
 260 
     | 
    
         
            +
                                        json: {
         
     | 
| 
      
 261 
     | 
    
         
            +
                                            error: errorMessage,
         
     | 
| 
      
 262 
     | 
    
         
            +
                                            details: error.message,
         
     | 
| 
      
 263 
     | 
    
         
            +
                                        },
         
     | 
| 
      
 264 
     | 
    
         
            +
                                    });
         
     | 
| 
      
 265 
     | 
    
         
            +
                                    continue;
         
     | 
| 
      
 266 
     | 
    
         
            +
                                }
         
     | 
| 
      
 267 
     | 
    
         
            +
                                throw new n8n_workflow_1.NodeOperationError(this.getNode(), errorMessage);
         
     | 
| 
      
 268 
     | 
    
         
            +
                            }
         
     | 
| 
      
 269 
     | 
    
         
            +
                            if (error.message && error.message.includes('failed to get valid video')) {
         
     | 
| 
      
 270 
     | 
    
         
            +
                                const errorMessage = 'The API could not process the provided video. Please ensure the video is accessible, in MP4 format, under 10MB, maximum 720p resolution, and maximum 600 frames.';
         
     | 
| 
      
 271 
     | 
    
         
            +
                                if (this.continueOnFail()) {
         
     | 
| 
      
 272 
     | 
    
         
            +
                                    returnData.push({
         
     | 
| 
      
 273 
     | 
    
         
            +
                                        json: {
         
     | 
| 
      
 274 
     | 
    
         
            +
                                            error: errorMessage,
         
     | 
| 
      
 275 
     | 
    
         
            +
                                            details: error.message,
         
     | 
| 
      
 276 
     | 
    
         
            +
                                        },
         
     | 
| 
      
 277 
     | 
    
         
            +
                                    });
         
     | 
| 
      
 278 
     | 
    
         
            +
                                    continue;
         
     | 
| 
      
 279 
     | 
    
         
            +
                                }
         
     | 
| 
      
 280 
     | 
    
         
            +
                                throw new n8n_workflow_1.NodeOperationError(this.getNode(), errorMessage);
         
     | 
| 
      
 281 
     | 
    
         
            +
                            }
         
     | 
| 
      
 282 
     | 
    
         
            +
                            if (this.continueOnFail()) {
         
     | 
| 
      
 283 
     | 
    
         
            +
                                returnData.push({
         
     | 
| 
      
 284 
     | 
    
         
            +
                                    json: {
         
     | 
| 
      
 285 
     | 
    
         
            +
                                        error: error.message,
         
     | 
| 
      
 286 
     | 
    
         
            +
                                    },
         
     | 
| 
      
 287 
     | 
    
         
            +
                                });
         
     | 
| 
      
 288 
     | 
    
         
            +
                                continue;
         
     | 
| 
      
 289 
     | 
    
         
            +
                            }
         
     | 
| 
      
 290 
     | 
    
         
            +
                            throw error;
         
     | 
| 
      
 291 
     | 
    
         
            +
                        }
         
     | 
| 
      
 292 
     | 
    
         
            +
                    }
         
     | 
| 
      
 293 
     | 
    
         
            +
                    return [returnData];
         
     | 
| 
      
 294 
     | 
    
         
            +
                }
         
     | 
| 
      
 295 
     | 
    
         
            +
            }
         
     | 
| 
      
 296 
     | 
    
         
            +
            exports.FaceswapVideoToVideo = FaceswapVideoToVideo;
         
     | 
| 
      
 297 
     | 
    
         
            +
            //# sourceMappingURL=FaceswapVideoToVideo.node.js.map
         
     | 
| 
         @@ -0,0 +1 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            {"version":3,"file":"FaceswapVideoToVideo.node.js","sourceRoot":"","sources":["../../../../nodes/PiAPI/Faceswap/FaceswapVideoToVideo.node.ts"],"names":[],"mappings":";;;AAAA,+CAQsB;AAEtB,iEAAiF;AAGjF,MAAa,oBAAoB;IAAjC;QACI,gBAAW,GAAyB;YAChC,WAAW,EAAE,sBAAsB;YACnC,IAAI,EAAE,sBAAsB;YAC5B,IAAI,EAAE,mBAAmB;YACzB,KAAK,EAAE,CAAC,WAAW,CAAC;YACpB,OAAO,EAAE,CAAC;YACV,WAAW,EAAE,gEAAgE;YAC7E,QAAQ,EAAE;gBACN,IAAI,EAAE,gBAAgB;aACzB;YACD,MAAM,EAAE,QAAyB;YACjC,OAAO,EAAE,QAAyB;YAClC,WAAW,EAAE;gBACT;oBACI,IAAI,EAAE,UAAU;oBAChB,QAAQ,EAAE,IAAI;iBACjB;aACJ;YACD,UAAU,EAAE;gBAER;oBACI,WAAW,EAAE,yBAAyB;oBACtC,IAAI,EAAE,sBAAsB;oBAC5B,IAAI,EAAE,SAAS;oBACf,OAAO,EAAE;wBACL;4BACI,IAAI,EAAE,KAAK;4BACX,KAAK,EAAE,KAAK;yBACf;wBACD;4BACI,IAAI,EAAE,aAAa;4BACnB,KAAK,EAAE,YAAY;yBACtB;qBACJ;oBACD,OAAO,EAAE,KAAK;oBACd,WAAW,EAAE,qCAAqC;iBACrD;gBACD;oBACI,WAAW,EAAE,4BAA4B;oBACzC,IAAI,EAAE,wBAAwB;oBAC9B,IAAI,EAAE,QAAQ;oBACd,OAAO,EAAE,MAAM;oBACf,QAAQ,EAAE,IAAI;oBACd,cAAc,EAAE;wBACZ,IAAI,EAAE;4BACF,oBAAoB,EAAE,CAAC,YAAY,CAAC;yBACvC;qBACJ;oBACD,WAAW,EAAE,4DAA4D;iBAC5E;gBACD;oBACI,WAAW,EAAE,gBAAgB;oBAC7B,IAAI,EAAE,cAAc;oBACpB,IAAI,EAAE,QAAQ;oBACd,OAAO,EAAE,EAAE;oBACX,QAAQ,EAAE,IAAI;oBACd,cAAc,EAAE;wBACZ,IAAI,EAAE;4BACF,oBAAoB,EAAE,CAAC,KAAK,CAAC;yBAChC;qBACJ;oBACD,WAAW,EAAE,iDAAiD;iBACjE;gBAGD;oBACI,WAAW,EAAE,2BAA2B;oBACxC,IAAI,EAAE,wBAAwB;oBAC9B,IAAI,EAAE,SAAS;oBACf,OAAO,EAAE;wBACL;4BACI,IAAI,EAAE,KAAK;4BACX,KAAK,EAAE,KAAK;yBACf;wBACD;4BACI,IAAI,EAAE,aAAa;4BACnB,KAAK,EAAE,YAAY;yBACtB;qBACJ;oBACD,OAAO,EAAE,KAAK;oBACd,WAAW,EAAE,uCAAuC;iBACvD;gBACD;oBACI,WAAW,EAAE,8BAA8B;oBAC3C,IAAI,EAAE,+BAA+B;oBACrC,IAAI,EAAE,QAAQ;oBACd,OAAO,EAAE,MAAM;oBACf,QAAQ,EAAE,IAAI;oBACd,cAAc,EAAE;wBACZ,IAAI,EAAE;4BACF,sBAAsB,EAAE,CAAC,YAAY,CAAC;yBACzC;qBACJ;oBACD,WAAW,EAAE,8DAA8D;iBAC9E;gBACD;oBACI,WAAW,EAAE,kBAAkB;oBAC/B,IAAI,EAAE,gBAAgB;oBACtB,IAAI,EAAE,QAAQ;oBACd,OAAO,EAAE,EAAE;oBACX,QAAQ,EAAE,IAAI;oBACd,cAAc,EAAE;wBACZ,IAAI,EAAE;4BACF,sBAAsB,EAAE,CAAC,KAAK,CAAC;yBAClC;qBACJ;oBACD,WAAW,EAAE,sFAAsF;iBACtG;gBAGD;oBACI,WAAW,EAAE,oBAAoB;oBACjC,IAAI,EAAE,mBAAmB;oBACzB,IAAI,EAAE,QAAQ;oBACd,OAAO,EAAE,+FAA+F;iBAC3G;gBAGD;oBACI,WAAW,EAAE,0BAA0B;oBACvC,IAAI,EAAE,iBAAiB;oBACvB,IAAI,EAAE,QAAQ;oBACd,OAAO,EAAE,yKAAyK;iBACrL;gBAGD;oBACI,WAAW,EAAE,kBAAkB;oBAC/B,IAAI,EAAE,iBAAiB;oBACvB,IAAI,EAAE,YAAY;oBAClB,WAAW,EAAE,YAAY;oBACzB,OAAO,EAAE,EAAE;oBACX,OAAO,EAAE;wBACL;4BACI,WAAW,EAAE,kBAAkB;4BAC/B,IAAI,EAAE,gBAAgB;4BACtB,IAAI,EAAE,QAAQ;4BACd,OAAO,EAAE,EAAE;4BACX,WAAW,EAAE,UAAU;4BACvB,WAAW,EAAE,oEAAoE;yBACpF;wBACD;4BACI,WAAW,EAAE,oBAAoB;4BACjC,IAAI,EAAE,kBAAkB;4BACxB,IAAI,EAAE,QAAQ;4BACd,OAAO,EAAE,EAAE;4BACX,WAAW,EAAE,UAAU;4BACvB,WAAW,EAAE,wEAAwE;yBACxF;qBACJ;iBACJ;gBAGD;oBACI,WAAW,EAAE,qBAAqB;oBAClC,IAAI,EAAE,mBAAmB;oBACzB,IAAI,EAAE,SAAS;oBACf,OAAO,EAAE,KAAK;oBACd,WAAW,EAAE,yEAAyE;iBACzF;gBACD;oBACI,WAAW,EAAE,aAAa;oBAC1B,IAAI,EAAE,YAAY;oBAClB,IAAI,EAAE,QAAQ;oBACd,OAAO,EAAE,EAAE;oBACX,WAAW,EAAE,gDAAgD;oBAC7D,cAAc,EAAE;wBACZ,IAAI,EAAE;4BACF,iBAAiB,EAAE,CAAC,IAAI,CAAC;yBAC5B;qBACJ;iBACJ;gBACD;oBACI,WAAW,EAAE,gBAAgB;oBAC7B,IAAI,EAAE,eAAe;oBACrB,IAAI,EAAE,QAAQ;oBACd,OAAO,EAAE,IAAI;oBACb,WAAW,EAAE,0CAA0C;oBACvD,cAAc,EAAE;wBACZ,IAAI,EAAE;4BACF,iBAAiB,EAAE,CAAC,IAAI,CAAC;yBAC5B;qBACJ;iBACJ;aACJ;SACJ,CAAC;IAsKN,CAAC;IApKG,KAAK,CAAC,OAAO;;QACT,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QAClC,MAAM,UAAU,GAAyB,EAAE,CAAC;QAE5C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACpC,IAAI,CAAC;gBAED,MAAM,oBAAoB,GAAG,IAAI,CAAC,gBAAgB,CAAC,sBAAsB,EAAE,CAAC,CAAW,CAAC;gBACxF,MAAM,sBAAsB,GAAG,IAAI,CAAC,gBAAgB,CAAC,wBAAwB,EAAE,CAAC,CAAW,CAAC;gBAC5F,MAAM,iBAAiB,GAAG,IAAI,CAAC,gBAAgB,CAAC,mBAAmB,EAAE,CAAC,EAAE,KAAK,CAAY,CAAC;gBAG1F,MAAM,eAAe,GAAG,IAAI,CAAC,gBAAgB,CAAC,iBAAiB,EAAE,CAAC,EAAE,EAAE,CAGrE,CAAC;gBAGF,IAAI,aAAqB,CAAC;gBAE1B,IAAI,oBAAoB,KAAK,KAAK,EAAE,CAAC;oBACjC,aAAa,GAAG,IAAI,CAAC,gBAAgB,CAAC,cAAc,EAAE,CAAC,CAAW,CAAC;gBACvE,CAAC;qBAAM,CAAC;oBAEJ,MAAM,sBAAsB,GAAG,IAAI,CAAC,gBAAgB,CAAC,wBAAwB,EAAE,CAAC,CAAW,CAAC;oBAC5F,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,EAAE,sBAAsB,CAAC,CAAC;oBAEhF,IAAI,cAAc,CAAC,QAAQ,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;wBACxE,MAAM,IAAI,iCAAkB,CACxB,IAAI,CAAC,OAAO,EAAE,EACd,+CAA+C,EAC/C,EAAE,SAAS,EAAE,CAAC,EAAE,CACnB,CAAC;oBACN,CAAC;oBAGD,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC,EAAE,sBAAsB,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;oBACvH,aAAa,GAAG,QAAQ,cAAc,CAAC,QAAQ,WAAW,YAAY,EAAE,CAAC;gBAC7E,CAAC;gBAGD,IAAI,eAAuB,CAAC;gBAE5B,IAAI,sBAAsB,KAAK,KAAK,EAAE,CAAC;oBACnC,eAAe,GAAG,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,EAAE,CAAC,CAAW,CAAC;gBAC3E,CAAC;qBAAM,CAAC;oBAEJ,MAAM,6BAA6B,GAAG,IAAI,CAAC,gBAAgB,CAAC,+BAA+B,EAAE,CAAC,CAAW,CAAC;oBAC1G,MAAM,qBAAqB,GAAG,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,EAAE,6BAA6B,CAAC,CAAC;oBAE9F,IAAI,qBAAqB,CAAC,QAAQ,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;wBAC1F,MAAM,IAAI,iCAAkB,CACxB,IAAI,CAAC,OAAO,EAAE,EACd,qDAAqD,EACrD,EAAE,SAAS,EAAE,CAAC,EAAE,CACnB,CAAC;oBACN,CAAC;oBAGD,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC,EAAE,6BAA6B,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;oBAC9H,eAAe,GAAG,QAAQ,qBAAqB,CAAC,QAAQ,WAAW,YAAY,EAAE,CAAC;gBACtF,CAAC;gBAGD,MAAM,WAAW,GAAwB;oBACrC,KAAK,EAAE,sBAAsB;oBAC7B,SAAS,EAAE,WAAW;oBACtB,KAAK,EAAE;wBACH,UAAU,EAAE,aAAa;wBACzB,YAAY,EAAE,eAAe;qBAChC;iBACJ,CAAC;gBAGF,IAAI,eAAe,CAAC,cAAc,EAAE,CAAC;oBACjC,WAAW,CAAC,KAAK,CAAC,gBAAgB,GAAG,eAAe,CAAC,cAAc,CAAC;gBACxE,CAAC;gBAED,IAAI,eAAe,CAAC,gBAAgB,EAAE,CAAC;oBACnC,WAAW,CAAC,KAAK,CAAC,kBAAkB,GAAG,eAAe,CAAC,gBAAgB,CAAC;gBAC5E,CAAC;gBAGD,MAAM,QAAQ,GAAG,MAAM,+BAAY,CAAC,IAAI,CACpC,IAAI,EACJ,MAAM,EACN,cAAc,EACd,WAAqC,CACxC,CAAC;gBAEF,MAAM,MAAM,GAAG,MAAA,QAAQ,CAAC,IAAI,0CAAE,OAAO,CAAC;gBAEtC,IAAI,CAAC,MAAM,EAAE,CAAC;oBACV,MAAM,IAAI,iCAAkB,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,4CAA4C,CAAC,CAAC;gBAC/F,CAAC;gBAED,IAAI,aAAa,CAAC;gBAElB,IAAI,iBAAiB,EAAE,CAAC;oBACpB,MAAM,UAAU,GAAG,IAAI,CAAC,gBAAgB,CAAC,YAAY,EAAE,CAAC,EAAE,EAAE,CAAW,CAAC;oBACxE,MAAM,aAAa,GAAG,IAAI,CAAC,gBAAgB,CAAC,eAAe,EAAE,CAAC,EAAE,IAAI,CAAW,CAAC;oBAGhF,aAAa,GAAG,MAAM,wCAAqB,CAAC,IAAI,CAC5C,IAAI,EACJ,MAAM,EACN,UAAU,EACV,aAAa,CAChB,CAAC;gBACN,CAAC;qBAAM,CAAC;oBAEJ,aAAa,GAAG;wBACZ,OAAO,EAAE,MAAM;wBACf,MAAM,EAAE,CAAA,MAAA,QAAQ,CAAC,IAAI,0CAAE,MAAM,KAAI,SAAS;qBAC7C,CAAC;gBACN,CAAC;gBAED,UAAU,CAAC,IAAI,CAAC;oBACZ,IAAI,EAAE,aAAa;iBACtB,CAAC,CAAC;YACP,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBAEb,IAAI,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,2BAA2B,CAAC,EAAE,CAAC;oBACvE,MAAM,YAAY,GAAG,oLAAoL,CAAC;oBAC1M,IAAI,IAAI,CAAC,cAAc,EAAE,EAAE,CAAC;wBACxB,UAAU,CAAC,IAAI,CAAC;4BACZ,IAAI,EAAE;gCACF,KAAK,EAAE,YAAY;gCACnB,OAAO,EAAE,KAAK,CAAC,OAAO;6BACzB;yBACJ,CAAC,CAAC;wBACH,SAAS;oBACb,CAAC;oBACD,MAAM,IAAI,iCAAkB,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,YAAY,CAAC,CAAC;gBAC/D,CAAC;gBAED,IAAI,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,2BAA2B,CAAC,EAAE,CAAC;oBACvE,MAAM,YAAY,GAAG,kKAAkK,CAAC;oBACxL,IAAI,IAAI,CAAC,cAAc,EAAE,EAAE,CAAC;wBACxB,UAAU,CAAC,IAAI,CAAC;4BACZ,IAAI,EAAE;gCACF,KAAK,EAAE,YAAY;gCACnB,OAAO,EAAE,KAAK,CAAC,OAAO;6BACzB;yBACJ,CAAC,CAAC;wBACH,SAAS;oBACb,CAAC;oBACD,MAAM,IAAI,iCAAkB,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,YAAY,CAAC,CAAC;gBAC/D,CAAC;gBAED,IAAI,IAAI,CAAC,cAAc,EAAE,EAAE,CAAC;oBACxB,UAAU,CAAC,IAAI,CAAC;wBACZ,IAAI,EAAE;4BACF,KAAK,EAAE,KAAK,CAAC,OAAO;yBACvB;qBACJ,CAAC,CAAC;oBACH,SAAS;gBACb,CAAC;gBACD,MAAM,KAAK,CAAC;YAChB,CAAC;QACL,CAAC;QAED,OAAO,CAAC,UAAU,CAAC,CAAC;IACxB,CAAC;CACJ;AAhWD,oDAgWC"}
         
     | 
| 
         @@ -0,0 +1,215 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            "use strict";
         
     | 
| 
      
 2 
     | 
    
         
            +
            Object.defineProperty(exports, "__esModule", { value: true });
         
     | 
| 
      
 3 
     | 
    
         
            +
            exports.FileUpload = void 0;
         
     | 
| 
      
 4 
     | 
    
         
            +
            class FileUpload {
         
     | 
| 
      
 5 
     | 
    
         
            +
                constructor() {
         
     | 
| 
      
 6 
     | 
    
         
            +
                    this.description = {
         
     | 
| 
      
 7 
     | 
    
         
            +
                        displayName: 'PiAPI File Upload',
         
     | 
| 
      
 8 
     | 
    
         
            +
                        name: 'fileUpload',
         
     | 
| 
      
 9 
     | 
    
         
            +
                        icon: 'file:../piapi.svg',
         
     | 
| 
      
 10 
     | 
    
         
            +
                        group: ['transform'],
         
     | 
| 
      
 11 
     | 
    
         
            +
                        version: 1,
         
     | 
| 
      
 12 
     | 
    
         
            +
                        description: 'Upload temporary files that will be automatically deleted after 24 hours',
         
     | 
| 
      
 13 
     | 
    
         
            +
                        defaults: {
         
     | 
| 
      
 14 
     | 
    
         
            +
                            name: 'File Upload',
         
     | 
| 
      
 15 
     | 
    
         
            +
                        },
         
     | 
| 
      
 16 
     | 
    
         
            +
                        inputs: ["main"],
         
     | 
| 
      
 17 
     | 
    
         
            +
                        outputs: ["main"],
         
     | 
| 
      
 18 
     | 
    
         
            +
                        credentials: [
         
     | 
| 
      
 19 
     | 
    
         
            +
                            {
         
     | 
| 
      
 20 
     | 
    
         
            +
                                name: 'piAPIApi',
         
     | 
| 
      
 21 
     | 
    
         
            +
                                required: true,
         
     | 
| 
      
 22 
     | 
    
         
            +
                            },
         
     | 
| 
      
 23 
     | 
    
         
            +
                        ],
         
     | 
| 
      
 24 
     | 
    
         
            +
                        properties: [
         
     | 
| 
      
 25 
     | 
    
         
            +
                            {
         
     | 
| 
      
 26 
     | 
    
         
            +
                                displayName: 'Input Method',
         
     | 
| 
      
 27 
     | 
    
         
            +
                                name: 'inputMethod',
         
     | 
| 
      
 28 
     | 
    
         
            +
                                type: 'options',
         
     | 
| 
      
 29 
     | 
    
         
            +
                                options: [
         
     | 
| 
      
 30 
     | 
    
         
            +
                                    {
         
     | 
| 
      
 31 
     | 
    
         
            +
                                        name: 'Binary File',
         
     | 
| 
      
 32 
     | 
    
         
            +
                                        value: 'binaryFile',
         
     | 
| 
      
 33 
     | 
    
         
            +
                                    },
         
     | 
| 
      
 34 
     | 
    
         
            +
                                    {
         
     | 
| 
      
 35 
     | 
    
         
            +
                                        name: 'URL',
         
     | 
| 
      
 36 
     | 
    
         
            +
                                        value: 'url',
         
     | 
| 
      
 37 
     | 
    
         
            +
                                    },
         
     | 
| 
      
 38 
     | 
    
         
            +
                                    {
         
     | 
| 
      
 39 
     | 
    
         
            +
                                        name: 'Manual Input',
         
     | 
| 
      
 40 
     | 
    
         
            +
                                        value: 'manualInput',
         
     | 
| 
      
 41 
     | 
    
         
            +
                                    },
         
     | 
| 
      
 42 
     | 
    
         
            +
                                ],
         
     | 
| 
      
 43 
     | 
    
         
            +
                                default: 'binaryFile',
         
     | 
| 
      
 44 
     | 
    
         
            +
                                description: 'How to input the file to upload',
         
     | 
| 
      
 45 
     | 
    
         
            +
                            },
         
     | 
| 
      
 46 
     | 
    
         
            +
                            {
         
     | 
| 
      
 47 
     | 
    
         
            +
                                displayName: 'Binary Property',
         
     | 
| 
      
 48 
     | 
    
         
            +
                                name: 'binaryPropertyName',
         
     | 
| 
      
 49 
     | 
    
         
            +
                                type: 'string',
         
     | 
| 
      
 50 
     | 
    
         
            +
                                default: 'data',
         
     | 
| 
      
 51 
     | 
    
         
            +
                                required: true,
         
     | 
| 
      
 52 
     | 
    
         
            +
                                displayOptions: {
         
     | 
| 
      
 53 
     | 
    
         
            +
                                    show: {
         
     | 
| 
      
 54 
     | 
    
         
            +
                                        inputMethod: ['binaryFile'],
         
     | 
| 
      
 55 
     | 
    
         
            +
                                    },
         
     | 
| 
      
 56 
     | 
    
         
            +
                                },
         
     | 
| 
      
 57 
     | 
    
         
            +
                                description: 'The binary property containing the file to upload',
         
     | 
| 
      
 58 
     | 
    
         
            +
                            },
         
     | 
| 
      
 59 
     | 
    
         
            +
                            {
         
     | 
| 
      
 60 
     | 
    
         
            +
                                displayName: 'File Name',
         
     | 
| 
      
 61 
     | 
    
         
            +
                                name: 'fileName',
         
     | 
| 
      
 62 
     | 
    
         
            +
                                type: 'string',
         
     | 
| 
      
 63 
     | 
    
         
            +
                                default: '',
         
     | 
| 
      
 64 
     | 
    
         
            +
                                required: true,
         
     | 
| 
      
 65 
     | 
    
         
            +
                                displayOptions: {
         
     | 
| 
      
 66 
     | 
    
         
            +
                                    show: {
         
     | 
| 
      
 67 
     | 
    
         
            +
                                        inputMethod: ['manualInput'],
         
     | 
| 
      
 68 
     | 
    
         
            +
                                    },
         
     | 
| 
      
 69 
     | 
    
         
            +
                                },
         
     | 
| 
      
 70 
     | 
    
         
            +
                                description: 'Name of the file with extension (jpg, jpeg, png, webp, mp4, wav, mp3)',
         
     | 
| 
      
 71 
     | 
    
         
            +
                            },
         
     | 
| 
      
 72 
     | 
    
         
            +
                            {
         
     | 
| 
      
 73 
     | 
    
         
            +
                                displayName: 'File Data',
         
     | 
| 
      
 74 
     | 
    
         
            +
                                name: 'fileData',
         
     | 
| 
      
 75 
     | 
    
         
            +
                                type: 'string',
         
     | 
| 
      
 76 
     | 
    
         
            +
                                typeOptions: {
         
     | 
| 
      
 77 
     | 
    
         
            +
                                    rows: 4,
         
     | 
| 
      
 78 
     | 
    
         
            +
                                },
         
     | 
| 
      
 79 
     | 
    
         
            +
                                default: '',
         
     | 
| 
      
 80 
     | 
    
         
            +
                                required: true,
         
     | 
| 
      
 81 
     | 
    
         
            +
                                displayOptions: {
         
     | 
| 
      
 82 
     | 
    
         
            +
                                    show: {
         
     | 
| 
      
 83 
     | 
    
         
            +
                                        inputMethod: ['manualInput'],
         
     | 
| 
      
 84 
     | 
    
         
            +
                                    },
         
     | 
| 
      
 85 
     | 
    
         
            +
                                },
         
     | 
| 
      
 86 
     | 
    
         
            +
                                description: 'Base64 encoded file data',
         
     | 
| 
      
 87 
     | 
    
         
            +
                            },
         
     | 
| 
      
 88 
     | 
    
         
            +
                            {
         
     | 
| 
      
 89 
     | 
    
         
            +
                                displayName: 'File URL',
         
     | 
| 
      
 90 
     | 
    
         
            +
                                name: 'fileUrl',
         
     | 
| 
      
 91 
     | 
    
         
            +
                                type: 'string',
         
     | 
| 
      
 92 
     | 
    
         
            +
                                default: '',
         
     | 
| 
      
 93 
     | 
    
         
            +
                                required: true,
         
     | 
| 
      
 94 
     | 
    
         
            +
                                displayOptions: {
         
     | 
| 
      
 95 
     | 
    
         
            +
                                    show: {
         
     | 
| 
      
 96 
     | 
    
         
            +
                                        inputMethod: ['url'],
         
     | 
| 
      
 97 
     | 
    
         
            +
                                    },
         
     | 
| 
      
 98 
     | 
    
         
            +
                                },
         
     | 
| 
      
 99 
     | 
    
         
            +
                                description: 'URL of the file to download and upload',
         
     | 
| 
      
 100 
     | 
    
         
            +
                            },
         
     | 
| 
      
 101 
     | 
    
         
            +
                        ],
         
     | 
| 
      
 102 
     | 
    
         
            +
                    };
         
     | 
| 
      
 103 
     | 
    
         
            +
                }
         
     | 
| 
      
 104 
     | 
    
         
            +
                async execute() {
         
     | 
| 
      
 105 
     | 
    
         
            +
                    var _a, _b, _c;
         
     | 
| 
      
 106 
     | 
    
         
            +
                    const items = this.getInputData();
         
     | 
| 
      
 107 
     | 
    
         
            +
                    const returnData = [];
         
     | 
| 
      
 108 
     | 
    
         
            +
                    const generateHashFilename = (extension) => {
         
     | 
| 
      
 109 
     | 
    
         
            +
                        const randomHash = Math.random().toString(36).substring(2, 15) +
         
     | 
| 
      
 110 
     | 
    
         
            +
                            Math.random().toString(36).substring(2, 15);
         
     | 
| 
      
 111 
     | 
    
         
            +
                        return `${randomHash}.${extension}`;
         
     | 
| 
      
 112 
     | 
    
         
            +
                    };
         
     | 
| 
      
 113 
     | 
    
         
            +
                    const getMimeTypeExtension = (mimeType) => {
         
     | 
| 
      
 114 
     | 
    
         
            +
                        const mimeTypeToExtension = {
         
     | 
| 
      
 115 
     | 
    
         
            +
                            'image/jpeg': 'jpg',
         
     | 
| 
      
 116 
     | 
    
         
            +
                            'image/png': 'png',
         
     | 
| 
      
 117 
     | 
    
         
            +
                            'image/webp': 'webp',
         
     | 
| 
      
 118 
     | 
    
         
            +
                            'video/mp4': 'mp4',
         
     | 
| 
      
 119 
     | 
    
         
            +
                            'audio/wav': 'wav',
         
     | 
| 
      
 120 
     | 
    
         
            +
                            'audio/mpeg': 'mp3',
         
     | 
| 
      
 121 
     | 
    
         
            +
                        };
         
     | 
| 
      
 122 
     | 
    
         
            +
                        return mimeTypeToExtension[mimeType] || 'jpg';
         
     | 
| 
      
 123 
     | 
    
         
            +
                    };
         
     | 
| 
      
 124 
     | 
    
         
            +
                    for (let i = 0; i < items.length; i++) {
         
     | 
| 
      
 125 
     | 
    
         
            +
                        try {
         
     | 
| 
      
 126 
     | 
    
         
            +
                            const inputMethod = this.getNodeParameter('inputMethod', i);
         
     | 
| 
      
 127 
     | 
    
         
            +
                            let fileName;
         
     | 
| 
      
 128 
     | 
    
         
            +
                            let fileData;
         
     | 
| 
      
 129 
     | 
    
         
            +
                            let extension = '';
         
     | 
| 
      
 130 
     | 
    
         
            +
                            if (inputMethod === 'binaryFile') {
         
     | 
| 
      
 131 
     | 
    
         
            +
                                const binaryPropertyName = this.getNodeParameter('binaryPropertyName', i);
         
     | 
| 
      
 132 
     | 
    
         
            +
                                if (items[i].binary === undefined) {
         
     | 
| 
      
 133 
     | 
    
         
            +
                                    throw new Error('No binary data exists on item!');
         
     | 
| 
      
 134 
     | 
    
         
            +
                                }
         
     | 
| 
      
 135 
     | 
    
         
            +
                                const binaryData = items[i].binary[binaryPropertyName];
         
     | 
| 
      
 136 
     | 
    
         
            +
                                if (binaryData === undefined) {
         
     | 
| 
      
 137 
     | 
    
         
            +
                                    throw new Error(`No binary data found for field "${binaryPropertyName}"!`);
         
     | 
| 
      
 138 
     | 
    
         
            +
                                }
         
     | 
| 
      
 139 
     | 
    
         
            +
                                if (binaryData.fileName) {
         
     | 
| 
      
 140 
     | 
    
         
            +
                                    extension = ((_a = binaryData.fileName.split('.').pop()) === null || _a === void 0 ? void 0 : _a.toLowerCase()) ||
         
     | 
| 
      
 141 
     | 
    
         
            +
                                        getMimeTypeExtension(binaryData.mimeType);
         
     | 
| 
      
 142 
     | 
    
         
            +
                                }
         
     | 
| 
      
 143 
     | 
    
         
            +
                                else {
         
     | 
| 
      
 144 
     | 
    
         
            +
                                    extension = getMimeTypeExtension(binaryData.mimeType);
         
     | 
| 
      
 145 
     | 
    
         
            +
                                }
         
     | 
| 
      
 146 
     | 
    
         
            +
                                fileName = generateHashFilename(extension);
         
     | 
| 
      
 147 
     | 
    
         
            +
                                fileData = binaryData.data;
         
     | 
| 
      
 148 
     | 
    
         
            +
                            }
         
     | 
| 
      
 149 
     | 
    
         
            +
                            else if (inputMethod === 'url') {
         
     | 
| 
      
 150 
     | 
    
         
            +
                                const fileUrl = this.getNodeParameter('fileUrl', i);
         
     | 
| 
      
 151 
     | 
    
         
            +
                                extension = ((_b = fileUrl.split('.').pop()) === null || _b === void 0 ? void 0 : _b.toLowerCase()) || 'jpg';
         
     | 
| 
      
 152 
     | 
    
         
            +
                                if (extension.includes('?')) {
         
     | 
| 
      
 153 
     | 
    
         
            +
                                    extension = extension.split('?')[0];
         
     | 
| 
      
 154 
     | 
    
         
            +
                                }
         
     | 
| 
      
 155 
     | 
    
         
            +
                                fileName = generateHashFilename(extension);
         
     | 
| 
      
 156 
     | 
    
         
            +
                                const response = await this.helpers.request({
         
     | 
| 
      
 157 
     | 
    
         
            +
                                    method: 'GET',
         
     | 
| 
      
 158 
     | 
    
         
            +
                                    url: fileUrl,
         
     | 
| 
      
 159 
     | 
    
         
            +
                                    encoding: null,
         
     | 
| 
      
 160 
     | 
    
         
            +
                                    resolveWithFullResponse: true,
         
     | 
| 
      
 161 
     | 
    
         
            +
                                });
         
     | 
| 
      
 162 
     | 
    
         
            +
                                if (response.headers['content-type']) {
         
     | 
| 
      
 163 
     | 
    
         
            +
                                    const contentTypeExt = getMimeTypeExtension(response.headers['content-type']);
         
     | 
| 
      
 164 
     | 
    
         
            +
                                    if (contentTypeExt) {
         
     | 
| 
      
 165 
     | 
    
         
            +
                                        fileName = generateHashFilename(contentTypeExt);
         
     | 
| 
      
 166 
     | 
    
         
            +
                                    }
         
     | 
| 
      
 167 
     | 
    
         
            +
                                }
         
     | 
| 
      
 168 
     | 
    
         
            +
                                const buffer = Buffer.from(response.body);
         
     | 
| 
      
 169 
     | 
    
         
            +
                                fileData = buffer.toString('base64');
         
     | 
| 
      
 170 
     | 
    
         
            +
                            }
         
     | 
| 
      
 171 
     | 
    
         
            +
                            else {
         
     | 
| 
      
 172 
     | 
    
         
            +
                                fileName = this.getNodeParameter('fileName', i);
         
     | 
| 
      
 173 
     | 
    
         
            +
                                fileData = this.getNodeParameter('fileData', i);
         
     | 
| 
      
 174 
     | 
    
         
            +
                                extension = ((_c = fileName.split('.').pop()) === null || _c === void 0 ? void 0 : _c.toLowerCase()) || '';
         
     | 
| 
      
 175 
     | 
    
         
            +
                            }
         
     | 
| 
      
 176 
     | 
    
         
            +
                            const supportedExtensions = ['jpg', 'jpeg', 'png', 'webp', 'mp4', 'wav', 'mp3'];
         
     | 
| 
      
 177 
     | 
    
         
            +
                            if (!extension || !supportedExtensions.includes(extension)) {
         
     | 
| 
      
 178 
     | 
    
         
            +
                                throw new Error(`File extension "${extension}" is not supported. Supported extensions: ${supportedExtensions.join(', ')}`);
         
     | 
| 
      
 179 
     | 
    
         
            +
                            }
         
     | 
| 
      
 180 
     | 
    
         
            +
                            const params = {
         
     | 
| 
      
 181 
     | 
    
         
            +
                                file_name: fileName,
         
     | 
| 
      
 182 
     | 
    
         
            +
                                file_data: fileData,
         
     | 
| 
      
 183 
     | 
    
         
            +
                            };
         
     | 
| 
      
 184 
     | 
    
         
            +
                            const credentials = await this.getCredentials('piAPIApi');
         
     | 
| 
      
 185 
     | 
    
         
            +
                            const response = await this.helpers.request({
         
     | 
| 
      
 186 
     | 
    
         
            +
                                method: 'POST',
         
     | 
| 
      
 187 
     | 
    
         
            +
                                url: 'https://upload.theapi.app/api/ephemeral_resource',
         
     | 
| 
      
 188 
     | 
    
         
            +
                                headers: {
         
     | 
| 
      
 189 
     | 
    
         
            +
                                    'Content-Type': 'application/json',
         
     | 
| 
      
 190 
     | 
    
         
            +
                                    'x-api-key': credentials.apiKey,
         
     | 
| 
      
 191 
     | 
    
         
            +
                                },
         
     | 
| 
      
 192 
     | 
    
         
            +
                                body: params,
         
     | 
| 
      
 193 
     | 
    
         
            +
                                json: true,
         
     | 
| 
      
 194 
     | 
    
         
            +
                            });
         
     | 
| 
      
 195 
     | 
    
         
            +
                            returnData.push({
         
     | 
| 
      
 196 
     | 
    
         
            +
                                json: response,
         
     | 
| 
      
 197 
     | 
    
         
            +
                            });
         
     | 
| 
      
 198 
     | 
    
         
            +
                        }
         
     | 
| 
      
 199 
     | 
    
         
            +
                        catch (error) {
         
     | 
| 
      
 200 
     | 
    
         
            +
                            if (this.continueOnFail()) {
         
     | 
| 
      
 201 
     | 
    
         
            +
                                returnData.push({
         
     | 
| 
      
 202 
     | 
    
         
            +
                                    json: {
         
     | 
| 
      
 203 
     | 
    
         
            +
                                        error: error.message,
         
     | 
| 
      
 204 
     | 
    
         
            +
                                    },
         
     | 
| 
      
 205 
     | 
    
         
            +
                                });
         
     | 
| 
      
 206 
     | 
    
         
            +
                                continue;
         
     | 
| 
      
 207 
     | 
    
         
            +
                            }
         
     | 
| 
      
 208 
     | 
    
         
            +
                            throw error;
         
     | 
| 
      
 209 
     | 
    
         
            +
                        }
         
     | 
| 
      
 210 
     | 
    
         
            +
                    }
         
     | 
| 
      
 211 
     | 
    
         
            +
                    return [returnData];
         
     | 
| 
      
 212 
     | 
    
         
            +
                }
         
     | 
| 
      
 213 
     | 
    
         
            +
            }
         
     | 
| 
      
 214 
     | 
    
         
            +
            exports.FileUpload = FileUpload;
         
     | 
| 
      
 215 
     | 
    
         
            +
            //# sourceMappingURL=FileUpload.node.js.map
         
     | 
| 
         @@ -0,0 +1 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            {"version":3,"file":"FileUpload.node.js","sourceRoot":"","sources":["../../../../nodes/PiAPI/FileUpload/FileUpload.node.ts"],"names":[],"mappings":"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"}
         
     | 
| 
         @@ -331,11 +331,12 @@ class FluxTextToImage { 
     | 
|
| 
       331 
331 
     | 
    
         
             
                            }
         
     | 
| 
       332 
332 
     | 
    
         
             
                        }
         
     | 
| 
       333 
333 
     | 
    
         
             
                        let taskType = 'txt2img';
         
     | 
| 
      
 334 
     | 
    
         
            +
                        let includeLora = useLora && loraType !== 'none';
         
     | 
| 
       334 
335 
     | 
    
         
             
                        if (model === 'Qubico/flux1-dev-advanced') {
         
     | 
| 
       335 
336 
     | 
    
         
             
                            if (useControlNet && controlNetType !== 'none') {
         
     | 
| 
       336 
337 
     | 
    
         
             
                                taskType = 'controlnet-lora';
         
     | 
| 
       337 
338 
     | 
    
         
             
                            }
         
     | 
| 
       338 
     | 
    
         
            -
                            else if ( 
     | 
| 
      
 339 
     | 
    
         
            +
                            else if (includeLora) {
         
     | 
| 
       339 
340 
     | 
    
         
             
                                taskType = 'txt2img-lora';
         
     | 
| 
       340 
341 
     | 
    
         
             
                            }
         
     | 
| 
       341 
342 
     | 
    
         
             
                        }
         
     | 
| 
         @@ -344,14 +345,22 @@ class FluxTextToImage { 
     | 
|
| 
       344 
345 
     | 
    
         
             
                            task_type: taskType,
         
     | 
| 
       345 
346 
     | 
    
         
             
                            input: {
         
     | 
| 
       346 
347 
     | 
    
         
             
                                prompt,
         
     | 
| 
       347 
     | 
    
         
            -
                                negative_prompt: negativePrompt,
         
     | 
| 
       348 
     | 
    
         
            -
                                width,
         
     | 
| 
       349 
     | 
    
         
            -
                                height,
         
     | 
| 
       350 
     | 
    
         
            -
                                guidance_scale: guidanceScale,
         
     | 
| 
       351 
     | 
    
         
            -
                                batch_size: batchSize,
         
     | 
| 
       352 
348 
     | 
    
         
             
                            },
         
     | 
| 
       353 
349 
     | 
    
         
             
                        };
         
     | 
| 
       354 
     | 
    
         
            -
                        if ( 
     | 
| 
      
 350 
     | 
    
         
            +
                        if (negativePrompt) {
         
     | 
| 
      
 351 
     | 
    
         
            +
                            body.input.negative_prompt = negativePrompt;
         
     | 
| 
      
 352 
     | 
    
         
            +
                        }
         
     | 
| 
      
 353 
     | 
    
         
            +
                        if (width && height) {
         
     | 
| 
      
 354 
     | 
    
         
            +
                            body.input.width = width;
         
     | 
| 
      
 355 
     | 
    
         
            +
                            body.input.height = height;
         
     | 
| 
      
 356 
     | 
    
         
            +
                        }
         
     | 
| 
      
 357 
     | 
    
         
            +
                        if (guidanceScale) {
         
     | 
| 
      
 358 
     | 
    
         
            +
                            body.input.guidance_scale = guidanceScale;
         
     | 
| 
      
 359 
     | 
    
         
            +
                        }
         
     | 
| 
      
 360 
     | 
    
         
            +
                        if (model === 'Qubico/flux1-schnell' && batchSize > 1) {
         
     | 
| 
      
 361 
     | 
    
         
            +
                            body.input.batch_size = batchSize;
         
     | 
| 
      
 362 
     | 
    
         
            +
                        }
         
     | 
| 
      
 363 
     | 
    
         
            +
                        if (includeLora && loraType !== 'none') {
         
     | 
| 
       355 
364 
     | 
    
         
             
                            body.input.lora_settings = [
         
     | 
| 
       356 
365 
     | 
    
         
             
                                {
         
     | 
| 
       357 
366 
     | 
    
         
             
                                    lora_type: loraType,
         
     | 
| 
         @@ -359,7 +368,10 @@ class FluxTextToImage { 
     | 
|
| 
       359 
368 
     | 
    
         
             
                                },
         
     | 
| 
       360 
369 
     | 
    
         
             
                            ];
         
     | 
| 
       361 
370 
     | 
    
         
             
                        }
         
     | 
| 
       362 
     | 
    
         
            -
                        if ( 
     | 
| 
      
 371 
     | 
    
         
            +
                        else if (taskType === 'controlnet-lora') {
         
     | 
| 
      
 372 
     | 
    
         
            +
                            body.input.lora_settings = [];
         
     | 
| 
      
 373 
     | 
    
         
            +
                        }
         
     | 
| 
      
 374 
     | 
    
         
            +
                        if (useControlNet && controlNetType !== 'none' && controlImageUrl) {
         
     | 
| 
       363 
375 
     | 
    
         
             
                            body.input.control_net_settings = [
         
     | 
| 
       364 
376 
     | 
    
         
             
                                {
         
     | 
| 
       365 
377 
     | 
    
         
             
                                    control_type: controlNetType,
         
     | 
| 
         @@ -1 +1 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            {"version":3,"file":"FluxTextToImage.node.js","sourceRoot":"","sources":["../../../../nodes/PiAPI/Flux/FluxTextToImage.node.ts"],"names":[],"mappings":"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 
     | 
| 
      
 1 
     | 
    
         
            +
            {"version":3,"file":"FluxTextToImage.node.js","sourceRoot":"","sources":["../../../../nodes/PiAPI/Flux/FluxTextToImage.node.ts"],"names":[],"mappings":";;;AAQA,iEAAiF;AACjF,mDAA2F;AAE3F,MAAa,eAAe;IAA5B;QACC,gBAAW,GAAyB;YACnC,WAAW,EAAE,0BAA0B;YACvC,IAAI,EAAE,iBAAiB;YACvB,IAAI,EAAE,mBAAmB;YACzB,KAAK,EAAE,CAAC,WAAW,CAAC;YACpB,OAAO,EAAE,CAAC;YACV,WAAW,EAAE,gDAAgD;YAC7D,QAAQ,EAAE;gBACT,IAAI,EAAE,oBAAoB;aAC1B;YACD,MAAM,EAAE,QAAyB;YACjC,OAAO,EAAE,QAAyB;YAClC,WAAW,EAAE;gBACZ;oBACC,IAAI,EAAE,UAAU;oBAChB,QAAQ,EAAE,IAAI;iBACd;aACD;YACD,UAAU,EAAE;gBACX;oBACC,WAAW,EAAE,OAAO;oBACpB,IAAI,EAAE,OAAO;oBACb,IAAI,EAAE,SAAS;oBACf,OAAO,EAAE;wBACR;4BACC,IAAI,EAAE,YAAY;4BAClB,KAAK,EAAE,kBAAkB;yBACzB;wBACD;4BACC,IAAI,EAAE,gBAAgB;4BACtB,KAAK,EAAE,sBAAsB;yBAC7B;wBACD;4BACC,IAAI,EAAE,qBAAqB;4BAC3B,KAAK,EAAE,2BAA2B;yBAClC;qBACD;oBACD,OAAO,EAAE,kBAAkB;oBAC3B,WAAW,EAAE,uCAAuC;iBACpD;gBACD;oBACC,WAAW,EAAE,QAAQ;oBACrB,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE;wBACZ,IAAI,EAAE,CAAC;qBACP;oBACD,OAAO,EAAE,EAAE;oBACX,QAAQ,EAAE,IAAI;oBACd,WAAW,EAAE,kCAAkC;iBAC/C;gBACD;oBACC,WAAW,EAAE,iBAAiB;oBAC9B,IAAI,EAAE,gBAAgB;oBACtB,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE;wBACZ,IAAI,EAAE,CAAC;qBACP;oBACD,OAAO,EAAE,EAAE;oBACX,WAAW,EAAE,2CAA2C;iBACxD;gBACD;oBACC,WAAW,EAAE,cAAc;oBAC3B,IAAI,EAAE,aAAa;oBACnB,IAAI,EAAE,SAAS;oBACf,OAAO,EAAE,gCAAoB;oBAC7B,OAAO,EAAE,WAAW;oBACpB,WAAW,EAAE,uDAAuD;iBACpE;gBACD;oBACC,WAAW,EAAE,cAAc;oBAC3B,IAAI,EAAE,OAAO;oBACb,IAAI,EAAE,QAAQ;oBACd,cAAc,EAAE;wBACf,IAAI,EAAE;4BACL,WAAW,EAAE,CAAC,QAAQ,CAAC;yBACvB;qBACD;oBACD,OAAO,EAAE,IAAI;oBACb,WAAW,EAAE,qCAAqC;iBAClD;gBACD;oBACC,WAAW,EAAE,eAAe;oBAC5B,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,QAAQ;oBACd,cAAc,EAAE;wBACf,IAAI,EAAE;4BACL,WAAW,EAAE,CAAC,QAAQ,CAAC;yBACvB;qBACD;oBACD,OAAO,EAAE,IAAI;oBACb,WAAW,EAAE,sCAAsC;iBACnD;gBACD;oBACC,WAAW,EAAE,gBAAgB;oBAC7B,IAAI,EAAE,eAAe;oBACrB,IAAI,EAAE,QAAQ;oBACd,OAAO,EAAE,CAAC;oBACV,WAAW,EAAE,2GAA2G;oBACxH,WAAW,EAAE;wBACZ,QAAQ,EAAE,GAAG;wBACb,QAAQ,EAAE,CAAC;qBACX;iBACD;gBACD;oBACC,WAAW,EAAE,YAAY;oBACzB,IAAI,EAAE,WAAW;oBACjB,IAAI,EAAE,QAAQ;oBACd,OAAO,EAAE,CAAC;oBACV,WAAW,EAAE,oEAAoE;oBACjF,WAAW,EAAE;wBACZ,QAAQ,EAAE,CAAC;wBACX,QAAQ,EAAE,CAAC;qBACX;iBACD;gBACD;oBACC,WAAW,EAAE,UAAU;oBACvB,IAAI,EAAE,SAAS;oBACf,IAAI,EAAE,SAAS;oBACf,OAAO,EAAE,KAAK;oBACd,WAAW,EAAE,0FAA0F;oBACvG,cAAc,EAAE;wBACf,IAAI,EAAE;4BACL,KAAK,EAAE,CAAC,2BAA2B,CAAC;yBACpC;qBACD;iBACD;gBACD;oBACC,WAAW,EAAE,WAAW;oBACxB,IAAI,EAAE,UAAU;oBAChB,IAAI,EAAE,SAAS;oBACf,cAAc,EAAE;wBACf,IAAI,EAAE;4BACL,OAAO,EAAE,CAAC,IAAI,CAAC;yBACf;qBACD;oBACD,OAAO,EAAE,wBAAY;oBACrB,OAAO,EAAE,MAAM;oBACf,WAAW,EAAE,4CAA4C;iBACzD;gBACD;oBACC,WAAW,EAAE,eAAe;oBAC5B,IAAI,EAAE,cAAc;oBACpB,IAAI,EAAE,QAAQ;oBACd,cAAc,EAAE;wBACf,IAAI,EAAE;4BACL,OAAO,EAAE,CAAC,IAAI,CAAC;yBACf;qBACD;oBACD,OAAO,EAAE,CAAC;oBACV,WAAW,EAAE,0CAA0C;oBACvD,WAAW,EAAE;wBACZ,QAAQ,EAAE,GAAG;wBACb,QAAQ,EAAE,CAAC;wBACX,eAAe,EAAE,CAAC;qBAClB;iBACD;gBACD;oBACC,WAAW,EAAE,gBAAgB;oBAC7B,IAAI,EAAE,eAAe;oBACrB,IAAI,EAAE,SAAS;oBACf,OAAO,EAAE,KAAK;oBACd,WAAW,EAAE,0FAA0F;oBACvG,cAAc,EAAE;wBACf,IAAI,EAAE;4BACL,KAAK,EAAE,CAAC,2BAA2B,CAAC;yBACpC;qBACD;iBACD;gBACD;oBACC,WAAW,EAAE,iBAAiB;oBAC9B,IAAI,EAAE,gBAAgB;oBACtB,IAAI,EAAE,SAAS;oBACf,cAAc,EAAE;wBACf,IAAI,EAAE;4BACL,aAAa,EAAE,CAAC,IAAI,CAAC;yBACrB;qBACD;oBACD,OAAO,EAAE,4BAAgB;oBACzB,OAAO,EAAE,MAAM;oBACf,WAAW,EAAE,iDAAiD;iBAC9D;gBACD;oBACC,WAAW,EAAE,sBAAsB;oBACnC,IAAI,EAAE,oBAAoB;oBAC1B,IAAI,EAAE,SAAS;oBACf,OAAO,EAAE;wBACR;4BACC,IAAI,EAAE,KAAK;4BACX,KAAK,EAAE,KAAK;yBACZ;wBACD;4BACC,IAAI,EAAE,aAAa;4BACnB,KAAK,EAAE,YAAY;yBACnB;qBACD;oBACD,OAAO,EAAE,KAAK;oBACd,cAAc,EAAE;wBACf,IAAI,EAAE;4BACL,aAAa,EAAE,CAAC,IAAI,CAAC;yBACrB;qBACD;oBACD,WAAW,EAAE,iCAAiC;iBAC9C;gBACD;oBACC,WAAW,EAAE,mBAAmB;oBAChC,IAAI,EAAE,iBAAiB;oBACvB,IAAI,EAAE,QAAQ;oBACd,OAAO,EAAE,EAAE;oBACX,QAAQ,EAAE,IAAI;oBACd,cAAc,EAAE;wBACf,IAAI,EAAE;4BACL,aAAa,EAAE,CAAC,IAAI,CAAC;4BACrB,kBAAkB,EAAE,CAAC,KAAK,CAAC;yBAC3B;qBACD;oBACD,WAAW,EAAE,0BAA0B;iBACvC;gBACD;oBACC,WAAW,EAAE,+BAA+B;oBAC5C,IAAI,EAAE,2BAA2B;oBACjC,IAAI,EAAE,QAAQ;oBACd,OAAO,EAAE,MAAM;oBACf,QAAQ,EAAE,IAAI;oBACd,cAAc,EAAE;wBACf,IAAI,EAAE;4BACL,aAAa,EAAE,CAAC,IAAI,CAAC;4BACrB,kBAAkB,EAAE,CAAC,YAAY,CAAC;yBAClC;qBACD;oBACD,WAAW,EAAE,+DAA+D;iBAC5E;gBACD;oBACC,WAAW,EAAE,kBAAkB;oBAC/B,IAAI,EAAE,iBAAiB;oBACvB,IAAI,EAAE,QAAQ;oBACd,cAAc,EAAE;wBACf,IAAI,EAAE;4BACL,aAAa,EAAE,CAAC,IAAI,CAAC;yBACrB;qBACD;oBACD,OAAO,EAAE,GAAG;oBACZ,WAAW,EAAE,gDAAgD;oBAC7D,WAAW,EAAE;wBACZ,QAAQ,EAAE,GAAG;wBACb,QAAQ,EAAE,CAAC;wBACX,eAAe,EAAE,CAAC;qBAClB;iBACD;gBACD;oBACC,WAAW,EAAE,2BAA2B;oBACxC,IAAI,EAAE,oBAAoB;oBAC1B,IAAI,EAAE,SAAS;oBACf,cAAc,EAAE;wBACf,IAAI,EAAE;4BACL,aAAa,EAAE,CAAC,IAAI,CAAC;yBACrB;qBACD;oBACD,OAAO,EAAE,KAAK;oBACd,WAAW,EAAE,kDAAkD;iBAC/D;gBACD;oBACC,WAAW,EAAE,qBAAqB;oBAClC,IAAI,EAAE,mBAAmB;oBACzB,IAAI,EAAE,SAAS;oBACf,OAAO,EAAE,KAAK;oBACd,WAAW,EAAE,8CAA8C;iBAC3D;aACD;SACD,CAAC;IAgKH,CAAC;IA9JA,KAAK,CAAC,OAAO;;QACZ,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QAClC,MAAM,UAAU,GAAyB,EAAE,CAAC;QAE5C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACvC,MAAM,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC,CAAW,CAAC;YAC1D,MAAM,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,CAAC,CAAW,CAAC;YAC5D,MAAM,cAAc,GAAG,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,EAAE,CAAC,EAAE,EAAE,CAAW,CAAC;YAChF,MAAM,WAAW,GAAG,IAAI,CAAC,gBAAgB,CAAC,aAAa,EAAE,CAAC,CAAW,CAAC;YACtE,MAAM,aAAa,GAAG,IAAI,CAAC,gBAAgB,CAAC,eAAe,EAAE,CAAC,EAAE,CAAC,CAAW,CAAC;YAC7E,MAAM,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC,CAAW,CAAC;YACrE,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,CAAC,EAAE,KAAK,CAAY,CAAC;YACtE,MAAM,QAAQ,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE,CAAC,EAAE,MAAM,CAAW,CAAC,CAAC,CAAC,MAAM,CAAC;YAC3F,MAAM,YAAY,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,cAAc,EAAE,CAAC,EAAE,CAAC,CAAW,CAAC,CAAC,CAAC,CAAC,CAAC;YACzF,MAAM,aAAa,GAAG,IAAI,CAAC,gBAAgB,CAAC,eAAe,EAAE,CAAC,EAAE,KAAK,CAAY,CAAC;YAClF,MAAM,cAAc,GAAG,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,EAAE,CAAC,EAAE,MAAM,CAAW,CAAC,CAAC,CAAC,MAAM,CAAC;YAC7G,MAAM,eAAe,GAAG,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,iBAAiB,EAAE,CAAC,EAAE,GAAG,CAAW,CAAC,CAAC,CAAC,GAAG,CAAC;YACzG,MAAM,kBAAkB,GAAG,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,oBAAoB,EAAE,CAAC,EAAE,KAAK,CAAY,CAAC,CAAC,CAAC,KAAK,CAAC;YACpH,MAAM,iBAAiB,GAAG,IAAI,CAAC,gBAAgB,CAAC,mBAAmB,EAAE,CAAC,EAAE,IAAI,CAAY,CAAC;YAGzF,IAAI,KAAK,GAAG,IAAI,CAAC;YACjB,IAAI,MAAM,GAAG,IAAI,CAAC;YAElB,IAAI,WAAW,KAAK,QAAQ,EAAE,CAAC;gBAC9B,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC,EAAE,IAAI,CAAW,CAAC;gBAC1D,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,CAAC,EAAE,IAAI,CAAW,CAAC;YAC7D,CAAC;iBAAM,IAAI,WAAW,KAAK,eAAe,IAAI,WAAW,KAAK,kBAAkB,IAAI,WAAW,KAAK,iBAAiB,EAAE,CAAC;gBACvH,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBAClD,KAAK,GAAG,CAAC,CAAC;gBACV,MAAM,GAAG,CAAC,CAAC;YACZ,CAAC;YAGD,IAAI,eAAe,GAAG,EAAE,CAAC;YACzB,IAAI,aAAa,IAAI,cAAc,KAAK,MAAM,EAAE,CAAC;gBAChD,MAAM,kBAAkB,GAAG,IAAI,CAAC,gBAAgB,CAAC,oBAAoB,EAAE,CAAC,CAAW,CAAC;gBAEpF,IAAI,kBAAkB,KAAK,KAAK,EAAE,CAAC;oBAClC,eAAe,GAAG,IAAI,CAAC,gBAAgB,CAAC,iBAAiB,EAAE,CAAC,CAAW,CAAC;gBACzE,CAAC;qBAAM,CAAC;oBAEP,MAAM,yBAAyB,GAAG,IAAI,CAAC,gBAAgB,CAAC,2BAA2B,EAAE,CAAC,CAAW,CAAC;oBAClG,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,EAAE,yBAAyB,CAAC,CAAC;oBAE/E,IAAI,UAAU,CAAC,QAAQ,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;wBACpE,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;oBAC7D,CAAC;oBAGD,IAAI,UAAU,CAAC,IAAI,EAAE,CAAC;wBACrB,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;wBAG1D,eAAe,GAAG,QAAQ,UAAU,CAAC,QAAQ,WAAW,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;oBACzF,CAAC;yBAAM,IAAI,UAAU,CAAC,GAAG,EAAE,CAAC;wBAC3B,eAAe,GAAG,UAAU,CAAC,GAAa,CAAC;oBAC5C,CAAC;yBAAM,CAAC;wBACP,MAAM,IAAI,KAAK,CAAC,4DAA4D,CAAC,CAAC;oBAC/E,CAAC;gBACF,CAAC;YACF,CAAC;YAGD,IAAI,QAAQ,GAAG,SAAS,CAAC;YACzB,IAAI,WAAW,GAAG,OAAO,IAAI,QAAQ,KAAK,MAAM,CAAC;YAEjD,IAAI,KAAK,KAAK,2BAA2B,EAAE,CAAC;gBAC3C,IAAI,aAAa,IAAI,cAAc,KAAK,MAAM,EAAE,CAAC;oBAChD,QAAQ,GAAG,iBAAiB,CAAC;gBAG9B,CAAC;qBAAM,IAAI,WAAW,EAAE,CAAC;oBACxB,QAAQ,GAAG,cAAc,CAAC;gBAC3B,CAAC;YACF,CAAC;YAED,MAAM,IAAI,GAAQ;gBACjB,KAAK;gBACL,SAAS,EAAE,QAAQ;gBACnB,KAAK,EAAE;oBACN,MAAM;iBACN;aACD,CAAC;YAGF,IAAI,cAAc,EAAE,CAAC;gBACpB,IAAI,CAAC,KAAK,CAAC,eAAe,GAAG,cAAc,CAAC;YAC7C,CAAC;YAED,IAAI,KAAK,IAAI,MAAM,EAAE,CAAC;gBACrB,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC;gBACzB,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;YAC5B,CAAC;YAED,IAAI,aAAa,EAAE,CAAC;gBACnB,IAAI,CAAC,KAAK,CAAC,cAAc,GAAG,aAAa,CAAC;YAC3C,CAAC;YAGD,IAAI,KAAK,KAAK,sBAAsB,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;gBACvD,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,SAAS,CAAC;YACnC,CAAC;YAGD,IAAI,WAAW,IAAI,QAAQ,KAAK,MAAM,EAAE,CAAC;gBACxC,IAAI,CAAC,KAAK,CAAC,aAAa,GAAG;oBAC1B;wBACC,SAAS,EAAE,QAAQ;wBACnB,aAAa,EAAE,YAAY;qBAC3B;iBACD,CAAC;YACH,CAAC;iBAAM,IAAI,QAAQ,KAAK,iBAAiB,EAAE,CAAC;gBAE3C,IAAI,CAAC,KAAK,CAAC,aAAa,GAAG,EAAE,CAAC;YAC/B,CAAC;YAGD,IAAI,aAAa,IAAI,cAAc,KAAK,MAAM,IAAI,eAAe,EAAE,CAAC;gBACnE,IAAI,CAAC,KAAK,CAAC,oBAAoB,GAAG;oBACjC;wBACC,YAAY,EAAE,cAAc;wBAC5B,aAAa,EAAE,eAAe;wBAC9B,gBAAgB,EAAE,eAAe;wBACjC,yBAAyB,EAAE,kBAAkB;qBAC7C;iBACD,CAAC;YACH,CAAC;YAED,IAAI,CAAC;gBAEJ,MAAM,QAAQ,GAAG,MAAM,+BAAY,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;gBAE7E,IAAI,UAAU,GAAG,QAAQ,CAAC;gBAG1B,IAAI,iBAAiB,KAAI,MAAA,QAAQ,CAAC,IAAI,0CAAE,OAAO,CAAA,EAAE,CAAC;oBACjD,UAAU,GAAG,MAAM,wCAAqB,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBAC5E,CAAC;gBAED,UAAU,CAAC,IAAI,CAAC;oBACf,IAAI,EAAE,UAAU;iBAChB,CAAC,CAAC;YACJ,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBAChB,IAAI,IAAI,CAAC,cAAc,EAAE,EAAE,CAAC;oBAC3B,UAAU,CAAC,IAAI,CAAC;wBACf,IAAI,EAAE;4BACL,KAAK,EAAE,KAAK,CAAC,OAAO;yBACpB;qBACD,CAAC,CAAC;oBACH,SAAS;gBACV,CAAC;gBACD,MAAM,KAAK,CAAC;YACb,CAAC;QACF,CAAC;QAED,OAAO,CAAC,UAAU,CAAC,CAAC;IACrB,CAAC;CACD;AA9aD,0CA8aC"}
         
     |