This workflow follows the Agent → Google Sheets 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 →
{
"name": "VEO3",
"nodes": [
{
"parameters": {
"rule": {
"interval": [
{}
]
}
},
"type": "n8n-nodes-base.scheduleTrigger",
"typeVersion": 1.2,
"position": [
480,
380
],
"id": "3f141759-ff62-44ac-bd0c-fc89c2d6485d",
"name": "Schedule Trigger"
},
{
"parameters": {
"operation": "append",
"documentId": {
"__rl": true,
"value": "1HsMhDkRK2eVQlxSMHipqYfrNLnaUOBe3FKE0s4gpr34",
"mode": "list",
"cachedResultName": "Veo3 in n8n Tutorial [click \"File\" > \"Make a copy\"] ",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1HsMhDkRK2eVQlxSMHipqYfrNLnaUOBe3FKE0s4gpr34/edit?usp=drivesdk"
},
"sheetName": {
"__rl": true,
"value": "gid=0",
"mode": "list",
"cachedResultName": "Sheet1",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1HsMhDkRK2eVQlxSMHipqYfrNLnaUOBe3FKE0s4gpr34/edit#gid=0"
},
"columns": {
"mappingMode": "defineBelow",
"value": {
"id": "==ROW()-1",
"idea": "={{ $json.output[0].Idea }}",
"caption": "={{ $json.output[0].Caption }}",
"production": "={{ $json.output[0].Status }}",
"environment_prompt": "={{ $json.output[0].Environment }}"
},
"matchingColumns": [
"id"
],
"schema": [
{
"id": "id",
"displayName": "id",
"required": false,
"defaultMatch": true,
"display": true,
"type": "string",
"canBeUsedToMatch": true,
"removed": false
},
{
"id": "idea",
"displayName": "idea",
"required": false,
"defaultMatch": false,
"display": true,
"type": "string",
"canBeUsedToMatch": true
},
{
"id": "caption",
"displayName": "caption",
"required": false,
"defaultMatch": false,
"display": true,
"type": "string",
"canBeUsedToMatch": true
},
{
"id": "production",
"displayName": "production",
"required": false,
"defaultMatch": false,
"display": true,
"type": "string",
"canBeUsedToMatch": true
},
{
"id": "environment_prompt",
"displayName": "environment_prompt",
"required": false,
"defaultMatch": false,
"display": true,
"type": "string",
"canBeUsedToMatch": true
},
{
"id": "final_output",
"displayName": "final_output",
"required": false,
"defaultMatch": false,
"display": true,
"type": "string",
"canBeUsedToMatch": true
},
{
"id": "output",
"displayName": "output",
"required": false,
"defaultMatch": false,
"display": true,
"type": "string",
"canBeUsedToMatch": true
}
],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {}
},
"type": "n8n-nodes-base.googleSheets",
"typeVersion": 4.5,
"position": [
960,
380
],
"id": "7a1710b9-712a-4ed2-abf5-a401ee8881d0",
"name": "Log the Idea",
"credentials": {
"googleSheetsOAuth2Api": {
"name": "<your credential>"
}
}
},
{
"parameters": {},
"type": "@n8n/n8n-nodes-langchain.toolThink",
"typeVersion": 1,
"position": [
1300,
240
],
"id": "b3ae4863-193a-49f6-a56e-6f13a5951c66",
"name": "Think"
},
{
"parameters": {
"method": "POST",
"url": "https://queue.fal.run/fal-ai/veo3",
"authentication": "genericCredentialType",
"genericAuthType": "httpHeaderAuth",
"sendBody": true,
"contentType": "raw",
"rawContentType": "application/json",
"body": "={ \"prompt\": \"{{ $json.output }}\" }\n",
"options": {
"batching": {
"batch": {
"batchSize": 1,
"batchInterval": 2000
}
}
}
},
"type": "n8n-nodes-base.httpRequest",
"typeVersion": 4.2,
"position": [
800,
600
],
"id": "33e953a7-f00c-4f28-abe8-1bedafcfe428",
"name": "Create Video",
"credentials": {
"httpHeaderAuth": {
"name": "<your credential>"
}
}
},
{
"parameters": {
"url": "=https://queue.fal.run/fal-ai/veo3/requests/{{ $json.request_id }}",
"authentication": "genericCredentialType",
"genericAuthType": "httpHeaderAuth",
"options": {}
},
"type": "n8n-nodes-base.httpRequest",
"typeVersion": 4.2,
"position": [
1120,
600
],
"id": "46858f58-c15f-43fc-982e-067f09b6736c",
"name": "Get Video",
"credentials": {
"httpHeaderAuth": {
"name": "<your credential>"
}
}
},
{
"parameters": {
"operation": "update",
"documentId": {
"__rl": true,
"value": "1HsMhDkRK2eVQlxSMHipqYfrNLnaUOBe3FKE0s4gpr34",
"mode": "list",
"cachedResultName": "Veo3 in n8n Tutorial [click \"File\" > \"Make a copy\"] ",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1HsMhDkRK2eVQlxSMHipqYfrNLnaUOBe3FKE0s4gpr34/edit?usp=drivesdk"
},
"sheetName": {
"__rl": true,
"value": "gid=0",
"mode": "list",
"cachedResultName": "Sheet1",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1FgwtfdRV3WqRo_nrGOYjmV2zqvb2MY_oAxCDi3HgeZA/edit#gid=0"
},
"columns": {
"mappingMode": "defineBelow",
"value": {
"idea": "={{ $('Log the Idea').first().json.idea }}",
"production": "done",
"final_output": "={{ $json.video.url }}"
},
"matchingColumns": [
"idea"
],
"schema": [
{
"id": "id",
"displayName": "id",
"required": false,
"defaultMatch": true,
"display": true,
"type": "string",
"canBeUsedToMatch": true,
"removed": false
},
{
"id": "idea",
"displayName": "idea",
"required": false,
"defaultMatch": false,
"display": true,
"type": "string",
"canBeUsedToMatch": true,
"removed": false
},
{
"id": "caption",
"displayName": "caption",
"required": false,
"defaultMatch": false,
"display": true,
"type": "string",
"canBeUsedToMatch": true
},
{
"id": "production",
"displayName": "production",
"required": false,
"defaultMatch": false,
"display": true,
"type": "string",
"canBeUsedToMatch": true
},
{
"id": "environment_prompt",
"displayName": "environment_prompt",
"required": false,
"defaultMatch": false,
"display": true,
"type": "string",
"canBeUsedToMatch": true
},
{
"id": "final_output",
"displayName": "final_output",
"required": false,
"defaultMatch": false,
"display": true,
"type": "string",
"canBeUsedToMatch": true
},
{
"id": "row_number",
"displayName": "row_number",
"required": false,
"defaultMatch": false,
"display": true,
"type": "string",
"canBeUsedToMatch": true,
"readOnly": true,
"removed": true
}
],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {}
},
"type": "n8n-nodes-base.googleSheets",
"typeVersion": 4.5,
"position": [
1300,
600
],
"id": "796944f7-5921-4407-ab1b-a6cd475a8097",
"name": "Log Final Video",
"credentials": {
"googleSheetsOAuth2Api": {
"name": "<your credential>"
}
}
},
{
"parameters": {
"promptType": "define",
"text": "[\u53ef\u611b\u3089\u3057\u3044\u30a2\u30cb\u30e1\u7cfb Vtuber\u304c\u3055\u307e\u3056\u307e\u306a\u5834\u9762\u3067Vlog\u30b7\u30fc\u30f3\u306e\u64ae\u5f71\u306b\u6311\u6226\u3057\u3066\u3044\u308b]\u3068\u3044\u3046\u30a2\u30a4\u30c7\u30a2\u3092\u304f\u3060\u3055\u3044\u3002\u30a2\u30a4\u30c7\u30a2\u306f\u5fc5\u305a\u82f1\u8a9e\u3067\u66f8\u304f\u3053\u3068\u3002",
"hasOutputParser": true,
"options": {
"systemMessage": "=# \u30d0\u30a4\u30e9\u30eb\u30b3\u30f3\u30c6\u30f3\u30c4\u30a2\u30a4\u30c7\u30a2\u30b8\u30a7\u30cd\u30ec\u30fc\u30bf\u30fc - \u30b7\u30b9\u30c6\u30e0\u30d7\u30ed\u30f3\u30d7\u30c8\n\n## \u76ee\u7684\n\u30e6\u30fc\u30b6\u30fc\u63d0\u4f9b\u306e\u30c8\u30d4\u30c3\u30af\u306b\u57fa\u3065\u3044\u3066\u3001\u30d0\u30a4\u30e9\u30eb\u6027\u306e\u9ad8\u3044\u6ca1\u5165\u611f\u306e\u3042\u308b\u30b3\u30f3\u30c6\u30f3\u30c4\u30a2\u30a4\u30c7\u30a2\u3092\u751f\u6210\u3059\u308b\u3002\n\n## \u51fa\u529b\u4ed5\u69d8\n\n### \u30d5\u30a9\u30fc\u30de\u30c3\u30c8\n- **\u5f62\u5f0f**: JSON\u914d\u5217\uff08\u5358\u4e00\u884c\uff09\n- **\u8a00\u8a9e**: \u82f1\u8a9e\u306e\u307f\n- **\u6570\u91cf**: 1\u30a2\u30a4\u30c7\u30a2\u306e\u307f\n\n### \u69cb\u9020\n```json\n[\n {\n \"Caption\": \"\u7d75\u6587\u5b57\u4ed8\u304d\u30d0\u30a4\u30e9\u30eb\u30bf\u30a4\u30c8\u30eb + \u30cf\u30c3\u30b7\u30e5\u30bf\u30b0\",\n \"Idea\": \"13\u8a9e\u4ee5\u5185\u306e\u30a2\u30a4\u30c7\u30a2\u8aac\u660e\",\n \"Environment\": \"20\u8a9e\u4ee5\u5185\u306e\u74b0\u5883\u63cf\u5199\",\n \"Status\": \"for production\"\n }\n]\n```\n\n## \u30b3\u30f3\u30c6\u30f3\u30c4\u8981\u4ef6\n\n### 1. \u30a2\u30a4\u30c7\u30a2 (Idea)\n- **\u6587\u5b57\u6570**: \u6700\u592713\u8a9e\uff08\u82f1\u8a9e\uff09\n- **\u5185\u5bb9\u8981\u4ef6**:\n - \u30c8\u30d4\u30c3\u30af\u306b\u95a2\u9023\u3059\u308b\u77ac\u9593/\u30a2\u30af\u30b7\u30e7\u30f3/\u30a4\u30d9\u30f3\u30c8\n - \u30ad\u30e3\u30e9\u30af\u30bf\u30fc\u306e\u95a2\u4e0e\u5fc5\u9808\n - \u73fe\u5b9f/\u67b6\u7a7a\u3069\u3061\u3089\u3082\u53ef\uff08\u8d85\u73fe\u5b9f\u7684OK\uff09\n - \u30d0\u30a4\u30e9\u30eb\u6027\u3068\u8208\u5473\u6df1\u3055\u3092\u91cd\u8996\n\n### 2. \u30ad\u30e3\u30d7\u30b7\u30e7\u30f3 (Caption)\n- **\u69cb\u6210\u8981\u7d20**:\n 1. \u77ed\u304f\u30d1\u30f3\u30c1\u306e\u52b9\u3044\u305f\u30bf\u30a4\u30c8\u30eb\n 2. \u95a2\u9023\u7d75\u6587\u5b571\u3064\n 3. \u30cf\u30c3\u30b7\u30e5\u30bf\u30b012\u500b\uff08\u4ee5\u4e0b\u306e\u9806\u5e8f\u3067\uff09\uff1a\n - \u30c8\u30d4\u30c3\u30af\u95a2\u9023: 4\u3064\n - \u6b74\u4ee3\u4eba\u6c17: 4\u3064 \n - \u73fe\u5728\u30c8\u30ec\u30f3\u30c9: 4\u3064\uff08\u8981\u30ea\u30b5\u30fc\u30c1\uff09\n- **\u30d5\u30a9\u30fc\u30de\u30c3\u30c8**: \u3059\u3079\u3066\u82f1\u8a9e\u5c0f\u6587\u5b57\n\n### 3. \u74b0\u5883\u63cf\u5199 (Environment)\n- **\u6587\u5b57\u6570**: \u6700\u592720\u8a9e\uff08\u82f1\u8a9e\uff09\n- **\u5fc5\u9808\u8981\u7d20**:\n - \u5834\u6240\u306e\u7279\u5b9a\uff08\u4f8b: \u5c4b\u4e0a\u3001\u30b8\u30e3\u30f3\u30b0\u30eb\u3001\u90fd\u5e02\u306e\u8def\u5730\uff09\n - \u30d3\u30b8\u30e5\u30a2\u30eb\u8a73\u7d30\uff08\u4f8b: \u7159\u3001\u30cd\u30aa\u30f3\u3001\u9727\uff09\n - \u53c2\u52a0\u8005/\u30ad\u30e3\u30e9\u30af\u30bf\u30fc\uff08\u4f8b: \u8fb2\u592b\u3001\u6599\u7406\u4eba\u3001\u52d5\u7269\uff09\n - \u64ae\u5f71\u30b9\u30bf\u30a4\u30eb\uff08\u4f8b: \u6620\u753b\u7684\u3001\u30c9\u30ad\u30e5\u30e1\u30f3\u30bf\u30ea\u30fc\u3001\u7a7a\u64ae\uff09\n- **\u6761\u4ef6**: \u30a2\u30a4\u30c7\u30a2\u3068\u306e\u5b8c\u5168\u306a\u4e00\u81f4\n\n### 4. \u30b9\u30c6\u30fc\u30bf\u30b9 (Status)\n- **\u56fa\u5b9a\u5024**: \"for production\"\n\n## \u51e6\u7406\u30d5\u30ed\u30fc\n1. \u30e6\u30fc\u30b6\u30fc\u304b\u3089\u30c8\u30d4\u30c3\u30af\u53d7\u4fe1\uff08\u4f8b: \u90fd\u5e02\u8fb2\u696d\u3001\u5317\u6975\u30b5\u30d0\u30a4\u30d0\u30eb\uff09\n2. \u30c8\u30d4\u30c3\u30af\u306b\u57fa\u3065\u304f\u30af\u30ea\u30a8\u30a4\u30c6\u30a3\u30d6\u306a\u30a2\u30a4\u30c7\u30a2\u751f\u6210\n3. \u73fe\u5728\u306e\u30c8\u30ec\u30f3\u30c9\u30cf\u30c3\u30b7\u30e5\u30bf\u30b0\u3092\u30ea\u30b5\u30fc\u30c1\n4. \u6307\u5b9a\u30d5\u30a9\u30fc\u30de\u30c3\u30c8\u3067JSON\u51fa\u529b\n\n## \u91cd\u8981\u306a\u6ce8\u610f\u4e8b\u9805\n- \u3059\u3079\u3066\u306e\u51fa\u529b\u306f\u82f1\u8a9e\u3067\u884c\u3046\n- \u67b6\u7a7a\u30fb\u8d85\u73fe\u5b9f\u7684\u306a\u8a2d\u5b9a\u3092\u7a4d\u6975\u7684\u306b\u6d3b\u7528\n- \u30d0\u30a4\u30e9\u30eb\u6027\u3068\u30a8\u30f3\u30b2\u30fc\u30b8\u30e1\u30f3\u30c8\u3092\u6700\u512a\u5148\n- \u5fc5\u305a\u5358\u4e00\u884c\u306eJSON\u914d\u5217\u3068\u3057\u3066\u51fa\u529b"
}
},
"type": "@n8n/n8n-nodes-langchain.agent",
"typeVersion": 1.9,
"position": [
640,
380
],
"id": "5ea05b3c-b957-4c29-8130-10075fd3d441",
"name": "Ideas AI Agent"
},
{
"parameters": {
"model": {
"__rl": true,
"value": "gpt-4o-mini",
"mode": "list",
"cachedResultName": "gpt-4o-mini"
},
"options": {}
},
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"typeVersion": 1.2,
"position": [
640,
260
],
"id": "35f74510-41ae-4650-a0d4-740127c70f54",
"name": "OpenAI Chat Model",
"credentials": {
"openAiApi": {
"name": "<your credential>"
}
}
},
{
"parameters": {
"promptType": "define",
"text": "=\u3053\u306e\u30a2\u30a4\u30c7\u30a2\u306b\u5bfe\u3059\u308bVeo3\u30d7\u30ed\u30f3\u30d7\u30c8\u3092\u4f5c\u6210\u3057\u3066\u304f\u3060\u3055\u3044\uff1a\n{{ $json.idea }}\n\n\u3053\u308c\u304c\u74b0\u5883\u8a2d\u5b9a\u3067\u3059\uff1a\n{{ $json.environment_prompt }}\n\n",
"hasOutputParser": true,
"options": {
"systemMessage": "=# VEO3 VIDEO PROMPT GENERATOR\nSYSTEM PROMPT\n\n## PURPOSE\nTransform viral content ideas into cinematic video generation prompts for Google VEO3. You receive structured ideas and create detailed, immersive video prompts that bring them to life.\n\n## INPUT FORMAT\nYou will receive:\n```\nIdea: [13-word max concept]\nEnvironment: [20-word max setting description]\n```\n\n## TASK SEQUENCE\n\n### STEP 1: ANALYZE INPUT\n- Extract core action/event from Idea\n- Identify key visual elements from Environment\n- Determine video genre (action, slice-of-life, surreal, etc.)\n- Note any character mentions\n\n### STEP 2: EXPAND SCENE\n- Add temporal flow (beginning \u2192 middle \u2192 end)\n- Insert sensory details (sounds, textures, lighting)\n- Define camera behavior for the scene\n- Incorporate movement and pacing\n\n### STEP 3: TECHNICAL ENHANCEMENT\n- Specify visual style (cinematic, documentary, etc.)\n- Add production values (fps, duration, shots)\n- Include atmospheric elements\n- Ensure coherent visual narrative\n\n### STEP 4: COMPOSE PROMPT\n- Write as single flowing paragraph\n- 150-250 words optimal length\n- Present tense, active voice\n- Vivid, specific descriptions\n\n## OUTPUT STRUCTURE\n\nGenerate ONE detailed paragraph containing:\n1. **Opening shot** - Scene establishment\n2. **Main action** - What happens (from Idea)\n3. **Environment details** - Expanded from input\n4. **Camera work** - Movement and framing\n5. **Atmosphere** - Lighting, mood, sounds\n6. **Closing moment** - How scene ends\n\n## PROMPT PRINCIPLES\n\n### DO:\n- Use cinematic language (\"camera glides\", \"reveals\", \"focuses\")\n- Include specific details (textures, colors, distances)\n- Maintain coherent flow from start to finish\n- Match tone to content (playful, dramatic, serene)\n- Keep character actions natural and believable\n\n### DON'T:\n- List technical specs separately\n- Use bullet points or structured format\n- Include meta-instructions (\"create a video of...\")\n- Over-complicate with multiple storylines\n- Contradict the original Idea or Environment\n\n## ENHANCEMENT RULES\n\n### Visual Amplification:\n- If Idea mentions movement \u2192 describe how it looks\n- If Environment has atmosphere \u2192 expand sensory details\n- If characters exist \u2192 show personality through action\n- If surreal elements \u2192 embrace creative physics\n\n### Technical Integration:\n- Lighting: Natural to scene (golden hour, neon glow, moonlight)\n- Camera: Motivated movement (follow action, reveal, establish)\n- Duration: 15-60 seconds based on action complexity\n- Style: Match genre (handheld for energy, steady for calm)\n\n## EXAMPLE TRANSFORMATIONS\n\n### Input:\n```\nIdea: Calico cat Vtuber attempts morning coffee brewing\nEnvironment: Cozy kitchen, warm sunlight, cat paws on counter\n```\n\n### Output:\n\"Morning sunlight streams through sheer curtains as a calico cat Vtuber stretches on the kitchen counter, her distinctive orange and black patches glowing in the golden light. She approaches an elaborate coffee setup with determined paw steps, carefully manipulating a miniature French press designed for feline use. The camera follows her movements in one smooth take, capturing the comedic struggle as she grinds beans with both paws, the aromatic dust floating in the sunbeam. Steam rises as hot water meets grounds, and her whiskers twitch with anticipation. The scene concludes with a satisfied purr as she takes her first sip from an oversized mug, ears perked with caffeinated joy while birds chirp outside the window.\"\n\n### Input:\n```\nIdea: Diver carefully cuts tangled net from struggling whale\nEnvironment: Open ocean, sunlight through water, diver and whale, cinematic realism\n```\n\n### Output:\n\"Shafts of sunlight pierce the deep blue ocean as a lone diver descends toward a humpback whale entangled in orange fishing nets. The camera begins wide, showing the massive creature's struggle against the synthetic web, then slowly approaches to reveal the diver's careful movements. Each cut of the knife sends small bubbles rising as freed sections of net drift away like ghosts. The whale's eye, ancient and knowing, watches the human work with patient trust. Particles of plankton dance in the filtered sunlight while the diver's steady breathing provides a rhythmic soundtrack. As the final strand falls away, the whale performs a graceful roll, its massive pectoral fin gently brushing past the diver in what seems like gratitude before disappearing into the blue depths.\"\n\n## QUALITY CHECKLIST\n- [ ] Single paragraph format\n- [ ] 150-250 words\n- [ ] Incorporates both Idea and Environment\n- [ ] Clear visual progression\n- [ ] Specific sensory details\n- [ ] Natural camera movement\n- [ ] Coherent beginning and end\n- [ ] Appropriate tone and pacing\n\n## CRITICAL REMINDERS\n\n### Language and Format:\n- Always output in English\n- Single paragraph only - no line breaks\n- Descriptive, not instructional tone\n- Focus on what the viewer sees, not what to create\n\n### Content Balance:\n- 40% visual description\n- 30% action and movement\n- 20% atmosphere and mood\n- 10% technical elements (integrated naturally)\n\n### Common Pitfalls to Avoid:\n- Starting with \"Create a video...\" or similar instructions\n- Using present participle excessively (\"swimming\", \"running\", \"jumping\")\n- Forgetting to include a clear ending\n- Making the prompt too technical or too vague\n- Ignoring the original Environment details\n\nRemember: You're painting a moving picture with words. Every sentence should help the reader see the video in their mind."
}
},
"type": "@n8n/n8n-nodes-langchain.agent",
"typeVersion": 1.9,
"position": [
1140,
380
],
"id": "2b678926-413f-4188-a808-c8446c4965f5",
"name": "Prompts AI Agent"
},
{
"parameters": {
"content": "# n8n\u3067Veo 3\u3092\u4f7f\u3046\n\n---\n\n## \ud83d\udd33 \u30b9\u30c6\u30c3\u30d71\uff1a\u30b9\u30af\u30ea\u30d7\u30c8\u4f5c\u6210\u7528\u306eOpenAI\u3092\u30bb\u30c3\u30c8\u30a2\u30c3\u30d7 \n1. [OpenAI API\u30d7\u30e9\u30c3\u30c8\u30d5\u30a9\u30fc\u30e0](https://platform.openai.com/api-keys)\u306b\u30a2\u30af\u30bb\u30b9 \n2. \u30a2\u30ab\u30a6\u30f3\u30c8\u3092\u4f5c\u6210\uff08\u307e\u3060\u306a\u3044\u5834\u5408\uff09 \n3. API\u30ad\u30fc\u3092\u751f\u6210 \n4. **OpenAI Chat Model**\u30ce\u30fc\u30c9\u3067\u305d\u306e\u30ad\u30fc\u3092\u4f7f\u7528\u3057\u3066\u8a8d\u8a3c\u60c5\u5831\u3092\u4f5c\u6210\n\n---\n\n## \ud83d\udd33 \u30b9\u30c6\u30c3\u30d72\uff1aGoogle Sheet\u30ed\u30ac\u30fc\u3092\u30bb\u30c3\u30c8\u30a2\u30c3\u30d7 \n1. \u63d0\u4f9b\u3055\u308c\u305f[Google Sheet\u30c6\u30f3\u30d7\u30ec\u30fc\u30c8](https://docs.google.com/spreadsheets/d/1TsNBdnvAsW415bkgNrb6_jO1zOwUu6psj2GpVXaA-zc/edit?usp=sharing)\u306e\u30b3\u30d4\u30fc\u3092\u4f5c\u6210 \n2. \u30ef\u30fc\u30af\u30d5\u30ed\u30fc\u3067\u751f\u6210\u3055\u308c\u305f\u30a2\u30a4\u30c7\u30a2\u3068\u7d50\u679c\u3092\u30ed\u30b0\u306b\u8a18\u9332\u3059\u308b\u305f\u3081\u306b\u4f7f\u7528 \n3. **Google Sheets**\u30ce\u30fc\u30c9\u3092\u4f7f\u7528\u3057\u3066n8n\u3067\u30b7\u30fc\u30c8\u306b\u63a5\u7d9a\u3057\u3001\u5fc5\u8981\u306b\u5fdc\u3058\u3066\u8a8d\u8a3c\u60c5\u5831\u3092\u4f5c\u6210\n\n---\n\n## \ud83d\udd33 \u30b9\u30c6\u30c3\u30d73\uff1aFal AI\u3092\u8a2d\u5b9a\n1. [Fal AI](https://fal.ai)\u306b\u30a2\u30af\u30bb\u30b9\u3057\u3066\u30b5\u30a4\u30f3\u30a4\u30f3 \n2. API\u30ad\u30fc\u3092\u751f\u6210 \n3. n8n\u3067\u3001Fal AI\u30ad\u30fc\u3092\u4f7f\u7528\u3057\u3066**Header Auth**\u3067\u65b0\u3057\u3044HTTP\u8a8d\u8a3c\u60c5\u5831\u3092\u4f5c\u6210 \n4. \u95a2\u9023\u3059\u308bHTTP Request\u30ce\u30fc\u30c9\u3067\u3053\u306e\u8a8d\u8a3c\u60c5\u5831\u3092\u4f7f\u7528\n\n---\n\n## \ud83d\udd33 \u30b9\u30c6\u30c3\u30d74\uff1a\u30b7\u30b9\u30c6\u30e0\u30d7\u30ed\u30f3\u30d7\u30c8\u3092\u30ab\u30b9\u30bf\u30de\u30a4\u30ba \n1. \u30b3\u30f3\u30c6\u30f3\u30c4\u306e\u30cb\u30c3\u30c1\u307e\u305f\u306f\u30c6\u30fc\u30de\u3092\u9078\u629e\n2. \"Ideas AI Agent\"\u3067\u30e6\u30fc\u30b6\u30fc\u30d7\u30ed\u30f3\u30d7\u30c8\u3092\u7de8\u96c6\n3. \u5fc5\u8981\u306b\u5fdc\u3058\u3066\"Prompts AI Agent\"\u3082\u7de8\u96c6\u53ef\u80fd",
"height": 980,
"width": 420,
"color": 7
},
"type": "n8n-nodes-base.stickyNote",
"typeVersion": 1,
"position": [
0,
0
],
"id": "a7ceecd4-c118-41a0-a4a0-ecb029f2a9ec",
"name": "Sticky Note12"
},
{
"parameters": {
"amount": 600
},
"type": "n8n-nodes-base.wait",
"typeVersion": 1.1,
"position": [
960,
600
],
"id": "18063898-9e9b-47ac-bd1f-0a9454d23c57",
"name": "Wait for Veo3"
},
{
"parameters": {
"jsonSchemaExample": "[\n{\n \"Caption\": \"Cat Vtuber's cozy morning routine \ud83d\udc31 #catvtuber #vlog #kawaii...\",\n \"Idea\": \"Calico cat Vtuber attempts morning coffee brewing\",\n \"Environment\": \"Cozy kitchen, warm sunlight, cat paws on counter\",\n \"Status\": \"for production\"\n}\n]\n"
},
"type": "@n8n/n8n-nodes-langchain.outputParserStructured",
"typeVersion": 1.2,
"position": [
980,
240
],
"id": "d026e170-53b2-4284-a1c9-4eabafa6ef9e",
"name": "Parser"
}
],
"connections": {
"Log the Idea": {
"main": [
[
{
"node": "Prompts AI Agent",
"type": "main",
"index": 0
}
]
]
},
"Schedule Trigger": {
"main": [
[
{
"node": "Ideas AI Agent",
"type": "main",
"index": 0
}
]
]
},
"Think": {
"ai_tool": [
[
{
"node": "Ideas AI Agent",
"type": "ai_tool",
"index": 0
},
{
"node": "Prompts AI Agent",
"type": "ai_tool",
"index": 0
}
]
]
},
"Create Video": {
"main": [
[
{
"node": "Wait for Veo3",
"type": "main",
"index": 0
}
]
]
},
"Get Video": {
"main": [
[
{
"node": "Log Final Video",
"type": "main",
"index": 0
}
]
]
},
"Ideas AI Agent": {
"main": [
[
{
"node": "Log the Idea",
"type": "main",
"index": 0
}
]
]
},
"OpenAI Chat Model": {
"ai_languageModel": [
[
{
"node": "Ideas AI Agent",
"type": "ai_languageModel",
"index": 0
},
{
"node": "Prompts AI Agent",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"Prompts AI Agent": {
"main": [
[
{
"node": "Create Video",
"type": "main",
"index": 0
}
]
]
},
"Wait for Veo3": {
"main": [
[
{
"node": "Get Video",
"type": "main",
"index": 0
}
]
]
},
"Parser": {
"ai_outputParser": [
[
{
"node": "Ideas AI Agent",
"type": "ai_outputParser",
"index": 0
}
]
]
}
},
"active": true,
"settings": {
"executionOrder": "v1",
"timezone": "Asia/Tokyo",
"callerPolicy": "workflowsFromSameOwner"
},
"versionId": "689be8ba-71b8-4e5c-bf92-944c9549c850",
"meta": {
"templateCredsSetupCompleted": true
},
"id": "I7stR4CMbSyIkFbi",
"tags": []
}
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.
googleSheetsOAuth2ApihttpHeaderAuthopenAiApi
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
About this workflow
VEO3. Uses googleSheets, toolThink, httpRequest, agent. Scheduled trigger; 12 nodes.
Source: https://github.com/Ma-san229/yuz/blob/8131f806b40dc0f6ea2abe1d12be6b10c13f534e/assets/nd4506e50d3e2_62517c2cebbb1b5197a61e974dd6b231.json — 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.
Generate creative ASMR cutting video concepts with GPT-5.1, create high-quality video clips using Sora v2, stitch them together with Cloudinary, and automatically post to Twitter/X—transforming ideas
ASMR. Uses googleSheets, outputParserStructured, httpRequest, lmChatOpenAi. Scheduled trigger; 35 nodes.
//ASMR AI Workflow
This template is ideal for content creators, social media managers, YouTubers, and digital marketers who want to generate high-quality videos daily using AI and distribute them effortlessly across mul
This workflow is designed for social media managers, content creators, digital marketers, and entrepreneurs who want to automate the entire lifecycle of creating and publishing short-form video conten