Instagram 毎日の投稿

上級

これは自動化ワークフローで、18個のノードを含みます。主にCode, EmailSend, ConvertToFile, ReadWriteFile, ExtractFromFileなどのノードを使用。 GPTとGeminiを使用してAI引用と画像付きのInstagram投稿を生成

前提条件
  • OpenAI API Key

カテゴリー

-
ワークフロープレビュー
ノード接続関係を可視化、ズームとパンをサポート
ワークフローをエクスポート
以下のJSON設定をn8nにインポートして、このワークフローを使用できます
{
  "id": "dmoXmxoRl7IynHDc",
  "meta": {
    "instanceId": "e9707613f506bdbcb79075f3617d27a010060d5fd1f76550283efabc82686f47",
    "templateCredsSetupCompleted": true
  },
  "name": "Instagram Daily Post",
  "tags": [],
  "nodes": [
    {
      "id": "fda4cf10-8bc2-490c-8412-eaef0dd637f4",
      "name": "メール送信",
      "type": "n8n-nodes-base.emailSend",
      "position": [
        2128,
        -288
      ],
      "webhookId": "36a4f6eb-5780-475a-a10c-bd3dff8bfea7",
      "parameters": {
        "text": "=Hello dear,\n\nDaily tips and guide has attached to this email.\n\n{{ $('Code-Split-LangChain').item.json.quote }}\n\n{{ $('Code-Split-LangChain').item.json.caption }}\n\n{{ $('Code-Split-LangChain').item.json.hashtags }}\n\nBest\nAI",
        "options": {
          "attachments": "=data"
        },
        "subject": "Daily Instagram Post",
        "toEmail": "=",
        "fromEmail": "noreply@aialchemysolutions.com",
        "emailFormat": "text"
      },
      "credentials": {
        "smtp": {
          "id": "hsVYoVayr6AeqQOs",
          "name": "SMTP account"
        }
      },
      "typeVersion": 2.1
    },
    {
      "id": "c17de175-e95e-4e88-bd42-52851656e3ba",
      "name": "ディスクからテキストファイルを読み取り",
      "type": "n8n-nodes-base.readWriteFile",
      "position": [
        432,
        -288
      ],
      "parameters": {
        "options": {},
        "fileSelector": "/home/node/instagram_posts.txt"
      },
      "typeVersion": 1
    },
    {
      "id": "f1bf713b-05bb-4a19-a80f-fe201833f4fa",
      "name": "テキストファイルから抽出",
      "type": "n8n-nodes-base.extractFromFile",
      "position": [
        656,
        -288
      ],
      "parameters": {
        "options": {
          "keepSource": "json"
        },
        "operation": "text",
        "destinationKey": "post_history"
      },
      "typeVersion": 1
    },
    {
      "id": "6f59e757-00c4-4605-b54f-cb9808ea7528",
      "name": "引用をファイルに変換",
      "type": "n8n-nodes-base.convertToFile",
      "position": [
        1456,
        -288
      ],
      "parameters": {
        "options": {},
        "operation": "toText",
        "sourceProperty": "quote",
        "binaryPropertyName": "quote_for_file"
      },
      "typeVersion": 1.1
    },
    {
      "id": "df525ede-df99-49c2-a5e5-ae67b38ee9ff",
      "name": "画像を生成",
      "type": "@n8n/n8n-nodes-langchain.googleGemini",
      "position": [
        1904,
        -288
      ],
      "parameters": {
        "prompt": "=Draw a simple image for below quote and put the text in the image with bold and clear front and contrast color like red. This is the quote:{{ $('Code-Split-LangChain').item.json.quote}}",
        "modelId": {
          "__rl": true,
          "mode": "list",
          "value": "models/gemini-2.0-flash-preview-image-generation",
          "cachedResultName": "models/gemini-2.0-flash-preview-image-generation"
        },
        "options": {},
        "resource": "image"
      },
      "credentials": {
        "googlePalmApi": {
          "id": "1XSlxp2Msp1V2cdE",
          "name": "Google Gemini(PaLM) Api account"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "2c3dedaa-9791-44c5-9b20-fcbada1f3658",
      "name": "ディスクにテキストファイルを書き込み",
      "type": "n8n-nodes-base.readWriteFile",
      "position": [
        1680,
        -288
      ],
      "parameters": {
        "options": {
          "append": true
        },
        "fileName": "/home/node/instagram_posts.txt",
        "operation": "write",
        "dataPropertyName": "quote_for_file"
      },
      "typeVersion": 1
    },
    {
      "id": "9df5aee8-c071-4eea-885d-32efe21e1b67",
      "name": "付箋",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -560,
        -832
      ],
      "parameters": {
        "width": 624,
        "height": 1120,
        "content": "# 📸 Instagram Post Automation Workflow\n\n## ℹ️ What is this workflow\nThis workflow automatically produces daily Instagram posts based on a user-provided prompt and sends them to your email inbox.  \nSocial media creators can use it to generate content periodically and save time.  \n\nThe email includes:  \n- Picture  \n- Title  \n- Caption  \n- Relevant hashtags  \n\nYou can simply copy and paste the content from the email into Instagram, or go further by connecting it to the Facebook API for **full automation**.\n\n## 💼 Business Cases\n- Generating social media posts primarily for Instagram.  \n- Integrating with other workflows (trend research, market studies, news feeds) to produce images, statistics, text, or data comparisons for social media.\n\n## ⚙️ How Does It Work\n1. The workflow runs periodically according to your schedule settings.  \n2. Generates a new quote, avoiding duplicates of previously created ones.  \n3. Creates an image.  \n4. Sends all content by email.\n\n## 🔗 Integrated Services\n- Local file storage on the hosted platform  \n- OpenAI GPT model (customizable to any AI model you prefer)  \n- Gemini model for image generation (replaceable with your preferred tool)  \n- Email sending via SMTP\n\n## 🛠 How to Set Up\n1. Install the workflow template.  \n2. Configure AI models and set up SMTP credentials.  \n3. Create a file on your local installation (`/home/node/instagram_posts.txt`).  \n4. Set up the scheduler.  \n5. Test and enjoy."
      },
      "typeVersion": 1
    },
    {
      "id": "704ea445-c717-4adc-8211-3d7914d9d841",
      "name": "Basic LLM Chain",
      "type": "@n8n/n8n-nodes-langchain.chainLlm",
      "position": [
        880,
        -288
      ],
      "parameters": {
        "text": "=Create an Instagram post about self-growth and partnership, inspired by Rumi, Khayam, or similar poets. Make sure dont generate these again as previsouly generated:\"\" {{ $json.post_history }}\"\"\n\nOUTPUT:\nNo additional text, explanations or title for sections and only provide below information:\n1. One short inspirational sentence between 5 to 25 words about self-growth or partnership, including quoting the poet’s name.\n2. A suggested Instagram caption to accompany the post.\n3. A list of suitable hashtags.\n\n\n\n",
        "batching": {},
        "messages": {
          "messageValues": [
            {
              "message": "you are a self growth and partnership mentor and coach and by giving inspirational quotes you will give insight and guidline to people for beeter life."
            }
          ]
        },
        "promptType": "define"
      },
      "typeVersion": 1.7
    },
    {
      "id": "eae5a242-b569-4cd4-8b34-4e29efc763dd",
      "name": "OpenAI Chat Model",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        880,
        -64
      ],
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-4.1-mini"
        },
        "options": {}
      },
      "credentials": {
        "openAiApi": {
          "id": "oAB0eREz1TUfzNuC",
          "name": "OpenAi account"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "9691f4f7-be6f-421a-adcc-60e2244a673b",
      "name": "Code-Split-LangChain",
      "type": "n8n-nodes-base.code",
      "position": [
        1232,
        -288
      ],
      "parameters": {
        "jsCode": "const input = items[0].json.text.replace(/[\"“]/g, ''); \n// const input = items[0].json.choices[0].message.content.replace(/[\"“]/g, ''); \nconst lines = input.split('\\n').filter(line => line.trim() !== ''); \n\nreturn [\n  {\n    json: {\n      quote: lines[0] || '',\n      caption: lines[1] || '',\n      hashtags: lines[2] || ''\n    }\n  }\n];\n"
      },
      "typeVersion": 2
    },
    {
      "id": "65ea98d7-335b-449f-a176-6bb1842fe888",
      "name": "スケジュールトリガー",
      "type": "n8n-nodes-base.scheduleTrigger",
      "position": [
        208,
        -288
      ],
      "parameters": {
        "rule": {
          "interval": [
            {}
          ]
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "dc4cc876-bb3a-4615-9e0b-d51cde616046",
      "name": "付箋2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        816,
        -512
      ],
      "parameters": {
        "color": 7,
        "width": 560,
        "height": 592,
        "content": "# 2. Quote Generation\n\n* Use Model to generate a new quote\n* Split outcome to Quote, Caption and Hashtag for the next step"
      },
      "typeVersion": 1
    },
    {
      "id": "20f471e4-32dd-4d07-bce6-52cef13320c8",
      "name": "付箋3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1392,
        -512
      ],
      "parameters": {
        "color": 7,
        "width": 432,
        "height": 512,
        "content": "# 3. Save new Quote\n\n* save new quote to the file for the next run"
      },
      "typeVersion": 1
    },
    {
      "id": "fac18206-c76e-4045-8ccb-71b1640302cb",
      "name": "付箋4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1840,
        -512
      ],
      "parameters": {
        "color": 7,
        "width": 544,
        "height": 512,
        "content": "# 4. Image Generation and Send Email\n\n* Generate Image based on quote\n* Send email by attach the generated image and include Quote, Caption and Hashtag"
      },
      "typeVersion": 1
    },
    {
      "id": "3104990d-c570-47d2-826a-68ec886bac28",
      "name": "付箋5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        128,
        -512
      ],
      "parameters": {
        "color": 7,
        "width": 672,
        "height": 512,
        "content": "# 1. Initial Stage\n\n* Schedule node is running the workflow periodically based on user configuration\n* Next node read all previous generated quotes and convert it to JSON format for the next step to avoid duplicate generation"
      },
      "typeVersion": 1
    },
    {
      "id": "e7cc6bba-55d0-4b42-a26f-8a7ff84d6c1a",
      "name": "付箋1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        976,
        -144
      ],
      "parameters": {
        "color": 3,
        "height": 80,
        "content": "Update System and User Prompt Based on your needs"
      },
      "typeVersion": 1
    },
    {
      "id": "9c1bc39c-4dec-413f-a37f-dddb0fb87a08",
      "name": "付箋6",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1856,
        -112
      ],
      "parameters": {
        "color": 3,
        "width": 256,
        "height": 80,
        "content": "Update User Prompt if you need to change the image generation style"
      },
      "typeVersion": 1
    },
    {
      "id": "781a8396-7098-4724-920c-d3258511862b",
      "name": "付箋7",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2128,
        -112
      ],
      "parameters": {
        "color": 3,
        "width": 208,
        "height": 80,
        "content": "Update receiver email address field"
      },
      "typeVersion": 1
    }
  ],
  "active": false,
  "pinData": {},
  "settings": {
    "callerPolicy": "workflowsFromSameOwner",
    "errorWorkflow": "9HH2EGZy0RsECzde",
    "executionOrder": "v1"
  },
  "versionId": "dd9b6456-4d5a-4386-86f4-e8ace8cacd82",
  "connections": {
    "704ea445-c717-4adc-8211-3d7914d9d841": {
      "main": [
        [
          {
            "node": "9691f4f7-be6f-421a-adcc-60e2244a673b",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "65ea98d7-335b-449f-a176-6bb1842fe888": {
      "main": [
        [
          {
            "node": "c17de175-e95e-4e88-bd42-52851656e3ba",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "df525ede-df99-49c2-a5e5-ae67b38ee9ff": {
      "main": [
        [
          {
            "node": "fda4cf10-8bc2-490c-8412-eaef0dd637f4",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "eae5a242-b569-4cd4-8b34-4e29efc763dd": {
      "ai_languageModel": [
        [
          {
            "node": "704ea445-c717-4adc-8211-3d7914d9d841",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "9691f4f7-be6f-421a-adcc-60e2244a673b": {
      "main": [
        [
          {
            "node": "6f59e757-00c4-4605-b54f-cb9808ea7528",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "6f59e757-00c4-4605-b54f-cb9808ea7528": {
      "main": [
        [
          {
            "node": "2c3dedaa-9791-44c5-9b20-fcbada1f3658",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "f1bf713b-05bb-4a19-a80f-fe201833f4fa": {
      "main": [
        [
          {
            "node": "704ea445-c717-4adc-8211-3d7914d9d841",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "c17de175-e95e-4e88-bd42-52851656e3ba": {
      "main": [
        [
          {
            "node": "f1bf713b-05bb-4a19-a80f-fe201833f4fa",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "2c3dedaa-9791-44c5-9b20-fcbada1f3658": {
      "main": [
        [
          {
            "node": "df525ede-df99-49c2-a5e5-ae67b38ee9ff",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
よくある質問

このワークフローの使い方は?

上記のJSON設定コードをコピーし、n8nインスタンスで新しいワークフローを作成して「JSONからインポート」を選択、設定を貼り付けて認証情報を必要に応じて変更してください。

このワークフローはどんな場面に適していますか?

上級

有料ですか?

このワークフローは完全無料です。ただし、ワークフローで使用するサードパーティサービス(OpenAI APIなど)は別途料金が発生する場合があります。

ワークフロー情報
難易度
上級
ノード数18
カテゴリー-
ノードタイプ10
難易度説明

上級者向け、16ノード以上の複雑なワークフロー

作成者

Passionate AI Automation, Visualization and Data Fabric Consultant | Helping to Shape the Future of Business through Innovation

外部リンク
n8n.ioで表示

このワークフローを共有

カテゴリー

カテゴリー: 34