Crea videos de avatar natural con IA usando Sora 2 (Kie AI), Gemini y envíalos a Telegram

Intermedio

Este es unContent Creation, Multimodal AIflujo de automatización del dominio deautomatización que contiene 13 nodos.Utiliza principalmente nodos como Wait, Telegram, HttpRequest, ScheduleTrigger, ChainLlm. Usa Sora 2 (Kie AI), Gemini para crear videos naturales de IA y enviarlos a Telegram

Requisitos previos
  • Bot Token de Telegram
  • Pueden requerirse credenciales de autenticación para la API de destino
  • Clave de API de Google Gemini
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
{
  "meta": {
    "instanceId": "3d7eb9567ae690bf8c9bba1cb43396e6e40c18e15eb5889cf9673ed1713da6db",
    "templateCredsSetupCompleted": true
  },
  "nodes": [
    {
      "id": "351eec25-40cc-4a01-acb7-e990556d3217",
      "name": "Disparador Programado",
      "type": "n8n-nodes-base.scheduleTrigger",
      "position": [
        -1536,
        3872
      ],
      "parameters": {
        "rule": {
          "interval": [
            {}
          ]
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "afeee234-5af4-4961-84d5-6b345c4f31d1",
      "name": "Generar Prompt de Video",
      "type": "@n8n/n8n-nodes-langchain.chainLlm",
      "position": [
        -1360,
        3872
      ],
      "parameters": {
        "text": "=You are a specialized AI agent that generates precise video prompts for 10-second nature stock footage. Your sole function is to output a complete, professionally-formatted video generation prompt suitable for AI video creation tools.\n\n## YOUR TASK:\nWhen called upon, generate a single, comprehensive 10-second nature stock footage prompt following the structure below. Output ONLY the prompt itself - no explanations, no meta-commentary, no alternatives.\n\n## OUTPUT STRUCTURE:\n\nMood: [Select 1-2: Serene, Majestic, Peaceful, Dramatic, Ethereal, Wild, Tranquil, Raw, Breathtaking]\nStyle: [Select: Cinematic documentary, 4K nature cinematography, Wildlife documentary, Aerial nature photography] with [natural lighting description and atmospheric qualities]\n\n00:00:00-00:00:01: Establishing shot. [Complete scene overview - environment, landscape elements, atmospheric conditions, time of day]. Cut to first scene.\n\n00:00-00:03: [Shot type]. [Natural subject and environment]. [Camera movement]. [Natural lighting conditions]. [Composition technique]. [Natural ambient sounds]. [Transition].\n\n00:03-00:06: [Shot type]. [Natural subject and environment]. [Camera movement]. [Lighting]. [Notable visual elements]. [Ambient sounds]. [Transition].\n\n00:06-00:10: [Shot type]. [Natural subject and environment]. [Camera movement]. [Lighting]. [Atmospheric details]. [Ambient sounds conclusion]. [Final transition: hold on frame, slow fade to black].\n\n## NATURE STOCK FOOTAGE REQUIREMENTS:\n\n**SUBJECTS TO FEATURE:**\n- Landscapes: Mountains, forests, coastlines, deserts, valleys, meadows, canyons\n- Water: Ocean waves, rivers, waterfalls, lakes, rain, fog, ice\n- Sky: Clouds, sunrise, sunset, stars, aurora, dramatic weather\n- Wildlife: Birds in flight, animals in habitat (no close human interaction)\n- Flora: Trees, flowers, grass, forests, seasonal foliage\n- Weather: Storm clouds, mist, snow, wind effects, light through atmosphere\n\n**CAMERA APPROACHES:**\n- Aerial/drone shots for sweeping vistas\n- Slow dolly/tracking movements for immersion\n- Static locked shots for contemplative moments\n- Gentle pans across landscapes\n- Crane movements revealing scale\n- Steadicam through environments\n\n**LIGHTING PRIORITY:**\n- Golden hour (warm, directional)\n- Blue hour (cool, ethereal)\n- Overcast soft light (even, gentle)\n- Harsh sunlight (dramatic shadows)\n- Backlit subjects (silhouettes, rim lighting)\n- Natural volumetric light (god rays, mist)\n\n**PACING:**\n- Slow to medium pacing (3-5 seconds per shot maximum)\n- 2-3 shots total across 10 seconds\n- Contemplative, not rushed\n- Smooth transitions (dissolves, gradual fades preferred)\n\n**SOUND DESIGN:**\n- Authentic natural ambient sounds (wind, water, birds, rustling)\n- NO music unless specifically requested\n- Emphasize environmental audio richness\n- Spatial audio cues (distant/close sounds)\n\n**COLOR GRADING:**\n- Natural, rich color palette\n- Slight saturation boost for vibrancy\n- Warm or cool tones based on time of day\n- High dynamic range for sky and landscape detail\n\n## CONSTRAINTS:\n- Total duration: EXACTLY 10 seconds\n- No human presence unless environmental scale reference\n- No artificial structures unless contextually natural (old barn in field, etc.)\n- No branded elements or identifiable locations requiring releases\n- Professional, commercial-ready aesthetic\n- Versatile for multiple use cases (backgrounds, B-roll, establishing shots)\n\n## RANDOMIZATION PARAMETERS:\nVary across calls:\n- Environment type (rotate through mountain, forest, ocean, desert, meadow, etc.)\n- Time of day (sunrise, midday, sunset, twilight, night)\n- Weather conditions (clear, cloudy, misty, dramatic, stormy)\n- Season (spring bloom, summer green, autumn colors, winter snow)\n- Camera movement style (aerial, ground-level, tracking, static)\n- Dominant natural element (water, sky, earth, flora, fauna)\n\n## OUTPUT FORMAT:\nGenerate the prompt in clean, professional format with proper timestamp structure. Be specific about natural elements while leaving creative interpretation space. Focus on achievable, realistic nature cinematography that would be commercially valuable as stock footage. \n\nWhen called, output ONLY the formatted prompt - nothing else.",
        "batching": {},
        "promptType": "define"
      },
      "typeVersion": 1.7
    },
    {
      "id": "518f5546-2fd2-44c4-aade-b525aa8ec246",
      "name": "Enviar Generación de Video",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        -1072,
        3872
      ],
      "parameters": {
        "url": "=https://api.kie.ai/api/v1/jobs/createTask",
        "method": "POST",
        "options": {},
        "jsonBody": "={\n  \"model\": \"sora-2-text-to-video\",\n  \"callBackUrl\": \"{{ $execution.resumeUrl }}\",\n  \"input\": {\n    \"prompt\": \"{{ JSON.stringify($('Generate Video Prompt').item.json.text.replaceAll(/\\\\n/g, '')).slice(1, -1) }}\",\n    \"aspect_ratio\": \"portrait\",\n    \"n_frames\": \"10\",\n    \"remove_watermark\": true\n  }\n}",
        "sendBody": true,
        "specifyBody": "json",
        "authentication": "genericCredentialType",
        "genericAuthType": "httpHeaderAuth"
      },
      "credentials": {
        "httpHeaderAuth": {
          "id": "KvEry5tdcrr9vqqw",
          "name": "Vapi - Zephoric"
        }
      },
      "typeVersion": 4.3
    },
    {
      "id": "c761833c-8e83-401d-bf4e-df55804dd84a",
      "name": "Esperar Finalización del Video",
      "type": "n8n-nodes-base.wait",
      "position": [
        -864,
        3872
      ],
      "webhookId": "4009d14c-7a58-4325-b445-9683a15d1ead",
      "parameters": {
        "resume": "webhook",
        "options": {},
        "httpMethod": "POST"
      },
      "typeVersion": 1.1
    },
    {
      "id": "ef4e79ae-0788-4b01-8250-e84c733c3989",
      "name": "Consultar Estado del Video",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        -656,
        3872
      ],
      "parameters": {
        "url": "=https://api.kie.ai/api/v1/jobs/recordInfo",
        "options": {},
        "sendQuery": true,
        "authentication": "genericCredentialType",
        "genericAuthType": "httpHeaderAuth",
        "queryParameters": {
          "parameters": [
            {
              "name": "taskId",
              "value": "={{ $json.body.data.taskId }}"
            }
          ]
        }
      },
      "credentials": {
        "httpHeaderAuth": {
          "id": "rS4I1YjvLXTJ43S8",
          "name": "Kie AI"
        }
      },
      "typeVersion": 4.3
    },
    {
      "id": "a631c233-db2d-4087-8a65-033913926fa6",
      "name": "Descargar Video Generado",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        -448,
        3872
      ],
      "parameters": {
        "url": "={{ $json.data.resultJson.parseJson().resultWaterMarkUrls.first() }}",
        "options": {}
      },
      "typeVersion": 4.3
    },
    {
      "id": "228d32da-5e35-4280-bdea-ce06be80153c",
      "name": "Gemini Modelo de Prompt",
      "type": "@n8n/n8n-nodes-langchain.lmChatGoogleGemini",
      "position": [
        -1360,
        4080
      ],
      "parameters": {
        "options": {}
      },
      "credentials": {
        "googlePalmApi": {
          "id": "7v8o9EaQkl33woxm",
          "name": "v9"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "a8432ff0-1338-44f1-96a7-b1be9f8d34cc",
      "name": "Entregar Video a Telegram",
      "type": "n8n-nodes-base.telegram",
      "position": [
        -240,
        3872
      ],
      "webhookId": "de56c81e-10c4-466e-a73c-f74e4fbc8257",
      "parameters": {
        "chatId": "[Your Chat ID]",
        "operation": "sendVideo",
        "binaryData": true,
        "additionalFields": {}
      },
      "credentials": {
        "telegramApi": {
          "id": "Elo6BLaLpBDVgeLW",
          "name": "LinkedIn Post"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "0adb59bc-4951-4b7a-9c18-4302bc36a42f",
      "name": "Nota: API Envío",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1136,
        4064
      ],
      "parameters": {
        "color": 6,
        "width": 364,
        "height": 192,
        "content": "## 🚀 Submit Video Generation\n\n**Purpose:** Posts the prompt to Kie AI API to start async video creation.\n\n**Note:** Sets portrait aspect and 10 frames; webhook resumes on completion."
      },
      "typeVersion": 1
    },
    {
      "id": "600a2abf-4dbc-4a28-90fc-23954ddcd1ef",
      "name": "Nota: Webhook Espera",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -928,
        3600
      ],
      "parameters": {
        "color": 3,
        "width": 348,
        "height": 192,
        "content": "## ⏳ Await Video Completion\n\n**Purpose:** Pauses execution until Kie AI webhook notifies task readiness.\n\n**Note:** Requires public n8n URL; fallback to polling if webhooks fail."
      },
      "typeVersion": 1
    },
    {
      "id": "187692e1-b8d2-492a-9b21-f4281b217aaa",
      "name": "Nota: Telegram Entrega",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -464,
        4064
      ],
      "parameters": {
        "color": 2,
        "width": 380,
        "height": 192,
        "content": "## 📥 Deliver Video to Telegram\n\n**Purpose:** Sends the downloaded video file to your specified chat.\n\n**Note:** Replace [Your Chat ID] with actual ID; supports groups or personal bots."
      },
      "typeVersion": 1
    },
    {
      "id": "69fdcab9-d77a-4908-b7d0-8dd5fe6b9f8a",
      "name": "Nota de Resumen7",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -2464,
        3296
      ],
      "parameters": {
        "color": 4,
        "width": 872,
        "height": 1352,
        "content": "# Automated 10s Sora 2 Video Bot for Telegram\n\n## 📋 What This Template Does\nThis workflow automates the creation and delivery of high-quality, 10-second nature-themed videos using AI generation tools. Triggered on a schedule, it leverages Google Gemini to craft precise video prompts, submits them to the Kie AI API for video synthesis, polls for completion, downloads the result, and sends it via Telegram.\n\n## 🔧 Prerequisites\n- n8n instance with HTTP Request and LangChain nodes enabled.\n- Google Gemini API access for prompt generation.\n- Kie AI API account for video creation (supports Sora-like text-to-video models).\n- Telegram Bot setup for message delivery.\n\n## 🔑 Required Credentials\n\n### Google Gemini API Setup\n1. Go to [aistudio.google.com](https://aistudio.google.com) → Create API key.\n2. Ensure the key has access to Gemini 1.5 Flash or Pro models.\n3. Add to n8n as \"Google Gemini API\" credential type.\n\n### Kie AI API Setup\n1. Sign up at [kie.ai](https://kie.ai) → Dashboard → API Keys.\n2. Generate a new API key with video generation permissions (sora-2-text-to-video model).\n3. Add to n8n as \"HTTP Header Auth\" credential (header: Authorization, value: Bearer [Your API Key]).\n\n### Telegram Bot API Setup\n1. Create a bot via @BotFather on Telegram → Get API token.\n2. Note your target chat ID (use @userinfobot for personal chats).\n3. Add to n8n as \"Telegram API\" credential type.\n\n## ⚙️ Configuration Steps\n1. Import the workflow JSON into your n8n instance.\n2. Assign the required credentials to the Gemini, Kie AI, and Telegram nodes.\n3. Update the Telegram node's chat ID with your target chat (e.g., personal or group).\n4. Adjust the Schedule Trigger interval (e.g., daily at 9 AM) via node settings.\n5. Activate the workflow and monitor the first execution for video delivery.\n\n## 🎯 Use Cases\n- Content creators automating daily social media B-roll: Generate fresh nature clips for Instagram Reels or YouTube intros without filming.\n- Marketing teams sourcing versatile stock footage: Quickly produce themed videos for campaigns, like serene landscapes for wellness brands.\n- Educational bots for classrooms: Deliver randomized nature videos to Telegram groups for biology lessons on ecosystems and wildlife.\n- Personal productivity: Schedule motivational nature escapes to your chat for remote workers needing quick digital breaks.\n\n## ⚠️ Troubleshooting\n- Video generation fails with quota error: Check Kie AI dashboard for usage limits and upgrade plan if needed.\n- Prompt output too generic: Tweak the Video Prompting Agent's system prompt for more specificity (e.g., add seasonal themes).\n- Telegram send error: Verify bot token and chat ID; test with a simple message node first.\n- Webhook callback timeout: Ensure n8n production URL is publicly accessible; use ngrok for local testing."
      },
      "typeVersion": 1
    },
    {
      "id": "554122f5-8cc0-4b68-87f7-15c86bc26faa",
      "name": "Nota: Generación de Prompt1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1376,
        3600
      ],
      "parameters": {
        "color": 5,
        "width": 332,
        "height": 192,
        "content": "## 🤖 Generate Video Prompt\n\n**Purpose:** Crafts detailed, timestamped prompts for 10s nature videos using Gemini.\n\n**Note:** Outputs only the formatted prompt; customize system text for themes like seasons."
      },
      "typeVersion": 1
    }
  ],
  "pinData": {},
  "connections": {
    "351eec25-40cc-4a01-acb7-e990556d3217": {
      "main": [
        [
          {
            "node": "afeee234-5af4-4961-84d5-6b345c4f31d1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "ef4e79ae-0788-4b01-8250-e84c733c3989": {
      "main": [
        [
          {
            "node": "a631c233-db2d-4087-8a65-033913926fa6",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "228d32da-5e35-4280-bdea-ce06be80153c": {
      "ai_languageModel": [
        [
          {
            "node": "afeee234-5af4-4961-84d5-6b345c4f31d1",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "afeee234-5af4-4961-84d5-6b345c4f31d1": {
      "main": [
        [
          {
            "node": "518f5546-2fd2-44c4-aade-b525aa8ec246",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "c761833c-8e83-401d-bf4e-df55804dd84a": {
      "main": [
        [
          {
            "node": "ef4e79ae-0788-4b01-8250-e84c733c3989",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "518f5546-2fd2-44c4-aade-b525aa8ec246": {
      "main": [
        [
          {
            "node": "c761833c-8e83-401d-bf4e-df55804dd84a",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "a631c233-db2d-4087-8a65-033913926fa6": {
      "main": [
        [
          {
            "node": "a8432ff0-1338-44f1-96a7-b1be9f8d34cc",
            "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?

Intermedio - Creación de contenido, 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
Intermedio
Número de nodos13
Categoría2
Tipos de nodos7
Descripción de la dificultad

Adecuado para usuarios con experiencia intermedia, flujos de trabajo de complejidad media con 6-15 nodos

Autor
Daniel Nkencho

Daniel Nkencho

@daniel-automates

AI Automation Consultant | Helping Business Owners Implement AI Systems for Growth and Lead Gen

Enlaces externos
Ver en n8n.io

Compartir este flujo de trabajo

Categorías

Categorías: 34