Workflow: Luma AI Dream Machine - Simple v1 - AK
Integrations: airtable, code, executionData, httpRequest, manualTrigger, set, stickyNote

{"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 \u2018Test workflow\u2019", "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 \u2018Test workflow\u2019": {"main": [[{"node": "Global SETTINGS", "type": "main", "index": 0}]]}}}