OpenAIブログ記事ライター
中級
これはContent Creation, Multimodal AI分野の自動化ワークフローで、10個のノードを含みます。主にCode, Sort, HttpRequest, ScheduleTrigger, OpenAiなどのノードを使用。 WooCommerce製品を基にGPT-4.1-miniでブログ記事を自動生成
前提条件
- •ターゲットAPIの認証情報が必要な場合あり
- •OpenAI API Key
ワークフロープレビュー
ノード接続関係を可視化、ズームとパンをサポート
ワークフローをエクスポート
以下のJSON設定をn8nにインポートして、このワークフローを使用できます
{
"id": "pgpdUduSobC5XGsE",
"meta": {
"instanceId": "256e0224567a81ad2d19d67041dccb4aba84a3ec55947042e28c6efa76b21434",
"templateCredsSetupCompleted": false
},
"name": "OpenAi Blog Post Writer",
"tags": [],
"nodes": [
{
"id": "af8cadb7-3d81-4a81-a41a-9232ccfe8791",
"name": "スケジュールトリガー",
"type": "n8n-nodes-base.scheduleTrigger",
"notes": "Change day and time schedule for the triggering of this node. ",
"position": [
-40,
-120
],
"parameters": {
"rule": {
"interval": [
{
"field": "hours",
"hoursInterval": 6,
"triggerAtMinute": 17
}
]
}
},
"typeVersion": 1.2
},
{
"id": "2ffc32c1-8abf-4e77-aa19-5b53a65ec359",
"name": "Woocommerce商品を取得",
"type": "n8n-nodes-base.httpRequest",
"notes": "Uses Basic Auth credentials to connect to the WooCommerce REST API.\n\n🛠️ Required:\n- Valid WooCommerce API key with Read permissions\n- Domain updated to match the current store\n- Basic Auth credentials selected from n8n credentials manager\n\n🔁 Behavior:\n- Pulls 100 products (paginated if needed)\n- Used as source input for downstream automation (e.g., blog post or sync)",
"position": [
240,
-200
],
"parameters": {
"url": "https://yourwebsite.com/wp-json/wc/v3/products?per_page=100",
"options": {},
"authentication": "genericCredentialType",
"genericAuthType": "httpBasicAuth"
},
"credentials": {
"httpBasicAuth": {
"id": "Basic Auth credentials",
"name": "Crednetials"
}
},
"notesInFlow": true,
"typeVersion": 4.2
},
{
"id": "626696fb-922e-4d7a-acbc-9d991f3d59c2",
"name": "GPT-4.1-MINIで選択した商品についてのブログ記事を作成",
"type": "@n8n/n8n-nodes-langchain.openAi",
"notes": "Change OpenAi credentials and adjust prompt and tone input. ",
"position": [
920,
-260
],
"parameters": {
"modelId": {
"__rl": true,
"mode": "list",
"value": "gpt-4.1-mini",
"cachedResultName": "GPT-4.1-MINI"
},
"options": {},
"messages": {
"values": [
{
"content": "=Write a fun, curiosity-driven blog post for the following product {{ $json.permalink }}. The post should appeal to people looking for quirky, unique, or thoughtful gifts—like birthdays, holidays, viral TikTok items, minimalist gifts, or AI-themed stuff. Make it casual, catchy, and shareable. Avoid sounding corporate. Only write one. INclude the link to the product in the post. "
}
]
}
},
"credentials": {
"openAiApi": {
"id": "OpenAi account",
"name": "OpenAi account"
}
},
"notesInFlow": true,
"typeVersion": 1.8
},
{
"id": "fd64d732-62f4-4c63-a53e-4ca352437bf2",
"name": "Wordpressに公開",
"type": "n8n-nodes-base.httpRequest",
"notes": "Select basic auth credentials and adjust domain name as needed. ",
"position": [
1600,
-320
],
"parameters": {
"url": "https://yourwebsite.com/wp-json/wp/v2/posts",
"method": "POST",
"options": {},
"sendBody": true,
"authentication": "genericCredentialType",
"bodyParameters": {
"parameters": [
{
"name": "title",
"value": "={{$json[\"title\"]}}"
},
{
"name": "content",
"value": "={{ $json.content }}"
},
{
"name": "excerpt",
"value": "={{ $json.excerpt }}"
},
{
"name": "slug",
"value": "={{$json[\"slug\"]}}"
},
{
"name": "status",
"value": "publish"
},
{
"name": "categories[0]",
"value": "1"
}
]
},
"genericAuthType": "httpBasicAuth"
},
"credentials": {
"httpBasicAuth": {
"id": "Your Crednetials",
"name": "Your Credentials"
}
},
"notesInFlow": true,
"typeVersion": 4.2
},
{
"id": "204cfa52-1c8b-4bf0-b645-28913c6fbd18",
"name": "1件のみ返却",
"type": "n8n-nodes-base.code",
"position": [
700,
-220
],
"parameters": {
"jsCode": "// Pass through the first item only\nreturn items[0];\n"
},
"typeVersion": 2
},
{
"id": "d901393d-555d-4ba7-a5ea-6d2626bccca2",
"name": "付箋",
"type": "n8n-nodes-base.stickyNote",
"position": [
180,
-300
],
"parameters": {
"content": "Pull 100 Woocommerce Products. Set shop's authentication credentials here. "
},
"typeVersion": 1
},
{
"id": "b23f799e-df15-4a67-a818-9d5619a61d38",
"name": "付箋1",
"type": "n8n-nodes-base.stickyNote",
"position": [
900,
-340
],
"parameters": {
"width": 380,
"content": "Create blog post about selected product via OpenAi. Set OpenAi credentials here. "
},
"typeVersion": 1
},
{
"id": "9c18e11d-48a1-4b1a-b5ac-3872407678c4",
"name": "商品をランダムに並び替え",
"type": "n8n-nodes-base.sort",
"position": [
500,
-200
],
"parameters": {
"type": "random"
},
"typeVersion": 1
},
{
"id": "8cf8ef2f-6e3e-47e5-a7d2-d48e98bf2217",
"name": "公開用に記事をフォーマット",
"type": "n8n-nodes-base.code",
"position": [
1320,
-300
],
"parameters": {
"jsCode": "const raw = $input.first().json.message.content || \"\";\n\nif (!raw) {\n throw new Error(\"No content found in 'content' field.\");\n}\n\n// Extract title and content\nlet title = \"\";\nlet content = \"\";\n\nif (raw.includes(\"\\n\\n\")) {\n const [maybeTitle, ...rest] = raw.split(\"\\n\\n\");\n if (maybeTitle.length < 120) {\n title = maybeTitle.trim();\n content = rest.join(\"\\n\\n\").trim();\n } else {\n content = raw.trim();\n }\n} else {\n content = raw.trim();\n}\n\nif (!title) {\n const firstLine = content.split(\"\\n\")[0];\n if (firstLine.length < 120) {\n title = firstLine.trim();\n content = content.replace(firstLine, \"\").trim();\n } else {\n title = \"Untitled Blog Post\";\n }\n}\n\n// Slugify\nconst slug = title\n .toLowerCase()\n .replace(/[^a-z0-9]+/g, \"-\")\n .replace(/(^-|-$)/g, \"\");\n\n// Excerpt: first ~30 words\nconst excerpt = content.split(/\\s+/).slice(0, 30).join(\" \") + \"...\";\n\nreturn [\n {\n json: {\n title,\n slug,\n excerpt,\n content,\n },\n },\n];\n"
},
"typeVersion": 2
},
{
"id": "4ff33de0-46c5-4609-85fa-d0c396dd185e",
"name": "付箋2",
"type": "n8n-nodes-base.stickyNote",
"position": [
1460,
-360
],
"parameters": {
"width": 260,
"content": "Set your Wordpress authentication credentials here. "
},
"typeVersion": 1
}
],
"active": false,
"pinData": {},
"settings": {
"executionOrder": "v1"
},
"versionId": "8102db42-7cef-4061-9600-a5526abd94f2",
"connections": {
"204cfa52-1c8b-4bf0-b645-28913c6fbd18": {
"main": [
[
{
"node": "626696fb-922e-4d7a-acbc-9d991f3d59c2",
"type": "main",
"index": 0
}
]
]
},
"af8cadb7-3d81-4a81-a41a-9232ccfe8791": {
"main": [
[
{
"node": "2ffc32c1-8abf-4e77-aa19-5b53a65ec359",
"type": "main",
"index": 0
}
]
]
},
"9c18e11d-48a1-4b1a-b5ac-3872407678c4": {
"main": [
[
{
"node": "204cfa52-1c8b-4bf0-b645-28913c6fbd18",
"type": "main",
"index": 0
}
]
]
},
"2ffc32c1-8abf-4e77-aa19-5b53a65ec359": {
"main": [
[
{
"node": "9c18e11d-48a1-4b1a-b5ac-3872407678c4",
"type": "main",
"index": 0
}
]
]
},
"8cf8ef2f-6e3e-47e5-a7d2-d48e98bf2217": {
"main": [
[
{
"node": "fd64d732-62f4-4c63-a53e-4ca352437bf2",
"type": "main",
"index": 0
}
]
]
},
"626696fb-922e-4d7a-acbc-9d991f3d59c2": {
"main": [
[
{
"node": "8cf8ef2f-6e3e-47e5-a7d2-d48e98bf2217",
"type": "main",
"index": 0
}
]
]
}
}
}よくある質問
このワークフローの使い方は?
上記のJSON設定コードをコピーし、n8nインスタンスで新しいワークフローを作成して「JSONからインポート」を選択、設定を貼り付けて認証情報を必要に応じて変更してください。
このワークフローはどんな場面に適していますか?
中級 - コンテンツ作成, マルチモーダルAI
有料ですか?
このワークフローは完全無料です。ただし、ワークフローで使用するサードパーティサービス(OpenAI APIなど)は別途料金が発生する場合があります。
関連ワークフロー
OpenAI → Ghostブログ
GPT-4基の自動ブログ記事生成とGhost CMSへの公開
Code
Http Request
Schedule Trigger
+
Code
Http Request
Schedule Trigger
8 ノードThomas
コンテンツ作成
WordpressとChatGPTを使用したブログ記事の自動生成
WordPressコンテンツに対応したタイマーやトリガーによるAIブログ記事ジェネレーター
Xml
Code
Wordpress
+
Xml
Code
Wordpress
19 ノードCadu | Ei, Doc!
コンテンツ作成
AI駆動型動画制作&Instagram/TikTok/YouTubeへの自動アップロード
クラウドドライブからAI駆動の動画作成およびInstagram、TikTok、YouTubeへのアップロード
If
Set
Code
+
If
Set
Code
53 ノードDevCode Journey
コンテンツ作成
YouTube動画からDumpling AIを使用してプラットフォーム固有の投稿を自動生成
GPT-4oとDumpling AIを使ってYouTube動画からInstagram、Facebook、LinkedInの投稿を自動生成
Set
Code
Merge
+
Set
Code
Merge
20 ノードYang
コンテンツ作成
ブログ記事:エコシステムのトレンド
Perplexity、GPT、LeonardoとWordPressを使用してSEOブログ記事を自動生成
If
Code
Wait
+
If
Code
Wait
19 ノードCristian Tala Sánchez
コンテンツ作成
キーワードからGPT-5とfal.ai画像を使ってWordPressまで自動SEOブログ生成のプロセス
GPT-5とfal.ai画像を使用したキーワードからWordPressへのSEOブログ自動化プロセス
Set
Code
Wait
+
Set
Code
Wait
96 ノードPaul
コンテンツ作成