8
n8n 한국어amn8n.com

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
워크플로우 미리보기
노드 연결 관계를 시각적으로 표시하며, 확대/축소 및 이동을 지원합니다
워크플로우 내보내기
다음 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)는 사용자 직접 비용을 지불해야 할 수 있습니다.

워크플로우 정보
난이도
고급
노드 수16
카테고리2
노드 유형13
난이도 설명

고급 사용자를 위한 16+개 노드의 복잡한 워크플로우

외부 링크
n8n.io에서 보기

이 워크플로우 공유

카테고리

카테고리: 34