This workflow corresponds to n8n.io template #9541 — 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 →
{
"meta": {
"templateCredsSetupCompleted": true
},
"nodes": [
{
"id": "073ccc86-cbe3-486a-bd65-e86766334ac5",
"name": "Fal.ai Animate Request1",
"type": "n8n-nodes-base.httpRequest",
"position": [
336,
640
],
"parameters": {},
"typeVersion": 4.1
},
{
"id": "02e67b2b-32a6-4cb9-95b5-bf4c003e6fd6",
"name": "Edit Fields2",
"type": "n8n-nodes-base.set",
"position": [
-112,
544
],
"parameters": {},
"typeVersion": 3.4
},
{
"id": "0e24c0e3-5441-4984-82d2-6e868c0ea96c",
"name": "Edit Fields3",
"type": "n8n-nodes-base.set",
"position": [
-112,
736
],
"parameters": {},
"typeVersion": 3.4
},
{
"id": "adc6f12a-1819-49e2-b8b4-71796ce17194",
"name": "Merge",
"type": "n8n-nodes-base.merge",
"position": [
112,
640
],
"parameters": {},
"typeVersion": 3.2
},
{
"id": "8dbec768-8afc-4454-8101-92e50522e3e4",
"name": "Get Video Status",
"type": "n8n-nodes-base.httpRequest",
"position": [
784,
576
],
"parameters": {},
"typeVersion": 4.1
},
{
"id": "c7211176-fcce-48f9-a815-f4e1925ce89d",
"name": "If",
"type": "n8n-nodes-base.if",
"position": [
1008,
640
],
"parameters": {},
"typeVersion": 1
},
{
"id": "25275875-e329-42b0-b949-d98a8780193e",
"name": "Get Final Video",
"type": "n8n-nodes-base.httpRequest",
"position": [
1232,
640
],
"parameters": {},
"typeVersion": 4.1
},
{
"id": "9bf0f066-7457-4c0c-9e97-7f975383296c",
"name": "Wait",
"type": "n8n-nodes-base.wait",
"position": [
560,
640
],
"parameters": {},
"typeVersion": 1.1
},
{
"id": "9a8c2e31-54b5-44c8-ab4c-c31b64857948",
"name": "Upload Video1",
"type": "n8n-nodes-base.awsS3",
"position": [
-336,
544
],
"parameters": {},
"typeVersion": 2
},
{
"id": "3ffe6642-89bb-428a-af58-d41b034ed109",
"name": "Upload Image1",
"type": "n8n-nodes-base.awsS3",
"position": [
-336,
736
],
"parameters": {},
"typeVersion": 2
},
{
"id": "7cbaae7f-5b31-4c0f-9950-b4fdf36bc794",
"name": "On form for S3",
"type": "n8n-nodes-base.formTrigger",
"position": [
-832,
624
],
"parameters": {},
"typeVersion": 2.3
},
{
"id": "cd5fb29d-aab9-41de-a90c-3d570a316afe",
"name": "Sticky Note",
"type": "n8n-nodes-base.stickyNote",
"position": [
-960,
400
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "883b98db-8517-4990-b6e7-ea5a1e889ad7",
"name": "Sticky Note1",
"type": "n8n-nodes-base.stickyNote",
"position": [
-448,
400
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "a6ae45f1-9a31-4bbd-adf5-86b4f8083c57",
"name": "Sticky Note2",
"type": "n8n-nodes-base.stickyNote",
"position": [
272,
384
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "fd5f1cd9-10f8-4abb-8f48-742ae23fee53",
"name": "Sticky Note3",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1312,
528
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "e2603964-af07-4f43-b3b3-7693f4a68715",
"name": "Sticky Note5",
"type": "n8n-nodes-base.stickyNote",
"position": [
-2048,
80
],
"parameters": {
"content": ""
},
"typeVersion": 1
}
],
"connections": {
"If": {
"main": [
[
{
"node": "Get Final Video",
"type": "main",
"index": 0
}
],
[
{
"node": "Wait",
"type": "main",
"index": 0
}
]
]
},
"Wait": {
"main": [
[
{
"node": "Get Video Status",
"type": "main",
"index": 0
}
]
]
},
"Merge": {
"main": [
[
{
"node": "Fal.ai Animate Request1",
"type": "main",
"index": 0
}
]
]
},
"Edit Fields2": {
"main": [
[
{
"node": "Merge",
"type": "main",
"index": 0
}
]
]
},
"Edit Fields3": {
"main": [
[
{
"node": "Merge",
"type": "main",
"index": 1
}
]
]
},
"Upload Image1": {
"main": [
[
{
"node": "Edit Fields3",
"type": "main",
"index": 0
}
]
]
},
"Upload Video1": {
"main": [
[
{
"node": "Edit Fields2",
"type": "main",
"index": 0
}
]
]
},
"On form for S3": {
"main": [
[
{
"node": "Upload Video1",
"type": "main",
"index": 0
},
{
"node": "Upload Image1",
"type": "main",
"index": 0
}
]
]
},
"Get Video Status": {
"main": [
[
{
"node": "If",
"type": "main",
"index": 0
}
]
]
},
"Fal.ai Animate Request1": {
"main": [
[
{
"node": "Wait",
"type": "main",
"index": 0
}
]
]
}
}
}
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
About this workflow
Create stunning deepfake-style videos automatically by swapping a face from an image onto a source video.
Source: https://n8n.io/workflows/9541/ — 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