Mit GPT-5 und Google Veo-3 aus Text-Prompts Videos generieren

Experte

Dies ist ein Content Creation, Multimodal AI-Bereich Automatisierungsworkflow mit 20 Nodes. Hauptsächlich werden If, Set, Wait, AimlApi, HttpRequest und andere Nodes verwendet. Aus Text-Prompts Videos mit GPT-5 und Google Veo-3 generieren

Voraussetzungen
  • Möglicherweise sind Ziel-API-Anmeldedaten erforderlich
Workflow-Vorschau
Visualisierung der Node-Verbindungen, mit Zoom und Pan
Workflow exportieren
Kopieren Sie die folgende JSON-Konfiguration und importieren Sie sie in n8n
{
  "meta": {
    "instanceId": "58e06bfa452afe2836b2ce0aa089999394af0b93c2a455035675d99d83112fa1",
    "templateCredsSetupCompleted": true
  },
  "nodes": [
    {
      "id": "88472c30-7089-4a1b-8cd0-86773af42a69",
      "name": "Bei Empfang einer Chat-Nachricht",
      "type": "@n8n/n8n-nodes-langchain.chatTrigger",
      "position": [
        -2272,
        3136
      ],
      "webhookId": "ddf5d4ac-9ed6-45be-9ce4-8c020e50ca13",
      "parameters": {
        "options": {}
      },
      "typeVersion": 1.3
    },
    {
      "id": "f6ebf45d-eefa-4a2c-a91e-7e722905b937",
      "name": "Notizzettel7",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1584,
        3056
      ],
      "parameters": {
        "width": 246,
        "height": 248,
        "content": "Set API Key created in Step 2"
      },
      "typeVersion": 1
    },
    {
      "id": "457e9064-6c7a-4b8d-8b83-2bda9cca1e10",
      "name": "Notizzettel9",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -256,
        2976
      ],
      "parameters": {
        "color": 5,
        "width": 182,
        "height": 448,
        "content": "## Get and download your video"
      },
      "typeVersion": 1
    },
    {
      "id": "e92714de-492c-449e-b85e-cb7546035de2",
      "name": "Notizzettel10",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -2320,
        2976
      ],
      "parameters": {
        "color": 5,
        "width": 710,
        "height": 448,
        "content": "### Start and Prompt Enhancing"
      },
      "typeVersion": 1
    },
    {
      "id": "fe757385-c6bc-48bf-b594-61c33595c4f8",
      "name": "Video-Datei abrufen",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        -208,
        3120
      ],
      "parameters": {
        "url": "={{ $json.video.url }}",
        "options": {}
      },
      "typeVersion": 4.2
    },
    {
      "id": "89e22673-971c-48e2-b2ba-9cf714a5672f",
      "name": "Status1 abfragen",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        -1024,
        3056
      ],
      "parameters": {
        "url": "=https://api.aimlapi.com/v2/generate/video/google/generation",
        "options": {},
        "sendQuery": true,
        "authentication": "predefinedCredentialType",
        "queryParameters": {
          "parameters": [
            {
              "name": "generation_id",
              "value": "={{ $json.id }}"
            }
          ]
        },
        "nodeCredentialType": "aimlApi"
      },
      "credentials": {
        "aimlApi": {
          "id": "6Z9fP7Dy0ZkIBXXw",
          "name": "AI/ML account"
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "91aedd47-2f11-45b0-a862-5c462522c00d",
      "name": "Video mit KI/ML-API1 erstellen",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        -1504,
        3136
      ],
      "parameters": {
        "url": "https://api.aimlapi.com/v2/generate/video/google/generation",
        "method": "POST",
        "options": {},
        "sendBody": true,
        "sendHeaders": true,
        "authentication": "predefinedCredentialType",
        "bodyParameters": {
          "parameters": [
            {
              "name": "prompt",
              "value": "={{ $json.content || $('When chat message received').item.json.chatInput }}"
            },
            {
              "name": "model",
              "value": "google/veo-3.0-i2v-fast"
            },
            {
              "name": "image_url",
              "value": "={{ $('Set image URL').item.json.image_url }}"
            }
          ]
        },
        "headerParameters": {
          "parameters": [
            {
              "name": "Content-Type",
              "value": "application/json"
            }
          ]
        },
        "nodeCredentialType": "aimlApi"
      },
      "credentials": {
        "aimlApi": {
          "id": "6Z9fP7Dy0ZkIBXXw",
          "name": "AI/ML account"
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "f5c04744-26fa-4fa0-9044-293b6e657f42",
      "name": "Notizzettel18",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1600,
        2976
      ],
      "parameters": {
        "color": 5,
        "width": 1328,
        "height": 448,
        "content": "# Generate Video via VEO-3"
      },
      "typeVersion": 1
    },
    {
      "id": "050a6dbc-c0df-40de-96d2-e3bb6ea4e25a",
      "name": "30 Sek. warten1",
      "type": "n8n-nodes-base.wait",
      "position": [
        -1248,
        3136
      ],
      "webhookId": "490facb8-d0ae-402e-ab59-a87720cf0bdd",
      "parameters": {
        "amount": 30
      },
      "typeVersion": 1.1
    },
    {
      "id": "2d8638ee-7888-4071-8ccf-bd356a7e2390",
      "name": "Cinematic Prompt (GPT‑5)",
      "type": "n8n-nodes-aimlapi.aimlApi",
      "position": [
        -1808,
        3136
      ],
      "parameters": {
        "model": "openai/gpt-5-mini-2025-08-07",
        "prompt": "=You are a creative video prompt engineer.\n\nTurn the idea below into a short, visually rich description for Veo‑3 image‑to‑video.\nKeep it flexible and cinematic.\n\nGuidelines (use loosely):\n- mention camera movement / lens hints\n- time of day, mood, color palette\n- pacing / motion style\n- framing and composition\n\nKeep it to 2–4 sentences (under 120 words). If the input is just one word, expand it sensibly.\n\nIdea:\n{{ $('When chat message received').item.json.chatInput }}\n\nRespond with only the prompt text.",
        "options": {
          "maxTokens": 5000
        },
        "requestOptions": {}
      },
      "credentials": {
        "aimlApi": {
          "id": "6Z9fP7Dy0ZkIBXXw",
          "name": "AI/ML account"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "a483c79a-4ccb-472e-9730-94fa1e95475f",
      "name": "Notizzettel21",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1888,
        3024
      ],
      "parameters": {
        "width": 246,
        "height": 328,
        "content": "Use GPT‑5 turbo to expand the description into a Veo‑3‑friendly prompt (camera, movement, mood, composition)."
      },
      "typeVersion": 1
    },
    {
      "id": "03143475-6fb7-45ea-a76b-5ad1c5ad20de",
      "name": "Bild-URL setzen",
      "type": "n8n-nodes-base.set",
      "position": [
        -2064,
        3136
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "336c8e79-0530-4c17-ac6c-129d946d421b",
              "name": "image_url",
              "type": "string",
              "value": "https://s2-111386.kwimgs.com/bs2/mmu-aiplatform-temp/kling/20240620/1.jpeg"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "3e40b553-d9e2-4046-95b1-13b4185ce45f",
      "name": "Abgeschlossen?",
      "type": "n8n-nodes-base.if",
      "position": [
        -816,
        3136
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "or",
          "conditions": [
            {
              "id": "383d112e-2cc6-4dd4-8985-f09ce0bd1781",
              "operator": {
                "name": "filter.operator.equals",
                "type": "string",
                "operation": "equals"
              },
              "leftValue": "={{ $json.status }}",
              "rightValue": "completed"
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "827a937e-ba7b-417d-9dd4-8a180d61417e",
      "name": "Fehler?",
      "type": "n8n-nodes-base.if",
      "position": [
        -608,
        3200
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "7d9027b3-9662-4030-aafd-0c4a33d49eac",
              "operator": {
                "name": "filter.operator.equals",
                "type": "string",
                "operation": "equals"
              },
              "leftValue": "={{ $json.status }}",
              "rightValue": "error"
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "321f4fa4-3239-486c-b3b4-55f34ef7034d",
      "name": "Stoppen und Fehler",
      "type": "n8n-nodes-base.stopAndError",
      "position": [
        -400,
        3216
      ],
      "parameters": {
        "errorMessage": "={{ $json.error.message }}"
      },
      "typeVersion": 1
    },
    {
      "id": "22f8f3a9-ea96-438b-b276-f8b9e9f52370",
      "name": "Notizzettel",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1712,
        1744
      ],
      "parameters": {
        "width": 436,
        "height": 424,
        "content": "## STEP 1: CHAT INPUT → MINIMAL PROMPT\n\nThis workflow starts from the **Chat Trigger**. You can send even **one word** (e.g., “sunset”, “cyberpunk”, “ocean”).\n\n**Expected fields** (flexible):\n- **chatInput** – your idea/keyword/short brief (required)\n- **image_url** – a source image for image‑to‑video (required for i2v)\n- **duration** – seconds (optional, default 5)\n- **aspect_ratio** – e.g. `16:9` (optional)\n\nThe chat message is expanded by **GPT‑5** into a Veo‑3‑friendly prompt."
      },
      "typeVersion": 1
    },
    {
      "id": "19a2c274-f8dd-4c91-bc9a-8042558d7162",
      "name": "Notizzettel19",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1248,
        2448
      ],
      "parameters": {
        "width": 484,
        "height": 452,
        "content": "## STEP 4: MAIN FLOW (END‑TO‑END)\n\n**How it runs**\n- Trigger via **Chat** (or attach a **Schedule Trigger** if you want batch runs).\n\n**Pipeline**\n1) Read chat input (idea/keyword)\n2) **GPT‑5** expands it into a concise cinematic prompt\n3) **Create Veo‑3 (image‑to‑video)** with image_url + prompt\n4) **Poll status** until `completed`\n5) On success → fetch **video_url** and (optionally) generate a short **title** with GPT‑5\n6) Return results to chat / continue with your own save or publish steps\n\nTweak polling interval based on your SLA and quota."
      },
      "typeVersion": 1
    },
    {
      "id": "a816072b-bfc0-4253-9222-b23ce903f10f",
      "name": "Notizzettel20",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1248,
        2048
      ],
      "parameters": {
        "width": 484,
        "height": 364,
        "content": "## STEP 2: AI/ML API CREDENTIALS\n\n1) Get your key: https://aimlapi.com/app/keys\n2) In n8n, create **AI/ML account** credentials (Bearer token)\n3) Use that credential in:\n   - **GPT‑5** node (text expansion)\n   - **Create Video** (Veo‑3 generation)\n   - **Get Status** (polling)\n\n**Headers** (handled by credentials):\n- Authorization: `Bearer YOUR_API_KEY`\n- Content‑Type: `application/json`\n\nKeep keys in Credentials/ENV — never hard‑code in nodes."
      },
      "typeVersion": 1
    },
    {
      "id": "893fd045-f95f-4d59-a455-08bc88991271",
      "name": "Notizzettel22",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1712,
        2192
      ],
      "parameters": {
        "width": 436,
        "height": 520,
        "content": "## STEP 3 (OPTIONAL): SAVE & PUBLISH\n\nAfter you obtain `video_url`, you can extend the flow with:\n\n- **Save to Google Drive**: HTTP → upload file from `video_url`\n- **Generate SEO Title**: GPT‑5 short title (≤60 chars)\n- **Publish to YouTube**: your preferred uploader or API wrapper\n- **Log to a Sheet/DB**: store `prompt`, `generation_id`, `video_url`, `title`\n\nThese are optional and not required for the core Veo‑3 image‑to‑video path."
      },
      "typeVersion": 1
    },
    {
      "id": "782053ae-2203-49d7-8e82-800d4fb4aef7",
      "name": "Notizzettel23",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1248,
        1648
      ],
      "parameters": {
        "color": 3,
        "width": 484,
        "height": 376,
        "content": "**Veo‑3 Image‑to‑Video with GPT‑5 (Chat‑First)**\n\n**What this workflow does**\n- Accepts a minimal chat idea (even one word)\n- Uses **GPT‑5** to craft a Veo‑3‑ready prompt\n- Creates a **Google Veo‑3** image‑to‑video generation\n- Polls until completion and fetches the **final video URL**\n\n**Why it’s robust**\n- Soft prompt: expands short inputs sensibly\n- Fallbacks: if GPT output is empty, uses chat input\n- Safe polling: completed / failed split, adjustable wait\n\n**Where to extend**\n- Save to Drive, generate thumbnails, add subtitles, upload to YouTube, log analytics"
      },
      "typeVersion": 1
    }
  ],
  "pinData": {},
  "connections": {
    "827a937e-ba7b-417d-9dd4-8a180d61417e": {
      "main": [
        [
          {
            "node": "321f4fa4-3239-486c-b3b4-55f34ef7034d",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "050a6dbc-c0df-40de-96d2-e3bb6ea4e25a",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "3e40b553-d9e2-4046-95b1-13b4185ce45f": {
      "main": [
        [
          {
            "node": "fe757385-c6bc-48bf-b594-61c33595c4f8",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "827a937e-ba7b-417d-9dd4-8a180d61417e",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "89e22673-971c-48e2-b2ba-9cf714a5672f": {
      "main": [
        [
          {
            "node": "3e40b553-d9e2-4046-95b1-13b4185ce45f",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "03143475-6fb7-45ea-a76b-5ad1c5ad20de": {
      "main": [
        [
          {
            "node": "2d8638ee-7888-4071-8ccf-bd356a7e2390",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "050a6dbc-c0df-40de-96d2-e3bb6ea4e25a": {
      "main": [
        [
          {
            "node": "89e22673-971c-48e2-b2ba-9cf714a5672f",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "fe757385-c6bc-48bf-b594-61c33595c4f8": {
      "main": [
        []
      ]
    },
    "2d8638ee-7888-4071-8ccf-bd356a7e2390": {
      "main": [
        [
          {
            "node": "91aedd47-2f11-45b0-a862-5c462522c00d",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "88472c30-7089-4a1b-8cd0-86773af42a69": {
      "main": [
        [
          {
            "node": "03143475-6fb7-45ea-a76b-5ad1c5ad20de",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "91aedd47-2f11-45b0-a862-5c462522c00d": {
      "main": [
        [
          {
            "node": "050a6dbc-c0df-40de-96d2-e3bb6ea4e25a",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
Häufig gestellte Fragen

Wie verwende ich diesen Workflow?

Kopieren Sie den obigen JSON-Code, erstellen Sie einen neuen Workflow in Ihrer n8n-Instanz und wählen Sie "Aus JSON importieren". Fügen Sie die Konfiguration ein und passen Sie die Anmeldedaten nach Bedarf an.

Für welche Szenarien ist dieser Workflow geeignet?

Experte - Content-Erstellung, Multimodales KI

Ist es kostenpflichtig?

Dieser Workflow ist völlig kostenlos. Beachten Sie jedoch, dass Drittanbieterdienste (wie OpenAI API), die im Workflow verwendet werden, möglicherweise kostenpflichtig sind.

Workflow-Informationen
Schwierigkeitsgrad
Experte
Anzahl der Nodes20
Kategorie2
Node-Typen8
Schwierigkeitsbeschreibung

Für fortgeschrittene Benutzer, komplexe Workflows mit 16+ Nodes

Externe Links
Auf n8n.io ansehen

Diesen Workflow teilen

Kategorien

Kategorien: 34