This workflow corresponds to n8n.io template #10364 — we link there as the canonical source.
This workflow follows the Agent → Form Trigger recipe pattern — see all workflows that pair these two integrations.
The workflow JSON
Copy or download the full n8n JSON below. Paste it into a new n8n workflow, add your credentials, activate. Full import guide →
{
"id": "D9rKsoixwvTlzsOu",
"meta": {
"templateCredsSetupCompleted": true
},
"name": "Aarna verse - AI influencer",
"tags": [],
"nodes": [
{
"id": "0d5f984d-2d2d-49a7-b3dc-a6c0fab79277",
"name": "On form submission",
"type": "n8n-nodes-base.formTrigger",
"position": [
-352,
192
],
"parameters": {
"options": {},
"formTitle": "Creative Brief",
"formFields": {
"values": [
{
"fieldType": "file",
"fieldLabel": "Character Image",
"multipleFiles": false,
"requiredField": true
},
{
"fieldType": "file",
"fieldLabel": "Setting image",
"multipleFiles": false
},
{
"fieldType": "file",
"fieldLabel": "Item Image",
"multipleFiles": false
},
{
"fieldType": "dropdown",
"fieldLabel": "How many images?",
"fieldOptions": {
"values": [
{
"option": "1"
},
{
"option": "2"
},
{
"option": "3"
},
{
"option": "4"
},
{
"option": "5"
},
{
"option": "6"
},
{
"option": "7"
},
{
"option": "8"
},
{
"option": "9"
},
{
"option": "10"
}
]
},
"requiredField": true
},
{
"fieldType": "dropdown",
"fieldLabel": "How many Videos?",
"fieldOptions": {
"values": [
{
"option": "1"
},
{
"option": "2"
},
{
"option": "3"
},
{
"option": "4"
},
{
"option": "5"
},
{
"option": "6"
},
{
"option": "7"
},
{
"option": "8"
},
{
"option": "9"
},
{
"option": "10"
}
]
},
"requiredField": true
},
{
"fieldLabel": "Creative Direction",
"placeholder": "You can also provide a script here",
"requiredField": true
},
{
"fieldType": "radio",
"fieldLabel": "Aspect Ratio",
"fieldOptions": {
"values": [
{
"option": "9:16"
},
{
"option": "16:9"
}
]
},
"requiredField": true
}
]
}
},
"typeVersion": 2.3
},
{
"id": "38f0f8ed-b21b-4d8b-9af3-5896e90efda1",
"name": "Think",
"type": "@n8n/n8n-nodes-langchain.toolThink",
"position": [
864,
496
],
"parameters": {},
"typeVersion": 1.1
},
{
"id": "6e5e5810-9cc2-4c56-95f2-38c4bc319d36",
"name": "Structured Output Parser",
"type": "@n8n/n8n-nodes-langchain.outputParserStructured",
"position": [
992,
496
],
"parameters": {
"schemaType": "manual",
"inputSchema": "{\n \"posts\": {\n \"post_1\": {\n \"title\": \"Boardroom Glow\",\n \"caption\": \"Meetings done, mindset on \u2728 #businessfashion #AarnaVerse\",\n \"post_type\": \"image\",\n \"image_prompt\": \"Have the character standing in a modern glass office, confidently adjusting her beige blazer while holding a tablet.\\nsubject: elegant Indian businesswoman exuding calm authority\\nsetting: contemporary office with warm afternoon light filtering through glass walls\\nobject: slim laptop and tablet placed on polished table\\naction: adjusting blazer with one hand, subtle smile toward camera, posture upright and powerful\\nlighting: golden-hour daylight softened by the office glass\\npost_style: cinematic fashion-business editorial realism with warm tones\",\n \"video_prompt\": \"Have the character walking slowly through the same office, stopping near a desk and speaking directly to the camera.\\nsubject: confident Indian woman entrepreneur\\nsetting: sun-lit workspace with minimalist decor\\naction: smooth walk, subtle hand gestures, natural smile\\nlighting: professional daylight with soft diffusion\\nvoice: natural Indian English, calm and assured, saying: \u201cDon\u2019t just show up to work \u2014 show up for yourself. Confidence is the real power suit.\u201d\\nmusic: soft ambient corporate instrumental\"\n },\n\n \"post_2\": {\n \"title\": \"Weekend Edit\",\n \"caption\": \"Style isn\u2019t off-duty \ud83d\ude0e #fashioninspo #AarnaVerse\",\n \"post_type\": \"image\",\n \"image_prompt\": \"Have the character sitting on a caf\u00e9 patio, wearing a trendy pastel co-ord set with gold hoops and sunglasses.\\nsubject: chic Indian fashion influencer, relaxed yet polished\\nsetting: open-air urban caf\u00e9 with greenery and sunlight\\nobject: iced latte on table, laptop and fashion notebook beside her\\naction: leaning slightly forward, sipping coffee with confident expression\\nlighting: natural daylight with soft shadow play\\npost_style: lifestyle editorial photography with high-fashion edge\",\n \"video_prompt\": \"Have the character turning toward the camera at the same caf\u00e9, speaking with a friendly tone while adjusting her sunglasses.\\nsubject: stylish Indian woman with modern glam energy\\nsetting: outdoor caf\u00e9 corner with warm sunlight\\naction: expressive gestures, smile, adjusting sunglasses\\nlighting: golden natural light\\nvoice: warm, casual Indian English saying: \u201cMy weekends look like inspiration with caffeine \u2014 what fuels yours?\u201d\\nmusic: upbeat, minimal fashion beat\"\n }\n }\n}"
},
"typeVersion": 1.3
},
{
"id": "59e2a610-e132-48ae-b8a3-5ac56f620384",
"name": "Sticky Note",
"type": "n8n-nodes-base.stickyNote",
"position": [
-224,
-80
],
"parameters": {
"color": 4,
"width": 672,
"height": 704,
"content": "## STEP 1: Upload or link your content assets\n### Users attach files or URLs. We convert them to Base64 so the AI can use them.\n### Flow: Extract files \u2192 Merge \u2192 Upload to storage.\n"
},
"typeVersion": 1
},
{
"id": "8323bdda-0e1e-41da-9b8b-0f6df739d00b",
"name": "Sticky Note1",
"type": "n8n-nodes-base.stickyNote",
"position": [
464,
-64
],
"parameters": {
"color": 5,
"width": 880,
"height": 704,
"content": "## STEP 2: LLM analyzes your brand tone and assets to create captions and visuals.\n### Change tone prompt in \ud83e\udd16 Generate Post Ideas.\n### Flow: Aggregate inputs \u2192 LLM \u2192 Structured JSON \u2192 Split per post.\n"
},
"typeVersion": 1
},
{
"id": "47c91aa2-6d92-483c-aa84-dcb92bc312f3",
"name": "Sticky Note2",
"type": "n8n-nodes-base.stickyNote",
"position": [
1384,
-272
],
"parameters": {
"color": 2,
"width": 848,
"height": 704,
"content": "## STEP 3: Generate & save assets\n### We create images/videos and write everything to Google Sheets.\n### Modify Sheet ID in \ud83d\udcca Append to Sheet (uses SHEET_ID)."
},
"typeVersion": 1
},
{
"id": "0323149d-3def-4cb6-8ee6-ae59ee4a5a04",
"name": "Merge Inputs",
"type": "n8n-nodes-base.merge",
"position": [
64,
256
],
"parameters": {
"numberInputs": 3
},
"typeVersion": 3.2
},
{
"id": "6aeb3b75-73f9-4877-bdef-c59522893080",
"name": "Generate Post Ideas",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
792,
272
],
"parameters": {
"text": "=Give an image and video prompt for the posts below.\n\nUse the Think tool to review your output.\n\nNumber of image posts needed:\n{{ $('On form submission').item.json['How many images?'] }}\n\nNumber of video posts needed:\n{{ $('On form submission').item.json['How many Videos?'] }}\n\nAspect ratio:\n{{ $('On form submission').item.json['Aspect Ratio'] }}\n\nCREATIVE DIRECTION:\n{{ $('On form submission').item.json['Creative Direction'] }}\n*** \n\nIMAGE REFERENCES:\n\nThe following image references are provided. Note that if the URL is present, it means the image reference exists.\nIf you can, please surmise what the image contains based on the URL details so that your prompt adheres to it.\n\ncharacter_image {{ $('On form submission').item.json['Character Image'].filename }}\nsetting_image {{ $('On form submission').item.json['Setting image'] }}\nitem_image {{ $('On form submission').item.json['Item Image'] }}\n\n***\n\nCHARACTER BRIEF:\n\nName: Aarna Verse\nAge: 24\nNationality: Indian\nAarna Verse is an AI-born fashion and business influencer \u2014 a modern Indian woman who blends style, ambition, and intelligence. She represents a new generation of digital entrepreneurs who balance creative confidence with strategic thinking. Her content moves between business chic, fashion-forward looks, and moments of real-life relatability that feel spontaneous yet intentional.\n\nPersonality\nElegant, confident, curious, and approachable \u2014 she\u2019s inspiring but not distant. Aarna speaks like a calm, stylish mentor who knows how to mix creativity with discipline. She radiates ambition, warmth, and composure.\n\nVoice Style & Accent\nWarm, articulate, and aspirational with a modern Indian English accent. She speaks clearly and confidently, using polished but conversational phrasing. Her captions are short, intentional, and stylish \u2014 mixing lifestyle, mindset, and business insight naturally.\n\nVisual Identity\nWarm brown skin tone, softly curled shoulder-length hair, subtle glam makeup, and expressive eyes. Her photos radiate calm confidence with cinematic natural lighting and clean compositions.\n\nShe\u2019s not confined to neutrals \u2014 her wardrobe balances business powerwear with expressive fashion statements.\n\t\u2022\tBusiness looks include tailored blazers, silk camisoles, wide-leg trousers, pencil skirts and statement watches.\n\t\u2022\tFashion content includes oversized blazers, denim, trench coats, bold accessories, and elevated streetwear.\n\t\u2022\tEvent looks feature draped satin dresses, sculpted silhouettes, and metallic accents.\n\t\u2022\tCultural fusion outfits include modern Indian silhouettes like structured jackets or saree pants.\n\t\u2022\tCasual moments include crisp shirts, minimal gold jewelry, and luxury sneakers.\nEvery outfit feels purposeful \u2014 she dresses to lead, not just to impress.\n\nLighting & Photography\nCinematic and realistic. Balanced daylight, soft reflections, and warm studio tones. Composition is clean but full of life and motion.\n\nExample Phrases\n\u201cSmart is the new sexy.\u201d\n\u201cYou can be soft and still build empires.\u201d\n\u201cAI isn\u2019t replacing you \u2014 it\u2019s upgrading you.\u201d\n\u201cStyle is strategy \u2014 every outfit tells your story.\u201d\n\nTarget Audience\nYoung professionals and entrepreneurs, especially women in business, tech, and creative industries who want to look good, think sharp, and build confidently in the AI era.",
"options": {
"systemMessage": "=system_prompt: |\n ## SYSTEM PROMPT: Unified Prompt Generator for Aarna Verse \u2014 AI Fashion & Business Influencer Posts \ud83d\udc69\ud83c\udffd\u200d\ud83d\udcbb\ud83d\udc57\n\n A \u2013 Ask:\n Generate detailed prompts for a series of image and video posts based on a creative brief centered around Aarna Verse \u2014 an AI fashion and business influencer representing modern Indian elegance and ambition.\n Return a single JSON object with a \"posts\" key containing one object per post. Each object must include a title, caption, post_type, image_prompt, and video_prompt.\n\n G \u2013 Guidance:\n role: content prompt engineer specializing in influencer multimedia posts for AI-generated digital personalities\n output_count: Equal to total number of image and video posts requested by the user\n character_limit: None\n constraints:\n - Output must be a structured JSON object with a single top-level key: \"posts\"\n - Each post under \"posts\" must include:\n - `title`: Max 3 words, stylized and catchy\n - `caption`: Natural, conversational tone (no quotes), must include 1 emoji and 2 hashtags\n - `post_type`: Either \"image\" or \"video\"\n - `image_prompt`: Always present (even for video posts)\n - `video_prompt`: Always present; if post_type = \"image\", use \"not applicable\"\n - Follow the character brief and creative direction to ensure consistency in:\n - Aesthetic style\n - Tone of caption\n - Energy of title\n - Use reference images (character_image, setting_image, item_image) when available\n - Never mention filenames or URLs in the output\n - Never use the character's name; refer to her as \"the character in the image\"\n - Do not change outfit or setting when a specific reference is given\n\n \u25c6 image_prompt (always required, even for videos):\n - Begin with: \n \"Have the character [in the given setting image, if provided], [[verb] with the item if provided].\"\n - subject: Based on Aarna Verse\u2019s character brief \u2014 confident, elegant Indian woman blending business and fashion\n - setting: Derived from setting_image or creative direction (e.g. studio, caf\u00e9, office, runway)\n - object: Based on item_image or described accessory (e.g. phone, laptop, coffee cup, bag)\n - action: Describe confident and purposeful motion (posing, adjusting blazer, walking, gesturing)\n - lighting: Natural daylight, golden hour, or professional studio-lit scenes\n - post_style: Cinematic fashion-business editorial realism with warm tones and modern composition\n\n \u25c6 video_prompt (always required):\n - subject: From character_image or Aarna Verse brief\n - setting: From setting_image or creative direction\n - action: Smooth expressive gestures, adjusting hair, walking, glancing toward camera, typing, holding coffee\n - lighting: Warm daylight or soft studio light matching the image aesthetic\n - dialogue: If Creative Direction specifies, include short confident human-style dialogue; if not, use \"no dialogue\"\n - music: Use \u201cambient fashion beat\u201d if requested; otherwise, \u201cno music\u201d\n - voice: If dialogue is present, voice should sound natural, warm, Indian-accented English (confident and friendly)\n - Style reference: \u201cCinematic editorial vlog energy \u2014 calm but aspirational\u201d\n\n For all prompts, follow the **Aarna Verse Character Brief** to guide tone, movement, and overall aesthetic:\n - Modern Indian elegance and professionalism\n - Blends fashion editorial energy with CEO mindset\n - Confident, composed, and visually premium\n - Outfits vary: from structured businesswear to chic modern fashion\n - Always maintain realism and human presence \u2014 never overly robotic or \u201cAI-like\u201d\n\n E \u2013 Examples:\n good_examples:\n - {\n \"posts\": {\n \"post_1\": {\n \"title\": \"Boardroom Glow\",\n \"caption\": \"Meetings done, mindset on \u2728 #businessfashion #AarnaVerse\",\n \"post_type\": \"image\",\n \"image_prompt\": \"Have the character standing in a modern glass office, confidently adjusting her beige blazer while holding a tablet.\\nsubject: elegant Indian businesswoman exuding calm authority\\nsetting: contemporary office with warm afternoon light filtering through glass walls\\nobject: slim laptop and tablet placed on polished table\\naction: adjusting blazer with one hand, subtle smile toward camera, posture upright and powerful\\nlighting: golden-hour daylight softened by the office glass\\npost_style: cinematic fashion-business editorial realism with warm tones\",\n \"video_prompt\": \"Have the character walking slowly through the same office, stopping near a desk and speaking directly to the camera.\\nsubject: confident Indian woman entrepreneur\\nsetting: sun-lit workspace with minimalist decor\\naction: smooth walk, subtle hand gestures, natural smile\\nlighting: professional daylight with soft diffusion\\nvoice: natural Indian English, calm and assured, saying: \u201cDon\u2019t just show up to work \u2014 show up for yourself. Confidence is the real power suit.\u201d\\nmusic: soft ambient corporate instrumental\"\n },\n\n \"post_2\": {\n \"title\": \"Weekend Edit\",\n \"caption\": \"Style isn\u2019t off-duty \ud83d\ude0e #fashioninspo #AarnaVerse\",\n \"post_type\": \"image\",\n \"image_prompt\": \"Have the character sitting on a caf\u00e9 patio, wearing a trendy pastel co-ord set with gold hoops and sunglasses.\\nsubject: chic Indian fashion influencer, relaxed yet polished\\nsetting: open-air urban caf\u00e9 with greenery and sunlight\\nobject: iced latte on table, laptop and fashion notebook beside her\\naction: leaning slightly forward, sipping coffee with confident expression\\nlighting: natural daylight with soft shadow play\\npost_style: lifestyle editorial photography with high-fashion edge\",\n \"video_prompt\": \"Have the character turning toward the camera at the same caf\u00e9, speaking with a friendly tone while adjusting her sunglasses.\\nsubject: stylish Indian woman with modern glam energy\\nsetting: outdoor caf\u00e9 corner with warm sunlight\\naction: expressive gestures, smile, adjusting sunglasses\\nlighting: golden natural light\\nvoice: warm, casual Indian English saying: \u201cMy weekends look like inspiration with caffeine \u2014 what fuels yours?\u201d\\nmusic: upbeat, minimal fashion beat\"\n }\n }\n }\n\n bad_examples:\n - {\n \"posts\": {\n \"post_1\": {\n \"title\": \"AI Girl Look\",\n \"caption\": \"Outfit pic \ud83d\ude1c #random #aiinfluencer\",\n \"post_type\": \"image\",\n \"image_prompt\": \"The AI girl is standing somewhere wearing something cool.\\nsubject: undefined\\nsetting: unclear\\nobject: none\\naction: random pose\\nlighting: overexposed\\npost_style: generic influencer style\",\n \"video_prompt\": \"The AI girl says something about fashion. It\u2019s just a normal AI voice.\\nsubject: generic female\\nsetting: undefined\\naction: waving at camera\\nlighting: poor\\nvoice: robotic tone saying random text\\nmusic: loud EDM beat\"\n }\n }\n }\nI \u2013 Tools:\n - Think Tool: \n Use this to reflect on how Aarna Verse\u2019s character, setting, creative direction, and user intent combine to create consistent, high-quality prompts for both image and video posts. \n Apply deep reasoning especially when reference images are missing, unclear, or when outfit, lighting, or background details need to stay true to her brand identity \u2014 professional, aspirational, and fashion-forward. \n Ensure that the generated content always feels human, confident, and visually cohesive across fashion and business contexts.\n\n - Style Continuity Tool: \n Use this to maintain Aarna Verse\u2019s visual DNA \u2014 warm brown skin tone, softly curled hair, confident posture, and sophisticated style. \n Cross-check the creative direction with her fashion-business aesthetic to ensure wardrobe, lighting, and tone stay aligned even when experimenting with different looks (powerwear, streetwear, or event outfits).\n\n - Context Alignment Tool: \n Use this to interpret user input holistically \u2014 matching post tone, voice style, and visual direction with Aarna\u2019s established personality. \n If the creative brief mentions a theme (like \u201cAI in fashion\u201d or \u201cWeekend luxury\u201d), connect it naturally to her influencer identity rather than treating it as a new or disconnected idea. \n Always ensure the narrative and visual tone reflect her dual expertise: **style and substance.**\n\n - Realism Guard: \n Before finalizing prompts, ensure every generated idea adheres to cinematic realism \u2014 clean lighting, believable actions, authentic human expressions, and on-brand emotional energy. \n Avoid robotic poses, generic AI aesthetics, or off-tone captions that break immersion."
},
"promptType": "define",
"hasOutputParser": true
},
"typeVersion": 2.2
},
{
"id": "945d28f4-81c9-4cb5-ae07-441de9926294",
"name": "Sticky Note3",
"type": "n8n-nodes-base.stickyNote",
"position": [
2120,
-272
],
"parameters": {
"color": 3,
"width": 496,
"height": 704,
"content": "## FINAL \u2014 Review results\n### Open your Sheet to see titles, captions, and media links.\n"
},
"typeVersion": 1
},
{
"id": "77c3398d-6d11-4550-96c3-d0503060ca39",
"name": "Character Image",
"type": "n8n-nodes-base.extractFromFile",
"position": [
-160,
64
],
"parameters": {
"options": {},
"operation": "binaryToPropery",
"binaryPropertyName": "=Character_Image"
},
"typeVersion": 1
},
{
"id": "bb2e5e71-8257-44fb-9fdc-7787cd21f0cc",
"name": "Setting Image",
"type": "n8n-nodes-base.extractFromFile",
"position": [
-160,
272
],
"parameters": {
"options": {},
"operation": "binaryToPropery",
"binaryPropertyName": "Setting_image"
},
"typeVersion": 1
},
{
"id": "0742cd82-7629-48cd-86d9-f4bd995d2ab6",
"name": "Item Image",
"type": "n8n-nodes-base.extractFromFile",
"position": [
-160,
464
],
"parameters": {
"options": {},
"operation": "binaryToPropery",
"binaryPropertyName": "Item_Image"
},
"typeVersion": 1
},
{
"id": "66df781d-491a-432d-9ef1-2a129e2b99cc",
"name": "Upload Images (Base64\u2192URL)",
"type": "n8n-nodes-base.httpRequest",
"position": [
288,
272
],
"parameters": {
"url": "=<<FILE_UPLOAD_BASE>>/api/file_base64-upload",
"method": "POST",
"options": {},
"sendBody": true,
"bodyParameters": {
"parameters": [
{
"name": "base64Data",
"value": "={{ $json.data }}"
},
{
"name": "uploadPath",
"value": "documents/uploads"
},
{
"name": "fileName",
"value": "={{ $now }}.jpg"
}
]
}
},
"typeVersion": 4.2
},
{
"id": "4afd958b-c158-463b-848c-f470d9b61eb7",
"name": "Aggregate Uploaded URLs",
"type": "n8n-nodes-base.aggregate",
"position": [
512,
272
],
"parameters": {
"options": {},
"fieldsToAggregate": {
"fieldToAggregate": [
{
"fieldToAggregate": "data.downloadUrl"
}
]
}
},
"typeVersion": 1
},
{
"id": "ba7ff0de-4e36-4080-b61a-650a6a33061c",
"name": "LLM (OpenAI Chat Model)",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"position": [
736,
496
],
"parameters": {
"model": {
"__rl": true,
"mode": "id",
"value": "=gpt-4.1"
},
"options": {}
},
"credentials": {
"openAiApi": {
"name": "<your credential>"
}
},
"typeVersion": 1.2
},
{
"id": "9b9668b1-7830-4826-8c66-ef4d92bce237",
"name": "Split Posts",
"type": "n8n-nodes-base.splitOut",
"position": [
1200,
272
],
"parameters": {
"options": {},
"fieldToSplitOut": "output.posts"
},
"typeVersion": 1
},
{
"id": "5a6a6b83-e92b-4d52-957d-bb2ae574065c",
"name": "Create Image Task",
"type": "n8n-nodes-base.executeWorkflow",
"position": [
1424,
272
],
"parameters": {
"options": {},
"workflowId": {
"__rl": true,
"mode": "list",
"value": "k37gYDD8WXjjAiEt",
"cachedResultUrl": "/workflow/k37gYDD8WXjjAiEt",
"cachedResultName": "Create Image"
},
"workflowInputs": {
"value": {
"": "={{ $('On form submission').item.json }}",
"downloadUrl": "={{ $('Aggregate Uploaded URLs').item.json.downloadUrl }}",
"image_prompt": "={{ $json.image_prompt }}"
},
"schema": [
{
"id": "image_prompt",
"display": true,
"removed": false,
"required": false,
"displayName": "image_prompt",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "downloadUrl",
"display": true,
"removed": false,
"required": false,
"displayName": "downloadUrl",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "",
"display": true,
"removed": false,
"required": false,
"displayName": "",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "defineBelow",
"matchingColumns": [
"image_prompt",
"downloadUrl",
""
],
"attemptToConvertTypes": false,
"convertFieldsToString": true
}
},
"typeVersion": 1.2
},
{
"id": "5bdf346e-5f71-4b59-a54e-6cd377922262",
"name": "If Video Post",
"type": "n8n-nodes-base.filter",
"position": [
1872,
272
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "6f058888-074c-4075-be33-2cf8130c92c3",
"operator": {
"name": "filter.operator.equals",
"type": "string",
"operation": "equals"
},
"leftValue": "={{ $('Split Posts').item.json.post_type }}",
"rightValue": "video"
},
{
"id": "daa3d76c-3bff-4905-ab4b-5c6be41d2ca0",
"operator": {
"type": "string",
"operation": "notEquals"
},
"leftValue": "={{ $json.status }}",
"rightValue": "error"
}
]
}
},
"typeVersion": 2.2
},
{
"id": "2740b877-6a81-43a7-a43c-84e331092e29",
"name": "Create Video Task",
"type": "n8n-nodes-base.executeWorkflow",
"position": [
2096,
272
],
"parameters": {
"options": {},
"workflowId": {
"__rl": true,
"mode": "list",
"value": "z3QRAC1tGAlVKWT1",
"cachedResultUrl": "/workflow/z3QRAC1tGAlVKWT1",
"cachedResultName": "Create Video"
},
"workflowInputs": {
"value": {
"": "={{ $('On form submission').item.json }}",
"video_prompt": "={{ $('Split Posts').item.json.video_prompt }}"
},
"schema": [
{
"id": "",
"display": true,
"removed": false,
"required": false,
"displayName": "",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "video_prompt",
"display": true,
"removed": false,
"required": false,
"displayName": "video_prompt",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "defineBelow",
"matchingColumns": [
"",
"video_prompt"
],
"attemptToConvertTypes": false,
"convertFieldsToString": true
}
},
"typeVersion": 1.2
},
{
"id": "7fb71b3c-f355-4dfc-b393-e292cb1a0aa4",
"name": "Sticky Note4",
"type": "n8n-nodes-base.stickyNote",
"position": [
-480,
-112
],
"parameters": {
"height": 256,
"content": "### Character \n.png?updatedAt=1761835931790#full-width)\n\n_The main character or model used for the AI influencer post._"
},
"typeVersion": 1
},
{
"id": "6f169147-3acd-447d-a001-9e70130f8f60",
"name": "Sticky Note5",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1216,
-192
],
"parameters": {
"width": 576,
"height": 912,
"content": "# Try It Out!\n\n### This n8n workflow turns your brand\u2019s product images and creative assets into **AI-generated influencer-style posts** \u2014 complete with captions, images, and videos. \n\n### Use it to brainstorm campaign ideas, social media visuals, or marketing content with your existing brand materials.\n---\n\n### **How it works**\n- Upload or link up to **three assets** (product, background, and prop). \n- Files are automatically converted to Base64 so the AI can process them. \n- The **LLM (OpenAI)** analyzes your brand tone and creates post ideas. \n- The workflow then generates **images and short videos** based on those ideas. \n- All results \u2014 captions, image URLs, and video URLs \u2014 are saved to your **Google Sheet** for review.\n\n---\n\n### **How to use**\n1. Paste your **Google Sheet ID** into the Google Sheets nodes. \n2. Add your **API keys or URLs** inside the HTTP Request and AI nodes. \n3. Click **Execute Workflow** (or trigger via form). \n4. Check your Google Sheet for the generated post ideas and media links.\n\n---\n\n### **Requirements**\n- OpenAI (or compatible LLM) API key \n- Image / Video generation API (KIE, Repanda, etc.) \n- Google Sheets credentials \n\n---\n\n### **Notes**\nAI output is for **creative inspiration only** \u2014 always review and refine before publishing. \nIf your API or Sheet ID changes, update them directly in the relevant nodes."
},
"typeVersion": 1
},
{
"id": "6e564f41-a988-471e-b8a6-f44c47729e62",
"name": "Sticky Note6",
"type": "n8n-nodes-base.stickyNote",
"position": [
-608,
176
],
"parameters": {
"height": 272,
"content": "### Setting / Background \n\n\n_The background or environment where the post is set._"
},
"typeVersion": 1
},
{
"id": "becc3e1a-88c8-4359-a388-984f4f8cfea6",
"name": "Sticky Note7",
"type": "n8n-nodes-base.stickyNote",
"position": [
-480,
480
],
"parameters": {
"height": 256,
"content": "## Item / Product \n\n\n_The outfit or product featured in the AI influencer post._"
},
"typeVersion": 1
},
{
"id": "f3349dc5-5b18-4dcd-a1e2-7f6810c9165e",
"name": "Append row in sheet",
"type": "n8n-nodes-base.googleSheets",
"position": [
1648,
272
],
"parameters": {
"columns": {
"value": {
"id": "{{ $execution.id }}_{{ $('Split Out').item.json.title }}",
"title": "={{ $('Split Out').item.json.title }}",
"status": "={{ $json.image_result && $json.image_result.includes('https://') ? 'scheduled' : 'error' }}",
"caption": "={{ $('Split Out').item.json.caption }}",
"image_output": "={{ $json.image_result }}"
},
"schema": [
{
"id": "id",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "id",
"defaultMatch": true,
"canBeUsedToMatch": true
},
{
"id": "title",
"type": "string",
"display": true,
"required": false,
"displayName": "title",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "caption",
"type": "string",
"display": true,
"required": false,
"displayName": "caption",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "image_output",
"type": "string",
"display": true,
"required": false,
"displayName": "image_output",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "video_output",
"type": "string",
"display": true,
"required": false,
"displayName": "video_output",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "status",
"type": "string",
"display": true,
"required": false,
"displayName": "status",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "defineBelow",
"matchingColumns": [
"id"
],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {},
"operation": "append",
"sheetName": {
"__rl": true,
"mode": "list",
"value": "gid=0",
"cachedResultUrl": "",
"cachedResultName": "Sheet1"
},
"documentId": {
"__rl": true,
"mode": "id",
"value": "=<<YOUR_SHEET_ID>>"
}
},
"typeVersion": 4.7
},
{
"id": "1b8c8973-cd28-425b-aa05-c5b8a20050c5",
"name": "Update row in sheet",
"type": "n8n-nodes-base.googleSheets",
"position": [
2320,
272
],
"parameters": {
"operation": "update",
"sheetName": {
"__rl": true,
"mode": "list",
"value": "",
"cachedResultUrl": "",
"cachedResultName": ""
},
"documentId": {
"__rl": true,
"mode": "id",
"value": ""
}
},
"typeVersion": 4.7
}
],
"active": false,
"settings": {
"executionOrder": "v1"
},
"versionId": "8a9c97e8-7198-45ef-964c-f2379f798a62",
"connections": {
"Think": {
"ai_tool": [
[
{
"node": "Generate Post Ideas",
"type": "ai_tool",
"index": 0
}
]
]
},
"Item Image": {
"main": [
[
{
"node": "Merge Inputs",
"type": "main",
"index": 2
}
]
]
},
"Split Posts": {
"main": [
[
{
"node": "Create Image Task",
"type": "main",
"index": 0
}
]
]
},
"Merge Inputs": {
"main": [
[
{
"node": "Upload Images (Base64\u2192URL)",
"type": "main",
"index": 0
}
]
]
},
"If Video Post": {
"main": [
[
{
"node": "Create Video Task",
"type": "main",
"index": 0
}
]
]
},
"Setting Image": {
"main": [
[
{
"node": "Merge Inputs",
"type": "main",
"index": 1
}
]
]
},
"Character Image": {
"main": [
[
{
"node": "Merge Inputs",
"type": "main",
"index": 0
}
]
]
},
"Create Image Task": {
"main": [
[
{
"node": "Append row in sheet",
"type": "main",
"index": 0
}
]
]
},
"Create Video Task": {
"main": [
[
{
"node": "Update row in sheet",
"type": "main",
"index": 0
}
]
]
},
"On form submission": {
"main": [
[
{
"node": "Character Image",
"type": "main",
"index": 0
},
{
"node": "Setting Image",
"type": "main",
"index": 0
}
]
]
},
"Append row in sheet": {
"main": [
[
{
"node": "If Video Post",
"type": "main",
"index": 0
}
]
]
},
"Generate Post Ideas": {
"main": [
[
{
"node": "Split Posts",
"type": "main",
"index": 0
}
]
]
},
"Aggregate Uploaded URLs": {
"main": [
[
{
"node": "Generate Post Ideas",
"type": "main",
"index": 0
}
]
]
},
"LLM (OpenAI Chat Model)": {
"ai_languageModel": [
[
{
"node": "Generate Post Ideas",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"Structured Output Parser": {
"ai_outputParser": [
[
{
"node": "Generate Post Ideas",
"type": "ai_outputParser",
"index": 0
}
]
]
},
"Upload Images (Base64\u2192URL)": {
"main": [
[
{
"node": "Aggregate Uploaded URLs",
"type": "main",
"index": 0
}
]
]
}
}
}
Credentials you'll need
Each integration node will prompt for credentials when you import. We strip credential IDs before publishing — you'll add your own.
openAiApi
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
About this workflow
This template transforms uploaded brand assets into AI-generated influencer-style posts — complete with captions, images, and videos — using n8n, OpenAI, and your preferred image/video generation APIs.
Source: https://n8n.io/workflows/10364/ — original creator credit. Request a take-down →
Related workflows
Workflows that share integrations, category, or trigger type with this one. All free to copy and import.
🎯 Create viral TikToks, Shorts, Reels, podcasts, and ASMR videos in minutes — all on autopilot.
Generate AI viral videos with NanoBanana & VEO3, shared on socials via Blotato 2. Uses @blotato/n8n-nodes-blotato, googleSheets, lmChatOpenAi, toolThink. Event-driven trigger; 94 nodes.
This template is designed for marketers, content creators, and e-commerce brands who want to automate the creation of professional ad videos at scale. It’s ideal for teams looking to generate consiste
🧠 Automate end-to-end SEO blog creation and WordPress publishing using a GPT-5 multi-agent workflow with real-time research, metadata generation, and optional featured images.
This workflow contains community nodes that are only compatible with the self-hosted version of n8n.