博客文章转换为多平台内容(GPT-4o、Unsplash 和 Airtable)
中级
这是一个Content Creation, Multimodal AI领域的自动化工作流,包含 14 个节点。主要使用 Code, Slack, Twitter, Airtable, LinkedIn 等节点。 使用 GPT-4o、Unsplash 和 Airtable 将博客文章转换为多平台内容
前置要求
- •Slack Bot Token 或 Webhook URL
- •Twitter API 凭证
- •Airtable API Key
- •LinkedIn API 凭证
- •可能需要目标 API 的认证凭证
- •OpenAI API Key
使用的节点 (14)
工作流预览
可视化展示节点连接关系,支持缩放和平移
导出工作流
复制以下 JSON 配置到 n8n 导入,即可使用此工作流
{
"meta": {
"instanceId": "d23ca638a83fba54c06ee57ee6430730afe25e4177b234d2a702bd83cbe8f349"
},
"nodes": [
{
"id": "573faa7c-5f37-404c-b02d-7bc722a5ec1b",
"name": "便签3",
"type": "n8n-nodes-base.stickyNote",
"position": [
11168,
11216
],
"parameters": {
"width": 912,
"height": 1056,
"content": "## 🤖 AI 内容再利用引擎"
},
"typeVersion": 1
},
{
"id": "dfd2b2e0-b0c5-4d35-9fe4-b57e8d29d60f",
"name": "新博客文章4",
"type": "n8n-nodes-base.rssFeedRead",
"position": [
12336,
11552
],
"parameters": {
"url": "https://yourblog.com/feed",
"options": {}
},
"typeVersion": 1.1
},
{
"id": "c874f911-4d0d-4c79-8f52-6171f4bec485",
"name": "获取完整内容4",
"type": "n8n-nodes-base.httpRequest",
"position": [
12544,
11552
],
"parameters": {
"url": "={{ $json.link }}",
"options": {
"response": {
"response": {
"responseFormat": "text"
}
}
}
},
"typeVersion": 4.2
},
{
"id": "239ce056-5b8e-4207-8935-f00a656b55df",
"name": "清理和提取内容4",
"type": "n8n-nodes-base.code",
"position": [
12768,
11552
],
"parameters": {
"jsCode": "// Extract and clean blog content\nconst html = $input.first().json.data;\nconst blogData = $('New Blog Post4').first().json;\n\n// Remove HTML tags\nconst cleanText = html\n .replace(/<script[^>]*>.*?<\\/script>/gi, '')\n .replace(/<style[^>]*>.*?<\\/style>/gi, '')\n .replace(/<[^>]+>/g, ' ')\n .replace(/\\s+/g, ' ')\n .trim();\n\n// Extract first 2000 chars for AI processing\nconst contentPreview = cleanText.substring(0, 2000);\n\nreturn {\n json: {\n title: blogData.title,\n url: blogData.link,\n author: blogData.creator || 'Unknown',\n published_date: blogData.pubDate,\n content: contentPreview,\n full_content: cleanText,\n excerpt: cleanText.substring(0, 300) + '...'\n }\n};"
},
"typeVersion": 2
},
{
"id": "9004171e-7be2-4010-82f9-0ebe2061b7f3",
"name": "AI 内容再利用链4",
"type": "@n8n/n8n-nodes-langchain.chainLlm",
"position": [
12992,
11552
],
"parameters": {
"text": "=You are a professional content marketer. Repurpose this blog post into 5 different formats optimized for social media platforms.\n\nBlog Title: {{ $json.title }}\nContent: {{ $json.content }}\nURL: {{ $json.url }}\n\nCreate the following in JSON format:\n\n{\n \"linkedin_post\": {\n \"text\": \"Professional LinkedIn post (1300 chars max, engaging hook, 3 key insights, CTA)\",\n \"hashtags\": [\"5 relevant hashtags\"]\n },\n \"twitter_thread\": {\n \"tweets\": [\n \"Tweet 1: Hook (280 chars)\",\n \"Tweet 2: Key point 1 (280 chars)\",\n \"Tweet 3: Key point 2 (280 chars)\",\n \"Tweet 4: Conclusion + link (280 chars)\"\n ],\n \"hashtags\": [\"3 trending hashtags\"]\n },\n \"instagram_caption\": {\n \"text\": \"Engaging Instagram caption (2000 chars max, storytelling format, emoji-friendly)\",\n \"hashtags\": [\"10 relevant hashtags\"],\n \"cta\": \"Call-to-action\"\n },\n \"email_snippet\": {\n \"subject\": \"Compelling email subject line\",\n \"preview_text\": \"Email preview text (100 chars)\",\n \"body\": \"Email newsletter section (300 words, conversational tone)\"\n },\n \"video_script\": {\n \"hook\": \"First 5 seconds hook for TikTok/YouTube Shorts\",\n \"main_points\": [\"3 key talking points\"],\n \"cta\": \"Ending call-to-action\",\n \"duration\": \"30-60 seconds\"\n }\n}\n\nEnsure each format:\n- Maintains the core message\n- Optimized for platform-specific best practices\n- Includes engaging hooks and CTAs\n- Uses appropriate tone for each platform",
"promptType": "define",
"hasOutputParser": true
},
"typeVersion": 1.4
},
{
"id": "6d293490-a188-4471-ad80-9ecd0567ce54",
"name": "OpenAI 聊天模型5",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"position": [
13008,
11824
],
"parameters": {
"model": "gpt-4o",
"options": {
"maxTokens": 3000,
"temperature": 0.7,
"responseFormat": "json_object"
}
},
"typeVersion": 1
},
{
"id": "b295aa4c-5df9-4f1a-a0aa-4b6bba6c3fe2",
"name": "结构化输出解析器5",
"type": "@n8n/n8n-nodes-langchain.outputParserStructured",
"position": [
13120,
11744
],
"parameters": {
"autoFix": true,
"schemaType": "manual",
"inputSchema": "{\n \"type\": \"object\",\n \"properties\": {\n \"linkedin_post\": {\n \"type\": \"object\",\n \"properties\": {\n \"text\": {\n \"type\": \"string\",\n \"description\": \"Professional LinkedIn post (1300 chars max)\"\n },\n \"hashtags\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n },\n \"description\": \"5 relevant hashtags\"\n }\n },\n \"required\": [\"text\", \"hashtags\"]\n },\n \"twitter_thread\": {\n \"type\": \"object\",\n \"properties\": {\n \"tweets\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n },\n \"description\": \"4 tweets, 280 chars each\"\n },\n \"hashtags\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n },\n \"description\": \"3 trending hashtags\"\n }\n },\n \"required\": [\"tweets\", \"hashtags\"]\n },\n \"instagram_caption\": {\n \"type\": \"object\",\n \"properties\": {\n \"text\": {\n \"type\": \"string\",\n \"description\": \"Engaging Instagram caption (2000 chars max)\"\n },\n \"hashtags\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n },\n \"description\": \"10 relevant hashtags\"\n },\n \"cta\": {\n \"type\": \"string\",\n \"description\": \"Call-to-action\"\n }\n },\n \"required\": [\"text\", \"hashtags\", \"cta\"]\n },\n \"email_snippet\": {\n \"type\": \"object\",\n \"properties\": {\n \"subject\": {\n \"type\": \"string\",\n \"description\": \"Compelling email subject line\"\n },\n \"preview_text\": {\n \"type\": \"string\",\n \"description\": \"Email preview text (100 chars)\"\n },\n \"body\": {\n \"type\": \"string\",\n \"description\": \"Email newsletter section (300 words)\"\n }\n },\n \"required\": [\"subject\", \"preview_text\", \"body\"]\n },\n \"video_script\": {\n \"type\": \"object\",\n \"properties\": {\n \"hook\": {\n \"type\": \"string\",\n \"description\": \"First 5 seconds hook\"\n },\n \"main_points\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n },\n \"description\": \"3 key talking points\"\n },\n \"cta\": {\n \"type\": \"string\",\n \"description\": \"Ending call-to-action\"\n },\n \"duration\": {\n \"type\": \"string\",\n \"description\": \"Video duration (30-60 seconds)\"\n }\n },\n \"required\": [\"hook\", \"main_points\", \"cta\", \"duration\"]\n }\n },\n \"required\": [\"linkedin_post\", \"twitter_thread\", \"instagram_caption\", \"email_snippet\", \"video_script\"]\n}"
},
"typeVersion": 1.3
},
{
"id": "6cc0265d-5c0f-491b-b575-7373e44fdca1",
"name": "结构化输出4",
"type": "n8n-nodes-base.code",
"position": [
13344,
11552
],
"parameters": {
"jsCode": "// Parse AI-generated content\nconst aiResponse = JSON.parse($input.first().json.text);\nconst blogData = $('Clean & Extract Content4').first().json;\n\nreturn {\n json: {\n // Original content\n original_title: blogData.title,\n original_url: blogData.url,\n published_date: blogData.published_date,\n \n // Repurposed content\n linkedin: aiResponse.linkedin_post,\n twitter: aiResponse.twitter_thread,\n instagram: aiResponse.instagram_caption,\n email: aiResponse.email_snippet,\n video: aiResponse.video_script,\n \n // Metadata\n repurposed_date: new Date().toISOString(),\n status: 'ready_for_review'\n }\n};"
},
"typeVersion": 2
},
{
"id": "f931e171-820d-46c9-95a6-c7d1c7d954d4",
"name": "获取图片 (Unsplash)4",
"type": "n8n-nodes-base.httpRequest",
"position": [
13552,
11552
],
"parameters": {
"url": "=https://api.unsplash.com/search/photos?query={{ $json.original_title.split(' ').slice(0, 3).join(' ') }}&per_page=3",
"options": {},
"authentication": "genericCredentialType",
"genericAuthType": "httpHeaderAuth"
},
"credentials": {
"httpHeaderAuth": {
"id": "exVxOWDpxBu7XVql",
"name": "nithichote.com header auth key"
}
},
"typeVersion": 4.2
},
{
"id": "e24a03c0-4cf6-4b89-aedf-17d6c26c8be3",
"name": "添加图片建议4",
"type": "n8n-nodes-base.code",
"position": [
13776,
11552
],
"parameters": {
"jsCode": "// Add image suggestions to content\nconst content = $('Structure Output4').first().json;\nconst images = $input.first().json.results || [];\n\nreturn {\n json: {\n ...content,\n suggested_images: images.slice(0, 3).map(img => ({\n url: img.urls.regular,\n thumb: img.urls.thumb,\n alt: img.alt_description,\n photographer: img.user.name,\n download_url: img.links.download\n }))\n }\n};"
},
"typeVersion": 2
},
{
"id": "b72f9a26-60e3-4764-8f92-9499481ac249",
"name": "通知内容团队4",
"type": "n8n-nodes-base.slack",
"position": [
14000,
11552
],
"webhookId": "347a6932-5b69-4a86-b033-6a591c84b0da",
"parameters": {
"text": "=📝 *New Content Ready for Multi-Platform Publishing*\n\n*Original Article:*\n• Title: {{ $json.original_title }}\n• URL: {{ $json.original_url }}\n• Published: {{ new Date($json.published_date).toLocaleDateString() }}\n\n*Repurposed Formats Ready:*\n✅ LinkedIn Post ({{ $json.linkedin.text.length }} chars)\n✅ Twitter Thread ({{ $json.twitter.tweets.length }} tweets)\n✅ Instagram Caption ({{ $json.instagram.text.length }} chars)\n✅ Email Newsletter Snippet\n✅ Video Script ({{ $json.video.duration }})\n\n*Preview - LinkedIn:*\n{{ $json.linkedin.text.substring(0, 200) }}...\n\n*Hashtags:* {{ $json.linkedin.hashtags.join(' ') }}\n\n*Suggested Images:* {{ $json.suggested_images.length }} options available\n\n👀 Review and approve to publish →",
"select": "channel",
"channelId": {
"__rl": true,
"mode": "id",
"value": "REPLACE_WITH_SLACK_CONTENT_CHANNEL_ID"
},
"otherOptions": {
"includeLinkToWorkflow": false
},
"authentication": "oAuth2"
},
"credentials": {
"slackOAuth2Api": {
"id": "AziwZo3O6NXOdbLM",
"name": "x-agent"
}
},
"typeVersion": 2.2
},
{
"id": "7f8ab89a-16f4-4084-9b26-7ae26aa74d94",
"name": "保存到内容库4",
"type": "n8n-nodes-base.airtable",
"position": [
14224,
11552
],
"parameters": {
"base": {
"__rl": true,
"mode": "id",
"value": "REPLACE_WITH_AIRTABLE_BASE_ID"
},
"table": {
"__rl": true,
"mode": "id",
"value": "REPLACE_WITH_AIRTABLE_TABLE_ID"
},
"columns": {
"value": {
"Status": "Pending Review",
"Email_Body": "={{ $json.email.body }}",
"Created_Date": "={{ $json.repurposed_date }}",
"Original_URL": "={{ $json.original_url }}",
"Video_Script": "={{ $json.video.main_points.join('\\n') }}",
"Email_Subject": "={{ $json.email.subject }}",
"LinkedIn_Post": "={{ $json.linkedin.text }}",
"Original_Title": "={{ $json.original_title }}",
"Twitter_Thread": "={{ $json.twitter.tweets.join('\\n\\n') }}",
"Instagram_Caption": "={{ $json.instagram.text }}",
"LinkedIn_Hashtags": "={{ $json.linkedin.hashtags.join(', ') }}",
"Instagram_Hashtags": "={{ $json.instagram.hashtags.join(', ') }}"
},
"mappingMode": "defineBelow"
},
"options": {},
"operation": "create"
},
"typeVersion": 2
},
{
"id": "1b3f2deb-15af-47d3-8ab2-5015142950ce",
"name": "发布到 LinkedIn (可选)4",
"type": "n8n-nodes-base.linkedIn",
"disabled": true,
"position": [
14432,
11456
],
"parameters": {
"text": "={{ $json.linkedin.text }}\\n\\n{{ $json.linkedin.hashtags.map(h => '#' + h).join(' ') }}\\n\\nRead more: {{ $json.original_url }}",
"additionalFields": {}
},
"typeVersion": 1
},
{
"id": "1105860e-c1cd-41ff-916e-7a7fff417d62",
"name": "发布到 Twitter (可选)4",
"type": "n8n-nodes-base.twitter",
"disabled": true,
"position": [
14432,
11664
],
"parameters": {
"text": "={{ $json.twitter.tweets[0] }}",
"additionalFields": {}
},
"typeVersion": 2
}
],
"pinData": {},
"connections": {
"New Blog Post4": {
"main": [
[
{
"node": "Fetch Full Content4",
"type": "main",
"index": 0
}
]
]
},
"Structure Output4": {
"main": [
[
{
"node": "Fetch Images (Unsplash)4",
"type": "main",
"index": 0
}
]
]
},
"OpenAI Chat Model5": {
"ai_languageModel": [
[
{
"node": "AI Content Repurposing Chain4",
"type": "ai_languageModel",
"index": 0
},
{
"node": "Structured Output Parser5",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"Fetch Full Content4": {
"main": [
[
{
"node": "Clean & Extract Content4",
"type": "main",
"index": 0
}
]
]
},
"Notify Content Team4": {
"main": [
[
{
"node": "Save to Content Library4",
"type": "main",
"index": 0
}
]
]
},
"Add Image Suggestions4": {
"main": [
[
{
"node": "Notify Content Team4",
"type": "main",
"index": 0
}
]
]
},
"Clean & Extract Content4": {
"main": [
[
{
"node": "AI Content Repurposing Chain4",
"type": "main",
"index": 0
}
]
]
},
"Fetch Images (Unsplash)4": {
"main": [
[
{
"node": "Add Image Suggestions4",
"type": "main",
"index": 0
}
]
]
},
"Save to Content Library4": {
"main": [
[
{
"node": "Post to LinkedIn (Optional)4",
"type": "main",
"index": 0
},
{
"node": "Post to Twitter (Optional)4",
"type": "main",
"index": 0
}
]
]
},
"Structured Output Parser5": {
"ai_outputParser": [
[
{
"node": "AI Content Repurposing Chain4",
"type": "ai_outputParser",
"index": 0
}
]
]
},
"AI Content Repurposing Chain4": {
"main": [
[
{
"node": "Structure Output4",
"type": "main",
"index": 0
}
]
]
}
}
}常见问题
如何使用这个工作流?
复制上方的 JSON 配置代码,在您的 n8n 实例中创建新工作流并选择「从 JSON 导入」,粘贴配置后根据需要修改凭证设置即可。
这个工作流适合什么场景?
中级 - 内容创作, 多模态 AI
需要付费吗?
本工作流完全免费,您可以直接导入使用。但请注意,工作流中使用的第三方服务(如 OpenAI API)可能需要您自行付费。
相关工作流推荐
GPT-4o:Twilio集成与自动跟进功能
GPT-4o:Twilio集成与自动跟进功能
If
Code
Wait
+11
21 节点Greypillar
内容创作
使用 GPT-4o、Clearbit、HubSpot CRM 和 Slack 提醒筛选和路由潜在客户
使用 GPT-4o、Clearbit、HubSpot CRM 和 Slack 提醒筛选和路由潜在客户
If
Code
Slack
+10
18 节点Greypillar
内容创作
内容生成器 v3
AI驱动博客自动化:使用GPT-4生成并发布SEO文章至WordPress和Twitter
If
Set
Code
+25
144 节点Jay Emp0
内容创作
WordPress + 社交媒体
基于GPT/Gemini和WordPress的自动化博客创建与多平台发布
If
Set
Switch
+18
44 节点Khairul Muhtadin
内容创作
使用Perplexity和GPT为WordPress创建SEO优化博客,包含关键词和媒体
使用Perplexity和GPT为WordPress创建SEO优化博客,包含关键词和媒体
Set
Code
Limit
+22
124 节点Paul
内容创作
使用特定工具为WordPress创建SEO优化博客
使用特定工具为WordPress创建SEO优化博客
Set
Code
Limit
+22
124 节点Paul
内容创作
工作流信息
难度等级
中级
节点数量14
分类2
节点类型11
作者
Greypillar
@greypillarWe design AI systems that fix hidden revenue leaks in service businesses. Every engagement starts with one guaranteed win in 30 days — no risk, just results.
外部链接
在 n8n.io 查看 →
分享此工作流