{
  "name": "genera_script",
  "nodes": [
    {
      "parameters": {
        "httpMethod": "POST",
        "path": "webhook-tutorial",
        "responseMode": "=onReceived",
        "options": {}
      },
      "type": "n8n-nodes-base.webhook",
      "typeVersion": 2,
      "position": [
        0,
        0
      ],
      "id": "09267ba6-515a-4802-8cb4-c913eed014e1",
      "name": "Webhook"
    },
    {
      "parameters": {
        "method": "POST",
        "url": "https://api.openai.com/v1/chat/completions",
        "authentication": "predefinedCredentialType",
        "nodeCredentialType": "openAiApi",
        "sendBody": true,
        "specifyBody": "json",
        "jsonBody": "={\n  \"model\": \"gpt-4o-mini\",\n  \"messages\": [\n    {\n      \"role\": \"system\",\n      \"content\": \"Sei un esperto regista horror specializzato nella creazione di script per video ultra-brevi in stile Silent Hill. Il tuo compito \u00e8 generare contenuti visivi terrificanti che combinino suspense psicologica e horror atmosferico, ottimizzati per il formato verticale e la fruizione mobile. Conosci perfettamente le tecniche cinematografiche dell'horror e sai come strutturare micro-narrazioni che massimizzano tensione, paura e coinvolgimento emotivo in pochissimi secondi.\"\n    },\n    {\n      \"role\": \"user\",\n      \"content\": \"Genera uno script dettagliato per un video horror su {{ $json.body.argomento }} di esattamente 5 secondi.\\n\\n## SPECIFICHE TECNICHE:\\n- Durata: 5 secondi esatti\\n- Target: Appassionati horror e thriller psicologici (18-35 anni)\\n- Tono: Inquietante, disturbante, psicologicamente destabilizzante\\n- Obiettivo: Creare paura e tensione massima attraverso micro-horror cinematografico\\n\\n## STRUTTURA RICHIESTA:\\n\\n### SETUP ATMOSFERICO (primo secondo):\\n- Stabilire immediatamente un'atmosfera di disagio\\n- Ambiente apparentemente normale che nasconde qualcosa di sinistro\\n- Silenzio innaturale o suoni ambientali disturbanti\\n- Inquadratura che suggerisce una presenza nascosta\\n\\n### ESCALATION PSICOLOGICA (secondi 2-3):\\n- Introduzione di un elemento disturbante\\n- Movimento impercettibile che genera ansia\\n- Dettaglio inquietante che emerge gradualmente\\n- Utilizzo di ombre, riflessi o forme indefinite\\n\\n### CLIMAX HORROR (secondo 4):\\n- Momento di massima tensione\\n- Rivelazione parziale dell'elemento terrificante\\n- Jump scare psicologico (non fisico)\\n- Punto di non ritorno che cambia la percezione\\n\\n### EPILOGO DISTURBANTE (quinto secondo):\\n- Finale che lascia inquietudine persistente\\n- Elemento che continua a turbare dopo la visione\\n- Ambiguit\u00e0 che genera domande senza risposta\\n- Chiusura che invita al rewatch per carpire dettagli\\n\\n## ELEMENTI DA INCLUDERE:\\n\\n### TECNICA CINEMATOGRAFICA HORROR:\\n- Utilizzo strategico di luci e ombre\\n- Angolazioni disturbanti e prospettive alterate\\n- Movimenti di camera impercettibili ma inquietanti\\n- Contrasti estremi tra normale e anormale\\n\\n### PSICOLOGIA DELLA PAURA:\\n- Sfruttamento dell'uncanny valley\\n- Paure primordiali e ancestrali\\n- Elementi familiari resi minacciosi\\n- Suggestione pi\u00f9 potente della rivelazione esplicita\\n\\n### DESIGN SONORO HORROR:\\n- Silenzio come strumento di tensione\\n- Suoni ambientali distorti o fuori contesto\\n- Respiri, sussurri o rumori impercettibili\\n- Contrasto tra silenzio e suono improvviso\\n\\n### ESTETICA SILENT HILL:\\n- Atmosfere nebbiose e claustrofobiche\\n- Deterioramento e decadenza urbana\\n- Geometrie impossibili o distorte\\n- Presenza di elementi industriali arrugginiti\\n- Luci tremolanti o lampeggianti\\n- Texture sporche, macchiate, consumate\\n\\n## VINCOLI CREATIVI:\\n- Evita gore esplicito o violenza gratuita\\n- Punta sulla paura psicologica e atmosferica\\n- Mantieni l'ambiguit\u00e0 interpretativa\\n- Assicurati che sia disturbante ma non traumatizzante\\n- L'horror deve emergere dal quotidiano\\n- Ogni frame deve contribuire alla tensione\\n\\n## OUTPUT RICHIESTO:\\n\\n**SCRIPT COMPLETO:**\\n[Descrizione dettagliata secondo per secondo]\\n\\n**BREAKDOWN TECNICO:**\\n- Secondo 1: [Setup atmosferico - dettagli]\\n- Secondo 2: [Escalation iniziale - dettagli]\\n- Secondo 3: [Tensione crescente - dettagli]\\n- Secondo 4: [Climax horror - dettagli]\\n- Secondo 5: [Epilogo disturbante - dettagli]\\n\\n**NOTE REGIA:**\\n[Indicazioni per illuminazione, angolazioni, effetti pratici, post-produzione]\\n\\n**DESIGN SONORO:**\\n[Descrizione dettagliata dell'audio, musica, effetti sonori, silenze strategici]\\n\\n**ELEMENTI VISIVI CHIAVE:**\\n[Dettagli su colori, texture, oggetti di scena, makeup/costumi]\\n\\n**IMPATTO PSICOLOGICO:**\\n[Analisi delle tecniche usate per generare paura e delle reazioni attese]\\n\\n**SIMBOLISMO NASCOSTO:**\\n[Elementi subliminali o metaforici inseriti nella narrazione]\\n\\nRicorda: L'obiettivo \u00e8 creare un micro-capolavoro horror che rimanga impresso nella memoria, generando quella sensazione di inquietudine persistente tipica dei migliori thriller psicologici. La paura pi\u00f9 efficace \u00e8 quella che nasce dall'immaginazione dello spettatore.\"\n    }\n  ],\n  \"max_tokens\": 1200,\n  \"temperature\": 0.8,\n  \"top_p\": 0.9\n}",
        "options": {}
      },
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 4.2,
      "position": [
        220,
        0
      ],
      "id": "0b94ee52-41a2-4a7c-b481-b05712a07789",
      "name": "HTTP Request",
      "credentials": {
        "openAiApi": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "mode": "runOnceForEachItem",
        "jsCode": "return {\n  json: {\n    reel_id: $json[\"reel_id\"],\n    script: $json[\"choices\"][0][\"message\"][\"content\"],\n  },\n};\n"
      },
      "type": "n8n-nodes-base.code",
      "typeVersion": 2,
      "position": [
        440,
        0
      ],
      "id": "78735a4e-8d22-4869-aeab-5118648eca17",
      "name": "Code"
    },
    {
      "parameters": {
        "method": "POST",
        "url": "=http://172.25.193.49:8000/api/reels/{{ $('Webhook').item.json.body.reel_id }}/status\n",
        "sendBody": true,
        "bodyParameters": {
          "parameters": [
            {
              "name": "status",
              "value": "script_generated"
            },
            {
              "name": "script",
              "value": "={{$json[\"script\"]}}"
            }
          ]
        },
        "options": {}
      },
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 4.2,
      "position": [
        660,
        0
      ],
      "id": "d37494b5-653e-4ec4-a6a7-a612a2c39c4c",
      "name": "HTTP Request1"
    },
    {
      "parameters": {
        "method": "POST",
        "url": "http://0.0.0.0:5678/webhook-test/webhook-crea-video",
        "sendHeaders": true,
        "headerParameters": {
          "parameters": [
            {
              "name": "Content-Type",
              "value": "application/json"
            }
          ]
        },
        "sendBody": true,
        "bodyParameters": {
          "parameters": [
            {
              "name": "reel_id",
              "value": "={{ $('Webhook').item.json.body.reel_id }}"
            },
            {
              "name": "script",
              "value": "={{ $('Code').item.json.script }}"
            }
          ]
        },
        "options": {}
      },
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 4.2,
      "position": [
        880,
        0
      ],
      "id": "fec4aee4-e0b4-4564-ac23-5a456864cfbd",
      "name": "HTTP Request2"
    }
  ],
  "connections": {
    "Webhook": {
      "main": [
        [
          {
            "node": "HTTP Request",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "HTTP Request": {
      "main": [
        [
          {
            "node": "Code",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Code": {
      "main": [
        [
          {
            "node": "HTTP Request1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "HTTP Request1": {
      "main": [
        [
          {
            "node": "HTTP Request2",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  },
  "active": true,
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "5cdb2aac-ba4c-470e-bf75-5460073ab3ac",
  "id": "zHn7fJVMIfL7HaA3",
  "tags": []
}