{
  "id": "63KgkSFVXycB8ptG",
  "name": "Higgsfield Seedance 2.5 - Enhanced 3-Shot (30s) Cinematic & Audio Engine",
  "nodes": [
    {
      "parameters": {
        "httpMethod": "POST",
        "path": "generate-seedance-video",
        "responseMode": "responseNode",
        "options": {}
      },
      "name": "Webhook Trigger",
      "type": "n8n-nodes-base.webhook",
      "typeVersion": 1,
      "position": [
        100,
        300
      ]
    },
    {
      "parameters": {
        "jsCode": "const body = $input.item.json.body || $input.item.json;\nconst subject = body.subject || 'Cybernetic Ronin warrior';\nconst context = body.context || 'Snowy mountain ridge trapped in 20m thick volumetric fog, cold blue dusk lighting';\nconst style = body.style || 'Cinematic, 35mm film grain, anamorphic lens flare, high contrast realism';\nconst dialogue = body.dialogue || 'Hold the line!';\n\n// Enhanced 8-Element Anatomy: Subject + Context + Action + Camera + Composition + Style + Ambiance + Native Audio\nconst shot1 = `[SHOT 1 | 00:00-00:10 | 50mm Medium Tracking - Setup]\\nSubject: ${subject} standing centered in combat ready stance.\\nContext: ${context}.\\nStyle: ${style}.\\nCamera Motion: Smooth 50mm dolly tracking shot starting at 8m distance, closing in to 3m at eye-level.\\nComposition: Medium wide framing showing full silhouette against mist.\\nAmbiance: 4500K cold rim lighting, subtle volumetric glow.\\nTimecode: 0.0s-3.0s: Stance reveal, snow particles swirl off boots. 3.0s-7.5s: Energy core pulsates cyan, drawing blade with heavy metallic rasp. 7.5s-10.0s: Locks into match-cut posture.\\nNative Audio: Whispered dialogue \"${dialogue}\". Ambient heavy mountain wind howling, crunching frozen snow under boots, deep resonant bass hum.`;\n\nconst shot2 = `[SHOT 2 | 00:10-00:20 | 24mm Low-Angle Orbit - Escalation & Bullet Time]\\nMatch Cut: Poses and blade angle at 00:10.0 exactly match end of Shot 1.\\nSubject: ${subject} engaging incoming crystal beast.\\nCamera Motion: 24mm low-angle 180-degree high-speed arc orbiting from 3m to 1.5m radius.\\nComposition: Low-angle dynamic diagonal framing.\\nAmbiance: High contrast, sharp rim highlights on armor edges.\\nTimecode: 0.0s-2.0s: Forward sprint 3x faster than standard dolly. 2.0s-6.0s: 0.2x Bullet-time time dilation, blade gap narrows from 50cm to 5cm. 6.0s-10.0s: Real-time velocity returns, crystal edge shatters enemy steel weapon.\\nNative Audio: Sudden vacuum silence during bullet-time, then explosive metallic impact crash, shattering glass resonance, electric spark sizzle.`;\n\nconst shot3 = `[SHOT 3 | 00:20-00:30 | 85mm Telephoto to 35mm Wide - Heroic Resolution]\\nSubject: ${subject} eye reflection transitioning to wide army reveal.\\nCamera Motion: Starts on 85mm extreme close-up, hard snap zoom-out at 05.0s to 35mm wide shot.\\nComposition: Extreme close-up on eyes -> Wide heroic landscape frame.\\nAmbiance: Warm golden ray piercing through dark fog canopy.\\nTimecode: 0.0s-4.5s: Intense eye twitch, heavy breath vapor condensating in air. 4.5s-5.0s: 0.5s instantaneous weapon snap transformation. 5.0s-10.0s: Wide frame reveals perimeter army dropping to one knee, freezing in mist cliffhanger.\\nNative Audio: Clear ragged exhale breath sound, mechanical locking snap click, distant horns sounding across mountains, dramatic low-frequency cinematic swell.`;\n\nreturn {\n  json: {\n    projectId: 'VR-' + Date.now(),\n    title: body.title || 'Cinematic Mountain Confrontation',\n    shots: [\n      { shotNumber: 1, duration: 10, lens: '50mm', prompt: shot1 },\n      { shotNumber: 2, duration: 10, lens: '24mm', prompt: shot2 },\n      { shotNumber: 3, duration: 10, lens: '85mm/35mm', prompt: shot3 }\n    ],\n    totalDuration: 30,\n    model: 'seedance-2.5',\n    aspectRatio: '16:9',\n    audioConfig: {\n      dialogueSync: true,\n      ambientLayer: true,\n      sfxLayer: true\n    }\n  }\n};"
      },
      "name": "Seedance 2.5 + VEO3 Unified Prompt Engine",
      "type": "n8n-nodes-base.code",
      "typeVersion": 2,
      "position": [
        320,
        300
      ]
    },
    {
      "parameters": {
        "url": "http://automation-os:8000/api/v1/media/render-shots",
        "sendBody": true,
        "specifyBody": "json",
        "jsonBody": "={{ JSON.stringify($json) }}",
        "options": {}
      },
      "name": "Send to Media Engine",
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 4.1,
      "position": [
        540,
        300
      ]
    },
    {
      "parameters": {
        "respondWith": "json",
        "responseBody": "={{ JSON.stringify({ status: 'queued', data: $json }) }}",
        "options": {}
      },
      "name": "Webhook Response",
      "type": "n8n-nodes-base.respondToWebhook",
      "typeVersion": 1,
      "position": [
        760,
        300
      ]
    }
  ],
  "connections": {
    "Webhook Trigger": {
      "main": [
        [
          {
            "node": "Seedance 2.5 + VEO3 Unified Prompt Engine",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Seedance 2.5 + VEO3 Unified Prompt Engine": {
      "main": [
        [
          {
            "node": "Send to Media Engine",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Send to Media Engine": {
      "main": [
        [
          {
            "node": "Webhook Response",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}