Création Automatisée de Vidéos avec Luma AI

Ce workflow permet de générer automatiquement des vidéos captivantes en utilisant l'API Luma AI. Grâce à une intégration astucieuse avec Airtable, vous pouvez suivre et gérer efficacement vos vidéos générées. Le workflow est conçu pour offrir une expérience fluide, en automatisant le processus de génération vidéo depuis la création jusqu'à l'enregistrement des informations dans votre base de données. Idéal pour les équipes marketing cherchant à enrichir leur contenu visuel sans effort manuel, ce workflow optimise votre temps et vos ressources tout en garantissant un suivi rigoureux grâce à Airtable.

43,538 vues
9,258 copies
Automatisation

Documentation Complète

📋 Création Automatisée de Vidéos avec Luma AI

💡 Description

Ce workflow permet de générer automatiquement des vidéos captivantes en utilisant l'API Luma AI. Grâce à une intégration astucieuse avec Airtable, vous pouvez suivre et gérer efficacement vos vidéos générées. Le workflow est conçu pour offrir une expérience fluide, en automatisant le processus de génération vidéo depuis la création jusqu'à l'enregistrement des informations dans votre base de données. Idéal pour les équipes marketing cherchant à enrichir leur contenu visuel sans effort manuel, ce workflow optimise votre temps et vos ressources tout en garantissant un suivi rigoureux grâce à Airtable.

📈 Impact & ROI: Amélioration notable de l'efficacité opérationnelle et réduction des coûts liés à la production vidéo manuelle.

🚀 Fonctionnalités Clés

  • ✅ Automatisation complète du processus de création vidéo
  • ✅ Intégration transparente avec Airtable pour le suivi des vidéos
  • ✅ Gain de temps significatif en éliminant les tâches manuelles
  • ✅ Utilisation de l'API avancée de Luma AI pour des vidéos personnalisées

📊 Architecture Technique

8
Nodes
6
Connexions
3
Services

🔌 Services Intégrés

Luma AIAirtableHTTP Request

🔧 Composition du Workflow

NodeTypeDescription
When clicking ‘Test workflow’manualTriggerTraitement des données
Text 2 VideohttpRequestRequête HTTP vers une API externe
RANDOM Camera MotioncodeTraitement des données
Sticky NotestickyNoteTraitement des données
Global SETTINGSsetTraitement des données
ADD Video InfoairtableTraitement des données
Execution DataexecutionDataTraitement des données
Sticky Note1stickyNoteTraitement des données

📖 Guide d'Implémentation

  1. Import du workflow: Téléchargez le fichier JSON et importez-le dans votre instance n8n
  2. Configuration des credentials: Configurez les accès pour chaque service utilisé
  3. Personnalisation: Adaptez les paramètres selon vos besoins spécifiques
  4. Test: Exécutez le workflow en mode test pour vérifier le bon fonctionnement
  5. Activation: Activez le workflow pour une exécution automatique

🏷️ Tags

automatisationvidéoLuma AIAirtablemarketing

Structure JSON

