Usar GPT-4 y Dumpling AI para crear contenido de LinkedIn desde Telegram

Avanzado

Este es unMiscellaneous, Multimodal AIflujo de automatización del dominio deautomatización que contiene 16 nodos.Utiliza principalmente nodos como Set, Switch, Airtable, Telegram, Agent. Crear contenido para LinkedIn a partir de mensajes de voz/texto de Telegram utilizando Whisper, GPT-4 y Dumpling AI

Requisitos previos
  • Clave de API de Airtable
  • Bot Token de Telegram
  • Pueden requerirse credenciales de autenticación para la API de destino
  • Clave de API de OpenAI
Vista previa del flujo de trabajo
Visualización de las conexiones entre nodos, con soporte para zoom y panorámica
Exportar flujo de trabajo
Copie la siguiente configuración JSON en n8n para importar y usar este flujo de trabajo
{
  "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": "Memoria Simple",
      "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": "Herramienta de búsqueda web",
      "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": "Herramienta de generación de imágenes",
      "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": "Recibir entrada de Telegram",
      "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": "Verificar tipo de mensaje",
      "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": "Descargar audio de Telegram",
      "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": "Transcribir audio a texto",
      "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": "Preparar texto transcrito",
      "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": "Extraer mensaje de texto",
      "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": "Generar idea, contexto y prompt de imagen",
      "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": "Modelo de chat GPT-4",
      "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": "Formatear salida como 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": "Limpiar prompt de imagen",
      "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": "Guardar en 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": "Enviar confirmación a 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": "Nota adhesiva",
      "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": {
    "8a311ea8-7047-444e-b389-d2a46321d29a": {
      "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
          }
        ]
      ]
    }
  }
}
Preguntas frecuentes

¿Cómo usar este flujo de trabajo?

Copie el código de configuración JSON de arriba, cree un nuevo flujo de trabajo en su instancia de n8n y seleccione "Importar desde JSON", pegue la configuración y luego modifique la configuración de credenciales según sea necesario.

¿En qué escenarios es adecuado este flujo de trabajo?

Avanzado - Varios, IA Multimodal

¿Es de pago?

Este flujo de trabajo es completamente gratuito, puede importarlo y usarlo directamente. Sin embargo, tenga en cuenta que los servicios de terceros utilizados en el flujo de trabajo (como la API de OpenAI) pueden requerir un pago por su cuenta.

Información del flujo de trabajo
Nivel de dificultad
Avanzado
Número de nodos16
Categoría2
Tipos de nodos13
Descripción de la dificultad

Adecuado para usuarios avanzados, flujos de trabajo complejos con 16+ nodos

Enlaces externos
Ver en n8n.io

Compartir este flujo de trabajo

Categorías

Categorías: 34