Automate Content Generator for WordPress with DeepSeek R1

Generate high-quality, SEO-optimized blog posts for your WordPress site automatically using DeepSeek R1 and DALL-E. This marketing workflow begins manually, fetching content ideas from a Google Sheet. It then leverages DeepSeek R1 to generate a full article and a compelling title based on your prompts, simultaneously using DALL-E to create a relevant image. The generated content and image are then published as a new post on your WordPress site, with the image uploaded and set as the featured image via HTTP requests, and finally, the Google Sheet is updated to reflect the completed post. This powerful automation is ideal for content marketers, bloggers, and small businesses looking to scale their content production without manual effort, significantly reducing the time and cost associated with content creation and publishing while maintaining a consistent online presence.

17 nodesmanual trigger70 views0 copiesMarketing
WordPressGoogle SheetsOpenAI

Workflow JSON

{"id": "p5bfwpcRy6LK33Io", "meta": {"instanceId": "a4bfc93e975ca233ac45ed7c9227d84cf5a2329310525917adaf3312e10d5462", "templateCredsSetupCompleted": true}, "name": "Automate Content Generator for WordPress with DeepSeek R1", "tags": [], "nodes": [{"id": "c4a6995f-7769-4b77-80ca-1e6bccef77c1", "name": "When clicking \u2018Test workflow\u2019", "type": "n8n-nodes-base.manualTrigger", "position": [-20, 200], "parameters": {}, "typeVersion": 1}, {"id": "c76b1458-5130-41e7-b2f2-1cfe22eab536", "name": "Get Ideas", "type": "n8n-nodes-base.googleSheets", "position": [200, 200], "parameters": {"options": {}, "sheetName": {"__rl": true, "mode": "id", "value": "=Sheet1"}, "documentId": {"__rl": true, "mode": "id", "value": "YOURDOCUMENT"}}, "credentials": {"googleSheetsOAuth2Api": {"id": "", "name": "[Your googleSheetsOAuth2Api]"}}, "typeVersion": 4.5}, {"id": "8d17a640-3e15-42e9-9481-e3291d395ccd", "name": "Set your prompt", "type": "n8n-nodes-base.set", "position": [420, 200], "parameters": {"options": {}, "assignments": {"assignments": [{"id": "3e8d2523-66aa-46fe-adcc-39dc78b9161e", "name": "prompt", "type": "string", "value": "={{ $json.PROMPT }}"}]}}, "typeVersion": 3.4}, {"id": "4f0e9065-b331-49ed-acd9-77c7c43e89a5", "name": "Create post on Wordpress", "type": "n8n-nodes-base.wordpress", "position": [0, 500], "parameters": {"title": "={{ $json.message.content }}", "additionalFields": {"status": "draft", "content": "={{ $('Generate article with DeepSeek').item.json.message.content }}"}}, "credentials": {"wordpressApi": {"id": "", "name": "[Your wordpressApi]"}}, "typeVersion": 1}, {"id": "cb85d980-9d60-4c85-8574-b46e4cc14341", "name": "Upload image", "type": "n8n-nodes-base.httpRequest", "position": [420, 500], "parameters": {"url": "https://YOURSITE.com/wp-json/wp/v2/media", "method": "POST", "options": {}, "sendBody": true, "contentType": "binaryData", "sendHeaders": true, "authentication": "predefinedCredentialType", "headerParameters": {"parameters": [{"name": "Content-Disposition", "value": "=attachment; filename=\"copertina-{{ $('Create post on Wordpress').item.json.id }}.jpg\""}]}, "inputDataFieldName": "data", "nodeCredentialType": "wordpressApi"}, "credentials": {"wordpressApi": {"id": "", "name": "[Your wordpressApi]"}, "wooCommerceApi": {"id": "", "name": "[Your wooCommerceApi]"}}, "typeVersion": 4.2}, {"id": "bc71ed8a-fe35-487a-b4cd-6b8c1b256763", "name": "Set Image", "type": "n8n-nodes-base.httpRequest", "position": [640, 500], "parameters": {"url": "=https://wp.test.7hype.com/wp-json/wp/v2/posts/{{ $('Create post on Wordpress').item.json.id }}", "method": "POST", "options": {}, "sendQuery": true, "authentication": "predefinedCredentialType", "queryParameters": {"parameters": [{"name": "featured_media", "value": "={{ $json.id }}"}]}, "nodeCredentialType": "wordpressApi"}, "credentials": {"wordpressApi": {"id": "", "name": "[Your wordpressApi]"}}, "typeVersion": 4.2}, {"id": "fbed2813-cc64-42a2-994f-3696e9d8d8fe", "name": "Update Sheet", "type": "n8n-nodes-base.googleSheets", "position": [880, 500], "parameters": {"columns": {"value": {"DATA": "={{ $now.format('dd/LL/yyyy') }}", "TITOLO": "={{ $('Generate title with DeepSeek').item.json.message.content }}", "ID POST": "={{ $('Create post on Wordpress').item.json.id }}", "row_number": "={{ $('Get Ideas').item.json.row_number }}"}, "schema": [{"id": "DATA", "type": "string", "display": true, "required": false, "displayName": "DATA", "defaultMatch": false, "canBeUsedToMatch": true}, {"id": "PROMPT", "type": "string", "display": true, "required": false, "displayName": "PROMPT", "defaultMatch": false, "canBeUsedToMatch": true}, {"id": "TITOLO", "type": "string", "display": true, "required": false, "displayName": "TITOLO", "defaultMatch": false, "canBeUsedToMatch": true}, {"id": "ID POST", "type": "string", "display": true, "required": false, "displayName": "ID POST", "defaultMatch": false, "canBeUsedToMatch": true}, {"id": "row_number", "type": "string", "display": true, "removed": false, "readOnly": true, "required": false, "displayName": "row_number", "defaultMatch": false, "canBeUsedToMatch": true}], "mappingMode": "defineBelow", "matchingColumns": ["row_number"], "attemptToConvertTypes": false, "convertFieldsToString": false}, "options": {}, "operation": "update", "sheetName": {"__rl": true, "mode": "list", "value": "gid=0", "cachedResultUrl": "https://docs.google.com/spreadsheets/d/16VFeCrE5BkMBoA_S5HD-9v7C0sxcXAUiDbq5JvkDqnI/edit#gid=0", "cachedResultName": "Foglio1"}, "documentId": {"__rl": true, "mode": "list", "value": "16VFeCrE5BkMBoA_S5HD-9v7C0sxcXAUiDbq5JvkDqnI", "cachedResultUrl": "https://docs.google.com/spreadsheets/d/16VFeCrE5BkMBoA_S5HD-9v7C0sxcXAUiDbq5JvkDqnI/edit?usp=drivesdk", "cachedResultName": "Plan Blog wp.test.7hype.com"}}, "credentials": {"googleSheetsOAuth2Api": {"id": "", "name": "[Your googleSheetsOAuth2Api]"}}, "typeVersion": 4.5}, {"id": "8db2b0cb-6d61-4e2d-bfac-e25a0385296d", "name": "Sticky Note", "type": "n8n-nodes-base.stickyNote", "position": [-60, -360], "parameters": {"color": 3, "width": 800, "height": 380, "content": "## Target\nThis workflow is designed to automatically generate seo-friendly content for wordpress through DeepSeek R1 by giving input ideas on how to structure the article. A cover image is also generated and uploaded with OpenAI DALL-E 3. This flow is designed to be executed automatically (ad \"On a schedule\" node) and thus have a complete editorial plan.\n\nThis process is useful for blog managers who want to automate content creation and publishing.\n\n## Preliminary step\nCreate a google sheet with the following columns:\n- Date\n- Prompt\n- Title\n- Post ID\n\nFill in only the \"Prompt\" column with basic ideas that DeepSeek will work on to generate the content."}, "typeVersion": 1}, {"id": "ab620659-558d-46f0-ab85-e061af99b743", "name": "Sticky Note1", "type": "n8n-nodes-base.stickyNote", "position": [140, 100], "parameters": {"height": 260, "content": "Connect with your Google Sheet. This node select only rows for which no content has been generated yet in WordPress"}, "typeVersion": 1}, {"id": "73b0e640-8ccf-4e29-a0cd-6340db907bbd", "name": "Generate article with DeepSeek", "type": "@n8n/n8n-nodes-langchain.openAi", "position": [640, 200], "parameters": {"modelId": {"__rl": true, "mode": "id", "value": "=deepseek-reasoner"}, "options": {"maxTokens": 2048}, "messages": {"values": [{"content": "=You are an SEO expert, write an article based on this topic:\n{{ $json.prompt }}\n\nInstructions:\n- In the introduction, introduce the topic that will be explored in the rest of the text\n- The introduction should be about 120 words\n- The conclusions should be about 120 words\n- Use the conclusions to summarize everything said in the article and offer a conclusion to the reader\n- Write a maximum of 4-5 chapters and argue them.\n- The chapters should follow a logical flow and not repeat the same concepts.\n- The chapters should be related to each other and not isolated blocks of text. The text should flow and follow a linear logic.\n- Do not start chapters with \"Chapter 1\", \"Chapter 2\", \"Chapter 3\" ... write only the chapter title\n- For the text, use HTML for formatting, but limit yourself to bold, italics, paragraphs and lists.\n- Don't put the output in ```html but only text\n- Don't use markdown for formatting.\n- Go deeper into the topic you're talking about, don't just throw superficial information there\n- In output I want only the HTML format"}]}}, "credentials": {"openAiApi": {"id": "", "name": "[Your openAiApi]"}}, "typeVersion": 1.8}, {"id": "6ef4e0d1-6123-4f47-94fb-c06c785ddd92", "name": "Generate title with DeepSeek", "type": "@n8n/n8n-nodes-langchain.openAi", "position": [880, 200], "parameters": {"modelId": {"__rl": true, "mode": "id", "value": "=deepseek-reasoner"}, "options": {"maxTokens": 2048}, "messages": {"values": [{"content": "=You are an SEO Copywriter and you need to think of a title of maximum 60 characters for the following article:\n{{ $json.message.content }}\n\nInstructions:\n- Use keywords contained in the article\n- Do not use any HTML characters\n- Output only the string containing the title.\n- Do not use quotation marks. The only special characters allowed are \":\" and \",\""}]}}, "credentials": {"openAiApi": {"id": "", "name": "[Your openAiApi]"}}, "typeVersion": 1.8}, {"id": "2ecc8514-c04e-4f8b-9ab3-560f2cf910b0", "name": "Sticky Note2", "type": "n8n-nodes-base.stickyNote", "position": [580, 100], "parameters": {"width": 420, "height": 260, "content": "Add your DeepSeek API credential. If you want you can change the model with \"deepseek-chat\""}, "typeVersion": 1}, {"id": "196f7799-a6ab-429b-afd3-bcbcbd65da3b", "name": "Sticky Note3", "type": "n8n-nodes-base.stickyNote", "position": [-20, 420], "parameters": {"width": 160, "height": 260, "content": "Add your WordPress API credential\n"}, "typeVersion": 1}, {"id": "93c2d359-531a-4cc9-8a18-870c2d6ec62c", "name": "Generate Image with DALL-E", "type": "@n8n/n8n-nodes-langchain.openAi", "position": [200, 500], "parameters": {"prompt": "=Generate a real photographic image used as a cover for a blog post:\n\nImage prompt:\n{{ $('Generate title with DeepSeek').item.json.message.content }}, photography, realistic, sigma 85mm f/1.4", "options": {"size": "1792x1024", "style": "natural", "quality": "hd"}, "resource": "image"}, "credentials": {"openAiApi": {"id": "", "name": "[Your openAiApi]"}}, "typeVersion": 1.8}, {"id": "eec14cd7-fb2b-4f7d-ad94-bcffc1249353", "name": "Sticky Note4", "type": "n8n-nodes-base.stickyNote", "position": [180, 420], "parameters": {"width": 160, "height": 260, "content": "Add your OpenAI API credential\n"}, "typeVersion": 1}, {"id": "4f15679b-bc8f-45b8-b3c4-8b43d7f9bb6f", "name": "Sticky Note5", "type": "n8n-nodes-base.stickyNote", "position": [380, 420], "parameters": {"width": 180, "height": 260, "content": "Upload the image on your WordPress via APIs\n"}, "typeVersion": 1}, {"id": "abe32434-671a-4ac3-a788-fcf5fd0e9435", "name": "Sticky Note6", "type": "n8n-nodes-base.stickyNote", "position": [600, 420], "parameters": {"width": 180, "height": 260, "content": "Set the uploaded image with the newly created article\n"}, "typeVersion": 1}], "active": false, "pinData": {}, "settings": {"executionOrder": "v1"}, "versionId": "315cc8df-bca2-4180-806e-a01407dccc79", "connections": {"Get Ideas": {"main": [[{"node": "Set your prompt", "type": "main", "index": 0}]]}, "Set Image": {"main": [[{"node": "Update Sheet", "type": "main", "index": 0}]]}, "Upload image": {"main": [[{"node": "Set Image", "type": "main", "index": 0}]]}, "Set your prompt": {"main": [[{"node": "Generate article with DeepSeek", "type": "main", "index": 0}]]}, "Create post on Wordpress": {"main": [[{"node": "Generate Image with DALL-E", "type": "main", "index": 0}]]}, "Generate Image with DALL-E": {"main": [[{"node": "Upload image", "type": "main", "index": 0}]]}, "Generate title with DeepSeek": {"main": [[{"node": "Create post on Wordpress", "type": "main", "index": 0}]]}, "Generate article with DeepSeek": {"main": [[{"node": "Generate title with DeepSeek", "type": "main", "index": 0}]]}, "When clicking \u2018Test workflow\u2019": {"main": [[{"node": "Get Ideas", "type": "main", "index": 0}]]}}}

