{
  "id": "XOSY8Rhhd8Skyq4A",
  "meta": {
    "templateCredsSetupCompleted": true
  },
  "name": "Seedance Video Marketing AI Agent",
  "tags": [],
  "nodes": [
    {
      "id": "9873c5a6-bc25-4ef6-b91a-46acf340e358",
      "name": "Telegram Trigger",
      "type": "n8n-nodes-base.telegramTrigger",
      "position": [
        -220,
        -20
      ],
      "parameters": {
        "updates": [
          "message"
        ],
        "additionalFields": {}
      },
      "credentials": {
        "telegramApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "bd737817-cf23-4ccd-bcf5-73dbf422bc6b",
      "name": "Trend Research Agent",
      "type": "n8n-nodes-base.perplexity",
      "position": [
        40,
        -20
      ],
      "parameters": {
        "model": "sonar-pro",
        "options": {},
        "messages": {
          "message": [
            {
              "role": "system",
              "content": "You are a trend research assistant for a creative video marketing workflow. Based on the user\u2019s input (typically a request like \u201cCreate a 5-second Instagram video ad for my [product/brand]\u201d), your job is to identify the most relevant and fresh trend (within the past 14 days) that could inspire the marketing angle or visual concept of the video.\n\nYour response will be passed directly into a Video Prompt Generator node, so it should highlight a trend that can be translated visually or conceptually into short-form video content.\n\nRequirements:\n\nSelect only the top, most relevant trend that connects clearly with the user\u2019s topic or product.\n\nBriefly explain why this trend is compelling and how it could be used as a visual or narrative concept for a video ad.\n\nInclude the source URL of the trend for context.\n\nKeep your output concise, visual-oriented, and actionable for marketing. Avoid generic summaries. Prioritize consumer behavior shifts, viral aesthetics, cultural moments, audio trends, or platform-specific effects/styles that could boost engagement on platforms like Instagram or TikTok.\n\nInput Example:\n\"Create a 5-second Instagram ad for my perfume brand\"\n\nExpected Output Format:\n\nTrend Title:\n\nSummary & Video Angle Suggestion:\n\nSource URL:"
            },
            {
              "content": "={{ $json.message.text }}"
            }
          ]
        },
        "requestOptions": {}
      },
      "credentials": {
        "perplexityApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "a5b7bb3f-6f98-4e69-8c78-7b79d7f70e90",
      "name": "Video Prompt Engineer",
      "type": "@n8n/n8n-nodes-langchain.openAi",
      "position": [
        260,
        -20
      ],
      "parameters": {
        "modelId": {
          "__rl": true,
          "mode": "list",
          "value": "chatgpt-4o-latest",
          "cachedResultName": "CHATGPT-4O-LATEST"
        },
        "options": {},
        "messages": {
          "values": [
            {
              "role": "system",
              "content": "You are a creative video prompt generator for short-form ads (e.g., Instagram, TikTok). Based on:\n\nThe user's original brief (e.g., \u201cCreate a 5-second IG ad for my perfume brand\u201d), and\n\nThe top marketing trend insight provided by the previous research node,\n\nYour task is to craft a concise, visually descriptive video generation prompt suitable for input into the Seedance API.\n\n\ud83d\uded1 Do not include any extra explanation, formatting, or commentary. Your entire output must be the exact prompt to pass into the video generator.\n\nThe prompt should:\n\u2013 Be under 100 words\n\u2013 Describe the visual elements, tone, and motion clearly\n\u2013 Reflect the product or brand type, and\n\u2013 Incorporate the marketing trend as the core concept or hook\n\nExample of your expected output format:\n\n\u201cA close-up slow-motion shot of a glass perfume bottle as morning sunlight filters through mist. The background shows soft-focus wildflowers, matching the theme of natural beauty and calm. Overlay text: \u2018Nature\u2019s Elegance. Reinvented.\u2019 Trend-inspired styling based on the \u2018quiet luxury\u2019 aesthetic. For Instagram. 5 seconds.\u201d"
            },
            {
              "content": "={{ $json.choices[0].message.content }}"
            }
          ]
        }
      },
      "credentials": {
        "openAiApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1.8
    },
    {
      "id": "d49f8691-ffdf-4c84-94fd-cdd693dbfb63",
      "name": "Post Request - Wavespeed",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        660,
        -20
      ],
      "parameters": {
        "url": "https://api.wavespeed.ai/api/v3/bytedance/seedance-v1-pro-i2v-1080p",
        "method": "POST",
        "options": {
          "redirect": {
            "redirect": {}
          }
        },
        "sendBody": true,
        "authentication": "genericCredentialType",
        "bodyParameters": {
          "parameters": [
            {
              "name": "duration",
              "value": "5"
            },
            {
              "name": "image"
            },
            {
              "name": "prompt",
              "value": "={{ $json.message.content }}"
            },
            {
              "name": "seed",
              "value": "-1"
            }
          ]
        },
        "genericAuthType": "httpHeaderAuth"
      },
      "credentials": {
        "httpHeaderAuth": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "d20ba170-503e-428e-ac65-ce5c1db14e2f",
      "name": "Send a text message",
      "type": "n8n-nodes-base.telegram",
      "position": [
        1580,
        0
      ],
      "parameters": {
        "text": "={{ $json.data.outputs[0] }}",
        "chatId": "={{ $('Telegram Trigger').item.json.message.chat.id }}",
        "additionalFields": {}
      },
      "credentials": {
        "telegramApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "6f2b44a3-46aa-45d7-b406-c73947590e85",
      "name": "If",
      "type": "n8n-nodes-base.if",
      "position": [
        1300,
        -20
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "9a0179e2-465e-467a-b750-19c592649d3b",
              "operator": {
                "name": "filter.operator.equals",
                "type": "string",
                "operation": "equals"
              },
              "leftValue": "={{ $json.data.status }}",
              "rightValue": "processing"
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "d7bef3fb-4ba4-4e4d-bb3d-176ddb58b388",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -300,
        -200
      ],
      "parameters": {
        "width": 260,
        "height": 700,
        "content": "Telegram Trigger"
      },
      "typeVersion": 1
    },
    {
      "id": "c35ab443-c196-4ee0-a099-ef7ee643b3ec",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -20,
        -200
      ],
      "parameters": {
        "color": 3,
        "height": 700,
        "content": "Perplexity Research Agent"
      },
      "typeVersion": 1
    },
    {
      "id": "795c7d84-ea3e-48fb-aaa5-3d451c4e3fbc",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        240,
        -200
      ],
      "parameters": {
        "color": 7,
        "width": 300,
        "height": 700,
        "content": "Video Prompt Agent"
      },
      "typeVersion": 1
    },
    {
      "id": "fbba76df-bb6c-4919-a9f9-7436c50cf4aa",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        560,
        -200
      ],
      "parameters": {
        "color": 2,
        "width": 300,
        "height": 700,
        "content": "POST Request to Wavespeed"
      },
      "typeVersion": 1
    },
    {
      "id": "a7cc248b-41e1-46a9-bfff-c7344c00db32",
      "name": "Sticky Note4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        880,
        -200
      ],
      "parameters": {
        "color": 5,
        "width": 640,
        "height": 700,
        "content": "GET Request Loop"
      },
      "typeVersion": 1
    },
    {
      "id": "30be802e-dc8b-4aa7-8b23-df35d79045cc",
      "name": "Sticky Note5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1540,
        -200
      ],
      "parameters": {
        "color": 4,
        "width": 280,
        "height": 700,
        "content": "Telegram Output"
      },
      "typeVersion": 1
    },
    {
      "id": "46f3ed38-da33-432a-b0bc-eb43bada238e",
      "name": "Sticky Note6",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1000,
        -200
      ],
      "parameters": {
        "color": 5,
        "width": 680,
        "height": 1080,
        "content": "\ud83c\udfac Seedance Video Marketing AI Agent\nDescription:\nThis AI-powered marketing automation workflow takes a user prompt, researches trending topics, generates a compelling short-form video prompt, and sends it to the Seedance API via Wavespeed to create a ready-to-use video ad \u2014 all from a single Telegram message.\n\nBuilt for marketers, founders, and content creators who want to turn trend-based ideas into visual video content without touching a video editor.\n\nFor the step-by-step video tutorial guide on how to build this workflow, check out:\nhttps://youtu.be/2oZ5NhosKgo\n\n\ud83e\udd16 How It Works:\n\ud83d\udcf2 Telegram Trigger\n\u2003Kick off the workflow by messaging a short prompt (e.g., \u201cCreate a 5-second IG ad for my new perfume\u201d) via Telegram.\n\n\ud83d\udcc8 Trend Research with Perplexity AI (Sonar Pro)\n\u2003An AI agent scans the latest 14-day trends and selects the top marketing angle based on the product/niche input.\n\n\ud83e\udde0 Video Prompt Engineer (ChatGPT-4o)\n\u2003Crafts a concise, visually rich video generation prompt \u2014 optimized for Seedance \u2014 based on the trend insight and product.\n\n\ud83c\udfa5 Video Generation (Wavespeed + Seedance API)\n\u2003Sends the AI-generated prompt to Seedance via Wavespeed to generate a 5-second short-form video ad.\n\n\ud83d\udd01 Status Loop & Response\n\u2003The workflow checks if the video is ready. Once complete, it sends the final video output URL back to you in Telegram.\n\n\ud83d\udd27 Tools Used:\nTelegram Trigger & Response\n\nPerplexity AI (Sonar Pro)\n\nOpenAI GPT-4o\n\nSeedance API (via Wavespeed)\n\nn8n HTTP Request, Wait, and Loop nodes\n\n\ud83d\udca1 Use Cases:\nAuto-generate TikTok/Instagram ads from current trends\n\nScale creative content generation with zero design work\n\nPlug into your marketing chatbot or campaign assistant\n\nUse trends as visual inspiration for ad creatives\n\nIf you like the build, check out my channel and consider subscribing: https://www.youtube.com/@Automatewithmarc\n"
      },
      "typeVersion": 1
    },
    {
      "id": "f44abb18-7587-49e4-bd09-318f1b7c2fb6",
      "name": "Wait 30 sec",
      "type": "n8n-nodes-base.wait",
      "position": [
        1340,
        260
      ],
      "parameters": {
        "amount": 30
      },
      "typeVersion": 1.1
    },
    {
      "id": "ff8a3b0d-d16b-4e58-9b97-8918f15c9459",
      "name": "Wait 30 Sec",
      "type": "n8n-nodes-base.wait",
      "position": [
        920,
        -20
      ],
      "parameters": {
        "amount": 30
      },
      "typeVersion": 1.1
    },
    {
      "id": "fa5c0002-ec3b-4a09-90b8-3347c31d8a2d",
      "name": "GET Request Wavespeed",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        1100,
        -20
      ],
      "parameters": {
        "url": "=https://api.wavespeed.ai/api/v3/predictions/{{ $json.data.id }}/result",
        "options": {
          "redirect": {
            "redirect": {}
          }
        },
        "authentication": "genericCredentialType",
        "genericAuthType": "httpHeaderAuth"
      },
      "credentials": {
        "httpHeaderAuth": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 4.2
    }
  ],
  "active": false,
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "32d65c6d-a906-400e-9191-e1a130129688",
  "connections": {
    "If": {
      "main": [
        [
          {
            "node": "Wait 30 sec",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Send a text message",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Wait 30 Sec": {
      "main": [
        [
          {
            "node": "GET Request Wavespeed",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Wait 30 sec": {
      "main": [
        [
          {
            "node": "GET Request Wavespeed",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Telegram Trigger": {
      "main": [
        [
          {
            "node": "Trend Research Agent",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Trend Research Agent": {
      "main": [
        [
          {
            "node": "Video Prompt Engineer",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "GET Request Wavespeed": {
      "main": [
        [
          {
            "node": "If",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Video Prompt Engineer": {
      "main": [
        [
          {
            "node": "Post Request - Wavespeed",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Post Request - Wavespeed": {
      "main": [
        [
          {
            "node": "Wait 30 Sec",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}