GPT-4 と Dumpling AI を使用して Telegram から LinkedIn コンテンツを作成
上級
これはMiscellaneous, Multimodal AI分野の自動化ワークフローで、16個のノードを含みます。主にSet, Switch, Airtable, Telegram, Agentなどのノードを使用。 Whisper、GPT-4、そして Dumpling AI を使って Telegram から LinkedIn コンテンツを生成
前提条件
- •Airtable API Key
- •Telegram Bot Token
- •ターゲットAPIの認証情報が必要な場合あり
- •OpenAI API Key
使用ノード (16)
ワークフロープレビュー
ノード接続関係を可視化、ズームとパンをサポート
ワークフローをエクスポート
以下のJSON設定をn8nにインポートして、このワークフローを使用できます
{
"id": "BwphfgLq7SKpdkOy",
"meta": {
"instanceId": "a1ae5c8dc6c65e674f9c3947d083abcc749ef2546dff9f4ff01de4d6a36ebfe6",
"templateCredsSetupCompleted": true
},
"name": "Create LinkedIn Content from Telegram using GPT-4 and Dumpling AI",
"tags": [],
"nodes": [
{
"id": "8a311ea8-7047-444e-b389-d2a46321d29a",
"name": "シンプルメモリ",
"type": "@n8n/n8n-nodes-langchain.memoryBufferWindow",
"position": [
464,
304
],
"parameters": {
"sessionKey": "={{ $('Receive Telegram Input').item.json.message.from.username }}",
"sessionIdType": "customKey"
},
"typeVersion": 1.3
},
{
"id": "6a7b3fdf-7b5a-4198-9884-34bf8d77a54b",
"name": "Web_search_tool",
"type": "n8n-nodes-base.httpRequestTool",
"position": [
608,
336
],
"parameters": {
"url": "https://app.dumplingai.com/api/v1/search-news",
"method": "POST",
"options": {},
"jsonBody": "={\n \"query\": \"{{ $fromAI('query') }}\"\n}\n",
"sendBody": true,
"specifyBody": "json",
"authentication": "genericCredentialType",
"genericAuthType": "httpHeaderAuth",
"toolDescription": "Use this tool to do web research"
},
"credentials": {
"httpHeaderAuth": {
"id": "RLFzAcGRepr5eXZB",
"name": "Dumpling AI-n8n"
}
},
"typeVersion": 4.2
},
{
"id": "e3f5b1a4-48c5-4ad0-a3cd-783520d5ccdc",
"name": "Image_generation_tool",
"type": "n8n-nodes-base.httpRequestTool",
"position": [
816,
320
],
"parameters": {
"url": "https://app.dumplingai.com/api/v1/generate-ai-image",
"method": "POST",
"options": {},
"jsonBody": "={\n \"model\": \"FLUX.1-pro\",\n \"input\": {\n \"prompt\": \"{{ $fromAI('prompt') }}\",\n \"seed\": 42,\n \"steps\": 25,\n \"width\": 1024,\n \"height\": 1024,\n \"guidance\": 3,\n \"aspect_ratio\": \"1:1\",\n \"output_format\": \"png\",\n \"output_quality\": 90,\n \"safety_tolerance\": 2,\n \"prompt_upsampling\": false\n }\n}\n",
"sendBody": true,
"specifyBody": "json",
"authentication": "genericCredentialType",
"genericAuthType": "httpHeaderAuth",
"toolDescription": "Use this tool to generate images"
},
"credentials": {
"httpHeaderAuth": {
"id": "RLFzAcGRepr5eXZB",
"name": "Dumpling AI-n8n"
}
},
"typeVersion": 4.2
},
{
"id": "06218c34-30c6-4f29-8fb9-4fa2d1ecf2da",
"name": "Receive Telegram Input",
"type": "n8n-nodes-base.telegramTrigger",
"position": [
-720,
48
],
"webhookId": "d0ed5025-57ad-4d80-be09-6eb0d355d8b4",
"parameters": {
"updates": [
"message"
],
"additionalFields": {}
},
"credentials": {
"telegramApi": {
"id": "hv5o1OogajIIiMlt",
"name": "Telegram account"
}
},
"typeVersion": 1.2
},
{
"id": "d9012129-9395-4174-ad54-4f2b7b6b1d3e",
"name": "Check Message Type",
"type": "n8n-nodes-base.switch",
"position": [
-496,
48
],
"parameters": {
"rules": {
"values": [
{
"outputKey": "text",
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "18d77f22-b692-462b-8d43-34ddc5609c5e",
"operator": {
"type": "string",
"operation": "exists",
"singleValue": true
},
"leftValue": "={{ $json.message.text }}",
"rightValue": ""
}
]
},
"renameOutput": true
},
{
"outputKey": "audio",
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "1a355c34-2cf5-4116-98a4-cce7c0f5caa2",
"operator": {
"name": "filter.operator.equals",
"type": "string",
"operation": "equals"
},
"leftValue": "={{ $json.message.voice.mime_type }}",
"rightValue": "audio/ogg"
}
]
},
"renameOutput": true
}
]
},
"options": {}
},
"typeVersion": 3.2
},
{
"id": "8f899c95-272e-4aad-aa5d-f6e1a84aad3e",
"name": "Download Telegram Audio",
"type": "n8n-nodes-base.telegram",
"position": [
-272,
144
],
"webhookId": "d9769ce1-37b1-4f1f-bacd-e5cf5e330f20",
"parameters": {
"fileId": "={{ $json.message.voice.file_id }}",
"resource": "file",
"additionalFields": {}
},
"credentials": {
"telegramApi": {
"id": "hv5o1OogajIIiMlt",
"name": "Telegram account"
}
},
"typeVersion": 1.2
},
{
"id": "21654110-4260-4d6f-b948-581f1928763b",
"name": "Transcribe Audio to Text",
"type": "@n8n/n8n-nodes-langchain.openAi",
"position": [
-48,
144
],
"parameters": {
"options": {},
"resource": "audio",
"operation": "transcribe"
},
"credentials": {
"openAiApi": {
"id": "dd8NvMC6rvx8RITo",
"name": "OpenAi account 2"
}
},
"typeVersion": 1.8
},
{
"id": "37fa042f-9a47-4971-9eb3-2ce2b5d5b429",
"name": "Prepare Transcribed Text",
"type": "n8n-nodes-base.set",
"position": [
176,
144
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "573add77-32e9-496c-bbbe-99fb8bbe6e6f",
"name": "text",
"type": "string",
"value": "={{ $json.text }}"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "d7b528a6-a57f-4ee4-87d2-9e594b4003fd",
"name": "Extract Text Message",
"type": "n8n-nodes-base.set",
"position": [
288,
-96
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "2895b578-af52-42fb-b645-d42cb9456fec",
"name": "text",
"type": "string",
"value": "={{ $json.message.text }}"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "ef871181-d247-4c85-98d8-b88adc8311b1",
"name": "Generate Idea, Context & Image Prompt",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
656,
48
],
"parameters": {
"text": "=user input: {{ $json.text }}",
"options": {
"systemMessage": "=System Prompt for n8n Agent\n\nYou are a content creation agent for LinkedIn.\nYou receive an input idea from user input. Your job is to research, generate context, clean the image prompt, and create a related image. Finally, return a JSON object.\n\nWorkflow\n\nResearch ideas\n\nTake the idea from user input.\n\nForm a clear query string to explore the idea further.\n\nCall Web_search_tool with the query.\n\nOnly retrieve and review 3 news results about the topic.\n\nExtract the most relevant points from those 3 results.\n\nFrom this, produce:\n\nideas: a short, clear statement based on the refined research.\n\ncontext: 2–4 sentences that expand on the idea with simple grammar.\n\nPrepare the image prompt\n\nCraft a descriptive visual prompt based on the idea and context.\n\nThe description should include subject, setting, and mood.\n\nOnce the ideas and context are complete, send the crafted prompt to the Code node to clean it.\n\nThe Code node must ensure that the prompt has no new line characters.\n\nThe Code node is only called once per execution, after the ideas and context are finalized.\n\nGenerate an image\n\nAfter cleaning, use the single cleaned string as the input for Image_generation_tool.\n\nCall Image_generation_tool only once per execution.\n\nRequest a professional LinkedIn-ready image.\n\nUse the returned URL as the image.\n\nFinal Output\n\nAlways return the result as a single JSON object in the format below:\n\n{\n \"ideas\": \"string\",\n \"context\": \"string\",\n \"image\": \"URL\"\n}\n\nRules\n\nGrammar must be simple, clear, and professional.\n\nNo emojis.\n\nNo hyphens.\n\nideas is one short refined idea.\n\ncontext is 2–4 sentences explaining the idea.\n\nimage is the direct URL returned by Image_generation_tool.\n\nAlways call the Code node once to clean the image prompt before passing it to the image tool.\n\nThe Image_generation_tool is only called once per execution, after context and ideas are complete.\n\nReturn nothing except the JSON object."
},
"promptType": "define",
"hasOutputParser": true
},
"typeVersion": 2.2
},
{
"id": "bd2b04e9-b2a5-478c-8a4c-329a49f818ce",
"name": "GPT-4 Chat Model",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"position": [
336,
272
],
"parameters": {
"model": {
"__rl": true,
"mode": "list",
"value": "gpt-4.1-mini"
},
"options": {}
},
"credentials": {
"openAiApi": {
"id": "dd8NvMC6rvx8RITo",
"name": "OpenAi account 2"
}
},
"typeVersion": 1.2
},
{
"id": "dac36388-cf7b-439c-8524-7ed45e1fd8fa",
"name": "Format Output as JSON",
"type": "@n8n/n8n-nodes-langchain.outputParserStructured",
"position": [
1168,
272
],
"parameters": {
"jsonSchemaExample": "{\n \"ideas\": \"string\",\n \"context\": \"string\",\n \"image\": \"URL\"\n}\n"
},
"typeVersion": 1.3
},
{
"id": "01130e23-5c3e-4954-b3cd-2615c68c4e0f",
"name": "Clean Image Prompt",
"type": "@n8n/n8n-nodes-langchain.toolCode",
"position": [
992,
320
],
"parameters": {
"jsCode": "// Input comes in as `query`\nlet s = String(query ?? \"\");\n\n// Remove newline and line-separator characters, then collapse spaces\ns = s.replace(/[\\u000A\\u000D\\u2028\\u2029]+/g, \" \");\ns = s.replace(/\\s+/g, \" \").trim();\n\n// Return the cleaned prompt back to the agent\nreturn s;\n",
"description": "Call this node to clean the prompt from any newlines"
},
"typeVersion": 1.3
},
{
"id": "bfabbd38-486d-425d-ad58-3f54e4f1a7eb",
"name": "Save to Airtable",
"type": "n8n-nodes-base.airtable",
"position": [
1104,
48
],
"parameters": {
"base": {
"__rl": true,
"mode": "list",
"value": "app2L0MDmxtbrFskg",
"cachedResultUrl": "https://airtable.com/app2L0MDmxtbrFskg",
"cachedResultName": "Google search ideas"
},
"table": {
"__rl": true,
"mode": "list",
"value": "tblGXuRkIuDI1cESV",
"cachedResultUrl": "https://airtable.com/app2L0MDmxtbrFskg/tblGXuRkIuDI1cESV",
"cachedResultName": "Table 1"
},
"columns": {
"value": {
"ideas": "={{ $json.output.ideas }}",
"context": "={{ $json.output.context }}",
"Image URL": "={{ $json.output.image }}"
},
"schema": [
{
"id": "ideas",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "ideas",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "context",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "context",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Image URL",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "Image URL",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "defineBelow",
"matchingColumns": [],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {},
"operation": "create"
},
"credentials": {
"airtableTokenApi": {
"id": "hX3wPN3fUWW9Ctx9",
"name": "Airtable Personal Access Token account 2"
}
},
"typeVersion": 2.1
},
{
"id": "b0998942-3e41-43de-9c30-93534d1236ad",
"name": "Send Confirmation to Telegram",
"type": "n8n-nodes-base.telegram",
"position": [
1312,
48
],
"webhookId": "c1b6fefe-3cd3-45c5-99e1-ce9bb5f477ec",
"parameters": {
"text": "✅ Your content has been created and saved to Airtable.\n \n - Ideas and context are ready \n - Image has been generated and attached \n\nYou can review and approve everything directly in Airtable. ",
"chatId": "={{ $('Receive Telegram Input').item.json.message.chat.id }}",
"additionalFields": {
"appendAttribution": false
}
},
"credentials": {
"telegramApi": {
"id": "hv5o1OogajIIiMlt",
"name": "Telegram account"
}
},
"typeVersion": 1.2
},
{
"id": "3e0d23c1-9c4d-4499-8c2a-21072a7fc609",
"name": "付箋",
"type": "n8n-nodes-base.stickyNote",
"position": [
-800,
-480
],
"parameters": {
"color": 4,
"width": 1024,
"height": 736,
"content": "## 📌 LinkedIn Content Creator Workflow\n\nThis workflow helps you automatically generate polished LinkedIn content using AI. Just send a message (voice or text) to your Telegram bot, and the system will:\n\n1. Transcribe voice (if applicable) using OpenAI Whisper\n2. Use GPT-4 to generate:\n - A short content idea\n - Supporting context (2–4 sentences)\n - An image prompt\n3. Run a Dumpling AI web search for relevant context\n4. Clean and format the image prompt\n5. Generate a visual using Dumpling AI\n6. Save the final result to Airtable\n7. Send a confirmation message back to Telegram\n\n### Output Format (Saved to Airtable):\n```json\n{\n \"ideas\": \"string\",\n \"context\": \"string\",\n \"image\": \"URL\"\n}\n"
},
"typeVersion": 1
}
],
"active": false,
"pinData": {
"Receive Telegram Input": [
{
"json": {
"message": {
"chat": {
"id": 798432877,
"type": "private",
"username": "Shopwithjennifer",
"first_name": "Shopwithjennifer"
},
"date": 1757640855,
"from": {
"id": 798432877,
"is_bot": false,
"username": "Shopwithjennifer",
"first_name": "Shopwithjennifer",
"language_code": "en"
},
"text": "nano banana and veo 3",
"message_id": 24
},
"update_id": 361830552
}
}
]
},
"settings": {
"executionOrder": "v1"
},
"versionId": "845a42d0-a02a-4933-a5f8-b993fe6d0b60",
"connections": {
"Simple Memory": {
"ai_memory": [
[
{
"node": "ef871181-d247-4c85-98d8-b88adc8311b1",
"type": "ai_memory",
"index": 0
}
]
]
},
"6a7b3fdf-7b5a-4198-9884-34bf8d77a54b": {
"ai_tool": [
[
{
"node": "ef871181-d247-4c85-98d8-b88adc8311b1",
"type": "ai_tool",
"index": 0
}
]
]
},
"bd2b04e9-b2a5-478c-8a4c-329a49f818ce": {
"ai_languageModel": [
[
{
"node": "ef871181-d247-4c85-98d8-b88adc8311b1",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"bfabbd38-486d-425d-ad58-3f54e4f1a7eb": {
"main": [
[
{
"node": "b0998942-3e41-43de-9c30-93534d1236ad",
"type": "main",
"index": 0
}
]
]
},
"d9012129-9395-4174-ad54-4f2b7b6b1d3e": {
"main": [
[
{
"node": "d7b528a6-a57f-4ee4-87d2-9e594b4003fd",
"type": "main",
"index": 0
}
],
[
{
"node": "8f899c95-272e-4aad-aa5d-f6e1a84aad3e",
"type": "main",
"index": 0
}
]
]
},
"01130e23-5c3e-4954-b3cd-2615c68c4e0f": {
"ai_tool": [
[
{
"node": "ef871181-d247-4c85-98d8-b88adc8311b1",
"type": "ai_tool",
"index": 0
}
]
]
},
"d7b528a6-a57f-4ee4-87d2-9e594b4003fd": {
"main": [
[
{
"node": "ef871181-d247-4c85-98d8-b88adc8311b1",
"type": "main",
"index": 0
}
]
]
},
"dac36388-cf7b-439c-8524-7ed45e1fd8fa": {
"ai_outputParser": [
[
{
"node": "ef871181-d247-4c85-98d8-b88adc8311b1",
"type": "ai_outputParser",
"index": 0
}
]
]
},
"e3f5b1a4-48c5-4ad0-a3cd-783520d5ccdc": {
"ai_tool": [
[
{
"node": "ef871181-d247-4c85-98d8-b88adc8311b1",
"type": "ai_tool",
"index": 0
}
]
]
},
"06218c34-30c6-4f29-8fb9-4fa2d1ecf2da": {
"main": [
[
{
"node": "d9012129-9395-4174-ad54-4f2b7b6b1d3e",
"type": "main",
"index": 0
}
]
]
},
"8f899c95-272e-4aad-aa5d-f6e1a84aad3e": {
"main": [
[
{
"node": "21654110-4260-4d6f-b948-581f1928763b",
"type": "main",
"index": 0
}
]
]
},
"37fa042f-9a47-4971-9eb3-2ce2b5d5b429": {
"main": [
[
{
"node": "ef871181-d247-4c85-98d8-b88adc8311b1",
"type": "main",
"index": 0
}
]
]
},
"21654110-4260-4d6f-b948-581f1928763b": {
"main": [
[
{
"node": "37fa042f-9a47-4971-9eb3-2ce2b5d5b429",
"type": "main",
"index": 0
}
]
]
},
"ef871181-d247-4c85-98d8-b88adc8311b1": {
"main": [
[
{
"node": "bfabbd38-486d-425d-ad58-3f54e4f1a7eb",
"type": "main",
"index": 0
}
]
]
}
}
}よくある質問
このワークフローの使い方は?
上記のJSON設定コードをコピーし、n8nインスタンスで新しいワークフローを作成して「JSONからインポート」を選択、設定を貼り付けて認証情報を必要に応じて変更してください。
このワークフローはどんな場面に適していますか?
上級 - その他, マルチモーダルAI
有料ですか?
このワークフローは完全無料です。ただし、ワークフローで使用するサードパーティサービス(OpenAI APIなど)は別途料金が発生する場合があります。
関連ワークフロー
Nano Banana と Veo-3 を使って Telegram メッセージから AI 動画を生成
Nano Banana と Veo-3 を使って Telegram メッセージから AI 動画を生成
If
Set
Wait
+
If
Set
Wait
26 ノードSulieman Said
コンテンツ作成
Telegram からメールへの通信自動化に Dumpling AI を使用
Telegramキーワードに基づいてメールニュースレター生成のためにDumpling AI、GPTを使用する
Wait
Gmail
Split Out
+
Wait
Gmail
Split Out
16 ノードYang
マルチモーダルAI
GPT-4駆動のカールドメールワークフロー(完全カスタマイズされた3本のメールフォロー付き)
GPT-4、Mailgun、Supabaseを使ってパーソナライズされたラグディ冷信Seriesを自動化
If
Set
Code
+
If
Set
Code
100 ノードPaul
リードナーチャリング
完全な B2B セールスフロー:Apollo リード生成、Mailgun 外信、および AI 返信管理
完全なB2Bセールスフロー:Apolloリード生成、Mailgunアウト Reach、AI返信管理
If
Set
Code
+
If
Set
Code
116 ノードPaul
コンテンツ作成
AI駆動のTelegram請求書抽出ツール
AIを活用したTelegram請求書抽出ツールで、データをAirtableにエクスポート
Set
Switch
Telegram
+
Set
Switch
Telegram
17 ノードBizThrive.ai
その他
🚀 Shopifyブランドを対象としたAI駆動型WhatsAppカスタマーサポート
Shopify向けのAI駆動WhatsAppカスタマーサポート(LLMエージェント)
Set
Slack
Switch
+
Set
Slack
Switch
30 ノードRuthwik
その他