How to Import This Workflow

  1. 1Copy the workflow JSON above using the Copy Workflow JSON button.
  2. 2Open your n8n instance and go to Workflows.
  3. 3Click Import from JSON and paste the copied workflow.

Don't have an n8n instance? Start your free trial at n8nautomation.cloud

Related Templates

Send specific PDF attachments from Gmail to Google Drive using OpenAI

Automatically extract and categorize specific PDF attachments from incoming Gmail emails and upload them to designated Google Drive folders based on their content, leveraging OpenAI's advanced text analysis capabilities. This marketing workflow begins with the Gmail trigger "On email received," which then checks if the email "Has attachments?" If attachments are present, the workflow iterates through them, identifying if each is a PDF. For each identified PDF, the "Read PDF" node extracts its textual content. This content is then evaluated by the "Is text within token limit?" node to ensure it's suitable for OpenAI processing. If within limits, the "OpenAI matches PDF textual content" node analyzes the text against predefined criteria. Based on whether the PDF is "matched" by OpenAI, the "Upload file to folder" node in Google Drive stores the relevant PDFs, while unmatched or non-PDF attachments are handled accordingly. This workflow is ideal for marketing teams needing to automatically sort client contracts, campaign reports, or specific vendor invoices received via email, ensuring critical documents are filed correctly without manual intervention. It significantly reduces the time spent on document organization and improves data accessibility, allowing teams to focus on strategic marketing initiatives rather than administrative tasks.

