{
  "id": "do1L9CqbuXctQa2p",
  "meta": {
    "templateCredsSetupCompleted": true
  },
  "name": "Create UGC video with Gemini and Google Veo 3 & Upload to Instagram",
  "tags": [],
  "nodes": [
    {
      "id": "6fdbd728-25ac-4250-b3cd-4dac65626800",
      "name": "When clicking \u2018Execute workflow\u2019",
      "type": "n8n-nodes-base.manualTrigger",
      "position": [
        -384,
        0
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "3f0de1b4-8049-4d75-9261-3089ac6badef",
      "name": "Analyze image",
      "type": "@n8n/n8n-nodes-langchain.googleGemini",
      "position": [
        64,
        0
      ],
      "parameters": {
        "modelId": {
          "__rl": true,
          "mode": "list",
          "value": "models/gemini-2.5-pro",
          "cachedResultName": "models/gemini-2.5-pro"
        },
        "options": {},
        "resource": "image",
        "imageUrls": "={{ $json.image_url }}",
        "operation": "analyze"
      },
      "credentials": {
        "googlePalmApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "c48ffb11-8364-4cd1-b08b-99c5f1be4467",
      "name": "Merge",
      "type": "n8n-nodes-base.merge",
      "position": [
        1520,
        0
      ],
      "parameters": {
        "mode": "combine",
        "options": {},
        "combineBy": "combineAll"
      },
      "typeVersion": 3.2
    },
    {
      "id": "c136c427-848c-46f0-b73b-baa3770e89fd",
      "name": "Upload Video to Postiz",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        1168,
        -64
      ],
      "parameters": {
        "url": "https://api.postiz.com/public/v1/upload",
        "method": "POST",
        "options": {},
        "sendBody": true,
        "contentType": "multipart-form-data",
        "authentication": "genericCredentialType",
        "bodyParameters": {
          "parameters": [
            {
              "name": "file",
              "parameterType": "formBinaryData",
              "inputDataFieldName": "data"
            }
          ]
        },
        "genericAuthType": "httpHeaderAuth"
      },
      "credentials": {
        "httpHeaderAuth": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "4aac7e3e-07b3-4ce1-9cd3-5cd7cb4a0ce7",
      "name": "Instagram",
      "type": "n8n-nodes-postiz.postiz",
      "position": [
        1776,
        0
      ],
      "parameters": {
        "date": "={{ $now.format('yyyy-LL-dd') }}T{{ $now.format('HH:ii:ss') }}",
        "type": "schedule",
        "posts": {
          "post": [
            {
              "value": {
                "contentItem": [
                  {
                    "image": {
                      "imageItem": [
                        {
                          "id": "={{ $json.id }}",
                          "path": "={{ $json.path }}"
                        }
                      ]
                    },
                    "content": "={{ $json.caption }}"
                  }
                ]
              },
              "settings": {
                "setting": [
                  {
                    "key": "post_type",
                    "stringValue": "post"
                  }
                ]
              },
              "integrationId": "XXXXXXX"
            }
          ]
        },
        "shortLink": true
      },
      "credentials": {
        "postizApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "755a7866-a9dd-4656-81ce-2df79c3de207",
      "name": "Set image",
      "type": "n8n-nodes-base.set",
      "position": [
        -160,
        0
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "7c1cd08f-845c-4e81-8a15-fe8ed4f1c8eb",
              "name": "image_url",
              "type": "string",
              "value": "https://n3wstorage.b-cdn.net/n3witalia/image_ugc.png"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "75b7b9cd-15cf-4b46-81e0-cad8c3c14ff4",
      "name": "Generate UGC Video",
      "type": "@n8n/n8n-nodes-langchain.googleGemini",
      "position": [
        800,
        -176
      ],
      "parameters": {
        "prompt": "={{ $json.content.parts[0].text }}.\nProduct Image: {{ $('Set image').item.json.image_url }}",
        "modelId": {
          "__rl": true,
          "mode": "list",
          "value": "models/veo-3.0-generate-preview",
          "cachedResultName": "models/veo-3.0-generate-preview"
        },
        "options": {
          "aspectRatio": "16:9"
        },
        "resource": "video"
      },
      "credentials": {
        "googlePalmApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "a7822306-1f3f-41b3-a145-2ed118d05a3c",
      "name": "Social Media Manager",
      "type": "@n8n/n8n-nodes-langchain.googleGemini",
      "position": [
        768,
        160
      ],
      "parameters": {
        "modelId": {
          "__rl": true,
          "mode": "list",
          "value": "models/gemini-2.5-pro",
          "cachedResultName": "models/gemini-2.5-pro"
        },
        "options": {
          "systemMessage": "=You are an expert social media manager. When provided with a scene description, you must write compelling copy for an Instagram advertising video. Write only the copy without any preambles or introductory text."
        },
        "messages": {
          "values": [
            {
              "content": "={{ $json.content.parts[0].text }}"
            }
          ]
        }
      },
      "credentials": {
        "googlePalmApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "05b83ebe-d8cf-412d-8637-4902b3d54821",
      "name": "Creative director",
      "type": "@n8n/n8n-nodes-langchain.googleGemini",
      "position": [
        336,
        0
      ],
      "parameters": {
        "modelId": {
          "__rl": true,
          "mode": "list",
          "value": "models/gemini-2.5-pro",
          "cachedResultName": "models/gemini-2.5-pro"
        },
        "options": {
          "systemMessage": "=You are an expert advertising video creator. When given a product image description, you must write a detailed prompt describing how to create an 8-second commercial spot using that image. Your response should include the setting, people involved, and specific actions that take place. Focus solely on describing the visual scene without any introductory text or explanations."
        },
        "messages": {
          "values": [
            {
              "content": "=Image description: {{ $json.content.parts[0].text }}"
            }
          ]
        }
      },
      "credentials": {
        "googlePalmApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "29dc4ab9-f37a-4800-8304-1868bf3ab5ca",
      "name": "Set caption",
      "type": "n8n-nodes-base.set",
      "position": [
        1200,
        160
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "308eed8b-5893-4663-b5ea-c6203b2eebd6",
              "name": "caption",
              "type": "string",
              "value": "={{ $json.content.parts[0].text }}"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "c5a6ed15-9973-4511-ab19-4456beba928a",
      "name": "Upload video",
      "type": "n8n-nodes-base.googleDrive",
      "position": [
        1168,
        -320
      ],
      "parameters": {
        "name": "={{$now.format('yyyyLLdd')}}-{{ $json.fileName }}",
        "driveId": {
          "__rl": true,
          "mode": "list",
          "value": "My Drive"
        },
        "options": {},
        "folderId": {
          "__rl": true,
          "mode": "list",
          "value": "1U_5X1tYUZ7NYp9BMQB11z7J-pFMTW8HX",
          "cachedResultUrl": "https://drive.google.com/drive/folders/1U_5X1tYUZ7NYp9BMQB11z7J-pFMTW8HX",
          "cachedResultName": "Video ads"
        }
      },
      "credentials": {
        "googleDriveOAuth2Api": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 3
    },
    {
      "id": "04b3492e-ee42-4d00-b436-e49a819ea227",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -400,
        -432
      ],
      "parameters": {
        "color": 3,
        "width": 736,
        "height": 176,
        "content": "## Automate UGC video creation with Gemini and Google Veo 3 & upload to Instagram\n\nThis workflow automates the **creation and publishing of UGC (User-Generated Content) videos** using **Google Gemini** and **Google Veo 3**, then uploads them directly to **Instagram** with [Postiz](https://postiz.com/?ref=n3witalia)\n"
      },
      "typeVersion": 1
    },
    {
      "id": "a6291bf3-29aa-4820-b14d-64842a192cf5",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -400,
        -224
      ],
      "parameters": {
        "width": 736,
        "height": 192,
        "content": "## STEP \n- In the \"Set image\" node, replace the default `image_url` value with yours\n- Create a FREE account on [Postiz](https://postiz.com/?ref=n3witalia)\n- Install \"Postiz\" node\n- Set Header Auth in the node \"Upload Video to Postiz\"\n- In **\"Postiz\"** node, set your `Channel ID`.\n- Execute Workflow"
      },
      "typeVersion": 1
    }
  ],
  "active": false,
  "settings": {
    "timezone": "Europe/Rome",
    "callerPolicy": "workflowsFromSameOwner",
    "executionOrder": "v1"
  },
  "versionId": "e0d183cd-15cb-4a44-af6a-6bec82399bba",
  "connections": {
    "Merge": {
      "main": [
        [
          {
            "node": "Instagram",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Instagram": {
      "main": [
        []
      ]
    },
    "Set image": {
      "main": [
        [
          {
            "node": "Analyze image",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Set caption": {
      "main": [
        [
          {
            "node": "Merge",
            "type": "main",
            "index": 1
          }
        ]
      ]
    },
    "Analyze image": {
      "main": [
        [
          {
            "node": "Creative director",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Creative director": {
      "main": [
        [
          {
            "node": "Generate UGC Video",
            "type": "main",
            "index": 0
          },
          {
            "node": "Social Media Manager",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Generate UGC Video": {
      "main": [
        [
          {
            "node": "Upload video",
            "type": "main",
            "index": 0
          },
          {
            "node": "Upload Video to Postiz",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Social Media Manager": {
      "main": [
        [
          {
            "node": "Set caption",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Upload Video to Postiz": {
      "main": [
        [
          {
            "node": "Merge",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "When clicking \u2018Execute workflow\u2019": {
      "main": [
        [
          {
            "node": "Set image",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}