Voir le code JSON complet
{
    "id": "2pMoIW58KP6ZeGir",
    "meta": {
        "instanceId": "ecc960f484e18b0e09045fd93acf0d47f4cfff25cc212ea348a08ac3aae81850",
        "templateCredsSetupCompleted": true
    },
    "name": "Luma AI Dream Machine - Simple v1 - AK",
    "tags": [
        {
            "id": "tUlWC9t8VhwpFaci",
            "name": "Alex - WIP",
            "createdAt": "2025-02-20T17:17:53.411Z",
            "updatedAt": "2025-02-20T17:17:53.411Z"
        }
    ],
    "nodes": [
        {
            "id": "dbe1dbcc-05a0-4439-869c-157e51a99dd1",
            "name": "When clicking ‘Test workflow’",
            "type": "n8n-nodes-base.manualTrigger",
            "position": [
                -440,
                0
            ],
            "parameters": [],
            "typeVersion": 1
        },
        {
            "id": "603f7fdd-e590-4a51-b606-a9bb9396a0c0",
            "name": "Text 2 Video",
            "type": "n8n-nodes-base.httpRequest",
            "position": [
                220,
                0
            ],
            "parameters": {
                "url": "https:\/\/api.lumalabs.ai\/dream-machine\/v1\/generations",
                "method": "POST",
                "options": [],
                "jsonBody": "={\n  \"model\": \"ray-2\",\n  \"prompt\": {{ JSON.stringify($('Global SETTINGS').first().json.video_prompt + \"; camera motion: \" + $json.action) }},\n  \"aspect_ratio\": \"{{ $('Global SETTINGS').first().json.aspect_ratio }}\",\n  \"duration\": \"{{ $('Global SETTINGS').item.json.duration }}\",\n  \"loop\": {{ $('Global SETTINGS').first().json.loop }},\n  \"callback_url\": \"{{ $('Global SETTINGS').first().json.callback_url }}\"\n  \n}",
                "sendBody": true,
                "sendHeaders": true,
                "specifyBody": "json",
                "authentication": "genericCredentialType",
                "genericAuthType": "httpHeaderAuth",
                "headerParameters": {
                    "parameters": [
                        {
                            "name": "accept",
                            "value": "application\/json"
                        }
                    ]
                }
            },
            "credentials": {
                "httpHeaderAuth": {
                    "id": "zzIlODir90EUTwHh",
                    "name": "Luma Header Auth account"
                }
            },
            "typeVersion": 4.2
        },
        {
            "id": "494ac05e-e0c5-465e-b805-2749683ab789",
            "name": "RANDOM Camera Motion",
            "type": "n8n-nodes-base.code",
            "position": [
                0,
                0
            ],
            "parameters": {
                "jsCode": "const items = [\n  \"Static\",\n  \"Move Left\",\n  \"Move Right\",\n  \"Move Up\",\n  \"Move Down\",\n  \"Push In\",\n  \"Pull Out\",\n  \"Zoom In\",\n  \"Zoom Out\",\n  \"Pan Left\",\n  \"Pan Right\",\n  \"Orbit Left\",\n  \"Orbit Right\",\n  \"Crane Up\",\n  \"Crane Down\"\n];\n\nconst randomItem = items[Math.floor(Math.random() * items.length)];\n\nreturn [{ json: { action: randomItem } }];\n"
            },
            "typeVersion": 2
        },
        {
            "id": "30ba7cfc-d2c3-478f-ae01-0a3397ceb439",
            "name": "Sticky Note",
            "type": "n8n-nodes-base.stickyNote",
            "position": [
                -260,
                -120
            ],
            "parameters": {
                "color": 3,
                "width": 180,
                "content": "## Define your SETTINGS here"
            },
            "typeVersion": 1
        },
        {
            "id": "12924397-b2a4-43a0-8ec5-1b13c0357e40",
            "name": "Global SETTINGS",
            "type": "n8n-nodes-base.set",
            "position": [
                -220,
                0
            ],
            "parameters": {
                "options": [],
                "assignments": {
                    "assignments": [
                        {
                            "id": "7064f685-d91f-4049-9fcb-dd7018c1bc8d",
                            "name": "aspect_ratio",
                            "type": "string",
                            "value": "9:16"
                        },
                        {
                            "id": "3d6d3fe0-4e4a-4d1b-9f6a-08037a4e2785",
                            "name": "video_prompt",
                            "type": "string",
                            "value": "a superhero flying through a volcano"
                        },
                        {
                            "id": "7ae48bee-0be5-487f-8d6d-ea7fe98fdd36",
                            "name": "loop",
                            "type": "string",
                            "value": "true"
                        },
                        {
                            "id": "82930db0-971e-4de4-911d-ff5a7fab5d67",
                            "name": "duration",
                            "type": "string",
                            "value": "5s"
                        },
                        {
                            "id": "b51d9834-87c8-4358-a257-6a02ebe2576d",
                            "name": "cluster_id",
                            "type": "string",
                            "value": "={{ Date.now() + '_' + Math.random().toString(36).slice(2, 10) }}"
                        },
                        {
                            "id": "8756fe2d-df04-48d4-9cd4-d29b8d9a3ab1",
                            "name": "airtable_base",
                            "type": "string",
                            "value": "appvk87mtcwRve5p5"
                        },
                        {
                            "id": "a83707ef-3a1c-4b3c-939c-1376bc43cc76",
                            "name": "airtable_table_generated_videos",
                            "type": "string",
                            "value": "tblOzRFWgcsfttRWK"
                        },
                        {
                            "id": "694528cd-c51e-45ac-8dbe-1b33b347f590",
                            "name": "callback_url",
                            "type": "string",
                            "value": "https:\/\/YOURURL.com\/luma-ai"
                        }
                    ]
                }
            },
            "typeVersion": 3.4
        },
        {
            "id": "9f4732b5-8e3e-4fb6-942f-32c72b3eb041",
            "name": "ADD Video Info",
            "type": "n8n-nodes-base.airtable",
            "position": [
                660,
                0
            ],
            "parameters": {
                "base": {
                    "__rl": true,
                    "mode": "id",
                    "value": "={{ $('Global SETTINGS').first().json.airtable_base }}"
                },
                "table": {
                    "__rl": true,
                    "mode": "id",
                    "value": "={{ $('Global SETTINGS').first().json.airtable_table_generated_videos }}"
                },
                "columns": {
                    "value": {
                        "Model": "={{ $json.model }}",
                        "Aspect": "={{ $json.request.aspect_ratio }}",
                        "Length": "={{ $json.request.duration }}",
                        "Prompt": "={{ $('Global SETTINGS').first().json.video_prompt }}",
                        "Status": "Done",
                        "Cluster ID": "={{ $('Global SETTINGS').first().json.cluster_id }}",
                        "Resolution": "={{ $json.request.resolution }}",
                        "Generation ID": "={{ $json.id }}"
                    },
                    "schema": [
                        {
                            "id": "Generation ID",
                            "type": "string",
                            "display": true,
                            "removed": false,
                            "readOnly": false,
                            "required": false,
                            "displayName": "Generation ID",
                            "defaultMatch": false,
                            "canBeUsedToMatch": true
                        },
                        {
                            "id": "Status",
                            "type": "options",
                            "display": true,
                            "options": [
                                {
                                    "name": "Todo",
                                    "value": "Todo"
                                },
                                {
                                    "name": "In progress",
                                    "value": "In progress"
                                },
                                {
                                    "name": "Done",
                                    "value": "Done"
                                }
                            ],
                            "removed": false,
                            "readOnly": false,
                            "required": false,
                            "displayName": "Status",
                            "defaultMatch": false,
                            "canBeUsedToMatch": true
                        },
                        {
                            "id": "Content Title",
                            "type": "string",
                            "display": true,
                            "removed": false,
                            "readOnly": false,
                            "required": false,
                            "displayName": "Content Title",
                            "defaultMatch": false,
                            "canBeUsedToMatch": true
                        },
                        {
                            "id": "Video URL",
                            "type": "string",
                            "display": true,
                            "removed": false,
                            "readOnly": false,
                            "required": false,
                            "displayName": "Video URL",
                            "defaultMatch": false,
                            "canBeUsedToMatch": true
                        },
                        {
                            "id": "Thumb URL",
                            "type": "string",
                            "display": true,
                            "removed": false,
                            "readOnly": false,
                            "required": false,
                            "displayName": "Thumb URL",
                            "defaultMatch": false,
                            "canBeUsedToMatch": true
                        },
                        {
                            "id": "Prompt",
                            "type": "string",
                            "display": true,
                            "removed": false,
                            "readOnly": false,
                            "required": false,
                            "displayName": "Prompt",
                            "defaultMatch": false,
                            "canBeUsedToMatch": true
                        },
                        {
                            "id": "VO",
                            "type": "string",
                            "display": true,
                            "removed": false,
                            "readOnly": false,
                            "required": false,
                            "displayName": "VO",
                            "defaultMatch": false,
                            "canBeUsedToMatch": true
                        },
                        {
                            "id": "Aspect",
                            "type": "string",
                            "display": true,
                            "removed": false,
                            "readOnly": false,
                            "required": false,
                            "displayName": "Aspect",
                            "defaultMatch": false,
                            "canBeUsedToMatch": true
                        },
                        {
                            "id": "Model",
                            "type": "string",
                            "display": true,
                            "removed": false,
                            "readOnly": false,
                            "required": false,
                            "displayName": "Model",
                            "defaultMatch": false,
                            "canBeUsedToMatch": true
                        },
                        {
                            "id": "Resolution",
                            "type": "string",
                            "display": true,
                            "removed": false,
                            "readOnly": false,
                            "required": false,
                            "displayName": "Resolution",
                            "defaultMatch": false,
                            "canBeUsedToMatch": true
                        },
                        {
                            "id": "Length",
                            "type": "string",
                            "display": true,
                            "removed": false,
                            "readOnly": false,
                            "required": false,
                            "displayName": "Length",
                            "defaultMatch": false,
                            "canBeUsedToMatch": true
                        },
                        {
                            "id": "Created",
                            "type": "string",
                            "display": true,
                            "removed": false,
                            "readOnly": true,
                            "required": false,
                            "displayName": "Created",
                            "defaultMatch": false,
                            "canBeUsedToMatch": true
                        },
                        {
                            "id": "Cluster ID",
                            "type": "string",
                            "display": true,
                            "removed": false,
                            "readOnly": false,
                            "required": false,
                            "displayName": "Cluster ID",
                            "defaultMatch": false,
                            "canBeUsedToMatch": true
                        }
                    ],
                    "mappingMode": "defineBelow",
                    "matchingColumns": [],
                    "attemptToConvertTypes": false,
                    "convertFieldsToString": false
                },
                "options": [],
                "operation": "create"
            },
            "credentials": {
                "airtableTokenApi": {
                    "id": "yqBrLbgHXLcwqH0p",
                    "name": "AlexK Airtable Personal Access Token account"
                }
            },
            "typeVersion": 2.1
        },
        {
            "id": "9923373d-d4ce-42bb-9f2d-34350f64ac5b",
            "name": "Execution Data",
            "type": "n8n-nodes-base.executionData",
            "position": [
                440,
                0
            ],
            "parameters": [],
            "typeVersion": 1
        },
        {
            "id": "5044e1f2-c985-4c3a-9386-f4fe4f85f37b",
            "name": "Sticky Note1",
            "type": "n8n-nodes-base.stickyNote",
            "position": [
                -40,
                -120
            ],
            "parameters": {
                "color": 5,
                "width": 840,
                "content": "## This is where the magic happens... "
            },
            "typeVersion": 1
        }
    ],
    "active": false,
    "pinData": [],
    "settings": {
        "executionOrder": "v1"
    },
    "versionId": "e756199d-31fc-4e2f-8937-3625295a147c",
    "connections": {
        "Text 2 Video": {
            "main": [
                [
                    {
                        "node": "Execution Data",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "ADD Video Info": {
            "main": [
                []
            ]
        },
        "Execution Data": {
            "main": [
                [
                    {
                        "node": "ADD Video Info",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "Global SETTINGS": {
            "main": [
                [
                    {
                        "node": "RANDOM Camera Motion",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "RANDOM Camera Motion": {
            "main": [
                [
                    {
                        "node": "Text 2 Video",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "When clicking ‘Test workflow’": {
            "main": [
                [
                    {
                        "node": "Global SETTINGS",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        }
    }
}
                                

Workflows Similaires

Automatisez le Résumé de Vos Emails avec A.I. et Messagerie

Ce workflow n8n vous permet d'automatiser la gestion de vos emails en utilisant l'intelligence artificielle pour résume...

Automatisation de gestion des réunions Zoom et communication

Ce workflow est conçu pour automatiser le processus de planification et de gestion des réunions Zoom tout en assurant ...

Automatisez vos Tweets d'images humoristiques à 17h

Ce workflow n8n est conçu pour les professionnels des réseaux sociaux cherchant à automatiser leur contenu humoristiq...