Générateur de vidéos sans visage - Transformer automatiquement les idées en vidéo
Ceci est unContent Creation, Multimodal AIworkflow d'automatisation du domainecontenant 37 nœuds.Utilise principalement des nœuds comme Set, Wait, Merge, SplitOut, Aggregate. Créer des vidéos sans visage avec Gemini, ElevenLabs, Leonardo AI et Shotstack
- •Informations d'identification Google Drive API
- •Peut nécessiter les informations d'identification d'authentification de l'API cible
- •Clé API OpenAI
- •Clé API Google Gemini
Nœuds utilisés (37)
Catégorie
{
"id": "SfN2LB0yzDGfq2fl",
"meta": {
"instanceId": "ed6d846a2fce1f660ede2e7da800724cca01dc3d0685524a3c917881b7cfcfe9",
"templateCredsSetupCompleted": true
},
"name": "Faceless Video Machine – Turn Ideas into Videos Automatically",
"tags": [],
"nodes": [
{
"id": "da94f942-f640-427e-ab03-8fd2dd2ac64e",
"name": "Téléverser l'audio sur Drive",
"type": "n8n-nodes-base.googleDrive",
"position": [
-80,
320
],
"parameters": {
"name": "=faceless-video-audio-{{ $now.toISO() }}",
"driveId": {
"__rl": true,
"mode": "list",
"value": "My Drive"
},
"options": {},
"folderId": {
"__rl": true,
"mode": "list",
"value": "root",
"cachedResultName": "/ (Root folder)"
}
},
"credentials": {
"googleDriveOAuth2Api": {
"id": "NRXiYxSXKt3Xb0ac",
"name": "Google Drive - toan.ngo"
}
},
"typeVersion": 3
},
{
"id": "75321cd0-3789-4ac2-9ce5-13e49165c106",
"name": "Fusionner",
"type": "n8n-nodes-base.merge",
"position": [
420,
200
],
"parameters": {
"mode": "combine",
"options": {
"includeUnpaired": true
},
"combineBy": "combineByPosition"
},
"typeVersion": 3
},
{
"id": "d06d65ee-1c31-4b3a-962e-0b418b089e2f",
"name": "Analyseur de sortie structurée 1",
"type": "@n8n/n8n-nodes-langchain.outputParserStructured",
"position": [
780,
560
],
"parameters": {
"schemaType": "manual",
"inputSchema": "{\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"start_time\": {\n \"type\": \"number\"\n },\n \"end_time\": {\n \"type\": \"number\"\n },\n \"duration\": {\n \"type\": \"number\"\n },\n \"prompt\": {\n \"type\": \"string\"\n }\n },\n \"required\": [\"start_time_seconds\", \"end_time_seconds\", \"prompt\"]\n }\n}\n"
},
"typeVersion": 1.2
},
{
"id": "a77b5b6b-86cd-40ca-9e89-646461177189",
"name": "Note adhésive 22",
"type": "n8n-nodes-base.stickyNote",
"position": [
2860,
-140
],
"parameters": {
"color": 3,
"width": 860,
"height": 880,
"content": "## 7. Video Editing And Downloading\n- The raw video, along with timestamps or subtitles, is sent to **Shotstack**, a video editing tool that supports advanced edits.\n- A delay of 1 minute allows **Shotstack** to process the edit.\n- Then, the tool checks whether the edited video is finished by **Shotstack** and ready to be downloaded.\n- Once completed, you can download the final polished video to your local storage for later use."
},
"typeVersion": 1
},
{
"id": "6e3428b3-c1fb-4bf5-826c-6b41c90fc7c5",
"name": "Note adhésive 23",
"type": "n8n-nodes-base.stickyNote",
"position": [
340,
-140
],
"parameters": {
"color": 3,
"width": 640,
"height": 880,
"content": "## 4. Timestamps Generation\n- The tool merges the original script and the **OpenAI Whisper**-generated transcription.\n- The merged data is passed to **Google Gemini's chat model** to generate image prompts with precise timestamps.\n- The output is parsed and cleaned using a structured parser to ensure it's in ready-to-use JSON format for image generation."
},
"typeVersion": 1
},
{
"id": "7fe9f339-f0a9-4ef1-a187-b99267169bee",
"name": "Note adhésive 24",
"type": "n8n-nodes-base.stickyNote",
"position": [
1040,
-140
],
"parameters": {
"color": 3,
"width": 740,
"height": 880,
"content": "## 5. Images Generation\n- The full list of timestamped prompts is is split into individual entries.\n- Each prompt is sent to **Leonardo's API** that turns text descriptions into visuals.\n- A delay of 30 seconds is added to give the image generation engine enough time to complete rendering.\n- Once completed, the workflow retrieves all final images for the next stage."
},
"typeVersion": 1
},
{
"id": "4d469807-e522-4af3-8e8a-d8765e5ddb21",
"name": "Note adhésive 25",
"type": "n8n-nodes-base.stickyNote",
"position": [
1840,
-140
],
"parameters": {
"color": 3,
"width": 960,
"height": 880,
"content": "## 6. Images to Video Conversion\n- All generated images are sent to **Leonardo's API**, which stitches them together based on the structured prompts and timing.\n- A 5-minute wait allows time for rendering.\n- After the wait, the workflow retrieves the generated small videos and makes them downloadable.\n- Then, the tool aggregates all downloaded videos into a single unified structure, preparing them for the final editing."
},
"typeVersion": 1
},
{
"id": "c4943664-8f2e-437e-b2ce-cccce7831b94",
"name": "Note adhésive 29",
"type": "n8n-nodes-base.stickyNote",
"position": [
-960,
-140
],
"parameters": {
"color": 3,
"width": 560,
"height": 880,
"content": "## 2. Script Generation\n- Your idea is passed to **Google Gemini's chat model**. The model returns a concise, 60-second faceless video script. \n- The script is then reformatted into a structured layout optimized for voice generation and visual synchronization."
},
"typeVersion": 1
},
{
"id": "3a0703be-2494-4769-b57c-5d6f2adefb54",
"name": "Note adhésive 30",
"type": "n8n-nodes-base.stickyNote",
"position": [
-340,
-140
],
"parameters": {
"color": 3,
"width": 620,
"height": 880,
"content": "## 3. Audio Generation\n- The formatted script is passed to **ElevenLabs**, which turns the text into a high-quality voiceover audio.\n- The generated audio is uploaded to **Google Drive** and made publicly accessible.\n- At the same time, the audio is sent to **OpenAI Whisper** via a POST request to generate a transcription of the voiceover."
},
"typeVersion": 1
},
{
"id": "e3f43f3a-7b68-4534-a2e0-425d4d9fc6e3",
"name": "Lors du clic sur 'Tester le workflow'",
"type": "n8n-nodes-base.manualTrigger",
"position": [
-1420,
180
],
"parameters": {},
"typeVersion": 1
},
{
"id": "2cb28f94-f118-4cb3-a94c-b006d4bf7268",
"name": "Générer des prompts d'image",
"type": "@n8n/n8n-nodes-langchain.chainLlm",
"position": [
600,
200
],
"parameters": {
"text": "=You are an expert image generation prompt creator. Based on the transcript provided below, divide the video into consecutive scenes, with each scene lasting between 2.00 to 4.00 seconds. There must be no gaps between scenes — ensure the entire duration of the video is covered.\n\nFor each scene, output:\n\nA descriptive image prompt that best represents the content of that scene\n\nThe start time, end time, and duration of the scene (in seconds), formatted like this: 2.00-4.25\n\nEach duration must have exactly two decimal points of precision\n\nOnly output one prompt per scene. Prioritize visual storytelling, aligning imagery with the spoken content in the transcript. The prompts should be rich, cinematic, and vivid, ideal for faceless video content.\n\nHere is the video transcript:\n\n{{JSON.stringify($json.words) }}",
"promptType": "define",
"hasOutputParser": true
},
"typeVersion": 1.5
},
{
"id": "8d34836e-3a01-4f6e-819a-89386854e139",
"name": "Analyse de sortie auto-corrigée",
"type": "@n8n/n8n-nodes-langchain.outputParserAutofixing",
"position": [
680,
400
],
"parameters": {
"options": {}
},
"typeVersion": 1
},
{
"id": "64a688f7-5cdc-4ee3-b063-52a25157189b",
"name": "Diviser les prompts",
"type": "n8n-nodes-base.splitOut",
"position": [
1100,
200
],
"parameters": {
"options": {},
"fieldToSplitOut": "output"
},
"typeVersion": 1
},
{
"id": "69287f57-453c-4f7a-bb6e-f5207eceff45",
"name": "Attendre 5 minutes",
"type": "n8n-nodes-base.wait",
"position": [
2100,
200
],
"webhookId": "2c6c93bb-0dc9-4a79-8ee9-8cafbe89775f",
"parameters": {
"unit": "minutes"
},
"typeVersion": 1.1
},
{
"id": "d38722a5-eee9-49af-a3ef-ded73f2deaeb",
"name": "Agréger",
"type": "n8n-nodes-base.aggregate",
"position": [
2640,
200
],
"parameters": {
"options": {},
"aggregate": "aggregateAllItemData",
"destinationFieldName": "list"
},
"typeVersion": 1
},
{
"id": "40559316-89fc-4ef2-9215-065b30e96bab",
"name": "Éditer avec Shotstack",
"type": "n8n-nodes-base.httpRequest",
"position": [
2920,
200
],
"parameters": {
"url": "https://api.shotstack.io/edit/stage/render",
"method": "POST",
"options": {},
"jsonBody": "={\n \"timeline\": {\n \"soundtrack\":{\n \"src\":\"{{ $('Upload Audio to Drive').first().json.webContentLink }}\" \n},\n \"tracks\": [\n {\n \"clips\":{{ JSON.stringify($('Aggregate').first().json.list.map((item, i) => ({\n \"asset\": {\n \"type\": \"video\",\n \"src\": item.generations_by_pk.generated_images[0].motionMP4URL\n },\n \"start\": $('Generate Image Prompts').first().json.output[i].start_time,\n \"length\": 20\n }))) }}\n }\n ]\n },\n \"output\": {\n \"format\": \"mp4\",\n \"size\": {\n \"width\": 720,\n \"height\": 1280\n }\n }\n}",
"sendBody": true,
"specifyBody": "json",
"authentication": "genericCredentialType",
"genericAuthType": "httpHeaderAuth"
},
"credentials": {
"httpHeaderAuth": {
"id": "SIZyEwK4lEDa0PdZ",
"name": "Header Auth shotstack - toan.ngo"
}
},
"typeVersion": 4.2
},
{
"id": "6db5e94d-b6da-4f04-b22a-e27caca48c60",
"name": "Attendre 1 minute",
"type": "n8n-nodes-base.wait",
"position": [
3120,
200
],
"webhookId": "12282cce-3a80-4646-84d3-ac3225c18f6d",
"parameters": {
"unit": "minutes",
"amount": 1
},
"typeVersion": 1.1
},
{
"id": "c664a13e-1298-4828-a446-bd853c7d31e2",
"name": "Champs - Définir l'idée",
"type": "n8n-nodes-base.set",
"position": [
-1200,
180
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "6b5b5d77-fd3d-497c-82e5-99fc74f53efb",
"name": "Idea",
"type": "string",
"value": "What is AI Agents"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "859c2506-afe3-43ec-abc4-f09d7cbde9db",
"name": "Rédacteur de script 60 secondes",
"type": "@n8n/n8n-nodes-langchain.chainLlm",
"position": [
-880,
180
],
"parameters": {
"text": "=Idea: {{ $json.idea }}",
"messages": {
"messageValues": [
{
"message": "Act as a YouTube video scriptwriter and create an engaging, captivating script for a 1-minute video (based on medium-paced speech). The script should attract and retain viewers using elements like storytelling, relatable content, a clear structure, and clever analogies to boost audience engagement.\n\nThe video topic is: (VIDEO IDEA). Use your creativity and expertise to produce a high-quality, informative script that appeals to a wide audience.\n\nInstructions:\n- Only output the script text—no explanations or extra commentary.\n- Use CAPITAL LETTERS and EXCLAMATION MARKS (!) generously to add emotion and emphasis where appropriate."
}
]
},
"promptType": "define"
},
"typeVersion": 1.5
},
{
"id": "f2ca8c1b-2512-4aaa-bdc3-ac64459b6778",
"name": "OpenAI Mode Chat",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"position": [
-720,
360
],
"parameters": {
"model": "anthropic/claude-3.5-sonnet",
"options": {
"baseURL": "https://openrouter.ai/api/v1"
}
},
"credentials": {
"openAiApi": {
"id": "qULV9xA6eq3tfpye",
"name": "OpenAi - nhu.le"
}
},
"typeVersion": 1
},
{
"id": "c69ecd98-cc31-4fa1-b0f1-c6c7edb5950a",
"name": "OpenAI Modèle de chat",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"position": [
420,
560
],
"parameters": {
"model": "anthropic/claude-3.5-sonnet",
"options": {
"baseURL": "https://openrouter.ai/api/v1"
}
},
"credentials": {
"openAiApi": {
"id": "qULV9xA6eq3tfpye",
"name": "OpenAi - nhu.le"
}
},
"typeVersion": 1
},
{
"id": "1bb38452-6806-412c-8568-c74260d0a103",
"name": "Champs - Format de script",
"type": "n8n-nodes-base.set",
"position": [
-540,
180
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "974ee00c-4264-494f-9606-c8b717d1fb09",
"name": "text",
"type": "string",
"value": "={{ $json.text.replace(/(\\r\\n|\\n|\\r)/g, \"\"); }}"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "a410a4cd-14d3-4c8f-857d-03af500f764b",
"name": "Générer la voix",
"type": "n8n-nodes-base.httpRequest",
"position": [
-260,
180
],
"parameters": {
"url": "=https://api.elevenlabs.io/v1/text-to-speech/TxGEqnHWrfWFTfGW9XjX",
"method": "POST",
"options": {},
"sendBody": true,
"sendHeaders": true,
"authentication": "genericCredentialType",
"bodyParameters": {
"parameters": [
{
"name": "text",
"value": "={{ $json.text }}"
}
]
},
"genericAuthType": "httpHeaderAuth",
"headerParameters": {
"parameters": [
{
"name": "Content-Type",
"value": "application/json"
}
]
}
},
"credentials": {
"httpHeaderAuth": {
"id": "XEYQJheNlddMMBnV",
"name": "Header Auth - elevenlabs - toan.ngo"
}
},
"typeVersion": 4.2
},
{
"id": "0ef69faa-ed6e-4760-b3b1-9f61ff1ab3b6",
"name": "Générer des images",
"type": "n8n-nodes-base.httpRequest",
"position": [
1280,
200
],
"parameters": {
"url": "https://cloud.leonardo.ai/api/rest/v1/generations",
"method": "POST",
"options": {},
"sendBody": true,
"authentication": "genericCredentialType",
"bodyParameters": {
"parameters": [
{
"name": "height",
"value": "={{ 1280 }}"
},
{
"name": "prompt",
"value": "={{ $json.prompt }}"
},
{
"name": "width",
"value": "={{ 720 }}"
},
{
"name": "modelId",
"value": "1dd50843-d653-4516-a8e3-f0238ee453ff"
}
]
},
"genericAuthType": "httpHeaderAuth"
},
"credentials": {
"httpHeaderAuth": {
"id": "VP1GCWkS2BelVjN9",
"name": "Header Auth - leonardo - toan.ngo"
}
},
"typeVersion": 4.2
},
{
"id": "30931947-d793-4e9c-b01d-c23b0879eff1",
"name": "Note adhésive 1",
"type": "n8n-nodes-base.stickyNote",
"position": [
-2420,
-460
],
"parameters": {
"width": 700,
"height": 2680,
"content": "## [Agent Circle's N8N Workflow] Automated Faceless Video Creator - Try It Out!\n\n**This n8n template demonstrates walks you through a fully automated process to generate faceless videos - from script creation to final download - using AI-generated voice, images, and smart video editing.**\n\nUse cases are many: This tool is perfect for **YouTube and Shorts creators** who want to publish daily content without showing their face, **TikTok and Reels marketers** automating voice-over-driven videos, and **solopreneurs** scaling up their content without hiring a team. It’s also ideal for **agencies** producing batches of faceless video ads, **automation enthusiasts** building smart media workflows in n8n, and anyone who’s rich in ideas but tired of spending hours editing.\n\n## How It Works\n- Phase 1: **Provide Topic Input**\n - A short topic and idea should be entered into the **Idea** part in Node **Fields - Set Idea** inside the workflow in n8n.\n - Trigger the process manually by clicking **Test Workflow** or **Execute Workflow**. \n- Phase 2: **Script Generation**\n - Your idea is passed to **Google Gemini's chat model**. The model returns a concise, 60-second faceless video script. \n - The script is then reformatted into a structured layout optimized for voice generation and visual synchronization.\n- Phase 3: **Audio Generation**\n - The formatted script is passed to **ElevenLabs**, which turns the text into a high-quality voiceover audio.\n - The generated audio is uploaded to **Google Drive** and made publicly accessible.\n - At the same time, the audio is sent to **OpenAI Whisper** via a POST request to generate a transcription of the voiceover.\n- Phase 4: **Timestamps Generation**\n - The tool merges the original script and the **OpenAI Whispe**r-generated transcription.\n - The merged data is passed to **Google Gemini's chat model** to generate image prompts with precise timestamps.\n - The output is parsed and cleaned using a structured parser to ensure it's in ready-to-use JSON format for image generation.\n- Phase 5: **Images Generation**\n - The full list of timestamped prompts is is split into individual entries.\n - Each prompt is sent to **Leonardo's API** that turns text descriptions into visuals.\n - A delay of 30 seconds is added to give the image generation engine enough time to complete rendering.\n - Once completed, the workflow retrieves all final images for the next stage.\n- Phase 6: **Images To Video Conversion**\n - All generated images are sent to **Leonardo's API**, which stitches them together based on the structured prompts and timing.\n - A 5-minute wait allows time for rendering.\n - After the wait, the workflow retrieves the generated small videos and makes them downloadable.\n - Then, the tool aggregates all downloaded videos into a single unified structure, preparing them for the final editing.\n- Phase 7: **Video Editing and Downloading**\n - The raw video, along with timestamps or subtitles, is sent to **Shotstack**, a video editing tool that supports advanced edits.\n - A delay of 1 minute allows **Shotstack** to process the edit.\n - Then, the tool checks whether the edited video is finished by **Shotstack** and ready to be downloaded.\n - Once completed, you can download the final polished video to your local storage for later use.\n\n## How To Use\n- Download the workflow package.\n- Import the package into your n8n interface.\n- Set up necessary credentials for tools access and usability:\n + For Google Gemini access, please connect to its API in the following nodes:\n Node **Google Gemini Chat Model 1**\n Node **Google Gemini Chat Model 2**\n + For Google Drive access, please ensure connection in the following nodes:\n Node **Upload Audio to Drive**\n Node **Make Audio File Public**\n + For ElevenLabs access, please connect to its API in the following node:\n Node **Generate Voice**\n + For OpenAI Whisper access, please connect to its API in the following node:\n Node **Transcribe Audio with OpenAI Whisper**\n + For Leonardo access, please allow connection to its API in the following nodes:\n Node **Generate Images**\n Node **Generate Videos/Scenes**\n + For Shortstack access, please connect to its API in the following nodes:\n Node **Edit with Shotstack**\n Node **Render Final Video with Shotstack**\n- Input your video idea or short description as a string in Node **Fields - Set Idea** in n8n.\n- Run the workflow by clicking **Execute Workflow** or **Test Workflow**.\n- Wait the process to run and finish.\n- View the result in Node **Download Final Video** and download it in your local storage for later use.\n\n## Requirements\n- Basic setup in **Google Cloud Console** (OAuth or API Key method enabled) with enabled access to Google Drive.\n- **Google Gemini API** access with permission to use chat-based large language models.\n- **ElevenLabs API** access for generating high-quality voiceovers from scripts.\n- **OpenAI Whisper API** access to transcribe voiceovers into clean text.\n- **Leonardo API** access for both image and video generation tasks.\n- **Shotstack API** access for editing and rendering the final video with enhanced visuals and timing.\n\n## How To Customize\n- You can input your requested video topic or description directly in Node **Fields – Set Idea**.\n- By default, the script length is set to around 60 seconds in Node **60 Second Script Writer**. You can easily change this in the prompt to create shorter or longer videos based on your needs.\n- While the default setup uses **Google Gemini** for script and prompt generation, you can replace it with **OpenAI ChatGPT**, **Claude**, or any other compatible chat-based model you prefer.\n- The voiceover is currently created using **ElevenLabs**, but you’re free to substitute it with other text-to-speech engines like **Google Cloud Text-to-Speech**, **HeyGen**, etc.\n- We're using **OpenAI Whisper** to transcribe the voiceover into text. You can switch to alternatives such as **AssemblyAI**, **Deepgram**, or other compatible providers depending on your preference.\n- This workflow uses **Leonardo** for both image and video generation. You can swap it out for other compatible providers based on availability or style preference.\n- Video editing is handled by **Shotstack** by default. You can plug in alternatives like **Runway**, **FFmpeg**, or other API-based editors depending on your editing needs or desired effects.\n\n\nIf you’d like this workflow customized to fit your tools and platforms availability, or if you’re looking to build a tailored AI Agent for your own business - please feel free to reach out to [**Agent Circle**](https://www.agentcircle.ai/). We’re always here to support and help you to bring automation ideas to life.\n\n## Need Help?\nJoin our community on different platforms for support, inspiration and tips from others.\n\nWebsite: https://www.agentcircle.ai/\nEtsy: https://www.etsy.com/shop/AgentCircle\nGumroad: http://agentcircle.gumroad.com/\nDiscord Global: https://discord.gg/d8SkCzKwnP\nFB Page Global: https://www.facebook.com/agentcircle/\nFB Group Global: https://www.facebook.com/groups/aiagentcircle/\nX: https://x.com/agent_circle\nYouTube: https://www.youtube.com/@agentcircle\nLinkedIn: https://www.linkedin.com/company/agentcircle\n"
},
"typeVersion": 1
},
{
"id": "c34f4595-1f67-4141-999e-6650c88f1356",
"name": "Google Gemini Modèle de chat 2",
"type": "@n8n/n8n-nodes-langchain.lmChatGoogleGemini",
"position": [
600,
560
],
"parameters": {
"options": {},
"modelName": "models/gemini-2.0-flash"
},
"credentials": {
"googlePalmApi": {
"id": "AlDwotqhFT4EfJXQ",
"name": "Google Gemini(PaLM) Api - toan.ngo"
}
},
"typeVersion": 1
},
{
"id": "a046815f-556b-4d0e-a0c5-f31081fba0f8",
"name": "Google Gemini Modèle de chat 1",
"type": "@n8n/n8n-nodes-langchain.lmChatGoogleGemini",
"position": [
-880,
360
],
"parameters": {
"options": {},
"modelName": "models/gemini-2.0-flash"
},
"credentials": {
"googlePalmApi": {
"id": "AlDwotqhFT4EfJXQ",
"name": "Google Gemini(PaLM) Api - toan.ngo"
}
},
"typeVersion": 1
},
{
"id": "e3c5aedf-6828-459c-9552-324567e4a928",
"name": "Make Fichier audio public",
"type": "n8n-nodes-base.googleDrive",
"position": [
120,
320
],
"parameters": {
"fileId": {
"__rl": true,
"mode": "id",
"value": "={{ $json.id }}"
},
"options": {},
"operation": "share",
"permissionsUi": {
"permissionsValues": {
"role": "reader",
"type": "anyone"
}
}
},
"credentials": {
"googleDriveOAuth2Api": {
"id": "NRXiYxSXKt3Xb0ac",
"name": "Google Drive - toan.ngo"
}
},
"typeVersion": 3
},
{
"id": "7942c242-9d3d-43e9-aa2b-07c43a302828",
"name": "Transcrire l'audio avec OpenAI Whisper",
"type": "n8n-nodes-base.httpRequest",
"position": [
20,
100
],
"parameters": {
"url": "https://api.openai.com/v1/audio/transcriptions",
"method": "POST",
"options": {},
"sendBody": true,
"contentType": "multipart-form-data",
"authentication": "predefinedCredentialType",
"bodyParameters": {
"parameters": [
{
"name": "timestamp_granularities[]",
"value": "word"
},
{
"name": "model",
"value": "whisper-1"
},
{
"name": "response_format",
"value": "verbose_json"
},
{
"name": "file",
"parameterType": "formBinaryData",
"inputDataFieldName": "data"
}
]
},
"nodeCredentialType": "openAiApi"
},
"credentials": {
"openAiApi": {
"id": "qULV9xA6eq3tfpye",
"name": "OpenAi - nhu.le"
}
},
"typeVersion": 4.2
},
{
"id": "0d44a577-a9d6-4c67-84a8-3e9b0abfbc38",
"name": "Générer vidéos/scènes",
"type": "n8n-nodes-base.httpRequest",
"position": [
1900,
200
],
"parameters": {
"url": "https://cloud.leonardo.ai/api/rest/v1/generations-motion-svd",
"method": "POST",
"options": {},
"sendBody": true,
"authentication": "genericCredentialType",
"bodyParameters": {
"parameters": [
{
"name": "imageId",
"value": "={{ $json.generations_by_pk.generated_images[0].id }}"
},
{
"name": "motionStrength",
"value": 3
},
{
"name": "isPublic",
"value": true
}
]
},
"genericAuthType": "httpHeaderAuth"
},
"credentials": {
"httpHeaderAuth": {
"id": "VP1GCWkS2BelVjN9",
"name": "Header Auth - leonardo - toan.ngo"
}
},
"typeVersion": 4.2
},
{
"id": "0899c6d2-f54f-449c-8282-1bde6d8329cc",
"name": "Obtenir vidéos/scènes",
"type": "n8n-nodes-base.httpRequest",
"position": [
2280,
200
],
"parameters": {
"url": "=https://cloud.leonardo.ai/api/rest/v1/generations/{{ $json.motionSvdGenerationJob.generationId }}",
"options": {},
"authentication": "genericCredentialType",
"genericAuthType": "httpHeaderAuth"
},
"credentials": {
"httpHeaderAuth": {
"id": "XEYQJheNlddMMBnV",
"name": "Header Auth - elevenlabs - toan.ngo"
}
},
"typeVersion": 4.2
},
{
"id": "f6ab796f-17df-49c0-8bfb-7a1f3972175e",
"name": "Télécharger les vidéos/scènes générées",
"type": "n8n-nodes-base.httpRequest",
"position": [
2460,
200
],
"parameters": {
"url": "={{ $json.generations_by_pk.generated_images[0].motionMP4URL }}",
"options": {}
},
"typeVersion": 4.2
},
{
"id": "1c2a0287-993b-4a84-80fa-867da759672e",
"name": "Obtenir les images",
"type": "n8n-nodes-base.httpRequest",
"position": [
1640,
200
],
"parameters": {
"url": "=https://cloud.leonardo.ai/api/rest/v1/generations/{{ $json.sdGenerationJob.generationId }}",
"options": {},
"authentication": "genericCredentialType",
"genericAuthType": "httpHeaderAuth"
},
"credentials": {
"httpHeaderAuth": {
"id": "VP1GCWkS2BelVjN9",
"name": "Header Auth - leonardo - toan.ngo"
}
},
"typeVersion": 4.2
},
{
"id": "1ed9d8c7-98d8-44b4-bb51-ed3bfe3d28a6",
"name": "Rendu de la vidéo finale avec Shotstack",
"type": "n8n-nodes-base.httpRequest",
"position": [
3320,
200
],
"parameters": {
"url": "=https://api.shotstack.io/edit/stage/render/{{ $json.response.id }}",
"options": {},
"authentication": "genericCredentialType",
"genericAuthType": "httpHeaderAuth"
},
"credentials": {
"httpHeaderAuth": {
"id": "SIZyEwK4lEDa0PdZ",
"name": "Header Auth shotstack - toan.ngo"
}
},
"typeVersion": 4.2
},
{
"id": "1173fde6-b688-4848-a49b-a5e403d0d61c",
"name": "Attendre 30 secondes",
"type": "n8n-nodes-base.wait",
"position": [
1460,
200
],
"webhookId": "9c33bc28-efda-485d-8f6a-3c53d470f28d",
"parameters": {
"amount": 30
},
"typeVersion": 1.1
},
{
"id": "dc1a0674-e2ef-45b9-811b-7d87689b531c",
"name": "Télécharger la vidéo finale",
"type": "n8n-nodes-base.httpRequest",
"position": [
3520,
200
],
"parameters": {
"url": "={{ $json.response.url }}",
"options": {}
},
"typeVersion": 4.2
},
{
"id": "a1697e1f-d1c3-4483-853e-78f180818bd4",
"name": "Note adhésive 31",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1500,
-140
],
"parameters": {
"color": 3,
"width": 480,
"height": 880,
"content": "## 1. Provide Topic Input For Your Video\n- A short topic and idea should be entered into the **Idea** part in Node **Fields - Set Idea** before you trigger the process."
},
"typeVersion": 1
}
],
"active": false,
"pinData": {},
"settings": {
"executionOrder": "v1"
},
"versionId": "16edc864-eb87-4a2c-b415-c6a468ba5e8e",
"connections": {
"75321cd0-3789-4ac2-9ce5-13e49165c106": {
"main": [
[
{
"node": "2cb28f94-f118-4cb3-a94c-b006d4bf7268",
"type": "main",
"index": 0
}
]
]
},
"1173fde6-b688-4848-a49b-a5e403d0d61c": {
"main": [
[
{
"node": "1c2a0287-993b-4a84-80fa-867da759672e",
"type": "main",
"index": 0
}
]
]
},
"d38722a5-eee9-49af-a3ef-ded73f2deaeb": {
"main": [
[
{
"node": "40559316-89fc-4ef2-9215-065b30e96bab",
"type": "main",
"index": 0
}
]
]
},
"1c2a0287-993b-4a84-80fa-867da759672e": {
"main": [
[
{
"node": "0d44a577-a9d6-4c67-84a8-3e9b0abfbc38",
"type": "main",
"index": 0
}
]
]
},
"6db5e94d-b6da-4f04-b22a-e27caca48c60": {
"main": [
[
{
"node": "1ed9d8c7-98d8-44b4-bb51-ed3bfe3d28a6",
"type": "main",
"index": 0
}
]
]
},
"69287f57-453c-4f7a-bb6e-f5207eceff45": {
"main": [
[
{
"node": "0899c6d2-f54f-449c-8282-1bde6d8329cc",
"type": "main",
"index": 0
}
]
]
},
"64a688f7-5cdc-4ee3-b063-52a25157189b": {
"main": [
[
{
"node": "0ef69faa-ed6e-4760-b3b1-9f61ff1ab3b6",
"type": "main",
"index": 0
}
]
]
},
"a410a4cd-14d3-4c8f-857d-03af500f764b": {
"main": [
[
{
"node": "da94f942-f640-427e-ab03-8fd2dd2ac64e",
"type": "main",
"index": 0
},
{
"node": "7942c242-9d3d-43e9-aa2b-07c43a302828",
"type": "main",
"index": 0
}
]
]
},
"0ef69faa-ed6e-4760-b3b1-9f61ff1ab3b6": {
"main": [
[
{
"node": "1173fde6-b688-4848-a49b-a5e403d0d61c",
"type": "main",
"index": 0
}
]
]
},
"f2ca8c1b-2512-4aaa-bdc3-ac64459b6778": {
"ai_languageModel": [
[]
]
},
"c664a13e-1298-4828-a446-bd853c7d31e2": {
"main": [
[
{
"node": "859c2506-afe3-43ec-abc4-f09d7cbde9db",
"type": "main",
"index": 0
}
]
]
},
"0899c6d2-f54f-449c-8282-1bde6d8329cc": {
"main": [
[
{
"node": "f6ab796f-17df-49c0-8bfb-7a1f3972175e",
"type": "main",
"index": 0
}
]
]
},
"c69ecd98-cc31-4fa1-b0f1-c6c7edb5950a": {
"ai_languageModel": [
[]
]
},
"40559316-89fc-4ef2-9215-065b30e96bab": {
"main": [
[
{
"node": "6db5e94d-b6da-4f04-b22a-e27caca48c60",
"type": "main",
"index": 0
}
]
]
},
"da94f942-f640-427e-ab03-8fd2dd2ac64e": {
"main": [
[
{
"node": "e3c5aedf-6828-459c-9552-324567e4a928",
"type": "main",
"index": 0
}
]
]
},
"1bb38452-6806-412c-8568-c74260d0a103": {
"main": [
[
{
"node": "a410a4cd-14d3-4c8f-857d-03af500f764b",
"type": "main",
"index": 0
}
]
]
},
"2cb28f94-f118-4cb3-a94c-b006d4bf7268": {
"main": [
[
{
"node": "64a688f7-5cdc-4ee3-b063-52a25157189b",
"type": "main",
"index": 0
}
]
]
},
"0d44a577-a9d6-4c67-84a8-3e9b0abfbc38": {
"main": [
[
{
"node": "69287f57-453c-4f7a-bb6e-f5207eceff45",
"type": "main",
"index": 0
}
]
]
},
"e3c5aedf-6828-459c-9552-324567e4a928": {
"main": [
[
{
"node": "75321cd0-3789-4ac2-9ce5-13e49165c106",
"type": "main",
"index": 0
}
]
]
},
"859c2506-afe3-43ec-abc4-f09d7cbde9db": {
"main": [
[
{
"node": "1bb38452-6806-412c-8568-c74260d0a103",
"type": "main",
"index": 0
}
]
]
},
"8d34836e-3a01-4f6e-819a-89386854e139": {
"ai_outputParser": [
[
{
"node": "2cb28f94-f118-4cb3-a94c-b006d4bf7268",
"type": "ai_outputParser",
"index": 0
}
]
]
},
"d06d65ee-1c31-4b3a-962e-0b418b089e2f": {
"ai_outputParser": [
[
{
"node": "8d34836e-3a01-4f6e-819a-89386854e139",
"type": "ai_outputParser",
"index": 0
}
]
]
},
"a046815f-556b-4d0e-a0c5-f31081fba0f8": {
"ai_languageModel": [
[
{
"node": "859c2506-afe3-43ec-abc4-f09d7cbde9db",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"c34f4595-1f67-4141-999e-6650c88f1356": {
"ai_languageModel": [
[
{
"node": "8d34836e-3a01-4f6e-819a-89386854e139",
"type": "ai_languageModel",
"index": 0
},
{
"node": "2cb28f94-f118-4cb3-a94c-b006d4bf7268",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"f6ab796f-17df-49c0-8bfb-7a1f3972175e": {
"main": [
[
{
"node": "d38722a5-eee9-49af-a3ef-ded73f2deaeb",
"type": "main",
"index": 0
}
]
]
},
"1ed9d8c7-98d8-44b4-bb51-ed3bfe3d28a6": {
"main": [
[
{
"node": "dc1a0674-e2ef-45b9-811b-7d87689b531c",
"type": "main",
"index": 0
}
]
]
},
"e3f43f3a-7b68-4534-a2e0-425d4d9fc6e3": {
"main": [
[
{
"node": "c664a13e-1298-4828-a446-bd853c7d31e2",
"type": "main",
"index": 0
}
]
]
},
"7942c242-9d3d-43e9-aa2b-07c43a302828": {
"main": [
[
{
"node": "75321cd0-3789-4ac2-9ce5-13e49165c106",
"type": "main",
"index": 1
}
]
]
}
}
}Comment utiliser ce workflow ?
Copiez le code de configuration JSON ci-dessus, créez un nouveau workflow dans votre instance n8n et sélectionnez "Importer depuis le JSON", collez la configuration et modifiez les paramètres d'authentification selon vos besoins.
Dans quelles scénarios ce workflow est-il adapté ?
Avancé - Création de contenu, IA Multimodale
Est-ce payant ?
Ce workflow est entièrement gratuit et peut être utilisé directement. Veuillez noter que les services tiers utilisés dans le workflow (comme l'API OpenAI) peuvent nécessiter un paiement de votre part.
Workflows recommandés
Agent Circle
@agentcircleAgent Circle - A growing marketplace of AI agents, workflows, and toolkits — built to help teams automate smarter and scale faster
Partager ce workflow