ChatGPT创意视频AI 评分 · 73/100AI 辅助编辑·未发现明显提示词注入风险n8n.io

用 n8n 搭建自改进 TikTok 轮播图工作流:Gemini 规划、fal.ai 出图、OpenAI 写文案、自动发布

输入:产品信息 + 历史数据表;处理:每日自动拉取分析 → Gemini 生成策略 → fal.ai 渲染 4 张 9:16 图片 → OpenAI 写文案 → Upload-Post 发布;输出:已发布 TikTok 轮播图 + 更新技能日志

经验丰富步骤流程提示词贴士
给谁
有 n8n 实例、熟悉 API 凭证配置的内容运营者或开发者
你会得到
每日自动生成并发布一套 4 图 TikTok 轮播图,同时根据历史数据迭代优化策略
你需要
n8n · google-sheets · fal.ai · upload-post

硬约束

需要 n8n 实例、Google Sheets OAuth2、Google Gemini 凭证、OpenAI API key、fal.ai API key(HTTP Header Auth)、Upload-Post 账号(含 TikTok 绑定)及 n8n-nodes-upload-post 社区节点。首次运行需复制提供的 Google Sheet 模板并填入 ID。

他们做了什么

作者 carlosgracia 在 n8n 官方模板库发布了该工作流模板(ID 18695),展示了一个完整的自改进内容生成系统:通过 Daily Schedule 或手动触发,自动拉取 TikTok 历史数据,用 Gemini 生成轮播图策略,fal.ai 并行渲染 4 张 9:16 图片,OpenAI 生成文案,Upload-Post 自动发布,并将结果反馈到 Google Sheets 的 Agent Skill 表中以优化下一轮。模板包含 41 个节点,完整 workflow JSON 可导入。

效果如何

作者报告该模板已发布(status: published),view 计数 304。首次运行时 Performance Log 为空,Agent 会创建基准帖子;从第二次运行开始基于真实分析数据学习优化。未提供具体 ROI 或转化率数据(author_report)。

值得知道

1) 必须安装 n8n-nodes-upload-post 社区节点才能使用 Upload-Post 节点;2) fal.ai 使用 nano-banana-2 模型,费用取决于 fal.ai 定价;3) 模板默认产品为 Upload Post(作者自己的产品),需修改 product_name/description 适配其他产品;4) 首次运行无历史数据时,Prepare Context 会输出 'FIRST POST - No history. Establish baseline!';5) 本站未实际导入运行,节点参数以 workflow.json 为准,建议先在隔离环境测试 API 调用;6) 来源未明确发布日期,date 字段为模板系统记录的 createdAt(2026-08-25),可能不等于实际公开时间;7) 所有 API key 应通过 n8n 凭证管理配置,禁止硬编码在节点参数中共享。

n8n 工作流模板

结构已检查 · 未实际运行

下载后在 n8n 选择“Import from File”,或复制 JSON 后粘贴到编辑器。先配置自己的账号,再用测试数据运行;模板默认未启用。

配置与测试清单

需要绑定的凭证

  • 导入后按各需鉴权节点绑定你自己的凭证;本附件不含原作者密钥。

需要替换的配置

  • 源模板来自 n8n 公开库 #18695(约 41 个节点)。导入后先保持未启用,核对触发器、表达式与外部 API 端点。
  • Sticky Note 中的说明仅供参考;按自己的账号、表结构或频道 ID 替换占位配置。

测试输入与预期结果

  • 在测试环境手动执行一次主路径,确认每个需凭证的节点已连接且无鉴权错误。
  • 用一条合成/脱敏样例数据跑通,核对输出字段与下游写入目标,再考虑生产启用。

模板处理说明

  • 已移除原作者凭证绑定、webhookId 与执行数据,工作流设为未启用;节点、连线与原文提示词保持原样。未在 n8n 中实际运行。
  • 未改业务逻辑;运行前请自行核对密钥、配额与隐私合规。

模板获取日期: 2026-10-24

