AutomationFlowsAI & RAG › Create Ai-generated Social Media Posts From RSS Feeds with Gpt-5 and Jsoncut

Create Ai-generated Social Media Posts From RSS Feeds with Gpt-5 and Jsoncut

By8Automator @kesim0 on n8n.io

Automatically create and publish ready-to-post social media news updates — all powered by AI. This workflow turns any RSS feed into professional, branded posts, complete with visuals and captions.

Event trigger★★★★☆ complexityAI-powered24 nodesHTTP RequestStop And ErrorRss Feed Read TriggerOpenAI@Blotato/N8N Nodes Blotato
AI & RAG Trigger: Event Nodes: 24 Complexity: ★★★★☆ AI nodes: yes Added:
Create Ai-generated Social Media Posts From RSS Feeds with Gpt-5 and Jsoncut — n8n workflow card showing HTTP Request, Stop And Error, Rss Feed Read Trigger integration

This workflow corresponds to n8n.io template #9590 — we link there as the canonical source.

This workflow follows the Blotaton8N Nodes Blotato → HTTP Request 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 →

Download .json
{
  "id": "6sUDUla47A6KusB5",
  "meta": {
    "templateCredsSetupCompleted": true
  },
  "name": "Template-Jsoncut-rss-to-post",
  "tags": [
    {
      "id": "4f5HsQRwHRxYIUuf",
      "name": "jsoncut",
      "createdAt": "2025-10-12T07:39:06.742Z",
      "updatedAt": "2025-10-12T07:39:06.742Z"
    }
  ],
  "nodes": [
    {
      "id": "9d5b9817-93c7-42c4-8da9-81c5c1c02f73",
      "name": "Wait",
      "type": "n8n-nodes-base.wait",
      "position": [
        112,
        80
      ],
      "parameters": {
        "unit": "seconds",
        "amount": 3
      },
      "typeVersion": 1
    },
    {
      "id": "a9b88701-da61-43bf-b0d7-53b2663e72af",
      "name": "If Success",
      "type": "n8n-nodes-base.if",
      "position": [
        528,
        80
      ],
      "parameters": {
        "conditions": {
          "string": [
            {
              "value1": "={{ $json.data.status }}",
              "value2": "COMPLETED"
            }
          ]
        }
      },
      "typeVersion": 1
    },
    {
      "id": "30ac196e-564a-48c4-9f44-271eac827bac",
      "name": "If Error",
      "type": "n8n-nodes-base.if",
      "position": [
        544,
        336
      ],
      "parameters": {
        "conditions": {
          "string": [
            {
              "value1": "={{ $json.data.status }}",
              "value2": "FAILED"
            },
            {
              "value1": "={{ $json.data.status }}",
              "value2": "CANCELLED"
            }
          ]
        }
      },
      "typeVersion": 1
    },
    {
      "id": "90295a9f-6e2c-4c99-b009-7efddc24d4b7",
      "name": "Download Image",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        704,
        64
      ],
      "parameters": {
        "url": "=https://api.jsoncut.com/api/v1/files/{{ $json.data.outputFileId }}/download",
        "options": {
          "response": {
            "response": {
              "responseFormat": "file"
            }
          }
        },
        "sendHeaders": true,
        "authentication": "genericCredentialType",
        "genericAuthType": "httpHeaderAuth",
        "headerParameters": {
          "parameters": [
            {
              "name": "Accept",
              "value": "application/octet-stream"
            }
          ]
        }
      },
      "credentials": {
        "httpHeaderAuth": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 4.1
    },
    {
      "id": "829c9892-ae21-45ed-9ff0-d64db3642d12",
      "name": "Error Stop",
      "type": "n8n-nodes-base.stopAndError",
      "position": [
        736,
        352
      ],
      "parameters": {
        "errorMessage": "Failed to generate image"
      },
      "typeVersion": 1
    },
    {
      "id": "4bffc896-ff22-4a16-bcab-87e8d05ee037",
      "name": "Aggregate",
      "type": "n8n-nodes-base.aggregate",
      "position": [
        1328,
        -240
      ],
      "parameters": {
        "options": {},
        "fieldsToAggregate": {
          "fieldToAggregate": [
            {
              "fieldToAggregate": "data.storageUrl"
            },
            {}
          ]
        }
      },
      "typeVersion": 1
    },
    {
      "id": "586499e1-a938-4583-b660-39203040abb5",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        848,
        -528
      ],
      "parameters": {
        "width": 272,
        "height": 416,
        "content": "### Upload Files to JsonCut API"
      },
      "typeVersion": 1
    },
    {
      "id": "21bf3d04-e743-4d63-9c68-0dc843c7cf94",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -160,
        0
      ],
      "parameters": {
        "color": 4,
        "width": 1104,
        "height": 576,
        "content": "### Create Job with Jsoncut API and wait for the result\nAlternatively, the JsonCut Community node can also be used (https://github.com/jsoncut/n8n-nodes-jsoncut)."
      },
      "typeVersion": 1
    },
    {
      "id": "02264c63-4392-4aeb-b51e-b4a3669f3cbd",
      "name": "Create JsonCut Job",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        -112,
        80
      ],
      "parameters": {
        "url": "https://api.jsoncut.com/api/v1/jobs",
        "method": "POST",
        "options": {},
        "jsonBody": "={\n  \"type\": \"image\",\n  \"config\": {\n    \"width\": 1024,\n    \"height\": 1024,\n    \"layers\": [\n      {\n        \"type\": \"image\",\n        \"path\": \"{{ $json.storageUrl[0] }}\",\n        \"position\": \"center\",\n        \"width\": 1024,\n        \"height\": 1024,\n        \"fit\": \"cover\",\n        \"blur\": 3\n      },\n      { \"type\": \"rectangle\",\n        \"width\": 300,\n        \"fill\": \"#6be3a2\",\n        \"height\": 3,\n        \"position\": {\n          \"originX\": \"right\",\n          \"originY\": \"center\",\n          \"x\": 0.4,\n          \"y\": 0.5\n        }\n      },\n      { \"type\": \"rectangle\",\n        \"width\": 300,\n        \"fill\": \"#6be3a2\",\n        \"height\": 3,\n        \"position\": {\n          \"originX\": \"left\",\n          \"originY\": \"center\",\n          \"x\": 0.6,\n          \"y\": 0.5\n        }\n      },\n      {\n        \"type\": \"image\",\n        \"path\": \"{{ $json.storageUrl[1] }}\",\n        \"position\": \"center\",\n        \"width\": 100,\n        \"height\": 100,\n        \"fit\": \"contain\"\n      },\n      {\n        \"type\": \"text\",\n        \"text\": \"{{ $('Generate content and Image Prompt').item.json.message.content.headline }}\",\n        \"googleFont\": \"Roboto:800\",\n        \"width\": 800,\n        \"position\": {\n          \"x\": 0.5,\n          \"y\": 0.6,\n          \"originX\": \"center\",\n          \"originY\": \"top\"\n        },\n        \"wrap\": true,\n        \"fontSize\": 75,\n        \"color\": \"#6be3a2\",\n        \"align\": \"center\"\n      },\n      {\n        \"type\": \"text\",\n        \"text\": \"source: bbc\",\n        \"position\": {\n          \"x\": 0.95,\n          \"y\": 0.95,\n          \"originX\": \"right\",\n          \"originY\": \"bottom\"\n        },\n        \"fontSize\": 16,\n        \"color\": \"#FFFFFF\",\n        \"align\": \"right\",\n        \"fontFamily\": \"Arial\"\n      }\n    ],\n    \"format\": \"png\"\n  }\n}",
        "sendBody": true,
        "sendHeaders": true,
        "specifyBody": "json",
        "authentication": "genericCredentialType",
        "genericAuthType": "httpHeaderAuth",
        "headerParameters": {
          "parameters": [
            {
              "name": "Content-Type",
              "value": "application/json"
            },
            {
              "name": "Accept",
              "value": "application/json"
            }
          ]
        }
      },
      "credentials": {
        "httpHeaderAuth": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 4.1
    },
    {
      "id": "d3db3b31-7eb6-4fd1-a1a3-e4ff65e1cadd",
      "name": "Check JsonCut job Status",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        336,
        80
      ],
      "parameters": {
        "url": "=https://api.jsoncut.com/api/v1/jobs/{{ $json.data.jobId }}",
        "options": {},
        "sendHeaders": true,
        "authentication": "genericCredentialType",
        "genericAuthType": "httpHeaderAuth",
        "headerParameters": {
          "parameters": [
            {
              "name": "Accept",
              "value": "application/json"
            }
          ]
        }
      },
      "credentials": {
        "httpHeaderAuth": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 4.1
    },
    {
      "id": "15ebe906-b661-487d-8556-7c3a4c347ea0",
      "name": "RSS Feed Trigger",
      "type": "n8n-nodes-base.rssFeedReadTrigger",
      "position": [
        -368,
        -448
      ],
      "parameters": {
        "feedUrl": "https://feeds.bbci.co.uk/news/world/rss.xml",
        "pollTimes": {
          "item": [
            {
              "mode": "everyMinute"
            }
          ]
        }
      },
      "typeVersion": 1
    },
    {
      "id": "a32af513-0c7e-4916-a33e-9fd8dbcaa25f",
      "name": "Generate content and Image Prompt",
      "type": "@n8n/n8n-nodes-langchain.openAi",
      "position": [
        -96,
        -448
      ],
      "parameters": {
        "modelId": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-5-mini",
          "cachedResultName": "GPT-5-MINI"
        },
        "options": {},
        "messages": {
          "values": [
            {
              "content": "=You are a professional news writer and social media strategist.\n\nYou will receive:\n- headline: {{ $json.title }}\n- content: {{ $json.content }}\n\nYour task:\nCreate content for an Instagram image post based on this news article.\n\nOutput a JSON object with the following fields:\n\n1. \"headline\" \u2192 Rewrite or shorten the given headline so it is optimized for Instagram.  \n   - Maximum 100 characters or 12 words.  \n   - It should be attention-grabbing, emotionally engaging, and suitable for social media.\n\n2. \"image_prompt\" \u2192 Write a short descriptive prompt for an AI image generator that would produce a background image for the post.  \n   - The image should visually represent the article\u2019s topic.  \n   - Describe the mood, setting, style, and main elements clearly.  \n   - Do NOT include any text or words in the image.\n\nOutput only a valid JSON object like this:\n{\n  \"headline\": \"...\",\n  \"image_prompt\": \"...\"\n}\n"
            }
          ]
        },
        "jsonOutput": true
      },
      "credentials": {
        "openAiApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1.8
    },
    {
      "id": "7e7cf07c-c99e-4a96-9ca6-24feeb3a2c6a",
      "name": "Generate Background Image",
      "type": "@n8n/n8n-nodes-langchain.openAi",
      "position": [
        240,
        -448
      ],
      "parameters": {
        "prompt": "={{ $json.message.content.image_prompt }}",
        "options": {
          "size": "1024x1024",
          "returnImageUrls": true
        },
        "resource": "image"
      },
      "credentials": {
        "openAiApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1.8
    },
    {
      "id": "f12a391a-7c8d-4541-8afe-db3701cc6ecd",
      "name": "Upload logo",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        928,
        -272
      ],
      "parameters": {
        "url": "https://api.jsoncut.com/api/v1/files/upload",
        "method": "POST",
        "options": {},
        "sendBody": true,
        "contentType": "multipart-form-data",
        "sendHeaders": true,
        "authentication": "genericCredentialType",
        "bodyParameters": {
          "parameters": [
            {
              "name": "file",
              "parameterType": "formBinaryData",
              "inputDataFieldName": "data"
            }
          ]
        },
        "genericAuthType": "httpHeaderAuth",
        "headerParameters": {
          "parameters": [
            {
              "name": "Accept",
              "value": "application/json"
            }
          ]
        }
      },
      "credentials": {
        "httpHeaderAuth": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 4.1
    },
    {
      "id": "6a7eea70-9474-4971-a54b-02cfdca2252a",
      "name": "Download Logo",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        608,
        -272
      ],
      "parameters": {
        "url": "https://img.icons8.com/?size=100&id=tn7B1mGNMgGC&format=png&color=000000",
        "options": {}
      },
      "typeVersion": 4.2
    },
    {
      "id": "255aceb2-d4d8-4896-ae0c-4023d7f7e184",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        560,
        -528
      ],
      "parameters": {
        "color": 5,
        "width": 272,
        "height": 416,
        "content": "### Download ressources"
      },
      "typeVersion": 1
    },
    {
      "id": "6739c191-19e8-4a53-b9fd-b88811f76703",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -176,
        -512
      ],
      "parameters": {
        "color": 3,
        "width": 624,
        "height": 320,
        "content": "### Generate Text and Background with AI"
      },
      "typeVersion": 1
    },
    {
      "id": "e9c51119-ac5e-4d09-89b5-b6ae4ea7ef52",
      "name": "Download Background",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        608,
        -448
      ],
      "parameters": {
        "url": "={{ $json.url }}",
        "options": {}
      },
      "typeVersion": 4.2
    },
    {
      "id": "0f3cdcce-fb3a-400d-a724-cce8184eb31d",
      "name": "Merge",
      "type": "n8n-nodes-base.merge",
      "position": [
        1184,
        -288
      ],
      "parameters": {},
      "typeVersion": 3.2
    },
    {
      "id": "a2d63bfc-04a0-4898-91ba-995a8b4b3ce7",
      "name": "Upload Background",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        928,
        -448
      ],
      "parameters": {
        "url": "https://api.jsoncut.com/api/v1/files/upload",
        "method": "POST",
        "options": {
          "redirect": {
            "redirect": {}
          }
        },
        "sendBody": true,
        "contentType": "multipart-form-data",
        "sendHeaders": true,
        "authentication": "genericCredentialType",
        "bodyParameters": {
          "parameters": [
            {
              "name": "file",
              "parameterType": "formBinaryData",
              "inputDataFieldName": "data"
            }
          ]
        },
        "genericAuthType": "httpHeaderAuth",
        "headerParameters": {
          "parameters": [
            {
              "name": "Accept",
              "value": "application/json"
            }
          ]
        }
      },
      "credentials": {
        "httpHeaderAuth": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "92276ce9-9fa9-430c-b4d1-8bef02df282b",
      "name": "Upload media",
      "type": "@blotato/n8n-nodes-blotato.blotato",
      "position": [
        1088,
        96
      ],
      "parameters": {
        "resource": "media",
        "useBinaryData": true
      },
      "credentials": {
        "blotatoApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 2,
      "alwaysOutputData": false
    },
    {
      "id": "87f5a46c-4b67-4c56-9400-502d70831730",
      "name": "Create Instagram Text",
      "type": "@n8n/n8n-nodes-langchain.openAi",
      "position": [
        1232,
        96
      ],
      "parameters": {
        "modelId": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-5-mini",
          "cachedResultName": "GPT-5-MINI"
        },
        "options": {},
        "messages": {
          "values": [
            {
              "content": "=You are a professional social media copywriter creating engaging Instagram post texts for a **news account**.\n\nYou will be given:  \n- **Headline:** `{{ $('RSS Feed Trigger').item.json.title }}`  \n- **Short Description:** `{{ $('RSS Feed Trigger').item.json.content }}`  \n\nYour task:  \nWrite a compelling Instagram post text that:  \n- Uses the provided information to create an engaging and natural caption.  \n- **Does not** copy the headline or description word-for-word \u2014 rephrase and expand them instead.  \n- Provides a bit more **context or background** about the news to make it interesting.  \n- Starts with a **hook or attention-grabber**, followed by a **short explanation**, and ends with a **call to action or reflection** (e.g., \u201cWhat do you think?\u201d, \u201cShare your thoughts below!\u201d).  \n- Has a tone that fits **Instagram**: professional yet conversational and relatable.  \n- **Avoids repeating** the headline literally, since it already appears on the image.  \n- The output must be in **valid JSON format** with **one field** only.\n\n---\n\n**Output Format**\n```json\n{\n  \"post_text\": \"Your generated Instagram caption here.\"\n}\n```\n\n**Example Output**\n```\n{\n  \"post_text\": \"Big news in tech! \ud83d\ude80 A leading company has just unveiled an AI solution designed to help small businesses automate their daily work. This could completely change how many teams operate. What\u2019s your take on this innovation? \ud83d\udcad\ud83d\udc47\"\n}\n```"
            }
          ]
        }
      },
      "credentials": {
        "openAiApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1.8
    },
    {
      "id": "5e34a19a-c8d1-4eda-9a1f-a8abbdcca53d",
      "name": "Create Instagram post",
      "type": "@blotato/n8n-nodes-blotato.blotato",
      "position": [
        1568,
        96
      ],
      "parameters": {
        "options": {},
        "accountId": {
          "__rl": true,
          "mode": "id",
          "value": "1234"
        },
        "postContentText": "={{ $json.message.content }}",
        "postContentMediaUrls": "={{ $('Upload media').item.json.data[0].url }}"
      },
      "credentials": {
        "blotatoApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 2
    },
    {
      "id": "479b1471-66aa-42c5-a65d-a14b05b8ada2",
      "name": "Sticky Note4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        992,
        0
      ],
      "parameters": {
        "width": 784,
        "height": 256,
        "content": "### Post on Instagram\nAdditional social media channels can be added here."
      },
      "typeVersion": 1
    }
  ],
  "active": false,
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "712ad656-2512-4b71-a773-f479187d4db5",
  "connections": {
    "Wait": {
      "main": [
        [
          {
            "node": "Check JsonCut job Status",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Merge": {
      "main": [
        [
          {
            "node": "Aggregate",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "If Error": {
      "main": [
        [
          {
            "node": "Error Stop",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Wait",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Aggregate": {
      "main": [
        [
          {
            "node": "Create JsonCut Job",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "If Success": {
      "main": [
        [
          {
            "node": "Download Image",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "If Error",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Upload logo": {
      "main": [
        [
          {
            "node": "Merge",
            "type": "main",
            "index": 1
          }
        ]
      ]
    },
    "Upload media": {
      "main": [
        [
          {
            "node": "Create Instagram Text",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Download Logo": {
      "main": [
        [
          {
            "node": "Upload logo",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Download Image": {
      "main": [
        [
          {
            "node": "Upload media",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "RSS Feed Trigger": {
      "main": [
        [
          {
            "node": "Generate content and Image Prompt",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Upload Background": {
      "main": [
        [
          {
            "node": "Merge",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Create JsonCut Job": {
      "main": [
        [
          {
            "node": "Wait",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Download Background": {
      "main": [
        [
          {
            "node": "Upload Background",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Create Instagram Text": {
      "main": [
        [
          {
            "node": "Create Instagram post",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Check JsonCut job Status": {
      "main": [
        [
          {
            "node": "If Success",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Generate Background Image": {
      "main": [
        [
          {
            "node": "Download Background",
            "type": "main",
            "index": 0
          },
          {
            "node": "Download Logo",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Generate content and Image Prompt": {
      "main": [
        [
          {
            "node": "Generate Background Image",
            "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.

Pro

For the full experience including quality scoring and batch install features for each workflow upgrade to Pro

About this workflow

Automatically create and publish ready-to-post social media news updates — all powered by AI. This workflow turns any RSS feed into professional, branded posts, complete with visuals and captions.

Source: https://n8n.io/workflows/9590/ — original creator credit. Request a take-down →

More AI & RAG workflows → · Browse all categories →

Related workflows

Workflows that share integrations, category, or trigger type with this one. All free to copy and import.

AI & RAG

The AI-Powered Cold Call Machine is a fully automated workflow designed to generate qualified leads from LinkedIn, evaluate them using AI-based scoring, identify key decision-makers, and generate pers

HTTP Request, Google Sheets, OpenAI +1
AI & RAG

This workflow contains community nodes that are only compatible with the self-hosted version of n8n.

Airtable, OpenAI, Form Trigger +3
AI & RAG

This workflow is designed for content creators, agencies, influencers, and automation builders who want to transform viral videos into personalized avatar-based edits — and automatically publish them

Telegram Trigger, Telegram, HTTP Request +3
AI & RAG

This workflow is designed for SEO professionals, digital agencies, content creators, and WordPress site owners who want to improve their search engine rankings automatically. It’s also perfect for cur

OpenAI, Google Sheets, XML +3
AI & RAG

This workflow is perfect for eCommerce brands, content creators, and marketing teams who want to automatically generate short, eye-catching videos from their product images — without editing software

Telegram Trigger, HTTP Request, Telegram +2