{
  "name": "Générateur de Synopsis Intelligent",
  "nodes": [
    {
      "parameters": {
        "pollTimes": {
          "item": [
            {
              "mode": "everyMinute"
            }
          ]
        },
        "databaseId": "={{$env.NOTION_DATABASE_ID}}",
        "filters": {
          "singleCondition": {
            "field": "Status",
            "condition": "equals",
            "value": "À écrire"
          }
        }
      },
      "name": "Notion Trigger - Nouvelles Scènes",
      "type": "n8n-nodes-base.notionTrigger",
      "typeVersion": 1,
      "position": [250, 300]
    },
    {
      "parameters": {
        "url": "={{$env.SITE_URL}}/api/ai/generate-synopsis",
        "authentication": "none",
        "requestMethod": "POST",
        "jsonParameters": true,
        "bodyParametersJson": "={\n  \"pageId\": \"{{$json.id}}\",\n  \"projectId\": \"{{$json.properties['Projet (Rel)'].relation[0].id}}\"\n}",
        "options": {}
      },
      "name": "Récupérer Contexte",
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 4.2,
      "position": [450, 300]
    },
    {
      "parameters": {
        "model": "claude-3-5-sonnet-20241022",
        "messages": {
          "messageValues": [
            {
              "role": "system",
              "message": "Tu es un assistant créatif spécialisé dans l'écriture de synopsis de scènes narratives. Tu dois générer des synopsis détaillés, engageants et cohérents avec l'univers et le ton du projet."
            },
            {
              "role": "user",
              "message": "=# Contexte du projet\n\n**Projet:** {{$json.context.projectTitle}}\n\n**Bible du projet:**\n{{$json.context.bibleContent}}\n\n---\n\n# Scène à développer\n\n**Titre:** {{$json.context.targetScene.title}}\n**Acte:** {{$json.context.targetScene.act}}\n**Chapitre:** {{$json.context.targetScene.chapter}}\n**Beat narratif:** {{$json.context.targetScene.beat}}\n\n---\n\n# Scènes précédentes\n\n{{$json.context.previousScenes}}\n\n---\n\n# Ta mission\n\nGénère un synopsis détaillé pour cette scène qui:\n\n1. **Résume l'action principale** (2-3 phrases)\n2. **Développe les enjeux dramatiques** de la scène\n3. **Suggère des moments clés** à inclure\n4. **Propose des pistes pour les dialogues** importants\n5. **Indique le ton et l'ambiance** à maintenir\n6. **Connecte avec les scènes précédentes** de manière fluide\n\nFormat de réponse en Markdown:\n\n```markdown\n## Synopsis - [Titre de la scène]\n\n### Résumé\n[2-3 phrases décrivant l'action principale]\n\n### Enjeux\n- Enjeu 1\n- Enjeu 2\n\n### Moments clés\n1. Moment 1\n2. Moment 2\n3. Moment 3\n\n### Pistes de dialogues\n- \"Suggestion de dialogue 1\"\n- \"Suggestion de dialogue 2\"\n\n### Ton et ambiance\n[Description du ton à maintenir]\n\n### Transition\n[Comment cette scène s'enchaîne avec les précédentes et prépare les suivantes]\n```"
            }
          ]
        },
        "options": {
          "temperature": 0.7,
          "maxTokens": 2000
        }
      },
      "name": "Claude - Générer Synopsis",
      "type": "@n8n/n8n-nodes-langchain.lmChatAnthropic",
      "typeVersion": 1,
      "position": [650, 300],
      "credentials": {
        "anthropicApi": {
          "id": "1",
          "name": "Anthropic API"
        }
      }
    },
    {
      "parameters": {
        "resource": "block",
        "blockId": {
          "__rl": true,
          "value": "={{$node['Notion Trigger - Nouvelles Scènes'].json.id}}",
          "mode": "id"
        },
        "blockUi": {
          "blockValues": [
            {
              "type": "heading_2",
              "richText": false,
              "textContent": "🤖 Synopsis Généré par IA"
            },
            {
              "type": "paragraph",
              "richText": true,
              "text": {
                "text": [
                  {
                    "textType": "text",
                    "text": "={{$json.content[0].text}}"
                  }
                ]
              }
            },
            {
              "type": "divider"
            }
          ]
        }
      },
      "name": "Notion - Ajouter Synopsis",
      "type": "n8n-nodes-base.notion",
      "typeVersion": 2,
      "position": [850, 300],
      "credentials": {
        "notionApi": {
          "id": "2",
          "name": "Notion API"
        }
      }
    },
    {
      "parameters": {
        "conditions": {
          "string": [
            {
              "value1": "={{$json.success}}",
              "operation": "equals",
              "value2": "true"
            }
          ]
        }
      },
      "name": "Vérifier Succès",
      "type": "n8n-nodes-base.if",
      "typeVersion": 1,
      "position": [550, 300]
    }
  ],
  "connections": {
    "Notion Trigger - Nouvelles Scènes": {
      "main": [
        [
          {
            "node": "Récupérer Contexte",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Récupérer Contexte": {
      "main": [
        [
          {
            "node": "Vérifier Succès",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Vérifier Succès": {
      "main": [
        [
          {
            "node": "Claude - Générer Synopsis",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Claude - Générer Synopsis": {
      "main": [
        [
          {
            "node": "Notion - Ajouter Synopsis",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  },
  "settings": {
    "executionOrder": "v1"
  },
  "staticData": null,
  "tags": [],
  "triggerCount": 1,
  "updatedAt": "2025-01-04T00:00:00.000Z",
  "versionId": "1"
}