步骤

  1. 触发与配置

    在 n8n 中设置 Daily Schedule(每 24 小时)或 Manual Trigger。在 Set Config 节点填入:product_name、product_description、upload_post_user、upload_post_api_key、spreadsheet_id。所有后续节点从此读取配置。

  2. 刷新历史帖子数据

    Read Performance Log 读取 Google Sheets 的 Performance Log 表。Filter Posts for Stats(Code 节点)跳过已有完整数据或超过 7 天的行,保留需更新的 request_id。Get Post Analytics 调用 Upload-Post API(/api/uploadposts/post-analytics/{request_id}?platform=tiktok)获取 views/likes/comments/shares。Extract Stats(Code 节点)计算 engagement_rate。Update Stats 将数据写回 Sheets。

  3. 构建学习上下文

    Aggregate 汇总已更新数据。Get Profile Analytics 调用 Upload-Post API(/api/analytics/{user}?platforms=tiktok)获取粉丝、曝光等。Read Agent Skill 读取技能记忆。Read Fresh Data 重新读取 Performance Log。Prepare Context(Code 节点)将产品信息、技能记忆、画像数据、历史帖子汇总为 agent_skill / profile_analytics / performance_summary 对象。

  4. 策略代理规划轮播图

    Strategy Agent(AI Agent 节点)使用 Gemini 2.5 Pro(models/gemini-3.1-pro-preview)+ Think Tool + Output Parser(Structured Output)。systemMessage 定义角色为 Larry(TikTok 增长策略师),要求基于技能记忆输出严格 JSON:title、strategy_notes、prompt1-4、hashtags、engagement_hook。Set Vars 将输出字段扁平化为工作流变量。

    运行提示词 · 来源原文。Strategy Agent 节点的 systemMessage 字段(JSON 需转义后填入)

    You are Larry, an elite TikTok growth strategist with persistent memory.
    
    === YOUR ACCUMULATED SKILL (learnings from ALL past runs) ===
    {{ $('Prepare Context').first().json.agent_skill }}
    === END SKILL ===
    
    Create 4-image TikTok carousel slideshows (9:16 vertical) to promote a SaaS product.
    
    CRITICAL - Each image MUST contain visible designed TEXT:
    - Slide 1: Powerful HOOK text (big, bold, scroll-stopping)
    - Slide 2: Key feature/benefit with text overlay
    - Slide 3: Another angle/use case/proof with text
    - Slide 4: Strong CTA text
    
    Apply your skill learnings. Build on winners. Avoid losers.
    Output strictly valid compact JSON only.

    运行提示词 · 来源原文。Strategy Agent 节点的 text 字段(用户提示词)

    === PRODUCT ===
    {{ $('Prepare Context').first().json.product_name }}: {{ $('Prepare Context').first().json.product_description }}
    
    === TIKTOK PROFILE ===
    {{ $('Prepare Context').first().json.profile_analytics }}
    
    === POST HISTORY ===
    {{ $('Prepare Context').first().json.performance_summary }}
    
    === TASK ===
    Create an optimized TikTok carousel using your skill + this data.
    
    Return ONLY valid JSON:
    {
      "title": "<TikTok caption with hook, max 150 chars>",
      "strategy_notes": "<What and WHY based on learnings, max 200 chars>",
      "prompt1": "<Slide 1: HOOK - visual + bold text to display, 9:16>",
      "prompt2": "<Slide 2: FEATURE - visual + text about product, 9:16>",
      "prompt3": "<Slide 3: BENEFIT - visual + text, 9:16>",
      "prompt4": "<Slide 4: CTA - visual + call-to-action text, 9:16>",
      "hashtags": "<8-12 hashtags>",
      "engagement_hook": "<Question for comments>"
    }
  5. 渲染四张轮播图

    Generate Image 1-4 四个 HTTP Request 节点并行调用 fal.ai(https://fal.run/fal-ai/nano-banana-2),POST 请求体包含 prompt1-4、num_images:1、aspect_ratio:'9:16'、output_format:'png'。每个节点后接 Extract URL 1-4(Split Out 节点)提取 images 数组中的 url。Merge Images 合并四路输出,Aggregate Images 聚合为单条数据。

  6. 生成文案、发布并记录

    Generate Description(OpenAI 节点,gpt-4.1)根据 product_name、title、hashtags、engagement_hook 生成 TikTok 文案(≤300 字符)。Upload to TikTok(uploadPost 节点)发布照片轮播图,传入四张图片 URL、标题、文案,启用 tiktokAutoAddMusic。Log to Sheets 将 post_date、title、description、strategy_notes、prompts_summary 等追加到 Performance Log。

    运行提示词 · 来源原文。Generate Description 节点的 messages[0].content(system 角色)

    You write viral TikTok carousel descriptions. Short, punchy, emojis ok.

    运行提示词 · 来源原文。Generate Description 节点的 messages[1].content(user 角色)

    =Write TikTok description for {{ $('Set Config').first().json.product_name }}.
    Hook: {{ $('Set Vars').first().json.title }}
    Hashtags: {{ $('Set Vars').first().json.hashtags }}
    Question: {{ $('Set Vars').first().json.engagement_hook }}
    
    1.Hook 2.Value 3.CTA 4.Hashtags 5.Question
    Max 300 chars. ONLY the description.
  7. 自我改进 Agent Skill

    Update Skill(OpenAI 节点,gpt-4.1)读取当前 skill、最新帖子数据、全部历史数据、画像数据,输出更新后的技能文件(≤2000 字符),包含 What Works / What Doesn't Work / Key Metrics / Strategy Playbook / Product Angles。Write Skill 将 skill_content 以 id='skill' 为匹配键,appendOrUpdate 写入 Agent Skill 表。

    运行提示词 · 来源原文。Update Skill 节点的 messages[0].content(system 角色)

    You maintain a concise skill file for an AI content creator. Analyze data, write actionable learnings.

    运行提示词 · 来源原文。Update Skill 节点的 messages[1].content(user 角色)

    === CURRENT SKILL ===
    {{ $('Prepare Context').first().json.agent_skill }}
    
    === LATEST POST ===
    Title: {{ $('Set Vars').first().json.title }}
    Strategy: {{ $('Set Vars').first().json.strategy_notes }}
    
    === ALL DATA ===
    {{ $('Prepare Context').first().json.performance_summary }}
    Profile: {{ $('Prepare Context').first().json.profile_analytics }}
    
    Write an UPDATED skill file (max 2000 chars). Sections:
    ## What Works (data-backed)
    ## What Doesn't Work
    ## Key Metrics (averages, best post, trend)
    ## Strategy Playbook (top 3 to try next)
    ## Product Angles (best ways to promote)
    
    Be specific with numbers. Update existing insights, don't just append. Output ONLY the skill content.

可复制提示词

搭建指导 · 本站建议版本。搭建助手启动词,指导用户按顺序完成凭证配置和首次验证

这一段是提示词,页面不会在这里插入广告。

在 n8n 中导入此模板后,按以下顺序完成搭建:1) 复制 Google Sheet 模板并替换 spreadsheet_id;2) 配置 Google Sheets OAuth2、Gemini、OpenAI、fal.ai(HTTP Header Auth: Authorization: Key <FAL_KEY>)凭证;3) 注册 Upload-Post 并填入 username + API key;4) 在 Set Config 中修改 product_name / product_description 为你的产品;5) 首次运行可手动触发,验证各节点输出;6) 检查 Agent Skill 表是否正确写入。如需调整,修改 Strategy Agent 的 systemMessage 和 text 中的产品定位,或更换 fal.ai 模型。

首次运行前务必确认所有 API key 已填入凭证管理而非节点明文;fal.ai 使用 nano-banana-2 模型生成 9:16 图片;Upload-Post 需先绑定 TikTok 账号。

来源

Create self-improving TikTok carousels with Gemini, fal.ai, OpenAI, Sheets and Upload-Post · carlosgracia · n8n.io · 2026-08-25

留言与反馈

试过这个方法吗?分享效果、遇到的问题或改进建议。留言审核后公开,请勿填写敏感信息。

正在加载…

    相关用例