18 nodes

Auto categorize wordpress template

Automatically categorize your WordPress posts with the power of AI. This workflow connects your WordPress site with OpenAI's advanced language models to intelligently analyze your content and assign appropriate categories. When you manually trigger this workflow, it first retrieves all your WordPress posts using the "Get All Wordpress Posts" node. This data then flows into an AI Agent, which leverages the "OpenAI Chat Model" to understand the context and content of each post. Based on this analysis, the AI Agent then interacts with your WordPress site to update the categories of your posts, streamlining your content management. This is incredibly useful for bloggers, content marketers, and website administrators who manage large volumes of content and want to ensure their posts are consistently and accurately categorized without manual effort. It saves significant time and reduces the potential for human error in content organization, making your website more navigable and improving SEO.

9 nodes

Effortless Email Management with AI

Automate your email management by intelligently processing incoming messages, summarizing their content, and drafting personalized replies with AI. This powerful workflow connects your Gmail inbox via an IMAP trigger to a Text Classifier that categorizes emails, then uses OpenAI for summarization and drafting responses, and Qdrant for vector storage of relevant documents from Google Drive. It’s ideal for marketing teams, customer support, or busy professionals who need to efficiently handle high volumes of correspondence, saving significant time on reading, understanding, and responding to emails by leveraging AI to streamline communication and ensure timely, relevant replies. The system also allows for reviewing AI-generated drafts before sending, ensuring quality control while drastically reducing manual effort.

31 nodes

Ready to automate with n8n?

Get affordable managed n8n hosting with 24/7 support.