8
n8n 中文网amn8n.com

Aarna verse - AI 影响者

高级

这是一个Content Creation, Multimodal AI领域的自动化工作流,包含 25 个节点。主要使用 Merge, Filter, SplitOut, Aggregate, FormTrigger 等节点。 使用 GPT-4、Google Sheets 和媒体 API 生成影响者帖子

前置要求
  • 可能需要目标 API 的认证凭证
  • Google Sheets API 凭证
  • OpenAI API Key
工作流预览
可视化展示节点连接关系,支持缩放和平移
导出工作流
复制以下 JSON 配置到 n8n 导入,即可使用此工作流
{
  "id": "D9rKsoixwvTlzsOu",
  "meta": {
    "instanceId": "a3559591eea5c3cd8d7d8e06107532eeb62bff71d5e96f13150b744ef10b3b51",
    "templateCredsSetupCompleted": true
  },
  "name": "Aarna verse - AI 影响者",
  "tags": [],
  "nodes": [
    {
      "id": "0d5f984d-2d2d-49a7-b3dc-a6c0fab79277",
      "name": "表单提交时",
      "type": "n8n-nodes-base.formTrigger",
      "position": [
        -352,
        192
      ],
      "webhookId": "6d7549a0-7e90-468b-a386-609ca8aaafa7",
      "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": "思考",
      "type": "@n8n/n8n-nodes-langchain.toolThink",
      "position": [
        864,
        496
      ],
      "parameters": {},
      "typeVersion": 1.1
    },
    {
      "id": "6e5e5810-9cc2-4c56-95f2-38c4bc319d36",
      "name": "结构化输出解析器",
      "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 ✨ #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: “Don’t just show up to work — show up for yourself. Confidence is the real power suit.”\\nmusic: soft ambient corporate instrumental\"\n          },\n\n          \"post_2\": {\n            \"title\": \"Weekend Edit\",\n            \"caption\": \"Style isn’t off-duty 😎 #fashioninspo #AarnaVerse\",\n            \"post_type\": \"image\",\n            \"image_prompt\": \"Have the character sitting on a café 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é 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é, speaking with a friendly tone while adjusting her sunglasses.\\nsubject: stylish Indian woman with modern glam energy\\nsetting: outdoor café corner with warm sunlight\\naction: expressive gestures, smile, adjusting sunglasses\\nlighting: golden natural light\\nvoice: warm, casual Indian English saying: “My weekends look like inspiration with caffeine — what fuels yours?”\\nmusic: upbeat, minimal fashion beat\"\n          }\n        }\n}"
      },
      "typeVersion": 1.3
    },
    {
      "id": "59e2a610-e132-48ae-b8a3-5ac56f620384",
      "name": "便签",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -224,
        -80
      ],
      "parameters": {
        "color": 4,
        "width": 672,
        "height": 704,
        "content": "## 步骤 1:上传或链接您的内容资源"
      },
      "typeVersion": 1
    },
    {
      "id": "8323bdda-0e1e-41da-9b8b-0f6df739d00b",
      "name": "便签1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        464,
        -64
      ],
      "parameters": {
        "color": 5,
        "width": 880,
        "height": 704,
        "content": "## 步骤 2:LLM 分析您的品牌语调和资源以创建标题和视觉效果。"
      },
      "typeVersion": 1
    },
    {
      "id": "47c91aa2-6d92-483c-aa84-dcb92bc312f3",
      "name": "便签2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1384,
        -272
      ],
      "parameters": {
        "color": 2,
        "width": 848,
        "height": 704,
        "content": "## 步骤 3:生成并保存资源"
      },
      "typeVersion": 1
    },
    {
      "id": "0323149d-3def-4cb6-8ee6-ae59ee4a5a04",
      "name": "合并输入",
      "type": "n8n-nodes-base.merge",
      "position": [
        64,
        256
      ],
      "parameters": {
        "numberInputs": 3
      },
      "typeVersion": 3.2
    },
    {
      "id": "6aeb3b75-73f9-4877-bdef-c59522893080",
      "name": "生成帖子想法",
      "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 — 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 — she’s 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 — 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’s not confined to neutrals — her wardrobe balances business powerwear with expressive fashion statements.\n\t•\tBusiness looks include tailored blazers, silk camisoles, wide-leg trousers, pencil skirts and statement watches.\n\t•\tFashion content includes oversized blazers, denim, trench coats, bold accessories, and elevated streetwear.\n\t•\tEvent looks feature draped satin dresses, sculpted silhouettes, and metallic accents.\n\t•\tCultural fusion outfits include modern Indian silhouettes like structured jackets or saree pants.\n\t•\tCasual moments include crisp shirts, minimal gold jewelry, and luxury sneakers.\nEvery outfit feels purposeful — 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“Smart is the new sexy.”\n“You can be soft and still build empires.”\n“AI isn’t replacing you — it’s upgrading you.”\n“Style is strategy — every outfit tells your story.”\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 — AI Fashion & Business Influencer Posts 👩🏽‍💻👗\n\n  A – Ask:\n    Generate detailed prompts for a series of image and video posts based on a creative brief centered around Aarna Verse — 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 – 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  ◆ 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’s character brief — confident, elegant Indian woman blending business and fashion\n      - setting: Derived from setting_image or creative direction (e.g. studio, café, 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  ◆ 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 “ambient fashion beat” if requested; otherwise, “no music”\n      - voice: If dialogue is present, voice should sound natural, warm, Indian-accented English (confident and friendly)\n      - Style reference: “Cinematic editorial vlog energy — calm but aspirational”\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 — never overly robotic or “AI-like”\n\n E – Examples:\n  good_examples:\n    - {\n        \"posts\": {\n          \"post_1\": {\n            \"title\": \"Boardroom Glow\",\n            \"caption\": \"Meetings done, mindset on ✨ #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: “Don’t just show up to work — show up for yourself. Confidence is the real power suit.”\\nmusic: soft ambient corporate instrumental\"\n          },\n\n          \"post_2\": {\n            \"title\": \"Weekend Edit\",\n            \"caption\": \"Style isn’t off-duty 😎 #fashioninspo #AarnaVerse\",\n            \"post_type\": \"image\",\n            \"image_prompt\": \"Have the character sitting on a café 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é 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é, speaking with a friendly tone while adjusting her sunglasses.\\nsubject: stylish Indian woman with modern glam energy\\nsetting: outdoor café corner with warm sunlight\\naction: expressive gestures, smile, adjusting sunglasses\\nlighting: golden natural light\\nvoice: warm, casual Indian English saying: “My weekends look like inspiration with caffeine — what fuels yours?”\\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 😜 #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’s 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 – Tools:\n  - Think Tool:  \n      Use this to reflect on how Aarna Verse’s 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 — 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’s visual DNA — 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 — matching post tone, voice style, and visual direction with Aarna’s established personality.  \n      If the creative brief mentions a theme (like “AI in fashion” or “Weekend luxury”), 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 — 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": "便签3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2120,
        -272
      ],
      "parameters": {
        "color": 3,
        "width": 496,
        "height": 704,
        "content": "## 最终 — 查看结果"
      },
      "typeVersion": 1
    },
    {
      "id": "77c3398d-6d11-4550-96c3-d0503060ca39",
      "name": "角色图像",
      "type": "n8n-nodes-base.extractFromFile",
      "position": [
        -160,
        64
      ],
      "parameters": {
        "options": {},
        "operation": "binaryToPropery",
        "binaryPropertyName": "=Character_Image"
      },
      "typeVersion": 1
    },
    {
      "id": "bb2e5e71-8257-44fb-9fdc-7787cd21f0cc",
      "name": "场景图像",
      "type": "n8n-nodes-base.extractFromFile",
      "position": [
        -160,
        272
      ],
      "parameters": {
        "options": {},
        "operation": "binaryToPropery",
        "binaryPropertyName": "Setting_image"
      },
      "typeVersion": 1
    },
    {
      "id": "0742cd82-7629-48cd-86d9-f4bd995d2ab6",
      "name": "物品图像",
      "type": "n8n-nodes-base.extractFromFile",
      "position": [
        -160,
        464
      ],
      "parameters": {
        "options": {},
        "operation": "binaryToPropery",
        "binaryPropertyName": "Item_Image"
      },
      "typeVersion": 1
    },
    {
      "id": "66df781d-491a-432d-9ef1-2a129e2b99cc",
      "name": "上传图像 (Base64→URL)",
      "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": "聚合上传的 URL",
      "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 聊天模型)",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        736,
        496
      ],
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "id",
          "value": "=gpt-4.1"
        },
        "options": {}
      },
      "credentials": {
        "openAiApi": {
          "id": "EUnZpeRBn9u8BWfs",
          "name": "n8n free OpenAI API credits"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "9b9668b1-7830-4826-8c66-ef4d92bce237",
      "name": "拆分帖子",
      "type": "n8n-nodes-base.splitOut",
      "position": [
        1200,
        272
      ],
      "parameters": {
        "options": {},
        "fieldToSplitOut": "output.posts"
      },
      "typeVersion": 1
    },
    {
      "id": "5a6a6b83-e92b-4d52-957d-bb2ae574065c",
      "name": "创建图像任务",
      "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": "如果是视频帖子",
      "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": "创建视频任务",
      "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": "便签4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -480,
        -112
      ],
      "parameters": {
        "height": 256,
        "content": "### 角色"
      },
      "typeVersion": 1
    },
    {
      "id": "6f169147-3acd-447d-a001-9e70130f8f60",
      "name": "便签5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1216,
        -192
      ],
      "parameters": {
        "width": 576,
        "height": 912,
        "content": "# 试试看!"
      },
      "typeVersion": 1
    },
    {
      "id": "6e564f41-a988-471e-b8a6-f44c47729e62",
      "name": "便签6",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -608,
        176
      ],
      "parameters": {
        "height": 272,
        "content": "### 场景 / 背景"
      },
      "typeVersion": 1
    },
    {
      "id": "becc3e1a-88c8-4359-a388-984f4f8cfea6",
      "name": "便签7",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -480,
        480
      ],
      "parameters": {
        "height": 256,
        "content": "## 物品 / 产品"
      },
      "typeVersion": 1
    },
    {
      "id": "f3349dc5-5b18-4dcd-a1e2-7f6810c9165e",
      "name": "在表格中追加行",
      "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": "在表格中更新行",
      "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,
  "pinData": {
    "On form submission": [
      {
        "json": {
          "code": 1,
          "name": "First item"
        }
      },
      {
        "json": {
          "code": 2,
          "name": "Second item"
        }
      }
    ]
  },
  "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→URL)",
            "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→URL)": {
      "main": [
        [
          {
            "node": "Aggregate Uploaded URLs",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
常见问题

如何使用这个工作流?

复制上方的 JSON 配置代码,在您的 n8n 实例中创建新工作流并选择「从 JSON 导入」,粘贴配置后根据需要修改凭证设置即可。

这个工作流适合什么场景?

高级 - 内容创作, 多模态 AI

需要付费吗?

本工作流完全免费,您可以直接导入使用。但请注意,工作流中使用的第三方服务(如 OpenAI API)可能需要您自行付费。

工作流信息
难度等级
高级
节点数量25
分类2
节点类型14
难度说明

适合高级用户,包含 16+ 个节点的复杂工作流

外部链接
在 n8n.io 查看

分享此工作流