8
n8n 中文网amn8n.com

上传帖子图片

中级

这是一个Marketing领域的自动化工作流,包含 10 个节点。主要使用 Code, Merge, HttpRequest, ManualTrigger 等节点。 使用 upload-post.com 将图片轮播上传到 TikTok 和 Instagram

前置要求
  • 可能需要目标 API 的认证凭证

分类

工作流预览
可视化展示节点连接关系,支持缩放和平移
导出工作流
复制以下 JSON 配置到 n8n 导入,即可使用此工作流
{
  "id": "ra8MrqshnzXPy55O",
  "meta": {
    "instanceId": "3378b0d68c3b7ebfc71b79896d94e1a044dec38e99a1160aed4e9c323910fbe2"
  },
  "name": "upload-post images",
  "tags": [],
  "nodes": [
    {
      "id": "7d899b35-ae00-418a-b890-e318f6d61f7a",
      "name": "POST TO INSTAGRAM1",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        820,
        -220
      ],
      "parameters": {
        "url": "https://api.upload-post.com/api/upload_photos",
        "method": "POST",
        "options": {},
        "sendBody": true,
        "contentType": "multipart-form-data",
        "sendHeaders": true,
        "bodyParameters": {
          "parameters": [
            {
              "name": "title",
              "value": "title-ig"
            },
            {
              "name": "user",
              "value": "user_name"
            },
            {
              "name": "platform[]",
              "value": "instagram"
            },
            {
              "name": "photos[]",
              "parameterType": "formBinaryData",
              "inputDataFieldName": "=photo1"
            },
            {
              "name": "photos[]",
              "parameterType": "formBinaryData",
              "inputDataFieldName": "photo2"
            }
          ]
        },
        "headerParameters": {
          "parameters": [
            {
              "name": "Authorization",
              "value": "Apikey api"
            }
          ]
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "025c1aa3-acf2-4211-93e1-9df2182bbf07",
      "name": "便签7",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -840,
        -360
      ],
      "parameters": {
        "color": 6,
        "width": 1880,
        "height": 660,
        "content": "# POST : 到 Instagram"
      },
      "typeVersion": 1
    },
    {
      "id": "7a98a200-3c96-45f8-a4d2-860c74d81c1f",
      "name": "合并",
      "type": "n8n-nodes-base.merge",
      "position": [
        220,
        -120
      ],
      "parameters": {},
      "typeVersion": 3
    },
    {
      "id": "d7bd532e-b07a-43f8-9ceb-c4dad685734d",
      "name": "更改名称为 photo1",
      "type": "n8n-nodes-base.code",
      "position": [
        -100,
        -220
      ],
      "parameters": {
        "jsCode": "return items.map((item, index) => {\n  // Grab the existing binary buffer under \"data\"\n  const buffer = item.binary.data;\n  // Build a new item with the renamed binary key\n  return {\n    json: item.json,\n    binary: {\n      // Rename to photo1, photo2, ...\n      [`photo${index + 1}`]: buffer\n    }\n  };\n});\n"
      },
      "typeVersion": 2
    },
    {
      "id": "f5efe3ce-c8b9-445a-8667-fefc3dc36545",
      "name": "更改名称为 photo2",
      "type": "n8n-nodes-base.code",
      "position": [
        -100,
        -20
      ],
      "parameters": {
        "jsCode": "return items.map((item, index) => {\n  // Grab the existing binary buffer under \"data\"\n  const buffer = item.binary.data;\n  // Build a new item with the renamed binary key\n  return {\n    json: item.json,\n    binary: {\n      // Rename to photo1, photo2, ...\n      [`photo${index + 2}`]: buffer\n    }\n  };\n});\n"
      },
      "typeVersion": 2
    },
    {
      "id": "4901b1f3-12e7-4f7d-b87a-5582d2319237",
      "name": "作为 1 个合并文件发送",
      "type": "n8n-nodes-base.code",
      "position": [
        520,
        -120
      ],
      "parameters": {
        "jsCode": "// Merge all incoming items (each with one binary photoX) into one item\nconst mergedItem = {\n  json: {},\n  binary: {}\n};\n\nfor (const item of items) {\n  // Copy every binary field from each item into mergedItem.binary\n  for (const [key, bin] of Object.entries(item.binary || {})) {\n    mergedItem.binary[key] = bin;\n  }\n}\n\n// Return a single-item array\nreturn [mergedItem];\n"
      },
      "typeVersion": 2
    },
    {
      "id": "34a88bd7-6302-4f22-aec0-d4318beceffa",
      "name": "当点击\"测试工作流\"时",
      "type": "n8n-nodes-base.manualTrigger",
      "position": [
        -760,
        -120
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "e710233a-e408-4718-9d1d-3a373fad33b8",
      "name": "POST TO TIKTOK",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        820,
        -20
      ],
      "parameters": {
        "url": "https://api.upload-post.com/api/upload_photos",
        "method": "POST",
        "options": {},
        "sendBody": true,
        "contentType": "multipart-form-data",
        "sendHeaders": true,
        "bodyParameters": {
          "parameters": [
            {
              "name": "title",
              "value": "title-ig"
            },
            {
              "name": "user",
              "value": "user_name"
            },
            {
              "name": "platform[]",
              "value": "tiktok"
            },
            {
              "name": "photos[]",
              "parameterType": "formBinaryData",
              "inputDataFieldName": "=photo1"
            },
            {
              "name": "photos[]",
              "parameterType": "formBinaryData",
              "inputDataFieldName": "photo2"
            }
          ]
        },
        "headerParameters": {
          "parameters": [
            {
              "name": "Authorization",
              "value": "Apikey api"
            }
          ]
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "000f92e8-64df-4ebd-a608-d5b0d2e1a5c4",
      "name": "获取图片 1",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        -420,
        -220
      ],
      "parameters": {
        "url": "https://upload.wikimedia.org/wikipedia/commons/7/70/Example.png",
        "options": {}
      },
      "typeVersion": 4.2
    },
    {
      "id": "f15f5cd5-9ca5-4ab7-bc66-32f7a3ec1e0c",
      "name": "获取图片 2",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        -420,
        -20
      ],
      "parameters": {
        "url": "https://upload.wikimedia.org/wikipedia/commons/7/70/Example.png",
        "options": {}
      },
      "typeVersion": 4.2
    }
  ],
  "active": false,
  "pinData": {},
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "d79c90a0-bb65-45b1-9d1b-c6af98f8480b",
  "connections": {
    "Merge": {
      "main": [
        [
          {
            "node": "Send as 1 merged file",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get Image 1": {
      "main": [
        [
          {
            "node": "Change name to photo1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get Image 2": {
      "main": [
        [
          {
            "node": "Change name to photo2",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Change name to photo1": {
      "main": [
        [
          {
            "node": "Merge",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Change name to photo2": {
      "main": [
        [
          {
            "node": "Merge",
            "type": "main",
            "index": 1
          }
        ]
      ]
    },
    "Send as 1 merged file": {
      "main": [
        [
          {
            "node": "POST TO INSTAGRAM1",
            "type": "main",
            "index": 0
          },
          {
            "node": "POST TO TIKTOK",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "When clicking ‘Test workflow’": {
      "main": [
        [
          {
            "node": "Get Image 1",
            "type": "main",
            "index": 0
          },
          {
            "node": "Get Image 2",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
常见问题

如何使用这个工作流?

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

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

中级 - 营销

需要付费吗?

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

工作流信息
难度等级
中级
节点数量10
分类1
节点类型5
难度说明

适合有一定经验的用户,包含 6-15 个节点的中等复杂度工作流

作者
外部链接
在 n8n.io 查看

分享此工作流