This workflow corresponds to n8n.io template #6832 — we link there as the canonical source.
This workflow follows the Chainllm → Chat Trigger 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": "WCgbgxpfV91txCUx",
"meta": {
"templateCredsSetupCompleted": true
},
"name": "Prompt converter + Veo3",
"tags": [],
"nodes": [
{
"id": "f3ab3272-fe32-4691-bbf2-cfe654b2f7d5",
"name": "Generate a video",
"type": "@n8n/n8n-nodes-langchain.googleGemini",
"position": [
624,
0
],
"parameters": {
"prompt": "={{ JSON.stringify($json.output) }}",
"modelId": {
"__rl": true,
"mode": "list",
"value": "models/veo-2.0-generate-001",
"cachedResultName": "models/veo-2.0-generate-001"
},
"options": {
"aspectRatio": "16:9",
"sampleCount": 1
},
"resource": "video"
},
"credentials": {
"googlePalmApi": {
"name": "<your credential>"
}
},
"typeVersion": 1
},
{
"id": "b3227853-e2ba-424b-99b8-b93221f725bb",
"name": "Json parser",
"type": "@n8n/n8n-nodes-langchain.outputParserStructured",
"position": [
416,
176
],
"parameters": {
"jsonSchemaExample": "{\n \"prompt\": \"detailed scene description\",\n \"negative_prompt\": \"elements to avoid\",\n \"aspect_ratio\": \"width:height ratio\",\n \"camera_movement\": \"camera motion type\",\n \"style\": \"visual style/genre\",\n \"quality\": \"output quality setting\",\n \"motion_intensity\": \"low/medium/high\",\n \"seed\": \"random seed for reproducibility\",\n \"fps\": \"frames per second\",\n \"resolution\": \"video resolution\",\n \"lighting\": \"lighting conditions\",\n \"mood\": \"overall mood/atmosphere\",\n \"color_palette\": \"dominant colors\",\n \"subject_focus\": \"main subject details\",\n \"background\": \"background description\",\n \"effects\": \"special effects to include\"\n}"
},
"typeVersion": 1.3
},
{
"id": "c0d14df0-b1eb-4cc3-bd97-be5fffbb4f62",
"name": "Openai",
"type": "@n8n/n8n-nodes-langchain.lmChatAzureOpenAi",
"position": [
256,
176
],
"parameters": {
"model": "gpt",
"options": {}
},
"credentials": {
"azureOpenAiApi": {
"name": "<your credential>"
}
},
"typeVersion": 1
},
{
"id": "f5acc743-42d0-4cfa-b202-7d836c57a881",
"name": "Prompt Input",
"type": "@n8n/n8n-nodes-langchain.chatTrigger",
"position": [
0,
0
],
"parameters": {
"options": {}
},
"typeVersion": 1.1
},
{
"id": "4cafc8f1-7936-4138-a49c-593ebf47e6f5",
"name": "Prompt converter",
"type": "@n8n/n8n-nodes-langchain.chainLlm",
"position": [
224,
0
],
"parameters": {
"batching": {},
"messages": {
"messageValues": [
{
"message": "=# Veo 3 Video Generation JSON Converter System Prompt\n\nYou are a specialized AI assistant that converts natural language descriptions into structured JSON format optimized for Veo 3 video generation. Your primary function is to transform user input into a comprehensive JSON prompt that maximizes the quality and accuracy of generated videos.\n\n## Core Instructions\n\n1. **Always respond in valid JSON format only**\n2. **Never include explanatory text outside the JSON structure**\n3. **Extract and structure all relevant video generation parameters from user input**\n4. **Fill in reasonable defaults for missing parameters**\n5. **Ensure all JSON keys and values follow Veo 3 specifications**\n\n## JSON Structure Template\n\n```json\n{\n \"prompt\": \"detailed scene description\",\n \"negative_prompt\": \"elements to avoid\",\n \"aspect_ratio\": \"width:height ratio\",\n \"camera_movement\": \"camera motion type\",\n \"style\": \"visual style/genre\",\n \"quality\": \"output quality setting\",\n \"motion_intensity\": \"low/medium/high\",\n \"seed\": \"random seed for reproducibility\",\n \"fps\": \"frames per second\",\n \"resolution\": \"video resolution\",\n \"lighting\": \"lighting conditions\",\n \"mood\": \"overall mood/atmosphere\",\n \"color_palette\": \"dominant colors\",\n \"subject_focus\": \"main subject details\",\n \"background\": \"background description\",\n \"effects\": \"special effects to include\"\n}\n```\n\n## Parameter Guidelines\n\n### Prompt Construction\n- Create detailed, cinematic descriptions\n- Include specific visual elements, actions, and compositions\n- Use descriptive adjectives for style and mood\n- Specify camera angles and movements when relevant\n- Include temporal elements (time of day, season, etc.)\n\n### Default Values\n- **duration**: \"5\" (seconds)\n- **aspect_ratio**: \"16:9\"\n- **quality**: \"high\"\n- **fps**: \"24\"\n- **resolution**: \"1080p\"\n- **motion_intensity**: \"medium\"\n\n### Camera Movements\n- static, pan_left, pan_right, tilt_up, tilt_down, zoom_in, zoom_out, dolly_forward, dolly_backward, orbit, handheld, smooth_tracking\n\n### Style Options\n- cinematic, documentary, animation, vintage, modern, artistic, realistic, stylized, noir, vibrant, minimalist\n\n### Aspect Ratios\n- 16:9 (landscape), 9:16 (portrait), 1:1 (square), 21:9 (ultra-wide), 4:3 (classic)\n\n## Processing Rules\n\n1. **Analyze Input**: Extract key elements like subjects, actions, settings, mood, style preferences\n2. **Enhance Description**: Expand brief descriptions into detailed, cinematic prompts\n3. **Set Parameters**: Choose appropriate technical settings based on content type\n4. **Optimize for Veo 3**: Structure prompt for maximum model comprehension\n5. **Include Negatives**: Add relevant negative prompts to avoid unwanted elements\n\n## Example Transformations\n\n**User Input**: \"A cat playing in the garden\"\n**Output**:\n```json\n{\n \"prompt\": \"A playful orange tabby cat chasing a butterfly in a sunlit garden, lush green grass, colorful flowers blooming, warm golden hour lighting, shallow depth of field, natural movement\",\n \"negative_prompt\": \"blurry, low quality, distorted, unnatural movement\",\n \"aspect_ratio\": \"16:9\",\n \"camera_movement\": \"smooth_tracking\",\n \"style\": \"cinematic\",\n \"quality\": \"high\",\n \"motion_intensity\": \"medium\",\n \"fps\": \"24\",\n \"resolution\": \"1080p\",\n \"lighting\": \"golden_hour\",\n \"mood\": \"cheerful\",\n \"color_palette\": \"warm_natural_tones\"\n}\n```\n\n## Important Notes\n\n- Always output valid JSON only\n- Never explain your reasoning outside the JSON\n- If input is unclear, make reasonable assumptions\n- Prioritize visual storytelling in prompt construction\n- Consider technical limitations of video generation\n- Optimize for realistic and achievable results\n\n## Quality Checklist\n\nBefore outputting JSON, ensure:\n- [ ] Prompt is detailed and descriptive\n- [ ] All technical parameters are appropriate\n- [ ] Negative prompt prevents common issues\n- [ ] JSON syntax is valid\n- [ ] All required fields are present\n- [ ] Values match expected formats"
}
]
},
"hasOutputParser": true
},
"typeVersion": 1.7
},
{
"id": "ef3a1e96-5bf0-4190-b42a-762fb954ecb2",
"name": "Alternative",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenRouter",
"position": [
128,
176
],
"parameters": {
"options": {}
},
"credentials": {
"openRouterApi": {
"name": "<your credential>"
}
},
"typeVersion": 1
}
],
"active": false,
"settings": {
"executionOrder": "v1"
},
"versionId": "ebc10653-9e6e-4b46-b62c-c3d0360997b1",
"connections": {
"Openai": {
"ai_languageModel": [
[
{
"node": "Prompt converter",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"Json parser": {
"ai_outputParser": [
[
{
"node": "Prompt converter",
"type": "ai_outputParser",
"index": 0
}
]
]
},
"Prompt Input": {
"main": [
[
{
"node": "Prompt converter",
"type": "main",
"index": 0
}
]
]
},
"Prompt converter": {
"main": [
[
{
"node": "Generate a video",
"type": "main",
"index": 0
}
]
]
}
}
}
Credentials you'll need
Each integration node will prompt for credentials when you import. We strip credential IDs before publishing — you'll add your own.
azureOpenAiApigooglePalmApiopenRouterApi
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
About this workflow
The Prompt converter workflow tackles the challenge of turning your natural language video ideas into perfectly formatted JSON prompts tailored for Veo 3 video generation.
Source: https://n8n.io/workflows/6832/ — 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 is designed to intelligently route user queries to the most suitable large language model (LLM) based on the type of request received in a chat environment. It uses structured classifica
This comprehensive workflow automates the complete financial document processing pipeline using AI. Upload invoices via chat, drop expense receipts into a folder, or add bank statements - the system a
⚠️ Important: This workflow uses community nodes (JsonCut, Blotato) and requires a self-hosted n8n instance.
[](https://youtu.be/D11S0s3PDNc)
Aiden. Uses supabase, chat, memoryBufferWindow, memoryPostgresChat. Chat trigger; 20 nodes.