GPT-5와 Google Veo-3를 사용하여 텍스트 힌트로 비디오 생성
고급
이것은Content Creation, Multimodal AI분야의자동화 워크플로우로, 20개의 노드를 포함합니다.주로 If, Set, Wait, AimlApi, HttpRequest 등의 노드를 사용하며. GPT-5와 Google Veo-3을 사용하여 텍스트 힌트에서 비디오 생성
사전 요구사항
- •대상 API의 인증 정보가 필요할 수 있음
워크플로우 미리보기
노드 연결 관계를 시각적으로 표시하며, 확대/축소 및 이동을 지원합니다
워크플로우 내보내기
다음 JSON 구성을 복사하여 n8n에 가져오면 이 워크플로우를 사용할 수 있습니다
{
"meta": {
"instanceId": "58e06bfa452afe2836b2ce0aa089999394af0b93c2a455035675d99d83112fa1",
"templateCredsSetupCompleted": true
},
"nodes": [
{
"id": "88472c30-7089-4a1b-8cd0-86773af42a69",
"name": "채팅 메시지 수신 시",
"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": "Sticky Note7",
"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": "Sticky Note9",
"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": "Sticky Note10",
"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": "비디오 파일 가져오기",
"type": "n8n-nodes-base.httpRequest",
"position": [
-208,
3120
],
"parameters": {
"url": "={{ $json.video.url }}",
"options": {}
},
"typeVersion": 4.2
},
{
"id": "89e22673-971c-48e2-b2ba-9cf714a5672f",
"name": "상태1 가져오기",
"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": "AI/ML API1로 비디오 생성",
"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": "Sticky Note18",
"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초 대기1",
"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": "시네마틱 프롬프트 (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": "Sticky Note21",
"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": "이미지 URL 설정",
"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": "완료됨?",
"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": "오류?",
"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": "중단 및 오류",
"type": "n8n-nodes-base.stopAndError",
"position": [
-400,
3216
],
"parameters": {
"errorMessage": "={{ $json.error.message }}"
},
"typeVersion": 1
},
{
"id": "22f8f3a9-ea96-438b-b276-f8b9e9f52370",
"name": "Sticky Note",
"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": "Sticky Note19",
"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": "Sticky Note20",
"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": "Sticky Note22",
"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": "Sticky Note23",
"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
}
]
]
}
}
}자주 묻는 질문
이 워크플로우를 어떻게 사용하나요?
위의 JSON 구성 코드를 복사하여 n8n 인스턴스에서 새 워크플로우를 생성하고 "JSON에서 가져오기"를 선택한 후, 구성을 붙여넣고 필요에 따라 인증 설정을 수정하세요.
이 워크플로우는 어떤 시나리오에 적합한가요?
고급 - 콘텐츠 제작, 멀티모달 AI
유료인가요?
이 워크플로우는 완전히 무료이며 직접 가져와 사용할 수 있습니다. 다만, 워크플로우에서 사용하는 타사 서비스(예: OpenAI API)는 사용자 직접 비용을 지불해야 할 수 있습니다.
관련 워크플로우 추천
Veo3, YouTube 및 Google 제품군을 사용한 AI 동영상 제작 및 배포 자동화
Veo3, YouTube 및 Google 제품군을 사용한 AI 비디오 제작 및 배포 자동화
If
Wait
Aiml Api
+
If
Wait
Aiml Api
26 노드Dmitry
콘텐츠 제작
APImage를 사용하여 AI 이미지 생성 및 Google Drive에 업로드
Telegram에서 GPT-4o를 사용하여 Flux Pro와 함께 AI 이미지 강화 생성
If
Set
Telegram
+
If
Set
Telegram
22 노드AI/ML API | D1m7asis
콘텐츠 제작
Veo3 Instagram 프록시 워크플로
Veo3, GPT-4 및 Blotato를 사용하여 Instagram Reels 자동 생성 및 게시
If
Set
Wait
+
If
Set
Wait
21 노드Automate With Marc
콘텐츠 제작
1. 플레이리스트 상세 설정 로봇 복사본
Suno, GPT-4, Runway, Creatomate로 AI 생성 YouTube 음악 플레이리스트 생성
If
Set
Code
+
If
Set
Code
203 노드Joseph
콘텐츠 제작
제 작업 흐름9_구형
사용 MagicHour와 Gemini로 Google Sheets에서 매일 YouTube 비디오 생성
If
Set
Code
+
If
Set
Code
31 노드Divyansh Chauhan
콘텐츠 제작
매일 NASA 천문 사진을 Instagram에 게시하고 Telegram 알림을 보냅니다
매일 NASA 천문도를 Instagram에 게시하고 Telegram 알림을 보내기
If
Set
Wait
+
If
Set
Wait
13 노드Adrian
콘텐츠 제작