{
  "name": "R38 Improved",
  "nodes": [
    {
      "parameters": {
        "resource": "image",
        "operation": "analyze",
        "modelId": {
          "__rl": true,
          "value": "chatgpt-4o-latest",
          "mode": "list",
          "cachedResultName": "CHATGPT-4O-LATEST"
        },
        "text": "Return the analysis in YAML format with the following fields:\n\nbrand_name: (Name of the brand shown in the image, if visible or inferable)\ncolor_scheme:\n  - hex: (Hex code of each prominent color used)\n    name: (Descriptive name of the color)\nfont_style: (Describe the font family or style used: serif/sans-serif, bold/thin, etc.)\nvisual_description: (A full sentence or two summarizing what is seen in the image, ignoring the background)\n\nOnly return the YAML. Do not explain or add any other comments.\n",
        "imageUrls": "={{ $json.data.downloadUrl }}",
        "simplify": false,
        "options": {}
      },
      "type": "@n8n/n8n-nodes-langchain.openAi",
      "typeVersion": 1.8,
      "position": [
        -656,
        272
      ],
      "id": "5b0db44e-64be-41a0-b799-88b640583136",
      "name": "Analyze Image",
      "credentials": {
        "openAiApi": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "content": "## INPUT: Any Product",
        "height": 272,
        "width": 720,
        "color": 7
      },
      "type": "n8n-nodes-base.stickyNote",
      "typeVersion": 1,
      "position": [
        -1216,
        192
      ],
      "id": "8b186a50-0414-4d59-b279-7674405ae234",
      "name": "Sticky Note2"
    },
    {
      "parameters": {
        "formTitle": "Create Ads",
        "formFields": {
          "values": [
            {
              "fieldLabel": "Character",
              "fieldType": "textarea",
              "placeholder": "Describe your character..."
            },
            {
              "fieldLabel": "How many clips",
              "fieldType": "number",
              "placeholder": "1",
              "requiredField": true
            },
            {
              "fieldLabel": "Describe the scenes you want",
              "fieldType": "textarea",
              "placeholder": "I want the dialogue to be...",
              "requiredField": true
            },
            {
              "fieldLabel": "Product image",
              "fieldType": "file",
              "multipleFiles": false
            }
          ]
        },
        "options": {
          "appendAttribution": false
        }
      },
      "type": "n8n-nodes-base.formTrigger",
      "typeVersion": 2.3,
      "position": [
        -1168,
        272
      ],
      "id": "0327658c-0fbf-47e9-9c34-ace726075e06",
      "name": "Form"
    },
    {
      "parameters": {
        "method": "POST",
        "url": "https://kieai.redpandaai.co/api/file-base64-upload",
        "authentication": "genericCredentialType",
        "genericAuthType": "httpHeaderAuth",
        "sendBody": true,
        "bodyParameters": {
          "parameters": [
            {
              "name": "base64Data",
              "value": "={{ $json.data }}"
            },
            {
              "name": "uploadPath",
              "value": "documents/uploads"
            },
            {
              "name": "fileName",
              "value": "={{ $now }}.jpg"
            }
          ]
        },
        "options": {
          "batching": {
            "batch": {
              "batchSize": 1,
              "batchInterval": 2000
            }
          }
        }
      },
      "id": "3e316a19-7ddd-4473-bf2c-2d63c4dca659",
      "name": "Image URL",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        -832,
        272
      ],
      "typeVersion": 4,
      "credentials": {
        "httpHeaderAuth": {
          "name": "<your credential>"
        }
      },
      "onError": "continueRegularOutput"
    },
    {
      "parameters": {
        "operation": "binaryToPropery",
        "binaryPropertyName": "Product_image",
        "options": {}
      },
      "type": "n8n-nodes-base.extractFromFile",
      "typeVersion": 1,
      "position": [
        -1008,
        272
      ],
      "id": "8bb52680-ccf5-417d-994d-855045d00b49",
      "name": "Load Image",
      "alwaysOutputData": true,
      "onError": "continueRegularOutput"
    },
    {
      "parameters": {
        "aggregate": "aggregateAllItemData",
        "options": {}
      },
      "type": "n8n-nodes-base.aggregate",
      "typeVersion": 1,
      "position": [
        -240,
        544
      ],
      "id": "fa732a5a-22b5-4cf1-87bf-28ffa20ee631",
      "name": "Aggregate"
    },
    {
      "parameters": {
        "assignments": {
          "assignments": [
            {
              "id": "15886c9d-073b-4983-97d8-061a38fd7f60",
              "name": "Scene",
              "value": "={{ $json.prompt }}",
              "type": "string"
            },
            {
              "id": "7793db14-777e-4bc9-bb4d-434026d45f27",
              "name": "duration",
              "value": "={{ $json.duration }}",
              "type": "number"
            }
          ]
        },
        "options": {}
      },
      "type": "n8n-nodes-base.set",
      "typeVersion": 3.4,
      "position": [
        240,
        112
      ],
      "id": "3f35edcf-95d9-4615-a29a-1391bd9a6764",
      "name": "Edit Fields2"
    },
    {
      "parameters": {
        "assignments": {
          "assignments": [
            {
              "id": "9cadb48a-82bd-4b0b-9eec-2b805024ca59",
              "name": "data",
              "value": "={{ $json.data }}",
              "type": "string"
            }
          ]
        },
        "options": {}
      },
      "type": "n8n-nodes-base.set",
      "typeVersion": 3.4,
      "position": [
        -64,
        544
      ],
      "id": "e2895240-fd47-41cf-8a62-a7547c8ec2fa",
      "name": "Edit Fields3"
    },
    {
      "parameters": {
        "fieldsToSummarize": {
          "values": [
            {
              "aggregation": "sum",
              "field": "duration"
            }
          ]
        },
        "options": {}
      },
      "type": "n8n-nodes-base.summarize",
      "typeVersion": 1.1,
      "position": [
        448,
        112
      ],
      "id": "90900cbb-9ed8-46e0-8e8c-e19c6f938431",
      "name": "Summarize"
    },
    {
      "parameters": {
        "conditions": {
          "options": {
            "caseSensitive": true,
            "leftValue": "",
            "typeValidation": "strict",
            "version": 2
          },
          "conditions": [
            {
              "id": "1349cb6a-6e77-400b-9936-9ede41274345",
              "leftValue": "={{ $json.sum_duration }}",
              "rightValue": 25,
              "operator": {
                "type": "number",
                "operation": "gt"
              }
            }
          ],
          "combinator": "and"
        },
        "options": {}
      },
      "type": "n8n-nodes-base.if",
      "typeVersion": 2.2,
      "position": [
        672,
        112
      ],
      "id": "679203cf-9844-4040-af16-3de688fa23bd",
      "name": "If"
    },
    {
      "parameters": {
        "errorMessage": "total duration must be one of 10, 15, 25"
      },
      "type": "n8n-nodes-base.stopAndError",
      "typeVersion": 1,
      "position": [
        864,
        -80
      ],
      "id": "29cef3ba-57b8-4605-9566-c0d9b707a71b",
      "name": "Stop and Error2"
    },
    {
      "parameters": {},
      "type": "@n8n/n8n-nodes-langchain.toolCalculator",
      "typeVersion": 1,
      "position": [
        -432,
        -80
      ],
      "id": "83194ab0-f9b3-4c38-92e7-2019335fac44",
      "name": "Calculator"
    },
    {
      "parameters": {
        "jsCode": "const editFields2Data = $(\"Edit Fields2\")\n  .all()\n  .map((item) => item.json);\nreturn editFields2Data;\n"
      },
      "type": "n8n-nodes-base.code",
      "typeVersion": 2,
      "position": [
        -400,
        544
      ],
      "id": "d75f3492-2e4d-4c2a-919c-70c241b03319",
      "name": "Code in JavaScript"
    },
    {
      "parameters": {
        "unit": "minutes"
      },
      "type": "n8n-nodes-base.wait",
      "typeVersion": 1.1,
      "position": [
        320,
        544
      ],
      "id": "d6e8def5-3cbf-4a0e-bdf6-78e373be4121",
      "name": "Wait1"
    },
    {
      "parameters": {
        "rules": {
          "values": [
            {
              "conditions": {
                "options": {
                  "caseSensitive": true,
                  "leftValue": "",
                  "typeValidation": "strict",
                  "version": 2
                },
                "conditions": [
                  {
                    "id": "a96f17f2-5967-4b13-acc9-4d41f226453b",
                    "leftValue": "={{ $json.data.state }}",
                    "rightValue": "=success",
                    "operator": {
                      "type": "string",
                      "operation": "equals",
                      "name": "filter.operator.equals"
                    }
                  }
                ],
                "combinator": "and"
              },
              "renameOutput": true,
              "outputKey": "success"
            },
            {
              "conditions": {
                "options": {
                  "caseSensitive": true,
                  "leftValue": "",
                  "typeValidation": "strict",
                  "version": 2
                },
                "conditions": [
                  {
                    "id": "52ad92ea-901f-4af8-a462-84b045dd2803",
                    "leftValue": "={{ $json.data.state }}",
                    "rightValue": "ing",
                    "operator": {
                      "type": "string",
                      "operation": "contains"
                    }
                  }
                ],
                "combinator": "and"
              },
              "renameOutput": true,
              "outputKey": "in progress"
            }
          ]
        },
        "options": {
          "fallbackOutput": "extra"
        }
      },
      "type": "n8n-nodes-base.switch",
      "typeVersion": 3.2,
      "position": [
        720,
        528
      ],
      "id": "c0084aba-84a2-4ae7-bc94-a3828cdf1f82",
      "name": "Switch1"
    },
    {
      "parameters": {
        "model": {
          "__rl": true,
          "value": "gpt-4.1-mini",
          "mode": "list",
          "cachedResultName": "gpt-4.1-mini"
        },
        "options": {}
      },
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "typeVersion": 1.2,
      "position": [
        -320,
        -80
      ],
      "id": "c54699a9-a935-42b8-ac16-2fafcb87a90d",
      "name": "GPT1",
      "credentials": {
        "openAiApi": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {},
      "type": "@n8n/n8n-nodes-langchain.toolThink",
      "typeVersion": 1,
      "position": [
        -96,
        -80
      ],
      "id": "69457c19-7345-41e8-97f1-a3341280ffc2",
      "name": "Think1"
    },
    {
      "parameters": {
        "jsonSchemaExample": "{\n  \"scenes\": [\n    {\n      \"shot\": 1,\n      \"duration\": 7,\n      \"prompt\": \"@debtfree_journey. Handheld medium shot of a man in his mid-30s with short dark hair and a navy t-shirt, sitting at a kitchen table scattered with bills, holding a pen over a credit card statement, natural window light from the left creating soft shadows. Character says: 'I used to lose sleep every night worrying about my debt.'\"\n    },\n    {\n      \"shot\": 2,\n      \"duration\": 4,\n      \"prompt\": \"Slow pan across a stack of credit card bills with 'PAST DUE' stamps visible, no visible personal data, blurred account numbers, resting on a dark wood surface with dramatic side lighting. Character is not visible. Voiceover says: 'The interest charges kept piling up.'\"\n    },\n    {\n      \"shot\": 3,\n      \"duration\": 6,\n      \"prompt\": \"Static close-up of the same character looking directly at camera with a relieved expression, holding the Americor welcome packet, bright even lighting, clean background. Character says: 'Americor helped me consolidate everything into one manageable payment.'\"\n    },\n    {\n      \"shot\": 4,\n      \"duration\": 8,\n      \"prompt\": \"Slow push-in on the Americor mobile app dashboard showing decreasing debt graph and payment timeline, displayed on smartphone screen, soft desk lamp lighting, modern minimalist background. Character is not visible. Voiceover says: 'Now I'm finally on track to becoming debt-free within three years.'\"\n    }\n  ]\n}"
      },
      "type": "@n8n/n8n-nodes-langchain.outputParserStructured",
      "typeVersion": 1.2,
      "position": [
        -208,
        -80
      ],
      "id": "3c052a8f-37ba-4fe9-b9ed-c5e404a78872",
      "name": "Structure1"
    },
    {
      "parameters": {
        "promptType": "define",
        "text": "=Number of clips: {{ $('Form').item.json['How many clips'] }}\n\nCharacter: {{ $('Form').item.json.Character }}\n\nDescription of scenes: {{ $('Form').item.json['Describe the scenes you want'] }}\n\nProduct description: {{ $json.choices[0].message.content }}\n\nAlways use the Think tool.\n",
        "hasOutputParser": true,
        "options": {
          "systemMessage": "=## ROLE & PURPOSE\nYou are a Sora2 video prompt writer for n8n automation. Convert shot lists into natural-language narrative prompts for UGC-style video generation. Generate complete video sequences with multiple shots that total approximately 25 seconds.\n\n## CORE RULES\n\n### Processing Logic\n- Generate one scene object for each shot in the input\n- Maintain character consistency across all UGC shots\n- Calculate individual durations so total \u2248 25 seconds\n\n### DURATION REQUIREMENT:\n- The total sum of all scene durations MUST equal exactly 25 seconds\n- Distribute the 25 seconds appropriately across all scenes\n- USE A CALCULATOR to verify the total duration adds up to exactly 25 before finalizing output\n- Example: 4 scenes could be 7+5+6+7=25 or 6+6+6+7=25\n\nThe agent must intelligently assign duration to each shot based on:\n- Shot type (UGC vs B-roll)\n- Line length and complexity\n- Shot position in sequence\n\n**Duration guidelines**:\n- **UGC shots** (character speaking on camera):\n  - Short line (5-10 words): 3-5 seconds\n  - Medium line (11-20 words): 6-8 seconds\n  - Long line (21+ words): 9-12 seconds\n  \n- **B-roll shots** (voiceover + product/environment):\n  - Quick cutaway: 2-4 seconds\n  - Standard B-roll: 5-7 seconds\n  - Extended product showcase: 8-10 seconds\n\n- **First shot** (shot_number: 1): Typically 6-8 seconds (establishes character)\n- **Final shot**: Typically 5-7 seconds (concluding statement)\n\n**Important**: Calculate duration that makes sense for the line length and shot type. The duration must be an integer (whole number of seconds).\n\n### UGC vs B-Roll Logic\n- **UGC shots**: Character is on camera speaking the line directly\n  - Use: `Character says: \"<line>\".`\n  - Character must be visible and looking at camera\n  \n- **B-roll shots**: Product or environment shown, line is voiceover\n  - Use: `Voiceover says: \"<line>\".`\n  - Character is NOT visible\n\n### Character Consistency\n- **Shot 1**: Must be UGC. Agent must generate a full character description:\n  - Gender presentation (man, woman, person)\n  - Approximate age range (e.g., \"early 20s\", \"mid-30s\", \"late 40s\")\n  - Body type (if relevant: \"athletic build\", \"medium build\")\n  - Hairstyle and hair color (e.g., \"shoulder-length brown hair\", \"short gray hair\")\n  - Clothing style (e.g., \"casual gray sweater\", \"professional blazer\")\n  - Product interaction (held, worn, pointed at)\n  - Indoor environment (kitchen table, living room sofa, home office desk)\n  - Lighting palette (soft window light, warm lamp, bright even lighting)\n\n- **All subsequent shots**: Refer to character only as `\"the same character\"`\n  - Do NOT re-describe appearance\n  - Maintain consistency with shot 1\n  - Example: `\"Medium shot of the same character...\"`\n\n### Prompt Requirements\nEach prompt must include **exactly one** of each:\n1. **Camera framing** (close-up, medium, wide, over-shoulder, etc.)\n2. **Camera motion** (handheld sway, slow push-in, static, pan, tilt, etc.)\n3. **Visible action** (holding product, gesturing, placing item, pointing, etc.)\n\n### Natural Language Format\n- Write as one continuous narrative description\n- No structured blocks or metadata tags\n- Natural, production-ready language\n- Include lighting, environment, and character/product positioning\n\n## OUTPUT SCHEMA\n\n**Output only a JSON object with a scenes array:**\n\n```json\n{\n  \"scenes\": [\n    {\n      \"shot\": 1,\n      \"duration\": 7,\n      \"prompt\": \"Natural language narrative prompt goes here...\"\n    },\n    {\n      \"shot\": 2,\n      \"duration\": 4,\n      \"prompt\": \"Another natural language narrative prompt...\"\n    }\n  ]\n}\n```\n\n**Field descriptions**:\n- `scenes`: Array of shot objects (length determined by input)\n- `shot`: Integer sequence number (1, 2, 3...)\n- `duration`: Integer (seconds) - calculated by agent based on shot type and line length\n- `prompt`: Natural language narrative description\n\n## PROMPT CONSTRUCTION FORMULA\n\n### For UGC Shots (shot_type: \"ugc\")\n```\n[Character] [Camera motion] [camera framing] of [character reference] [action with product], [environment details], [lighting description]. Character says: \"[line]\".\n```\n\n**Example**:\n```\nHandheld close-up of a woman in her late 20s with shoulder-length brown hair wearing a casual gray sweater, holding the Americor debt relief brochure at chest height, seated at a kitchen table with soft morning window light. Character says: \"I was drowning in credit card bills and didn't know where to turn.\"\n```\n\n### For B-Roll Shots (shot_type: \"broll\")\n```\n[Camera motion] [camera framing] of [product/environment], [setting details], [lighting description]. Character is not visible. Voiceover says: \"[line]\".\n```\n\n**Example**:\n```\nSlow push-in toward the Americor mobile app interface displayed on a smartphone resting on a wooden desk, warm afternoon sunlight, shallow depth of field. Character is not visible. Voiceover says: \"That's when I discovered Americor's debt consolidation program.\"\n```\n\n## CHARACTER REFERENCE LOGIC\n\n**If shot_number == 1:**\n- Agent must generate a realistic, detailed character description\n- This establishes the character for the entire video\n- Include all elements: age, gender, hair, clothing, environment, lighting\n\n**If shot_number > 1 AND shot_type == \"ugc\":**\n- Use only: `\"the same character\"`\n- Example: `\"Medium shot of the same character seated comfortably, holding the product...\"`\n\n**If shot_type == \"broll\":**\n- Character reference: `\"Character is not visible\"`\n\n\n## TOOLS\n- **Think Tool**: Use before generating to plan the narrative structure\n\nABSOLUTELY CRITICAL - DOUBLE QUOTE PROHIBITION:\n- NEVER use the \" character (double quote) anywhere in your response\n- ALWAYS use ' (single quote) for all quotations, dialogue, and emphasis\n- Example: Character says: 'I am speaking' NOT \"I am speaking\"\n\n## FINAL INSTRUCTIONS\n- Output ONLY the JSON object with a `scenes` array\n- Number of scenes in array must equal the `shots` input parameter\n- No additional commentary, explanations, or prose\n- **Calculate appropriate duration** for each shot based on line length and shot type\n- Ensure each prompt reads as one natural sentence or short paragraph\n- Validate required fields for each shot: `shot`, `duration`, `prompt`\n- `duration` must be an integer (whole number of seconds)"
        }
      },
      "type": "@n8n/n8n-nodes-langchain.agent",
      "typeVersion": 1.9,
      "position": [
        -352,
        112
      ],
      "id": "1c5e6e31-0b9f-474f-9bb8-006ed99a6d78",
      "name": "promptRobo AIAgent1"
    },
    {
      "parameters": {
        "method": "POST",
        "url": "https://api.kie.ai/api/v1/jobs/createTask",
        "authentication": "genericCredentialType",
        "genericAuthType": "httpHeaderAuth",
        "sendBody": true,
        "contentType": "raw",
        "rawContentType": "application/json",
        "body": "={\n    \"model\": \"sora-2-pro-storyboard\",\n    \"input\": {\n      \"n_frames\": \"25\",\n      \"aspect_ratio\": \"portrait\",\n      \"shots\": {{ $json.data }}\n    }\n}",
        "options": {
          "batching": {
            "batch": {
              "batchSize": 1
            }
          }
        }
      },
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 4.2,
      "position": [
        128,
        544
      ],
      "id": "8cfa2f5a-beda-40b7-b863-5ab9bb759e98",
      "name": "Create Sora",
      "credentials": {
        "httpHeaderAuth": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "url": "=https://api.kie.ai/api/v1/jobs/recordInfo?taskId={{ $('Create Sora').item.json.data.taskId }}",
        "authentication": "genericCredentialType",
        "genericAuthType": "httpHeaderAuth",
        "options": {}
      },
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 4.2,
      "position": [
        512,
        544
      ],
      "id": "225a71b3-77c5-4ce2-a0b5-e7194436472b",
      "name": "Get Sora",
      "alwaysOutputData": false,
      "retryOnFail": false,
      "waitBetweenTries": 5000,
      "executeOnce": false,
      "credentials": {
        "httpHeaderAuth": {
          "name": "<your credential>"
        }
      },
      "onError": "continueRegularOutput"
    },
    {
      "parameters": {
        "url": "={{ JSON.parse($json.data.resultJson).resultUrls[0] }}\n",
        "options": {}
      },
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 4.2,
      "position": [
        944,
        384
      ],
      "id": "a7bce756-1a64-4486-b777-d7c927534444",
      "name": "Load Video1"
    },
    {
      "parameters": {
        "errorMessage": "={{ $('Get Sora').item.json.data.failMsg }}"
      },
      "type": "n8n-nodes-base.stopAndError",
      "typeVersion": 1,
      "position": [
        960,
        672
      ],
      "id": "a193a16a-a2dd-46f2-9e4d-56165b2a43ca",
      "name": "Stop and Error1"
    },
    {
      "parameters": {
        "fieldToSplitOut": "output.scenes",
        "options": {}
      },
      "type": "n8n-nodes-base.splitOut",
      "typeVersion": 1,
      "position": [
        32,
        112
      ],
      "id": "8e689a39-f36f-4912-97b8-be8e6a78dd7e",
      "name": "Split Out1"
    },
    {
      "parameters": {
        "content": "## Scene Generation\n",
        "height": 512,
        "width": 1552,
        "color": 4
      },
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -464,
        -208
      ],
      "typeVersion": 1,
      "id": "a56bdea9-e3f4-47f0-9899-84480d62ec61",
      "name": "Sticky Note"
    },
    {
      "parameters": {
        "content": "## Video Generation",
        "height": 512,
        "width": 1568
      },
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -464,
        336
      ],
      "typeVersion": 1,
      "id": "35a2e5c3-f1e6-463f-acf3-dcb1086b4e9b",
      "name": "Sticky Note1"
    }
  ],
  "connections": {
    "Analyze Image": {
      "main": [
        [
          {
            "node": "promptRobo AIAgent1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Form": {
      "main": [
        [
          {
            "node": "Load Image",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Load Image": {
      "main": [
        [
          {
            "node": "Image URL",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Image URL": {
      "main": [
        [
          {
            "node": "Analyze Image",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Aggregate": {
      "main": [
        [
          {
            "node": "Edit Fields3",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Edit Fields2": {
      "main": [
        [
          {
            "node": "Summarize",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Edit Fields3": {
      "main": [
        [
          {
            "node": "Create Sora",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Summarize": {
      "main": [
        [
          {
            "node": "If",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "If": {
      "main": [
        [
          {
            "node": "Stop and Error2",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Code in JavaScript",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Calculator": {
      "ai_tool": [
        [
          {
            "node": "promptRobo AIAgent1",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Code in JavaScript": {
      "main": [
        [
          {
            "node": "Aggregate",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Wait1": {
      "main": [
        [
          {
            "node": "Get Sora",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Switch1": {
      "main": [
        [
          {
            "node": "Load Video1",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Wait1",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Stop and Error1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "GPT1": {
      "ai_languageModel": [
        [
          {
            "node": "promptRobo AIAgent1",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Think1": {
      "ai_tool": [
        [
          {
            "node": "promptRobo AIAgent1",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Structure1": {
      "ai_outputParser": [
        [
          {
            "node": "promptRobo AIAgent1",
            "type": "ai_outputParser",
            "index": 0
          }
        ]
      ]
    },
    "promptRobo AIAgent1": {
      "main": [
        [
          {
            "node": "Split Out1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Create Sora": {
      "main": [
        [
          {
            "node": "Wait1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get Sora": {
      "main": [
        [
          {
            "node": "Switch1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Split Out1": {
      "main": [
        [
          {
            "node": "Edit Fields2",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  },
  "active": false,
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "bd041e17-2a35-4a0e-8d6c-c5315919d204",
  "meta": {
    "templateCredsSetupCompleted": true
  },
  "id": "JijAejqFUje7rHma",
  "tags": []
}