This workflow corresponds to n8n.io template #6047 — we link there as the canonical source.
This workflow follows the Form Trigger → HTTP Request recipe pattern — see all workflows that pair these two integrations.
The workflow JSON
Copy or download the full n8n JSON below. Paste it into a new n8n workflow, add your credentials, activate. Full import guide →
{
"id": "CJsOhlym2ufRTPav",
"meta": {
"templateId": "6047"
},
"name": "Generate AI Videos from Text Prompts with KIE.AI Veo3 3",
"tags": [],
"nodes": [
{
"id": "6923636e-d71c-4362-9359-ec9e126b76cb",
"name": "Sticky Note6",
"type": "n8n-nodes-base.stickyNote",
"position": [
368,
240
],
"parameters": {
"width": 780,
"height": 120,
"content": "## STEP 1 - GET API KEY (YOURAPIKEY)\n- Create an account [here](https://kie.ai/) and obtain API KEY.\n- It will be used in on form submission.\n- Important: Please keep your key safe and do not disclose it to others."
},
"typeVersion": 1
},
{
"id": "0ba8e9a2-ae87-4d70-bbf9-ed3fe3e12161",
"name": "Sticky Note",
"type": "n8n-nodes-base.stickyNote",
"position": [
368,
384
],
"parameters": {
"width": 780,
"height": 180,
"content": "## STEP 2 - Usage Process\n1. **Start Workflow** - Click \"Execute workflow\" button to begin the task.\n2. **Fill Form** - Complete the required fields in the popup form.\n3. **Submit - Click** \"Submit\" button to send your request.\n4. **Close Window** - You can close the form window after successful submission.\n5. **Wait for Generation** - System automatically checks status every 10 seconds.\n6. **Get Results** - Video files will be displayed automatically when generation is complete."
},
"typeVersion": 1
},
{
"id": "15709134-9fe8-4dac-8580-5d1684e55e91",
"name": "Sticky Note3",
"type": "n8n-nodes-base.stickyNote",
"position": [
-448,
288
],
"parameters": {
"color": 3,
"width": 780,
"height": 760,
"content": "## Overview\nThis workflow utilizes the KIE.AI Veo3 model to generate AI-powered videos from either text descriptions or images. Users can interact through a simple form, providing a prompt (such as a scene description), an optional image URL for image-to-video generation, and selecting the desired video aspect ratio (16:9 or 9:16). The system automatically submits the request to the KIE.AI API, monitors the generation status in real time, and retrieves the final video output.This solution is ideal for content creators, marketers, educators, and developers who want to quickly create custom videos with minimal setup\u2014whether from text, images, or both.\n\n\n## Prerequisites\n- A KIE. AI account and API key: Sign up at [KIE.AI](https://kie.ai) to obtain your free or paid API key.\n- An active n8n instance (cloud or self-hosted) with HTTP Request and form submission capabilities.\n- Basic knowledge of AI prompts for video generation to achieve optimal results.\n- (Optional) An image URL if you want to use image-to-video generation.\n\n## Setup Instructions\n1. **Obtain API Key**: Register at KIE. AI and generate your API key. Store it securely\u2014do not share it publicly.\n2. **Configure the Form**: In the \"On Form Submission\" node, ensure the following fields are set up:prompt (video description),img_url (optional, for image-to-video),aspectRatio (choose between 16:9 and 9:16),api_key.\n3. **Test the Workflow**:\n - Click \"Execute Workflow\" in n8n.\n - Access the generated form URL, submit your prompt and API key.\n - The workflow will poll the API every 10 seconds until the video is ready, then display the results.\n4. **Handle Outputs**: The final node formats and displays the video file URL for download or embedding.\n\n## Customization Tips\n- **Enhance Prompts**: Include specifics like duration, style (e.g., realistic, animated), actions, and visual elements to improve AI video quality.\n\n- **Keywords for SEO**: This template focuses on AI video generation, text-to-video models, Veo3 API integration, and automated workflows.\n\n\n"
},
"typeVersion": 1
},
{
"id": "a02e8c24-b42d-4875-8021-9aee5c7aab89",
"name": "Sticky Note1",
"type": "n8n-nodes-base.stickyNote",
"position": [
368,
592
],
"parameters": {
"width": 780,
"height": 520,
"content": "## STEP 3 - Form Parameters\n1. **Prompt** (Video Description)\n - Purpose: Describe the video content you want to generate.\n - Example: \"A dog playing in a park\".\n - Tips:\n Be detailed and specific in describing video content.\n Include actions, scenes, and style information.\n Describe movements and visual elements you want to see.\n More detailed descriptions lead to better results.\n2. **img_url** (Image-to-Video, Optional)\n - Purpose: Provide an image URL to generate a video based on the image content (image-to-video). If left blank, the workflow will generate a video purely from the text prompt (text-to-video).\n - Example: https://file.example.com/your-image.jpg\n - Tips:\n Use a clear and relevant image to guide the video generation.\n If both prompt and image are provided, the AI will combine both for richer results.\n If only prompt is provided, the workflow will perform text-to-video generation as before.\n3. **aspectRatio** (Video Aspect Ratio)\n - Purpose: Select the aspect ratio for the generated video.\n - Options: 16:9 or 9:16 .\n4. **api_key** (API Key)\n - This is what you get in the first step.\n"
},
"typeVersion": 1
},
{
"id": "7695bace-f47f-4cbe-9e3b-1e3a03dc98f6",
"name": "Submit Text Prompt for Video Generation",
"type": "n8n-nodes-base.formTrigger",
"position": [
-192,
1120
],
"parameters": {
"options": {},
"formTitle": "AI video generator",
"formFields": {
"values": [
{
"fieldLabel": "prompt",
"placeholder": "a happy dog"
},
{
"fieldLabel": "img_url [optional]",
"placeholder": "http://example.com/image1.jpg"
},
{
"fieldLabel": "aspectRatio [16:9,9:16]",
"placeholder": "[16:9,9:16]"
},
{
"fieldLabel": "api_key",
"placeholder": "47f33b46************************1253\t"
}
]
},
"formDescription": "Please fill in the following information to generate your video"
},
"typeVersion": 2.2
},
{
"id": "50b11dcd-275a-48c5-ac4e-4cae25e067a4",
"name": "Send Video Generation Request to KIE.AI API",
"type": "n8n-nodes-base.httpRequest",
"position": [
32,
1120
],
"parameters": {
"url": "https://api.kie.ai/api/v1/veo/generate",
"method": "POST",
"options": {},
"jsonBody": "={\n \"prompt\": \"{{$json.prompt}}\",\n \"model\": \"veo3\",\n \"watermark\": \"\",\n \"imageUrls\": [\"{{$json[\"img_url [optional]\"]}}\"],\n \"callBackUrl\": \"https://api.example.com/callback\",\n \"aspectRatio\": \"{{ $json[\"aspectRatio [16:9,9:16]\"] }}\",\n \"seeds\": 12345\n}",
"sendBody": true,
"sendHeaders": true,
"specifyBody": "json",
"headerParameters": {
"parameters": [
{
"name": "Content-Type",
"value": "application/json"
},
{
"name": "Authorization",
"value": "=Bearer {{$json.api_key}}"
}
]
}
},
"typeVersion": 4.2
},
{
"id": "022fecc6-9284-4c4b-a4d9-756f244a69aa",
"name": "Wait for Video Processing Completion",
"type": "n8n-nodes-base.wait",
"position": [
272,
1120
],
"parameters": {
"amount": 10
},
"typeVersion": 1.1
},
{
"id": "8b61f6ba-0565-4100-80f3-30e30be081ec",
"name": "Obtain the generated status",
"type": "n8n-nodes-base.httpRequest",
"position": [
496,
1120
],
"parameters": {
"url": "https://api.kie.ai/api/v1/veo/record-info",
"options": {},
"sendQuery": true,
"sendHeaders": true,
"queryParameters": {
"parameters": [
{
"name": "taskId",
"value": "={{$json.data.taskId}}"
}
]
},
"headerParameters": {
"parameters": [
{
"name": "Content-Type",
"value": "application/json"
},
{
"name": "Authorization",
"value": "=Bearer {{$node[\"Submit Text Prompt for Video Generation\"].json[\"api_key\"]}}"
}
]
}
},
"typeVersion": 4.2
},
{
"id": "6b889a83-c8c0-4550-b583-5c6f5fbf02d9",
"name": "Check if Video Generation is Complete",
"type": "n8n-nodes-base.if",
"position": [
336,
1344
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "loose"
},
"combinator": "and",
"conditions": [
{
"id": "db9a5dec-997b-4c3f-9582-37c9bbeb19ff",
"operator": {
"name": "filter.operator.equals",
"type": "string",
"operation": "equals"
},
"leftValue": "=true",
"rightValue": "={{ $json.data.successFlag == 1 }}"
}
]
},
"looseTypeValidation": true
},
"typeVersion": 2.2
},
{
"id": "bff24bb8-9cc4-4e7b-b745-3576bcce2cc9",
"name": "Format and Display Video Results",
"type": "n8n-nodes-base.set",
"position": [
688,
1328
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "fa5f375f-cddc-4f7b-a018-67c28015d18b",
"name": "resultUrls",
"type": "string",
"value": "={{$json.data.response.resultUrls}}"
},
{
"id": "8f93e12e-13da-495f-a686-c0abc22f39d9",
"name": "",
"type": "string",
"value": ""
}
]
}
},
"typeVersion": 3.4
}
],
"active": false,
"settings": {
"executionOrder": "v1"
},
"versionId": "881ec4a7-15ce-4561-b15a-1c9657879885",
"connections": {
"Obtain the generated status": {
"main": [
[
{
"node": "Check if Video Generation is Complete",
"type": "main",
"index": 0
}
]
]
},
"Wait for Video Processing Completion": {
"main": [
[
{
"node": "Obtain the generated status",
"type": "main",
"index": 0
}
]
]
},
"Check if Video Generation is Complete": {
"main": [
[
{
"node": "Format and Display Video Results",
"type": "main",
"index": 0
}
],
[
{
"node": "Wait for Video Processing Completion",
"type": "main",
"index": 0
}
]
]
},
"Submit Text Prompt for Video Generation": {
"main": [
[
{
"node": "Send Video Generation Request to KIE.AI API",
"type": "main",
"index": 0
}
]
]
},
"Send Video Generation Request to KIE.AI API": {
"main": [
[
{
"node": "Wait for Video Processing Completion",
"type": "main",
"index": 0
}
]
]
}
}
}
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
About this workflow
This workflow leverages the KIE. AI Veo3 model to generate AI videos from simple text descriptions. Users interact via a form interface, inputting a prompt (e.g., a scene description), and the system automatically submits the request to the KIE. AI API, monitors the generation…
Source: https://n8n.io/workflows/6047/ — original creator credit. Request a take-down →
Related workflows
Workflows that share integrations, category, or trigger type with this one. All free to copy and import.
This workflow allows you to import any workflow from a file or another n8n instance and map the credentials easily. A multi-form setup guides you through the entire process At the beginning you have t
[n8n] Advanced URL Parsing and Shortening Workflow - Switchy.io Integration. Uses splitInBatches, stickyNote, httpRequest, html. Event-driven trigger; 56 nodes.
[](https://youtu.be/c7yCZhmMjtI)
N8n recently introduced folders and it has been a big improvement on workflow management on top of the tags.
This workflow automates the creation of press releases for music artists releasing a new single. Upload your MP3, fill in basic info, and receive a publication-ready press release saved as a Google Do