{
  "id": "Idv3YrtHuN8pEkbi",
  "meta": {
    "templateCredsSetupCompleted": true
  },
  "name": "Repurpose YouTube videos to social media posts with RSS, Dumpling AI, Airtable",
  "tags": [
    {
      "id": "TlcNkmb96fUfZ2eA",
      "name": "Tutorials",
      "createdAt": "2025-04-15T17:02:00.249Z",
      "updatedAt": "2025-04-15T17:02:00.249Z"
    }
  ],
  "nodes": [
    {
      "id": "9f1aae06-32fd-4880-a960-67b322d6ff47",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1900,
        -1100
      ],
      "parameters": {
        "width": 880,
        "height": 800,
        "content": "## \ud83c\udfaf Goal\nRepurpose YouTube videos to social media posts with RSS, Dumpling AI, Airtable\n\n---\n\n## \ud83d\udd04 Workflow Steps\n\n### 1. RSS Trigger\n- Triggers when a new video appears in the YouTube feed.\n\n### 2. Dumpling AI - YouTube Transcript\n- Extracts the transcript from the YouTube video link.\n\n### 3. OpenAI - Generate Social Media Content + Image Prompts\n- Based on the transcript, creates posts for Instagram, Facebook, and LinkedIn.\n- Also generates image prompts for each platform.\n\n### 4. Edit field Node - Structure Fields\n- Extracts and organizes content:\n  - Posts for each platform\n  - Image prompts for each platform\n\n---\n\n## \ud83d\uddbc\ufe0f Image Generation (Dumpling AI)\n- **IG_Image:** Uses Instagram image prompt\n- **Facebook_Image:** Uses Facebook image prompt\n- **LinkedIn_Images:** Uses LinkedIn image prompt\n\n---\n\n## \ud83d\udce5 Save to Airtable (Content)\n- Saves each platform\u2019s post and platform label into Airtable.\n\n## \ud83d\udcce Upload Image to Airtable (Attachment)\n- PATCH requests update the corresponding record in Airtable with the generated image URL for each platform.\n\n---\n\n## \ud83d\udd01 Notes\n- Image prompt and post must match by platform.\n- Make sure the record IDs are tracked correctly to attach images to the right row.\n\n"
      },
      "typeVersion": 1
    },
    {
      "id": "ef41e143-4f0b-4ec1-9725-970b76b86bf6",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -260,
        -1160
      ],
      "parameters": {
        "color": 3,
        "width": 900,
        "height": 680,
        "content": "### \ud83d\uddbc\ufe0f Generate & Upload Platform-Specific Content\n\nEach branch in this section handles one platform (Instagram, Facebook, or LinkedIn). Here's how they work:\n\n1. **AI Image Generation (Dumpling AI)**  \n   - Each branch uses a specific image prompt (from earlier GPT output) to generate a custom AI image using Dumpling AI's `generate-ai-image` endpoint.\n\n2. **Save Content to Airtable**  \n   - Posts generated for each platform are saved in Airtable using their respective nodes (`Instagram`, `Facebook`, `LinkedIn`). Platform labels and post text are included.\n\n3. **Attach Image to Airtable Record**  \n   - Once the image is generated, the matching image URL is patched into the correct Airtable row (as an attachment), keeping content and media organized under one record.\n\n\ud83d\udca1 *All three branches follow the same flow structure, ensuring consistent results across platforms.*\n"
      },
      "typeVersion": 1
    },
    {
      "id": "3c276ae5-2805-4798-bf58-9ba30be10af8",
      "name": "Get YouTube Transcript",
      "type": "n8n-nodes-base.httpRequest",
      "notes": "HTTP REQUEST",
      "position": [
        -900,
        -520
      ],
      "parameters": {
        "url": "https://app.dumplingai.com/api/v1/get-youtube-transcript",
        "method": "POST",
        "options": {},
        "jsonBody": "={\n  \"videoUrl\": \"{{ $json.link }}\", \n  \"includeTimestamps\": \"true\",\n  \"preferredLanguage\": \"en\"\n}",
        "sendBody": true,
        "sendHeaders": true,
        "specifyBody": "json",
        "authentication": "genericCredentialType",
        "genericAuthType": "httpHeaderAuth",
        "headerParameters": {
          "parameters": [
            {
              "name": "Content-Type",
              "value": "application/json"
            }
          ]
        }
      },
      "credentials": {
        "httpHeaderAuth": {
          "name": "<your credential>"
        }
      },
      "notesInFlow": false,
      "typeVersion": 4.2
    },
    {
      "id": "fc352059-0027-4727-9836-0b4ee7761aa4",
      "name": "Generate Social Posts + Image Prompts",
      "type": "@n8n/n8n-nodes-langchain.openAi",
      "position": [
        -680,
        -520
      ],
      "parameters": {
        "modelId": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-4o-mini",
          "cachedResultName": "GPT-4O-MINI"
        },
        "options": {},
        "messages": {
          "values": [
            {
              "role": "system",
              "content": "=You are a content marketer and creative strategist. I will paste the transcript of a YouTube video. Your job is to generate engaging social media content and image generation prompts from it.\n\nHere\u2019s what I need you to do:\n\n1. Read the transcript and identify the core message.\n2. Generate 3 platform-specific social media posts using the core message:\n   - Instagram: short, casual, friendly tone, can include emojis.\n   - Facebook: conversational and storytelling tone, slightly longer.\n   - LinkedIn: professional, insightful, and value-driven.\n3. For each platform, also create an image prompt that could be used to generate a relevant image using an AI image generator.\n   - The image prompt should reflect the post content and message.\n   - Be specific and descriptive enough for an AI to understand what to generate.\n\n\ud83c\udfaf All output must be returned in the following **JSON format**:\n\n```json\n{\n  \"instagram\": {\n    \"post\": \"[Instagram-style caption]\",\n    \"image_prompt\": \"[Image generation prompt for Instagram]\"\n  },\n  \"facebook\": {\n    \"post\": \"[Facebook-style caption]\",\n    \"image_prompt\": \"[Image generation prompt for Facebook]\"\n  },\n  \"linkedin\": {\n    \"post\": \"[LinkedIn-style caption]\",\n    \"image_prompt\": \"[Image generation prompt for LinkedIn]\"\n  }\n}\n\n"
            },
            {
              "content": "=Here is the transcript:{{ $json.transcript }}"
            }
          ]
        },
        "jsonOutput": true
      },
      "credentials": {
        "openAiApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1.8
    },
    {
      "id": "2fd29a20-e47e-4d4b-88c3-92b9fcee53e7",
      "name": "Structure Posts & Prompts by Platform",
      "type": "n8n-nodes-base.set",
      "position": [
        -300,
        -520
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "46d587df-2be4-43f1-a83f-829077d6e926",
              "name": "Instagram",
              "type": "string",
              "value": "={{ $json.message.content.instagram.post }}"
            },
            {
              "id": "b35c63a3-ecd9-4db5-a602-30d657e06f6a",
              "name": "Facebook",
              "type": "string",
              "value": "={{ $json.message.content.facebook.post }}"
            },
            {
              "id": "e10d0a60-0c87-4e46-b4d5-89325a84a923",
              "name": "Linkedin",
              "type": "string",
              "value": "={{ $json.message.content.linkedin.post }}"
            },
            {
              "id": "00900a41-b5a7-47cb-a448-3020e8c711f8",
              "name": "IG Image Prompt",
              "type": "string",
              "value": "={{ $json.message.content.instagram.image_prompt }}"
            },
            {
              "id": "35cf902a-40d0-4484-adeb-808438f42327",
              "name": "Facebook Image prompt",
              "type": "string",
              "value": "={{ $json.message.content.facebook.image_prompt }}"
            },
            {
              "id": "c2377411-8b32-4974-b7cb-c6d2c79f584f",
              "name": "LinkedIn Image prompt",
              "type": "string",
              "value": "={{ $json.message.content.linkedin.image_prompt }}"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "2a911a93-4295-45bd-817d-6ab90a8a9d53",
      "name": "Generate Instagram Image",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        -80,
        -720
      ],
      "parameters": {
        "url": "https://app.dumplingai.com/api/v1/generate-ai-image",
        "method": "POST",
        "options": {},
        "jsonBody": "={\n  \"model\": \"FLUX.1-schnell\",\n  \"input\": {\n    \"prompt\": \"{{ $json['IG Image Prompt'] }}\",\n    \"num_outputs\": 1,\n    \"aspect_ratio\": \"1:1\",\n    \"output_quality\": 80,\n    \"num_inference_steps\": 4,\n    \"disable_safety_checker\": false,\n    \"go_fast\": true,\n    \"megapixels\": \"1\"\n  }\n}\n",
        "sendBody": true,
        "specifyBody": "json",
        "authentication": "genericCredentialType",
        "genericAuthType": "httpHeaderAuth"
      },
      "credentials": {
        "httpHeaderAuth": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "858ffccc-d16d-4706-82db-a8cdc50c814e",
      "name": "Generate Facebook Image",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        -80,
        -520
      ],
      "parameters": {
        "url": "https://app.dumplingai.com/api/v1/generate-ai-image",
        "method": "POST",
        "options": {},
        "jsonBody": "={\n  \"model\": \"FLUX.1-schnell\",\n  \"input\": {\n    \"prompt\": \"{{ $json['Facebook Image prompt'] }}\",\n    \"num_outputs\": 1,\n    \"aspect_ratio\": \"1:1\",\n    \"output_quality\": 80,\n    \"num_inference_steps\": 4,\n    \"disable_safety_checker\": false,\n    \"go_fast\": true,\n    \"megapixels\": \"1\"\n  }\n}\n",
        "sendBody": true,
        "sendHeaders": true,
        "specifyBody": "json",
        "authentication": "genericCredentialType",
        "genericAuthType": "httpHeaderAuth",
        "headerParameters": {
          "parameters": [
            {
              "name": "Content-Type",
              "value": "Authorization"
            }
          ]
        }
      },
      "credentials": {
        "httpHeaderAuth": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "cc8795e2-ceed-4bc1-ab87-2855fbc05001",
      "name": "Generate LinkedIn Image (Dumpling AI)",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        -80,
        -320
      ],
      "parameters": {
        "url": "https://app.dumplingai.com/api/v1/generate-ai-image",
        "method": "POST",
        "options": {},
        "jsonBody": "={\n  \"model\": \"FLUX.1-schnell\",\n  \"input\": {\n    \"prompt\": \"{{ $json['LinkedIn Image prompt'] }}\",\n    \"num_outputs\": 1,\n    \"aspect_ratio\": \"1:1\",\n    \"output_quality\": 80,\n    \"num_inference_steps\": 4,\n    \"disable_safety_checker\": false,\n    \"go_fast\": true,\n    \"megapixels\": \"1\"\n  }\n}\n",
        "sendBody": true,
        "specifyBody": "json",
        "authentication": "genericCredentialType",
        "genericAuthType": "httpHeaderAuth"
      },
      "credentials": {
        "httpHeaderAuth": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "4952fae2-452b-4ef9-91fe-99cc32257f6d",
      "name": "Upload Instagram Image to Airtable",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        360,
        -720
      ],
      "parameters": {
        "url": "=https://api.airtable.com/v0/appPSvSKdA6075xJC/tblmqgjEwgIR6rpUZ/{{ $json.id }}",
        "method": "PATCH",
        "options": {},
        "jsonBody": "={\n  \"fields\": {\n    \"Attachments\": [\n      {\n        \"url\": \"{{ $('Generate Instagram Image').item.json.images[0].url }}\"\n      }\n    ]\n  }\n}\n",
        "sendBody": true,
        "sendHeaders": true,
        "specifyBody": "json",
        "authentication": "genericCredentialType",
        "genericAuthType": "httpHeaderAuth",
        "headerParameters": {
          "parameters": [
            {}
          ]
        }
      },
      "credentials": {
        "httpHeaderAuth": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "f9e19874-d41d-46fd-b5b6-56f38c10ec00",
      "name": "Upload Facebook Image to Airtable",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        360,
        -520
      ],
      "parameters": {
        "url": "=https://api.airtable.com/v0/appPSvSKdA6075xJC/tblmqgjEwgIR6rpUZ/{{ $json.id }}",
        "method": "PATCH",
        "options": {},
        "jsonBody": "={\n  \"fields\": {\n    \"Attachments\": [\n      {\n        \"url\": \"{{ $('Generate Facebook Image').item.json.images[0].url }}\"\n      }\n    ]\n  }\n}\n",
        "sendBody": true,
        "sendHeaders": true,
        "specifyBody": "json",
        "authentication": "genericCredentialType",
        "genericAuthType": "httpHeaderAuth",
        "headerParameters": {
          "parameters": [
            {}
          ]
        }
      },
      "credentials": {
        "httpHeaderAuth": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "d20478e3-cdcb-46da-ad16-6b37e45dfb31",
      "name": "Upload LinkedIn Image to Airtable",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        360,
        -320
      ],
      "parameters": {
        "url": "=https://api.airtable.com/v0/appPSvSKdA6075xJC/tblmqgjEwgIR6rpUZ/{{ $json.id }}",
        "method": "PATCH",
        "options": {},
        "jsonBody": "={\n  \"fields\": {\n    \"Attachments\": [\n      {\n        \"url\": \"{{ $('Generate LinkedIn Image (Dumpling AI)').item.json.images[0].url }}\"\n      }\n    ]\n  }\n}\n\n",
        "sendBody": true,
        "sendHeaders": true,
        "specifyBody": "json",
        "authentication": "genericCredentialType",
        "genericAuthType": "httpHeaderAuth",
        "headerParameters": {
          "parameters": [
            {}
          ]
        }
      },
      "credentials": {
        "httpHeaderAuth": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "56ecd56e-29c2-400b-8d54-b3cf43550fe6",
      "name": "Save Instagram Caption to Airtable",
      "type": "n8n-nodes-base.airtable",
      "position": [
        140,
        -720
      ],
      "parameters": {
        "base": {
          "__rl": true,
          "mode": "list",
          "value": "",
          "cachedResultUrl": "https://airtable.com/appPSvSKdA6075xJC",
          "cachedResultName": "Testing n8n"
        },
        "table": {
          "__rl": true,
          "mode": "list",
          "value": "",
          "cachedResultUrl": "https://airtable.com/appPSvSKdA6075xJC/tblmqgjEwgIR6rpUZ",
          "cachedResultName": "Table 1"
        },
        "columns": {
          "value": {
            "Content": "={{ $('Structure Posts & Prompts by Platform').item.json.Instagram }}",
            "Platform": "Instagram"
          },
          "schema": [
            {
              "id": "ID",
              "type": "string",
              "display": true,
              "removed": true,
              "readOnly": true,
              "required": false,
              "displayName": "ID",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Platform",
              "type": "options",
              "display": true,
              "options": [
                {
                  "name": "Instagram",
                  "value": "Instagram"
                },
                {
                  "name": "Facebook",
                  "value": "Facebook"
                },
                {
                  "name": "Linkdin",
                  "value": "Linkdin"
                }
              ],
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "Platform",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Attachments",
              "type": "array",
              "display": true,
              "removed": true,
              "readOnly": false,
              "required": false,
              "displayName": "Attachments",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Content",
              "type": "string",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "Content",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "create"
      },
      "credentials": {
        "airtableTokenApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 2.1
    },
    {
      "id": "6159ec29-6cd6-42fe-8ed7-b21c1d51052a",
      "name": "Save Facebook Caption to Airtable",
      "type": "n8n-nodes-base.airtable",
      "position": [
        140,
        -520
      ],
      "parameters": {
        "base": {
          "__rl": true,
          "mode": "list",
          "value": "",
          "cachedResultUrl": "https://airtable.com/appPSvSKdA6075xJC",
          "cachedResultName": "Testing n8n"
        },
        "table": {
          "__rl": true,
          "mode": "list",
          "value": "",
          "cachedResultUrl": "https://airtable.com/appPSvSKdA6075xJC/tblmqgjEwgIR6rpUZ",
          "cachedResultName": "Table 1"
        },
        "columns": {
          "value": {
            "Content": "={{ $('Structure Posts & Prompts by Platform').item.json.Facebook }}",
            "Platform": "Facebook"
          },
          "schema": [
            {
              "id": "ID",
              "type": "string",
              "display": true,
              "removed": false,
              "readOnly": true,
              "required": false,
              "displayName": "ID",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Platform",
              "type": "options",
              "display": true,
              "options": [
                {
                  "name": "Instagram",
                  "value": "Instagram"
                },
                {
                  "name": "Facebook",
                  "value": "Facebook"
                },
                {
                  "name": "Linkdin",
                  "value": "Linkdin"
                }
              ],
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "Platform",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Attachments",
              "type": "array",
              "display": true,
              "removed": true,
              "readOnly": false,
              "required": false,
              "displayName": "Attachments",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Content",
              "type": "string",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "Content",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "create"
      },
      "credentials": {
        "airtableTokenApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 2.1
    },
    {
      "id": "ee533597-a43d-42e9-88a2-1516cb23561c",
      "name": "Save LinkedIn Caption to Airtable",
      "type": "n8n-nodes-base.airtable",
      "position": [
        140,
        -320
      ],
      "parameters": {
        "base": {
          "__rl": true,
          "mode": "list",
          "value": "",
          "cachedResultUrl": "https://airtable.com/appPSvSKdA6075xJC",
          "cachedResultName": "Testing n8n"
        },
        "table": {
          "__rl": true,
          "mode": "list",
          "value": "",
          "cachedResultUrl": "https://airtable.com/appPSvSKdA6075xJC/tblmqgjEwgIR6rpUZ",
          "cachedResultName": "Table 1"
        },
        "columns": {
          "value": {
            "Content": "={{ $('Structure Posts & Prompts by Platform').item.json.Linkedin }}",
            "Platform": "Linkdin"
          },
          "schema": [
            {
              "id": "ID",
              "type": "string",
              "display": true,
              "removed": true,
              "readOnly": true,
              "required": false,
              "displayName": "ID",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Platform",
              "type": "options",
              "display": true,
              "options": [
                {
                  "name": "Instagram",
                  "value": "Instagram"
                },
                {
                  "name": "Facebook",
                  "value": "Facebook"
                },
                {
                  "name": "Linkdin",
                  "value": "Linkdin"
                }
              ],
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "Platform",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Attachments",
              "type": "array",
              "display": true,
              "removed": true,
              "readOnly": false,
              "required": false,
              "displayName": "Attachments",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Content",
              "type": "string",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "Content",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "create"
      },
      "credentials": {
        "airtableTokenApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 2.1
    },
    {
      "id": "6b7d7bc3-796a-4da4-a204-a96bae305507",
      "name": "Get YouTube Uploads",
      "type": "n8n-nodes-base.rssFeedReadTrigger",
      "notes": "\n\n",
      "position": [
        -1180,
        -520
      ],
      "parameters": {
        "feedUrl": "https://rss.app/feeds/FmN1GIARUeCC6ELF.xml",
        "pollTimes": {
          "item": [
            {}
          ]
        }
      },
      "notesInFlow": true,
      "typeVersion": 1
    }
  ],
  "active": false,
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "c02e5325-5f0c-42f4-86fc-5ba8b14e2f6d",
  "connections": {
    "Get YouTube Uploads": {
      "main": [
        [
          {
            "node": "Get YouTube Transcript",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get YouTube Transcript": {
      "main": [
        [
          {
            "node": "Generate Social Posts + Image Prompts",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Generate Facebook Image": {
      "main": [
        [
          {
            "node": "Save Facebook Caption to Airtable",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Generate Instagram Image": {
      "main": [
        [
          {
            "node": "Save Instagram Caption to Airtable",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Save Facebook Caption to Airtable": {
      "main": [
        [
          {
            "node": "Upload Facebook Image to Airtable",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Save LinkedIn Caption to Airtable": {
      "main": [
        [
          {
            "node": "Upload LinkedIn Image to Airtable",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Save Instagram Caption to Airtable": {
      "main": [
        [
          {
            "node": "Upload Instagram Image to Airtable",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Upload Instagram Image to Airtable": {
      "main": [
        []
      ]
    },
    "Generate LinkedIn Image (Dumpling AI)": {
      "main": [
        [
          {
            "node": "Save LinkedIn Caption to Airtable",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Generate Social Posts + Image Prompts": {
      "main": [
        [
          {
            "node": "Structure Posts & Prompts by Platform",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Structure Posts & Prompts by Platform": {
      "main": [
        [
          {
            "node": "Generate Facebook Image",
            "type": "main",
            "index": 0
          },
          {
            "node": "Generate Instagram Image",
            "type": "main",
            "index": 0
          },
          {
            "node": "Generate LinkedIn Image (Dumpling AI)",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}